US2004205153A1PendingUtilityA1

Service framework supporting remote service discovery and connection

48
Priority: Sep 15, 2000Filed: Mar 9, 2004Published: Oct 14, 2004
Est. expirySep 15, 2020(expired)· nominal 20-yr term from priority
H04L 61/45H04L 67/04H04L 9/40H04L 61/00H04L 67/52H04L 67/51H04W 4/00H04W 76/10H04L 69/329
48
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A method of operating a communications node comprising a service framework, a service-requesting entity, and a service, the method comprising: 
 the service-requesting entity requesting the service framework to provide access to the service; and    the service framework providing the service-requesting entity with access to the service.    
     
     
         2 . The method recited in  claim 1 , wherein in requesting, the service-requesting entity provides a service type to the service framework.  
     
     
         3 . The method recited in  claim 2 , wherein the service framework only locates and connects with services having the service type.  
     
     
         4 . The method recited in  claim 1 , wherein in requesting, the service-requesting entity provides at least one service attribute to the service framework.  
     
     
         5 . The method recited in  claim 4 , wherein the service framework only locates and connects with services having the at least one service attribute.  
     
     
         6 . The method recited in  claim 1 , wherein the service-requesting entity resides on the communications node, and the service resides elsewhere, and wherein the communications node further comprises a connection manager service to notify the service framework when the communications node is in proximity to a remote communications node on which the service may reside.  
     
     
         7 . The method recited in  claim 1 , wherein the service-requesting entity resides on the communications node, wherein the communications node comprises a wireless interface to which a remote communications node can be coupled, wherein the service resides on the remote communications node, and wherein the communications node further comprises a connection manager service to notify the service framework when the communications node is communicating with the remote communications node via the wireless interface.  
     
     
         8 . The method recited in  claim 7 , wherein the service framework comprises a proximity daemon responsive to the connection manager service, the method further comprising: 
 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.    
     
     
         9 . The method recited in  claim 8  wherein in communicating, the remote lookup service frontend and remote lookup service backend determine whether they are compatible.  
     
     
         10 . The method recited in  claim 9 , wherein the service framework further comprises a remote lookup daemon, the method further comprising: 
 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.    
     
     
         11 . The method recited in  claim 10 , 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.    
     
     
         12 . The method recited in  claim 11 , 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.    
     
     
         13 . The method recited in  claim 12 , the method further comprising: 
 the service frontend communicating with the service backend to provide the service to the service-requesting entity.    
     
     
         14 . The method recited in  claim 7 , 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 method further comprising: 
 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.    
     
     
         15 . The method recited in  claim 14 , wherein the service framework further comprises a service event notification registry, the method further comprising: 
 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.    
     
     
         16 . The method recited in  claim 15 , the method further comprising: 
 the service frontend communicating with the service backend to implement the service invoked by the service-requesting entity.    
     
     
         17 . A computer-readable medium containing computer instructions for instructing a processor to perform a method of operating a communications node comprising a service framework, a service-requesting entity, and a service, the instructions comprising: 
 the service-requesting entity requesting the service framework to provide access to the service; and    providing the service-requesting entity with access to the service.    
     
     
         18 . The computer-readable medium recited in  claim 17 , the instructions further comprising: 
 in requesting, the service-requesting entity provides a service type to the service framework; and    the service framework only locates and connects with services having the service type.    
     
     
         19 . The computer-readable medium recited in  claim 17 , the instructions further comprising: 
 in requesting, the service-requesting entity provides at least one service attribute to the service framework; and    the service framework only locates and connects with services having the at least one service attribute.    
     
     
         20 . The computer-readable medium recited in  claim 17 , wherein the service-requesting entity resides on the communications node, and the service resides elsewhere, and wherein the communications node further comprises a connection manager service, the instructions further comprising: 
 the connection manager service notifying the service framework when the communications node is in proximity to a remote communications node on which the service may reside.    
     
     
         21 . The computer-readable medium recited in  claim 17 , wherein the service-requesting entity resides on the communications node, wherein the communications node comprises a wireless interface to which a remote communications node can be coupled, wherein the service resides on the remote communications node, and wherein the communications node further comprises a connection manager service, the instructions further comprising: 
 the connection manager service notifying the service framework when the communications node is communicating with the remote communications node via the wireless interface.    
     
     
         22 . 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 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.  
   
     
     
         23 . The communications node recited in  claim 22  wherein the memory further comprises a connection manager service to notify the service framework when the communications node is in proximity to the remote node.  
     
     
         24 . The communications node recited in  claim 23  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.  
     
     
         25 . The communications node recited in  claim 24  wherein the service framework further comprises a first program module to determine whether the remote lookup service frontend is compatible with the remote lookup service backend.  
     
     
         26 . The communications node recited in  claim 25  wherein the service framework further comprises a second program module, responsive to the first program module, to determine whether a service backend corresponding to the service resides on the remote node.  
     
     
         27 . The communications node recited in  claim 26  wherein the service framework further comprises a remote lookup daemon, responsive to the second program module, to obtain parameters from the service backend to the remote lookup daemon.  
     
     
         28 . The communications node recited in  claim 27  wherein the service framework further comprises: 
 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.  
 
     
     
         29 . The communications node recited in  claim 28  wherein the service framework further comprises a service event notification registry in which a notification request can be registered by the service-requesting entity.  
     
     
         30 . The communications node recited in  claim 29  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.  
     
     
         31 . The communications node recited in  claim 30  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.  
     
     
         32 . The communications node recited in  claim 31  wherein the service-requesting entity, responsive to the fourth program module, invokes the service.  
     
     
         33 . The communications node recited in  claim 32  wherein the service frontend communicates with the service backend to implement the service invoked by the service-requesting entity.  
     
     
         34 . The communications node recited in  claim 28  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  
     
     
         35 . The communications node recited in  claim 34  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.  
     
     
         36 . The communications node recited in  claim 35  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.  
     
     
         37 . The communications node recited in  claim 36  wherein the remote lookup service backend obtains parameters necessary for the service frontend to communicate with the service backend.  
     
     
         38 . The communications node recited in  claim 37  wherein the remote lookup service backend communicates the parameter to the service frontend.  
     
     
         39 . The communications node recited in  claim 38  wherein the service frontend registers the service with the service framework.  
     
     
         40 . The communications node recited in  claim 39  wherein the service framework determines whether the service event notification registry contains a notification request registered by the service-requesting entity for the service.  
     
     
         41 . The communications node recited in  claim 40  wherein the service framework notifies the service-requesting entity of the service, and the service-requesting entity invokes the service.  
     
     
         42 . The communications node recited in  claim 41  wherein the service frontend communicates with the service backend to implement the service invoked by the service-requesting entity.  
     
     
         43 . 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 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.  
 
   
     
     
         44 . The communications system recited in  claim 43  wherein the memory further comprises a connection manager service to notify the service framework when the communications node is in proximity to at least one remote node.  
     
     
         45 . The communications system recited in  claim 44  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.  
     
     
         46 . The communications system recited in  claim 45  wherein the service framework further comprises a first program module to determine whether the remote lookup service frontend is compatible with the remote lookup service backend.  
     
     
         47 . The communications system recited in  claim 46  wherein the service framework further comprises a second program module, responsive to the first program module, to determine whether a service backend corresponding to the service resides on the at least one remote node.  
     
     
         48 . The communications system recited in  claim 47  wherein the service framework further comprises a remote lookup daemon, responsive to the second program module, to obtain parameters from the service backend.  
     
     
         49 . The communications system recited in  claim 48  wherein the service framework further comprises: 
 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.  
 
     
     
         50 . The communications system recited in  claim 49  wherein the service framework further comprises a service event notification registry in which a notification request can be registered by the service-requesting entity.  
     
     
         51 . The communications system recited in  claim 50  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.  
     
     
         52 . The communications system recited in  claim 51  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.  
     
     
         53 . The communications system recited in  claim 52  wherein the service-requesting entity, responsive to the fourth program module, invokes the service.  
     
     
         54 . The communications system recited in  claim 53  wherein the service frontend communicates with the service backend to implement the service invoked by the service-requesting entity.  
     
     
         55 . A method of discovering a service on a communications node, wherein the communications node comprises a service-requesting entity and a service registry, 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; 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.    
     
     
         56 . The method recited in  claim 55 , 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 frontend registering a notification request for a service backend in the remote service event notification registry.    
     
     
         57 . The method recited in  claim 56 , in which the remote communications node comprises a service backend corresponding to the service, the method comprising: 
 obtaining parameters from the service backend necessary for the service frontend to communicate with the service backend.    
     
     
         58 . The method recited in  claim 57 , the method comprising: 
 communicating the parameters to the service frontend.    
     
     
         59 . The method recited in  claim 58 , the method comprising: 
 the service frontend communicating with the service backend to provide the service to the service-requesting entity.    
     
     
         60 . The method recited in  claim 55 , wherein the service template comprises at least one service attribute.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.