Distributed system for application processing
First Claim
Patent Images
1. A system, comprising:
- a first node having a first local storage and a first portion of a distributed index;
a second node having a second local storage and a second portion of the distributed index;
a third node having a third local storage and a third portion of the distributed index; and
wherein each of the first, second, and third nodes includes application logic;
wherein in an event that any one of the first, second, and third nodes is removed from the system, one or more nodes that remain available are configured to cooperate to ensure that the one or more nodes that remain available are configured to perform an application workload associated with the application logic of the removed node in a manner that is transparent to an end user with which the application workload is associated and to store a distributed index portion stored previously by the removed node;
wherein the first, second, and third nodes comprise participants associated with a commitment process;
a processor configured to;
receive a request for journal synchronization; and
perform the commitment process, wherein to perform the commitment process includes to;
collect votes from the first, second, and third nodes; and
determine whether the commitment process is successful based at least in part on the votes;
wherein in an event that the commitment process is successful, remove at least a portion of historical vote data; and
wherein in an event that the commitment process is not successful, do not remove the portion of historical vote data.
2 Assignments
0 Petitions
Accused Products
Abstract
A system that includes multiple nodes is disclosed. A first node in the system has a first local storage and a first portion of a distributed index. A second node in the system has a second local storage and a second portion of the distributed index. A third node in the system has a third local storage and a third portion of the distributed index. Each of the first, second, and third nodes includes application logic. If any one of the nodes is removed from the system, neither application nor data availability is impacted.
38 Citations
19 Claims
-
1. A system, comprising:
-
a first node having a first local storage and a first portion of a distributed index; a second node having a second local storage and a second portion of the distributed index; a third node having a third local storage and a third portion of the distributed index; and wherein each of the first, second, and third nodes includes application logic; wherein in an event that any one of the first, second, and third nodes is removed from the system, one or more nodes that remain available are configured to cooperate to ensure that the one or more nodes that remain available are configured to perform an application workload associated with the application logic of the removed node in a manner that is transparent to an end user with which the application workload is associated and to store a distributed index portion stored previously by the removed node; wherein the first, second, and third nodes comprise participants associated with a commitment process; a processor configured to; receive a request for journal synchronization; and perform the commitment process, wherein to perform the commitment process includes to; collect votes from the first, second, and third nodes; and determine whether the commitment process is successful based at least in part on the votes; wherein in an event that the commitment process is successful, remove at least a portion of historical vote data; and wherein in an event that the commitment process is not successful, do not remove the portion of historical vote data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method, comprising:
-
storing at a first system a first portion of a global index, wherein the first portion is included in a plurality of portions of the global index, and wherein the first portion is stored by at least one other of a plurality of systems, wherein each of the plurality of systems includes application logic; determining that in an event that one of the plurality of systems is removed, one or more of the plurality of systems that remain available cooperate to ensure that the one or more of the plurality of systems that remain available perform an application workload associated with the application logic of the removed system in a manner that is transparent to an end user with which the application workload is associated and to store a global index portion stored previously by the removed system; wherein the first system and at least a subset of the plurality of systems comprise participants associated with a commitment process; receiving a request for journal synchronization; and performing the commitment process, wherein performing the commitment process includes; collecting votes from the first system and the subset of the plurality of systems; and determining whether the commitment process is successful based at least in part on the votes; wherein in an event that the commitment process is successful, removing at least a portion of historical vote data and wherein in an event that the commitment process is not successful, not removing the portion of historical vote data. - View Dependent Claims (15)
-
-
16. A non-transitory computer readable medium storing computer-executable instructions for:
-
storing at a first system a first portion of a global index, wherein the first portion is included in a plurality of portions of the global index, and wherein the first portion is stored by at least one other of a plurality of systems, wherein each of the plurality of systems includes application logic; determining that in an event that one of the plurality of systems is removed, one or more of the plurality of systems that remain available cooperate to ensure that the one or more of the plurality of systems that remain available perform an application workload associated with the application logic of the removed system in a manner that is transparent to an end user with which the application workload is associated and to store a global index portion stored previously by the removed system; wherein the first system and at least a subset of the plurality of systems comprise participants associated with a commitment process; receiving a request for journal synchronization; and performing the commitment process, wherein the computer-executable instructions for performing the commitment process includes computer-executable instructions for; collecting votes from the first system and the subset of the plurality of systems; and determining whether the commitment process is successful based at least in part on the votes; wherein in an event that the commitment process is successful, removing at least a portion of historical vote data; and wherein in an event that the commitment process is not successful, not removing the portion of historical vote data. - View Dependent Claims (17)
-
-
18. An apparatus comprising:
-
means for storing at a first system a first portion of a global index, wherein the first portion is included in a plurality of portions of the global index, and wherein the first portion is stored by at least one other of a plurality of systems, wherein each of the plurality of systems includes application logic; means for determining that in an event that one of the plurality of systems is removed, one or more of the plurality of systems that remain available cooperate to ensure that the one or more of the plurality of systems that remain available perform an application workload associated with the application logic of the removed system in a manner that is transparent to an end user with which the application workload is associated and to store a global index portion stored previously by the removed system; wherein the first system and at least a subset of the plurality of systems comprise participants associated with a commitment process; means for receiving a request for journal synchronization; and means for performing the commitment process including; means for collecting votes from the first system and the subset of the plurality of systems; and means for determining whether the commitment process is successful based at least in part on the votes, wherein the means for performing the commitment process is configured to remove at least a portion of historical vote data if the commitment process is successful and to not remove the portion of historical vote data if the commitment process is not successful. - View Dependent Claims (19)
-
Specification