IP Library Granted Patent US 11,176,106
Granted Patent B2
US 11,176,106 · App. 14/547,471 · Granted Nov 16, 2021

Dynamic modification of database schema

Inventors: Kung Y Lin (Irvine, CA); Johnny Hu (Irvine, CA); Alma DeJesus (Irvine, CA)
Assignee: Unisys Corporation
G06F16/213
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,176,106
App. No.
14/547,471
Granted
Nov 16, 2021
Kind
B2
Abstract

Systems and methods are disclosed that perform dynamic database schema modification. A database system may receive a request to change a schema. In response to receiving the request to perform the dynamic schema modification, the database system may complete pending transactions and begin modifying the database schema. Any requests to access the database received prior to completion of the modification may be paused, thereby allowing the database to remain online and continue receiving requests while the modification is in progress. After completion of the modification, the paused requests may be resumed.

Claims (55)

1. A method for dynamically modifying a database schema of a database, the method comprising:

receiving, at a database manager managing a database engine operating on a computing system, a request to dynamically modify the database schema of the database;

completing any pending transactions on the database when the pending transactions were received prior to the request to dynamically modify the database schema;

upon completion of the pending transactions, causing the database manager to initiate the modification of the database schema of the database based on the received request, the modification of the database schema performed within the confines of the database and requiring recompilation of the database;

in response to receiving at least one request to access data stored in the database from a device after receiving the request to dynamically modify the database schema and prior to completion of modifying the database schema:

pausing the at least one request during the recompilation of the database, wherein, from a perspective of the device, the database appears to continue processing the request while the request is paused;

after completion of modifying the database schema, resuming the at least one paused request;

identifying a target of the at least one paused request; and

based, at least in part, on at least one of an addition to the database schema or a deletion from the database schema, determining whether to process the at least one paused request or to generate an alert returned to the device from which the at least one request is received indicating that the target of the request is no longer valid and providing information about the modified database schema, based on whether the target exists subsequent to modification of the database schema due to the modification of the database schema.

2. The method of claim 1 , wherein the performing the pending transactions further comprises committing at least one pending transaction.

3. The method of claim 1 , wherein performing the pending transactions further comprises performing at least one pending inquiry.

4. The method of claim 1 , wherein pausing the at least one request comprises using a semaphore to restrict access to the database.

5. The method of claim 1 , wherein pausing the at least one request comprises storing the at least one request in a queue.

6. The method of claim 1 , wherein pausing the at least one request comprises using a lock to restrict access to the database.

7. The method of claim 1 , wherein the request to dynamically modify the database schema comprises receiving a modified schema, wherein the modified schema is defined using a data definition language.

8. The method of claim 1 , wherein modifying the database schema further comprises:

updating database files; and

updating database metadata.

9. The method of claim 8 , wherein the database metadata comprises at least one of a configuration file and a catalog file.

10. The method of claim 7 , further comprising:

when the target exists, performing the at least one paused request.

11. The method of claim 10 , further comprising when the target does not exist, generating an alert.

12. A non-transitory computer storage medium comprising computer-executable instructions, which when executed on a computing device perform a method for dynamically modifying a database schema of a database, the method comprising:

receiving a request to dynamically modify the database schema of the database;

completing any pending transactions on the database wherein the pending transactions were received prior to the request to dynamically modify the database schema;

upon completion of the pending transactions, initiating modification of the database schema of the database based on the received request, the modification of the database schema performed within the confines of the database and requiring recompilation of the database;

in response to receiving at least one request to access data stored in the database from a device after receiving the request to dynamically modify the database schema and prior to completion of modifying the database schema:

pausing the at least one request, wherein, from a perspective of the device, the database appears to continue processing the request while the request is paused;

after completion of modifying the database schema, resuming the at least one paused request;

identifying a target of the at least one paused request; and

based, at least in part, on at least one of an addition to the database schema or a deletion from the database schema, determining whether to process the at least one paused request or to generate an alert to the device from which the at least one request is received indicating that the target of the request is no longer valid and providing information about the modified database schema, based on whether the target exists subsequent to modification of the database schema due to the modification of the database schema.

13. The non-transitory computer storage medium of claim 12 , wherein performing the pending transactions further comprises at least one of:

committing at least one pending transaction; and

performing at least one pending inquiry.

14. The non-transitory computer storage medium of claim 12 , wherein the method further comprises:

when the target exists subsequent to modification of the database schema, performing the at least one paused request; and

when the target does not exist subsequent to modification of the database schema, generating an alert.

15. The non-transitory computer storage medium of claim 14 , wherein the alert comprises information about the modified database schema.

16. The non-transitory computer storage medium of claim 12 , wherein pausing the at least one request comprises using a semaphore to restrict access to the database.

17. A system for dynamically modifying a database schema of a database, the system comprising:

a database engine executable on a computing system, the database engine configured to:

receive a request to dynamically modify the database schema of the database;

perform any pending transactions on the database that were received prior to the request to dynamically modify the database schema;

upon completion of the pending transactions, initiate modification of the database schema of the database based on the received request, the modification of the database schema performed within the confines of the database and requiring recompilation of the database;

in response to receiving at least one request to access data stored in the database from a device after receiving the request to dynamically modify the database schema and prior to completion of modifying the database schema:

pause the at least one request, wherein, from a perspective of the device, the database appears to continue processing the request while the request is paused;

after completion of modifying the database schema, resume the at least one paused request;

identify a target of the at least one paused request;

based, at least in part, on at least one of an addition to the database schema or a deletion from the database schema, determine whether the target exists subsequent to the modification of the database schema due to the modification of the database schema;

when the target exists, perform the at least one paused request; and

when the target does not exist, generate an alert to the device from which the at least one request is received indicating that the target of the request is no longer valid and providing information about the modified database schema.

18. The system of claim 17 , wherein the database engine is configured to pause the at least one request using a semaphore to restrict access to the database.

19. The system of claim 17 , wherein the database engine is configured to perform the pending transactions by at least one of:

committing at least one pending transaction; and

performing at least one pending inquiry.

Assignments (6)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
SECURITY INTEREST Recorded Apr 4, 2022
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 059494/0693 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2015
From: LIN, KUNG YI; HU, JOHNNY; DEJESUS, ALMA
To: UNISYS CORPORATION
Reel/Frame 036953/0593 →
Cited By (1)
US 12,450,223