US2003167418A1PendingUtilityA1

Fault-tolerant server for collaborative computing

Priority: Dec 29, 2000Filed: Dec 29, 2000Published: Sep 4, 2003
Est. expiryDec 29, 2020(expired)· nominal 20-yr term from priority
Inventors:Min ZhuBin Zhao
H04L 69/40H04L 67/1008H04L 67/1001H04L 67/1012H04L 67/1029H04L 67/1031H04L 1/22
44
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
We 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;    wherein said monitoring further comprises re-creating one or more said logical processes in response to detecting a failure of one or more said logical processes.    
     
     
         2 . The method of  claim 1 , said detecting further comprising: 
 monitoring a message stream to determine a responsiveness of said logical process; and    if said responsiveness ceases, signaling said failure to said single supervisor process.    
     
     
         3 . The method of  claim 1 , said re-creating further comprising: 
 spawning a new logical process;    assigning to said new logical process said at least one sub-function corresponding to said failed logical process;    recovering the state of said failed logical process into said new logical process; and    associating a new management process with said new logical process.    
     
     
         4 . The method of  claim 1 , said re-creating further comprising: 
 activating a stand-by logical process, said stand-by process having been instantiated prior to said detecting;    assigning to said stand-by logical process said at least one sub-function corresponding to said failed logical process;    recovering the state of said failed logical process into said new logical process;    associating a new management process with said stand-by logical process; and    spawning a new stand-by logical process.    
     
     
         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;    wherein said monitoring further comprises re-creating one or more said logical processes in response to detecting a failure of one or more said logical processes.    
     
     
         6 . The computer program of  claim 5 , said detecting further comprising: 
 monitoring a message stream to determine a responsiveness of said logical process; and    if said responsiveness ceases, signaling said failure to said single supervisor process.    
     
     
         7 . The computer program of  claim 5 , said re-creating further comprising: 
 spawning a new logical process;    assigning to said new logical process said at least one sub-function corresponding to said failed logical process;    recovering the state of said failed logical process into said new logical process; and    associating a new management process with said new logical process.    
     
     
         8 . The computer program of  claim 5 , said re-creating further comprising: 
 activating a stand-by logical process, said stand-by process having been instantiated prior to said detecting;    assigning to said stand-by logical process said at least one sub-function corresponding to said failed logical process;    recovering the state of said failed logical process into said new logical process;    associating a new management process with said stand-by logical process; and    spawning a new stand-by logical process.    
     
     
         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;    wherein said monitoring further comprises re-creating one or more said logical processes in response to detecting a failure of one or more said logical processes.    
     
     
         10 . The computer-readable medium of  claim 9 , said detecting further comprising: 
 monitoring a message stream to determine a responsiveness of said logical process; and    if said responsiveness ceases, signaling said failure to said single supervisor process.    
     
     
         11 . The computer-readable medium of  claim 9 , said re-creating further comprising: 
 spawning a new logical process;    assigning to said new logical process said at least one sub-function corresponding to said failed logical process;    recovering the state of said failed logical process into said new logical process; and    associating a new management process with said new logical process.    
     
     
         12 . The computer-readable medium of  claim 9 , said re-creating further comprising: 
 activating a stand-by logical process, said stand-by process having been instantiated prior to said detecting;    assigning to said stand-by logical process said at least one sub-function corresponding to said failed logical process;    recovering the state of said failed logical process into said new logical process;    associating a new management process with said stand-by logical process; and    spawning a new stand-by logical process.    
     
     
         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;    wherein said monitoring further comprises re-creating one or more said logical processes in response to detecting a failure of one or more said logical processes.    
     
     
         14 . The computer data signal of  claim 13 , said detecting further comprising: 
 monitoring a message stream to determine a responsiveness of said logical process; and    if said responsiveness ceases, signaling said failure to said single supervisor process.    
     
     
         15 . The computer data signal of  claim 13 , said re-creating further comprising: 
 spawning a new logical process;    assigning to said new logical process said at least one sub-function corresponding to said failed logical process;    recovering the state of said failed logical process into said new logical process; and    associating a new management process with said new logical process.    
     
     
         16 . The computer data signal of  claim 13 , said re-creating further comprising: 
 activating a stand-by logical process, said stand-by process having been instantiated prior to said detecting;    assigning to said stand-by logical process said at least one sub-function corresponding to said failed logical process;    recovering the state of said failed logical process into said new logical process;    associating a new management process with said stand-by logical process; and    spawning a new stand-by logical process.

Join the waitlist — get patent alerts

Track US2003167418A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.