BR112012013891B1 - Sistema para efetuar processamento sincronizado de dados através de múltiplos recursos de computação em rede, método, dispositivo e meio legível por computador - Google Patents

Sistema para efetuar processamento sincronizado de dados através de múltiplos recursos de computação em rede, método, dispositivo e meio legível por computador Download PDF

Info

Publication number
BR112012013891B1
BR112012013891B1 BR112012013891-0A BR112012013891A BR112012013891B1 BR 112012013891 B1 BR112012013891 B1 BR 112012013891B1 BR 112012013891 A BR112012013891 A BR 112012013891A BR 112012013891 B1 BR112012013891 B1 BR 112012013891B1
Authority
BR
Brazil
Prior art keywords
execution
data processing
fact
data
processor
Prior art date
Application number
BR112012013891-0A
Other languages
English (en)
Other versions
BR112012013891A2 (pt
Inventor
Daniel Aisen
Bradley Katsuyama
Robert Park
John Schwall
Richard Steiner
Allen Zhang
Thomas L. Popejoy
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
Publication of BR112012013891A2 publication Critical patent/BR112012013891A2/pt
Publication of BR112012013891B1 publication Critical patent/BR112012013891B1/pt

Links

Images

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
    • 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
    • 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
    • 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
    • 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/63Routing a service request depending on the request content or context

Abstract

PROCESSAMENTO SINCRONIZADO DE DADOS ATRAVÉS DE RECURSOS DE COMPUTAÇÃO EM REDE. A presente invenção refere-se a sistemas (100, 1000), métodos e produtos de programação, ou outros de instrução, interpretáveis por máquina para o gerenciamento de processamento de dados através de múltiplos recursos de computação em rede (106, 1106). Em particular, a descrição diz respeito à sincronização das solicitações relacionadas por processamento de dados usando recursos de rede distribuídos.

Description

CAMPO TÉCNICO
[001] A revelação presente diz respeito em geral a sistemas, mé todos, e programação interpretável por máquina ou outros produtos de instrução para o gerenciamento de processamento de dados através de múltiplos recursos de computação em rede. Em particular, a revelação diz respeito à sincronização de solicitações relacionadas para processamento de dados usando recursos de rede distribuídos.
[002] Aspectos do material revelado neste pedido de patente re ferem-se à detenção, transferência, e/ou administração de papéis negociáveis e outros juros financeiros. Os aspectos de tal detenção, transferência e/ou administração podem estar sujeitos à regulamentação por meio de agências governamentais e outras. A revelação aqui é feita somente em termos de possibilidades de lógica, programação, e de comunicação, sem levar em conta as considerações estatutárias, regulamentares ou outras legais. Nada aqui é intencionado como uma declaração ou representação que qualquer sistema, método ou processo propostos ou debatidos aqui, ou o uso dos mesmos, obedecem ou não qualquer estatuto, lei, regulamentação, ou outro requisito legal em qualquer jurisdição; nem deveria ser considerado ou interpretado dessa forma.
ANTECEDENTES
[003] Em várias formas dos sistemas de processamento de da dos em rede ou do contrário distribuído, processos complexos e/ou múltiplos relacionados são frequentemente roteados para múltiplos recursos de computação para execução. Por exemplo, em sistemas financeiros e outros comerciais, as ordens de compras, vendas, e outras transações em juros financeiros são frequentemente roteadas para múltiplos servidores do mercado ou de bolsa para atendimento. Em tais casos pode ser vantajoso para as ordens ou outras solicitações de processamento de dados roteadas para servidores múltiplos, ou outros recursos, serem executadas simultaneamente, ou o mais simultâneo possível, ou serem executadas em qualquer maneira sincronizada do contrário desejada, ou sequência de tempo.
[004] Por exemplo, observou-se que as taxas de atendimento pa ra as ordens relacionadas a juros financeiros executados nos mercados eletrônicos em rede diminuem significativamente quando tais ordens são atendidas de uma maneira não-sincronizada em mercados múltiplos. Foi ainda observado que o declínio na taxa de atendimento aumenta quando tais ordens são roteadas para um número aumentado de mercados eletrônicos. Este é pelo menos em parte devido aos atrasos na execução das porções subsequentes de tais ordens após seus primeiros componentes serem atendidos: quando uma ordem foi executada em um mercado à frente de outro, o período de tempo interveniente é às vezes usado para manipulação de preço pelas partes que tentam maximizar lucros a curto termo das ofertas: quando um primeiro segmento de uma ordem foi atendido, alterações automáticas em termos de ofertas ou propostas nos mercados paralelos podem ser implementadas, levando as posições previamente publicadas serem revocadas e o negócio subsequente ser impedido.
[005] Por exemplo, quando uma ordem grande é roteada para múltiplas bolsas (por exemplo, com base na liquidez disponível em cada mercado), as ordens tendem a chegar às bolsas mais rápidas (isto é, aquelas tendo menos latências inerentes) antes de chegarem às bolsas mais lentas (isto é, aquelas tendo mais latências inerentes), e desse modo aparecem nos livros de diferentes bolsas em tempos dife- rentes. Quando as ordens começarem a aparecer nos livros das bolsas mais rápidas, outras partes podem detectar as ordens e tentar tirar proveito da latência sobre as bolsas mais lentas cancelando, alterando, e/ou do contrário manipulando as quotas (por exemplo, propostas e ofertas) ou outros parâmetros de mercado nas bolsas mais lentas, efetivamente aumentando os custos implícitos das operações da bolsa. Como resultado, as ordens que podem ter sido do contrário executadas em qualquer bolsa simples a uma razão de atendimento alta tendem a exibir uma razão de atendimento geral mais baixa quando roteadas para bolsas múltiplas como um desdobramento do mercado financeiro.
[006] Documentos da técnica anterior, tais como o artigo de Rony Kay "Pragmatic Network Latency Engineering, Fundamental Facts and Analysis", tentaram tratar tais problemas propondo a eliminação de latências de comunicação unidirecional (isto é, "pacote"). Tais sistemas não trataram as oportunidades de arbitragem e outros problemas causados ou facilitados pelas variações no tempo requerido para múltiplos processadores executar porções individuais das solicitações de execução de múltiplos processadores (isto é, latências de execução), além (ou como parte) das latências de comunicação.
SUMÁRIO
[007] Em vários aspectos, a invenção fornece sistemas, métodos, e mecanismos de instrução executáveis por computador (por exemplo, estruturas de programação legíveis por máquina não-transientes) tais como conjuntos de instruções codificadas por software e dados, para o gerenciamento de processamento de dados através de múltiplos recursos de computação em rede. Em particular, por exemplo, a invenção fornece sistemas, métodos, e conjuntos de instruções codificadas úteis no controle da sincronização de solicitações relacionadas por processamento de dados usando recursos de rede distribuídos.
[008] Por exemplo, em um primeiro aspecto, a invenção fornece sistemas, métodos, e programação ou outras instruções interpretáveis por máquina para efetuar processamento sincronizado dos dados através de múltiplos recursos de computação em rede, tais sistemas, por exemplo, compreendendo pelo menos um processador configurado para executar instruções interpretáveis por máquina e induzir o sistema a:
[009] receber de uma ou mais fontes de dados sinais represen tando instruções para execução de pelo menos um processo de dados executável por uma pluralidade de recursos de computação em rede;
[0010] dividir o pelo menos um processo de dados em uma plurali dade de segmentos de processamento de dados, cada segmento de processamento de dados a ser roteado para um diferente de uma pluralidade de processadores de execução em rede;
[0011] com base pelo menos em parte nas latências em execução das solicitações de processamento de dados anteriores roteadas pelo sistema para cada um da pluralidade de processadores de execução em rede, determinar uma pluralidade de parâmetros de regulação de tempo, cada um da pluralidade de parâmetros de regulação de tempo para ser associado com um correspondente da pluralidade de segmentos de processamento de dados, a pluralidade de parâmetros de regulação de tempo determinados para efetuar execução sincronizada da pluralidade de segmentos de processamento de dados pela pluralidade de processadores de execução em rede; e
[0012] usar os parâmetros de regulação de tempo associados com a pluralidade de segmentos de processamento de dados, roteando a pluralidade de segmentos de processamento de dados para a pluralidade de processadores de execução em rede correspondente.
[0013] Em algumas modalidades, como será explicado aqui, os processadores de execução em rede podem, por exemplo, compreen- der servidores de bolsa, e os segmentos de processamento de dados representam solicitações para negociações em juros financeiros tais como mercadorias e/ou juros intangíveis tais como ações, obrigações, e/ou várias formas de opções.
[0014] A pluralidade de parâmetros de regulação de tempo deter minados pode ser usada na determinação e implementação das sequências de regulação de tempo para implementar execução sequencial desejada das solicitações de processamento de dados de acordo com a invenção, e podem, por exemplo, representar e/ou ser completa ou parcialmente com base nas latências em execução das solicitações de processamento de dados devido a muitos fatores. Por exemplo, tais parâmetros podem ser completa ou parcialmente com base na(s) la- tência(s) dinamicamente monitorada(s) em execução das solicitações de processamento de sinais previamente roteadas pelo sistema para pelo menos um da pluralidade de processadores de execução em rede. Tais latências podem ser causadas por muitos fatores, incluindo, por exemplo, vários tipos de atrasos de comunicação e de processamento de dados. Tais parâmetros de regulação de tempo podem ainda promover com base em estatística, por exemplo, probabilidade, os modelos de dados de latência observados, e seus padrões.
[0015] Tais sistemas, métodos, e programação ou outras instru ções interpretáveis por máquina podem ser ainda configurados de modo que induzem um sistema a:
[0016] associar-se com cada um de pelo menos um da pluralidade de dados de segmentos de processamento de dados representando pelo menos um termo de quantidade, o pelo menos um termo de quantidade representando pelo menos uma quantidade de um juro financeiro a ser negociado de acordo com uma solicitação representada por cada um do pelo menos um segmento de processamento de dados, e pelo menos um termo de preço correspondente associado com cada tal termo de quantidade, o termo de quantidade representando pelo menos um preço proposto ao qual um negociação representado por pelo menos um segmento de processamento de dados é para ser executado;
[0017] o pelo menos um termo de quantidade maior que pelo me nos uma quantidade do juro financeiro oferecido publicamente a um preço equivalente ao termo de preço associado correspondente, em um mercado associado com o(s) processador(es) de execução em rede para o(s) qual(is) o pelo menos um segmento de processamento de dados é para ser roteado.
[0018] Tais termos de quantidade podem, por exemplo, ser deter minados com base pelo menos em parte nas histórias comerciais associadas com o(s) mercado(s) associado(s) com o(s) processador(es) de execução em rede ao(s) qual(is) os segmentos de processamento de dados são para ser roteados. Eles podem ser determinados em dados relativos às ofertas ou negociações exibidas ou não exibidas, incluindo, por exemplo, quantidades excedentes ou de reserva não exibidas históricas.
[0019] Em outros aspectos, a invenção fornece sistemas, méto dos, e programação ou outras instruções interpretáveis por máquina para efetuar processamento sincronizado de dados através de múltiplos recursos de computação em rede, tais sistemas, por exemplo, compreendendo pelo menos um processador configurado para executar instruções interpretáveis por máquina e induzir o sistema a:
[0020] monitorar a execução das solicitações de execução de pro cessamento de sinais por cada um da pluralidade de recursos de computação em rede;
[0021] determinar pelo menos um parâmetro de regulação de tem po associado com uma latência na execução dos processos de sinal entre o sistema e cada um da pluralidade de recursos de computação em rede; e
[0022] armazenar o pelo menos um parâmetro de regulação de tempo em memória legível por máquina acessível por pelo menos um processador.
[0023] Monitoramento da execução das solicitações de execução de processamento de sinais de acordo com tais modalidades, e outras, da invenção pode ser implementado em bases ininterruptas, periódicas, e/ou outras adequadas ou desejáveis.
[0024] Em várias modalidades dos vários aspectos da invenção, os recursos de computação em rede podem incluir um ou mais servidores de bolsa. As fontes de dados podem incluir um ou mais sistemas ou servidores de corretores ou operadores, os processos de sinal controlados podem representar negociações em juros financeiros, e a execução das solicitações de execução de processamento de sinais representa a execução das transações em juros financeiros, incluindo, por exemplo, ações, obrigações, opções e juros de contrato, letras de câmbio e/ou outros juros intangíveis, e/ou mercadorias (commodities). Em tais modalidades, as solicitações para execução dos procedimentos de processamento de dados podem ser completa ou parcialmente com base nos parâmetros incluindo, por exemplo, qualquer uma ou mais das cotações de dados de mercado correntes, regras de rotea- mento das ordens, características das ordens, liquidez exibida de cada recurso de computação em rede, e um atraso provável, ou latência, na execução de uma quantidade de ordens em cada recurso de computação em rede.
[0025] Nos mesmos aspectos, e outros, a invenção provê sistemas para controlar ou do contrário gerenciar solicitações para processamento de dados através de recursos de computador distribuídos, tais sistemas incluindo um ou mais processadores configurados para executar instruções para induzir o sistema a:
[0026] monitorar a execução das solicitações de execução de pro cessamento de sinais por cada um da pluralidade de recursos de computação em rede;
[0027] determinar pelo menos um parâmetro de regulação de tem po de tempo associado com a latência na execução dos processos de sinal entre o sistema e cada um da pluralidade de recursos de computação em rede; e
[0028] armazenar o pelo menos um parâmetro de regulação de tempo para cada um da pluralidade de recursos de computação em rede.
[0029] Entre as muitas vantagens oferecidas pela invenção é a possibilidade de monitorar as latências e outros fatores em processamento em rede de solicitações de processamento de dados de multi- partes ou outro complexo em uma base dinâmica, ou ‘rolante’, e usando tais latências dinamicamente monitoradas e/ou outros fatores na determinação dos parâmetros de regulação de tempo a serem usados na implementação das solicitações de processamento sincronizadas, como reveladas aqui. Os parâmetros de regulação de tempo usados na implementação das solicitações de processamento sincronizadas podem ser monitorados e/ou determinados em bases contínuas, ininterruptas, periódicas, ou outras, dependendo das necessidades, objetivos, e outros fatores das aplicações em que eles são para ser aplicados.
[0030] Uma outra vantagem oferecida pela invenção é a redução ou eliminação da necessidade de consideração das latências de comunicação unidirecional, por exemplo, a necessidade de minimizar as latências nas comunicações entre os processadores de roteamento e de execução.
[0031] Como será apreciado por aqueles versados nas técnicas relevantes, uma vez eles estejam familiarizados com esta revelação, a sincronização de execução das solicitações de processamento de dados distribuídas, por exemplo, por transmissão sincronizada das solicitações para tal processamento, tem muitíssimas aplicações possíveis em um número grande de campos de processamento de dados.
BREVE DESCRIÇÃO DOS DESENHOS
[0032] Referência será agora feita aos desenhos que mostram por via das modalidades exemplares da revelação presente.
[0033] FIGS. 1A, 1B, e 3 mostram exemplos de sistemas adequa dos para efetuar processamento de dados através de múltiplos recursos de computação em rede de acordo com vários aspectos da invenção.
[0034] FIGS. 2 e 4 mostram fluxogramas que ilustram exemplos de métodos para efetuar processamento de dados através de múltiplos recursos de computação em rede de acordo com vários aspectos da invenção.
[0035] FIG. 5 mostra um histograma exemplar que pode ser usado em um método exemplar para gerenciar processamento de dados através de múltiplos recursos de computação em rede de acordo com vários aspectos da invenção.
[0036] FIGS. 6A e 6B mostram uma comparação das razões de atendimento usando um método e sistema exemplares para processamento de dados através de múltiplos recursos de computação em rede versus usando um método e sistema convencionais.
[0037] FIG. 7 ilustra o uso de um exemplo métrico para comparar um método e sistema exemplares para processamento de dados através de múltiplos recursos de computação em rede versus resultados de usar um método e sistema da técnica anterior.
[0038] Ao longo dos desenhos em anexo, características iguais são identificadas por numerais de referência iguais.
DESCRIÇÃO DAS MODALIDADES EXEMPLARES
[0039] Nesta revelação, como será entendido por aqueles versa dos nas técnicas relevantes, ‘sincronizado’ significa de acordo com qualquer sequência de regulação de tempo desejada, quer regular, irregular, e/ou completa ou parcialmente simultânea.
[0040] Figura 1 mostra um exemplo de um sistema 100 adequado para efetuar processamento de dados através de múltiplos recursos de computação em rede de acordo com a invenção.
[0041] No exemplo mostrado, o sistema 100 inclui uma ou mais fontes de sinais ou de dados 102 (compreendendo um ou mais de cada uma das fontes 102a, 102b), processador(es) de roteador de execução 104, e um ou mais recursos de computação em rede, ou processadores de execução, 106. Em algumas modalidades, fontes de dados 102 podem incluir uma ou mais fontes de dados internas 102a que podem se comunicar diretamente com o roteador 104 (por exemplo, através de rede(s) local(is) ou de longa distância privada(s)) ou outra comunicação segura com ou sem fios, através de canal(is) de comunicação direto(s) ou através de comunicação(ões) dentro de um único servidor). Nas mesmas modalidades e/ou outras, a(s) fonte(s) de dados 102 pode(m) também incluir uma ou mais fontes de dados externas 102b que podem, por exemplo, se comunicar com o(s) proces- sador(es) de roteador 104 por meio de uma ou mais redes públicas 108 (por exemplo, uma rede de telecomunicações pública ou privada tal como a internet), usando dispositivos de segurança de rede adequados ou do contrário desejados podem incluir, por exemplo, criptografia de dados, etc. No exemplo mostrado, o(s) processador(es) de roteador 104 se comunica(m) com cada um do um ou mais recursos de execução, ou computação, em rede 106 por meio de uma rede 110, que pode ser a mesma ou diferente que a(s) rede(s) 108.
[0042] Em várias modalidades, a(s) fonte(s) 102 pode(m) incluir dispositivos que fornecem, em nome de uma ou mais entidades que geram solicitações de negociação e/ou de outro processamento de dados, sinais que comunicam os dados e/ou as instruções relacionadas à execução dos processos de processamento de dados para o(s) processador(es) de roteador 104, cujos dados e/ou instruções o(s) processador(es) de roteador 104 podem processar (por exemplo, agregar somando, ponderando, etc.; e/ou dividir em segmentos, etc.) e usa(m) como bases para solicitações para processamento de dados pelos recursos de computação em rede 106. As fontes de dados 102a, 102b podem incluir, por exemplo, sistemas, servidores, processadores e/ou qualquer/quaisquer outra(s) fonte(s) adequada(s) de solicitações para execução de tarefas de processamento de dados tais como ofertas e/ou propostas para compra de mercadorias, juros financeiros intangíveis, etc., e/ou outras tarefas de processamento de dados, tais como comunicações de palavras, imagens, e/ou outras tarefas de processamento de documentos. Cada ou qualquer uma da(s) fonte(s) 102, do(s) processador(es) 104, e recursos 106 podem incluir vários de tais sistemas, servidores ou processadores.
[0043] Em várias modalidades, alguns ou todos dentre a(s) fon- te(s) 102 e o(s) processador(es) de roteador 104 podem ser combinados, e/ou do contrário configurados para implementar programação múltipla ou outras aplicações de instrução de máquina operando em máquinas isoladas.
[0044] Recursos de computação em rede 106 podem incluir quais quer dispositivos ou outros recursos que se comunicam com o(s) pro- cessador(es) de roteador 104 para receber e realizar qualquer de uma variedade muito ampla de solicitações de processamento de dados. Tais recursos de computação em rede 106 podem incluir sistemas, servidores, processadores ou qualquer outro dispositivo adequado adaptado para a execução de qualquer processo adequado para o uso em implementar a invenção, incluindo, por exemplo, processamento de ofertas ou propostas para compra de mercadorias, juros financeiros, etc., e/ou outras tarefas de processamento de dados, tais como processamento de palavras ou de documentos, imagens, e/ou outras tarefas de comunicação ou de documentação.
[0045] Em várias modalidades, a uma ou mais fontes de dados 102 transmitem ou do contrário fornecem ao(s) processador(es) de roteador 104 sinais representando instruções, ou solicitações, para executar funções de processamento de dados. Instruções de qual- quer/quaisquer fonte(s) de dados dada(s) 102 podem incluir instruções para processos de sinal a serem executados por qualquer um ou mais recursos de computação em rede 106. Processos de sinal requeridos podem incluir, por exemplo, operações de computação, manipulações de dados, e/ou processos de comunicações ou outras trocas de sinais, entre outros. Em alguns exemplos, mas não necessariamente todos, tais instruções podem especificamente identificar recurso(s) de computação em rede 106 particularmente visado(s) para execução de tais processos.
[0046] Processador(es) de roteador 104 pode(m) analisar os sinais de instrução recebidos de uma ou mais fonte(s) 102 e usar tais sinais para preparar as instruções, ou solicitações, a serem mandadas para as pluralidades de processadores de execução 106, para execução de processamento de dados e/ou outros processos de sinais de acordo com as instruções recebidas. Análise de tais instruções pode incluir, por exemplo, identificar o tipo de processo(s) a ser(em) requerido(s), incluindo, por exemplo, o volume ou a quantidade de uma ordem ou proposta para uma negociação ou uma quantidade de processamento de documentos a ser feito, e o tipo, a natureza, e/ou identidade(es) do(s) recurso(s) de computação em rede 106 a serem requeridos para executar, e assim associado, um certo processamento de dados e/ou outra solicitação de processamento de sinal.
[0047] Por exemplo, para aumentar a eficiência do sinal e/ou ou tras funções de processamento de dados, o(s) processador(es) de roteador 104 pode(m) analisar, classificar, e agregar as instruções ou solicitações recebidas de múltiplas fontes 102 para solicitações de execução relativamente menores em uma ou mais solicitações maiores para processamento, e ainda dividir tal(is) solicitação(ões) agrega- da(s) em pluralidades de solicitações menores a serem distribuídas para a pluralidade de processadores de execução 106, dependendo, por exemplo, da habilidade real dos processadores de execução 106 para satisfazer ou completar tais solicitações processadas.
[0048] Por exemplo, os múltiplos conjuntos de sinais de instrução recebidos de fontes de dados 102a, 102b diferentes podem ser associados com (por exemplo, se dirigido para liberação e execução) re- curso(s) de computação em rede individual 106, e tais instruções podem ser agregadas nas solicitações de execução de processo de sinal simples para tal(is) recurso(s) de computação em rede 106. Em alguns exemplos, a identificação do(s) recurso(s) de computação em rede 106 a ser(em) submetido(s) à tarefa com uma solicitação dada de processamento de sinal pode ser executada após agregação. Por exemplo, instruções múltiplas de fontes de dados diferentes 102a, 102b podem ser classificadas ou do contrário associadas com um processo simples de sinal ou de dados, e tais instruções podem ser agregadas, e as instruções agregadas podem ser associadas com um ou mais recurso(s) de computação em rede identificado(s) 106, de modo que uma ou mais solicitações de processo de sinal podem ser consequentemente preparadas para o(s) recurso(s) de computação em rede identifica- do(s) 106. Tal análise, classificação, e/ou identificação podem ser executadas de acordo com regras predeterminadas ou algoritmos (por exemplo, com base em capacidades de processamento contínuo ou corrente de um ou mais recurso(s) de computação em rede específi- co(s) 106), e de acordo com os requerimentos codificados nas instruções ou do contrário fornecidos pela(s) fonte(s) de origem 102, onde relevante.
[0049] Como um outro exemplo, conjuntos de instruções simples para processamento de dados podem ser divididos através do(s) pro- cessador(es) 104 e distribuídos para uma pluralidade de recursos 106 para execução distribuída. Por exemplo, uma ordem relativamente grande para negociar em um ou mais juros financeiros que originam de uma fonte simples 102a, 102b, poderia necessitar ser distribuída para múltiplos servidores de bolsa 106 para ser atendida completamente; em tais casos a(s) solicitação(ões) de uma ou mais fonte(s) 102 podem ser divididas através do(s) processador(es) 104 em ordens adequadas para execução por uma pluralidade de tais recursos 106.
[0050] Recursos de computação em rede / processadores de exe cução 106 visados, ou especificamente identificados, comunicam-se com o(s) processador(es) de roteador 104 para receber as solicitações segmentadas de execução de processo de sinal e podem executá-las depois disso consequentemente. Execução de tais processos de sinal pode incluir, por exemplo, realizar uma operação de processamento de texto ou imagem, uma computação matemática, ou uma bolsa de sinal de comunicação, entre outros.
[0051] Como será facilmente entendido por aqueles versados nas técnicas relevantes, vários componentes do sistema 100 podem ser combinados, ou implementados na forma de sistemas ou dispositivos separados. Em uma ampla variedade de configurações, tal(is) subsis- tema(s) combinado(s) ou separado(s) pode(m) ser operado(s) pelas mesmas entidades ou distintas. Como um exemplo particular, uma ou mais fontes de solicitação 102 podem ser integradas, ou do contrário associadas, com roteador(es) individual(is) 104.
[0052] Um exemplo de uma aplicação de um sistema 100 para execução distribuída de solicitações de processamento segmentadas de acordo com a invenção é fornecido por um sistema financeiro 1000 adaptado para processamento de solicitações para processamento de dados representando negociações e/ou ofertas para negociações, ou outras transações, em juros financeiros tangíveis e/ou intangíveis tais como ações, obrigações, letras de câmbio (por exemplo, câmbio exterior), várias formas de recursos naturais ou mercadorias, opções, empréstimos, etc. Como mostrado nas Figuras 1A e 1B, por exemplo, em um sistema de processamento de dados de transação financeira 1000 de acordo com a invenção, o sinal ou a(s) fonte(s) 102 podem incluir sistema(s) mercantil(is) 1102 que pode(m) incluir, por exemplo, sistemas ou servidores de negociante/corretor como também qualquer outra fonte de ofertas, propostas, ou outras transações em juros financei-ros tais como correntemente fornecidas pelas plataformas de negociação financeira conhecidas. Em várias modalidades, tais sistemas mercantis 1102 podem ser referidos como sistemas de origem de ordem.
[0053] Sistemas de origem de ordem 1102, 102a podem incluir sistemas operados por ou em nome de, por exemplo, entidades pertencentes ou do contrário controladas por organizações de controle pai ou outras tais como bancos ou corretoras. Sistemas de origem de ordem 1102, 102b podem, por exemplo, incluir sistemas operados por ou em nome de corretores ou outras entidades de negociação que atuam, por exemplo, em nome dos investidores individuais, negociando por intermédio ou com a ajuda de bancos independentemente controlados, investidores institucionais, e/ou outras corretoras.
[0054] Processador(es) de roteador 104 em tais modalidades po- de(m) incluir, por exemplo, servidor(es) ou outro(s) sistema(s) 1104 que comunicam(m) com os sistemas mercantis 1102, 102, por exemplo, através do recebimento e transmissão dos sinais eletrônicos codificados representando as solicitações para processamento de dados representando a execução e/ou reconhecimento das transações em juros financeiros; e que comunica(m) com o corretor, Bolsa, ou outros sistemas de mercado ou processador(es) de execução 1106 para execução de tais transações. Em tais modalidades, um processador 104 pode ser referido como um Roteador de Ordem Inteligente ou Roteador de Ordem Híbrido Tático (em ambos os casos, "SOR") 1104, 104. Um SOR 1104 pode, por exemplo, incluir uma ou mais porta(s) 1122 e/ou roteador(es) 1124 para facilitar as comunicações através dos ro- teador(es) 1104 com um ou mais sistemas mercantis 1102, 102 dire-tamente (por exemplo, através de comunicação com fios, usando um ou mais canal(is) de comunicação dedicado(s)), ou através de comunicação dentro de um servidor simples) e/ou indiretamente (por exemplo, através de comunicação sem fios, através de uma rede 108, 1108 ou através de um servidor intermediário). Bolsa ou sistemas de mercado 1106, ou outro(s) processador(es) de execução 106 podem estar em comunicação com o(s) SOR(s) 1104 através de, por exemplo, uma rede 110, 1110, tal como a internet ou outra rede pública que possa ser igual à rede 1108.
[0055] Para uma modalidade de um sistema 100 configurado co mo um sistema de negociação financeira ou de execução de ordem 1000, os processos de sinal requeridos e executados fornecidos pe- la(s) fonte(s) 102 podem representar negociações ou outras transações em juros financeiros. Tais transações podem incluir, por exemplo, negociações e/ou ofertas para negociações, ou outras transações, em juros financeiros tais como ações, obrigações, letras de câmbio (por exemplo, câmbio exterior), várias formas de recursos naturais ou mercadorias, opções, empréstimos, etc.; e os recursos de computação em rede 106 podem ser, por exemplo, servidores de bolsa 1106, exemplos destes podem incluir sistemas de mercado automáticos ou eletrônicos.
[0056] Como será bem entendido por aqueles versados nas técni- cas relevantes, um (sub)sistema de SOR, ou processador, 1104 rece-bendo tais conjuntos de sinais de solicitação de transação pode aplicar uma ampla variedade de processos à(s) solicitação(ões). Por exemplo, onde os conjuntos de sinais representarem solicitações para transações em juros financeiros, as transações requeridas podem ser agregadas, ou com o passar do tempo e/ou ao longo de múltiplas fontes de solicitação de transação 1102; e/ou as solicitações de processamento por transações em um ou mais juros podem ser divididas para rotear para manipuladores ou processadores de execução múltiplos 1106, individualmente ou em lotes.
[0057] Em várias modalidades, como descritas aqui, a(s) fonte(s) de ordem 102, 1102 pode(m) ser implementada(s) juntamente, ou como parte do(s) roteador(es) de ordem 104, 1104. Será entendido facilmente por aqueles versados nas técnicas relevantes que qualquer um ou todos os vários componentes do sistema(s) 100, 1000, incluindo, por exemplo, qualquer um ou todos os processadores 102, 104, 106, e métodos de operá-los de acordo com a revelação aqui, podem ser implementados usando qualquer dispositivo, software, e/ou firmware configurado para os propósitos revelados aqui. Uma ampla variedade de componentes, hardware e software, como também firmware, é agora conhecida que são adequados, quando usados isoladamente e/ou em várias combinações, para implementar tais sistemas, dispositivos, e métodos; indubitavelmente outros serão desenvolvidos daqui por diante.
[0058] Exemplos de componentes adequados para o uso na im plementação dos exemplos de sistemas 100, 1000, e os vários processos revelados aqui, incluindo, por exemplo, os processos 200 da Figura 2 e 300 da Figura 4, incluem, por exemplo, sistemas de classe de servidores tais como o IBM x3850 M2™, o HP ProLiant DL380 G5™ HP ProLiant DL585™, e HP ProLiant DL585 Gl™. Uma ampla variedade de outros processadores, incluindo em algumas modalidades sistemas de modelo de computador de mesa, laptop, ou palm servirão.
[0059] Um exemplo de um método 200 para processamento de um conjunto de sinal de solicitação de transação gerado por uma fonte de sinal de solicitação de transação 102, 1102 adequado para implementação pelo(s) processador(es) de roteador 104 tal(is) como, por exemplo, um SOR 1104 de um sistema 1000, é mostrado na Figura 2.
[0060] Processo 200 da Figura 2 pode ser considerado iniciar em 202, com recebimento através do(s) processador(es) 104, 1104 de sinais representando uma solicitação por processamento de dados tais como, por exemplo, uma transação em um ou mais juros financeiros. Em modalidades dos sistemas 100, 1000 compreendendo processa- dor(es) de roteamento de SOR 1104 adaptado(s) para processar sinais representando solicitações para execução de negociações e/ou outras transações em juros financeiros recebidos de fonte(s) de sinal de transação 1102, os conjunto de sinal representando as solicitações para execução de transações em um ou mais juros financeiros podem incluir sinais ou conjunto de sinal representando, por exemplo, um ou mais identificadores representando: ■ a(s) fonte(s) da solicitação, tais como um URL ou outro endereço de rede ou identificador usado ou do contrário associado com um sistema de negociação 102, 1102; ■ o(s) juro(s) a ser(em) comerciado(s) ou do contrário ne- gociado(s), tal(is) como um identificador usado por uma ou mais bolsas para identificar uma ação, um número de CUSIP para uma promissória, um conjunto de letras de câmbio a serem trocadas, etc.; ■ um tipo de transação (por exemplo, compra, venda, proposta, oferta, etc.) a ser executada ou requerida; ■ uma ou mais quantidades (isto é, quantidades ou volu- mes) do(s) juro(s) a ser(em) negociado(s) (incluindo, por exemplo, quaisquer quantidades totais e/ou reservadas); e ■ termos de preço correspondentes.
[0061] Outros parâmetros podem incluir, por exemplo, atuais e/ou históricos: ■ atender a probabilidade para solicitações de transação de multipartes ou segmentadas (isto é, a proporção histórica das ordens de multipartes que resultam em transações concluídas); ■ quantidades de diferença (spread) entre, por exemplo, os preços de compra e venda, por exemplo, correntes e/ou com relação às tendências históricas no spread; ■ volatilidade do mercado em juros específicos a serem comerciados, ou juro(s) relacionado(s) ou correspondente(s), ou pontos de referência ou índices relacionados; ■ profundidade do(s) livro(s) de mercado, por exemplo profundidade atual com relação às tendências históricas em profundidade; ■ quantidades de reserva; ■ exibir quantidades; e ■ exibir tamanho e lastro, por exemplo, nos lados da compra e/ou venda.
[0062] Em outras modalidades, tais conjuntos de sinais podem compreender conteúdo e/ou identificadores representando imagens, texto, ou outro conteúdo ou serem processados por um ou mais processadores de execução 104, 1104, e solicitações de execução específicas.
[0063] Entre os muitos tipos de sistemas de mercado 1106 ade quados com várias modalidades da invenção estão os sistemas de negociação alternativos (ATSs) do tipo conhecido como ‘dark exchanges’ ou ‘dark pools’. Tipicamente, tais bolsas não exibem as ofertas do mercado abertamente a membros da negociação pública. O uso de quantidades de reservas conhecidas ou preditivas pode ser especialmente útil em tais modalidades.
[0064] Desse modo um exemplo de um registro de dados a ser fornecido por uma fonte 102, 1102 para requerer uma transação em um juro dado, sob termos declarados, pode incluir:
[0065] <fonte (102, 1102) da solicitação><tipo de transa- ção><identificador de juro> <quantidade(s)><termo(s) de preço>
[0066] Conjuntos de sinais recebidos pelos processadores 104, 1104 em 202 podem ser armazenados em qualquer/quaisquer memó- ria(s) volátil(eis) e/ou persistente(s), conforme apropriado, para arquivo e/ou outros propósitos de processamento.
[0067] Em 204, a transação ou outras solicitações de execução de processamento de dados recebidas em 202 podem ser analisadas através do(s) processador(es) de roteador 104, 1104 para colocá-las em qualquer forma adequada ou desejada para o uso na preparação de um ou mais conjuntos de sinais de instrução a serem fornecidos ao(s) processador(es) de execução 106, 1106. Análise dos sinais de instrução pode incluir, por exemplo, identificar o tipo de transação(ões) ou processo(s) a ser(em) requerido(s), incluindo, por exemplo, volumes e/ou quantidades de ordens ou ofertas para negociações em ju- ro(s) especificado(s), e se tais volumes são para ser comprados ou vendidos, ou oferecidos à venda ou à compra; quantidades e/ou tipos de processamento de documentos a ser feito; e o tipo e a natureza do(s) recurso(s) de computação em rede ou do(s) processador(es) de execução 106 a ser(em) requerido(s) para executar e assim estar(em) associado(s) com tal execução ou instruções de processamento. Em várias modalidades, os conjuntos de instruções analisadas podem ser armazenados em memória(s) temporária(s) ou volátil(éis) 118, 1018 acessível(eis) pelo(s) processador(es) correspondente(s) 104, 1104 para agregação com outras solicitações de processamento, divisão para rotear para múltiplos processadores de execução/recursos 106, 1106, e/ou preparação e encaminhamento da lote ou outras solicitações de execução atrasada.
[0068] As instruções recebidas em 202 podem ser acumuladas durante intervalos de tempo definidos, regulares ou irregulares, tais como a duração de um dia útil ou qualquer segmento do mesmo, ou qualquer/quaisquer outro(s) período(s) de tempo desejado(s), que po- de(m) ser prefixado(s) e/ou dinamicamente determinado(s) através do(s) processador(es) 104, 1104. as instruções podem ser também ser processadas individualmente, quando recebidas. Se mais instruções forem para ser recebidas antes de processar, ou puderem ser recebidas potencialmente, o processo 200 pode voltar para 202.
[0069] Solicitações/instruções de transação podem ser acumula das durante intervalos de tempo definidos, tais como a duração de um dia útil ou qualquer segmento do mesmo, ou um período de tempo desejado, que pode ser prefixado e/ou dinamicamente determinado pe- los(s) processador(es) 104, 1104. Se mais instruções forem recebidas, ou puderem ser recebidas potencialmente, o processo 200 pode voltar para 202.
[0070] Em modalidades da invenção que empregam técnicas de classificação/agregação na análise ou do contrário outra ordem de preparação ou outras solicitações de processamento, em 206 o(s) pro- cessador(es) 104, 1104 pode(m) repetir o processo 202 - 204 até que todos os conjuntos de sinais de solicitação de processamento relacionados ou agregáveis, necessários ou desejados tenham sido recebidos da(s) fonte(s) 102, 1102. Por exemplo, como descrito acima, números arbitrários de registros de dados representando as ordens ou solicitações para compra de obrigações identificáveis por números de CUSIP (Committee on Uniform Security Identification Procedures) po- dem ser recebidos da(s) fonte(s) 102, 1102, e armazenados na memória 118, 1018 associada com o(s) processador(es) 104, 1104, para processamento em lote, desse modo:
Figure img0001
[0071] Sob recebimento individual, ou em uma taxa periódica da- da, um tempo dado, quando um numero dado de ordens foi recebido, quando todas as ordens desejadas foram recebidas, ou quando qualquer outro critério desejado for satisfeito, o(s) processador(es) 104, 1104 pode(m), como uma parte das instruções de análise ou do contrário processamento em 204, classificar e/ou agrupar os registros armazenados de acordo com qualquer um ou mais critérios desejados, por exemplo, por tipo de solicitação de transação e identificador de juro, desse modo:
Figure img0002
Figure img0003
[0072] Como mostrado, vários campos de dados nos registros de solicitação de transação podem ser reordenados ou do contrário re-formatados quando necessário ou desejado, para adequar-se às ne-cessidades de processamento do(s) processador(es) de roteamento 104, 1104. Por exemplo, como mostrado, a associação de um item de dados da "fonte" associado ou do contrário acordado com uma prioridade diferente, para facilitar a ordenação eficiente ao mesmo tempo permitindo o(s) processador(es) 104, 1104 relatar o atendimento de transações / solicitações sob conclusão do processamento das ordens.
[0073] Processo 204 podem ainda incluir agregação pelo(s) pro- cessador(es) 104, 1104 das solicitações de transação recebidas e classificadas, em ordem(ns) colhida(s) ou consolidada(s) para tipos específicos de transações em juro(s) específico(s), por exemplo, so-mando as quantidades totais ou subtotais associadas com as solicita-ções de transação correspondentes, desse modo:
Figure img0004
[0074] Quando todos os conjuntos de sinais desejados foram re cebidos em 202, e opcionalmente classificados, acumulados, e/ou do contrário processados em 204, em 208 o(s) processador(es) 104, 1104, usando os conjuntos de instruções processados em 204, po- de(m) preparar os conjuntos de sinais de solicitação de execução para transmissão para processadores de recursos/de execução 106, 1106. Tais conjuntos de sinais de solicitação de execução podem compreender quaisquer sinais necessários ou desejáveis para efetuar o proces-samento requerido, incluindo conteúdo ou sinais de dados e comando. Por exemplo, nas modalidades da invenção adaptadas para proces-samento das solicitações para transações em juros financeiros, as so-licitações podem ser classificadas e/ou agregadas em base de juro(s) a ser(em) negociados, as quantidades de juro(s) a ser(em) comercia- do(s), preço, etc., e associadas com sinais de comando de execução adequados. A forma de quaisquer sinais de comando de execução as-sociados com uma solicitação dada pode depender, como aqueles versados nas técnicas relevantes reconhecerão, da natureza e tipo de solicitações a serem executadas e dos processadores 106, 1106 através dos quais eles são para ser executados, como também quaisquer redes 110, 1110 através das quais os sinais trocados entre o(s) pro- cessador(es) 104, 1104 e 106, 1106 são para ser enviados, incluindo protocolos aplicáveis e requerimentos de formatação de instrução. Logo, os dados que pertencem a qualquer um ou todos sistemas 106, 1106, 104, 1104, e 110, 1110, protocolos usados por esses, e/ou informação relacionada aos juros negociados, oferecidos, ou descritos podem ser acessados e usados pelo(s) processador(es) 104, 1104 mediante análise e preparação das instruções para execução do processamento por quaisquer dos processadores ou recursos 106, 1106. Fontes 1126 de tais dados podem incluir, por exemplo, sistema de dados de mercado de bolsa 1126v (Figura 1b) que, por exemplo, em modalidades da invenção adaptadas para processamento de transações financeiras, pode incluir informação recebida de vários sistemas da bolsa 1106, fontes de informação de notícias tais como Bloomberg ou Reuters, e/ou outras fontes.
[0075] É às vezes necessário ou desejável, na montagem das so licitações para processamento de dados usando recursos de proces-samento em rede, incluindo muitos recursos configurados para o uso na execução das transações financeiras, quebrar as solicitações de execução e/ou outras de processamento em partes múltiplas. Tais par-tes, ou segmentos, podem, por exemplo, corresponder às porções de ordens maiores ou outras solicitações de processamento de dados, a serem executadas por uma pluralidade de recursos em rede 106 tais como servidores de bolsa ou outro processador de execução ou mani-puladores 1106. Por exemplo, se uma pluralidade de servidores de bolsa ou outros mercados estiverem disponíveis para execução de uma solicitação de transação representando uma ordem de compra para uma quantidade significativa de um juro financeiro tal como uma ação ou promissória, pode ser necessário ou desejável dividir a ordem em partes múltiplas, para execução em mercados múltiplos e/ou através de múltiplos servidores de bolsa 1106. Por exemplo, quantidades suficientes de juros específicos podem não estar disponíveis, nada ou em preços desejáveis, em uma bolsa simples: para satisfazer uma ordem completamente, pode ser necessário ou desejável quebrar uma ordem isolada em segmentos menores e rotear a mesma para bolsas múltiplas.
[0076] Desse modo, por exemplo, em várias modalidades da in venção direcionadas para o processamento de solicitações para tran-sações em instrumentos financeiros, quando um roteador 104,1104 for requerido por uma ou mais fontes 106, 1106 para completar uma tran-sação em um ou mais juros financeiros, o roteador 104, 1104 pode, na preparação do(s) conjunto(s) de sinais representando as solicitações para as transações, acessar a informação disponível das fontes tais como fonte(s) de dados de mercado 1126, como também qualquer um ou mais processador(es) de execução 106, 1106, para determinar as quantidades de tais juros disponíveis pelos respectivos processadores 106, 1106 e os termos sob os quais tais quantidades estão disponíveis, e pode construir um conjunto de sinais de solicitação de execução configurado para rotear cada um dos respectivos processadores 1106, 1106 desejados, com base no número de quantidades disponíveis nos termos mais favoráveis.
[0077] Por exemplo, continuando o exemplo acima, pode ser ne cessário ou desejável dividir uma ou mais solicitações de processamento de entrada em partes menores, direcionadas para uma pluralidade de bolsas para obter atendimento da(s) ordem(ns) completa(s). Isto pode ser realizado, por exemplo, acessando os dados representando os livros de ordens atuais fornecidos por um ou mais de servidores de bolsa 1106 e dividindo a(s) ordem(ns) correspondentemente, usando as técnicas de processamento de dados conhecidas. Desse modo, por exemplo, a ordem agregada ‘venda No. CUSIP AA’ acima pode ser dividida em porções ou segmentos e associando com os dados representando tais URLs dos segmentos ou outros identificadores de endereços de recurso de rede adequados para o uso em rotear os vários segmentos para uma pluralidade de servidores de bolsa A1 - C3, como desejado, desse modo:
Figure img0005
[0078] Como será apreciado por aqueles versados nas técnicas relevantes, a execução de porções individuais de uma transação dis-tribuída ou outra solicitação de processamento de dados de multipar- tes tal como uma transação em juros financeiros colocados em múltiplas bolsas por uma pluralidade de recursos de rede, tais como servidores de mercado ou de bolsa 1106 ou outros processadores de execução 106, tipicamente requer quantidades diferentes de tempo. Isto é, se partes múltiplas de uma solicitação de execução de transação desejada for enviada simultaneamente a uma pluralidade de processadores de execução de bolsa 106, 1106, cada parte ou segmento da solicitação de transação pode ser esperada executar em tempo a um ponto diferente. Isto é porque a quantidade de tempo, ou ‘latência’, requerido para transmissão dos sinais de solicitação de execução do(s) ro- teador(es) de ordem 104, 1104 para os vários processadores de recursos ou de execução diferentes 106, 1106 ao longo de uma rede 110, 1110 ou outra trajetória de comunicações; para processamento atual das porções correspondentes da solicitação de execução pelos processadores 106, 1106 correspondentes; e/ou para retorno confir- matório ou outros dados para o(s) roteador(es) de ordem 104, 1104 tipicamente varia, dependendo de vários fatores, incluindo, por exemplo, as trajetórias de rede entre o(s) roteador(es) 104, 1104 e processadores de execução 106, 1106; a quantidade de tráfego de rede que é processado pela(s) rede(s) 110, 1110; o número de solicitações que são manipuladas pelos processadores de execução individuais 106, 1106, etc.
[0079] Por várias razões pode ser importante, em tais casos, sin cronizar a execução de duas ou mais porções de uma solicitação de execução de multipartes. Como um exemplo, quando uma solicitação de execução representar uma solicitação para execução de partes múltiplas de uma transação financeira em mercados múltiplos ou em bolsas múltiplas, a execução não-sincronizada, escalonada de porções individuais da transação através de múltiplos servidores correspondentes pode afetar tanto a possibilidade de completar as últimas porções da transação e/ou os termos sob os quais tais últimas porções podem ser completadas.
[0080] Um exemplo particular do desejo de sincronizar as solicita ções de execução pode ser ilustrado através da referência à Figura 3. No exemplo mostrado na Figura 3, o sistema 100, 1000 compreende roteador de ordem 104, 1104 e uma pluralidade de recursos de execução em rede 106, servidores de bolsa ou processadores de execução 1106 "Bolsa 1", "Bolsa 2", "Bolsa 3". Além disso, o sistema 100, 1000 da Figura 3 ainda compreende um servidor de negociação colocaliza- do 304 configurado para executar negociações ou outras transações no recurso de execução 1106 "Bolsa 1". Como observado na Figura, o servidor de negociação colocalizado 304, que emprega um algoritmo de negociação relativamente de baixa latência, é associado com a Bolsa 1 de tal maneira que pode executar as transações com a Bolsa 1 em um período de tempo relativamente curto comparado à quantidade de tempo requerido para os outros processadores, tais como rotea- dor(es) 104, 1104, para completar transações similares com a Bolsa 1. Por exemplo, o servidor 304 colocalizado pode estar comunicativamente ligado com a Bolsa 1 por conexão direta com fios, ou outro sistema de processamento rápido. Além disso, Bolsa 1 é capaz de completar uma solicitação de execução com processador(es) não colocali- zado(s) 104, 1104 em um período relativamente mais curto de tempo (isto é, com uma "latência mais baixa"), isto é, a Bolsa 2 ou a Bolsa 3. Em outras palavras, como mostrado na Figura 3, Tempo de latência X < Tempo Y e Tempo X <Tempo Z, enquanto um tempo de execução para uma transação entre o servidor colocalizado 304 e a Bolsa 1 é menos que qualquer de Tempo X, Tempo Y, e Tempo Z.
[0081] Se, por exemplo, os sinais representando uma solicitação para negociar em um ou mais juros financeiros forem recebidos por um processador de roteador 104, 1104 de uma ou mais fontes de solicitação 102, 1102, e a solicitação for de tal quantidade ou magnitude que uma ordem que reflete a solicitação será muito grande para ser atendida completamente por qualquer uma das Bolsas 1, 2, ou 3, o roteador de ordem 104, 1104 pode tentar inspecionar as disponibilidades nos vários processadores disponíveis 106, 1106 e dividir a ordem consequentemente, para rotear uma porção desta em cada uma da Bolsa 1, Bolsa 2, e Bolsa 3. Se o roteador 104, 1104 da Figura 3 simul-taneamente transmitir para cada uma dos processadores de execução 106, 1106 Bolsa 1, Bolsa 2, e Bolsa 3 uma porção dividida ou segmento da solicitação para execução da transação solicitada, é possível que o servidor de negociação 304 (que é capaz de, por exemplo, ser operado por uma entidade de negociação de alta frequência, ou outro investidor especulativo) seja capaz de atender uma porção daquela transação na Bolsa 1, por exemplo, agindo como uma contraparte à transação proposta vendendo ou comprando toda ou uma porção da solicitação de transação mandada para aquela bolsa pelo roteador de ordem 104, nos termos declarados na solicitação para a transação, e tenha tempo para alterar ou do contrário prorrogar os termos para atender as porções restantes da ordem na Bolsa 2 e/ou Bolsa 3, em termos mais favoráveis à terceira parte que a(s) transação(ões) dispo- nível(is) (por exemplo, a parte operando ou agindo através do servidor 304) que aquelas oferecendo tais transações (por exemplo, aquelas atrás das ordens fornecidas pelo(s) processador(es) de solicitação) 104, 1104) poderiam do contrário ter buscado. Em outras palavras, por exemplo, o servidor de negociação colocalizado 304 pode, devido à diferença nas latências de execução associadas com as negociações com a Bolsa 1, Bolsa 2, e Bolsa 3, ser capaz de atender uma porção da transação solicitada na Bolsa 1 e mover para melhorar seus termos, por exemplo, elevando ou diminuindo seu preço propos- to/ofertado, para atender as porções restantes da transação na Bolsa 2 ou Bolsa 3 antes de tais porções restantes pudessem executar os preços previamente declarados, para aumentar os próprios lucros dos operadores ou beneficiário(s), ou os lucros de outros negociantes oferecendo juros similares naquelas Bolsas.
[0082] Como pode ser visto na Figura 3, tais possibilidades (que podem ser referidas como oportunidades de ‘arbitragem de latência') pode existir quando: tempo X + Tempo A < Tempo Y e/ou Tempo X + Tempo B < Tempo Z
[0083] Será apreciado por aqueles versados nas técnicas relevan tes que, até mesmo onde a transação ou outros sinais de solicitação de processamento forem enviados simultaneamente a cada umas das Bolsas 1, 2, 3 do(s) roteador(es) 104, 1104, o tempo requerido para cada porção dividida da solicitação a ser recebida, reconhecida, e/ou processada pelos respectivos recursos 106, 1106 (por exemplo, Tempos X, Y, Z) pode em geral ser diferente, por exemplo devido às diferenças nas trajetórias de comunicação de rede e velocidades de processamento em qualquer um ou todos o(s) processador(es) 104, 1104 e/ou 106, 1106. Similarmente, o tempo requerido para servidor de negociação 304 alterar os termos das ofertas de transação em cada umas das Bolsas 2 e 3 pode em geral diferir.
[0084] Entre as desvantagens que podem surgir em tais casos é que os negociantes representados pela(s) fonte(s) de solicitação 102, 1102 podem pagar preços mais altos na execução de suas negociações que eles do contrário teriam, na ausência de tais oportunidades de arbitragem; ou, se os preços nas bolsas subsequentes forem alterados suficientemente para pô-los fora dos termos declarados em suas solicitações de execução, eles podem não ser capazes de completar as transações em quantidades desejadas - por exemplo, toda ou parte de uma transação roteada para um processador de bolsa 1106 pode não negociar em vista de um preço alterado.
[0085] Em tais exemplos em que uma instrução de negociação pode não ser satisfeita completamente em um servidor de bolsa 1106 devido, por exemplo, ao preço ou outra manipulação de termo por um terceiro que tira proveito das latências, prosseguir as solicitações de processamento de dados em um ou mais servidores de bolsa 1106 pode ser útil para determinar o tempo ou programar o envio das solicitações de negociação para múltiplos servidores de bolsa 1106 de modo que a execução de tais solicitações de negociação para todos os servidores de bolsa 1106 ocorre de uma maneira sincronizada, tal como, por exemplo, de uma maneira substancialmente concorrente. Em particular, pode ser útil sincronizar a execução das solicitações de execução de processamento de sinal, ou suas porções ou segmentos, em múltiplos recursos de computação em rede 106, 1106, por exemplo, de modo que os processos de sinal são recebidos, reconhecidos, e/ou executados pelos recursos 106, 1106 de uma maneira substancialmente concorrente.
[0086] Em alguns exemplos pode não ser necessário que os pro cessos de sinal a serem executados em cada processador 106, 1106 sejam executados simultaneamente, mas pode ser suficiente que: Tempo Y - Tempo X < Tempo A, e/ou Tempo Z - Tempo X < Tempo B,
[0087] de modo que a execução da(s) solicitação(ões) ou segmen tos da mesma ocorra antes de qualquer alteração nos termos, possa ser implementado por um servidor de negociação 304. O uso de tais regulações sincronizadas pode, por exemplo, causar: Tempo X + Tempo A > Tempo Y e/ou Tempo X + Tempo B > Tempo Z
[0088] e desse modo, por exemplo, anular as oportunidades de arbitragem de latência. Em algumas modalidades, portanto, a invenção fornece roteador(es) 104, 1104 com a habilidade para executar transa-ções ao longo de múltiplos recursos 106, 1106 com mínimo ou nenhuma variância de tempo, de modo que os algoritmos corridos por negociador(es) 304 empregando algoritmos de baixa latência são dados tempo insuficiente para reagir com as alterações do mercado.
[0089] Desse modo, nestes e outros casos onde a sincronização é desejada, em 210, o processador / roteador 104, 1104 podem determinar as regulações absolutas ou relativas a serem atribuídas, ou do contrário associadas com várias porções ou segmentos de uma solicitação de execução para obter a sequenciação desejada. Tais regulações podem ser determinadas para efetuar qualquer sincronização desejada: por exemplo, regulações configuradas para efetuar execução simultânea, ou substancialmente simultânea, podem ser determinadas, ou regulações configuradas para efetuar qualquer sequenciação desejada podem ser determinadas.
[0090] Desse modo em 210, um parâmetro de regulação de tempo pode ser determinado para cada solicitação de processamento de sinal de execução, ou sua porção, a ser atribuída a cada respectivo recurso de computação em rede 106, 1106. Os parâmetros são determinados de tal maneira a causar execução sincronizada das solicitações de execução de processamento de sinais em cada um dos respectivos recursos de computação em rede 106, 1106. Esta determinação pode ser com base pelo menos em parte em uma determinada latência correspondente no tempo de execução de tal(is) solicitação(ões) e/ou porção(ões), tal(is) como, por exemplo, qualquer uma ou todas as la- tências A, B, X, Y, Z da Figura 3, e/ou qualquer outra latência relevante, na execução das trocas de sinal entre o(s) processador(es) de roteador 104, 1104 e cada um dos recursos de computação em rede 106, 1106, ou no processamento de outros tais sinais por quaisquer de tais dispositivos.
[0091] Arbitragem e outros problemas causados por variações em tempo de execução entre os servidores podem também ser minimizados ou eliminados reduzindo as latências absolutas na transmissão e execução das solicitações de processamento. Desse modo, a determi-nação dos parâmetros de regulação de tempo como descritos acima pode ser praticada em combinação com os procedimentos que também servem para minimizar as quantidades absolutas de tempo associada com a execução e/ou relato das solicitações de execução através do(s) recurso(s) 106, 1106.
[0092] Informação sobre as determinadas latências usadas na de terminação dos parâmetros de regulação de tempo a serem associados com as várias porções de uma solicitação de execução de multi- partes fornecida pelo(s) roteador(es) 104, 1104 para uma pluralidade de processadores de execução 106, 1106 pode incluir informação de regulação de tempo (por exemplo, atrasos de transmissão, atrasos da propagação de sinais, atrasos de serialização, atrasos de enfileiramento, e/ou outros atrasos de processamento no(s) processador(es) de roteador 104, 1104, no recurso de computação em rede 106, 1106, e/ou na(s) rede(s) 110, 1110, 108, 1108). Tal informação pode ser fornecida ou recebida de qualquer/quaisquer fonte(s), e pode ser armazenada e recuperada de um ou mais armazenamentos de dados 214. Armazenamento(s) de dados de regulação de tempo 214, em várias modalidades, pode(m) incluir bases de dados ou outras estruturas de dados que residem na(s) memória(s) 118, 1018 associada(s) ou do contrário acessível(eis) através do(s) processador(es) de roteador 104, 1104. Por exemplo, se a execução de uma porção de uma solicitação de execução associada com um primeiro recurso de computação em rede 106, 1106 tiver uma determinada latência mais longa que à asso- ciada com um segundo recurso de computação em rede 106, 1106 (como por exemplo, no caso da Bolsa 1 vs. Bolsas 2 e 3 da Figura 3), a regulação de tempo para as porções associadas às solicitações de uma solicitação de transação a ser roteada por estes dois recursos de computação em rede 106, 1106 pode ser determinada de modo que uma solicitação de execução, ou sua porção, associada com o primeiro recurso de computação em rede 106 é determinado no tempo para ser enviada mais cedo que a solicitação associada com o segundo recurso de computação em rede 106, com a meta de ter as solicitações executadas substancialmente simultâneas nos dois recursos de computação em rede 106, ou dentro de um tempo mínimo efetivo A ou B associado com possível manipulação de termo por um servidor de negociação 304.
[0093] Em algumas modalidades, um ou mais algoritmos que po dem usar, por exemplo, um modelo de probabilidade de latência ou outro modelo preditivo, podem ser usados na determinação dos parâmetros de regulação de tempo a serem associados com as porções de solicitações de execução a serem roteadas para vários processadores de execução 106, 1106, com base na informação associada com tais atrasos de comunicação e/ou processamento, ou latências. Por exemplo, uma média de rolagem dos dados de latência históricos, acumulados ou relevantes para qualquer dispositivo desejado, períodos de tempo, ou outras considerações de regulação de tempo pode ser usada para prognosticar uma latência esperada para a execução de uma solicitação de processamento de dados.
[0094] Um exemplo de um algoritmo adequado para o uso na de terminação dos parâmetros de regulação de tempo a serem associados através do(s) roteador(es) 104, 1104 com a(s) porção(ões) de so-licitações para execução fornecida pela(s) fonte(s) 102, 1102, onde é desejado efetuar chegada concorrente ou do contrário sincronizada de tais porções ou solicitações nos recursos de rede 106, 1106, é com base em uma latência média entre a transmissão dos sinais de solicitação do(s) roteador(es) 104, 1104 e uma referência de regulação de tempo apropriada. Tal(is) referência(s) de regulação de tempo po- de(m), por exemplo, incluir começo de processamento pelo(s) recur- so(s) visado(s) correspondente(s) 106, 1106, e/ou recebimento pelo(s) processador(es) de solicitação 104, 1104 de um sinal de confirmação gerado pelo(s) recurso(s) 106, 1106 após a recepção da solicitação e/ou conclusão da execução da solicitação. Por exemplo, em algumas modalidades, pode ser vantajoso medir as latências entre a transmissão para um recurso dado 106, 1106 e recebimento pelo(s) rotea- dor(es) 104, 1104 de um sinal de confirmação ou de reconhecimento, ou outro sinal de resposta apropriado 1260, de tal recurso 106, 1106, e uso de tal(is) latência(s) medida(s) na determinação do(s) parâme- tro(s) de regulação de tempo em 210.
[0095] Etapa do processo 210 pode ser, por exemplo, realizada por uma aplicação executada, ou um módulo, ou do contrário associada com o(s) processador(es) de roteamento 104, 1104 tal(is) como uma entidade ou módulo de administração de capital 1126 no caso de um sistema financeiro 1000. Determinação de um parâmetro de regulação de tempo para ser associado com cada parte ou segmento de uma solicitação de execução de multipartes pode, por exemplo, incluir o uso de um módulo de lógica de aprendizagem & compensação de latência de resposta de troca adaptável (RTL) 1126c, tal como aquele mostrado na Figura FIG. 1B. Referindo à Figura 3, um tal módulo de lógica de aprendizagem & compensação de RTL de troca adaptável 1126c pode determinar a regulação de tempo para cada solicitação de processamento de sinal (por exemplo, uma solicitação de negociação) como segue: 1) Para cada porção ou segmento n de uma solicitação de processamento de multipartes de m-partes, um tempo T1x,n fornecido, por exemplo, por um relógio associado com o(s) processador(es) 104, 1104 é carimbado no tempo através do(s) processador(es) 104, 1104 em um ponto definido desejado dentro do processo de análise ou geração da(s) ordem(ns) de transação, ou outra(s) solicitação(ões) de processamento X, e é associado com um/uns registro(s) do conjunto de sinal de solicitação de processamento correspondendo a cada parte ou segmento n da solicitação de m-partes X. 2) T2x,n para cada porção n da solicitação de m-partes X é carimbado no tempo pelo(s) processador(es) 104, 1104 quando o n- ésimo conjunto de sinal de solicitação de porção correspondente foi recebido na bolsa visada 106, 1106, e uma mensagem de confirmação gerada pela bolsa correspondente foi recebida pelo processador de roteamento de solicitação 104, 1104. 3) Durante o curso de um dia de negociação (ou outro perí-odo de processamento de dados), as etapas do processo 2 e 3 podem ser repetidas, e T1x,n e T2x,n correspondentes determinados para cada segmento de transação roteado para um processador de execução dado 106, 1106. 4) Para cada segmento de porção n de uma solicitação de execução de multipartes pendente subsequente Y, o parâmetro de re-gulação de tempo determinado RTLy,n = ∑(T2x,n - T1x,n) / Z, onde Z é o número de segmentos de ordem previamente executados roteados para um processador de execução dado 106, 1106 usado no cálculo.
[0096] Onde o(s) armazenamento(s) de dados de regulação de tempo 214 armazenar(em) um registro de rolagem dos parâmetros de regulação de tempo passados (por exemplo, uma pluralidade de pa-râmetros de regulação de tempo determinados RTLy,n) associados com um ou mais recursos de execução 106/servidor de bolsa 1106, tais dados podem ser usados para criar um histograma de rolagem que pode ser usado para prognosticar a latência corrente ou cumulativa para cada recurso 106 / servidor de bolsa 1106. Porque tais predições são com base em um registro de alteração contínua ("rolagem"), este processo pode ser referido como "aprendizagem em linha". Pode haver um componente (por exemplo, um componente de memória ou processamento de histograma de latência da bolsa, não mostrado) dentro do módulo de lógica de aprendizagem & compensação de RTL de troca adaptável 1126c responsável por isso.
[0097] Um módulo de lógica de aprendizagem & compensação de RTL de troca adaptável 1126c pode usar latências preditivas para de-terminar os parâmetros de regulação de tempo apropriados a serem usados na transmissão das solicitações de negociação (ou outro pro-cessamento de dados) para vários servidores de bolsa 1106 para compensar as diferenças nas latências de execução associadas com tais servidores de bolsa 1106, de certo modo que reduza, controle, minimize ou elimine as diferenças na regulação de tempo de execução das porções de solicitações de negociação divididas roteadas para diferentes servidores de bolsa 1106, e desse modo, por exemplo, reduz ou elimina as oportunidades para arbitragem de latência por negociantes oportunísticos.
[0098] Módulo(s) de RTL adaptável 1126c pode(m) usar uma vari edade de algoritmos na determinação dos parâmetros de regulação de tempo adequados para o uso na execução de sincronização das solici-tações de processamento de multipartes. Por exemplo, um tal módulo pode usar valores de latência determinados para as várias bolsas para determinar até que ponto o(s) roteador(es) 104, 1104 deveria(m) com-pensar as latências de bolsa diferentes enviando aos vários processa-dores 106, 1106 suas porções correspondentes de uma solicitação para processar, por exemplo, em tempos diferentes. Isto pode minimizar o atraso entre a conclusão da execução de cada porção, por exemplo, minimizando a diferença no tempo entre o recebimento de cada respectiva porção por seu recurso de execução correspondente 106, 1106. (Na Figura 3, por exemplo, isso seria mostrado como minimizando as diferenças entre os tempos decorridos no Tempo X, Tempo Y e Tempo Z). Tais algoritmos podem também contar com as diferenças históricas no tempo requerido para execução de negociação ou outras ordens de processamento nos vários recursos 106, 1106, além dos atrasos de comunicação.
[0099] Módulo(s) de lógica de aprendizagem & compensação de RTL de troca adaptável 1126c pode(m) adicionalmente coletar informação acerca das condições de mercado que prevalecem em cada servidor de bolsa 1106 (usando, por exemplo, fontes de dados tais como fonte(s) de dados do mercado de câmbio 1126v), or- dens/execuções de onda, latências atuais e latências alvo (por exemplo, como prognostico acima) quando solicitações de negociação forem enviadas. Pode haver um componente dentro do módulo de lógica de aprendizagem & compensação de RTL de troca adaptável 1126c responsável por isso.
[00100] Um ou mais parâmetros de regulação de tempo associados com a solicitação de execução a ser roteada para qualquer um ou mais do(s) processador(es) de execução 106, 1106 podem também ser fornecidos ao(s) processador(es) de roteamento correspondente(s) 104, 1104 (por exemplo, para o armazenamento de dados de regulação de tempo 214), ou determinados por tal(is) processador(es) 104, 1104 usando os dados relacionados providos por qualquer uma ou mais alimentação(ões) de dados do mercado ou pelo(s) processa- dor(es) 1126 (incluindo por exemplo, qualquer um ou mais dos processadores ou (sub)sistemas 1126a - 1126g e/ou 1126v), e/ou através do(s) processador(es) 106, 1106 por eles mesmos.
[00101] Em 212, as várias porções da(s) solicitação(ões) de execu- ção de processamento de sinal opcionalmente agregada(s) e dividi- da(s) são enviadas para os respectivos recursos de computação em rede 106 de acordo com os parâmetros de regulação de tempo ou se- quência(s) determinada(s) ou do contrário adquirida(s) em 210. Depois disso, a(s) solicitação(ões), ou as várias porções da(s) mesma(s), po- de(m) ser executada(s) pelos respectivos recursos de execução 106, 1106, com comunicações e processamento de sinal subsequentes quando necessário ou desejado. Como será entendido por aqueles versados nas técnicas relevantes, uma vez eles estejam familiarizados com esta revelação, uma vez os parâmetros de uma solicitação de execução desejada foram determinados pelo(s) roteador(es) 104, 1104, os sinais representando aqueles parâmetros podem ser montados, usando as técnicas de processamento de dados conhecidas ou especializadas; formatados de acordo com o protocolo de Troca de Informação Financeira (FIX) e/ou qualquer/quaisquer outro(s) protoco- lo(s) desejado(s); e transmitido(s), escrito(s) ou do contrário comuni- cado(s) ao(s) processador(es) de execução correspondente(s) 106, 1106 usando as técnicas de comunicações de sinal conhecidas ou especializadas, e executado(s) de acordo com a transação solicitada ou outros processos de dados.
[00102] Por exemplo, continuando o exemplo acima, atrasos de re-gulação de tempo, ou parâmetros X’Y’Z’, um ou todos estes podem ser iguais a zero ou qualquer outro período de tempo adequado, pode ser determinado de acordo com a revelação acima e associado com os segmentos de ordem gerados pelo(s) processador(es) 1104 para compra de 77.000 lotes de obrigações de No. CUSIP AA a preço A, com 25.000 lotes (18.000 + 7.000) em reserva a preços D e E, respectivamente, desse modo
Figure img0006
Figure img0007
[00103] Depois disso, o(s) processador(es) de roteamento 104, 1104 pode(m) processar os segmentos de transação usando parâmetros de regulação de tempo, por exemplo, atrasos X’, Y’, X’, para efetuar os segmentos de transação correspondentes a serem transmitidos ou do contrário fornecidos nas bolsas 106, 1106 A1, B2, C3 para execução de acordo com uma sequência de regulação de tempo desejada, para execução simultânea ou do contrário sequencial desejada.
[00104] Seguindo a execução de todas ou tanto quantas porções de transação roteada ou segmentos de processamento, o(s) processa- dor(es) de roteamento 104, 1104 pode(m) receber do(s) processa- dor(es) de execução correspondente(s) 106, 1106 dados confirmando ou do contrário indicando tal execução, e acesso dos registros de dados armazenados na(s) memória(s) associada(s) pode alocar resultados de execução para a(s) fonte(s) de solicitação 102, 1102.
[00105] Referência é agora feita à FIG. 4, mostrando um exemplo de um método 300 de determinar os parâmetros de regulação de tempo a serem usados no gerenciamento de processamento dos dados através de múltiplos recursos de computação em rede 106. Na modalidade mostrada, o método 300 é um método iterativo, e cada iteração do método 300 é denotada como N. Método 300 é adequado para im-plementação usando, por exemplo, quaisquer de várias modalidades dos sistemas 100, 1000 e componentes dos mesmos, incluindo parti-cularmente o(s) processador(es) de roteador 104, 1104 e a(s) fonte(s) 1126.
[00106] Em 302, cada um de uma pluralidade de recursos de computação em rede 106, 1106 é monitorado, por exemplo através do(s) processador(es) de roteador 104, 1104, do(s) processador(es) de exe-cução 106, 1106, do(s) processador(es) externo(s) 1126, e/ou vários componentes ou módulos operados ou do contrário associados a estes, para latências associadas com recebimento e/ou execução das solicitações de execução de processamento de sinais. Isto pode ser realizado, por exemplo, por um módulo de monitoramento (por exemplo, um módulo de medição de RTL de troca 1126b, tal como para o sistema financeiro 1000) no(s) processador(es) de roteador 104, 1104. Tal monitoramento pode compreender, por exemplo, solicitações de saída com carimbo de tempo para processamento de dados, e comparar os tempos de recebimento da(s) confirmação(ões) ou resultados do processamento para a solicitação de saída com carimbo de tempo cor-respondente. A diferença no tempo entre a solicitação de saída e a confirmação de recebimento de entrada e/ou os resultados do proces-samento de dados pode ser definida como uma latência de processa-mento de dados ou sinais, e armazenada em memória acessível pe- lo(s) processador(es) de roteador 104, 1104. Por diferenças de regulação de tempo entre as solicitações de saída e os recebimentos de entrada, confirmações, e/ou resultados, tais latências podem ser monitoradas em uma base ininterrupta, periódica, e/ou outra dinâmica.
[00107] Em 306, pelo menos um parâmetro de regulação de tempo associado com a(s) latência(s) observada(s) na execução das solicita-ções de processamento de sinais fornecidas aos recursos monitorados 106, 1106 pelo(s) processador(es) de roteamento 104, 1104 é deter-minado. Como descrito aqui, tal(is) parâmetro(s) de regulação de tempo pode incluir, por exemplo, latências devido ao atraso de comunicação, tal como atrasos de transmissão ou outros atrasos de propagação de sinal, e/ou atrasos de processamento, entre outros. Tipicamente, o(s) parâmetro(s) de regulação de tempo correspondente(s) é/são de- terminado(s) para cada uma da pluralidade de recursos de computa- ção em rede 106, 1106 aos quais uma ordem de transação ou outra solicitação de processamento de dados, ou uma porção da mesma, é esperada ser enviada para o(s) processador(es) de roteamento 104, 1104.
[00108] Em várias modalidades, tais como em várias formas dos sistemas financeiro 1000, e dependendo dos tipos de sistema(s) a ser(em) usado(s) e resultados de processamento desejados, tais pa-râmetros de regulação de tempo podem ser determinados para comu-nicações unidirecionais e/ou bidirecionais entre o(s) processador(es) de roteamento 1104 operados ou em nome de uma entidade de admi-nistração de capitais e o servidor de bolsa 1106; isto é, de geração de uma solicitação de transação de multipartes através do processador de roteamento da entidade de administração de capitais 1104 para o recebimento de uma resposta, tal como confirmação de recebimento de uma parte de uma ordem de negociação maior e/ou confirmação de execução de toda ou parte de uma negociação requerida, do recurso de execução ao qual a solicitação de processamento foi direcionada. Com referência à FIG. 1B, por exemplo, e explicada acima, uma medição de RTL pode incluir latências devido a qualquer ou toda transmissão de sinais dentro do servidor da entidade de administração de capitais 1104, processamento dos sinais dentro da entidade de administração de capitais 1104, transmissão dos sinais entre a entidade de administração de capitais 1104 e uma rede 1110, transmissão dos sinais dentro da rede 1110, transmissão dos sinais entre a rede 1110 e o servidor de bolsa visado 1106, e processamento dos sinais dentro do servidor de bolsa 1106; para ambas as comunicações enviadas do(s) processador(es) de roteamento 104, 1104 e respostas (por exemplo, reconhecimento de comunicação, rejeição de uma solicitação de negociação, confirmação de uma solicitação de negociação, etc.) enviadas do servidor de bolsa 106, 1106. Em tais modalidades, o(s) parâ- metro(s) de regulação de tempo pode(m) simplesmente ser o tempo total para comunicação de resposta, ou uma função matemática estatística ou outra.
[00109] Por exemplo, um módulo de medição de RTL de troca 1126b, tal como aquele associado com SOR 1104 mostrado na FIG. 1B, pode determinar um parâmetro de regulação de tempo como segue: 1) Um valor de carimbo de tempo T1 é associado pelo(s) processador(es) 1104 com uma comunicação nova M1 (por exemplo, uma solicitação de negociação) enviada para um servidor de bolsa 1106. 2) um valor de carimbo de tempo T2 é associado pelo(s) processador(es) 1104 com qualquer resposta à solicitação M1 recebida do processador de bolsa 1106 ao qual a solicitação M1 foi enviada. Esta resposta pode ser qualquer resposta tal como reconhecimento, rejeição, atendimento total ou parcial, etc., e pode depender da natureza da solicitação representada por M1. 3) A RTL associada com a solicitação M1 é calculada como a diferença entre T2 e T1. Em algumas modalidades, como observado acima, RTL pode ser calculada como uma média do tempo (T2 - T1) para um número passado Z (por exemplo, 30) das solicitações de pro-cessamento roteadas para cada um de uma pluralidade do(s) proces- sador(es) de bolsa visado(s) 1106.
[00110] Em 308, o(s) parâmetro(s) de regulação de tempo associa- do(s) com cada recurso de computação em rede 106 pode(m) ser ar- mazenado(s) no(s) armazenamento(s) de dados de regulação de tempo 214. Como descrito aqui, um armazenamento de dados de regulação de tempo 214, em alguns exemplos, pode ser uma base de dados ou outra estrutura de dados que reside em uma memória associada ou do contrário acessível pelo(s) processador(es) de roteador 104. Parâ- metro(s) de regulação de tempo armazenado(s) no(s) armazenamen- to(s) de dados de regulação de tempo 214 podem ser empregados nos processos tais como aqueles descritos acima com relação ao bloco de processo 210 da Figura 2.
[00111] Parâmetro(s) de regulação de tempo determinado(s) pelo(s) processador(es) 104, 1104 pode(m) por exemplo representar histo- grama(s) rolante(s) representando as latências associadas com os processadores de execução individuais 106, 1106 e/ou outros compo-nentes do(s) sistema(s) 100, 1000.
[00112] FIG. 5 mostra um exemplo de um histograma que ilustra os dados armazenados representando as comunicações associadas com os valores de tempo de latência de processamento e/ou outro proces-samento associado com um processador de execução 106, 1106 em um sistema 100, 1000. No exemplo mostrado, tempos de latência de resposta (em ms) são armazenados para as 30 solicitações de transação mais recentes ou outras comunicações com um certo servidor de execução 106. Embora o exemplo mostre 30 tempos de latência sendo armazenados, o número de parâmetro(s) de regulação de tempo de armazenado(s) usado(s) para determinar as RTLs ou outros parâmetros de regulação de tempo pode ser maior ou menor, e pode variar de acordo com as condições tais como a hora do dia, a estação, etc. Os resultados de cálculos com base nas latências armazenadas, e outros dados relacionados, podem também ser armazenados no(s) armaze- namento(s) de dados de regulação de tempo 214. Por exemplo, no exemplo da FIG. 5, além dos tempos de latência brutos, uma média rolante ou um modo rolante dos 30 (ou outro número adequado) tempos de latência passados associados com as comunicações e/ou outro processamento com ou por cada servidor de execução 106 pode ser também calculado e armazenado no(s) armazenamento(s) de dados de regulação de tempo 214.
[00113] Como será entendido facilmente por aqueles versados nas técnicas relevantes, outros fatores, incluindo por exemplo compensações ou atrasos fixos desejados, ou fatores de escalonamento associados com a hora do dia, dia da semana, estação do ano, etc., padrões de negociação ou outros de processamento de dados conhecidos, condições econômicas, etc., podem ser usados em 210 para determinar os parâmetros de regulação de tempo.
[00114] Os parâmetros de regulação de tempo determinados em 210 podem ser usados pelo(s) processador(es) de roteamento 104, 1104 para sincronizar a execução das solicitações de processamento originadas pela(s) fonte(s) 102, 1102 e direcionada(s) ao(s) processa- dor(es) 106, 1106, por exemplo, associando com tais solicitações, ou porções delas a serem mandadas para execução por cada um do(s) processador(es) múltiplo(s) 106, 1106, itens de dados utilizáveis pe- lo(s) processador(es) 104, 1104 para efetuar comunicação das solicitações ao(s) processador(es) correspondente 106, 1106 em tempos absolutos ou relativos desejados, para alcançar a sincronização desejada da chegada das solicitações ao(s) processador(es) de execução correspondente(s) 106, 1106. Por exemplo, usando itens de dados configurados para efetuar a comunicação de uma ou mais porções das solicitações no(s) tempo(s) dado(s) de acordo com um relógio associado com o(s) processador(es) 104, 1104, o(s) processador(es) 104, 1104 pode(m) efetuar a(s) solicitação(ões) ou porção(ões) de solicitação a ser(em) comunicada(s) em um momento desejado do dia, ou em qualquer ordem ou sequência relativa desejada sem levar em conta o tempo atual do dia, mas de preferência um com respeito ao outro ou algum terceiro índice.
[00115] Em 310, N é incrementado em um, ou outro valor adequado, ou o controle é do contrário retornado para 302 de modo que o processo 302 - 308 continua. O processo 302 - 310 opcionalmente continua até um número desejado máximo de repetições ter sido completado, ou até todas as solicitações para transações ou outro processamento por ordens tiverem sido processadas (por exemplo, roteadas para os processadores de execução 106, 1106), ou até que outros critérios adequados tenham sido satisfeitos.
[00116] Para auxiliar os operadores e usuários do(s) sistema(s) 100, 1000, ou componentes dos mesmos, entender ou avaliar o efeito do método e sistema revelados para efetuar processamento de dados através de múltiplos recursos de computação em rede, em alguns as-pectos, a revelação presente também fornece várias métricas (por exemplo, pontos de referência de negociação, no caso de um sistema financeiro 1000) que podem ser determinadas por, e através do uso dos dados gerados de qualquer um ou todos os vários componentes de um sistema 100, 1000.
[00117] Referência é agora feita à FIG. 6, que mostra as comparações dos resultados da transmissão das solicitações de execução de negociação de multipartes para pluralidades de recursos de computação em rede ou processadores de execução 106, 1106 de acordo com um exemplo do método e sistema revelados, para resultados das soli-citações de negociação de multipartes convencionalmente transmitidas.
[00118] FIG. 6a mostra os resultados da execução de uma solicitação de transação de multipartes usando os métodos e sistemas revelados para obter execução sincronizada (no caso ilustrado, substancialmente simultânea) das várias partes ou segmentos 624 da solicitação de transação de multipartes (uma ordem de venda) por uma pluralidade de servidores de bolsa 106, 1106. No exemplo mostrado, uma taxa de atendimento de 94% de uma ordem agregada original foi alcançada ao preço oferecido original 630 de $4,21 (mostrado como "Nível 1"). Em um segundo ciclo de transações (que foi atendido em uma só transação, como mostrado em 626) o volume restante foi vendido a um preço menos desejado mas aceitável 632 de $4,20 (mostrado como "Nível 2"). O custo associado com as ordens atendidas abaixo do preço de ordem requerido (isto é, aquelas ordens no Nível 2) foi $53.000 para os sistemas mercantis 1102 (por exemplo, sistemas cliente) e $10.049 para a entidade de administração de capitais 1106.
[00119] Na FIG. 6b, usando os métodos e sistemas de negociação da técnica anterior, uma solicitação de negociação de multipartes não sincronizada (ordem de venda de multibolsas) consistindo em múltiplos segmentos de ordem não sincronizados 624’ para a mesma solicitação de transação geral resultou em uma taxa de atendimento inicial de 47% na ordem preferida preço 630 de $4,21 (mostrado como "Nível 1"). 43% adicionais da solicitação foram subsequentemente atendidos ao preço menos desejável 632 de $4,20 (mostrado como "Nível 2"), com o restante sendo atendidos a um preço reduzido 634 ainda de $4,19 (mostrado como "Nível 3").
[00120] Usando os métodos e sistemas de acordo com a revelação, um preço de venda médio ponderado em volume (VWAP) 636 de $4,2094/ação, foi realizado, como mostrado em 628. Usando os métodos e sistemas da técnica anterior, um VWAP 638 de $4,2094/ação foi realizado.
[00121] Como será entendido facilmente por aqueles versados nas técnicas relevantes, sistemas 100, 1000 podem compreender disposi-tivos ou componentes adequados para fornecer uma ampla variedade de outras métricas e funcionalidades. Por exemplo, referência é agora feita à FIG. 7, que ilustra dois exemplos da provisão por um processador de roteamento 104, 1104 ou outro processador de uma comparação do ponto de referência com relação a um preço médio de mercado fornecido, por exemplo, por um serviço de notícias do mercado ou outra fonte de dados do mercado 1126v. Em 646, o desempenho de um sistema 100, 1000 em processamento sincronizado de uma solicitação de transação de multipartes de acordo com a invenção é comparado a um indicador de desempenho de mercado "Ponto de Referência de Preço Médio". Tal ponto de referência de preço médio, ou outro ponto de referência ou fator métrico, pode ser obtido, por exemplo, de qualquer um ou todos os componentes 1126, 1106, etc. Em 644, o desempenho de um sistema 100, 1000 em processamento não-sincronizado de uma solicitação de transação de multipartes de acordo com os métodos da técnica anterior é comparado ao mesmo indicador de desempenho de mercado "Ponto de Referência de Preço Médio". Comparação das comparações 646, 644 indica que o processando das transações de acordo com a invenção provê resultados melhores para vendedor de juros financeiros. Como será entendido por aqueles versados nas técnicas relevantes, pode ser usada uma ampla variedade de pontos de referência na avaliação de desempenho dos sistemas e métodos de acordo com a invenção. Tais pontos de referência podem ser determinados pelo menos parcialmente pela natureza do sistema 100, 1000 usado, e pelos tipos de transações ou outras solicitações de execução processadas por tal sistema.
[00122] Na modalidade mostrada na Figura 1B, a(s) fonte(s) 1126 de dados utilizáveis pelo(s) processador(es) 104 na preparação da transação financeira ou outras solicitações de execução de processa-mento de dados inclui(em) uma pluralidade de módulos 1126a-g úteis na preparação de uma solicitação de execução de multipartes. No exemplo mostrado, os módulos 1126a-g incluem módulo de processamento de dados de mercado 1126a, módulo de medição da latência de resposta da bolsa 1126b, módulo de lógica de aprendizagem & compensação da latência de resposta da bolsa adaptável (RTL) 1126c, módulo de lógica de alocação de compartilhamento de varredura inteligente 126d, módulo de lógica de lançamento inteligente 1126e, módulo de lógica de acesso da bolsa regional & nacional 1126f, e módulo de gerenciamento da agressividade 1126g.
[00123] Módulo de processamento de dados de mercado 1126a recebe e processa os dados de mercado, que podem ser iguais ou diferentes dos dados fornecidos pelo módulo de dados de mercado da bolsa 1126v do servidor de bolsa 1106. Fontes de tais dados podem ser internas ao sistema 1104, ou externas, conforme necessário ou desejado, e podem incluir qualquer fonte de dados privada ou publicamente disponível adequada útil na preparação da solicitação de execução, e particularmente tais solicitações que são úteis em dividir ou do contrário preparar uma ordem de transação: informação fornecida pode, por exemplo, incluir os números ou quantidades e/ou preços disponíveis em qualquer bolsa particular; volumes ou preços de negociação históricos; profundidade atual e histórica dos mercado(s) ou liquidez; tamanhos das reservas; spread de preço absoluto, relativo e/ou médio; e heurística específica à ação ou juro; e/ou tendências em qualquer um ou todos estes.
[00124] Módulo de medição de RTL da bolsa 1126b determina os parâmetros de regulação de tempo para uso em sincronizar a execução de negociação de multipartes ou outras solicitações de processamento de dados por pluralidades de servidores de bolsa 1106, como por exemplo explicado aqui, usando os dados de latência estaticamente definidos representando os tempo(s) decorrido(s) entre o envio das solicitações ou outros dados, e recebimento dos resultados de confir-mação ou execução do(s) processador(es) de execução individual(is) 106, 1106.
[00125] O módulo de medição de RTL de bolsa adaptável 1126c determina os parâmetros de regulação de tempo para o uso em sin-cronizar a execução da negociação de multipartes ou outras solicitações de processamento de dados por pluralidades de servidores de bolsa 1106, como por exemplo explicado aqui, usando dados de latên- cia dinamicamente definidos ("rolagem") representando os tempos de-corridos entre o envio das múltiplas solicitações de processamento, ou outros dados, e recebimento dos resultados de confirmação ou execução do(s) processador(es) de execução individual(is) 106, 1106. Histogramas e outros modelos de dados e/ou estruturas representando tais dados rolantes podem ser usados pelo(s) módulo(s) 1126c em determinar os parâmetros de regulação de tempo de acordo com tais processos.
[00126] Módulo de lógica de alocação de ação de varredura inteligente 1126d inclui um modelo estatístico para estrategicamente so- bredimensionar as solicitações de transação, e/ou associar quantida- de(s) de reserva com ordens publicamente postadas, com base em dados de mercado historicamente observados. Este módulo 1126d de-termina, por exemplo, um sobredimensionamento adequado (isto é, sobreordenação em uma solicitação de negociação) levando em conta a(s) quantidade(s) prognosticada(s) de reserva oculta a ser(em) incor- porada(s) em uma ordem aberta) em um servidor de bolsa 1106, com base nos dados estatísticos acerca da reserva oculta disponível naquele servidor de bolsa 1106 em um período dado ou sob outras condições especificadas (por exemplo, as 30 solicitações de negociação passadas). Com base em tais reservas de mercado ocultas preditivas, uma reserva oculta adequadamente dimensionada pode ser determinada, e associada com uma ordem de transação, para resultar em um sobredimensionamento estratégico da ordem publicamente visualizá- vel e ajuda a assegurar que um volume de negociação desejado atual seja realizado.
[00127] Módulo de lógica de lançamento inteligente 1126e inclui um modelo estatístico para determinar a probabilidade dos atendimentos (isto é, porcentagem de satisfação de uma solicitação de negociação) esperados ser realizados nas solicitações de negociação roteadas para os servidores de bolsa individuais 1106. Tais modelos estatísticos podem, por exemplo, incluir dados de atendimento históricos percebidos em tais bolsas individuais em um período dado (por exemplo, as 30 solicitações de negociação passadas, mês passado, 12 meses an-teriores, etc.). Um módulo de lógica de lançamento inteligente 1126e pode levar em consideração os fatores incluindo, por exemplo, a pro-fundidade do topo de livro a cada servidor da bolsa 1106, o nível de volatilidade ao longo dos servidores da bolsa 1106 e o tempo de latên- cia médio para execução de uma solicitação de negociação, entre outros fatores.
[00128] Módulo de lógica de acesso de bolsa regional & nacional 1126f fornece informação acerca de como uma solicitação de negociação deveria ser roteada para um servidor de bolsa 1106, dependendo se o servidor de bolsa 1106 é regional ou nacional. Os dados interna e/ou externamente armazenados com respeito aos protocolo(s) ade- quado(s) a ser(em) empregado(s), regulações a serem observadas, etc., podem ser empregados no fornecimento de tais dados. Tais dados podem ser usados, por exemplo, para assegurar que as solicitações de negociação ou outras de processamento enviadas para os recursos externos 106, 1106 pelo(s) processador(es) de roteamento 104, 1104 sejam adequadamente formatados, em vista do(s) recur- so(s) 106, 1106 ao(s) qual(is) a(s) solicitação(ões) é/são fornecida(s), e assegurando que tal(is) solicitação(ões)) obedeça(m) a todos os padrões legais aplicáveis.
[00129] Módulo de lógica de gerenciamento de agressividade 1126g inclui um modelo de probabilidade para determinar a probabilidade de uma porcentagem de atendimento por servidores bolsa de individuais 1106, e modificando as solicitações de execução roteadas para tais servidores consequentemente. Um tal módulo 1126g pode levar em consideração os fatores tais como, por exemplo, a taxa de atendimento em cada servidor de bolsa 1106, a profundidade do livro em cada servidor de bolsa 1106, e os níveis de volatilidade ao longo dos servidores de bolsa 1106, entre outros fatores.
[00130] Embora a revelação tenha sido fornecida e ilustrada com relação às modalidades específicas, presentemente preferidas, muitas variações e modificações podem ser feitas sem abandono do espírito e escopo da(s) invenção(ões) revelada(s) aqui. A revelação e inven- ção(ões), portanto, não são para ser limitadas aos componentes ou detalhes exatos de metodologia ou construção expostos acima. Exceto para a extensão necessária ou inerente nos processos, nenhuma ordem particular para as etapas ou estágios dos métodos ou processos descritos nesta revelação, incluindo as Figuras, é intencionada ou incluída. Em muitos casos a ordem das etapas de processo pode ser variada sem alterar o propósito, efeito, ou significado dos métodos descritos. O escopo das reivindicações é para ser definido somente pelas reivindicações em anexo, dando devida consideração à doutrina de equivalentes e doutrinas relacionadas.

