Ordered sub-group messaging in a group communications system

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06490586

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to distributed computing systems, and specifically to management of communications among computing entities in distributed computing applications.
BACKGROUND OF THE INVENTION
Computer clusters are widely used to enable high availability of computing resources, coupled with the possibility of horizontal growth, at reduced cost by comparison with collections of independent systems. Clustering is also useful in disaster recovery. A wide range of clustering solutions are currently available, including 390 Sysplex, RS/6000 SP, HACMP, PC Netfinity and AS/400 Cluster, all offered by IBM Corporation, as well as Tandem Himalaya, Hewlett-Packard Mission Critical Server, Compaq TruCluster, Microsoft MSCS, NCR LifeKeeper and Sun Microsystems Project Cascade. An AS/400 Cluster, for example, supports up to 128 computing nodes, connected via any Internet Protocol (IP) network. A developer of a software application can define and use groups of physical computing entities (such as computing nodes or other devices) or logical computing entities (such as files or processes) to run the application within the cluster environment. In the context of the present patent application and in the claims, such entities are also referred to as group members.
Distributed group communication systems (GCSs) enable applications to exchange messages reliably within a group of entities in a cluster. For example, the OS/400 operating system kernel for the above-mentioned S/400 Cluster includes a GCS in the form of middleware for use by cluster applications. This GCS is described in an article by Goft et al., entitled “The AS/400 Cluster Engine: A Case Study,” presented at the International Group Communications Conference IGCC 99 (Aizu, Japan, 1999), which is incorporated herein by reference. The GCS allows messages to be multicast to all of the members of a group and assigns a uniform ordering to all of the broadcast messages. Failure to deliver a multicast message to one or more of the members, or even delivery out of order, can cause failures and bugs in software applications running in the cluster. To avoid such problems, the GCS ensures that if a multicast message is delivered to one of the group members, it will also be delivered to all other live and connected members of the group in the same order.
Other Group Communication Systems share this feature of uniform ordering of multicast messages among the group members. One example is “Ensemble,” a GCS that was developed at Cornell University, as were its predecessors “ISIS” and “Horus.” Ensemble is described in the “Ensemble Reference Manual,” by Hayden (Cornell University, 1997), which is incorporated herein by reference. Another example is the IBM Phoenix system, described in U.S. Pat. No. 5,748,958, whose disclosure is likewise incorporated herein by reference.
Some of the names mentioned herein are trademarks of their respective owners.
SUMMARY OF THE INVENTION
It is an object of some aspects of the present invention to provide methods for convenient and reliable distribution of messages to sub-groups in a group computing environment.
It is a further object of some aspects of the present invention to provide GCS middleware offering ordered sub-group messaging capability.
In preferred embodiments of the present invention, a group communication system (GCS) for use in a group of computing entities allows a software application to define sub-groups that contain subsets of the members of the group. The GCS enables the application not only to convey multicast messages to all of the members of the group, but also to distribute sub-group messages to and among the sub-group members in a manner analogous to the distribution of the full-group multicast messages. The sub-group messages are uniformly ordered with respect to one another and to the full-group multicast messages.
The present invention thus overcomes a limitation of group communication systems known in the art, such as the above-mentioned AS/400 Cluster Engine and Ensemble, which enable developers of group computing applications to define multicast and point-to-point messages, but have no mechanism for handling sub-group messaging. In these existing systems, sub-group messages may be sent as multicast messages to all of the group members, but this method is wasteful of computing resources. Alternatively, point-to-point messages may be sent to all of the members who are identified as belonging to a given sub-group, but managing these messages at the application level is complicated and prone to error, particularly in terms of maintaining correct message ordering. Although it is theoretically also possible to define each sub-group as a new group, with its own message ordering, this solution raises the even more difficult problem of guaranteeing relative ordering between the messages in the new group and the original, larger group.
In some preferred embodiments of the present invention, the GCS is provided to the software application developer as a middleware package. The package preferably includes an application program interface (API), which enables sub-group messages to be defined simply and conveniently. Messages to be conveyed by the software application between group members are processed by a GCS protocol layer. This GCS layer interacts with lower network communication layers linking the members, such as IP (Internet Protocol) and UDP (User Datagram Protocol) layers, and assigns a uniform ordering to all multicast messages.
The GCS layer also includes a filter layer (or sub-layer), which receives a target list of sub-group members who are to receive each sub-group message and inserts an identification of the target sub-group in the message. Such sub-group messages are transmitted by the GCS using its normal, ordered multicast mechanism. When the sub-ground message reaches each of the members, the respective filter layer passes the message on to the member for processing only if the member is on the target list inserted in the message. In this manner, proper message ordering is maintained, both within the sub-group and with respect to general multicast messages. Meanwhile, the members who are not sub-group members, and are therefore not required to take any action on the sub-ground messages, are relieved of the overhead of processing them.
Although preferred embodiments described herein are based on a GCS, it will be appreciated that the principles of the present invention may similarly be implemented in substantially any distributed computing environment in which there is a mechanism for ordered conveyance of multicast messages in a computing group or cluster.
There is therefore provided, in accordance with a preferred embodiment of the present invention, a method for distributing messages among a group of member computing entities, which are mutually-linked in a distributed computing system and communicate in accordance with a communication protocol that delivers a sequence of full-group multicast messages to all of the members in the group in an order that is uniform among all of the members, the method including:
defining a sub-group from among the members in the group; and
distributing a sub-group message to the members in the sub-group, such that the sub-group message is delivered to all of the sub-group members in a uniform position with respect to the order of the full-group multicast messages.
Preferably, the communication protocol includes group communication system middleware, to which the members of the group convey the full-group multicast messages to be delivered, and which assigns the uniform order to the full-group multicast messages.
Further preferably, distributing the sub-group message includes adding an identification of the sub-group to a corresponding one of the full-group multicast messages conveyed to the group communication system for delivery to all of the members of the group, and including filtering the corresponding full-group multicast message upon delivery to the members responsive to the identification of t

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Ordered sub-group messaging in a group communications system does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Ordered sub-group messaging in a group communications system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Ordered sub-group messaging in a group communications system will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2964188

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.