Processing Write Requests with Server Having Global Knowledge
First Claim
1. A computer implemented method of processing write requests in a distributed system comprising a plurality of servers each storing a replica of the same data and engaging in replication to maintain data consistency among each of the replicas stored on the plurality of servers, the method comprising:
- receiving at a first server a write request with data to be written to a replica stored on the first server, wherein the first server is one of a plurality of servers;
determining whether the data in the write request is subject to a global data rule;
transmitting an approval request to a central server to approve the acceptance of the write request, wherein the central server is another one of the plurality of servers and has global knowledge;
receiving a message from the central server indicating whether the approval request has been approved;
in response to the central server approving the approval request, the first server accepting the write request and writing the data to the replica stored on the first server; and
in response to the central server not approving the approval request, the first server denying the write request.
2 Assignments
0 Petitions
Accused Products
Abstract
Described are embodiments directed to processing write requests using designated servers with global knowledge of information within a distributed system. The designated servers are used to enforce a data rule that limits the data that may be written to the distributed system. In order to ensure that data written to the distributed system is consistent with the data rule, when another server within the distributed system receives a request to write information that is subject to the data rule, it must consult with one of the designated servers before it can accept the write request. If the designated server determines that the data is consistent with the data rule, the write request is approved. Otherwise, the write request is denied.
-
Citations
20 Claims
-
1. A computer implemented method of processing write requests in a distributed system comprising a plurality of servers each storing a replica of the same data and engaging in replication to maintain data consistency among each of the replicas stored on the plurality of servers, the method comprising:
-
receiving at a first server a write request with data to be written to a replica stored on the first server, wherein the first server is one of a plurality of servers; determining whether the data in the write request is subject to a global data rule; transmitting an approval request to a central server to approve the acceptance of the write request, wherein the central server is another one of the plurality of servers and has global knowledge; receiving a message from the central server indicating whether the approval request has been approved; in response to the central server approving the approval request, the first server accepting the write request and writing the data to the replica stored on the first server; and in response to the central server not approving the approval request, the first server denying the write request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer implemented method of enforcing a global data rule in a distributed system comprising a plurality of servers each storing a replica of the same data and engaging in replication to maintain data consistency among the replicas stored on the plurality of servers, the method comprising the steps of:
-
storing at a central server a global data rule for enforcement by the central server, wherein the central server is one of the plurality of servers; receiving at the central server an approval request transmitted by a receiving server that is a different one of the plurality of servers, wherein the approval request relates to a write request received at the receiving server and the approval request includes data to be written to a replica stored on the receiving server; determining by the central server, whether the data to be written to the receiving server satisfies the global data rule; in response to a determination that the data does not satisfy the global data rule, transmitting a message to the receiving server denying the approval request; and in response to a determination that the data satisfies the data rule; writing the data to a replica stored on the central server; and transmitting a message to the receiving server approving the write request. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A distributed system, comprising:
-
a plurality of central servers, each of the plurality of central servers storing a data rule that requires global knowledge to enforce and each being operable to; receive an approval request seeking approval to write data to a receiving server, wherein the approval request include the data; determine whether the write data complies with the data rule; in response to a determination that the data does not comply with the data rule, transmit a message to the receiving server denying the approval request; and in response to a determination that the data complies with the data rule; write the data to the central server, and transmit a message to the receiving server approving the approval request; and a plurality of receiving servers, each of the receiving servers operable to; receive a write request to write data to the receiving server; send an approval request to one of the plurality of central servers, wherein the approval request seeks approval from the one of the plurality of central server for the write request; in response to receiving a message from the central server approving the approval request, accept the write request and write the data to the receiving server; and in response to receiving a message from the central server denying the approval request, deny the write request. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification