IP Library Granted Patent US 8,752,054
Granted Patent B2
US 8,752,054 · App. 12/722,230 · Granted Jun 10, 2014

Intelligent merging of transactions based on a variety of criteria

Inventors: Jon Louis Bentley (New Providence, NJ); Frank John Boyle, III (Denver, CO); Anjur Sundaresan Krishnakumar (Princeton, NJ); Parameshwaran Krishnan (Basking Ridge, NJ); John H. Meiners (Boulder, CO); Navjot Singh (Denville, NJ); Shalini Yajnik (Berkeley Heights, NJ)
Assignee: Avaya Inc.
G06F9/466
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 8,752,054
App. No.
12/722,230
Filed
Mar 11, 2010
Granted
Jun 10, 2014
Kind
B2
Art Unit
2195
USPC
718/101
Abstract

An apparatus and methods are disclosed for intelligently determining when to merge transactions to backup storage. In particular, in accordance with the illustrative embodiment, queued transactions may be merged based on a variety of criteria, including, but not limited to, one or more of the following: the number of queued transactions; the rate of growth of the number of queued transactions; the calendrical time; estimates of the time required to execute the individual transactions; a measure of importance of the individual transactions; the transaction types of the individual transactions; a measure of importance of one or more data updated by the individual transactions; a measure of availability of one or more resources; a current estimate of the time penalty associated with shadowing a page of memory; and the probability of rollback for the individual transactions, and for the merged transaction.

Claims (54)

1. An apparatus comprising:

a queue configured to store a plurality of atomic transactions, wherein said plurality of atomic transactions comprises a first transaction and a second transaction, and wherein said first transaction is before said second transaction in said queue;

a memory; and

a processor coupled to the memory, the processor configured to perform the steps of:

(a) determining whether to merge said first transaction and said second transaction based on whether the number of transactions in said queue exceeds a first predetermined threshold and whether a rate of growth of the number of transactions in a transaction queue exceeds a second predetermined threshold; and

(b) when the determination is affirmative,

(i) merging the first and second transactions,

(ii) processing the merged transaction, wherein the processing comprises transmitting a signal that is based on said merged transaction, and

(iii) storing in the memory a system state produced by the processing, and otherwise,

(i) processing said first transaction, wherein the processing comprises transmitting a signal that is based on said first transaction,

(ii) processing said second transaction, wherein the processing comprises transmitting a signal that is based on said second transaction, and

(iii) storing in the memory a system state produced by the processing of the first transaction and the processing of the second transaction.

2. The apparatus of claim 1 wherein the time required to process said merged transaction is less than the sum of the times required to process said first transaction and said second transaction.

3. The apparatus of claim 1 further comprising a first memory, wherein a first non-empty set of pages of said first memory is updated by said first transaction, and wherein a second non-empty set of pages of said first memory is updated by said second transaction.

4. The apparatus of claim 3 further comprising a second memory, wherein the processing of said first transaction comprises copying to said second memory the updated contents of said first set of pages, and wherein the processing of said second transaction comprises copying to said second memory the updated contents of said second set of pages, and wherein the processing of said merged transaction comprises copying to said second memory the updated contents of the union of said first set of pages and said second set of pages.

5. The apparatus of claim 3 wherein when:

(i) the first transaction stores a first value in a location of said first memory, and

(ii) the second transaction is after the first transaction and stores a second value in said location, and

(iii) the second transaction does not read the contents of said location prior to storing said second value in said location, and

(iv) the first and second transactions are merged, the merged transaction eschews storing said first value in said location.

6. The apparatus of claim 1 wherein the determination whether to merge the first and second transactions is also based on an estimate of the time required to execute the first transaction.

7. The apparatus of claim 6 wherein the determination whether to merge the first and second transactions is also based on an estimate of the time required to execute the second transaction.

8. An apparatus comprising:

a queue configured to store a plurality of atomic transactions, wherein said plurality of transactions comprises a first transaction and a second transaction, and wherein said first transaction is before said second transaction in said queue; and

a memory;

a processor coupled to the memory, the processor configured to perform the steps of:

(a) determining whether to merge said first transaction and said second transaction based on whether the calendrical time is within a predetermined interval of time and whether a rate of growth of the number of transactions in a transaction queue exceeds a predetermined threshold rate of growth; and

(b) when the determination is affirmative,

(i) merging the first and second transactions,

(ii) processing the merged transaction, wherein the processing comprises transmitting a signal that is based on said merged transaction, and

