BR112021013970A2 - Sistema de provisão de serviço de gerenciamento de banco de dados, e, método para ser executado por um sistema incluindo uma pluralidade de servidores e um ou mais bancos de dados - Google Patents

Sistema de provisão de serviço de gerenciamento de banco de dados, e, método para ser executado por um sistema incluindo uma pluralidade de servidores e um ou mais bancos de dados Download PDF

Info

Publication number
BR112021013970A2
BR112021013970A2 BR112021013970-2A BR112021013970A BR112021013970A2 BR 112021013970 A2 BR112021013970 A2 BR 112021013970A2 BR 112021013970 A BR112021013970 A BR 112021013970A BR 112021013970 A2 BR112021013970 A2 BR 112021013970A2
Authority
BR
Brazil
Prior art keywords
server
information
servers
query
program
Prior art date
Application number
BR112021013970-2A
Other languages
English (en)
Inventor
Hirofumi Inomata
Masafumi Kinoshita
Hiroaki KONOURA
Original Assignee
Hitachi, Ltd.
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 Hitachi, Ltd. filed Critical Hitachi, Ltd.
Publication of BR112021013970A2 publication Critical patent/BR112021013970A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24561Intermediate data storage techniques for performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • G06Q10/00Administration; Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Mathematical Physics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Fuzzy Systems (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

sistema de provisão de serviço de gerenciamento de banco de dados, e, método para ser executado por um sistema incluindo uma pluralidade de servidores e um ou mais bancos de dados. cada um de uma pluralidade de servidores inclui uma região de armazenamento de informações compartilhadas para armazenar informações que serão compartilhadas com outros servidores. os servidores operam de modo a corresponder dados das regiões de armazenamento de informações compartilhadas entre si. um primeiro servidor gerencia um primeiro banco de dados local. um segundo servidor gera informações de consulta para acessar o primeiro banco de dados local, e armazena as informações de consulta na região de armazenamento de informações compartilhadas do segundo servidor. o primeiro servidor adquire as informações de consulta a partir da região de armazenamento de informações compartilhadas do primeiro servidor e armazena o resultado em relação às informações de consulta na região de armazenamento de informações compartilhadas do primeiro servidor. o segundo servidor adquire o resultado da região de armazenamento de informações compartilhadas do segundo servidor.

Description

1 / 30
SISTEMA DE PROVISÃO DE SERVIÇO DE GERENCIAMENTO DE BANCO DE DADOS, E, MÉTODO PARA SER EXECUTADO POR UM SISTEMA INCLUINDO UMA PLURALIDADE DE SERVIDORES E UM OU MAIS BANCOS DE DADOS REIVINDICAÇÃO DE PRIORIDADE
[001] O presente pedido reivindica a prioridade do pedido de patente japonesa Nº 2019-9349, depositado em 23 de janeiro de 2019, cujo conteúdo é incorporado no presente documento a título de referência para este pedido.
FUNDAMENTOS DA INVENÇÃO
[002] A presente invenção refere-se a um sistema de provisão de serviço de gerenciamento de DB.
[003] Para empresas de qualquer tamanho, a construção rápida e flexível de uma cadeia de abastecimento tornou-se um problema para alcançar a globalização e o aprimoramento de seus negócios. As empresas parceiras em uma cadeia de abastecimento (incluindo um sistema de intercâmbio eletrônico de dados) reconheceram a importância de compartilhar informações rapidamente (incluindo informações sobre a inter-relação das informações providas pelas empresas parceiras) por meio de uma infraestrutura de TI. Essa cadeia de abastecimento gerencia unitariamente as informações sobre a entrada ou saída de uma empresa parceira (um membro de um consórcio de empresas) com um sistema de TI utilizando um sistema de gerenciamento de DB (DBMS). Para uma empresa ingressar nessa cadeia de abastecimento, os procedimentos de aprovação da participação, a construção do sistema para se conectar ao sistema de TI de cada empresa parceira e a comunicação de teste demoram, dificultando a melhoria da agilidade do negócio. Na descrição a seguir, o termo “empresa parceira” também é referido como parceiro.
[004] Enquanto isso, surgiu uma tecnologia chamada tecnologia de razão distribuída (ou tecnologia blockchain) que não requer gerenciamento
2 / 30 unitário (ou gerenciamento centralizado) para o compartilhamento de informações. Essa tecnologia é um tipo de tecnologia de replicação de DB para que sistemas de TI fracamente acoplados em uma rede possam ter clones de suas informações uns com os outros, embora não seja tão vantajosa no manuseio de grandes dados. Na descrição a seguir, essa tecnologia blockchain é abreviada para tecnologia BC e blockchain para BC.
[005] Tendo em vista os fundamentos anteriores, espera-se que aumentem as necessidades de aprimoramento da governança corporativa dos parceiros e melhoria da agilidade. Esta invenção visa um sistema para prover um serviço de um sistema de gerenciamento de DB para melhorar a agilidade no compartilhamento de informações (por exemplo, banco de informações e ligação/associação de informações) entre os parceiros pertencentes a uma cadeia de abastecimento. A descrição a seguir explica um exemplo de cadeia de abastecimento, mas o termo “cadeia de abastecimento” pode ser lido como um grupo de empresas que compartilham informações.
[006] O documento US 6.044.374 B descreve um mecanismo para gerenciar unitariamente metadados de informações (conteúdos, como arquivos) armazenados em locais separados para compartilhar os conteúdos. JP 2018-190227 A descreve um mecanismo para armazenar arquivos em um ou mais servidores de arquivos separados sem duplicação por meio do compartilhamento de metadados (como informações sobre os locais de armazenamento dos arquivos) usando a tecnologia BC. US 9.870.562 B descreve um exemplo de um sistema de TI para realizar transações de negócios usando tecnologia BC.
[007] Literatura de Patente 1: US 6.044.374 B Literatura de Patente 2: JP 2018-190227 A Literatura de Patente 3: US 9.870.562 B
SUMÁRIO DA INVENÇÃO
[008] Tomando um exemplo de cadeia de abastecimento, a demanda
3 / 30 por melhoria da agilidade dos negócios aumentará conforme os negócios aplicados se expandem. Uma cadeia de abastecimento gerencia unitariamente várias obras não rotineiras e aprovações de entrada e saída de empresas parceiras. Como resultado, a entrada/saída de uma empresa parceira não pode ser facilmente realizada em uma unidade de grupo empresarial que consiste em uma parte da cadeia de abastecimento; o procedimento para isso tende a ser demorado. Assim, para compartilhar informações por meio de uma infraestrutura de TI, a primeira exigência é que as empresas parceiras compartilhem informações de gerenciamento do sistema de gerenciamento de banco de dados (DBMS) de forma rápida e flexível para que vários aplicativos espalhados por um grande número de empresas possam usar os DBMSs e bancos de dados (DBs) detidos pelas empresas parceiras.
[009] Enquanto isso, a informação (um conteúdo) compartilhada por uma pluralidade de parceiros pode ser facilmente acessada de qualquer lugar por meio da Internet por causa da recente melhoria no desempenho da comunicação, mesmo se a informação estiver armazenada em um banco de dados local de um servidor conectado à Internet. Porém, o procedimento de aquisição das informações de gerenciamento necessárias para acessar o banco de dados local de outro servidor e as obras de construção de um sistema de TI que possibilite tal acesso dificultam a melhoria da agilidade.
[0010] Um aspecto da presente invenção é um sistema de provisão de serviço de gerenciamento de DB incluindo: uma pluralidade de servidores; e um ou mais bancos de dados. A pluralidade de servidores inclui um primeiro servidor e um segundo servidor. Cada um da pluralidade de servidores inclui uma área de armazenamento de informações compartilhadas configuradas para armazenar informações que serão compartilhadas com outros servidores. Cada um da pluralidade de servidores é configurado para operar para terem dados idênticos na área de armazenamento de informações compartilhadas. O primeiro servidor é configurado para gerenciar um primeiro banco de dados
4 / 30 local. O segundo servidor é configurado para: gerenciar informações de consulta para acessar o primeiro banco de dados local, e armazenar as informações de consulta na área de armazenamento de informações compartilhadas do segundo servidor. O primeiro servidor é configurado para adquirir as informações de consulta a partir da área de armazenamento de informações compartilhadas do primeiro servidor e armazenar uma resposta em relação às informações de consulta na área de armazenamento de informações compartilhadas do primeiro servidor. O segundo servidor é configurado para adquirir a resposta da área de armazenamento de informações compartilhadas do segundo servidor.
[0011] Um aspecto da presente invenção possibilita o processamento para que o uso de um banco de dados seja realizado de forma eficiente.
BREVE DESCRIÇÃO DOS DESENHOS
[0012] A Figura 1 ilustra uma configuração geral de uma rede; a Figura 2 ilustra uma configuração de um sistema; a Figura 3 ilustra uma configuração interna de um servidor; a Figura 4 ilustra uma configuração de memória de um servidor; a Figura 5 ilustra uma configuração de dados de configuração de um servidor; a Figura 6 ilustra uma configuração de um banco de dados de gerenciamento; a Figura 7 ilustra uma configuração de exemplo de um banco de dados local; a Figura 8 ilustra uma configuração interna de um dispositivo de usuário final; a Figura 9 ilustra uma configuração de dados de configuração de um dispositivo; a Figura 10 ilustra uma visão geral de uma transação BC;
5 / 30 a Figura 11 ilustra uma configuração de exemplo da coleta de um resultado de consulta; a Figura 12 ilustra um fluxo operacional de um exemplo de um programa de aplicativo de servidor; a Figura 13 ilustra um fluxo operacional de um programa de serviço BC; a Figura 14 ilustra um fluxo operacional de um programa de DBMS; a Figura 15 ilustra um fluxo operacional de um programa de aplicativo de um dispositivo de usuário final; a Figura 16 ilustra uma visão geral de um tipo diferente de transação BC; e a Figura 17 ilustra um fluxo operacional de um programa de retransmissão.
DESCRIÇÃO DETALHADA DAS MODALIDADES
[0013] A visão geral das modalidades para realizar a presente invenção é descrita. As modalidades proveem técnicas relacionadas à infraestrutura de TI e ao sistema de gerenciamento de banco de dados para obter o compartilhamento de informações entre empresas, por exemplo. Os sistemas e métodos nas modalidades são adequados especialmente para um sistema de gerenciamento de banco de dados distribuído usado para gerenciamento de um consórcio empresarial (por exemplo, uma cadeia de abastecimento) e compartilhamento de informações entre as empresas pertencentes ao consórcio empresarial.
[0014] Cada parceiro do consórcio empresarial armazena informações (inclusive informações relativamente grandes) para serem compartilhadas em um banco de dados com um programa de sistema de gerenciamento de DB (DBMS) em seu próprio servidor. Nesta ocasião, o parceiro que armazena as informações compartilha informações de configuração e informações de
6 / 30 gerenciamento necessárias para que os outros parceiros usem/executem seus programas de DBMS usando a tecnologia blockchain (BC). Como resultado, um parceiro que participa da rede blockchain (o grupo que compartilha informações por tecnologia BC) pode acessar os bancos de dados locais dos outros parceiros por meio dos programas DBMS nos servidores dos outros parceiros.
[0015] As modalidades para realizar esta invenção serão descritas com base nas modalidades com referência aos desenhos. A seguir, as modalidades são descritas em detalhes com a configuração e o fluxo de operação de cada elemento. As modalidades podem usar uma plataforma blockchain conhecida no que diz respeito à operação interna e especificações do programa de serviço blockchain (BC) para implementar uma rede de blockchain.
[0016] Exemplos da plataforma blockchain conhecida incluem plataformas blockchain abertas ao público como software de código aberto (OSS), bem como o exemplo descrito no referido JP 2018-190227 A. As plataformas OSS incluem Hyperledger Fabric, Ethereum, Quorum, Bitcore e LISK.
[0017] Embora essas plataformas de blockchain sejam diferentes nos nomes das funções para invocar funções, as modalidades podem usar as funções providas em qualquer uma dessas plataformas de blockchain. Consequentemente, a descrição detalhada sobre a operação interna do programa de serviço BC para implementar uma rede blockchain é omitida na descrição a seguir.
[0018] A tecnologia blockchain empregada na plataforma blockchain descrita acima é descrita resumidamente. Existem algumas maneiras conhecidas de uma pluralidade de servidores conectados a uma rede de comunicação para compartilhar dados. Uma delas é o compartilhamento centralizado, no qual um servidor específico mantém os dados a serem
7 / 30 compartilhados e os outros servidores acessam os dados no servidor específico para compartilhar os dados. No entanto, quando grandes dados a serem compartilhados por aplicativos espalhados por um grande número de empresas são armazenados em um banco de dados local específico, o acesso aos dados é limitado pelo desempenho das infraestruturas de TI (como servidores, armazenamentos de dados e redes) de cada empreendimento.
[0019] Outra forma é o compartilhamento distribuído, no qual uma pluralidade de servidores para compartilhar dados armazenam clones de dados interativamente. Este compartilhamento distribuído permite uma atualização dos dados em cada servidor com baixa carga, mas é difícil garantir a autenticidade dos dados.
[0020] A tecnologia blockchain é uma tecnologia de compartilhamento de dados que emprega o último compartilhamento distribuído. Para garantir a autenticidade dos dados a serem compartilhados, a tecnologia blockchain faz com que os servidores compartilhem não só os dados atualizados, mas também o histórico dos dados antes da atualização e, posteriormente, anexa uma assinatura digital do servidor ou do usuário que atualiza os dados. Por meio dessa configuração, a tecnologia blockchain impede a violação por terceiros e facilita a detecção de violação. A tecnologia blockchain atinge o compartilhamento de dados com menos carga do que o compartilhamento centralizado e, além disso, provê confiabilidade tão alta quanto o compartilhamento centralizado. MODALIDADE 1
[0021] Com referência às Figuras 1 e 2, a configuração de um sistema de provisão de serviço de gerenciamento de banco de dados para implementar a presente modalidade é descrita. A Figura 1 ilustra uma configuração de rede deste sistema. Os servidores 104, 105, 106, 107, 108 e 109 pertencentes a uma ou mais empresas pertencentes a uma cadeia de abastecimento 101 e um dispositivo de usuário final 110 se conectam à Internet 102 e se comunicam
8 / 30 entre si através da Internet 102.
[0022] Os servidores 104, 105, 106, 107, 108 e 109 de propriedade de uma ou mais empresas pertencentes à cadeia de abastecimento 101 se conectam ainda a uma rede blockchain 103 e se comunicam entre si através da rede blockchain 103. No exemplo da Figura 1, a Internet 102 inclui a rede blockchain 103. Cada um dos servidores 104, 105, 106, 107, 108 e 109 tem um banco de dados (DB) local 407. No entanto, a Figura 1 mostra apenas os bancos de dados locais dos servidores 104, 105 e 109 que são necessários para explicar o processamento. O servidor 105 tem um programa de aplicativo de servidor 401.
[0023] Uma pluralidade de linhas tracejadas 118 representa esquematicamente as relações de confiança entre os servidores na rede blockchain 103. Os servidores conectados por uma linha tracejada 118 têm uma relação de confiança. A plataforma blockchain (provida pelos programas de serviço BC 402 na Figura 2) transmite a comunicação de uma transação BC na rede blockchain 103 por encadeamento de trocas de dados entre servidores com uma relação de confiança representada por uma linha tracejada 118.
[0024] De acordo com a configuração de rede descrita acima, suponha que uma empresa X participe da cadeia de abastecimento 101 e, por causa disso, seu servidor 109 se junta à rede blockchain 103. Depois disso, o programa de aplicativo de servidor 401 do servidor 105 recebe uma operação do dispositivo de usuário final 110 através da Internet 102, por exemplo. O programa de aplicativo de servidor 401 envia uma consulta ao servidor 104 ou 109 a fim de adquirir os dados necessários para o seu processamento do DB local 407 no servidor 104 ou 109.
[0025] A Figura 2 ilustra uma configuração lógica referida na seguinte descrição da operação. A Internet 102 inclui redes blockchain 103 e 203; os servidores 104, 105 e 109 e o dispositivo de usuário final 110 se
9 / 30 conectam à Internet 102. Os servidores 104, 105 e 109 se conectam à rede blockchain 103. Nenhum dos servidores na Figura 2 se conecta à rede blockchain 203.
[0026] Cada um dos servidores 104, 105 e 109 tem um programa de serviço BC 402, um programa de DBMS 403, um DB de gerenciamento 406 e um DB local 407. Além disso, o servidor 105 tem um ou mais programas de aplicativos de servidor 401. O servidor 105 pode ter uma pluralidade de programas de aplicativos de servidor para diferentes bancos de dados locais.
[0027] O dispositivo de usuário final 110 tem um programa aplicativo de dispositivo de usuário final 806. O programa de aplicativo de dispositivo de usuário final 806 instrui um programa de aplicativo de servidor 401 a realizar uma operação 115 através da Internet 102. Neste exemplo, a operação 115 é um acesso ao banco de dados designado.
[0028] O programa de serviço BC 402 é um módulo de programa para implementar uma plataforma blockchain. Geralmente, este módulo é um software aberto ao público como OSS e, nesta modalidade, usa funções comuns. Consequentemente, a descrição de seu funcionamento interno é omitida na seguinte descrição detalhada. Esta modalidade usa principalmente funções comuns, tais como comunicação de transação BC e replicação de dados (clonagem) entre uma pluralidade de servidores.
[0029] Uma transação BC é uma transação por meio de uma rede blockchain. Na plataforma blockchain, os dados a serem compartilhados pelos servidores são replicados. Ou seja, os servidores operam de forma que os dados armazenados em suas áreas de armazenamento de informações compartilhadas se tornem idênticos. Nesta modalidade, os dados nos bancos de dados de gerenciamento 406 a serem descritos posteriormente são replicados e os servidores operam (se comunicam) de modo que seus bancos de dados de gerenciamento 406 se tornem idênticos. Cada DB de gerenciamento 406 (a área de armazenamento do mesmo) é um exemplo de
10 / 30 uma área de armazenamento de informação compartilhada.
[0030] O programa de DBMS 403 é um módulo de programa obtido incorporando uma função para conectar a uma rede blockchain em um programa para implementar um sistema de gerenciamento de banco de dados comum (DBMS). A função de processamento de consulta provida pelo sistema de gerenciamento de banco de dados é comumente conhecida e sua descrição detalhada é omitida na seguinte descrição detalhada. Esta modalidade pode usar um sistema de gerenciamento de banco de dados que emprega a linguagem banco de dados DB SQL definida pelas normas ISO.
[0031] Esta modalidade também pode usar um módulo de programa para implementar armazenamento de dados que não emprega linguagem de DB SQL, como um armazenamento de valor-chave, um armazenamento de objeto ou um servidor web, como o programa de DBMS 403.
[0032] O DB de gerenciamento 406 é um DB ou um armazenamento para armazenar informações de configuração e informações de gerenciamento necessárias para executar o programa de DBMS 403. As informações de configuração são as informações necessárias para iniciar o programa de DBMS 403 e as informações de gerenciamento são os dados a serem referidos pelo programa de DBMS 403 para gerenciar o DBMS 407 local. Os dados mantidos no DB de gerenciamento 406 são replicados e armazenados nos bancos de dados de gerenciamento 406 dos outros servidores por meio do programa de serviço BC 402.
[0033] O DB local 407 é um armazenamento para manter um DB gerenciado pelo programa de DBMS 403. O programa de aplicativo de dispositivo de usuário final 806 é um módulo de programa para operar o programa de aplicativo de servidor 403 através da Internet 102.
[0034] A seguir, os elementos constituintes deste sistema serão descritos com referência às Figuras 3 a 9. Para simplicidade de explicação, assume-se que um ou mais servidores 104, 105, 106, 107, 108 e 109 têm a
11 / 30 configuração interna idêntica. Cada servidor não precisa incluir um elemento constituinte para não ser usado.
[0035] A Figura 3 ilustra a configuração de hardware interno dos um ou mais servidores mencionados acima, usando um servidor 301 no desenho como exemplo. O servidor 301 inclui um MPU 302, uma memória 303, um NIC 304 para se conectar à Internet 102 e um barramento de dados 305 conectando esses componentes. O MPU 302 é uma unidade de microprocessador e um exemplo de processador. A memória 303 é uma memória primária e um exemplo de dispositivo de armazenamento. O NIC 304 é uma placa de interface de rede para conexão com a Internet 102. A Figura 4 ilustra a configuração de dados na memória 303 do servidor 301. A memória 303 inclui um programa de aplicativo de servidor 401, um programa de serviço BC 402, um programa de DBMS 403, dados de configuração de servidor 405, um DB de gerenciamento 406 e um DB local 407.
[0036] O programa de aplicativo de servidor 401 é um módulo de programa para implementar um aplicativo de negócios a ser usado por um usuário final. O programa de serviço BC 402 é um módulo de programa para implementar uma plataforma blockchain.
[0037] O programa de DBMS 403 é um módulo de programa para implementar um sistema de gerenciamento de DB que participa de uma rede blockchain. A operação de cada módulo do programa será descrita posteriormente com os fluxos de operação.
[0038] Os dados de configuração do servidor 405 são uma área de armazenamento de dados para manter informações de configuração e informações de gerenciamento exclusivas para o servidor 301. O DB de gerenciamento 406 é uma área de armazenamento de dados para manter informações de configuração e informações de gerenciamento necessárias para executar o programa de DBMS 403. A informação de gerenciamento necessária para usar o programa de DBMS 403 é geralmente diferente
12 / 30 dependendo das especificações do programa de DBMS 403 empregado, mas inclui informações comuns a vários programas DBMS.
[0039] Exemplos de informações comuns incluem os nomes das fontes de dados e o nome do banco de dados do DB 407 local gerenciado pelo programa de DBMS 403 e os nomes das tabelas de banco de dados mantidos pelo DB local 407; o DB de gerenciamento 406 pode conter todos ou parte deles. Exemplos de informações de gerenciamento comuns incluem informações de conta de usuário listando usuários com permissão para usar o programa de DBMS 403 e suas ações autorizadas. O DB de gerenciamento 406 pode conter todos ou parte deles.
[0040] Estas informações de configuração e informações de gerenciamento são informações necessárias para usar o programa de DBMS 403, mas opcionais para implementar esta modalidade; a descrição sobre o processamento interno do programa de DBMS 403 nestes é omitida aqui.
[0041] O DB local 407 é uma área de armazenamento de dados para armazenar um banco de dados a ser usado pelo programa de aplicativo de servidor 401 por meio do programa de DBMS 403. O DB de gerenciamento 406 e o DB local 407 podem ser armazenados em um dispositivo de armazenamento externo.
[0042] A Figura 5 ilustra a configuração interna dos dados de configuração de um servidor 405. Os dados de configuração do servidor 405 incluem um ID de banco de dados 501, uma tabela de dados "lista de parceiros" 502 e uma tabela de dados "lista de contas locais" 503.
[0043] O ID do banco de dados 501 é uma área de armazenamento de dados para armazenar as informações de identificação para identificar o DB local do servidor 301. De acordo com o exemplo da Figura 5, o servidor possui um DB local; no entanto, o servidor pode ter uma pluralidade de bancos de dados locais. Esse identificador é uma informação exclusiva do sistema, como um número de série ou o endereço de Internet do servidor.
13 / 30
[0044] A tabela de dados “lista de parceiros” 502 é uma lista de servidores (nós) com os quais o servidor 301 tem uma relação de confiança 118 ou uma lista de outros servidores com os quais o servidor 301 se comunica. A informação atualizada a ser compartilhada na rede blockchain é enviada a todos os servidores indicados na tabela de dados “lista de parceiros”
502. De acordo com a lista de parceiros 502, todos os servidores na rede blockchain podem compartilhar informações por meio de comunicação ponto a ponto com uma relação de confiança.
[0045] A tabela de dados “lista de parceiros” 502 é uma tabela de dados com uma coluna “URI” e uma coluna “ID de parceiros”. A coluna "URI" em cada registro pode incluir o endereço de Internet de um servidor (servidor tendo uma relação de confiança 118) com o qual o programa de serviço BC 402 do servidor 301 pode se comunicar diretamente. A coluna “ID de parceiro” de cada registro inclui informações de identificação do servidor na rede blockchain. Geralmente, essas informações de identificação do servidor são uma chave pública gerada exclusivamente para o servidor de acordo com o esquema de criptografia de chave pública empregado pela plataforma blockchain.
[0046] A tabela de dados “lista de contas locais” 503 é uma lista de tabelas gerenciadas pelo servidor 301. Cada registro na tabela de dados “lista de contas locais” 503 tem uma coluna “ID do banco de dados”, uma coluna “nome da tabela”, uma coluna “ID da conta BC” e uma coluna “chave secreta”. A coluna “ID do banco de dados” armazena o ID do banco de dados no servidor que contém a tabela de banco de dados de um banco de dados local.
[0047] A coluna “nome da tabela” armazena o nome da tabela do banco de dados. A coluna “ID da conta BC” armazena informações de identificação (chave pública) do servidor na rede blockchain. A coluna “chave secreta” armazena uma chave secreta para as informações de identificação do
14 / 30 servidor na rede blockchain.
[0048] A Figura 6 ilustra a configuração de dados do DB de gerenciamento 406. O DB de gerenciamento 406 é uma informação a ser compartilhada pelos servidores na rede blockchain. Uma atualização do DB de gerenciamento 406 em um dos servidores é refletida em todos os servidores da rede blockchain.
[0049] O DB de gerenciamento 406 inclui uma tabela de DB “lista de tabelas de DB” 601, uma tabela de DB “lista de contas globais” 602, áreas de armazenamento de dados “carga útil de transação de BC para inquérito de DB” (áreas de armazenamento de consulta) 603 e áreas de armazenamento de dados “transação de BC carga útil para resposta de inquérito de DB ”(áreas de armazenamento de resposta de consulta) 604.
[0050] A tabela DB “lista de tabelas do DB” 601 contém informações sobre bancos de dados gerenciados pelos servidores na rede blockchain e, neste exemplo, uma lista de todas as tabelas na rede blockchain. Esta lista permite que um servidor na rede blockchain gere informações de consulta para qualquer servidor. A tabela do DB “Lista da tabela do DB” 601 tem uma coluna “ID do banco de dados ”, uma coluna “nome da tabela” e uma coluna “ID da conta do BC”.
[0051] A tabela de DB “lista de contas globais” 602 é uma lista de todos os usuários finais que se espera que se conectem à rede blockchain. A tabela do DB “lista de contas globais” 602 tem uma coluna “ID do usuário” e uma coluna “ID da conta do BC”.
[0052] Em cada registro, a coluna “ID do usuário” armazena informações de identificação de um usuário final. Essas informações de identificação podem ser uma sequência de caracteres ou valor numérico exclusivo da rede BC. A coluna “ID da conta BC” armazena informações de identificação na rede blockchain atribuída ao usuário final, que pode ser uma chave pública, como informações de identificação do servidor.
15 / 30
[0053] Cada área de armazenamento de dados “Carga útil de transação BC para inquérito de DB” (área de armazenamento de consulta) 603 armazena informações de consulta a serem enviadas ao programa de DBMS 403 de outro servidor por meio da rede blockchain. As informações da consulta são atualizadas quando novas informações da consulta são geradas.
[0054] A área de armazenamento de dados "carga útil de transação BC para inquérito de DB" 603 inclui um campo de dados "tipo de dados" (informações sobre o tipo de dados) 605, um campo de dados "inquérito de DB" (informações de consulta) 606, um campo de dados "destino de resposta "(O destinatário da resposta) 607, e um campo de dados" ID de inquérito de DB "(informações de identificação na consulta) 608.
[0055] O campo de dados “tipo de dados” (informações sobre o tipo de dados) 605 armazena informações de identificação para identificar o tipo de dados na carga útil da transação BC. No caso de uma transação BC de uma consulta, as informações de identificação que representam a consulta são armazenadas.
[0056] O campo de dados “inquérito de DB” (informações de consulta) 606 armazena informações de consulta a serem enviadas ao programa de DBMS 403. Em um exemplo de pesquisa usando SQL, ele armazena uma sequência de caracteres como “SELECT Column_1 FROM AAA WHERE Column_2 = ‘e’”. Isso significa que o valor da coluna “Column_1” do registro incluindo um valor “e” na coluna “Column_2” deve ser adquirido da tabela do DB “AAA”. Conforme observado neste exemplo, o campo de dados “inquérito de DB” 606 designa a tabela a ser acessada.
[0057] O campo de dados "destino de resposta" (o destinatário da resposta) 607 armazena o destinatário da resposta à consulta executada pelo programa de DBMS 403. Este destino de resposta pode ser o ID da conta BC ou o URI (o endereço da Internet) do servidor. O campo de dados “destino da resposta” 607 é uma informação sobre o destino do resultado da consulta.
16 / 30 Como será descrito mais tarde, o destino de resposta 607 é referido quando o programa de DBMS 403 muda o destinatário da resposta diretamente (não por meio do programa de serviço BC 402) para o servidor que enviou a consulta. O campo de dados “ID de inquérito de DB” (informações de identificação em uma consulta ”608 é uma informação de identificação para identificar a consulta e pode ser um número de série único ou informação de identificação da transação no blockchain.
[0058] Cada área de armazenamento de dados “Carga útil de transação BC para resposta de inquérito de DB” (área de armazenamento de resposta de consulta) 604 armazena informações sobre a resposta a informações de consulta enviadas para outro servidor. No caso de um resultado de pesquisa, essas informações de resposta podem ser uma sequência de caracteres "o código de retorno, o resultado '1'".
[0059] A área de armazenamento de dados "Carga útil de transação BC para resposta de inquérito de DB" (área de armazenamento de resposta de consulta) 604 tem um campo de dados "tipo de dados" (informações sobre o tipo de dados) 609, um campo de dados "resposta de inquérito de DB" (informações de resposta de consulta) 610, um campo de dados "ID de inquérito de DB" (informações de identificação em uma consulta) 611.
[0060] O campo de dados “tipo de dados” (informações sobre o tipo de dados) 609 armazena informações de identificação para identificar o tipo de resposta da consulta. O campo de dados “Resposta a inquérito de DB” (informações de resposta à consulta) 610 armazena informações de resposta do programa de DBMS 403 que executou uma consulta. O campo de dados “ID de inquérito de DB” (informações de identificação em uma consulta ”611 armazena o ID de inquérito de DB da consulta executada pelo programa de DBMS 403 (o valor armazenado no ID de inquérito de DB 608) para que o remetente da consulta possa identificar a resposta da consulta à consulta enviada pelo remetente.
17 / 30
[0061] Embora esta modalidade seja descrita assumindo que os IDs de inquérito de DB 608 e 611 são números de série para identificar consultas, os IDs de inquérito de DB 608 e 611 podem ser informações de identificação únicas, como informações de identificação em transações BC gerenciadas dentro do programa de serviço BC 402. Por exemplo, as informações de identificação podem ser adquiridas no envio de uma transação BC usando comandos geth providos por uma plataforma blockchain Ethereum.
[0062] Como o programa de DBMS para receber uma transação BC adquire essas informações de identificação, o programa de DBMS pode incluir as informações na resposta. O remetente compara as informações de identificação adquiridas do sistema geth com as informações de identificação incluídas na resposta para determinar se a resposta é a resposta à transação de BC que o remetente enviou.
[0063] A Figura 7 ilustra a configuração de dados do DB local 407. O DB local 407 na Figura 7 mostra exemplos de tabelas de banco de dados a serem usadas pelo programa de aplicativo do servidor como um exemplo para explicar a operação. Uma vez que as especificações do programa de aplicativo de servidor dependem do usuário final ou da cadeia de abastecimento, o DB local 407 pode ter diferentes tabelas de banco de dados adequadas para diferentes programas de aplicativo de servidor.
[0064] O DB local 407 inclui uma tabela DB “AAA” 701 e uma tabela DB “BBB” 702, por exemplo. Os registros da tabela DB “AAA” 701 possuem uma coluna “Column_1” e uma coluna “Column_2”. Os registros da tabela DB “BBB” 702 possuem uma coluna “Column_1” e uma coluna “Column_2”.
[0065] A Figura 8 ilustra um exemplo da configuração interna do dispositivo de usuário final 110. O dispositivo de usuário final 110 inclui um MPU 801, uma memória 802, um NIC 803 para se conectar à Internet, um usuário IF 804 para inserir uma operação do usuário final e exibir
18 / 30 informações para o usuário final e um barramento de dados 805 conectando estes componentes. O MPU 801 é uma unidade de microprocessador comum e é um exemplo de processador.
[0066] A memória 802 é uma memória primária e um exemplo de dispositivo de armazenamento. A memória 802 inclui um programa de aplicativo de dispositivo de usuário final 806 e dados de configuração de dispositivo 807. O programa de aplicativo de dispositivo de usuário final 806 é um módulo de programa para operar o programa de aplicativo de servidor
401.
[0067] Os dados de configuração de dispositivo 807 armazenam informações de configuração e informações de gerenciamento exclusivas para o dispositivo de usuário final 110. O NIC 803 é uma placa de interface de rede. O usuário IF 804 é um módulo para inserir uma operação do usuário final e exibir informações para o usuário final.
[0068] A Figura 9 ilustra a configuração de dados de uma área de armazenamento de dados para dados de configuração de dispositivo 807 na memória 802. Os dados de configuração do dispositivo 807 incluem uma tabela de dados "lista de contas de aplicativo" 901. A tabela de dados “lista de contas de aplicativos” 901 é uma lista de programas de aplicativos de servidor a serem usados pelo usuário final.
[0069] Cada registro da tabela de dados “lista de contas do aplicativo” 901 tem uma coluna “ID do aplicativo”, uma coluna “ID da conta BC”, uma coluna “chave secreta” e uma coluna “URI”. A coluna “URI” armazena a URL do programa de aplicativo do servidor para o usuário do dispositivo de usuário final 806 conectar-se a fim de usar o programa de aplicativo do servidor.
[0070] Conforme descrito acima, o servidor e/ou o dispositivo do usuário final pode ter uma configuração de computador. Na configuração do computador, o processador executa programas armazenados no dispositivo de
19 / 30 armazenamento para funcionar como várias unidades de função. Na descrição a seguir, as sentenças tendo um assunto de um programa podem ser substituídas por sentenças tendo um assunto de um processador ou um dispositivo incluindo um processador. Pelo menos uma parte das funções do servidor e do dispositivo do usuário final pode ser implementada por um LSI, que é diferente de um processador. Além disso, o servidor e/ou o dispositivo de usuário final podem ser implementados por uma máquina virtual provida por um serviço de computação em nuvem.
[0071] A configuração do sistema foi descrita. A seguir, a operação principal deste sistema é delineada antes de descrever os detalhes do fluxo de operação. A Figura 10 ilustra o fluxo de dados principal quando o programa de aplicativo de servidor 401 do servidor 105 (segundo servidor) acessa dados em uma tabela de banco de dados armazenada no banco de dados local 407 do servidor 109 (primeiro servidor). Na Figura 10, os retângulos cercados por linhas tracejadas apontando para o programa de serviço BC 402 e o programa de DBMS 403 mostram as funções dos programas 402 e 403.
[0072] Em resposta a uma solicitação do dispositivo de usuário final 110, o programa de aplicativo de servidor 401 do servidor 105 cria uma consulta para o banco de dados local 407 do servidor 109. O programa de aplicativo de servidor 401 grava a consulta em uma carga útil de transação BC para inquérito de DB (área de armazenamento de consulta) 603 no servidor 105 por meio do programa de serviço BC 402 do servidor 105.
[0073] Os programas de serviço BC 402 mantidos por uma pluralidade de servidores, incluindo os servidores 105 e 109, transferem os pacotes "transação BC para inquérito de DB" 1001 com base nas relações de confiança 118 e refletem a atualização do DB de gerenciamento 406 do servidor 105 para os DBs de gerenciamento 406 dos servidores com os programas de serviço BC 402. Embora este exemplo explique a atualização das áreas de armazenamento 603 e 604 relacionadas a uma consulta, uma
20 / 30 atualização do DB de gerenciamento 406 em qualquer um dos servidores é refletida nos bancos de dados de gerenciamento 406 de todos os servidores na rede blockchain.
[0074] O programa de DBMS 403 em cada servidor encontra a atualização de uma carga útil de transação BC para inquérito de DB (área de armazenamento de consulta) 603 no DB de gerenciamento 406 e adquire a informação de consulta por meio do programa de serviço BC 402 e executa a consulta.
[0075] O programa de DBMS 403 responde uma resposta de execução ao remetente da consulta indicada no destino de resposta 607 diretamente ou por meio do programa de serviço BC 402.
[0076] Por exemplo, o programa de DBMS 403 determina a maneira de enviar a resposta com base no tamanho dos dados a serem respondidos. Por exemplo, se o tamanho dos dados for igual ou menor do que um valor predeterminado, a resposta é transferida para uma pluralidade de servidores, incluindo o remetente da consulta por meio do programa de serviço BC 402 (por meio da rede/protocolo blockchain) na forma de pacotes de rede blockchain 1007. Se o tamanho dos dados for maior do que o valor predeterminado, a resposta é enviada na forma de pacotes de saída 1008 na Internet 102 sem ser armazenada na área de armazenamento de informação compartilhada.
[0077] A Figura 11 ilustra uma configuração tal que o DB local 407 gerenciado pelo programa de DBMS 403 do servidor 109 possui clones em outros servidores. Este exemplo de configuração é eficaz quando o DB local 407 inclui um grande número de grandes blocos de dados.
[0078] O programa de DBMS 403 do servidor 109 opera de forma que os servidores 107 e 108 com relações de confiança 1109 e 1110 na rede blockchain tenham um clone do DB local 407. Os servidores 107 e 108 são todos os servidores listados na lista de parceiros 502 do servidor 109. Os
21 / 30 servidores 107 e 108 podem ser dois dos servidores na lista de parceiros 502.
[0079] Quando o programa de DBMS 403 do servidor 109 envia um resultado de execução de uma consulta ao programa aplicativo de servidor 401 do servidor 105, o programa de DBMS 403 inclui informações sobre os servidores que possuem clones do DB local 407 no resultado da execução da consulta . Neste exemplo, o servidor 109 inclui a lista de parceiros 502 do servidor 109 na carga útil como o resultado da execução. Se os servidores com um clone do DB local 407 fizerem parte dos servidores na lista de parceiros 502, o programa de DBMS 403 incluirá uma lista da parte dos servidores.
[0080] Como resultado, o programa de aplicativo de servidor 401 que adquiriu a resposta da consulta pode operar para adquirir o resultado da consulta de outros servidores tendo um clone do DB local 407 do servidor 109 e indicado na lista de parceiros 502 incluída na resposta da consulta. Esta configuração permite que o programa de aplicativo de servidor 401 adquira o resultado da consulta de um ou mais outros servidores em paralelo. Dessa forma, o alto desempenho é obtido reduzindo o tempo de aquisição do resultado da consulta e afrouxando a limitação de desempenho dos recursos de TI.
[0081] A seguir, os detalhes da operação dos módulos do programa são descritos.
[0082] A Figura 12 ilustra um exemplo do fluxo operacional do programa de aplicativo do servidor 401. O programa de aplicativo de servidor 401 executa primeiro o bloco de operação 1201. No bloco de operação 1201, o programa de aplicativo de servidor 401 recebe um pedido para consultar um banco de dados do dispositivo de usuário final 110 e executa o bloco de operação 1202.
[0083] No bloco de operação 1202, o programa de aplicativo de servidor 401 cria um registro incluindo a inquérito de banco de dados e um
22 / 30 número de série com referência à lista da tabela DB 601 e solicita ao programa de serviço BC 402 no mesmo servidor para enviar uma transação junto com o registro. Esta solicitação para enviar uma transação é uma solicitação para gravar informações em uma carga útil de transação BC para inquérito de DB 603 no DB de gerenciamento 406 do mesmo servidor.
[0084] Em seguida, o programa de aplicativo de servidor 401 executa o bloco de operação 1203. No bloco de operação 1203, o programa de aplicativo de servidor 401 solicita ao programa de serviço BC 402 do mesmo servidor para receber uma transação de uma carga útil de transação para a resposta de consulta de DB 604 do DB de gerenciamento 406. Este pedido para receber uma transação é um pedido para adquirir uma carga útil 604 (informações nele contidas).
[0085] Se o número de série incluído na carga útil 604 for diferente do número de série na carga útil da transação para inquérito de DB 603 na transação solicitada a ser enviada, o programa de aplicativo de servidor 401 repete a solicitação do programa de serviço de DB 402 para receber uma transação e executa o bloco de operação 1204.
[0086] No bloco de operação 1204, o programa de aplicativo de servidor 401 envia o resultado da execução armazenado na carga útil de transação de DB para a resposta de inquérito de DB 604 para o dispositivo de usuário final 110 e termina a operação. Através da operação anterior, o programa de aplicativo de servidor 401 provê serviço de gerenciamento de banco de dados para o dispositivo de usuário final 110.
[0087] A Figura 13 ilustra um exemplo do fluxo operacional do programa de serviço BC 402. O programa de serviço BC 402 executa primeiro o bloco de operação 1301. No bloco de operação 1301, o programa de serviço BC 402 determina se o pedido recebido é um pedido para enviar uma transação BC. Se for um pedido para enviar uma transação BC, o programa de serviço BC 402 executa o bloco de operação 1302. Caso
23 / 30 contrário, o programa de serviço BC 402 executa o bloco de operação 1304.
[0088] No bloco de operação 1302, o programa de serviço BC 402 grava os dados recebidos no DB de gerenciamento 406 no mesmo servidor como uma carga útil de uma carga útil de transação BC para inquérito de DB 603 e executa o bloco de operação 1303. No bloco de operação 1303, o programa de serviço BC 402 envia a atualização do DB de gerenciamento 406 no mesmo servidor para os programas de serviço BC 402 de todos os servidores na lista de parceiros 502 e termina a operação.
[0089] No bloco de operação 1304, o programa de serviço BC 402 atualiza o DB de gerenciamento 406 no mesmo servidor com a atualização do DB de gerenciamento 406 recebido do programa de serviço BC 402 de outro servidor. O programa de serviço BC 402 transfere a atualização para os programas de serviço BC 402 dos servidores na lista de parceiros 502 e executa o bloco de operação 1305. Como resultado, a atualização do DB de gerenciamento 406 é propagada para todos os servidores na rede blockchain por meio das relações de confiança mostradas na lista de parceiros 502.
[0090] No bloco de operação 1305, o programa de serviço BC 402 determina se o pedido recebido é um pedido para receber uma transação BC. Se for um pedido para receber uma transação BC, o programa de serviço BC 402 executa o bloco de operação 1306. Caso contrário, o programa de serviço BC 402 sai do fluxo.
[0091] No bloco de operação 1306, o programa de serviço BC 402 responde a carga útil na carga útil de transação BC designada para a resposta de inquérito DB 604 no DB de gerenciamento 406 para o programa que invocou o programa de serviço BC 402 e termina a operação. O programa de serviço BC 402 pode esperar que a carga útil designada no DB de gerenciamento 406 seja atualizada.
[0092] A Figura 14 ilustra um exemplo do fluxo operacional do programa de DBMS 403. O programa de DBMS 403 executa primeiro o
24 / 30 bloco de operação 1401. No bloco de operação 1401, o programa de DBMS 403 solicita ao programa de serviço BC 402 no mesmo servidor para receber uma transação sobre uma carga útil de transação BC para inquérito DB 603 no DB de gerenciamento 406.
[0093] O programa de DBMS 403 adquire o tipo de dados, o inquérito do banco de dados e o número de série da carga útil da transação BC para o inquérito do DB 603. Se o tipo de dados não for "DBMS", o programa de DBMS 403 repete a solicitação do programa de serviço BC 402 para receber uma transação e executa o bloco de operação 1402.
[0094] O programa de DBMS 403 determina ainda se a tabela a ser acessada está sob seu próprio gerenciamento com referência à lista de contas locais 503. Se a tabela não estiver sob seu próprio gerenciamento, o programa de DBMS 403 repete o pedido ao programa de serviço BC 402 para receber uma transação e executa o bloco de operação 1402.
[0095] No bloco de operação 1402, o programa de DBMS 403 executa o inquérito de banco de dados adquirido no DB local 407, obtém um resultado e executa o bloco de operação 1403. No bloco de operação 1403, o programa de DBMS 403 cria uma carga útil para uma carga útil de transação BC para a resposta de inquérito de DB 604 no DB de gerenciamento 406 combinando o resultado e o número de série na carga útil de transação BC para inquérito de DB 603 e solicita o serviço BC o programa 402 para enviar uma transação incluindo esta carga útil e termina a operação.
[0096] A Figura 15 ilustra o fluxo operacional do programa de aplicativo de um dispositivo de usuário final 806. O programa de aplicativo de dispositivo de usuário final 806 primeiro executa o bloco de operação
1501. No bloco de operação 1501, o programa de aplicativo de dispositivo de usuário final 806 envia uma entrada de inquérito de banco de dados através do usuário I/F para o programa de aplicativo de servidor 401 de, por exemplo, o servidor 105 (acessando DB (X)) e executa o bloco de operação 1502.
25 / 30
[0097] No bloco de operação 1502, o programa de aplicativo de dispositivo de usuário final 806 exibe a resposta recebida do programa de aplicativo de servidor 401 do servidor 105 (acessando DB (X)) através do usuário I/F e termina a operação.
[0098] A configuração e a operação do sistema nesta modalidade foram descritas. Esta modalidade permite que um servidor de uma empresa em uma cadeia de abastecimento acesse um banco de dados em outro servidor que participa de uma rede blockchain, juntando-se à rede blockchain. Como resultado, um programa de suporte a um programa de aplicação de servidor não precisa ser incorporado ao programa DBMS e a construção de um sistema para que uma empresa se junte a uma cadeia de abastecimento é facilitada; espera-se melhoria na agilidade dos negócios.
[0099] Quando grandes dados a serem compartilhados por aplicativos espalhados por um grande número de empresas são armazenados em um determinado banco de dados local, os acessos aos dados são limitados pelas infraestruturas de TI (como os servidores, o armazenamento de dados e as redes) de empresas individuais . Uma vez que a configuração desta modalidade permite que os dados sejam armazenados em uma pluralidade de bancos de dados locais separados, é esperada uma melhoria no desempenho de acesso aos grandes dados compartilhados.
[00100] Os dados armazenados em um banco de dados local e um DB de gerenciamento podem ser criptografados ou compactados; nesse caso, um meio para descriptografar ou descompactar os dados é necessário antes dos meios para processar os dados.
[00101] Para o programa de DBMS, um sistema de gerenciamento de banco de dados relacional (RDBMS) é comumente empregado. As informações da consulta, nesse caso, são expressas em SQL. Quando o armazenamento de valor chave (ou armazenamento de objeto) empregando uma interface de transferência de estado representacional é empregado para o
26 / 30 DBMS, as informações de consulta podem ser expressas por uma interface de programação de aplicativo REST.
[00102] Quando um servidor web empregando um protocolo HTTP é empregado para o programa de DBMS, as informações da consulta podem ser expressas em HyperText Markup Language (HTML). Podem ser utilizadas informações de consulta que atendam às especificações do programa de sistema de gerenciamento de banco de dados empregado.
[00103] O acesso ao banco de dados nesta modalidade é aplicável a um sistema diferente de uma cadeia de abastecimento. Em qualquer sistema, esta modalidade permite que um servidor acesse rápida e facilmente um banco de dados em outro servidor pelo servidor que se junta a uma rede blockchain. O sistema pode compartilhar as informações para fornecer o serviço de gerenciamento de banco de dados com uma tecnologia diferente da tecnologia blockchain.
[00104] Em vez da carga útil da transação BC para inquérito de DB 603 e da carga útil de transação BC para resposta de inquérito de DB 604, o sistema pode empregar um formato de dados do bloco de controle de processo empregado para gerenciar ou controlar processos em um programa de sistema operacional comum.
[00105] Como um processo para executar uma consulta do programa de aplicativo de servidor 401, a consulta é compartilhada com outros servidores por meio do programa de serviço BC 402. Os demais servidores invocam um processo para executar a consulta de acordo com as informações do bloco de controle do processo.
[00106] Esta configuração permite que uma consulta seja rápida e facilmente compartilhada e usada por uma pluralidade de servidores, mesmo se a consulta for para um programa diferente do sistema de gerenciamento de banco de dados . O termo “processo” aqui pode ser lido como “trabalho”, “tarefa” ou “fio”. O termo "bloco de controle de processo" também pode ser
27 / 30 lido como "bloco de controle de evento" empregado em um programa balanceador de rede comum. MODALIDADE 2
[00107] A Figura 16 ilustra um exemplo da configuração do sistema na Modalidade 2. Ao contrário do exemplo de configuração do sistema na Modalidade 1, o DB local 407 não é gerenciado pelo programa de DBMS 403, mas gerenciado pela plataforma blockchain. A Figura 16 ilustra o fluxo de dados principal no exemplo de configuração do sistema nesta modalidade.
[00108] O servidor 109 neste exemplo de configuração está conectado a duas redes blockchain 103 e 203. Neste exemplo de configuração, um programa de relé 404 opera no lugar do programa de DBMS 403 na Modalidade 1. O programa de retransmissão 404 é um módulo de programa para mediar uma transação BC entre diferentes redes blockchain. O retângulo cercado por uma linha tracejada apontando para o programa de relé 404 mostra as funções do programa de relé 404.
[00109] O servidor 109 tem um programa de serviço BC 412 para transações BC na rede blockchain 203, além de sua configuração na Modalidade 1. Embora não mostrado na Figura 16, o servidor 109 tem dados de configuração do servidor 405 e um DB de gerenciamento 406 para cada uma das redes blockchain 103 e 203. O DB de gerenciamento 406 para a rede blockchain 203 é uma segunda área de armazenamento de informação compartilhada. A lista da tabela DB 601 é comum às redes blockchain 103 e 203; ele inclui tabelas em ambas as redes blockchain.
[00110] A Figura 17 ilustra um exemplo do fluxo operacional do programa de retransmissão 404. Neste exemplo, uma consulta da rede blockchain 103 requer um acesso ao DB local em um servidor (terceiro servidor) incluído na rede blockchain 203 e, portanto, é transferida para a rede blockchain 203. Além disso, a resposta à consulta da rede blockchain 203 é transferida para a rede blockchain 103.
28 / 30
[00111] O programa de relé 404 executa primeiro o bloco de operação
1701. No bloco de operação 1701, o programa de retransmissão 404 solicita ao programa de serviço BC 402 para a rede blockchain 103 para receber uma transação sobre uma carga útil de transação BC para inquérito de DB 603 no DB de gerenciamento 406.
[00112] O programa de retransmissão 404 adquire o tipo de dados, o inquérito de banco de dados e o número de série da carga útil da transação BC para o inquérito de DB 603. O programa de retransmissão 404 repete a solicitação ao programa de serviço BC 402 para receber uma transação até que adquira informações de uma carga útil de transação BC para inquérito de DB 603 e executa o bloco de operação 1702.
[00113] No bloco de operação 1702, o programa de retransmissão 404 transfere a consulta armazenada na carga útil da transação BC para o inquérito de DB 603 para a outra rede blockchain 203 como uma transação BC e executa o bloco de operação 1703.
[00114] Especificamente, o programa de retransmissão 404 determina que a tabela a ser acessada está em um DB local na rede blockchain 203 com referência à lista de tabelas de DB 601. A fim de gravar a consulta adquirida em uma carga útil de transação BC para o inquérito de DB 603 no DB de gerenciamento 406 para a rede blockchain 203, o programa de retransmissão 404 solicita que o programa de serviço BC 412 para a rede blockchain 203 envie uma transação.
[00115] O programa de serviço BC 412 envia a atualização do DB de gerenciamento 406 para os servidores na lista de parceiros 502 para a rede blockchain 203.
[00116] No bloco de operação 1703, o programa de retransmissão 404 solicita ao programa de serviço BC 412 para a rede blockchain 203 para receber uma transação BC sobre uma carga útil de transação BC para a resposta de inquérito de DB 604 para a rede blockchain 203. O programa de
29 / 30 retransmissão 404 adquire a resposta à consulta anterior (o resultado do envio da transação mencionada).
[00117] Além disso, o programa de retransmissão 404 cria um registro incluindo o resultado do envio da transação acima mencionada e o número de série incluído na carga útil da transação BC para inquérito de DB 603.
[00118] O programa de retransmissão 404 grava o registro criado em uma carga útil de transação BC para a resposta de inquérito de DB 604 no DB de gerenciamento 406 para a rede blockchain 103. Especificamente, o programa de retransmissão 404 solicita que o programa de serviço BC 402 para a rede blockchain 103 envie uma transação sobre este registro. Depois disso, o programa de retransmissão 404 termina a operação.
[00119] Conforme descrito acima, a fim de compartilhar informações com uma rede blockchain diferente (outro grupo de compartilhamento de informações implementado por um tipo diferente de tecnologia blockchain), esta modalidade inclui um programa de retransmissão para converter informações de consulta para a interface de programação de aplicativo (API) de um programa módulo que emprega um tipo diferente de tecnologia blockchain.
[00120] Esta modalidade permite acessar um banco de dados em uma rede blockchain diferente; espera-se melhoria não apenas na agilidade, mas também na flexibilidade da construção do sistema. Especificamente, para compartilhar informações em um ambiente onde diferentes tipos de tecnologia blockchain estão presentes, esta modalidade permite que o programa de aplicativo do servidor ignore a diferença em sua operação. O programa aplicativo do servidor não necessita de nenhuma modificação, facilitando a aplicação em diversas obras.
[00121] Deve-se notar que esta invenção não está limitada às modalidades descritas acima, mas inclui várias modificações. Por exemplo, as modalidades descritas acima proveem detalhes para uma melhor compreensão
30 / 30 desta invenção; eles não se limitam àqueles que incluem todas as configurações descritas. Uma parte da configuração de uma modalidade pode ser substituída por uma configuração de outra modalidade ou uma configuração de uma modalidade pode ser incorporada a uma configuração de outra modalidade. Uma parte da configuração de uma modalidade pode ser adicionada, excluída ou substituída por aquela de uma configuração diferente.
[00122] As configurações, funções e unidades de processamento acima descritas, para todas ou parte delas, podem ser implementadas por hardware: por exemplo, projetando um circuito integrado. As configurações e funções descritas acima podem ser implementadas por software, o que significa que um processador interpreta e executa programas que proveem as funções. As informações de programas, tabelas e arquivos para implementar as funções podem ser armazenadas em um dispositivo de armazenamento, como uma memória, uma unidade de disco rígido ou um SSD (Solid State Drive), ou um meio de armazenamento, como um cartão IC ou um Cartão SD. Os desenhos mostram linhas de controle e linhas de informação consideradas necessárias para explicações, mas não mostram todas as linhas de controle ou linhas de informação nos produtos. Pode-se considerar que a maioria de todos os componentes estão realmente interconectados.

Claims (8)

1 /5 REIVINDICAÇÕES
1. Sistema de provisão de serviço de gerenciamento de banco de dados, caracterizado pelo fato de que compreende: uma pluralidade de servidores; e um ou mais bancos de dados, em que a pluralidade de servidores inclui: um primeiro servidor; e um segundo servidor, em que cada um da pluralidade de servidores inclui uma área de armazenamento de informações compartilhadas configuradas para armazenar informações que serão compartilhadas com outros servidores, em que cada um da pluralidade de servidores é configurado para operar para terem dados idênticos na área de armazenamento de informações compartilhadas, em que o primeiro servidor é configurado para gerenciar um primeiro banco de dados local, em que o segundo servidor é configurado para: gerenciar informações de consulta para acessar o primeiro banco de dados local; e armazenar as informações de consulta na área de informações compartilhadas do segundo servidor, em que o primeiro servidor é configurado para: adquirir as informações de consulta a partir da área de informações compartilhadas do primeiro servidor; e armazenar uma resposta para as informações de consulta na área de informações compartilhadas do primeiro servidor, e em que o segundo servidor é configurado para adquirir a resposta da área de armazenamento de informações compartilhadas do segundo servidor.
2 /5
2. Sistema de provisão de serviço de gerenciamento de banco de dados de acordo com a reivindicação 1, caracterizado pelo fato de que a área de armazenamento de informações compartilhadas é configurada para armazenar informações em uma pluralidade de bancos de dados geridos pela pluralidade de servidores.
3. Sistema de provisão de serviço de gerenciamento de banco de dados de acordo com a reivindicação 1, caracterizado pelo fato de que cada um da pluralidade de servidores retém uma lista de outros servidores para se comunicarem dentre a pluralidade de servidores, e em que cada um da pluralidade de servidores é configurado para enviar uma atualização da área de armazenamento de informações compartilhadas aos outros servidores indicados na lista.
4. Sistema de provisão de serviço de gerenciamento de banco de dados de acordo com a reivindicação 1, caracterizado pelo fato de que o segundo servidor é configurado para: gerenciar as informações de consulta em resposta a uma instrução de um dispositivo de usuário final; e enviar a resposta adquirida da área de informações compartilhadas do segundo servidor até o dispositivo de usuário final.
5. Sistema de provisão de serviço de gerenciamento de banco de dados de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro servidor é configurado para: adquirir uma segunda informação de consulta para o primeiro banco de dados local a partir da área de armazenamento de informações compartilhadas do primeiro servidor, a segunda informação de consulta incluindo informações sobre para onde enviar uma resposta de consulta; e enviar uma resposta para a segunda informação de consulta a um servidor indicado nas informações sobre para onde enviar uma resposta
3 /5 de consulta sem armazenar a resposta à segunda consulta na área de armazenamento de informações compartilhadas do primeiro servidor.
6. Sistema de provisão de serviço de gerenciamento de banco de dados de acordo com a reivindicação 1, caracterizado pelo fato de que um ou mais servidores diferentes do primeiro servidor na pluralidade de servidores são configurados para gerenciar clones do primeiro banco de dados local, e em que o primeiro servidor é configurado para: adquirir a terceira informação de consulta para o primeiro banco de dados local a partir da área de informações compartilhadas do primeiro servidor; e armazenar uma resposta à terceira informação de consulta incluindo informações sobre os um mais servidores para a área de armazenamento de informações compartilhadas do primeiro servidor.
7. Sistema de provisão de serviço de gerenciamento de banco de dados de acordo com a reivindicação 1, caracterizado pelo fato de que a área de armazenamento de informações compartilhadas é uma primeira área de armazenamento de informações compartilhadas, em que um primeiro servidor está incluindo em um segundo sistema de provisão de serviço de gerenciamento de DB e tem uma segunda área de armazenamento de informações compartilhadas configurada para armazenar informações a serem compartilhadas com outros servidores no segundo sistema de provisão de serviço de gerenciamento de banco de dados, e em que o primeiro servidor é configurado para: adquirir uma quarta informação de consulta para um banco de dados local gerido por um terceiro servidor incluído no sistema de provisão de serviço de gerenciamento de banco de dados a partir da primeira
4 /5 área de armazenamento de informações compartilhadas do primeiro servidor; armazenar a quarta informação de consulta na segunda área de informações compartilhadas do primeiro servidor; adquirir uma resposta para a quarta informação de consulta a partir da segunda área de informações compartilhadas do primeiro servidor; e armazenar a resposta para a quarta informação de consulta na primeira área de informações compartilhadas do primeiro servidor.
8. Método para ser executado por um sistema incluindo uma pluralidade de servidores e um ou mais bancos de dados, a pluralidade de servidores incluindo um primeiro servidor e um segundo servidor, cada um da pluralidade de servidores tem uma área de armazenamento de informações compartilhadas configuradas para armazenar informações que serão compartilhadas com outros servidores, cada um da pluralidade de servidores sendo configurado para operar para terem dados idênticos na área de armazenamento de informações compartilhadas, e o método é caracterizado pelo fato de que compreende: gerenciar, pelo primeiro servidor, um primeiro banco de dados local; gerar, pelo segundo servidor, informações de consulta para acessar o primeiro banco de dados local; armazenar, pelo segundo servidor, as informações de consulta na área de informações compartilhadas do segundo servidor; adquirir, pelo primeiro servidor, as informações de consulta a partir da área de informações compartilhadas do segundo servidor; armazenar, pelo primeiro servidor, uma resposta para as
5 /5 informações de consulta na área de informações compartilhadas do primeiro servidor, e adquirir, pelo segundo servidor, a resposta a partir da área de informações compartilhadas do segundo servidor.
BR112021013970-2A 2019-01-23 2019-12-18 Sistema de provisão de serviço de gerenciamento de banco de dados, e, método para ser executado por um sistema incluindo uma pluralidade de servidores e um ou mais bancos de dados BR112021013970A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019009349A JP7071938B2 (ja) 2019-01-23 2019-01-23 データベース管理サービス提供システム
JP2019-009349 2019-01-23
PCT/JP2019/049536 WO2020153053A1 (ja) 2019-01-23 2019-12-18 データベース管理サービス提供システム

Publications (1)

Publication Number Publication Date
BR112021013970A2 true BR112021013970A2 (pt) 2021-09-21

Family

ID=71735698

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021013970-2A BR112021013970A2 (pt) 2019-01-23 2019-12-18 Sistema de provisão de serviço de gerenciamento de banco de dados, e, método para ser executado por um sistema incluindo uma pluralidade de servidores e um ou mais bancos de dados

Country Status (6)

Country Link
US (1) US11797556B2 (pt)
JP (1) JP7071938B2 (pt)
KR (1) KR102598619B1 (pt)
CN (1) CN113168405A (pt)
BR (1) BR112021013970A2 (pt)
WO (1) WO2020153053A1 (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7409297B2 (ja) 2020-12-23 2024-01-09 株式会社デンソー 情報管理方法、及び情報管理プログラム
TW202322137A (zh) * 2021-10-04 2023-06-01 日商日本電氣股份有限公司 管理方法、管理系統及電子健康紀錄系統

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044374A (en) 1997-11-14 2000-03-28 Informatica Corporation Method and apparatus for sharing metadata between multiple data marts through object references
KR100436431B1 (ko) * 2001-06-21 2004-06-16 (주)와이즈피어 피어투피어 네트워크상에서의 협업적인 정보 교환시스템
US8868467B2 (en) * 2002-10-23 2014-10-21 Oleg Serebrennikov Method for performing transactional communication using a universal transaction account identifier assigned to a customer
US7996888B2 (en) * 2002-01-11 2011-08-09 Nokia Corporation Virtual identity apparatus and method for using same
US7010553B2 (en) * 2002-03-19 2006-03-07 Network Appliance, Inc. System and method for redirecting access to a remote mirrored snapshot
JP2005275937A (ja) 2004-03-25 2005-10-06 Fujitsu Ltd P2pネットワークシステム
JP2005276094A (ja) 2004-03-26 2005-10-06 Hitachi Ltd 分散ストレージ装置のファイル管理方法及び分散ストレージシステム並びにプログラム
JP2007219634A (ja) 2006-02-14 2007-08-30 Dat Japan Kk 分散型データベースシステム及びデータベースの分散管理方法
US8683566B1 (en) * 2009-09-08 2014-03-25 Sprint Communications Company L.P. Secure access and architecture for virtual private sites
JP5461215B2 (ja) 2010-02-01 2014-04-02 日本電信電話株式会社 データベースシステム
KR101511098B1 (ko) * 2011-10-10 2015-04-10 네이버 주식회사 분산된 컨테이너들을 사용하여 데이터를 관리하는 시스템 및 방법
US8904231B2 (en) * 2012-08-08 2014-12-02 Netapp, Inc. Synchronous local and cross-site failover in clustered storage systems
US9268834B2 (en) * 2012-12-13 2016-02-23 Microsoft Technology Licensing, Llc Distributed SQL query processing using key-value storage system
CN104166738A (zh) * 2014-09-04 2014-11-26 北京国双科技有限公司 数据库查询处理的方法及装置
US9870562B2 (en) 2015-05-21 2018-01-16 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
WO2017070551A1 (en) * 2015-10-23 2017-04-27 Kodiak Networks Inc. System and method for content messaging
US10965649B2 (en) * 2015-10-30 2021-03-30 Fatpipe, Inc. Persistent data communication sessions across WAN
US10430485B2 (en) * 2016-05-10 2019-10-01 Go Daddy Operating Company, LLC Verifying character sets in domain name requests
CN107786621B (zh) * 2016-08-31 2020-10-16 阿里巴巴集团控股有限公司 一种用户信息管理方法、访问处理方法及装置和系统
JP2018190227A (ja) 2017-05-09 2018-11-29 野田 真一 ネットワーク分散型重複排除ファイルストレージシステム
CN107273455B (zh) * 2017-05-31 2020-12-18 深圳前海微众银行股份有限公司 区块链数据访问方法和装置
CN107315786B (zh) * 2017-06-12 2020-12-11 腾讯科技(深圳)有限公司 业务数据存储方法及装置
CN108334595B (zh) * 2018-01-31 2020-08-04 泰康保险集团股份有限公司 数据共享方法及装置
CN108717443B (zh) * 2018-05-17 2020-06-05 京东数字科技控股有限公司 数据共享方法、区块链系统和计算机可读存储介质
CN109257412A (zh) * 2018-08-10 2019-01-22 中国联合网络通信集团有限公司 一种数据共享方法及装置
CN109191355B (zh) * 2018-08-21 2022-02-25 严治 一种基于区块链的创伤数据共享系统

Also Published As

Publication number Publication date
KR20210082481A (ko) 2021-07-05
KR102598619B1 (ko) 2023-11-07
JP2020119207A (ja) 2020-08-06
US11797556B2 (en) 2023-10-24
CN113168405A (zh) 2021-07-23
US20220129473A1 (en) 2022-04-28
JP7071938B2 (ja) 2022-05-19
WO2020153053A1 (ja) 2020-07-30

Similar Documents

Publication Publication Date Title
US10805227B2 (en) System and method for controlling access to web services resources
US20200183932A1 (en) Optimizing write operations in object schema-based application programming interfaces (apis)
US10671695B2 (en) System and method for storing and processing database requests
US9971823B2 (en) Dynamic replica failure detection and healing
Pfaff et al. The open vswitch database management protocol
US9251163B2 (en) File sharing system and file sharing method
US8996482B1 (en) Distributed system and method for replicated storage of structured data records
US9817703B1 (en) Distributed lock management using conditional updates to a distributed key value data store
US8862644B2 (en) Data distribution system
US20170346875A1 (en) Optimizing read operations in object schema-based application programming interfaces (apis)
US8533169B1 (en) Transactional replication
US9203899B2 (en) Event management
US8892516B2 (en) Provisional authority in a distributed database
BR112016025156B1 (pt) Método implantado por computador para acessar arquivos em um sistema de arquivos distribuído
US20070234331A1 (en) Targeted automatic patch retrieval
US10936559B1 (en) Strongly-consistent secondary index for a distributed data set
US10747739B1 (en) Implicit checkpoint for generating a secondary index of a table
BR112021013970A2 (pt) Sistema de provisão de serviço de gerenciamento de banco de dados, e, método para ser executado por um sistema incluindo uma pluralidade de servidores e um ou mais bancos de dados
Gessert et al. Towards a Scalable and Unified REST API for Cloud Data Stores.
US8380806B2 (en) System and method for absolute path discovery by a storage virtualization system
US20180300369A1 (en) Secure query interface
CN110362590A (zh) 数据管理方法、装置、系统、电子设备及计算机可读介质
JP2005063374A (ja) データ管理方法、データ管理装置、およびそのためのプログラムならびに記録媒体。
KR20210044281A (ko) 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치
Mavlonov et al. Design and Implementation of Data Synchronization and Offline Capabilities in Native Mobile Apps