Claims (31)

1. Sistema para efetuar processamento sincronizado de dados através de múltiplos recursos de computação em rede (106, 1106), o sistema caracterizado pelo fato de que compreende pelo menos um processador configurado para executar instruções interpretáveis por máquina e induzir o sistema a: receber a partir de uma ou mais fontes de dados, sinais re-presentando instruções para execução de pelo menos um processo de dados executável por uma pluralidade de recursos de computação em rede (106, 1106); dividir o pelo menos um processo de dados em uma plurali-dade de segmentos de processamento de dados, cada segmento de processamento de dados a ser roteado em um diferente de uma plura-lidade de processadores de execução em rede para executar uma porção respectiva do pelo menos um processo de dados; com base pelo menos em parte nas latências na execução de solicitações de processamento de dados anteriores roteadas pelo sistema para cada um da pluralidade de processadores de execução em rede, determinar uma pluralidade de parâmetros de regulação de tempo, cada um da pluralidade de parâmetros de regulação de tempo a ser associado com um correspondente da pluralidade de segmentos de processamento de dados; e de acordo com uma sequência de regulação de tempo usando os parâmetros de regulação de tempo associados com a pluralidade de segmentos de processamento de dados, rotear a pluralidade de segmentos de processamento de dados para a pluralidade de pro-cessadores de execução em rede correspondentes, a pluralidade de parâmetros de regulação de tempo determinados para efetuar a chegada ou execução sincronizada da pluralidade de segmentos de pro-cessamento de dados pela pluralidade de processadores de execução em rede.
2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que pelo menos um da pluralidade de parâmetros de re-gulação de tempo determinados é determinado com base pelo menos em parte na latência dinamicamente monitorada na execução de solicitações de processamento de sinais roteadas pelo sistema para pelo menos um da pluralidade de processadores de execução em rede.
3. Sistema, de acordo com a reivindicação 1 ou 2, caracte-rizado pelo fato de que pelo menos um da pluralidade de parâmetros de regulação de tempo determinados é determinado com base pelo menos em parte em pelo menos um de: atraso de comunicação e atraso de processamento.
4. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que pelo menos um da pluralidade de parâmetros de re-gulação de tempo determinados é determinado com base pelo menos em parte em um modelo de probabilidade de latência.
5. Sistema, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que os processadores de execução em rede compreendem servidores de câmbio e os segmentos de processamento de dados representam solicitações para negociações em juros financeiros.
6. Sistema, de acordo com a reivindicação 5, caracterizado pelo fato de que os juros financeiros incluem pelo menos um de mer-cadorias e juros intangíveis.
7. Sistema, de acordo com a reivindicação 5, caracterizado pelo fato de que os juros financeiros incluem pelo menos um dentre ações, obrigações, e opções.
8. Sistema, de acordo com qualquer uma das reivindicações 5 a 7, caracterizado pelo fato de que o pelo menos um processador é ainda configurado para executar instruções para induzir o sis- tema a: associar-se com cada um de pelo menos um da pluralidade de dados de segmentos de processamento de dados representando pelo menos um termo de quantidade, o pelo menos um termo de quantidade representando pelo menos uma quantidade de um juro financeiro a ser negociado de acordo com uma solicitação representada por cada um do pelo menos um segmento de processamento de dados, e pelo menos um termo de preço correspondente associado com cada tal termo de quantidade, o termo de quantidade representando pelo menos um preço proposto no qual uma negociação representada por o pelo menos um segmento de processamento de dados é para ser executada; o pelo menos um termo de quantidade maior do que pelo menos uma quantidade do juro financeiro oferecido publicamente a um preço equivalente ao termo de preço associado correspondente, em um mercado associado com o(s) processador(es) de execução em rede para o(s) qual(is) o pelo menos um segmento de processamento de dados é para ser roteado.
9. Sistema, de acordo com a reivindicação 8, caracterizado pelo fato de que o pelo menos um termo de quantidade é determinado com base pelo menos em parte em uma história de negociação as-sociada com o mercado associado com o processador de execução em rede para o qual o segmento de processamento de dados é para ser roteado.
10. Sistema, de acordo com qualquer uma das reivindicações 1 a 9, caracterizado pelo fato de que o pelo menos um processador é configurado para executar instruções interpretáveis por máquina e induzir o sistema a: monitorar a execução de solicitações de processamento de dados por cada um da pluralidade de recursos de computação em rede (106, 1106); determinar pelo menos um parâmetro de regulação de tempo associado com uma latência na execução de solicitações de pro-cessamento de dados entre o sistema e cada um da pluralidade de recursos de computação em rede (106, 1106); e armazenar o pelo menos um parâmetro de regulação de tempo em memória legível por máquina acessível por o pelo menos um processador.
11. Sistema, de acordo com a reivindicação 10, caracteri-zado pelo fato de que a pelo menos uma latência é associada com pelo menos um dentre: atraso de comunicação e atraso de processamento.
12. Sistema, de acordo com a reivindicação 10 ou 11, ca-racterizado pelo fato de que a execução de solicitações de proces-samento de sinais é monitorada periodicamente.
13. Sistema, de acordo com a reivindicação 10 ou 11, ca-racterizado pelo fato de que a execução de solicitações de execução de processamento de sinais é monitorada continuamente.
14. Método executado por pelo menos um processador que executa instruções interpretáveis por máquina, o método caracterizado pelo fato de que compreende as etapas de: associar-se, com sinais representando instruções para exe-cução de uma pluralidade de segmentos de processamento de dados, cada segmento de processamento de dados representando instruções para execução de uma respectiva porção de um processo de dados executável por uma pluralidade de recursos de computação em rede (106, 1106), o processo de dados representando uma pluralidade de transações propostas em um ou mais juros financeiros, pelo menos um parâmetro de regulação de tempo determinado pelo menos em parte em usar uma ou mais latências associadas com execução de solicitações de processamento de sinais por pelo menos um dos recursos de computação em rede (106, 1106); e de acordo com uma sequência de regulação de tempo usando o pelo menos um parâmetro de regulação de tempo associado, rotear os sinais representando as instruções para execução da pluralidade de porções da pluralidade de transações propostas para a pluralidade de recursos de computação em rede (106, 1106); o pelo menos um parâmetro de regulação de tempo associ-ado determinado de modo a efetuar a chegada ou execução sincronizada das instruções para execução da pluralidade de porções da pluralidade de transações propostas na pluralidade de recursos de computação em rede (106, 1106).
15. Método, de acordo com a reivindicação 14, caracteri-zado pelo fato de que o pelo menos um parâmetro de regulação de tempo é determinado com base pelo menos em parte na latência di-namicamente monitorada na execução de solicitações de processamento de sinais roteadas para pelo menos um da pluralidade de recursos de computação em rede (106, 1106).
16. Método, de acordo com a reivindicação 14 ou 15, ca-racterizado pelo fato de que o pelo menos um parâmetro de regulação de tempo é determinado com base pelo menos em parte na latên- cia estatística na execução de solicitações de processamento de sinais roteadas para pelo menos um da pluralidade de recursos de computação em rede (106, 1106).
17. Método, de acordo com qualquer uma das reivindicações 14 a 16, caracterizado pelo fato de que o pelo menos um parâmetro de regulação de tempo é determinado com base pelo menos em parte na latência histórica na execução de solicitações de processamento de sinais roteadas para pelo menos um da pluralidade de recursos de computação em rede (106, 1106).
18. Método, de acordo com qualquer uma das reivindicações 14 a 17, caracterizado pelo fato de que o pelo menos um parâmetro de regulação de tempo é determinado com base pelo menos em parte na latência preditiva na execução de solicitações de processamento de sinais roteadas para pelo menos um da pluralidade de recursos de computação em rede (106, 1106).
19. Método, de acordo com qualquer uma das reivindicações 14 a 18, caracterizado pelo fato de que o pelo menos um parâmetro de regulação de tempo é determinado de modo que a chegada ou execução sincronizada seja simultânea.
20. Método, de acordo com qualquer uma das reivindicações 14 a 18, caracterizado pelo fato de que o pelo menos um parâmetro de regulação de tempo é determinado de modo que a chegada ou execução sincronizada seja de acordo com uma sequência não simultânea.
21. Método, de acordo com qualquer uma das reivindicações 14 a 20, caracterizado pelo fato de que o pelo menos um parâmetro de regulação de tempo é determinado de modo que a chegada ou execução sincronizada seja de acordo com uma regulação de tempo relativa determinada.
22. Método, de acordo com qualquer uma das reivindicações 14 a 21, caracterizado pelo fato de que o pelo menos um parâmetro de regulação de tempo é determinado com base pelo menos em parte em pelo menos um dentre: atraso de comunicação ou atraso de processamento.
23. Método, de acordo com qualquer uma das reivindicações 14 a 22, caracterizado pelo fato de que o pelo menos um parâmetro de regulação de tempo é determinado com base pelo menos em parte em um modelo de probabilidade de latência.
24. Método, de acordo com qualquer uma das reivindica- ções 14 a 23, caracterizado pelo fato de que os juros financeiros incluem pelo menos um dentre commodities e juros monetários.
25. Método, de acordo com qualquer uma das reivindicações 14 a 24, caracterizado pelo fato de que os juros financeiros incluem pelo menos um dentre interesses de capital próprio, interesses de capital não próprio ou derivados dos mesmos.
26. Método, de acordo com qualquer uma das reivindicações 14 a 25, caracterizado pelo fato de que compreende: gerar os sinais representando as instruções para execução da pluralidade de segmentos de processamento de dados; e com base pelo menos em parte nas latências na execução de solicitações de processamento de dados anteriores roteadas para cada um da pluralidade de recursos de computação em rede (106, 1106), determinar uma pluralidade de parâmetros de regulação de tempo, cada um da pluralidade de parâmetros de regulação de tempo para associar com um correspondente da pluralidade de segmentos de processamento de dados.
27. Método, de acordo com qualquer uma das reivindicações 14 a 26, caracterizado pelo fato de que compreende: receber a partir de um ou mais sinais de fonte dados repre-sentando instruções para execução de pelo menos um processo de dados executável por uma pluralidade de recursos de computação em rede (106, 1106); e dividir o pelo menos um processo de dados na pluralidade de segmentos de processamento de dados, cada segmento de pro-cessamento de dados para ser roteado para um diferente de uma plu-ralidade de processadores de execução em rede.
28. Método, de acordo com qualquer uma das reivindicações 14 a 27, caracterizado pelo fato de que o método ainda compreende: associar com cada um da pluralidade de dados de segmentos de processamento de dados representando pelo menos um termo de quantidade, o pelo menos um termo de quantidade representando pelo menos uma quantidade de um juro financeiro a ser negociado de acordo com uma solicitação representada pelo segmento de processamento de dados correspondente, e pelo menos um termo de preço correspondente, o termo de preço representando por o pelo menos um preço proposto no qual uma negociação representada por o pelo menos um segmento de processamento de dados é para ser executada.
29. Método, de acordo com a reivindicação 28, caracteri-zado pelo fato de que o pelo menos um termo de quantidade é maior do que pelo menos uma quantidade da publicidade de juro financeiro oferecida em um preço equivalente ao termo de preço associado cor-respondente, em um mercado associado com o(s) processador(es) de execução em rede ao(s) qual(is) o pelo menos um segmento de pro-cessamento de dados é para ser roteado.
30. Dispositivo caracterizado pelo fato de que compreende pelo menos um processador configurado para realizar o método como definido em qualquer uma das reivindicações 14 a 29.
31. Meio legível por computador caracterizado pelo fato de que compreende estruturas de programação legíveis por máquina não transientes configuradas para induzir pelo menos um processador a executar o método como definido em qualquer uma das reivindicações 14 a 29.
BR112012013891-0A 2009-12-10 2010-06-08 Sistema para efetuar processamento sincronizado de dados através de múltiplos recursos de computação em rede, método, dispositivo e meio legível por computador BR112012013891B1 (pt)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
BR112012013891A2 BR112012013891A2 (pt) 2016-05-03
BR112012013891B1 true BR112012013891B1 (pt) 2020-12-08

