ES2754099T3 - Tratamiento sincronizado de datos mediante recursos informáticos en red - Google Patents

Tratamiento sincronizado de datos mediante recursos informáticos en red Download PDF

Info

Publication number
ES2754099T3
ES2754099T3 ES10835319T ES10835319T ES2754099T3 ES 2754099 T3 ES2754099 T3 ES 2754099T3 ES 10835319 T ES10835319 T ES 10835319T ES 10835319 T ES10835319 T ES 10835319T ES 2754099 T3 ES2754099 T3 ES 2754099T3
Authority
ES
Spain
Prior art keywords
execution
series
data processing
requests
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES10835319T
Other languages
English (en)
Inventor
Daniel Aisen
Bradley Katsuyama
Robert Park
John Schwall
Richard Steiner
Allen Zhang
Thomas Popejoy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Royal Bank of Canada
Original Assignee
Royal Bank of Canada
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Royal Bank of Canada filed Critical Royal Bank of Canada
Application granted granted Critical
Publication of ES2754099T3 publication Critical patent/ES2754099T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17325Synchronisation; Hardware support therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Un procedimiento realizado mediante, por lo menos, un procesador que ejecuta instrucciones interpretables a máquina, comprendiendo el procedimiento: asociar, con señales que representan instrucciones para la ejecución de una serie de segmentos de tratamiento de datos, representando cada segmento de tratamiento de datos instrucciones para la ejecución de una parte respectiva de un proceso de datos ejecutable por una serie de recursos informáticos en red (106, 1106), por lo menos un parámetro de temporización determinado utilizando, por lo menos parcialmente, una o varias latencias asociadas con la ejecución de solicitudes de tratamiento de señales mediante por lo menos uno de los recursos informáticos en red (106, 1106); y encaminar, de acuerdo con una secuencia de temporización, las señales que representan instrucciones para la ejecución de la serie de partes del proceso de datos, a la serie de recursos informáticos en red (106, 1106); la secuencia de temporización para encaminar las señales, basada en dicho por lo menos un parámetro de temporización asociado, determinado para provocar la llegada o la ejecución sincronizada de las instrucciones para la ejecución de la serie de partes de proceso de datos en la serie de recursos informáticos en red (106, 1106).

Description

