IP Library Patent Application 13452644
Patent Application
App. No. 13/452,644

System and method for Intelligently distributing a plurality of transactions for parallel processing

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 None
App. No.
13/452,644
Abstract

Disclosed are systems and methods for distributing a plurality of transactions for parallel processing, which includes receiving a message, such that each transaction comprises information associated with a target object, wherein the target object is stored in a memory. The systems and methods further include parsing the messages into the plurality of transactions, transmitting the parsed transactions to a transaction queue, receiving a transaction from the transaction queue, determining the target object associated with the transaction, assigning the transaction to a particular processing queue based on the target object, and guaranteeing that subsequent transactions associated with the target object are assigned to the same processing queue and the same processor, which guarantees that the target object will be modified in correct sequence.

Claims (61)

1 . A system for distributing a plurality of transactions for parallel processing, comprising:

a plurality of processors, wherein the processors can process a plurality of transactions in parallel;

a message parser operable to:

receive a message, wherein the message comprises a plurality of transactions that can be processed by the processors, wherein each transaction comprises information associated with a target object, wherein the target object is stored in a memory;

parse the messages into the plurality of transactions; and

transmit the parsed transactions to a transaction queue; and

the transaction manager operable to:

receive a transaction from the transaction queue;

determine the target object associated with the transaction; and

assign the transaction to a particular processing queue based on the target object; and

guarantee that subsequent transactions associated with the target object are assigned to the same processing queue and the same processor, which guarantees that the target object will be modified in correct sequence, wherein the transaction associated with the target object is processed in parallel with other transactions associated with different target objects.

2 . The system of claim 1 , wherein the transaction manager is further operable to:

receive a subsequent transaction from the transaction queue;

determine that a second target object is associated with the subsequent transaction;

assign the subsequent transaction to a second processing queue based on the second target object being different than the first target object; and

guarantee that additional subsequent transactions associated with the second target object are assigned to the second processing queue and the second processor, which guarantees that the second target object will be modified in correct sequence, wherein the transaction associated with the second object is processed by the second processor in parallel with the transaction associated with the target object processed by the first processor.

3 . The system of claim 1 , wherein the message is received from an external source.

4 . The system of claim 1 , wherein the target object is any object associated with a particular row in a database.

5 . The system of claim 1 , wherein the processor is a computer processor unit.

6 . The system of claim 1 , wherein the message is associated with a financial transaction.

7 . The system of claim 1 , wherein the transaction queue is first-in-first-out.

8 . The system of claim 1 , wherein the processing queue is first-in-first-out.

9 . The system of claim 1 , wherein the transaction manager is further operable to guarantee that the target object is not being processed by two different processors at the same time.

10 . A method for distributing a plurality of transactions for parallel processing, comprising:

receiving a message, wherein the message comprises a plurality of transactions, wherein each transaction comprises information associated with a target object, wherein the target object is stored in a memory;

parsing the messages, by a message parser, into the plurality of transactions;

transmitting the parsed transactions to a transaction queue;

receiving, by a transaction manager, a transaction from the transaction queue;

determining the target object associated with the transaction;

assigning the transaction to a particular processing queue based on the target object, wherein the particular processing queue is associated with a particular processor; and

guaranteeing that subsequent transactions associated with the target object are assigned to the same processing queue and the same processor, which guarantees that the target object will be modified in correct sequence, wherein the transaction associated with the target object is processed in parallel with other transactions associated with different target objects.

11 . The method of claim 10 , wherein the method further comprises:

receiving a subsequent transaction from the transaction queue;

determining that a second target object is associated with the subsequent transaction;

assigning the subsequent transaction to a second processing queue based on the second target object being different than the first target object; and

guaranteeing that additional subsequent transactions associated with the second target object are assigned to the second processing queue and the second processor, which guarantees that the second target object will be modified in correct sequence, wherein the transaction associated with the second object is processed by the second processor in parallel with the transaction associated with the target object processed by the first processor.

12 . The method of claim 10 , wherein the message is received from an external source.

13 . The method of claim 10 , wherein the target object is any object associated with a particular row in a database.

14 . The method of claim 10 , wherein the processor is a computer processor unit.

15 . The method of claim 10 , wherein the message is associated with a financial transaction.

16 . The method of claim 10 , wherein the transaction queue is first-in-first-out.

17 . The method of claim 10 , wherein the processing queue is first-in-first-out.

18 . Logic for distributing a plurality of transactions for parallel processing, the logic being embodied in a computer-readable medium and when executed operable to:

receive a message, wherein the message comprises a plurality of transactions, wherein each transaction comprises information associated with a target object, wherein the target object is stored in a memory;

parse the messages, by a message parser, into the plurality of transactions;

transmit the parsed transactions to a transaction queue;

receive, by a transaction manager, a transaction from the transaction queue;

determine the target object associated with the transaction;

assign the transaction to a particular processing queue based on the target object, wherein the particular processing queue is associated with a particular processor; and

guarantee that subsequent transactions associated with the target object are assigned to the same processing queue and the same processor, which guarantees that the target object will be modified in correct sequence, wherein the transaction associated with the target object is processed in parallel with other transactions associated with different target objects.

19 . The logic of claim 18 , wherein the logic is further operable to:

receive a subsequent transaction from the transaction queue;

determine that a second target object is associated with the subsequent transaction;

assign the subsequent transaction to a second processing queue based on the second target object being different than the first target object; and

guarantee that additional subsequent transactions associated with the second target object are assigned to the second processing queue and the second processor, which guarantees that the second target object will be modified in correct sequence, wherein the transaction associated with the second object is processed by the second processor in parallel with the transaction associated with the target object processed by the first processor.

20 . The logic of claim 18 , wherein the message is received from an external source.

21 . The logic of claim 18 , wherein the target object is any object associated with a particular row in a database.

22 . The logic of claim 18 , wherein the processor is a computer processor unit.

23 . The logic of claim 18 , wherein the message is associated with a financial transaction.

24 . The logic of claim 18 , wherein the transaction queue is first-in-first-out.

25 . The logic of claim 18 , wherein the processing queue is first-in-first-out.

Assignments (4)
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
RELEASE (REEL 034536 / FRAME 0438) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061574/0963 →
SECURITY INTEREST Recorded Dec 5, 2014
From: TIBCO SOFTWARE INC.; TIBCO KABIRA LLC; NETRICS.COM LLC
To: JPMORGAN CHASE BANK., N.A., AS COLLATERAL AGENT
Reel/Frame 034536/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2014
From: LAGERBLAD, BO JONAS; BAILEY, ASQUITH A.; KATKERE, ARUN L.; IYER, SITARAM KRISHNAMURTHY
To: TIBCO SOFTWARE INC.
Reel/Frame 033996/0877 →