IP Library › Granted Patent US 12,160,463
Granted Patent B2
US 12,160,463 · App. 18/374,891 · Granted Dec 3, 2024

Coordinated processing of data by networked computing resources

Inventors: Walter Michael Pitio (Morganville, NJ); Philip Iannaccone (New York, NY); 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
H04L67/10G06Q40/04H04L43/0852H04L47/283H04L47/70H04L67/62H04L43/0858H04L43/0864
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 12,160,463
App. No.
18/374,891
Granted
Dec 3, 2024
Kind
B2
Abstract

Systems, methods, and computer-readable media for coordinating processing of data by multiple networked computing resources include monitoring data associated with a plurality of networked computing resources, and coordinating the routing of data processing segments to the networked computing resources.

Claims (47)

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

observe data associated with a plurality of networked computing resources, the observed data including parameters of a dynamically-varying delay on data processing segments for at least one of the plurality of networked computing resources;

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

based on the observed data including the parameters of the dynamically-varying delay on data processing segments for the at least one of the plurality of networked computing resources:

divide the at least one data process into at least one data processing segment, each data processing segment to be routed to one of the plurality of networked computing resources, wherein dividing the at least one data process includes selecting to which of the plurality of networked computing resources at least one of the plurality of data processing segments is to be routed;

determine a plurality of timing parameters, each of the plurality of timing parameters to be associated with a corresponding one of the plurality of data processing segments, the plurality of timing parameters determined to cause coordinated execution of the at least one data processing segment by the plurality of networked computing resources based at least in part on the parameters of the dynamically-varying delay; and

route the at least one data processing segment to the plurality of corresponding networked computing resources in a timing sequence based on the timing parameters.

2. The system of claim 1 , wherein dividing the at least one data process into at least one data processing segment includes: for each of the selected networked computing resources, determining a size of the corresponding at least one data processing segments.

3. The system of claim 1 , dividing the at least one data process into at least one data processing segment includes or determining the plurality of timing parameters is based on a type of the at least one data process.

4. The system of claim 1 , wherein the at least one processor is configured to: determine whether liquidity in addition to posted liquidity is historically available at a particular networked computing resource,

and wherein dividing the at least one data process includes dividing the at least one data process into at least two data processing segments to be routed to the particular networked computing resource, the at least two data processing segments having timing parameters to target the posted available trade liquidity and the additional liquidity.

5. The system of claim 1 , wherein observing the data associated with the plurality of networked computing resources includes:

determining components of a latency associated with routing a data processing segment to one of the plurality of networked computing resources,

wherein determining the components of the latency is based on differences in latencies associated with routing different types of data processing segments to the one of the plurality of networked computing resources.

6. The system of claim 5 , wherein the components of the latency include at least one range of delay lengths introduced by at least one of the plurality of networked computing resources.

7. The system of claim 1 , wherein dividing the at least one data process into at least one data processing segment includes or determining the plurality of timing parameters is based on historical execution latencies for the plurality of networked computing resources.

8. The system of claim 7 , wherein dividing the at least one data process into at least one data processing segment includes or determining the plurality of timing parameters is based on a volatility level and the historical execution latencies.

9. A method for coordinating processing of data by multiple networked computing resources, the method comprising:

observing data associated with a plurality of networked computing resources, the observed data including parameters of a dynamically-varying delay on data processing segments for at least one of the plurality of networked computing resources;

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

based on the observed data including the parameters of the dynamically-varying delay on data processing segments for the at least one of the plurality of networked computing resources:

dividing the at least one data process into at least one data processing segment, each data processing segment to be routed to one of the plurality of networked computing resources, wherein dividing the at least one data process includes selecting to which of the plurality of networked computing resources at least one of the plurality of data processing segments is to be routed;

determining a plurality of timing parameters, each of the plurality of timing parameters to be associated with a corresponding one of the plurality of data processing segments, the plurality of timing parameters determined to cause coordinated execution of the at least one data processing segment by the plurality of networked computing resources based at least in part on the parameters of the dynamically-varying delay; and

routing the at least one data processing segment to the plurality of corresponding networked computing resources in a timing sequence based on the timing parameters.

