Service framework supporting remote service discovery and connection
First Claim
1. A method of operating a communications node comprising a service framework, a service-requesting entity residing on the communications node, and a service residing on the communications node, wherein the communications node comprises a wireless interface to which a remote communications node can be coupled, the method comprising:
- the service-requesting entity requesting the service framework to provide access to the service;
the service framework providing the service-requesting entity with access to the service;
the communications node comprising a connection manager service notifying the service framework when the communications node is communicating with the remote communications node via the wireless interface;
the service framework comprising a proximity daemon responsive to the connection manager service, the proximity daemon creating a remote lookup service frontend when the service framework is notified by the connection manager service;
the remote lookup service frontend broadcasting a search for a remote lookup service backend; and
if a remote lookup service backend is found, the remote lookup service frontend communicating with the remote lookup service backend.
7 Assignments
0 Petitions
Accused Products
Abstract
In an information appliance system 100, a user device 108 comprises a client platform (200, FIG. 5) that includes a service framework (235, FIG. 5) to discover and connect with a variety of services, both remote and local, transient and persistent, and to disconnect from them when they are no longer of interest or become unavailable. The service framework 235 provides a standard, consistent, simplified way for services to make themselves available and for service-using entities to locate and connect with the services of interest to them. When a service is requested from a remote server, a service frontend (281, FIG. 9) on the client platform attempts to find its corresponding service backend (282, FIG. 9) on a server providing the requested service and, if it finds it, the frontend and backend coalesce in a fully formed service that is made available to a requesting service-using entity. As a result, platform resources and security are maintained. Various methods of operating a service framework are also described.
189 Citations
42 Claims
-
1. A method of operating a communications node comprising a service framework, a service-requesting entity residing on the communications node, and a service residing on the communications node, wherein the communications node comprises a wireless interface to which a remote communications node can be coupled, the method comprising:
-
the service-requesting entity requesting the service framework to provide access to the service;
the service framework providing the service-requesting entity with access to the service;
the communications node comprising a connection manager service notifying the service framework when the communications node is communicating with the remote communications node via the wireless interface;
the service framework comprising a proximity daemon responsive to the connection manager service, the proximity daemon creating a remote lookup service frontend when the service framework is notified by the connection manager service;
the remote lookup service frontend broadcasting a search for a remote lookup service backend; and
if a remote lookup service backend is found, the remote lookup service frontend communicating with the remote lookup service backend. - View Dependent Claims (2, 3, 4, 5, 6)
if the remote lookup service frontend and remote lookup service backend are compatible, the remote lookup service backend determines whether a service backend corresponding to the service resides on the remote communications node; and
if so, the remote lookup service backend passes parameters to the remote lookup daemon.
-
-
4. The method recited in claim 3, the service framework further comprising a service frontend and a service registry, the method further comprising:
-
the remote lookup daemon passing the parameters to the service frontend; and
the service frontend registering the service in the service registry.
-
-
5. The method recited in claim 4, the service framework further comprising a service event notification registry;
-
the service-requesting entity registering a notification request for the service in the service event notification registry;
the service framework determining whether the service event notification registry contains a notification request registered by the service-requesting entity for the service; and
if so, the service framework notifying the service-requesting entity of the service, and the service-requesting entity invoking the service.
-
-
6. The method recited in claim 5, the method further comprising:
the service frontend communicating with the service backend to provide the service to the service-requesting entity.
-
7. A method of operating a communications node comprising a service framework, a service-requesting entity residing on the communications node, and a service residing on the communications node, wherein the communications node comprises a wireless interface to which a remote communications node can be coupled, the method comprising:
-
the communications node comprising a connection manager service notifying the service framework when the communications node is communicating with the remote communications node via the wireless interface;
the service-requesting entity requesting the service framework to provide access to the service;
the service framework providing the service-requesting entity with access to the service, wherein the service framework comprises a service frontend and a remote service event notification registry, and wherein the service framework further comprises a proximity daemon responsive to the connection manager service;
the service frontend registering a notification request for a service backend in the remote service event notification registry;
the proximity daemon creating a remote lookup service frontend when the service framework is notified by the connection manager service;
the remote lookup service frontend determining whether the remote service event notification registry contains a notification request for the service backend registered by the service frontend;
if so, the remote lookup service frontend requests a remote lookup service backend on the remote communications node to determine whether the service backend is on the remote communications node;
if so, the remote lookup service backend obtains parameters necessary for the service frontend to communicate with the service backend; and
the remote lookup service backend communicates the parameters to the remote lookup service frontend. - View Dependent Claims (8, 9)
the service frontend registering the service with the service framework;
the service framework determining whether the service event notification registry contains a notification request registered by the service-requesting entity for the service; and
if so, the service framework notifying the service-requesting entity of the service, and the service-requesting entity invoking the service.
-
-
9. The method recited in claim 8, the method further comprising:
the service frontend communicating with the service backend to implement the service invoked by the service-requesting entity.
-
10. A communications node comprising:
-
a processor;
a wireless interface coupled to the processor to enable the communications node to communicate with a remote node; and
a memory coupled to the processor and comprising;
a connection manager service;
a service-requesting entity; and
a service framework to discover a service requested by the service-requesting entity, the service being on the remote node, and to connect the service-requesting entity with the service, wherein the connection manager notifies the service framework when the communications node is in proximity to the remote node, and wherein the service framework comprises a proximity daemon to create a remote lookup service frontend when the service framework is notified by the connection manager service, the remote lookup service frontend to look for a remote lookup service backend on the remote node. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
a service frontend responsive to the remote lookup daemon to receive the parameters; and
a service registry in which the service frontend registers the service.
-
-
15. The communications node recited in claim 14 wherein the service framework further comprises a service event notification registry in which a notification request can be registered by the service-requesting entity.
-
16. The communications node recited in claim 15 wherein the service framework further comprises a third program module to determine whether the service event notification registry contains a notification request registered by the service-requesting entity.
-
17. The communications node recited in claim 16 wherein the service framework further comprises a fourth program module, responsive to the third program module, to notify the service-requesting entity of the service.
-
18. The communications node recited in claim 17 wherein the service-requesting entity, responsive to the fourth program module, invokes the service.
-
19. The communications node recited in claim 18 wherein the service frontend communicates with the service backend to implement the service invoked by the service-requesting entity.
-
20. The communications node recited in claim 14 wherein the service framework further comprises a remote service event notification registry in which a notification request for a service backend can be registered by the service frontend.
-
21. The communications node recited in claim 20 wherein the remote lookup service frontend determines whether the remote service event notification registry contains a notification request for a service backend registered by the service frontend.
-
22. The communications node recited in claim 21 wherein the remote lookup service frontend requests a remote lookup service backend on the remote node to determine whether the service backend is on the remote node.
-
23. The communications node recited in claim 22 wherein the remote lookup service backend obtains parameters necessary for the service frontend to communicate with the service backend.
-
24. The communications node recited in claim 23 wherein the remote lookup service backend communicates the parameter to the service frontend.
-
25. The communications node recited in claim 24 wherein the service frontend registers the service with the service framework.
-
26. The communications node recited in claim 25 wherein the service framework determines whether the service event notification registry contains a notification request registered by the service-requesting entity for the service.
-
27. The communications node recited in claim 26 wherein the service framework notifies the service-requesting entity of the service, and the service-requesting entity invokes the service.
-
28. The communications node recited in claim 27 wherein the service frontend communicates with the service backend to implement the service invoked by the service-requesting entity.
-
29. A communications system comprising:
-
at least one remote node; and
at least one communications node comprising;
a processor;
a wireless interface coupled to the processor to enable the at least one communications node to communicate with the at least one remote node; and
a memory coupled to the processor and comprising;
a connection manager service;
a service-requesting entity; and
a service framework to discover a service requested by the service-requesting entity, the service being on at least one remote node, and to connect the service-requesting entity with the service, wherein the connection manager service notifies the service framework when the communications node is in proximity to at least one remote node, and wherein the service framework comprises a proximity daemon to create a remote lookup service frontend when the service framework is notified by the connection manager service, the remote lookup service frontend to look for a remote lookup service backend on the at least one remote node. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38)
a service frontend responsive to the remote lookup daemon to receive the parameters; and
a service registry in which the service frontend registers the service.
-
-
34. The communications system recited in claim 33 wherein the service framework further comprises a service event notification registry in which a notification request can be registered by the service-requesting entity.
-
35. The communications system recited in claim 34 wherein the service framework further comprises a third program module to determine whether the service event notification registry contains a notification request registered by the service-requesting entity.
-
36. The communications system recited in claim 35 wherein the service framework further comprises a fourth program module, responsive to the third program module, to notify the service-requesting entity of the service.
-
37. The communications system recited in claim 36 wherein the service-requesting entity, responsive to the fourth program module, invokes the service.
-
38. The communications system recited in claim 37 wherein the service frontend communicates with the service backend to implement the service invoked by the service-requesting entity.
-
39. A method of discovering a service on a communications node, wherein the communications node comprises a service-requesting entity and a service registry, wherein the communications node further comprises an interface to which a remote communications node can be coupled, a service frontend, and a remote services event notification registry, and wherein the service resides on the remote communications node, the method comprising:
-
the service-requesting entity constructing a service template representing a desired service, the service template comprising a service type;
the service-requesting entity issuing the service template to the service registry;
the service frontend registering a notification request for a service backend in the remote service event notification registry; and
if the service registry has service objects matching the service template, the service registry returning to the service-requesting entity an array of such service objects. - View Dependent Claims (40, 41, 42)
obtaining parameters from the service backend necessary for the service frontend to communicate with the service backend.
-
-
41. The method recited in claim 40, the method comprising:
communicating the parameters to the service frontend.
-
42. The method recited in claim 41, the method comprising:
the service frontend communicating with the service backend to provide the service to the service-requesting entity.
Specification