IP Library › Granted Patent US 10,706,040
Granted Patent B1
US 10,706,040 · App. 16/657,495 · Granted Jul 7, 2020

System for ensuring transactional integrity thereof 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,706,040
App. No.
16/657,495
Granted
Jul 7, 2020
Kind
B1
Abstract

A system is configured to ensure transactional integrity thereof. The system 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 (88)

1. A system that is configured to ensure transactional integrity thereof, the system comprising:

(a) a first subsystem that executes transactions, each transaction including a BEGIN step, and one or more data manipulation language (DML) or data definition language (DDL) operations, the first subsystem including:

(i) a first hardware processor,

(ii) a first application executing in the first hardware processor,

(iii) a first indicia engine, and

(iv) a first instance of a database used by the first application; and

(b) a second subsystem that executes transactions, each transaction including a BEGIN step, and one or more data manipulation language (DML) or data definition language (DDL) operations, the second subsystem including:

(i) a second hardware processor,

(ii) a second application executing in the first hardware processor,

(iii) a second indicia engine, and

(iv) a second instance of a database used by the first application,

wherein the first subsystem is configured to receive a request to process a transaction, and

wherein the second subsystem is configured to receive the same request to process a transaction that was received at the first subsystem, and

wherein the first application executing in the first hardware processor and the second application executing in the second hardware processor are each configured to execute the request to process a transaction in their respective first and second instances of the first and second subsystem's databases, and

wherein the first and second indicia engine are configured to compute respective indicia of the outcome of the processing of the request, the indicia being dependent upon at least a subset of the DML or DDL operations, and

wherein the second indicia engine is further configured to send its computed indicia to the first subsystem, and

wherein the first indicia engine is further configured to compare its computed indicia with the indicia received from the second indicia engine, and

wherein one of the first and second subsystems is further configured to complete an action 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 first and second subsystems is one or more of:

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

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

(C) shutting down one of the first and second subsystems,

(D) taking one of the first and second subsystems offline,

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

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

2. The system of claim 1 further comprising:

(c) a replication engine, wherein the second subsystem is further configured to receive the same request to process a transaction that was received at the first subsystem using the replication engine.

3. The system of claim 1 further comprising:

(c) a replication engine, wherein the second indicia engine is further configured to send its computed indicia to the first subsystem using the replication engine.

4. The system of claim 1 wherein the action completed at one of the first and second subsystems includes issuing a database rollback on one of the first and second subsystems.

5. The system of claim 1 wherein the action completed at one of the first and second subsystems includes executing self-diagnostics on one of the first and second subsystems.

6. The system of claim 1 wherein the action completed at one of the first and second subsystems includes shutting down one of the first and second subsystems.

7. The system of claim 1 wherein the action completed at one of the first and second subsystems includes taking one of the first and second subsystems offline.

8. The system of claim 1 wherein the action completed at one of the first and second subsystems includes aborting the transaction executing on one of the first and second subsystems.

9. The system of claim 1 wherein the action completed at one of the first and second subsystems includes generating an error indication for one of the first and second subsystems.

10. A system that is configured to ensure transactional integrity thereof, the system comprising:

(a) a parent node including a parent node processor;

(b) a first subsystem that executes transactions, each transaction including a BEGIN step, and one or more data manipulation language (DML) or data definition language (DDL) operations, the first subsystem including:

(i) a first hardware processor,

(ii) a first application executing in the first hardware processor,

(iii) a first indicia engine, and

(iv) a first instance of a database used by the first application; and

(c) a second subsystem that executes transactions, each transaction including a BEGIN step, and one or more data manipulation language (DML) or data definition language (DDL) operations, the second subsystem including:

(i) a second hardware processor,

(ii) a second application executing in the first hardware processor,

(iii) a second indicia engine, and

(iv) a second instance of a database used by the first application,

wherein the first subsystem is configured to receive a request to process a transaction, and

wherein the second subsystem is configured to receive the same request to process a transaction that was received at the first subsystem, and

wherein the first application executing in the first hardware processor and the second application executing in the second hardware processor are each configured to execute the request to process a transaction in their respective first and second instances of the first and second subsystem's databases, and

wherein the first and second indicia engines are configured to compute respective indicia of the outcome of the processing of the request, the indicia being dependent upon at least a subset of the DML or DDL operations, and

wherein the first and second indicia engines are further configured to send their respective computed indicia to the parent node, and

wherein the parent node processor is further configured to compare the computed indicia received from the first and second indicia engines, and

wherein one of the first and second subsystems is further configured to complete an action 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 first and second subsystems is one or more of:

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

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

(C) shutting down one of the first and second subsystems,

(D) taking one of the first and second subsystems offline,

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

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

11. The system of claim 10 wherein the parent node is a transaction distributor.

12. The system of claim 10 wherein the action completed at one of the first and second subsystems includes issuing a database rollback on one of the first and second subsystems.

13. The system of claim 10 wherein the action completed at one of the first and second subsystems includes executing self-diagnostics on one of the first and second subsystems.

14. The system of claim 10 wherein the action completed at one of the first and second subsystems includes shutting down one of the first and second subsystems.

15. The system of claim 10 wherein the action completed at one of the first and second subsystems includes taking one of the first and second subsystems offline.

16. The system of claim 10 wherein the action completed at one of the first and second subsystems includes aborting the transaction executing on one of the first and second subsystems.

17. The system of claim 10 wherein the action completed at one of the first and second subsystems includes generating an error indication for one of the first and second subsystems.

18. A system that is configured to ensure transactional integrity thereof, the system comprising a plurality of subsystems that execute transactions, each transaction including a BEGIN step, and one or more data manipulation language (DML) or data definition language (DDL) operations, each subsystem including:

(a) a hardware processor,

(b) an application executing in the hardware processor,

(c) an indicia engine, and

(d) an instance of a database used by the application,

wherein each subsystem is configured to receive a request to process a transaction, the request received at each subsystem being the same request,

wherein the application executing in the hardware processor at each subsystem is configured to process the request in the instance of the subsystem's database,

wherein the indicia engine at each subsystem is configured to compute 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,

wherein the indicia engine at one of the subsystems is further configured to compare the computed indicia from the plurality of subsystems, and identify a majority of the subsystems having the same computed indicia, and

wherein one of the subsystems is further configured to complete an action 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:

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

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

(c) shutting down the one subsystem,

(d) taking the one subsystem offline,

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

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

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

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

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

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

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

24. The system 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 Feb 20, 2024
From: HOFFMANN, JOHN R.; HOLENSTEIN, BRUCE D.; HOLENSTEIN, PAUL J.; HIGHLEYMAN, WILBUR H.; HOLENSTEIN, DYLAN
To: GRAVIC, INC.
Reel/Frame 066504/0531 →
Continuity (7)
Continuation 16417041 · May 20, 2019
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 (3)
US 12,299,163 US 12,608,500 US 12,639,468