Fault-tolerant server for collaborative computing
First Claim
1. A method of distributed collaborative computing comprising:
- partitioning a collaborative function into a plurality of sub-functions;
assigning at least one of the plurality of sub-functions to each of a plurality of collaboration servers;
associating a zone manager with each of the plurality of collaboration servers and a zone manager with a meeting manager;
communicating state information for each of the plurality of collaboration servers to the meeting manager, wherein the step of communicating state information comprises communicating the state information for each of the plurality of collaboration servers from the respective zone manager to the zone manager of the meeting manager;
monitoring the plurality of collaboration servers for failures;
launching, upon detecting failure of one of the plurality of collaboration servers, a replacement collaboration server; and
recovering the state information for the failed collaboration server from the meeting manager into the replacement collaboration server.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed collaborative computer system is provided that comprises a plurality of server computers interconnected via a high-speed link. Client computers can connect to any available server computer and start or join a conference hosted on either the server computer to which the client computer is connected or any other server in the system. As a result, the system and method of the present invention is easily scalable to support an arbitrary number of participants to a conference by merely adding the appropriate number of server computers to the system. In addition, by replicating the conference information on more than one server computer, the single point of failure limitation is eliminated. In fact, if a server hosting or participating in a conference malfunctions, the failure is detected by other server computers and the client computer is able to reconnect to the conference through a new server computer.
-
Citations
22 Claims
-
1. A method of distributed collaborative computing comprising:
-
partitioning a collaborative function into a plurality of sub-functions; assigning at least one of the plurality of sub-functions to each of a plurality of collaboration servers; associating a zone manager with each of the plurality of collaboration servers and a zone manager with a meeting manager; communicating state information for each of the plurality of collaboration servers to the meeting manager, wherein the step of communicating state information comprises communicating the state information for each of the plurality of collaboration servers from the respective zone manager to the zone manager of the meeting manager; monitoring the plurality of collaboration servers for failures; launching, upon detecting failure of one of the plurality of collaboration servers, a replacement collaboration server; and recovering the state information for the failed collaboration server from the meeting manager into the replacement collaboration server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of distributed collaborative computing comprising:
-
partitioning a collaborative function into a plurality of sub-functions; assigning at least one of the plurality of sub-functions to each of a plurality of collaboration servers; communicating state information for each of the plurality of collaboration servers to a meeting manager; monitoring the plurality of collaboration servers for failures; launching a plurality of application servers; monitoring the plurality of application servers for failures; launching, upon detecting failure of one of the plurality of collaboration servers, a replacement collaboration server; recovering the state information for the failed collaboration server from the meeting manager into the replacement collaboration server; and upon detecting failure of one of the plurality of application servers, launching a replacement application server. - View Dependent Claims (10, 11, 12, 13)
-
-
14. Software encoded in one or more computer-readable media and when executed operable to:
-
partition a collaborative function into a plurality of sub-functions; assign at least one of the plurality of sub-functions to each of a plurality of collaboration servers; communicate state information for each of the plurality of collaboration servers to a meeting manager; monitor the plurality of collaboration servers for failures; launch a plurality of application servers; monitor the plurality of application servers for failures; launch a replacement collaboration server upon detecting a failure of one of the plurality of collaboration servers; recover the state information for the failed collaboration server from the meeting manager into the replacement collaboration server; and launch a replacement application server upon detecting a failure of one of the plurality of application servers. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. An apparatus comprising:
-
means for partitioning a collaborative function into a plurality of sub-functions; means for assigning at least one of the plurality of sub-functions to each of a plurality of collaboration servers; means for associating a zone manager with each of the plurality of collaboration servers; means for associating a zone manager with a meeting manager; means for communicating state information for each of the plurality of collaboration servers to the meeting manager, wherein the means for communicating state information comprise means for communicating the state information for each of the plurality of collaboration servers from the respective zone manager to the zone manager of the meeting manager; means for monitoring the plurality of collaboration servers for failures; means for launching a replacement collaboration server upon detecting a failure of one of the plurality of collaboration servers; and means for recovering the state information for the failed collaboration server from the meeting manager into the replacement collaboration server. - View Dependent Claims (22)
-
Specification