10. The method of claim 9 , wherein dividing the at least one data process into at least one data processing segment includes: for each of the selected networked computing resources, determining a size of the corresponding at least one data processing segments.

11. The method of claim 9 , wherein dividing the at least one data process into at least one data processing segment includes or determining the plurality of timing parameters is based on a type of the at least one data process.

12. The method of claim 9 , wherein the method includes:

determining whether liquidity in addition to posted liquidity is historically available at a particular networked computing resource,

and wherein dividing the at least one data process includes dividing the at least one data process into at least two data processing segments to be routed to the particular networked computing resource, the at least two data processing segments having timing parameters to target the posted available trade liquidity and the additional liquidity.

13. The method of claim 9 , wherein observing the data associated with the plurality of networked computing resources includes:

determining components of a latency associated with routing a data processing segment to one of the plurality of networked computing resources,

wherein determining the components of the latency is based on differences in latencies associated with routing different types of data processing segments to the one of the plurality of networked computing resources.

14. The method of claim 13 , wherein the components of the latency include at least one range of delay lengths introduced by at least one of the plurality of networked computing resources.

15. The method of claim 9 , wherein dividing the at least one data process into at least one data processing segment includes or determining the plurality of timing parameters is based on historical execution latencies for the plurality of networked computing resources.

16. The method of claim 15 , wherein dividing the at least one data process into at least one data processing segment includes or determining the plurality of timing parameters is based on a volatility level and the historical execution latencies.

17. A non-transitory computer-readable medium having stored thereon instructions which, when executed by at least one processor, configure the at least one processor to:

observe data associated with a plurality of networked computing resources, the observed data including parameters of a dynamically-varying delay on data processing segments for at least one of the plurality of networked computing resources;

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

based on the observed data including the parameters of the dynamically-varying delay on data processing segments for the at least one of the plurality of networked computing resources:

divide the at least one data process into at least one data processing segment, each data processing segment to be routed to one of the plurality of networked computing resources, wherein dividing the at least one data process includes selecting to which of the plurality of networked computing resources at least one of the plurality of data processing segments is to be routed;

determine a plurality of timing parameters, each of the plurality of timing parameters to be associated with a corresponding one of the plurality of data processing segments, the plurality of timing parameters determined to cause coordinated execution of the at least one data processing segment by the plurality of networked computing resources based at least in part on the parameters of the dynamically-varying delay; and

route the at least one data processing segment to the plurality of corresponding networked computing resources in a timing sequence based on the timing parameters.

18. The non-transitory computer-readable medium of claim 17 , wherein dividing the at least one data process into at least one data processing segment includes or determining the plurality of timing parameters is based on a volatility level and on historical execution latencies for the plurality of networked computing resources.

19. The non-transitory computer-readable medium of claim 17 , wherein observing the data associated with the plurality of networked computing resources includes:

determining components of a latency associated with routing a data processing segment to one of the plurality of networked computing resources,

wherein determining the components of the latency is based on differences in latencies associated with routing different types of data processing segments to the one of the plurality of networked computing resources.

20. The non-transitory computer-readable medium of claim 19 , wherein the components of the latency include at least one range of delay lengths introduced by at least one of the plurality of networked computing resources.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2023
From: PARK, ROBERT; KATSUYAMA, BRADLEY; STEINER, RICHARD; AISEN, DANIEL; ZHANG, ALLEN; SCHWALL, JOHN; POPEJOY, THOMAS
To: ROYAL BANK OF CANADA
Reel/Frame 065073/0961 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2023
From: PITIO, WALTER MICHAEL; IANNACCONE, PHILIP
To: ROYAL BANK OF CANADA
Reel/Frame 065074/0121 →
Continuity (10)
Continuation 17670164 · Feb 11, 2022
Continuation 16844894 · Apr 9, 2020
Continuation 16042323 · Jul 23, 2018
Continuation 15055130 · Feb 26, 2016
Continuation In Part 12796139 · Jun 8, 2010
Provisional Application 62132063 · Mar 12, 2015
Provisional Application 62126120 · Feb 27, 2015
Provisional Application 62126106 · Feb 27, 2015
Provisional Application 61285375 · Dec 10, 2009
Related Publication 20240031424A1 · Jan 25, 2024