Distributed server for real-time collaboration
First Claim
1. A method that improves the scaleability of real-time collaboration by providing distributed servers as a substitute for centralized servers used in real-time collaboration, each distributed server providing a functionality that is equivalent to a basic functionality provided by a centralized server, the method comprising the steps of:
- building a distributed server that is applicable and specific to a real-time collaboration session and that includes two or more, independently-communicating, asynchronous, independent software processes that can be run simultaneously on one or more, heterogeneous or homogeneous, interconnected computers and/or computing elements; and
providing for each said real-time collaboration session and associated distributed server an unchanging disjoint partitioning of said collaboration session'"'"'s complete shared work space where one or more disjoint partitions together at any time cover the entire work space and are available at all times during said collaboration session, with no partition being created and/or deleted during said collaboration session, and at least one client that actively or passively participates in said collaboration session, wherein each said client that participates in said collaboration session does so for the entire duration.
4 Assignments
0 Petitions
Accused Products
Abstract
A distributed server for real-time collaboration is substituted for a centralized server to address the problem of the development of unacceptable communication and computation bottlenecks resulting from the use of a one-software-process-based centralized server running somewhere on the available network. The substitute distributed server improves scaleability of real-time collaboration by being based on multiple, independently-communicating, asynchronous, independent (i.e., no shared memory, data, variables, etc.) software processes. The processes can be distributed to multiple machines throughout the network and run simultaneously in order to avoid the centralized server'"'"'s bottlenecks. To be used, a distributed server requires a disjoint, fully covering partitioning of a work space, wherein it can handle partition hierarchies and groups comprehensively. The distributed server solution is general because of the ability of distributed servers to work with different definitions of a modification. The distributed server solution is extensible because of its simple and comprehensive treatment of inter-partition synchronization.
212 Citations
15 Claims
-
1. A method that improves the scaleability of real-time collaboration by providing distributed servers as a substitute for centralized servers used in real-time collaboration, each distributed server providing a functionality that is equivalent to a basic functionality provided by a centralized server, the method comprising the steps of:
-
building a distributed server that is applicable and specific to a real-time collaboration session and that includes two or more, independently-communicating, asynchronous, independent software processes that can be run simultaneously on one or more, heterogeneous or homogeneous, interconnected computers and/or computing elements; and
providing for each said real-time collaboration session and associated distributed server an unchanging disjoint partitioning of said collaboration session'"'"'s complete shared work space where one or more disjoint partitions together at any time cover the entire work space and are available at all times during said collaboration session, with no partition being created and/or deleted during said collaboration session, and at least one client that actively or passively participates in said collaboration session, wherein each said client that participates in said collaboration session does so for the entire duration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
Specification