BR102018004432A2 - Método e projeto para sistema de verificação automático - Google Patents

Método e projeto para sistema de verificação automático Download PDF

Info

Publication number
BR102018004432A2
BR102018004432A2 BR102018004432-0A BR102018004432A BR102018004432A2 BR 102018004432 A2 BR102018004432 A2 BR 102018004432A2 BR 102018004432 A BR102018004432 A BR 102018004432A BR 102018004432 A2 BR102018004432 A2 BR 102018004432A2
Authority
BR
Brazil
Prior art keywords
enterprise system
production
modified
verification
users
Prior art date
Application number
BR102018004432-0A
Other languages
English (en)
Inventor
Erich Gunther Schuller
John Norris Benson
Sema Ustuntas
Original Assignee
The Boeing Company
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 The Boeing Company filed Critical The Boeing Company
Publication of BR102018004432A2 publication Critical patent/BR102018004432A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/277Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2257Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • 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
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Testing Electric Properties And Detecting Electric Faults (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

a presente invenção refere-se a um método para uso de produção simultâneo de um sistema de empreendimento e verificação de um sistema de empreendimento modificado. o método inclui obter entradas de um ou mais usuários de um sistema de empreendimento da produção; fornecer as entradas do um ou mais usuários para o sistema de empreendimento da produção; determinar, por pelo menos um processador de hardware, um subconjunto das entradas dentre o um ou mais usuários para usar para verificar o sistema de empreendimento modificado; executar, por pelo menos o processador de hardware, uma ou mais transações no subconjunto das entradas no sistema de empreendimento modificado e em uma cópia do sistema de empreendimento da produção; e analisar, por pelo menos o processador de hardware, a uma ou mais transações para determinar se o sistema de empreendimento modificado está configurado corretamente.

Description

[0001] A presente descrição refere-se, de forma geral, a um sistema de verificação de empreendimento. Sistemas de software de empreendimento (sistemas de empreendimento) podem ser usados para executar operações ao nível do empreendimento. Sistemas de empreendimento exemplares podem incluir sistemas de planejamento de recurso do empreendimento (ERP), sistemas de gerenciamento da relação com o cliente (CRM), sistemas de gerenciamento do ciclo de vida do produto (PLM), sistemas de gerenciamento da cadeia de abastecimento (SCM) e sistemas de gerenciamento de relacionamento com o fornecedor (SRM). Em um ambiente de produção, numerosos usuários interagem com um sistema de empreendimento diariamente, resultando em centenas, se não milhares de transações, e quantidades de dados relativamente grandes. Em alguns casos, os sistemas de empreendimento podem ser atualizados e/ou personalizados. Por exemplo, uma versão mais recente de um sistema de empreendimento pode ficar disponível, resultando em uma atualização ao sistema de empreendimento (por exemplo, a atualização da versão 1.0 para a versão 2.0). Como outro exemplo, um empreendimento pode personalizar um sistema de empreendimento para incluir funcionalidades/recursos que são relevantes para o empreendimento particular.
[0002] Nos casos de atualização e/ou personalização (modificação) de um sistema de empreendimento, o sistema de empreendimento modificado é verificado antes de ficar disponível para uso de produção. Em alguns exemplos, a verificação é executada usando dados de produção (por exemplo, dados fornecidos pelo uso de produção do
Petição 870180017982, de 06/03/2018, pág. 8/171
2/25 sistema de empreendimento antes da atualização/personalização). Tradicionalmente, uma verificação fantasma do sistema de empreendimento modificado é realizada copiando o sistema de produção (ou ocupante, se o software é habilitado no ocupante) em um sistema vazio (ou ocupante) e começando a verificação com dados de semiprodução. Isso, entretanto, tem várias desvantagens.
[0003] Por exemplo, a configuração de tal sistema de verificação exige a cópia de todo o sistema de produção, o que podería consumir memória significativa (por exemplo, até vários terabytes (TB)). Ademais, o procedimento de cópia pode exigir uma quantidade significativa de tempo (por exemplo, umas poucas horas a vários dias). Durante esse tempo, o uso de produção do sistema de origem criaria dados inconsistentes dentro da cópia. Consequentemente, o uso de produção do sistema é parado, levando à paralisação significativa, ou a verificação é executada usando dados inconsistentes. Uma desvantagem adicional é que, até que o novo sistema esteja executando exatamente como o sistema antigo, os dados divergirão e produzirão erros que tornam difícil identificar a causa original do problema. Adicionalmente, a verificação fantasma tradicional exige que todas as transações executadas no sistema de origem também sejam executadas no sistema de verificação, tornando difícil a verificação almejada.
[0004] Assim, uma necessidade até o momento não tratada existe na indústria para tratar as deficiências e inadequações acima mencionadas.
Sumário [0005] De acordo com exemplos da presente descrição, um método para uso de produção simultânea de um sistema de empreendimento e verificação de um sistema de empreendimento modificada é apresentado. O método compreende obter entradas de um ou mais
Petição 870180017982, de 06/03/2018, pág. 9/171
3/25 usuários de um sistema de empreendimento da produção; fornecer as entradas do um ou mais usuários para o sistema de empreendimento da produção; determinar, por pelo menos um processador de hardware, um subconjunto das entradas de entre o um ou mais usuários para usar para testar o sistema de empreendimento modificado; executar, por pelo menos o processador de hardware, uma ou mais transações no subconjunto das entradas no sistema de empreendimento modificado e em uma cópia do sistema de empreendimento da produção e analisar, por pelo menos o processador de hardware, a uma ou mais transações para determinar se o sistema de empreendimento modificado está configurado corretamente.
[0006] De acordo com os exemplos da presente descrição, um sistema para uso de produção simultânea de um sistema de empreendimento e verificação de um sistema de empreendimento modificado é apresentado. O sistema compreende um ou mais processadores e um sistema de memória compreendendo um ou mais meios legíveis por computador, enquanto o um ou mais meios legíveis por computador contêm instruções que, quando executadas pelo um ou mais processadores, fazem com que o um ou mais processadores executem operações que compreendem: obter entradas de um ou mais usuários de um sistema de empreendimento da produção; fornecer as entradas do um ou mais usuários para o sistema de empreendimento da produção; determinar um subconjunto das entradas de entre o um ou mais usuários para usar para testar um sistema de empreendimento modificado; executar uma ou mais transações no subconjunto das entradas no sistema de empreendimento modificado e em uma cópia do sistema de empreendimento da produção e analisar a uma ou mais transações para determinar se o sistema de empreendimento modificado está configurado corretamente.
[0007] De acordo com exemplos da presente descrição, um meio
Petição 870180017982, de 06/03/2018, pág. 10/171
4/25 de armazenamento legível por computador não transitório para uso de produção simultâneo de um sistema de empreendimento e verificação de um sistema de empreendimento modificado é apresentado. O meio de armazenamento legível por computador não transitório compreendendo instruções para fazer com que um ou mais processadores executem um método que compreende: obter entradas do um ou mais usuários de um sistema de empreendimento da produção; fornecer as entradas do um ou mais usuários para o sistema de empreendimento da produção; determinar, por pelo menos um processador de hardware, um subconjunto das entradas de entre o um ou mais usuários para usar para testar o sistema de empreendimento modificado; executar, por pelo menos o processador de hardware, uma ou mais transações no subconjunto das entradas no sistema de empreendimento modificado e em uma cópia do sistema de empreendimento da produção e analisar, por pelo menos o processador de hardware, a uma ou mais transações para determinar se o sistema de empreendimento modificado está configurado corretamente.
[0008] Em alguns exemplos, a determinação é baseada em uma lista branca, em que a lista branca compreende uma ou mais de: uma lista de usuários a ser usada para a verificação, uma lista de comandos a ser usada para a verificação, uma lista de transações a ser usada para a verificação.
[0009] Em alguns exemplos, subsequente à obtenção, o método compreende copiar as entradas a serem fornecidas para o sistema de empreendimento da produção, o sistema de empreendimento modificado e a cópia do sistema de empreendimento da produção.
[0010] Em alguns exemplos, o método ainda compreende sincronizar o sistema de empreendimento modificado e a cópia do sistema de empreendimento da produção com o sistema de empreendimento da produção.
Petição 870180017982, de 06/03/2018, pág. 11/171
5/25 [0011] Em alguns exemplos, a sincronização ocorre durante um intervalo de tempo predeterminado ou contra apresentação.
[0012] Em alguns exemplos, a análise ainda compreende comparar um registro de transações para a cópia do sistema de empreendimento da produção e o sistema de empreendimento modificado.
[0013] Deve ser entendido que tanto a descrição geral precedente quanto a descrição detalhada seguinte são exemplares e explicativas somente e não são restritivas das realizações, como reivindicadas. Breve Descrição dos Desenhos [0014] A Figura 1 representa uma arquitetura de verificação, de acordo com exemplos da presente descrição.
[0015] A Figura 2 representa um diagrama de software de sequência de dados de verificação, de acordo com exemplos da presente descrição.
[0016] A Figura 3 representa um processo para a verificação do sistema alvo, de acordo com exemplos da presente descrição.
[0017] A Figura 4 mostra um método para uso de produção simultâneo de um sistema de empreendimento e verificação de um sistema de empreendimento modificado, de acordo com exemplos da presente descrição.
[0018] A Figura 5 é um sistema de computador exemplar para executar as realizações descritas, consistentes com a presente descrição.
Descrição Detalhada [0019] Referência será agora feita em detalhes às realizações exemplares, que são ilustradas nos desenhos acompanhantes. Quando apropriado, os mesmos números de referência são usados por todos os desenhos para se referirem às mesmas partes ou semelhantes. [0020] Por simplicidade e finalidades ilustrativas, os princípios da presente descrição são descritos com referência principal mente às su
Petição 870180017982, de 06/03/2018, pág. 12/171
6/25 as realizações exemplares. Entretanto, um versado na técnica prontamente reconhecería que os mesmos princípios são igualmente aplicáveis a, e podem ser realizados em, todos os tipos de informação e sistemas, e que quaisquer tais variações não se afastam do verdadeiro espírito e escopo da presente descrição. Além do mais, na descrição detalhada seguinte, referências são feitas às Figuras acompanhantes, que ilustram realizações exemplares específicas. Mudanças mecânicas, elétricas, estruturais e lógicas podem ser feitas nas realizações exemplares sem se afastar do espírito e do escopo da presente descrição. A descrição detalhada seguinte, portanto, não deve ser adotada em um sentido limitador e o escopo da presente descrição é definido pelas reivindicações anexas e seus equivalentes.
[0021] Realizações da presente descrição são geralmente direcionadas para a verificação de sistemas de empreendimento modificados sem prejudicar um sistema de empreendimento da produção correspondente. Mais especificamente, realizações da presente descrição são direcionadas para a verificação de atualizações para e/ou personalização de um sistema de empreendimento com dados de produção usando um esquema de banco de dados de verificação em paralelo com um esquema de banco de dados de produção. Em alguns exemplos, realizações da presente descrição possibilitam que a verificação e o uso de produção de um sistema de empreendimento sejam executados nos mesmos dados duplicados em bancos de dados adicionais que podem ou não usar o mesmo esquema que o banco de dados original. Pela captura do uso real de um sistema de produção atual em tempo real e usando esse uso de captura para testar um sistema recentemente desenvolvido contra um sistema de verificação legado, uma comparação precisa pode ser fornecida do novo sistema para o sistema legado (tanto a integridade dos dados quanto o desempenho) pela reutilização dessas transações de produção exatas para esses
Petição 870180017982, de 06/03/2018, pág. 13/171
7/25 usuários de produção exatos da mesma maneira em ambos o sistema de verificação legado e o sistema de verificação atualizado, sem exigir que todas as transações sejam executadas. Também, pelo uso das interações de produção reais dos usuários finais, o sistema é capaz de eliminar a maior parte do tempo dedicado para a verificação do usuário final enquanto proporcionando a melhor representação do uso de produção no sistema de verificação. Isso inclui tipos de interações, bem como a carga do sistema e graduação. Isso também permite melhor verificação das condições de erro, geração automatizada de verificações unitárias e analíticas automatizadas nos dados de verificação. [0022] A Figura 1 representa uma arquitetura de verificação 100, de acordo com exemplos da presente descrição. A arquitetura de verificação 100 pode ser usada para verificar um sistema de empreendimento da produção 122 (ou sistema de produção), por exemplo, servidor de empreendimento da produção, onde a arquitetura 100 intercepta o uso do servidor de produção e seletivamente reutiliza as interações para verificação em um sistema de empreendimento modificado 130 (ou sistema de verificação), por exemplo, um sistema atualizado do servidor e compara os resultados contra uma cópia do sistema de empreendimento da produção 125, por exemplo, um servidor legado de verificação, que proporciona uma redução no erro do usuário da verificação, uma eliminação da vasta maioria da verificação pelo usuário final e uma eliminação da entrada de dados duplicados e os erros que isso acarreta. A arquitetura de verificação 100 inclui dispositivos do cliente 105A e 105B que são conectados de forma comunicativa em um servidor proxy de replicação 115A por uma rede 110A e dispositivo do cliente 105C que é conectado de forma comunicativa em um servidor proxy de replicação 115B por uma rede 110B. Os dispositivos do cliente 105A, 105B são operados pelos usuários 120A, 120B, respectivamente, e o dispositivo do cliente 105C é operado por um usuário
Petição 870180017982, de 06/03/2018, pág. 14/171
8/25
120C. Em alguns exemplos, a rede 110A e a rede 110B são redes diferentes, tal rede 110A sendo uma rede remota externa, isto é, a Internet, e a rede 110B sendo uma rede local interna. Em alguns exemplos, os dispositivos do cliente 105A, 105B, 105C podem ser individualmente um dispositivo de computação, tais como um computador laptop, um computador de mesa, um telefone inteligente, um assistente digital pessoal, um reprodutor de mídia portátil, um computador tablet ou qualquer outro dispositivo de computação apropriado que possa ser usado para se comunicar com o servidor proxy de replicação 115A, 115B. Os servidores proxy de replicação 115A, 115B são conectados de forma comunicativa no sistema de empreendimento da produção 122, na cópia do sistema de empreendimento da produção 125 e no sistema de empreendimento modificado 130. Os servidores proxy de replicação 115A, 115B obtêm dados dos dispositivos do cliente 105A, 105B e 105C e fornecem esses dados para o sistema de empreendimento da produção 122 para uso no decorrer normal do trabalho pelos usuários 120A, 120B, 120C, bem como, fornecem os dados para a verificação usando a cópia do sistema de empreendimento da produção 125 e sistema de empreendimento modificado 130.
[0023] Em alguns exemplos, os servidores proxy de replicação 115A, 115B podem ser servidores separados ou podem ser um serviço hospedado pelo sistema de empreendimento da produção 122, pela cópia do sistema de empreendimento da produção 125 ou pelo sistema de empreendimento modificado 130. Em alguns exemplos, os servidores proxy de replicação 115A, 115B, o sistema de empreendimento da produção 122, a cópia do sistema de empreendimento da produção 125 e o sistema de empreendimento modificado 130 podem incluir um ou mais dispositivos de computação, tal como um servidor, e um ou mais sistemas de banco de dados. Em alguns exemplos, o servidor proxy de replicação 115A, 115B pode representar mais do que um dis
Petição 870180017982, de 06/03/2018, pág. 15/171
9/25 positivo de computação trabalhando junto para executar as ações de um servidor (por exemplo, computação de nuvem). Em algumas realizações, o sistema do banco de dados pode ser fornecido como um sistema de banco de dados na memória. Em alguns exemplos, um banco de dados na memória é um sistema de gerenciamento do banco de dados que usa a memória principal para o armazenamento dos dados. Em alguns exemplos, a memória principal inclui memória de acesso aleatório (RAM) que se comunica com um ou mais processadores (por exemplo, unidades de processamento central (CPUs)) através de um barramento de memória. O banco de dados na memória pode ser contrastado com os sistemas de gerenciamento do banco de dados que utilizam um mecanismo de armazenamento em disco. Em alguns exemplos, bancos de dados na memória são mais rápidos do que os bancos de dados de armazenamento em disco, porque os algoritmos de otimização internos podem ser mais simples e executar menos instruções na CPU (por exemplo, exigir consumo reduzido da CPU). Em alguns exemplos, o acesso dos dados em um banco de dados na memória elimina o tempo de busca quando consultando os dados, o que proporciona um desempenho mais rápido e mais previsível do que os sistemas de banco de dados de armazenamento em disco. [0024] A Figura 2 representa um diagrama de software da sequência de dados de verificação 200, de acordo com exemplos da presente descrição. Os servidores proxy de replicação 115A, 115B obtêm entradas 205 dos usuários 120A, 120B e 120C via os dispositivos do cliente respectivos 105A, 105B, 105C. Os servidores proxy de replicação 115A, 115B contêm uma fila 210 de entradas do usuário que são filtradas através de uma lista branca 210 a ser usada para verificar o sistema de empreendimento modificado 130 comparando os resultados contra a cópia do sistema de produção 125. A lista branca 210, como mostrado na Figura 2, é uma fila de transação que é a lista completa
Petição 870180017982, de 06/03/2018, pág. 16/171
10/25 de usuário(s) 211, comando(s) 212 e transação(ões) 213 a ser(em) usado(s) para verificação pelos usuários da produção, máquina de estado que acompanha o estado dos grupos de sessão (cada grupo da sessão inclui a sessão de produção e as duas sessões de verificação) e a lista branca que determina quais transações processar contra as sessões de verificação (que é o motivo pelo qual os estados da sessão de verificação podem variar do estado da sessão de produção). As entradas do usuário incluem comando(s) 212 para executar uma ou mais ações, incluindo, mas não são limitados à recuperação, edição, atualização, junção, nova atribuição de desenhos, relatório e outras ações para qualquer informação que seja armazenada e manipulada pelo sistema de empreendimento da produção 122. A(s) transação(ões) 213 pode ser instruções dos dispositivos do cliente respectivos 105A, 105B, 105C para o sistema de empreendimento da produção 122 para iniciar o comando. Por exemplo, um serviço da rede para gerenciar usuários pode incluir comandos da interface do programa de aplicação (API) incluindo, mas não são a limitados a, GetByName(Nome) EmployeelD/Fail (na lista branca 210), GetBylD(ID) EmployeeNameFail (na lista branca 210), Set(Nome) -» Generated ID/Fail (ID é automaticamente gerado) (não na lista branca 210). A lista de transações pode ser disposta em um banco de dados como uma tabela única de duas colunas (Id, Nome) e o símbolo * pode representar a transação não processada porque ela não estava na lista branca. A lista branca 210 pode produzir tipicamente um subconjunto das entradas que os usuários 120A, 120B, 120C usariam durante um ambiente de trabalho normal para execução contra os sistemas de verificação, incluindo a cópia do sistema de empreendimento da produção 125 e o sistema de empreendimento modificado 130. Adicionalmente, a lista branca 210 pode incluir uma listagem de quais usuários, por exemplo, usuários 120A, 120B, 120C, incluir na arquitetura de verificação. Por exemplo, se os
Petição 870180017982, de 06/03/2018, pág. 17/171
11/25 usuários 120A e 120B, mas não o usuário 1200, são usados para a verificação, então as entradas fornecidas para os dispositivos do cliente 105A e 105B, mas não para o dispositivo do cliente 1050, são direcionadas do servidor proxy de replicação 115A para a cópia do sistema de empreendimento da produção 125 e o sistema de empreendimento modificado 130. Adicionalmente, a lista branca 210 pode incluir uma ou mais transações que devem ser executadas pela cópia do sistema de produção 125 e o sistema de empreendimento modificado 130 com base no subconjunto das entradas e dos usuários selecionados para serem verificados.
[0025] Os servidores proxy de replicação 115A, 115B fornecem as entradas 205 para o sistema de empreendimento da produção 122, que é a comunicação com um banco de dados de produção 240, a serem usadas para o fluxo de trabalho normal. O subconjunto das entradas obtidas da lista branca 210 é fornecido para uma lista do processo 220 a ser usada para verificar um sistema alvo 235, isto é, o sistema de empreendimento modificado 130, e um banco de dados alvo 255 contra o clone do sistema de produção 225, isto é, a cópia do sistema de empreendimento da produção 125, e um banco de dados do clone da produção 245. Durante a verificação, as comparações baseadas na transação 230 são feitas entre o clone do sistema de produção 225 e o sistema alvo 235 e as comparações com base no banco de dados 250 são feitas entre o banco de dados do clone da produção 245 e o banco de dados alvo 255 para o subconjunto das entradas e são fornecidas como uma reconciliação dos resultados da verificação 270. O banco de dados do clone da produção 245 e o banco de dados alvo 255 são sincronizados com o banco de dados da produção 240 usando uma sincronização de ambiente 260. Isso garante que quaisquer mudanças nos registros no banco de dados da produção 240 sejam propagadas para o banco de dados do clone da produção 245 e o banco de dados
Petição 870180017982, de 06/03/2018, pág. 18/171
12/25 alvo 255. Também, em uma base periódica, isto é, toda noite durante um quadro de tempo especificado, o banco de dados do clone da produção 245 pode ser sincronizado com o banco de dados da produção 240 usando uma sincronização ambiental 260 e uma sincronização de verificação periódica 265. A sincronização de verificação periódica 265 é mais frequente do que a sincronização ambiental 260 e é para garantir que o banco de dados do clone da produção 245 e o banco de dados alvo 255 permaneçam firmemente em sincronismo para garantir a qualidade da verificação. A sincronização ambiental 260 é menos frequente e é para colocar o banco de dados do clone da produção 245 e o banco de dados alvo 255 em sincronismo com os dados da produção porque somente um subconjunto das transações da produção está sendo executado contra o sistema de verificação.
[0026] A Figura 3 representa um processo para a verificação do sistema alvo 300, de acordo com exemplos da presente descrição. Em 305, entradas são recebidas de um dispositivo do cliente, isto é, os dispositivos do cliente 105A, 105B, 105C, obtidos do(s) usuário(s), isto é, os usuários 120A, 120B e 120C. As entradas são obtidas do(s) usuário(s) durante o seu trabalho diário normal. Em 310, um proxy de replicação, isto é, o servidor proxy de replicação 115A, 115B, duplica a(s) entrada(s). O proxy de replicação duplica todas as entradas, que são então filtradas pela lista branca 210. A duplicação de todas as entradas melhora a documentação de verificação enquanto minimizando o potencial do impacto na experiência do usuário mantendo o proxy de replicação tão leve quanto possível. Mesmo se os usuários não são usuários do sistema de verificação aprovados, suas transações são duplicadas e armazenadas e são então filtradas pela lista branca 210. Em 315, um sistema de produção, isto é, o sistema de empreendimento da produção 122, recebe a(s) entrada(s) do proxy de replicação a ser(em) usada(s) para o trabalho normal. Em 315, o sistema de em
Petição 870180017982, de 06/03/2018, pág. 19/171
13/25 preendimento da produção 122 processa a(s) entrada(s) em uma maneira normal até que a tarefa de produção completa em 320. Em 325, as entradas que foram duplicadas pelo proxy de replicação são comparadas contra uma lista de transações aprovadas para o sistema de verificação. Por exemplo, uma lista branca, isto é, a lista branca 210, pode incluir uma ou mais transações nas quais executam no clone do sistema de produção 225 e no sistema alvo 235 com base em um subconjunto de entrada(s) de um ou mais dos usuários selecionados de todas as transações de produção que foram clonadas. Se não existe caso de verificação atual, a transação é adicionada na tabela de transações e marcada como na lista branca ou na lista preta com base na configuração do sistema de verificação. Se existe um caso de verificação atual e a transação está na lista branca, então a transação é executada em paralelo no clone do sistema de produção 225 em 335 e no sistema alvo 235 em 340. Os resultados respectivos da uma ou mais transações 345 e 350 são comparados em 355 e 360 usando, por exemplo, ferramentas de comparação que são adequadas para avaliar uma saída específica e gerar um indicador de comparação de nível binário para quaisquer diferenças produzidas. Em 365, um relatório de comparação é gerado e o caso de verificação é completado em 370. [0027] A Figura 4 mostra um método 400 para uso de produção simultâneo de um sistema de empreendimento 122 e verificação de um sistema de empreendimento modificado 130, de acordo com exemplos da presente descrição. O método começa obtendo, em 405, entradas de um ou mais usuários 120A, 120B, 120C de um sistema de empreendimento da produção 122. O método continua fornecendo, em 410, as entradas do um ou mais usuários para o sistema de empreendimento da produção 122. O método continua determinando, em 415, por pelo menos um processador de hardware, um subconjunto das entradas de entre o um ou mais usuários para usar para verificar o sis
Petição 870180017982, de 06/03/2018, pág. 20/171
14/25 tema de empreendimento modificado. A determinação é baseada em uma lista branca 210, em que a lista branca compreende uma ou mais de: uma lista de usuários 120A, 120B, 120C a ser usada para a verificação, uma lista de comandos 212 a ser usada para a verificação, uma lista de transações 213 a ser usada para a verificação. O método continua executando, em 420, por pelo menos um processador de hardware, uma ou mais transações no subconjunto das entradas no sistema de empreendimento modificado 130 e em uma cópia do sistema de empreendimento da produção 125. O método continua analisando, em 425, por pelo menos um processador de hardware, a uma ou mais transações para determinar se o sistema de empreendimento modificado 130 está corretamente configurado.
[0028] Em alguns exemplos, o método pode executar opcionalmente, subsequente à obtenção, em 405, operações incluindo copiar, em 430, as entradas a serem fornecidas para o sistema de empreendimento da produção 122, o sistema de empreendimento modificado 130 e a cópia do sistema de empreendimento da produção 125.
[0029] Em alguns exemplos, o método pode executar opcionalmente operações incluindo sincronizar, em 430, o sistema de empreendimento modificado 130 e a cópia do sistema de empreendimento da produção 125 com o sistema de empreendimento da produção 122, em que a sincronização ocorre durante um intervalo de tempo predeterminado ou contra apresentação.
[0030] Em alguns exemplos, a análise, em 425, pode ainda incluir comparar, em 435, um registro das transações para a cópia do sistema de empreendimento da produção 125 e o sistema de empreendimento modificado 130.
[0031] A Figura 5 ilustra um exemplo de uma configuração de hardware para um dispositivo de computador 500 que pode ser usado como dispositivo móvel ou servidor, que pode ser usado para executar
Petição 870180017982, de 06/03/2018, pág. 21/171
15/25 um ou mais dos processos descritos acima. Embora a Figura 5 ilustre vários componentes contidos no dispositivo de computador 500, a Figura 5 ilustra um exemplo de um dispositivo de computador e componentes adicionais podem ser usados e componentes existentes podem ser removidos.
[0032] O dispositivo de computador 500 pode ser qualquer tipo de dispositivo de computador, tais como computadores de mesa, laptops, servidores, etc., ou dispositivos móveis, tais como telefones inteligentes, computadores tablet, telefones celulares, assistentes digitais pessoais, etc. Como ilustrado na Figura 5, o dispositivo de computador 500 pode incluir um ou mais processadores 502 de variadas configurações de núcleo e frequências de relógio. O dispositivo de computador 500 pode também incluir um ou mais dispositivos de memória 504 que servem como uma memória principal durante a operação do dispositivo de computador 500. Por exemplo, durante a operação, uma cópia do software que suporta as operações pode ser armazenada no um ou mais dispositivos de memória 504. O dispositivo de computador 500 pode também incluir uma ou mais interfaces periféricas 506, tais como teclados, mouses, blocos de toque, telas do computador, telas sensíveis ao toque, etc., para possibilitar a interação humana com e a manipulação do dispositivo de computador 500.
[0033] O dispositivo de computador 500 pode também incluir uma ou mais interfaces de rede 508 para comunicação via uma ou mais redes, tais como adaptadores da Ethernet, transceptores sem fio ou componentes de rede seriais, para comunicação através de meios conectados ou sem fio usando protocolos. O dispositivo de computador 500 pode também incluir um ou mais dispositivos de armazenamento 510 de variadas dimensões físicas e capacidades de armazenamento, tais como unidades flash, unidades rígidas, memória de acesso aleatório, etc., para armazenar dados, tais como imagens,
Petição 870180017982, de 06/03/2018, pág. 22/171
16/25 arquivos e instruções de programa para execução pelo um ou mais processadores 502.
[0034] Adicionalmente, o dispositivo de computador 500 pode incluir um ou mais programas de software 512 que possibilitam a funcionalidade descrita acima. O um ou mais programas de software 512 podem incluir instruções que fazem com que o um ou mais processadores 502 executem os processos descritos aqui. Cópias do um ou mais programas de software 512 podem ser armazenadas no um ou mais dispositivos de memória 504 e/ou no um ou mais dispositivos de armazenamento 510. Da mesma forma, os dados usados por um ou mais programas de software 512 podem ser armazenados no um ou mais dispositivos de memória 504 e/ou no um ou mais dispositivos de armazenamento 510.
[0035] Nas realizações, o dispositivo de computador 500 pode se comunicar com outros dispositivos via uma rede 516. Os outros dispositivos podem ser quaisquer tipos de dispositivos como descrito acima. A rede 516 pode ser qualquer tipo de rede eletrônica, tais como uma rede local, uma rede remota, uma rede particular virtual, a Internet, uma intranet, uma extranet, uma rede de telefone comutada pública, uma rede de infravermelho, uma rede sem fio e qualquer combinação dessas. A rede 516 pode suportar comunicações usando qualquer um de uma variedade de protocolos comercial mente disponíveis, tais como TCP/IP, UDP, OSI, FTP, UPnP, NFS, CIFS, AppIeTalk e assim por diante. A rede 516 pode ser, por exemplo, uma rede local, uma rede remota, uma rede particular virtual, a Internet, uma intranet, uma extranet, uma rede de telefone comutada pública, uma rede de infravermelho, uma rede sem fio e qualquer combinação dessas.
[0036] O dispositivo de computador 500 pode incluir uma variedade de armazenamentos de dados e outras memórias e meios de armazenamento como discutido acima. Esses podem residir em uma
Petição 870180017982, de 06/03/2018, pág. 23/171
17/25 variedade de localizações, tal como em um meio de armazenamento local a (e/ou residente em) um ou mais dos computadores ou distante de qualquer um ou todos os computadores através da rede. Em algumas realizações, a informação pode residir em uma rede de área de armazenamento (SAN) familiar para aqueles versados na técnica. Similarmente, quaisquer arquivos necessários para executar as funções atribuídas para os computadores, servidores ou outros dispositivos de rede podem ser armazenados local e/ou remotamente, como apropriado.
[0037] Nas realizações, os componentes do dispositivo de computador 500 como descrito acima não precisam estar contidos dentro de um único invólucro ou até mesmo localizados em proximidade. Aqueles versados na técnica verificarão que os componentes acima descritos são exemplos somente, já que o dispositivo de computador 500 pode incluir qualquer tipo de componentes de hardware, incluindo qualquer firmware ou software acompanhantes necessários, para executar as realizações descritas. O dispositivo de computador 500 pode também ser realizado em parte ou no total por componentes de circuito eletrônico ou processadores, tais como circuitos integrados de aplicação específica (ASICs) ou formações de portão programáveis no campo (FPGAs).
[0038] Ademais, a descrição compreende exemplos de acordo com as cláusulas seguintes:
[0039] Cláusula 1. Um método para uso de produção simultâneo de um sistema de empreendimento da produção e verificação de um sistema de empreendimento modificado, o método compreendendo: obter entradas de um ou mais usuários de um sistema de empreendimento da produção; fornecer as entradas do um ou mais usuários para o sistema de empreendimento da produção; determinar, por pelo menos um processador de hardware, um subconjunto das entradas de
Petição 870180017982, de 06/03/2018, pág. 24/171
18/25 entre o um ou mais usuários para usar para verificar um sistema de empreendimento modificado; executar, por pelo menos o processador de hardware, uma ou mais transações no subconjunto das entradas no sistema de empreendimento modificado e em uma cópia do sistema de empreendimento da produção e analisar, por pelo menos o processador de hardware, a uma ou mais transações para determinar se o sistema de empreendimento modificado está configurado corretamente.
[0040] Cláusula 2. O método da cláusula 1, em que a determinação é baseada em uma lista branca, em que a lista branca compreende uma ou mais de: uma lista de usuários a ser usada para a verificação, uma lista de comandos a ser usada para a verificação, uma lista de transações a ser usada para a verificação.
[0041] Cláusula 3. O método da cláusula 1, ainda compreendendo, subsequente à obtenção, copiar as entradas a serem fornecidas para o sistema de empreendimento da produção, o sistema de empreendimento modificado e a cópia do sistema de empreendimento da produção.
[0042] Cláusula 4. O método da cláusula 1, ainda compreendendo sincronizar o sistema de empreendimento modificado e a cópia do sistema de empreendimento da produção com o sistema de empreendimento da produção.
[0043] Cláusula 5. O método da cláusula 4, em que a sincronização ocorre durante um intervalo de tempo predeterminado ou contra apresentação.
[0044] Cláusula 6. O método da cláusula 1, em que a análise ainda compreendendo comparar um registro das transações para a cópia do sistema de empreendimento da produção e o sistema de empreendimento modificado.
[0045] Cláusula 7. Sistema para uso de produção simultânea de
Petição 870180017982, de 06/03/2018, pág. 25/171
19/25 um sistema de empreendimento e verificação de um sistema de empreendimento modificado, o sistema compreendendo: um ou mais processadores; e um ou mais meios legíveis por computador, em que o um ou mais meios legíveis por computador contêm instruções que, quando executadas pelo um ou mais processadores, fazem com que o um ou mais processadores executem operações que compreendem: obter entradas do um ou mais usuários de um sistema de empreendimento da produção; fornecer as entradas do um ou mais usuários para o sistema de empreendimento da produção; determinar um subconjunto das entradas de entre o um ou mais usuários para usar para verificar um sistema de empreendimento modificado; executar uma ou mais transações no subconjunto das entradas no sistema de empreendimento modificado e em uma cópia do sistema de empreendimento da produção e analisar a uma ou mais transações para determinar se o sistema de empreendimento modificado está configurado corretamente.
[0046] Cláusula 8. Sistema da cláusula 7, em que a determinação é baseada em uma lista branca, em que a lista branca compreende uma ou mais de: uma lista de usuários a ser usada para a verificação, uma lista de comandos a ser usada para a verificação, uma lista de transações a ser usada para a verificação.
[0047] Cláusula 9. Sistema da cláusula 7, em que o um ou mais processadores são ainda operáveis para executar operações que compreendem, subsequente à obtenção, copiar as entradas a serem fornecidas para o sistema de empreendimento da produção, o sistema de empreendimento modificado e a cópia do sistema de empreendimento da produção.
[0048] Cláusula 10. Sistema da cláusula 7, em que o um ou mais processadores são ainda operáveis para executar operações compreendendo sincronização do sistema de empreendimento modificado e
Petição 870180017982, de 06/03/2018, pág. 26/171
20/25 da cópia do sistema de empreendimento da produção com o sistema de empreendimento da produção.
[0049] Cláusula 11. Sistema da cláusula 10, em que a sincronização ocorre durante um intervalo de tempo predeterminado ou contra apresentação.
[0050] Cláusula 12. Sistema da cláusula 7, em que a análise ainda compreende comparar um registro das transações para a cópia do sistema de empreendimento da produção e o sistema de empreendimento modificado.
[0051] Cláusula 13. Um meio de armazenamento legível por computador não transitório para uso de produção simultâneo de um sistema de empreendimento da produção e verificação de um sistema de empreendimento modificado, o meio de armazenamento legível por computador não transitório compreendendo instruções para fazer com que um ou mais processadores executem um método que compreende: obter entradas de um ou mais usuários de um sistema de empreendimento da produção; fornecer as entradas do um ou mais usuários para o sistema de empreendimento da produção; determinar, por pelo menos um processador de hardware, um subconjunto das entradas de entre o um ou mais usuários para usar para verificar o sistema de empreendimento modificado; executar, por pelo menos o processador de hardware, uma ou mais transações no subconjunto das entradas no sistema de empreendimento modificado e em uma cópia do sistema de empreendimento da produção e analisar, por pelo menos o processador de hardware, a uma ou mais transações para determinar se o sistema de empreendimento modificado está configurado corretamente.
[0052] Cláusula 14. Meio de armazenamento legível por computador não transitório da cláusula 13, em que a determinação é baseada em uma lista branca, em que a lista branca compreende uma ou mais
Petição 870180017982, de 06/03/2018, pág. 27/171
21/25 de: uma lista de usuários a ser usada para a verificação, uma lista de comandos a ser usada para a verificação, uma lista de transações a ser usada para a verificação.
[0053] Cláusula 15. Meio de armazenamento legível por computador não transitório da cláusula 13, ainda compreendendo, subsequente à obtenção, copiar as entradas a serem fornecidas para o sistema de empreendimento da produção, o sistema de empreendimento modificado e a cópia do sistema de empreendimento da produção.
[0054] Cláusula 16. Meio de armazenamento legível por computador não transitório da cláusula 13, ainda compreendendo sincronizar o sistema de empreendimento modificado e a cópia do sistema de empreendimento da produção com o sistema de empreendimento da produção.
[0055] Cláusula 17. Meio de armazenamento legível por computador não transitório da cláusula 16, em que a sincronização ocorre durante um intervalo de tempo predeterminado ou contra apresentação.
[0056] Cláusula 18. Meio de armazenamento legível por computador não transitório da cláusula 13, a análise ainda compreende comparar um registro das transações para a cópia do sistema de empreendimento da produção e o sistema de empreendimento modificado.
[0057] Se realizado em software, as funções podem ser armazenadas ou transmitidas através de um meio legível por computador como uma ou mais instruções ou código. Os meios legíveis por computador incluem meios de armazenamento no computador tangíveis, não transitórios e meios de comunicação incluindo qualquer meio que facilite a transferência de um programa de computador de um local para outro. Um meio de armazenamento pode ser qualquer meio tangível, não transitório disponível que possa ser acessado por um computador. Por meio de exemplo, e não limitação, tais meios legíveis por computador não transitórios, tangíveis podem compreender RAM, ROM,
Petição 870180017982, de 06/03/2018, pág. 28/171
22/25 memória flash, EEPROM, CD-ROM ou outro armazenamento de disco ótico, armazenamento em disco magnético ou outros dispositivos de armazenamento magnético ou qualquer outro meio que possa ser usado para transportar ou armazenar código de programa desejado na forma de instruções ou estruturas de dados e que possam ser acessados por um computador. Disco (com k) e disco (com c), como usado aqui, inclui CD, disco a laser, disco ótico, DVD, disco flexível e disco de Blu-ray, onde os discos (com k) geralmente reproduzem dados magneticamente, enquanto os discos (com c) reproduzem os dados oticamente com laser. Também, qualquer conexão é apropriadamente chamada um meio legível por computador. Por exemplo, se o software é transmitido de um sítio da rede, servidor ou outra fonte remota usando um cabo coaxial, cabo de fibra ótica, par torcido, linha de assinante digital (DSL) ou tecnologias sem fio, tais como infravermelho, rádio e micro-ondas, então o cabo coaxial, cabo de fibra ótica, par torcido, DSL, ou tecnologias sem fio, tais como infravermelho, rádio e microondas são incluídos na definição de meio. Combinações do acima também devem ser incluídas dentro do escopo de meios legíveis por computador.
[0058] A descrição precedente é ilustrativa e variações na configuração e realização podem ocorrer para os versados na técnica. Por exemplo, as várias lógicas ilustrativas, blocos lógicos, módulos e circuitos descritos em conjunto com as modalidades descritas aqui podem ser realizados ou executados com um processador de uso geral, um processador de sinal digital (DSP), um circuito integrado específico da aplicação (ASIC), uma formação de portão programável no campo (FPGA) ou outro dispositivo lógico programável, portão discreto ou lógica de transistor, componentes de hardware discretos ou qualquer combinação desses projetados para executar as funções descritas aqui. Um processador de uso geral pode ser um microprocessador,
Petição 870180017982, de 06/03/2018, pág. 29/171
23/25 mas, na alternativa, o processador pode ser qualquer processador convencional, controlador, microcontrolador ou máquina de estado. Um processador pode também ser realizado como uma combinação de dispositivos de computação, por exemplo, uma combinação de um DSP e um microprocessador, uma pluralidade de microprocessadores, um ou mais microprocessadores em conjunto com um núcleo DSP ou qualquer outra tal configuração.
[0059] Em uma ou mais modalidades exemplares, as funções descritas podem ser realizadas em hardware, software, firmware ou qualquer combinação desses. Para uma realização em software, as técnicas descritas aqui podem ser realizadas com módulos (por exemplo, procedimentos, funções, subprogramas, programas, rotinas, subrotinas, módulos, pacotes de software, classes e assim por diante) que executam as funções descritas aqui. Um módulo pode ser acoplado em outro módulo ou um circuito de hardware passando e/ou recebendo informação, dados, argumentos, parâmetros ou conteúdos de memória. Informação, argumentos, parâmetros, dados ou semelhantes podem ser passados, encaminhados ou transmitidos usando qualquer recurso adequado incluindo compartilhamento de memória, passagem de mensagem, passagem de código interno, transmissão da rede e assim por diante. Os códigos de software podem ser armazenados em unidades de memória e executados pelos processadores. A unidade de memória pode ser realizada dentro do processador ou externo ao processador, em cujo caso ela pode ser acoplada de forma comunicativa no processador via vários recursos como é conhecido na técnica.
[0060] Embora os ensinamentos tenham sido descritos com referência aos exemplos de suas realizações, aqueles versados na técnica serão capazes de fazer várias modificações nas realizações descritas sem se afastar do espírito verdadeiro e escopo. Os termos e descrições usados aqui são apresentados por meio de ilustração somente e
Petição 870180017982, de 06/03/2018, pág. 30/171
24/25 não são planejados como limitações. Em particular, embora os processos tenham sido descritos por exemplos, os estágios dos processos podem ser executados em uma ordem diferente do que ilustrada ou simultaneamente. Além do que, na extensão que os termos incluindo, inclui, tendo, tem, com ou suas variações são usados na descrição detalhada, tais termos são planejados para serem inclusivos em uma maneira similar ao termo compreendendo. Como usado aqui, os termos um ou mais de e pelo menos um de com relação a uma listagem de itens tais como, por exemplo, A e B, significa A somente, B somente ou A e B. Ademais, a menos que de outra forma especificado, o termo conjunto deve ser interpretado como um ou mais. Também, o termo unir ou une é planejado para significar uma conexão indireta ou direta. Assim, se um primeiro dispositivo se une em um segundo dispositivo, essa conexão pode ser através de uma conexão direta ou através de uma conexão indireta via outros dispositivos, componentes e conexões.
[0061] Aqueles versados na técnica serão capazes de fazer várias modificações nas modalidades descritas sem se afastar do espírito verdadeiro e escopo. Os termos e descrições usados aqui são apresentados por meio de ilustração somente e não são planejados como limitações. Em particular, embora o método tenha sido descrito por exemplos, as etapas do método podem ser executadas em uma ordem diferente do que a ilustrada ou simultaneamente. Aqueles versados na técnica reconhecerão que essas e outras variações são possíveis dentro do espírito e do escopo como definido nas reivindicações seguintes e seus equivalentes.
[0062] A descrição precedente da descrição, junto com suas modalidades associadas, foi apresentada com finalidades de ilustração somente. Ela não é exaustiva e não limita a descrição à forma precisa descrita. Aqueles versados na técnica verificarão pela descrição pre
Petição 870180017982, de 06/03/2018, pág. 31/171
25/25 cedente que modificações e variações são possíveis em vista dos ensinamentos acima ou podem ser adquiridas pela prática da descrição. Por exemplo, as etapas descritas não precisam ser executadas na mesma sequência discutida ou com o mesmo grau de separação. Da mesma forma, várias etapas podem ser omitidas, repetidas ou combinadas, quando necessário, para atingir os mesmos objetivos ou similares. Similarmente, os sistemas descritos não precisam incluir necessariamente todas as partes descritas nas modalidades, e podem também incluir outras partes não descritas nas modalidades.
[0063] Dessa forma, a descrição não é limitada às modalidades acima descritas, mas ao contrário é definida pelas reivindicações anexas em vista do seu escopo completo de equivalentes.

Claims (12)

1. Método (300) para uso de produção simultâneo de um sistema de empreendimento da produção (122) e verificação de um sistema de empreendimento modificado (130), o método caracterizado por compreender:
obter (405) entradas de um ou mais usuários (120A, 120B, 120C) de um sistema de empreendimento da produção (122);
fornecer (410) as entradas do um ou mais usuários (120A, 120B, 120C) para o sistema de empreendimento da produção (122);
determinar (415), por pelo menos um processador de hardware (502), um subconjunto das entradas dentre o um ou mais usuários (120A, 120B, 120C) para usar para verificar um sistema de empreendimento modificado (130);
executar (420), por pelo menos o processador de hardware (502), uma ou mais transações no subconjunto das entradas no sistema de empreendimento modificado (130) e uma cópia do sistema de empreendimento da produção (125); e analisar (425), por pelo menos o processador de hardware (502), a uma ou mais transações para determinar se o sistema de empreendimento modificado (130) está configurado corretamente.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a determinação é baseada em uma lista branca (210), em que a lista branca compreende uma ou mais de: uma lista de usuários (120A, 120B, 120C) a ser usada para a verificação, uma lista de comandos (212) a ser usada para a verificação, uma lista de transações (213) a ser usada para a verificação.
3. Método, de acordo com a reivindicação 1, caracterizado por ainda compreender, subsequente à obtenção (405), copiar (430) as entradas a serem fornecidas para o sistema de empreendimento da produção (122), o sistema de empreendimento modificado (130) e a
Petição 870180017982, de 06/03/2018, pág. 33/171
2/3 cópia do sistema de empreendimento da produção (125).
4. Método, de acordo com a reivindicação 1, caracterizado por ainda compreender sincronizar (430) o sistema de empreendimento modificado (130) e a cópia do sistema de empreendimento da produção (125) com o sistema de empreendimento da produção (122).
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que a sincronização (430) ocorre durante um intervalo de tempo predeterminado ou contra apresentação.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a análise (425) ainda compreende comparar (435) um registro das transações para a cópia do sistema de empreendimento da produção (125) e o sistema de empreendimento modificado (130).
7. Sistema para uso de produção simultânea de um sistema de empreendimento e verificação de um sistema de empreendimento modificado (130), o sistema caracterizado por compreender:
um ou mais processadores (502); e um ou mais meios legíveis por computador (504, 510), em que o um ou mais meios legíveis por computador (504, 510) contêm instruções que, quando executadas pelo um ou mais processadores (502), fazem com que o um ou mais processadores (502) executem operações que compreendem:
obter (405) entradas do um ou mais usuários (120A, 120B, 120C) de um sistema de empreendimento da produção;
fornecer (410) as entradas do um ou mais usuários (120A, 120B, 120C) para o sistema de empreendimento da produção;
determinar (415) um subconjunto das entradas dentre o um ou mais usuários (120A, 120B, 120C) para usar para verificar um sistema de empreendimento modificado (130);
executar (420) uma ou mais transações no subconjunto das entradas no sistema de empreendimento modificado (130) e em uma
Petição 870180017982, de 06/03/2018, pág. 34/171
3/3 cópia do sistema de empreendimento da produção (125) e analisar (425) a uma ou mais transações para determinar se o sistema de empreendimento modificado (130) está configurado corretamente.
8. Sistema de acordo com a reivindicação 7, caracterizado pelo fato de que a determinação é baseada em uma lista branca, em que a lista branca compreende uma ou mais de: uma lista de usuários (120A, 120B, 120C) a ser usada para a verificação, uma lista de comandos (212) a ser usada para a verificação, uma lista de transações (213) a ser usada para a verificação.
9. Sistema de acordo com a reivindicação 7, caracterizado pelo fato de que o um ou mais processadores (502) são ainda operáveis para executar operações que compreendem, subsequente à obtenção (405), copiar (430) as entradas a serem fornecidas para o sistema de empreendimento da produção (122), o sistema de empreendimento modificado (130) e a cópia do sistema de empreendimento da produção (125).
10. Sistema de acordo com a reivindicação 7, caracterizado pelo fato de que o um ou mais processadores (502) são ainda operáveis para executar operações compreendendo sincronização (430) do sistema de empreendimento modificado (130) e da cópia do sistema de empreendimento da produção (125) com o sistema de empreendimento da produção (122).
11. Sistema de acordo com a reivindicação 10, caracterizado pelo fato de que a sincronização (430) ocorre durante um intervalo de tempo predeterminado ou contra apresentação.
12. Sistema de acordo com a reivindicação 7, caracterizado pelo fato de que a análise (425) ainda compreende comparar (435) um registro das transações para a cópia do sistema de empreendimento da produção (125) e o sistema de empreendimento modificado (130).
BR102018004432-0A 2017-04-28 2018-03-06 Método e projeto para sistema de verificação automático BR102018004432A2 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762491311P 2017-04-28 2017-04-28
US62/491,311 2017-04-28
US15/844,200 2017-12-15
US15/844,200 US10572361B2 (en) 2017-04-28 2017-12-15 Concurrent production use of a production enterprise system and testing of a modified enterprise system

Publications (1)

Publication Number Publication Date
BR102018004432A2 true BR102018004432A2 (pt) 2019-02-26

Family

ID=62063272

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102018004432-0A BR102018004432A2 (pt) 2017-04-28 2018-03-06 Método e projeto para sistema de verificação automático

Country Status (9)

Country Link
US (1) US10572361B2 (pt)
EP (1) EP3396555B1 (pt)
JP (1) JP7125854B2 (pt)
KR (1) KR102454177B1 (pt)
CN (1) CN108804306B (pt)
AU (1) AU2018200693B2 (pt)
BR (1) BR102018004432A2 (pt)
CA (1) CA2993213C (pt)
RU (1) RU2767149C2 (pt)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3593254B1 (en) 2017-07-24 2023-08-02 Wix.com Ltd. Editing a database during preview of a virtual web page
US10795792B2 (en) * 2018-02-02 2020-10-06 Storage Engine, Inc. Methods, apparatuses and systems for cloud-based disaster recovery test
US11086765B2 (en) * 2018-02-02 2021-08-10 Jpmorgan Chase Bank, N.A. Test reuse exchange and automation system and method
US10417115B1 (en) * 2018-04-27 2019-09-17 Amdocs Development Limited System, method, and computer program for performing production driven testing
CN111506583A (zh) * 2019-01-31 2020-08-07 北京嘀嘀无限科技发展有限公司 更新方法、更新装置、服务器、计算机设备和存储介质
CN110347484B (zh) * 2019-06-27 2024-02-02 上海麦克风文化传媒有限公司 一种软件编译部署过程中进行高效测试的工作方法
CN110490742B (zh) * 2019-08-13 2024-04-12 深圳前海微众银行股份有限公司 一种区块链中的交易执行方法及装置
KR102305845B1 (ko) * 2020-12-21 2021-09-29 쿠팡 주식회사 코드의 검증을 위한 전자 장치 및 그 방법
US20220413923A1 (en) * 2021-06-24 2022-12-29 Charter Communications Operating, Llc Seamless micro-services data source migration with mirroring
US11847035B2 (en) 2021-08-23 2023-12-19 International Business Machines Corporation Functional test of processor code modification operations
CN114756268A (zh) * 2022-06-16 2022-07-15 成都雷电微晶科技有限公司 一种集中式相控阵天线fpga程序升级方法及系统

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04112344A (ja) * 1990-09-03 1992-04-14 Fujitsu Ltd データベースの疑似更新方式
JPH07200338A (ja) * 1994-01-07 1995-08-04 Nippon Steel Corp コンピュータシステムの稼動検証方法
US6230066B1 (en) * 1998-09-08 2001-05-08 Ford Global Technologies, Inc. Simultaneous manufacturing and product engineering integrated with knowledge networking
WO2001046889A2 (en) * 1999-12-22 2001-06-28 Accenture Llp A method for executing a network-based credit application process
RU2312387C2 (ru) * 2003-05-29 2007-12-10 Самсунг Электроникс Ко., Лтд. Способ и система тестирования dvd-плеера
US7799273B2 (en) * 2004-05-06 2010-09-21 Smp Logic Systems Llc Manufacturing execution system for validation, quality and risk assessment and monitoring of pharmaceutical manufacturing processes
EP1818812B1 (en) * 2006-01-25 2016-01-06 Brandt Technologies Limited System and method for effecting simultaneous control of remote computers
JP4495688B2 (ja) * 2006-03-27 2010-07-07 株式会社日立製作所 検証システム
US8151247B2 (en) 2006-10-09 2012-04-03 Sap Ag Test data management
US20080270104A1 (en) * 2007-04-24 2008-10-30 Stratton Robert J System and Method for Creating an Assurance System in a Mixed Environment
CN101521834B (zh) * 2009-04-02 2012-07-04 深圳市茁壮网络股份有限公司 一种自动化测试的方法、装置和系统
US8418150B2 (en) * 2009-04-03 2013-04-09 Oracle International Corporation Estimating impact of configuration changes
US8549476B2 (en) * 2009-07-30 2013-10-01 Hewlett-Packard Development Company, L.P. Comparison of result of program operation to result of an operation of a different version of the program
US8245083B2 (en) * 2009-12-24 2012-08-14 At&T Intellectual Property I, L.P. Systems, methods, and apparatus to debug a network application
JP2011141631A (ja) * 2010-01-06 2011-07-21 Hitachi Omron Terminal Solutions Corp 現金自動取引装置及び現金自動取引装置の更新プログラムのテスト方法
US8429466B2 (en) 2010-07-23 2013-04-23 Sap Ag XML-schema-based automated test procedure for enterprise service pairs
US9916147B2 (en) * 2010-08-17 2018-03-13 International Business Machines Corporation Deployment of a tool for testing migrated applications
US9054975B2 (en) * 2010-08-30 2015-06-09 Deutsche Telekom Ag Virtualization and replay-based system for network debugging
US9479416B2 (en) * 2010-12-06 2016-10-25 Ca, Inc. System and method for diagnosing information technology systems in multiple virtual parallel universes
JP5648186B2 (ja) * 2011-08-22 2015-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation トランザクションを再生するためのデータを生成する装置及び方法
CN103077110B (zh) * 2011-10-25 2015-11-25 阿里巴巴集团控股有限公司 一种测试方法及装置
JP5703195B2 (ja) * 2011-11-15 2015-04-15 株式会社日本総合研究所 プログラムの新旧バージョンに対する差分比較テストシステム及びテスト方法
EP2883143A4 (en) * 2012-08-13 2016-05-11 Hewlett Packard Development Co PERFORMANCE TESTS IN A CONTINUOUS PIPE
US9262416B2 (en) * 2012-11-08 2016-02-16 Microsoft Technology Licensing, Llc Purity analysis using white list/black list analysis
US20140229928A1 (en) * 2013-02-11 2014-08-14 Claes Göran Edström Upgrading software in production environments
TWI608419B (zh) * 2013-09-23 2017-12-11 財團法人資訊工業策進會 軟體相容性預先檢測方法與其系統
US10489807B1 (en) * 2013-11-11 2019-11-26 Amazon Technologles, Inc. Non-deterministic load-testing
US9483387B1 (en) * 2014-03-17 2016-11-01 Amazon Technologies, Inc. Tree comparison functionality for services
JP5954752B2 (ja) * 2014-09-30 2016-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation システムのテストを行う装置、方法およびプログラム
US20160132420A1 (en) * 2014-11-10 2016-05-12 Institute For Information Industry Backup method, pre-testing method for environment updating and system thereof
US20160155131A1 (en) * 2014-11-28 2016-06-02 EIS Group Software Ireland Limited System and method for fully testing a system before and after an upgrade to verify full use case compliance
CN105824745B (zh) * 2015-01-04 2019-03-01 中国移动通信集团湖南有限公司 一种灰度发布方法及装置
CN106155890A (zh) * 2015-04-02 2016-11-23 深圳市腾讯计算机系统有限公司 平台测试方法和系统
CN105068918B (zh) * 2015-06-03 2017-11-17 中国人民财产保险股份有限公司 一种页面测试方法及装置
US10726371B2 (en) 2015-06-08 2020-07-28 Sap Se Test system using production data without disturbing production system
GB201514336D0 (en) * 2015-08-12 2015-09-23 Basis Technologies Internat Ltd Testing of enterprise resource management systems
US9910762B2 (en) 2015-08-21 2018-03-06 Oracle International Corporation Unified sandbox
CN106598835B (zh) * 2015-10-19 2019-12-20 广州爱九游信息技术有限公司 一种应用的测试方法及装置、系统
US9898389B2 (en) * 2016-01-07 2018-02-20 International Business Machines Corporation Debugging a transaction in a replica execution environment
CN105827446B (zh) * 2016-03-31 2019-04-30 深圳市金溢科技股份有限公司 一种智能交通api网关及智能交通业务系统

Also Published As

Publication number Publication date
CA2993213A1 (en) 2018-10-28
JP7125854B2 (ja) 2022-08-25
US10572361B2 (en) 2020-02-25
CA2993213C (en) 2023-03-21
RU2018102980A3 (pt) 2021-06-23
KR20180121337A (ko) 2018-11-07
RU2018102980A (ru) 2019-07-25
AU2018200693A1 (en) 2018-11-15
CN108804306A (zh) 2018-11-13
CN108804306B (zh) 2023-07-18
EP3396555A1 (en) 2018-10-31
EP3396555B1 (en) 2020-04-08
KR102454177B1 (ko) 2022-10-12
JP2018200683A (ja) 2018-12-20
US20180314625A1 (en) 2018-11-01
AU2018200693B2 (en) 2023-07-13
RU2767149C2 (ru) 2022-03-16

Similar Documents

Publication Publication Date Title
BR102018004432A2 (pt) Método e projeto para sistema de verificação automático
US11372635B2 (en) In-memory software package installation and testing
US8972405B1 (en) Storage resource management information modeling in a cloud processing environment
US10642606B2 (en) Re-use of code
US10528262B1 (en) Replication-based federation of scalable data across multiple sites
CN104461860B (zh) 用于操作系统验证的方法和系统
US11860892B2 (en) Offline index builds for database tables
US20230367577A1 (en) Method and apparatus for updating cloud platform
CN114490677A (zh) 数据分析系统中的数据同步
US11321226B2 (en) Joint validation across code repositories
US20120204149A1 (en) Discovery-based migration correctness testing
US20150242599A1 (en) Cluster license server
Razzoli Mastering MariaDB
Alapati Expert apache cassandra administration
Padalia Apache Cassandra Essentials
US11711261B2 (en) Automated host management service
US10977379B1 (en) Utilizing canary data to identify improper data access
WO2022048427A1 (zh) 云平台更新方法和装置
Shriparv Learning HBase
US10291700B2 (en) Network optimized scan with dynamic fallback recovery
US11630742B2 (en) System and method of performing recovery using a backup image
US20170091253A1 (en) Interrupted synchronization detection and recovery
Chmel et al. SQL Server 2019 Administrator's Guide: A definitive guide for DBAs to implement, monitor, and maintain enterprise database solutions
US12001837B2 (en) Two-way synchronization of infrastructure-as-code templates and instances
US20230297366A1 (en) Two-way synchronization of infrastructure-as-code templates and instances

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]