US 11,940,976 B2
Technique for concurrency control
Attila Mihály, Dunakeszi (HU); and Maria Cruz Bartolome Rodrigo, Madrid (ES)
Assigned to TELEFONAKTIEBOLAGET LM ERICSSON (PUBL), Stockholm (SE)
Appl. No. 17/293,149
Filed by Telefonaktiebolaget LM Ericsson (PUBL), Stockholm (SE)
PCT Filed Jan. 16, 2019, PCT No. PCT/EP2019/051002
§ 371(c)(1), (2) Date May 12, 2021,
PCT Pub. No. WO2020/126106, PCT Pub. Date Jun. 25, 2020.
Claims priority of application No. 18382932 (EP), filed on Dec. 17, 2018.
Prior Publication US 2022/0012226 A1, Jan. 13, 2022
Int. Cl. G06F 16/23 (2019.01); G06F 9/52 (2006.01); G06N 5/04 (2023.01)
CPC G06F 16/2343 (2019.01) [G06F 9/52 (2013.01); G06N 5/04 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method for concurrency control of transactions in a system comprising a plurality of application instances accessing a database system, the method being performed by the database system and comprising:
receiving a first transaction start request indicating a start of a first transaction to lock first data stored in the database system against access requests not belonging to the first transaction while the first transaction is ongoing;
receiving a second transaction start request indicating a start of a second transaction to lock second data stored in the database system against access requests not belonging to the second transaction while the second transaction is ongoing, the second data at least partly overlapping with the first data;
receiving an access request to at least a portion of the second data that overlaps with the first data while the first transaction and the second transaction are ongoing, the access request belonging to the second transaction;
controlling acceptance of the access request based on determining whether the second transaction has a higher priority than the first transaction, wherein determining whether the second transaction has a higher priority than the first transaction includes:
inferring a priority value for the first transaction based on information received as part of the first transaction and inferring a priority value for the second transaction based on information received as part of the second transaction; and
checking whether the priority value of the second transaction is hither than the priority value of the first transaction.