DESCRIPCIÓN
Tratamiento sincronizado de datos mediante recursos informáticos en red
Campo técnico
La presente descripción se refiere, en general, a sistemas, procedimientos y programación interpretable a máquina, o a otros productos de instrucciones para la gestión de tratamiento de datos mediante múltiples recursos informáticos en red. En particular, la descripción se refiere a la sincronización de solicitudes relacionadas para tratamiento de datos utilizando recursos de red distribuidos.
Los aspectos del material dado a conocer en esta solicitud se refieren al mantenimiento, la transferencia y/o la administración de valores y otras participaciones financieras. Aspectos de dichos mantenimiento, transferencia y/o administración pueden estar sujetos a regulación por agencias de la administración y otras. La descripción de la presente memoria se realiza exclusivamente en términos de posibilidades lógicas, de programación y de comunicaciones, al margen de consideraciones estatutarias, regulatorias u otras. Nada de lo aquí contenido está destinado a la declaración o representación de que algún sistema, procedimiento o proceso propuesto o explicado en la presente memoria, o la utilización del mismo, sea o no compatible con ningún estatuto, ley, regulación u otro requisito legal en cualquier jurisdicción; ni se deberá considerar o interpretar en tal sentido.
Antecedentes
En varias clases de sistemas de tratamiento de datos en red o distribuidos de otro modo, a menudo procesos relacionados complejos y/o múltiples son encaminados a múltiples recursos informáticos para su ejecución. Por ejemplo, en sistemas de negociación financieros y otros, las órdenes de compras, ventas y otras transacciones de participaciones financieras son a menudo encaminadas a múltiples servidores de mercados o de bolsas para su realización. En dichos casos, puede ser ventajoso que las órdenes u otras solicitudes de tratamiento de datos encaminadas a múltiples servidores o a otros recursos sean ejecutadas simultáneamente, o lo más simultáneamente posible, o que sean ejecutadas de alguna otra forma sincronizada, o secuencia temporal, deseada.
Por ejemplo, se ha observado que los índices de compleción para órdenes relacionadas con participaciones financieras ejecutadas en mercados electrónicos en red disminuyen significativamente cuando dichas órdenes se completan de forma no sincronizada en múltiples mercados. Se ha observado además que la disminución en los índices de compleción aumenta cuando dichas órdenes son encaminadas a un número mayor de mercados electrónicos. Esto se debe, por lo menos en parte, a retardos en la ejecución de las partes subsiguientes de dichas órdenes después de que sus primeros componentes han sido completados: cuando una orden ha sido ejecutada en un mercado antes que en otro, el periodo de tiempo transcurrido se utiliza en ocasiones para manipulación de precios por partes que intentan maximizar los beneficios a corto plazo a partir de las ofertas: cuándo se ha completado un primer segmento de una orden, se pueden implementar cambios automáticos en términos de ofertas o licitaciones en mercados paralelos, provocando que posiciones publicitadas anteriormente sean revocadas y que se restrinja una subsiguiente negociación.
Por ejemplo, cuando una orden grande es encaminada a múltiples bolsas (por ejemplo, en base a la liquidez disponible en cada mercado), las órdenes tienden a llegar a las bolsas más rápidas (es decir, aquellas que tienen menores latencias inherentes) antes de lo que llegan a las bolsas más lentas (es decir, aquellas que tienen latencias inherentes mayores), y por lo tanto aparecen en los diferentes libros de bolsa en momentos diferentes. Cuando las órdenes comienzan a aparecer en los libros de las bolsas más rápidas, otras partes pueden detectar las órdenes e intentar aprovechar la latencia en las bolsas más lentas cancelando, cambiando y/o manipulando de otro modo las posiciones (por ejemplo, licitaciones y ofertas) u otros parámetros del mercado sobre las bolsas más lentas, aumentando de manera efectiva los costes implícitos de la negociación. Como resultado, órdenes que podrían de lo contrario haberse ejecutado en una sola bolsa con una elevada proporción de compleción tienden a presentar una menor proporción de compleción global cuando son encaminadas a múltiples bolsas como una negociación dividida. Los documentos de la técnica anterior, tales como el artículo de Rony Kay, "Pragmatic Network Latency Engineering, Fundamental Facts and Analysis", han intentado solucionar dichos problemas proponiendo la eliminación de latencias de comunicaciones unidireccionales (es decir, de "paquete"). Dichos sistemas no abordan las oportunidades de arbitraje y otros problemas provocados o facilitados por variaciones en el tiempo necesario para que múltiples procesadores ejecuten partes individuales de solicitudes de ejecución de múltiples procesadores (es decir, latencias de ejecución), además (o como parte) de las latencias de las comunicaciones.
La patente US 5,820,463 A se refiere a un procedimiento y un aparato para juegos de múltiples jugadores sobre una red, en particular, a la coordinación de la comunicación de una instrucción o paquete idéntico, a múltiples estaciones.
La patente US 6,677,858 B1 se refiere a un procedimiento y un sistema para monitorizar información de coordenadas espacio-temporales, con lo que todas las máquinas son sincronizadas temporalmente con un reloj global.
Compendio
En varios aspectos, la invención da a conocer sistemas, procedimientos y mecanismos de instrucciones ejecutables por ordenador (por ejemplo, estructuras de programación legibles a máquina no transitorias), tales como datos y conjuntos de instrucciones codificados en software, para la gestión del tratamiento de datos mediante múltiples recursos informáticos en red. En particular, por ejemplo, la invención da a conocer sistemas, procedimientos y conjuntos de instrucciones codificadas, útiles para controlar la sincronización de solicitudes relacionadas para el tratamiento de datos utilizando recursos de red distribuidos.
Por ejemplo, en un primer aspecto, la invención da a conocer sistemas, procedimientos e instrucciones de programación u otras interpretables a máquina, para provocar el tratamiento sincronizado de datos mediante múltiples recursos informáticos en red, comprendiendo dichos sistemas, por ejemplo, por lo menos un procesador configurado para ejecutar múltiples instrucciones interpretables a máquina, y para hacer que el sistema:
reciba desde una o varias fuentes de datos señales que representan instrucciones para la ejecución de, por lo menos, un proceso de datos ejecutable por una serie de recursos informáticos en red;
divida dicho por lo menos un proceso de datos en una serie de segmentos de tratamiento de datos, cada segmento de tratamiento de datos para ser encaminado a uno diferente de una serie de procesadores de ejecución en red;
basándose, por lo menos parcialmente, en latencias en la ejecución de solicitudes anteriores de tratamiento de datos encaminadas por el sistema a cada uno de la serie de procesadores de ejecución en red, determine una serie de parámetros de temporización, cada uno de la serie de parámetros de temporización para ser asociado con uno correspondiente de la serie de segmentos de tratamiento de datos, estando la serie de parámetros de temporización determinados para provocar la ejecución sincronizada de la serie de segmentos de tratamiento de datos mediante la serie de procesadores de ejecución en red; y
utilizando los parámetros de temporización asociados con la serie de segmentos de tratamiento de datos, encaminando la serie de segmentos de tratamiento de datos a la serie de correspondientes procesadores de ejecución en red.
En algunas realizaciones, tal como se explicará en la presente memoria, los procesadores de ejecución en red pueden, por ejemplo, comprender servidores de bolsa, y los segmentos de tratamiento de datos representan solicitudes para negociaciones en participaciones financieras tales como productos básicos y/o participaciones intangibles, tales como acciones, bonos y/o varios tipos de opciones.
La pluralidad de parámetros de temporización determinados se pueden utilizar para determinar e implementar secuencias de temporización con el fin de implementar la ejecución secuencial deseada de solicitudes de tratamiento de datos de acuerdo con la invención, y puede, por ejemplo, representar y/o basarse completa o parcialmente en latencias en la ejecución de las solicitudes de tratamiento de datos debidas a muchos factores. Por ejemplo, dichos parámetros se pueden basar, total o parcialmente, en una o varias latencias monitorizadas dinámicamente en la ejecución de solicitudes de tratamiento de señales encaminadas previamente por el sistema a, por lo menos, uno de la serie de procesadores de ejecución en red. Dichas latencias pueden estar provocadas por muchos factores que incluyen, por ejemplo, varios tipos de retardos de comunicación y de tratamiento de datos. Dichos parámetros de temporización pueden basarse además en modelos estadísticos, por ejemplo de probabilidad, de datos de latencia observados, y en patrones en los mismos.
Dichos sistemas, procedimientos e instrucciones de programación u otras interpretables a máquina, pueden estar además configurados de tal modo que pueden hacer que un sistema:
asocie con cada uno de por lo menos uno de la serie de segmentos de tratamiento de datos, datos que representan por lo menos un término de cantidad, representando dicho por lo menos un término de cantidad por lo menos una cantidad de una participación financiera a negociar de acuerdo con una solicitud representada por cada uno de dicho por lo menos un segmento de tratamiento de datos, y por lo menos un correspondiente término de precio asociado con cada uno de dicho término de cantidad, representando el término de cantidad por lo menos un precio propuesto al que se tiene que ejecutar una negociación representada por dicho por lo menos un segmento de tratamiento de datos;
dicho por lo menos un término de cantidad mayor que por lo menos una cantidad de la participación financiera ofertada públicamente a un precio equivalente al correspondiente término de precio asociado, en un mercado asociado con el procesador o procesadores de ejecución en red a los que tiene que ser encaminado dicho por lo menos un segmento de tratamiento de datos.
Dichos términos de cantidad se pueden determinar, por ejemplo, basándose, por lo menos parcialmente, en históricos de negociación asociados con el mercado o mercados asociados con el procesador o procesadores de ejecución en red a los que se tienen que encaminar los segmentos de tratamiento de datos. Esto se pueden determinar sobre datos relacionados con ofertas y/o negociaciones mostradas o no mostradas, incluyendo, por ejemplo, cantidades históricas no mostradas de remanentes o reservas.
En otros aspectos, la invención da a conocer sistemas, procedimientos e instrucciones de programación u otras interpretables a máquina, para provocar el tratamiento sincronizado de datos mediante múltiples recursos informáticos en red, comprendiendo dichos sistemas, por ejemplo, por lo menos un procesador configurado para ejecutar instrucciones interpretables a máquina, y para hacer que el sistema:
monitorice la ejecución de solicitudes de ejecución de tratamiento de señales por cada uno de la serie de recursos informáticos en red;
determine por lo menos un parámetro de temporización asociado con una latencia en la ejecución de procesos de señal entre el sistema y cada uno de la serie de recursos informáticos en red; y
almacene dicho por lo menos un parámetro de temporización en memoria legible a máquina, accesible mediante dicho por lo menos un procesador.
Monitorizar la ejecución de solicitudes de ejecución de tratamiento de señales de acuerdo con dicha realización de la invención y otras, se puede implementar de manera continua, periódica y/o otras adecuadas o deseables.
En varias realizaciones de los diversos aspectos de la invención, los recursos informáticos en red pueden incluir uno o varios servidores de bolsa. Las fuentes de datos pueden incluir uno o varios servidores o sistemas de corredor de bolsa o negociador, los procesos de señal controlados pueden representar negociaciones en participaciones financieras, y la ejecución de solicitudes de ejecución de tratamiento de señales representa la ejecución de transacciones en participaciones financieras incluyendo, por ejemplo, acciones, bonos, opciones y participaciones de contratos, divisas y/u otras participaciones intangibles, y/o productos básicos. En dichas realizaciones, las solicitudes para la ejecución de procedimientos de tratamiento de datos se pueden basar, total o parcialmente, en parámetros que incluyen, por ejemplo, cualesquiera una o varias de cotizaciones actuales de datos de mercado, reglas de encaminamiento de órdenes, características de órdenes, solvencia mostrada de cada recurso informático en red, y un retardo probable, o latencia, en la ejecución de una cantidad de órdenes en cada recurso informático en red.
En los mismos y otros aspectos, la invención da a conocer sistemas para controlar o gestionar de otro modo solicitudes para tratamiento de datos mediante recursos informáticos distribuidos, incluyendo dichos sistemas uno o varios procesadores configurados para ejecutar instrucciones para hacer que el sistema:
monitorice la ejecución de solicitudes de ejecución de tratamiento de señales por cada uno de la serie de recursos informáticos en red;
determine por lo menos un parámetro de temporización asociado con la latencia en la ejecución de procesos de señal entre el sistema y cada uno de la serie de recursos informáticos en red; y
almacene dicho por lo menos un parámetro de temporización para cada uno de la serie de recursos informáticos en red.
Entre las muchas ventajas ofrecidas por la invención está la posibilidad de monitorizar latencias y otros factores en el tratamiento en red de solicitudes de tratamiento de datos de múltiples partes u otras complejas, de manera dinámica, o 'cambiante', y utilizar dichas latencias monitorizadas de manera dinámica y/u otros factores para determinar parámetros de temporización a utilizar en la implementación de solicitudes de tratamiento sincronizadas, tal como se da a conocer en la presente memoria. Los parámetros de temporización utilizados en la implementación de solicitudes de tratamiento sincronizadas pueden ser monitorizados y/o determinados de manera continua, constante, periódica u otras, dependiendo de las necesidades, objetivos y otros factores de las aplicaciones en las que se tienen que aplicar.
Otra ventaja que ofrece la invención es la reducción o eliminación de la necesidad de considerar latencias de comunicaciones unidireccionales, por ejemplo, la necesidad de minimizar latencias en comunicaciones entre procesadores de encaminamiento y de ejecución.
Tal como apreciarán los expertos en la materia relevante una vez se familiaricen con esta descripción, la sincronización de la ejecución de solicitudes de tratamiento de datos distribuido mediante, por ejemplo, la transmisión sincronizada de solicitudes para dicho tratamiento, tiene multitud de posibles aplicaciones en un gran número de campos de tratamiento de datos.
Breve descripción de los dibujos
A continuación se hará referencia a los dibujos, que muestran a modo de ejemplo realizaciones de la presente descri pción.
Las figuras 1A, 1B y 3 muestran ejemplos de sistemas adecuados para provocar un tratamiento de datos mediante múltiples recursos informáticos en red, de acuerdo con varios aspectos de la invención.
Las figuras 2 y 4 muestran diagramas de flujo que ilustran ejemplos de procedimientos para provocar un tratamiento de datos mediante múltiples recursos informáticos en red, de acuerdo con varios aspectos de la invención.
La figura 5 muestra un histograma de ejemplo que puede ser utilizado en un procedimiento de ejemplo para gestionar el tratamiento de datos mediante múltiples recursos informáticos en red, de acuerdo con varios aspectos de la invención.
Las figuras 6A y 6B muestran una comparación de proporciones de compleción utilizando un procedimiento y un sistema de ejemplo para tratamiento de datos mediante múltiples recursos informáticos en red, frente a utilizar un procedimiento y un sistema convencionales.
La figura 7 muestra la utilización de una métrica de ejemplo para comparar un procedimiento y un sistema de ejemplo para tratamiento de datos mediante múltiples recursos informáticos en red, frente a los resultados de utilizar un procedimiento y un sistema de la técnica anterior.
En todos los dibujos adjuntos, las características similares se identifican mediante numerales de referencia similares.
Descripción de realizaciones de ejemplo
En esta descripción, tal como comprenderán los expertos en la materia relevante, 'sincronizado' significa de acuerdo con cualquier secuencia de temporización deseada, ya sea regular, irregular y/o total o parcialmente simultánea.
La figura 1 muestra un ejemplo de un sistema 100 adecuado para provocar un tratamiento de datos adecuado, mediante múltiples recursos informáticos en red, de acuerdo con la invención.
En el ejemplo mostrado, el sistema 100 incluye una o varias fuentes de señal o de datos 102 (que comprenden una o varias de las fuentes 102a, 102b), uno o varios procesadores de encaminador de ejecución 104 y uno o varios recursos informáticos en red, o procesadores de ejecución, 106. En algunas realizaciones, las fuentes de datos 102 pueden incluir una o varias fuentes internas de datos 102a, que pueden comunicar con el encaminador 104 directamente (por ejemplo, a través de una o varias redes de área extensa o locales privadas, u otra comunicación inalámbrica o cableada segura, a través de uno o varios canales de comunicación o a través de una o varias comunicaciones con un único servidor). En la misma y/o en otras realizaciones, la fuente o fuentes de datos 102 pueden incluir asimismo una o varias fuentes externas de datos 102b, que pueden, por ejemplo, comunicar con uno o varios procesadores de encaminador 104 a través de una o varias redes públicas 108 (por ejemplo, una red de telecomunicaciones pública o privada, tal como internet), utilizando dispositivos de seguridad de red adecuados o deseados, que pueden incluir, por ejemplo, cifrado de datos, etc. En el ejemplo mostrado, uno o varios procesadores de encaminador 104 comunican con cada uno de dichos uno o varios recursos en red de ejecución o informáticos 106 por medio de una red 110, que puede ser la misma que la red o redes 108, o diferente.
En varias realizaciones, la fuente o fuentes de datos 102 pueden incluir dispositivos que proporcionan, en nombre de una o varias entidades que generan solicitudes de negociación y/u otras solicitudes de tratamiento de datos, señales que comunican datos y/o instrucciones relacionadas con la ejecución de procesos de tratamiento de datos para uno o varios procesadores de encaminador 104, datos y/o instrucciones que dichos uno o varios procesadores de encaminador 104 pueden procesar (por ejemplo, agregar sumando, promediando, etc.; y/o dividir en segmentos, etc.) y utilizar como base para las solicitudes para tratamiento de datos mediante los recursos informáticos en red 106. Las fuentes de datos 102a, 102b pueden incluir, por ejemplo, sistemas, servidores, procesadores y/o cualquier otra fuente o fuentes adecuadas de solicitudes para ejecución de tareas de tratamiento de datos, tales como ofertas y/o licitaciones para la compra de productos básicos, participaciones financieras intangibles, etc., y/u otras tareas de tratamiento de datos, tales como tareas de comunicaciones de palabras, imágenes y/u otras, o de tratamiento de documentos. Cada uno o cualquiera de la fuente o fuentes de datos 102, el procesador o procesadores 104 y los recursos 106 puede incluir múltiples de dichos sistemas, servidores o procesadores.
En varias realizaciones, parte o la totalidad de la fuente o fuentes de datos 102 y del procesador o procesadores de encaminador 104 se pueden combinar y/o sino configurar, para implementar programación múltiple u otras aplicaciones de instrucciones de máquina que se ejecutan en máquinas individuales.
Los recursos informáticos en red 106 pueden incluir cualesquiera dispositivos u otros recursos que comuniquen con un procesador o procesadores de encaminador 104 para recibir y llevar a cabo cualquiera de una muy amplia gama de solicitudes de tratamiento de datos. Dichos recursos informáticos en red 106 pueden incluir sistemas, servidores, procesadores o cualesquiera otros dispositivos adaptados para la ejecución de cualesquiera procesos adecuados para utilizar en la implementación de la invención incluyendo, por ejemplo, tratamiento de ofertas o licitaciones para la compra de productos básicos, participaciones financieras, etc., y/u otras tareas de tratamiento de datos, tales como tareas de tratamiento de palabras o de documentos, de comunicaciones o de documentación de imágenes, y/u otras.
En varias realizaciones, dichas una o varias fuentes de datos 102 transmiten, o proporcionan al procesador o procesadores de encaminador 104 señales que representan instrucciones, o solicitudes, para ejecutar funciones de tratamiento de datos. Las instrucciones procedentes de cualquier fuente o fuentes de datos 102 determinadas, pueden incluir instrucciones para procesos de señal que tienen que ser ejecutados por cualesquiera uno o varios recursos informáticos en red 106. Los procesos de señal solicitados pueden incluir, por ejemplo, operaciones informáticas, manipulaciones de datos y/o procesos de comunicaciones, u otros intercambios de señales, entre otros. En algunos ejemplos, pero no necesariamente en todos, dichas instrucciones pueden identificar específicamente uno o varios recursos informáticos en red 106, en particular destinados a la ejecución de dichos procesos.
El procesador o procesadores de encaminador 104 pueden analizar sintácticamente señales de instrucciones recibidas desde una o varias fuentes 102, y utilizar dichas señales para preparar instrucciones, o solicitudes, para reenviar a series de procesadores de ejecución 106, para la ejecución de tratamiento de datos y/o de otros procesos de señal de acuerdo con las instrucciones recibidas. El análisis sintáctico de dichas instrucciones puede incluir, por ejemplo, identificar el tipo de proceso o procesos a solicitar, incluyendo, por ejemplo, el volumen o la cantidad de una orden o licitación para una negociación o la cantidad de tratamiento de documentos a realizar, y el tipo, la naturaleza y/o la identidad o identidades del recurso o recursos informáticos en red 106 a solicitar para la ejecución, y por lo tanto asociados con una solicitud de tratamiento de datos y/u otro tratamiento de señales.
Por ejemplo, para aumentar la eficiencia de las funciones de tratamiento de datos de señal y/u otras, el procesador o procesadores de encaminador 104 pueden analizar sintácticamente, clasificar y agregar instrucciones o solicitudes recibidas desde múltiples fuentes 102 para solicitudes de ejecución relativamente menores, en una o varias solicitudes de tratamiento, y además dividir dicha solicitud o solicitudes agregadas en series de solicitudes menores a distribuir a una o varias series de procesadores de ejecución 106 dependiendo, por ejemplo, de la capacidad actual de los procesadores de ejecución 106 para satisfacer o completar dichas solicitudes procesadas.
Por ejemplo, múltiples conjuntos de señales de instrucciones recibidos desde diferentes fuentes de datos 102a, 102b se pueden asociar con (por ejemplo, dirigir para su distribución a, y ejecución mediante) uno o varios recursos informáticos en red individuales 106, y dichas instrucciones se pueden agregar en solicitudes de ejecución de proceso de señal individuales para dicho recurso o recursos informáticos en red 106. En algunos ejemplos, la identificación del recurso o recursos informáticos en red 106 para asignar una determinada solicitud de tratamiento de señales se puede realizar después de la agregación. Por ejemplo múltiples instrucciones procedentes de diferentes fuentes de datos 102a, 102b se pueden clasificar o asociar de otro modo con un único proceso de señal o de datos, y dichas instrucciones se pueden agregar, y las instrucciones agregadas se pueden asociar con uno o varios recursos informáticos en red 106 identificados, de tal modo que una o varias solicitudes de proceso de señal se pueden preparar en consecuencia para el recurso o recursos informáticos en red 106 identificados. Dicho análisis sintáctico, clasificación y/o identificación se pueden llevar a cabo de acuerdo con reglas o algoritmos predeterminados (por ejemplo, en base a capacidades de tratamiento constantes o actuales de uno o varios recursos informáticos en red 106), y de acuerdo con requisitos codificados en las instrucciones o sino proporcionados por la fuente o fuentes de origen 102, cuando proceda.
Como otro ejemplo, los conjuntos de instrucciones individuales para tratamiento de datos pueden ser segmentados por el procesador o procesadores 104 y distribuidos a una serie de recursos 106 para una ejecución distribuida. Por ejemplo, una orden relativamente grande para negociar una o varias participaciones financieras, originada en una única fuente 102a, 102b, puede tener que ser distribuida a múltiples servidores de bolsa 106 para completarse del todo; en dichos casos, la solicitud o solicitudes procedentes de una o varias fuentes 102 pueden ser segmentadas por el procesador o procesadores 104 en órdenes adecuadas para su ejecución por una serie de dichos recursos 106.
Los recursos informáticos en red/procesadores de ejecución 106 encargados, o identificados específicamente, comunican con el procesador o procesadores de encaminador 104 para recibir las solicitudes segmentadas de ejecución de procesos de señal y, a continuación, pueden ejecutarlas en consecuencia. La ejecución de dichos procesos de señal puede incluir, por ejemplo, llevar a cabo una operación de tratamiento de texto -o de imágenes-, un cálculo matemático o un intercambio de señales de comunicaciones, entre otros.
Tal como comprenderán fácilmente los expertos en la materia relevante, diversos componentes del sistema 100 se pueden combinar, o se pueden implementar en forma de sistemas o dispositivos independientes. En una amplia gama de configuraciones, dichos (sub)sistemas combinados o independientes se pueden hacer funcionar por la misma, o por distintas entidades. Como un ejemplo particular, una o varias fuentes de solicitudes 102 se pueden integrar con, o si no asociar con uno o varios encaminadores individuales 104.
Un ejemplo de una aplicación de un sistema 100 para la ejecución distribuida de solicitudes de tratamiento segmentadas de acuerdo con la invención, se da a conocer mediante un sistema financiero 1000 adaptado para el tratamiento de solicitudes para tratamiento de datos que representan negociaciones y/u ofertas de negociaciones, u otras transacciones, en participaciones financieras tangibles y/o intangibles, tales como acciones, bonos, divisas (por ejemplo, bolsa extranjera), varias clases de recursos naturales o productos básicos, opciones, créditos, etc. Tal como se muestra en las figuras 1A y 1B, por ejemplo, en el sistema de tratamiento de datos de transacciones financieras 1000 acorde con la invención, una o varias fuentes de señales o de datos 102 pueden incluir uno o varios sistemas de negociador 1102 que pueden incluir, por ejemplo, sistemas de negociador/corredor de bolsa o servidores, así como muchas otras fuentes de licitaciones, ofertas u otras transacciones en participaciones financieras, tales como las proporcionadas actualmente por las plataformas conocidas de negociación financiera. En varias realizaciones, dichos sistemas de negociador 1102 se pueden denominar sistemas de creación de órdenes.
Los sistemas de creación de órdenes 1102, 102a pueden incluir sistemas manejados por, o en nombre de, por ejemplo, entidades pertenecientes a, o si no controladas por organizaciones matrices u otras organizaciones de control, tales como bancos o agencias de corretaje. Los sistemas de creación de órdenes 1102, 102b pueden incluir, por ejemplo, sistemas manejados por, o en nombre de corredores de bolsa u otras entidades de negociación que actúan, por ejemplo, en nombre de inversores individuales, negociando por medio de, o con la ayuda de bancos controlados independientemente, inversores institucionales y/u otras agencias de corretaje.
El procesador o procesadores de encaminador 104 en dichas realizaciones pueden incluir, por ejemplo, uno o varios servidores u otro sistema o sistemas 1104 que comunican con sistemas de negociador 1102, 102, por ejemplo a través de la recepción y transmisión de señales electrónicas codificadas que representan solicitudes para tratamiento de datos que representan la ejecución y/o el acuse de recibo de transacciones en participaciones financieras; y que comunican con sistemas de corredor de bolsa, de bolsa u otros sistemas de mercados o con uno o varios procesadores de ejecución 1106, para la ejecución de dichas transacciones. En dichas realizaciones, un procesador 104 se puede denominar un encaminador de órdenes inteligente o un encaminador de órdenes híbrido táctico (en ambos casos, "SOR") 1104, 104. Un SOR 1104 puede incluir, por ejemplo, una o varias pasarelas 1122 y/o uno o varios encaminadores 1124 para facilitar las comunicaciones mediante el encaminador o encaminadores 1104 con uno o varios sistemas de negociador 1102, 102 directamente (por ejemplo, por medio de comunicación cableada, utilizando uno o varios canales de comunicación dedicados, o mediante comunicación con un único servidor) y/o indirectamente (por ejemplo, por medio de comunicación inalámbrica, a través de una red 108, 1108 o a través de un servidor intermedio). Los sistemas de bolsa o de mercado 1106, u otro procesador o procesadores de ejecución 106, pueden estar en comunicación con uno o varios SOR 1104, por ejemplo, a través de una red 110, 1110, tal como internet u otra red pública, que puede ser la misma que la red 1108.
Para una realización de un sistema 100 configurado como un sistema de negociación financiera o de ejecución de órdenes 1000, los procesos de señal solicitados y ejecutados, proporcionados por la fuente o fuentes 102, pueden representar negociaciones u otras transacciones en participaciones financieras. Dichas transacciones pueden incluir, por ejemplo, negociaciones y/u ofertas de negociaciones, u otras transacciones, en participaciones financieras tales como acciones, bonos, divisas (por ejemplo, bolsa extranjera), varias clases de recursos naturales o productos básicos, opciones, créditos, etc.; y los recursos informáticos en red 106 pueden ser, por ejemplo, servidores de bolsa 1106, ejemplos de los cuales pueden incluir sistemas de mercado automáticos o electrónicos.
Tal como comprenderán los expertos en la materia relevante, un (sub)sistema SOR o un procesador 1104 que recibe dichos conjuntos de señales de solicitudes de transacción puede aplicar una amplia gama de procesos a la solicitud o solicitudes. Por ejemplo, cuando los conjuntos de señales representan solicitudes de transacciones en participaciones financieras, las transacciones solicitadas pueden ser agregadas, bien en el tiempo y/o a través de múltiples fuentes de solicitudes de transacción 1102; y/o las solicitudes de tratamiento para transacciones en una o varias participaciones se pueden dividir para encaminarse a múltiples procesadores o gestores de ejecución 1106, individualmente o en lotes.
En varias realizaciones, tal como se describe en la presente memoria, una o varias fuentes de órdenes 102, 1102 se pueden implementar conjuntamente junto con, o como parte de un encaminador o encaminadores de órdenes 104, 1104. Los expertos en la materia relevante comprenderán fácilmente que cualquiera o la totalidad de los diversos componentes del sistema o sistemas 100, 1000, incluyendo, por ejemplo, cualquiera o la totalidad del procesador o procesadores 102, 104, 106, y de los procedimientos para hacerlos funcionar de acuerdo con la descripción de la presente memoria, se pueden implementar utilizando cualesquiera dispositivos, software y/o software inalterable configurado para los propósitos descritos en la presente memoria. Actualmente se conoce una amplia gama de componentes, tanto de hardware como de software, así como de software inalterable, que son adecuados, cuando se utilizan por separado y/o en diversas combinaciones, para implementar dichos sistemas, dispositivos y procedimientos; ciertamente, se desarrollarán otros a continuación.
Ejemplos de componentes adecuados para utilizar en la implementación de ejemplos de sistemas 100, 1000, y los diversos procesos dados a conocer en la presente memoria, que incluyen los procesos de ejemplo 200 de la figura 2 y 300 de la figura 4, incluyen, por ejemplo, sistemas de clase de servidor, tales como IBM x3850 M2™, HP ProLiant DL380 G5™ HP ProLiant Dl585™ y Hp ProLiant DL585 G1™. Servirá una amplia gama de otros procesadores, incluyendo, en algunas realizaciones, sistemas de sobremesa, portátiles o de modelo de palm.
En la figura 2 se muestra un ejemplo de un procedimiento 200 para el tratamiento de un conjunto de señales de solicitudes de transacción generado por una fuente de señales de solicitudes de transacción 102, 1102, adecuado para su implementación por un procesador o procesadores de encaminador 104, tal como, por ejemplo, un SOR 1104 de un sistema 1000.
Se puede considerar que el proceso 200 de la figura 2 comienza en 202, con la recepción por el procesador o procesadores 104, 1104 de señales que representan una solicitud para tratamiento de datos tal como, por ejemplo, una transacción en una o varias participaciones financieras. En las realizaciones de los sistemas 100, 1000 que comprenden uno o varios procesadores de encaminamiento SOR 1104 adaptados para procesar señales que representan solicitudes para la ejecución de negociaciones y/o de otras transacciones en participaciones financieras recibidas desde una o varias fuentes de señales de transacción 1102, los conjuntos de señales que representan solicitudes para la ejecución de transacciones en una o varias participaciones financieras pueden incluir señales o conjuntos de señales que representan, por ejemplo, uno o varios identificadores que representan:
• la fuente o fuentes de la solicitud, tal como un URL u otra dirección de red o identificador utilizado por, o asociado de otro modo con un sistema de negociación 102, 1102;
• la participación o participaciones a negociar o tramitar de otro modo, tales como un identificador utilizado por una o varias bolsas para identificar una acción, un número CUSIP para un bono, un conjunto de divisas a intercambiar, etc.;
• un tipo de transacción (por ejemplo, compra, venta, licitación, oferta, etc.) a ejecutar o solicitar;
• una o varias cantidades (es decir, magnitudes o volúmenes) de la participación o participaciones a tramitar (incluyendo, por ejemplo, cualesquiera cantidades totales y/o de reserva); y
• correspondientes términos de precios.
Otros parámetros pueden incluir, por ejemplo, valores actuales y/o históricos de:
• la probabilidad de compleción para solicitudes de transacción de múltiples partes, o segmentadas, (es decir, la proporción histórica de órdenes de múltiples partes que tiene como resultado transacciones completadas);
• magnitudes de diferencias entre, por ejemplo, precios de licitaciones y de ofertas, por ejemplo, actuales y/o relativos a tendencias históricas en las diferencias;
• volatilidad de los mercados en participaciones específicas a negociar, o una o varias participaciones relacionadas o correspondientes, o referencias o índices relacionados;
• profundidad del libro o libros de los mercados, por ejemplo profundidad actual con respecto a tendencias históricas en profundidad;
• cantidades de reserva;
• cantidades mostradas; y
• tamaño mostrado y respaldo, por ejemplo en los lados de compra y/o de venta.
En otras realizaciones, dichos conjuntos de señales pueden comprender contenido y/o identificadores que representan imágenes, texto u otro contenido, o para procesar por uno o varios procesadores de ejecución 104, 1104, y solicitudes específicas de ejecución.
Entre los muchos tipos de sistemas de mercado 1106 adecuados con varias realizaciones de la invención, están los sistemas de negociación alternativos (ATS, alternative trading systems) del tipo conocido como bolsas 'opacas' o 'consorcios opacos'. Habitualmente, dichas bolsas no muestran abiertamente ofertas de mercado a los miembros del público de la negociación. La utilización de cantidades de reserva conocidas o predichas puede ser especialmente útil en dichas realizaciones.
De este modo, un ejemplo de un registro de datos a proporcionar por una fuente 102, 1102 para solicitar una transacción en una determinada participación, en términos indicados, puede incluir:
<fuente (102, 1102) de solicitud><tipo de transacción><identificador de participación><cantidad o cantidades><término o términos de precio>
Los conjuntos de señales recibidos por los procesadores 104, 1104 en 202 pueden ser almacenados en cualquier memoria o memorias volátiles y/o persistentes, según proceda, con propósitos de archivo y/o de posterior tratamiento.
En 204, las solicitudes de transacción u otras solicitudes de ejecución de tratamiento de datos recibidas en 202 pueden ser analizadas sintácticamente por el procesador o procesadores de encaminador 104, 1104 para ponerlas en cualquier forma adecuada o deseada para su utilización en la preparación de uno o varios conjuntos de señales de instrucciones a proporcionar al procesador o procesadores de ejecución 106, 1106. El análisis sintáctico de las señales de instrucción puede incluir, por ejemplo, identificar el tipo de transacción o transacciones, o de proceso o procesos a solicitar, incluyendo, por ejemplo, volúmenes y/o cantidades de órdenes o licitaciones para negociaciones en una o varias participaciones especificadas, y si dichos volúmenes se tienen que comprar o vender, u ofrecer para su venta o compra; cantidades y/o tipos de tratamiento de documentos a realizar; y el tipo y la naturaleza del recurso o recursos informáticos en red o del procesador o procesadores de ejecución 106 a los que solicitar la ejecución y, de ese modo, a los que asociar con dichas instrucciones de ejecución o tratamiento. En varias realizaciones, los conjuntos de instrucciones analizadas sintácticamente se pueden almacenar en una o varias memorias temporales o volátiles 118, 1018 accesibles por el correspondiente procesador o procesadores 104, 1104 para su agregación con otras solicitudes de tratamiento, su división para el encaminamiento a múltiples procesadores/recursos de ejecución 106, 1106, y/o para la preparación y envío de lotes u otras solicitudes de ejecución retardadas.
Las instrucciones recibidas en 202 se pueden acumular durante intervalos de tiempo definidos, regulares o irregulares, tales como la duración de una jornada laboral o cualquier segmento de la misma, o cualquier periodo o periodos de tiempo deseados, que pueden estar preestablecidos y/o ser determinados dinámicamente por el procesador o procesadores 104, 1104. Las instrucciones pueden asimismo procesarse individualmente, según se reciben. Si se van a recibir, o pueden ser recibidas potencialmente, más instrucciones antes del tratamiento, el proceso 200 puede volver a 202.
Las solicitudes/instrucciones de transacción se pueden acumular durante intervalos de tiempo definidos, tales como la duración de la jornada laboral o cualquier segmento de la misma, o un periodo de tiempo deseado, que puede estar preestablecido y/o determinase dinámicamente por el procesador o procesadores 104, 1104. Si se van a recibir más instrucciones, o pueden recibirse potencialmente, el proceso 200 puede volver a 202.
En realizaciones de la invención que utilizan técnicas de clasificación/agregaciones en el análisis sintáctico o sino en el orden de preparación u otras solicitudes de tratamiento, el 206 procesador o procesadores 104, 1104 pueden repetir el proceso 202-204 hasta que se han recibido desde la fuente o fuentes 102, 1102 todos los conjuntos de señales de solicitudes de tratamiento relacionados o susceptibles de agregación, necesarios o deseados. Por ejemplo, tal como se ha descrito anteriormente, se pueden recibir números arbitrarios de registros de datos que representan órdenes o solicitudes para la compra de bonos identificables por números CUSIP (Committee on Uniform Security Identification Procedures, comité sobre procedimientos para la identificación informe de valores) desde una o varias fuentes de datos 102, 1102, y almacenar en la memoria 118, 1018 asociada con el procesador o procesadores 104, 1104 para tratamiento por lotes, por lo tanto:
<fuente 1><venta><CUSIP núm. AA><10.000><precio A><res. 9.000><precio D>
<fuente 2><compra><CUSIP núm. BB><12.000><precio C><res. 1.000><precio B>
<fuente 3><venta><CUSIP núm. BB><11.000><precio A><res. 8.000><precio D>
<fuente 6><venta><CUSIP núm. AA><14.000><precio A><res. 2.000><precio E>
<fuente 4><compra><CUSIP núm. AA><18.000><precio C><res. 7.000><precio B>
<fuente 1><venta><CUSIP núm. BB><20.000><precio A><res. 3.000><precio D>
<fuente 3><venta><CUSIP núm. AA><13.000><precio A><res. 6.000><precio D>
<fuente 4><compra><CUSIP núm. BB><22.000><precio C><res. 4.000><precio B>
<fuente 5><venta><CUSIP núm. AA><21.000><precio A><res. 5.000xprecio E>
<fuente 4><compra><CUSIP núm. BB><15.000><precio C><res. 7.000><precio F>
<fuente 1><venta><CUSIP núm. AA><19.000><precio A><res. 3.000><precio D>
<fuente 5><compra><CUSIP núm. BB><16.000><precio C><res. 8.000><precio F>
<fuente 6><venta><CUSIP núm. BB><17.000><precio A><res. 6.000><precio H>
Tras la recepción individual, o con una frecuencia periódica determinada, en una hora determinada, cuando se ha recibido un número determinado de órdenes, cuando se han recibido todas las órdenes deseadas o cuando se ha cumplido cualquier otro criterio deseado, el procesador o procesadores 104, 1104 pueden, como parte de instrucciones de tratamiento de análisis sintáctico u otras en 204, clasificar y/o agrupar los registros almacenados, según cualquiera de uno o varios criterios deseados, por ejemplo, por el tipo de solicitud de transacción e identificador de la participación, por lo tanto:
<compra><CUSIP núm. AA><18.000><precio C><res. 7.000><precio G><fuente 4>
<venta><CUSIP núm. AA><10.000><precio A><res. 9.000><precio D><fuente 1> <venta><CUSIP núm. AA><14.000><precio A><res. 2.000><precio E><fuente 6> <venta><CUSIP núm. AA><13.000><precio A><res. 6.000><precio D><fuente 3> <venta><CUSIP núm. AA><21.000><precio A><res. 5.000><precio E><fuente 5> <venta><CUSIP núm. AA><19.000><precio A><res. 3.000><precio D><fuente 1>
<compra><CUSIP núm. BB><15.000><precio C><res. 7.000><precio F><fuente 4> <compra><CUSIP núm. BB><22.000><precio C><res. 4.000><precio B><fuente 4> <compra><CUSIP núm. BB><12.000><precio C><res. 1.000><precio B><fuente 2> <compra><CUSIP núm. BB><16.000><precio C><res. 8.000><precio F><fuente 5>
<venta><CUSIP núm. BB><20.000><precio A><res. 3.000><precio D><fuente 1> <venta><CUSIP núm. BB><11.000><precio A><res. 8.000><precio D><fuente 3> <venta><CUSIP núm. BB><17.000><precio A><res. 6.000><precio H><fuente 6>
Tal como se muestra, varios campos de datos en los registros de solicitud de transacción se pueden reordenar o bien reformatear, si es necesario o deseable, para adecuarse a las necesidades de tratamiento del procesador o procesadores de encaminamiento 104, 1104. Por ejemplo, tal como se muestra, la asociación de un elemento de datos "fuente" asociado con, o bien que ha recibido, una prioridad diferente, para facilitar la contratación eficiente permitiendo al mismo tiempo que el procesador o procesadores 104, 1104 notifiquen el cumplimiento de transacciones/solicitudes a la finalización del tratamiento de la orden.
El proceso 204 puede incluir además la agregación mediante el procesador o procesadores 104, 1104 de solicitudes de transacción recibidas y clasificadas, en una o varias órdenes reunidas o consolidadas para tipos específicos de transacciones en una o varias participaciones específicas, por ejemplo, sumando cantidades totales o subtotales asociadas con correspondientes solicitudes de transacción, por lo tanto:
<compra><CUSIP núm. AA><18.000><precio C><res. 7.000><precio G>
<venta><CUSIP núm. AA><77.000><precio A><res. 18.000><precio D> <res. 7.000><precio E> <compra><CUSIP núm. BB><65.000><precio C><res. 15.000><precio E> <res. 5.000><precio B> <venta><CUSIP núm. BB><48.000><precio A><res. 11.000><precio D> <res. 6.000><precio H> Cuando todos los conjuntos de señales deseados se han recibido en 202, y opcionalmente se han clasificado, acumulado y/o procesado de otro modo en 204, el procesador o procesadores 104, 1104 pueden en 208, utilizando conjuntos de instrucciones procesados en 204, preparar conjuntos de señales de solicitud de ejecución para su transmisión a procesadores de recursos/ejecución 106, 1106. Dichos conjuntos de señales de solicitud de ejecución pueden comprender cualesquiera señales necesarias o deseables para provocar el tratamiento solicitado, incluyendo señales de contenido o de datos, y de comandos. Por ejemplo, en realizaciones de la invención adaptadas para el tratamiento de solicitudes para transacciones en participaciones financieras, las solicitudes pueden ser clasificadas y/o agregadas en base a una o varias participaciones a negociar, a cantidades de una o varias participaciones a negociar, precio, etc., y asociadas con señales adecuadas de comandos de ejecución. La forma de cualesquiera señales de comandos de ejecución asociadas con una solicitud determinada puede depender, tal como reconocerán los expertos en la materia, de la naturaleza y del tipo de solicitudes a ejecutar y de los procesadores 106, 1106 mediante los que tienen que ser ejecutadas, así como de cualesquiera redes 110, 1110 sobre las que tienen que ser enviadas las señales intercambiadas entre el procesador o procesadores 104, 1104 y 106, 1106, incluyendo protocolos y requisitos de formateo de instrucciones aplicables. Por lo tanto, los datos pertenecientes a cualesquiera o la totalidad de los sistemas 106, 1106, 104, 1104 y 110, 1110, los protocolos utilizados por los mismos y/o la información relacionada con las participaciones negociadas, ofrecidas, o descritas por los mismos, pueden ser accedidos y utilizados por el procesador o procesadores 104, 1104 para el análisis sintáctico y la preparación de instrucciones para la ejecución de tratamiento mediante cualesquiera procesadores o recursos 106, 1106. Las fuentes 1126 de dichos datos pueden incluir, por ejemplo, el sistema de datos del mercado bursátil 1126v (figura 1b) que, por ejemplo, en realizaciones de la invención adaptadas para el tratamiento de transacciones financieras, puede incluir información recibida desde varios sistemas de bolsa 1106, fuentes de información de noticias tales como Bloomberg o Reuters, y/u otras fuentes.
En ocasiones es necesario o deseable, en el ensamblaje de solicitudes para tratamiento de datos utilizando recursos de tratamiento en red, que incluyen muchos recursos configurados para utilizar en la ejecución de transacciones financieras, segmentar en múltiples partes las solicitudes de ejecución y/u otras solicitudes de tratamiento. Dichas partes o segmentos pueden corresponder, por ejemplo, a partes de órdenes mayores u otras solicitudes de tratamiento de datos, a ejecutar por una serie de recursos en red 106, tales como servidores de bolsa u otros gestores o procesadores de ejecución 1106. Por ejemplo, si están disponibles una serie de servidores de bolsa u otros mercados para la ejecución de una solicitud de transacción que representa una orden de compra por una cantidad significativa de una participación financiera, tal como una acción o un bono, puede ser necesario o deseable dividir la orden en múltiples partes, para su ejecución en múltiples mercados y/o mediante múltiples servidores de bolsa 1106. Por ejemplo, pueden no estar disponibles cantidades suficientes de participaciones específicas, en absoluto o a precios deseables, en una única bolsa: para completar íntegramente una orden puede ser necesario o deseable dividir una única orden en segmentos menores y encaminarlos a múltiples bolsas.
Por lo tanto, por ejemplo, en varias realizaciones de la invención dirigidas al tratamiento de solicitudes para transacciones en instrumentos financieros, cuando se solicita mediante una o varias fuentes 106, 1106 a un encaminador 104, 1104 que complete una transacción en una o varias participaciones financieras, el encaminador 104, 1104 puede, en la preparación del conjunto o conjuntos de señales que representan solicitudes para transacciones, acceder a información disponible a partir de fuentes, tales como una o varias fuentes de datos de mercado 1126, así como a cualesquiera procesador o procesadores de ejecución 106, 1106, para determinar las cantidades de dichas participaciones disponibles a través de los respectivos procesadores 106, 1106 y los términos bajo los que dichas cantidades están disponibles, y puede construir un conjunto de señales de solicitudes de ejecución configurado para encaminarse a cada uno de los respectivos procesadores deseados 1106, 1106, en base al número de cantidades disponibles en los términos más favorables.
Por ejemplo, continuando con el ejemplo anterior, puede ser necesario o deseable dividir una o varias solicitudes de tratamiento entrantes en partes menores, dirigidas a una serie de bolsas, para conseguir el cumplimiento de la orden u órdenes completas. Esto se puede conseguir, por ejemplo, accediendo a datos que representan libros de órdenes actuales proporcionados por uno o varios servidores de bolsa 1106, y dividiendo la orden u órdenes en consecuencia, utilizando técnicas conocidas de tratamiento de datos. De este modo, por ejemplo, la orden agregada 'vender CUSIP número AA' anterior puede ser segmentada en partes o segmentos, y asociando con datos que representan dichos segmentos los URL u otros identificadores de dirección de recurso de red adecuados para utilizar en el encaminamiento de los diversos segmentos a una serie de servidores de bolsa A1 - C3, a conveniencia, por lo que:
<bolsa A1><venta><CUSIP núm. AA><15.000><precio A><res. 6.000><precio D><res. 2.000><precio E>
<bolsa B2><venta><CUSIP núm. AA><27.000><precio A><res. 6.000><precio D><res. 2.500><precio E>
<bolsa C3><venta><CUSIP núm. AA><35.000><precio A><res. 6.000><precio D><res. 2.500><precio E>
Tal como apreciarán los expertos en la materia relevante, la ejecución de partes individuales de una transacción distribuida u otra solicitud de tratamiento de datos de múltiples partes, tal como una transacción en participaciones financieras colocada en múltiples bolsas por una serie de recursos de red, tal como servidores de mercado o de bolsa 1106 u otros procesadores de ejecución 106, requiere habitualmente diferentes cantidades de tiempo. Es decir, si se envían simultáneamente múltiples partes de una solicitud de ejecución de transacción deseada a una serie de procesadores de ejecución 106, 1106 de bolsa, se puede esperar que cada parte o segmento de la solicitud de transacción se ejecute en un instante temporal diferente. Esto se debe a que la cantidad de tiempo, o 'latencia', necesaria para la transmisión de señales de solicitud de ejecución desde el encaminador o encaminadores de órdenes 104, 1104 a los diferentes recursos varios o procesadores de ejecución 106, 1106 a través de una red 110, 1110 u otro trayecto de comunicaciones; para el propio tratamiento de partes correspondientes de la solicitud de ejecución mediante los correspondientes procesadores 106, 1106; y/o para devolver confirmación u otros datos del encaminador o encaminadores de órdenes 104, 1104, varía habitualmente dependiendo de una serie de factores que incluyen, por ejemplo, los trayectos de red entre el encaminador o encaminadores 104, 1104 y los procesadores de ejecución 106, 1106; la cantidad de tráfico de red que está siendo procesado por la red o redes 110, 1110; el número de solicitudes que están siendo gestionadas por los procesadores de ejecución individuales 106, 1106, etc.
Por una serie de razones puede ser importante, en dichos casos, sincronizar la ejecución de dos o más partes de una solicitud de ejecución de múltiples partes. Como un ejemplo, cuando una solicitud de ejecución representa una solicitud para la ejecución de múltiples partes de una transacción financiera en múltiples mercados o en múltiples bolsas, la ejecución no sincronizada, escalonada, de partes individuales de la transacción mediante múltiples servidores correspondientes puede afectar a la posibilidad de completar partes posteriores de la transacción y/o a los términos bajo los que dichas partes posteriores se pueden completar.
Un ejemplo particular de la conveniencia de sincronizar solicitudes de ejecución se puede mostrar haciendo referencia a la figura 3. En el ejemplo mostrado en la figura 3, el sistema 100, 1000 comprende el encaminador de órdenes 104, 1104 y una serie de recursos de ejecución en red 106, servidores de bolsa o procesadores de ejecución 1106 "bolsa 1", "bolsa 2", "bolsa 3". Además, el sistema 100, 1000 de la figura 3 comprende también un servidor de negociación localizado en el mismo sitio 304 configurado para ejecutar negociaciones u otras transacciones en el recurso de ejecución 1106 "bolsa 1". Tal como se observa en la figura, el servidor de negociación localizado en el mismo sitio 304, que utiliza un algoritmo de negociación de latencia relativamente baja, está asociado con la bolsa 1, de tal modo que puede ejecutar transacciones con la bolsa 1 en un periodo de tiempo relativamente corto en comparación con la cantidad de tiempo requerida por otros procesadores, tales como el encaminador o encaminadores 104, 1104, para completar transacciones similares con la bolsa 1. Por ejemplo, el servidor localizado en el mismo sitio 304 puede estar conectado de manera comunicativa con la bolsa 1 mediante conexión cableada directa, u otro sistema de tratamiento rápido. Además, la bolsa 1 puede completar una solicitud de ejecución con el procesador o procesadores 104, 1104 localizados conjuntamente, en un periodo de tiempo relativamente corto (es decir, con "menor latencia") que cualquiera de la bolsa 2 o la bolsa 3. En otras palabras, tal como se muestra en la figura 3, tiempo X < tiempo Y y tiempo X < tiempo Z de latencia, mientras que el tiempo de ejecución para una transacción entre el servidor localizado en el mismo sitio 304 y la bolsa 1 es menor que cualquiera del tiempo X, el tiempo Y y el tiempo Z.
Por ejemplo, si se reciben mediante un procesador encaminador 104, 1104 procedentes de una o varias fuentes de solicitudes 102, 1102 señales que representan una solicitud para negociar en una o varias participaciones financieras, y la solicitud es de tal cantidad o magnitud que una orden que refleja la solicitud sería demasiado grande para ser completada del todo por cualquiera de las bolsas 1, 2 o 3, el encaminador de órdenes 104, 1104 puede intentar verificar disponibilidades en los diversos procesadores 106, 1106 disponibles y dividir la orden en consecuencia, para encaminar una parte de la misma a cada una de la bolsa 1, la bolsa 2 y la bolsa 3. Si el encaminador 104, 1104 de la figura 3 transmite simultáneamente a cada uno de los procesadores de ejecución 106, 1106 de la bolsa 1, la bolsa 2 y la bolsa 3 una parte dividida o segmento de la solicitud para la ejecución de la transacción solicitada, es posible que el servidor de negociación 304 (que puede ser manejado, por ejemplo, por una entidad de negociación de alta frecuencia, u otro inversor especulativo) pueda completar una parte de la transacción en la bolsa 1 mediante, por ejemplo, actuar como contraparte a la transacción propuesta mediante vender o comprar la totalidad o una parte de la solicitud de transacción enviada a dicha bolsa mediante el encaminador de órdenes 104, en los términos indicados en la solicitud para la transacción, y tener tiempo en el que cambiar o si no publicar términos para completar partes restantes de la orden en la bolsa 2 y/o la bolsa 3, en términos más favorables a la parte que realiza la transacción o transacciones disponibles (por ejemplo, la parte que opera, o actúa a través del servidor 304) que quienes ofrecen dichas transacciones (por ejemplo, los que están detrás de las órdenes proporcionadas por el procesador o procesadores 104, 1104 de solicitudes) pueden haber buscado. En otras palabras, por ejemplo, el servidor de negociación localizado en el mismo sitio 304 puede, debido a la diferencia en latencias de ejecución asociadas con negociaciones con la bolsa 1, la bolsa 2 y la bolsa 3, ser capaz de completar una parte de la transacción solicitada en la bolsa 1 y pasar a mejorar sus términos, por ejemplo subiendo o bajando su licitación/precio ofrecido, para completar partes restantes de la transacción en la bolsa 2 o la bolsa 3 antes de que dichas partes restantes puedan ejecutar en los precios establecidos anteriormente, con el fin de aumentar los beneficios de sus operadores o beneficiario o beneficiarios, o los beneficios de otros negociadores que ofrecen participaciones similares en dichas bolsas.
Tal como se puede ver en la figura 3, dichas posibilidades (que se pueden denominar oportunidades de 'arbitraje con latencia') pueden existir cuando:
Tiempo X Tiempo A < Tiempo Y
y/o
Tiempo X Tiempo B < Tiempo Z
Los expertos en la materia relevante apreciarán que, incluso cuando la transacción u otras señales de solicitud de tratamiento se envían simultáneamente a cada una de las bolsas 1, 2, 3 desde el encaminador o encaminadores 104, 1104, el tiempo requerido para que cada parte dividida de la solicitud sea recibida, acusada y/o procesada por los recursos respectivos 106, 1106 (por ejemplo, tiempos X, Y, Z) puede, en general, ser diferente, por ejemplo debido a diferencias en trayectos de comunicación de red y velocidades de tratamiento en cualquiera o la totalidad del procesador o procesadores 104, 1104 y/o 106, 1106. Análogamente, el tiempo requerido por el servidor de negociación 304 para cambiar términos de ofertas de transacción en cada una de las bolsas 2 y 3 puede, en general, diferir.
Entre las desventajas que pueden surgir en dichos casos está que los negociadores representados por la fuente o fuentes de solicitud 102, 1102 pueden pagar mayores precios en la ejecución de sus negociaciones de los que tendrían en otro caso, en ausencia de dichas oportunidades de arbitraje; o si los precios en las bolsas subsiguientes han cambiado lo suficiente para salir de los términos indicados en sus solicitudes de ejecución, pueden no ser capaces de completar las transacciones en las cantidades deseadas -por ejemplo, la totalidad o parte de una transacción encaminada a un procesador de bolsa 1106 no puede ser negociada en vista de un precio modificado. El dichos ejemplos, en los que una instrucción de negociación puede no completarse del todo en un servidor de bolsa 1106 debido, por ejemplo, a una manipulación del precio o de otro término por una tercera parte que saca partido de las latencias, en la prosecución de solicitudes de tratamiento de datos en uno o varios servidores de bolsa 1106 puede ser útil temporizar o planificar el envío de solicitudes de negociación a múltiples servidores de bolsa 1106, de tal modo que la ejecución de dichas solicitudes de negociación en todos los servidores de bolsa 1106 ocurra de manera sincronizada, tal como, por ejemplo, de manera sustancialmente simultánea. En particular, puede ser útil sincronizar la ejecución de solicitudes de ejecución de tratamiento de señales, o de partes o segmentos de las mismas, en múltiples recursos informáticos en red 106, 1106, por ejemplo de tal modo que los procesos de señal sean recibidos, acusados y/o ejecutados por los recursos 106, 1106 de manera sustancialmente simultánea.
En algunos ejemplos, puede no ser necesario que los procesos de señal a ejecutar en cada procesador 106, 1106 sean ejecutados simultáneamente, sino que puede ser suficiente que:
Tiempo Y - Tiempo X < Tiempo A,
y/o
Tiempo Z - Tiempo X < Tiempo B,
de tal modo que la ejecución de la solicitud o solicitudes o segmentos de las mismas se produce antes de que cualquier cambio en los términos pueda ser implementado por un servidor de negociación 304. La utilización de dichas temporizaciones sincronizadas puede, por ejemplo, hacer que:
Tiempo X Tiempo A > Tiempo Y
y/o
Tiempo X Tiempo B > Tiempo Z
y este modo, por ejemplo, frustrar las oportunidades de arbitraje con latencia. En algunas realizaciones, por lo tanto, la invención proporciona al encaminador o encaminadores 104, 1104 la capacidad de ejecutar transacciones a través de múltiples recursos 106, 1106 con una variación temporal mínima o nula, de manera que dichos algoritmos ejecutados por uno o varios negociadores 304 utilizando algoritmos de baja latencia consiguen tiempo insuficiente para reaccionar a los cambios de los mercados.
Por lo tanto, en estos y otros casos en los que se desea sincronización, en 210 el procesador/encaminador 104/1104 puede determinar temporizaciones absolutas o relativas a asignar, o asociar de otro modo con, varias partes o segmentos de una solicitud de ejecución, para obtener la secuenciación deseada. Dichas temporizaciones se pueden determinar para provocar cualquier sincronización deseada: por ejemplo, se pueden determinar temporizaciones configuradas para provocar una ejecución simultánea, o sustancialmente simultánea, o se pueden determinar temporizaciones configuradas para provocar cualquier secuenciación deseada.
Por lo tanto, en 210, se puede determinar un parámetro de temporización para cada solicitud de ejecución de tratamiento de señales, o parte de la misma, a asignar a cada respectivo recurso informático en red 106, 1106. Los parámetros se determinan de tal modo que provocan la ejecución sincronizada de las solicitudes de ejecución de tratamiento de señales en cada uno de los respectivos recursos informáticos en red 106, 1106. Esta determinación se puede basar, por lo menos parcialmente, en una latencia correspondientemente determinada en el tiempo de ejecución de dicha solicitud o solicitudes y/o de dicha parte o partes, tal como por ejemplo cualquiera o la totalidad de las latencias A, B, X, Y, Z de la figura 3, y/o cualesquiera otras latencias relevantes, en la ejecución de intercambios de señales entre el procesador o procesadores de encaminador 104, 1104 y cada uno de los recursos informáticos en red 106, 1106, o en el tratamiento de otras de dichas señales mediante cualquiera de dichos dispositivos.
El arbitraje y otros problemas provocados por variaciones en el tiempo de ejecución entre servidores pueden asimismo minimizarse o eliminarse reduciendo las latencias absolutas en la transmisión y ejecución de solicitudes de tratamiento. Por lo tanto, la determinación de parámetros de temporización que se ha descrito anteriormente se puede practicar en combinación con procedimientos que sirven asimismo para minimizar las cantidades absolutas de tiempo asociadas con la ejecución y/o la notificación de solicitudes de ejecución mediante el recurso o recursos 106, 1106.
La información sobre latencias determinadas utilizadas en la determinación de parámetros de temporización a asociar con las diversas partes de una solicitud de ejecución de múltiples partes proporcionada por el encaminador o encaminadores 104, 1104 a una serie de procesadores de ejecución 106, 1106 puede incluir información de temporización (por ejemplo, retardos de transmisión, retardos de propagación de señal, retardos de serialización, retardos de puesta en cola y/o retardos de tratamiento en el procesador o procesadores de encaminador 104, 1104, el recurso informático en red 106, 1106 y/o la red o redes 110, 1110, 108, 1108). Dicha información puede ser proporcionada por, o recibida desde cualquier fuente o fuentes, y puede ser almacenada en, y recuperada desde uno o varios almacenamientos de datos 214. El almacenamiento o almacenamientos de datos de temporización 214 pueden incluir, en varias realizaciones, bases de datos u otras estructuras de datos que residen en una o varias memorias 118, 1018 asociadas con, o accesibles de otro modo mediante el procesador o procesadores de encaminador 104, 1104. Por ejemplo, si la ejecución de una parte de una solicitud de ejecución asociada con un primer recurso informático en red 106, 1106 tiene una latencia determinada mayor que la asociada con el segundo recurso informático en red 106, 1106 (tal como, por ejemplo, en el caso de la bolsa 1 frente a las bolsas 2 y 3 de la figura 3), la temporización para partes asociadas de solicitudes, de una solicitud de transacción a encaminar a estos dos recursos informáticos en red 106, 1106 se puede determinar de tal modo que una solicitud de ejecución, o una parte de la misma, asociada con el primer recurso informático en red 106 es temporizada para ser enviada antes que la solicitud asociada con el segundo recurso informático en red 106, con el objetivo de hacer que las solicitudes se ejecuten en los dos recursos informáticos en red 106 de manera sustancialmente simultánea, o dentro de un tiempo mínimo efectivo A o B asociado con la posible manipulación de términos mediante un servidor de negociación 304.
En algunas realizaciones se pueden utilizar uno o varios algoritmos, que pueden utilizar, por ejemplo, un modelo de probabilidad de latencia u otro modelo predictivo, para determinar parámetros de temporización a asociar con partes de solicitudes de ejecución a encaminar a varios procesadores de ejecución 106, 1106, en base a información asociada con dichos retardos de comunicación y/o de tratamiento, o latencias. Por ejemplo, se puede utilizar una media cambiante de datos históricos de latencia, acumulada sobre, o relevante para cualesquiera dispositivos, periodos de tiempo u otras consideraciones de temporización deseadas, para predecir una latencia prevista para la ejecución de una solicitud de tratamiento de datos.
Un ejemplo de un algoritmo adecuado para utilizar en la determinación de parámetros de temporización a asociar mediante un encaminador o encaminadores 104, 1104 con una o varias partes de solicitudes para ejecución proporcionadas por una o varias fuentes 102, 1102, donde se desea provocar la llegada simultánea, o bien sincronizada, de dichas partes o solicitudes en recursos de red 106, 1106, se basa en una latencia media entre la transmisión de señales de solicitud desde el encaminador o encaminadores 104, 1104 y una referencia de temporización apropiada. Dicha referencia o referencias de temporización pueden incluir, por ejemplo, el comienzo del tratamiento mediante el correspondiente recurso o recursos objetivo 106, 1106, y/o la recepción mediante un procesador o procesadores de encaminamiento 104, 1104, de una señal de confirmación generada por el recurso o recursos 106, 1106 a la recepción de la solicitud y/o a la finalización de la ejecución de la solicitud. Por ejemplo, en algunas realizaciones, puede ser ventajoso medir latencias entre la transmisión a un determinado recurso 106, 1106 y la recepción mediante el encaminador o encaminadores 104, 1104, de una señal de confirmación o acuse de recibo, u otra señal de respuesta apropiada 1260, desde dicho recurso 106, 1106, y utilizar dicha latencia o latencias medidas para determinar el parámetro o parámetros de temporización en 210.
La etapa de proceso 210 puede, por ejemplo, llevase a cabo mediante una aplicación ejecutada por, o por un módulo de, o sino asociada con, un procesador o procesadores de encaminamiento 104, 1104, tal como un módulo o entidad de gestión de capitales 1126 en el caso de un sistema financiero 1000. La determinación de un parámetro de temporización a asociar con cada parte o segmento de una solicitud de ejecución de múltiples partes puede incluir, por ejemplo, la utilización de un módulo adaptativo de lógica de aprendizaje y compensación de latencia de ida y vuelta (RTL, exchange round-trip latency) de bolsa 1126c, tal como el que se muestra en la figura 1B. Haciendo referencia a la figura 3, dicho módulo adaptativo de lógica de aprendizaje y compensación de RTL de bolsas 1126c puede determinar la temporización de cada solicitud de tratamiento de señales (por ejemplo, solicitud de negociación), como sigue:
1) Para cada parte o segmento n de una solicitud de tratamiento de múltiples partes de m partes X, un tiempo T1x,n proporcionado, por ejemplo, por un reloj asociado con el procesador o procesadores 104, 1104 es marcado en tiempo por el procesador o procesadores 104, 1104 en un punto definido deseado dentro del proceso de análisis sintáctico o de generación de la orden u órdenes de transacción, u otras solicitud o solicitudes de tratamiento de X, y es asociado con uno o varios registros de conjunto de señales de solicitudes de tratamiento correspondientes a cada parte o segmento n de la solicitud de m partes de X. 2) T2x,n para cada parte n de una solicitud de múltiples partes X es marcada tiempo mediante el procesador o procesadores 104, 1104 cuando el correspondiente conjunto de señales de solicitud de la parte n-ésima se ha recibido en la bolsa objetivo 106, 1106 y un correspondiente mensaje de confirmación generado por la bolsa ha sido recibido por el procesador de encaminamiento solicitante 104, 1104.
3) En el curso de un día de negociación (u otro periodo de tratamiento de datos), las etapas proceso 2 y 3 se pueden repetir, y en consecuencia T1x,n y T2x,n se pueden determinar para cada segmento de transacción encaminado a un determinado procesador de ejecución 106, 1106.
4) Para cada parte o segmento n de una subsiguiente solicitud de ejecución de múltiples partes pendiente Y, se tiene que el parámetro de temporización determinado RTLy n = I(T2x,n - T1x,n) / Z, donde Z es el número de segmentos de órdenes ejecutados anteriormente encaminados a un determinado procesador de ejecución 106, 1106 utilizado en el cálculo.
Cuando el almacenamiento o almacenamientos de datos de temporización 214 almacena un registro cambiante de parámetros de temporización anteriores (por ejemplo, una serie de parámetros de temporización determinados RTLy n ) asociados con uno o varios recursos de ejecución 106/servidor de bolsa 1106, dichos datos pueden ser utilizados para crear un histograma cambiante, que se puede utilizar para predecir una latencia actual o acumulativa para cada recurso 106/servidor de bolsa 1106. Dado que dichas predicciones se basan en un registro que cambia continuamente ("cambiante"), este proceso se puede denominar "aprendizaje en línea". Puede existir un componente (por ejemplo, un componente de tratamiento o de memoria de histograma de latencia de bolsa, no mostrado) dentro del módulo adaptativo de lógica de aprendizaje y compensación de RTL de bolsa 1126c, responsable de esto.
Se puede utilizar un módulo adaptativo de lógica de aprendizaje y compensación RTL de bolsa 1126c para predecir latencias con el fin de determinar parámetros de temporización apropiados para utilizar en la transmisión de solicitudes de negociación (u otro tratamiento de datos) a varios servidores de bolsa 1106 con el fin de compensar diferencias en latencias de ejecución asociadas con dichos servidores de bolsa 1106, de manera que reduce, controla, minimiza o elimina diferencias en la temporización de ejecución de partes de solicitudes de negociación divididas, encaminadas a diferentes servidores de bolsa 1106 y, por lo tanto, por ejemplo, reduce o elimina oportunidades de arbitraje de latencia por negociadores oportunistas.
El módulo o módulos RTL adaptativos 1126c se pueden utilizar en diversos algoritmos para determinar parámetros de temporización adecuados para su utilización en la sincronización de la ejecución de solicitudes de tratamiento de múltiples partes. Por ejemplo, un módulo de este tipo puede utilizar valores de latencia determinados para las diversas bolsas con el fin de determinar en qué medida el encaminador o encaminadores 104, 1104 deberán compensar diferentes latencias de bolsas enviando a los diversos procesadores 106, 1106 sus correspondientes partes de una solicitud para su tratamiento, por ejemplo, en tiempos diferentes. Esto puede minimizar el retardo entre la finalización de la ejecución de cada parte, por ejemplo, minimizando la diferencia temporal entre la recepción de cada parte respectiva por su correspondiente recurso de ejecución 106, 1106. (En la figura 3, por ejemplo, esto se mostraría como la minimización de diferencias entre tiempos transcurridos en el tiempo X, el tiempo Y y el tiempo Z.) Dichos algoritmos pueden asimismo tener en cuenta diferencias históricas en el tiempo requerido para la ejecución de órdenes de tratamiento de negociación u otras, en los diversos recursos 106, 1106, además de los retardos de comunicación.
El módulo o módulos adaptativos de lógica de aprendizaje y compensación RTL de bolsas 1126c puede, adicionalmente, reunir información sobre condiciones de mercado prevalentes en cada servidor de bolsa 1106 (utilizando, por ejemplo, fuentes de datos tales como una o varias fuentes de datos de mercados bursátiles 1126v), órdenes/ejecuciones en avalancha, latencias reales y latencias objetivo (por ejemplo, tal como se ha predicho arriba) cuando se envían solicitudes de negociación. Puede existir un componente dentro del módulo adaptativo de lógica de aprendizaje y compensación RTL de bolsa 1126c, responsable de esto.
Uno o varios parámetros de temporización asociados con solicitudes de ejecución a encaminar a cualesquiera uno o varios del procesador o procesadores de ejecución 106, 1106, pueden asimismo proporcionarse al procesador o procesadores de encaminamiento 104, 1104 (por ejemplo, al almacenamiento de datos de temporización 214) mediante, o determinarse mediante dicho procesador o procesadores 104, 1104 utilizando datos relacionados suministrados mediante, cualesquiera una o varias fuentes de datos de mercados o de uno o varios procesadores 1126 (incluyendo, por ejemplo, cualesquiera uno o varios de procesadores o uno o varios (sub)sistemas 1126a -1126g y/o 1126v), y/o mediante el propio procesador o procesadores 106, 1106.
En 212, las diversas partes de la solicitud o solicitudes de ejecución de tratamiento de señales opcionalmente agregadas y divididas son enviadas a los respectivos recursos informáticos en red 106 de acuerdo con parámetros de temporización o con una o varias secuencias determinadas o bien adquiridas, en 210. A continuación, la solicitud o solicitudes, o las diversas partes de las mismas, pueden ser ejecutadas por los respectivos recursos de ejecución 106, 1106, con subsiguientes comunicaciones y tratamiento de señales, si es necesario o deseable. Tal como comprenderán los expertos en la materia relevante una vez se hayan familiarizado con esta descripción, una vez que los parámetros de una solicitud de ejecución deseada han sido determinados por el encaminador o encaminadores 104, 1104, se pueden ensamblar señales que representan dichos parámetros, utilizando técnicas conocidas o especializadas de tratamiento de datos; formatear de acuerdo con el protocolo de intercambio de información financiera (FIX, Financial Information Exchange) y/o cualquier otro protocolo o protocolos deseados; y transmitir, escribir o comunicar de otro modo al correspondiente procesador o procesadores de ejecución 106, 1106 utilizando técnicas de comunicación de señal conocidas o especializadas, y ejecutar de acuerdo con la transacción solicitada o con otros procesos de datos.
Por ejemplo, siguiendo con el ejemplo anterior, los retardos de temporización, o parámetros X', Y', Z', de los que uno o todos pueden ser iguales a cero o a cualquier otro periodo de tiempo adecuado, se pueden determinar de acuerdo con la descripción anterior y asociar con los segmentos de órdenes generados por el procesador o procesadores 1104 para la compra de 77.000 lotes de bonos de CUSIP número AA a precio A, con 25.000 lotes (18.000 7.000) en reserva a precios D y E, respectivamente, por lo tanto:
<retardo X'><bolsa Al><venta><CUSIP núm. AA><15.000><precio A> <res. 6.000><precio D><res 2.000><precio E>
<retardo Y'><bolsa B2><venta><CUSIP núm. AA><27.000><precio A> <res. 6.000><precio D><res 2.500><precio E>
<retardo Z'><bolsa C3><venta><CUSIP núm. AA><35.000><precio A> <res. 6.000><precio D><res 2.500><precio E>
A continuación, el procesador o procesadores de encaminamiento 104, 1104 pueden procesar los segmentos de transacción utilizando parámetros de temporización, por ejemplo, X', Y', Z', para hacer que los segmentos de transacción correspondientes sean transmitidos o de otro modo proporcionados a las bolsas 106, 1106 A1, B2, C3 para su ejecución, de acuerdo con una secuencia de temporización deseada, para una ejecución simultánea o con otra secuencia deseada.
Después de la ejecución de la totalidad o de tantas partes como sea posible de segmentos de tratamiento o transacción encaminados, el procesador o procesadores de encaminamiento 104, 1104 puede recibir desde el correspondiente procesador o procesadores de ejecución 106, 1106 datos que confirman o indican de otro modo dicha ejecución, y accediendo a registro de datos almacenados en una o varias memorias asociadas, puede asignar resultados de ejecución a la fuente o fuentes solicitantes 102, 1102.
Se hace referencia a continuación a la figura 4, que muestra un ejemplo de un procedimiento 300 de determinación de parámetros de temporización para utilizar en la gestión de tratamiento de datos mediante múltiples recursos informáticos en red 106. En la realización mostrada, el procedimiento 300 es un procedimiento iterativo, y cada bucle del procedimiento 300 se indica como N. El procedimiento 300 es adecuado para su implementación utilizando, por ejemplo, cualquiera de varias realizaciones de los sistemas 100, 1000 y componentes de los mismos, incluyendo, en particular, el procesador o procesadores de encaminador 104, 1104 y la fuente o fuentes de datos 1126.
En 302, en cada uno de la serie de recursos informáticos en red 106, 1106 se monitorizan, por ejemplo mediante el procesador o procesadores de encaminador 104, 1104, el procesador o procesadores de ejecución 106, 1106, uno o varios procesadores externos 1126 y/o diversos componentes o módulos manejados por, o sino asociados con los mismos, latencias asociadas con la recepción y/o la ejecución de solicitudes de ejecución de tratamiento de señales. Esto se puede llevar a cabo, por ejemplo, mediante un módulo de monitorización (por ejemplo, un módulo de medición de RTL de bolsa 1126b, tal como el sistema financiero 1000) en el procesador o procesadores de encaminador 104, 1104. Dicha monitorización puede comprender, por ejemplo, marcar temporalmente solicitudes salientes de tratamiento de datos, y comparar tiempos de recepción de una o varias confirmaciones o resultados del tratamiento con la correspondiente solicitud saliente con marca de tiempo. La diferencia temporal entre la solicitud saliente y la confirmación de recepción entrante y/o los resultados de tratamiento de datos se puede definir como una latencia de tratamiento de datos o de señales, y almacenar en memoria accesible mediante el procesador o procesadores de encaminador 104, 1104. Mediante las diferencias de temporización entre solicitudes salientes y recepciones entrantes, confirmaciones y/o resultados, dichas latencias pueden ser monitorizadas de manera constante, periódica y/o con otra dinámica.
En 306, se determina por lo menos un parámetro de temporización asociado con una o varias latencias observadas en la ejecución de solicitudes de tratamiento de señales proporcionadas a los recursos monitorizados 106, 1106 mediante el procesador o procesadores de encaminamiento 104, 1104. Tal como se describe en la presente memoria, dicho parámetro o parámetros de temporización pueden incluir, por ejemplo, latencias debidas a retardos de comunicación, tales como retardos de transmisión u otros retardos de propagación de señal, y/o retardos de tratamiento, entre otros. Habitualmente, el parámetro o parámetros de temporización correspondientes se determinan para cada uno de la serie de recursos informáticos en red 106, 1106 a los que se prevé enviar mediante el procesador o procesadores de encaminamiento 104, 1104 una orden de transacción u otra solicitud de tratamiento de datos, o una parte de la misma.
En varias realizaciones, tal como en varias clases de sistemas financieros 1000, y dependiendo de los tipos de sistema o sistemas a utilizar y de los resultados de tratamiento deseados, dichos parámetros de temporización se pueden determinar para comunicaciones unidireccionales y/o de ida y vuelta entre uno o varios procesadores de encaminamiento 1104 manejados mediante, o en nombre de una entidad de gestión de capital, y el servidor de bolsa 1106; es decir, desde la generación de una solicitud de transacción de múltiples partes mediante un procesador de encaminamiento de entidades de gestión 1104 hasta la recepción de una respuesta, tal como una confirmación de recepción de una parte de una orden de negociación mayor y/o una confirmación de ejecución de la totalidad o de parte de una negociación solicitada, desde el recurso de ejecución al que estaba dirigida la solicitud de tratamiento. Haciendo referencia a la figura 1B, por ejemplo, y explicada anteriormente, una medición RTL puede incluir latencias debidas a cualquiera o a la totalidad de la transmisión de señales dentro del servidor de entidad de gestión de capital 1104, del tratamiento de señales dentro de la entidad de gestión de capital 1104, de la transmisión de señales entre la entidad de gestión de capital 1104 y una red 1110, de la transmisión de señales dentro de la red 1110, de la transmisión de señales entre la red 1110 y el servidor de bolsa objetivo 1106, y del tratamiento de señales dentro del servidor de bolsa 1106; tanto para comunicaciones enviadas desde el procesador o procesadores de encaminamiento 104, 1104 como para respuestas (por ejemplo, acuse de recibo de comunicación, rechazo de una solicitud de negociación, confirmación de una solicitud de negociación, etc.) enviadas desde el servidor de bolsa 106, 1106. En dichas realizaciones, el parámetro o parámetros de temporización pueden ser simplemente el tiempo total para la comunicación de ida y vuelta, o una función estadística u otra función matemática del mismo.
Por ejemplo, un módulo de medición de RTL de bolsa 1126b, tal como el asociado con el SOR 1104 mostrado en la figura 1B, puede determinar un parámetro de temporización como sigue:
1) Un valor de marca de tiempo T1 es asociado por el procesador o procesadores 1104 con una nueva comunicación M1 (por ejemplo, una solicitud de negociación) enviada a un servidor de bolsa 1106.
2) Un valor de marca de tiempo T2 es asociado por el procesador o procesadores 1104 con cualquier respuesta a la solicitud M1 recibida desde el procesador de bolsa 1106 al que la solicitud M1 fue enviada. Esta respuesta puede ser cualquier respuesta, tal como un acuse de recibo, un rechazo, una compleción parcial o total, etc., y puede depender de la naturaleza de la solicitud representada por M1.
3) La RTL asociada con la solicitud M1 se calcula como la diferencia entre T2 y T1. En algunas realizaciones, tal como se ha indicado anteriormente, la RTL se puede calcular como un promedio del tiempo (T2 - T1) para un número anterior Z (por ejemplo, 30) de solicitudes de tratamiento encaminadas a cada uno de una serie de uno o varios procesadores de bolsa objetivo 1106.
En 308, el parámetro o parámetros de temporización asociados con cada recurso informático en red 106 se puede almacenar en uno o varios almacenamientos de datos de temporización 214. Tal como se describe en la presente memoria, un almacenamiento de datos de temporización 214, en algunos ejemplos, puede ser una base de datos u otra estructura de datos que resida en una memoria asociada con, o sino accesible mediante el procesador o procesadores de encaminador 104. El parámetro o parámetros de temporización almacenados en uno o varios almacenamientos de datos 214 pueden ser utilizados en procesos, tales como los descritos anteriormente en relación con el bloque de procesos 210 de la figura 2.
El parámetro o parámetros de temporización determinados por el procesador o procesadores 104, 1104 pueden representar, por ejemplo, uno o varios histogramas cambiantes que representan latencias asociadas con procesadores de ejecución individuales 106, 1106 y/o con otros componentes de uno o varios sistemas 100, 1000.
La figura 5 muestra un ejemplo de un histograma que ilustra datos almacenados que representan comunicaciones asociadas con valores de tiempos de latencia de tratamiento, y/u otro tratamiento asociado con un procesador de ejecución 106, 1106 en un sistema 100, 1000. En el ejemplo mostrado, están almacenados tiempos de latencia de ida y vuelta (en milisegundos) para las 30 solicitudes de transacción más recientes u otras comunicaciones con un determinado servidor de ejecución 106. Aunque el ejemplo muestra 30 tiempos de latencia estando almacenados, el número del parámetro o parámetros de temporización almacenados utilizados en la determinación de las RTL u otros parámetros de temporización puede ser mayor o menor, y puede variar en función de condiciones tales como la hora del día, la estación del año, etc. Los resultados de los cálculos basados en las latencias almacenadas, y otros datos relacionados, pueden asimismo ser almacenados en uno o varios almacenamientos de datos de temporización 214. Por ejemplo, en el ejemplo de la figura 5, además de tiempos de latencia en bruto, un promedio cambiante o una moda cambiante de los anteriores 30 (u otro número adecuado) tiempos de latencia asociados con comunicaciones y/u otro tratamiento con, o mediante cada servidor de ejecución 106, pueden ser asimismo calculados y almacenados en uno o varios almacenamientos de datos de temporización 214.
Tal como comprenderán fácilmente los expertos en la materia relevante, en 210 se pueden utilizar, en la determinación de parámetros de temporización, otros factores, incluyendo por ejemplo retardos o desplazamientos fijos deseados, o factores de escala asociados con la hora del día, el día de la semana, la estación del año, etc., patrones conocidos de negociación o de otro tratamiento de datos, condiciones económicas, etc.
Los parámetros de temporización determinados en 210 pueden ser utilizados por el procesador o procesadores de encaminamiento 104, 1104 para sincronizar la ejecución de solicitudes de tratamiento originadas por una o varias fuentes 102, 1102 y dirigidas al procesador o procesadores 106, 1106, por ejemplo, asociando con dichas solicitudes, o partes de las mismas a enviar para su ejecución mediante cada uno de uno o múltiples procesadores 106, 1106, elementos de datos utilizables por el procesador o procesadores 104, 1104 para provocar la comunicación de las solicitudes al correspondiente procesador o procesadores 106, 1106 en tiempos absolutos o relativos deseados, con el fin de conseguir la sincronización deseada de la llegada de las solicitudes en el correspondiente procesador o procesadores de ejecución 106, 1106. Por ejemplo, utilizando elementos de datos configurados para provocar la comunicación de una o varias partes de las solicitudes en uno o varios tiempos determinados, de acuerdo con un reloj asociado con el procesador o procesadores 104, 1104, el procesador o procesadores 104, 1104 pueden hacer que la solicitud o solicitudes o la parte o partes de solicitudes sean comunicadas a una hora del día deseada, o en cualquier orden o secuencia relativa deseada al margen de la hora real del día, sino unas con respecto a otras o con respecto a cualquier tercer índice.
En 310, N se incrementa en uno, o en cualquier otro valor deseado, o bien se devuelve el control a 302, de tal modo que continúa el proceso de 302 a 308. Opcionalmente, el proceso de 302 a 310 continua hasta que se ha completado un número deseado máximo de iteraciones, o hasta que han sido procesadas todas las solicitudes de tratamiento de transacciones u otro mediante órdenes (por ejemplo, encaminadas a procesadores de ejecución 106, 1106), o hasta que se han cumplido otros criterios adecuados.
Para ayudar a los operadores y usuarios del sistema o sistemas 100, 1000, o de componentes de los mismos, a comprender o evaluar el resultado del procedimiento y del sistema dados a conocer para provocar un tratamiento de datos mediante múltiples recursos informáticos en red, en algunos aspectos, la presente descripción da a conocer asimismo diversas métricas (por ejemplo, referencias de negociación, en el caso de un sistema financiero 1000) que pueden ser determinadas por, y mediante la utilización de datos generados a partir de, cualesquiera o la totalidad de los diversos componentes de un sistema 100, 1000.
Se hace referencia a continuación a la figura 6, que muestra comparaciones de resultados de transmisión de solicitudes de ejecución de negociación de múltiples partes a series de recursos informáticos en red, o procesadores de ejecución 106, 1106, de acuerdo con un ejemplo del procedimiento y del sistema dados a conocer, con resultados de solicitudes de negociación de múltiples partes transmitidos de manera convencional.
La figura 6a muestra resultados de ejecución de una solicitud de transacción de múltiples partes que utiliza los procedimientos y sistemas dados a conocer, para obtener la ejecución sincronizada (en el caso mostrado, sustancialmente simultánea) de varias partes o segmentos 624 de una solicitud de transacción de múltiples partes (una orden de venta) mediante una serie de servidores de bolsa 106, 1106. En el ejemplo mostrado, se ha conseguido un índice de compleción del 94 % de una orden agregada original, al precio de oferta original 630 de 4,21 $ (mostrado como "nivel 1"). En una segunda ronda de transacciones (que se completó con una única transacción, tal como se muestra en 626), el volumen restante se vendió a un precio inferior al deseado, pero aún aceptable, 632 de 4,20 $ (que se muestra como "nivel 2"). El coste asociado con las órdenes completadas por debajo del precio de la orden solicitado (es decir, las órdenes en el nivel 2) fue de 53.000 $ para los sistemas de negociador 1102 (por ejemplo, sistemas de cliente) y de 10.049 $ para la interfaz de gestión de capital 1106.
En la figura 6b, utilizando procedimientos y sistemas de negociación de la técnica anterior, una solicitud de negociación de múltiples partes no sincronizada (orden de venta de múltiples bolsas) que consiste en múltiples segmentos de orden no sincronizados 624' para la misma solicitud de transacción global, tuvo como resultado un índice de compleción inicial del 47 % al precio preferido de la orden 630 de 4,21 $ (mostrado como "nivel 1"). Otro 43 % de la solicitud se completó a continuación al precio menos deseable 632 de 4,20 $ (mostrado como "nivel 2"), completándose el resto a un precio más reducido 634 de 4,19 $ (mostrado como "nivel 3").
Utilizando procedimientos y sistemas conocidos de acuerdo con la descripción, se consiguió un precio de venta promedio ponderado por volumen (VWAP, volume-weighted average sale price) 636 de 4,2094 $ /acción, tal como se muestra en 628. Utilizando procedimientos y sistemas de la técnica anterior, se consiguió un VWAP 638 de 4,2038 $ /acción.
Tal como comprenderán los expertos en la materia relevante, los sistemas 100, 1000 pueden comprender dispositivos o componentes adecuados para proporcionar una amplia gama de métricas y funcionalidades adicionales. Por ejemplo, se hace referencia a continuación a la figura 7, que muestra dos ejemplos de la provisión, mediante un procesador de encaminamiento 104, 1104 u otro procesador, de una comparación de referencias con respecto a un precio medio de mercado proporcionado, por ejemplo, por un servicio de noticias de mercado u otra fuente de datos de mercado 1126v. En 646, el rendimiento de un sistema 100, 1000 en el tratamiento sincronizado de una solicitud de transacción de múltiples partes según la invención, se compara con un indicador de rendimiento de mercado "referencia de precios promedio". Dicha referencia de precios promedio, o referencia o factor de métrica, se puede obtener, por ejemplo, a partir de cualesquiera o de la totalidad de los componentes 1126, 1106, etc. En 644, el rendimiento de un sistema 100, 1000 en un tratamiento no sincronizado de una solicitud de transacción de múltiples partes de acuerdo con procedimientos de la técnica anterior, se compara con el mismo indicador de rendimiento de mercado "referencia de precio promedio". La comparación entre las comparaciones 646, 644 indica que el tratamiento de transacciones acorde con la invención proporciona mejores resultados para un vendedor de participaciones financieras. Tal como comprenderán los expertos en la técnica relevante, se puede utilizar una amplia gama de referencias para evaluar el rendimiento de los sistemas y procedimientos acordes con la invención. Dichas referencias se pueden determinar, por lo menos parcialmente, por la naturaleza del sistema 100, 1000 utilizado, y los tipos de transacciones u otras solicitudes de ejecución procesadas por dicho sistema.
En la realización mostrada en la figura 1B, la fuente o fuentes 1126 de datos utilizables por el procesador o procesadores 104 para preparar la transacción financiera u otras solicitudes de ejecución de tratamiento de datos incluyen una serie de módulos 1126a-g útiles para preparar una solicitud de ejecución de múltiples partes. En el ejemplo mostrado, los módulos 1126a-g incluyen un módulo de tratamiento de datos de mercado 1126a, un módulo de medición de latencia de ida y vuelta de bolsa 1126d, un módulo adaptativo de lógica de aprendizaje y compensación de latencia de ida y vuelta (RTL) de bolsa 1126c, un módulo de lógica de asignación de acciones de barrido inteligente 1126b, un módulo de lógica de publicación inteligente 1126e, un módulo de lógica de acceso a bolsas regionales y nacionales 1126f y un módulo de gestión de agresividad 1126g.
El módulo de tratamiento de datos de mercado 1126a recibe y procesa datos de mercado, que pueden ser iguales o diferentes de los datos proporcionados por medio del módulo de datos de mercado bursátil 1126v del servidor de bolsa 1106. Las fuentes de dichos datos pueden ser internas al sistema 1104, o externas, según sea necesario o deseable, y pueden incluir cualesquiera fuentes adecuadas disponibles de forma privada o pública, de datos útiles para preparar solicitudes de ejecución, y en particular aquellas solicitudes que son útiles para dividir o preparar de otro modo una orden de transacción: la información proporcionada puede incluir, por ejemplo, los números o cantidades y/o precios disponibles en cualesquiera bolsas particulares; volúmenes o precios históricos de negociación; profundidad actual e histórica de uno o varios mercados, o liquidez; tamaños de reserva; dispersiones de precios absolutas, relativas y/o promedio; y heurística específica por acción o participación; y/o tendencias en cualesquiera o en la totalidad de los anteriores.
El módulo de medición de RTL de bolsa 1126b determina parámetros de temporización para utilizar al sincronizar la ejecución de solicitudes de negociación de múltiples partes u otras solicitudes de tratamiento de datos mediante series de servidores de bolsa 1106s, tal como se explica por ejemplo en la presente memoria, utilizando datos de latencia definidos estadísticamente que representan uno o varios tiempos transcurridos entre el envío de solicitudes u otros datos hacía, y la recepción o confirmación de resultados de ejecución desde, un procesador o procesadores de ejecución individuales 106, 1106.
El módulo de medición de RTL de bolsa adaptativo 1126c determina parámetros de temporización para utilizar al sincronizar la ejecución de solicitudes de negociación de múltiples partes u otras solicitudes de tratamiento de datos mediante series de servidores de bolsa 1106s, tal como se explica por ejemplo en la presente memoria, utilizando datos de latencia definidos dinámicamente ("cambiantes") que representan tiempos transcurridos entre el envío de múltiples solicitudes de tratamiento, u otros datos, hacia, y la recepción de resultados de confirmación o de ejecución desde, un procesador o procesadores de ejecución 106, 1106 individuales. Histogramas y otros modelos y/o estructuras de datos que representan dichos datos cambiantes pueden se utilizados por el módulo o módulos 1126c en la determinación de parámetros de temporización de acuerdo con dichos procesos.
El módulo de lógica de asignación de acciones de barrido inteligente 1126d incluye un modelo estadístico para sobredimensionar estratégicamente solicitudes de transacción, y/o hacer una o varias cantidades de reserva con órdenes publicadas públicamente, en base a datos de mercado observados históricamente. Este módulo 1126d determina, por ejemplo, un sobredimensionamiento adecuado (es decir, una sobrecontratación en una solicitud de negociación) para incorporar en una orden abierta, teniendo en cuenta una o varias cantidades de reserva ocultas predichas en un servidor de bolsa 1106, en base a datos estadísticos en torno a la reserva oculta disponible en dicho servidor de bolsa 1106 durante un determinado periodo, o bajo otras condiciones especificadas (por ejemplo, las últimas 30 solicitudes de negociación). Basándose en dichas reservas de mercado ocultas predichas, se puede determinar una reserva oculta adecuadamente dimensionada, y asociada con una orden de transacción, para que tenga como resultado un sobredimensionamiento estratégico de la orden públicamente visible y ayude a garantizar que se consigue el propio volumen de negociación deseado.
El módulo de lógica de publicación inteligente 1126e incluye un modelo estadístico para determinar la probabilidad de que se realicen compleciones previstas (es decir, satisfacción porcentual de una solicitud de negociación) en solicitudes de negociación encaminadas a servidores de bolsa individuales 1106. Dichos modelos estadísticos pueden incluir, por ejemplo, datos de compleción históricos obtenidos sobre dichas bolsas individuales durante un periodo determinado (por ejemplo, las últimas 30 solicitudes de negociación, el último mes, los 12 meses anteriores, etc.). Un módulo de lógica de publicación inteligente 1126e puede tener en cuenta factores que incluyen, por ejemplo, la profundidad de la parte superior del libro en cada servidor de bolsa 1106, el nivel de volatilidad a través de servidores de bolsa 1106 y el tiempo de latencia promedio hasta la ejecución de una solicitud de negociación, entre otros factores.
El módulo de lógica de acceso a bolsas regionales y nacionales 1126f proporciona información sobre cómo se debería encaminar una solicitud de negociación a un servidor de bolsa 1106 , dependiendo de si el servidor de bolsa 1106 es regional o nacional. Para proporcionar dichos datos se pueden utilizar datos almacenados internamente -y/o externamente-, relacionados con uno o varios protocolos adecuados a utilizar, regulaciones a observar, etc. Dichos datos pueden ser utilizados, por ejemplo, para garantizar que las solicitudes de tratamiento de negociación u otras, enviadas a recursos externos 106, 1106 mediante un procesador o procesadores de encaminamiento 104, 1104 son formateadas adecuadamente, en vista del recurso o recursos 106 , 1106 a los que se proporciona la solicitud o solicitudes, y para garantizar que dicha solicitud o solicitudes son compatibles con todos los estándares legales aplicables.
El módulo de lógica de gestión de agresividad 1126g incluye un modelo de probabilidad para determinar la probabilidad de un porcentaje de compleción para servidores de bolsa 1106 individuales, y modificar en consecuencia solicitudes de ejecución encaminadas a dichos servidores. Dicho módulo 1126g puede tener en cuenta factores tales como, por ejemplo, el índice de compleción en cada servidor de bolsa 1106, la profundidad del libro en cada servidor de bolsa 1106, y los niveles de volatilidad a través de servidores de bolsa 1106, entre otros factores.
Aunque la descripción ha sido proporcionada y mostrada en relación con realizaciones específicas preferidas actualmente, se pueden realizar muchas variaciones y modificaciones sin apartarse del alcance de la invención o invenciones dadas a conocer en la presente memoria. La descripción y la invención o invenciones no deben, por lo tanto, limitarse a los componentes o detalles exactos de metodología o construcción expuestos anteriormente. Excepto en la medida necesaria o inherente en los propios procesos, no está previsto ni se implica ningún orden particular de etapas o fases de procedimientos o procesos descritos en esta descripción, incluyendo las figuras. En muchos casos, el orden de las etapas de proceso puede variar sin cambiar el objetivo, el resultado, o la importancia de los procedimientos descritos. El alcance de las reivindicaciones se debe definir exclusivamente por las reivindicaciones adjuntas, prestando la debida consideración a la doctrina de equivalentes y doctrinas relacionadas.

