IP Library › Granted Patent US 10,452,648
Granted Patent B1
US 10,452,648 · App. 16/417,041 · Granted Oct 22, 2019

Method of ensuring transactional integrity of a system that includes a plurality of subsystems, one of which takes an action upon a loss of transactional integrity

Inventors: Bruce D. Holenstein (Media, PA); John R. Hoffmann (Kennett Square, PA); Paul J. Holenstein (Downingtown, PA); Wilbur H. Highleyman (Blairstown, NJ); Dylan R. Holenstein (Media, PA)
Assignee: Gravic, Inc.
G06F16/2365G06F9/466G06F16/2379G06F16/275H04L67/14
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,452,648
App. No.
16/417,041
Granted
Oct 22, 2019
Kind
B1
Abstract

A method is provided for ensuring transactional integrity of a system that includes a first subsystem and a second subsystem. Each of the subsystems receive the same request to process a transaction. An indicia engine at each subsystem computes indicia of the outcome of the processing of the same request. The computed indicia from each of the subsystems is compared. An action is completed at one of the subsystems when the computed indicia does not match. The action completed at one of the subsystems is one or more of issuing a database rollback on one of the subsystems, executing self-diagnostics on one of the subsystems, shutting down one of the subsystems, taking one of the subsystems offline, aborting the transaction executing on one of the subsystems, and generating an error indication for one of the subsystems.

Claims (61)

1. A method of ensuring transactional integrity of a system that includes a first subsystem and a second subsystem, each subsystem including (i) a hardware processor, (ii) an application executing in the hardware processor, (iii) an indicia engine, and (iv) an instance of a database used by the application, each subsystem executing transactions, each transaction including a BEGIN step, and one or more data manipulation language (DML) or data definition language (DDL) operations, the system performing the method comprising:

(a) receiving at the first subsystem a request to process a transaction;

(b) receiving at the second subsystem the same request to process a transaction that was received at the first subsystem;

(c) processing in the application executing in the hardware processor at each subsystem the request in the instance of the subsystem's database;

(d) the indicia engine at each subsystem computing indicia of the outcome of the processing of the request, wherein the indicia is dependent upon at least a subset of the DML or DDL operations;

(e) the indicia engine at the second subsystem sending its computed indicia to the first subsystem; and

(f) the indicia engine at the first subsystem:

(i) comparing its computed indicia with the indicia received from the second subsystem, and

(ii) completing an action at one of the subsystems when the comparison indicates that the computed indicia of the second subsystem does not match the computed indicia of the first subsystem, thereby indicating a lack of transactional integrity in one or both of the first and second subsystems, wherein the action completed at one of the subsystems is one or more of:

(A) issuing a database rollback on one of the subsystems,

(B) executing self-diagnostics on one of the subsystems,

(C) shutting down one of the subsystems,

(D) taking one of the subsystems offline,

(E) aborting the transaction executing on one of the subsystems, and

(F) generating an error indication for one of the subsystems.

2. The method of claim 1 wherein the system includes a replication engine, and wherein in step (b), the first subsystem sends to the second subsystem the request to process a transaction using the replication engine.

3. The method of claim 1 wherein the system includes a replication engine, and wherein in step (e), the indicia engine at the second subsystem sends its computed indicia to the first subsystem using the replication engine.

4. The method of claim 1 wherein the action completed at one of the subsystems includes issuing a database rollback on one of the subsystems.

5. The method of claim 1 wherein the action completed at one of the subsystems includes executing self-diagnostics on one of the subsystems.

6. The method of claim 1 wherein the action completed at one of the subsystems includes shutting down one of the subsystems.

7. The method of claim 1 wherein the action completed at one of the subsystems includes taking one of the subsystems offline.

8. The method of claim 1 wherein the action completed at one of the subsystems includes aborting the transaction executing on one of the subsystems.

9. The method of claim 1 wherein the action completed at one of the subsystems includes generating an error indication for one of the subsystems.

10. A method of ensuring transactional integrity of a system that includes a first subsystem and a second subsystem, each subsystem including (i) a hardware processor, (ii) an application executing in the hardware processor, (iii) an indicia engine, and (iv) an instance of a database used by the application, each subsystem executing transactions, each transaction including a BEGIN step, and one or more data manipulation language (DML) or data definition language (DDL) operations, the system performing the method comprising:

(a) receiving at the first subsystem a request to process a transaction;

(b) receiving at the second subsystem the same request to process a transaction that was received at the first subsystem;

