Exactly once data framework method
First Claim
1. A method for managing objects on a network, comprising:
- providing a plurality of network servers, the plurality of network servers adapted to communicate with a network data source and including a lead server, wherein the lead server leads one or more consensus rounds;
selecting a host server from the plurality of network servers, wherein selecting the host server includes;
informing the plurality of network servers that a new consensus round is starting;
proposing a host server to the plurality of network servers;
waiting for a period of time to receive from the plurality of network servers messages accepting the host server;
if the lead server does not receive message accepting the host server from a majority of the plurality of network servers within the period of time, starting a new consensus round;
after receiving messages accepting the host server from a majority of the plurality of network servers within the period of time, multi-casting a notification to the plurality of network servers to commit selection of the host server;
assigning a data object to the host server, the data object related to a data item in the network data source, wherein the data object is configured to be accessed solely through the host server; and
accessing the data item on the host server by one of the plurality of network servers other than the host server.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for managing objects in a clustered network includes a file system containing at least one copy of a data object. The method can involve several clustered servers in communication with the file system. A distributed consensus algorithm is used to select a host server. The selected host server can contain a copy of the data object, such as in local cache, providing access to the local copy to any other server in the cluster. Any change made to an item hosted by the host server can also be updated in the file system. If the host server becomes unable to host the object, a new host can be chosen using the distributed consensus algorithm. The other servers are then notified of the new host by multicast messaging.
-
Citations
20 Claims
-
1. A method for managing objects on a network, comprising:
-
providing a plurality of network servers, the plurality of network servers adapted to communicate with a network data source and including a lead server, wherein the lead server leads one or more consensus rounds; selecting a host server from the plurality of network servers, wherein selecting the host server includes; informing the plurality of network servers that a new consensus round is starting; proposing a host server to the plurality of network servers; waiting for a period of time to receive from the plurality of network servers messages accepting the host server; if the lead server does not receive message accepting the host server from a majority of the plurality of network servers within the period of time, starting a new consensus round; after receiving messages accepting the host server from a majority of the plurality of network servers within the period of time, multi-casting a notification to the plurality of network servers to commit selection of the host server; assigning a data object to the host server, the data object related to a data item in the network data source, wherein the data object is configured to be accessed solely through the host server; and accessing the data item on the host server by one of the plurality of network servers other than the host server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for managing objects on a network, comprising:
-
providing a plurality of network servers, the plurality of network servers adapted to communicate with a network data source and including a lead server, wherein the lead server leads one or more consensus rounds; informing the plurality of network servers that a new consensus round is starting; proposing a host server to the plurality of network servers; sending responses from several of the plurality of network servers to the lead server indicating that the several network servers of the plurality of network servers accept the host server; waiting a period of time for the responses accepting the host server from the plurality of network servers; if the lead server does not receive the responses accepting the host server from a majority of the plurality of network servers within the period of time, starting a new consensus round; after receiving the responses accepting the host server from a majority of the plurality of network servers within the period of time, multi-casting a notification to the plurality of network servers to commit selection of the host server; committing the selection of the host server at each of the plurality of network servers; sending acknowledgements from the plurality of network servers to the lead server acknowledging that the plurality of network servers committed the selection of the host server, assigning a data object to the host server, the data object related to a data item in the network data source, wherein the data object is configured to be accessed solely through the host server; and accessing the data item on the host server by one of the plurality of network servers other than the host server.
-
-
19. A system, comprising:
-
a plurality of network servers, the plurality of network servers adapted to communicate with a network data source and including a lead server, the lead server of the plurality of network servers, wherein the lead server leads one or more consensus rounds; a host server of the plurality of network servers, wherein the host server is selected after the lead server informs the plurality of network servers that a new consensus round is starting, wherein the lead server proposes a new host server to the plurality of network servers, wherein the lead server waits a period of time for messages accepting the host server from the plurality of network servers, wherein if the lead server does not receive messages accepting the host server from a majority of the plurality of network servers within the period of time, the lead server starting a new consensus round, wherein after receiving messages accepting the host server from a majority of the plurality of network servers within the period of time, wherein the lead server multi-casts a notification to the plurality of network servers to commit selection of the host server; a transaction log stored in a file system; and a copy of the transaction log hosted by the host server in a cache, wherein the host server makes the copy available to other servers in the plurality of network servers, wherein all access to the copy is through the host server. - View Dependent Claims (20)
-
Specification