BR112018076673B1 - Sistema para facilitar transações em tempo real - Google Patents

Sistema para facilitar transações em tempo real Download PDF

Info

Publication number
BR112018076673B1
BR112018076673B1 BR112018076673-9A BR112018076673A BR112018076673B1 BR 112018076673 B1 BR112018076673 B1 BR 112018076673B1 BR 112018076673 A BR112018076673 A BR 112018076673A BR 112018076673 B1 BR112018076673 B1 BR 112018076673B1
Authority
BR
Brazil
Prior art keywords
data
server computer
computer system
subsets
subset
Prior art date
Application number
BR112018076673-9A
Other languages
English (en)
Other versions
BR112018076673A2 (pt
Inventor
Jon Arne Hegge
Espen Dåsvand
Leif John Korshavn
Marius Høy
Original Assignee
Centurion Dk A/S
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 Centurion Dk A/S filed Critical Centurion Dk A/S
Publication of BR112018076673A2 publication Critical patent/BR112018076673A2/pt
Publication of BR112018076673B1 publication Critical patent/BR112018076673B1/pt

Links

Images

Classifications

    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/16Payments settled via telecommunication systems
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

A presente invenção refere-se a um sistema para facilitar transações em tempo real de dados representando valor monetário entre clientes em uma rede de computadores compreende pelo menos um primeiro cliente e um sistema de computador do servidor de transações, sendo o primeiro cliente associado a um conjunto de dados representando um saldo de valor monetário. O sistema de computador do servidor de transações é configurado para receber pedidos de transações de dados representando uma soma de valor monetário de uma pluralidade de segundos clientes para atualizações em tempo real do conjunto de dados do primeiro cliente. O conjunto de dados do primeiro cliente é armazenado em uma estrutura de dados compreendendo primeiro e segundo subconjuntos de dados, cada subconjunto de dados definindo um subsaldo representando uma soma de valor monetário Os primeiro e segundo subconjuntos são atualizados simultaneamente seguindo os respectivos pedidos. Uma arquitetura de servidor que compreende um sistema de computador de servidor de autoridade administrativa adicional e túneis seguros aumenta a segurança.

Description

CAMPO DA INVENÇÃO
[001] A presente invenção refere-se a um sistema para facilitar transações em tempo real de dados representando valor monetário entre clientes em uma rede de computadores e, em particular, para arquitetura de rede e servidor, possibilitando a execução rápida e segura de grandes números de tais transações dentro de prazos curtos.
ANTECEDENTES DA INVENÇÃO
[002] A evolução da infraestrutura de comunicações, incluindo a Internet e os sistemas de telecomunicações móveis, resultou no de-senvolvimento de novas plataformas para efetuar transações monetárias. O número de pagamentos sem dinheiro aumenta constantemente, transações de cartão de crédito são efetuadas não apenas por meio de terminais de cartão de crédito, mas também por meio de serviços de Internet, tal como o PayPal®, aplicativos de smartphones ou sistemas similares. Ainda hoje, no entanto, as transações geralmente não são efetuadas imediatamente, ou seja, em tempo real, mas com um atraso de, normalmente, um dia útil. Frequentemente, os dados representativos das transações são coletados centralmente dentro de sistemas de TI de bancos, fornecedores de cartões ou outras entidades durante um certo período de tempo, como um dia, após o qual somas líquidas de valor monetário são transferidas entre contas bancárias, possivelmente através de uma autoridade intermediária, tal como um banco central ou outra parte confiável.
[003] A presente invenção refere-se a um sistema que permite que transações entre consumidores, empresas e bancos sejam efetuadas em tempo real. As modalidades da invenção procuram criar uma arquitetura de rede e servidor que permite uma execução rápida e segura em tempo real de um elevado número de transações monetárias.
SUMÁRIO DA INVENÇÃO
[004] Em um primeiro aspecto, modalidades fornecem um siste ma para facilitar transações em tempo real de dados representando valor monetário entre clientes em uma rede de computadores compreendendo pelo menos um primeiro cliente e um sistema de computador do servidor de transações, sendo o primeiro cliente associado a um conjunto de dados representando um saldo de valor monetário, o conjunto de dados sendo armazenado no sistema de computador do servidor de transações, em que o sistema de computador do servidor de transações está configurado para receber pedidos de transações de dados representando uma soma de valor monetário, através da rede de computadores, de uma pluralidade de segundos clientes para atualizações em tempo real do conjunto de dados do primeiro cliente e em que o sistema de computador do servidor de transações está configurado para: - armazenar o conjunto de dados do primeiro cliente em uma estrutura de dados, em que a estrutura de dados compreende pelo menos um primeiro subconjunto do conjunto de dados do primeiro cliente e um segundo subconjunto do conjunto de dados do primeiro cliente, cada subconjunto de dados definindo um subsaldo representando uma soma de valor monetário; - reservar cada um dos primeiro e segundo subconjuntos de dados para um primeiro e segundo respectivos dos pedidos após o recebimento dos pedidos; - atualizar o primeiro subconjunto de dados de acordo com o primeiro pedido e simultaneamente atualizar o segundo subconjunto de dados de acordo com o segundo pedido.
[005] Ao dividir o conjunto de dados representando o saldo do va lor monetário em primeiro e segundo subconjuntos e ao atualizar simul-taneamente os primeiro e segundo subconjuntos, é possível que dois dos pedidos de atualização do conjunto de dados possam ser processados em paralelo, ou seja, ao mesmo tempo. Assim, a velocidade da transação é melhorada e mais atualizações por unidade de tempo podem ser realizadas dessa forma. A atualização do subconjunto de dados do primeiro cliente pode residir, em particular, na retirada do valor monetário do conjunto de dados do primeiro cliente para reduzir o saldo do valor monetário representado por esse meio. Por exemplo, o pedido de uma transação pode residir em um pedido de um dos segundos clientes para transferir ou transmitir uma soma de valor monetário do conjunto de dados para um conjunto adicional de dados que representa um saldo monetário do segundo cliente solicitante. Em uma modalidade da invenção, cada pedido de transações é comparado com o saldo de cada subconjunto de dados para assegurar que a soma do valor monetário a ser retirado não exceda o subsaldo do subconjunto do conjunto de dados ao qual o pedido em questão é designado. Alternativa ou adicionalmente, o sistema de computador do servidor de transações pode ser configurado para recusar um pedido, caso a soma a ser retirada exceda o saldo disponível do conjunto de dados.
[006] Além disso, o aumento na velocidade da transação pode ser alcançado sem alterar a configuração de hardware do computador do sistema para transações. Isso tem vários efeitos tangíveis no mundo físico, fora os bits e bytes de um sistema de computador. Em primeiro lugar, as modalidades da invenção podem lidar com o mesmo número de transações que os sistemas conhecidos na técnica, mas com um poder de processamento significativamente menor. Por conseguinte, as modalidades da presente invenção podem diminuir a procura por hardware. Além disso, através de um tratamento mais eficiente dos pedidos de transações e atualizações, o consumo de energia pode ser reduzido pelas modalidades da invenção, reduzindo ainda mais a procura de recursos.
[007] Os clientes podem incluir redes de computadores de insti tuições monetárias, tais como bancos. As redes de computadores das instituições monetárias podem incluir pelo menos uma porta de ligação segura, tal como uma barreira de proteção, para estabelecer portas de ligação de comunicação de dados seguras. Tais portas de ligação de comunicação de dados seguras ficam vantajosamente situadas entre as redes de computadores dos clientes e quaisquer computadores externos. Caso os clientes sejam bancos, as transações de dados representando valor monetário acontecem entre os bancos. Tais transações podem ser referidas como transferências de banco para banco.
[008] A pluralidade de segundos clientes pode receber pedidos de transações de clientes externos. Tais clientes externos podem ser computadores em uma rede externa, tal como a Internet. Os computadores podem ser operados pelos clientes dos segundos clientes, por exemplo, pessoas individuais ou empresas. As transações também podem ser geradas a partir de computadores dentro da rede de computadores de manipuladores de dinheiro de terceiros especializados em facilitar transferências de dinheiro. Os pedidos de transações também podem ser gerados dentro das redes de computadores dos segundos clientes individuais.
[009] O sistema de computador do servidor de transações pode ser um servidor central, por exemplo, em nível regional, nacional ou supranacional, administrado por um terceiro confiável, tal como um banco central. Alternativamente, pode ser uma outra parte confiável de acordo com as instituições monetárias e um banco central. Como outra alternativa, o computador do servidor da transação pode ser apenas a parte adicional confiável pelas instituições monetárias.
[0010] Além do sistema de computador do servidor de transações, as modalidades do sistema de acordo com a presente invenção podem compreender um sistema de computador de autoridade adminis- trativa. Em tais modalidades, o primeiro cliente pode ter uma conta definindo um saldo real do valor monetário dentro do sistema de computador da autoridade administrativa, e essa conta pode ser espelhada no conjunto de dados do primeiro cliente armazenado no sistema de computador da transação. No contexto atual, espelhar a conta no conjunto de dados deve ser entendido como comparar ou igualar o saldo do dinheiro real definido pela conta com o saldo do valor monetário representado pelo conjunto de dados. Tal espelhamento pode ser realizado, de modo que o saldo do dinheiro real fique igual ou pelo menos tão grande quanto o valor monetário representado pelo conjunto de dados.
[0011] Ao executar a atualização de acordo com os pedidos de transações no conjunto espelhado de dados, os atrasos de latência causados pela atualização do saldo real das contas das instituições monetárias no sistema de computador da autoridade administrativa podem ser reduzidos ou evitados. Consequentemente, ao espelhar os dados reais e o conjunto de dados no sistema de computador do servidor de transações, pode ser conseguido um aumento adicional da velocidade de transação. A atualização do saldo real pode ser realizada de forma intermitente, ou seja, após um determinado número de pedidos ter sido processado pelo sistema de computador do servidor de transações, assim causando atrasos de latência apenas das atualizações dos saldos reais que precisam ocorrer apenas em intervalos de, por exemplo, seis horas, uma hora ou 15 minutos. Os intervalos também podem ser definidos por somas de transação acumuladas, o número de transações realizadas, etc.
[0012] Da mesma forma, a conta do primeiro cliente no sistema de computador da autoridade administrativa pode ser espelhada no conjunto de dados do primeiro cliente apenas em determinados intervalos. O espelhamento da conta para o conjunto de dados deve ser realizado preferencialmente para garantir que o saldo real no sistema de computador do servidor da autoridade administrativa reflita adequadamente o saldo representado pelo conjunto de dados, conforme atualizado de acordo com os pedidos, no sistema de computador do servidor de transações. Como tal, o espelhamento é preferencialmente realizado em relação à atualização do saldo real definido pela conta. A etapa de espelhamento pode fazer parte da invenção como aqui reivindicada, ou pode ser realizada por um componente de software ligado ao sistema de acordo com a invenção.
[0013] No contexto atual, o termo transações em tempo real se refere a transações que são processadas à medida que são recebidas. Como consequência, os pedidos de atualizações de dados que representam valores monetários não são acumulados ao longo do tempo e subsequentemente processados em pacotes de pedidos acumulados, mas, em vez disso, os pedidos são processados individualmente pelo sistema de computador do servidor de transações, preferencialmente um por um. Desta forma, cada pedido de atualização de dados representando valor monetário pode fazer com que o conjunto de dados seja atualizado e o saldo representado pelo conjunto de dados seja alterado. Transações em tempo real também podem ser chamadas de pagamentos instantâneos.
[0014] A estrutura de dados do sistema de computador do servidor de transações, na qual o conjunto de dados do primeiro cliente é armazenado, compreende pelo menos o primeiro subconjunto do conjunto de dados do primeiro cliente e o segundo subconjunto do primeiro conjunto de dados de clientes. A estrutura de dados também pode compreender um número maior de subconjuntos de dados, tal como, por exemplo, três, quatro, cinco, oito, dez, 15 ou 20. A soma do valor monetário representado pelos subsaldos acumulados dos subconjuntos de dados pode ser igual ao valor monetário representado pelo con- junto de dados. A estrutura de dados em que o conjunto de dados do primeiro cliente é armazenado pode ser fisicamente armazenada em uma memória de um único computador servidor ou pelo menos dois computadores servidores do sistema de computador do servidor de transações.
[0015] Na modalidade acima, quando o sistema de computador do servidor de transações recebe uma pluralidade de pedidos de atualizações do conjunto de dados do primeiro cliente, o sistema de computador do servidor de transações reserva o primeiro subconjunto de dados para o primeiro dos pedidos e reserva o segundo subconjunto de dados para o segundo dos pedidos. Os primeiro e segundo subconjuntos de dados reservados ficam, de preferência, indisponíveis para atualização de acordo com qualquer pedido que não seja o pedido para o qual estão reservados. Ao reservar um subconjunto de dados para um pedido particular para atualização, é garantido que o subconjunto reservado de dados seja atualizado apenas de acordo com um dos pedidos de cada vez. O sistema de computador do servidor de transa-ções pode ser configurado para determinar se a atualização prevista do subconjunto reservado de dados fará com que o subsaldo representado pelo subconjunto reservado de dados fique negativo. Nesse caso, pode ser determinado no momento em que um subconjunto é reservado para o primeiro ou o segundo dos pedidos, se a atualização em resposta ao primeiro ou ao segundo dos pedidos deve ser permitida. É então possível notificar o remetente do primeiro ou segundo pedido, ou seja, o segundo cliente, se a transação é permissível ou se será rejeitada mesmo antes de o conjunto de dados ser atualizado.
[0016] Depois que o primeiro subconjunto de dados foi reservado para atualização de acordo com o primeiro dos pedidos e o segundo subconjunto de dados foi reservado para atualização de acordo com o segundo dos pedidos, os primeiro e segundo subconjuntos de dados são atualizados simultaneamente. A atualização simultânea dos primeiro e segundo subconjuntos de dados pode permitir que o conjunto de dados do primeiro cliente seja atualizado em resposta a mais de um pedido de cada vez. Como também descrito acima, isso aumentará a taxa na qual os pedidos de atualização do conjunto de dados do primeiro cliente podem ser processados pelo sistema. Uma vez que um do primeiro ou do segundo subconjunto de dados tenha sido atualizado, não há mais necessidade de o respectivo subconjunto de dados ser reservado. Assim, um subconjunto de dados pode ser liberado assim que for atualizado para que esteja disponível para atualizações posteriores.
[0017] O sistema de computador do servidor de transações pode ser configurado para atualizar mais de um subconjunto de dados de acordo com um único pedido de atualização do primeiro conjunto de dados de clientes.
[0018] A rede de computadores pode compreender uma pluralida de de primeiros clientes, sendo cada primeiro cliente associado a um conjunto de dados respectivo.
[0019] O sistema de computador do servidor de transações pode incluir: - uma primeira unidade de processamento para processar o recebimento dos pedidos de transações e - uma segunda unidade de processamento para reservar cada um dos primeiro e segundo subconjuntos de dados para os respectivos primeiro e segundo dos pedidos após o recebimento dos pedidos e para atualizar o primeiro subconjunto de dados de acordo com o primeiro pedido e para simultaneamente atualizar o segundo subconjunto de dados de acordo com o segundo pedido; em que a primeira unidade de processamento é ainda configurada para instruir a segunda unidade de processamento a armaze- nar o conjunto de dados do primeiro cliente na estrutura de dados, reservar cada um dos primeiro e segundo subconjuntos de dados para os respectivos primeiro e segundo pedidos ao receber os pedidos e para atualizar o primeiro subconjunto de dados de acordo com o primeiro pedido e para atualizar simultaneamente o segundo subconjunto de dados de acordo com o segundo pedido.
[0020] As primeira e segunda unidades de processamento dedica das permitem o processamento paralelo da manipulação do recebimento de pedidos pela primeira unidade de processamento e atualização de primeiro e segundo subconjuntos de dados pela segunda unidade de processamento, permitindo a superação de possíveis gargalos e, consequentemente, mais atualizações por unidade de tempo podem ser realizadas. Mais especificamente, isto pode permitir que a primeira unidade de processamento manipule o recebimento de pedidos, mesmo se o segundo processamento estiver total ou quase totalmente ocupado com a atualização dos primeiro e segundo subconjuntos de dados. Da mesma forma, isto pode permitir que a segunda unidade de processamento atualize os primeiro e segundo subconjuntos de dados, mesmo se a primeira unidade de processamento estiver totalmente ou quase totalmente ocupada, tratando da recepção de pedidos.
[0021] Além disso, tais modalidades permitem que a primeira uni dade de processamento e a segunda unidade de processamento sejam configuradas para ter capacidades de computação individuais e possivelmente tenham capacidades de computação escolhidas de modo a otimizar o balanceamento de carga de trabalho entre as primeira e segunda unidades de processamento. Isto permite que o sistema de computador do servidor de transações seja ainda otimizado de modo a minimizar o tempo que a primeira unidade de processamento pode ter de esperar até que a segunda unidade de processamento termine e vice-versa.
[0022] A primeira unidade de processamento e as segundas uni dades de processamento são preferencialmente CPUs separadas ou núcleos de CPU separados.
[0023] A segunda unidade de processamento pode ser uma uni dade de processamento paralela que compreende múltiplos núcleos em uma única CPU ou múltiplas CPUs. Isso permite o processamento paralelo de vários subconjuntos de dados simultaneamente em CPUs individuais ou núcleos de CPU, permitindo que mais atualizações por unidade de tempo sejam obtidas.
[0024] Cada um dos subconjuntos de dados pode ser processado em uma das CPUs dedicadas ou núcleos de CPU da unidade de pro-cessamento paralela, para que cada subconjunto de dados seja processado por um dos processadores ou núcleos de processador diferentes de qualquer outro dos processadores ou núcleos de processador. Neste caso, cada um das CPUs ou núcleos de CPU é preferivelmente dedicado para processar um único subconjunto de dados. Consequentemente, o processamento de cada subconjunto de dados pode ser realizado com pouco ou nenhum impacto no processamento de outros subconjuntos de dados. Isso pode aumentar ainda mais o número atingido de atualizações por unidade de tempo.
[0025] O sistema de computador do servidor de transações pode ser configurado para determinar, após o recebimento de um terceiro dos pedidos, se os primeiro e segundo subconjuntos de dados são reservados e, se afirmativamente, executar uma atualização do conjunto de dados de acordo com um esquema de atualização auxiliar predefi- nido. Nesse caso, o computador do servidor de transações é configurado para manipular o caso quando o terceiro dos pedidos de atualização do conjunto de dados do primeiro cliente é recebido antes que as atualizações, de acordo com os primeiro e segundo pedidos, sejam concluídas.
[0026] O esquema de atualização auxiliar predefinido pode ser pa ra armazenar o terceiro dos pedidos e determinar se os primeiro e segundo subconjuntos de dados são reservados em intervalos predefini- dos no tempo. Os intervalos predefinidos no tempo podem estar em, por exemplo, a escala de microssegundos, a escala de milissegundos ou a escala de segundos. O sistema de computador do servidor de transações pode então continuar a determinar se os primeiro e segundo subconjuntos de dados são reservados até que pelo menos um dos primeiro e segundo subconjuntos de dados não seja reservado. Neste ponto, o pelo menos um dos subconjuntos de dados não reservados é reservado para o terceiro dos pedidos.
[0027] No caso de a estrutura de dados compreender três subcon juntos de dados, o esquema de atualização auxiliar predefinido pode ser para determinar se o terceiro subconjunto de dados está reservado. Se o terceiro subconjunto de dados não está reservado, o terceiro subconjunto de dados pode ser atualizado de acordo com o terceiro pedido. Se o terceiro subconjunto de dados está reservado e, no caso de a estrutura de dados compreender quatro subconjuntos de dados, o esquema de atualização predefinido pode ser para determinar se o quarto subconjunto de dados está reservado. Este esquema de atualização auxiliar pode ser aplicado em sistemas em que a estrutura de dados compreende qualquer número de subconjuntos de dados maiores do que dois. Neste caso, o sistema é potencialmente capaz de processar simultaneamente tantos pedidos de atualização do conjunto de dados do primeiro cliente quanto o número de subconjuntos de dados que a estrutura de dados compreende.
[0028] O sistema de computador do servidor de transações pode ser configurado para: - determinar, mediante reserva do primeiro subconjunto de dados para um dos pedidos, se uma atualização prevista do subcon- junto reservado de dados em resposta a esse pedido faria com que o subsaldo do subconjunto reservado de dados se tornasse negativo; - se for determinado que o subsaldo do subconjunto reservado de dados se tornaria negativo: dividir o pedido em um primeiro conjunto de uma pluralidade de subpedidos, reservar o segundo subconjunto de dados e atualizar os primeiro e segundo subconjuntos de dados simultaneamente de acordo com a pluralidade de subpedidos.
[0029] Neste caso, o pedido pode ser processado pelo sistema mesmo se a soma do valor monetário representado pelos dados a serem transferidos excede a soma do valor monetário representado pelo subsaldo do subconjunto reservado de dados. De acordo com esta modalidade, cada subpedido do primeiro conjunto de subpedidos é para transação de dados representando uma subsoma de valor monetário. As subsomas acumuladas dos subpedidos são iguais à soma do valor monetário representado pelos dados que o pedido pediu para serem transferidos, a partir dos quais os subpedidos são derivados. Por conseguinte, o pedido é dividido entre o primeiro subconjunto de dados e o segundo subconjunto de dados. No caso de a estrutura de dados compreender mais do que dois subconjuntos de dados, mais de dois subconjuntos de dados podem ser reservados e depois atualiza-dos simultaneamente de acordo com a pluralidade de subpedidos.
[0030] O sistema de computador do servidor de transações pode ser configurado para: - determinar os subsaldos de uma pluralidade de subconjuntos de dados em resposta ao recebimento de um dos pedidos; - reservar simultaneamente um número de subconjuntos de dados definindo subsaldos suficientemente grandes para que os sub- saldos acumulados dos subconjuntos de dados reservados sejam pelo menos tão grandes quanto a soma do valor monetário representado pelos dados solicitados para transferência; - dividir o pedido em um segundo conjunto de subpedidos, sendo o número de subpedidos no segundo conjunto de subpedidos igual ao número de subconjuntos reservados de dados; - atualizar os subconjuntos de dados reservados simultaneamente de acordo com o segundo conjunto de subpedidos.
[0031] Neste caso, o pedido pode ser processado pelo sistema mesmo se a soma do valor monetário representado pelos dados a serem transferidos excede a soma do valor monetário representado pelo subsaldo de qualquer um dos subconjuntos de dados. Além disso, porque o número de subconjuntos de dados necessários para processar o pedido sem que qualquer um dos subsaldos se torne negativo é reservado simultaneamente, pode ser assegurado que, se algum subconjunto de dados for reservado para o pedido, todos os subconjuntos de dados necessários para processar o pedido são reservados. Consequentemente, pode ser evitado que qualquer um dos subconjuntos de dados seja reservado para o pedido sem que o pedido possa ser processado.
[0032] De acordo com esta modalidade, cada subpedido do se gundo conjunto de subpedidos é para transação de dados representando uma subsoma do valor monetário. Também, as subsomas acumuladas dos subpedidos do segundo conjunto de subpedidos são iguais à soma do valor monetário representado pelos dados solicitados para transferência pelo pedido do qual os subpedidos são gerados. Além disso, o pedido é dividido no segundo conjunto de subpedidos de tal maneira que cada subsoma não é maior que o subsaldo de um designado dos subconjuntos de dados reservados.
[0033] O sistema de computador do servidor de transações pode ser configurado para alterar o número de subconjuntos de dados armazenados na estrutura de dados com base em uma avaliação do número de pedidos recebidos dentro de um período de tempo especificado.
[0034] De acordo com esta modalidade, o sistema de computador das transações é configurado para otimizar o número de subconjuntos na estrutura de dados. Em geral, à medida que o número de subconjuntos de dados na estrutura de dados aumenta, a necessidade de manutenção da estrutura de dados aumenta. Além disso, por exemplo, a integridade dos dados de cada subconjunto de dados deve ser assegurada, a comunicação de dados para e de cada subconjunto de dados deve ser possível e o conjunto de dados do primeiro cliente aumenta em complexidade com um número crescente de subconjuntos de dados. Por outro lado, à medida que o número de subconjuntos de dados na estrutura de dados aumenta, o número de pedidos que o sistema pode processar simultaneamente também aumenta. Assim, um número ideal de subconjuntos de dados na estrutura de dados pode existir e o sistema de computador do servidor de transações pode ser configurado para variar o número de subconjuntos de dados com base na configuração de usuário predefinida ou preestabelecida ou com base em uma determinação de pedidos, recursos computacionais disponíveis, tal como a potência da CPU ou disponibilidade de memória, carga computacional, etc., preferencialmente com o intuito de aproximar-se do número ótimo.
[0035] A avaliação pode incluir uma comparação do número de pedidos recebidos dentro de um período de tempo especificado com um primeiro número limiar e um segundo número limiar. Nesse caso, se o número de pedidos recebidos for maior que o primeiro número limiar, o sistema do computador do servidor de transações será configurado para aumentar o número de subconjuntos de dados. Por conseguinte, se o número de pedidos recebidos for inferior ao segundo número limiar, o sistema de computador do servidor de transações pode ser configurado para diminuir o número de subconjuntos de dados. O primeiro número limiar pode ser igual ou maior do que o segundo número limiar. Quanto mais próximos os dois números limiares são um do outro, mais frequentemente o número de subconjuntos de dados é alterado e é mais provável que o número de subconjuntos corresponda com um número adequado de subconjuntos com base na avaliação.
[0036] O período de tempo especificado pode ser um período de tempo decorrido recentemente. Nesse caso, o número de subconjuntos pode ser definido (otimizado) com relação à necessidade atual de processamento de pedidos. O período de tempo especificado pode ser, alternativamente, um período de tempo no passado, por exemplo, um período que terminou um ano atrás, um mês atrás ou um dia atrás. Nesse caso, o número de subconjuntos pode ser variado (otimizado) de acordo com as tendências observadas anteriormente nas necessidades de processamento de pedidos que podem ocorrer novamente.
[0037] O sistema de computador do servidor de transações pode ser configurado para alterar o número de subconjuntos de dados armazenados na estrutura de dados com base em uma avaliação da soma do valor monetário representado pelos dados pedidos para transferência dentro de um período de tempo especificado. Isso permite que o computador do servidor de transações, por exemplo, reduza o número de subconjuntos de dados se o primeiro compartilhamento dos pedidos recebidos se referir a somas maiores que uma primeira soma limiar ou aumente o número de subconjuntos de dados se um segundo compartilhamento dos pedidos recebidos é para somas menores do que uma segunda soma limiar. Isso pode aumentar o número de transações que o sistema é capaz de processar por unidade de tempo.
[0038] O sistema de computador do servidor de transações pode ser configurado para: - determinar os subsaldos de cada um da pluralidade de subconjuntos de dados em intervalos predeterminados; - gerar e preencher uma lista priorizada de subconjuntos de dados, em que a lista priorizada classifica os subconjuntos ou grupos dos subconjuntos de acordo com seus subsaldos associados; - selecionar um dos subconjuntos ou grupos de subconjuntos na lista priorizada para cada um dos pedidos com base na lista pri- orizada; - atribuir cada um dos pedidos ao subconjunto ou grupos de subconjuntos selecionados e subsequentemente - atualizar pelo menos um dos subconjuntos de dados do subconjunto selecionado ou grupos dos subconjuntos de acordo com cada um dos pedidos.
[0039] Nesse caso, o sistema de computador do servidor de transa ções pode ser capaz de reservar preferencialmente os subconjuntos de dados com os maiores subsaldos em resposta ao recebimento de pedidos de transações de dados que representam as primeiras somas de valor monetário que são maiores do que as segundas somas de valor monetário de outros pedidos. Inversamente, o sistema de computador do servidor de transações também pode ser capaz de reservar preferencialmente os subconjuntos de dados com os menores subsaldos dos subconjuntos de dados em resposta ao recebimento de pedidos de transações de dados que representam terceiras somas de valor monetário que são menores do que as quartas somas do valor monetário de outros pedidos. Por conseguinte, o número de subconjuntos de dados reservados para processar um pedido de dados representando uma soma relativamente grande de valor monetário pode ser reduzido. Além disso, os subconjuntos de dados com os menores subsaldos podem processar pedi-dos de somas relativamente pequenas, sem alguns pedidos de somas relativamente grandes, reservando um grande número dos subconjuntos com os menores subsaldos. Consequentemente, a soma do valor monetário representado pelo conjunto de dados pode ser reduzida.
[0040] O sistema de computador do servidor de transações tam bém pode atribuir pedidos para uma sequência priorizada de subconjuntos ou grupos de subconjuntos na lista priorizada. Por exemplo, ao receber um pedido de uma primeira soma do valor monetário maior que as segundas somas do monetário, o computador do servidor de transações pode atribuir a pluralidade de subpedidos derivados do pedido aos subconjuntos de dados não reservados com os maiores sub- saldos no momento da reserva de subconjuntos para a pluralidade de subpedidos. Isto pode reduzir ainda mais o número de subconjuntos reservados para processar um pedido de dados representando uma soma relativamente grande de valor monetário.
[0041] As segunda e quarta somas de valor monetário podem ser variadas para alterar quais subconjuntos de dados na lista priorizada estão sendo preferencialmente reservados para pedidos representando determinadas somas de valor monetário. As segunda e quarta somas podem ser variadas em resposta a, por exemplo, variação nos subsaldos dos subconjuntos de dados na lista priorizada, a soma média do valor monetário representado por pedidos recebidos dentro do intervalo especificado ou a soma mínima e/ou máxima do valor monetário representado pelos pedidos recebidos dentro do intervalo especificado.
[0042] O intervalo especificado de acordo com esta modalidade pode ser intervalos definidos por, por exemplo, o número de pedidos recebidos, as somas de pedidos acumuladas, as somas de pedidos acumuladas, o número de transações realizadas, etc.
[0043] O sistema de computador do servidor de transações pode compreender uma pluralidade de unidades de armazenamento de dados individuais e em que cada subconjunto de dados é armazenado em uma unidade de armazenamento de dados individual. Isso pode diminuir o tempo necessário para atualizar cada subconjunto de da dos, pois cada unidade de armazenamento de dados precisa atualizar apenas um subconjunto de dados por vez.
[0044] O sistema de computador do servidor de transações pode compreender uma pluralidade de computadores servidores, em cujo caso todos os dados associados com o primeiro cliente são preferivelmente armazenados em um computador servidor único. No caso deste caso, todos os pedidos de atualização do conjunto de dados do primeiro cliente são enviados para o computador servidor único. Também, a estrutura de dados e, portanto, os subconjuntos de dados são armazenados no computador servidor único. Consequentemente, pode ser evitado que a comunicação entre computadores servidores seja necessária para, por exemplo, determinar subsaldos dos subconjuntos de dados, determinar o saldo do conjunto de dados a partir dos subsa- ldos acumulados dos subconjuntos de dados, atualizar os subconjuntos de dados de acordo com a pluralidade de subpedidos ou gerar e preencher a lista priorizada dos subconjuntos de dados. Assim, o número de pedidos processados por unidade de tempo pode ser aumentado. O computador servidor único pode armazenar dados associados apenas com o primeiro cliente. Neste caso, cada computador servidor é dedicado a um único primeiro cliente, mesmo que a rede de computadores compreenda uma pluralidade de primeiros clientes. Assim, cada computador servidor só manipula pedidos de atualizações do conjunto de dados do cliente único. Assim, o tráfego de dados para pedidos de atualizações de uma pluralidade de conjuntos de dados de primeiros clientes é dividido entre uma pluralidade de computadores servidores e a chance de gargalos de tráfego de dados ocorrendo no sistema pode ser reduzida.
[0045] Os subconjuntos de dados associados com o primeiro clien te podem ser armazenados em pelo menos dois computadores servidores, caso em que nenhum conjunto de subpedidos é processado em mais de um computador servidor. De acordo com esta modalidade, pelo menos os primeiro e segundo subconjuntos de dados são armazenados em um primeiro computador servidor e pelo menos um terceiro e quarto subconjuntos de dados são armazenados em um segundo computador servidor. Isso permite que a totalidade de pedidos de atualização do conjunto de dados do cliente único seja dividida entre pelo menos dois computadores servidores. Assim, cada computador servidor recebe um número menor de pedidos de atualização do conjunto de dados do primeiro cliente. Assim, o número de pedidos pro-cessados por unidade de tempo pode ser aumentado. Além disso, pelo fato de que nenhum conjunto de subpedidos é processado em mais de um computador servidor, menos comunicação entre os pelo menos dois computadores servidores pode ser necessária com o recebimento de um único pedido.
[0046] O sistema de computador do servidor de transações pode ser configurado para determinar os subsaldos de todos os subconjuntos de dados em intervalos predefinidos no tempo. Com base nos sub- saldos determinados de todos os subconjuntos de dados, o sistema de computador do servidor de transações pode ser capaz de determinar se, por exemplo, os subsaldos de subconjuntos de dados que são diferentes de um intervalo de subsaldo limiar de preferência têm seus subsaldos ajustados, o saldo do conjunto de dados é diferente de um intervalo de saldo limiar e, de preferência, têm o saldo ajustado, etc. Consequentemente, o sistema de computador do servidor de transações pode ser capaz de melhorar a operação do sistema.
[0047] Os intervalos de tempo podem ser, por exemplo, uma vez por dia, 12 horas, 1 hora, 30 minutos, 15 minutos, 5 minutos, 30 segundos, etc.
[0048] O sistema de computador do servidor de transações pode ser configurado para emitir pedidos de transferência de dados repre- sentando uma soma de valor monetário entre subconjuntos de dados do conjunto de dados do primeiro cliente com base, pelo menos, nos subsaldos dos subconjuntos de dados. Nesse caso, o sistema de computador do servidor de transações pode ser capaz de variar os subsaldos dos subconjuntos de dados e, possivelmente, nivelar as diferenças entre os subsaldos individuais de subconjuntos individuais de dados. Isso pode aumentar o número de transações processadas por unidade de tempo, já que a chance de subconjuntos de dados atingirem saldo zero ou próximo de zero pode ser reduzida.
[0049] O sistema de computador do servidor de transações pode definir pelo menos um primeiro e um segundo subsaldos limiares. Nesse caso, se o subsaldo do primeiro subconjunto de dados for menor que o primeiro subsaldo limiar, o sistema de computador do servidor de transações pode emitir um pedido de transferência de dados que representa uma soma de valor monetário do segundo subconjunto de dados para o primeiro subconjunto de dados. Assim, o subsaldo do primeiro subconjunto de dados é aumentado. Inversamente, se o sub- saldo do primeiro subconjunto de dados for maior que o segundo sub- saldo limiar, o sistema de computador do servidor de transações pode emitir um pedido de transferência de dados que representa uma soma do valor monetário do primeiro subconjunto de dados para o segundo subconjunto de dados. Isso pode permitir que o sistema de computa-dor do servidor de transações diminua o número de subconjuntos de dados com subsaldos zero ou quase zero. Isso também pode impedir que subconjuntos de dados tenham subsaldos desnecessariamente grandes. Funcionalidade semelhante é prontamente concebível se a estrutura de dados compreender mais de dois subconjuntos de dados.
[0050] O sistema de computador do servidor de transações pode definir mais de dois subsaldos limiares. Ele pode, por exemplo, atribuir cada subconjunto de dados a um grupo e definir um par diferente de primeiro e segundo subsaldos limiares para cada grupo de subconjuntos de dados. Ele pode também definir um par diferente de primeiro e segundo subsaldos limiares para cada subconjunto de dados. Consequentemente, o sistema de computador do servidor de transações pode ser capaz de variar os subsaldos de cada subconjunto de dados ou grupo de subconjuntos de dados para definir e preencher a lista priori- zada de subconjuntos de dados ou grupos de subconjuntos de dados de uma maneira aprimorada, assim possivelmente aumentando o número de transações que o sistema é capaz de processar por unidade de tempo.
[0051] O sistema de computador do servidor de transações pode ser configurado para excluir todos os subconjuntos de dados e criar novos subconjuntos de dados, não sendo afetado o saldo do conjunto de dados de cada cliente no processo. Nesse caso, o sistema de computador do servidor de transações pode conseguir variar os subsaldos de alguns ou de todos os subconjuntos de dados sem emitir pedidos de transações entre os subconjuntos de dados. O saldo do conjunto de dados pode ser dividido nos subsaldos dos novos subconjuntos de dados pelo sistema de computador do servidor de transações de acordo com qualquer conjunto de regras predefinido ou adaptável. Consequentemente, algumas ou todas as vantagens descritas com respeito a modalidades em que o sistema de computador do servidor de transações é configurado para emitir pedidos de transações entre subcon-juntos de dados podem ser aplicadas a modalidades em que o sistema de computador do servidor de transações está configurado para excluir todos os subconjuntos de dados e criar novos subconjuntos de dados. As últimas modalidades podem ter a possível vantagem da capacidade de processamento reduzida e do consumo de tempo necessário em relação à variação dos subsaldos dos subconjuntos de dados.
[0052] O sistema de computador do servidor de transações pode ser configurado para emitir pedidos de transferência de dados representando uma soma de valor monetário para o conjunto de dados do primeiro cliente, o número de pedidos e a soma do valor monetário representados pelos dados solicitados para transferência podem ser baseados em pelo menos o saldo do conjunto de dados. Nesse caso, o sistema de computador do servidor de transações pode conseguir variar o saldo do conjunto de dados do primeiro cliente. Dessa forma, a chance de o saldo do conjunto de dados atingir saldo zero ou próximo de zero pode ser reduzida, o que pode aumentar o número de transações que o sistema é capaz de processar por unidade de tempo. A chance de que o saldo do conjunto de dados se torne desnecessariamente grande também pode ser evitada. Isso pode reduzir qualquer custo que o primeiro cliente possa ter em relação a tornar a soma do valor monetário representado pelo saldo do conjunto de dados do primeiro cliente disponível para o sistema. Os pedidos podem ser enviados para algum conjunto externo de dados representando uma soma externa de valor monetário. O conjunto externo de dados pode ser armazenado pelo próprio primeiro cliente ou, alternativamente, pode ser armazenado por um sistema de computador servidor de autoridade administrativa, que pode ser controlado, por exemplo, por um banco central.
[0053] Os pedidos de transferência de dados representando uma soma de valor monetário para o conjunto de dados do primeiro cliente podem ser emitidos em intervalos predefinidos no tempo, tais como, por exemplo, uma vez por dia, 12 horas, 1 hora, 30 minutos, 15 minutos, 5 minutos, 30 segundos, etc.
[0054] De acordo com modalidades, a rede de computadores compreende ainda um sistema de computador servidor de autoridade administrativa no qual pelo menos o primeiro cliente tem uma conta definindo um saldo real de valor monetário, em que o saldo de valor monetário representado pelo conjunto de dados no sistema de computador do servidor de transações espelha o saldo real do valor monetário. Em tais modalidades, a rede de computadores compreende: - uma pluralidade de primeiros túneis seguros, cada um dos quais liga um dos clientes ao sistema de computador do servidor de transações para passar os pedidos dos segundos clientes para o sistema de computador do servidor de transações; - pelo menos um segundo túnel seguro, que conecta o sistema de computador do servidor de transações ao sistema de computador servidor da autoridade administrativa para espelhar o saldo real do valor monetário no sistema de computador do servidor da autoridade administrativa e o saldo representado pelo conjunto de dados no sistema de computador do servidor de transações.
[0055] Além do sistema de computador do servidor de transações, as modalidades do sistema de acordo com a presente invenção podem, assim, compreender o sistema de computador da autoridade administrativa. Em tais modalidades, o primeiro cliente pode ter uma conta definindo um saldo real de valor monetário dentro do sistema de computador da autoridade administrativa, e essa conta pode ser espelhada no conjunto de dados do primeiro cliente armazenado no sistema de computador de transações. No contexto atual, espelhar a conta no conjunto de dados deve ser entendido como comparar ou igualar o saldo do dinheiro real definido pela conta com o saldo do valor mone-tário representado pelo conjunto de dados. Tal espelhamento pode ser realizado, de modo que o saldo do dinheiro real seja igual ou pelo menos tão grande quanto o valor monetário representado pelo conjunto de dados.
[0056] Ao executar a atualização de acordo com os pedidos de transações no conjunto espelhado de dados, os atrasos de latência causados pela atualização do saldo real das contas das instituições monetárias no sistema de computador da autoridade administrativa podem ser reduzidos ou evitados. Consequentemente, ao espelhar os dados reais e o conjunto de dados no sistema de computador do servidor de transações, pode ser conseguido um aumento adicional da velocidade de transação. A atualização do saldo real pode ser realizada de forma intermitente, ou seja, após um determinado número de pedidos ter sido processado pelo sistema de computador do servidor de transações, assim causando atrasos de latência apenas das atualizações dos saldos reais que precisam ocorrer apenas em intervalos de, por exemplo, seis horas, uma hora ou 15 minutos. Os intervalos também podem ser definidos por somas de transação acumuladas, o número de transações realizadas, etc.
[0057] Da mesma forma, a conta do primeiro cliente no sistema de computador da autoridade administrativa pode ser espelhada no conjunto de dados do primeiro cliente apenas em determinados intervalos. O espelhamento da conta para o conjunto de dados deve ser realizado preferencialmente, de modo a garantir que o saldo real no sistema de computador servidor da autoridade administrativa reflita adequadamente o saldo representado pelo conjunto de dados, conforme atualizado de acordo com os pedidos, no sistema de computador do servidor de transações. Como tal, o espelhamento é realizado preferencialmente em relação à atualização do saldo real definido pela conta. A etapa de espelhamento pode fazer parte da invenção tal como aqui reivindicada, ou pode ser realizada por um componente de software ligado ao sistema de acordo com a invenção.
[0058] A pluralidade de primeiros túneis seguros e o pelo menos um segundo túnel seguro podem compreender uma ou mais portas de ligação de dados seguras, tais como barreiras de proteção. Por exemplo, o sistema pode incluir portas de ligação de dados seguras em cada extremidade dos túneis seguros. Os primeiros túneis seguros po- dem também compreender meios para criptografia de dados. Nesse caso, alguns ou todos os pedidos enviados pelos túneis seguros podem ser criptografados para reduzir o risco de interceptação de pedidos por clientes externos não autorizados. Os túneis seguros podem compreender um módulo de filtragem de pacotes no qual certas instruções de filtro são aplicadas a todos os pacotes de dados transmitidos através dos túneis seguros. Isso pode melhorar as possibilidades de pedidos autorizados serem transmitidos e aceitos, enquanto pedidos não autorizados são rejeitados. Os túneis seguros também podem ser configurados para enviar uma mensagem ao computador na outra extremidade do túnel para redirecionar para um servidor proxy do túnel. Nesse caso, o computador na outra extremidade do túnel pode enviar uma ficha e o pedido para o recurso do servidor proxy. Se a ficha for válida, o pedido é encaminhado pelo túnel seguro, caso contrário, o computador na outra extremidade do túnel seguro deve ser autenticado primeiro. Isso também pode melhorar as possibilidades de pedidos autorizados serem transmitidos e aceitos, enquanto pedidos não autorizados são rejeitados.
[0059] De acordo com modalidades, a rede de computadores compreende ainda um sistema de computador servidor de autoridade administrativa no qual pelo menos o primeiro cliente tem uma conta definindo um saldo real de valor monetário, em que o saldo de valor monetário representado pelo conjunto de dados no sistema de computador do servidor de transações espelha o saldo real do valor monetário e em que: - os primeiro e segundo clientes são configurados para serem administrados pelos respectivos administradores de clientes; - o sistema de computador do servidor da autoridade admi-nistrativa está configurado para ser administrado por um administrador de autoridade diferente dos administradores do cliente e - o sistema de computador do servidor de transações está configurado para ser administrado por um terceiro confiável diferente dos administradores do cliente e do administrador de autoridade; e em que a rede de computadores compreende: - uma pluralidade de primeiros túneis seguros, cada um dos quais liga um dos clientes ao sistema de computador do servidor de transações para passar os pedidos dos segundos clientes para o sistema de computador do servidor de transações; - pelo menos um segundo túnel seguro, que conecta o sistema de computador do servidor de transações ao sistema de computador do servidor da autoridade administrativa para espelhar o saldo real do valor monetário no sistema do computador do servidor da autoridade administrativa e o saldo representado pelo conjunto de dados no sistema de computador do servidor de transações.
[0060] Ao ter administradores administrando os primeiro e segun do clientes, diferentes dos administradores do sistema de computador do servidor da autoridade administrativa, o risco de processamento de pedidos fraudulentos pode ser evitado ou reduzido. Com os túneis seguros no local, o processamento de pedidos fraudulentos só pode ser possível no caso improvável de os administradores das redes de computadores em ambas as extremidades dos túneis seguros contribuírem para a fraude. Da mesma forma, o processamento de pedidos fraudulentos pelo sistema de computadores do servidor de transações e pelos clientes pode ser reduzido ou evitado.
BREVE DESCRIÇÃO DOS DESENHOS
[0061] As modalidades da invenção serão agora descritas em mais detalhes com referência aos desenhos anexos, nos quais:
[0062] A figura 1 ilustra uma modalidade de um sistema para tran sações em tempo real de dados representando valor monetário;
[0063] A figura 2 ilustra uma modalidade de um sistema para tran- sações em tempo real de dados representando valor monetário;
[0064] As figuras 3 a 5 ilustram fluxogramas de transações em tempo real de acordo com modalidades;
[0065] As figuras 6 e 7 ilustram sistemas de acordo com modali dades e
[0066] As figuras 8 a 10 ilustram sistemas de acordo com modali dades.
DESCRIÇÃO DETALHADA DOS DESENHOS
[0067] Deve ser entendido que a descrição detalhada e o exemplo específico, enquanto indicando uma modalidade, são fornecidos apenas a título de ilustração, uma vez que várias alterações e modificações dentro do espírito e escopo da invenção se tornarão evidentes para os versados na técnica a partir desta descrição detalhada.
[0068] A figura 1 ilustra um sistema 100 para transações em tem po real de dados representando valor monetário entre clientes em uma rede de computadores. As transações de dados que representam o valor monetário no sistema causam transações de valor monetário. No contexto atual, o termo transações em tempo real deve ser entendido como transações sendo facilitadas pelo sistema em tempo real à medida que são geradas. Outro termo comum para transações em tempo real é pagamentos instantâneos.
[0069] Na modalidade ilustrada na figura 1, os pedidos 102 para transações de dados representando uma soma de valor monetário são gerados por uma multiplicidade de agentes através de sistemas de computador locais 104. Os pedidos são enviados para uma nuvem 106, por exemplo, a Internet, e da nuvem 106 para uma pluralidade de segundos clientes 108. Cada segundo cliente tem uma barreira de proteção 110a que solicita 102 da nuvem 106 que passa. As barreiras de proteção 110a melhoram a segurança de dados dos segundos clientes e diminuem o risco de pedidos fraudulentos serem transmitidos da nu- vem 106 para os segundos clientes 108. Dos respectivos segundos clientes 108, os pedidos 102 são encaminhados através de um caminho de dados que compreende a respectiva barreira de proteção do segundo cliente 110b, os respetivos túneis seguros 112 e uma barreira de proteção 114a na outra extremidade do túnel seguro 112, sendo a barreira de proteção 114a administrada pelo administrador de um sistema de computador servidor 116. Cada segundo cliente 108 e as barreiras de proteção 110a e 110b de cada segundo cliente são administrados pelo respectivo administrador do segundo cliente.
[0070] Após o recebimento do pedido 102, o sistema de computa dor servidor 116, reserva e atualiza os conjuntos de dados dos primeiros clientes 118 de acordo com os pedidos. O conjunto de dados de cada segundo cliente 118 é dividido em uma pluralidade de subconjuntos de dados. A pluralidade de subconjuntos de dados é reservada e depois atualizada em simultâneo em resposta ao recebimento de uma pluralidade de pedidos 102. Consegue-se que uma pluralidade dos pedidos 102 para atualização do conjunto de dados 118 possa ser processada em paralelo, isto é, ao mesmo tempo. Assim, a velocidade da transação é melhorada e mais atualizações por unidade de tempo podem ser realizadas desse jeito. Nas modalidades, uma primeira unidade de processamento processa o recebimento do pedido 102 e instrui uma segunda unidade de processamento a reservar e atualizar os subconjuntos de dados simultaneamente. Isso permite ainda o processamento de pedidos a serem tratados em paralelo com um aumento na velocidade da transação e utilização de hardware como resultado.
[0071] A atualização do conjunto de dados do primeiro cliente 118 pode residir, em particular, na retirada do valor monetário do conjunto de dados do primeiro cliente 118 para reduzir o saldo do valor monetário representado por ele. Por exemplo, o pedido 102 para uma transação pode residir em um pedido 102 de um dos segundos clientes 108 para transferir ou transmitir uma soma de valor monetário do conjunto de dados do primeiro cliente para um conjunto adicional de dados representando um saldo monetário do segundo cliente solicitante 108. Em uma modalidade da invenção, cada pedido 102 para transações é comparado com o saldo de cada subconjunto de dados para assegurar que a soma do valor monetário a ser retirado não exceda o subsaldo do subconjunto do conjunto de dados para o qual o pedido em questão é designado. Alternativa ou adicionalmente, o sistema de computador do servidor de transações 116 pode ser configurado para recusar um pedido no caso de a soma a ser retirada exceder o saldo disponível do conjunto de dados do primeiro cliente 118.
[0072] O administrador do sistema de computador servidor 116 também administra as barreiras de proteção 114a e 114b associadas com o sistema de computador servidor 116.
[0073] O sistema de computador do servidor de transações 116 está configurado para emitir pedidos 122 para transferência de dados representando uma soma de valor monetário para o conjunto de dados do primeiro cliente 118. O número de pedidos 122 e a soma de valor monetário representada pelos dados solicitados para transferência podem basear-se, pelo menos, no saldo do conjunto de dados. Por conseguinte, o sistema de computador do servidor de transações 116 é capaz de variar o saldo do conjunto de dados do primeiro cliente 118. A probabilidade de o saldo do conjunto de dados atingir saldo zero ou quase zero é então reduzida, o que aumenta o número de transações que o sistema 100 é capaz de processar por unidade de tempo. A chance de que o saldo do conjunto de dados se torne desnecessariamente grande também pode ser evitada. Isto pode reduzir qualquer custo que o primeiro cliente possa ter em relação a tornar a soma de valor monetário representada pelo saldo do conjunto de dados do primeiro cliente disponível para o sistema 100. Os pedidos 122 são envi- ados do sistema de computador servidor 116 através de um caminho de dados compreendendo uma barreira de proteção 114b, um túnel seguro 120 e uma barreira de proteção 123a. Os pedidos 122 são enviados para a conta dos respectivos primeiros clientes 124, representando uma soma de valor monetário. As contas 124 são armazenadas por um sistema de computador servidor de autoridade administrativa 126, que pode ser controlado por, por exemplo, um banco central. O administrador do sistema de computador servidor de autoridade administrativa 126 também administra a barreira de proteção 123a associada com o sistema de computador do servidor de autoridade administrativa 126.
[0074] A conta do primeiro cliente 124 define um saldo real do va lor monetário dentro do sistema de computador da autoridade administrativa 126, e essa conta 124 é espelhada no conjunto de dados do primeiro cliente 118 armazenado no sistema de computador de transação 116. No contexto atual, o espelhamento da conta 126 no conjunto de dados 118 é realizado de modo que o saldo de moeda real seja igual ou pelo menos tão grande quanto o valor monetário representado pelo conjunto de dados 118.
[0075] Os pedidos 122 para transferência de dados representando uma soma de valor monetário para o conjunto de dados do primeiro cliente 118 são emitidos em intervalos predefinidos no tempo, tais como, por exemplo, uma vez por dia, 12 horas, 1 hora, 30 minutos, 15 minutos, 5 minutos, 30 segundos, etc.
[0076] Por ter administradores administrando os primeiro e segun do clientes, diferentes dos administradores do sistema de computador de servidor de autoridade administrativa 126, o risco de processamento de pedidos fraudulentos pode ser evitado ou reduzido. Com o túnel seguro 120 em vigor, o processamento de pedidos fraudulentos só pode ser possível no caso improvável de os administradores das redes de computadores em ambas as extremidades do túnel seguro 120 contribuírem para a fraude. De igual modo, o processamento de pedidos fraudulentos pelo sistema de computador do servidor de transações 116 e os segundos clientes 108 pode ser reduzido ou evitado.
[0077] Com o objetivo de ilustrar a relação entre os clientes, estes são exemplificados na modalidade da figura 2. Nesta modalidade, os clientes estão na forma de instituições monetárias e, em resposta a um primeiro pedido, uma primeira instituição monetária atua como um primeiro cliente e uma segunda instituição monetária atua como um segundo cliente. Enquanto que, em resposta a um segundo pedido, a primeira instituição monetária atua como um segundo cliente e a segunda instituição monetária atua como um primeiro cliente. Ou seja, pedidos de transações podem ser trocados entre todas as instituições monetárias no sistema.
[0078] Na modalidade ilustrada na figura 2, as instituições mone tárias 128 são capazes de atuar tanto como primeiros clientes 129 quanto como segundos clientes 108. Como tal, a figura 2 ilustra uma via de comunicação de dados entre o sistema de computador de servidor de autoridade administrativa 126 e as instituições monetárias 128. Como discutido com referência à figura 1, o sistema de computador do servidor de transações 116 está configurado para emitir pedidos 122 para transferência de dados representando uma soma de valor monetário para o conjunto de dados do primeiro cliente 118 em intervalos predefinidos no tempo, e isto pode ser feito em relação ao espelhamento do conjunto de dados do primeiro cliente 118 e da conta do primeiro cliente 124.
[0079] Após os pedidos 122 para transferência de dados repre sentando uma soma de valor monetário para o conjunto de dados do primeiro cliente 118 serem emitidos, os saldos reais das contas 124 são atualizados. Através de uma barreira de proteção 123b, dos res- petivos túneis seguros 130 e das barreiras de proteção 110c das instituições monetárias 128, os pedidos 132 para atualização dos saldos reais de dinheiro representados pelas contas dos primeiros clientes 124 são enviados para as instituições monetárias 128 atuando como primeiros clientes 129. Os caminhos de dados para os pedidos 122 que compreendem as barreiras de proteção 110c e 123b e os túneis seguros 130 não estão ligados ao sistema de computador do servidor de transações.
[0080] As figuras 3 a 5 ilustram fluxogramas do processo de atua lização do conjunto de dados do primeiro cliente 118 armazenados em uma estrutura de dados do sistema de computador do servidor de transações 116. O conjunto de dados 118 é dividido em um primeiro subconjunto de dados 134 e um segundo subconjunto de dados 136. Na figura 3 e na figura 4, um primeiro pedido 102a e um segundo pedido 102 para atualização do conjunto de dados do primeiro cliente 118 são recebidos simultaneamente. Na figura 3, os dois pedidos 102a e 102b são recebidos do mesmo segundo cliente 108a, enquanto que na figura 4, o primeiro pedido 102a é recebido de um primeiro segundo 108a e o segundo pedido 102b é recebido de um segundo cliente 108b. O primeiro pedido 102a é encaminhado 134 para o primeiro subconjunto de dados 138, enquanto o segundo pedido 102b é encaminhado 136 para o segundo subconjunto de dados 140. Os respectivos subconjuntos de dados 138 e 140 são então reservados nas etapas 142a e 142b para os pedidos respectivos 102a e 102b. Nas etapas 144a e 144b, os subconjuntos de dados 138 e 140 são atualizados simultaneamente. Finalmente, os subconjuntos de dados 138 e 140 são liberados nas etapas 146a e 146b. Os subconjuntos de dados liberados ficam disponíveis para atualizações posteriores e os processos de reservar 142a, 142b e atualizar 144a, 142b os subconjuntos de dados 138 e 140 podem ser repetidos em resposta a pedidos adicionais.
[0081] Na figura 5, um terceiro pedido 102c para atualização do conjunto de dados do primeiro cliente 118 é recebido do segundo cliente 108b enquanto ambos os subconjuntos de dados 138 e 140 são reservados para processamento do primeiro pedido 102a e do segundo pedido 102b. Neste caso, o conjunto de dados 118 é atualizado de acordo com um esquema de atualização auxiliar predefinido em resposta à recepção do terceiro pedido 102c. O esquema de atualização auxiliar predefinido é para armazenar o terceiro pedido 102c e determinar se os primeiro e segundo subconjuntos de dados 138 e 140 estão reservados em intervalos predefinidos no tempo. Os intervalos predefinidos no tempo podem ser, por exemplo, na escala de micros- segundos, na escala de milissegundos ou na escala de segundos. O sistema de computador do servidor de transações 116 pode então continuar a determinar se os primeiro e segundo subconjuntos de dados 138 e 140 estão reservados até que pelo menos um dos primeiro e segundo subconjuntos de dados 138 e 140 seja liberado. Neste ponto, o subconjunto de dados liberado é reservado para o terceiro pedido 102c.
[0082] A figura 6 ilustra um sistema em que o sistema de compu tador do servidor de transações 116 armazena o conjunto de dados do primeiro cliente 118 em uma estrutura de dados compreendendo oito subconjuntos de dados 138, 140, 148-158. Em resposta ao recebimento do primeiro pedido 102a, o sistema de computador do servidor de transações 116 reserva simultaneamente três subconjuntos de dados 138, 140 e 148 definindo subsaldos grandes o suficiente para que os subsaldos acumulados dos subconjuntos reservados de dados 138, 140 e 148 sejam pelo menos tão grandes quanto a soma do valor monetário representado pelos dados solicitados para transferência pelo primeiro pedido 102a. O sistema de computador do servidor de transações 116, em seguida, divide o primeiro pedido 102a em um primeiro conjunto de subpedidos 160 com três subpedidos e atualiza os três subconjuntos de dados 138, 140 e 148 de acordo com o primeiro conjunto de subpedidos 160. Consequentemente, em resposta à recepção do segundo pedido 102b, o sistema de computador do servidor de transações 116 gera um segundo conjunto de subpedidos 162 com dois subpedidos e reserva e atualiza o quarto e o quinto subconjuntos de dados 150 e 152 de acordo com o segundo conjunto de subpedidos 162. O sistema de computador do servidor de transações 116 também poderia reservar e atualizar, por exemplo, o segundo subconjunto de dados 140, o quinto subconjunto de dados 152 e o sétimo subconjunto de dados 158 de acordo com o primeiro conjunto de subpedidos 160, enquanto reservando e atualizando outros subconjuntos de dados de acordo com o segundo conjunto de subpedidos. Além disso, o sistema de computador do servidor de transações 116 pode reservar e atualizar qualquer combinação de subconjuntos de dados de acordo com qualquer conjunto de subpedidos, desde que o conjunto de subpedi- dos e a combinação de subconjuntos de dados estejam em conformidade com as regras estabelecidas acima para o sistema de computador do servidor de transações 116.
[0083] A figura 7 ilustra um sistema 100, em que o sistema de computador do servidor de transações 116 está configurado para gerar e preencher uma lista priorizada de sete subconjuntos de dados 138, 140, 148-156. Nas modalidades da figura 7, a lista priorizada é gerada e preenchida com subconjuntos de dados com saldos cada vez maiores, de modo que o primeiro subconjunto de dados 138 representa um saldo de unidades monetárias menor do que o saldo do segundo subconjunto de dados 140. O saldo do segundo subconjunto de dados 140 é menor que o saldo do terceiro subconjunto de dados 148 e assim por diante. Um primeiro pedido 102a para transação de dados representando uma soma relativamente grande de unidade monetária é encaminhado para o conjunto de dados 118. O sistema de computador do servidor de transações 116 divide então o pedido 102a em um primeiro conjunto de subpedidos 160. O sistema de computador do servidor de transações 116 então reserva e atualiza o sexto e o sétimo subconjuntos de dados 154 e 156 de acordo com o primeiro conjunto de subpedidos 160. Consequentemente, em resposta ao recebimento de um segundo pedido 102b para transação de dados representando uma soma relativamente pequena de unidades monetárias, o sistema de computador do servidor de transações 116, reserva e atualiza os primeiro e segundo subconjuntos de dados 138 e 140.
[0084] No sistema 100 ilustrado na figura 7, o sistema de compu tador do servidor de transações 116 é então capaz de reservar prefe-rencialmente os subconjuntos de dados com os maiores subsaldos em resposta à recepção do primeiro pedido 102a para transação de dados representando uma primeira soma de valor monetário que é maior do que uma segunda soma do valor monetário do segundo pedido 102b. Inversamente, o sistema de computador do servidor de transações 116 também é capaz de reservar preferencialmente os subconjuntos de dados com os menores subsaldos dos subconjuntos de dados 138, 140, 148-156 em resposta à recepção do segundo pedido 102b para transação de dados que representam a segunda soma de valor monetário, que é menor do que a primeira soma de valor monetário do primeiro pedido 102a.
[0085] As figuras 8 a 10 ilustram os sistemas 100 em que o siste ma de computador do servidor de transações 116 armazena os subconjuntos de dados 138, 140, 148 e 150 associados com o primeiro cliente em dois computadores servidores diferentes 164 e 166. Nestas modalidades, os primeiro e segundo subconjuntos 138 e 140 são armazenados em um primeiro computador servidor 164 e os terceiro e quarto subconjuntos de dados 148 e 150 são armazenados em um se gundo computador servidor 166. Nas modalidades, o sistema de computador do servidor de transações 116 compreende uma segunda unidade de processamento, que por sua vez compreende múltiplas CPUs. Em uma modalidade, o primeiro computador servidor 164 compreende uma primeira CPU lidando com a reserva e atualização dos primeiro e segundo subconjuntos 138 e 140, e o segundo computador servidor 166 compreende uma segunda CPU lidando com a reserva e atualização dos terceiro e quarto subconjuntos de dados 148 e 150.
[0086] Na figura 8 o primeiro pedido 102a é recebido do primeiro segundo cliente 108a e encaminhado para o primeiro computador servidor 164 e o primeiro subconjunto de dados 138 é reservado e atualizado de acordo com o primeiro pedido 102a. O segundo pedido 102b é recebido do segundo cliente 102b e encaminhado para o segundo computador servidor 166 e o terceiro subconjunto de dados 148 é reservado e atualizado de acordo com o segundo pedido 102b.
[0087] Na figura 9, o primeiro pedido 102a é recebido do primeiro segundo cliente 108a e encaminhado para o primeiro computador servidor 164 e o primeiro subconjunto de dados 138 é reservado e atualizado de acordo com o primeiro pedido 102a. O segundo pedido 102b é recebido do segundo cliente 102b e encaminhado para o primeiro computador servidor 164 e o segundo subconjunto de dados 148 é reservado e atualizado de acordo com o segundo pedido 102b.
[0088] Na figura 10, os primeiro e segundo pedidos 102a e 102b são recebidos do primeiro segundo cliente 108a. O primeiro pedido 102a é encaminhado para o primeiro computador servidor 164 e o primeiro subconjunto de dados 138 é reservado e atualizado de acordo com o primeiro pedido 102a. O segundo pedido 102b é encaminhado para o segundo computador servidor 166 e o terceiro subconjunto de dados 148 é reservado e atualizado de acordo com o segundo pedido 102b.
[0089] Os sistemas 100 incorporados nas Figuras 8 a 10 podem ser configurados para um pedido em um conjunto de uma pluralidade de subpedidos 160. Neste caso, nenhum conjunto de subpedidos 160 é processado em mais de um computador servidor.
EXEMPLO I
[0090] De modo a averiguar o efeito da invenção em relação ao número de atualizações ou transações por unidade de tempo, foram realizados os seguintes testes: 1. Um primeiro cliente recebendo pedidos de atualização de seu conjunto de dados, o conjunto de dados não sendo dividido em subconjuntos de dados; 2. 16 clientes que atuam como primeiro e segundo clientes enviando e recebendo pedidos de atualizações dos respectivos conjuntos de dados, o conjunto de dados de cada cliente não sendo dividido em subconjuntos de dados e 3. 16 clientes que estão agindo como primeiro e segundo clientes enviando e recebendo pedidos de atualizações dos respectivos conjuntos de dados, sendo o conjunto de dados de cada cliente dividido em 8 subconjuntos de dados.
[0091] Consequentemente, as configurações do teste 1 e teste 2 não são modalidades da presente invenção. O teste 3 foi realizado em um ambiente de teste de emulação de um sistema para facilitar as transações em tempo real de acordo com uma modalidade da invenção. Todos os testes são realizados no mesmo sistema de computador com a mesma configuração de hardware para cada teste.
[0092] Os dados brutos de todos os três testes são apresentados na Tabela 1 abaixo. A coluna 'No. da parte’ denota o número de clientes, em que cada cliente pode atuar como ambos um primeiro e um segundo clientes. A coluna 'Fatias' denota o número de subconjuntos de dados em que cada conjunto de dados dos segundos clientes é di- vidido. 'Contagem' é o número total de atualizações de conjuntos de dados dos segundos clientes, o que corresponde com as transações de valor monetário conforme descrito acima. A "duração" é medida em segundos e a "taxa de transferência" é medida em atualizações, ou seja, transações por segundo [tx / s]. Tabela 1
Figure img0001
[0093] A partir dos resultados da Tabela 1, é visto que à medida que o número de clientes foi aumentado sem dividir conjuntos de dados em subconjuntos de dados, o número de atualizações por segundo foi significativamente diminuído, provavelmente devido à formação de gargalos causados por conjuntos de dados reservados e, portanto, indisponíveis.
[0094] Além disso, vê-se que com o mesmo número de clientes (16) e de atualizações de uma pluralidade de subconjuntos de dados (8), em conformidade com modalidades da invenção, o número de atualizações por segundo mais do que duplicou. Consequentemente, graças à implementação de um sistema de acordo com modalidades da invenção, foi conseguido um aumento significativo na velocidade da transação.
[0095] Notavelmente, o aumento na velocidade da transação foi alcançado sem alterar a configuração de hardware do computador do sistema para transações. Isso tem vários efeitos tangíveis no mundo físico, fora dos bits e bytes do sistema de computador. Em primeiro lugar, as modalidades da invenção podem lidar com o mesmo número de transações que os sistemas conhecidos na técnica, mas com uma força de computação significativamente menor. Consequentemente, as modalidades da presente invenção diminuem a demanda de hardware. Além disso, gravando a carga da CPU durante os testes, vê-se que o consumo de energia para lidar com o mesmo número de transações foi significativamente menor no teste 3 do que no teste 2 devido ao manuseio mais eficiente dos pedidos e atualizações. Por conseguinte, as modalidades da presente invenção otimizam o consumo de energia reduzindo ainda mais a demanda por recursos.
[0096] Finalmente é notado que, embora o teste relatado tenha sido realizado com 8 subconjuntos de dados para cada primeiro cliente, as tendências gerais de resultados poderiam ser prontamente verificadas por um versado na técnica na aplicação de sistemas com até dois subconjuntos de dados para cada primeiro cliente.

Claims (12)

1. Sistema (100) para facilitar transações em tempo real de dados representando valor monetário entre clientes em uma rede de computadores, o sistema caracterizado pelo fato de que compreende: pelo menos um primeiro cliente (129); e um sistema de computador do servidor de transações (116), o primeiro cliente (129) sendo associado com um conjunto de dados representando um saldo de valor monetário, o conjunto de dados sendo armazenado no sistema de computador do servidor de transações (116), em que o sistema de computador do servidor de transações (116) é configurado para receber pedidos (102, 122, 132) de transações de dados representando uma soma de valor monetário, através da rede de computadores, a partir de uma pluralidade de segundos clientes (108) para atualizações em tempo real do conjunto de dados do primeiro cliente (118), e em que o sistema de computador do servidor de transações (116) inclui um processador e uma memória possuindo armazenadas na mesma instruções executáveis que quando executadas pelo processador configuram o sistema de computador do servidor de transações (116) para realizar pelo menos o seguinte armazenar o conjunto de dados do primeiro cliente (118) em uma estrutura de dados, em que a estrutura de dados compreende pelo menos um primeiro subconjunto (134, 136, 138, 140, 148, 150, 152, 154, 156, 158) do conjunto de dados do primeiro cliente (118) e um segundo subconjunto (134) do conjunto de dados do primeiro cliente (118), cada subconjunto de dados (134) definindo um subsaldo representando uma soma de valor monetário; reservar cada um dos primeiro e segundo subconjuntos de dados (134) para um primeiro e segundo respectivos dos pedidos (102, 122, 132) com o recebimento dos pedidos (102, 122, 132); atualizar o primeiro subconjunto de dados (134) de acordo com o primeiro pedido (102, 122, 132) e simultaneamente atualizar o segundo subconjunto de dados (134) de acordo com o segundo pedido (102, 122, 132) em que o sistema de computador do servidor das transações (116) compreende: uma primeira unidade de processamento para processar o recebimento dos pedidos (102, 122, 132) de transações; e uma segunda unidade de processamento para reservar cada um dos primeiro e segundo subconjuntos de dados (134) para os respectivos primeiro e segundo dos pedidos (102, 122, 132) com o recebimento dos pedidos (102, 122, 132) e para atualizar o primeiro subconjunto de dados (134) de acordo com o primeiro pedido (102, 122, 132) e para simultaneamente atualizar o segundo subconjunto de dados (134) de acordo com o segundo pedido (102, 122, 132); em que a primeira unidade de processamento é ainda configurada para instruir a segunda unidade de processamento a armazenar o conjunto de dados do primeiro cliente (118) na estrutura de dados, reservar cada um dos primeiro e segundo subconjuntos de dados (134) para os respectivos primeiro e segundo dos pedidos (102, 122, 132) com o recebimento dos pedidos (102, 122, 132) e para atualizar o primeiro subconjunto de dados (134), de acordo com o primeiro pedido (102, 122, 132) e para atualizar simultaneamente o segundo subconjunto de dados (134) de acordo com o segundo pedido (102, 122, 132), em que a segunda unidade de processamento é uma unidade de processamento paralela que compreende múltiplos núcleos em uma única CPU ou em múltiplas CPUs, e em que o sistema de computador do servidor de transações (116) é configurado para alterar o número de subconjuntos de dados (134) com base em uma avaliação do número de pedidos (102, 122, 132) recebidos dentro de um período de tempo especificado.
2. Sistema (100), de acordo com a reivindicação 1, caracterizado pelo fato de que cada um dos subconjuntos de dados (134) é processado em uma dedicada das CPUs ou núcleos de CPU da unidade de processamento paralela, de modo que cada subconjunto de dados seja processado por uma das CPUs ou núcleos de CPU diferentes de qualquer outra das CPUs ou núcleos de CPU.
3. Sistema (100), de acordo com a reivindicação 1, caracterizado pelo fato de que o sistema de computador do servidor de transações (116) é configurado para determinar, com a recepção de um terceiro dos pedidos (102, 122, 132), se os primeiro e segundo subconjuntos de dados (134) estão reservados, e se afirmativo, executar uma atualização do conjunto de dados, de acordo com um esquema de atualização auxiliar predefinido.
4. Sistema (100), de acordo com a reivindicação 1, caracterizado pelo fato de que o sistema de computador do servidor de transações (116) é configurado para: determinar, mediante reserva do primeiro ou segundo subconjunto de dados (134) para um dos pedidos (102, 122, 132), se uma atualização prevista do subconjunto reservado de dados em resposta a esse pedido (102, 122, 132) faria com que o subsaldo do subconjunto reservado de dados se tornasse negativo; se for determinado que o subsaldo do subconjunto reservado de dados se tornaria negativo: dividir o pedido (102, 122, 132) em um primeiro conjunto de uma pluralidade de subpedidos (102, 122, 132), reservar o segundo subconjunto de dados (134) e atualizar os primeiro e segundo subconjuntos de dados (134) simultaneamente de acordo com a pluralidade de subpedidos (102, 122, 132).
5. Sistema (100), de acordo com a reivindicação 1, caracterizado pelo fato de que o sistema de computador do servidor de transações (116) é configurado para: determinar os subsaldos de uma pluralidade de subconjuntos de dados (134) em resposta ao recebimento de um dos pedidos (102, 122, 132); reservar simultaneamente um número de subconjuntos de dados grandes (134) que definam subsaldos suficientes para que os subsaldos acumulados dos subconjuntos de dados (134) reservados sejam pelo menos tão grandes quanto a soma do valor monetário representado pelos dados solicitados para transferência; dividir o pedido (102, 122, 132) em um segundo conjunto de subpedidos (102, 122, 132), o número de subpedidos (102, 122, 132) no segundo conjunto de subpedidos (102, 122, 132) sendo igual ao número de subconjuntos reservados de dados; atualizar os subconjuntos de dados (134) reservados simul-taneamente de acordo com o segundo conjunto de subpedidos (102, 122, 132).
6. Sistema (100), de acordo com a reivindicação 1, caracterizado pelo fato de que o sistema de computador do servidor de transações (116) compreende uma pluralidade de unidades de armazenamento de dados individuais e em que cada subconjunto de dados é armazenado em uma unidade de armazenamento de dados individual.
7. Sistema (100), de acordo com a reivindicação 1, caracterizado pelo fato de que o sistema de computador do servidor de transações (116) compreende uma pluralidade de computadores servidores e em que todos os dados associados com o primeiro cliente (129) são armazenados em um único computador servidor.
8. Sistema (100), de acordo com a reivindicação 7, caracterizado pelo fato de que um único computador servidor armazena dados associados com o primeiro cliente (129).
9. Sistema (100), de acordo com a reivindicação 1, caracterizado pelo fato de que os subconjuntos de dados (134) associados ao primeiro cliente (129) são armazenados em pelo menos dois computadores servidores e em que nenhum conjunto de subpedidos (102, 122, 132) é processado em mais do que um computador servidor.
10. Sistema (100), de acordo com a reivindicação 1, carac-terizado pelo fato de que o sistema de computador do servidor de transações (116) é configurado para determinar os subsaldos de todos os subconjuntos de dados (134) em intervalos predefinidos no tempo.
11. Sistema (100), de acordo com a reivindicação 1, ca-racterizado pelo fato de que a rede de computador ainda compreende um sistema de computador de servidor de autoridade administrativa (126) dentro do qual pelo menos o primeiro cliente (129) tem uma conta (124) definindo um saldo real de valor monetário, em que o saldo de valor monetário representado pelo conjunto de dados no sistema de computador do servidor de transações (116) espelha o saldo real do valor monetário; e em que a rede de computadores compreende: uma pluralidade de primeiros túneis seguros, cada um dos quais conecta um dos clientes ao sistema de computador do servidor de transações (116) para passar os pedidos (102, 122, 132) dos segundos clientes (108) para o sistema de computador do servidor de transações (116); pelo menos um segundo túnel seguro (112, 120, 130), que conecta o sistema de computador do servidor de transações (116) ao sistema de computador de servidor da autoridade administrativa (126) para espelhar o saldo real do valor monetário no sistema de computa- dor do servidor da autoridade administrativa (126) e o saldo representado pelo conjunto de dados no sistema de computador do servidor de transações (116).
12. Sistema (100) para facilitar transações em tempo real de dados representando valor monetário entre clientes em uma rede de computadores, o sistema caracterizado pelo fato de que compreende: pelo menos um primeiro cliente (129); e um sistema de computador do servidor de transações (116), o primeiro cliente (129) sendo associado com um conjunto de dados representando um saldo de valor monetário, o conjunto de dados sendo armazenado no sistema de computador do servidor de transações (116), em que o sistema de computador do servidor de transações (116) é configurado para receber pedidos (102, 122, 132) de transações de dados representando uma soma de valor monetário, através da rede de computadores, a partir de uma pluralidade de segundos clientes (108) para atualizações em tempo real do conjunto de dados do primeiro cliente (118), e em que o sistema de computador do servidor de transações (116) inclui um processador e uma memória possuindo armazenadas na mesma instruções executáveis que quando executadas pelo processador configuram o sistema de computador do servidor de transações (116) para realizar pelo menos o seguinte armazenar o conjunto de dados do primeiro cliente (118) em uma estrutura de dados, em que a estrutura de dados compreende pelo menos um primeiro subconjunto (134, 136, 138, 140, 148, 150, 152, 154, 156, 158) do conjunto de dados do primeiro cliente (118) e um segundo subconjunto (134) do conjunto de dados do primeiro clien- te (118), cada subconjunto de dados (134) definindo um subsaldo re-presentando uma soma de valor monetário; reservar cada um dos primeiro e segundo subconjuntos de dados (134) para um primeiro e segundo respectivos dos pedidos (102, 122, 132) com o recebimento dos pedidos (102, 122, 132); atualizar o primeiro subconjunto de dados (134) de acordo com o primeiro pedido (102, 122, 132) e simultaneamente atualizar o segundo subconjunto de dados (134) de acordo com o segundo pedido (102, 122, 132), em que o sistema de computador do servidor das transações (116) compreende: uma primeira unidade de processamento para processar o recebimento dos pedidos (102, 122, 132) de transações; e uma segunda unidade de processamento para reservar cada um dos primeiro e segundo subconjuntos de dados (134) para os respectivos primeiro e segundo dos pedidos (102, 122, 132) com o recebimento dos pedidos (102, 122, 132), e para atualizar o primeiro subconjunto de dados (134) de acordo com o primeiro pedido (102, 122, 132) e para simultaneamente atualizar o segundo subconjunto de dados (134) de acordo com o segundo pedido (102, 122, 132); em que a primeira unidade de processamento é ainda configurada para instruir a segunda unidade de processamento a armazenar o conjunto de dados do primeiro cliente (118) na estrutura de dados, reservar cada um dos primeiro e segundo subconjuntos de dados (134) para os respectivos primeiro e segundo dos pedidos (102, 122, 132) com o recebimento dos pedidos (102, 122, 132) e para atualizar o primeiro subconjunto de dados (134), de acordo com o primeiro pedido (102, 122, 132) e para atualizar simultaneamente o segundo subconjunto de dados (134) de acordo com o segundo pedido (102, 122, 132), em que a segunda unidade de processamento é uma unidade de processamento paralela que compreende múltiplos núcleos em uma única CPU ou em múltiplas CPUs, e em que o sistema de computador do servidor de transações (116) é configurado para: determinar os subsaldos de cada um da pluralidade de subconjuntos de dados (134) em intervalos predeterminados; gerar e preencher uma lista priorizada dos subconjuntos de dados, em que a lista priorizada classifica os subconjuntos ou grupos dos subconjuntos de acordo com seus subsaldos associados; selecionar um dos subconjuntos ou grupos de subconjuntos na lista priorizada para cada um dos pedidos (102, 122, 132) com base na lista priorizada; atribuir cada um dos pedidos (102, 122, 132) ao subconjunto ou grupos de subconjuntos selecionados; e subsequentemente atualizar pelo menos um dos subconjuntos de dados (134) do subconjunto ou grupos dos subconjuntos selecionados de acordo com cada um dos pedidos (102, 122, 132).
BR112018076673-9A 2016-06-23 2017-06-23 Sistema para facilitar transações em tempo real BR112018076673B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16176072 2016-06-23
EP16176072.3 2016-06-23
PCT/EP2017/065539 WO2017220779A1 (en) 2016-06-23 2017-06-23 System for facilitating real-time transactions

Publications (2)

Publication Number Publication Date
BR112018076673A2 BR112018076673A2 (pt) 2019-04-02
BR112018076673B1 true BR112018076673B1 (pt) 2022-07-19

Family

ID=56203261

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112018076673-9A BR112018076673B1 (pt) 2016-06-23 2017-06-23 Sistema para facilitar transações em tempo real

Country Status (5)

Country Link
US (2) US11200551B2 (pt)
EP (1) EP3475907A1 (pt)
BR (1) BR112018076673B1 (pt)
CA (1) CA3027461C (pt)
WO (1) WO2017220779A1 (pt)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11107085B2 (en) * 2020-01-16 2021-08-31 Aci Worldwide Corporation System and method for fraud detection

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793846A (en) * 1985-07-10 1998-08-11 Ronald A. Katz Technology Licensing, Lp Telephonic-interface game control system
US5615337A (en) * 1995-04-06 1997-03-25 International Business Machines Corporation System and method for efficiently processing diverse result sets returned by a stored procedures
US6216139B1 (en) * 1995-11-20 2001-04-10 Execware Integrated dialog box for rapidly altering presentation of parametric text data objects on a computer display
JP3348367B2 (ja) * 1995-12-06 2002-11-20 富士通株式会社 多重アクセス方法および多重アクセスキャッシュメモリ装置
US6321274B1 (en) * 1996-06-28 2001-11-20 Microsoft Corporation Multiple procedure calls in a single request
US6073218A (en) * 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US5875440A (en) * 1997-04-29 1999-02-23 Teleran Technologies, L.P. Hierarchically arranged knowledge domains
WO1998059428A1 (en) * 1997-06-23 1998-12-30 Micrilor, Inc. Wireless communications system for transmitting and receiving data with increased data rates and robustness
US6055539A (en) * 1997-06-27 2000-04-25 International Business Machines Corporation Method to reduce I/O for hierarchical data partitioning methods
US6212526B1 (en) * 1997-12-02 2001-04-03 Microsoft Corporation Method for apparatus for efficient mining of classification models from databases
US6122639A (en) * 1997-12-23 2000-09-19 Cisco Technology, Inc. Network device information collection and change detection
US6233286B1 (en) * 1998-03-27 2001-05-15 Lucent Technologies Inc. Path-oriented decoder using refined receiver trellis diagram
US6084688A (en) * 1998-04-30 2000-07-04 Xerox Corporation Network print server with page-parallel decomposing
US6088511A (en) * 1998-05-13 2000-07-11 Microsoft Corporation Nested parallel 2D Delaunay triangulation method
US6196466B1 (en) * 1998-06-09 2001-03-06 Symbol Technologies, Inc. Data compression method using multiple base number systems
US20030140007A1 (en) * 1998-07-22 2003-07-24 Kramer Glenn A. Third party value acquisition for electronic transaction settlement over a network
US6098881A (en) * 1998-07-22 2000-08-08 Mag-Tek, Inc. Magnetic stripe card verification system
US6571282B1 (en) * 1999-08-31 2003-05-27 Accenture Llp Block-based communication in a communication services patterns environment
US6578068B1 (en) * 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US20040073530A1 (en) * 2000-12-06 2004-04-15 David Stringer-Calvert Information management via delegated control
US7640547B2 (en) * 2002-02-08 2009-12-29 Jpmorgan Chase & Co. System and method for allocating computing resources of a distributed computing system
AU2003219756B2 (en) * 2002-02-14 2010-03-11 Zachary Pessin Apparatus and method of a distributed capital system
US8489742B2 (en) * 2002-10-10 2013-07-16 Convergys Information Management Group, Inc. System and method for work management
US8458067B2 (en) * 2003-05-06 2013-06-04 American Express Travel Related Services Company, Inc. System and method for emergency tracking
US20130144783A1 (en) * 2003-06-30 2013-06-06 American Express Travel Related Services Company, Inc. System and method for a supplier to supplier payment system to process a transaction
US20050015471A1 (en) * 2003-07-18 2005-01-20 Zhang Pu Paul Secure cluster configuration data set transfer protocol
US7529706B2 (en) * 2004-07-14 2009-05-05 Yahoo! Inc. Systems and methods for performing international money exchanges
US20060212407A1 (en) * 2005-03-17 2006-09-21 Lyon Dennis B User authentication and secure transaction system
US7231376B1 (en) * 2005-04-21 2007-06-12 Sun Microsystems, Inc. Method for high-level parallelization of large scale QP optimization problems
US7310652B1 (en) * 2005-08-08 2007-12-18 At&T Corp. Method and apparatus for managing hierarchical collections of data
US7246035B1 (en) * 2006-01-13 2007-07-17 Palit Charles D Multi-frame sampling system and method for statistical analysis
US8555288B2 (en) * 2006-05-17 2013-10-08 Teradata Us, Inc. Managing database utilities to improve throughput and concurrency
US20080155015A1 (en) * 2006-12-20 2008-06-26 Omx Technology Ab Intelligent information dissemination
US20100153740A1 (en) * 2008-12-17 2010-06-17 David Dodgson Data recovery using error strip identifiers
US8095519B2 (en) * 2008-12-16 2012-01-10 International Business Machines Corporation Multifactor authentication with changing unique values
GB2467530A (en) * 2009-02-03 2010-08-11 Eservglobal Uk Ltd Credit transfer between telecommunications networks
US8578076B2 (en) * 2009-05-01 2013-11-05 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US20100293108A1 (en) * 2009-05-14 2010-11-18 Sam Gurvitch Automated Practice Management System
US20110119119A1 (en) * 2009-11-16 2011-05-19 Sosbuzz, Inc. Advertiser invoicing system
US9053200B2 (en) * 2009-12-14 2015-06-09 Appfolio, Inc. Systems and methods for sorting, grouping, and rendering subsets of large datasets over a network
US20110208640A1 (en) * 2010-02-19 2011-08-25 Bank Of America Corporation Ticketed funds transfers between a brokerage account and a deposit account
WO2011123692A2 (en) * 2010-03-31 2011-10-06 Orsini Rick L Systems and methods for securing data in motion
US8965860B2 (en) * 2010-04-01 2015-02-24 Salesforce.Com, Inc. Methods and systems for bulk uploading of data in an on-demand service environment
WO2011150346A2 (en) * 2010-05-28 2011-12-01 Laurich Lawrence A Accelerator system for use with secure data storage
US10248964B1 (en) * 2010-07-30 2019-04-02 American Express Travel Related Services Company, Inc. System and method for rewards redemption
ES2584057T3 (es) * 2010-08-12 2016-09-23 Security First Corp. Sistema y método de almacenamiento de datos remoto seguro
CN106209382A (zh) * 2010-09-20 2016-12-07 安全第公司 用于安全数据共享的系统和方法
US20120084135A1 (en) * 2010-10-01 2012-04-05 Smartslips Inc. System and method for tracking transaction records in a network
US8914545B2 (en) * 2011-04-27 2014-12-16 Iii Holdings 1, Llc Systems and methods for lossless compression of data and high speed manipulation thereof
US8412631B2 (en) * 2011-05-13 2013-04-02 American Express Travel Related Services Company, Inc. Cloud enabled payment processing system and method
US20130282542A1 (en) * 2012-04-18 2013-10-24 The Royal Bank Of Scotland Plc Method, apparatus and system for retrieving financial data
US8775397B2 (en) * 2012-06-26 2014-07-08 Sap Ag Database access acceleration
US8965861B1 (en) * 2012-06-28 2015-02-24 Amazon Technologies, Inc. Concurrency control in database transactions
US20140006297A1 (en) * 2012-07-02 2014-01-02 Serve Virtual Enterprises, Inc. Systems and methods for transferring value via a social network
US20140006283A1 (en) * 2012-07-02 2014-01-02 Serve Virtual Enterprises, Inc. Systems and methods for managing multiple identifiers
US9100330B1 (en) * 2012-07-13 2015-08-04 Emc Corporation Introduction of read delay or write delay in servers of a geographically distributed data processing system so that clients read up-to-date data
US20140180808A1 (en) * 2012-12-22 2014-06-26 Coupons.Com Incorporated Generation and management of dynamic electronic offers
US9471628B2 (en) * 2013-03-04 2016-10-18 Mastercard International Incorporated Methods and systems for calculating and retrieving analytic data
US20140279540A1 (en) * 2013-03-15 2014-09-18 Fulcrum Ip Corporation Systems and methods for a private sector monetary authority
US9519518B2 (en) * 2013-05-15 2016-12-13 Citrix Systems, Inc. Systems and methods for deploying a spotted virtual server in a cluster system
US9940608B2 (en) * 2013-05-16 2018-04-10 Mts Holdings, Inc. Real time EFT network-based person-to-person transactions
US10515370B2 (en) * 2013-10-09 2019-12-24 The Toronto-Dominion Bank Systems and methods for providing tokenized transaction accounts
CA2882446A1 (en) * 2014-02-21 2015-08-21 Coho Data, Inc. Methods, systems and devices for parallel network interface data structures with differential data storage service capabilities
US9398018B2 (en) * 2014-03-18 2016-07-19 nTrust Technology Solutions Corp. Virtual currency system
US10776761B2 (en) * 2014-03-18 2020-09-15 nChain Holdings Limited Virtual currency system
US9830580B2 (en) * 2014-03-18 2017-11-28 nChain Holdings Limited Virtual currency system
US10019756B2 (en) * 2014-03-31 2018-07-10 Mastercard International Incorporated Systems and methods for throttling transaction processing based on constrained sub-systems
US9710801B2 (en) * 2014-04-22 2017-07-18 American Express Travel Related Services Company, Inc. Systems and methods for charge splitting
WO2015191647A2 (en) * 2014-06-11 2015-12-17 Live Nation Entertainment, Inc. Dynamic filtering and precision alteration of query responses responsive to request load
CN105447604B (zh) 2014-08-04 2020-01-21 阿里巴巴集团控股有限公司 一种账户处理方法及装置
US9923970B2 (en) * 2014-08-22 2018-03-20 Nexenta Systems, Inc. Multicast collaborative erasure encoding and distributed parity protection
CN106797311B (zh) * 2014-08-29 2020-07-14 维萨国际服务协会 用于安全密码生成的系统、方法和存储介质
US20160191508A1 (en) * 2014-12-31 2016-06-30 Nexenta Systems, Inc. Methods and Systems for Block Sharding of Objects Stored in Distributed Storage System
US9684689B2 (en) * 2015-02-03 2017-06-20 Ca, Inc. Distributed parallel processing system having jobs processed by nodes based on authentication using unique identification of data
US9251276B1 (en) * 2015-02-27 2016-02-02 Zoomdata, Inc. Prioritization of retrieval and/or processing of data
US11057446B2 (en) * 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US10157215B2 (en) * 2016-01-13 2018-12-18 American Express Travel Related Services Company, Inc. System and method for managing data and updates to a database structure
US10037194B2 (en) * 2016-01-22 2018-07-31 American Express Travel Related Services Company, Inc. Systems and methods for visual data management
US10362109B2 (en) * 2016-03-30 2019-07-23 Task Performance Group, Inc. Cloud operating system and method

Also Published As

Publication number Publication date
CA3027461A1 (en) 2017-12-28
CA3027461C (en) 2022-06-21
US20220067683A1 (en) 2022-03-03
US20190333035A1 (en) 2019-10-31
EP3475907A1 (en) 2019-05-01
BR112018076673A2 (pt) 2019-04-02
US11200551B2 (en) 2021-12-14
WO2017220779A1 (en) 2017-12-28

Similar Documents

Publication Publication Date Title
US11899629B2 (en) Decentralized database associating public keys and communications addresses
US10459946B2 (en) Method and system for tuning blockchain scalability, decentralization, and security for fast and low-cost payment and transaction processing
US11790370B2 (en) Techniques for expediting processing of blockchain transactions
Miller et al. The honey badger of BFT protocols
US11201751B2 (en) System and method for off-chain cryptographic transaction verification
Collins et al. Online payments by merely broadcasting messages
US20200092084A1 (en) System and methods for operating a blockchain network
CN111899012B (zh) 基于区块链的汇款方法及装置
JP2024036578A (ja) ブロックチェーントランザクションの並列検証のためのシステム及び方法
JP2022508247A (ja) 信頼度ベースのコンセンサスを伴う高性能分散型記録システム
CN111684761A (zh) 用于使用智能合约和区块链管理云服务的方法和装置
CN109299335A (zh) 数据存储的控制方法、装置、服务器及可读存储介质
US20230299984A1 (en) Blockchain-based data processing method, apparatus and device, and storage medium
KR101837167B1 (ko) Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버
US20200244464A1 (en) Blockchain based authentication
KR20180102269A (ko) 블록체인 기반 외부 서비스 지원 시스템 및 그 방법
US20220036352A1 (en) Systems and methods for enabling selective activation of resource-draining processes
US20220067683A1 (en) System for facilitating real-time transactions
US10673749B1 (en) Peer-to-peer application layer distributed mesh routing
Subramanian et al. Rebalancing in acyclic payment networks
Ivanov et al. Blockumulus: a scalable framework for smart contracts on the cloud
Tan et al. Right-of-Stake: deterministic and fair blockchain leader election with hidden leader
Zhang et al. An Optimization Model for Transaction Placement in Blockchain Shards
US20240265391A1 (en) Numerically delineated value transfer
Wright Investigation of the potential for using the bitcoin blockchain as the world's primary infrastructure for internet commerce

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: CENTURION DK A/S (DK)

B350 Update of information on the portal [chapter 15.35 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: 20 (VINTE) ANOS CONTADOS A PARTIR DE 23/06/2017, OBSERVADAS AS CONDICOES LEGAIS

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 7A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2780 DE 16-04-2024 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.