Claims (32)

REIVINDICACIONES
1. Un procedimiento realizado mediante, por lo menos, un procesador que ejecuta instrucciones interpretables a máquina, comprendiendo el procedimiento:
asociar, con señales que representan instrucciones para la ejecución de una serie de segmentos de tratamiento de datos, representando cada segmento de tratamiento de datos instrucciones para la ejecución de una parte respectiva de un proceso de datos ejecutable por una serie de recursos informáticos en red (106, 1106), por lo menos un parámetro de temporización determinado utilizando, por lo menos parcialmente, una o varias latencias asociadas con la ejecución de solicitudes de tratamiento de señales mediante por lo menos uno de los recursos informáticos en red (106, 1106); y
encaminar, de acuerdo con una secuencia de temporización, las señales que representan instrucciones para la ejecución de la serie de partes del proceso de datos, a la serie de recursos informáticos en red (106, 1106); la secuencia de temporización para encaminar las señales, basada en dicho por lo menos un parámetro de temporización asociado, determinado para provocar la llegada o la ejecución sincronizada de las instrucciones para la ejecución de la serie de partes de proceso de datos en la serie de recursos informáticos en red (106, 1106).
2. El procedimiento, según la reivindicación 1, en el que dicho por lo menos un parámetro de temporización se determina, por lo menos parcialmente, en base a la latencia monitorizada dinámicamente en la ejecución de solicitudes de tratamiento de señales encaminadas a por lo menos uno de la serie de recursos informáticos en red (106, 1106).
3. El procedimiento, según la reivindicación 1 o 2, en el que dicho por lo menos un parámetro de temporización se determina, por lo menos parcialmente, en base a la latencia estadística en la ejecución de solicitudes de tratamiento de señales encaminadas a por lo menos uno de la serie de recursos informáticos en red (106, 1106).
4. El procedimiento, según cualquiera de las reivindicaciones 1 a 3, en el que dicho por lo menos un parámetro de temporización se determina, por lo menos parcialmente, en base a la latencia histórica en la ejecución de las solicitudes de tratamiento de señales encaminadas a, por lo menos, uno de la serie de recursos informáticos en red (106, 1106).
5. El procedimiento, según cualquiera de las reivindicaciones 1 a 4, en el que dicho por lo menos un parámetro de temporización se determina, por lo menos parcialmente, en base a la latencia predictiva en la ejecución de las solicitudes de tratamiento de señales encaminadas a, por lo menos, uno de la serie de recursos informáticos en red (106, 1106).
6. El procedimiento según cualquiera de las reivindicaciones 1 a 5, en el que dicho por lo menos un parámetro de temporización se determina de tal modo que la llegada o la ejecución sincronizada es simultánea.
7. El procedimiento según cualquiera de las reivindicaciones 1 a 6, en el que dicho por lo menos un parámetro de temporización se determina de tal modo que la llegada o la ejecución sincronizada es conforme con una secuencia no simultánea.
8. El procedimiento según cualquiera de las reivindicaciones 1 a 7, en el que dicho por lo menos un parámetro de temporización se determina de tal modo que la llegada o la ejecución sincronizada es conforme con una temporización relativa determinada.
9. El procedimiento según cualquiera de las reivindicaciones 1 a 8, en el que dicho por lo menos un parámetro de temporización se determina, por lo menos parcialmente, en base a por lo menos uno de: retardo de comunicación o retardo de tratamiento.
10. El procedimiento según cualquiera de las reivindicaciones 1 a 9, en el que dicho por lo menos un parámetro de temporización se determina, por lo menos parcialmente, en base a un modelo de probabilidad de latencia.
11. El procedimiento según cualquiera de las reivindicaciones 1 a 10, en el que la serie de partes de un proceso de datos representan una serie de transacciones propuestas en una o varias participaciones financieras, y en el que, preferentemente, las participaciones financieras incluyen por lo menos uno de productos básicos o participaciones en divisa.
12. El procedimiento según cualquiera de las reivindicaciones 1 a 10, en el que la serie de partes de un proceso de datos representan una serie de transacciones propuestas en una o varias participaciones financieras, y en el que, preferentemente, las participaciones financieras incluyen por lo menos una de participaciones patrimoniales o no patrimoniales, o derivados de las mismas.
13. El procedimiento según cualquiera de las reivindicaciones 1 a 12, que comprende:
generar las señales que representan las instrucciones para la ejecución de la serie de segmentos de tratamiento de datos; y
en base, por lo menos en parte, a latencias en la ejecución de solicitudes anteriores de tratamiento de datos encaminadas a cada uno de la serie de recursos informáticos en red (106, 1106), determinar una serie de parámetros de temporización, siendo cada uno de la serie de parámetros de temporización para asociarse con uno correspondiente de la serie de segmentos de tratamiento de datos.
14. El procedimiento según cualquiera de las reivindicaciones 1 a 13, en el que el procedimiento comprende además:
asociar, con cada uno de la serie de segmentos de tratamiento de datos, datos que representan por lo menos un término de cantidad, representando dicho por lo menos un término de cantidad por lo menos una cantidad de una participación financiera a negociar de acuerdo con una solicitud representada por el correspondiente segmento de tratamiento de datos, y por lo menos un correspondiente término de precio, representando el término de precio por lo menos un precio propuesto al que se tiene que ejecutar una negociación representada por dicho por lo menos un segmento de tratamiento de datos.
15. El procedimiento según cualquiera de las reivindicaciones 1 a 14, que comprende:
recibir desde una o varias fuentes de datos (102, 1102), señales que representan instrucciones para la ejecución de por lo menos un proceso de datos ejecutable por una serie de recursos informáticos en red (106, 1106); y
dividir dicho por lo menos un proceso de datos en la serie de segmentos de tratamiento de datos, cada segmento de tratamiento de datos para ser encaminado a uno diferente de una serie de procesadores de ejecución en red.
16. El procedimiento según cualquiera de las reivindicaciones 1 a 15, que comprende:
asociar con cada uno de por lo menos uno de la serie de segmentos de tratamiento de datos, datos que representan por lo menos un término de cantidad, representando dicho por lo menos un término de cantidad por lo menos una cantidad de una participación financiera a negociar de acuerdo con una solicitud representada por cada uno de dicho por lo menos un segmento de tratamiento de datos, y por lo menos un correspondiente término de precio asociado con cada uno de dichos términos de cantidad, representando el término de precio por lo menos un precio propuesto al que se tiene que ejecutar una negociación representada por dicho por lo menos un segmento de tratamiento de datos;
dicho por lo menos un término de cantidad mayor que por lo menos una cantidad de la participación financiera ofertada públicamente a un precio equivalente al correspondiente término de precio asociado, en un mercado asociado con el procesador o procesadores de ejecución en red a los que tiene que ser encaminado dicho por lo menos un segmento de tratamiento de datos.
17. El procedimiento según cualquiera de las reivindicaciones 1 a 16, que comprende:
monitorizar la ejecución de las solicitudes de ejecución de tratamiento de señales mediante cada uno de la serie de recursos informáticos en red (106, 1106);
determinar dicho por lo menos un parámetro de temporización asociado con una latencia en la ejecución de procesos de señal entre el sistema y cada uno de la serie de recursos informáticos en red (106, 1106); y almacenar dicho por lo menos un parámetro de temporización en memoria legible a máquina, accesible mediante dicho por lo menos un procesador.
18. Un sistema (1000, 100) para provocar un tratamiento sincronizado de datos mediante múltiples recursos informáticos en red (106, 1106 ), comprendiendo el sistema (100, 1000) por lo menos un procesador configurado para ejecutar instrucciones interpretables a máquina y hacer que el sistema (100, 1000):
reciba desde una o varias fuentes de datos (102, 1102), señales que representan instrucciones para la ejecución de por lo menos un proceso de datos ejecutable por una serie de recursos informáticos en red (106, 1106);
divida dicho por lo menos un proceso de datos en una serie de segmentos de tratamiento de datos, cada segmento de tratamiento de datos para ser encaminado a uno diferente de una serie de procesadores de ejecución en red (104, 1104) para ejecutar una parte respectiva de dicho por lo menos un proceso de datos; basándose, por lo menos parcialmente, en latencias en la ejecución de solicitudes anteriores de tratamiento de datos encaminadas por el sistema (100, 1000) a cada uno de la serie de procesadores de ejecución en red (104, 1104), determinar una serie de parámetros de temporización, cada uno de la serie de parámetros de temporización para ser asociado con uno correspondiente de la serie de segmentos de tratamiento de datos, y
encaminar, de acuerdo con una secuencia de temporización, la serie de segmentos de tratamiento de datos a la serie de correspondientes procesadores de ejecución en red (104, 1104), estando la secuencia de temporización basada en la serie de parámetros de temporización determinada para provocar la ejecución sincronizada de la serie de segmentos de tratamiento de datos mediante la serie de procesadores de ejecución en red (104, 1104).
19. El sistema (1000, 100) según la reivindicación 18, en el que por lo menos uno de la serie de parámetros de temporización determinados se determina, por lo menos parcialmente, en base a la latencia monitorizada dinámicamente en la ejecución de las solicitudes de tratamiento de señales encaminadas por el sistema (100, 1000) a, por lo menos, uno de la serie de procesadores de ejecución en red (104, 1104).
20. El sistema (100, 1000) según la reivindicación 18 o 19, en el que por lo menos uno de la serie de parámetros de temporización determinados se determina en base, por lo menos parcialmente, a por lo menos uno de: retardo de comunicación y retardo de tratamiento.
21. El sistema (100, 1000) según cualquiera de las reivindicaciones 18 a 20, en el que por lo menos uno de la serie de parámetros de temporización determinados se determina en base, por lo menos parcialmente, a un modelo de probabilidad de latencia.
22. El sistema (1000) según cualquiera de las reivindicaciones 18 a 21, en el que los procesadores de ejecución en red (104, 1104) comprenden servidores de bolsa (1106), y los segmentos de tratamiento de datos representan solicitudes para negociaciones en participaciones financieras.
23. El sistema (1000) según la reivindicación 22, en el que las participaciones financieras incluyen, por lo menos, uno de productos básicos y participaciones intangibles.
24. El sistema (1000) según la reivindicación 22, en el que las participaciones financieras incluyen, por lo menos, una de acciones, bonos y opciones.
25. El sistema (1000) según cualquiera de las reivindicaciones 22 a 24, en el que dicho por lo menos un procesador está configurado además para ejecutar instrucciones para hacer que el sistema (1000):
asocie con cada uno de por lo menos uno de la serie de segmentos de tratamiento de datos, datos que representan por lo menos un término de cantidad, representando dicho por lo menos un término de cantidad por lo menos una cantidad de una participación financiera a negociar de acuerdo con una solicitud representada por cada uno de dicho por lo menos un segmento de tratamiento de datos, y por lo menos un correspondiente término de precio asociado con cada uno de dichos términos de cantidad, representando el término de cantidad por lo menos un precio propuesto al que se tiene que ejecutar una negociación representada por dicho por lo menos un segmento de tratamiento de datos;
dicho por lo menos un término de cantidad mayor que por lo menos una cantidad de la participación financiera ofertada públicamente a un precio equivalente al correspondiente término de precio asociado, en un mercado asociado con el procesador o procesadores de ejecución en red a los que tiene que ser encaminado dicho por lo menos un segmento de tratamiento de datos.
26. El sistema (1000) según la reivindicación 25, en el que dicho por lo menos un término de cantidad se determina en base, por lo menos parcialmente, a un histórico de negociación asociado con el mercado asociado con el procesador de ejecución en red al que se tiene que encaminar el segmento de tratamiento de datos.
27. El sistema (100, 1000) según cualquiera de las reivindicaciones 18 a 26, en el que dicho por lo menos un procesador está configurado para ejecutar instrucciones legibles a máquina, que hacen que el sistema (1000, 100):
monitorice la ejecución de solicitudes de tratamiento de datos mediante cada uno de la serie de recursos informáticos en red (106, 1106);
determine dicho por lo menos un parámetro de temporización asociado con una latencia la ejecución de solicitudes de tratamiento de datos entre el sistema (100, 1000) y cada uno de la serie de recursos informáticos en red (106, 1106); y
almacene dicho por lo menos un parámetro de temporización en memoria legible a máquina, accesible mediante dicho por lo menos un procesador.
28. El sistema (100, 1000) según la reivindicación 27, en el que dicha por lo menos una latencia está asociada con, por lo menos uno de: retardo de comunicación y retardo de tratamiento.
29. El sistema (1000, 100) según la reivindicación 27 o 28, en el que la ejecución de las solicitudes de tratamiento de señales es monitorizada periódicamente.
30. El sistema (100, 1000) según la reivindicación 27 o 28, en el que la ejecución de las solicitudes de ejecución de tratamiento de señales es monitorizada continuamente.
31. Un dispositivo que comprende, por lo menos, un procesador configurado para llevar a cabo el procedimiento según cualquiera de las reivindicaciones 1 a 17.
32. Uno o varios medios legibles por ordenador, que comprenden estructuras de programación legibles a máquina, no transitorias, configuradas para hacer que por lo menos un procesador lleve a cabo el procedimiento según cualquiera de las reivindicaciones 1 a 17.
ES10835319T 2009-12-10 2010-06-08 Tratamiento sincronizado de datos mediante recursos informáticos en red Active ES2754099T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28537509P 2009-12-10 2009-12-10
PCT/CA2010/000872 WO2011069234A1 (en) 2009-12-10 2010-06-08 Synchronized processing of data by networked computing resources

