IP Library Granted Patent US 12,353,403
Granted Patent B2
US 12,353,403 · App. 18/515,526 · Granted Jul 8, 2025

Managing global transactions in hybrid database paradigms

Inventors: Hui Li (Shanghai, CN); Xia Yu (Shanghai, CN)
Assignee: SAP SE
G06F16/2379G06F16/2365
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,353,403
App. No.
18/515,526
Granted
Jul 8, 2025
Kind
B2
Abstract

Methods, systems, and computer-readable storage media for executing, by a first database system, a first sub-transaction of a global transaction, the first sub-transaction impacting a primary record in a first database, in response to successful execution of the first sub-transaction, executing, by a second database system, a second sub-transaction including setting a status of a secondary record to a pending status in a status column of a table that stores data of the secondary record, in response to successfully setting the status, executing, by the first database system, one or more operations to commit changes to the primary record, and selectively setting, by the second database system, the status to one of a first final status and a second final status.

Claims (46)

1. A computer-implemented method for executing global transactions that impact records in multiple, disparate database systems, the method being executed by one or more processors and comprising:

executing, by a first database system, a first sub-transaction of a global transaction, the first sub-transaction impacting a primary record of a first data table stored within a first database of the database system;

in response to successful execution of the first sub-transaction, executing, by a second database system, a second sub-transaction comprising setting a status of a secondary record to a pending status in a status column of a second data table that stores the secondary record, the pending status inhibiting the second record from being used to generate responses to queries executed over the second data table;

in response to successfully setting the status, executing, by the first database system, one or more operations to commit changes to the primary record; and

selectively setting, by the second database system, the status to one of a first final status and a second final status.

2. The method of claim 1 , wherein the pending status comprises an invalidate pending status and one of:

the first final status comprises an invalid status that is set in response to determining that the changes to the primary record are successfully committed; and

the first final status comprises a valid status that is set in response to determining that the changes to the primary record failed to be committed.

3. The method of claim 1 , wherein the pending status comprises a validate pending status and one of:

the second final status comprises a valid status that is set in response to determining that the changes to the primary record are successfully committed; and

the second final status comprises an invalid status that is set in response to determining that the changes to the primary record failed to be committed.

4. The method of claim 1 , wherein execution of the second sub-transaction results in one of adding the secondary record to the secondary database and deleting the secondary record from the secondary database.

5. The method of claim 1 , wherein selectively setting the status to one of a first final status and a second final status comprises at least one retry to set the status to one of a first final status and a second final status.

6. The method of claim 1 , wherein the primary record and the secondary record are representative of an entity.

7. The method of claim 1 , wherein the first database comprises a relational database management system (RDBMS) database and the second database comprises a non-RDBMS database.

8. A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for executing global transactions that impact records in multiple, disparate database systems, the operations comprising:

executing, by a first database system, a first sub-transaction of a global transaction, the first sub-transaction impacting a primary record of a first data table stored within a first database of the database system;

in response to successful execution of the first sub-transaction, executing, by a second database system, a second sub-transaction comprising setting a status of a secondary record to a pending status in a status column of a second data table that stores the secondary record, the pending status inhibiting the second record from being used to generate responses to queries executed over the second data table;

in response to successfully setting the status, executing, by the first database system, one or more operations to commit changes to the primary record; and

selectively setting, by the second database system, the status to one of a first final status and a second final status.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the pending status comprises an invalidate pending status and one of:

the first final status comprises an invalid status that is set in response to determining that the changes to the primary record are successfully committed; and

the first final status comprises a valid status that is set in response to determining that the changes to the primary record failed to be committed.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the pending status comprises a validate pending status and one of:

the second final status comprises a valid status that is set in response to determining that the changes to the primary record are successfully committed; and

the second final status comprises an invalid status that is set in response to determining that the changes to the primary record failed to be committed.

11. The non-transitory computer-readable storage medium of claim 8 , wherein execution of the second sub-transaction results in one of adding the secondary record to the secondary database and deleting the secondary record from the secondary database.

12. The non-transitory computer-readable storage medium of claim 8 , wherein selectively setting the status to one of a first final status and a second final status comprises at least one retry to set the status to one of a first final status and a second final status.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the primary record and the secondary record are representative of an entity.

14. The non-transitory computer-readable storage medium of claim 8 , wherein the first database comprises a relational database management system (RDBMS) database and the second database comprises a non-RDBMS database.

15. A system, comprising:

computing devices; and

non-transitory computer-readable storage devices coupled to the computing devices and having instructions stored thereon which, when executed by the computing devices, cause the computing devices to perform operations for executing global transactions that impact records in multiple, disparate database systems, the operations comprising:

executing, by a first database system, a first sub-transaction of a global transaction, the first sub-transaction impacting a primary record of a first data table stored within a first database of the database system;

in response to successful execution of the first sub-transaction, executing, by a second database system, a second sub-transaction comprising setting a status of a secondary record to a pending status in a status column of a second data table that stores the secondary record, the pending status inhibiting the second record from being used to generate responses to queries executed over the second data table;

in response to successfully setting the status, executing, by the first database system, one or more operations to commit changes to the primary record; and

selectively setting, by the second database system, the status to one of a first final status and a second final status.

16. The system of claim 15 , wherein the pending status comprises an invalidate pending status and one of:

the first final status comprises an invalid status that is set in response to determining that the changes to the primary record are successfully committed; and

the first final status comprises a valid status that is set in response to determining that the changes to the primary record failed to be committed.

17. The system of claim 15 , wherein the pending status comprises a validate pending status and one of:

the second final status comprises a valid status that is set in response to determining that the changes to the primary record are successfully committed; and

the second final status comprises an invalid status that is set in response to determining that the changes to the primary record failed to be committed.

18. The system of claim 15 , wherein execution of the second sub-transaction results in one of adding the secondary record to the secondary database and deleting the secondary record from the secondary database.

19. The system of claim 15 , wherein selectively setting the status to one of a first final status and a second final status comprises at least one retry to set the status to one of a first final status and a second final status.

20. The system of claim 15 , wherein the primary record and the secondary record are representative of an entity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2023
From: LI, HUI; YU, XIA
To: SAP SE
Reel/Frame 065632/0633 →
Continuity (1)
Related Publication 20250165459A1 · May 22, 2025
References Cited (28)
US 9679010B2 · Fu et al. · 2017 [cited by applicant]
US 9734187B2 · Fuchs · 2017 [cited by examiner]
US 10489381B2 · Yu et al. · 2019 [cited by applicant]
US 10503572B2 · Peng et al. · 2019 [cited by applicant]
US 10565089B2 · Yu et al. · 2020 [cited by applicant]
US 11153374B1 · Yu et al. · 2021 [cited by applicant]
US 11334558B2 · Yu et al. · 2022 [cited by applicant]
US 11620277B2 · Zhang · 2023 [cited by examiner]
US 20030172091A1 · Norcott · 2003 [cited by examiner]
US 20210173838A1 · Yu et al. · 2021 [cited by applicant]
US 20220129314A1 · Yu et al. · 2022 [cited by applicant]
US 20220365832A1 · Feng et al. · 2022 [cited by applicant]
US 20220374439A1 · Hu et al. · 2022 [cited by applicant]
US 20220382748A1 · Narasimhamurthy · 2022 [cited by examiner]
US 20230086361A1 · Wan et al. · 2023 [cited by applicant]
US 20230342143A1 · Yu et al. · 2023 [cited by applicant]
CN 111198751A · 2020 [cited by examiner]
CN 116775325A · 2023 [cited by examiner]
WO WO2018103318A1 · 2018 [cited by examiner]
U.S. Appl. No. 17/836,042, Feng et al., Adaptive Application Server Request Balancing, filed Jun. 9, 2022, 36 pages. [cited by applicant]
U.S. Appl. No. 17/951,799, Li et al., Efficient Cache Build and Query Pattern Supporting Dynamic and Relational Properties, filed Sep. 23, 2022, 37 pages. [cited by applicant]
U.S. Appl. No. 18/332,860, Li, Proactive Adaptation in Handling Service Requests in Cloud Computing Systems, filed Jun. 12, 2023, 41 pages. [cited by applicant]
U.S. Appl. No. 18/365,366, Feng et al., Scheduling Services in Cloud-Based Systems to Avoid Timeout, filed Aug. 4, 2023, 33 pages. [cited by applicant]
U.S. Appl. No. 18/454,207, Li et al., Middleware for Communication Between Microservices and Monolithic Application, filed Aug. 23, 2023, 33 pages. [cited by applicant]
U.S. Appl. No. 18/465,370, Feng et al., Distributed Connection Management in Cloud System, filed Sep. 12, 2023, 27 pages. [cited by applicant]
U.S. Appl. No. 18/469,650, Li et al., Metrics Data Storage and Access, filed Sep. 19, 2023, 28 pages. [cited by applicant]
U.S. Appl. No. 18/495,862, Yu et al., Protecting Cloud Systems Using Request Scores, filed Oct. 27, 2023, 38 pages. [cited by applicant]
U.S. Appl. No. 18/505,204, Li, Improved Resource Utilization in Job Scheduler Systems, filed Nov. 9, 2023, 28 pages. [cited by applicant]