Family

ID=43381950

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112012013891-0A BR112012013891B1 (pt) 2009-12-10 2010-06-08 Sistema para efetuar processamento sincronizado de dados através de múltiplos recursos de computação em rede, método, dispositivo e meio legível por computador

Country Status (13)

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

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122124B1 (en) 2008-09-29 2012-02-21 Amazon Technologies, Inc. Monitoring performance and operation of data exchanges
US8316124B1 (en) 2008-09-29 2012-11-20 Amazon Technologies, Inc. Managing network data display
US8286176B1 (en) 2008-09-29 2012-10-09 Amazon Technologies, Inc. Optimizing resource configurations
US8117306B1 (en) 2008-09-29 2012-02-14 Amazon Technologies, Inc. Optimizing content management
US7930393B1 (en) 2008-09-29 2011-04-19 Amazon Technologies, Inc. Monitoring domain allocation performance
US7865594B1 (en) 2008-09-29 2011-01-04 Amazon Technologies, Inc. Managing resources consolidation configurations
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
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
US9979589B2 (en) 2009-12-10 2018-05-22 Royal Bank Of Canada Coordinated processing of data by networked computing resources
US9959572B2 (en) 2009-12-10 2018-05-01 Royal Bank Of Canada Coordinated processing of data by networked computing resources
WO2011069234A1 (en) 2009-12-10 2011-06-16 Royal Bank Of Canada Synchronized 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 株式会社日立製作所 通信システム
EP3726451A1 (en) 2012-09-12 2020-10-21 IEX Group, Inc. Transmission latency leveling apparatuses, methods and systems
WO2014089673A1 (en) * 2012-12-11 2014-06-19 Joseph Schmitt System and method for automated trading of financial interests
GB2512061A (en) * 2013-03-18 2014-09-24 Rapid Addition Ltd Transactional message format data conversion
EP3223226A1 (en) * 2013-06-24 2017-09-27 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
SG11201601025VA (en) * 2013-11-07 2016-03-30 Cfph Llc Foreign exchange trading
US11532043B2 (en) * 2014-03-11 2022-12-20 Chicago Mercantile Exchange Inc. Market operation through regulation of incoming order match allocation and/or dynamic resting order match allocation priorities
AU2015247596A1 (en) * 2014-04-16 2016-11-03 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
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
KR20170047292A (ko) 2014-08-22 2017-05-04 아이이엑스 그룹, 인크. 전자 거래 시스템에서의 동적 페그 주문
US10311515B2 (en) 2014-09-17 2019-06-04 Iex Group, Inc. System and method for a semi-lit market
WO2016054721A1 (en) 2014-10-08 2016-04-14 Tsx Inc. Selective delayed and undelayed database updating
CA2940605C (en) 2014-10-20 2018-08-21 Tsx Inc. Database updating with latency tolerance
EP3234792B1 (en) 2014-12-15 2023-06-07 Royal Bank Of Canada Verification of data processes in a network of computing resources
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
US10311372B1 (en) 2014-12-19 2019-06-04 Amazon Technologies, Inc. Machine learning based content delivery
US10311371B1 (en) 2014-12-19 2019-06-04 Amazon Technologies, Inc. Machine learning based content delivery
SG10202110018RA (en) * 2015-02-27 2021-10-28 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
EP3398155A1 (en) 2015-12-30 2018-11-07 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 トラディション アメリカ,エルエルシー 注文処理をライブ化するシステム及び方法
US10943297B2 (en) * 2016-08-09 2021-03-09 Chicago Mercantile Exchange Inc. Systems and methods for coordinating processing of instructions across multiple components
US10748210B2 (en) 2016-08-09 2020-08-18 Chicago Mercantile Exchange Inc. Systems and methods for coordinating processing of scheduled instructions across multiple components
WO2018044334A1 (en) 2016-09-02 2018-03-08 Iex Group. Inc. System and method for creating time-accurate event streams
US11037243B2 (en) * 2018-04-25 2021-06-15 Ubs Business Solutions Ag Dynamic dissemination of information to network devices
US11037241B2 (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 (269)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68927946T2 (de) * 1988-08-02 1997-10-16 Philips Electronics Nv Verfahren und Vorrichtung für die Synchronisierung von parallelen Prozessoren unter Verwendung einer unscharf definierten Sperre
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
US6574661B1 (en) * 1997-09-26 2003-06-03 Mci Communications Corporation Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client
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
US6493341B1 (en) 1999-12-31 2002-12-10 Ragula Systems Combining routers to increase concurrency and redundancy in external network access
US6295276B1 (en) 1999-12-31 2001-09-25 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
AU2001251051A1 (en) * 2000-03-28 2001-10-08 Seebeyond Technology Corporation Systems and methods for analyzing business processes
US6789125B1 (en) 2000-05-10 2004-09-07 Cisco Technology, Inc. Distributed network traffic load balancing technique implemented without gateway router
US6742044B1 (en) * 2000-05-10 2004-05-25 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
US7219158B2 (en) * 2000-07-21 2007-05-15 Hughes Network Systems Llc Method and system for improving network performance using a performance enhancing proxy
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
US6809733B2 (en) * 2000-11-27 2004-10-26 Silicon Graphics, Inc. Swap buffer synchronization in a distributed rendering system
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
US7937470B2 (en) * 2000-12-21 2011-05-03 Oracle International Corp. Methods of determining communications protocol latency
WO2002065286A2 (en) * 2001-02-12 2002-08-22 Lto Limited Client software enabling a client to run a network based application
WO2002069174A1 (fr) * 2001-02-28 2002-09-06 Fujitsu Limited Procede d'execution en parallele de processus et ordinateur a processeurs multiples
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 日本電気株式会社 マルチスレッド実行方法及び並列プロセッサシステム
EP1292109A1 (en) * 2001-08-27 2003-03-12 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
EP1504385A4 (en) * 2001-12-05 2008-12-03 Xchange Advantage Inc E 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
US20030225666A1 (en) * 2002-05-14 2003-12-04 Murtaugh Jeanne L. 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
US20060075079A1 (en) 2004-10-06 2006-04-06 Digipede Technologies, Llc Distributed computing system installation
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
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
AR059552A1 (es) 2006-02-17 2008-04-09 Directv Group Inc Agrupamiento de datos de usuario en relacion con datos geograficos
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
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
US7970891B1 (en) 2007-01-17 2011-06-28 Google Inc. Tracking links in web browsers
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
EP2130121A1 (en) 2007-12-03 2009-12-09 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
US8583515B2 (en) * 2007-12-21 2013-11-12 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
JP5871619B2 (ja) 2008-12-15 2016-03-01 アイ・ピー・リザブワー・エル・エル・シー 金融市場深度データの高速処理のための方法および装置
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
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
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
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
US10771536B2 (en) * 2009-12-10 2020-09-08 Royal Bank Of Canada Coordinated processing of data by networked computing resources
WO2011069234A1 (en) 2009-12-10 2011-06-16 Royal Bank Of Canada Synchronized 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
US8914438B2 (en) * 2010-05-20 2014-12-16 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 株式会社日立製作所 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置
SG177236A1 (en) 2010-07-13 2012-03-29 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
WO2012079041A1 (en) * 2010-12-09 2012-06-14 Exegy Incorporated Method and apparatus for managing orders in financial markets
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
KR101803303B1 (ko) * 2010-12-21 2017-12-29 삼성전자주식회사 멀티미디어 아키텍처 패턴 결정 방법, 싱글코어에서 멀티코어 기반으로의 아키텍처 전환 장치 및 방법
US8949414B2 (en) 2010-12-29 2015-02-03 Citrix Systems, Inc. Systems and methods for scalable N-core stats 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
WO2013189024A1 (en) * 2012-06-19 2013-12-27 Hewlett-Packard Development Company, L.P. Server site selection
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
EP3726451A1 (en) 2012-09-12 2020-10-21 IEX Group, Inc. Transmission latency leveling apparatuses, methods and systems
WO2014089673A1 (en) 2012-12-11 2014-06-19 Joseph Schmitt System and method for automated trading of financial interests
US9660874B2 (en) * 2012-12-13 2017-05-23 Level 3 Communications, Llc Devices and methods supporting content delivery with delivery services having dynamically configurable log information
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
EP3223226A1 (en) 2013-06-24 2017-09-27 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 富士通株式会社 相関係数算出方法、相関係数算出プログラムおよび相関係数算出装置
WO2015168767A1 (en) * 2014-05-08 2015-11-12 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
SG10202110018RA (en) 2015-02-27 2021-10-28 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
EP3317802B1 (en) * 2015-09-15 2019-05-29 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
PL3941106T3 (pl) * 2016-03-18 2023-11-20 Plume Design, Inc. Oparte na chmurze sterowanie sieci wi-fi
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
CN109906455A (zh) 2016-09-08 2019-06-18 Aiq私人股份有限公司 视觉搜索查询中的对象检测
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
US11233905B1 (en) * 2017-07-06 2022-01-25 United Services Automobile Association (Usaa) Call center load balancing and routing management
US10306068B1 (en) * 2017-07-06 2019-05-28 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
US10721134B2 (en) * 2017-08-30 2020-07-21 Citrix Systems, Inc. Inferring radio type from clustering algorithms
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
EP3802878A1 (en) 2018-06-04 2021-04-14 Guardant Health, Inc. Methods and systems for determining the cellular origin of cell-free nucleic acids
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
US11103773B2 (en) * 2018-07-27 2021-08-31 Yogesh Rathod Displaying virtual objects based on recognition of real world object and identification of real world object associated location or geofence
US10673708B2 (en) * 2018-10-12 2020-06-02 International Business Machines Corporation Auto tuner for cloud micro services embeddings
US11271828B2 (en) * 2018-11-15 2022-03-08 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
EP4013143A4 (en) * 2019-08-07 2023-08-02 LG Electronics Inc. IMS SIGNALING
US11963247B2 (en) * 2019-11-07 2024-04-16 Qualcomm Incorporated Handling slice limitations
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

Also Published As

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

Similar Documents

Publication Publication Date Title
BR112012013891B1 (pt) Sistema para efetuar processamento sincronizado de dados através de múltiplos recursos de computação em rede, método, dispositivo e meio legível por computador
US11823269B2 (en) Synchronized processing of data by networked computing resources
Easley et al. Discerning information from trade data
CA2913700A1 (en) Synchronized processing of data by networked computing resources

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: G06Q 40/04 (2012.01), H04L 12/26 (2006.01), H04L 1

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 08/12/2020, OBSERVADAS AS CONDICOES LEGAIS.