Claims
- 1. A method in a distributed system having a lookup service with associated network services available in the distributed system and having a client accessing the network services, the method comprising the steps of:
adding a device to the distributed system, the device containing a new client having a new service; broadcasting an object by the new client, the object containing code for communicating with the new client; receiving the object by a discovery server, and using the code to send a reference to the lookup service to the new client by the discovery server; receiving the reference by the new client; and adding an indication of the new service to the lookup service by the new client such that the network services associated with the lookup service remain accessible during the adding of the new service.
- 2. The method of claim 1, wherein the adding step includes the step of:
adding to the lookup service a stub containing code and data for facilitating access to the new service.
- 3. The method of claim 1, wherein the adding step includes the step of:
adding a service object to the lookup service, the service object having a function for performing the new service.
- 4. The method of claim 1, further including the step of:
deleting the indication of the new service from the lookup service.
- 5. The method of claim 1 further including the steps of:
registering the new client with the lookup service to receive a notification when the lookup service is updated; determining by the lookup service when it has been updated; and sending a notification to the new client when the lookup service determines that it has been updated.
- 6. The method of claim 5 wherein the registering step includes the step of:
registering a callback routine with the lookup service, and wherein the sending step includes the step of:
invoking the registered callback routine.
- 7. The method of claim 6 wherein the registering step includes the step of:
registering a parameter object with the lookup service, and wherein the invoking step includes the step of:
invoking the registered callback routine passing the parameter object as a parameter to the callback routine.
- 8. A method in a data processing system having a lookup service with associated services available for use in the data processing system, comprising the steps of:
receiving a request to update the lookup service; and updating the lookup service such that services unaffected by the update continue to be available for use while the update occurs.
- 9. The method of claim 8 wherein the updating step includes the step of:
associating a new service with the lookup service.
- 10. The method of claim 8 wherein the updating step includes the step of:
disassociating one of the associated services from the lookup service so that the one service is no longer available for use.
- 11. The method of claim 8 wherein the associated services have attributes and wherein the updating step includes the step of:
modifying the attributes of one of the associated services.
- 12. A method in a data processing system having a lookup service with associated services, comprising the steps of:
receiving a request to be notified when the lookup service is updated; determining when the lookup service is updated; and generating a notification when it is determined that the lookup service is updated.
- 13. The method of claim 12 wherein the step of receiving includes the step of:
receiving the request from a client, and wherein the generating step includes the step of:
notifying the client of the update.
- 14. The method of claim 12 wherein the step of receiving includes the step of:
receiving the request from a first client, and wherein the generating step includes the step of:
notifying a second client of the update, the second client being different than the first client.
- 15. The method of claim 12 wherein the receiving step includes the step of:
receiving a reference to a callback routine, and wherein the generating step includes the step of:
invoking the callback routine to perform the notification.
- 16. The method of claim 12 wherein the receiving step includes the step of:
receiving the request to be notified when a new service is associated with the lookup service, wherein the determining step includes the step of:
determining when the new service is associated with the lookup service, and wherein the generating step includes the step of:
generating the notification when it is determined that the new service is associated with the lookup service.
- 17. The method of claim 12 wherein the receiving step includes the step of:
receiving the request to be notified when one of the associated services is disassociated with the lookup service, wherein the determining step includes the step of:
determining when the one service is disassociated with the lookup service, and wherein the generating step includes the step of:
generating the notification when it is determined that the one service is disassociated with the lookup service.
- 18. The method of claim 12 wherein the receiving step includes the step of:
receiving the request to be notified when attributes of at least one of the associated services is updated, wherein the determining step includes the step of:
determining when the attributes of the at least one of the associated services is updated, and wherein the generating step includes the step of:
generating the notification when it is determined that the attributes of the at least one of the associated services is updated.
- 19. A method in a data processing system having a lookup service with associated services, comprising the steps of:
sending a request to the lookup service to be notified when the lookup service is updated; and receiving a notification that the lookup service has been updated.
- 20. The method of claim 19, wherein the sending step includes the step of:
sending the request by a client, and wherein the receiving step indicates the step of:
receiving the notification by the client.
- 21. The method of claim 19, wherein the sending step includes the step of:
sending the request by a first client, and wherein the receiving step includes:
receiving the notification by a second client that is different than the first client.
- 22. A data processing system comprising:
a memory containing:
a lookup service having indications of services that are available for use; a first client for updating the lookup service; and a second client for utilizing the lookup service while the first client is updating the lookup service; and at least one processor for running the lookup service, the first client, and the second client.
- 23. A data processing system comprising:
a memory containing:
a lookup service with indications of services available for use, the lookup service for receiving requests for notification of when the lookup service is updated, for determining when the lookup service is updated, and for generating notifications when the lookup service is updated; and a client for sending a request to the lookup service to be notified when the lookup service is updated; and at least one processor for running the client and the lookup service.
- 24. The data processing system of claim 23 wherein the memory further includes a second client for receiving a notification that the lookup service was updated.
- 25. A computer-readable memory device containing a data structure used for accessing a lookup service with associated network services available for use, the data structure containing:
a notify method for use by a client to register with the lookup service to receive a notification from the lookup service when the lookup service is updated.
- 26. A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system having a lookup service with associated services available for use in the data processing system, the method comprising the steps of:
receiving a request to update the lookup service; and updating the lookup service such that services unaffected by the update continue to be available for use while the update occurs.
- 27. The computer-readable medium of claim 26 wherein the updating step includes the step of:
associating a new service with the lookup service.
- 28. The computer-readable medium of claim 26 wherein the updating step includes the step of:
disassociating one of the associated services from the lookup service so that the one service is no longer available for use.
- 29. The computer-readable medium of claim 26 wherein the associated services have attributes and wherein the updating step includes the step of:
modifying the attributes of one of the associated services.
- 30. A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system having a lookup service with associated services, the method comprising the steps of:
receiving a request by the lookup service to be notified when the lookup service is updated; determining when the lookup service is updated; and generating a notification when it is determined that the lookup service is updated.
- 31. The computer-readable medium of claim 30 wherein the receiving step includes the step of:
receiving the request from a client, and wherein the generating step includes the step of:
notifying the client of the update.
- 32. The computer-readable medium of claim 30 wherein the receiving step includes the step of:
receiving the request from a first client, and wherein the generating step includes the step of:
notifying a second client of the update, the second client being different than the first client.
- 33. The computer-readable medium of claim 30 wherein the receiving step includes the step of:
receiving a reference to a callback routine, and wherein the generating step includes the step of:
invoking the callback routine to perform the notification.
- 34. The computer-readable medium of claim 30 wherein the receiving step includes the step of:
receiving the request to be notified when a new service is associated with the lookup service, wherein the determining step includes the step of:
determining when the new service is associated with the lookup service, and wherein the generating step includes the step of:
generating the notification when it is determined that the new service is associated with the lookup service.
- 35. The computer-readable medium of claim 30 wherein the receiving step includes the step of:
receiving the request to be notified when one of the associated services is disassociated with the lookup service, wherein the determining step includes the step of:
determining when the one service is disassociated with the lookup service, and wherein the generating step includes the step of:
generating the notification when it is determined that the one service is disassociated with the lookup service.
- 36. The computer-readable medium of claim 30 wherein the receiving step includes the step of:
receiving the request to be notified when attributes of at least one of the associated services is updated, wherein the determining step includes the step of:
determining when the attributes of the at least one of the associated services is updated, and wherein the generating step includes the step of:
generating the notification when it is determined that the attributes of the at least one of the associated services is updated.
- 37. A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system having a lookup service with associated services, the method comprising the steps of:
sending a request to the lookup service to be notified when the lookup service is updated; and receiving a notification that the lookup service has been updated.
- 38. The computer-readable medium of claim 37, wherein the sending step includes the step of:
sending the request by a client, and wherein the receiving step indicates the step of:
receiving the notification by the client.
- 39. The computer-readable medium of claim 37, wherein the sending step includes the step of:
sending the request by a first client, and wherein the receiving step includes:
receiving the notification by a second client that is different than the first client.
- 40. A method in a distributed system for accessing network services, comprising the steps of:
receiving a request from a client for access to a network service; retrieving a reference from a cache reflecting a particular network service corresponding to the requested network service; and transmitting the reference to the client.
- 41. A method in a distributed system having a client and a client lookup manager with an associated cache, said method comprising the steps, performed by the client, of:
sending a request to the client lookup manager for a network service; and receiving a reference to a particular network service from the cache associated with the client lookup manager.
- 42. The method of claim 41 wherein the receiving step is further comprised of the step of obtaining a null reference.
- 43. A method in a distributed system having a lookup service with associated network services and a client lookup manager with an associated cache, the method comprising the steps of:
sending a request by the client lookup manager to the lookup service identifying one of the associated network services to be accessed; receiving said request by the lookup service; transmitting an object, responsive to the request, wherein the object provides a service reference to one of the associated network services; receiving said response by the client lookup manager; and storing the service reference in the associated cache.
- 44. The method of 43 further comprising the step of transmitting at least one service reference to the client.
- 45. The method of claim 43 wherein the lookup service transmits a null reference to the client lookup manager.
- 46. The method of claim 45 wherein the client lookup manager transmits a null reference to the client.
- 47. The method of claim 43 wherein the client lookup manager repeatedly transmits requests to the lookup server for a predetermined period of time until a specific network service of interest is found.
- 48. The method of claim 47 wherein the request is a request to discover new network services.
- 49. The method of claim 47 wherein the request is a request to return network services that satisfy a criterion.
- 50. The method of claim 47 wherein the client lookup manager repeatedly transmits requests to the lookup server until a predetermined number of network services of interest are found.
- 51. A method in a distributed system having a lookup service with associated network services and a client lookup manager with an associated cache, the method comprising the steps of:
transmitting an event by the lookup service that identifies a change to one of the associated network services; receiving said event by the client lookup manager; and updating the associated cache to reflect the change.
- 52. The method of claim 51 further comprising the step of transmitting the event to the client.
- 53. The method of claim 51 wherein the updating step includes the following steps of:
comparing said event to an event of interest; and updating the cache only if said event matches the event of interest.
- 54. The method of claim 51 wherein the change is an addition of a new network service to the lookup service.
- 55. The method of claim 51 wherein the change is a deletion of a network service from the lookup service.
- 56. The method of claim 51 wherein the change is a modification to an attribute of a network service stored on the lookup service.
- 57. The method of claim 51 wherein the change is the removal of a lookup service from the distributed network.
- 58. The method of claim 57 wherein the cache is updated to remove all service references to network services that are unique to the lookup service.
- 59. A distributed system comprising:
a server computer with a lookup service having service references to a plurality of network services; and a client computer including a client lookup manager with an associated cache, wherein said client lookup manager accesses the lookup service and stores service references in the cache.
- 60. A distributed system having a first computer with a client, a client lookup manager with an associated cache, and a second computer with a lookup service containing service references for accessing associated network services, the distributed system comprising:
means for transmitting a request by the client lookup manager to the lookup service identifying at least one of the associated network services to be accessed; means for receiving the request by a lookup service; means for transmitting an object, responsive to the request, wherein the object provides a service reference to at least one network service of interest; means for receiving said response, by the client lookup manager; and means for storing the service reference in the associated cache.
- 61. A computer-readable medium containing instructions for controlling a data processing system to perform a method for accessing network services, the data processing system having a software cache and a lookup service with associated services, available for use in the data processing system, the method comprising the steps of:
receiving a request for access to a network service; retrieving a reference from a cache reflecting a particular network service associated with the requested network service; and transmitting the reference to the client.
- 62. A computer-readable medium containing instructions for controlling a data processing system to perform a method in a distributed system having a client and a client lookup manager with an associated cache, the method comprising the steps of:
sending a request to the client lookup manager for a network service; receiving a reference to a particular network service associated with the requested network service, wherein said reference is stored in the cache.
- 63. The computer-readable medium of claim 62 wherein the returning step is further comprised of the step of returning a null reference.
- 64. A computer-readable medium containing instructions for controlling a data processing system having a lookup service with associated network services available in the distributed system and having a client lookup manager with an associated cache, the method comprising the steps of:
transmitting a request by the client lookup manager; receiving said request by a lookup service; transmitting an object, responsive to the request, wherein the object provides a service reference to at least one network service of interest; receiving said response, by the client lookup manager; and storing the service reference in the associated cache.
- 65. The computer-readable medium of claim 64, wherein the method further comprises the step of transmitting the service reference to the client.
- 66. The computer-readable medium of claim 64 wherein the step of transmitting an object includes the step of transmitting a null reference to the client lookup manager.
- 67. The computer-readable medium of claim 66 wherein the method further comprises the step of transmitting a null reference from the client lookup manager to the client.
- 68. The computer-readable medium of claim 64 wherein the method further includes the step of registering with the event mechanism of the lookup service, said registration resulting in a request that the lookup service notify the client lookup manager of a change to its associated network services.
- 69. The computer-readable medium of claim 68 wherein the method further includes the steps of:
waiting a predetermined period of time until a predetermined quantity of network services are stored in the associated cache; and transmitting a plurality of service references to the client.
- 70. The computer-readable medium of claim 64 wherein the request is a request to discover new network services.
- 71. The computer-readable medium of claim 64 wherein the request is a request to return network services that satisfy a criterion.
- 72. A computer-readable medium containing instructions for controlling a data processing system having a lookup service with associated network services available in a distributed system and having a client lookup manager with an associated cache, the method comprising the steps of:
transmitting an event by the lookup service, said event notifies the client lookup manager of a change; receiving said event by the client lookup manager; and updating the cache to reflect the change.
- 73. The computer-readable medium of claim 72 wherein the method further includes the step of transmitting the event to the client.
- 74. The computer-readable medium of claim 72 wherein the updating step includes the following steps of:
comparing said event to an event of interest; and updating the cache only if said event matches the event of interest.
- 75. The computer-readable medium of claim 72 wherein the change is an addition of a new network service to the lookup service.
- 76. The computer-readable medium of claim 72 wherein the change is a deletion of a network service from the lookup service.
- 77. The computer-readable medium of claim 72 wherein the change is a modification to an attribute of a network service stored on the lookup service.
- 78. The computer-readable medium of claim 72 wherein the change is the removal of a lookup service from the distributed network.
- 79. The computer-readable medium of claim 78 wherein the cache is updated to remove all service references to network services that are unique to the lookup service.
RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 09/044,931, filed on Mar. 20, 1998, which is incorporated by reference.
[0002] The following identified U.S. patent applications are relied upon and are incorporated by reference in this application.
[0003] U.S. Provisional Application No. 60/138,680, entitled “Jini™ Technology Helper Utilities and Services,” bearing attorney docket no. 06502.6010-00000.
[0004] Provisional U.S. Patent Application No. 60/076,048, entitled “Distributed Computing System,” filed on Feb. 26, 1998.
[0005] U.S. patent application Ser. No. 09/044,923, entitled “Method and System for Leasing Storage,” bearing attorney docket no. 06502.0011-01000.
[0006] U.S. patent application Ser. No. 09/044,838, entitled “Method, Apparatus and Product for Leasing of Delegation Certificates in a Distributed System,” bearing attorney docket no. 06502.0011-02000.
[0007] U.S. patent application Ser. No. 09/044,834, entitled “Method, Apparatus and Product for Leasing of Group Membership in a Distributed System,” bearing attorney docket no. 06502.0011-03000.
[0008] U.S. patent application Ser. No. 09/044,933, entitled “Method for Transporting Behavior in Event Based System,” bearing attorney docket no. 06502.0054-00000.
[0009] U.S. patent application Ser. No. 09/044,919, entitled “Deferred Reconstruction of Objects and Remote Loading for Event Notification in a Distributed System,” bearing attorney docket no. 06502.0062-01000.
[0010] U.S. patent application Ser. No. 09/045,652, entitled “Method and System for Deterministic Hashes to Identify Remote Methods,” bearing attorney docket no. 06502.0103-00000.
[0011] U.S. patent application Ser. No. 09/044,790, entitled “Method and Apparatus for Determining Status of Remote Objects in a Distributed System,” bearing attorney docket no. 06502.0104-00000.
[0012] U.S. patent application Ser. No. 09/044,930, entitled “Downloadable Smart Proxies for Performing Processing Associated with a Remote Procedure Call in a Distributed System,” bearing attorney docket no. 06502.0105-00000.
[0013] U.S. patent application Ser. No. 09/044,917, entitled “Suspension and Continuation of Remote Methods,” bearing attorney docket no. 06502.0106-00000.
[0014] U.S. patent application Ser. No. 09/044,835, entitled “Method and System for Multi-Entry and Multi-Template Matching in a Database,” bearing attorney docket no. 06502.0107-00000.
[0015] U.S. patent application Ser. No. 09/044,839, entitled “Method and System for In-Place Modifications in a Database,” bearing attorney docket no. 06502.0108.
[0016] U.S. patent application Ser. No. 09/044,945, entitled “Method and System for Typesafe Attribute Matching in a Database,” bearing attorney docket no. 06502.0109-00000.
[0017] U.S. patent application Ser. No. 09/044,939, entitled “Apparatus and Method for Providing Downloadable Code for Use in Communicating with a Device in a Distributed System,” bearing attorney docket no. 06502.0112-00000.
[0018] U.S. patent application Ser. No. 09/044,826, entitled “Method and System for Facilitating Access to a Lookup Service,” bearing attorney docket no. 06502.0113-00000.
[0019] U.S. patent application Ser. No. 09/044,932, entitled “Apparatus and Method for Dynamically Verifying Information in a Distributed System,” bearing attorney docket no. 06502.0114-00000.
[0020] U.S. patent application Ser. No. 09/030,840, en titled “Method and Apparatus for Dynamic Distributed Computing Over a Network,” and filed on Feb. 26, 1998.
[0021] U.S. patent application Ser. No. 09/044,936, entitled “An Interactive Design Tool for Persistent Shared Memory Spaces,” bearing attorney docket no. 06502.0116-00000.
[0022] U.S. patent application Ser. No. 09/044,934, entitled “Polymorphic Token-Based Control,” bearing attorney docket no. 06502.0117-00000.
[0023] U.S. patent application Ser. No. 09/044.915, entitled “Stack-Based Access Control,” bearing attorney docket no. 06502.0118-00000.
[0024] U.S. patent application Ser. No. 09/044,944, entitled “Stack-Based Security Requirements,” bearing attorney docket no. 06502.0119-00000.
[0025] U.S. patent application Ser. No. 09/044,837, entitled “Per-Method Designation of Security Requirements,” bearing attorney docket no. 06502.0120-00000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60076048 |
Feb 1998 |
US |
Divisions (1)
|
Number |
Date |
Country |
Parent |
09915645 |
Jul 2001 |
US |
Child |
10408365 |
Apr 2003 |
US |
Continuations (2)
|
Number |
Date |
Country |
Parent |
09417908 |
Oct 1999 |
US |
Child |
09915645 |
Jul 2001 |
US |
Parent |
09044931 |
Mar 1998 |
US |
Child |
09417908 |
Oct 1999 |
US |