(c) processing in the application executing in the hardware processor at each subsystem the request in the instance of the subsystem's database;

(d) the indicia engine at each subsystem computing indicia of the outcome of the processing of the request, wherein the indicia is dependent upon at least a subset of the DML or DDL operations; and

(e) comparing the computed indicia from the first subsystem and the second subsystem;

(f) completing an action at one of the subsystems when the comparison indicates that the computed indicia of the second subsystem does not match the computed indicia of the first subsystem, thereby indicating a lack of transactional integrity in one or both of the first and second subsystems, wherein the action completed at one of the subsystems is one or more of:

(i) issuing a database rollback on one of the subsystems,

(ii) executing self-diagnostics on one of the subsystems,

(iii) shutting down one of the subsystems,

(iv) taking one of the subsystems offline,

(v) aborting the transaction executing on one of the subsystems, and

(vi) generating an error indication for one of the subsystems.

11. The method of claim 10 wherein the system includes a replication engine, and wherein in step (b), the first subsystem sends to the second subsystem the request to process a transaction using the replication engine.

12. The method of claim 10 wherein the action completed at one of the subsystems includes issuing a database rollback on one of the subsystems.

13. The method of claim 10 wherein the action completed at one of the subsystems includes executing self-diagnostics on one of the subsystems.

14. The method of claim 10 wherein the action completed at one of the subsystems includes shutting down one of the subsystems.

15. The method of claim 10 wherein the action completed at one of the subsystems includes taking one of the subsystems offline.

16. The method of claim 10 wherein the action completed at one of the subsystems includes aborting the transaction executing on one of the subsystems.

17. The method of claim 10 wherein the action completed at one of the subsystems includes generating an error indication for one of the subsystems.

18. A method of ensuring transactional integrity of a system that includes a plurality of subsystems, each subsystem including (i) a hardware processor, (ii) an application executing in the hardware processor, (iii) an indicia engine, and (iv) an instance of a database used by the application, each subsystem executing transactions, each transaction including a BEGIN step, and one or more data manipulation language (DML) or data definition language (DDL) operations, the system performing the method comprising:

(a) receiving at each of the subsystems a request to process a transaction, the request received at each subsystem being the same request;

(b) processing in the application executing in the hardware processor at each subsystem the request in the instance of the subsystem's database;

(c) the indicia engine at each subsystem computing indicia of the outcome of the processing of the request, wherein the indicia is dependent upon at least a subset of the DML or DDL operations; and

(d) comparing the computed indicia from the plurality of subsystems, and identifying a majority of the subsystems having the same computed indicia; and

(e) completing an action at one of the subsystems when the comparison indicates that the computed indicia at the one subsystem does not match the computed indicia of the majority of the subsystems, thereby indicating a lack of transactional integrity in the one subsystem, wherein the action completed at one of the subsystems is one or more of:

(i) issuing a database rollback on the one subsystem,

(ii) executing self-diagnostics on the one subsystem,

(iii) shutting down the one subsystem,

(iv) taking the one subsystem offline,

(v) aborting the transaction executing on the one subsystem, and

(vi) generating an error indication for the one subsystem.

19. The method of claim 18 wherein the action completed at the one subsystem is issuing a database rollback on the one subsystem.

20. The method of claim 18 wherein the action completed at the one subsystem is executing self-diagnostics on the one subsystem.

21. The method of claim 18 wherein the action completed at the one subsystem is shutting down the one subsystem.

22. The method of claim 18 wherein the action completed at the one subsystem is taking the one subsystem offline.

23. The method of claim 18 wherein the action completed at the one subsystem is aborting the transaction executing on the one subsystem.

24. The method of claim 18 wherein the action completed at the one subsystem is generating an error indication for the one subsystem.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2019
From: HOLENSTEIN, BRUCE D.; HOFFMANN, JOHN R.; HOLENSTEIN, PAUL J.; HIGHLEYMAN, WILBUR H.; HOLENSTEIN, DYLAN
To: GRAVIC, INC.
Reel/Frame 049276/0938 →
Continuity (6)
Continuation 16213627 · Dec 7, 2018
Continuation 16026442 · Jul 3, 2018
Continuation 15890844 · Feb 7, 2018
Continuation 15701065 · Sep 11, 2017
Continuation In Part 15628354 · Jun 20, 2017
Continuation In Part 14961357 · Dec 7, 2015
Cited By (7)
US 12,210,916 US 12,299,163 US 12,327,138 US 12,530,338 US 12,608,500 US 12,639,468 US 12,645,700