IP Library › Granted Patent US 11,720,342
Granted Patent B2
US 11,720,342 · App. 17/552,989 · Granted Aug 8, 2023

Application update with data-preserving rollback

Inventors: Peter Eberlein (Malsch, DE); Volker Driesen (Heidelberg, DE)
Assignee: SAP SE
G06F8/65G06F8/71G06F16/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 11,720,342
App. No.
17/552,989
Granted
Aug 8, 2023
Kind
B2
Abstract

Systems and methods include execution of a first application associated with a first access schema and a first data model in a data schema of a database system. While the first application is receiving incoming user requests, the first data model in the data schema is extended based on a second data model of a second application, a second access schema of the second application is prepared in the database system, data of the first data model in the data schema is migrated to the second data model, data of the first data model in the data schema is replicated to the second data model while the first application is receiving incoming user requests, the second application is executed, the incoming user requests are re-directed to be received by the executing second application, and the replication of data of the first data model in the data schema to the second data model is stopped. While the second application is receiving incoming user requests, data of the second data model in the data schema is replicated to the first data model.

Claims (100)

1. A system comprising:

a memory storing processor-executable program code; and

at least one processing unit to execute the processor-executable program code to cause the system to:

execute a first application to receive incoming user requests, the first application associated with a first access schema and a first data model in a data schema of a database system;

while the first application is receiving incoming user requests:

extend the first data model in the data schema based on a second data model of a second application;

prepare a second access schema of the second application in the database system;

migrate data of the first data model in the data schema to the second data model;

execute a first one or more database triggers to replicate data of the first data model in the data schema to the second data model while the first application is receiving incoming user requests;

execute the second application; and

re-direct the incoming user requests to be received by the executing second application; and

while the second application is receiving incoming user requests:

execute a second one or more database triggers to replicate data of the second data model in the data schema to the first data model.

2. A system according to claim 1 , wherein the at least one processing unit is to execute the processor-executable program code to cause the system to:

while the second application is receiving incoming user requests:

re-direct the incoming user requests to be received by the first application.

3. A system according to claim 2 , wherein the at least one processing unit is to execute the processor-executable program code to cause the system to:

after re-directing the incoming user requests to be received by the first application,

modify the second application;

modify the second access schema of the second application in the database system;

migrate data of the first data model in the data schema to the modified second data model;

execute a third one or more database triggers to replicate data of the first data model in the data schema to the modified second data model while the first application is receiving incoming user requests; and

execute the modified second application; and

re-direct the incoming user requests to be received by the executing modified second application.

4. A system according to claim 2 , wherein the at least one processing unit is to execute the processor-executable program code to cause the system to:

while the first application is receiving incoming user requests, delete the second access schema and the second data model in the data schema from the database system.

5. A system according to claim 2 , wherein the incoming user requests are re-directed to be received by the first application in response to detection of an error associated with execution of the second application.

6. A system according to claim 1 , wherein the at least one processing unit is to execute the processor-executable program code to cause the system to:

while the second application is receiving incoming user requests, delete the first access schema and the first data model in the data schema from the database system.

7. A system according to claim 6 , wherein the at least one processing unit is to execute the processor-executable program code to cause the system to:

after deletion of the first access schema and the first data model in the data schema from the database system:

toggle on a feature of the second application;

execute the second application to generate records while the feature is toggled on; and

toggle off the feature and mark the records as unreadable.

8. A computer-implemented method comprising:

executing a first application associated with a first access schema and a first data model in a data schema of a database system;

while the first application is receiving incoming user requests:

extending the first data model in the data schema based on a second data model of a second application;

preparing a second access schema of the second application in the database system;

migrating data of the first data model in the data schema to the second data model;

replicating data of the first data model in the data schema to the second data model while the first application is receiving incoming user requests;

executing the second application;

re-directing the incoming user requests to be received by the executing second application; and

stopping the replication of data of the first data model in the data schema to the second data model; and

while the second application is receiving incoming user requests:

replicating data of the second data model in the data schema to the first data model.

9. A method according to claim 8 , further comprising:

while the second application is receiving incoming user requests:

re-directing the incoming user requests to be received by the first application; and

stopping the replication of data of the second data model in the data schema to the first data model.

10. A method according to claim 9 , further comprising:

after re-directing the incoming user requests to be received by the first application,

modifying the second application;

modifying the second access schema of the second application in the database system;

migrating data of the first data model in the data schema to the modified second data model;

replicating data of the first data model in the data schema to the modified second data model while the first application is receiving incoming user requests; and

executing the modified second application; and

re-directing the incoming user requests to be received by the executing modified second application.

11. A method according to claim 9 , further comprising:

while the first application is receiving incoming user requests, deleting the second access schema and the second data model in the data schema from the database system.

12. A method according to claim 9 , wherein the incoming user requests are re-directed to be received by the first application in response to detection of an error associated with execution of the second application.

13. A method according to claim 8 , further comprising:

while the second application is receiving incoming user requests, deleting the first access schema and the first data model in the data schema from the database system.

14. A method according to claim 13 , further comprising:

after deletion of the first access schema and the first data model in the data schema from the database system:

toggling on a feature of the second application;

executing the second application to generate records while the feature is toggled on; and

toggling off the feature and marking the records as unreadable.

15. A computer-readable medium storing processor-executable program code, the program code executable by a computing system to:

execute a first application associated with a first access schema and a first data model in a data schema of a database system;

while the first application is receiving incoming user requests:

extend the first data model in the data schema based on a second data model of a second application;

prepare a second access schema of the second application in the database system;

migrate data of the first data model in the data schema to the second data model;

replicate data of the first data model in the data schema to the second data model while the first application is receiving incoming user requests;

execute the second application;

re-direct the incoming user requests to be received by the executing second application; and

stop the replication of data of the first data model in the data schema to the second data model; and

while the second application is receiving incoming user requests:

replicate data of the second data model in the data schema to the first data model.

16. A medium according to claim 15 , the program code executable by a computing system to:

while the second application is receiving incoming user requests:

re-direct the incoming user requests to be received by the first application; and

stop the replication of data of the second data model in the data schema to the first data model.

17. A medium according to claim 16 , the program code executable by a computing system to:

after re-directing the incoming user requests to be received by the first application,

modify the second application;

modify the second access schema of the second application in the database system;

migrate data of the first data model of the data schema to the modified second data model;

replicate data of the first data model in the data schema to the modified second data model while the first application is receiving incoming user requests; and

execute the modified second application; and

re-direct the incoming user requests to be received by the executing modified second application.

18. A medium according to claim 16 , wherein the incoming user requests are re-directed to be received by the first application in response to detection of an error associated with execution of the second application.

19. A medium according to claim 16 , the program code executable by a computing system to:

while the second application is receiving incoming user requests, deleting the first access schema and the first model in the data schema from the database system.

20. A medium according to claim 19 , the program code executable by a computing system to:

after deletion of the first access schema and the first data model in the data schema from the database system:

toggle on a feature of the second application;

execute the second application to generate records while the feature is toggled on; and

toggle off the feature and marking the records as unreadable.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: EBERLEIN, PETER; DRIESEN, VOLKER
To: SAP SE
Reel/Frame 058409/0730 →
Continuity (1)
Related Publication 20230195443A1 · Jun 22, 2023
Cited By (2)
US 12,499,116 US 12,541,616