Fault tolerant server architecture for collaborative computing
First Claim
1. A method of distributed collaborative computing comprising:
- partitioning a collaboration function into sub-functions;
assigning at least one said sub-function to each of a plurality of logical processes;
associating a respective management process with each of said plurality of logical processes, said logical processes configured so that each said logical process is capable of communicating with every other said logical process thru said respective management process;
communicating between said logical processes using said respective management processes; and
monitoring said respective management processes with a single supervisor process;
discovering the presence of each other said management process using a communications module in each respective management process;
wherein each said management process further comprises a transaction server.
3 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
16 Claims
-
1. A method of distributed collaborative computing comprising:
-
partitioning a collaboration function into sub-functions;
assigning at least one said sub-function to each of a plurality of logical processes;
associating a respective management process with each of said plurality of logical processes, said logical processes configured so that each said logical process is capable of communicating with every other said logical process thru said respective management process;
communicating between said logical processes using said respective management processes; and
monitoring said respective management processes with a single supervisor process;
discovering the presence of each other said management process using a communications module in each respective management process;
wherein each said management process further comprises a transaction server. - View Dependent Claims (2, 3, 4)
-
-
5. A computer program for use in distributed collaborative computing, comprising computer instructions for:
-
partitioning a collaboration function into sub-functions;
assigning at least one said sub-function to each of a plurality of logical processes;
associating a respective management process with each of said plurality of logical processes, said logical processes configured so that each said logical process is capable of communicating with every other said logical process thru said respective management process;
communicating between said logical processes using said respective management processes; and
monitoring said respective management processes with a single supervisor process;
discovering the presence of each other said management process using a communications module in each respective management process;
wherein each said management process further comprises a transaction server. - View Dependent Claims (6, 7, 8)
-
-
9. A computer-readable medium storing a computer program executable by a plurality of server computers, the computer program comprising computer instructions for:
-
partitioning a collaboration function into sub-functions;
assigning at least one said sub-function to each of a plurality of logical processes;
associating a respective management process with each of said plurality of logical processes, said logical processes configured so that each said logical process is capable of communicating with every other said logical process thru said respective management process;
communicating between said logical processes using said respective management processes; and
monitoring said respective management processes with a single supervisor process;
discovering the presence of each other said management process using a communications module in each respective management process;
wherein each said management process further comprises a transaction server. - View Dependent Claims (10, 11, 12)
-
-
13. A computer data signal embodied in a carrier wave, comprising computer instructions for:
-
partitioning a collaboration function into sub-functions;
assigning at least one said sub-function to each of a plurality of logical processes;
associating a respective management process with each of said plurality of logical processes, said logical processes configured so that each said logical process is capable of communicating with every other said logical process thru said respective management process;
communicating between said logical processes using said respective management processes; and
monitoring said respective management processes with a single supervisor process;
discovering the presence of each other said management process using a communications module in each respective management process;
wherein each said management process further comprises a transaction server. - View Dependent Claims (14, 15, 16)
-
Specification