IP Library Granted Patent US 9,727,621
Granted Patent B2
US 9,727,621 · App. 14/674,366 · Granted Aug 8, 2017

Systems and methods for servicing database events

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,727,621
App. No.
14/674,366
Granted
Aug 8, 2017
Kind
B2
Abstract

Provided are systems and methods for determining, by a master queue service, that one or more database event records are present in a master input queue, wherein each of the one or more database event records corresponds to an occurrence of an event at a database, causing, by the master queue service, moving of the one or more database event records from the master input queue to a master output queue, determining, by the master queue service, one or more processes associated with the one or more database event records, and causing, by the master queue service, adding of the one or more database event records to one or more process queues for the one or more processes.

Claims (49)

1. A computer-implemented method, comprising:

executing, by a database management system, a database trigger module in response to a change in a database table;

inserting, by the database trigger module of the database management system, one or more database event records into a master input queue table of a master queue service of a computer system, wherein at least one of the one or more database records identifies the change in the database table of the database management system;

determining, by the master queue service, that the one or more database event records are present in the master input queue table;

causing, by the master queue service, moving of the one or more database event records from the master input queue table to a master output queue table;

determining, by the master queue service, one or more processes associated with the one or more database event records by evaluating a mapping of relationships between the one or more processes and database event in each of the one or more database event records; and

causing, by the master queue service, adding of the one or more database event records to one or more process queue tables for each one of the one or more processes based at least in part on the mapping of relationships.

2. The computer-implemented method of claim 1 , wherein at least one of the one or more database event records corresponds to an occurrence of a change of data in the database, and wherein the at least one of the one or more database event records that corresponds to an occurrence of the change of data in the database comprises an indication of the data that changed.

3. The computer-implemented method of claim 1 , wherein at least one of the one or more database event records that corresponds to an occurrence of a change of data in a row of a table of the database, and wherein the at least one of the one or more database event records comprises a key value identifying the row of the table of the database in which the data is changed.

4. The computer-implemented method of claim 1 , wherein the database trigger module is automatically executed by the database management system in response to the change in the database table.

5. The computer-implemented method of claim 1 , wherein the master queue service comprises an application executed by a computer operating system of the computer system that is configured to execute in parallel with execution of the database management system.

6. The computer-implemented method of claim 1 , wherein causing moving of the one or more database event records from the master input queue table to the master output queue table comprises executing an atomic operation to cause the following operations to occur in a same data transaction:

writing the one or more database event records to the master output queue table; and

deleting the one or more database event records from the master input queue table.

7. The computer-implemented method of claim 1 , wherein causing moving of the one or more database event records from the master input queue table to the master output queue table comprises executing a structured query language (SQL) OUTPUT operation to cause the following operations to occur in a same data transaction:

writing the one or more database event records to the master output queue table; and

deleting the one or more database event records from the master input queue table.

8. The computer-implemented method of claim 1 , wherein causing adding of the one or more database event records to the one or more process queue tables for each one of the one or more processes comprises inserting, for each of the one or more processes, the one or more database event records to a process queue table for the process.

9. The computer-implemented method of claim 8 , the method further comprising:

determining that the one or more database event records are successfully written to the process queue for each of the one or more processes; and

causing, in response to determining that the one or more database event records are successfully written to the process queue for each of the one or more processes, removing of the one or more database event records from the master output queue.

10. The computer-implemented method of claim 1 , wherein at least one of the master input queue table and the master output queue table is a table stored in the database.

11. A system comprising:

at least one memory operable to store computer-executable instructions; and

at least one processor configured to access the at least one memory and execute the computer-executable instructions to:

execute, by a database management system, a database trigger module in response to a change in a database table;

insert, by the database trigger module of the database management system, one or more database event records into a master input queue table of a master queue service of a computer system, wherein at least one of the one or more database records identifies the change in the database table of the database management system;

determine, by the master queue service, that the one or more database event records are present in the master input queue table;

cause, by the master queue service, moving of the one or more database event records from the master input queue table to a master output queue table;

determine, by the master queue service, one or more processes associated with the one or more database event records by evaluating a mapping of relationships between the one or more processes and database event in each of the one or more database event records; and

