US 12,287,779 B2
Transaction processing system and method
Toshihiro Suzuki, Tokyo (JP); and Hiroyuki Yamada, Kamakura (JP)
Assigned to Scalar, Inc., Tokyo (JP)
Appl. No. 18/688,309
Filed by Scalar, Inc., Tokyo (JP)
PCT Filed Sep. 2, 2022, PCT No. PCT/JP2022/033166
§ 371(c)(1), (2) Date Feb. 29, 2024,
PCT Pub. No. WO2023/033153, PCT Pub. Date Mar. 9, 2023.
Claims priority of application No. 2021-144133 (JP), filed on Sep. 3, 2021.
Prior Publication US 2024/0378192 A1, Nov. 14, 2024
Int. Cl. G06F 16/23 (2019.01)
CPC G06F 16/2379 (2019.01) [G06F 16/2315 (2019.01)] 6 Claims
OG exemplary drawing
 
1. A transaction processing system, comprising:
a plurality of sub-application units which execute a plurality of sub-business logics that constitute a business logic; and
a plurality of Client-Coordinated Optimistic Concurrency Controls (CC-OCCs), wherein
the plurality of CC-OCCs are included in a plurality of data source client systems,
the plurality of data source client systems are a plurality of client systems corresponding to a data source server system which includes a plurality of objects,
the data source server system and the plurality of data source client systems are one or a plurality of computer systems,
each object is data representing a state of a target,
with respect to each of the plurality of sub-application units, the sub-application unit is configured to
transmit, in executing a sub-business logic, a read request and/or a write request for an object to be read and/or written to a CC-OCC in charge of the object,
each of the plurality of CC-OCCs is a CC (Client Coordinated) transaction manager configured to perform OCC (Optimistic Concurrency Control),
the OCC includes performing validation based on a snapshot when committing,
each of the plurality of CC-OCCs is configured to manage a snapshot for each transaction,
with respect to each transaction, a snapshot of the transaction includes a read set, which is a set of zero or more read objects, and a write set, which is a set of zero or more write objects,
a read object is an object having been read in response to a read request for the object,
a write object is an object to be written in response to a write request for the object,
with respect to each transaction, when CC-OCCs which receive a read request and/or a write request for an object from two or more sub-application units in processing of M-number of (where M is an integer of 2 or more) sub-transactions created by dividing the transaction are N-number of (where Nis an integer of 2 or more) CC-OCCs,
N-number of unions are pairwise disjoints,
with respect to each of the N-number of unions, the union is a union of a read set and a write set in a snapshot which corresponds to the transaction and which is managed by a CC-OCC, and
with respect to each of the M-number of sub-transactions, the sub-transaction is processed in executing a sub-business logic and includes a read request and/or a write request for an object from a sub-application unit to an CC-OCC.