Publications (1)

Publication Number Publication Date
ES2754099T3 true ES2754099T3 (es) 2020-04-15

Family

ID=43381950

Family Applications (1)

Application Number Title Priority Date Filing Date
ES10835319T Active ES2754099T3 (es) 2009-12-10 2010-06-08 Tratamiento sincronizado de datos mediante recursos informáticos en red

Country Status (13)

Country Link
US (8) US10650450B2 (es)
EP (1) EP2510451B1 (es)
JP (2) JP5785556B2 (es)
KR (1) KR101667697B1 (es)
CN (2) CN105978756B (es)
AU (6) AU2010330629B2 (es)
BR (1) BR112012013891B1 (es)
CA (4) CA3109739A1 (es)
ES (1) ES2754099T3 (es)
MX (1) MX337624B (es)
SG (2) SG181616A1 (es)
WO (1) WO2011069234A1 (es)
ZA (2) ZA201205093B (es)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544785B2 (en) * 2014-03-11 2023-01-03 Chicago Mercantile Exchange Inc. Market operation through regulation of incoming order match allocation and/or dynamic resting order match allocation priorities

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930393B1 (en) 2008-09-29 2011-04-19 Amazon Technologies, Inc. Monitoring domain allocation performance
US8316124B1 (en) 2008-09-29 2012-11-20 Amazon Technologies, Inc. Managing network data display
US7865594B1 (en) 2008-09-29 2011-01-04 Amazon Technologies, Inc. Managing resources consolidation configurations
US8286176B1 (en) 2008-09-29 2012-10-09 Amazon Technologies, Inc. Optimizing resource configurations
US8122124B1 (en) 2008-09-29 2012-02-21 Amazon Technologies, Inc. Monitoring performance and operation of data exchanges
US8117306B1 (en) 2008-09-29 2012-02-14 Amazon Technologies, Inc. Optimizing content management
US9230259B1 (en) 2009-03-20 2016-01-05 Jpmorgan Chase Bank, N.A. Systems and methods for mobile ordering and payment
US7917618B1 (en) 2009-03-24 2011-03-29 Amazon Technologies, Inc. Monitoring web site content
US9959572B2 (en) 2009-12-10 2018-05-01 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US9979589B2 (en) 2009-12-10 2018-05-22 Royal Bank Of Canada Coordinated processing of data by networked computing resources
MX337624B (es) 2009-12-10 2016-03-11 Royal Bank Of Canada Procesamiento sincronizado de datos por recursos de computo conectados en red.
US9940670B2 (en) 2009-12-10 2018-04-10 Royal Bank Of Canada Synchronized processing of data by networked computing resources
US10057333B2 (en) 2009-12-10 2018-08-21 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US8930525B2 (en) * 2010-04-27 2015-01-06 Hewlett-Packard Development Company, L.P. Method and apparatus for measuring business transaction performance
US8832061B2 (en) 2010-07-02 2014-09-09 Salesforce.Com, Inc. Optimizing data synchronization between mobile clients and database systems
US10263888B2 (en) * 2010-09-30 2019-04-16 Trading Technologies International, Inc. Sticky order routers
JP5701708B2 (ja) * 2011-07-26 2015-04-15 株式会社日立製作所 通信システム
KR102286388B1 (ko) * 2012-09-12 2021-08-04 아이이엑스 그룹, 인크. 전송 레이턴시 평준화 장치, 방법 및 시스템
EP2932456A4 (en) * 2012-12-11 2016-08-03 Aequitas Innovations Inc SYSTEM AND METHOD FOR COLLECTING MARKET DATA OF FINANCIAL INTERESTS
GB2512061A (en) * 2013-03-18 2014-09-24 Rapid Addition Ltd Transactional message format data conversion
CA3012609A1 (en) 2013-06-24 2014-12-31 Aequitas Innovations Inc. System and method for automated trading of financial interests
US9922101B1 (en) * 2013-06-28 2018-03-20 Emc Corporation Coordinated configuration, management, and access across multiple data stores
US10002348B1 (en) * 2013-07-24 2018-06-19 Amazon Technologies, Inc. Routing and processing of payment transactions
US20160239913A1 (en) * 2013-08-13 2016-08-18 Cfph, Llc Foreign exchange trading
CA2921346A1 (en) * 2013-11-07 2015-05-14 Cfph, Llc Foreign exchange trading
SG11201608606WA (en) * 2014-04-16 2016-11-29 Iex Group Inc Systems and methods for providing up-to-date information for transactions
US11157998B2 (en) * 2014-08-04 2021-10-26 Renaissance Technologies Llc System and method for executing synchronized trades in multiple exchanges
SG10201901170PA (en) 2014-08-22 2019-03-28 Iex Group Inc Dynamic peg orders in an electronic trading system
US10706470B2 (en) 2016-12-02 2020-07-07 Iex Group, Inc. Systems and methods for processing full or partially displayed dynamic peg orders in an electronic trading system
US10311515B2 (en) 2014-09-17 2019-06-04 Iex Group, Inc. System and method for a semi-lit market
CA2944925C (en) 2014-10-08 2017-04-25 Tsx Inc. Selective delayed and undelayed database updating
WO2016061658A1 (en) 2014-10-20 2016-04-28 Tsx Inc. Database updating with latency tolerance
ES2957843T3 (es) 2014-12-15 2024-01-26 Royal Bank Of Canada Verificación de procesos de datos en una red de recursos informáticos
US11165714B2 (en) 2014-12-15 2021-11-02 Royal Bank Of Canada Verification of data processes in a network of computing resources
US9769248B1 (en) 2014-12-16 2017-09-19 Amazon Technologies, Inc. Performance-based content delivery
US9705769B1 (en) 2014-12-17 2017-07-11 Juniper Networks, Inc. Service latency monitoring using two way active measurement protocol
US10225365B1 (en) 2014-12-19 2019-03-05 Amazon Technologies, Inc. Machine learning based content delivery
US10311371B1 (en) 2014-12-19 2019-06-04 Amazon Technologies, Inc. Machine learning based content delivery
US10311372B1 (en) 2014-12-19 2019-06-04 Amazon Technologies, Inc. Machine learning based content delivery
EP3269090B1 (en) * 2015-02-27 2019-10-02 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10506074B2 (en) * 2015-09-25 2019-12-10 Verizon Patent And Licensing Inc. Providing simultaneous access to content in a network
US10817606B1 (en) * 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US10419975B1 (en) * 2015-12-11 2019-09-17 Spectranet, Inc. Parallel multi-bit low latency wireless messaging
WO2017117191A1 (en) 2015-12-30 2017-07-06 Chicago Mercantile Exchange Inc. Execution of co-dependent transactions in a transaction processing system
CN105847329B (zh) * 2016-03-15 2023-04-07 优品财富管理有限公司 一种基于股票数据服务器的管理设备及方法
JP2019509580A (ja) * 2016-03-24 2019-04-04 トラディション アメリカ,エルエルシー 注文処理をライブ化するシステム及び方法
US10748210B2 (en) * 2016-08-09 2020-08-18 Chicago Mercantile Exchange Inc. Systems and methods for coordinating processing of scheduled instructions across multiple components
US10943297B2 (en) * 2016-08-09 2021-03-09 Chicago Mercantile Exchange Inc. Systems and methods for coordinating processing of instructions across multiple components
WO2018044334A1 (en) 2016-09-02 2018-03-08 Iex Group. Inc. System and method for creating time-accurate event streams
US11037241B2 (en) * 2018-04-25 2021-06-15 Ubs Business Solutions Ag Dynamic dissemination of information to network devices
US11037243B2 (en) 2018-04-25 2021-06-15 Ubs Business Solutions Ag Dynamic dissemination of information to network devices
US10511520B1 (en) * 2018-05-29 2019-12-17 Ripple Labs Inc. Multi-hop path finding
US10795974B2 (en) * 2018-05-31 2020-10-06 Microsoft Technology Licensing, Llc Memory assignment for guest operating systems
US11184288B2 (en) 2019-01-11 2021-11-23 Arista Networks, Inc. System and a method for controlling timing of processing network data
US20200402170A1 (en) * 2019-06-19 2020-12-24 Chicago Mercantile Exchange Inc. Deterministic Message Processing in a Distributed Network
US11734757B2 (en) 2020-04-14 2023-08-22 Banque Nationale Du Canada Computer implemented method and system for automating analysis of profit and loss (PnL) variations based on market events
US11537455B2 (en) 2021-01-11 2022-12-27 Iex Group, Inc. Schema management using an event stream
US11658918B2 (en) * 2021-05-17 2023-05-23 Juniper Networks, Inc. Latency-aware load balancer for topology-shifting software defined networks
US11893267B2 (en) 2022-01-14 2024-02-06 Bank Of America Corporation Data flow control and routing using machine learning
US11915315B1 (en) 2022-08-10 2024-02-27 Bgc Partners, L.P. Method, apparatus and system for time stamping and sequencing data items

