Abstract:
A data management system including a plurality of servers each having a processor, a memory, and a storage device, the system receiving and storing data using the plurality of servers and multiplexing the data, wherein the servers are provided with: a first determination unit that determines the consistency of the multiplexed data; a second determination unit that has a greater number of allowable server failures than the first determination unit for determining the consistency of the multiplexed data but a greater minimum number of times of server-to-sever communications for determining the consistency of the data; a combination unit that receives a data consistency determination result from the first determination unit or the second determination unit, and that, if the determination result includes consistency guaranteeing data, outputs the consistency guaranteed data; and a data storage unit that stores the data output by the combination unit.
Abstract:
A computer system includes a node including a plurality of processes, an instruction unit that designates a key range of data processed by the process, and a distribution unit. When a first key range is processed by a first process and a third key range, which is a portion of the first key range, is processed by a second process that processes a second key range, the instruction unit transmits a first updated key range to the first process, transmits a second updated key range to the second process, and transmits third range update information including first and second new ranges to the distribution unit. When receiving the third range update information, the distribution unit changes the distribution of the data to be processed. The first process performs data processing in the first updated key range and the second process performs data processing in the second updated key range.
Abstract:
A distributed consensus method for performing data consensus processing in a distributed system that couples one or more client apparatuses and a plurality of server apparatuses via a network, the method including a step in which each server apparatus performs data operation according to a predetermined distributed consensus algorithm, a step in which an auxiliary consensus device, which is an auxiliary device that assists in reaching a consensus in the event of a failure in response to a request from each server apparatus, decides an auxiliary consensus decided value, and a step in which the auxiliary consensus decided value is caused to take precedence over the decided value of the distributed consensus algorithm under conditions under which the auxiliary consensus decided value decided by the auxiliary consensus device and the decided value decided by the distributed consensus algorithm can conflict with each other.
Abstract:
A distributed processing method to receive data by a plurality of servers each including a processor and a memory, and process the data by replicating, the method includes a first determination step in which the servers each receive the replicated data, and a first determination unit determines a degree of consistency of the received data and an output step in which the servers each receive a determination result of the degree of consistency of the data from the first determination unit, and if the determination result includes data that guarantees consistency, the server outputs the data that guarantees consistency. A first number of servers that are to receive the data is set in advance based on a prescribed allowable number of failures that defines the number of servers that can have failures, and an allowable number of byzantine failures that defines the number of servers that can have byzantine failures.
Abstract:
A distributed transaction management device records a transaction settlement result log indicating a settlement result of a transaction in the distributed transaction system. When the distributed transaction management device receives a rollback processing completion notification from any one of multiple resource management units participating in the transaction, the distributed transaction management device deletes the transaction settlement result log of the rollback.
Abstract:
A data store comprises a commit management map including an identifier of a distributed transaction. A control method executed by an adapter coupled to the data store includes: alternate processing of, temporarily storing the reception query, and causing a transaction on the data store side to execute the reception query; perpetuation processing of determining whether or not commit is possible using lock information and perpetuating the GXID to be committed and the temporarily stored reception query in a case where commit is possible; settlement processing of causing the transaction on the data store side to execute a GXID addition query that is a query that adds the GXID to be committed to the commit management map and committing the transaction on the data store side; and store restart processing of the adapter starting a new transaction at the data store for a distributed transaction in an in-doubt state.
Abstract:
A distributed transaction control system includes redundant coordinator apparatuses, wherein determination part replaces input votes to votes of preparation failure when input votes from the participant apparatus time out, makes a determination of commit when all input votes are votes of preparation success, makes a determination of rollback when the input votes include at least one vote of preparation failure, and inputs a content of the determination into the distributed consensus processing part, the distributed consensus processing part decides on one of the contents of the determination that are inputs from the determination parts, by distributed consensus, and settlement part notifies an output of the distributed consensus processing part to the participant apparatuses as a settlement result.
Abstract:
Upon receiving an input of data, an input unit transmits a time notification to another input unit and transmits a data notification including the input clock time to a storage unit. Upon receiving a time notification from another input unit, the input unit transmits an empty notification including the input clock time to the storage unit to indicate there is no input before the input clock time. Upon receiving the data notification from an input unit having received the input of data and receiving the notification from the other input unit, the storage unit broadcasts the data in order, assuming that consensus of the plurality of storage units is confirmed. When adding an input unit to a computer system, a control device causes the storage unit to start confirming the consensus including the joining input unit after a window interval has elapsed after the joining input unit starts operation.
Abstract:
A computer system comprises a plurality of service execution systems each configured to execute a service for implementing an application that executes a distributed transaction. At least one of the plurality of service execution systems is configured to generate determination information for determining whether rollback of the distributed transaction is required and to transmit the determination information to another one of the plurality of service execution systems, and the another one of the plurality of service execution systems that has received the determination information is configured to determine, through use of the determination information, whether the rollback of the distributed transaction is required.
Abstract:
This computer system includes a plurality of nodes for forming a distributed KVS. The plurality of nodes have a plurality of key ranges to which upper-limit data amounts are set, each upper-limit data amounts being an upper limit of an amount of manageable data. When a new key range is created, the plurality of nodes lowers an upper-limit data amount of an existing key range so that the sum of an upper-limit data amount of the new key range and an upper-limit data amount of the existing key range does not exceed a maximum amount which is the amount based on the volume of the memory of the computer apparatus.