Service framework for computing devices
First Claim
1. A method for a first device to discover at least one service available from a second device, said method comprising:
- said first device listening for availability of at least one service from said second device;
said second device advertising availability of said at least one service and providing an enhanced service descriptor for said at least one service, said enhanced descriptor providing information regarding the location of code for implementing said at least one service;
said first device receiving said at least one service descriptor; and
implementing lazy loading for said at least one service, including loading code for said at least one service when said at least one service is referenced by said first device.
3 Assignments
0 Petitions
Accused Products
Abstract
A method, apparatus and computer product that enables one or more computing devices to discover and use services over a network, which may be ad-hoc when the computing device is mobile. Service discovery is based on periodic multicasting of exported service descriptions to nearby devices over the (ad-hoc) network. Middleware enables a device to discover, advertise and use services. This enables software clients on the same device to share a service implementation (in the case of a local service) or to share an implementation proxy (in the case of a remote service). Each device being aware of the services (and service locations) that are currently available generally reduces the response time associated with accessing available services. While service descriptors are multicast and discovered, the service software is only downloaded on the device when the service is used. This enables economical resource management that is particularly useful for mobile devices.
243 Citations
75 Claims
-
1. A method for a first device to discover at least one service available from a second device, said method comprising:
-
said first device listening for availability of at least one service from said second device;
said second device advertising availability of said at least one service and providing an enhanced service descriptor for said at least one service, said enhanced descriptor providing information regarding the location of code for implementing said at least one service;
said first device receiving said at least one service descriptor; and
implementing lazy loading for said at least one service, including loading code for said at least one service when said at least one service is referenced by said first device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A method for a first device to discover at least one available service, said method comprising:
-
employing a service framework defining and providing life-cycle management of at least one service running on at least a single device by;
distributively discovering at least one desired service from said at least one service among devices in an ad-hoc network, said desired service providing an enhanced discriptor, said enhanced descriptor providing information regarding the location of code for implementing said at least one service; and
implementing lazy loading for said at least one service, including loading code for said at least one service when said at least one service is referenced by said first device. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A system for a first device to discover at least one service available from a second device, said system comprising:
-
second device advertising means advertising availability of said at least one service and providing an enhanced service descriptor for said at least one service, said enhanced descriptor providing information regarding the location of code for implementing said at least one service;
first device listening means for discovering availability of said at least one service and for receiving said at least one service descriptor; and
means for implementing lazy loading for said at least one service, including means for loading code for said at least one service when said at least one service is referenced by said first device. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65)
-
-
66. An apparatus comprising:
-
a service framework module which includes;
a listener service module to discover at least one service available from a first device and to receive an enhanced descriptor for each said at least one service, said enhanced descriptor providing information regarding the location of code for implementing said at least one service;
a service registry to store each said descriptor; and
means for implementing lazy loading for said at least one service, including means for loading code for said at least one service when said at least one service is referenced by said first device. - View Dependent Claims (67, 68)
-
-
69. An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing a first device to discover at least one service available from a second device, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect:
-
said first device listening for availability of at least one service from said second device;
said second device advertising availability of said at least one service and providing an enhanced service descriptor for said at least one service, said enhanced descriptor providing information regarding the location of code for implementing said at least one service;
said first device receiving said at least one service descriptor; and
implementing lazy loading for said at least one service, including loading code for said at least one service when said at least one service is referenced by said first device. - View Dependent Claims (70, 71)
-
-
72. A computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing a first device to discover at least one available service, the computer readable program code means in said computer program product comprising computer readable program code means for causing a computer to effect:
-
employing a service framework defining and providing life-cycle management of at least one service running on at least a single device;
distributively discovering at least one desired service from said at least one service among devices in an ad-hoc network, said service having an enhanced discriptor associated with said service, said enhanced descriptor providing information regarding the location of code for implementing said at least one service; and
implementing lazy loading for said at least one service, said lazy loading including loading code for said at least one service when said at least one service is referenced by said first device.
-
-
73. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for a first device to discover at least one service available from a second device, said method steps comprising:
-
said first device listening for availability of at least one service from said second device;
said second device advertising availability of said at least one service and providing an enhanced service descriptor for said at least one service, said enhanced descriptor providing information regarding the location of code for implementing said at least one service;
said first device receiving said at least one service descriptor; and
implementing lazy loading for said at least one service, including loading code for said at least one service when said at least one service is referenced by said first device. - View Dependent Claims (74, 75)
-
Specification