Family Cites Families (270)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0353819B1 (en) 1988-08-02 1997-04-09 Koninklijke Philips Electronics N.V. Method and apparatus for synchronizing parallel processors using a fuzzy barrier
US5179702A (en) 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
US5339415A (en) 1990-06-11 1994-08-16 Cray Research, Inc. Dual level scheduling of processes to multiple parallel regions of a multi-threaded program on a tightly coupled multiprocessor computer system
JPH0448350A (ja) * 1990-06-18 1992-02-18 Toshiba Corp データベース管理システム
JP3285629B2 (ja) 1992-12-18 2002-05-27 富士通株式会社 同期処理方法及び同期処理装置
CA2123447C (en) 1993-09-20 1999-02-16 Richard L. Arndt Scalable system interrupt structure for a multiprocessing system
KR960003444A (ko) * 1994-06-01 1996-01-26 제임스 디. 튜턴 차량 감시 시스템
US5768594A (en) * 1995-07-14 1998-06-16 Lucent Technologies Inc. Methods and means for scheduling parallel processors
JP3417741B2 (ja) 1995-10-06 2003-06-16 富士通株式会社 取引制御システム
US5887143A (en) 1995-10-26 1999-03-23 Hitachi, Ltd. Apparatus and method for synchronizing execution of programs in a distributed real-time computing system
US5820463A (en) * 1996-02-06 1998-10-13 Bell Atlantic Network Services, Inc. Method and apparatus for multi-player gaming over a network
US5896523A (en) 1997-06-04 1999-04-20 Marathon Technologies Corporation Loosely-coupled, synchronized execution
US6570911B1 (en) * 1997-06-27 2003-05-27 Intel Corporation Method and apparatus for controlling modem data pump parameters based on processor loading
US6615258B1 (en) * 1997-09-26 2003-09-02 Worldcom, Inc. Integrated customer interface for web based data management
US6081906A (en) * 1997-11-21 2000-06-27 Fuji Xerox Co., Ltd. Multi-thread processing with queuing and recovery
US6026497A (en) * 1997-12-23 2000-02-15 Sun Microsystems, Inc. System and method for determining the resolution of a granular clock provided by a digital computer and for using it to accurately time execution of computer program fragment by the digital computer
US6002737A (en) * 1998-06-02 1999-12-14 Adaptec, Inc. Timer using a single counter to track multiple time-outs
US20010051910A1 (en) 1998-09-25 2001-12-13 Snelgrove William Martin System and method for conducting an auction over a communications network
US6618707B1 (en) 1998-11-03 2003-09-09 International Securities Exchange, Inc. Automated exchange for trading derivative securities
US20020026321A1 (en) 1999-02-26 2002-02-28 Sadeg M. Faris Internet-based system and method for fairly and securely enabling timed-constrained competition using globally time-sychronized client subsystems and information servers having microsecond client-event resolution
US6677858B1 (en) 1999-02-26 2004-01-13 Reveo, Inc. Internet-based method of and system for monitoring space-time coordinate information and biophysiological state information collected from an animate object along a course through the space-time continuum
JP2000293424A (ja) * 1999-04-09 2000-10-20 Hitachi Ltd ネットワークキャッシュ装置およびキャッシュ制御方法
JP3557947B2 (ja) 1999-05-24 2004-08-25 日本電気株式会社 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体
US7277861B1 (en) 1999-08-27 2007-10-02 Westport Insurance Corporation Insurance policy renewal method and system
US6578068B1 (en) 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6810411B1 (en) * 1999-09-13 2004-10-26 Intel Corporation Method and system for selecting a host in a communications network
US7630986B1 (en) * 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US6295276B1 (en) 1999-12-31 2001-09-25 Ragula Systems Combining routers to increase concurrency and redundancy in external network access
US6493341B1 (en) 1999-12-31 2002-12-10 Ragula Systems Combining routers to increase concurrency and redundancy in external network access
US7454457B1 (en) * 2000-02-07 2008-11-18 Parallel Networks, Llc Method and apparatus for dynamic data flow control using prioritization of data requests
US7707245B2 (en) 2000-02-22 2010-04-27 Harvey Lunenfeld Metasearching a client's request for displaying different order books on the client
US6871341B1 (en) 2000-03-24 2005-03-22 Intel Corporation Adaptive scheduling of function cells in dynamic reconfigurable logic
US7650376B1 (en) * 2000-03-27 2010-01-19 Blumenau Trevor I Content distribution system for distributing content over a network, with particular applicability to distributing high-bandwidth content
US20020038228A1 (en) * 2000-03-28 2002-03-28 Waldorf Jerry A. Systems and methods for analyzing business processes
US6742044B1 (en) * 2000-05-10 2004-05-25 Cisco Technology, Inc. Distributed network traffic load balancing technique implemented without gateway router
US6789125B1 (en) 2000-05-10 2004-09-07 Cisco Technology, Inc. Distributed network traffic load balancing technique implemented without gateway router
US9183351B2 (en) * 2000-05-30 2015-11-10 Vladimir Shusterman Mobile system with network-distributed data processing for biomedical applications
US7680715B2 (en) * 2000-06-01 2010-03-16 Pipeline Financial Group, Inc. Systems and methods for providing anonymous requests for quotes for financial instruments
US8380630B2 (en) * 2000-07-06 2013-02-19 David Paul Felsher Information record infrastructure, system and method
US7213077B2 (en) * 2000-07-21 2007-05-01 Hughes Network Systems, Inc. Method and system for providing buffer management in a performance enhancing proxy architecture
US6829589B1 (en) 2000-07-21 2004-12-07 Stc, Llc Method and apparatus for stock and index option price improvement, participation, and internalization
US7031945B1 (en) * 2000-07-24 2006-04-18 Donner Irah H System and method for reallocating and/or upgrading and/or rewarding tickets, other event admittance means, goods and/or services
US6856970B1 (en) * 2000-09-26 2005-02-15 Bottomline Technologies Electronic financial transaction system
US7478058B2 (en) 2000-11-15 2009-01-13 Spc Holdings Pty Limited Collaborative commerce hub
US7184984B2 (en) * 2000-11-17 2007-02-27 Valaquenta Intellectual Properties Limited Global electronic trading system
US7051330B1 (en) 2000-11-21 2006-05-23 Microsoft Corporation Generic application server and method of operation therefor
US20030177187A1 (en) 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
US6809733B2 (en) 2000-11-27 2004-10-26 Silicon Graphics, Inc. Swap buffer synchronization in a distributed rendering system
US7937470B2 (en) * 2000-12-21 2011-05-03 Oracle International Corp. Methods of determining communications protocol latency
GB2377784B (en) * 2001-02-12 2003-11-05 Altio Ltd A presentation server which enables a client device to run a network based application
EP1365328B1 (en) 2001-02-28 2013-09-04 Fujitsu Limited Method for executing parallel process, and multi-processor computer
US7181017B1 (en) * 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7117504B2 (en) * 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
JP3702813B2 (ja) 2001-07-12 2005-10-05 日本電気株式会社 マルチスレッド実行方法及び並列プロセッサシステム
US7318083B2 (en) * 2001-08-27 2008-01-08 Ricoh Company, Ltd. Information processing system
JP3815278B2 (ja) * 2001-08-30 2006-08-30 ソニー株式会社 ネットワークゲームシステム、ネットワークゲームサーバ装置、ネットワークゲーム端末装置、情報処理方法、及び情報処理プログラム
US8473922B2 (en) * 2001-09-19 2013-06-25 Hewlett-Packard Development Company, L.P. Runtime monitoring in component-based systems
WO2003048905A2 (en) * 2001-12-05 2003-06-12 E-Xchange Advantage, Inc. Method and system for managing distributed trading data
JP2005518147A (ja) * 2002-01-22 2005-06-16 シーメンス メディカル ソルーションズ ヘルス サーヴィシズ コーポレイション 実行可能ソフトウエアアプリケーションのネットワークトラフィック特性を推定するためのシステム
WO2003062988A2 (en) * 2002-01-24 2003-07-31 Koninklijke Philips Electronics N.V. Executing processes in a multiprocessing environment
US7171479B2 (en) * 2002-04-26 2007-01-30 International Business Machines Corporation Efficient delivery of boot code images from a network server
US7114171B2 (en) 2002-05-14 2006-09-26 Thales Avionics, Inc. Method for controlling an in-flight entertainment system
WO2003098386A2 (en) 2002-05-14 2003-11-27 Bank Of New York Commission management system
US7747729B2 (en) * 2002-06-14 2010-06-29 Hanoch Levy Determining client latencies over a network
US6721765B2 (en) * 2002-07-02 2004-04-13 Sybase, Inc. Database system with improved methods for asynchronous logging of transactions
EP1391820A3 (en) 2002-07-31 2007-12-19 Texas Instruments Incorporated Concurrent task execution in a multi-processor, single operating system environment
EP1414187A1 (en) 2002-10-22 2004-04-28 Alcatel Method for evaluating the quality of service of a telecommunication link via a network
US7778896B2 (en) 2002-12-03 2010-08-17 Bny Convergex Group Llc Systems and methods for direct electronic trading of depositary receipts
US9032465B2 (en) * 2002-12-10 2015-05-12 Ol2, Inc. Method for multicasting views of real-time streaming interactive video
US7552445B2 (en) * 2002-12-13 2009-06-23 Savvis Communications Corporation Systems and methods for monitoring events from multiple brokers
JP3747908B2 (ja) 2002-12-13 2006-02-22 ソニー株式会社 カメラ制御システム、カメラサーバ及びその制御方法
US9818136B1 (en) * 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7290168B1 (en) * 2003-02-28 2007-10-30 Sun Microsystems, Inc. Systems and methods for providing a multi-path network switch system
US7178112B1 (en) * 2003-04-16 2007-02-13 The Mathworks, Inc. Management of functions for block diagrams
JP4131514B2 (ja) 2003-04-21 2008-08-13 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、サーバ、データ処理方法及びプログラム
US20040267897A1 (en) * 2003-06-24 2004-12-30 Sychron Inc. Distributed System Providing Scalable Methodology for Real-Time Control of Server Pools and Data Centers
JP4028444B2 (ja) 2003-06-27 2007-12-26 株式会社東芝 スケジューリング方法およびリアルタイム処理システム
CN1515472A (zh) 2003-08-26 2004-07-28 王金水 一种保温食品容器
US7373548B2 (en) * 2003-08-29 2008-05-13 Intel Corporation Hardware recovery in a multi-threaded architecture
US10127765B1 (en) * 2003-10-20 2018-11-13 Tipping Point Group, Llc Gaming machine having secondary gaming controller with proxy configuration
US8655755B2 (en) 2003-10-22 2014-02-18 Scottrade, Inc. System and method for the automated brokerage of financial instruments
US7447775B1 (en) * 2003-11-07 2008-11-04 Cisco Technology, Inc. Methods and apparatus for supporting transmission of streaming data
US7752559B1 (en) * 2003-12-05 2010-07-06 The Mathworks, Inc. Graphical model preparation for embedded deployment
US20050125329A1 (en) * 2003-12-09 2005-06-09 Nucenz Technologies, Inc. Systems and methods for processing multiple contingent transactions
US7774172B1 (en) * 2003-12-10 2010-08-10 The Mathworks, Inc. Method for using a graphical debugging tool
US7502912B2 (en) * 2003-12-30 2009-03-10 Intel Corporation Method and apparatus for rescheduling operations in a processor
US7269758B2 (en) * 2004-01-20 2007-09-11 International Business Machines Corporation Method and system for identifying runaway software agents
US7899179B2 (en) * 2004-01-20 2011-03-01 International Business Machines Corporation Method for monitoring off-schedule software agents
US7802015B2 (en) * 2004-01-26 2010-09-21 Tantalus Systems Corp. Communications system of heterogeneous elements
WO2005103975A1 (ja) 2004-04-27 2005-11-03 Bitwallet, Inc. 貨幣端末処理サーバ、貨幣端末処理方法、貨幣端末、演算命令入力装置、及び金額変更情報入力装置
US20060047591A1 (en) 2004-08-26 2006-03-02 Snouffer Bradley D Method of capitalizing a distributed business entity and allocating profits thereof
US7890735B2 (en) * 2004-08-30 2011-02-15 Texas Instruments Incorporated Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture
US7590589B2 (en) * 2004-09-10 2009-09-15 Hoffberg Steven M Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference
US7818236B2 (en) 2004-09-13 2010-10-19 Nyfix, Inc. System for aggregating executions in a communication network for securities transactions and the like
US7590942B2 (en) * 2004-09-16 2009-09-15 Novatech Llc System, method and computer program product for documenting and managing execution of procedures in a graphical interface environment
US8230426B2 (en) 2004-10-06 2012-07-24 Digipede Technologies, Llc Multicore distributed processing system using selection of available workunits based on the comparison of concurrency attributes with the parallel processing characteristics
US20060075408A1 (en) 2004-10-06 2006-04-06 Digipede Technologies, Llc Distributed object execution system
US8145908B1 (en) * 2004-10-29 2012-03-27 Akamai Technologies, Inc. Web content defacement protection system
US7634430B2 (en) * 2004-12-06 2009-12-15 Hewlett-Packard Development Company, L.P. System and method for allocating resources in a distributed computational system using proportional share auctions
US8140423B2 (en) 2004-12-10 2012-03-20 Nyfix, Inc. Controlling an order slicer for trading a financial instrument
US7487125B2 (en) 2005-01-14 2009-02-03 Littlewood Margaret G Method for providing aggregation of trading on multiple alternative trading systems
US7788163B2 (en) 2005-03-11 2010-08-31 Chicago Mercantile Exchange Inc. System and method of utilizing a distributed order book in an electronic trade match engine
US20060218071A1 (en) 2005-03-28 2006-09-28 Espeed, Inc. System and method for managing trading between related entities
JP4514648B2 (ja) * 2005-05-18 2010-07-28 富士通株式会社 管理サーバによる情報処理方法及びルータ
US8566213B2 (en) * 2005-05-20 2013-10-22 Bgc Partners, Inc. System and method for automatically distributing a trading order over a range of prices
US7805706B1 (en) * 2005-06-21 2010-09-28 Unisys Corporation Process for optimizing software components for an enterprise resource planning (ERP) application SAP on multiprocessor servers
JP4979206B2 (ja) * 2005-07-06 2012-07-18 株式会社ソニー・コンピュータエンタテインメント 情報処理方法および情報処理装置
US20080037532A1 (en) * 2005-08-20 2008-02-14 Sykes Edward A Managing service levels on a shared network
US9058406B2 (en) 2005-09-14 2015-06-16 Millennial Media, Inc. Management of multiple advertising inventories using a monetization platform
US7693873B2 (en) 2005-10-13 2010-04-06 International Business Machines Corporation System, method and program to synchronize files in distributed computer system
US7720662B1 (en) * 2005-12-02 2010-05-18 The Mathworks, Inc. Visual representation of model execution results contributing to a failure condition in a model
US9081609B2 (en) * 2005-12-21 2015-07-14 Xerox Corporation Image processing system and method employing a threaded scheduler
US20070156786A1 (en) 2005-12-22 2007-07-05 International Business Machines Corporation Method and apparatus for managing event logs for processes in a digital data processing system
US8458745B2 (en) 2006-02-17 2013-06-04 The Directv Group, Inc. Amalgamation of user data for geographical trending
US8037119B1 (en) 2006-02-21 2011-10-11 Nvidia Corporation Multipurpose functional unit with single-precision and double-precision operations
JP2007241394A (ja) 2006-03-06 2007-09-20 Mitsubishi Electric Corp 分割処理管理装置及び分割処理管理システム及び演算処理実行システム及び分割処理管理方法
US8190682B2 (en) * 2006-03-31 2012-05-29 Amazon Technologies, Inc. Managing execution of programs by multiple computing systems
US8307119B2 (en) * 2006-03-31 2012-11-06 Google Inc. Collaborative online spreadsheet application
US8862680B2 (en) 2006-05-01 2014-10-14 The Boeing Company Methods and systems for data prioritization
US7755621B2 (en) * 2006-06-16 2010-07-13 Autodesk, Inc. Fast interactive object manipulation
US7840482B2 (en) * 2006-06-19 2010-11-23 Exegy Incorporated Method and system for high speed options pricing
US7921046B2 (en) 2006-06-19 2011-04-05 Exegy Incorporated High speed processing of financial information using FPGA devices
GB0613275D0 (en) * 2006-07-04 2006-08-16 Codeplay Software Ltd Distributed computer system
US7822728B1 (en) * 2006-11-08 2010-10-26 Emc Corporation Metadata pipelining and optimization in a file server
EP1936907A1 (en) 2006-12-12 2008-06-25 The Sporting Exchange Ltd. Transaction processing system
US7716118B2 (en) * 2007-01-16 2010-05-11 Peter Bartko System and method for providing latency protection for trading orders
US7970891B1 (en) 2007-01-17 2011-06-28 Google Inc. Tracking links in web browsers
US20080294332A1 (en) 2007-01-17 2008-11-27 3-D-V-U Israel (2000) Ltd. Method for Image Based Navigation Route Corridor For 3D View on Mobile Platforms for Mobile Users
US8706849B1 (en) * 2007-02-09 2014-04-22 Crimson Corporation Systems and methods for increasing the scalability in a client/server environment
US8301790B2 (en) * 2007-05-30 2012-10-30 Randy Morrison Synchronization of audio and video signals from remote sources over the internet
US7840481B2 (en) 2007-06-07 2010-11-23 Bny Convergex Execution Solutions Llc Aged transactions in a trading system
WO2008155834A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited 処理装置
US8347292B2 (en) 2007-08-30 2013-01-01 International Business Machines Corporation Transaction aggregation to increase transaction processing throughout
JP5122890B2 (ja) * 2007-09-06 2013-01-16 株式会社日立製作所 通信システム及びその装置
US8326970B2 (en) * 2007-11-05 2012-12-04 Hewlett-Packard Development Company, L.P. System and method for modeling a session-based system with a transaction-based analytic model
US20100050182A1 (en) 2007-12-03 2010-02-25 Zircon Computing Llc Parallel processing system
US8621475B2 (en) * 2007-12-06 2013-12-31 International Business Machines Corporation Responsive task scheduling in cooperative multi-tasking environments
US8055557B2 (en) * 2007-12-21 2011-11-08 Metabank Transfer account systems, computer program products, and associated computer-implemented methods
US9060208B2 (en) * 2008-01-30 2015-06-16 Time Warner Cable Enterprises Llc Methods and apparatus for predictive delivery of content over a network
US8918541B2 (en) * 2008-02-22 2014-12-23 Randy Morrison Synchronization of audio and video signals from remote sources over the internet
CN101256660A (zh) * 2008-04-02 2008-09-03 刘波涌 一种基于gps技术的交互***和交互方法
US7979344B2 (en) 2008-05-23 2011-07-12 Bny Convergex Group, Llc Systems, methods, and media for automatically controlling trade executions based on percentage of volume trading rates
US8473469B1 (en) * 2008-08-25 2013-06-25 Salesforce.Com, Inc. Techniques for implementing batch processing in a multi-tenant on-demand database system
US8291252B2 (en) 2008-08-27 2012-10-16 Igt Power management in a multi-station gaming machine
US8127001B1 (en) * 2008-10-06 2012-02-28 Rockstar Bidco, LP Method and system for selecting providers for role based services
US8869256B2 (en) 2008-10-21 2014-10-21 Yahoo! Inc. Network aggregator
US8380551B2 (en) * 2008-11-05 2013-02-19 The Boeing Company Method and system for processing work requests
WO2010077829A1 (en) 2008-12-15 2010-07-08 Exegy Incorporated Method and apparatus for high-speed processing of financial market depth data
US8270594B2 (en) 2009-01-08 2012-09-18 Soundbite Communications, Inc. Method and system for managing interactive communications campaign with reduced customer-to-agent connection latency
US8352956B1 (en) * 2009-02-02 2013-01-08 Juniper Networks, Inc. Calculating an estimated time remaining for completion of a multi-phased and multi-threaded process
US8682777B1 (en) * 2009-02-02 2014-03-25 Marketaxess Holdings, Inc. Methods and systems for computer-based trading enhanced with market and historical data displayed on live screen
US20100332373A1 (en) 2009-02-26 2010-12-30 Jason Crabtree System and method for participation in energy-related markets
US8868497B2 (en) 2009-06-12 2014-10-21 Sap Ag Correlation aware synchronization for near real-time decision support
US8103769B1 (en) * 2009-09-03 2012-01-24 Amazon Technologies, Inc. Dynamic isolation of shared resources
US9804943B2 (en) * 2009-10-16 2017-10-31 Sap Se Estimating service resource consumption based on response time
MX337624B (es) 2009-12-10 2016-03-11 Royal Bank Of Canada Procesamiento sincronizado de datos por recursos de computo conectados en red.
US10771536B2 (en) * 2009-12-10 2020-09-08 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US9081501B2 (en) * 2010-01-08 2015-07-14 International Business Machines Corporation Multi-petascale highly efficient parallel supercomputer
US8484661B2 (en) * 2010-03-19 2013-07-09 At&T Mobility Ii Llc Agnostic execution cluster for an agnostic execution environment
US8358765B1 (en) 2010-03-31 2013-01-22 Cox Communications, Inc. System for simultaneous delivery of communication session invitation messages to communication devices
US8315940B2 (en) 2010-04-27 2012-11-20 Omx Technology Ab System and method for rapidly calculating risk in an electronic trading exchange
US20110289425A1 (en) * 2010-05-20 2011-11-24 Salesforce.Com, Inc. Methods and systems for providing a user interface in a multi-tenant database environment
WO2011146898A2 (en) * 2010-05-21 2011-11-24 Bologh Mark J Internet system for ultra high video quality
WO2011150327A2 (en) 2010-05-28 2011-12-01 Massachusetts Institute Of Technology System and method for relativistic statistical securities trading
JP5458308B2 (ja) * 2010-06-11 2014-04-02 株式会社日立製作所 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置
WO2012008915A1 (en) 2010-07-13 2012-01-19 M-Daq Pte Ltd Method and system of trading a security in a foreign currency
GB2497218A (en) 2010-08-06 2013-06-05 Acquire Media Ventures Inc Method and system for pacing, ack'ing, timing, and handicapping (path) for simultaneous receipt of documents
US8527440B2 (en) * 2010-10-12 2013-09-03 Sap Ag System and apparatus for performing consistency maintenance of distributed graph structures that compares changes to identify a conflicting operation
US8336051B2 (en) * 2010-11-04 2012-12-18 Electron Database Corporation Systems and methods for grouped request execution
US8843545B2 (en) 2010-11-30 2014-09-23 Telefonaktiebolaget L M Ericsson (Publ) Supervision timer control mechanisms
US10037568B2 (en) * 2010-12-09 2018-07-31 Ip Reservoir, Llc Method and apparatus for managing orders in financial markets
KR101803303B1 (ko) * 2010-12-21 2017-12-29 삼성전자주식회사 멀티미디어 아키텍처 패턴 결정 방법, 싱글코어에서 멀티코어 기반으로의 아키텍처 전환 장치 및 방법
US8543868B2 (en) * 2010-12-21 2013-09-24 Guest Tek Interactive Entertainment Ltd. Distributed computing system that monitors client device request time and server servicing time in order to detect performance problems and automatically issue alerts
WO2012092268A1 (en) 2010-12-29 2012-07-05 Citrix Systems, Inc. Systems and methods for scalable n-core statistics aggregation
US20120221546A1 (en) 2011-02-24 2012-08-30 Rafsky Lawrence C Method and system for facilitating web content aggregation initiated by a client or server
US8832219B2 (en) * 2011-03-01 2014-09-09 Red Hat, Inc. Generating optimized resource consumption periods for multiple users on combined basis
US8838584B2 (en) 2011-03-29 2014-09-16 Acquire Media Ventures, Inc. Method for selecting a subset of content sources from a collection of content sources
US8667019B2 (en) * 2011-04-01 2014-03-04 Microsoft Corporation Placement goal-based database instance consolidation
US8824687B2 (en) 2011-05-04 2014-09-02 Acquire Media Ventures, Inc. Method and system for pacing, acking, timing, and handicapping (path) for simultaneous receipt of documents employing encryption
US8407284B2 (en) * 2011-05-27 2013-03-26 Red Hat, Inc. Systems and methods for cloud data deployment based on preferential and/or existing subscription relationships
US20130027561A1 (en) 2011-07-29 2013-01-31 Panasonic Corporation System and method for improving site operations by detecting abnormalities
US8909996B2 (en) * 2011-08-12 2014-12-09 Oracle International Corporation Utilizing multiple storage devices to reduce write latency for database logging
US8930489B2 (en) * 2011-10-11 2015-01-06 Rakspace US, Inc. Distributed rate limiting of handling requests
US9300548B2 (en) * 2011-10-14 2016-03-29 Alcatel Lucent Providing dynamic reliability and security in communications environments
US9154984B1 (en) * 2011-11-15 2015-10-06 Google Inc. System and method for estimating network performance
US9503510B2 (en) 2012-03-10 2016-11-22 Headwater Partners Ii Llc Content distribution based on a value metric
US9210217B2 (en) 2012-03-10 2015-12-08 Headwater Partners Ii Llc Content broker that offers preloading opportunities
US8891364B2 (en) * 2012-06-15 2014-11-18 Citrix Systems, Inc. Systems and methods for distributing traffic across cluster nodes
US9467383B2 (en) * 2012-06-19 2016-10-11 Hewlett Packard Enterprise Development Lp Iterative optimization method for site selection in global load balance
US8745267B2 (en) 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
KR102286388B1 (ko) 2012-09-12 2021-08-04 아이이엑스 그룹, 인크. 전송 레이턴시 평준화 장치, 방법 및 시스템
EP2932456A4 (en) 2012-12-11 2016-08-03 Aequitas Innovations Inc SYSTEM AND METHOD FOR COLLECTING MARKET DATA OF FINANCIAL INTERESTS
US9654354B2 (en) * 2012-12-13 2017-05-16 Level 3 Communications, Llc Framework supporting content delivery with delivery services network
US9128781B2 (en) * 2012-12-28 2015-09-08 Intel Corporation Processor with memory race recorder to record thread interleavings in multi-threaded software
US9679104B2 (en) 2013-01-17 2017-06-13 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US9734535B2 (en) 2013-03-15 2017-08-15 Trading Technologies International, Inc. Charting multiple markets
WO2014168936A1 (en) * 2013-04-10 2014-10-16 Ho Lap-Wah Lawrence Method and apparatus for processing composite web transactions
US9208032B1 (en) * 2013-05-15 2015-12-08 Amazon Technologies, Inc. Managing contingency capacity of pooled resources in multiple availability zones
CA3012609A1 (en) 2013-06-24 2014-12-31 Aequitas Innovations Inc. System and method for automated trading of financial interests
US20150066727A1 (en) * 2013-08-29 2015-03-05 D. E. Shaw & Co., L.P. Electronic Trading Exchange with User-Definable Order Execution Delay
US9633051B1 (en) 2013-09-20 2017-04-25 Amazon Technologies, Inc. Backup of partitioned database tables
US9552242B1 (en) * 2013-09-25 2017-01-24 Amazon Technologies, Inc. Log-structured distributed storage using a single log sequence number space
US10838926B2 (en) * 2013-10-01 2020-11-17 Sap Se Transparent access to multi-temperature data
US9691102B2 (en) * 2013-11-07 2017-06-27 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US9560312B2 (en) * 2013-12-11 2017-01-31 Cellco Partnership Time synchronization of video and data inside a mobile device
US9032373B1 (en) * 2013-12-23 2015-05-12 International Business Machines Corporation End to end testing automation and parallel test execution
US9552582B2 (en) * 2014-03-21 2017-01-24 Ca, Inc. Controlling ecommerce authentication with non-linear analytical models
JP6248747B2 (ja) * 2014-03-28 2017-12-20 富士通株式会社 情報処理装置、制御方法および制御プログラム
JP6330456B2 (ja) * 2014-04-30 2018-05-30 富士通株式会社 相関係数算出方法、相関係数算出プログラムおよび相関係数算出装置
EP3140735A1 (en) * 2014-05-08 2017-03-15 TSX Inc. System and method for running application processes
US10511694B2 (en) 2014-07-23 2019-12-17 Citrix Systems, Inc. Systems and methods for application specific load balancing
US10621666B2 (en) 2014-09-17 2020-04-14 Iex Group, Inc. System and method for facilitation cross orders
JP6378057B2 (ja) * 2014-11-13 2018-08-22 株式会社東芝 接続制御装置、接続制御方法、接続制御システムおよびコンピュータプログラム
US9813518B2 (en) 2014-11-20 2017-11-07 Trading Technologies International, Inc. Merging data downloads with real-time data feeds
US20160217526A1 (en) 2015-01-26 2016-07-28 Trading Technologies International Inc. Methods and Systems for the Calculation and Presentation of Time Series Study Information
US20160225085A1 (en) 2015-01-30 2016-08-04 Trading Technologies International, Inc. System and Method for Implementing a Dynamic Simulation System
EP3269090B1 (en) 2015-02-27 2019-10-02 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US10579748B2 (en) * 2015-03-31 2020-03-03 Ca, Inc. Capacity planning for systems with multiprocessor boards
WO2017007705A1 (en) * 2015-07-06 2017-01-12 Shape Security, Inc. Asymmetrical challenges for web security
CN117914748A (zh) * 2015-07-22 2024-04-19 动态网络服务股份有限公司 使用跟踪路由进行地理定位的方法、***和装置
US10120938B2 (en) * 2015-08-01 2018-11-06 MapScallion LLC Systems and methods for automating the transmission of partitionable search results from a search engine
US20170063927A1 (en) * 2015-08-28 2017-03-02 Microsoft Technology Licensing, Llc User-Aware Datacenter Security Policies
US10185670B2 (en) * 2015-09-15 2019-01-22 Gatekeeper Ltd. System and method for securely connecting to a peripheral device
KR20170033121A (ko) * 2015-09-16 2017-03-24 삼성전자주식회사 서비스 처리 방법 및 이를 구현하는 전자 장치
US9952932B2 (en) 2015-11-02 2018-04-24 Chicago Mercantile Exchange Inc. Clustered fault tolerance systems and methods using load-based failover
US10269075B2 (en) 2016-02-02 2019-04-23 Allstate Insurance Company Subjective route risk mapping and mitigation
CA3016073C (en) * 2016-03-18 2022-06-07 Plume Design, Inc. Cloud-based control of a wi-fi network
US10362109B2 (en) * 2016-03-30 2019-07-23 Task Performance Group, Inc. Cloud operating system and method
US10346428B2 (en) * 2016-04-08 2019-07-09 Chicago Mercantile Exchange Inc. Bilateral assertion model and ledger implementation thereof
US10437798B2 (en) 2016-07-19 2019-10-08 Sap Se Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems
US10083183B2 (en) 2016-07-19 2018-09-25 Sap Se Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems
US10943297B2 (en) * 2016-08-09 2021-03-09 Chicago Mercantile Exchange Inc. Systems and methods for coordinating processing of instructions across multiple components
KR20190052028A (ko) 2016-09-08 2019-05-15 에이아이큐 피티이. 엘티디. 시각적 검색 쿼리로부터 객체 검출
US10509601B2 (en) * 2016-12-28 2019-12-17 Amazon Technologies, Inc. Data storage system with multi-tier control plane
US10771550B2 (en) * 2016-12-28 2020-09-08 Amazon Technologies, Inc. Data storage system with redundant internal networks
US10484015B2 (en) * 2016-12-28 2019-11-19 Amazon Technologies, Inc. Data storage system with enforced fencing
US11010064B2 (en) * 2017-02-15 2021-05-18 Amazon Technologies, Inc. Data system with flush views
US11032350B2 (en) * 2017-03-15 2021-06-08 Commvault Systems, Inc. Remote commands framework to control clients
US20180337841A1 (en) * 2017-05-19 2018-11-22 Microsoft Technology Licensing, Llc Enhanced component latency tracking
US20180357661A1 (en) * 2017-06-13 2018-12-13 Facebook, Inc. Generating analytics for a content item presented to individuals by one or more content publishers based on attributes extrapolated from online system users
US10306068B1 (en) * 2017-07-06 2019-05-28 United Services Automobile Association (Usaa) Call center load balancing and routing management
US11233905B1 (en) * 2017-07-06 2022-01-25 United Services Automobile Association (Usaa) Call center load balancing and routing management
US10212043B1 (en) * 2017-07-26 2019-02-19 Citrix Systems, Inc. Proactive link load balancing to maintain quality of link
US11258682B2 (en) 2017-08-03 2022-02-22 Chicago Mercantile Exchange Inc. Compressed message tracing and parsing
US10972358B2 (en) * 2017-08-30 2021-04-06 Citrix Systems, Inc. Inferring congestion and signal quality
US10803042B2 (en) 2017-10-06 2020-10-13 Chicago Mercantile Exchange Inc. Database indexing in performance measurement systems
US10416974B2 (en) 2017-10-06 2019-09-17 Chicago Mercantile Exchange Inc. Dynamic tracer message logging based on bottleneck detection
US10740832B2 (en) * 2017-11-16 2020-08-11 Coupa Software Incorporated Computer-implemented method and systems for using transaction data to generate optimized event templates based on a requested event type
US10452436B2 (en) * 2018-01-03 2019-10-22 Cisco Technology, Inc. System and method for scheduling workload based on a credit-based mechanism
US10705849B2 (en) 2018-02-05 2020-07-07 The Regents Of The University Of Michigan Mode-selectable processor for execution of a single thread in a first mode and plural borrowed threads in a second mode
US10783060B2 (en) * 2018-05-02 2020-09-22 Servicenow, Inc. Post-upgrade debugging in a remote network management platform
US11243777B2 (en) * 2018-05-18 2022-02-08 Nuxeo Corporation Process stream replication for content management system synchronization
JP2021526791A (ja) 2018-06-04 2021-10-11 ガーダント ヘルス, インコーポレイテッド セルフリー核酸の細胞起源を決定するための方法およびシステム
US10972387B2 (en) * 2018-06-16 2021-04-06 Versa Networks, Inc. Application performance based path-selection using dynamic metrics
US10855749B2 (en) * 2018-07-03 2020-12-01 Wandisco Inc. Methods, devices and systems for a distributed coordination engine-based exchange that implements a blockchain distributed ledger
US20180345129A1 (en) * 2018-07-27 2018-12-06 Yogesh Rathod Display virtual objects within predefined geofence or receiving of unique code from closest beacon
US10673708B2 (en) * 2018-10-12 2020-06-02 International Business Machines Corporation Auto tuner for cloud micro services embeddings
US11258680B2 (en) * 2018-11-15 2022-02-22 Citrix Systems, Inc. Real-time scalable virtual session and network analytics
US11170761B2 (en) * 2018-12-04 2021-11-09 Sorenson Ip Holdings, Llc Training of speech recognition systems
US11017778B1 (en) * 2018-12-04 2021-05-25 Sorenson Ip Holdings, Llc Switching between speech recognition systems
US10846194B1 (en) 2019-05-02 2020-11-24 More Cowbell Unlimited, Inc Methods and systems for estimating process capacity
US10992585B1 (en) 2019-05-09 2021-04-27 Amazon Technologies, Inc. Unified network traffic controllers for multi-service environments
US11416362B2 (en) * 2019-05-17 2022-08-16 Citrix Systems, Inc. Dependency API controlled experiment dashboard
US20200366573A1 (en) * 2019-05-17 2020-11-19 Citrix Systems, Inc. Systems and methods for visualizing dependency experiments
US11169723B2 (en) * 2019-06-28 2021-11-09 Amazon Technologies, Inc. Data storage system with metadata check-pointing
CN114557044B (zh) * 2019-08-07 2023-11-17 Lg电子株式会社 Ims信令
US11963247B2 (en) * 2019-11-07 2024-04-16 Qualcomm Incorporated Handling slice limitations
US11983528B2 (en) * 2021-02-17 2024-05-14 Infosys Limited System and method for automated simulation of releases in agile environments
US20230123573A1 (en) * 2021-10-18 2023-04-20 Oracle International Corporation Automatic detection of seasonal pattern instances and corresponding parameters in multi-seasonal time series
US11637753B1 (en) * 2021-10-29 2023-04-25 Juniper Networks, Inc. Adaptive location-based SD-WAN policies

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544785B2 (en) * 2014-03-11 2023-01-03 Chicago Mercantile Exchange Inc. Market operation through regulation of incoming order match allocation and/or dynamic resting order match allocation priorities
US11978119B1 (en) 2014-03-11 2024-05-07 Chicago Mercantile Exchange Inc. Market operation through regulation of incoming order match allocation and/or dynamic resting order match allocation priorities

