IP Library › Granted Patent US 10,650,450
Granted Patent B2
US 10,650,450 · App. 12/796,139 · Granted May 12, 2020

Synchronized processing of data by networked computing resources

Inventors: Daniel Aisen (New York, NY); Bradley Katsuyama (New York, NY); Robert Park (New York, NY); John Schwall (New York, NY); Richard Steiner (Wyckoff, NJ); Allen Zhang (Princeton, NJ); Thomas L. Popejoy (New York, NY)
Assignee: ROYAL BANK OF CANADA
G06Q40/04H04L43/0852H04L43/0858H04L43/0864H04L47/283H04L67/325H04L67/327
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,650,450
App. No.
12/796,139
Granted
May 12, 2020
Kind
B2
Abstract

Systems 100, 1000 , methods, and machine-interpretable programming or other instruction products for the management of data processing by multiple networked computing resources 106, 1106 . In particular, the disclosure relates to the synchronization of related requests for processing of data using distributed network resources.

Claims (45)

1. A system for coordinating processing of data by multiple networked computing resources, the system comprising at least one processor configured to:

receive or generate from one or more data sources signals representing instructions for execution of a plurality of proposed transactions in one or more financial interests by a plurality of networked computing resources;

associate each of the plurality of proposed transactions with a corresponding networked computing resource;

determine a timing sequence for routing the plurality of proposed transactions, the timing sequence defining a sequence and delays between times that the plurality of proposed transactions are to be routed, the timing sequence determined such that a difference between:

an execution or arrival time of a proposed transaction of the plurality of proposed transactions which executes or arrives the earliest at its corresponding networked computing resource, and

an execution or arrival time of a proposed transaction of the plurality of proposed transactions which executes or arrives the latest at its corresponding networked computing resource

is less than a defined time threshold; and

route, in the timing sequence, the plurality of proposed transactions to their respective corresponding networked computing resource for execution.

2. The system of claim 1 , wherein the at least one processor is configured to:

receive from the one or more data sources signals representing instructions for execution of at least one data process executable by the plurality of networked computing resources; and

divide the at least one data process into the plurality of proposed transactions to be routed to their respective corresponding networked computing resource.

3. A method for coordinating processing of data by multiple networked computing resources, the method performed by at least one processor configured to cause the at least one processor to:

receive or generate from one or more data sources signals representing instructions for execution of a plurality of proposed transactions in one or more financial interests by a plurality of networked computing resources;

associate each of the plurality of proposed transactions with a corresponding networked computing resource;

determine a timing sequence for routing the plurality of proposed transactions, the timing sequence defining a sequence and delays between times that the plurality of proposed transactions are to be routed, the timing sequence determined such that a difference between:

an execution or arrival time of a proposed transaction of the plurality of proposed transactions which executes or arrives the earliest at its corresponding networked computing resource, and

an execution or arrival time of a proposed transaction of the plurality of proposed transactions which executes or arrives the latest at its corresponding networked computing resource

is less than a defined time threshold; and

route, in the timing sequence, the plurality of proposed transactions to their respective corresponding networked computing resource for execution.

4. The method of claim 3 , comprising:

receiving from the one or more data sources signals representing instructions for execution of at least one data process executable by the plurality of networked computing resources; and

dividing the at least one data process into the plurality of proposed transactions to be routed to their respective corresponding networked computing resource.

5. A non-transitory, computer-readable medium or media having stored thereon computer readable instructions which when executed by at least one processor cause at least one processor to:

receive or generate from one Or more data sources signals representing instructions for execution of a plurality of proposed transactions in one or more financial interests by a plurality of networked computing resources;

associate each of the plurality of proposed transactions with a corresponding networked computing resource;

determine a timing sequence for routing the plurality of proposed transactions, the timing sequence defining a sequence and delays between times that the plurality of proposed transactions are to be routed, the timing sequence determined such that a difference between:

an execution or arrival time of a proposed transaction of the plurality of proposed transactions which executes or arrives the earliest at its respective networked computing resource, and

an execution or arrival time of a proposed transaction of the plurality of proposed transactions which executes or arrives the latest at its corresponding networked computing resource

is less than a defined time threshold; and

route, in the timing sequence, the plurality of proposed transactions to their respective corresponding networked computing resource for execution.

6. The medium or media of claim 5 , wherein the machine-interpretable instructions are configured to cause the at least one processor to:

receive from the one or more data sources signals representing instructions for execution of at least one data process executable by the plurality of networked computing resources; and

divide the at least one data process into the plurality of proposed transactions to be routed to their respective corresponding networked computing resource.

7. The method of claim 3 , wherein the defined time threshold is defined such that execution or arrival of the proposed transactions can occur before counterparty terms associated with one or more of the proposed transactions can be changed.

8. The method of claim 3 , wherein the defined time threshold is defined to reduce an amount of time in which counterparty terms associated with one or more of the proposed transactions can be changed.

9. The method of claim 3 , comprising determining the timing sequence based at least partly on latencies in execution or arrival of prior proposed transactions.

10. The method of claim 9 , wherein the timing sequence is determined based at least partly on rolling historical latencies in execution.

11. The method of claim 9 , comprising: monitoring latencies associated with routed proposed transactions and their corresponding networked computing resources.

12. The method of claim 3 , wherein the associating or routing of proposed transactions is based at least in part on historical fill rates or volatility of at least one of the networked computing resources.

13. The system of claim 1 , wherein the defined time threshold is defined such that execution or arrival of the proposed transactions can occur before counterparty terms associated with one or more of the proposed transactions can be changed.

14. The system of claim 1 , wherein the defined time threshold is defined to reduce an amount of time in which counterparty terms associated with one or more of the proposed transactions can be changed.

15. The system of claim 1 , wherein the at least one processor is configured to: determine the timing sequence based at least partly on latencies in execution or arrival of prior proposed transactions.

16. The system of claim 15 , wherein the timing sequence is determined based at least partly on rolling historical latencies in execution.

17. The system of claim 15 , wherein the at least one processor is configured to: monitor latencies associated with routed proposed transactions and their corresponding networked computing resources.

18. The system of claim 1 , wherein the associating or routing of proposed transactions is based at least in part on historical fill rates or volatility of at least one of the networked computing resources.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2012
From: PARK, ROBERT; KATSUYAMA, BRADLEY; STEINER, RICHARD; AISEN, DANIEL; ZHANG, ALLEN; SCHWALL, JOHN; POPEJOY, THOMAS L.
To: ROYAL BANK OF CANADA
Reel/Frame 029292/0617 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2010
From: PARK, ROBERT; KUTSUYAMA, BRADLEY; STEINER, RICHARD; AISEN, DANIEL; ZHANG, ALLEN; SCHWALL, JOHN
To: ROYAL BANK OF CANADA
Reel/Frame 025200/0155 →
Continuity (2)
Provisional Application 61285375 · Dec 10, 2009
Related Publication 20100332650A1 · Dec 30, 2010
Cited By (2)
US 12,632,901 US 12,712,940