cause, by the master queue service, adding of the one or more database event records to one or more process queue tables for each one of the one or more processes based at least in part on the mapping of relationships.

12. The system of claim 11 , wherein at least one of the one or more database event records corresponds to an occurrence of a change of data in the database, and wherein the at least one of the one or more database event records that corresponds to an occurrence of a change of data in the database comprises an indication of the data that changed.

13. The system of claim 11 , wherein at least one of the one or more database event records that corresponds to an occurrence of a change of data in a row of a table of the database, and wherein the at least one of the one or more database event records comprises a key value identifying the row of the table of the database in which the data is changed.

14. The system of claim 11 , wherein the database trigger module is automatically executed by the database management system in response to the change in the database table.

15. The system of claim 14 , wherein the master queue service comprises an application executed by a computer operating system that is configured to execute in parallel with execution of the database management system.

16. The system of claim 11 , wherein causing moving of the one or more database event records from the master input queue table to the master output queue table comprises executing an atomic operation to cause the following operations to occur in a same data transaction:

writing the one or more database event records to the master output queue table; and

deleting the one or more database event records from the master input queue table.

17. The system of claim 11 , wherein causing adding of the one or more database event records to the one or more process queue tables for each one of the one or more processes comprises inserting, for each of the one or more processes, the one or more database event records to a process queue table for the process.

18. The system of claim 17 , wherein the instructions are further executable by the at least one processor to cause:

determine that the one or more database event records are successfully written to the process queue for each of the one or more process; and

cause, in response to determining that the one or more database event records are successfully written to the process queue for each of the one or more process, removing of the one or more database event records from the master output queue.

19. A non-transitory computer-readable storage medium comprising program instructions stored thereon that are executable by one or more processors to:

execute, by a database management system, a database trigger module in response to a change in a database table;

insert, by the database trigger module of the database management system, one or more database event records into a master input queue table of a master queue service of a computer system, wherein at least one of the one or more database records identifies the change in the database table of the database management system;

determine, by the master queue service, that the one or more database event records are present in master input queue table;

cause, by the master queue service, moving of the one or more database event records from the master input queue table to a master output queue table;

determine, by the master queue service, one or more processes associated with the one or more database event records by evaluating a mapping of relationships between the one or more processes and database event in each of the one or more database event records;

cause, by the master queue service, adding of the one or more database event records to one or more process queue tables for each one of the one or more processes based at least in part on the mapping of relationships.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Oct 5, 2022
From: BANK OF AMERICA, N.A.
To: CHANGE HEALTHCARE RESOURCES, LLC (FORMERLY KNOWN AS ALTEGRA HEALTH OPERATING COMPANY LLC); CHANGE HEALTHCARE SOLUTIONS, LLC; CHANGE HEALTHCARE PERFORMANCE, INC. (FORMERLY KNOWN AS CHANGE HEALTHCARE, INC.); CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE TECHNOLOGIES, LLC (FORMERLY KNOWN AS MCKESSON TECHNOLOGIES LLC); CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 061620/0054 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2018
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 046449/0899 →
CHANGE OF ADDRESS Recorded Mar 23, 2017
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 042082/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2017
From: PF2 IP LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 041966/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2017
From: MCKESSON CORPORATION
To: PF2 IP LLC
Reel/Frame 041938/0501 →
SECURITY AGREEMENT Recorded Mar 2, 2017
From: CHANGE HEALTHCARE HOLDINGS, LLC; CHANGE HEALTHCARE, INC.; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE SOLUTIONS, LLC; ALTEGRA HEALTH OPERATING COMPANY LLC; MCKESSON TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 041858/0482 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2017
From: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
To: MCKESSON CORPORATION
Reel/Frame 041355/0408 →
CHANGE OF NAME Recorded Jan 11, 2017
From: MCKESSON FINANCIAL HOLDINGS
To: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
Reel/Frame 041329/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2015
From: MCKESSON CORPORATION
To: MCKESSON FINANCIAL HOLDINGS
Reel/Frame 036698/0080 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2015
From: WALKER, PATRICIA C.; MCCARTY, SCOTT
To: MCKESSON CORPORATION
Reel/Frame 035307/0198 →