Distributed shared persistent objects
First Claim
Patent Images
1. A computer implemented method comprising:
- receiving a modification request for a shared object from a client at an edge server from among multiple edge servers of a distributed computing environment having a central server in communication with said multiple edge servers, said modification request including a shared object modification and a client version identifier for said shared object;
comparing, by said edge server, the client version identifier for said shared object assigned by said client against an edge version identifier for said shared object;
forwarding said modification request from said edge server to the central server responsive to said comparing resulting in the edge version identifier for said shared object matching the client version identifier for said shared object;
comparing, by the central server, the client version identifier for said shared object against a central version identifier for said shared object;
accepting, by the central server, said modification request when said comparing against the central version identifier for said shared object results in the central version identifier for said shared object matching the client version identifier for said shared object;
transmitting, by the central server, an acknowledgement of said accepting to said edge server that forwarded the client'"'"'s modification request;
transmitting by the central server, (i) the shared object modification and (ii) the client version identifier for said shared object to one or more other edge servers from the multiple edge servers different from said edge server that forwarded the client'"'"'s modification request;
receiving the acknowledgement from said central server by said edge server that forwarded the client'"'"'s modification request;
transmitting, by said edge server responsive to said receiving the acknowledgment, (i) the shared object modification and (ii) the client version identifier for said shared object to one or more other clients connected to said edge server different from said client that issued the modification request; and
notifying said client by said edge server of said receiving the acknowledgment.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method are described for managing a shared object in a distributed collaboration environment. The distributed collaboration environment is composed of at least one edge server in communication with a central server. When a client desires to modify the shared object, it issues an object modification request to the edge server it is connected to. The edge server compares the version identifier of the client shared object against the version identifier of the edge shared object. If the versions do not match, the edge server rejects the modification. Otherwise, it will forward the modification request to the central server for further consideration.
65 Citations
18 Claims
-
1. A computer implemented method comprising:
-
receiving a modification request for a shared object from a client at an edge server from among multiple edge servers of a distributed computing environment having a central server in communication with said multiple edge servers, said modification request including a shared object modification and a client version identifier for said shared object; comparing, by said edge server, the client version identifier for said shared object assigned by said client against an edge version identifier for said shared object; forwarding said modification request from said edge server to the central server responsive to said comparing resulting in the edge version identifier for said shared object matching the client version identifier for said shared object; comparing, by the central server, the client version identifier for said shared object against a central version identifier for said shared object; accepting, by the central server, said modification request when said comparing against the central version identifier for said shared object results in the central version identifier for said shared object matching the client version identifier for said shared object; transmitting, by the central server, an acknowledgement of said accepting to said edge server that forwarded the client'"'"'s modification request; transmitting by the central server, (i) the shared object modification and (ii) the client version identifier for said shared object to one or more other edge servers from the multiple edge servers different from said edge server that forwarded the client'"'"'s modification request; receiving the acknowledgement from said central server by said edge server that forwarded the client'"'"'s modification request; transmitting, by said edge server responsive to said receiving the acknowledgment, (i) the shared object modification and (ii) the client version identifier for said shared object to one or more other clients connected to said edge server different from said client that issued the modification request; and notifying said client by said edge server of said receiving the acknowledgment. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer implemented method comprising:
-
receiving a modification request for shared data from a client of a distributed collaboration environment at an associated one of multiple edge servers in said distributed collaboration environment, the multiple edge servers in communication with a central server, the modification request including a shared data modification and a client version identifier for the shared data; determining, by the associated one of the multiple edge servers, that the client version identifier for the shared data matches an edge version identifier for the shared data; forwarding said modification request to the central server of said distributed collaboration environment responsive to said determining; establishing, by the central server, that the client version identifier for the shared data matches a central version identifier for the shared data signaling, by the central server, to the associated one of the multiple edge servers to implement the shared data modification included in the modification request to one or more other clients connected to the associated one of the multiple edge servers different from the client that initiated the modification request; propagating, by the central server, the shared data modification included in the modification request to one or more other edge servers connected to said central server that are different from said edge server that forwarded the client'"'"'s modification request, wherein said one or more other edge servers implement the shared data modification included in the modification request to each of a plurality of connected clients; implementing, by the associated one of the multiple edge servers responsive to said signaling, the shared data modification included in the modification request to the one or more other clients connected to said edge server different from said client that initiated the modification request; and notifying the client by the associated one of the multiple edge servers of said signaling. - View Dependent Claims (8, 9, 10)
-
-
11. One or more non-transitory storage mediums encoded with computer program code comprising:
-
code for receiving a modification request for a shared object from a client at an edge server from among multiple edge servers that are in communication with a central server, said modification request including a shared object modification and a client version identifier for said shared object; code for comparing, by said edge server, the client version identifier for said shared object against an edge version identifier for said shared object; code for forwarding said modification request from said edge server to the central server responsive to said comparing resulting in the edge version identifier for said shared object matching the client version identifier for said shared object; code for comparing, by the central server, the client version identifier for said shared object against a central version identifier for said shared object; code for accepting, by the central server, said modification request when said comparing against the central version identifier for said shared object results in the central version identifier for said shared object matching the client version identifier for said shared object; code for transmitting, by the central server, an acknowledgement of said accepting to said edge server that forwarded the client'"'"'s modification request; code for transmitting, by the central server, (i) the shared object modification and (ii) the client version identifier for said shared object to one or more other edge servers from the multiple edge servers different from said edge server that forwarded the client'"'"'s modification request; code for receiving the acknowledgement from said central server by said edge server that forwarded the client'"'"'s modification request; code for transmitting, by said edge server responsive to said receiving the acknowledgment, (i) the shared object modification and (ii) the client version identifier for said shared object to one or more other clients connected to said edge server different from said client that issued the modification request; and code for notifying said client by said edge server of said receiving the acknowledgment. - View Dependent Claims (12, 13, 14)
-
-
15. A system comprising:
-
a central server system of a distributed collaboration environment, the central server system including at least one processor; multiple edge server systems in communication with the central server system, the multiple edge server systems including corresponding processors; wherein an edge server system from among the multiple edge server systems is configured to; receive a modification request of shared data from a client of said distributed collaboration environment, the modification request including a shared data modification and a client version identifier of the shared data; determine that the client version identifier of the shared data matches an edge version identifier of the shared data; and forward said modification request to the central server of said distributed collaboration environment in response to the determination; wherein the central server system is configured to; establish that the client version identifier of the shared data matches a central version identifier of the shared data; signal to the edge server system to implement the shared data modification included in the modification request to one or more other clients connected to the edge server system that are different from the client that initiated the modification request; propagate the shared data modification included in the modification request to one or more other edge server systems connected to central server system that are different from the edge server system that forwarded the client'"'"'s modification request, wherein the one or more other edge server systems are configured to implement the shared data modification included in the modification request to each of a plurality of connected clients; wherein the edge server system is further configured to; implement, responsive to detection of said signal, the shared data modification included in the modification request to the one or more other clients connected to said edge server system that are different from said client that initiated the modification request; and notify the client of said signal from the central server system. - View Dependent Claims (16, 17, 18)
-
Specification