BR112022001950B1 - Método e sistema para adaptação de programas para interoperabilidade e adaptadores para os mesmos - Google Patents

Método e sistema para adaptação de programas para interoperabilidade e adaptadores para os mesmos Download PDF

Info

Publication number
BR112022001950B1
BR112022001950B1 BR112022001950-5A BR112022001950A BR112022001950B1 BR 112022001950 B1 BR112022001950 B1 BR 112022001950B1 BR 112022001950 A BR112022001950 A BR 112022001950A BR 112022001950 B1 BR112022001950 B1 BR 112022001950B1
Authority
BR
Brazil
Prior art keywords
data
program
adapter
transform
interchange
Prior art date
Application number
BR112022001950-5A
Other languages
English (en)
Other versions
BR112022001950A2 (pt
Inventor
Chris A. Haudenschild
Original Assignee
Clinicomp International, Inc
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 Clinicomp International, Inc filed Critical Clinicomp International, Inc
Publication of BR112022001950A2 publication Critical patent/BR112022001950A2/pt
Publication of BR112022001950B1 publication Critical patent/BR112022001950B1/pt

Links

Images

Classifications

    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2448Query languages for particular applications; for extensibility, e.g. user defined types
    • 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/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24547Optimisations to support specific applications; Extensibility of optimisers
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Neurology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

MÉTODO E SISTEMA PARA ADAPTAÇÃO DE PROGRAMAS PARA INTEROPERABILIDADE E ADAPTADORES PARA OS MESMOS. Um método e sistema, de acordo com modalidades, permitem programa generalizado para programar a interoperabilidade. O método e o sistema empregam um adaptador de transformada automático ou substancialmente automático para usar um determinado padrão de intercâmbio para comunicação bidirecional com um programa. Para que o adaptador empregue o padrão de intercâmbio, um gerenciador de revelação pode aprender a estrutura e/ou formato de comunicação de dados de programa e pode aprender informações de significado de dados a partir do programa. Um criador de adaptador pode derivar uma transformada que converte a estrutura de comunicação de dados de programa e o significado dos dados no padrão de intercâmbio. A transformada pode ser usada pelo adaptador para permitir a comunicação bidirecional com qualquer adaptador e/ou programa que emprega de maneira semelhante o determinado padrão de intercâmbio para obter interoperabilidade.

Description

CAMPO DA INVENÇÃO
[0001] A presente invenção refere-se em geral a um método e um sistema para adaptação de programas de software para interoperabilidade. Refere-se adicionalmente a adaptadores para permitir que diferentes programas alcancem a interoperabilidade.
FUNDAMENTOS DA INVENÇÃO
[0002] Não se admite que os fundamentos da técnica descritos nesta seção constituam legalmente técnica anterior.
[0003] Atualmente, programas como programas de banco de dados empregam uma variedade de diferentes modelos de dados, linguagens de interface, convenções de nomenclatura, semântica de dados, esquemas e representações de dados. Assim, um problema fundamental é o compartilhamento de informações heterogêneas entre uma variedade de recursos. A diversidade entre os dados de diferentes programas pode criar sérias barreiras em que a interoperabilidade dentre programas tão diversos pode ser altamente desejável, mas até então inatingível.
[0004] Embora tenha havido muitas tentativas direcionadas a bancos de dados heterogêneos, continua a existir uma necessidade significativa para que aplicativos de projeto, engenharia e fabricação possam acessar e importar dados facilmente de maneira eficiente e eficaz. Os esforços para desenvolver linguagens de consulta globais não atendem satisfatoriamente ao grande grupo de usuários que podem querer ver o mundo dos dados externos como se fosse uma extensão de seu sistema existente e sua representação especializada. Esses usuários podem não querer aprender uma representação global diferente - e mais importante, suas ferramentas de projeto dispendiosas podem funcionar apenas com sua representação especializada.
[0005] Portas de conexão de banco de dados, Agente de Solicitação de Objeto Comum (Common Object Request Broker (COBRA)) e interfaces de Conectividade de Banco de Dados Aberta (Open Database Connectivity (ODBC)) tentam abordar a heterogeneidade, mas apenas o fazem em um nível relativamente superficial. Assim, existem sérias desvantagens até mesmo para começar a alcançar a interoperabilidade universal de programa.
[0006] Em todos esses casos, os programadores ainda devem registrar o código do aplicativo para invocar as diversas funções projetadas em uma interface entre programas para, de alguma forma, permitir que eles interoperem, criando assim, despesas e atrasos indesejados e indesejáveis. Transformações de dados e reformatação podem ser necessárias no lado de fonte da interface de programa de aplicativos (API), no lado almejado da API ou, muitas vezes, em ambos os lados. Tudo isso é deixado para os programadores, que devem implementar essa funcionalidade de interoperabilidade caso a caso e, portanto, com grandes despesas para a implementação desejada. Infelizmente, há pouco ou nenhum software pré-existente a partir do qual esses tradutores podem ser construídos, e cada esforço geralmente começa do zero. Embora alguns fornecedores ofereçam tradutores a partir de importação de alguns formatos comuns, em geral, eles não oferecem interoperabilidade suficiente.
[0007] Além disso, se o uso almejado dos dados, espera dados não relacionais (por exemplo, ligados, aninhados ou outro formato), pode ser necessária uma transformação de dados adicional. Normalmente, isso também pode envolver um esforço de programação proibitivamente dispendioso com requisitos indesejados de consumo de tempo. Mesmo dentro do modo de dados relacionais, geralmente há várias maneiras diferentes de projetar as tabelas relacionais - ou seja, geralmente há mais de uma maneira de normalizar os dados. Se o aplicativo exigir os dados de maneira diferente dos providos pela API, as transformações de dados geralmente serão necessárias então. Assim, muitas vezes é necessário que uma organização registre tradutores especializados dispendiosos e demorados para seus requisitos específicos.
[0008] Outras desvantagens de interoperabilidade ocorrem frequentemente em uma grande empresa moderna. É inevitável que diferentes partes da organização usem sistemas diferentes para produzir, armazenar e pesquisar seus dados críticos. Essa diversidade de fontes de dados pode ser causada por muitos fatores, que inclui falta de coordenação dentre unidades da companhia, diferentes taxas de adoção de novas tecnologias, fusões e aquisições e separação geográfica de grupos colaboradores. No entanto, é apenas combinando as informações desses vários sistemas que a empresa pode perceber o valor total dos dados que eles contêm. Assim, a interoperabilidade do programa é cada vez mais desconcertante nas grandes empresas modernas.
[0009] Nas indústrias de finanças ou de saúde, por exemplo, as fusões são uma ocorrência quase comum. A companhia resultante a partir de uma fusão, herda os armazenamentos de dados da instituição ou instituições originais. Muitos desses armazenamentos de dados podem ser de fabricantes diferentes. Tanto o adquirente quanto o almejado podem ter um ou mais sistemas de gerenciamento de documentos para armazenar documentos de texto. Cada um pode ter tido aplicativos que computam informações importantes como, por exemplo, o risco de conceder um empréstimo a um determinado cliente ou minerar informações sobre os padrões de compra de cliente.
[0010] Após a fusão, a nova empresa poderá exigir acesso às informações dos clientes a partir de ambos os conjuntos de armazenamentos de dados, para analisar seu novo portfólio com o uso de aplicativos existentes e novos e, em geral, usar os recursos combinados de ambas as instituições através de uma interface comum. A companhia também pode exigir a capacidade de identificar clientes comuns e consolidar suas contas, mesmo que os dados dos clientes possam estar armazenados em diferentes bancos de dados e em diferentes formatos. Esses são todos os aspectos da interoperabilidade do programa e todos podem representar desafios pesados e excessivamente dispendiosos no processo de implementação. Além disso, a implementação normalmente requer atrasos longos indesejados para alcançar a interoperabilidade desejada.
[0011] Outra tentativa de interoperabilidade é o estabelecimento de um depósito de dados (data warehouse), que geralmente é construído carregando-se dados a partir de uma ou mais fontes de dados em um esquema recém-definido em um banco de dados de depósito. Os dados geralmente são limpos e transformados no processo de carregamento. Alterações nas fontes subjacentes podem causar alterações no processo de carregamento e a parte do aplicativo que lida com a análise de dados deve ser protegida. Novas fontes de dados podem introduzir alterações no esquema, exigindo que um novo processo de carregamento para os novos dados seja definido. No entanto, quaisquer funções da nova fonte de dados que não sejam uma parte padrão do sistema de gerenciamento de banco de dados de depósito geralmente devem ser reimplementadas no sistema de banco de dados de depósito ou como parte do aplicativo, frequentemente com despesas indesejadas e perda de tempo para instalação.
[0012] Uma solução com base apenas no depósito pode ser impraticável ou não ser econômica por vários outros motivos. Por exemplo, nem sempre é viável mover dados a partir de sua localização original para um depósito de dados e, conforme descrito acima, o depósito vem com seus próprios custos de manutenção e implementação.
[0013] O uso de um sistema de federação de banco de dados é mais uma tentativa de alcançar a interoperabilidade universal. O termo “federação de banco de dados” refere-se a uma arquitetura na qual um sistema de gerenciamento de banco de dados provê acesso uniforme a várias fontes de dados heterogêneas. No entanto, o tempo e os custos de projetar e implementar tal sistema geralmente são desagradáveis e indesejados. Mesmo assim, normalmente é limitado apenas a bancos de dados relacionais e não a outros formatos, como hierárquico ou outras formas. Assim, uma arquitetura tão limitada não é adequada para a interoperabilidade universal. Escalonar adicionando-se fontes de dados preenchidas, não conhecidas anteriormente, pode ser um desafio externo na melhor das hipóteses, se não totalmente impraticável para alguns aplicativos.
[0014] Em geral, há despesas e tempo indesejados necessários para criar interfaces para alcançar alguma medida de interoperabilidade de programa, como, por exemplo, em que um grande grupo de fontes de dados heterogêneas é empregado. Esse trabalho manual pelos programadores geralmente é totalmente indesejável e desagradável, se não assustador.
[0015] Seria extremamente desejável ter um sistema e método para permitir a interoperabilidade para qualquer número de programas diferentes de forma automática ou substancialmente automática e altamente eficiente e eficaz. Tal sistema e método devem ser protegidos contra erros humanos. Além disso, seria altamente desejável ter um adaptador de programa para auxiliar a facilitar a interoperabilidade universal entre diferentes programas. Os adaptadores operariam de maneira automática ou substancialmente automática para eliminar ou reduzir bastante a necessidade de programadores desenvolverem interfaces para programas anteriormente desconhecidos. Os adaptadores devem ser capazes de permitir a interoperabilidade mesmo dentre programas que tem arranjos e significados de dados anteriormente desconhecidos e a implementação pode ser concluída substancialmente sem intervenção humana. Assim, programas anteriormente desconhecidos podem ser facilmente acessados por outros programas para fins de interoperabilidade para estender globalmente um sistema de maneira essencialmente ilimitada e de forma rápida e eficiente.
[0016] Adaptadores têm sido usados para ajudar o acesso a bancos de dados a obter acesso com outros programas. Por exemplo, pode ser feita referência à seguinte patentes U.S.: n° U.S. 9.201.874 B2; n° U.S. 9.135.297 B2; n° U.S. 6.880.151 B2; n° U.S. 6.792.431 B2; n° U.S. 5.970.490; e o pedido de patente publicado n° U.S. 2014/0032608 A1.
[0017] Além disso, os seguintes são artigos publicados sem patente:
Figure img0001
[0018] Por exemplo, no pedido de patente publicado n° U.S. 2014/0032608 A1, é descrito um adaptador de banco de dados que reivindica reduzir “o tempo e as despesas associadas à adaptação de um programa aplicativo para operar com um segundo banco de dados, diferente de um primeiro banco de dados, que o pedido foi projetado para acessar". Primeiro, no entanto, esse adaptador deve ser customizado manualmente para cada um dos dois programas de banco de dados diferentes. Tal customização é, obviamente, excessivamente dispendiosa e indesejavelmente demorada para implementar, especialmente quando pode haver um grande número de diferentes programas heterogêneos possíveis para interoperar, de maneira eficiente e eficaz. Em segundo lugar, o adaptador descrito é projetado para instanciar ambos os bancos de dados, o que pode não ser desejável para a maioria dos aplicativos.
[0019] A patente n° U.S. 6.792.431 para Tamboli e a patente n° U.S. 9.201.874 para Szyperski descrevem adaptadores e técnicas para informações de mapeamento de dados para auxiliar a interoperabilidade. Na patente Tamboli, são descritos adaptadores usados para integração de dados. Os atributos de identificação são exibidos por uma estação de trabalho de usuário. Os atributos são “na verdade armazenados em um catálogo”.
[0020] (Coluna 12, linhas 43 a 49). O usuário pode então habilitar a “execução de uma transferência, para transferir dados específicos identificados a partir de um repositório nativo de fonte para um repositório nativo de destino. As interfaces de usuário em tais modalidades são capazes, quando solicitadas, de registrar em um carrinho de transferência, chaves de catálogo dos atributos de identificação para todos os registros nativos solicitados transferidos pelo usuário A interface de usuário, em seguida, em modalidades típicas, registra uma chave de catálogo em um carrinho de transferência (242), uma chave para cada gravação de transferência.” (Coluna 13, linhas 1 a 26). Para habilitar esta operação, os programadores “registram código para funções de adaptador ou métodos membros que são registrados na linguagem de um sistema de gerenciamento de banco de dados para um repositório nativo ou que chamam interfaces de programação de aplicativos (“APIs”) suportadas por um repositório nativo ou seu sistema de gerenciamento de banco de dados." (Coluna 23, linhas 8 a 12). Quando foram cometidos erros no mapeamento, “na medida em que o mapeamento precisa ser alterado, não é necessária programação, apenas edição de texto. Na medida em que um adaptador precisa ser alterado, apenas uma pequena quantidade de programação está envolvida, apenas o suficiente no exemplo atual para adicionar um elemento de dados excluído O fato... de que o erro humano ou a escolha humana podem, por uma questão prática, excluir elementos de dados de uma maneira que falha na definição de uníssono total, 'são necessárias alterações'.” (Coluna 25, linhas 29 a 40).
[0021] Assim, o mapeamento aparentemente requer alteração devido a erro humano na inserção manual de informações em uma estação de trabalho. Esses erros humanos e correções manuais podem ser dispendiosos e altamente indesejáveis. A técnica Tamboli de exigir a “interface de usuário, em seguida, em modalidades típicas, registra uma chave de catálogo em um carrinho de transferência (242), uma chave para cada registro de transferência”, está sujeita a erro humano para cada registro no sistema. Portanto, problemas graves de precisão podem resultar de maneira fácil e previsível.
[0022] Na patente de Szyperski, é feita uma tentativa de “correlacionar diferentes tipos nominais com base em um conjunto mínimo de formatos ou estruturas comuns. Em uma implementação, um desenvolvedor identifica um número de tipos nominais diferentes de interesse (tipos de fonte) e identifica o conjunto mínimo de formatos de tipos comuns a serem acessadas por um programa de aplicativo. O conjunto mínimo de formatos de tipo comum pode ser usado para criar um tipo intermediário (tipo almejado) para o qual cada um dos outros tipos de fonte diferentes pode ser mapeado. Por exemplo, um ou mais proxies podem ser criados para mapear formas de um ou mais tipos de fonte para formatos correspondentes do tipo almejado criado. O programa de aplicativo criado pelo desenvolvedor, por sua vez, pode acessar, operar ou usar os dados mapeados de cada tipo de fonte diferente através de um único tipo almejado.” (Resumo, linhas 2 a 15).
[0023] No entanto, para fins de mapeamento de dados, o desenvolvedor deve identificar diferentes tipos nominais de interesse (tipos de fonte) e identificar o conjunto mínimo de formatos de tipos comuns a serem acessadas por um programa de aplicativo. Essa programação pode ser excessivamente dispendiosa e demorada. Além disso, é evidente que o desenvolvedor já deve conhecer os tipos antes que ele ou ela possa identificar um número de tipos nominais diferentes e, além disso, pode identificar o conjunto mínimo de formatos de tipos comuns. Assim, Szyperski requer conhecimento prévio de certos programas antes que o mapeamento possa ocorrer. BREVE DESCRIÇÃO DOS DESENHOS
[0024] A fim de entender melhor certas modalidades e ver como as mesmas podem ser realizadas na prática, as modalidades preferenciais não limitantes da invenção serão agora descritas com referência aos desenhos anexos, nos quais:
[0025] A Figura 1 é um diagrama de blocos simbólico que mostra a criação de adaptadores para uso com diferentes programas para permitir a interoperabilidade dentre eles de acordo com várias modalidades;
[0026] A Figura 2 é um diagrama de blocos simbólico de um par de adaptadores conectados a um par de programas diferentes para permitir que eles interoperem de acordo com várias modalidades;
[0027] A Figura 3 é um diagrama de fluxo de métodos de criação de adaptadores para facilitar a interoperabilidade de diferentes programas de acordo com várias modalidades;
[0028] A Figura 4 é um diagrama de blocos simbólico mais detalhado do adaptador de acordo com uma modalidade atualmente preferencial;
[0029] A Figura 5 é um diagrama de um perfil de dados a partir de um determinado dados padrão de intercâmbio de acordo com uma modalidade; e
[0030] A Figura 6 é uma implementação de software de uma etapa de determinação de consistência de perfil do fluxograma da Figura 3 de acordo com uma modalidade preferencial.
Descrição Detalhada de Certas Modalidades da Invenção
[0031] Certas modalidades da presente invenção serão agora descritas mais detalhadamente a seguir com referência aos desenhos anexos, nos quais algumas, mas não todas as modalidades da invenção, são mostradas. De fato, essas modalidades da invenção podem estar em muitas formas diferentes e, portanto, a invenção não deve ser interpretada como limitada às modalidades estabelecidas no presente documento; em vez disso, essas modalidades são providas como exemplos ilustrativos apenas para que esta descrição satisfaça os requisitos legais aplicáveis. Números semelhantes referem-se a elementos similares ao longo de toda a descrição.
[0032] Será prontamente entendido que os componentes das modalidades como geralmente descritos e ilustrados nos desenhos no presente documento, podem ser arranjados e projetados em uma ampla variedade de configurações diferentes. Assim, a seguinte descrição mais detalhada de algumas das modalidades do sistema de aparelhos, componentes e métodos da presente invenção, conforme representados nos desenhos, não se destina a limitar o escopo da invenção, conforme reivindicado, mas é meramente exemplos representativos de uma ou mais das modalidades da invenção.
[0033] De acordo com uma modalidade, um sistema facilita a interoperabilidade entre o primeiro e o segundo programas diferentes. Os programas podem ter significados e arranjos de dados previamente desconhecidos. O sistema inclui o primeiro e o segundo adaptadores padrão de intercâmbio bidirecional, que inclui, cada um, a primeira e a segunda transformadas funcionais de dados. As transformadas podem ser uma função de conversão de estruturas de dados e formatos de dados entre o primeiro e o segundo programas e um padrão de intercâmbio comum. O primeiro e o segundo adaptadores também incluem dados de leitura e gravação de transferência de comunicação para os respectivos primeiro e segundo programas. Um enlace de comunicação pode conectar o primeiro e o segundo adaptadores para transmitir informações padrão de intercâmbio de modo bidirecional.
[0034] As transformadas funcionais de dados, de acordo com várias modalidades, podem ser criadas sem intervenção humana e permitem que os programas interoperem. As estruturas de dados e formatos de dados, bem como os dados de leitura/gravação para cada programa, são aprendidas pelos gerenciadores de revelação. Assim, as transformadas de dados e os dados de leitura/gravação para cada adaptador permitem que os criadores de adaptador criem os adaptadores, o que pode ser feito sem intervenção humana.
[0035] Deve ser entendido que o termo "transformada funcional de dados", conforme usado no presente documento, também pode ser citado no presente documento de forma variada como "transformada de dados ES", "transformada" ou "transformada de dados de programa ES".
[0036] Outra modalidade refere-se a um método de criação dos adaptadores padrão de intercâmbio bidirecional. O método inclui receber significados de dados de programa e localizações de dados correspondentes a partir de um determinado programa. É então determinado a possibilidade de os significados do programa recebido serem equivalentes aos significados desejados de um padrão de intercâmbio. Uma determinação adicional pode ser feita como a possibilidade de os dados das localizações de dados recebidos do determinado programa serem consistentes com os dados correspondentes do padrão de intercâmbio.
[0037] Assim, se os significados dos dados estiverem disponíveis, os dados para esses significados podem ser verificados analisando-se os dados associados. Se não houver significados disponíveis, os próprios dados podem ser analisados para determinar se algum dos dados contidos no programa desconhecido pode ser de interesse, todos podem ser preenchidos sem intervenção humana de maneira rápida e eficiente.
[0038] Se a equivalência e/ou consistência forem determinadas, uma transformada funcional de duas vias pode ser criada. A transformada funcional pode ser uma função da estrutura de dados e formato de dados para uma conversão de dados entre o determinado programa e o padrão de intercâmbio correspondente. A transformada funcional é provida para um determinado adaptador padrão de intercâmbio bidirecional para facilitar a interoperabilidade entre o determinado programa e um programa diferente que tem outro adaptador padrão de intercâmbio bidirecional.
[0039] O método de criação pode incluir um gerenciador de revelação, que facilita a busca de significados de dados para dados armazenados em determinado programa. A pesquisa pode incluir o recebimento por meio do gerenciador de revelação de uma interface de programação de aplicativo (API).
[0040] O método de criação pode incluir um gerenciador de revelação, que facilita a busca de significados de dados para dados armazenados em determinado programa na forma de metadados.
[0041] O método de criação que usa o gerenciador de revelação pode incluir determinar o significado do padrão de intercâmbio desejado com os significados dos dados de programa recebido, para determinar a possibilidade de os significados do padrão de intercâmbio serem ou não equivalentes aos significados dos dados de programa correspondentes.
[0042] O método de criação com o uso do gerenciador de revelação pode incluir determinar se existe um perfil de dados de programa e se existe um perfil de dados de intercâmbio. Se eles existirem, uma determinação pode ser feita através do gerenciador de revelação se existe consistência entre o perfil de dados de programa e o perfil de dados padrão de intercâmbio.
[0043] O método de criação pode incluir uma determinação se o gerenciador de revelação determinar que existe a equivalência do significado de dados e/ou a consistência do perfil de dados, o adaptador pode então ser criado por um criador de adaptador, a menos que (1) o significado de dados de programa não é equivalente ao significado de dados padrão de intercâmbio, ou (2) o perfil de dados de programa não é consistente com o perfil de dados padrão de intercâmbio.
[0044] O método de criação pode incluir a criação de regras que definem comandos de leitura e gravação e transformadas de dados funcionais.
[0045] Ainda outra modalidade refere-se a um adaptador padrão de intercâmbio bidirecional que permite que um determinado programa interopere com um programa diferente que tem outro adaptador padrão de intercâmbio bidirecional. O adaptador pode incluir um ou mais hiperobjetos que inclui uma ou mais regras que definem uma transformada de dados funcional de duas vias. A transformada funcional pode ser uma função de conversão de dados de estruturas de dados e formatos de dados para um determinado programa e para um determinado padrão de intercâmbio. Os um ou mais hiperobjetos também podem definir regras para leitura de dados e gravação de dados para um determinado programa. Como resultado, a intercomunicação com outro adaptador padrão de intercâmbio bidirecional é facilitada para prover interoperabilidade entre o determinado programa e o programa diferente.
[0046] O adaptador padrão de intercâmbio bidirecional pode incluir adicionalmente um enlace de comunicação para comunicação entre o adaptador e outro adaptador padrão de intercâmbio bidirecional para transmitir informações padrão de intercâmbio bidirecional.
[0047] Em uma modalidade, as regras de hiperobjeto do adaptador permitem implementação rápida e eficiente em um quadro de hiperobjeto bem conhecido e aceito. As regras também podem ser revisadas ou alteradas dinamicamente.
[0048] Com referência agora aos desenhos e mais particularmente à Figura 1 dos mesmos, é mostrado um adaptador padrão de intercâmbio bidirecional 10 para permitir que um determinado programa, como um programa 12 de um grupo de programas 13, interopere com um programa desconhecido diferente, como um programa 14. O grupo de programas 13 pode ser uma variedade de programas diferentes, por exemplo, bancos de dados, aplicativos e outros tipos e tipos de programas. Além disso, os significados dos dados podem não ser conhecidos anteriormente dentre os vários programas 13. De acordo com várias modalidades, equipando-se cada um dos programas 13 com um adaptador padrão de intercâmbio semelhante ao adaptador 10, os programas 13 podem, ainda, ser capazes de interoperar entre si e compartilhar dados entre si, mesmo que a estrutura e disposição dos dados de cada um dos programas 13 podem ser diferentes e previamente desconhecidos.
[0049] A fim de criar o adaptador 10 para o programa 12, um gerenciador de revelação 15 pode ser empregado para revelar o significado de certos dados desejados utilizados ou armazenados no programa 12. Para este propósito, certas informações de programa recebidas indicadas em 16, informam ao gerenciador de revelação 15 como encontrar significados de dados e localizações de dados correspondentes, que podem ser providas a um servidor 17 do gerenciador de revelação 15.
[0050] De acordo com várias modalidades, se tais significados de dados e localizações de dados não estiverem disponíveis, os dados de programa (P-DATA), por exemplo, podem ser analisados automaticamente ou semiautomaticamente para aprender significados e localização de dados a partir dos próprios dados.
[0051] De acordo com as modalidades, um determinado padrão de intercâmbio (ES), como geralmente indicado em 18, é recebido pelo gerenciador de revelação 15. Os dados padrão de intercâmbio ES-DATA podem incluir dados que representam informações providas desejadas, incluindo, mas não se limitando a, significados de dados desejados, estrutura e formato de dados, perfis de dados e outros.
[0052] Caso o gerenciador de revelação 15 saiba que os determinados significados de dados desejados e suas localizações correspondentes ao determinado padrão de intercâmbio ES, foram revelados e/ou os dados de programa P-DATA são consistentes com os dados padrão de intercâmbio ES-DATA, um criador de adaptador 19 que tem um servidor 21, pode, em seguida, criar transformadas funcionais de dados para estrutura de dados e formatos de dados, bem como comandos de programa de leitura/gravação.
[0053] Uma vez criada, a transformada, tal como a transformada de dados de programa ES, pode ser montada no adaptador 10 conforme indicado em 20. Adicionalmente, os dados de leitura/gravação de transferência de comunicação também podem ser determinados pelo gerenciador de revelação 15 e usados para acessar o programa 12 pelo criador de adaptador 19 para prover comandos de leitura e gravação para o determinado programa 12 e montados no adaptador 10 conforme indicado em 22.
[0054] Agora, em referência à Figura 2, após a conclusão do adaptador 10, o determinado programa 12 pode ser conectado através de seu adaptador 10 através de um enlace de comunicação de dados ES 26 a um adaptador padrão de intercâmbio bidirecional diferente, como um adaptador 27, por sua vez acoplado através de um enlace 25 a um programa diferente, como o programa 14 para facilitar a interoperação entre os programas 12 e 14. Supondo-se que o adaptador 27 possa ter sido criado pelo gerenciador de revelação 15 e pelo criador de adaptador 19, ou por seu próprio gerenciador de revelação dedicado semelhante (não mostrado) e criador de adaptador (não mostrado). O adaptador 27 inclui uma transformada de dados de programa ES 29 que converte de modo bidirecional entre as informações do programa, no programa 14 e o padrão de intercâmbio ES de maneira semelhante à transformada 20 do adaptador 10 para uso com o programa 12. Da mesma forma, o adaptador 27 pode incluir dados de leitura/gravação de transferência de comunicação 28, que são semelhantes em função aos dados de transferência de comunicação 22 do adaptador 10 e que proveem comandos de leitura e gravação para o programa 14.
[0055] Como exemplo, supondo-se que o determinado programa 12 contém informações no idioma Italiano e o programa diferente 14 contém informações no idioma Chinês. Além disso, supondo-se que o padrão de intercâmbio ES esteja no idioma Inglês. O programa 12 pode solicitar informações do programa diferente 14 enviando-se uma mensagem como uma consulta em Italiano por meio do enlace 11, do adaptador 10, do enlace de comunicação de dados ES 26, do adaptador 27 e do enlace 25 para o programa 14. Ao fazê-lo, a solicitação de programa, do programa 12 no idioma Italiano, é enviada usando os comandos de leitura/gravação 22 e é transformada no idioma Inglês por meio da transformada de dados ES em 20 e transmitida pelo enlace 26 e o adaptador 27 para prover a solicitação em Inglês. O adaptador 27, por sua vez, converte a solicitação do idioma Inglês para o idioma Chinês por meio da transformada de dados 29 para apresentação ao programa 14. A solicitação de idioma Chinês é transmitida ao programa 14 através do enlace 25 usando-se os dados de leitura/gravação 28 para o programa 14.
[0056] O programa 14 pode então responder em Chinês por meio do enlace 25 ao adaptador 27, com o uso dos comandos de leitura/gravação em conformidade dos dados 28. O adaptador 27 converte as informações do idioma Chinês em Inglês por meio da transformada de dados 29 para prover a resposta em Inglês por meio do enlace de comunicação de dados ES 26 para o adaptador 10. O adaptador 10 converte, em seguida, a resposta de dados em Inglês através da transformada de dados 20 para o idioma Italiano para fornecer as informações em Italiano com o uso dos dados de leitura/gravação 22, através do enlace 11, para o programa 12. Como resultado, a comunicação em duas vias pode ocorrer entre os programas 12 e 14 para prover interoperabilidade, mesmo que os dois programas possam ser diferentes e se comunicarem em idiomas diferentes ou outras diferenças.
[0057] Referindo-se agora às Figuras 1 e 3, de acordo com várias modalidades, o método ou processo de criação do adaptador de intercâmbio bidirecional 10 será agora descrito em mais detalhes. Supondo-se que o programa 12 seja um programa de banco de dados e empregue significados de dados anteriormente desconhecidos. No entanto, outros programas como o grupo 13 de programas da Figura 1, podem ser programas diferentes, como aplicativos e podem ter diferentes arranjos de dados desconhecidos. O grupo 13 de programas pode ter outros adaptadores diferentes, como o adaptador 27 feito de forma semelhante ao adaptador 10.
[0058] Na caixa 31, as informações do programa e o padrão de intercâmbio ES são recebidos pelo gerenciador de revelação 15. As informações de saúde desejadas, como certas informações do paciente, podem, por exemplo, ser desejadas. Supondo- se que as informações do programa possam informar ao gerenciador de revelação 15 como encontrar significados de dados (P-DMs) e localizações para os mesmos, contidos no programa 12. As informações do programa recebidas pelo gerenciador de revelação 15 podem, por exemplo, estar na forma de uma interface de programação de aplicativos (API), metadados ou significados e localização de dados ou receber manualmente informações para o programa 12.
[0059] Na caixa de decisão 32, o gerenciador de revelação 15 determina se quaisquer significados de dados de programa (P-DMs) podem ou não estar disponíveis a partir do programa 12. Se disponível na caixa de decisão 34, é determinado a possibilidade de os significados de dados de programa disponíveis (P- DMs) para o programa 12, equivalerem aos significados de dados padrão de intercâmbio correspondentes (ES-DMs). Por exemplo, o significado dos dados de programa (P-DM), para o programa 12, pode incluir "temperatura" ou "temp" para as temperaturas registradas para um determinado paciente. Supondo que pelo menos um dos significados de dados padrão de intercâmbio é "temperatura", a igualdade é, em seguida, determinada pelo gerenciador de revelação 15. Determinação de igualdade significa que o programa 12 contém significado de dados de programa P- DM que equivale a significado de dados padrão de intercâmbio ES-DM, como neste presente exemplo como "temperatura". Esta operação pode ser realizada processando-se uma função de comparação ou de correspondência.
[0060] Visto que no presente exemplo é suposto que significado de dados padrão de intercâmbio ES-DM equivale a significado de dados de programa correspondente P-DM ou que nenhum significado de dados de programa está disponível, na caixa de decisão 38, o gerenciador de revelação 15 determina se os dados de programa P - DATA e os dados padrão de intercâmbio ES-DATA estão disponíveis.
[0061] Conforme indicado na caixa 41, visto que P-DATA e ES-DATA estão disponíveis, o gerenciador de revelação 15 pode determinar a possibilidade de o programa de dados P-DATA ser consistente com os dados padrão de intercâmbio ES- DATA. Os dados podem ser semelhantes aos ES-DATA correspondentes, mas não necessariamente os mesmos. A consistência pode ser definida de várias maneiras, que inclui, porém sem limitação, semelhante, compatível, possível ou outro. Os dados de programa podem não ser consistentes se o P-DATA estiver fora da faixa de dados descrita no padrão de intercâmbio. Por exemplo, os dados de programa "1000" podem ser determinados como não sendo uma "temperatura" de um paciente humano, comparando-se os dados de programa com dados padrão de intercâmbio de uma faixa de temperaturas fisiológicas possíveis. Outras técnicas de verificação de consistência são descritas doravante no presente documento.
[0062] Supondo-se que o P-DATA e o ES-DATA estejam disponíveis. Então, na caixa de decisão 41, os dados de programa P-DATA podem ser determinados pelo gerenciador de revelação 15 para serem consistentes com dados padrão de intercâmbio de ES-DATA correspondentes. Se consistente, o criador de adaptador 19 pode criar transformadas para o adaptador 10.
[0063] Conforme indicado nas caixas 34 e 36, se os significados de dados de programa P-DMs não equivalem aos significados de dados padrão de intercâmbio ES- DMs, na caixa STOP 36, o gerenciador de revelação 15 pode, em seguida, determinar que nenhuma revelação adicional deste significado de dados será assumida pelo gerenciador de revelação 15 e outros significados de dados podem ser processados ou o processo pode ser totalmente encerrado.
[0064] Se o gerenciador de revelação 15 na caixa 41 determinar que não há consistência entre os dados de programa P-DATA e os dados padrão de intercâmbio ES-DATA, o gerenciador de revelação 15, conforme indicado na caixa 45, PARAR, pode, em seguida, determinar que nenhuma revelação adicional desse significado de dados será assumida pelo gerenciador de revelação 15 e outros significados de dados podem ser processados ou o processo pode ser totalmente encerrado.
[0065] O gerenciador de revelação 15 pode determinar que (1) na caixa 34 o significado de dados de programa P-DM equivale ao significado de dados padrão de intercâmbio ES-DM, e que (2) na caixa 38, dados de programa P-DATA e dados padrão de intercâmbio ES-DATA não estão disponíveis. Em seguida, por meio de uma função E 43, como uma porta E ou outras técnicas, como uma função de software, o criador de adaptador 19 pode então prover transformadas funcionais para o adaptador 10 conforme indicado na caixa 47. Além disso, se o gerenciador de revelação 15 determinar que os dados P-DATA e os dados ES-DATA são consistentes conforme indicado na caixa 41, a transformada de dados ES pode então ser criada pelo criador de adaptador 19, a menos que os dados do programa não sejam consistentes com o perfil de dados padrão de intercâmbio na caixa 45, PARAR.
[0066] De acordo com várias modalidades, analisando os dados do programa, pode ser determinado se os dados do programa, no programa 12, podem ser de interesse, mesmo sem a disponibilidade de quaisquer significados de dados. Assim, um programa desconhecido, tal como o programa 12, de acordo com as modalidades, pode ser analisado apenas por seus dados para determinar se é de interesse conforme exigido pelo padrão de intercâmbio ES.
[0067] Conforme indicado na caixa 47, o criador de adaptador 19 desenvolve uma transformada de dados funcional T que é uma função tanto da estrutura/formato de dados padrão de intercâmbio (ES-DSF) quanto da estrutura/formato de dados de programa (P-DSF). A estrutura de dados pode, para alguns aplicativos, estar relacionada às unidades de dados. Por exemplo, no caso de significado de dados padrão de intercâmbio ES-DM ser "temperatura", o ES-DSF pode empregar graus centígrados como unidades de medida para os dados padrão de intercâmbio e o P- DSF pode ser expresso em graus Fahrenheit. O criador de adaptador 19 pode, sem seguida, empregar uma fórmula de conversão convencional como pelo menos uma porção da transformada T para conversão entre graus centígrados e graus Fahrenheit. A transformada de dados em geral pode ser qualquer função matemática e/ou operação lógica.
[0068] O formato de dados para o padrão de intercâmbio (ES-DSF) pode ser em formato binário, enquanto o formato de dados de programa (P-DSF) pode ser expresso na forma de ASCII. O criador de adaptador 19 pode, por exemplo, empregar uma fórmula de conversão como uma porção da transformada T para conversão entre os formatos binário e ASCII.
[0069] Conforme indicado na caixa 49, o criador de adaptador 19 também provê os comandos de leitura e gravação de dados para comunicação a partir de e para o programa 12.
[0070] Depois disso, conforme indicado na caixa 52, o adaptador 10 recebe a transformada T de dados ES em 20 e os dados de leitura e gravação em 22 a partir do criador de adaptador 19.
[0071] Agora, em referência à Figura 4, é descrito com mais detalhes o adaptador 10. O adaptador 10, de acordo com uma modalidade preferencial, pode incluir um grupo de leitura 53 de hiperobjetos, como hiperobjetos 54 e 56. O grupo de leitura 53 de hiperobjetos recebe informações a partir do enlace bidirecional 11 acoplado ao programa 12 e faz parte dos dados de leitura/gravação 22. O grupo de leitura 53 transmite informações para um grupo de dados de programa 58 de hiperobjetos, como um hiperobjeto 61 e um hiperobjeto 63. O grupo de dados de programa 58 faz parte da transformada de dados ES 20 e, por sua vez, transmite os dados transformados para o enlace bidirecional 26 e para outro adaptador, como o adaptador 27. Assim, as informações podem ser transmitidas a partir do programa 12 por meio do enlace bidirecional 11 e dos grupos de hiperobjetos 53 e 58 para o enlace bidirecional 26 acoplado ao adaptador 27.
[0072] Na direção inversa, um grupo de dados de programa 66 de hiperobjetos, como um hiperobjeto 68 e um hiperobjeto 71, faz parte da transformada de dados ES 20 e transmite informações do enlace bidirecional 26 a partir do adaptador 27. As informações a partir do grupo de dados de programa 66 podem ser transmitidas para um grupo de gravação 55 de hiperobjetos, como um hiperobjeto 57 e um hiperobjeto 59, e que faz parte dos dados de leitura/gravação 22. Os dados de leitura/gravação 22 transmitem as informações para o enlace bidirecional 11 acoplado ao programa 12. Assim, as informações podem ser transmitidas a partir do adaptador 27 por meio do enlace 26 e dos grupos de hiperobjetos 55 e 66 para o enlace bidirecional 11 acoplado ao programa 12.
[0073] Os grupos de hiperobjetos podem ser executados sob o controle de um servidor 65 e podem ser programados com as regras de comando de leitura/gravação geradas de acordo com, por exemplo, uma API ou informações semelhantes de um programa tal como o programa 12 para gerenciar comunicação entre o adaptador 10 e o programa 12. As regras ou algoritmos podem conter fórmulas ou equações funcionais complexas de uma maneira simples e expressiva para implementar a regra, conforme descrito em conexão com a transformada T. A implementação é relativamente direta para gravar informações como Linguagem de Consulta Estruturada (Structured Query Language (SQL)), bem como outras mais complexas, como regras. O quadro de hiperobjetos é bem conhecida e, portanto, as regras podem ser alteradas dinamicamente de forma relativamente rápida e fácil para atualização dinâmica conforme necessário em determinados aplicativos. Os hiperobjetos não contêm dados. Consultar, por exemplo, a patente n° U.S. 8.386.442, que é incorporada a título de referência em sua totalidade.
[0074] Portanto, a interoperabilidade de programas pode ser alcançada pelo uso de adaptadores de acordo com várias modalidades, mesmo que os programas possam ser diferentes e os arranjos de dados nos mesmos sejam desconhecidos anteriormente. Além disso, através do uso do padrão de intercâmbio, a atualização dinâmica pode ser obtida simplesmente atualizando-se o padrão de intercâmbio. Através do uso dos gerenciadores de revelação e criadores de adaptadores, de acordo com as várias modalidades, os adaptadores podem ser criados e atualizados mesmo dinamicamente, sem a necessidade de programação dispendiosa e demorada. Tais técnicas empregadas pelas várias modalidades permitem atender aos padrões e requisitos de grandes dados na indústria moderna e facilitam os requisitos de flexibilidade e de escalonamento.
[0075] Considerando agora a técnica, de acordo com várias modalidades, de determinar a partir dos dados de programa P-DATA apenas, a possibilidade de incluir ou não os dados desejados especificados nos dados padrão de intercâmbio ES- DATA. De acordo com certas modalidades, certos perfis de dados podem ser reconhecidos pelo gerenciador de revelação 15. O perfil de dados, de acordo com várias modalidades, pode descrever as características intrínsecas dos dados de programa P-DATA, como, por exemplo, uma faixa de valores de dados, uma estrutura hierárquica de dados, uma distribuição estatística de dados e outros, para os próprios dados. Um perfil de dados do padrão de intercâmbio ES é preferencialmente uma amostra de alta qualidade.
[0076] Uma curva de dados de amostra de alta qualidade de um padrão de intercâmbio ES pode ser comparada à uma curva de dados de entrada a partir do programa 12. Uma variedade de métodos pode ser usada para determinar a consistência entre as duas curvas de dados. Por exemplo, um método de correlação cruzada com base no algoritmo do “Teste de Kolmogorov-Smirnov de duas amostras” (Two-Sample Kolmogorov-Smirnov Test) pode ser usado para calcular a consistência de duas curvas de dados.
[0077] Na Figura 5, é mostrado um exemplo apenas para fins de explicação não limitativa de um perfil de dados padrão de intercâmbio que pode ser derivado a partir de seus dados subjacentes. Um diagrama de dados 40 mostrado na Figura 5 é um histograma unidimensional que forma um perfil de dados. Com referência particular à caixa 41 da Figura 3, supondo-se que o programa 12 seja um programa de banco de dados orientado para a saúde e o padrão de intercâmbio ES seja projetado para acessar os dados desejados concernentes a pacientes que tenham sido submetidos a testes de hemoglobina. O perfil de dados do diagrama 40 da Figura 5 ilustra o número de amostras testadas versus os valores de hemoglobina para vários registros de pacientes para determinar uma impressão digital de um perfil de dados.
[0078] No eixo geométrico X do diagrama 40, são mostrados os valores de teste dos resultados do teste de hemoglobina para vários pacientes. No eixo geométrico Y está listado o número de amostras de hemoglobina correspondente a cada valor especificado no eixo geométrico X. O número total de valores para as amostras de teste foi de 715.511. O resultado é a curva distinta 40 para ilustrar um padrão de distribuição dos dados. Este padrão é então o perfil de dados para resultados de testes laboratoriais de hemoglobina e pode ser usado como um perfil de dados padrão de intercâmbio. Deve ser entendido que pode haver muitos tipos e tipos diferentes de perfis de dados que podem ser usados de acordo com várias modalidades. Exemplos de perfis de dados podem incluir, sem limitação, eletrocardiogramas (ECGs), imagens, histogramas e muitos outros. Agora, em referência à Figura 6, uma Rede Neural Convolucional (CNN) 42 convencional pode ser usada de acordo com uma modalidade preferencial para a etapa 41 do método da Figura 3. A CNN pode ser treinada para capturar a representação invariante (formato intrínseco) de uma curva de dados. A CNN treinada também pode ser usada para computar um escore de consistência entre duas curvas de dados. No presente exemplo de uma curva de histograma 40 conforme mostrado na Figura 6, a CNN é treinada primeiro para capturar o formato intrínseco da curva de dados 40 e também para computar um escore de consistência desejada entre duas curvas com base na curva 40 como o padrão de intercâmbio. Em seguida, tanto o P-DATA a partir do programa 12 quanto o padrão de intercâmbio ES-DATA são transmitidos de forma contínua para a CNN para fins de processamento. Os resultados da determinação de consistência podem então ser "sim" ou "não", conforme indicado.
[0079] Em vista dos desenhos anteriores e descrições detalhadas de certas modalidades, pode tornar-se evidente para as pessoas versadas na técnica, que as modalidades descritas e outras, se referem a técnicas aperfeiçoadas para alcançar a interoperabilidade do programa dentre e entre diferentes programas, apesar do fato de poderem ter anteriormente dados desconhecidos. Adaptadores podem ser criados para ajudar a alcançar a interoperabilidade desejada, pelo menos em parte, aprendendo se o programa contém ou não os dados desejados.
[0080] Um método e sistema, de acordo com modalidades, permitem programa generalizado para programar a interoperabilidade. O método e o sistema empregam um adaptador de transformada automático ou substancialmente automático para usar um determinado padrão de intercâmbio para comunicação bidirecional com um programa. Para que o adaptador empregue o padrão de intercâmbio, um gerenciador de revelação pode aprender a estrutura e/ou formato de comunicação de dados de programa e pode aprender informações de significado de dados a partir do programa. Um criador de adaptador pode derivar uma transformada que converte a estrutura de comunicação de dados de programa e o significado dos dados no padrão de intercâmbio. A transformada pode ser usada pelo adaptador para permitir a comunicação bidirecional com qualquer adaptador e/ou programa que emprega de maneira semelhante o determinado padrão de intercâmbio para obter interoperabilidade.
[0081] Embora a invenção tenha sido descrita com referência aos exemplos acima, será entendido que muitas modificações e variações são contempladas dentro do verdadeiro espírito e escopo das modalidades descritas no presente documento. Muitas modificações e outras modalidades virão à mente de uma pessoa versada na técnica à qual a invenção pertence, tendo o benefício dos ensinamentos apresentados nas descrições anteriores e nos desenhos associados. Portanto, deve ser entendido que a invenção não deve ser limitada de forma alguma às modalidades específicas descritas no presente documento ou modificações das mesmas e que as modificações e outras modalidades são destinadas e contempladas para serem incluídas no escopo das reivindicações anexas. Embora termos específicos sejam empregados no presente documento, eles são usados em um sentido genérico e descritivo apenas e não para fins de limitação.

Claims (15)

1. Método de criação de adaptadores para permitir a interoperabilidade de diferentes programas, caracterizado pelo fato de que compreende: receber significados de dados de programa e localizações de dados correspondentes para um determinado programa (31); determinar se os significados do programa recebido são equivalentes aos significados de dados desejados de um padrão de intercâmbio (34); determinar se os dados das localizações de dados recebidos do determinado programa, são consistentes com os dados correspondentes do padrão de intercâmbio (41); criar, se a equivalência e/ou consistência for determinada, uma transformada de dados funcional de duas vias, sendo que a transformada de dados funcional é uma função da estrutura de dados e formato de dados para conversão de dados entre o determinado programa e o padrão de intercâmbio correspondente (47); e prover a transformada funcional para um determinado adaptador padrão de intercâmbio bidirecional para facilitar a interoperabilidade entre o determinado programa e um programa diferente que tem outro adaptador padrão de intercâmbio bidirecional (52).
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que inclui adicionalmente a provisão de um gerenciador de revelação (15).
3. Método de acordo com a reivindicação 2, caracterizado pelo fato de que a etapa de determinação se os significados de programa recebidos são equivalentes aos significados de dados desejados de um padrão de troca inclui pesquisar, por meio do gerenciador de revelação, para significados de dados para dados armazenados no determinado programa (32).
4. Método de acordo com a reivindicação 3, caracterizado pelo fato de que o recebimento inclui o recebimento por meio do gerenciador de revelação de uma interface de programação de aplicativo (API) (31).
5. Método de acordo com a reivindicação 3, caracterizado pelo fato de que a pesquisa inclui receber metadados a partir do determinado programa por meio do gerenciador de revelação (31).
6. Método de criação de adaptadores para habilitar a interoperabilidade de programas diferentes, caracterizado pelo fato de que compreende: receber significados de dados de programa e locais de dados correspondentes para um determinado programa (31); fornecer um gerenciador de revelação (15); comparar, por meio do gerenciador de revelação, o significado do padrão de intercâmbio desejado com os significados dos dados de programa recebido para determinar a possibilidade de os significados do padrão de intercâmbio serem ou não equivalentes aos significados dos dados de programa correspondentes (34); determinar se dados provenientes de locais de dados recebidos do determinado programa são consistentes aos dados correspondentes do padrão de troca (41); criar, se equivalência e/ou consistência for determinada, uma transformada de dados bidirecional, sendo que a transformada de dados funcional é uma função de estrutura de dados e formato de dados para conversão de dados entre o determinado programa e o padrão de troca correspondente (47); e fornecer a transformada funcional para um adaptador de padrão de troca bidirecional determinado para facilitar a interoperabilidade entre o programa determinado e um programa diferente tendo outro adaptador de padrão de troca bidirecional (47).
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de determinação se dados provenientes de locais de dados recebidos do determinado programa são consistentes aos dados correspondentes do padrão de troca inclui determinar, por meio do gerenciador de revelação que inclui uma rede neural convolucional, se existe um perfil de dados de programa e se existe um perfil de dados de intercâmbio (34).
8. Método de acordo com a reivindicação 7, caracterizado pelo fato de que inclui determinar, por meio do gerenciador de revelação, a consistência entre o perfil de dados de programa e o perfil de dados padrão de intercâmbio (42).
9. Método de criação de adaptadores para habilitar a interoperabilidade de programas diferentes, caracterizado pelo fato de que compreende: receber significados de dados de programa e locais de dados correspondentes para um determinado programa (31); determinar se significados de programa recebidos são equivalentes a dignificados de dados desejados de um padrão de troca (34); fornecer um gerenciador de revelação que inclui uma rede neural convolucional (15); determinar, por meio do gerenciador de revelação que inclui uma rede neural convolucional, se existe um perfil de dados de programa e se existe um perfil de dados de intercâmbio e determinar se dados provenientes dos locais de dados recebidos do determinado programa são consistentes aos dados correspondentes do padrão de troca (41); fornecer um criador de adaptador (19); sendo que se o gerenciador de revelação determinar que existe a equivalência do significado de dados e/ou a consistência do perfil de dados, criar pelo criador de adaptador uma transformada de dados funcional bidirecional, sendo que a transformada de dados funcional é uma função de estrutura de dados e formato de dados para conversão de dados entre o determinado programa e o padrão de troca correspondente, a menos que (1) o significado de dados de programa seja equivalente ao significado de dados padrão de intercâmbio e (2) o perfil de dados de programa não é consistente com o perfil de dados padrão de intercâmbio (43); e fornecer a transformada funcional para um adaptador de padrão de troca bidirecional determinado para facilitar a interoperabilidade entre o programa determinado e um programa diferente tendo outro adaptador de padrão de troca bidirecional (52).
10. Método de criação de adaptadores para habilitar a interoperabilidade de programas diferentes, caracterizado pelo fato de que compreende: receber significados de dados de programa e locais de dados correspondentes para um determinado programa (31); determinar se significados de programa recebidos são equivalentes a dignificados de dados desejados de um padrão de troca (34); fornecer um gerenciador de revelação que inclui uma rede neural convolucional (15); determinar, por meio do gerenciador de revelação que inclui uma rede neural convolucional, se existe um perfil de dados de programa e se existe um perfil de dados de intercâmbio e determinar se dados provenientes dos locais de dados recebidos do determinado programa são consistentes aos dados correspondentes do padrão de troca (42); fornecer um criador de adaptador (19); criar, se a equivalência e/ou consistência for determinada, uma transformada de dados funcional de duas vias, sendo que a transformada de dados funcional é uma função da estrutura de dados e formato de dados para conversão de dados entre o determinado programa e o padrão de intercâmbio correspondente; criar uma transformada de transferência de comunicação de duas vias que inclui regras para leitura de dados e/ou gravação de dados; sendo que a transformada de dados e a transformada de transferência de comunicação são montadas pelo criador de adaptador para o determinado adaptador padrão de intercâmbio; fornecer a transformada funcional para um adaptador de padrão de troca bidirecional determinado para facilitar a interoperabilidade entre o programa determinado e um programa diferente tendo outro adaptador de padrão de troca bidirecional.
11. Adaptador padrão de intercâmbio bidirecional para permitir que um determinado programa interopere com um programa diferente que tem outro adaptador padrão de intercâmbio bidirecional, caracterizado pelo fato de que compreende: um ou mais hiperobjetos que inclui uma ou mais regras que definem uma transformada funcional de duas vias; sendo que a transformada funcional é uma função de conversão de dados de estruturas de dados e formatos de dados para um determinado programa e para um padrão de intercâmbio; os um ou mais hiperobjetos que definem regras para leitura de dados e gravação de dados para o determinado programa; e pelo qual a intercomunicação com o outro adaptador padrão de intercâmbio bidirecional é facilitada para prover interoperabilidade entre o determinado programa e o programa diferente.
12. Adaptador padrão de intercâmbio bidirecional de acordo com a reivindicação 11, caracterizado pelo fato de que as regras incluem a transformada funcional, a leitura de dados e a gravação de dados.
13. Adaptador padrão de intercâmbio bidirecional de acordo com a reivindicação 11, caracterizado pelo fato de que inclui adicionalmente um enlace de comunicação para comunicação entre o adaptador e outro adaptador padrão de intercâmbio bidirecional para transmitir informações padrão de intercâmbio bidirecional (26).
14. Sistema para facilitar a interoperabilidade entre o primeiro e o segundo programas diferentes, caracterizado pelo fato de que compreende: um primeiro adaptador padrão de intercâmbio bidirecional que inclui uma primeira transformada funcional de dados, sendo que a primeira transformada funcional de dados é uma função de conversão de estruturas de dados e formatos de dados entre o primeiro programa e um padrão de intercâmbio (10); o primeiro adaptador padrão de intercâmbio bidirecional inclui ainda uma primeira transformada de transferência de comunicação para leitura e gravação de dados para o primeiro programa (22); um segundo adaptador padrão de intercâmbio bidirecional que inclui uma segunda transformada funcional de dados, sendo que a primeira transformada funcional de dados é uma função de conversão de estruturas de dados em formatos de dados entre o segundo programa e um padrão de intercâmbio (27); o segundo adaptador de intercâmbio bidirecional que inclui um segundo padrão de transformada de transferência de comunicação para leitura e gravação de dados para o segundo programa (28); e um enlace de comunicação comum conectado em comunicação entre o primeiro e o segundo adaptadores para transmitir informações padrão de intercâmbio de modo bidirecional (26).
15. Sistema de acordo com a reivindicação 14, caracterizado pelo fato de que o primeiro e o segundo adaptadores incluem um ou mais hiperobjetos, que tem, cada um, regras, em que as regras definem a primeira e a segunda transformadas funcionais de dados e a primeira e a segunda transformadas de transferência de comunicação.
BR112022001950-5A 2019-08-15 2020-08-13 Método e sistema para adaptação de programas para interoperabilidade e adaptadores para os mesmos BR112022001950B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/542,259 2019-08-15
US16/542,259 US11256709B2 (en) 2019-08-15 2019-08-15 Method and system for adapting programs for interoperability and adapters therefor
PCT/US2020/070410 WO2021030845A1 (en) 2019-08-15 2020-08-13 Method and system for adapting programs for interoperability and adapters therefor

Publications (2)

Publication Number Publication Date
BR112022001950A2 BR112022001950A2 (pt) 2022-04-19
BR112022001950B1 true BR112022001950B1 (pt) 2023-01-24

Family

ID=74568360

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112022001950-5A BR112022001950B1 (pt) 2019-08-15 2020-08-13 Método e sistema para adaptação de programas para interoperabilidade e adaptadores para os mesmos

Country Status (11)

Country Link
US (3) US11256709B2 (pt)
EP (2) EP4235430A3 (pt)
JP (2) JP7277669B2 (pt)
KR (2) KR102496630B1 (pt)
CN (2) CN117827941A (pt)
AU (3) AU2020331323B2 (pt)
BR (1) BR112022001950B1 (pt)
CA (1) CA3146272A1 (pt)
IL (3) IL293691B2 (pt)
MX (2) MX2022001762A (pt)
WO (1) WO2021030845A1 (pt)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11256709B2 (en) 2019-08-15 2022-02-22 Clinicomp International, Inc. Method and system for adapting programs for interoperability and adapters therefor

Family Cites Families (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5611076A (en) 1994-09-21 1997-03-11 Micro Data Base Systems, Inc. Multi-model database management system engine for databases having complex data models
US5692129B1 (en) 1995-07-07 1999-08-17 Novell Inc Managing application programs in a computer network by using a database of application objects
US5970490A (en) 1996-11-05 1999-10-19 Xerox Corporation Integration platform for heterogeneous databases
US5857197A (en) 1997-03-20 1999-01-05 Thought Inc. System and method for accessing data stores as objects
US6085030A (en) 1997-05-02 2000-07-04 Novell, Inc. Network component server
US5966707A (en) 1997-12-02 1999-10-12 International Business Machines Corporation Method for managing a plurality of data processes residing in heterogeneous data repositories
GB2339036A (en) 1998-07-03 2000-01-12 Ibm Set of objects for extracting data from a database, and visual builder
US6567814B1 (en) 1998-08-26 2003-05-20 Thinkanalytics Ltd Method and apparatus for knowledge discovery in databases
SE521114C2 (sv) 1998-10-20 2003-09-30 Corus Technologies Ab Anordning och förfarande för integrering av ett antal datoriserade väsentligen godtyckliga klientsystem
US6738975B1 (en) 1998-11-18 2004-05-18 Software Ag, Inc. Extensible distributed enterprise application integration system
US6256676B1 (en) 1998-11-18 2001-07-03 Saga Software, Inc. Agent-adapter architecture for use in enterprise application integration systems
FR2787957B1 (fr) 1998-12-28 2001-10-05 Inst Nat Rech Inf Automat Procede de traitement d'une requete
HK1020419A2 (en) 1999-03-16 2000-03-17 Shi Piu Joseph Fong Frame model for universal database in database reengineering and integration
US6385604B1 (en) 1999-08-04 2002-05-07 Hyperroll, Israel Limited Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements
US6484177B1 (en) 2000-01-13 2002-11-19 International Business Machines Corporation Data management interoperability methods for heterogeneous directory structures
US6647420B2 (en) 2001-01-18 2003-11-11 Reynolds And Reynolds Holdings, Inc. Enterlink for providing a federated business to business system that interconnects applications of multiple companies
JP4010516B2 (ja) 2000-01-27 2007-11-21 株式会社日立製作所 変換規則導出システム
US6862594B1 (en) * 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US6606637B1 (en) 2000-08-01 2003-08-12 Reuters America, Inc. System and method for unified data access of financial data
US20020091680A1 (en) 2000-08-28 2002-07-11 Chirstos Hatzis Knowledge pattern integration system
JP4087049B2 (ja) 2000-11-01 2008-05-14 株式会社日立製作所 データベース管理システムのデータ変換方法、それを実現するための装置、および、それを実行するためのプログラムの記憶媒体
US6816869B2 (en) 2000-11-17 2004-11-09 Microsoft Corporation Mapping database users to operating system users in a computer schema
US20040003132A1 (en) 2000-12-06 2004-01-01 Biosentients, Inc. Data pool architecture, system, and method for intelligent object data in heterogeneous data environments
JP4039800B2 (ja) * 2000-12-19 2008-01-30 株式会社日立製作所 データ管理方法、オブジェクト統合管理システム
US20020165962A1 (en) * 2001-02-28 2002-11-07 Alvarez Mario F. Embedded controller architecture for a modular optical network, and methods and apparatus therefor
US20030130991A1 (en) 2001-03-28 2003-07-10 Fidel Reijerse Knowledge discovery from data sets
US7257820B2 (en) 2001-04-14 2007-08-14 Siebel Systems, Inc. Method and system for using integration objects with enterprise business applications
US7543024B2 (en) 2001-05-03 2009-06-02 Oracle International Corporation System and method for monitoring multiple online resources in different formats
US6792431B2 (en) 2001-05-07 2004-09-14 Anadarko Petroleum Corporation Method, system, and product for data integration through a dynamic common model
US6856992B2 (en) 2001-05-15 2005-02-15 Metatomix, Inc. Methods and apparatus for real-time business visibility using persistent schema-less data storage
US20030028620A1 (en) 2001-06-20 2003-02-06 Ludger Woelfel Method of handling a data request
DE10137329A1 (de) 2001-07-31 2003-02-20 Tenovis Gmbh & Co Kg Verfahren zum Zugriff auf Datenbasen und Komponentenmodell
US6880151B2 (en) 2001-09-27 2005-04-12 International Business Machines Corporation Apparatus and method of providing common distributed services for system management applications across heterogeneous environments
US7080092B2 (en) 2001-10-18 2006-07-18 Bea Systems, Inc. Application view component for system integration
US7552135B2 (en) 2001-11-15 2009-06-23 Siebel Systems, Inc. SQL adapter business service
US7139766B2 (en) 2001-12-17 2006-11-21 Business Objects, S.A. Universal drill-down system for coordinated presentation of items in different databases
US20030172368A1 (en) 2001-12-26 2003-09-11 Elizabeth Alumbaugh System and method for autonomously generating heterogeneous data source interoperability bridges based on semantic modeling derived from self adapting ontology
US7143080B2 (en) 2001-12-27 2006-11-28 Tedesco Michael A Method, system and apparatus for separately processing database queries
US7266622B2 (en) 2002-03-25 2007-09-04 International Business Machines Corporation Method, computer program product, and system for automatic application buffering
US7437731B2 (en) 2002-05-30 2008-10-14 Oracle International Corporation Coordinated collaboration system in an integration platform
US6988099B2 (en) 2002-06-27 2006-01-17 Bea Systems, Inc. Systems and methods for maintaining transactional persistence
US7114037B2 (en) 2002-07-11 2006-09-26 Oracle International Corporation Employing local data stores to maintain data during workflows
US7349900B1 (en) 2002-08-09 2008-03-25 Cisco Technology, Inc. Unified high-performance database connectivity system and method
US7130893B2 (en) 2003-05-19 2006-10-31 International Business Machines Corporation System and method for representing MFS control blocks in XML for MFS-based IMS applications
AU2003901968A0 (en) 2003-04-23 2003-05-15 Wolfgang Flatow A universal database schema
US7383255B2 (en) 2003-06-23 2008-06-03 Microsoft Corporation Common query runtime system and application programming interface
US7761480B2 (en) * 2003-07-22 2010-07-20 Kinor Technologies Inc. Information access using ontologies
US20050278362A1 (en) 2003-08-12 2005-12-15 Maren Alianna J Knowledge discovery system
US8131739B2 (en) 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US7970779B2 (en) 2003-09-12 2011-06-28 Oracle International Corporation Application interface including dynamic transform definitions
US7904487B2 (en) 2003-10-09 2011-03-08 Oracle International Corporation Translating data access requests
US7421709B2 (en) 2004-01-05 2008-09-02 Information Builders, Inc. Framework for adapter used in enterprise application integration
US7225189B1 (en) 2004-02-19 2007-05-29 Microsoft Corporation Data source write back and offline data editing and storage in a spreadsheet
US7571173B2 (en) 2004-05-14 2009-08-04 Oracle International Corporation Cross-platform transportable database
US7313575B2 (en) 2004-06-14 2007-12-25 Hewlett-Packard Development Company, L.P. Data services handler
US7433879B1 (en) 2004-06-17 2008-10-07 Versata Development Group, Inc. Attribute based association rule mining
US20060031246A1 (en) 2004-08-04 2006-02-09 Grayson Loren P Universal database method and system
US20060047648A1 (en) 2004-08-24 2006-03-02 Eric Martin Comprehensive query processing and data access system and user interface
US20060074881A1 (en) 2004-10-02 2006-04-06 Adventnet, Inc. Structure independent searching in disparate databases
KR20060032463A (ko) 2004-10-12 2006-04-17 정보통신연구진흥원 상이한 구조의 대용량 XML 데이터 검색을 위한 XMLDB 구축방법과 XQuery 엔진 시스템 및 그 방법
WO2006076665A1 (en) 2005-01-13 2006-07-20 Thomson Global Resources Systems, methods, and software for retrieving information using multiple query languages
US20060179026A1 (en) 2005-02-04 2006-08-10 Bechtel Michael E Knowledge discovery tool extraction and integration
US7657780B2 (en) 2005-02-07 2010-02-02 Mimosa Systems, Inc. Enterprise service availability through identity preservation
US7861212B1 (en) 2005-03-22 2010-12-28 Dubagunta Saikumar V System, method, and computer readable medium for integrating an original application with a remote application
WO2006113895A2 (en) 2005-04-20 2006-10-26 Dynamic Access Systems Llc Xbrl data conversion
US7827562B1 (en) 2005-06-16 2010-11-02 The Trizetto Group, Inc. System and method for flexible publishing and consumption of data between disparate applications
CN1904885A (zh) 2005-07-29 2007-01-31 北京航空航天大学 数据库适配器
US20070130206A1 (en) 2005-08-05 2007-06-07 Siemens Corporate Research Inc System and Method For Integrating Heterogeneous Biomedical Information
US7895220B2 (en) 2005-08-30 2011-02-22 Schlumberger Technology Corporation Middleware method and apparatus and program storage device adapted for linking data sources to software applications
US7761586B2 (en) 2006-02-06 2010-07-20 Microsoft Corporation Accessing and manipulating data in a data flow graph
US20080222121A1 (en) 2006-06-02 2008-09-11 Wolfgang Wiessler System for Adaptively Querying a Data Storage Repository
US20070299936A1 (en) 2006-06-27 2007-12-27 Borgendale Kenneth W Interactively streaming data from a database in a high speed, low latency data communications environment
US8077059B2 (en) 2006-07-21 2011-12-13 Eric John Davies Database adapter for relational datasets
US8037052B2 (en) 2006-11-22 2011-10-11 General Electric Company Systems and methods for free text searching of electronic medical record data
US8484252B2 (en) 2006-11-30 2013-07-09 International Business Machines Corporation Generation of a multidimensional dataset from an associative database
US9015301B2 (en) 2007-01-05 2015-04-21 Digital Doors, Inc. Information infrastructure management tools with extractor, secure storage, content analysis and classification and method therefor
US20080177748A1 (en) 2007-01-24 2008-07-24 Christopher Rondot SQL Faceplate
US8850057B2 (en) 2007-09-20 2014-09-30 Intel Corporation Healthcare semantic interoperability platform
US8515903B2 (en) 2007-10-03 2013-08-20 Database Logic Inc. Collaboration of plural databases by interaction through universal index
US20090094268A1 (en) 2007-10-04 2009-04-09 Yahoo! Inc. Animated data feeds
US10157195B1 (en) 2007-11-29 2018-12-18 Bdna Corporation External system integration into automated attribute discovery
US8606768B2 (en) 2007-12-20 2013-12-10 Accenture Global Services Limited System for providing a configurable adaptor for mediating systems
US9201874B2 (en) * 2008-02-25 2015-12-01 Microsoft Technology Licensing, Llc Efficiently correlating nominally incompatible types
WO2009134755A2 (en) 2008-04-28 2009-11-05 Alexandria Investment Research And Technology, Llc Adaptive knowledge platform
IL191755A0 (en) * 2008-05-27 2009-05-04 Sabra De Fence Technologies Lt Intrusion detection system and its sensors
CN101604237A (zh) 2008-06-10 2009-12-16 中兴通讯股份有限公司 一种访问通用数据库的系统
US8359323B2 (en) 2008-06-11 2013-01-22 International Business Machines Corporation Method and system for providing access to adapters
WO2010003061A1 (en) 2008-07-02 2010-01-07 Lexis Nexis Risk & Information Analytics Group, Inc. Database systems and methods
US8631046B2 (en) 2009-01-07 2014-01-14 Oracle International Corporation Generic ontology based semantic business policy engine
US8275779B2 (en) 2009-01-22 2012-09-25 International Business Machines Corporation Data tranformations for applications supporting different data formats
US8200635B2 (en) 2009-03-27 2012-06-12 Bank Of America Corporation Labeling electronic data in an electronic discovery enterprise system
US9135297B2 (en) 2010-05-17 2015-09-15 Green Sql Ltd. Database translation system and method
US8682921B2 (en) 2010-07-07 2014-03-25 Johnson Controls Technology Company Query engine for building management systems
US8688649B2 (en) 2010-10-12 2014-04-01 Clinicomp International, Inc. Scalable computer arrangement and method
EP2469421A1 (en) * 2010-12-23 2012-06-27 British Telecommunications Public Limited Company Method and apparatus for processing electronic data
US8805859B2 (en) 2011-02-21 2014-08-12 General Electric Company Methods and systems for receiving, mapping and structuring data from disparate systems in a healthcare environment
US8595175B2 (en) 2011-06-23 2013-11-26 Microsoft Corporation Fluent API patterns for managing object persistence
CN102207980A (zh) 2011-07-11 2011-10-05 东莞市盈达信息科技股份有限公司 一种基于xml与db的数据交换方法及该数据适配器
US20130110798A1 (en) 2011-10-27 2013-05-02 Microsoft Corporation Intercepting and processing database commands
US8706684B2 (en) 2011-11-30 2014-04-22 Tata Consultancy Services Limited System and method for managing enterprise data
US8874551B2 (en) 2012-05-09 2014-10-28 Sap Se Data relations and queries across distributed data sources
US20140032608A1 (en) 2012-07-30 2014-01-30 Gregory P. Comeau Database adapter
US8898143B2 (en) 2012-09-28 2014-11-25 Sap Se Database comparison system and method
US9087105B2 (en) 2012-10-04 2015-07-21 Adobe Systems Incorporated Rule-based extraction, transformation, and loading of data between disparate data sources
CN103902634B (zh) 2012-12-30 2017-09-29 航天信息股份有限公司 利用Adapter实现View组件与数据库字段自动绑定的方法
US9449061B2 (en) 2013-03-15 2016-09-20 Tactile, Inc. Storing and processing data organized as flexible records
CN103218402B (zh) 2013-03-19 2016-07-06 上海宝信软件股份有限公司 通用的数据库数据结构与数据迁移系统及其方法
US9424091B2 (en) 2013-05-01 2016-08-23 Silicon Graphics International Corp. Deploying software in a multi-instance node
US20150006254A1 (en) 2013-06-26 2015-01-01 Landvoice Data, LLC Systems apparatus and methods for real estate sales lead generation
US20170124269A1 (en) 2013-08-12 2017-05-04 Cerner Innovation, Inc. Determining new knowledge for clinical decision support
US10210197B2 (en) 2013-10-18 2019-02-19 New York Air Brake Corporation Dynamically scalable distributed heterogenous platform relational database
US9824021B2 (en) 2014-03-31 2017-11-21 International Business Machines Corporation Address translation structures to provide separate translations for instruction fetches and data accesses
US9715449B2 (en) 2014-03-31 2017-07-25 International Business Machines Corporation Hierarchical translation structures providing separate translations for instruction fetches and data accesses
GB201405940D0 (en) 2014-04-02 2014-05-14 Ipv Holdings Ltd Computer system and method for integrating structured data representation betwen users and foreign national/international trademark offices
US11495355B2 (en) 2014-05-15 2022-11-08 The Johns Hopkins University Method, system and computer-readable media for treatment plan risk analysis
US9158786B1 (en) 2014-10-01 2015-10-13 Bertram Capital Management, Llc Database selection system and method to automatically adjust a database schema based on an input data
WO2016065305A1 (en) 2014-10-24 2016-04-28 Trans Union Llc Systems and methods for universal identification of credit-related data in multiple country-specific databases
TWI539309B (zh) 2014-12-15 2016-06-21 國立清華大學 資料庫轉換的同步系統及其方法
US20160210355A1 (en) * 2015-01-20 2016-07-21 Mindseye Solutions, LLC Searching and classifying unstructured documents based on visual navigation
WO2017031459A1 (en) 2015-08-19 2017-02-23 Integrator Software Integrated software development environments, systems, methods, and memory models
US10586061B2 (en) 2015-10-23 2020-03-10 Oracle International Corporation Federated search
CN105389378A (zh) 2015-11-19 2016-03-09 广州精标信息科技有限公司 一种分离式数据整合系统
KR101719926B1 (ko) 2015-12-16 2017-03-27 한국교육학술정보원 데이터 수집 api를 통해 저장된 이질적인 데이터 간 변환 시스템 및 방법
CN106933869B (zh) 2015-12-30 2020-09-01 北京京东尚科信息技术有限公司 一种操作数据库的方法和装置
US10339537B2 (en) 2016-02-16 2019-07-02 Tata Consultancy Services Limited System and method for automated regulatory compliance checking for organizations
CN106156330A (zh) 2016-07-06 2016-11-23 北京金山安全管理系统技术有限公司 一种数据库适配方法及数据库适配器
GB201611967D0 (en) 2016-07-08 2016-08-24 Cocotec Ltd An interoperable extensible system for the generation of verified software
CN106227824A (zh) 2016-07-25 2016-12-14 四川通发电信股份有限公司 基于零散数据的聚合式推送查询系统
US10025568B2 (en) 2016-11-11 2018-07-17 Sap Se Database object lifecycle management
JP7172986B2 (ja) * 2017-03-24 2022-11-16 日本電気株式会社 構成管理装置、構成管理方法および構成管理プログラム
CN108446289A (zh) 2017-09-26 2018-08-24 北京中安智达科技有限公司 一种支持异构数据库的数据检索方法
US11256709B2 (en) 2019-08-15 2022-02-22 Clinicomp International, Inc. Method and system for adapting programs for interoperability and adapters therefor

Also Published As

Publication number Publication date
MX2022001762A (es) 2022-09-14
AU2020331323B2 (en) 2022-03-24
CN114270335A (zh) 2022-04-01
JP7277669B2 (ja) 2023-05-19
CN117827941A (zh) 2024-04-05
KR20220041932A (ko) 2022-04-01
KR102496630B1 (ko) 2023-02-06
EP4014127A1 (en) 2022-06-22
MX2022011070A (es) 2022-10-07
AU2022204388A1 (en) 2022-07-14
CA3146272A1 (en) 2021-02-18
AU2022204388B2 (en) 2023-07-06
BR112022001950A2 (pt) 2022-04-19
EP4235430A3 (en) 2023-09-06
US11256709B2 (en) 2022-02-22
US20210049181A1 (en) 2021-02-18
IL290515B (en) 2022-07-01
US11714822B2 (en) 2023-08-01
US20230325398A1 (en) 2023-10-12
JP2022537588A (ja) 2022-08-26
EP4235430A2 (en) 2023-08-30
IL293691B2 (en) 2024-04-01
CN114270335B (zh) 2023-10-27
IL307912A (en) 2023-12-01
KR20230021185A (ko) 2023-02-13
EP4014127A4 (en) 2022-10-05
JP2023100852A (ja) 2023-07-19
IL293691A (en) 2022-08-01
WO2021030845A1 (en) 2021-02-18
IL293691B1 (en) 2023-12-01
IL290515A (en) 2022-04-01
US20220171784A1 (en) 2022-06-02
AU2023203735A1 (en) 2023-07-06

Similar Documents

Publication Publication Date Title
US6853997B2 (en) System and method for sharing, mapping, transforming data between relational and hierarchical databases
Vathy-Fogarassy et al. Uniform data access platform for SQL and NoSQL database systems
US20230014739A1 (en) Matching metastructure for data modeling
US20060224613A1 (en) Method and system for an administrative apparatus for creating a business rule set for dynamic transform and load
US8527532B2 (en) Transforming function calls for interaction with hierarchical data structures
CN103631847A (zh) 基于上下文的搜索与图形节点相关的数据存储的方法和系统
US20060106856A1 (en) Method and system for dynamic transform and load of data from a data source defined by metadata into a data store defined by metadata
US20160072927A1 (en) Odata enabled mobile software applications
CN111159215B (zh) Java类与关系型数据库的映射方法、装置及计算设备
US20230325398A1 (en) Method and system for adapting programs for interoperability and adapters therefor
Sahillioğlu et al. Scale normalization for isometric shape matching
Zaslavsky et al. Cyberinfrastructure for the digital brain: spatial standards for integrating rodent brain atlases
NZ793125A (en) Method and system for adapting programs for interoperability and adapters therefor
Ezra Tsur Rapid development of entity-based data models for bioinformatics with persistence object-oriented design and structured interfaces
Klotz et al. On-the-fly data race detection for OpenSHMEM programs
CN117762984A (zh) 数据获取方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 13/08/2020, OBSERVADAS AS CONDICOES LEGAIS