Distributing membership information for multi-party application layer sessions
First Claim
1. In a multi-party application layer session including at least an inviting computer system, the inviting computer system being network connectable to a joining computer system such that the joining computer system and inviting computer system can communicate by transferring electronic messages, a method for a joining side application layer process at the joining computer system to join the multi-party application layer session, the method comprising:
- an act of sending a hello message to the inviting computer system;
an act of receiving an inviting side link database from the inviting computer system, the inviting side link database including an inviting side link state record indicating that the inviting computer system is logically linked to the joining computer system;
an act of updating a joining side link database to at least indicate that the joining computer system is logically linked to the inviting computer system in response to receiving the inviting side link database; and
an act of sending an updated joining side link state record to the inviting computer system, the updated joining side link state record indicating that the joining computer system is logically linked to the inviting computer system.
2 Assignments
0 Petitions
Accused Products
Abstract
Membership information for participating computer systems participating in a multi-party conferencing session is distributed by intermittently exchanging link databases with one or more neighbor computer systems. A link database includes one or more link state records, each link state record identifying a participating computer systems and a list of neighbor computer systems that are logically linked to the participating computer system. When a new computer system joins or a participating computer system leaves the multi-party session this joining or leaving change is reflected in the link databases of corresponding neighbor computer systems. As the neighbor computer systems exchange link databases, the change is eventually propagated to all the participating computer systems. Accordingly, participant computer systems continually transition towards a steady state where each participant computer system is aware of other participant computer systems and logical links associated with other participant computer systems.
-
Citations
51 Claims
-
1. In a multi-party application layer session including at least an inviting computer system, the inviting computer system being network connectable to a joining computer system such that the joining computer system and inviting computer system can communicate by transferring electronic messages, a method for a joining side application layer process at the joining computer system to join the multi-party application layer session, the method comprising:
-
an act of sending a hello message to the inviting computer system;
an act of receiving an inviting side link database from the inviting computer system, the inviting side link database including an inviting side link state record indicating that the inviting computer system is logically linked to the joining computer system;
an act of updating a joining side link database to at least indicate that the joining computer system is logically linked to the inviting computer system in response to receiving the inviting side link database; and
an act of sending an updated joining side link state record to the inviting computer system, the updated joining side link state record indicating that the joining computer system is logically linked to the inviting computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. In a multi-party application layer session including at least an inviting computer system, the inviting computer system being network connectable to a joining computer system such that the joining computer system and inviting computer system can communicate by transferring electronic messages, a method for an inviting side application layer process at the inviting computer system to invite the joining computer system to join the multi-party application layer session, the method comprising:
-
an act of receiving a hello message from the joining computer system;
an act of updating an inviting side link database to indicate the inviting computer system is logically linked to the joining computer system in response to receiving the hello message;
an act of sending the updated inviting side link database to the joining computer system, the updated inviting side link database including at least an inviting side link state record indicating that the inviting computer system is logically linked to the joining computer system; and
an act of receiving a joining side link state record from the joining computer system, the joining side link state record indicating that the joining computer system is logically linked to the inviting computer system. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. In a multi-party application layer session having a plurality of network connectable participant computer systems including a repairing computer system and a neighbor computer system, the neighbor computer system being in a neighbor list for the repairing computer system, a method for an application layer process at the repairing computer system to initiate a repair of the multi-party application layer session, the method comprising:
-
an act of detecting that link data is no longer being received from the neighbor computer system;
an act of removing the neighbor computer system from the repairing computer system'"'"'s neighbor list;
an act of removing the neighbor computer system'"'"'s link state record from a repair side link database;
an act of identifying a list of logically unreachable participant computer systems based on remaining link state records in the repair side link database; and
an act of attempting to join at least one logically unreachable participant computer so as to repair the multi-party session. - View Dependent Claims (33, 34, 35, 36, 37)
-
-
38. A computer program product for use in a multi-party application layer session including at least an inviting computer system, the inviting computer system being network connectable to a joining computer system such that the joining computer system and inviting computer system can communicate by transferring electronic messages, the computer program product for implementing a method for a joining side application layer process at the joining computer system to join the multi-party application layer session, the computer program product comprising one or more computer-readable media having stored thereon computer executable instructions that, when executed by a processor, cause the joining computer system to perform the following:
-
send a hello message to the inviting computer system;
receive an inviting side link database from the inviting computer system, the inviting side link database including an inviting side link state record indicating that the inviting computer system is logically linked to the joining computer system;
update a joining side link database to at least indicate that the joining computer system is logically linked to the inviting computer system in response to receiving the inviting side link database; and
send an updated joining side link state record to the inviting computer system, the updated joining side link state record indicating that the joining computer system is logically linked to the inviting computer system. - View Dependent Claims (39)
-
-
40. A computer program product for use in a multi-party application layer session including at least an inviting computer system, the inviting computer system being network connectable to a joining computer system such that the joining computer system and inviting computer system can communicate by transferring electronic messages, the computer program product for implementing a method for an inviting side application layer process at the inviting computer system to invite the joining computer system to join the multi-party application layer session, the computer program product comprising one or more computer-readable media having stored thereon computer executable instructions that, when executed by a processor, cause the joining computer system to perform the following:
-
receive a hello message from the joining computer system;
update an inviting side link database to indicate the inviting computer system is logically linked to the joining computer system in response to receiving the hello message;
send the updated inviting side link database to the joining computer system, the updated inviting side link database including at least an inviting side link state record indicating that the inviting computer system is logically linked to the joining computer system; and
receive a joining side link state record from the joining computer system, the joining side link state record indicating that the joining computer system is logically linked to the inviting computer system. - View Dependent Claims (41)
-
-
42. A computer program product for use in a multi-party application layer session having a plurality of network connectable participant computer systems including a repairing computer system and a neighbor computer system, the neighbor computer system being in a neighbor list for the repairing computer system, the computer program product for implementing a method for an application layer process at the repairing computer system to initiate a repair of the multi-party application layer session, the computer program product comprising one or more computer-readable media having stored thereon computer executable instructions that, when executed by a processor, cause the joining computer system to perform the following:
-
detect that link data is no longer being received from the neighbor computer system;
remove the neighbor computer system from the repairing computer system'"'"'s neighbor list;
remove the neighbor computer system'"'"'s link state record from a repair side link database;
identify a list of logically unreachable participant computer systems based on w the remaining link state records contained in the repair side link database; and
attempt to join at least one logically unreachable participant computer so as to repair the multi-party session. - View Dependent Claims (43)
-
-
44. One or more computer-readable media having stored thereon a data structure for representing a link state record, the data structure comprising the following:
-
a computer system identifier field representing a computer system identifier for identifying a participating computer system participating in a multi-party application layer session; and
a neighbor list field representing a list of one or more neighbor computer systems that are logically linked to the participating computer system identified in the computer system identifier field. - View Dependent Claims (45, 46, 47)
-
-
48. One or more computer-readable media having stored thereon a data structure for representing a link database, the data structure comprising the following:
-
a computer system identifier field representing a computer system identifier for identifying a participating computer system that that sent the link state database, the participating computer system participating in a multi-party application layer session;
a reply interval field representing a reply interval value, the reply interval value being used as the basis for a reply threshold that indicates how long the participating computer system represented in the computer system identifier field will wait for a response to sending the link database before detecting that link data is no longer being received from a neighbor computer system; and
a link state record field representing one or more link state records for other participating computer systems participating in the multi-party application layer session along with the computer system represented in the computer system identifier field.
-
-
49. One or more computer-readable media having stored thereon a data structure representing a schema that defines a format for transferring link data from a link database, the data structure comprising:
-
a from field defining a format for identifying a computer system that is to transfer link data from a link database;
an interval field defining a format for representing a reply interval that is used as a basis for a reply threshold, the reply threshold indicating how long a computer system, identified in accordance with the identification format defined in the from field, is to wait for a response to sending link data before detecting that link data is no longer being received from a neighbor computer system; and
a node type field defining a format for representing one or more computer systems having link data that will be transferred by a computer system identified in accordance with the identification format defined in the from field. - View Dependent Claims (50, 51)
-
Specification