IP Library › Granted Patent US 10,963,451
Granted Patent B2
US 10,963,451 · App. 16/218,972 · Granted Mar 30, 2021

Global database durable transaction controlling and synchronization system

Inventor: Yang Peng (Shanghai, CN)
Assignee: SAP SE
G06F16/2379G06F16/2308G06F16/2365G06F16/252G06F16/27
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 10,963,451
App. No.
16/218,972
Granted
Mar 30, 2021
Kind
B2
Abstract

Methods and apparatus, including computer program products, are provided for a distributed database application system. In some implementations, there may be provided a method which may include receiving, by a transaction controller defining a data access layer of a database and via an application server associated with a client interface, a request to modify data stored in the database, the transaction controller comprising an application programming interface (API); establishing, by the API, a virtual connection between the transaction controller and the application server, and a physical connection between the transaction controller and the database; providing, by the API to the application sever via the virtual connection in response to the request, a representation of the data; and executing, by the application server, the request, the executing comprising modifying, via the virtual connection, the representation of the data without modifying the data stored in the database. Related systems, methods, and articles of manufacture are also disclosed.

Claims (44)

1. A system, comprising:

at least one data processor; and

at least one memory storing instructions, which, when executed by the at least one data processor, cause operations comprising:

receiving, by a transaction controller defining a data access layer of a database and via a plurality of application servers associated with a client interface, a plurality of requests to modify data stored in the database, the transaction controller comprising an application programming interface (API), the plurality of application servers comprising a first application server and a second application server, the plurality of requests comprising a first request and a second request, the first request received via the first application server and the second request received via the second application server, the first request and the second request forming a part of a single user operation, wherein the transaction controller and each of the plurality of application servers are connected via a virtual connection, and wherein the transaction controller and the database is connected via a physical connection;

providing, by the API to each of the plurality of application servers via the virtual connection in response to each of the plurality of requests, a representation of the data, the representation of the data being provided at the data access layer of the database; and

executing, by each of the plurality of application servers, each of the plurality of requests, the executing comprising modifying, via the virtual connection and by the transaction controller, the representation of the data without modifying the data stored in the database.

2. The system of claim 1 , wherein the executing further comprises: committing, by each of the plurality of application servers, the modification to the representation of the data as a single transaction, the committing comprising modifying the data stored in the database.

3. The system of claim 1 , wherein the executing further comprises: canceling, by each of the plurality of application servers, the modification to the representation of the data as a single transaction, the canceling comprising closing the virtual connection without modifying the data stored in the database.

4. The system of claim 1 , wherein the representation of data is written, by the API, into a data table, and wherein the data table is provided, by the API, to each of the plurality of application servers.

5. The system of claim 1 , wherein the operations further comprise:

receiving by each of the plurality of application servers, a request to activate the transaction controller; and

activating, by each of the plurality of application servers, the transaction controller as the data access layer on the database.

6. The system of claim 1 , wherein the operations further comprise:

determining, by the API, that the plurality of requests comprise a request to modify an amount of data that is greater than a threshold amount of data;

creating, by the API, a local streaming copy of the data on the transaction controller; and

streaming, by the API via the virtual connection, the local streaming copy of the data to each of the plurality of application servers.

7. A computer-implemented method, comprising:

receiving, by a transaction controller defining a data access layer of a database and via a plurality of application servers associated with a client interface, a plurality of requests to modify data stored in the database, the transaction controller comprising an application programming interface (API), the plurality of application servers comprising a first application server and a second application server, the plurality of requests comprising a first request and a second request, the first request received via the first application server and the second request received via the second application server, the first request and the second request forming a part of a single user operation, wherein the transaction controller and each of the plurality of application servers are connected via a virtual connection, and wherein the transaction controller and the database is connected via a physical connection;

providing, by the API to each of the plurality of application servers via the virtual connection in response to each of the plurality of requests, a representation of the data, the representation of the data being provided at the data access layer of the database; and

executing, by each of the plurality of application servers, each of the plurality of requests, the executing comprising modifying, via the virtual connection and by the transaction controller, the representation of the data without modifying the data stored in the database.

8. The method of claim 7 , wherein the executing further comprises: committing, by each of the plurality of application servers, the modification to the representation of the data as a single transaction, the committing comprising modifying the data stored in the database.

9. The method of claim 7 , wherein the executing further comprises: canceling, by each of the plurality of application servers, the modification to the representation of the data as a single transaction, the canceling comprising closing the virtual connection without modifying the data stored in the database.

10. The method of claim 7 , wherein the representation of data is written, by the API, into a data table, and wherein the data table is provided, by the API, to each of the plurality of application servers.

11. The method of claim 7 , further comprising:

receiving by each of the plurality of application servers, a request to activate the transaction controller; and

activating, by each of the plurality of application servers, the transaction controller as the data access layer on the database.

12. The method of claim 7 , further comprising:

determining, by the API, that the plurality of requests comprise a request to modify an amount of data that is greater than a threshold amount of data;

creating, by the API, a local streaming copy of the data on the transaction controller; and

streaming, by the API via the virtual connection, the local streaming copy of the data to each of the plurality of application servers.

13. A non-transitory computer-readable medium storing instructions, which when executed by at least one data processor, result in operations comprising:

receiving, by a transaction controller defining a data access layer of a database and via a plurality of application servers associated with a client interface, a plurality of requests to modify data stored in the database, the transaction controller comprising an application programming interface (API), the plurality of application servers comprising a first application server and a second application server, the plurality of requests comprising a first request and a second request, the first request received via the first application server and the second request received via the second application server, the first request and the second request forming a part of a single user operation, wherein the transaction controller and each of the plurality of application servers are connected via a virtual connection, and wherein the transaction controller and the database is connected via a physical connection;

providing, by the API to each of the plurality of application servers via the virtual connection in response to each of the plurality of requests, a representation of the data, the representation of the data being provided at the data access layer of the database; and

executing, by each of the plurality of application servers, each of the plurality of requests, the executing comprising modifying, via the virtual connection and by the transaction controller, the representation of the data without modifying the data stored in the database.

14. The non-transitory computer-readable medium of claim 13 , wherein the executing further comprises: committing, by each of the plurality of application servers, the modification to the representation of the data as a single transaction, the committing comprising modifying the data stored in the database.

15. The non-transitory computer-readable medium of claim 13 , wherein the executing further comprises: canceling, by each of the plurality of application servers, the modification to the representation of the data as a single transaction, the canceling comprising closing the virtual connection without modifying the data stored in the database.

16. The non-transitory computer-readable medium of claim 13 , wherein the representation of data is written, by the API, into a data table, and wherein the data table is provided, by the API, to each of the plurality of application servers.

17. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise:

receiving by each of the plurality of application servers, a request to activate the transaction controller; and

activating, by each of the plurality of application servers, the transaction controller as the data access layer on the database.

18. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise:

determining, by the API, that the plurality of requests comprise a request to modify an amount of data that is greater than a threshold amount of data;

creating, by the API, a local streaming copy of the data on the transaction controller; and

streaming, by the API via the virtual connection, the local streaming copy of the data to each of the plurality of application servers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2018
From: PENG, YANG
To: SAP SE
Reel/Frame 047767/0451 →
Continuity (1)
Related Publication 20200192887A1 · Jun 18, 2020
Cited By (2)
US 12,265,847 US 12,530,238