EP1562351A2

Distributing membership information for multi-party application layer sessions

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.

EP1562351A2, drawing sheet 1
Sheet 1 of 14

Term

Term ended

Projected expiry passed 15 April 2024, 2.4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

16 claims: 9 independent, 7 dependent

  1. 1
    A method 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.
  2. 4
    The method recited in claim 1, wherein the act of identifying a list of logically unreachable participant computer systems based on link state records in the repair side link database comprises an act of identifying a participant computer system that is not reachable through any combination of links included in the repairing side link database.
  3. 7
    A computer program product for use in a 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 processor to perform the method of one of claims 1 to 6.
  4. 9
    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.
  5. 10
    The one or more computer-readable media having stored thereon a data structure representing a link state record in accordance with claim 9, wherein the neighbor list field is comprised of:one or more neighbor computer system identifier fields, each neighbor computer system identifier field representing a neighbor computer system identifier for identifying a neighbor computer system that is logically linked to the participating computer system represented in the computer system identifier field.
  6. 11
    The one or more computer-readable media having stored thereon a data structure representing a link state record in accordance with claim 9, the data structure further comprising:a computer system metadata field representing metadata used to describe the participating computer system represented in the computer system identifier field.
  7. 12
    The one or more computer-readable media having stored thereon a data structure representing a link state record in accordance with claim 9, the data structure further comprising:a timestamp field representing a time the participating computer system represented in the computer system identifier field generated the data structure representing the link state record.
  8. 13
    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.
  9. 14
    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.