Also Published As

Publication number Publication date
US11776054B2 (en) 2023-10-03
MX337624B (es) 2016-03-11
KR20120101535A (ko) 2012-09-13
CN102859938B (zh) 2016-07-06
CA2927607C (en) 2021-04-06
JP2013513171A (ja) 2013-04-18
AU2021200879A1 (en) 2021-03-04
CA2707196A1 (en) 2011-01-11
US10650450B2 (en) 2020-05-12
AU2021200879B2 (en) 2023-02-02
AU2016200212B2 (en) 2018-03-01
EP2510451A4 (en) 2015-11-18
SG181616A1 (en) 2012-07-30
CN102859938A (zh) 2013-01-02
AU2010330629B2 (en) 2015-11-05
EP2510451B1 (en) 2019-08-28
ZA201205093B (en) 2014-02-26
US8489747B2 (en) 2013-07-16
MX2012006659A (es) 2013-01-22
US20220237697A1 (en) 2022-07-28
US20120042080A1 (en) 2012-02-16
CA2707196C (en) 2016-11-01
SG10201704581VA (en) 2017-07-28
AU2023200177A1 (en) 2023-02-16
US20130304626A1 (en) 2013-11-14
AU2018274909A1 (en) 2019-01-03
KR101667697B1 (ko) 2016-10-19
AU2016200212A1 (en) 2016-02-04
JP2015092353A (ja) 2015-05-14
US20200302536A1 (en) 2020-09-24
US20170039648A1 (en) 2017-02-09
US20160260173A1 (en) 2016-09-08
AU2016231624A1 (en) 2016-10-20
CA2927532C (en) 2016-08-09
JP5785556B2 (ja) 2015-09-30
US20100332650A1 (en) 2010-12-30
US10706469B2 (en) 2020-07-07
AU2010330629A1 (en) 2012-02-23
CA2927607A1 (en) 2011-01-11
BR112012013891B1 (pt) 2020-12-08
US20230410200A1 (en) 2023-12-21
EP2510451A1 (en) 2012-10-17
ZA201309197B (en) 2016-02-24
CA2927532A1 (en) 2011-01-11
US8984137B2 (en) 2015-03-17
AU2018274909B2 (en) 2020-11-12
US11308555B2 (en) 2022-04-19
BR112012013891A2 (pt) 2016-05-03
CN105978756B (zh) 2019-08-16
CN105978756A (zh) 2016-09-28
WO2011069234A1 (en) 2011-06-16
CA3109739A1 (en) 2011-01-11

Similar Documents

Publication Publication Date Title
ES2754099T3 (es) Tratamiento sincronizado de datos mediante recursos informáticos en red
CN107534584B (zh) 通过网络化计算资源对数据进行协调处理
US20230308522A1 (en) Optimization of encoding cycles for object recovery feed
CA2913700A1 (en) Synchronized processing of data by networked computing resources