Extensible information distribution mechanism for session management
First Claim
1. A session manager that executes in a computer system in which an endpoint of a conference is executing, the conference being made up of endpoints connected by a network, the endpoint including endpoint conference state for the conference, and the session manager comprising:
- session manager conference state including a distributed locking mechanism associated with the conference, an interface to the endpoint, and an interface to the network, the endpoint providing any portion of the endpoint conference state which the endpoint has altered to the session manager via the interface to the endpoint, the session manager responding thereto by sending the altered portion via the interface to the network to other session managers for the other endpoints when the locking mechanism associated with the endpoint'"'"'s conference indicates that the other session managers are ready to receive the altered portion, and responding to receipt of an altered portion from another session manager in the network interface by providing the received altered portion to the endpoint for the conference via the endpoint interface for incorporation into the endpoint'"'"'s endpoint conference state.
2 Assignments
0 Petitions
Accused Products
Abstract
A technique for managing conference state. Endpoints of the conference are application processes (1803) running on computer systems that are connected by a WAN (1811). Each of the application processes (1803) maintains endpoint state for the conference. A session manager process (1812) in each of the computer systems maintains session manager state for each of the conferences that has an endpoint on the computer system. The session manager conference state includes a copy of the endpoint state for each of the conferences and the session manager (21) uses a locking mechanism to that the copies of the session manager conference state in all of the session managers (21) are identical. When an endpoint changes its endpoint state, it informs the session manager (21), the session manager (21) incorporates the change into its session manager conference state, and when the locking mechanism permits, exports the change to the session managers (21) for all the other endpoints. When the session manager (21) receives a change, it incorporates the change into its session manager conference state.
-
Citations
17 Claims
-
1. A session manager that executes in a computer system in which an endpoint of a conference is executing, the conference being made up of endpoints connected by a network, the endpoint including endpoint conference state for the conference, and the session manager comprising:
-
session manager conference state including a distributed locking mechanism associated with the conference, an interface to the endpoint, and an interface to the network, the endpoint providing any portion of the endpoint conference state which the endpoint has altered to the session manager via the interface to the endpoint, the session manager responding thereto by sending the altered portion via the interface to the network to other session managers for the other endpoints when the locking mechanism associated with the endpoint'"'"'s conference indicates that the other session managers are ready to receive the altered portion, and responding to receipt of an altered portion from another session manager in the network interface by providing the received altered portion to the endpoint for the conference via the endpoint interface for incorporation into the endpoint'"'"'s endpoint conference state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
the session manager conference state further includes a copy of the endpoint conference state and the session manager incorporates any changes in the endpoint conference state into the copy thereof in the session manager conference state.
-
-
3. The session manager set forth in claim 2 wherein:
-
the endpoint conference state has a hierarchy; and
the copy of the endpoint conference state in the session manager conference state retains the hierarchy.
-
-
4. The session manager set forth in claim 3 wherein:
the session manager conference state has a hierarchy and the copy in the session manager conference state is included in that hierarchy.
-
5. The session manager set forth in claim 4 wherein:
the hierarchy in the session manager conference state has a representation which remains valid when the session manager conference state is sent to a different computer system.
-
6. The session manager set forth in claim 4 wherein:
the hierarchy is an acyclic directed graph.
-
7. The session manager set forth in claim 2 wherein:
-
an endpoint may become an endpoint for a preexisting conference;
the endpoint employs the endpoint interface to specify a location of a copy of the preexisting conference'"'"'s session manager conference state to the session manager;
the session manager responds thereto by using the network interface to obtain the copy from the location, incorporating the copy into the session manager conference state, and providing the endpoint conference state in the copy to the endpoint via the endpoint interface.
-
-
8. The session manager set forth in claim 2 wherein:
-
an endpoint may establish new endpoint conference state for a new conference and provide the new endpoint state to the session manager;
the session manager responds to the new endpoint state by making new session manager conference state and incorporating the new endpoint state therein; and
the session manager responds to a request from another session manager for the new session manager conference state by providing the new session manager conference state to the other session manager via the network interface.
-
-
9. The session manager set forth in any of claims 2 through 8 wherein:
-
the copy of the endpoint conference state has a representation which is different from the representation thereof in the endpoint; and
the session manager includes a translator which translates any portion of the endpoint conference state which the endpoint provides to the session manager from the representation thereof in the endpoint conference state into the different representation thereof in the session manager conference state and any portion of the endpoint conference state which the session manager provides to the endpoint from the different representation into the representation thereof in the endpoint conference state.
-
-
10. The session manager set forth in claim 9 wherein:
the translator executes in the endpoint.
-
11. The session manager set forth in claim 10 wherein:
the different representation is XML and the translator translates between XML and the representation in the endpoint conference state according to a DTD that is particular to the endpoint.
-
12. The session manager set forth in claim 9 wherein:
the session manager provides any information that is included in the session manager conference state to the network in the representation used in the session manager conference state.
-
13. The session manager set forth in claim 1 wherein:
-
there are endpoints for a plurality of conference executing in the computer system, each endpoint having endpoint conference state, the session manager further comprises session manager conference state for each of the plurality of conferences, each of the locking mechanisms therein being associated with a conference of the plurality thereof, and any of the plurality of endpoints that has altered its endpoint conference state provides the altered portion thereof via the endpoint interface to the session manager, the session manager responding thereto by sending the altered portion via the network interface to other session managers for the conference to which the endpoint that has altered its conference state belongs when the locking mechanism associated with the conference indicates that the other session managers are ready to receive the altered portion, and responding to receipt of an altered portion via the network interface for any of the plurality of conferences from another session manager by providing the received altered portion via the endpoint interface to the endpoint for that conference for incorporation into that endpoint'"'"'s endpoint state.
-
-
14. The session manager set forth in claim 13 wherein:
the session manager comprises session manager conference state only for those conferences which currently have endpoints executing in the computer system.
-
15. The session manager set forth in claim 13 wherein:
-
the session manager conference state for each conference further includes a copy of the endpoint conference state for the conference'"'"'s endpoint and the session manager incorporates any changes in the endpoint conference state into the copy thereof in the session manager conference state.
-
-
16. The session manager set forth in claim 15 wherein:
-
the endpoint conference state has a hierarchy; and
the copy of the endpoint conference state in the session manager conference state retains the hierarchy.
-
-
17. The session manager set forth in claim 16 wherein:
-
a portion of an endpoint'"'"'s conference state may be shared by a plurality of the conferences; and
the session manager alters the copy of the shared portion only when the locking mechanism associated with each of the plurality of conferences indicates that the other session managers for that conference are ready to receive the altered portion.
-
Specification