Claims
- 1. A method of detecting an event of interest, the method comprising the steps of:
in a framework in which a plurality of components are executing, establishing a monitor for at least a first component in the plurality of components to detect occurrence of the event of interest, the first component residing on a first node; after the first component causes the event of interest to occur, the monitor communicating the event of interest to the framework.
- 2. The method of claim 1, further comprising periodically polling the components to detect occurrence of the event of interest, and wherein the step of establishing a monitor is performed without waiting for the framework to poll the first component.
- 3. The method of claim 1, further comprising the monitor detecting that the event of interest is caused by the first component.
- 4. The method of claim 1, wherein the monitor communicating the event of interest to the framework includes the monitor communicating that the first component has failed.
- 5. The method of claim 4, further comprising the step of initiating at least a second component to replace the first component in response to the monitor communicating that the first component has failed, the second component being configured to perform a service that is comparable to a service that the first component was to perform.
- 6. The method of claim 1, further comprising establishing, on a plurality of nodes, a composite resource that includes a plurality of members, wherein each member of said plurality of said members is capable of providing a comparable service, the first component being one of the plurality of members of the composite resource, and wherein the composite resource is at least partially defined by recovery initiation of the composite resource occurring when each member of the plurality of members has ceased to be active.
- 7. The method of claim 6, wherein the monitor communicating the event of interest to the framework includes the monitor communicating that the first component has failed, and wherein the method further comprises the step of automatically initiating a second component on a second node in response to the first component failing.
- 8. The method of claim 7, wherein the second component is part of the composite resource.
- 9. The method of claim 7, further comprising establishing a monitor for each of the plurality of members of the composite resource, and initiating recovery of the composite resource when the monitor of each of the plurality of members detects that the member has failed.
- 10. The method of claim 4, further comprising the step of identifying a first resource that is dependent on the service provided by the first component, and enabling a second resource that is comparable to the first resource to depend on the service provided by the second component.
- 11. The method of claim 1, wherein the monitor communicating the event of interest to the framework includes the monitor communicating that the first component is starting.
- 12. The method of claim 1, wherein the monitor communicating the event of interest to the framework includes the monitor communicating that a service previously provided by the first component is to be provided by another component of the composite resource.
- 13. The method of claim 1, wherein the monitor communicating the event of interest to the framework includes the monitor communicating that the first component has stopped and not failed.
- 14. The method of claim 1, wherein the monitor communicating the event of interest to the framework includes the monitor communicating that the first component has stopped and failed.
- 15. The method of claim 1, wherein the monitor communicating the event of interest to the framework includes the monitor communicating that the first node has failed.
- 16. The method of claim 1, wherein the monitor communicating the event of interest to the framework includes the monitor communicating for the first component to be checked.
- 17. The method of claim 1, wherein the step of periodically polling said components to detect occurrence of the event of interest is at least temporarily stopped in response to the step of the monitor communicating the event of interest to the framework.
- 18. A method of detecting a component failure, the method comprising the steps of:
on at least a framework, establishing a composite resource that includes a plurality of members, where each member of said plurality of said members is capable of providing a comparable service; providing said service to a component that requests said service by:
arranging for said service to be provided to said component by a first member of said composite resource; establishing a monitor for at least the first member; the monitor communicating to the framework that the first member has ceased to be active; and automatically causing the service to be provided to said component by another member of said plurality of members; and maintaining a state of the composite resource independently of the state of each member of said composite resource.
- 19. The method of claim 18, further comprising periodically polling the first component to determine occurrence of the first component ceasing to be active.
- 20. The method of claim 18, wherein the monitor communicating to the framework when the first member ceases to be active includes the monitor detecting that a first node where the first member resides has failed.
- 21. The method of claim 20, wherein automatically causing the service to be provided to said component by another member of said plurality of members includes automatically causing the service to be provided by a second member in the plurality of members, wherein the second member resides on a second node that is active.
- 22. The method of claim 21, wherein automatically causing the service to be provided by a second member in the plurality of members includes executing code on the first framework, execution of the code causing the service to be provided by the second member, wherein the first framework is shared by the first member and the second member.
- 23. The method of claim 16, further comprising the steps of:
identifying a resource that is dependent on the comparable service, wherein prior to the first member ceasing to be active, the first resource receives the comparable service from the first member; and providing the service to the resource from the second member.
- 24. The method of claim 23, wherein providing the service to the resource from the second member includes starting a resource on the second node that is comparable to the resource receiving the comparable resource from the first component on the first node.
- 25. The method of claim 18, further comprising:
identifying a first resource that is dependent on the comparable service, wherein prior to the first member ceasing to be active, the first resource resides on the first node and receives the comparable service from the first member; and in response to the monitor communicating to the framework that the first member ceases to provide the comparable service, stopping the first resource from executing on the first node; and starting a second resource on the second node to receive the comparable service from the second member, wherein the second resource is comparable to the first resource.
- 26. The method of claim 25, wherein the method further comprises establishing a second monitor for the second member, and wherein the step of starting a second resource on the second node includes detecting that the second member is active using the second monitor.
- 27. The method of claim 25, wherein the first node is in a first framework and the second node is in a second framework, and wherein starting a second resource on the second node includes communicating between the first framework and the second framework over a network.
- 28. The method of claim 18, wherein establishing a monitor for at least the first member includes establishing one or more monitors for each member of the composite resource, the one or more monitors determining whether each of the plurality of members are capable of providing the comparable service.
- 29. The method of claim 28, wherein establishing one or more monitors for each member of the composite resource includes determining whether any of the plurality of members are operational to provide the comparable service in response to any of the plurality of members ceasing to provide the comparable service.
- 30. The method of claim 28, further comprising the step of initiating recovery of the composite resource upon the one or more monitors determining that each member of said plurality of members has ceased to be active.
- 31. The method of claim 27, wherein upon the one or more monitors determining that each member of said plurality of members has ceased to be active, the method further comprises reevaluating the composite resource.
- 32. A computer readable medium for carrying one or more sequences of instructions for detecting an event of interest, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
in a framework in which a plurality of components are executing, establishing a monitor for at least a first component in the plurality of components to detect occurrence of the event of interest, the first component residing on a first node; after the first component causes the event of interest to occur, the monitor communicating the event of interest to the framework.
- 33. The computer-readable medium of claim 32, further comprising instructions for periodically polling the components to detect occurrence of the event of interest, and wherein the step of establishing a monitor is performed without waiting for the framework to poll the first component.
- 34. The computer-readable medium of claim 32, further comprising instructions for the monitor detecting that the event of interest is caused by the first component.
- 35. The computer-readable medium of claim 32, wherein instructions for the monitor communicating the event of interest to the framework include instructions for the monitor communicating that the first component has failed.
- 36. The computer-readable medium of claim 35, further comprising instructions for performing the step of initiating at least a second component to replace the first component in response to the monitor communicating that the first component has failed, the second component being configured to perform a service that is comparable to a service that the first component was to perform.
- 37. The computer-readable medium of claim 32, further comprising instructions for performing the step of establishing, on a plurality of nodes, a composite resource that includes a plurality of members, wherein each member of said plurality of said members is capable of providing a comparable service, the first component being one of the plurality of members of the composite resource, and wherein the composite resource is at least partially defined by recovery initiation of the composite resource occurring when each member of the plurality of members has ceased to be active.
- 38. The computer-readable medium of claim 37, wherein instructions for the monitor communicating the event of interest to the framework include instructions for the monitor communicating that the first component has failed, and wherein the computer-readable medium further comprises instructions for performing the step of automatically initiating a second component on a second node in response to the first component failing.
- 39. The computer-readable medium of claim 38, wherein the second component is part of the composite resource.
- 40. The computer-readable medium of claim 38, further comprising instructions for performing the step of establishing a monitor for each of the plurality of members of the composite resource, and instructions for performing the step of initiating recovery of the composite resource when the monitor of each of the plurality of members detects that the member has failed.
- 41. The computer-readable medium of claim 35, further comprising instructions for performing the step of identifying a first resource that is dependent on the service provided by the first component, and for enabling a second resource that is comparable to the first resource to depend on the service provided by the second component.
- 42. The computer-readable medium of claim 32, wherein instructions for the monitor communicating the event of interest to the framework include instructions for the monitor communicating that the first component is starting.
- 43. The computer-readable medium of claim 32, wherein instructions for the monitor communicating the event of interest to the framework include instructions for the monitor communicating that a service previously provided by the first component is to be provided by another component of the composite resource.
- 44. The computer-readable medium of claim 32, wherein instructions for the monitor communicating the event of interest to the framework include instructions for the monitor communicating that the first component has stopped and not failed.
- 45. The computer-readable medium of claim 32, wherein instructions for the monitor communicating the event of interest to the framework include instructions for the monitor communicating that the first component has stopped and failed.
- 46. The computer-readable medium of claim 32, wherein instructions for the monitor communicating the event of interest to the framework include instructions for the monitor communicating that the first node has failed.
- 47. The computer-readable medium of claim 32, wherein instructions for the monitor communicating the event of interest to the framework include instructions for the monitor communicating for the first component to be checked.
- 48. The computer-readable medium of claim 32, wherein instructions for performing the step of periodically polling said components to detect occurrence of the event of interest is at least temporarily stopped in response to the step of the monitor communicating the event of interest to the framework.
REFERENCED APPLICATIONS
[0001] This application claims benefit of priority to a U.S. Provisional Application having serial No. 60/334,349, filed Nov. 30, 2001, entitled “Rapid Recovery Events, Virtual Composite Objects, And Enable/Disable Attributes For Simple and Composite Resources For Use In A High Availability Framework,” naming Colrain et. al as inventors; and to U.S. Provisional Application having serial No. 60/426,587, filed Nov. 15, 2002, entitled “Virtual Composite Objects for Providing High Availability of Resources on Networked Systems” (Attorney Docket No. 50277-1968). The aforementioned priority applications are hereby incorporated by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60334349 |
Nov 2001 |
US |
|
60426587 |
Nov 2002 |
US |