Claims
- 1. A method for providing a service in a distributed system, comprising:
receiving a list of service elements, wherein at least several of the service elements constitute the service; and for each service element in the list,
determining whether an application corresponding to the service element is available in the distributed system, and monitoring the application to detect whether the application fails.
- 2. The method of claim 1, further comprising
creating the application corresponding to the service element, if the application corresponding to the service element is not available in the distributed system
- 3. The method of claim 1, further comprising
recreating the application, if it is detected that the application fails.
- 4. The method of claim 1, wherein the creating further comprises:
determining requirements of the service element; matching the requirements of the service element to a resource on the distributed system; and sending the requirements of the service to the resource to initiate creation of the application.
- 5. A method in a distributed system for providing a service consisting of a collection of service elements, comprising:
determining whether an instance of each service element in the collection is available in the distributed system; and for each service element in the collection that does not have an instance available in the distributed system, creating a new service element instance.
- 6. The method of claim 5, further comprising:
monitoring a running service element instance corresponding to each service element in the collection to determine if the running service element instance fails; and creating a new service element instance, if the running service element instance fails.
- 7. The method of claim 5, wherein the determining further comprises:
using a lookup service to determine whether an instance of each service element in the collection is running in the distributed system.
- 8. A method for providing services in a distributed system, comprising:
receiving capabilities of a compute resource from an executable application on the compute resource; receiving a request to add a new service to the distributed system, including information reflecting requirements of the new service; matching the requirements of the new service to the capabilities of the compute resource; and directing the executable application running on the compute resource to instantiate the new service.
- 9. The method of claim 8, wherein the request further includes attributes of the new service and the directing further comprises:
sending the attributes of the new service to the compute resource.
- 10. The method of claim 8, wherein the object is a Java™ virtual machine.
- 11. A method for handling events in a distributed system, comprising:
advertising a capability to notify members of the distributed system when an event of a predetermined type occurs; receiving registration requests from a plurality of event consumers, the registration requests specifying the predetermined type; and when an event of the predetermined type occurs,
determining an order in which to notify each of the plurality of event consumers, and sending an event notification to each of the plurality of event consumers in the order determined.
- 12. The method of claim 11, wherein the predetermined type of event is detection of a need to create a service on the distributed system.
- 13. The method of claim 11, wherein the event notification is a request to create a service on the distributed system.
- 14. The method of claim 11, further comprising:
sending the event notification to each of the plurality of event consumers in a random order.
- 15. The method of claim 11, further comprising:
sending the event notification to each of the plurality of event consumers in a round robin order.
- 16. A method for providing a service in a distributed system, comprising:
receiving a list of service elements, wherein at least several of the service elements constitute the service; and for each service element in the list,
determining whether an application corresponding to the service element is available in the distributed system, creating the application corresponding to the service element, if the application corresponding to the service element is not available in the distributed system, and monitoring the application to detect whether the application fails.
- 17. A system for providing a service in a distributed system, comprising:
a receiving component configured to receive a list of service elements, wherein at least several of the service elements constitute the service; a service determining component configured to determine, for each service element in the list, whether an application corresponding to the service element is available in the distributed system, and a monitoring component configured to monitor the application to detect whether the application fails.
- 18. The system of claim 18, further comprising
a creating component configured to create the application corresponding to the service element, if the application corresponding to the service element is not available in the distributed system
- 19. The system of claim 18, further comprising
a recreating component configured to recreate the application, if it is detected that the application fails.
- 20. The system of claim 18, wherein the creating further comprises:
a requirements determining component configured to determine requirements of the service element; a matching component configured to match the requirements of the service element to a resource on the distributed system; and a sending component configured to send the requirements of the service to the resource to initiate creation of the application.
- 21. A system in a distributed system for providing a service consisting of a collection of service elements, comprising:
a determining component configured to determine whether an instance of each service element in the collection is available in the distributed system; and a creating component configured to create a new service element instance for each service element in the collection that does not have an instance available in the distributed system.
- 22. The system of claim 21, further comprising:
a monitoring component configured to monitor a running service element instance corresponding to each service element in the collection to determine if the running service element instance fails; and a failure creating component configured to create a new service element instance, if the running service element instance fails.
- 23. The system of claim 21, wherein the determining component further comprises:
a using component configured to use a lookup service to determine whether an instance of each service element in the collection is running in the distributed system.
- 24. A system for providing services in a distributed system, comprising:
a capabilities receiving component configured to receive capabilities of a compute resource from an executable application on the compute resource; a request receiving component configured to receive a request to add a new service to the distributed system, including information reflecting requirements of the new service; a matching component configured to match the requirements of the new service to the capabilities of the compute resource; and a directing component configured to direct the executable application running on the compute resource to instantiate the new service.
- 25. The system of claim 24, wherein the request further includes attributes of the new service and the directing component further comprises:
a sending component configured to send the attributes of the new service to the compute resource.
- 26. The system of claim 24, wherein the object is a Java™ virtual machine.
- 27. A system for handling events in a distributed system, comprising:
an advertising component configured to advertise a capability to notify members of the distributed system when an event of a predetermined type occurs; a receiving component configured to receive registration requests from a plurality of event consumers, the registration requests specifying the predetermined type; a determining component configured to determine, when an event of the predetermined type occurs, an order in which to notify each of the plurality of event consumers; and a sending component configured to send an event notification to each of the plurality of event consumers in the determined order.
- 28. The system of claim 27, wherein the predetermined type of event is detection of a need to create a service on the distributed system.
- 29. The system of claim 27, wherein the event notification is a request to create a service on the distributed system.
- 30. The system of claim 27, further comprising:
a random sending component configured to send the event notification to each of the plurality of event consumers in a random order.
- 31. The system of claim 27, further comprising:
a round robin sending component configured to send the event notification to each of the plurality of event consumers in a round robin order.
- 32. A system for providing a service in a distributed system, comprising:
a receiving component configured to receive a list of service elements, wherein at least several of the service elements constitute the service; a determining component configured to determine, for each service element in the list, whether an application corresponding to the service element is available in the distributed system, a creating component configured to create the application corresponding to the service element, if the application corresponding to the service element is not available in the distributed system; and a monitoring component configured to monitor the application to detect whether the application fails.
RELATED APPLICATIONS
[0001] This application is related to an application for Distributed Metric Discovery and Collection in a Distributed System, attorney docket no. 06502.0384, filed Sep. 7, 2001, which is relied upon and incorporated by reference.