(iii) storing in the memory a system state produced by the processing, and otherwise,

(i) processing said first transaction, wherein the processing comprises transmitting a signal that is based on said first transaction,

(ii) processing said second transaction, wherein the processing comprises transmitting a signal that is based on said second transaction, and

(iii) storing in the memory a system state produced by the processing of the first transaction and the processing of the second transaction.

9. The apparatus of claim 8 wherein the time required to process said merged transaction is less than the sum of the times required to process said first transaction and said second transaction.

10. The apparatus of claim 8 further comprising a first memory, wherein a first non-empty set of pages of said first memory is updated by said first transaction, and wherein a second non-empty set of pages of said first memory is updated by said second transaction.

11. The apparatus of claim 10 further comprising a second memory, wherein the processing of said first transaction comprises copying to said second memory the updated contents of said first set of pages, and wherein the processing of said second transaction comprises copying to said second memory the updated contents of said second set of pages, and wherein the processing of said merged transaction comprises copying to said second memory the updated contents of the union of said first set of pages and said second set of pages.

12. The apparatus of claim 8 wherein the determination whether to merge the first and second transactions is also based on a measure of importance of said first transaction.

13. The apparatus of claim 8 wherein said first transaction is of a first transaction type, and wherein said second transaction is of a second transaction type, and wherein the determination whether to merge the first and second transactions is also based on one or both of said first transaction type and said second transaction type.

14. The apparatus of claim 8 wherein the determination whether to merge the first and second transactions is also based on a measure of availability of a resource of said apparatus.

15. An apparatus comprising:

a queue for storing configured to store a plurality of atomic transactions;

a memory; and

a processor coupled to the memory, the processor configured to perform the steps of:

(a) determining whether to merge a first of said plurality of atomic transactions and a second of said plurality of atomic transactions based on a measure of whether response time for previously-executed transactions exceeds a first predetermined threshold and whether a rate of growth of the number of transactions in a transaction queue exceeds a second predetermined threshold; and

(b) when the determination is affirmative: merging the first and second transactions; executing the merged transaction; and storing in the memory a system state produced by the merged transaction, and

otherwise, executing the first and second transactions separately; and storing in the memory a system state produced by the execution of the first transaction and the execution of the second transaction.

16. The apparatus of claim 15 further comprising:

a first memory whose contents is updated by one or more of said plurality of transactions; and

a second memory for storing a shadowed copy of the contents of said first memory.

17. The apparatus of claim 16 wherein the determination whether to merge the first and second transactions is also based on a current estimate of the time penalty associated with shadowing a page of said first memory.

18. The apparatus of claim 15 wherein the determination whether to merge the first and second transactions is also based on an estimate of the probability of rollback for at least one of: (i) said first transaction, (ii) said second transaction, and (iii) the merged transaction.

19. The apparatus of claim 15 wherein the determination whether to merge the first and second transactions is also based on a measure of importance of a datum written by said first transaction.

20. The apparatus of claim 15 wherein the determination whether to merge the first and second transactions is also based on the rate of growth of the number of transactions in said queue.

Assignments (23)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2026
From: AVAYA LLC
To: PULSELINK SYSTEMS LLC
Reel/Frame 074909/0627 →
INTELLECTUAL PROPERTY PARTIAL RELEASE AND REASSIGNMENT Recorded Feb 4, 2026
From: CITIBANK, N.A.
To: AVAYA LLC (F/K/A AVAYA INC.); AVAYA MANAGEMENT L.P.
Reel/Frame 074944/0573 →
INTELLECTUAL PROPERTY PARTIAL RELEASE AND REASSIGNMENT Recorded Feb 4, 2026
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: AVAYA LLC (F/K/A AVAYA INC.); AVAYA MANAGEMENT L.P.
Reel/Frame 074981/0940 →
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 029608/0256 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 044891/0801 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Jan 10, 2013
From: AVAYA, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 029608/0256 →
SECURITY AGREEMENT Recorded Feb 22, 2011
From: AVAYA INC., A DELAWARE CORPORATION
To: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE
Reel/Frame 025863/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2010
From: BENTLEY, JON LOUIS; BOYLE, FRANK JOHN, III; KRISHNAKUMAR, ANJUR SUNDARESAN; KRISHNAN, PARAMESHWARAN; MEINERS, JOHN H.; SINGH, NAVJOT; YAJNIK, SHALINI
To: AVAYA, INC.
Reel/Frame 024262/0398 →
Continuity (1)
Related Publication 20110225586A1 · Sep 15, 2011