Synchronized processing of data by networked computing resources.
Abstract
Los sistemas 100, 1000, métodos, y programación interpretable por máquina u otros productos de instrucciones para la administración de procesamiento de datos por múltiples recursos de cómputo conectados en red 106, 116. En particular, la descripción se refiere a la sincronización de solicitudes relacionadas para el procesamiento de datos utilizando recursos de red distribuidos.

Term
3.7 yearsleft in the term
Expires 8 June 2030.
- Priority
- Filed
- Granted
- Today
- Expires
32 claims: 4 independent, 28 dependent
- 1REIVINDICACIONES 1. Un dispositivo para coordinar el procesamiento de datos por múltiples recursos de cómputo conectados en red, el dispositivo que comprende:por lo menos un procesador que está configurado para: asociar una pluralidad de solicitudes de procesamiento de datos ejecutables por una pluralidad de múltiples recursos de cómputo conectados en red, con al menos un párametro de temporización determinado al menos en parte utilizando una o más latencias asociadas con la ejecución de solicitudes de procesamiento por al menos uno de los recursos de cómputo conectados en red;dirigir, de acuerdo con una secuencia de temporización, cada una de la pluralidad de solicitudes de procesamiento de datos a una pluralidad de recursos de cómputo conectados en red;la secuencia de temporización para dirigir las solicitudes de procesamiento basándose en el al menos un parámetro de temporización asociado para ocasionar la ejecución sincronizada de la pluralidad de solicitudes de procesamiento de datos por la pluralidad de recursos de cómputo conectados en red.
- 2El dispositivo según la reivindicación 1, en donde el al menos un parámetro de temporización se determina con base al menos parcialmente en una latencia monltoreada dinámicamente en ejecución de solicitudes de procesamiento direccionadas al menos a una de la pluralidad de recursos de cómputo conectados en red.
- 3El dispositivo según la reivindicación 1, en donde el al instituto j-‘ DS LA X^'INDUSTRIAL * 1 Λ ' menos un parámetro de temporización se determina base al menos parcialmente en una latencia estadística en ejecúción de solicitudes de procesamiento direccionadas al menos a una de la pluralidad de recursos de cómputo conectados en red.
- 4- El dispositivo según la reivindicación 1, en donde el al menos un parámetro de temporización se determina base al menos parcialmente en una latencia histórica en ejecución de solicitudes de procesamiento direccionadas al menos a una de la pluralidad de recursos de cómputo conectados en red.
- 5- El dispositivo según la reivindicación 1, en donde el al menos un parámetro de temporización se determina base al menos parcialmente en una latencia predictiva en ejecución de solicitudes de procesamiento direccionadas al menos a una de la pluralidad de recursos de cómputo conectados en red.
- 6- El dispositivo según la reivindicación 1, en donde el al menos un parámetro de temporización se determina de que manera que la ejecución sincronizada es simultánea.
- 7- El dispositivo según la reivindicación 1, en donde el al menos un parámetro de temporización se determina de que manera que la ejecución sincronizada es de acuerdo a una secuencia no simultánea.
- 8- El dispositivo según la reivindicación 1, en donde el al menos un parámetro de temporización se determina de que manera que la ejecución sincronizada es de acuerdo a una temporización relativa determinada.
- 9- El dispositivo según la reivindicación 1, en donde el al menos un parámetro de temporización se determina con base at-roetfós parcialmente en al menos uno de:retraso de conwmcactón^M^eXj^ ©.-4eprocesamiento.
- 1010, - El dispositivo según la reivindicación 1, en donde el al menos un parámetro de temporización se determina con base al menos parcialmente en un modelo de probabilidad de latencia.
- 1111, El dispositivo según la reivindicación 1, en donde la ejecución sincronizada provoca que la pluralidad de solicitudes de procesamiento de datos sean ejecutadas antes de que se puedan cambiar términos asociados con uno o más procesos de datos de contraparte propuestos
- 1212, - Un método llevado a cabo por al menos un procesador para para coordinar el procesamiento de datos por múltiples recursos de cómputo conectados en red, el método que comprende:asociar una pluralidad de solicitudes de procesamiento de datos ejecutables por una pluralidad de múltiples recursos de cómputo conectados en red con al menos un parámetro de temporización determinado al menos en parte utilizando una o más latencias asociadas con la ejecución de solicitudes de procesamiento por al menos uno de los recursos de cómputo conectados en red;dirigir, de acuerdo con una secuencia de temporización, cada una de la pluralidad de solicitudes de procesamiento de datos a una pluralidad de recursos de cómputo conectados en red;la secuencia de temporización para dirigir las solicitudes de procesamiento basándose en el al menos un parámetro de temporización asociado para ocasionar la ejecución sincronizada de la pluralidad de ·- -II ίίΐ -.*1-ΠΙ] -CJ-JW^J-··----solicitudes de procesamiento de datos por la pluralidad de recursos de cómputo conectados en red.
- 13El método según la reivindicación 12, en donde el al menos un parámetro de temporización se determina con base al menos parcialmente en una latencia monitoreada dinámicamente en ejecución de solicitudes de procesamiento direccionadas al menos a una de la pluralidad de recursos de cómputo conectados en red.
- 14El método según la reivindicación 12, en donde el al menos un parámetro de temporización se determina base al menos parcialmente en una latencia estadística en ejecución de solicitudes de procesamiento direccionadas al menos a una de la pluralidad de recursos de cómputo conectados en red.
- 15- El método según la reivindicación 12, en donde el al menos un parámetro de temporización se determina base al menos parcialmente en una latencia histórica en ejecución de solicitudes de procesamiento direccionadas al menos a una de la pluralidad de recursos de cómputo conectados en red.
- 16- El método según la reivindicación 12, en donde el al menos un parámetro de temporización se determina base al menos parcialmente en una latencia predlctiva en ejecución de solicitudes de procesamiento direccionadas al menos a una de la pluralidad de recursos de cómputo conectados en red.
- 1717 - El método según la reivindicación 12, en donde el al menos un parámetro de temporización se determina de que manera que la ejecución sincronizada es simultánea.
- 1818, - El método según la reivindicación 12, en donde el al menos un parámetro de temporización se determina de que manera que la ejecución sincronizada es de acuerdo a una secuencia no simultánea.
- 1919, - El método según la reivindicación 12, en donde el al menos un parámetro de temporización se determina de que manera que la ejecución sincronizada es de acuerdo a una temporización relativa determinada.
- 2020, - El método según la reivindicación 12, en donde la ejecución sincronizada provoca que la pluralidad de solicitudes de procesamiento de datos sean ejecutadas antes de que se puedan cambiar términos asociados con uno o más procesos de datos de contraparte propuestos
- 2121, - Un medio de almacenamiento legible por computadora para provocar que un procesador pueda coordinar el procesamiento de datos por múltiples recursos de cómputo conectados en red, por un método que comprende:asociar una pluralidad de solicitudes de procesamiento de datos ejecutables por una pluralidad de múltiples recursos de cómputo conectados en red con al menos un parámetro de temporización determinado al menos en parte utilizando una o más latencias asociadas con la ejecución de solicitudes de procesamiento por al menos uno de los recursos de cómputo conectados en red;dirigir, de acuerdo con una secuencia de temporización, cada una de la pluralidad de solicitudes de procesamiento de datos a una pluralidad de recursos de cómputo conectados en red;la secuencia de temporización para dirigir las solicitudes de procesamiento basándose en el al menos un parámetro de temporización asociado para ocasionar la ejecución sincronizada de la pluralidad de solicitudes de procesamiento de datos por la pluralidad de recursos de cómputo conectados en red.
- 22El medio de almacenamiento legible por computadora según la reivindicación 21, en donde el al menos un parámetro de temporización se determina con base al menos parcialmente en una latencia monitoreada dinámicamente en ejecución de solicitudes de procesamiento direccionadas al menos a una de la pluralidad de recursos de cómputo conectados en red.
- 23El medio de almacenamiento legible por computadora según la reivindicación 21, en donde el al menos un parámetro de temporización se determina base al menos parcialmente en una latencia estadística en ejecución de solicitudes de procesamiento direccionadas al menos a una de la pluralidad de recursos de cómputo conectados en red.
- 24- El medio de almacenamiento legible por computadora según la reivindicación 21, en donde el al menos un parámetro de temporización se determina base al menos parcialmente en una latencia histórica en ejecución de solicitudes de procesamiento direccionadas al menos a una de la pluralidad de recursos de cómputo conectados en red.
- 2525- El medio de almacenamiento legible por computadora según la reivindicación 21, en donde el al menos un parámetro de -72Ι.ΜΤ jA— . INS':¡τυ-,-Α .Mfx..·'. ,-. , . - · /· 1 Ü.·: Ρ· ;,/,:- / ( \ J temporización se determina base al menos parcialmente en una latericia predictiva en ejecución de solicitudes de procesamiento direccIoñiaBaT^r menos a una de la pluralidad de recursos de cómputo conectados en red.
- 26- El medio de almacenamiento legible por computadora según la reivindicación 21, en donde el al menos un parámetro de temporización se determina de que manera que la ejecución sincronizada es simultánea.
- 27- El medio de almacenamiento legible por computadora según la reivindicación 21, en donde el al menos un parámetro de temporización se determina de que manera que la ejecución sincronizada es de acuerdo a una secuencia no simultánea.
- 28- El medio de almacenamiento legible por computadora según la reivindicación 21, en donde el al menos un parámetro de temporización se determina de que manera que la ejecución sincronizada es de acuerdo a una temporización relativa determinada.
- 29- El método según la reivindicación 12, en donde la ejecución sincronizada provoca que la pluralidad de solicitudes de procesamiento de datos sean ejecutadas antes de que se puedan cambiar términos asociados con uno o más procesos de datos de contraparte propuestos.
- 30- Un método para coordinar el procesamiento de datos por múltiples recursos de cómputo conectados en red, el método que comprende:generar una pluralidad de segmentos de procesamiento de datos, cada segmento de procesamiento de datos que provoca la ejecución de -73una porción de un proceso de datos ejecutable por una pluralidad de recursos de cómputo conectados en red;basándose al menos en parte en latencias en ejecución de solicitudes de procesamiento de datos previas dirigidas a cada uno de la pluralidad de recursos de cómputo conectados en red, determinar una secuencia de temporización para dirigir la pluralidad de segmentos de procesamiento de datos, la secuencia de temporización determinar para ocasionar la ejecución sincronizada de la pluralidad de segmentos de procesamiento de datos por la pluralidad de recursos de cómputo conectados en red;y dirigir la pluralidad de segmentos de procesamiento de datos de acuerdo con la secuencia de temporización a la pluralidad de procesadores de ejecución conectados en red correspondientes.
- 31- El método según la reivindicación 30, en donde la ejecución sincronizada provoca que la pluralidad de solicitudes de procesamiento de datos sean ejecutadas antes de que se puedan cambiar términos asociados con uno o más procesos de datos de contraparte propuestos.
- 32- Un método llevado a cabo por al menos un procesador de datos para coordinar el procesamiento de datos por múltiples recursos de cómputo conectados en red, el método que comprende:asociar con una pluralidad de porciones de un proceso de datos ejecutable por una pluralidad de múltiples recursos de cómputo conectados en red, al menos un párametro de temporización determinado al menos en parte utilizando una o más latencias asociadas con la ejecución de solicitudes de procesamiento de señal por al menos -74§»· Τ\ π- τ?^·· · : ι ·' ' '· ;uno de los recursos de cómputo conectados en red;y dirigir, de acuerdo con una secuencia de temporización, la pluralidad de porciones de la pluralidad de porciones del proceso de datos a una pluralidad de recursos de cómputo conectados en red;5 la secuencia de temporización para dirigir la pluralidad de porciones del proceso de datos basándose en el al menos un parámetro de temporización asociado para ocasionar la ejecución sincronizada de la pluralidad de porciones del proceso de datos por la pluralidad de recursos de cómputo conectados en red. 10 33.- El método según la reivindicación 32, en donde la ejecución sincronizada provoca que la pluralidad de porciones de la pluralidad de procesos de datos sean ejecutadas antes de que se puedan cambiar términos asociados con uno o más procesos de datos de contraparte propuestos.
Independent claims32
382 paragraphs in 11 sections, as filed
(54) Title: SYNCHRONIZED DATA PROCESSING BY NETWORKED COMPUTER RESOURCES.
(54) Title: SYNCHRONIZED PROCESSING OF DATA BY NETWORKED COMPUTING RESOURCES.
(57) Summary
100,1000 systems, methods, and machine interpretable programming or other instructional products for managing data processing by multiple networked computing resources 106,116. In particular, the description relates to the synchronization of related requests for data processing using distributed network resources.
(57) 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.
_I KNOW_
MCRETAJUA 1 «MWíOMtA
Headlines):
Home:
Institute
Mexican Property
Industrial
PATENT TITLE NO. 337624
<img file="MX337624B_D0001.tif" />
ROYAL BANK OF CANADA
4th Floor, East Wing 1 Place Ville Marie, H3C 3A9, Montreal, Québec, CANADA
Name: SYNCHRONIZED DATA PROCESSING BY NETWORKED COMPUTER RESOURCES.
Classification:
Inventors):
lnt.CI.8: G06F7 / 02
DANIEL AfSENf 'SRADLEY KATSUYAMA: ROBERT PARK; JOHN SCUWALL; RICHARD STÉ3NER; ALLEÑ ZHANG THOMAS POPEJOY
Number:
MX / a / 2012/006659
REQUEST
International filing date:
June 2010
PRIORITY
Date:
December 2009
Number:
61/285,375
Country:
US
Validity: Twenty years
Expiration Date: June 8, 2030
The reference patent gives you a foundation in the »wtieulM 1 ·. 2 · section V. 6th section III, and SO of the Industrial Property Law.
In accordance with article 23 of the Industrial Property Law, this patent has a validity of twenty non-expendable years, counted from the date of application of the international application and will be subject to! payment of <at the rate to keep the rights of the people. :
Whoever signs this title does so based on the provisions of articles 6, sections III and 7, bis 2 of the Industrial Property Law (Official Dlarjo of the Federation (DOF) 06/27/1991, amended on 02/08 / 1994, 10/25/1996, 12/26/1997, 05/17/1999, 01/26/2004, 16W2006. 01/25/200 <ΜΝ »» Β «ΙίθβΜβΜβτ teteeeote. 06/28/2010, 27 / 01/2012 and 04/09/2012); «Rtcuto» 1 ·. S * fraction V Clause a), 4th and 12th fractions I and III of the Regulations of the Mexican Institute of Industrial Property (DOF 12/14/1999, amended on 07/01/2002, 07/15/2004, 28 / 07/2004 and 7/09/2007); Articles 1, 3, 4, 5 'section V Clause a), 16 sections I and III and 30 of the Organic Statute of the Mexican Institute of Industrial Property (DOF 12/27/1999, amended on 10/10/2002, 07/29/2004, 08/04/2004 and 09/13/2007); 1, 3 and 5 paragraph a) of the Agreement that delegates powers to the Deputy Directors General, Coordinator, Divisional Directors, Head of the Regional Offices, Divisional Deputy Directors. Departmental Coordinators and other subordinates of the Mexican Institute of Industrial Property. (DOF 12/15/1999, amended on 02/04/2000, 07/29/2004, 08/04/2004 and 09/13/2007).
<img file="MX337624B_D0002.tif" />
Arenal Nc. 550, Floor 1,
Coi. Pueblo Santa Maris Tepepsn, Xochsmilco, CP 16020,
Mexico City
Tel (55) 53 34 07 00 www impi qob.mx
Issue Date: March 11, 2016
THE DIVISIONAL DIRECTOR OF PATENTS
<img file="MX337624B_D0003.tif" />
NAHANNY CANAL REYES
<img file="MX337624B_D0004.tif" />
<img file="MX337624B_D0005.tif" />
ΜΧ / 2016Ώ1350
<img file="MX337624B_D0006.tif" />
SYNCHRONIZED DATA PROCESSING BY
NETWORK CONNECTED COMPUTER ”
Field of the Invention
The present disclosure refers generally to systems, methods, and machine interpretable programming or other instructional products for managing data processing by multiple networked computing resources. In particular, the description relates to the synchronization of related requests for data processing using distributed network resources.
The aspects of the material described in this application refer to the possession, transfer, and / or administration of titles and other financial interests. Aspects of such possession, transfer, and / or administration may be subject to regulation by government and other agencies. The description is made solely in terms of logical, scheduling, and communications possibilities, regardless of statutory, regulatory, or other legal considerations. Nothing herein is intended to be construed as a statement or representation that any system, method or process proposed in writing herein, or the use thereof, does or does not satisfy any right, law, regulation, or other legal requirement in any jurisdiction; nor should it be taken or interpreted as doing it.
-2u vu »iaxsuKKaB
Background of the iL Invention<sup>7</sup>
In various forms of networked, or otherwise distributed, data processing systems, complex and / or multiple related processes are frequently routed to multiple compute resources for execution. For example, in financial systems and other commercial activities, purchase orders, sales, and other transactions in financial interests are frequently routed to multiple market or exchange servers for fulfillment. In such cases, it may be advantageous for requests or other requests for data processing to be directed to multiple servers, or other resources, to be executed simultaneously, or almost as simultaneously as possible, or to be executed in any other synchronized and desired manner, or sequence of time.
For example, it has been observed that the supply rates for orders related to financial interests executed in networked electronic markets decrease significantly when such orders are supplied in a non-synchronized manner in multiple markets. It has also been observed that the decrease in the supply rate intensifies as such orders are directed to a greater number of electronic markets. This is at least partially due to delays in the execution of subsequent portions of such orders after their first components have been filled: when an order has been executed in one market before another, the interim is sometimes used for
<img file="MX337624B_D0007.tif" />
Price manipulation by groups intert ^ Bc ^ ÍLi ^ kicHiz ^^ D ^ 'short-term yields derived from the offers: when a first segment of an order has been supplied, automatic changes can be implemented in terms of offers or proposals in markets parallel, causing the previously advertised positions to be revoked and subsequent commercial activities to be restricted.
For example, when a large order is routed to multiple exchanges (for example, based on the liquidity available in each market), orders tend to arrive on the fastest exchanges (i.e. those with less inherent latencies) before They arrive in slower exchanges (that is, those with more inherent latencies), and are consequently shown in the books of different exchanges at different times. When orders begin to show up in the books of the fastest exchanges, other groups can detect the orders and try to take advantage of the latency in slower exchanges by canceling, changing, and / or otherwise manipulating quotes (for example, bids and offers) or other market parameters on slower exchanges, effectively increasing implicit marketing costs. As a result, orders that may have been otherwise executed in some individual exchange with a high supply ratio tend to have a lower overall supply ratio when routed to multiple exchanges as a split marketing activity.
<img file="MX337624B_D0008.tif" />
Prior art documents, such as Rony Kay's article, "Pragmatic Design of Network Latency, Fundamental Data and Analysis" ("Pragmatic NetWork Latency Engineering, Fundamental Facts and Analysis"), have attempted to address such problems by proposing the elimination of one-way communications latencies (ie “packet”). Such systems cannot address arbitrage opportunities and other issues caused or facilitated by variations in the timing required for multiple processors to execute individual portions of multiple processor execution requests (i.e. execution latencies) in addition to (or as part of de) communication latencies.
Brief Description of the Invention
In various aspects, the invention provides computer-executable instruction systems, methods, and mechanisms (eg, non-transient machine-readable programming structures) such as software-encoded instruction and data sets, for managing data processing by multiple networked computing resources. In particular, for example, the invention provides systems, methods, and encoded instruction sets useful for controlling the timing of related requests for data processing using distributed network resources.
For example, in a first aspect the invention provides systems, methods, and programming or other interpretable instructions
-5Τ Τ 'Τ Τ * τ per machine to generate synchronized data processing by multiple networked computing resources, such systems, for example, comprising at least one processor configured to execute machine interpretable instructions and causing the system :
receive, from one or more data sources, signals representing instructions for the execution of at least one data process executable by a plurality of networked computing resources;
divide at least one data process into a plurality of data processing segments, each data processing segment is to be addressed to a different plurality of networked execution processors;
based at least partially on the running latencies of the above system-addressed data processing requests to each plurality of networked execution processors, determine a plurality of timing parameters, each plurality of timing parameters to be associated with a corresponding plurality of data processing segments, the plurality of timing parameters determined to cause synchronized execution of the plurality of data processing segments by the plurality of networked execution processors; and use the timing parameters associated with the
-6 plurality of data processing segments, address. plurality of eLato-s processing segments,. ^, Ia, pJuraljxiad. of corresponding networked execution processors.
In some embodiments, as will be explained herein, networked execution processors may, for example, comprise exchange servers, and the data processing segments represent requests for commercial activities in financial interests such as raw materials and / or Intangible interests such as stocks, bonds and / or various forms of options.
The plurality of certain timing parameters can be used to determine and implement timing sequences in order to implement a desired sequential execution of the data processing requests in accordance with the invention, and may, for example, represent and / or be based partially or entirely on the running latencies of data processing requests due to many factors. For example, such parameters may be based in whole or in part on dynamically monitored latency (s) in execution of signal processing requests previously routed by the system to at least a plurality of network connected execution processors. . Such latencies can be caused by many factors, including, for example, various types of communication and data processing delays. Such timing parameters may further be based on
-7í> <w - statistical probability, for example, data models of observed lateicia, and patterns in it.
Such systems, methods, and programming or other machine-interpretable instructions may also be configured in such a way that they cause a system to:
is associated with at least each plurality of data processing segments representing at least one quantity term, at least one quantity term representing at least an amount of a financial interest to be traded in accordance with an application representing at least each data processing segment, and at least one corresponding price term associated with each such quantity term, the quantity term represents at least one proposed price at which a commercial activity represented by at least one data processing segment is to be executed;
at least one quantity term greater than at least one amount of the publicly offered financial interest at a price equivalent to the corresponding associated price term, in a market associated with the networked execution processor (s) to which at least one data processing segment is to be addressed.
Such quantity terms may, for example, be determined based at least partially on records of business activities associated with the market (s) associated with the processor (s).
-8Πί <-> '. · Network-connected execution (s) to which the data processing segments are cloned. They can be determined in TéTácró'n'gd'OK data with exhibited and unexposed offers and / or commercial activities, Including, for example, historical quantities of reserve or unexplored reserves.
In further aspects, the Invention provides systems, methods, and programming or other Machine-Interpretable Instructions for generating synchronized data processing by multiple networked computing resources, such systems, for example, comprising at least one processor configured to execute Machine Interpretable Instructions and cause the system to:
monitor the execution of signal processing execution requests for each plurality of networked computing resources;
determine at least one timing parameter associated with a running latency of signal processes between the system and each plurality of networked computing resources; and store at least one timing parameter in machine-readable memory accessible by at least one processor.
Monitoring the execution of signal processing execution requests in accordance with such and other modalities of the Invention may be implemented on a continuous, periodic, and / or adequate or desirable basis.
- 91 .Μ p ιιψ- In various embodiments of the various aspects of the invention, networked computing resources may include your * exchange servers. Data sources may include one or more broker or merchant systems or servers, controlled signal processes may represent commercial activities in financial interests, and execution of signal processing execution requests represents execution of transactions in financial interests, including For example, stocks, bonds, options and contract interests, currencies and / or other intangible interests, and / or raw materials. In such modalities, requests for executing data processing procedures may be based in whole or in part on parameters including, for example, one or more of current market data quotes, order routing rules, order characteristics, exhibited liquidity of each networked computing resource, and a likely delay, or latency, in execution of an order quantity on each networked computing resource.
In the same, and additional aspects, the invention provides systems to control, or manage requests for data processing by distributed computing resources, such systems include one or more processors configured to execute instructions to cause the system to:
monitor the execution of signal processing execution requests for each plurality of networked computing resources;
<img file="MX337624B_D0009.tif" />
ΙΙ: Χ Γ · · .., x ';
determine at least one timing parameter asoclatla 'with the running latency of processes of serTále ^^ tTtTe'e1<sup>ms</sup>”'' System and each plurality of networked computing resources; and store at least one timing parameter for each plurality of networked computing resources.
Among the many advantages offered by the invention is the possibility to monitor materials and other factors in multi-part networked processing or other complex data processing requests on a dynamic, or "mobile" basis, and to use such latencies dynamically monitored and / or other factors to determine the timing parameters to be used in the implementation of synchronized processing requests, as described herein. The timing parameters used in the implementation of synchronized processing requests can be monitored and / or determined on a continuous, constant, periodic, or other basis, depending on the needs, objectives, and other factors of the applications in which they are going. to implement.
A further advantage offered by the invention is the reduction or elimination of the need for consideration of one-way communication latencies, for example, the need to minimize communication latencies between the routing and routing processors.
As those experts in the relevant matters will observe,
-11 once they have become familiar with this description ', the timing of execution of requests for processing, distributed, for example, by the synchronized transmission of requests for such processing, has many possible applications in a large number of fields of data processing.
Brief Description of the Figures
Reference is now made to the drawings, which show exemplary embodiments of the present disclosure.
Figures 1A, 1B, and 3 show examples of suitable systems for generating data processing by multiple networked computing resources in accordance with various aspects of the invention.
Figures 2 and 4 show flow diagrams illustrating examples of methods for generating data processing by multiple networked computing resources in accordance with various aspects of the invention.
Figure 5 shows an exemplary histogram that can be used in an exemplary method to manage data processing by multiple networked computing resources in accordance with various aspects of the invention.
Figures 6A and 6B show a comparison of supply rates using an exemplary method and system for data processing by multiple networked computing resources using a conventional method and system.
-12 Figure 7 illustrates the use of an exemplary metric to compare an exemplary method and system for data processing by multiple networked computing resources versus results using a prior art system method .
Through the accompanying drawings, similar features are identified by similar reference numbers.
Detailed description of the invention
In this description, as those skilled in the relevant matters will understand, means "synchronized" according to any desired timing sequence, whether it is regular, irregular, and / or totally or partially simultaneous.
FIG. 1 shows an example of a system 100 suitable for generating data processing by multiple networked computing resources according to the invention.
In the example shown, system 100 includes one or more signal or data sources 102 (comprising one or more of each source 102a, 102b), the execution router processor (s) 104, and one or more networked computing resources, or execution processors, 106. In some embodiments, data sources 102 may include one or more internal data sources 102a, which can communicate with router 104 directly (eg, via private or local wide area network (s) or other wired or wireless communication, through the channel (s) of
<img file="MX337624B_D0010.tif" />
direct communication or through communication (s) with a single server). In the same mode and / or other mndali-LaXs.) Data source (s) 102 may also include one or more external data sources 102b, which can communicate, for example, with router processor (s) 104 via one or more public networks 108 (for example, a public or private telecommunications network such as the internet), using suitable or desired network security devices, which may, for example, include data irritation, etc. In the example shown, the router processor (s) 104 communicate (s) with one or more of the execution, or compute, resources 106, networked by a network 110, which may be the same or different than the network (s) 108.
In various embodiments, source (s) 102 may include devices that provide, on behalf of one or more entities that generate requests for business activities and / or other requests for data processing, signals that communicate data and / or instructions related to the execution of data processing processes to the router processor (s) 104, whose data and / or instructions can be processed by the router processor (s) 104 (for example, added by adding, averaging, etc .; and / or segmenting, etc.) and use as bases for data processing requests by networked computing resources 106. Data sources 102a, 102b may include, for example, systems, servers, processors, and / or or any other appropriate source (s) of requests for the execution of processing tasks
- 14ΐΝϊΤίτυτ: '· r> ~: .λ ·.
<sup>F</sup> '·, I ··. . - i.
data such as offers and / or proposals for the purchase of raw materials, intangible financial interests, etc., '^ Tu' oTfa data processing, such as texts, images, and / or other communication or document processing tasks. Each or any data source 102, processor (s) 104, and resources 106 may include multiple such systems, servers, or processors.
In various embodiments, some or all of the data source (s) 102 and router processor (s) 104 may be combined, and / or configured in other ways to implement multiple programming applications or other machine instruction applications running on individual machines.
Networked computing resources 106 may include any devices or other resources that communicate with router processor (s) 104 to receive and carry out any very wide variety of data processing requests. Such networked computing resources 106 may include systems, servers, processors, or any other suitable devices adapted for the execution of any processes suitable for use in the implementation of the invention, including, for example, the processing of offers or proposals. purchase of raw materials, financial interests, etc., and / or other data processing tasks, such as word or document processing, images, and / or other communication or document tasks.
In various modalities, one or more data sources 102
<img file="MX337624B_D0011.tif" />
they transmit, or provide to or for the router processor (s) 104 signals representing instructions, or requests, to execute the data processing functions. Instructions from any given data source (s) 102 may include instructions for signal processes to be executed by any one or more networked computing resources 106. The requested signal processes may include, for example, computational operations, data manipulations, and / or communication processes or other signal exchanges, among others. In some, but not necessarily all, examples, such instructions may specifically identify networked computing resource (s) 106 selected as being particularly targeted for the execution of such processes.
The router processor (s) 104 may analyze the instruction signals from one or more sources 102 and use such signals to prepare instructions, or requests, to be sent in advance to pluralities of execution processors 106 , for the execution of data processing and / or other signal processes according to the instructions received. The analysis of such instructions may include, for example, identifying the type of process (es) to be requested (s), including, for example, the volume or quantity of an order or proposal for a commercial activity or a quantity of the processing of documents to be performed, and the type, nature, and / or identity (s) of computer resource (s) connected in network 106 to be requested for execution, and consequently associated with, a
<img file="MX337624B_D0012.tif" />
'NSTITl π Dt L <7Π, Λ PkC INIT
<img file="MX337624B_D0013.tif" />
certain data processing and / or other signal processing request.
For example, in order to Increase the efficiency of signal and / or other data processing functions, router processor (s) 104 may analyze, classify, and add Instructions or requests received from multiple sources 102 for relatively smaller execution requests on one or more larger requests for processing, and further divide such aggregate request (s) into pluralities of smaller requests to be distributed to the plurality (s) of execution processors 106, depending, for example, on the current capacity of the processors of execution 106 to satisfy or complete such processed requests.
For example, multiple sets of received Instruction signals from different data sources 102a, 102b may be associated with (eg, addressed for sending and execution by) individual networked computing resource (s) 106, and such Instructions may be added to Individual signal processing execution requests for such networked computing resource (s) 106. In some examples, the identification of the networked computing resource (s) 106 to be placed in tasks with a certain signal processing request can be implemented after the addition. For example, multiple instructions from different data sources 102a, 102b may be classified, or associated with a single signal or data process, and
- 17 such instructions may be added, and the added instructions may be associated with one or more identified network connected compute resource (s) 106, such that one or more signal processing requests can be suitably prepared for the identified networked computing resource (s) 106. Such analysis, classification, and / or identification can be performed according to predetermined rules or algorithms (eg, based on the current or continuous processing capabilities of one or more networked computing resource (s) 106) , and in accordance with requirements codified in the instructions, or, provided by the source (s) of origin 102, where relevant.
As a further example, the individual instruction sets for data processing may be broken down by processor (s) 104 and distributed to a plurality of resources 106 for distributed execution. For example, a relatively large order for business activities in one or more financial interests originating from an individual source 102a, 102b, may need to be distributed to multiple exchange servers 106 in order to be fully supplied; in such cases, the request (s) from one or more sources 102 may be broken down by the processor (s) 104 into requests suitable for execution by a plurality of such resources 106.
The network-targeted computing resource execution processors 106, targeted, or specifically identified, communicate with the network processor (s).
<img file="MX337624B_D0014.tif" />
“. • STITUrO McXíCaNO V '- · - ./· <sup>;</sup> ,
LX LA PRCTiHÜAÍ) v - '
INDUSTRIAL router 104 to receive requests for execution of segmented signal processes and can subsequently execute them appropriately. The execution of such signal processes may include, for example, carrying out a word or image processing operation, a mathematical calculation, or an exchange of communication signals, among others.
As those skilled in the relevant art will readily understand, various components of system 100 may be combined, or may be implemented in the form of separate systems or devices.
In a wide variety of configurations, such combined or separate (sub) systems may be operated by the same or different entities. As a particular example, one or more request source (s) 102 may be integrated with, or associated with, individual router (s) 104.
An example of an application of a system 100 for the distributed execution of requests for segmented processing according to the invention is provided by a financial system 1000 adapted for the processing of requests to process data representing commercial activities and / or offers of commercial activities. , or other transactions, in tangible and / or intangible financial interests such as stocks, bonds, currencies (for example, foreign currency), various forms of resources or raw materials, options, loans, etc. As shown in Figures 1A and 1B, for example, in a financial transaction data processing system 1000 according to the invention, the signal source (s)
- 19; ΝΓΓ! -, Ί '. ..
t,.
..... Ir-; · or data 102 may include trader system (s) 1102, which may, for example, include trader / broker systems or servers as well as any other sources of proposals, offers, or other transactions in financial interests such as those currently provided by known financial trading platforms. In various embodiments, such merchandising systems 1102 may be referred to as order origin systems.
Order origination systems 1102, 102a may include systems operated by or on behalf of, for example, entities that are owned by, or controlled by parent companies, or other audit organizations, such as banks or brokerage firms. . Order source systems 1 102, 102b may, for example, include systems operated by or on behalf of intermediaries or other marketing entities acting on behalf of, for example, individual investors, who trade through or with the help of from independently controlled banks, institutional investors, and / or other brokerage houses.
The router processor (s) 104 in such embodiments may include, for example, server (s) or other system (s) 1104 that communicate (s) with the system (s) s) trader (s) 1102, 102, for example, through the reception and transmission of encoded electronic signals representing requests for data processing representing the execution and / or acknowledgment of
<img file="MX337624B_D0015.tif" />
receipt of transactions in financial interests; and which communicates with intermediary, exchange or other market systems or execution processor (s) 1106 for the execution of such transactions. Among the modalities, a processor 104 may be referred to as an intelligent order router or a tactical hybrid order router (in any case, "SOR '<sup>:</sup> - Smart Order Router) 1104, 104. An SOR 1104 may, for example, include one or more network accesses 1122 and / or router (s) 1124 to facilitate communications by router (s) 1104 with one or more vendor systems 1102, 102 directly (eg, via wireline communication, using one or more dedicated communication channels, or via communication on a single server) and / or indirectly (eg, via wireless communications, via a network 108 , 1108 or through an intermediary server). The exchange or market systems 1106, or other execution processor (s) 106 may be in communication with the SORs 1104 through, for example, a network 110, 1110, such as the internet or other public network, which may be the same as the 1108 network.
For a modality of a system 100 configured as a 1000 ordering or financial business activities system, the requested and executed signal processes provided by the source (s) 102 may represent business activities or other transactions in financial interests. Such transactions may include, for example, commercial activities and / or
-21 'Ti Γ ~ - ... offers of commercial activities, or other transactions, in financial interests such as stocks, bonds, currencies (for example, foreign currency), various forms of natural resources or raw materials, options, loans , etc.; and networked computing resources 106 may be, for example, exchange servers 1106, examples of which may include automated or electronic market systems.
As those skilled in the relevant fields will well understand, a SOR (sub) system, or processor, 1104 that receives such sets of transaction request signals can apply a wide variety of processes to the request (s). For example, when token sets represent transaction requests in financial interests, the requested transactions may be aggregated, either over time and / or through multiple transaction request sources 1102; and / or transaction processing requests on one or more interests can be split for routing to multiple execution handlers or processors 1106, individually or in batches.
In various embodiments, as described herein, the order source (s) 102, 1102 may be implemented in conjunction with, or as part of, the order router (s) 104, 1104. Those skilled in the relevant art will understand easily any or all of the various components of systems 100, 1000, including, for example, any or all of the processors 102, 104, 106, and methods of operating them in accordance with the description herein,
<img file="MX337624B_D0016.tif" />
they can be implemented using any devices, software, and / or firmware can be configured for the purposes described herein. A wide variety of components, both hardware and software, as well as firmware, are known to be suitable, when used individually and / or in various combinations, to implement such systems, devices, and methods; others will undoubtedly be developed in the future.
Examples of components suitable for use in implementing examples of systems 100, 1000, and the various processes described herein, including, for example, processes 200 in Figure 2 and 300 in Figure 4, include, for example, server-class systems such as the IBM x3850 M2 ™, HP ProLiant DL380 G5 ™, HP ProLiant DL585 ™, and HP ProLiant DL585 G1 ™. A wide variety of other processors will work, including in some embodiments, desktop, laptop or manual model systems.
An example of a method 200 for processing a set of transaction request signals generated by a transaction request signal source 102, 1102, suitable for implementation by a router processor 104 such as, for example, a SOR 1104 of a 1000 system, is shown in Figure 2.
The process 200 in Figure 2 can be considered to start at 202, with the reception by the processor (s) 104, 1104 of the signals representing a request for data processing such as, for example, a transaction in one or more interests
-23ΙΜ
MEXICAN INSTITUTE 7.7 '·;
OF FINANCIAL PROPERTY. In modalities of the systems 100, 1000 that comprise the SOR 1104 addressing processor (s) adapted to process the signals that represent the requests for the execution of commercial activities and / or other transactions in Financial interests received from the transaction signal source (s) 1102, token sets representing requests to execute transactions on one or more Financial Interests may include tokens or token sets representing, for example, one or more identifiers that they represent;
• the source (s) of the request, such as a URL or other network address or identifier used by, or associated with, a business activity system 102, 1102;
• the interest (s) to be traded, or traded, such as a dealer used by one or more Exchanges to identify a share, a CUSIP number for a bond, a set of currencies when exchanging, etc .;
• a type of transaction (eg buy, sell, propose, bid, etc.) to be executed or requested;
• one or more quantities (ie quantities or volumes) of the interest (s) to be traded (including, for example, any total and / or reserve quantities); and • corresponding price terms.
Additional parameters may include, for example, current and / or historical:
• probability of supply for requests for
<img file="MX337624B_D0017.tif" />
multi-part, or segmented, transaction (ie, the historical proportion of multi-part orders resulting in completed transactions);
• sales margin amounts between, for example, bid and offer prices, for example current and / or relative to historical trends in sales margin;
• market volatility in specific interests to be traded, or related to corresponding interest (s), or related references or indices • depth of market book (s), eg current depth relative to historical depth trends;
• reserve amounts;
• display amounts; and • size and display backing, for example, on the buy and / or sell parts.
In other embodiments, such signal sets may comprise content and / or identifiers representing images, text, or other content to be processed by one or more execution processors 104, 1104, and specific execution requests.
Among the many types of suitable market systems 1106 with various embodiments of the invention are alternative business systems (ATSs) of the type known as "dark," or "dark consortium" exchanges.
Typically, such exchanges do not openly display market offerings to members of the public engaged in activities.
-25Vl i<sup>7</sup>
INSTÍ UTO .MEXICANO '<.? · ·.
LA í N ú υ S ai AL commercial. The use of known or predicted reserve amounts may be especially useful in such modalities.
Consequently, an example of a data record to be provided by a source 102, 1102 to request a transaction in a certain interest, in the established terms, may include: <request source (102, 1102)> <type of transaction> <interest identifier> <quantity (s)> <price term (s)>
The signal sets received by processors 104, 1104 at 202 can be stored in any volatile or persistent memory (s), as appropriate, for archiving and / or further processing purposes.
At 204, the transaction or other data processing execution requests received at 202 may be analyzed by the router processor (s) 104, 1104 in order to place them in any suitable or desired form for use in preparation of one or more sets of instruction signals to be provided on the execution processor (s) 106, 1106. Analysis of instructional signals may include, for example, identifying the type of transaction (s) or process (es) to be requested, including, for example, volumes and / or quantities of orders or proposals for commercial activities in specified interests, and if such volumes are to be bought or sold, or offered for sale or purchase; quantities and / or types of document processing to be performed; and the type and nature of computing resource (s) associated with network or execution processor (s) 106 to be requested to execute and
<img file="MX337624B_D0018.tif" />
consequently associate with such instructions for execution or processing. In various embodiments, the parsed instruction sets may be stored in temporary or volatile memories 118, 1018 accessible by the corresponding processor (s) 104, 1104 for addition with other processing requests, division for addressing to multiple execution / resource processors 106, 1106, and / or the preparation and forwarding of batch requests or other delayed execution requests.
Instructions received at 202 may accumulate over defined, regular, or irregular time intervals, such as the length of a business day or any segment thereof, or any other period (s) of time, which ( is) can (be) preset and / or dynamically determined by processor (s) 104, 1104. Instructions can also be processed individually, as received. If more instructions are to be received before processing, or may potentially be received, process 200 may return to 202.
Transaction requests / instructions can accumulate over decided time intervals, such as the duration of a business day or any segment thereof, or a desired period of time, which can be preset and / or dynamically determined by the processor (s) (en) 104, 1104. IF further instructions are to be received, or may potentially be received, process 200 may return to 202.
In the modalities of the invention that employ techniques of
<img file="MX337624B_D0019.tif" />
institutomvjo-.a./ \>. · ·. ·. · FROM the PROrÍLt / AL · .. · '··.
classification / addition when analyzing, or preparing pedfl £ fó<sup>T</sup>and'<sup>Ab</sup>or you will hear processing requests, at 206 the proce-yathrrfes) 104 ', 1 W4 "can repeat process 202-204 until all sets of related or add-on processing requests signals are needed or desired have been received from source (s) 102, 1102. For example, as described above, arbitrary numbers of data records representing requests or requests to purchase bonds identifiable by CUSIP (Committee on Uniform Security Identification Procedures) numbers may be received from the data source (s) 102, 1102, and stored in memory 118, 1018 associated with the processor (s) 104, 1104, for batch processing, consequently:
<source 1> <sell> <no. CUSIP AA> <10,000> <price A> <res. 9,000> <price D>
<source 2> <buy> <no. CUSIP BB> <12,000> <preclo C> <res. 1,000> <price B>
<source 3> <sell> <no. CUSIP BB> <11,000> <preclo A> <res. 8,000> <price D>
<source 6> <sell> <no. CUSIP AA> <14,000> <price A> <res. 2,000> <price E>
<source 4> <buy> <no. CUSIP AA> <18,000> <price C> <res. 7,000> <price B>
<source 1> <sell> <no. CUSIP BB> <20,000> <preclo A> <res. 3,000> <price D>
<source 3> <sell> <no. CUSIP AA> <13,000> <preclo A> <res. 6,000> <price D>
<source 4> <buy> <no. CUSIP BB> <22,000> <preclo C> <res. 4,000> <preclo B>
<source 5> <sell> <no. CUSIP AA> <21,000> <preclo A> <res. 5,000> <price E>
<source 4> <buy> <no. CUSIP BB> <1 5,000> <price C> <res. 7,000> <price F>
<source 1> <sell> <no. CUSIP AA> <19,000> <price A> <res. 3,000> <price D>
<source 5> <buy> <no. CUSIP BB> <16,000> <preclo C> <res. 8,000> <preclo F>
<source 6> <sell> <no. CUSIP BB> <17,000> <price A> <res. 6,000> <preclo H>
After individual reception, or at a certain periodic rate, at a certain time, when a
-28V.
MF INSTITUTE, · DE LA ??. <? «'
1NDU.
certain number of orders, when all desired orders have been received, or when other desired criteria have been met, processor (s) 104, 1104 may, as part of the analysis, or instruction processing in 204 , classify and / or group the stored records according to one or more desired criteria, for example, by the type of transaction request of identifier of interest, consequently:
<buy> <no. CUSIP AA> <18,000> <price C> <res. 7,000> <price Gxsource 4>
<sell> <no. CUSIP AA> <10,000> <price Axres. 9,000> <price Dxsource 1> <sell> <no. CUSIP AA> <14,000> <Axres price. 2,000> <exfuente 6 price> cventaxno. CUSIP AA> <13,000> <price Axres. 6,000> <price Dxsource 3> sale. CUSIR AA> <21,000> <price Axres. 5,000xpreciente Exfuente 5> cventaxno. CUSIP AA> <19,000> <Axres price. 3,000> <price Dxsource 1>
<buy> <no. CUSIP BB> <15,000> <price C> <res <compraxno. CUSIP BB> <22,000> <price C> <res <buy> <no. CUSIP BB> <1 2,000> <price C> <res <purchase. CUSIP BB> <16,000> <price Cxres <salexno <sell> <no sale> <no
CUSIP BB> <20,000> <price Axres CUSIP BB> <11,000xprecise Axres CUSIP BB> <17,000> <price Axres
7,000> <price 4,000> <price 1,000xprec 8,000xprec
Fxsource 4> Bxsource 4> Bxsource 2> Fxsource 5>
3,000xprice Dxsource 1> 8,000xprice Dxsource 3> 6,000> <price Hxsource 6>
As shown, various data fields in the transaction request records can be reclassified, or reformatted as required or desired, to suit the processing needs of the addressing processor (s) 104, 1104. By example, as shown, associating a “source data element associated with, or given a different priority to facilitate
-29V
IMPI an efficient classification
INSTITUTO MEXICANO DE LA FROPíCOAD simultaneously allowing '~ 104 eí (! Os) processor (s) 104, 1104 to report the back of transactions / requests for completion of order processing.
Process 204 may further include the addition by processor (s) 104, 1104 of received and classified transaction requests, in collected or consolidated orders for specific types of transactions in specific interest (s), for example, adding amounts totals or subtotals associated with requests for <sup>1</sup> <buy> <no. CUSIP AA> <18,000> <price C> <res. 7,000> <price G>
<sell> <no. CUSIP AA> <77,000> <price A> <res. 18,000> <price D>
<res. 7,000> <price E>
<buy> <no. CUSIP BB> <65,000> <price C> <res. 15,000> <price E>
<res. 5,000> <price B>
<sell> <no. CUSIP BB> <48,000> <price A> <res. 11,000> <price D>
<res. 6,000> <price H>
When all the desired signal sets have been received at 202, and optionally, the processor (s) 104, 1104 are processed, accumulated, and / or processed at 204, at 208, using the instruction sets Processed at 204, sets of execution request signals can be prepared for transmission to resources / execution processors 106, 1 106. Such sets of execution request signals may comprise any necessary or desirable signals to generate the requested processing, including content or data signals and commands. By
- 30Λ XVjl .'Λ. .I.
MEXICAN INSTITUTE
OF PROPERTY AND? - '✓
INDUSTRIAL - For example, in modalities of the invention adapted for the processing of requests for transactions in financial interests, the requests can be classified and / or added on the basis of the interest (s) to be commercialized, the quantities of the ) interest (s) to be marketed, price, etc., and associated with appropriate execution command signals. The form of any execution command signals associated with a given request may depend, as those skilled in the relevant fields will recognize, on the nature and type of requests to be executed and the processors 106,
1106 through which they will be executed, as well as any networks 110, 1110 through which the signals exchanged between the processor (s) 104, 1104 and 106, 1106 will be sent, including applicable protocols and requirements so I create instructions. Ergo, data belonging to any or all systems 106, 1106, 104, 1104 and 110, 1110, the protocols used by them, and / or information related to the interests marketed, offered, or described by them may be Accessed and used by processor (s) 104, 1104 by parsing and preparing instructions for processing execution by any of the processors or resources 106, 1 106. The sources 1126 of such data may include, for example, an 1126v exchange market data system (Figure Ib) which, for example, in the embodiments of the invention adapted for processing financial transactions, may include the information received from various 1106 exchange systems, sources of
<img file="MX337624B_D0020.tif" />
news information such as Bloomberg or Reuters, and / or other sources.
Sometimes it is necessary or desirable, when assembling data processing requests using networked processing resources, including many resources configured for use in executing financial transactions, disaggregating execution and / or other processing requests into multiple parts. Such parts, or segments, may, for example, correspond to portions of larger requests or other requests for data processing, to be executed by a plurality of networked resources 106 such as exchange servers or other processors or handlers 1106 of execution. For example, if a plurality of exchange servers or other markets are available for execution of a transaction request representing a purchase order for a significant amount of a financial interest such as a stock or bond, it may be necessary or desirable divide the order into multiple parts, for execution in multiple markets and / or by multiple 1106 exchange servers. For example, sufficient amounts of specific interests may not be available, at all or at desirable prices, in a single exchange: in order to fully supply an order, it may be necessary or desirable to break down a single order into smaller segments and direct it to multiple exchanges. .
Consequently, for example, in various embodiments of the invention directed towards the processing of requests for
-32I MF i>. ·,
MEXICAN INSTITUTE \ · '
EU PROPERTY> '
INDUSTRIAL transactions in financial instruments, when a router 104,
1104 is requested by one or more sources 106, 1106 to complete a transaction in one or more financial interests, router 104, 1104 may, in preparing sets of signals representing requests for transactions, access available information from sources such as sources market data 1126, as well as one or more execution processor (s) 106, 1106, to determine the amounts of such interest available through the respective processors 106, 1106 and the terms under which such amounts are available, and can construct a set of execution request signals configured to address each of the processors 1106 , 1106 respective desired, based on the number of quantities available on the most favorable terms.
For example, continuing with the previous example, it may be necessary or desirable to divide one or more incoming processing requests into smaller parts, addressed to a plurality of exchanges, in order to obtain the supply of the complete order (s) ( s). This can be done, for example, by accessing data representing current order books provided by one or more exchange servers 1106 and dividing the order (s) accordingly, using known data processing techniques. Consequently, for example, the added order “sale no. CUSIP AA ”shown above can be segmented into portions or segments and associated with data representing URLs
-33Λ Ρ ί fR
INSTITUTE M EXÍCA XO Vp''D £ LAΡΛΟΗΓΟαΟ V * »;
of such segments or other address identifiers c'éréc'urso ^<sup>L</sup>of 'network suitable for use in the direction of mento' ”de ^ 7ó<sup>J</sup>^ 'dT7§TS' (3 ^ · * segments to a plurality of exchange servers A1 - C3, as desired, consequently:
"Exchange A1> <sell>" no. CUSIP AA> <15,000> <price A> «res. 15,000> <price D> <res. 6,000> <price E>
«Exchange A2>« sale> «no. CUSIP AA> <27,000> <price A> «res. 27,000> <price D> «res. 6,000> <price E>
«Exchange A3>« sale> «no. CUSIP AA> «35,000>« price A> «res. 35,000> <price D> «res. 6,000> <price E>
As those skilled in the relevant fields will observe, the execution of individual portions of a distributed transaction or other multi-party data processing request such as a transaction in financial interests placed on multiple exchanges by a plurality of network resources, such as servers market or exchange 1106 or other execution processors 106, typically requires different amounts of time. That is, if multiple parts of a desired transaction execution request are simultaneously sent to a plurality of exchange execution processors 106, 1106, each part or segment of the transaction request can be expected to execute at a different time. This is due to the amount of time, or "latency", required for the transmission of execution request signals from the dismissed router (s) 104, 1104 to the different and diverse execution resources or processor 106, 1106 through a
-34I. X A. MÍXiCAI INSTITUTE ·:. · 'DE LA paOHIKD /'. D
INDUSTRIAL red 110, 1110 or other communications path; for the current processing of corresponding portions of the execution request by the corresponding processors 106, 1106; and / or for the return of the confirmation or other data to the ordering router (s) 104, 1104 typically varies depending on various factors, including, for example, the network paths between the receiver (s) ) 104, 1104 and execution processors 106, 1106; the amount of network traffic that is processed by network (s) 110, 1110; the number of requests handled by individual execution processors 106, 1106, etc.
For various reasons, it may be important in such cases to synchronize the execution of two or more portions of a multi-part execution request. As an example, when a request for execution represents a request for the execution of multiple parts of a financial transaction in multiple markets or on multiple exchanges, the staggered, non-synchronized execution of individual portions of the transaction by multiple corresponding servers can both affect the possibility of complete subsequent portions of the transaction and / or the terms under which such subsequent portions may be completed.
A particular example of the desirability of synchronizing execution requests can be illustrated through reference to Figure 3. In the example shown in Figure 3, system 100, 1000 comprises order router 104, 1 104 and a plurality Networked Execution Resources 106, Exchange Servers
-35w ir .i institute DE LA Γ or execution processors 1106 “Interchange 1”, “lntét<sup>J</sup>Üciff1bio '<sup>TO</sup>2<sup>2Í</sup>7 "Exchange 3". In addition, the Ffgara · 3 'system 100, 1000 further comprises a co-located business activity server 304 configured to execute business activities or other transactions on execution resource 1106 "Exchange 1". As seen in Figure, the co-located business activity server 304, which employs a relatively low latency business activity algorithm, is associated with Exchange 1 so that it can execute transactions with Exchange 1 in a period of time. of relatively short time compared to the amount of time required for other processors, such as router (s) 104, 1104, in order to complete similar transactions with Exchange 1. For example, the co-located server 304 may be communicatively linked to Exchange 1 by direct wire connection, or other rapid processing system. Furthermore, Exchange 1 is capable of completing an execution request with uncovered processors 104, 1104 in a relatively shorter period of time (ie, with a "lower latency") which is either Exchange 2 or Exchange 3 . In other words, as shown in Figure 3, the Latency Time X <Time Y and Time X <Time Z, while a runtime for a transaction between co-located server 704 and Exchange 1 is less than any between Time X, Time Y, and Time Z.
If, for example, the signals representing a request to market one or more financial interests are received by a
-36I .Μ Ρ ϊ c> N £ Tirbro,<sub>I</sub>l;<sub>AC</sub>and ' ···.
router processor 104, 1104 coming from one or more request sources 102, 1102, and the request is of such magnitude that an order reflecting the request will be too large to be fully supplied by any of Exchanges 1, 2, or 3, the order router 104, 1104 can try to check the availabilities on the various available processors 106, 1106 and divide the order appropriately, for the purpose of addressing a portion thereof to each of Exchange 1, Exchange 2, and Exchange 3. If router 104, 1104 of Figure 3 simultaneously transmits a. each of the execution processors 106, 1106 Exchange 1, Exchange 2, and Exchange 3 a divided portion or segment of the execution request of the requested transaction, it is possible that the business activity server 304 (which could, for example , being operated by a high frequency business entity, or other speculative investor) may supply a portion of that transaction on Exchange 1, for example, acting as a counterparty to the proposed transaction by selling or buying all or a portion of the transaction request sent in advance to that exchange by order manager 104, under the terms set forth in the request for the transaction, and having time in the which to change, or publish terms for the supply of the remaining portions of the order in Exchange 2 and / or Exchange 3, on terms more favorable to the party that has the transaction (s) available (for example, the party that operates or acts through server 304) than those that offer such transactions (for example,
BWS ȟ-'4 :.
<img file="MX337624B_D0021.tif" />
MEXICAN INSTITUTE V, <sub>F</sub> those behind the requests provided request processor (s) 104, 1104) could have searched. In other words, for example, the co-located business activity server 304 must, due to the difference in execution latencies associated with business activities with Exchange 1,
Exchange 2, and Exchange 3, to be able to supply a portion of the transaction requested in Exchange 1 and move to improve its terms, for example, increasing or decreasing its bid / price bid, to supply the remaining portions of the transaction in Exchange 2 o Exchange 3 before such remaining portions can be executed at previously established prices, in order to increase the own profits of its operators or beneficiary (ies), or the earnings of other traders who offer similar interests in those Exchanges.
As can be seen in Figure 3, such possibilities (which can be called latency arbitrage opportunities ”) can exist when:
Time X + Time A <Time Y and / or
Time X + Time B <Time Z
Those skilled in the relevant matters will note that even when transaction signals or other processing request signals are simultaneously sent to each of Exchanges 1, 2, 3 coming from router (s) 104, 1104, the time required for each divided portion of the application to be received, acknowledged, and / or processed by the respective resources 106,
<img file="MX337624B_D0022.tif" />
MEXICAN INSTITUTE - WHERE THE PROPERTY IS
1106 (eg Times X, Y, Z) can generally be dlf & t<sup>s</sup>and<sup>i</sup>ttte, Tjáp example, due to differences in ^ eefftwi-QQoionoo · network paths and processing speeds on any or all of the 104, 1104, and / or 106, 1106 processors. Similarly, the time required to that the business activity server 304 changes the terms of transaction offers in each of the Exchanges and 3 can digest, in general.
Among the disadvantages that may arise in such cases is that the marketers represented by the request source (s) 102, 1102 may pay higher prices when executing their business activities than they would have to do in the absence of such opportunities. arbitration; Or, if the prices on subsequent exchanges change enough to place them outside the terms established in their execution requests, they may not be able to complete the transactions in the desired quantities, for example, all or part of a transaction directed to an exchange processor. 1106 may not be marketed in view of an altered price.
In such examples, where a business activity instruction may not be fully provisioned on an exchange server 1106 due, for example, to price or other term manipulation by third parties that take advantage of latencies, when processing processing requests data on one or more exchange servers 1106, it may be useful to time or synchronize the sending of requests for commercial activities to multiple servers of <¡t
<img file="MX337624B_D0023.tif" />
OF * <sup>, Τ</sup>* «- Λ ..k. r. [·, <.> .. ··. j., - .i ··.!
I exchange 1106 in such a way that the execution of such g ^ wríudesJí¿_íT-T 'commercial activities on all amhin servers, .11Q q happens in a synchronized way, such as, for example, practically concurrently. In particular, it may be useful to synchronize the execution of signal processing execution requests, or portions or segments thereof, across multiple networked computing resources 106, 1106, for example, such that the signal processes are received, recognized, and / or executed by resources 106, 1106 practically concurrently.
In some examples it may not be necessary for the signal processes to be executed on each processor 106, 1106 simultaneously, but it may suffice that:
Time Y - Time X <Time A, and / or
Time Z - Time X <Time B, so that the execution of the request (s) or segments of the same (s) occurs before any change in terms that can be implemented by a business activity server 304.
The use of such synchronized timings can, for example, cause:
Time X + Time A> Time Y and / or
Time X + Time B> Time Z and consequently, for example, reject latency arbitrage opportunities. Therefore, in some embodiments, the invention (s) provides the router (s) 104, 1104 with the ability to execute transactions across multiple resources 106, 1 106 with
<img file="MX337624B_D0024.tif" />
minimal or no temporary deviation in handling<sup>YOU</sup>¿^ F | M £<sub>or</sub>^^
INDUSTRIAL algorithms executed by marketer (s) 304 that employ low latency algorithms are given insufficient time to react to market changes.
Consequently, in these and other cases where synchronization is desired, at 210 processor / router 104, 1104 can determine that absolute or relative timings are assigned to, or associated with, various portions or segments of an execution request, in order to obtain the desired sequencing. Such timings can be determined in order to generate any desired timing: for example, timings configured so that simultaneous, or virtually simultaneous, execution can be determined, or timings configured so that any desired sequencing can be determined.
Accordingly, at 210 a timing parameter can be determined for each signal processing execution request, or portion thereof, to be assigned to each respective network connected computing resource 106, 1106. The parameters are determined in such a way that they generate synchronized execution of signal processing execution requests on each of the respective networked compute resources 106, 1106. This determination may be based at least partially on a corresponding determined latency in the execution time of such request (s) and / or portion (s), such as, for example, any or all latencies A, B , X, Y, Z of Figure 3, and / or any other
<img file="MX337624B_D0025.tif" />
<img file="MX337624B_D0026.tif" />
MEXICAN INSTITUTE v <'
FROM THE PRpHtpAD Or the relevant news, in the execution of exchanges of the router (s) of the router (s) 104, 11QA, -and. Each one of the »networked computing resources 106, 1106, or in the processing of other such signals by any such device.
Arbitration and other problems caused by variations in runtime between servers can also be minimized or eliminated by reducing absolute latencies in the transmission and execution of processing requests. Consequently, the determination of timing parameters as described above can be practiced in combination with procedures that also serve to minimize absolute amounts of time associated with the execution and / or reporting of execution requests by the resource (s) ( s) 106, 1106.
The information on certain latencies used to determine the timing parameters to be associated with the various portions of a multi-part execution request provided by the router (s) 104, 1104 a plurality of execution processors 106, 1106 may include timing information (eg transmission delays, signal propagation portraits, signaling delays, queuing delays, and / or other processing delays in router processor (s) 104, 1104, networked computing resource 106, 1106, and / or network (s) 110, 1110, 108, 1108). Such information may be provided by or received from any
-42 MEXICAN INSTITUTE V ¿'' 'i' f) x <sub>A z</sub> x, DELA PROPERTY \? 'source (s), and can be stored in and retrieved from and inbwí'<sup>a1</sup>-o 'data storage 214. The storage / ^) -, d «== 4» tee — 4e ~ · - timing 214, in various modalities, may include databases or other data structures residing in memory (s) 118,
1018 associated with, or accessible by, the router processor (s) 104, 1104. For example, if the execution of a portion of an execution request associated with a first networked compute resource 106, 1106 has a certain latency longer than that associated with a second networked compute resource 106, 1106 (such as , for example, in the case of Interchange 1 versus Interchanges 2 and 3 of Figure 3) the timing for portions associated with requests from a transaction request to be routed to these two networked computing resources 106,
1106 it can be determined such that a request for execution, or portion thereof, associated with the first networked computing resource 106 is timed to be sent before the request associated with the second networked computing resource 106, with the objective that the requests be executed in the two networked computing resources 106 practically concurrently, or within a minimum effective time A or B associated with the possible manipulation of terms by a commercial activities server 304.
In some embodiments, one or more algorithms may be used, which may, for example, use a latency probability model or another predictive model, a determination of
-43INSTITUTO MEXÍCAND - · λ - <· '<sup>:</sup>'··> t
OF PROPERTY V '-.-.—. ·. / '<>'. ... . , .. .., jndustsiai timing to be associated with portions of execution requests to be addressed to various processors of executionHon, 11 Ufo, based on the information associated with such communication and / or processing delays, or latencies. For example, a moving average of historical latency data, accumulated or relevant to any desired devices, time periods, or other timing considerations, can be used to predict a predicted latency for the execution of a data processing request.
An example of an algorithm suitable for use in determining timing parameters to be associated by router (s) 104, 1104, with the portion (s) of requests for execution provided by the source (s) 102, 1102, where it is desired to generate the concurrent arrival, or synchronized arrival of such portions or requests in the network resources 106, 1106, is based on an average latency between the transmission of request signals from the router (s) 104, 1104 and an appropriate timing reference. Such timing reference (s) may include starting processing by the selected target resource (s) 106, 1106, and / or receiving it by the target (s). Addressing processor (s) 104, 1104 of a confirmation signal generated by resource (s) 106, 1106 upon receipt of the request and / or completion of execution of the request. For example, in some embodiments, it may be advantageous to measure latency between transmission to a given resource 106,
<img file="MX337624B_D0027.tif" />
1106 and receipt by router (s) 104, confirmation or acknowledgment signal, or other appropriate signal 1260, from such resource 106, 1106, and to use such measured latency (s) ) in determining timing parameter (s) at 210.
Process step 210 may, for example, be carried out by an application executed by, or a module of, or associated with, the address processor (s) 104, 1104 such as an entity or module 1126 of capital management in the case of a 1000 financial system. Determining a timing parameter to be associated with each part or segment of a multi-part execution request may, for example, include the use of a Adaptive Interchange Exchange round trip latency learning and logic logic module 1126c ( RTL), as shown in Figure 1B. Referring to Figure 3, such adaptive Swap RTL compensation and learning logic module 1126c can determine the timing for each signal processing request (eg, a business activity request) as follows:
1) For each portion or segment n of a request X for processing multiple parts of m parts, a time T1<sub>x</sub>, n provided by, for example, a clock associated with processor (s) 104, 1 104 receives a time stamp by processor (s) 104, 1104 at a desired defined point within the process of generation analysis
-45ΐ ΙΜ, Τ'.Ττ
L INSTITUTE? '? t- DELATO
E. JND ''. » ? ' '' '• τ ·: - ~ ·· ^ of the transaction order (s), u | £> tra (s) sor¡cit'ud (it is processing X, and is associated with a register of the set of processing request signals corresponding to each part segment n of the request X of m parts.
2) T2<sub>x</sub>,<sub>n</sub> for each nth portion of the multi-party X request it receives a time stamp by the processor (s) 104, 1104 when the set of request signals <sub>n</sub>esima p<sub>Orc</sub>It has been received at the target-selected exchange 106, 1106, and a confirmation message generated by the corresponding exchange has been received by the requestor routing processor 104, 1104.
3) During the course of a trading session (or other data processing period), steps 2 and 3 of the process can be repeated, and correspondingly T1<sub>x</sub>,<sub>n</sub> and T2<sub>X n</sub> can be determined for each transaction segment addressed to a certain execution processor 106,
1106.
4) For each segment n portion of a subsequent pending multiple-part execution request Y, the determined timing parameter RTL<sub>yn</sub> = Σ (Τ2<sub>χ</sub>,<sub>η</sub> T1<sub>xn</sub>) / Z, where Z is the number of previously executed order segments routed to a given execution processor 106, 1106 used in the calculation.
-461N5TÜ-:;. . ; . ·
Say LAj-kG¿ií``p! 5 i '-' '
When the timing data source (s) 214 stores (n) a mobile record of the above timing parameters (eg, a plurality of certain timing parameters RTLy,<sub>n</sub>) associated with one or more execution resources 106 / exchange server 1106, such data can be used to create a mobile program, which can be used to forecast the current or cumulative latency for each resource 106 / exchange server 1106. Because Such forecasts are based on a continuously variable (“mobile”) record, this process may be called “online learning”. There may be a component (eg, a swap latency histogram memory or processing component, not shown) within adaptive swap RTL compensation and learning logic module 1126c responsible for this.
An adaptive exchange RTL compensation and learning logic module 1126c can use predicted latencies to determine appropriate timing parameters to be used in transmitting business activity requests (or other data processing) to various 1106 exchange servers in order to compensate for the differences in execution latencies associated with such Exchange 1106 servers, so that they are reduced, controlled, minimize or eliminate differences in timing of execution of portions of requests for split business activities directed to different exchange servers 1106, and consequently, for example, reduce or eliminate opportunities for latency arbitrage by intermediaries
<img file="MX337624B_D0028.tif" />
MEXiCAIM INSTITUTE 4
OF PROPERTY v ~ 'ir7ÁV4Z
INDUSTRIAL opportunists.
The 1126c Adaptive RTL Module (s) may use various algorithms to determine suitable timing parameters for use in synchronizing the execution of multi-part processing requests. For example, such a module may use determined latency values for the various exchanges to determine the degree to which the router (s) 104, 1104 must compensate for different latencies of exchanges by sending to the various processors 106 , 1106 its corresponding portions of a request for processing at, for example, different times. This can minimize the delay between the completion of the execution of each portion, for example, by minimizing the time difference between the reception of each respective portion by its corresponding execution resource 106, 1106. (In Figure 3, for example, this would be shown minimizing the differences between the elapsed times in Time X, Time Y and Time Z). Such algorithms can also justify the historical licenses in time required for the execution of commercial activities or other requests for processing in the various resources 106, 1106, in addition to communication delays.
Adaptive Exchange RTL Compensation and Learning Logic Module (s) 1126c can collect information about prevailing market conditions on each Exchange Server 1106 (using, for example, data sources such as the exchange market data source 1126v), orders for
-48ÍKO'Í
Τ575Τ · .. · '. ·· - · --D. ~ -. ':, -.... / waiver / executions, current latencies, and target latencies (for example, as previously predicted) when business activity requests are submitted. There may be a component within the adaptive swap RTL compensation and learning logic module 1126c responsible for this.
One or more timing parameters associated with the execution requests to be addressed to any one or more of the execution processor (s) 106, 1106 may be provided to the corresponding addressing processor (s) ) 104, 1104 (eg, to timing data storage 214) by, or determined by, such processor (s) 104, 1104 using related data supplied by, any one, or more, 1126 market data processor (s) or processor (s) (including, for example, any one or more processors or (sub) systems 1126a - 1126g and / or 1126v), and / or by the processor (s) (en) 106, 1106 same (s).
At 212, the various portions of the split and optionally added signal processing execution request (s) are sent to the respective networked computing / computing resources 106 according to the timing parameters or sequence (s) determined, or acquired in 210. Thereafter, the request (s), or the various portions of it (s), may be executed by the respective execution resources 106, 1106, with subsequent communications and signal processing as required or desired. As those experts in the relevant subjects will understand, once familiarity with this is achieved
-49ií. ' 7 institute? «· £ ·?.; · '.- .. D £ la hi>; · - '.
Description, once the parameters of a desired execution request have been determined by the router (e * sTT047T * t04 ',' ™ the signals representing those parameters can be assembled using known data processing techniques or specialized, for mapping according to the financial information exchange protocol (FIX) and / or any other desired protocols; and be transmitted, written, or communicated to the corresponding execution processor (s) 106,
1106 using known or specialized signal communication techniques, and run according to the requested transaction or other data processes.
For example, continuing with the previous example, timing delays, or parameters X ', Y', Z ', one or all of which may be equal to zero or any other suitable period of time, may be determined according to the description above and partner with the order segments generated by the 1104 processor (s) for the purchase of 77,000 bond lots of No. bonds. CUSIP AA at price A, with 25,000 lots (18,000 + 7,000) in reserve at prices D and E, respectively, therefore:
<delay X'xchange A1> <sell> <no. CUSIP AA> <1 5,000> <price A> <res. 6,000> <price D> <res. 2,000> <price E>
<delay Y '> <exchange B2> <sell> <no. CUSIP AA> <27,000> <price Axres. 6,000> <price D> <res. 2,500> <price E>
<delayed Z'xchange C3xventa> <no. CUSIP AAx35,000x Axres price. 6,000> <price Dxres. 2,500> <price E>
Thereafter, the addressing processor (s) 104, 1104 may process the transaction segments using timing parameters, eg delays X ', Y', Z ', so that the transaction segments Corresponding are transmitted, or provided to exchanges 106, 1106 A1, B2, C3 for execution according to a desired timing sequence, for simultaneous, or desired sequential execution.
After the execution of all or as many portions of addressed transaction or processing segments, the addressing processor (s) 104, 1104 may receive from the corresponding executing processor (s) (s) 106, 1106 data confirming, or indicating such execution, and by accessing the data records stored in the associated memory (s), you can assign result (s) of the execution to the requesting source (s) 102, 1102.
Reference is now made to FIG. 4, which shows an example of a method 300 for determining the timing parameters to be used in managing data processing by multiple networked computing resources 106. In the embodiment shown, the method 300 is an iterative method, and each circuit of method 300 is denoted as N. Method 300 is suitable for implementation using, for example, any of the various modalities of systems 100, 1000 and components thereof, including router processor (s) 104, 1104 and source (s) data 1126.
<img file="MX337624B_D0029.tif" />
C-iSTH'JVO 7. '·· -. 7
Tell the '· .
In 302, each plurality of computing resources connected in 'network 106, 1106 is monitored, for example, by the' • pro '<sup>-</sup>cease ('& sf of router 104, 1104, the execution processor (s) 106, 1106, the external processor (s) 1126, and / or various components or modules operated by, or , associated therewith, for latencies associated with receiving and / or executing signal processing execution requests. This can be accomplished, for example, by a monitoring module (eg, an exchange RTL measurement module 1126b, such as for the financial system 1000) on the router processor (s) 104, 1104 .
Such monitoring may comprise, for example, outgoing time stamp requests for data processing, and comparing the times of receipt of the confirmation (s) or results derived from processing with the corresponding outgoing time stamp request. The time difference between the outgoing request and the incoming acknowledgment and / or the data processing results can be defined as a latency of data or signal processing, and stored in memory accessible by the processor (s) of router 104, 1104. By timing the differences between outgoing requests and incoming receipts, confirmations, and / or results, such latencies can be monitored on a continuous, periodic, and / or dynamic basis.
At 306, at least one timing parameter associated with observed latency (s) in the execution of the signal processing requests provided to the resources is determined.
<img file="MX337624B_D0030.tif" />
monitored 106, 1106 by the address processor (s) 104, 1104. As described herein, such parrrretrots7''lTé '' timing may, for example, include latencies due to communication delays, such as transmission delays or other delays in signal propagation, and / or processing delays, among others. Typically, the corresponding timing parameter (s) is (are) determined for each plurality of networked computing resources 106, 1106 to which (s) a transaction request is expected to be sent or another request for data processing, a portion thereof, by the addressing processor (s) 104, 1104.
In various embodiments, such as in various forms of 1000 financial systems, and depending on the types of system (s) to be used and the desired processing results, such timing parameters may be determined for one-way and / or round trip communications between the ( the addressing processor (s) 1104 operated by or on behalf of a capital management entity and the exchange server 1106; that is, from the generation of a multi-party transaction request by addressing processor 1104 of the capital administration entity until receipt of a response, such acknowledgment of receipt of a part of a further business activity request large and / or confirmation of execution all or part of a requested business activity, from the execution resource to which the processing request was directed. Referring to Figure 1B, for
<img file="MX337624B_D0031.tif" />
Institute . <sup>;</sup> --- .- 'TO
DE The i: · <sub>;</sub> ·. .. example, and as explained previously, an RTL measurement 'may include latencies due to any or all of the-b ^ irsrrTtrfóTr ^ of - ^^ -' signals on the capital management entity server 1104, the processing of signals in the capital management entity
1104, the transmission of signals between the capital management entity 1104 and a network 1110, the transmission of signals within the network 1110, the transmission of signals between the network 1110 and the target exchange server 1106, and the processing signals within the exchange server 1106; for both communications sent from the address processor (s) 104, 1104, and responses (eg, acknowledgment of the communication, rejection of a request for business activity, confirmation of a request for business activity, etc.) sent from the exchange server 106, 1106. In such embodiments, the timing parameter (s) may simply be the total type for round trip communication, or a statistical function or other mathematical function thereof.
For example, an exchange RTL measurement module
1126b, such as that associated with SOR 1104 shown in Figure 1B, can determine a timing parameter as follows;
1) A time stamp value T1 is associated by the processor (s) 1104 with a new M1 communication (for example, a business activity request) sent to an exchange server 1106.
-54instituto y. ·; X · déla ?? '. <· ..
I. * '. i _ 2) A timestamp value T2 is associated by the processor (s) 1104 with any response to the M1 request received from the exchange processor 1106 to which the M1 request was sent. This response can be any response such as acknowledgment, rejection, partial or total supply, etc., and can depend on the nature of the request represented by M1.
3) The RTL associated with the M1 request is calculated as the difference between T2 and T1. In some embodiments, as noted above, the RTL can be calculated as an average of the time (T2-T1) for a previous Z number (eg, 30) of addressed processing requests by a plurality of targeted exchange processors 106 .
At 308, the timing parameter (s) associated with each networked computing resource 106 may be stored in the timing data storage (s) 214. As described in Herein, a timing data store 214, in some examples, may be a database or other data structure residing in memory associated with, or accessible by the addressing processor (s) 104 . The timing parameter (s) stored in the timing data storage 214 can be used in processes such as those described above in relation to process block 210 of Figure 2.
<img file="MX337624B_D0032.tif" />
ΙΝ51: .... ...,
The timing parameter (s) determined by · it (s) processor (s) 104, 1104 may, for example ^ - represent moving histograms representing the latencies associated with the individual execution processors 106, 1106 and / or other components of the system (s) 100,1000.
Figure 5 shows an example of a histogram illustrating stored data representing processing latency time values associated with communications and / or other processing associated with an execution processor 106, 1106 on a system 100, 1000. In the example shown, round trip latency times (in ms) are stored for the 30 most recent transaction requests or other communications with a given execution server 106. Although the example shows the storage of 30 latency times, the number of stored timing parameters used to determine the RTLs or other timing parameters may be higher or lower, and may vary according to conditions such as time of day, the season etc. The results of the latency-based calculations, and other related data, may also be stored in the timing data storage (s) 214. For example, in the example in Figure 5, in addition to the raw latency times, a moving average or a moving mode of the previous 30 latency times (or other suitable number) associated with communications and / or can also be calculated further processing with or by each execution server 106 and stored in the data storage (s) of
-56instituto <; '- ···
DF. LA PRCBíO / .D 'i' IMOUStfJAL ¿or timing 214.
As those skilled in the art will understand, additional factors include, for example, desired fixed displacements or delays, or scaling factors associated with time of day, day of the week, season of the year, etc., patterns of business activities. Known or other patterns of data processing, economic conditions, etc., can be used at 210 in determining timing parameters.
The timing parameters determined at 210 can be used by the routing processor (s) 104, 1104 to synchronize the execution of the processing requests originated by the source (s) 102, 1102 and directed (s) to the processor (s) 106, 1106, for example, when associated with such requests, or portions thereof to be sent in advance for execution by each of the multiple processor (s) 106, 1106, the data elements usable by the processor (s) 104, 1104 to generate the communication of the requests to the corresponding processor (s) 106, 1106 at the desired correlative absolute times, in order to achieve the desired timing of the arrival of requests in the corresponding execution processor (s) 106, 1 106. For example, by using the configured data elements to generate communication of one or more portions of the requests at a certain time (s) according to a clock associated with the processor (s) 104, 1104, processor (s) 104, 1104 may cause the request (s) or portion (s) of requests to be
-57Τ Ί / R Γ '
5 'x' 'communicate (n) at a desired time of day, or in ^^ Iguier, desired order or relative sequence regardless of current time of day, but rather one relative to another or some third index.
At 310, N is incremented by one or another suitable value, or control is returned to 302 such that process 302-308 continues. Optionally, process 302-310 continues until a desired maximum number of iterations has been completed, or until all transaction requests or other order processing have been processed (for example, routed to execution processors 106, 1106) , or until other appropriate criteria have been met.
At 310, N is incremented by one or another suitable value, or control is returned to 302 such that process 302-308 continues. Optionally, process 302-310 continues until a desired maximum number of iterations has been completed, or until all transaction requests or other order processing have been processed (for example, routed to execution processors 106, 1106) , or until other appropriate criteria have been met.
To assist operators and users of the 100, 1000 system (s), or components thereof, to understand or evaluate the effect of the method and system described to generate multiple data processing Networked computing resources, in some respects, this description also provides various metrics (eg business benchmarks,
<img file="MX337624B_D0033.tif" />
in the case of a 1000 financial system) they can be determined by, and through, the use of generated data — to — any or all of the various components of a 100, 1000 system.
Reference is now now made to FIG. 6, which shows comparisons of the transmission results of execution requests for multi-party business activities to pluralities of networked computing resources, or execution processors 106, 1106 according to An example of the method and system described, with results of conventionally transmitted multi-party business activity requests.
Figure 6a shows execution results of a multi-party transaction request using the methods and systems described to obtain the synchronized execution (in the illustrated case, practically simultaneous) of the various parts or segments 624 of the multi-party transaction request. (a sales order) by a plurality of exchange servers 106, 1106. In the example shown, a 94% supply rate of an original add-on order was achieved at the original 630 offer price of $ 4.21 (shown as “Tier 1”). In a second round of transactions (which was supplied in a single transaction, as shown in 626) the remaining volume was sold at a less desired but still acceptable price 632 of $ 4.20 (shown as “Tier 2”). The cost associated with orders supplied below the requested order price (i.e., those orders in Tier 2) was $ 53,000 for 1102 trading systems (for example, customer systems) and $ 10,049
<img file="MX337624B_D0034.tif" />
for the capital administration entity 1106.
In Figure 6b, using the prior art commercial methods and system, a non-synchronized multi-part trade activity request (multiple exchange sales order) consisting of multiple non-synchronized order segments 624 'for the same general transaction request resulted in an Initial supply rate of 47% at the preferred order price 630 of $ 4.21 (shown as “Tier 1”). An additional 43% of the request was subsequently supplied at the least desirable price 632 of $ 4.20 (shown as “Tier 2”), with the remainder supplied at an additional reduced price 634 of $ 4.19 (shown as “Tier 3”).
Using methods and systems according to the description, a volume weighted average sales price (VWAP) 636 of $ 4.2094 / share was obtained, as shown in 628. Using prior art methods and systems, a
$ 4.2038 / Acclon VWAP 638.
As those skilled in the relevant fields can readily understand, systems 100, 1000 can comprise suitable devices or components to provide a wide variety of additional metrics and functionalities. For example, reference is now made to Figure 7, which illustrates two examples of the provisioning by an addressing processor 104, 1104, or other processor of a benchmark comparison relative to a given average market price, by example,
<img file="MX337624B_D0035.tif" />
MF INSTITUTE ·.;. *.
ETL / I Ι-ΚΟΡ, Κ '; ...; λ. ·· by a market news service or another source of ciatos efe mercado 1126v. In 646, the performance of the system 1ÓÓ, Ί'ΰΤίΰ "in eT" synchronized processing of a multi-party transaction request according to the invention is compared with a market performance indicator "Average price benchmark". Such an average price benchmark, or other benchmark or metric factor, may be derived from, for example, any or all of the components 1126, 1106, etc. At 644, the performance of a 100, 1000 system in the unsynchronized processing of a multi-party transaction request according to prior art methods is compared to the same market performance indicator “Average Price Benchmark” . Comparison of comparisons 646, 644 indicates that transaction processing according to the invention provides better results for a seller of financial interests. As those skilled in the relevant fields will understand, a wide variety of benchmarks can be used in evaluating performance systems and methods according to the invention. Such benchmarks can be determined at least partially by the nature of the system 100, 1000 used, and the types of transactions or other execution requests processed by the portal system.
In the embodiment shown in FIG. 1B, the data source (s) 1126 usable by processor (s) 104 in preparing financial transactions or other data processing execution requests includes a plurality of modules 1126a-g useful
-61 DELAFkCi ·· in preparing an execution request for multipt ^ 'pa-rtes-f' & T the example shown, modules 1126a-g includeñ -— e4 - modtRe -de-— market data processing 1126a , the 1126b swap round trip latency measurement module, the adaptive swap round trip latency compensation (RTL) learning logic module, the 1126d smart sweep action mapping logic module, 1126e smart publishing logic module, 1126f regional and national exchange access logic module, and 1126g aggressiveness management module.
The market data processing module 1126a receives and processes market data, which may be the same or different from the data provided through the exchange market data module 1126v of the exchange server 1106. Sources of such data may be internal to the 1104 system, or external, as required or desired, and may include any suitable or publicly available private data sources useful in preparing execution requests, and particularly such requests that are useful for divide, or prepare a transaction order: the information provided may, for example, include the numbers or quantities and / or prices available on any particular exchanges; volumes or prices of historical commercial activities; current historical depth of market (s) or liquidity; reserve sizes; absolute, relative, and / or average price differences; and heuristic of action or specific interest; and / or trends in any or all of them.
<img file="MX337624B_D0036.tif" />
RTL measurement module exchange timing parameters for use in a'determina
Ía'lMíj AiaL os the execution of synchronization of requests for commercial activities from multiple parties or other requests for data processing by pluralities of the exchange server 1106s, regarding the example explained herein, using statistically defined latency data representing the (the) time (s) elapsed between the sending of requests or other data to, and the receipt of confirmation or execution results from, the individually executed processor (s)
106, 1106.
Adaptive Interchange RTL measurement module 1126c determines timing parameters for use in executing synchronization of multi-party business activity requests or other requests for data processing by pluralities of exchange server 1106s, such as the present was explained, using dynamically defined (“mobile”) latency data representing times elapsed between sending multiple processing requests, or other data, to, and receiving confirmation or execution results from, the processor (s) ) of individual execution 106, 1106. Histograms and other data models and / or structures representing such mobile data can be used by the 1126c module (s) in determining timing parameters according to such processes.
The Sweep Action Assignment Logic Module
<img file="MX337624B_D0037.tif" />
smart 1126d includes a statistical model pair # *<sup>s</sup>^ ® ^ fóhién'éiOriár '; .'- 9 strategically transaction requests, and / or the quantity (s) of association reserve with publicly announced orders, based on historically observed market data. This module 1126d determines, for example, an appropriate oversizing (i.e., overclassification in a business activity request) to be incorporated into an open order, taking into account the forecasted quantity (s) of hidden reserve (s) ( s) on an exchange server 1106, based on statistical data about the hidden reserve available on that exchange server 1106 during a certain period or under other specified conditions (for example, the previous 30 requests for commercial activities). Based on such predicted hidden market reserves, an appropriately sized hidden reserve can be determined, and associated with a transaction order, to result in a strategic oversizing of the publicly visible order and to help ensure that a volume of business activities is achieved. desired current.
The 1126e Smart Publishing Logic Module includes a statistical model to determine the probability of supplies (i.e., percentage satisfaction of a request for commercial activities) predicted to be implemented in requests for commercial activities directed to individual exchange servers 1106. Such statistical models may, for example, include historical sourcing data implemented in such individual exchanges over a certain period (for example, the 30
<img file="MX337624B_D0038.tif" />
previous requests for commercial activities, the month, the previous 12 months, etc.). A smart publishing logic module
1126e can take into account factors including, for example, the depth of the top of the book on each exchange server 1106, the level of volatility across exchange servers 1106, and the average latency time for running a commercial activity request, among other factors.
The regional and national exchange access logic module 1126f provides information about how a business activity request should be routed to an exchange server 1106, depending on whether the exchange server 1106 is regional or national. Data stored internally and / or externally related to the appropriate protocol (s) to be used, the regulations to be observed, etc., can be used to provide such data. Such data may be used, for example, to ensure that requests for business or other processing forwarded to external resources 106, 1106 by the address processor (s) 104, 1104 are properly formatted, in view of the ( the resource (s) 106, 1106 to which the application (s) are provided, and ensure that such application (s) meet all applicable legal standards.
The Aggression Management Logic Module 1126g includes a probability model to determine the probability of a percentage of supply for individual exchange servers 1106, and to modify execution requests addressed to
<img file="MX337624B_D0039.tif" />
such servers, consequently. Such 1126g module<sup>;</sup>Puédé tornaren counts factors such as, for example, the rate of —ab'aatectrmerrftr ^ err ”* · each exchange server 1106, the depth of the book on each exchange server 1106, and the volatility levels across the exchange servers exchange 1106, among other factors.
Although the description has been provided and illustrated in relation to specific and currently preferred embodiments, many variations and modifications can be made without departing from the spirit and scope of the invention (s) described herein. Therefore, the description and invention (s) are not limited to the exact components or details of methodology or construction set forth above. Except to the extent necessary or inherent in the processes themselves, no particular order is intended or implied in the steps or steps of methods or processes described in this description, including the Figures. In many cases the order of the process steps can vary without changing the purpose, effect, or amount of the methods described. The scope of the claims should be defined only by the appended claims, giving due consideration to the doctrine of equivalents and related doctrines.
-66INSTITUTO Λ, L'E LA fríGf, · rND'JSTKiAL '· <----
Contents11
47 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37 Sheet 38 Sheet 39 Sheet 40 Sheet 41 Sheet 42 Sheet 43 Sheet 44 Sheet 45 Sheet 46 Sheet 47
115 members in 14 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 28537509 | United States of America | P | |
| 28537509 | United States of America | P | |
| 61285375 | United States of America | – | |
| 2010000872 | Canada | W | |
| 2010000872 | Canada | W | |
| 61285375 | – | – | – |
| CA1000872 | – | – | – |
| US20090285375P | – | – | – |
| WO2010CA00872 | – | – | – |
Members115
| Document | Office | Kind | |
|---|---|---|---|
| US2010332650A1 | United States of America | A1 | |
| CA2707196A1 | Canada | A1 | |
| CA2927532A1 | Canada | A1 | |
| CA2927607A1 | Canada | A1 | |
| CA3109739A1 | Canada | A1 | |
| WO2011069234A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2012042080A1 | United States of America | A1 | |
| AU2010330629A1 | Australia | A1 | |
| SG181616A1 | Singapore | A1 | |
| KR20120101535A | Republic of Korea | A | |
| EP2510451A1 | European Patent Office (EPO) | A1 | |
| CN102859938A | China | A | |
| MX2012006659A | Mexico | A | |
| JP2013513171A | Japan | A | |
| US8489747B2 | United States of America | B2 | |
| US2013304626A1 | United States of America | A1 | |
| ZA201205093B | South Africa | B | |
| US8984137B2 | United States of America | B2 | |
| US2015088726A1 | United States of America | A1 | |
| JP2015092353A | Japan | A | |
| JP5785556B2 | Japan | B2 | |
| AU2010330629B2 | Australia | B2 | |
| EP2510451A4 | European Patent Office (EPO) | A4 | |
| AU2016200212A1 | Australia | A1 | |
| ZA201309197B | South Africa | B | |
| MX337624BThis record | Mexico | B | |
| BR112012013891A2 | Brazil | A2 | |
| CA2913700A1 | Canada | A1 | |
| US2016182330A1 | United States of America | A1 | |
| US2016182331A1 | United States of America | A1 | |
| CN102859938B | China | B | |
| US2016205174A1 | United States of America | A1 | |
| CA2927532C | Canada | C | |
| CA2922072A1 | Canada | A1 | |
| WO2016135705A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2016260173A1 | United States of America | A1 | |
| CN105978756A | China | A | |
| KR101667697B1 | Republic of Korea | B1 | |
| AU2016231624A1 | Australia | A1 | |
| CA2707196C | Canada | C | |
| US2017039648A1 | United States of America | A1 | |
| SG10201704581VA | Singapore | A | |
| AU2016224908A1 | Australia | A1 | |
| SG11201707004WA | Singapore | A | |
| KR20170139004A | Republic of Korea | A | |
| CN107534584A | China | A | |
| EP3269090A1 | European Patent Office (EPO) | A1 | |
| MX2017011021A | Mexico | A | |
| AU2016200212B2 | Australia | B2 | |
| BR112017018133A2 | Brazil | A2 | |
| US9940670B2 | United States of America | B2 | |
| US9959572B2 | United States of America | B2 | |
| US9979589B2 | United States of America | B2 | |
| JP2018514105A | Japan | A | |
| US2018189882A1 | United States of America | A1 | |
| US10057333B2 | United States of America | B2 | |
| EP3269090A4 | European Patent Office (EPO) | A4 | |
| HK1248934A | Hong Kong, China | A | |
| HK1248934A1 | Hong Kong, China | A1 | |
| US2018332104A1 | United States of America | A1 | |
| AU2018274909A1 | Australia | A1 | |
| AU2016224908B2 | Australia | B2 | |
| CN105978756B | China | B | |
| US2019260824A1 | United States of America | A1 | |
| EP2510451B1 | European Patent Office (EPO) | B1 | |
| EP3269090B1 | European Patent Office (EPO) | B1 | |
| CA3041689A1 | Canada | A1 | |
| SG10201913740XA | Singapore | A | |
| SG10201913790VA | Singapore | A | |
| US10623478B2 | United States of America | B2 | |
| ES2754099T3 | Spain | T3 | |
| US10650450B2 | United States of America | B2 | |
| US10664912B2 | United States of America | B2 | |
| US10706469B2 | United States of America | B2 | |
| US2020236158A1 | United States of America | A1 | |
| US10771536B2 | United States of America | B2 | |
| US2020302536A1 | United States of America | A1 | |
| AU2018274909B2 | Australia | B2 | |
| US2020357065A1 | United States of America | A1 | |
| CN107534584B | China | B | |
| BR112012013891B1 | Brazil | B1 | |
| AU2021200879A1 | Australia | A1 | |
| CA2927607C | Canada | C | |
| JP6892824B2 | Japan | B2 | |
| JP2021166385A | Japan | A | |
| SG10202110018RA | Singapore | A | |
| US11252222B2 | United States of America | B2 | |
| US11308554B2 | United States of America | B2 | |
| US11308555B2 | United States of America | B2 | |
| MX2022004253A | Mexico | A | |
| US2022166827A1 | United States of America | A1 | |
| US2022237697A1 | United States of America | A1 | |
| US2022292601A1 | United States of America | A1 | |
| BR112017018133B1 | Brazil | B1 | |
| KR102494427B1 | Republic of Korea | B1 | |
| AU2021200879B2 | Australia | B2 | |
| AU2023200177A1 | Australia | A1 | |
| KR20230024423A | Republic of Korea | A | |
| MX2023005874A | Mexico | A | |
| US11776054B2 | United States of America | B2 |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Grant or registrationFG | FG |
Numbers
- Publication
- 337624
- Publication, DOCDB
- 337624
- Publication, EPODOC
- MX337624
- Application
- 2012006659
- Application, DOCDB
- 2012006659
- Application, EPODOC
- MX20120006659
Titles
- Spanish
- PROCESAMIENTO SINCRONIZADO DE DATOS POR RECURSOS DE COMPUTO CONECTADOS EN RED.
Classification
- CPC, 9
- G06Q40/04
- H04L43/0852
- G06F15/17325
- H04L43/0858
- H04L43/0864
- H04L47/283
- H04L67/62
- H04L67/63
- G06F9/52
- IPC, 1
- G06F7 02