Claims
- 1. A dynamic method for ensuring multicast messaging within a distributed computing environment comprising:
establishing multiple groups of computing nodes within the distributed computing environment; selecting one node of each group of computing nodes as a group leader node; forming a group of group leader nodes (GL13 group) and selecting a group leader of the GL_group; and automatically creating a virtual interface for multicast messaging between the group leader node of the GL13 group and at least one other group leader node within said GL13 group, thereby establishing multicast routing between groups of nodes of said distributed computing environment.
- 2. The dynamic method of claim 1, wherein said automatically creating comprises automatically creating a tunnel from the group leader node of the GL13 group to each other group leader node within said GL13 group, thereby ensuring multicast message routing between each group of said multiple groups of computing nodes of said distributed computing environment.
- 3. The dynamic method of claim 1, wherein said establishing multiple groups of computing nodes comprises for each computing node and for each communication interface of said computing node, determining a group identifier (groupID) from at least one of an IP address and a subnet mask for said communication interface.
- 4. The dynamic method of claim 3, wherein said determining said groupID comprises for each communication interface logically ANDing the IP address and the subnet mask to obtain a network identifier, and using said network identifier as a group identifier in grouping said computing nodes within the distributed computing environment.
- 5. The dynamic method of claim 1, wherein said selecting one node of each group of computing nodes as said group leader node comprises obtaining a membership list of all member nodes to said group of computing nodes and selecting as said group leader node a first successfully joined computing node to said group from said membership list.
- 6. The dynamic method of claim 1, wherein said selecting said group leader of said GL13 group comprises obtaining a membership list of said GL13 group and selecting as said group leader of said GL13 group a first successfully joined group leader to said GL13 group from said membership list.
- 7. The dynamic method of claim 1, wherein said automatically creating comprises for each group leader within said GL13 group, determining whether said group leader is said GL_group leader, and if so, building a configuration file for mrouted tunneling from communication interfaces of said GL13 group leader node to other group leaders in said GL_group, and performing mrouted daemon processing to build virtual interfaces between said GL_group leader and said other group leaders in said GL13 group.
- 8. The dynamic method of claim 7, wherein if said group leader within said GL_group is other than said GL_group leader, said automatically creating comprises building a configuration file for mrouted tunneling from said group leader to said GL13 group leader, and performing mrouted daemon processing to establish said virtual interface between said group leader and said GL_group leader.
- 9. The dynamic method of claim 1, further comprising automatically responding to a failure at at least one computing node of at least one group of computing nodes of the distributed computing environment by repeating said establishing, selecting, forming and automatically creating to ensure reachability of multicast messages to all functional computing nodes of said distributed computing environment.
- 10. The dynamic method of claim 1, wherein said automatically creating comprises creating said virtual interface for multicast messaging between the group leader of the GL_group and at least one other group leader node within the GL13 group such that redundancy in routing of multicast messages is avoided within the distributed computing environment.
- 11. A processing method for a distributed computing environment having multiple networks of computing nodes employing multicast messaging, each network having at least one computing node, at least one computing node of said multiple networks of computing nodes functioning as a multicast routing node, said method comprising:
automatically responding to a failure at said at least one computing node functioning as said multicast routing node to reassign said multicast routing function; and wherein said automatically responding comprises dynamically reconfiguring said distributed computing environment to replace each failed multicast routing node of said at least one multicast routing node with another computing node of said multiple networks of computing nodes to maintain multicast message reachability to all functional computing nodes of said distributed computing environment.
- 12. The processing method of claim 11, wherein said at least one computing node functioning as said multicast routing node comprises multiple computing nodes functioning as multiple multicast routing nodes and said distributed computing environment comprises a plurality of groups of computing nodes, each group comprising one network of said multiple networks, and wherein each computing node functioning as multicast routing node comprises a group leader for multicast routing of a respective group of computing nodes, each group leader being coupled via a virtual interface to at least one other group leader of a group of computing nodes of the distributed computing environment, and wherein said automatically responding to said failure comprises automatically selecting a new group leader from functioning computing nodes of the respective group of computing nodes having said group leader failure.
- 13. The processing method of claim 12, wherein said dynamically reconfiguring comprises establishing a virtual interface from said new group leader to at least one other group leader within the distributed computing environment, said virtual interface comprising a multicast messaging tunnel between said group leaders, said multicast messaging tunnel being established using an mrouted daemon.
- 14. The processing method of claim 13, wherein said dynamically reconfiguring comprises ensuring only one computing node of each group of computing nodes is a group leader functioning as said multicast routing node for said group of computing nodes, thereby avoiding redundancy in routing of multicast messages between any two networks of computing nodes.
- 15. A system for ensuring multicast messaging within a distributed computing environment comprising:
multiple groups of computing nodes within the distributed computing environment; means for selecting one node of each group of computing nodes as a group leader node; means for forming a group of group leader nodes (GL13 group) and selecting a group leader of the GL13 group; and means for automatically creating a virtual interface for multicast messaging between the group leader node of the GL_group and at least one other group leader node within said GL13 group, thereby ensuring multicast routing between groups of nodes of the distributed computing environment.
- 16. The system of claim 15, wherein said means for automatically creating comprises means for automatically creating a tunnel from the group leader node of the GL13 group to each other group leader node within said GL13 group, thereby ensuring multicast message routing between each group of said multiple groups of computing nodes of said distributed computing environment.
- 17. The system of claim 15, wherein said means for establishing multiple groups of computing nodes comprises means disposed at each computing node for determining for each communication interface of said node a group identifier (groupID) from at least one of an IP address and a subnet mask for said communication interface.
- 18. The system of claim 17, wherein said means for determining said groupID comprises means for each communication interface for logically ANDing the IP address and the subnet mask to obtain a network identifier, and for using said network identifier as a group identifier in grouping said computing nodes within said distributed computing environment.
- 19. The system of claim 15, wherein said means for selecting one node of each group of computing nodes as said group leader node comprises means for obtaining a membership list of all member nodes to said group of computing nodes and for selecting as said group leader node a first successfully joined computing node to said group from said membership list.
- 20. The system of claim 15, wherein said means for selecting said group leader of said GL13 group comprises means for obtaining a membership list of said GL_group and for selecting as said group leader of said GL_group a first successfully joined group leader to said GL13 group from said membership list.
- 21. The system of claim 15, wherein said means for automatically creating comprises for each group leader within said GL13 group, means for determining whether said group leader is said GL13 group leader, and if so, for building a configuration file for mrouted tunneling from communication interfaces of said GL_group leader node to other group leaders in said GL13 group, and means for performing mrouted daemon processing to build virtual interfaces between said GL_group leader and said other group leaders in said GL_group.
- 22. The system of claim 15, further comprising means for automatically responding to a failure at at least one computing node of at least one group of computing nodes of the distributed computing environment by repeating said means for establishing, means for selecting, means for forming, and means for automatically creating to ensure reachability of multicast messages to all functional computing nodes of the distributed computing environment.
- 23. The system of claim 15, wherein said means for automatically creating comprises means for creating said virtual interface for multicast messaging between said group leader of the GL_group and at least one other group leader node within the GL13 group such that redundancy in routing of multicast messages is avoided within the distributed computing environment.
- 24. A processing system for a distributed computing environment, said processing system comprising:
multiple networks of computing nodes within the distributed computing environment, said multiple networks of computing nodes employing multicast messaging, with each network having at least one computing node, and at least one computing node of the multiple networks of computing nodes functioning as a multicast routing node; means for automatically responding to a failure at said at least one computing node functioning as said multicast routing node to reassign said multicast routing function, wherein said means for automatically responding comprises means for dynamically reconfiguring said distributed computing environment to replace each failed multicast routing node of said at least one multicast routing node within another computing node of said multiple networks of computing nodes to maintain reachability of multicast messages to all functional computing nodes of said distributed computing environment.
- 25. The system of claim 24, wherein said at least one computing node functioning as said multicast routing node comprises multiple computing nodes functioning as multiple multicast routing nodes and said distributed computing environment comprises a plurality of groups of computing nodes, each group comprising one network of said multiple networks, and wherein each computing node functioning as multicast routing node comprises a group leader for multicast routing of a respective group of computing nodes, each group leader being coupled via a virtual interface to at least one other group leader of a group of computing nodes of the distributed computing environment, and wherein said means for automatically responding to said failure comprises means for automatically selecting a new group leader from functioning computing nodes of the respective group of computing nodes when said failure comprises a group leader failure.
- 26. The system of claim 25, wherein said means for dynamically reconfiguring comprises means for establishing a virtual interface from said new group leader to at least one other group leader within the distributed computing environment, said virtual interface comprising a multicast messaging tunnel between said group leaders, said multicast messaging tunnel being established using an mrouted daemon.
- 27. The system of claim 26, wherein said means for dynamically reconfiguring comprises means for ensuring only one computing node of each group of computing nodes is a group leader functioning as said multicast routing node for said group of computing nodes, thereby avoiding redundancy in routing of multicast messages between any two networks of computing nodes.
- 28. An article of manufacture comprising:
a computer program product comprising a computer usable medium having computer readable program code means therein for use in ensuring multicast messaging within a distributed computing environment, said computer readable program code means in said computer program product comprising:
(i) computer readable program code means for causing a computer to effect establishing multiple groups of computing nodes within the distributed computing environment; (ii) computer readable program code means for causing a computer to effect selecting one node of each group of computing nodes as a group leader node; (iii) computer readable program code means for causing a computer to effect forming a group of group leader nodes (GL13 group) and selecting a group leader of the GL13 group; and (iv) computer readable program code means for causing a computer to effect automatically creating a virtual interface for multicast messaging between the group leader node of the GL13 group and at least one other group leader node within said GL13 group, thereby establishing multicast routing between groups of nodes of said distributed computing environment.
- 29. The article of manufacture of claim 28, wherein said computer readable program code means for causing a computer to effect automatically creating comprises computer readable program code means for causing a computer to effect automatically creating a tunnel from the group leader node of the GL13 group to each other group leader node within the GL_group, thereby ensuring multicast message routing between each group of said multiple groups of computing nodes of the distributed computing environment.
- 30. The article of manufacture of claim 28, wherein said computer readable program code means for causing a computer to effect automatically creating comprises computer readable program code means for causing a computer to effect creating said virtual interface for multicast messaging between the group leader of the GL13 group and at least one other group leader node within the GL_group such that redundancy in routing of multicast messages is avoided within the distributed computing environment.
- 31. The article of manufacture of claim 28, further comprising computer readable program code means for causing a computer to effect automatically responding to a failure at at least one computing node of at least one group of computing nodes of the distributed computing environment to ensure reachability of multicast messages to all functional computing nodes of said distributed computing environment.
- 32. An article of manufacture comprising:
a computer program product comprising a computer usable medium having computer readable program code means therein for maintaining multicast message reachability within a distributed computing environment having multiple networks of computing nodes employing multicast messaging, each network having at least one computing node, and at least one computing node of the multiple networks of computing nodes functioning as a multicast routing node, said computer readable program code means in said computer program product comprising:
(i) computer readable program code means for causing a computer to effect automatically responding to a failure at said at least one computing node functioning as said multicast routing node to reassign said multicast routing function; and (ii) wherein said computer readable program code means for causing a computer to effect automatically responding comprises computer readable program code means for causing a computer to effect dynamically reconfiguring said distributed computing environment to replace each failed multicast routing node of said at least one multicast routing node with another computing node of said multiple networks of computing nodes to maintain multicast message reachability to all functional computing nodes of said distributed computing environment.
- 33. The article of manufacture of claim 32, wherein said computer readable program code means for causing a computer to effect dynamically reconfiguring comprises computer readable program code means for causing a computer to effect ensuring only one computing node of each group of computing nodes functions as a multicast routing node for said group of computing nodes, thereby avoiding redundancy in routing of multicast messages between any two networks of computing nodes.
CROSS-REFERENCE TO RELATED APPLICATIONS/PATENTS
[0001] This application contains subject matter which is related to the subject matter of the following applications and patents. Each of the below-listed applications and patents is hereby incorporated herein by reference in its entirety:
[0002] U.S. Ser. No. 08/640,305, filed Apr. 30, 1996, entitled “An Application Programming Interface Unifying Multiple Mechanisms”, now abandoned in favor of continuation U.S. application Ser. No. 08/960,074, filed Nov. 24, 1997;
[0003] U.S. Ser. No. 08/641,445, filed Apr. 30, 1996, entitled “Utilizing Batch Request to Present Membership Changes to Process Groups”;
[0004] U.S. Pat. No. 5,805,786, issued Sep. 8, 1998, entitled “Recovery of a Name Server Managing Membership of a Domain of Processors in a Distributed Computing Environment”;
[0005] U.S. Pat. No. 5,799,146, issued Aug. 25, 1998, entitled “Communications System Involving Groups of Processors of a Distributed Computing Environment”;
[0006] U.S. Pat. No. 5,793,962, issued Aug. 11, 1998, entitled “System for Managing Membership of a Group of Processors in a Distributed Computing Environment”;
[0007] U.S. Pat. No. 5,790,788, issued Aug. 4, 1998, entitled “Managing Group Events by a Name Server for a Group of Processors in a Distributed Computing Environment”;
[0008] U.S. Pat. No. 5,790,772, issued Aug. 4, 1998, entitled “Communications Method Involving Groups of Processors of a Distributed Computing Environment”;
[0009] U.S. Pat. No. 5,787,250, issued Jul. 28, 1998, entitled “Program Product for Managing Membership of a Group of Processors in a Distributed Computing Environment”;
[0010] U.S. Pat. No. 5,787,249, issued Jul. 28, 1998, entitled “Method for Managing Membership of a Group of Processors in a Distributed Computing Environment”;
[0011] U.S. Pat. No. 5,768,538, issued Jun. 16, 1998, entitled “Barrier Synchronization Method Wherein Members Dynamic Voting Controls the Number of Synchronization Phases of Protocols and Progression to Each New Phase”;
[0012] U.S. Pat. No. 5,764,875, issued Jun. 9, 1998, entitled “Communications Program Product Involving Groups of Processors of a Distributed Computing Environment”;
[0013] U.S. Pat. No. 5,748,958, issued May 5, 1998, entitled “System for Utilizing Batch Requests to Present Membership Changes to Process Groups”;
[0014] U.S. Pat. No. 5,704,032, issued Dec. 30, 1997, entitled “Method for Group Leader Recovery in a Distributed Computing Environment”;
[0015] U.S. Pat. No. 5,699,501, issued Dec. 16, 1997, entitled “System for Group Leader Recovery in a Distributed Computing Environment”; and
[0016] U.S. Pat. No. 5,696,896, issued Dec. 9, 1997, entitled “Program Product for Group Leader Recovery in a Distributed Computing Environment”.