IP Library Granted Patent US 9,507,810
Granted Patent B2
US 9,507,810 · App. 14/102,280 · Granted Nov 29, 2016

Updating database schemas in a zero-downtime environment

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 9,507,810
App. No.
14/102,280
Granted
Nov 29, 2016
Kind
B2
Abstract

A system is described for processing schema updated in a zero-downtime environment. A technique includes establishing an application session to access a database, receiving a schema update, converting the database to an updated database according to the schema update after establishing the application session, generating a temporary compensation view from the schema update, the temporary compensation view containing compensation logic to locate database objects belonging to the database, receiving a database transaction from the application session to access a database object in the database; and processing the compensation logic to locate the database object.

Claims (51)

1. A computer-implemented method, comprising:

Establishing, by a processor, a first application session to access a database;

Receiving, by the processor, a first schema update;

Converting, by the processor, the database to a first updated database according to a first schema update after establishing the first application session, wherein converting the database to an updated database includes generating, by the processor, a first auxiliary database to store database objects that are missing in the updated database;

Generating, by the processor, a first temporary compensation view from the first schema update, the first temporary compensation view containing first compensation logic to locate database objects belonging to the database;

Establishing, by the processor, a second application session to access the database;

Receiving, by the processor, a second schema update;

Converting, by the processor, the database to a second updated database according to the second schema update after establishing the second application session;

Generating, by the processor, a second temporary compensation view from the second schema update, the second temporary compensation view containing second compensation logic to locate database objects belonging to the first auxiliary database;

Receiving, by the processor, a database transaction form the second application session to access a database object in the database; and

Processing, by the processor, the first compensation logic and the second compensation logic to locate the database object.

2. The computer-implemented method of claim 1 , further comprising:

Terminating, by the processor, the first application session; and

Deleting, by the processor, the first temporary compensation view when the first application session is terminated.

3. The computer-implemented method of claim 1 , wherein the database object is stored in the first auxiliary database and the second compensation logic locates the database object in the first auxiliary database.

4. The computer-implemented method of claim 1 , wherein the first compensation logic references a session cookie and a session identifier.

5. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions for:

Establishing a first application session to access a database;

Receiving a first schema update;

Converting the database to a first updated database according to a first schema update after establishing the first application session, wherein converting the database to an updated database includes generating, by the processor, a first auxiliary database to store database objects that are missing in the updated database;

Generating a first temporary compensation view from the first schema update, the first temporary compensation view containing first compensation logic to locate database objects belonging to the database;

Establishing a second application session to access the database;

Receiving a second schema update;

Converting the database to a second updated database according to the second schema update after establishing the second application session;

Generating a second temporary compensation view from the second schema update, the second temporary compensation view containing second compensation logic to locate database objects belonging to the first auxiliary database;

Receiving a database transaction form the second application session to access a database object in the database; and

Processing the first compensation logic and the second compensation logic to locate the database object.

6. The non-transitory computer readable storage medium of claim 5 , further comprising:

Terminating the first application session; and

Deleting the first temporary compensation view when the first application session is terminated.

7. The non-transitory computer readable storage medium of claim 5 , wherein the database object is stored in the first auxiliary database and the first compensation logic locates the database object in the first auxiliary database.

8. The non-transitory computer readable storage medium of claim 5 , wherein the first compensation logic references a session cookie and a session identifier.

9. A computer implemented system, comprising:

One or more computer processors; and

A non-transitory computer-readable storage medium comprising instructions;

that when executed, control the one or more computer processors to be configured for:

Establishing a first application session to access a database;

Receiving a first schema update;

Converting the database to a first updated database according to a first schema update after establishing the first application session, wherein converting the database to an updated database includes generating, by the processor, a first auxiliary database to store database objects that are missing in the updated database;

Generating a first temporary compensation view from the first schema update, the first temporary compensation view containing first compensation logic to locate database objects belonging to the database;

Establishing a second application session to access the database;

Receiving a second schema update;

Converting the database to a second updated database according to the second schema update after establishing the second application session;

Generating a second temporary compensation view from the second schema update, the second temporary compensation view containing second compensation logic to locate database objects belonging to the first auxiliary database;

Receiving a database transaction form the second application session to access a database object in the database; and

Processing the first compensation logic and the second compensation logic to locate the database object.

10. The computer implemented system of claim 9 , further comprising:

Terminating the first application session; and

Deleting the first temporary compensation view when the first application session is terminated.

11. The computer implemented system of claim 9 , wherein the database object is stored in the first auxiliary database and the first compensation logic locates the database object in the first auxiliary database.

12. The computer implemented system of claim 9 , wherein the first compensation logic references a session cookie and a session identifier.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2013
From: BAEUERLE, STEFAN; LEHNER, WOLFGANG; GOEL, ANIL KUMAR; RENKES, FRANK; DAS, JOYDEEP
To: SAP AG
Reel/Frame 031754/0051 →