Claims
- 1. A data processing system for monitoring entities comprising:
a plurality of announcements, wherein a number of announcements within the plurality of announcements contain a description of a monitoring method for use in monitoring behavior of a distributed monitored entity, wherein the description is in a computer readable format; and a distributed publishing entity, wherein the distributed publishing entity publishes the plurality of announcements to clients, wherein at least one of the number of announcements is adapted to be used by a client to perform at least one of determining the monitoring method for use by a distributed monitored entity to monitor its own behavior, determining the monitoring method that a distributed consumer entity uses to monitor the distributed monitored entity, and determining the monitoring method that a third-party distributed monitoring entity uses to monitor the distributed monitored entity.
- 2. The data processing system of claim 1, wherein the client is one of the distributed monitored entity, the distributed consumer entity, and the third-party distributed monitoring entity.
- 3. The data processing system of claim 1, wherein the monitoring method is provided in the number of announcements in response to agreements existing between the distributed monitored entity and the client.
- 4. The data processing system of claim 1, wherein the distributed publishing entity also provides information of the distributed monitored entity through the plurality of announcements and allows a search through a directory for entities matching selected criteria.
- 5. The data processing system of claim 1, wherein the client executes the monitoring method and performs an action in response to a result of executing the monitoring method.
- 6. The data processing system of claim 5, wherein the resultant action includes at least one of sending a message to a particular distributed entity when the result matches certain criteria, executing a particular algorithm identified in an announcement when the result matches the certain criteria, restarting the distributed monitored entity when the result matches the certain criteria, creating a new distributed monitored entity when the result matches the certain criteria, terminating the distributed monitored entity when the result matches the certain criteria, initiating a problem-determination process, and breaking an internal deadlock within the distributed monitored entity.
- 7. The data processing system of claim 1, wherein the monitoring system includes the third-party distributed monitoring entity and wherein the third-party distributed monitoring entity accepts requests to monitor the distributed monitored entity.
- 8. The data processing system of claim 7, wherein the request is received from the distributed consumer entity.
- 9. The data processing system of claim 7, wherein a fee is charged by the third-party distributed monitoring entity to monitor the distributed monitored entity.
- 10. The data processing system of claim 7, wherein the request includes at least one of an identification of the monitoring method, an identification of how to select a particular monitoring method to fulfill the request, a certificate, and an authorization.
- 11. The data processing system of claim 7, wherein the third-party distributed monitoring entity identifies the monitoring method by examining announcements containing information about the distributed monitored entity within the plurality of announcements.
- 12. The data processing system of claim 1, wherein the plurality of announcements includes statistical information about the distributed monitored entities.
- 13. The data processing system of claim 12, wherein the statistical information includes an identification of distributed monitoring entities currently monitoring distributed monitored entities, distributed monitoring entities previously monitoring distributed monitored entities, and distributed monitoring entities expected to monitor distributed monitored entities.
- 14. The data processing system of claim 13, wherein the statistical information is provided in response to the request.
- 15. The data processing system of claim 13, wherein the client may request a change in parameters used in the monitoring method executed by a selected distributed monitoring entity engaged in monitoring a distributed monitored entity.
- 16. The data processing system of claim 15, wherein a result of monitoring the distributed monitored entity is sent to a set of entities.
- 17. The data processing system of claim 1, wherein the distributed monitored entity supports a monitoring interface designed to enable initiation of the testing method on the distributed monitored entity.
- 18. The data processing system of claim 17, wherein the monitoring interface accepts a request and generates a response including at least one of an indication that the distributed monitored entity is able to respond to requests, an indication that a particular function is operating correctly, an indication that a set of functions are operating correctly, a continuous data stream, and a periodic data stream.
- 19. The data processing system of claim 1, wherein the monitoring method includes sending an invalid request to the distributed monitored entity and verifying that an expected error message is received in response.
- 20. The data processing system of claim 1, wherein the monitoring method includes requesting a data stream from the distributed monitored entity and verifying that the data stream continues to arrive as expected.
- 21. A method for providing testing in a distributed data processing system, the method comprising:
responsive to a request from a client for information for a selected service, identifying a registered entity providing the selected service; and sending a reply to the client, wherein the reply includes information identifying the registered entity providing the selected service and a monitoring method for the entity, wherein the information is in a computer readable format, and wherein the information allows the client to monitor the registered entity providing the selected service.
- 22. The method of claim 21, wherein the identifying and sending steps are performed in at least one of the registered entity and a distributed publishing entity.
- 23. The method of claim 21 further comprising:
receiving a request to register the selected service from the registered entity, wherein the request includes information about the selected service and how the registered entity can be monitored for proper operation of the selected service; and responsive to receiving the request, registering the selected service, wherein the registered entity providing the selected service may be identified in response to the request from the client.
- 24. The method of claim 21, wherein the client is the registered entity providing the selected service.
- 25. The method of claim 21, wherein identifications of registered entities are stored in a directory.
- 26. The method of claim 21 further comprising:
storing monitoring information on registered entities.
- 27. The method of claim 21, wherein the monitoring information includes at least one of registered entities currently being monitored, registered entities previously monitored, and registered entities expected to be monitored.
- 28. The method of claim 21 further comprising:
sending the monitoring information to the client in response to a request from the client for the monitoring information.
- 29. The method of claim 21, wherein the monitoring method includes at least one of an identification of a monitoring interface in the registered entity, sending a request to the monitoring interface in which a response indicates that the registered entity is functioning correctly, sending a request to the monitoring interface in which a response indicates that at least one service in the registered entity is functioning correctly, sending an invalid request to the registered entity in which a selected error is expected, sending a pattern of data to a port in the registered entity in which a particular pattern is expected in response to the pattern of data, sending a request to the registered entity in which a response is expected within a selected period of time to indicate that the registered entity is functioning correctly, a program, a PERL script, a RMI client, a RMI stub, and a binary executable.
- 30. A method in a data processing system for monitoring availability of services, the method comprising:
sending a request for information; receiving a response to the request for information, wherein the response includes an identification of an entity providing the service and information on how to monitor the entity, wherein the information is in a computer readable format; and responsive to receiving the response, automatically monitoring the entity.
- 31. The method of claim 30, wherein the entity is monitored by testing the service.
- 32. The method of claim 30, wherein the information identifies a monitoring method used to test the service.
- 33. The method of claim 30, wherein the response is received from a distributed publishing entity.
- 34. The method of claim 33, wherein the response is received based on a particular service level agreement.
- 35. The method of claim 33, wherein the automatic monitoring of the entity is responsive to both the response received and to agreements existing between the monitored entity and an entity within the data processing system.
- 36. The method of claim 30 further comprising:
responsive to a result from monitoring the entity, performing an action.
- 37. The method of claim 36, wherein the action is a corrective action if the result matches a selected criterion.
- 38. The method of claim 37, wherein the corrective action is at least one of sending a notification to an administrator, sending a notification to another entity, logging the result, restarting the entity, selecting a new entity to provide the service, and initiating termination of the entity.
- 39. The method of claim 37, wherein the corrective action is specified in the response.
- 40. A method in a data processing system for providing monitoring of a set of entities, the method comprising:
registering the set of entities, wherein information registered includes identifying a monitoring method and a service provided for each entity in the set of entities; and selectively announcing the information for the set of entities to clients requiring a particular service, wherein clients use the information to monitor for a selected entity within the set of entities providing the particular service.
- 41. The method of claim 40, wherein selectively announcing comprises:
responsive to receiving a request from the client for the particular service, identifying an entity from the set of entities; and sending a reply to the client, wherein the reply includes information identifying the entity and a monitoring method for the entity, wherein the information is in a computer readable format, and wherein the information allows the client to monitor the entity.
- 42. The method of claim 41, wherein selectively announcing further comprises:
responsive to receiving a request from the client for a third party monitoring entity, identifying a particular third party monitoring entity capable of monitoring the entity; and sending another reply to the client, wherein the another reply includes information identifying the particular third party monitoring entity capable of monitoring the entity.
- 43. The method of claim 42, wherein the request includes an identification of the monitoring method.
- 44. The method of claim 41, wherein a monitoring method specifies a test and a result that is expected to verify proper operation of the entity with respect to the particular service.
- 45. The method of claim 41 further comprising:
receiving a registration request from one entity within the set of entities, wherein the request includes a monitoring method by which the one entity may be monitored.
- 46. The method of claim 41, wherein the method is performed in a distributed publishing entity.
- 47. A network data processing system comprising:
a network; a distributed monitored entity connected to the network; a distributed consumer entity connected to the network; a distributed publishing entity connected to the network, wherein the distributed monitored entity has a particular service that is registered with the distributed publishing entity, the distributed publishing entity provides the distributed consumer entity with information identifying the distributed monitored entity and identifying how the distributed monitored entity is automatically monitored, and the distributed consumer entity monitors the distributed monitored entity using the information.
- 48. The network data processing system of claim 47, wherein the distributed consumer entity monitors the distributed monitored entity by testing the particular service.
- 49. The network data processing system of claim 47, wherein a distributed monitoring entity executes a monitoring method on the distributed monitored entity using the information identified by the distributed publishing entity.
- 50. The network data processing system of claim 49, wherein the distributed monitoring entity, responsive to receiving a result matching a criteria, performs corrective actions including at least one of sending a notification to an administrator, sending a notification to another entity, logging the result, restarting the entity, selecting a new entity to provide the service, and initiating termination of the entity.
- 51. The network data processing system of claim 47, wherein a distributed monitoring entity accepts requests from additional distributed consumer entities to monitor the distributed monitored entity.
- 52. The network data processing system of claim 47, wherein a fee is charged for monitoring of the distributed monitored entity by a distributed monitoring entity.
- 53. The network data processing system of claim 47, wherein a distributed monitoring entity provides automatic monitoring of the distributed monitored entity for the distributed consumer entity in response to a request from the distributed consumer entity.
- 54. The network data processing system of claim 47, wherein the information includes at least one of a certificate, identifier, and a key used to enable execution of a monitoring method on the distributed monitored entity.
- 55. A data processing system for providing testing in a distributed data processing system, the data processing system comprising:
a bus system; a communications unit connected to the bus system; a memory connected to the bus system, wherein the memory includes a set of instructions; and a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to identify a registered entity providing the selected service in response to a request from a client for information for a selected service; and send a reply to the client in which the reply includes information identifying the registered entity providing the selected service and a monitoring method for the entity in which the information is in a computer readable format, and wherein the information allows the client to monitor the registered entity providing the selected service.
- 56. A data processing system for monitoring availability of services, the data processing system comprising:
a bus system; a communications unit connected to the bus system; a memory connected to the bus system, wherein the memory includes a set of instructions; and a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to send a request for information; receive a response to the request for information in which the response includes an identification of an entity providing the service and information on how to monitor the entity in which the information is in a computer readable format; and automatically monitor the entity in response to receiving the response.
- 57. A data processing system for providing monitoring of a set of entities, the data processing system comprising:
a bus system; a communications unit connected to the bus system; a memory connected to the bus system, wherein the memory includes a set of instructions; and a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to register the set of entities in which information registered includes identifying a monitoring method and a service provided for each entity in the set of entities; and selectively announce the information for the set of entities to clients requiring a particular service in which clients use the information to monitor for a selected entity within the set of entities providing the particular service.
- 58. A data processing system for providing testing in a distributed data processing system, the data processing system comprising:
identifying means, responsive to a request from a client for information for a selected service, for identifying a registered entity providing the selected service; and sending means for sending a reply to the client, wherein the reply includes information identifying the registered entity providing the selected service and a monitoring method for the entity, wherein the information is in a computer readable format, and wherein the information allows the client to monitor the registered entity providing the selected service.
- 59. The data processing system of claim 58, wherein the identifying and sending means are performed in at least one of the registered entity and a distributed publishing entity.
- 60. The data processing system of claim 58 further comprising:
receiving means for receiving a request to register the selected service from the registered entity, wherein the request includes information about the selected service and how the registered entity can be monitored for proper operation of the selected service; and registering means, responsive to receiving the request, for registering the selected service, wherein the registered entity providing the selected service may be identified in response to the request from the client.
- 61. The data processing system of claim 58, wherein the client is the registered entity providing the selected service.
- 62. The data processing system of claim 58, wherein identifications of registered entities are stored in a directory.
- 63. The data processing system of claim 58 further comprising:
storing means for storing monitoring information on registered entities.
- 64. The data processing system of claim 58, wherein the monitoring information includes at least one of registered entities currently being monitored, registered entities previously monitored, and registered entities expected to be monitored.
- 65. The data processing system of claim 58, wherein the sending means is a first sending means and further comprising:
second sending means for sending the monitoring information to the client in response to a request from the client for the monitoring information.
- 66. The data processing system of claim 58, wherein the monitoring method includes at least one of an identification of a monitoring interface in the registered entity, sending a request to the monitoring interface in which a response indicates that the registered entity is functioning correctly, sending a request to the monitoring interface in which a response indicates that at least one service in the registered entity is functioning correctly, sending an invalid request to the registered entity in which a selected error is expected, sending a pattern of data to a port in the registered entity in which a particular pattern is expected in response to the pattern of data, sending a request to the registered entity in which a response is expected within a selected period of time to indicate that the registered entity is functioning correctly, a program, a PERL script, a RMI client, a RMI stub, and a binary executable.
- 67. A data processing system for monitoring availability of services, the data processing system comprising:
sending means for sending a request for information; receiving means for receiving a response to the request for information, wherein the response includes an identification of an entity providing the service and information on how to monitor the entity, wherein the information is in a computer readable format; and monitoring means, responsive to receiving the response, for automatically monitoring the entity.
- 68. The data processing system of claim 67, wherein the entity is monitored by testing the service.
- 69. The data processing system of claim 67, wherein the information identifies a monitoring method used to test the service.
- 70. The data processing system of claim 67, wherein the response is received from a distributed publishing entity.
- 71. The data processing system of claim 70, wherein the response is received based on a particular service level agreement.
- 72. The data processing system of claim 70, wherein the automatic monitoring of the entity is responsive to both the response received and to agreements existing between the monitored entity and the data processing system.
- 73. The data processing system of claim 67 further comprising:
performing means, responsive to a result from monitoring the entity, for performing an action.
- 74. The data processing system of claim 73, wherein the action is a corrective action if the result matches a selected criterion.
- 75. The data processing system of claim 74, wherein the corrective action is at least one of sending a notification to an administrator, sending a notification to another entity, logging the result, restarting the entity, selecting a new entity to provide the service, and initiating termination of the entity.
- 76. The data processing system of claim 74, wherein the corrective action is specified in the response.
- 77. A data processing system for providing monitoring of a set of entities, the data processing system comprising:
registering means for registering the set of entities, wherein information registered includes identifying a monitoring method and a service provided for each entity in the set of entities; and announcing means for selectively announcing the information for the set of entities to clients requiring a particular service, wherein clients use the information to monitor for a selected entity within the set of entities providing the particular service.
- 78. The data processing system of claim 77, wherein the selectively announcing means comprises:
identifying means, responsive to receiving a request from the client for the particular service, for identifying an entity from the set of entities; and sending means for sending a reply to the client, wherein the reply includes information identifying the entity and a monitoring method for the entity, wherein the information is in a computer readable format, and wherein the information allows the client to monitor the entity.
- 79. The data processing system of claim 78, wherein the identifying means is a first identifying means and the sending means is a first sending means and wherein the selectively announcing means further comprises:
second identifying means, responsive to receiving a request from the client for a third party monitoring entity, for identifying a particular third party monitoring entity capable of monitoring the entity; and second sending means for sending another reply to the client, wherein the another reply includes information identifying the particular third party monitoring entity capable of monitoring the entity.
- 80. The data processing system of claim 79, wherein the request includes an identification of the monitoring method.
- 81. The data processing system of claim 77, wherein a monitoring method specifies a test and a result that is expected to verify proper operation of the entity with respect to the particular service.
- 82. The data processing system of claim 77 further comprising:
receiving means for receiving a registration request from one entity within the set of entities, wherein the request includes a monitoring method by which the one entity may be monitored.
- 83. The data processing system of claim 77, wherein the method is performed in a distributed publishing entity.
- 84. A computer program product in a computer readable medium for monitoring entities, the computer program product comprising:
first instructions for identifying a plurality of announcements, wherein a number of announcements within the plurality of announcements contain a description of a monitoring method for use in monitoring behavior of a distributed monitored entity, wherein the description is in a computer readable format; and second instructions for publishing the plurality of announcements to clients, wherein a client uses at least one of the number of announcements to perform at least one of determining the monitoring method for use by a distributed monitored entity to monitor its own behavior, determining the monitoring method that a distributed consumer entity uses to monitor the distributed monitored entity, and determining the monitoring method that a third-party distributed monitoring entity uses to monitor the distributed monitored entity.
- 85. A computer program product in a computer readable medium for providing testing in a distributed data processing system, the computer program product comprising:
first instructions, responsive to a request from a client for information for a selected service, for identifying a registered entity providing the selected service; and second instructions for sending a reply to the client, wherein the reply includes information identifying the registered entity providing the selected service and a monitoring method for the entity, wherein the information is in a computer readable format, and wherein the information allows the client to monitor the registered entity providing the selected service.
- 86. A computer program product in a computer readable medium for monitoring availability of services, the computer program product comprising:
first instructions for sending a request for information; second instructions for receiving a response to the request for information, wherein the response includes an identification of an entity providing the service and information on how to monitor the entity, wherein the information is in a computer readable format; and third instructions, responsive to receiving the response, for automatically monitoring the entity.
- 87. A computer program product in a computer readable medium for providing monitoring of a set of entities, the computer program product comprising:
first instructions for registering the set of entities, wherein information registered includes identifying a monitoring method and a service provided for each entity in the set of entities; and second instructions for selectively announcing the information for the set of entities to clients requiring a particular service, wherein clients use the information to monitor for a selected entity within the set of entities providing the particular service.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is related to the following applications entitled: “Method and Apparatus for Automatic Updating and Testing of Software”, Ser. No. ______, attorney docket no. YOR920020174US1; “Composition Service for Autonomic Computing”, Ser. No. ______, attorney docket no. YOR920020176US1; “Self-Managing Computing System”, Ser. No. ______, attorney docket no. YOR920020181US1; and “Adaptive Problem Determination and Recovery in a Computer System”, Ser. No. ______, attorney docket no. YOR920020194US1; all filed even date hereof, assigned to the same assignee, and incorporated herein by reference.