BRPI0903299A2 - estrutura de adaptador de rede aprimorado - Google Patents

estrutura de adaptador de rede aprimorado Download PDF

Info

Publication number
BRPI0903299A2
BRPI0903299A2 BRPI0903299-1A BRPI0903299A BRPI0903299A2 BR PI0903299 A2 BRPI0903299 A2 BR PI0903299A2 BR PI0903299 A BRPI0903299 A BR PI0903299A BR PI0903299 A2 BRPI0903299 A2 BR PI0903299A2
Authority
BR
Brazil
Prior art keywords
network
service
application
command
adapter
Prior art date
Application number
BRPI0903299-1A
Other languages
English (en)
Inventor
Marcio Jose Lopes
Original Assignee
Accenture Global Services Gmbh
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 Accenture Global Services Gmbh filed Critical Accenture Global Services Gmbh
Publication of BRPI0903299A2 publication Critical patent/BRPI0903299A2/pt
Publication of BRPI0903299B1 publication Critical patent/BRPI0903299B1/pt

Links

Classifications

    • 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/546Message passing systems or structures, e.g. queues
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

ESTRUTURA DE ADAPTADOR DE REDE APRIMORADO. A presente invenção refere-se a uma estrutura de adaptador de rede otimizado, em que parâmetros são armazenados em uma tabela de configurações, os parâmetros sendo personalizados para uma rede e uma aplicação. Um adaptador de rede personalizado para a rede e a aplicação é instanciada com base na invocação de um adaptador de rede genérico que, referencia, externamente, a tabela de configurações e a comunicação entre a aplicação e a rede é efetuada usando o adaptador de rede instanciado.

Description

Relatório Descritivo da Patente de Invenção para "ESTRUTURA DE ADAPTADOR DE REDE APRIMORADO".
CAMPO
A presente invenção refere-se, de um modo geral, a adaptado-res de rede personalizados.
ANTECEDENTES
Uma abordagem para criar um adaptador de rede personalizadopara efetuar comunicação entre uma aplicação particular e a rede é handcoding (fixar no código, dados inseridos diretamente em um programa quenão podem ser mudados facilmente) os vários parâmetros de comunicaçãopara o adaptador de rede no software do adaptador de rede (por exemplo,JAVA, C, C++, Ada, Assembly code ou outro software). Se um segundo a-daptador de rede personalizado for necessário, por exemplo, se uma aplica-ção ou rede diferente forem substituídas, o código de software do adaptadorde rede inicial terá que ser recodificado de alguma maneira, a fim de mudarseus parâmetros de comunicação.
SUMÁRIO
De acordo com uma implementação geral, um adaptador de re-de genérico inclui referências externas dentro do seu código à tabelas deparâmetros. Os adaptadores de rede personalizados, tais como adaptadoresde rede usados com o TELCORDIA® ACTIVATOR ou outras aplicações, po-dem ser criados pelo ajuste das tabelas de parâmetros usando, por exemplo,um editor de Structured Query Language (SQL - Linguagem de ConsultaEstruturada) (por exemplo, TOAD, PL/SQL Developer, etc.), uma tabela sim-pies ou editor de texto ou qualquer outro editor. Em assim fazendo, menosrevisão de software real, tal como código JAVA, é requerida, reduzindo anecessidade de armazenar e manter múltiplos componentes de softwarediferentes (por exemplo, componentes JAVA ou outros componentes desoftware) para cada configuração de rede particular. Por exemplo, soluçõespara sistemas usando adaptadores de rede genéricos podem usar qualquersoftware adequado, tal como JAVA, C, C++, Ada, Assembly, etc.).
Entre outras coisas, a uma ou mais tabelas de parâmetros po-dem incluir uma primeira tabela de parâmetros que mapeia cada serviço pa-ra os múltiplos comandos requeridos para implementar aquele serviço; umasegunda tabela que, usando expressões regulares, mapeia mensagens re-tornadas da rede para identificadores de mensagens únicos, que são capa-zes de serem compreendidos pela aplicação ou estrutura de adaptador derede; uma terceira tabela que determina resultados com base no identifica-dor de mensagem único e o comando de entrada; e uma quarta tabela, queinclui um gabarito de eXtensible Markup Language (XML - Linguagem deMarcação Extensível) para cada resultado de comando, que é usado paragerar mensagens de resposta que podem ser comunicadas para a aplica-ção.
De acordo com outra implementação geral, um processo imple-mentado em computador inclui parâmetros de armazenamento em uma oumais tabelas de configuração, os parâmetros sendo personalizados parauma rede e uma aplicação e instanciando um adaptador de rede personali-zado para a rede e a aplicação pela invocação de um adaptador de rede ge-nérico que faz referência, externamente, a uma ou mais tabelas de configu-ração. O processo também inclui comunicação efetiva entre a aplicação e arede, usando o adaptador de rede instanciado.
As implementações podem incluir uma ou mais das característi-cas a seguir. Por exemplo, a comunicação efetiva entre a aplicação e a redeusando o adaptador de rede instanciado pode ainda incluir o recebimento deuma solicitação da aplicação para realizar um serviço na rede, identificaçãode comandos e uma seqüência dos comandos associados ao serviço combase em referência a um identificador único do serviço em uma primeira ta-bela de configurações, transmissão de um comando, em seqüência, para arede, recebimento de uma resposta para o comando proveniente da rede,identificação de um identificador de mensagem único, associado com a res-posta baseada em expressões regulares relacionadas em uma segunda ta-bela de configurações e determinação de um resultado do comando combase em referência ao identificador de mensagem único associado com aresposta e um identificador único do comando em uma terceira tabela deconfigurações.
Em outros exemplos, a comunicação efetiva entre a aplicação ea rede usando o adaptador de rede instanciado pode ainda incluir a determi-nação de um resultado do serviço com base na determinação de resultadosde todos os comandos associados com o serviço, seleção de uma mensa-gem de retorno de XML1 incluindo variáveis de General Adapter DeclarativeExpression (GADE), com base em referência ao resultado do serviço emuma quarta tabela de configurações, povoando as variáveis de GADE, usan-do um ou mais valores de resultados associados com os resultados de todosos comandos associados com o serviço e proporcionando a mensagem deretorno de XML, povoada com valores de resultados, para a aplicação.
Em outros exemplos, o serviço pode ser selecionado de um ser-viço desativável de porta de Asymmetric Digital Subscriber Line (ADSL - Li-nha de Assinante Assimétrica Digital), um serviço de parâmetros de modifi-cação de ADSL ou um serviço de porta ativável de ADLS. Uma linha de as-sinante assimétrica digital é uma linha de assinante digital (DSL) onde a ve-locidade de carga superior pode ser diferente da velocidade de carga inferi-or. As expressões regulares para cada resposta possível ao comando po-dem ser relacionadas com identificadores de mensagens únicos na segundatabela de configurações. A segunda tabela de configurações pode relacionaruma expressão regular de captura para todas as respostas previamentedesconhecidas ou não-identificadas enviadas pela rede e um identificador demensagem único para a expressão regular de captura. O resultado podeidentificar se o comando foi bem sucedido ou se um erro fatal ou não-fatalocorreu e se a repetição está suprimida ou não-suprimida. O resultado finalpode ainda identificar um valor de resultado. A aplicação pode ser TEL-CORDIA® ACTIVATOR ou outra aplicação.
Em exemplos adicionais, o adaptador de rede genérico pode serum adaptador de rede baseado em JAVA EE. Os parâmetros podem incluirou descrever valores para que o processo de implementação de regras flua.Os parâmetros incluem respostas que podem ser expressas como expres-sões regulares e podem incluir comandos capazes de serem enviados daaplicação para a rede, ou respostas aos comandos capazes de serem envi-adas da rede para a aplicação. O processo também pode incluir a invocaçãodo adaptador genérico usando uma carga de configuração única de uma oumais tabelas de configuração, ou detecção de um tipo da rede e da aplica-ção e seleção de uma ou mais tabelas de configuração dentre uma plurali-dade de tabelas de configuração com base no tipo detectado de rede e deaplicação. Os parâmetros podem incluir ações associadas com um modo deloopback, um modo emulador de rede e um modo de rede. Os parâmetrospodem incluir definições de serviço. Os parâmetros incluem valores que sãoincluídos nas solicitações geradas pelo Activator. Por exemplo, os valorespodem ser usados para satisfazer as variáveis de GADE.
De acordo com outra implementação geral, um sistema inclui umou mais computadores e um meio legível em computador acoplado a um oumais computadores tendo instruções armazenadas as quais, quando execu-tadas pelo um ou mais computadores, fazem com que o um ou mais compu-tadores realizem operações. As operações incluem parâmetros de armaze-namento em uma ou mais tabelas de configuração, os parâmetros sendopersonalizados para uma rede e uma aplicação, instanciando um adaptadorde rede personalizado para a rede e a aplicação através da invocação de umadaptador de rede genérico que referencia, externamente, a uma ou maistabelas de configuração e efetuando comunicação entre a aplicação e a redeusando o adaptador de rede instanciado.
As implementações podem incluir uma ou mais das característi-cas a seguir. Por exemplo, efetuar a comunicação entre a aplicação e a redeusando o adaptador de rede instanciado ainda pode incluir o recebimento deuma solicitação da aplicação para realizar um serviço na rede, identificaçãode comandos e uma seqüência dos comandos associados com o serviçobaseado na referência a um identificador único do sérico em uma primeiratabela de configurações, transmissão de um comando, em seqüência, para arede, identificação de um identificador de mensagem único, associado com aresposta baseada na execução de expressões regulares relacionadas emuma segunda tabela de configurações e determinação de um resultado finaldo comando com base na referência ao identificador de mensagem únicoassociado com a resposta e um identificador único do comando em uma ter-ceira tabela de configurações.
De acordo com outra implementação geral, um meio de armaze-namento em computador é codificado com um programa de computador, oprograma incluindo instruções que, quando executadas pelo aparelho deprocessamento de dados, fazem com que o aparelho de processamento dedados realize operações. As operações incluem armazenamento de parâme-tros em uma ou mais tabelas de configuração, os parâmetros sendo perso-nalizados para uma rede e uma aplicação, instanciamento de um adaptadorde rede personalizado para a rede e a aplicação pela invocação de um a-daptador de rede genérico, que, externamente, referencia a uma ou maistabelas de configuração e efetuação de comunicação entre a aplicação e arede usando o adaptador de rede instanciado.
Os detalhes de uma ou mais implementações são apresentadosnos desenhos e a descrição, abaixo. Outras características e vantagens po-tenciais da exposição serão evidentes da descrição e dos desenhos e dasreivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
A figura 1 ilustra um diagrama contextual demonstrando um sis-tema para criação de adaptadores de rede, usando uma estrutura de adap-tador de rede.
A figura 2 é um diagrama contextual demonstrando um sistemapara dispositivos de adaptação de rede, usando um dispositivo cliente e umdispositivo de estrutura de adaptador de rede.
A figura 3 é um fluxograma ilustrando um processo de exemplopara criação de adaptadores de rede usando uma estrutura de adaptador de rede.
As figuras 4 a 6 são diagramas em bloco de arquiteturas de es-trutura de adaptador de rede exemplificativas.
As figuras 7 e 8 representam interfaces de usuário de amostraque incluem uma tabela de configurações e uma janela de seleção de tabelapara selecionar uma tabela de configurações específica para edição.
A figura 9 é um diagrama de estado contextual, demonstrandoestados durante a execução de comandos que são executados para criar umadaptador de rede.
A figura 10 é um fluxograma ilustrando um processo de exemplopara efetuar a comunicação entre a aplicação e a rede, usado um adaptadorde rede instanciado.
As figuras 11 a 14 mostram outros exemplos de tabelas de con-figuração que podem ser usadas pela estrutura de adaptador de rede.
A figura 15 mostra uma transformação de exemplo de variáveisGADE em valores reais em uma mensagem de retorno.
A figura 16 é um diagrama em blocos de dispositivos de compu-tação exemplificativos que podem ser usados para implementar a estruturade adaptador de rede.
Nos vários desenhos, números de referência semelhantes re-presentam partes correspondentes por toda a parte.
DESCRIÇÃO DETALHADA
De acordo com a estrutura de adaptador de rede otimizada aquidescrita, um adaptador de rede genérico inclui referências externas dentrode seu código para tabelas de parâmetros. Adaptadores de rede personali-zados, tais como adaptadores de rede usados com TELCORDIA® ACTIVA-TOR ou outras aplicações, podem ser criados através do ajuste das tabelasde parâmetros, usando, por exemplo, um editor de SQL (por exemplo, TO-AD, PL/SQL Developer, etc.), uma tabela simples ou editor de texto ou qual-quer outro editor. Em assim fazendo, pouca ou nenhuma revisão de softwarereal, tal como código JAVA, é requerida, reduzindo a necessidade de arma-zenar e manter múltiplos componentes de software diferentes (por exemplo,componentes JAVA ou outros componentes de software) para cada configu-ração de rede particular. Embora essa especificação e os desenhos propor-cionam exemplos usando JAVA, JAVA EE e outras linguagens de softwareespecíficas, qualquer software e /ou linguagens de software adequadas po-dem ser usados.Entre outras, as tabelas de parâmetros podem incluir uma pri-meira tabela de parâmetros que mapeia cada serviço para múltiplos coman-dos requeridos para implementar aquele serviço; uma segunda tabela que,usando expressões regulares, mapeia mensagens retornadas da rede paraidentificadores únicos de mensagens; uma terceira tabela que determinaresultados finais de comando com base no identificador único de mensageme no comando de entrada; e uma quarta tabela que inclui um gabarito XMLpara cada resultado final de comando, que é usado para gerar mensagensde resposta que podem ser comunicadas à aplicação. Em algumas imple-mentações, a XML é gerada após alguns ou todos os comandos associadoscom o serviço terem sido executados.
A figura 1 é um diagrama contextual de um sistema exemplifica-tivo 100 para criar adaptadores de rede usando uma estrutura de adaptadorde rede 102. Adaptadores de rede criados usando o sistema 100 proporcio-nam comunicações entre aplicações 104 e redes 106. Por exemplo, as apli-cações 104, conforme representado, podem incluir uma aplicação de TEL-CORDIA® ACTIVATOR 104a, uma segunda aplicação (que pode ser, porexemplo, uma aplicação de TELCORDIA® GRANITE INVENTORY) 104b euma terceira aplicação 104c. As redes 106 incluem redes 106a, 106b e106c. O sistema 100 pode ser usado para criar um adaptador de rede ouqualquer outro componente de hardware ou software construído e adaptadopara permitir que os computadores se comuniquem através de uma rede decomputador, como um cartão de rede, um adaptador de rede de área local(LAN) ou um cartão de interface de rede (NIC).
O sistema 100, usando estrutura de adaptador de rede 102, criaou "instancia" adaptadores de rede que efetuam a comunicação entre asaplicações 104 e as redes 106. Por exemplo, um adaptador de rede particu-lar pode ser usado para comunicação entre a aplicação TELCORDIA® AC-TIVATOR 104a e a rede 106a. Outros adaptadores de rede podem suportarcomunicações entre as aplicações 104b - c e as redes 106c, entre a aplica-ção de TELCORDIA® ACTIVATOR 104a e a rede 106c ou entre combina-ções de outras aplicações e redes, quer representadas ou não na figura 1."Instanciamento" de adaptadores de rede se refere à criação de um adapta-dor de rede personalizado através da invocação de um adaptador de redegenérico, que referencia, externamente, uma tabela de configurações. A ta-bela de configurações, que é descrita em mais detalhes, armazena dadosque podem ser usados para personalizar um adaptador de rede para umarede particular 106 e a aplicação 104. Por exemplo, para cada tipo de dispo-sitivo (por exemplo, Huawei, ZTE, Alcatel, etc.) pode existir um ou mais a-daptadores usando a estrutura. Quando o Activator solicita executar um ser-viço (por exemplo, Criar, Apagar, etc.), pode verificar a espécie de dispositi-vo, ajustando o identificador para o adaptador correto na solicitação de XML.
Por exemplo, se uma solicitação de CREATE for gerada para um dispositivode ZTE, o Activator pode gerar uma solicitação de XML para o adaptadorcorrespondente e postá-la na fila.
Em algumas implementações, a verificação do tipo de dispositivoe ajuste do identificador para o adaptador correto na solicitação de XML po-dem incluir o que segue. Quando o TELCORDIA® ACTIVATOR precisa en-viar uma solicitação para o adaptador, ele pode ler uma ou mais tabelas deconfiguração que identificam o adaptador de rede correspondente, que temque ser usado para executar a configuração automática para um elementode rede particular. Por exemplo, as tabelas de configuração podem ser tabe-las de base de dados da aplicação de TELCORDIA® GRANITE INVEN-TORY. Em algumas aplicações, pode existir uma fila que contém instânciasou entradas, cada uma das quais é exclusiva de um adaptador específico. Aentrada pode ser, por exemplo, uma entrada de message driver) bean (MDB)(processa mensagens de modo assincrono) para aquele adaptador. Comotal, cada entrada de MDB pode servir como um consumidor para aquele a-daptador na fila. Em qualquer solicitação particular de ativador, o identifica-dor do adaptador (por exemplo, um parâmetro na mensagem que identificaseu "consumidor de MDB") é único, de modo que cada entrada de MDB estáassociada com suas solicitações corretas.
A estrutura de adaptador de rede 102 inclui um adaptador derede genérico 108 e um seletor de tabela 110. O adaptador de rede 108 éoperável para adaptar uma definição de adaptador de rede genérico existen-te, a fim de instanciar um novo adaptador de rede para uma aplicação parti-cular 104 e 106. Por exemplo, se a estrutura de adaptador de rede 102 esti-ver sendo usada para criar um novo adaptador para comunicação entre aaplicação de TELCORDIA® ACTIVATOR 104a e a rede 106a, o adaptadorde rede genérico 108 pode ser usado para selecionar um adaptador de redegenérico que é adequado (por exemplo, correspondendo mais intimamente)para instanciar o adaptador de rede específico necessário. A estrutura deadaptador de rede 102 também pode usar o seletor de tabelas 110 para se-lecionar e acessar tabelas, incluindo parâmetros de configuração usadospara instanciar um adaptador de rede para as especificações necessáriaspara uma aplicação 104 e uma rede 106 particulares. O adaptador de redegenérico 108 inclui referências externas 112, que são usadas para obter pa-râmetros específicos das tabelas de configuração.
A estrutura de adaptador de rede 102 pode incluir uma ou maisinterfaces de usuário que podem ser usadas na definição de novos adapta-dores de rede. Por exemplo, conforme representado, a estrutura de adapta-dor de rede 102 inclui uma interface de editor de tabela 114, que pode serparte de um conjunto de diversas telas em um terminal de computador ououtra interface para definir novos adaptadores de rede. Interfaces similares114 podem existir para modificar adaptadores de rede existentes.
A interface de editor de tabela 114 inclui uma relação de reposi-tórios 116. Por exemplo, o usuário que está usando a interface de editor detabela 114 para definir adaptadores de rede pode selecionar uma das entra-das (por exemplo, Serviços, Adaptador, Mensagens, Parâmetros, Adaptador,Resultados, etc.) da relação de repositórios 116. Algumas implementaçõesda interface de editor de tabela 114 podem permitir ao usuário selecionartabelas de várias maneiras. Dependendo da seleção do usuário, uma tabelade parâmetros correspondente 115 pode ser visualizada dentro da interfacede editor de tabela 114. Conforme representado, a tabelas de parâmetros115 inclui uma coluna de ID 118, uma coluna de mensagens 120, uma colu-na de tipos 122 e uma coluna de valores 124. O usuário, embora usando oeditor de tabela 114 para definir um adaptador de rede para uma aplicaçãoespecífica 104 e rede 106, pode introduzir ou modificar valores (por exem-plo, AAFN-62) para uma entrada na tabela, tal como a entrada "executar"125, tendo um tipo 122 de "Erro".
Em algumas implementações, a interface de editor de tabela 114pode detectar, automaticamente, o tipo de rede e a aplicação para a qual umadaptador de rede está sendo definido. Usando essa informação, a interfacede editor de tabela 114 pode selecionar, automaticamente, a tabela de confi-gurações dentre um grupo ou relação de tabelas de configuração com baseno tipo detectado da rede e da aplicação.
O sistema 100 inclui dados armazenados em um meio legívelem computador 126, onde os dados são usados pela estrutura de adaptadorde rede 102 e a interface de editor de tabela 114 para criar adaptadores derede (por exemplo, adaptadores de rede 102a - 102c) da estrutura de adap-tador de rede 102. Os dados incluem dados de estrutura de adaptador derede 128, código de Java Platform Enterprise Edition (JAVA EE) e bibliote-cas de tempo de execução 130, um repositório de parâmetros 132, um editorde tabela 134 e tabelas de dados 136. Os dados de estrutura de adaptadorde rede 128 pode incluir o código e os dados que suportam a execução dosoftware de computador que compõe a estrutura de adaptador de rede 102.
As tabelas 136 contêm campos gerais associados com tipos de adaptadoresde rede genéricos. Por exemplo, uma ou mais das tabelas 136 pode repre-sentar adaptadores de rede genéricos, compreendendo informação de adap-tador de rede baseado em JAVA-EE. Cada uma das tabelas 136 pode seracessada pela interface de editor de tabela 114. O repositório de parâmetros132 inclui parâmetros que podem ser usados para personalizar campos ge-rais das tabelas 136 que representam adaptadores de rede genéricos, quan-do criando (ou instanciando) novos adaptadores de rede. Embora esta espe-cificação e os desenhos proporcionem exemplos usando JAVA, JAVA EE eoutras linguagens de software específicas, qualquer software e/ou lingua-gens de software adequadas podem ser usadas.
Parâmetros no repositório de parâmetros 132 podem incluir, porexemplo, parâmetros correspondentes aos comandos capazes de seremenviados da aplicação 104 para a rede 106 ou respostas aos comandos ca-pazes de serem enviados da rede 106 para a aplicação 104. Em algumasimplementações, o repositório de parâmetros 132 pode incluir parâmetrosusados, por exemplo, como valores para regras que implementam fluxos doprocesso.
Em algumas implementações, o repositório de parâmetros 132pode incluir parâmetros associados com o que definem ações associadascom um modo loopback, um modo emulador de rede e/ou um modo rede.
Em algumas implementações, o repositório de parâmetros 132 pode incluirparâmetros associados com definições de serviços.
A figura 2 é um diagrama contextual, demonstrando um sistema200 para adaptar dispositivos de rede 202, usando um dispositivo cliente 204e um dispositivo de estrutura de adaptador de rede 206. O dispositivo cliente204 e o dispositivo de estrutura de adaptador de rede 206 podem ser imple-mentados em um dispositivo único que desempenha ambas as funções. Osistema 200 pode ser usado para estruturas de rede adaptadas pelo sistema100 ou outros sistemas. Os dispositivos de rede 202 incluem dispositivos derede 202a a 202d. Os dispositivos 204 e 206 podem se comunicar um com ooutro e com os dispositivos de rede 202, usando uma ou mais redes 208.
Qualquer uma das redes 208, tais como as redes 208a e 208b, pode ser aInternet, a rede de área local (LAN),uma rede de área estendida (WAN), umarede sem fio, uma linha telefônica ou outra rede cabeada, etc.
Conforme representado na figura 2, o dispositivo cliente 204 in-clui um meio de armazenamento 210, uma interface 212, um processador214, uma interface de usuário 216 e um dispositivo de entrada 218. O meiode armazenamento 210 pode armazenar qualquer um dos dados usadospara definir e/ou configurar adaptadores de rede. A interface 212 pode lidarcom comunicações entre o dispositivo cliente 204 e o dispositivo de estruturade adaptador de rede 206. O processador 214 pode realizar o processamen-to de computador que o dispositivo cliente 204 usa para gerenciar adaptado-res de rede. A interface de usuário 216 pode proporcionar a interface desoftware que um usuário (por exemplo, um técnico de provedor de DSL1 re-presentante de serviços ao cliente de provedor via cabo, ou outro usuário)pode usar para interagir com, e/ou dados de gerência para, as aplicações deestrutura de adaptador de rede. Por exemplo, a interface de usuário 216 po-de incluir telas, menus, campos de entrada, uma interface gráfica do usuário,hardware e firmware.
O meio de armazenamento 210 inclui um editor de tabela 220,tabelas 222, um repositório de parâmetros 224 e aplicações 226. O editor detabela 220 inclui os parâmetros e dados usados para apresentar tabelas dedados para o usuário para exposição e atualização. As tabelas 222 incluemos dados de adaptador de rede, tais como tabelas de sistema de gerencia-mento de base de dados relacionai (RDBMS) (por exemplo, servidor de SQLde MS, DB2, Oracle e MySQL) e/ou arquivos simples definindo os campos eos valores usados na definição e configuração de adaptadores de rede. Orepositório de parâmetros 224 inclui parâmetros que podem ser usados parapersonalizar tabelas genéricas quando da criação (ou instanciamento) denovos adaptadores de rede. As aplicações 226 podem incluir uma ou maisaplicações TELCORDIA Activator 228, ambientes de linguagem JAVA EE230 e tempo de execução e quaisquer outras aplicações usadas para comu-nicação com as redes ou configuração das mesmas. Por exemplo, as aplica-ções de TELCORDIA Activator 228 podem incluir qualquer combinação deTELCORDIA® ACTIVATOR e/ou outras aplicações.
Conforme representado, o dispositivo de estrutura de adaptadorde rede 206 inclui uma interface 240 e um meio de armazenamento 242. Ainterface 240 pode lidar com comunicações entre o dispositivo cliente 204 eo dispositivo de estrutura de adaptador de rede 206. A interface 240 tambémpode lidar com comunicações entre o dispositivo de estrutura de adaptadorde rede 206 e os dispositivos de rede 202. O meio de armazenamento 242inclui um adaptador de rede genérico 244 e um seletor de tabelas 246. Oadaptador de rede genérico 244 é operável para adaptar uma definição deadaptador de rede genérico existente, a fim de instanciar um novo adaptadorde rede para uma aplicação particular 226 e dispositivo de rede 202.Por exemplo, se o dispositivo de estrutura de adaptador de rede206 estiver sendo usado para criar um adaptador de rede para comunicaçãoentre a aplicação de TELCORDIA® ACTIVATOR 228 e o dispositivo de rede202a, o adaptador de rede genérico 244 pode ser usado para selecionar umadaptador de rede genérico que é adequado (por exemplo, correspondendomais intimamente) para instanciar o adaptador de rede específico necessá-rio. O dispositivo de estrutura de adaptador de rede 206 também pode usar oseletor de tabelas 246 para selecionar e acessar tabelas, contendo parâme-tros de configuração usados para instanciar um adaptador de rede para asespecificações necessárias para uma aplicação 226 e um dispositivo de rede202 particulares. O adaptador de rede genérico 244 inclui referências exter-nas 248, que são usadas para obter parâmetros específicos das tabelas deconfiguração, tais como de localizações remotas através da Internet. Porexemplo, para cada tipo de dispositivo (por exemplo, Huawei, ZTE, Alcatel,etc.) pode existir um ou mais adaptadores usando a estrutura. Quando o Ac-tivator solicita para executar um serviço (por exemplo, Create, Delete, etc.),ele pode verificar a espécie de dispositivo, ajustando o identificador para oadaptador correto na solicitação de XML. Por exemplo, se uma solicitaçãoCREATE for gerada para um dispositivo ZTE, o Activator pode gerar umasolicitação de XML para o adaptador correspondente e postá-la na fila.
Conforme representado, o dispositivo de rede 202a inclui servi-ços 254, um processador 256, um meio de armazenamento 258 e uma inter-face 260. Os serviços 254 podem incluir comandos e parâmetros para esta-belecimento de serviços de rede (por exemplo, serviços de provisionamentode DSL, serviços de provedor via cabo, etc.) no dispositivo de rede 202a, talcomo conexão ou configuração DSL, mudança de ajustes DSL (por exemplo,taxas de transferência, etc.) ou serviços de desconexão DSL. O processador256 pode realizar o processamento de computador que o dispositivo de rede202a usa para proporcionar serviços. O meio 258 podem armazenar os da-dos necessários para execução pelo dispositivo de rede 202a. A interface260 pode lidar com comunicações entre o dispositivo de rede 202a e váriosequipamentos de rede 252a - 252b. Por exemplo, o equipamento 252a -252b pode incluir modems DSL1 portas ou hardware ou equipamento queproporciona ou importa serviços.
A figura 3 é um fluxograma ilustrando um processo de exemplo300 para criar adaptadores de rede usando uma estrutura de adaptador derede. Por exemplo, o processo 300 pode ser um método implementado emcomputador, usado dentro das estruturas de adaptadores de rede de siste-mas 100 e 200. Resumidamente, o processo inclui armazenamento de pa-râmetros em uma ou mais tabelas de configuração, os parâmetros sendopersonalizados para uma rede e uma aplicação e instanciamento de um a-daptador de rede personalizado para a rede e a aplicação através da invo-cação de um adaptador de rede genérico, que referencia, externamente auma ou mais tabelas de configuração. O processo também inclui a realiza-ção da comunicação entre a aplicação e a rede, usando o adaptador de redeinstanciado.
Em mais detalhes, quando o processo 300 começa, os parâme-tros são armazenados em uma ou mais tabelas de configuração (operação302). Os parâmetros são personalizados para uma rede e uma aplicação.Por exemplo, fazendo referência à figura 2, um conjunto de parâmetros, ar-mazenado no repositório de parâmetros 224, pode ser usado pelo dispositivode estrutura de adaptador de rede 206 para criar adaptadores de rede nosdispositivos de rede 202a ou qualquer um dos outros dispositivos de rede202. Os parâmetros também podem incluir ajustes numéricos usados pelasaplicações, tais como TELCORIDA® ACTIVATOR, para criar adaptadores derede. Os parâmetros podem ainda incluir informação de estado e de mensa-gem associada com a execução dos comandos e serviços. Por exemplo,fazendo referência à figura 1, a tabela de parâmetros 115 inclui a coluna deIDs 118, a coluna de mensagens 120, a coluna de tipos 122 e a coluna devalores 124, todas as quais podem definir mensagens associadas com co-mandos e serviços específicos. Em algumas implementações, o adaptadorpode ler os dados de configuração (armazenados nas tabelas ou em umabase de dados), antes de iniciar o adaptador no servidor (por exemplo, de-senvolveu o adaptador de rede genérico 244).Um adaptador de rede é instanciado, que é personalizado para arede e a aplicação (operação 304). A instanciação é baseada na invocaçãode adaptador de rede genérico, que referencia, externamente, a uma oumais tabelas de configuração. Por exemplo, fazendo referência à figura 1, aestrutura de adaptador de rede 102 pode usar tabelas, tais como a tabela115 para criar um adaptador de rede personalizado para qualquer uma dasredes 106a a 106c. O adaptador de rede personalizado criado é específicode dispositivo e de aplicação. Por exemplo, a especificidade do dispositivopode depender do dispositivo de hardware particular (por exemplo, modemespecífico de DSL ou outra peça de hardware). A especificidade da aplica-ção pode depender da aplicação específica 104 que está sendo executada,por exemplo, a aplicação TELCORIDA® ACTIVATOR 104a, a aplicação TEL-CORDIA® GRANITE INVENTORY 104b ou qualquer outra aplicação genérica 104c.
A comunicação é efetuada entre a aplicação e a rede, usando oadaptador de rede instanciado (operação 306), assim, terminando o proces-so 300. Por exemplo, usando o adaptador de rede recentemente instancia-do, a aplicação específica 104 pode se comunicar com a rede específica 106para a qual o adaptador de rede foi criado e personalizado.
A figura 4 é um diagrama em bloco de uma arquitetura exempli-ficativa 400 para fornecimento de uma estrutura de adaptador de rede. Porexemplo, a arquitetura 400 pode ser usada para os sistemas 100 e 200. Aarquitetura 400 pode facilitar a criação de um adaptador de rede 402 porqualquer aplicação de adaptador de rede, tal como uma aplicação TELCO-RIDA® ACTIVATOR 404.
O adaptador de rede 402 inclui software de desenvolvimento deaplicação e um middleware (mediador) ou outro serviço de mensagens, taiscomo serviços de mensagens JAVA (JMS) 406, uma interface de ativador408, diversas tabelas de configuração e protocolos em uma estrutura de a-daptador de rede 410 e um gerenciador de conexão 412. O adaptador derede 402 pode ser configurado, por exemplo, para lidar com protocolos deTransaction Language 1 (L1) ou outros protocolos de telecomunicações parao escopo de DSL Access Multiplexer (DSLAM). O uso de tabelas de configu-ração pode proporcionar a vantagem da flexibilidade, por exemplo, atravésdo uso de expressões regulares para analisar comandos de rede, parâme-tros e respostas. A informação da tabela de configurações (por exemplo,comandos, mensagens, regras, expressões regulares, etc.) usada pela es-trutura de adaptador de rede 410 pode permitir que adaptadores de redesejam criados sem mudança de código nas aplicações, tais como a aplica-ção TELCORIDA® ACTIVATOR 404.
Em algumas implementações, a aplicação TELCORIDA® ACTI-VATOR 404 pode fazer interface com o adaptador de rede 402 usando co-mandos e respostas de eXtensible Markup Language (XML) 414. Os co-mandos e respostas de XML 414 podem ser gerenciados usando-se filas ououtros processos para gerenciamento de mensagens, comandos e comuni-cações. Por exemplo, uma fila de entrada pode lidar com solicitações deserviços (por exemplo, ativar DSL, cancelar DSL, etc.) que são distribuídaspela aplicação TELCORIDA® ACTIVATOR 404.
Os comandos e respostas de XML 414 podem ser tratados pelainterface de JMS Queue e software de desenvolvimento de aplicação 406 eenviados para (ou recebidos da) interface de ativador 408. Por exemplo, ainterface de ativador 408 pode incluir comandos de fluxo de ativador 416 quepodem ser usados para executar os serviços solicitados pela aplicaçãoTELCORIDA® ACTIVATOR 404. Similarmente, respostas que resultam daexecução dos comandos podem ser enviadas pela interface de ativador 408para fila de saída gerenciada pela interface de JMS Queue e software dedesenvolvimento de aplicação 406.
A estrutura de adaptador de rede 410 pode incluir protocolos,tabelas de adaptadores e informação, comandos de controle de fluxo (porexemplo, processar um serviço, repetição de um comando, se um serviçofalha, etc.) e um controlador de comunicação. A estrutura de adaptador derede 410 pode se comunicar com o gerenciador de conexão 412 através deum adaptado de comunicação 418. O gerenciador de conexão 412 pode secomunicar com dispositivos de rede e equipamento (por exemplo, modemsDSL ou outro equipamento) usando uma communication façade 420. A co-municação pode ocorrer através de uma rede 422, tal como a Internet, umarede de área local (LAN), uma rede de área estendida (WAN), uma rede semfio, uma linha telefônica ou outra rede cabeada, etc. Em algumas implemen-tações, os protocolos incluídos pela estrutura de adaptador de rede 410 po-dem ser protocolos padronizados, tais como Common Object RequestingBroker Architecture (CORBA), Common Management Information Protocol(CMIP), Transaction Language 1 (TL1) ou outros protocolos de comunica-ção, etc.
A figura 5 é um diagrama em blocos de outra arquitetura exem-plificativa 500 para uma estrutura de adaptador de rede. Por exemplo, a ar-quitetura 500 pode ser usada dentro dos sistemas 100 e 200. A arquitetura500 inclui uma interface de ativador de arquitetura de adaptador 502 e umaarquitetura de estrutura de adaptador 504. A interface de ativador de arquite-tura de adaptador 502 pode incluir um message driven bean para lidar commensagens e uma interface para comunicação com a estrutura de adaptador.
A arquitetura de estrutura de adaptador 504 inclui classes deexecução genéricas, uma camada de definição de comandos de serviços506, utilidades de pré-processo de comandos, parâmetros de comunicaçãogenéricos e um gerenciador de conexão. A camada de definição de coman-dos de serviços 506 pode incluir informação de adaptador, informação degrupos de serviços, serviços, comandos, parâmetros, mensagens, respostase mensagens de retorno. Esses componentes da camada de definição decomandos de serviços 506 podem ser organizados, por exemplo, em umasérie de tabelas de configuração para uso na criação de adaptadores de re-de personalizados para dispositivos de aplicação e rede específicos.
Em algumas implementações, classes de execução genéricaspodem incluir classes Java que implementam a lógica comum para proces-sar as solicitações. Por exemplo, as classes Java podem incluir: INTE-GRA.ADAPTER.COMM.LOG, INTEGRA.ADAPTER.COMM.TL1 .ERROR,INTEGRA.ADAPTER.COMM.TL1 .ERROR, INTEGRA.ADAPTER.CORE, IN-TEGRA.ADAPTER.FRWK.ADAPTERINTERFACE, INTE-GRA.ADAPTER.FRWK.BEAN, INTEGRA.ADAPTER.FRWK.COMM, INTE-GRA.ADAPTER.FRWK.ERROR, INTEGRA.ADAPTER.FRWK.GADE, INTE-GRA.ADAPTER.FRWK.LOG, INTEGRA.ADAPTER.FRWK.UTIL, INTE-GRA.ADAPTER.UTILS, outras classes ou subclasses integra.adapter ououtras classes. A camada de definição de comandos de serviços 506 pode,por exemplo, permitir que serviços sejam mapeados para as instâncias dosadaptadores correspondentes.
As utilidades de pré-processo de comandos podem ser compos-tas principalmente de utilidades de macroclasses, reunião das característi-cas necessárias para a interpretação e compilação corretas de expressõesGADE. As utilidades de macroclasses podem identificar e separar as partesdas próprias expressões, tais como a parte GADE da expressão regular queé pura. No momento da compilação, esses dados podem ser organizadosinternamente para assegurar melhor desempenho no processamento dosatributos específicos da linguagem GADE.
Parâmetros de comunicação genéricos podem representar acamada de comunicação específica com a rede através do desenho dachamada e do conceito do comando. Isso permite que cada comando execu-te como uma unidade atômica, sincronicamente, como um par solicitação/resposta acionada pela interface definida. Essa interface, por exemplo, podeser implementada, especificamente, para uma session bean proporcionandocaracterísticas para gerenciamento de conexões e implementação de contro-les de acordo com as necessidades da estrutura de adaptador de rede. Ascaracterísticas principais definidas por essa interface podem incluir: 1) solici-tações para uma conexão independente da tecnologia usada em comunica-ção com a rede; 2) solicitações para execução de comandos no padrão derede; e 3) solicitações para o fechamento da operação, permitindo a libera-ção da conexão.
O gerenciador de conexão pode ser responsável pelo gerencia-mento das conexões entre — e adaptadores de rede, a fim de proporcionarconexões, conforme pedido, para os adaptadores. Para inicializar o gerenci-ador de conexão, um conjunto de conexões pode ser criado (por exemplo,iniciar a solicitação para conexão) e estar disponível para as solicitações deadaptadores. Cada solicitação de conexão pode ser usada, então, retornadapara o gerenciador de conexão (por exemplo, ser usada em outra solicita-ção, se necessário).
Em algumas implementações (por exemplo, em um modo "loop-bacic" ou se o emulador de rede está ativo), o comando não pode ser envia-do via rede. Em lugar disso, a resposta pode ser obtida de um arquivo deconfiguração.
Em algumas implementações, para cada instância de adaptadorpode haver uma instância de communication façade 420 e o manipulador deconexão de comunicação.
Em algumas implementações, um gerenciador de conexão podeexistir para cada sistema de gerenciamento de rede, tal como proporcionarmelhor disponibilidade em certos ambientes dentro da rede. Dessa maneira,a falha de um gerenciador de conexão único não pode causar a perda deacesso por todos os sistemas de gerenciamento de rede relacionados. Alémdisso, ter múltiplos gerenciadores de conexão pode impedir a perda de a-cesso quando a manutenção é programada ou esquematizada para um ge-renciador de conexão único.
Em algumas implementações, exemplos das quais são discuti-dos em mais detalhes abaixo com relação às figuras 11 - 15, a camada dedefinição de comandos de serviços 506 pode incluir regras associadas comos serviços mapeados em diversas tabelas de base de dados. Na inicializa-ção da estrutura de adaptador de rede, por exemplo, toda a informação dastabelas de base de dados pode ser carregada na memória virtual. Ter umacarga inicial de dados de configuração por execução pode ajudar a reduzirproblemas de desempenho de base de dados ou volume de acesso.
Em algumas implementações, a camada de definição de co-mandos de serviços 506 ainda pode proporcionar: configuração definida emtabela de comandos e parâmetros de comandos; parameterização de co-mando recursiva; parameterização para nova tentativa de nível de comandomoldada consequentemente para cada mensagem de retorno de rede possí-vel; mapeamento de repetições personalizado para as mensagens de retor-no de rede para cada comando executado; mapeamento de fluxo de coman-dos, incluindo regras condicionais; parameterização, mapeamento e classifi-cação de mensagens de resultados de rede; parameterização de regras demanipulação de exceção de rede; e parameterização de tempo de esperaespecífico de comando.
A figura 6 é um diagrama em blocos demonstrando outra arqui-tetura exemplificativa 600 para uma estrutura de adaptador de rede. Por e-xemplo, a arquitetura 600 pode ser usada para os sistemas 100 e 200. Aarquitetura 600 inclui um adaptador de ativador 602, um adaptador de des-coberta 604, um gerenciador de conexão de adaptador 606, um gerenciadorde conexão de descoberta 608, um sistema de gerenciamento de rede(NMS) 610 e uma rede 612.
O adaptador de ativador 602 e o adaptador de descoberta 604pode ser usado pela estrutura para conectar e enviar os comandos para arede através do gerenciador de conexão. O gerenciador de conexão de a-daptador 606 e o gerenciador de conexão de descoberta 608 podem incluire/ou usar aplicações que enviam e recebem comandos para e do adaptador.Em algumas implementações, os gerenciadores de conexão 606 e 608 nãopodem lidar com as regras de ativação, mas, antes, os gerenciadores 606 e608 podem operar por meio do recebimento de comandos que devem serenviados através da rede (por exemplo, via o NMS 610). O NMS 610 podeser responsável pelo controle e gerenciamento dos comandos, tais comocomandos de configuração e comandos de sistema e pelo envio dos coman-dos para os elementos de rede. O NMS 610 pode ser uma parte da rede,mas, em algumas implementações pode ser opcional.
O adaptador de ativador 602 e o adaptador de descoberta 604podem ser tipos de sistemas diferentes. Por exemplo, o adaptador de ativa-dor 602 pode ser um sistema TELCORDIA® que configura a rede, automati-camente. O adaptador de descoberta 604 pode ser, por exemplo, um siste-ma TELCORDIA® que, automaticamente, descobre ou determina a configu-ração dos elementos de rede na rede. Ambos os adaptadores 602 e 604 po-dem enviar comandos e lidar com respostas, mas com objetivos técnicos oucomerciais diferentes.
A figura 7 mostra uma interface de usuário de amostra 700, queinclui uma tabela de configurações 702 e uma janela de seleção de tabela704 para seleção de uma tabela de configurações específica para edição.Por exemplo, usando aplicações que são invocadas como parte de uma es-trutura de adaptador de rede (por exemplo, de sistemas 100 e 200), o usuá-rio pode selecionar de uma relação de tabelas 706 para edição. Em algumasimplementações, as tabelas relacionadas na relação de tabelas 706 podemter todas um prefixo comum (por exemplo, "TB_"), indicando que as entradasna relação são nomes de tabelas. Outras entidades não-tabelas que apare-cem em outras relações podem ter outros prefixos, se elas não forem tabe-las, tais como parâmetros, variáveis ou outras entidades.
Em um exemplo, usando a interface de usuário 700, se o usuárioselecionar a entrada de tabela de comandos 708 (por exemplo,"TB_COMMAND") da relação de tabelas 706, a tabela de configurações 702pode ser visualizada. Nesse caso, a tabela de configurações 702 pode con-ter informação relacionada aos comandos de adaptadores de rede, incluindotítulos de colunas 710 para o ID de comando, um ID de mensagem, um nú-mero de mensagem, um flag de repetição de supressão, um subtipo demensagem, um tipo de resultado de mensagem, um código de resultado demensagem e uma descrição de mensagem.
Em algumas implementações, podem existir controle para otimi-zação ou reorganização da tela de informação. Por exemplo, controles declassificação 712 ou outros controles podem permitir ao usuário dispor a in-formação de maneira mais conveniente (por exemplo, classificado por subti-po de mensagem, etc.).
Uma fileira 714 na tabela de configurações de amostra 702 podeconter todos os campos associados com aquela entrada. Conforme repre-sentado, a fileira 714, que está selecionada, relaciona um valor de"ACT CM ZTE 009" para o ID de comando, "ACT_MS_ZTE_002" para o IDde mensagem, "Success" para o subtipo de mensagem e assim por diante.Como é o caso para a tabela de configurações de amostra 700 e outras ta-belas de configuração aqui descritas, fileiras múltiplas podem ter valorescomuns para algumas das colunas ou campos. Por exemplo, as fileiras 716,718 e 720 relacionam, cada uma delas, "ACT_CM_ZTE_009" para o ID decomando, mas cada uma tem um ID de mensagem diferente.
Em algumas implementações, o destaque de uma fileira (porexemplo, a fileira 714) em uma tabela de configurações pode permitir ao u-suário editar campos na fileira, tal como a maneira em que algumas aplica-ções comuns de planilhas eletrônicas funcionam. Em algumas implementa-ções, o destaque de uma fileira pode fazer com que uma ou mais janelas,"pop-ups" ou telas apareçam, em que o usuário pode adicionar, modificar oudeletar informação. Outros controles e capacidades de interface de usuário700 também podem existir, como seleção e arrasto de mouse, comandos de1botão direito, botões de rádio, caixas de verificação ou quaisquer outros con-troles que são comuns em interfaces gráficas de usuários (GUIs). Em algu-mas implementações, um editor de SQL (por exemplo, TOAD, PL/SQL De-veloper, etc.) pode ser usado para modificar dados na tabela de configura-ções 700.
A figura 8 mostra outra interface de usuário de amostra 800 queinclui uma tabela de configurações de amostra 802 e uma janela de ediçãode dados 804 para editar dados (por exemplo, informação de comando) parauma entrada específica na tabela de configurações 802. Por exemplo, a ta-bela de configurações 802 pode ser visualizada para edição de informaçãode comando, se o usuário selecionar a entrada de tabela de comandos 708da relação de tabelas 706. Além disso, a janela de edição de dados 804 po-de ser visualizada quando o usuário seleciona uma fileira ou célula específi-ca na tabela de configurações 802.
Por exemplo, uma primeira fileira 806 é selecionada na tabela deconfigurações 802, conforme indicado por negrito em torno da fileira. Comoum resultado, a janela de edição de dados 804 contém os valores correntesde elementos de dados associados com a fileira 806. Por exemplo, uma cai-xa de entrada de valores 808 contém o valor corrente (por exemplo, "LO-GIN:::<INSERT_CTAG_HERE>...") correspondente a uma célula 810 na co-luna "expressão de comando" 812 para aquela fileira 806. A fileira 806, con-forme mostrado, representa a informação para um comando tendo"ACT_CM_HUA_001" como o ID de comando, "LOGIN HUAWEI", como adescrição de comando "LOGIN:::<INSERT_CTAG_HERE>..." como a ex-pressão de comando e 5000 como o limite de tempo de espera (por exem-plo, quantos milissegundos esperar para o comando executar antes de cau-sar uma exceção ou erro de tempo de espera).
Em algumas implementações, componentes da descrição decomando, circundados por caracteres especiais, tais como "<" e ">" em "<IN-SERT_CTAG_HERE>" pode ser um sinal para a estrutura de adaptador derede substituir um valor real ou parâmetro na expressão de comando. Osparâmetros podem ser armazenados, por exemplo, em outras tabelas deconfigurações não descritas aqui.
A interface de usuário 802 pode incluir múltiplos campos de en-trada de dados, tais como um campo de terminador de linha 814 tendo "Plat-form Default" como o valor corrente 816. A interface de usuário 800 podeincluir botões ou outros controles, tais como um botão de mudança 818, quepode permitir ao usuário modificar o valor do campo de terminador de linha814 ou outros campos. Controles adicionais 820. Podem existir controlesadicionais 820 que permitem ao usuário adicionar fileiras na tabela de confi-gurações 802, para verificar uma mudança (por exemplo, usando um botão"OK" ou cancelar uma mudança. A interface de usuário 802 também podeincluir outros controles, tais como uma barra de menu horizontal 822 e umabarra de menu vertical 824 que pode ser usada, por exemplo, para controlara posição da tela na caixa de entrada de valores 808.
Em algumas implementações, as interfaces de usuário empre-gadas na estrutura de adaptador de rede podem ter teclas de acesso ou ou-tros atalhos para selecionar opções, etc. Por exemplo, o campo de termina-dor de linha 814 e outros campos podem ter um caractere sublinhado (porexemplo, "T" em "Terminator") que indica que uma Alt-T, Ctrl-T ou outra se-quência de teclas também podem ser usadas para selecionar a opção.
A figura 9 é um diagrama de estado contextual 900, demons-trando o uso de um adaptador de rede personalizado criado com a estruturade adaptador de rede otimizada, em vários estados. Especificamente, osestados 902a a 902c pertencem ao uso de expressões regulares e o estado902d pertence à geração automática de comandos XML durante o uso daestrutura de adaptador de rede.
Os estados 902a a 902c envolvem o recebimento de uma solici-tação da aplicação para realizar um serviço na rede e identificando uma se-qüência de comandos associada. Os comandos são transmitidos em se-qüência, cada um resultando em uma resposta que é recebida. Para cadaresposta, expressões regulares podem ser executadas para determinar, de-terministicamente, um resultado para o comando. As expressões regularessão baseadas em identificadores únicos de mensagens e/ou padrões demensagens.
O estado 902d também efetua comunicação entre a aplicação ea rede, usando o adaptador de rede instanciado. Contudo, o resultado finaldo estado 902d é proporcionar uma mensagem de retorno XML, povoadacom valores de resultados para cada comando na seqüência de comandosassociados com o serviço, para a aplicação. A mensagem de retorno deXML pode incluir variáveis GADE, que são variáveis de substituição embuti-das em mensagens de retorno. As variáveis GADE são substituídas por va-lores reais antes da transmissão para a aplicação, dependendo de váriosfatores. Por exemplo, as variáveis GADE podem ser baseadas em referênciaao resultado final do serviço e no um ou mais valores de resultados associa-dos com o serviço. As variáveis GADE também podem depender de entra-das em uma ou mais tabelas de parâmetros. Os resultados finais de todosos comandos associados com o serviço podem ser usados para determinaro resultado global do próprio serviço.
Os estados 902 envolvem comunicações entre as aplicações904, estruturas de adaptadores de rede 906 e redes 908. O processamentoe as comunicações em cada estado dependem da tabela de configurações910 correspondente para aquele estado. As tabelas de configurações 910aqui mostradas representam fileiras e colunas para suportar uma descriçãodos estados de exemplo 902. Em algumas implementações, podem existircolunas adicionais, proporcionando funcionalidade mais forte (por exemplo,repetições, tempos de espera, etc.) e podem existir outras fileiras, represen-tando servidos, comandos, mensagens adicionais, etc.
Na figura 9. embora as aplicações 904a a 904d sejam conside-radas serem a mesma aplicação, elas são rotuladas diferencialmente parafacilidade de referência, quando descrevendo os estados separados 902. Omesmo é verdadeiro para as estruturas de adaptadores de rede 906 e redes908. Não obstante, os estados 902 podem ser usados por qualquer combi-nação de aplicações 904, estruturas de adaptadores de rede 906 e redes908.
No primeiro estado 902a, a aplicação 904a identifica um serviço912a (por exemplo, SVC_01) a ser realizado pela estrutura de adaptador derede 906a. SVC_01[ identificado pelo serviço 912a é relacionado na primeiracoluna da tabela de configurações 910a. Neste exemplo, a tabela de confi-gurações 910a é uma tabela de "comando - serviço", identificando os co-mandos e seqüência de comandos a serem executados para qualquer servi-ço particular (por exemplo, SVC_01). Exemplos de serviços representadospor SVC_01 podem incluir serviços para ativar DSL, desativar DSL, estabe-lecer serviço de TV por satélite, conectar ou configurar periféricos em casa(por exemplo, gravadores de vídeo digitais ou DVRs), etc.
A estrutura de adaptador de rede 906a usa o serviço 912a (porexemplo, SVC_01), identificado pela aplicação 904a, para acessar a tabelade configurações 910a, conferindo o um ou mais comandos correspondentesao serviço. Nesse caso, os comandos (por exemplo, CMD_01 a CMD_03)são armazenados na segunda coluna da tabela de configurações 910a. A-lém disso, as ordens de seqüências correspondentes (por exemplo, 10, 20,30) dos comandos são encontradas na terceira coluna da tabela de configu-rações 910a. Usando o primeiro comando (por exemplo, CMD_01), obtido databela de configurações 910a, a estrutura de adaptador de rede 906a podeenviar o primeiro comando 914a (por exemplo, "CMD_01") para a rede 908a,onde o comando é executado.
Os comandos restantes, correspondentes ao serviço, tambémpodem ser executados, em seqüência, com cada execução resultando emuma espécie de estado de retorno (por exemplo, "SUCCESS", "ERROR,""UNRECOGNIZED," etc.). No exemplo corrente, CMD_02, tendo uma se-qüência de 20, será executado após CMD_01, tendo uma seqüência de 10.O terceiro e último comando executado, CMD_03, tem a ordem de seqüên-cia mais alta de 30.
No segundo estado 902b, a rede 908b gera um estado de retor-no 914b (por exemplo, "SUCCESS"), que resulta da execução do comando.A estrutura de adaptador de rede 906b pode analisar o estado de retorno914b (por exemplo, "SUCCESS") e acessar a tabela de configurações 910bpara localizar a fileira da tabela correspondente que contém "SUCCESS".Nesse caso, o código de mensagem que corresponde a "SUCCESS" na ta-bela de configurações 910b é MS_001.
Em algumas implementações, o segundo estado 902b, incluindoa tabela de configurações 910b, pode ser implementado usando expressõesregulares ou qualquer outra linguagem formal para definir e reconhecer gru-pos de texto particulares de interesse. O uso de expressões regulares, porexemplo, pode permitir que mensagens predizíveis sejam pré-carregadasem uma tabela, tal como a tabela de configurações 910b, para comparaçãocom mensagens de retorno reais, recebidas de dispositivos de rede. Issopode proporcionar uma maneira flexível e determinística para identificar gru-pos de texto de interesse, como, mensagens particulares de retorno ou deerro, ou padrões de palavras em mensagens.
No terceiro estado 902c, a estrutura de adaptador de rede 906ccombina o código de mensagem MS_001 com o código de comandoCMD_01 para acessar a tabela de configurações 910c. Nesse caso, a tabelade configurações 910c contém quatro colunas visíveis, as duas primeirasproporcionando a "chave" ou índices de conferência. A terceira coluna tendoa entrada de primeira fileira "PASS" é um campo de estado. A quarta e últi-ma coluna (por exemplo, com a entrada "DSL OK") é um campo de códigode resultado. Como um resultado de acesso da tabela de configurações910c, o par "MS_001+CMD_01", por exemplo, pode resultar na conferênciade um estado de retorno 914c de " 'PASS'+'DSL OK."'. O código de resulta-do "DSL OK" pode ser passado para a aplicação 904c neste estágio ou podeser usado mais tarde, para povoar uma mensagem de resposta de XML.
No quarto estado 902d, os resultados de estado de comandosde serviço podem ser agrupados a fim de gerar uma mensagem de resulta-dos de nível de serviço. Por exemplo, como um resultado de recebimento doserviço 912a (por exemplo, SVC_01) e execução de comandos correspon-dentes CMD_01, CMD O2 e CMD_03, os resultados de estado de comandos914d (por exemplo, PASS, PASS e PASS) podem ser combinados para a-cessar a tabela de configurações 91 Od. A primeira coluna na tabela de confi-gurações 91 Od pode conter todas as combinações possíveis de resultadosde comandos separados executados em seqüência para um serviço particu-lar. Conforme representado, a tabela de configurações 91 Od contém umafileira ou entrada, mas outras tabelas podem ser, por exemplo, "PASS,PASS, FAIL," "PASS, FAIL, N/A," etc. Como um resultado da conferência daentrada para "PASS, PASS, PASS", a entrada na segunda coluna da tabela(por exemplo, "Process Response" + [RESULT_CODE]) pode ser encontra-da, significando que a "process response" (resposta de processo) deve serconcatenada com [RESULT_CODE] da tabela de configurações 910c. Fa-zendo a substituição para [RESULT_CODE], um resultado de nível de servi-ce 912d (por exemplo, "Process Response - DSL OK") pode ser gerado eretornado para a aplicação 904d. O resultado 912d pode ser formatado co-mo uma mensagem de retorno de XML.
A figura 10 é um fluxograma ilustrando um processo de exemplo1000 para efetuar a comunicação entre a aplicação e a rede, usando, porexemplo, em combinação com o processo 300 descrito com relação à figura3. Por exemplo, o processo 1000 pode ser um método implementado porcomputador, usado dentro das estruturas de adaptadores de rede de siste-mas 100 e 200. Além disso, fazendo referência à figura 9, o processo 1000pode ser usado para realizar o processamento descrito com relação aos es-tados 902a a 902c, pertencente às expressões regulares e estado 902d, per-tencente à geração e ao fornecimento de mensagens de retorno de XML.
Uma solicitação é recebida da aplicação para realizar um serviçona rede (operação 1002). Por exemplo, fazendo referência à figura 2, a soli-citação pode ser uma solicitação de serviço "Start DSL Service", emitida porum usuário (isto é, um representante de serviço de cliente de provedor a ca-bo) de qualquer uma das aplicações de TELCORDIA Activator 228. O dispo-sitivo cliente 204 pode enviar a solicitação de serviço para o dispositivo deestrutura de adaptador de rede 206.
Comandos e uma seqüência dos comandos associados com oserviço são identificados através de referência a um identificador único doserviço para o dispositivo cliente em uma primeira tabela de configurações(operação 1004). Por exemplo, com base na solicitação de serviço "StartDSL Service" recebida do dispositivo cliente 204, o dispositivo de estruturade adaptador de rede 206 pode determinar os comandos individuais neces-sários para efetuar o serviço. A determinação pode ser feita, por exemplo,através de acesso às tabelas 222 (por exemplo, a tabela de configurações910b ou outra dessas tabelas), usando o código de serviço (por exemplo,comandos, tais como comandos CREATE TABLE da base de dados).
Comandos são transmitidos, em seqüência, para a rede (opera-ção 1006). Por exemplo, o dispositivo de estrutura de adaptador de rede 206pode transmitir os comandos, em seqüência, para pelo menos um dos dis-positivos de rede 202. Em algumas implementações, se diversos dispositivosde rede 202 do mesmo tipo estiverem sendo configurados com um adapta-dor de rede, os comandos podem ser transmitidos para cada dispositivo derede 202, serialmente ou em paralelo. Dessa maneira, pode ser possívelcriar diversos adaptadores de rede ao mesmo tempo. A transmissão de co-mandos para os dispositivos de rede 202 pode ocorrer através de uma oumais redes 208.
Uma resposta para o comando é recebida da rede (operação1008). Por exemplo, com base na execução do comando no dispositivo derede 202 particular, este pode transmitir uma resposta para o dispositivo deestrutura de adaptador de rede 206. A resposta pode estar na forma de umgrupo de textos ou outra mensagem.
Um identificador único de mensagem associado com a respostaé identificado pela execução de expressões regulares relacionadas em umasegunda tabela de configurações (operação 1010). Por exemplo, dispositivocliente 204 pode acessar uma das tabelas 222, tal como uma tabela de con-figurações contendo expressões regulares e gerar um identificador único demensagem (por exemplo, MS_001) que está associada com a resposta (porexemplo, "SUCCESS"). Se nenhum identificador de mensagem correspon-dente puder ser determinado, o dispositivo cliente 204 pode usar ou gerarum identificador de mensagem padrão.
Um resultado final do comando é determinado através de refe-rência ao identificador único de mensagem associado com a resposta e umidentificador único do comando em uma terceira tabela de configurações(operação 1012). Por exemplo, o código de serviço (por exemplo, SVC_01)pode ser usado em combinação com o identificador de mensagem (por e-xemplo, MS_00) a fim de determinar o resultado final do comando.
Um resultado do serviço é determinado através da determinaçãode resultados finais de todos os comandos associados com o serviço (ope-ração 1014). Por exemplo, se três comandos forem executados para o servi-ço, os resultados finais de cada um dos comandos são considerados comoum grupo na determinação do resultado do próprio serviço. Em uma imple-mentação, se os resultados finais dos comandos são PASS, PASS e PASS,os três resultados finais podem ser combinados para acessar uma tabela deconfigurações (por exemplo, tabela de configurações 91 Od) para obter, porexemplo, uma resposta de processo e um código de resultado.
Uma mensagem de retorno de XML é selecionada, incluindo va-riáveis GADE, por meio de referência ao resultado final do serviço em umaquarta tabela de configurações (operação 1016). Por exemplo, usando a ta-bela de configurações 91 Od ou uma tabela similar, a estrutura de rede podeconsultar "Process Response" + [RESULT CODE], usando o resultadoPASS, PASS, PASS do serviço. Neste exemplo, [RESULT_CODE] pode seruma variável GADE.
As variáveis GADE são povoadas usando um ou mais valores deresultados associados com os resultados finais de todos os comandos asso-ciados com o serviço (operação 1018). Por exemplo, usando a variável [RE-SULT_CODE] GADE, a estrutura pode povoar a mensagem com DSL OK.
A mensagem de retorno de XML é proporcionada, povoada comvalores de resultados, para a aplicação (operação 1020). Por exemplo, aestrutura de adaptador de rede 906d pode retornar a resposta 912d (por e-xemplo," Process Response - DSL OK") para a aplicação 904d.
As figuras 11 a 14 mostram exemplos mais detalhados de tabe-las de configurações que podem ser usadas pela estrutura de adaptador derede dentro de cada um dos sistemas 100 e 200. Especificamente, a figura 1mostra uma tabela de comandos de serviços de exemplo 1100. Cada fileiraou entrada na tabela de comandos de serviços 1100 pode armazenar, paracada ID de serviço 1102, IDs de comando 1104 dos comandos usados pararealizar o serviço, elementos de seqüências 1106, serviços de repetição1108, indicadores de permissão de repetição 1110 e comandos condicionais1112. A tabela de comandos de serviços 1100 pode ser usada para confe-rencia dos comandos para um serviço particular, bem como as seqüênciasde comandos, de modo que os comandos podem ser executados na ordemde seqüência designada.
Comandos condicionais 1112 podem incluir comandos que sãoexecutados com base em uma ou mais condições definidas para eles. Porexemplo, consideremos um comando condicional 1113a, tal como":#ACT_ALCATEL_CARD_MODEL:]"== "ADLT-L"||
"[:#ACT_ALCATEL_CARD_MODEL:]"== "ADLT-W". Quando a estrutura e-xecuta, os valores da coluna de comandos condicionais 1112 são, em geral,translacionados e avaliados. Por exemplo, o resultado da avaliação do co-mando condicional 1113a pode determinar se um comando "CM_05" 1113bde um serviço "SV_007" 1113c (por exemplo, ambos na mesma fileira que ocomando condicional 1113a) é executado. Em particular, se "ADLT-L ==ADLT-L Il ADLT-L == ADLT-W" for TRUE (verdadeiro), então, o comando"CM_005" 1113b não é executado.
A figura 12 mostra uma tabela de mensagens de exemplo 1200.Cada fileira ou entrada na tabela de mensagens 1200 pode armazenar umID de mensagem 1202 e uma expressão de mensagem correspondente1204. Cada ID de mensagem 1202 pode ser uma expressão regular que ècapaz de ser executada a fim de determinar um ID o único de mensagem1202 dada uma descrição particular de mensagem 1204. A tabela de men-sagens 1200 pode ser usada para determinar o ID de mensagem para umamensagem particular.
A figura 13 mostra uma tabela de mensagens de comando deexemplo 1300. Cada fileira ou entrada na tabela de mensagens 1300 podearmazenar um ID de comando 1302, um ID de mensagem 1304, uma se-qüência de mensagens 1306, um indicador de repetição de supressão 1308,um subtipo de mensagem 1310, um tipo de resultado de mensagem 1312,um código de mensagem 1314 e uma descrição de mensagem 1316. A tabe-la de mensagens de comando 1300 pode ser usada para determinar os valo-res relacionados com um par de valores combinando o ID de comando 1302e o ID de mensagem 1304.
A figura 14 mostra uma tabela de mensagens de retorno de e-xemplo 1400. Cada fileira ou entrada na tabela de mensagens de retorno1400 pode armazenar um ID de mensagem de retorno 1402, uma descriçãode mensagem de retorno 1404 e uma expressão de mensagens de retorno1406. A tabela de mensagens de retorno 1400 pode ser usada para determi-nar a expressão de mensagens de retorno 1406 correspondente a um ID demensagens de retorno particular 1402.
O exemplo detalhado que segue identifica uma ou mais imple-mentações e como entradas específicas nas tabelas de configuração 1100 a1400 podem ser usadas. Quando o adaptador é iniciado no servidor (porexemplo, baseado em um arquivo, tal como AdapterConfiguration.xml), oadaptador pode ler a configuração (armazenada nas tabelas ou bases dedados) uma vez, processando cada solicitação na memória.A aplicação de Activator, tal como a TELCORDIA® ACTIVATOR228, faz solicitações para uma rede realizar serviços. Com relação à DSL,serviços de exemplo podem incluir, por exemplo, os serviços CREATE, DE-LETE e SUSPEND. Cada serviço está associado com um ID único de servi-ço, tal como um Service 11114 que tem o valor SV_001 para o ID de serviço1102, conforme definido na tabela de configurações 1100. Neste exemplo,SV_001 ocupa as cinco fileiras na tabela de comandos de serviços 1110porque cinco comandos são usados para executar o serviço. Outros serviçosna tabela são SV_002 a SV_007, cada um tendo vários números de fileiras,uma fileira por comando. Em algumas implementações, para determinar umID único de serviço, a estrutura pode usar o nome do adaptador, o modelode adaptador e o modelo de cartão (por exemplo, todos os quais podem es-tar disponíveis na solicitação de XML) para determinar o código do grupo.Usando o código de grupo e o nome da operação, a estrutura pode determi-nar, unicamente, o serviço a ser executado.
Um serviço, tal como o serviço CREATE, pode incluir um oumais comandos que devem ser executados em seqüência pela rede, a fimde realizar o serviço. Comandos de exemplo podem incluir, por exemplo,LOGIN, PORT DISABLE ADSL, MODIFY PARAMETERS ADSL, ENABLEPORT ADSL, LOGOUT ou outros comandos de Digital Subscriber Line(ADSL). Cada comando está associado com um ID único de comando (porexemplo, qualquer um dos IDs de comando 1116, oscilando de CM_001 aCM_005). Para cada serviço, os comandos são executados em uma se-qüência definida por um parâmetro de seqüência 1106 (por exemplo, valores10, 20, 30, 40 e 50 que compõem as seqüências 1118). Usando a figura 11como um exemplo, o Service 11114 inclui comandos 1, 2, 3, 4 e 5 executa-dos em seqüência e o Service 2 1120 inclui comandos 1126 1, 2, 3, 4, e 5,em seqüência, e o Service 3 1124 inclui comandos 1126 1, 2, 3, 4 e 5 emseqüência.
Dependendo do serviço que o comando está sendo usado paraimplementar, o comando pode estar associado com um procedimento derepetição, como identificado na coluna de repetições de serviços 1108, paradesfazer o serviço, se um erro for encontrado. Por exemplo, o Comando 1do Service 1 não tem procedimento de repetição associado (por exemplo,conforme indicado por um valor "NULL" 1128). O comando 4 do Service 3está associado com um procedimento de repetição n° 9 1130. Notavelmente,esse segundo comando 4 está associado com um procedimento de repeti-ção diferente n° 6 1132, quando realizado em associação com o serviço 5.
Desse modo, uma finalidade da tabela de comandos de serviços1100 é identificar e designar a seqüência de comandos a serem realizadospela rede para cada serviço solicitado pela aplicação de Activator. As tabelasde configuração, incluindo a tabela de comandos de serviços 1100 pode sercarregada na memória no momento em que o adaptador é primeiro instanci-ado. Todo o processamento pode, portanto, ocorrer dentro dessa memória.
Além da tabela de comandos de serviços 1100, a estrutura deadaptador de rede usa diversas outras tabelas de configuração para efetuara comunicação entre a aplicação e a rede. A tabela de configuração seguin-te, chamada a tabela de mensagens 1200 (figura 12) relaciona expressõesregulares (por exemplo, na coluna de expressão de mensagens 1204) paratodas as respostas possíveis enviadas pela rede, incluindo um parâmetro deexpressão regular "catch-all" 1206 para respostas desconhecidas ou nãoidentificadas. Especificamente, o parâmetro de expressão regular "catch-all"1206 é um período e o ID de mensagem de "catch-all" correspondente 1208é MS_031, conforme mostrado pela fileira de tabela 1210. Cada respostapossível relacionada na coluna de expressão de mensagens 1204 é associ-ada com um ID de mensagem único 1202. Se, por alguma razão, o ID demensagem de "catch-all" 1208 for usado significativamente com freqüênciapara a mesma expressão de mensagem indefinida, e essa situação for noti-ficada por um usuário, uma fileira para aquela definição de mensagem podeser adicionada à tabela de mensagens 1200.
A aplicação TELCORDIA ACTIVATOR® pode emitir um com-mando, o que faz a rede gerar a resposta. Quando a resposta é recebidapela estrutura de adaptador de rede , cada expressão regular (por exemplo,na coluna de expressão de mensagens 1204) na tabela de mensagens 1200é executada a fim de identificar ou isolar o ID de mensagem único 1202 as-sociado com a resposta.
Quando invocado, o parâmetro "(?m)[MESSAGE]" usado porcada expressão regular na tabela de mensagens 1200 indica que uma buscadeverá ser realizada em todas as linhas da resposta, a fim de encontrar umgrupo que corresponde [MESSAGE]. Em algumas implementações, outranotação que não [?m] pode ter outro significado, tal como analisar mensa-gens em outras maneiras especiais. Uma finalidade da tabela de mensagens1200, portanto, é determinar o ID de mensagem único 1202, associado comcada resposta particular. O ID de mensagem único 1202 é usado em etapasposteriores de processamento.
Se, baseado na realização da busca usando os parâmetros deexpressão regular (?m)[MESSAGE] relacionados na tabela de mensagens1200, um grupo na resposta corresponde à [MESSAGE], o ID de mensagemúnico 1202 correspondente sai. De modo alternativo, o ID de mensagem1208, tendo o valor MS_031 correspondente ao parâmetro de expressãoregular"." pode ser retornado quando nenhum dos grupos da resposta cor-responde a qualquer um dos parâmetros de [MESSAGE] das expressõesregulares relacionadas na coluna de expressão de mensagens 1204 da ta-bela de mensagens 1200. Isso indica que a estrutura de adaptador de redeencontrou uma resposta desconhecida. Colocando de outra maneira, usandoa resposta como uma entrada, da tabela de mensagens 1200 sai um ID demensagem 1202, associado com aquela resposta (por exemplo, expressãode mensagem 1204).
A tabela de configurações seguinte, a tabela de mensagens decomando 1300 (figura 13), usa o ID de mensagem 1304 e o ID de comando1302 para a saída de um tipo de resultado de mensagem 1312, indicando seo comando foi bem sucedido ou se um erro fatal ou não-fatal ocorreu (porexemplo, com base no subtipo de mensagem 1310). Da tabela de mensa-gens de comando 1300 também pode sair um indicador de repetição de su-pressão 1308, indicando se o processo de repetição será suprimido ou não(por exemplo, com base no indicador de repetição de supressão 1308).Se nenhuma repetição tiver que ser realizada e o comando foibem sucedido, a estrutura de adaptador de rede pode permitir que outro co-mando seja processado, tal como o comando seguinte na seqüência. Alémdisso, dependendo do ID de mensagem 1304 e do ID de comando 1302 par-ticulares, da tabela de mensagens de comando 1300 também podem sairoutros parâmetros, como o código de resultado 1314, que podem ser usadosem estágios posteriores de processamento ou para a criação de uma arqui-vo XML de saída.
No exemplo seguinte do uso de expressões regulares, a aplica-ção acionadora emite comandos (por exemplo, usando XML). Cada coman-do pode incluir múltiplos serviços distintos, que são executados em seqüên-cia. Os serviços e sua seqüência são identificados usando a tabela de co-mandos de serviços 1100, conforme discutido acima.
Consideremos que a aplicação Activator 228 está realizando oserviço CREATE. Conforme mostrado na tabela de comandos de serviços1100, o serviço CREATE pode ser separado em cinco etapas ou comandosseparados. Por exemplo, as etapas podem ser: 1) LOGIN; 2) PORT DISA-BLE ADSL; 3) MODIFY PARAMETERS ADSL; 4) ENABLE PORT ADSL; e5) LOGOUT. Além disso, os cinco comandos devem ser executados em se-qüência, conforme mostrado pelas seqüências de comandos 1106.
O primeiro comando (por exemplo, nesse caso, LOGIN) é envia-do pela estrutura para a rede (por exemplo, usando o adaptador de Gerenci-ador de Conexão):
ACT-USER:7302-MR-01-RJLLB07:SUPERUSER:<INSERT_CTAG_HERE>::ANS n° 150; (1)
O acima representa a resposta formatada para o comando LO-GIN do serviço CREATE. Esse comando é enviado da estrutura de adapta-dor de rede para a rede.
7340035 2008-02-01 19:40:04
M 62 COMPLD
EN=O ENDESC=Succeeded.; (2)
O acima representa a resposta formatada para o comando deLOGIN do serviço CREATE. Essa resposta é enviada da rede para a estrutu-ra de adaptador de rede.
Referenciando as expressões regulares relacionadas na tabelade mensagens 1200, o termo "Succeeded" é analisado a partir da respostaacima, localizando "Succeeded" na terceira linha da resposta. Portanto, o IDde mensagem "MS_001" 1212, correspondente ao termo "Succeeded" 1214sai.
O universo conhecido de respostas de mensagens possíveis eseus IDs de mensagens associados são pré-configurados na tabela de men-sagens 1200. Se uma resposta desconhecida for recebida, um ID de men-sagem padrão pode ser usado, o que poderia disparar uma condição de erro(e forçar uma repetição). IDs de mensagens adicionais podem ser adiciona-dos à tabela de mensagens 1200 a qualquer momento, como adicionar adefinição para uma resposta "desconhecida".
O ID de mensagem 1304 MS_001 e o ID de comando 1302CM_001 são introduzidos na tabela de mensagens de comando 1300. O va-lor de subtipo 1310 de "Success", o valor de tipo de resultado 1312 de"SUCCESS" e o valor de código de resultado 1314 de "0000" saem, indican-do que o comando LOGIN (CM_001) foi executado com sucesso. Nenhumarepetição é realizada (por exemplo, o indicador de repetição de supressão é"S") e é permitido ao comando seguinte executar.
O comando seguinte, PORT DISABLE ADSL é, então, invocado:DACT-ADSLPORT::DEV=123,FN=0,SN=2,PN=321:63::; (3)
O acima representa o comando PORT DISABLE ADSL do servi-ço CREATE. Esse comando é enviada da estrutura de adaptador de redepara a rede.
7340035 2008-02-01 19:40:08
M 63 COMPLD
EN=O ENDESC=Error processing the command. Invalid OSR.; (4)
O acima representa a resposta formatada do comando PORTDISABLE ADSL do serviço CREATE. Essa resposta é enviada da rede paraa estrutura de adaptador de rede.Fazendo referência às expressões regulares relacionadas natabela de mensagens 1200, o termo "Error processing the command. InvalidOSR." é analisado a partir da resposta acima. A estrutura de adaptador derede executa cada uma das expressões regulares; contudo, nenhuma incluium grupo que corresponde à mensagem de resposta.
Em conseqüência, o ID de mensagem 1208 MS_031, corres-pondendo ao parâmetro de expressão regular"." é retornado, uma vez quenenhum dos grupos da resposta correspondem a qualquer dos parâmetros[message] das expressões regulares relacionadas na tabela de mensagens1200. Isso indica que a estrutura de adaptador de rede encontrou uma res-posta desconhecida. O parâmetro de expressão regular"." correlaciona aoID de mensagem "MS_031".
O ID de mensagem 1304 MS_031 e o ID de comando 1302CM_002 são introduzidos na tabela de mensagens de comando 1300 e nafileira destacada 1318, o subtipo "Unknown error" 1320, o valor de tipo deresultado 1312 de "FATAL ERROR" e o valor de código de resultado 1314de "AAFN-6106E" saem, indicando que o comando PORT DISABLE ADSL(CM_002) não executou com sucesso.
Uma vez que o comando PORT DISABLE (CM_002) não foi bemsucedido e o indicador de repetição de supressão é "N", a repetição é reali-zada. Como destacado na tabela de comandos de serviços 1100, o processode repetição associado com o comando de CREATE (SV_001) e o comandoPORT DISABLE ADSL (CM_002) é processo de serviço de repetiçãoSV_006 1134. Esse processo de repetição pode ou não ser desativado combase no indicador de repetição ativado 1110 da tabela de comandos de ser-viços 1100.
Mensagens e processamento usados na estrutura de adaptadorde rede podem incluir o uso de arquivos XML. Por exemplo, a aplicação Ac-tivator emite comandos para a rede. A rede processa os comandos e gerauma resposta. A estrutura de adaptador de rede recebe essa resposta darede e pode gerar um arquivo XML. O arquivo XML é enviado de volta para aaplicação Activator como o resultado do comando que é emitido mais cedo.Uma vez que o arquivo XML é recebido, o ativador pode analisar o XML eusar a informação coletada para continuar esse ou outros processos. O ar-quivo XML pode ser armazenado na base de dados do ativador, ou em umdiretório, ou por outros meios, dependendo da implementação. A informaçãoincluída pode ser útil para o usuário do cliente, porque o usuário pode ler osdetalhes dos resultados da ativação feia na rede pelos adaptadores.
Dependendo da resposta da rede, o arquivo XML pode incluirinformação diferente, em vários formatos. A informação e formatos diferen-tes podem ser representados genericamente usando variáveis GADE emuma tabela de configurações adicionais, conforme mostrado na coluna deexpressão de mensagem de retorno 1406 da tabela de mensagens de retor-no 1400. Conforme mencionado previamente, variáveis GADE são variáveisde substituição embutidas em mensagens de retorno. As variáveis GADEsão substituídas por valores reais, dependendo de vários fatores. O conteú-do e o formato do arquivo XML podem ser alterados por meio da mudançado conteúdo e do formato das variáveis GADE.
Por exemplo, a fileira 1408 na tabela de mensagens de retorno1400 define a entrada para o código de mensagens de retorno MR_0021410. Uma descrição de mensagens de retorno correspondentes 1412 des-creve a mensagem como "Message of Error output - Huawei". As variáveisGADE para a mensagem são incluídas na célula de expressão de mensa-gens de retorno 1414, contendo"[:&RESULT_CODE:]:[:&RESULT_TYPE:]..." A primeira variável GADE é"[:&RESULT_CODE:]" e a segunda é [:&RESULT_TYPE:]. Como é comumcom mensagens de retorno contendo variáveis GADE, outros caracteres epontuação também podem existir, como os dois pontos (":") entre as duasvariáveis GADE.
A resposta gerada pela rede (por exemplo, em resposta a umserviço Create (Criar), Delete (deletar) ou Suspend (Suspender) ou a umcomando de LOGIN), inclui informação que é usada para povoar as variáveisGADE, assim, criando o arquivo XML. Em algumas implementações, a tabe-la de mensagens de retorno 1400 não pode acomodar novas variáveis, amenos que mudanças mais profundas na classe de software subjacente (porexemplo, classe JAVA) sejam feitas. Contudo, quaisquer novas variáveis sãodefinidas uma vez e, em seguida, são usadas (e reutilizadas ) múltiplas ve-zes, conforme necessário.
Se um erro for detectado durante o processo, a informação deri-vada das tabelas de configurações pode ser usada para povoar a mensa-gem de retorno de XML. As variáveis e suas fontes de dados associadas sãodescritas abaixo.
A mensagem retornada, antes da substituição das variáveisGADE, pode ser, por exemplo:
[:&RESULT_CODE:]:[:&RESULT_SUBTYPE:]-
[[:&SEQ_COMMAND:]/[:&QTY_COMMAND:]]:[:&OPERATION_NAME:]-[:&SERVICE_TYPE_NAME:]:[:&TECHNOLOGY_TYPE_NAME:]-[:&TECHNOLOGY_NAME:]-[:&DEVICE_MODEL:]-DEVICE_NAME=[:#ACT_HUAWEI_DEVICE_NAME:]-RACK=[:#ACT_HUAWEI _RACK:]-SHELF=[:#ACT_ HUAWEI _SHELF:] -SLOT=[:#ACT_HUAWEI _SLOT:] -PORT=[:#ACT_ HUAWEI _PORT:] (5)
Durante o processo, as variáveis GADE são preenchidas comvalores de dados, conforme descrito no seguinte:[:&RESULT_CODE:] = result code of the process [:&RESULT_SUBTYPE:] =subtype of the result [:&SEQ_COMMAND:] = sequential of the command[:&QTY_COMMAND:] = quantity of the commands executed in the network[:&OPERATION_NAME:] = the name of the service[:&SERVICE_TYPE_NAME:] = type of service[:&TECHNOLOGY_TYPE_NAME:] = the technology type[:&TECHNOLOGY_NAME:] = the technology name [:&DEVICE_MODEL:] =model device [:#ACT_HUAWEI_DEVICE_NAME:] = the device name[:#ACT_ HUAWEI RACK:] = rack of device [:#ACT_ HUAWEI SHELF:] =shelf of device [:#ACT_ HUAWEI _SLOT:] = slot of device[:#ACT_ HUAWEI _PORT:] = port of device (6)
Após o preenchimento em valores de variáveis GADE na XML, oresultado pode ser;0000: ERROR-[1/2]:CREATE-ADSL_BB:DSLAM-HUAWEI-TL1-ISAM7302 XD-DEVICE_NAME=RJ-IPA05-EDSLAM-RACK=01 -SHELF=1 -SLOT=06-PORT=44 (7)
A figura 15 mostra uma transformação de variáveis GADE emvalores reais em uma mensagem de retorno. Por exemplo, a transformaçãopode transformar uma resposta de mensagem com variáveis GADE 1502 emuma resposta de mensagem após a substituição 1504. A transformação po-de ser realizada, por exemplo, por um módulo de substituição de variáveisGADE 1506, usando uma ou mais tabelas de configuração ou outros pro-cessos, conforme descrito acima. Como um resultado, em uma substituiçãode exemplo, uma variável GADE [:&RESULT_CODE:] 1508 pode ser substi-tuída por um valor AAFN-6106E 1510. Em outra substituição de exemplo,uma variável GADE [:&OPERATION_NAME:] 1512 pode ser substituída porum valor CREATE 1514. O seguinte proporciona uma discussão mais deta-Ihada do processo de substituição de variável GADE.
Quando um adaptador é ativado, ele pode carregar os dados dearquivos de configuração (por exemplo, usando <ADAP-TER_NAME>ADAPTERCONFIGURATION.XML). Durante esse processo, asvariáveis GADE podem ser inicializadas com valores configurados em umaou mais tabelas de parâmetros. Quando uma solicitação, (por exemplo, viamensagens de JMS) é postada na fila de adaptadores, a estrutura pode pro-cessar o arquivo de solicitações e inicializar outros conjuntos de variáveisGADE (por exemplo, pela leitura da XML armazenada nas variáveis).
Por exemplo, o conjunto de valores a seguir (por exemplo, ar-mazenado em uma tabela de parâmetros) pode ser usado para carregar asvariáveis de adaptador de Huawei correspondentes:
ACT_HUHUAWEI_DEVICE_NAME= ALPJ_-EHA201ACT_HUHUAWEI_SHELF=0ACT_HUHUAWEI_SLOT=11ACT_HUHUAWEI_PORT=14 (8)
Esses valores nas tabelas de parâmetros podem mostrar a as-sociação de variáveis GADE com o curso de XML.O exemplo que segue descreve substituição de variáveis GADEque podem ocorrer para um serviço PORT DISABLE ADSL HUAWEI. Após oprocessamento do arquivo XML e definição do serviço que será executado, aestrutura: 1) carrega os comandos de rede para o serviço (refira-se à tabelade comandos de serviços 1100); e 2) associa os valores lidos de XML comas variáveis GADE correspondentes.
Para cada comando ou serviço, um resultado de mensagem,contendo variáveis GADE pode existir, tal como:
DACT-
ADSL-
PORT::DEV=[:#ACT_HUAWEI_DEVICE_NAME:],FN=[:#ACT_HUAWEI
SHELF:],SN=[:#ACT_HUAWEI_SLOT:],PN=[:#ACT_HUAWEI_PORT:]:<INSERT_CTAG_HERE>::; (9)
Com base nos valores armazenados para as variáveis (por e-xemplo, na tabela de parâmetros), a estrutura pode executar a substituiçãoapropriada, formando o comando, tal como:
DACT-ADSLPORT::DEV=ALPJ_-EHA201,FN=O,SN=11,PN=14:2343::;(10)
A estrutura envia o comando para o módulo de comunicação(por exemplo, o gerenciador de conexão), que envia a mensagem para arede, a qual, por sua vez, pode retornar a resposta, tal como:7344401 2009-01-29 23:08:56 M 121802 COMPLDEN=O ENDESC=Succeeded.;] (11)
Usando expressões regulares, a estrutura pode corresponder aresposta de rede com cada resposta previamente registrada (por exemplo,na tabela de mensagens 1200).
Se ocorre uma correspondência, a estrutura pode executar oprocesso configurado para aquela espécie de resposta (por exemplo, usan-do a tabela de mensagens de comando 1300). Com base na coluna de ID demensagem 1202, na tabela de mensagens 1200, a estrutura pode verificar arelação (por exemplo, Hibernate) com a tabela de mensagens de comando1300, fazendo com que o processo seguinte seja executado. Em um caso deum erro, o processo seguinte pode ser um comando de repetição.
Supondo que a resposta de rede indica sucesso, o comando se-guinte pode ser carregado e processado da mesma maneira.
A seguir, a estrutura pode carregar o comando seguinte (MO-DIFY PARAMETERS ADSL HUAWEI):MOD-ADSL-
PORT::DEV=[:#ACT_HUAWEI_DEVICE_NAME:],FN=[:#ACT_HUAWEI_SHELF:],SN=[:#ACT_HUAWEI_SLOT:],PN=[:#ACT_HUAWEI_PORT:]:<INSERT_CTAG_HERE>::LPROFID=[:#ACT_ HUAWEI_PRIMARY_PROFILE:],ALIAS=[:#ACT_HUAWEI_ALIAS:]; (12)Substituindo as variáveis GADE, o comando seguinte pode serconstruído:
MOD-ADSLPORT::DEV=ALPJ_-EHA201 ,FN=O1SN=11 ,PN=14:4323::LPROFID=VELOX1000GDMT,ALIAS=MCOAD5077916; (13)
Após o comando ser enviado para a rede, uma resposta podeser recebida, tal como:
7344401 2009-01-29 23:08:57 M 121803 COMPLDEN=O ENDESC=Succeeded. ;]
ACT-ADSLPORT::DEV=ALPJ_-EHA201 ,FN=0,SN=11 ,PN=14:121804::;
7344401 2009-01-29 23:08:57 M 121804 COMPLDEN=OENDESC=Succeeded.;] (14)
Após o processamento de todos os comandos do serviço, asvariáveis GADE são geradas com valores do processo, permitindo que a es-trutura gere e envie a resposta completamente qualificada para o proprietárioda solicitação. Conforme mostrado na tabela de mensagens de retorno1400, diferentes tipos de respostas podem existir, um para cada espécie desituação. Para descobrir a resposta correta de XML, o adaptador pode usaruma mensagem de retorno (por exemplo, de uma tabela de respostas ou deuma coluna de mensagens de retorno da tabela de mensagens de retorno1400).A estrutura pode preencher a XML com os variáveis GADE eenviar uma mensagem (com a XML gerada) para a fila. Nesse momento,todas as variáveis GADE são "limpas" (por exemplo, transformadas em valo-res reais).
Por exemplo, uma resposta contendo, originalmente, variáveisGADE não substituídas pode ser:
[:&RESULT_CODE:]:[:&RESULT_SUBTYPE:]-
[[:&SEQ_COMMAND:]/[:&QTY_COMMAND:]]:[:&OPERATION_NAME:]-[:&SERVICE_TYPE_NAME:]:[:&TECHNOLOGY_TYPE_NAME:]-[:&TECHNOLOGY_NAME:]-[:&DEVICE_MODEL:]-
DEVICE_NAME=[:#ACT_HUAWEI_DEVICE_NAME:]-SHELF=[:#ACT_HUAWEI_SHELF:]-SLOT=[:#ACT_HUAWEI_SLOT:]-
PORT=[:#ACT_HUAWEI_PORT:]
</NetworkResponse> (15)
Como um resultado da substituição, a resposta de XML geradapode ser:
<NetworkResponse>
<![CDATA[AAFN-6106E:SUCCESS-Port Modify:[3/3]:CREATE-
ADSL_BB:DSLAM -HUAWEI-FSAP 9800-DEVICE_NAME= ALPJ_-EHA201 -SHELF=I 4-SLOT=11 -PORT=I 4]]></ErrorText>
</NetworkResponse > (16)
A estrutura aqui descrita pode ser configurada para usar variá-veis GADE. As variáveis GADE foram desenvolvidas para auxiliar a estruturaotimizada a configurar um adaptador e as variáveis servem como uma Iin-guagem personalizada que é específica para a estrutura otimizada. A lin-guagem pode ser usada para configurar os comandos e as respostas de re-de nas tabelas de configurações ou outras tabelas na estrutura.
A variável GADE é um componente de linguagem de expressõesregulares com termos definidos, especificamente, para um adaptador. Ostermos podem ser definidos, por exemplo, na sintaxe padrão POSIX de lin-guagem seguinte. Uma expressão é iniciada por um parêntese aberto segui-do por dois pontos (por exemplo, "[:"). Uma expressão é terminada por doispontos seguidos por parêntese de fechamento (por exemplo,":]"). O primeirocaractere (por exemplo, "$" , "&" , etc.) de uma variável GADE pode denotaro significado do termo, como será agora descrito.
Uma variável GADE1 começando com um sinal de dólar e usadocomo uma referência direta a uma variável pode ter o formato [:$<path>:].Nesse caso, a expressão regular <path> pode ser substituída pelo parâme-tro que deve ser usado.
Uma variável GADE começando com um símbolo em libra e u-sado como uma referência indireta a uma variável pode ter o formato{:#<name>:]. Nesse caso, a expressão <name> pode ser substituída com onome do parâmetro que está para ser usado.
Uma variável GADE, começando com "ampères and" e usadasimplesmente como uma variável GADE pode ter o formato [:@<name>:].Nesse caso, a estrutura pode acessar o valor da variável previamente decla-rada e inicializada (por exemplo, "Definition of variable ...").
Uma variável GADE, começando com "&" e usada como umavariável de ambiente pode ter o formato [:&<name>:]. Nesse caso, a estrutu-ra pode acessar o valor da variável de ambiente, por exemplo, UUID (porexemplo, para identificadores de 64 bits), SEQ (número seqüencial geradopara cada comando) e ROLLBACK (resultado de processamento: Y = su-cesso; N = Falha).
Uma variável GADE usada como a primeira posição de uma ma-triz pode ter o formato [:@name$:]. Nesse caso, a variável pode ser usadapara acessar o valor da primeira posição de uma matriz de variáveis.
Uma variável GADE usada como uma posição de uma matrizpode ter o formato [:@name$(1):]. Nesse caso, a variável pode ser usadapara acessar o valor de qualquer posição da matriz de variáveis. A posiçãodesejada é indicada com parênteses, onde a primeira posição pode ser zero(tipicamente) ou um.
Uma variável GADE usada como um tamanho de matriz pode tero formato [:@name$qty:]. Nesse caso, a variável pode ser usada para identi-ficar o número de valores na matriz ou o espaço disponível na matriz.Em geral, as variáveis GADE e expressões podem determinarvárias características de adaptadores na estrutura. Por exemplo, as variáveisGADE podem referenciar um valor externo estabelecido pelo adaptador ejavabean, tal como uma solicitação de adaptador (por exemplo, "AdapterRe-quest"), identificada com o caractere do dólar ("$"). Variáveis GADE tambémpodem proporcionar um apelido ou nome que representa um parâmetro natabela de parâmetros. Também, variáveis GADE podem ser usadas na ini-cialização de variáveis ambientais dentro do contexto de implementação doadaptador. Finalmente, variáveis GADE podem proporcionar referência auma variável inicializada dentro do contexto da implementação do adaptador.
Em um exemplo de uma expressão usando variáveis GADE,como em uma "AdapterRequest", a exressão pode ser similar ao seguinte:LOGIN:::EQ=[:#equip_id:]::UN=[:#username:],PWD=[:#password:],
GROUP=[:#default-group:] (17)
A figura 16 é um diagrama em blocos de dispositivos de compu-tação 1600, 1650, que pode ser usado para implementar a estrutura de a-daptador de rede otimizada, como um cliente ou como um servidor ou plura-lidade de servidores. O dispositivo de computação 1600 é destinado a repre-sentar várias formas de computadores digitais, tais como laptops, desktops,estações de trabalho, assistentes digitais pessoais, servidores, "blade ser-vers", unidades de processamento e outros computadores apropriados. Odispositivo de computação 1650 é destinado a representar várias formas dedispositivos móveis, tais como assistentes digitais pessoais, telefones celula-res, smartphones e outros dispositivos de computação similares. Os compo-nentes aqui mostrados, suas conexões e relações e suas funções têm o sig-nificado de serem exemplificativos apenas e não têm o significado de limita-ção de implementações descritas e/ou reivindicadas neste documento.
O dispositivo de computação 1600 inclui um processador 1602,uma memória 1604, um dispositivo de armazenamento 1606, uma interfacede alta velocidade 1608 conectando à memória 1604 e portas de expansãode alta velocidade 1610 e uma interface de baixa velocidade 1612, conec-tando ao barramento de baixa velocidade 1614 e dispositivo de armazena-mento 1606. Cada um dos componentes, 1602, 1604, 1606, 1608, 1610 e1612, é interconectado usando vários barramentos e pode ser montado emuma placa-mãe comum ou em outras maneiras, conforme apropriado. Oprocessador 1602 pode processar instruções para execução dentro do dis-positivo de computação 1600, incluindo instruções armazenadas na memória1604 ou no dispositivo de armazenamento 1606 para mostrar informaçãográfica para uma GUI em um dispositivo externo de entrada/saída, tal comoa tela 1616 acoplada à interface de alta velocidade 1608. Em outras imple-mentações, múltiplos processadores e/ou múltiplos barramentos podem serusados, conforme apropriado, junto com múltiplas memórias e tipos de me-mória. Também, múltiplos dispositivos de computação 1600 podem ser co-nectados, com cada dispositivo proporcionando porções das operações ne-cessárias (por exemplo, como um banco de servidor, um grupo de "bladeservers" ou um sistema de multiprocessadores).
A memória 1604 armazena informação dentro do dispositivo decomputação 1600. Em uma implementação, a memória 1604 é um meio le-gível em computador. Em uma implementação, a memória 1604 é uma uni-dade ou unidades de memória 1604 não-volátil.
O dispositivo de armazenamento 1606 é capaz de proporcionararmazenamento em massa para o dispositivo de computação 1600. Em umaimplementação, o dispositivo de armazenamento 1606 é um meio legível emcomputador. Em várias implementações diferentes, o despositivo de arma-zenamento 1606 pode ser um dispositivo de disco flexível, um dispositivo dedisco rígido, um dispositivo de disco óptico ou um dispositivo de fita, umamemória rápida ou outro dispositivo similar de memória de estado sólido ouum conjunto de dispositivos, incluindo dispositivos em uma rede de área dearmazenamento ou outras configurações. Em uma implementação, um pro-duto de programa de computador é concretizado, tangivelmente, em um por-tador de informação. O produto de programa de computador contém instru-ções que, quando executadas, realizam um ou mais métodos, tais como a-queles descritos acima. 0 portador de informação é um meio legível emcomputador ou em máquina, tal como a memória 1604, o dispositivo de ar-mazenamento 1606 ou a memória no processador 1602.
O controlador de alta velocidade 1608 gerencia operações inten-sivas de largura de banda para o dispositivo de computação 1600, enquantoo controlador de baixa velocidade 1612 gerencia operações intensivas delarguras de bandas mais baixas. Essa alocação de deveres é exemplificativaapenas. Em uma implementação, o controlador de alta velocidade 1608 éacoplado à memória 1604, à tela 1616 (por exemplo, através de um proces-sador ou acelerador gráfico) e às portas de expansão de alta velocidade1610, que podem aceitar vários cartões de expansão (não-mostrados). Naimplementação, o controlador de baixa velocidade 1612 é acoplado ao dis-positivo de armazenamento 1606 e à porta de expansão de baixa velocidade1614. A porta de expansão de baixa velocidade, que pode incluir várias por-tas de comunicação (por exemplo, USB, Bluetooth, Ethernet, Ethernet semfio) podem ser acopladas a um ou mais dispositivos de entrada/saída, taiscomo teclado, um dispositivo de indicação, um scanner ou um dispositivo derede, tal como um comutador ou roteador, por exemplo, através de um adap-tador de rede.
O dispositivo de computação 1600 pode ser implementado emum número de diferentes formas, conforme mostrado na figura. Por exemplo,pode ser implementado como um servidor padrão 1620 ou múltiplas vezesem um grupo desses servidores. Também pode ser implementado como par-te de um sistema de "rack servet" 1624. Além disso, pode ser implementadoem um computador pessoal, tal como um computador de Iaptop 1622. Alter-nativamente, componentes do dispositivo de computação 1600 podem sercombinados com outros componentes em um dispositivo móvel (não-mostrado), tal como o dispositivo 1650. Cada um desses dispositivos podeconter um ou mais dentre o dispositivo de computação 1600, 1650 e todo umsistema pode ser construído de múltiplos dispositivos de computação 1600,1650, comunicando-se um com o outro.
O dispositivo de computação 1650 inclui um processador 1652,uma memória 1664, um dispositivo de entrada/saída, tal como uma tela1654, uma interface de comunicação 1666 e um transceptor 1668, entre ou-tros componentes. O dispositivo 1650 também pode ser dotado de um dis-positivo de armazenamento, tal como um microdrive ou outro dispositivo,para proporcionar armazenamento adicional. Cada um dos componentes,1650, 1652, 1664, 1654, 1666 e 1668, é interligado usando vários barramen-tos e diversos dos componentes podem ser montados em uma placa-mãecomum ou em outras maneiras, conforme apropriado.
O processador 1652 pode processar instruções para execuçãodentro do dispositivo de computação 1650, incluindo instruções armazena-das na memória 1664. O processador também pode incluir processadoresanalógicos e digitais separados. O processador pode proporcionar, por e-xemplo, coordenação dos outros componentes do dispositivo 1650, tal comoo controle de interfaces de usuário, aplicações processadas pelo dispositivo1650 e comunicação sem fio pelo dispositivo 1650.
O processador 1652 pode se comunicar com um usuário atravésda interface de controle 1658 e da interface de exposição 1656 acoplada aum visor 1654. O visor 1654 pode ser, por exemplo, uma tela de LCD deTFT ou uma tela OLED ou outra tecnologia de exposição apropriada. A inter-face de exposição 1656 pode compreender circuito apropriado para acionaro visor 1654 a fim de apresentar informação gráfica e outra para um usuário.
A interface de controle 1658 pode receber comandos de um usuário e con-vertê-los para submissão ao processador 1652. Além disso, uma interfaceexterna 1662 pode ser proporcionada em comunicação com o processador1652, de modo a permitir comunicação de área próxima do dispositivo 1650com outros dispositivos. A interface externa 1662 pode proporcionar, porexemplo, comunicação cabeada (por exemplo, via um procedimento de doc-king ("atracação")) ou para comunicação sem fio (por exemplo, via Bluetoothou outras dessas tecnologias).
A memória 1664 armazena informação dentro do dispositivo decomputação 1650. Em uma implementação, a memória 1664 é um meio le-gível em computador. Em uma implementação, a memória 1664 é uma uni-dade ou unidades de memória volátil. Em outra implementação, memória1664 é uma unidade ou unidades de memória não-volátil. A memória de ex-pansão 1674 também pode ser proporcionada e conectada ao dispositivo1650 através da interface de expansão 1672, que pode incluir, por exemplo,uma interface de cartão SIMM. Essa memória de expansão 1674 pode pro-porcionar espaço extra de armazenamento para dispositivo 1650 ou tambémpode armazenar aplicações ou outra informação para dispositivo 1650. Es-pecificamente, a memória de expansão 1674 pode incluir instruções pararealizar ou suplementar os processos descritos acima e pode incluir informa-ção segura também. Desse modo, por exemplo, a memória de expansão1674 pode ser proporcionada como um módulo de segurança para dispositi-vo 1650 e pode ser programada com instruções que permitam uso seguro dodispositivo 1650. Além disso, aplicações seguras podem ser proporcionadasvia os cartões SIMM, junto com informação adicional, tal como colocação deinformação de identificação no cartão SIMM em uma maneira não-destrutível.
A memória pode incluir, por exemplo, memória rápida e/ou me-mória MRAM, conforme discutido abaixo. Em uma implementação, um pro-duto programa de computador é concretizado, tangivelmente, em um porta-dor de informação. O produto de programa de computador contém instru-ções que, quando executadas, realizam um ou mais métodos, tais como a-queles descritos acima. O portador de informação é um meio legível emcomputador ou em máquina, tal como a memória 1664, a memória de ex-pansão 1674 ou a memória no processador 1652.
O dispositivo 1650 pode se comunicar sem fio através da inter-face de comunicação 1666 que pode incluir circuito de processamento desinal digital necessário. A interface de comunicação 1666 pode proporcionarcomunicações sob vários modos ou protocolos, tais como chamadas de vozGSM, SMS, EMS ou mensagens de MMS1 CDMA, TDMA, PDC, WCDMA,CDMA2000 ou GPRS, entre outros. Essa comunicação pode ocorrer, porexemplo, através de transceptor de radiofreqüência 1668. Além disso, co-municação de curto alcance pode ocorrer, tal como usando um Bluetooth,WiFi ou outro desses transceptores (não-mostrados). Além disso, o módulode receptor de GPS 1670 pode proporcionar dados sem fio adicionais para odispositivo 1650, que pode ser usado conforme apropriado pelas aplicaçõesque estão sendo executadas no dispositivo 1650.
O dispositivo 1650 também pode se comunicar audivelmente,usando codec de áudio 1660, que pode receber informação falada de umusuário e convertê-la em informação digital utilizável. Codex de áudio 1660pode, igualmente, gerar som audível para um usuário, tal como através deum alto-falante, por exemplo, em um handset do dispositivo 1650. Esse sompode incluir som de chamadas telefônicas de voz, pode incluir som gravado(por exemplo, mensagens de voz, arquivos de música, etc.) e também podeincluir som gerado por aplicações que operam no dispositivo 1650.
O dispositivo de captura 1650 pode ser implementado em umnúmero de formas diferentes, conforme mostrado na figura. Por exemplo,pode ser implementado como um telefone celular 1680. Também pode serimplementado como parte de um smartphone 1682, assistente digital pesso-al ou outro dispositivo móvel similar.
Várias implementações dos sistemas e técnicas aqui descritospodem ser realizadas em circuito eletrônico digital, (circuitos integrados deaplicação específica), ASICs especialmente projetados, hardware de compu-tador, firmware, software e/ou suas combinaÇÕES. Essas várias implemen-tações podem incluir implementação em um ou mais programas de compu-tador que são executáveis e/ou interpretáveis em um sistema programávelincluindo pelo menos um processador programável, que pode ser para finsespeciais ou gerais, acoplado para receber dados e instruções de, e paratransmitir dados e instruções para, um sistema de armazenamento, pelomenos um dispositivo de entrada e pelo menos um dispositivo de saída.
Esses programas de computador (também conhecidos comoprogramas, software, aplicações de software ou código) incluem instruçõesde máquina para um processador programável e podem se implementadosem uma linguagem de programação orientada em objeto e/ou de procedi-mento de alto nível e/ou linguagem de montagem/ máquina. Como aqui usa-dos, os termos "meio legível em máquina", "meio legível em computador" sereferem a qualquer produto de programa de computador, aparelho e/ou dis-positivo (por exemplo, discos magnéticos, discos ópticos, memória, Disposi-tivos Lógicos Programáveis (PLDs)), usados para proporcionar instruções demáquina e/ou dados para um processador programável, incluindo um meiolegível em máquina, que recebe instruções de máquina. Embora o uso decódigo JAVA e software de Telcordia Activator seja aqui discutido, esta in-venção da exposição não está limitada a qualquer implementação de softwa-re ou de linguagem particular.
Para proporcionar a interação com um usuário, os sistemas e astécnicas aqui descritos podem ser implementados em um computador tendoum dispositivo de exposição (por exemplo, um CRT (tubo de raios catódicos)ou monitor de LCD (visor de cristal líquido)) para exposição de informaçãopara o usuário e um teclado e um dispositivo de indicação (por exemplo, ummouse ou um "trackbalf, pelo que o usuário pode proporcionar entrada parao computador. Outras espécies de dispositivos podem ser usados para pro-porcionar interação com um usuário, igualmente; por exemplo, a realimenta-ção proporcionada para o usuário pode ser qualquer forma de realimentaçãosensorial (por exemplo, realimentação visual, realimentação auditiva ou rea-limentação tátil); e entrada do usuário pode ser recebida em qualquer forma,incluindo entrada acústica, vocal ou tátil.
Os sistemas e técnicas aqui descrito podem ser implementadosem um sistema de computação que inclui um componente especializado tra-seiro (por exemplo, como um servidor de dados) ou que inclui um compo-nente mediador (por exemplo, um servidor de aplicação) ou que inclui umcomponente especializado dianteiro (por exemplo, um computador clientetendo uma interface gráfica do usuário ou um navegador da web através doqual um usuário pode interagir com uma implementação dos sistemas e téc-nicas aqui descritos) ou qualquer combinação desses componentes especia-Iizados traseiro, mediador ou dianteiro. Os componentes do sistema podemser interconectados por qualquer forma ou meio de comunicação de dadosdigitais (por exemplo, uma rede de comunicação). Exemplos de redes decomunicação incluem uma rede de área local ("LAN"), uma rede de área es-tendida ("WAN") e a Internet.
O sistema de computação pode incluir clientes e servidores. Umcliente e um servidor são, em geral, remotos um do outro e, tipicamente, in-teragem através de uma rede de comunicação. A relação de cliente e servi-dor se origina em virtude de programas de computador que estão sendo e-xecutados nos respectivos computadores e tendo uma relação de cliente -servidor, um com o outro.
Um número de implementações foram descritas. Não obstante,será compreendido que várias modificações podem ser feitas sem afasta-mento do espírito e do escopo da exposição. Em conseqüência, outras im-plementações estão dentro do escopo das reivindicações a seguir.

Claims (20)

1. Método implementado por computador compreendendo:armazenamento de parâmetros em uma ou mais tabelas de con-figurações, os parâmetros sendo personalizados para uma rede e uma apli-cação;instanciamento de um adaptador de rede personalizado para arede e a aplicação com base na invocação de um adaptador de rede genéri-co, que referencia, externamente, a uma ou mais tabelas de configurações;erealização de comunicação entre a aplicação e a rede usando oadaptador de rede instanciado.
2. Método, de acordo com a reivindicação 1, em que a realiza-ção de comunicação entre a aplicação e a rede usando o adaptador de redeinstanciado ainda compreende:recebimento de uma solicitação da aplicação para realizar umserviço na rede;identificação de comandos e uma seqüência dos comandos as-sociados com o serviço com base no referenciamento a um identificador úni-co do serviço em uma primeira tabela de configurações;transmissão de um comando, em seqüência, para a rede;recebimento de uma resposta para o comando da rede;identificação de um identificador único de mensagem associadocom a resposta com base na execução de expressões regulares relaciona-das em uma segunda tabela de configurações; edeterminação de um resultado final do comando com base nareferência ao identificador único de mensagem associado com a resposta eum identificador único do comando em uma terceira tabela de configurações.
3. Método, de acordo com a reivindicação 2, em que a efetuaçãode comunicação entre a aplicação e a rede usando o adaptador de rede ins-tanciado ainda compreende:determinação de um resultado final do serviço com base na de-terminação dos resultados finais de todos os comandos associados com oserviço;seleção de uma mensagem de retorno de XML1 incluindo variá-veis de General Adapter Declarative Expression (GADE)1 com base na refe-rência ao resultado final do serviço em uma quarta tabela de configurações;povoamento das variáveis GADE usando um ou mais valores deresultados associados com os resultados finais de todos os comandos asso-ciados com o serviço; efornecimento da mensagem de retorno de XML1 povoada comvalores de resultados, para a aplicação.
4. Método, de acordo com a reivindicação 2, em que o serviço éselecionado do grupo que consiste de um serviço desativável de porta deADSL, um serviço de parâmetros de modificação de ADSL ou um serviço deporta ativável de ADSL.
5. Método, de acordo com a reivindicação 2, ainda em que asexpressões regulares para cada resposta possível para o comando são rela-cionadas com identificadores únicos de mensagens associados na segundatabela de configurações.
6. Método, de acordo com a reivindicação 5, em que a segundatabela de configurações relaciona uma expressão regular para todas as res-postas previamente desconhecidas ou não-identificadas, enviadas pela rede,e um identificador único de mensagem para a expressão regular de capturade tudo.
7. Método, de acordo com a reivindicação 2, em que o resultadofinal identifica se o comando foi bem sucedida ou se um erro fatal ou não-fatal ocorreu e se a repetição for suprimida ou não suprimida.
8. Método, de acordo com a reivindicação 7, em que o resultadofinal ainda identifica um valor de resultado.
9. Método, de acordo com a reivindicação 1, em que a aplicaçãocompreende uma aplicação TELCORDIA® ACTIVATOR.
10. Método, de acordo com a reivindicação 1, em que o adapta-dor de rede genérico compreende um adaptador de rede baseado em JAVA EE.
11. Método, de acordo com a reivindicação 1, em que os parâ-metros compreendem valores para regras que implementam fluxos de pro-cesso.
12. Método, de acordo com a reivindicação 1, em que os parâ-metros compreendem respostas expressas como expressões regulares.
13. Método, de acordo com a reivindicação 1, em que os parâ-metros compreendem comandos capazes de serem enviados da aplicaçãopara a rede ou respostas para os comandos capazes de serem enviadas darede para a aplicação.
14. Método, de acordo com a reivindicação 1, ainda compreen-dendo invocação do adaptador genérico, usando uma carga única de confi-guração da uma ou mais tabelas de configurações.
15. Método, de acordo com a reivindicação 1, ainda compreen-dendo:detecção de um tipo da rede e da aplicação; eseleção da uma ou mais tabelas de configurações dentre umapluralidade de tabelas de configurações com base no tipo detectado da redee da aplicação.
16. Método, de acordo com a reivindicação 1, em que os parâ-metros compreendem ações associadas com um modo de modo de Ioop-back, um modo emulador de rede e um modo de rede.
17. Método, de acordo com a reivindicação 1, em que os parâ-metros compreendem definições de serviços.
18. Sistema compreendendo:um ou mais computadores; eum meio legível em computador acoplado a um ou mais compu-tadores, tendo instruções armazenadas que, quando executadas pelo um oumais computadores, fazem com que o um ou mais computadores realizemoperações compreendendo:armazenamento de parâmetros em uma ou mais tabelas de con-figurações, os parâmetros sendo personalizados para uma rede e uma apli-cação;instanciamento de um adaptador de rede personalizado para arede e a aplicação com base na invocação de um adaptador de rede genéri-co, que referencia, externamente, a uma ou mais tabelas de configurações;erealização de comunicação entre a aplicação e a rede usando oadaptador de rede instanciado.
19. Sistema, de acordo com a reivindicação 18, em que a reali-zação de comunicação entre a aplicação e a rede usando o adaptador derede instanciado ainda compreende:recebimento de uma solicitação da aplicação para realizar umserviço na rede;identificação de comandos e uma seqüência dos comandos as-sociados com o serviço com base no referenciamento a um identificador úni-co do serviço em uma primeira tabela de configurações;transmissão de um comando, em seqüência, para a rede;recebimento de uma resposta para o comando da rede;identificação de um identificador único de mensagem associadocom a resposta com base na execução de expressões regulares relaciona-das em uma segunda tabela de configurações; edeterminação de um resultado final do comando com base nareferência ao identificador único de mensagem associado com a resposta eum identificador único do comando em uma terceira tabela de configurações.
20. Meio de armazenamento de computador codificado com umprograma de computador, o programa compreendendo instruções que,quando executadas pelo aparelho de processamento de dados fazem comque o aparelho de processamento de dados realize operações compreen-dendo:armazenamento de parâmetros em uma ou mais tabelas de con-figurações, os parâmetros sendo personalizados para uma rede e uma apli-cação;instanciamento de um adaptador de rede personalizado para arede e a aplicação com base na invocação de um adaptador de rede genéri-co, que referencia, externamente, a uma ou mais tabelas de configurações;erealização de comunicação entre a aplicação e a rede usando oadaptador de rede instanciado.
BRPI0903299A 2009-05-11 2009-06-19 método implementado por computador, sistema e meio de armazenamento de computador BRPI0903299B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/463,737 US8019839B2 (en) 2009-05-11 2009-05-11 Enhanced network adapter framework

Publications (2)

Publication Number Publication Date
BRPI0903299A2 true BRPI0903299A2 (pt) 2011-02-01
BRPI0903299B1 BRPI0903299B1 (pt) 2020-01-21

Family

ID=42470861

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0903299A BRPI0903299B1 (pt) 2009-05-11 2009-06-19 método implementado por computador, sistema e meio de armazenamento de computador

Country Status (5)

Country Link
US (4) US8019839B2 (pt)
EP (1) EP2251787B1 (pt)
CN (1) CN101888320B (pt)
BR (1) BRPI0903299B1 (pt)
CA (1) CA2669500C (pt)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019839B2 (en) * 2009-05-11 2011-09-13 Accenture Global Services Limited Enhanced network adapter framework
JP2011096045A (ja) * 2009-10-30 2011-05-12 Hitachi Ltd 計算機、計算機システム、及び、アプリケーション実行方法
US8769075B2 (en) * 2012-01-18 2014-07-01 International Business Machines Corporation Use of a systems management tool to manage an integrated solution appliance
US9208007B2 (en) 2012-01-18 2015-12-08 International Business Machines Corporation Open resilience framework for simplified and coordinated orchestration of multiple availability managers
US9298446B2 (en) 2013-10-28 2016-03-29 International Business Machines Corporation Unified update tool for multi-protocol network adapter
US9582659B2 (en) * 2014-11-20 2017-02-28 International Business Machines Corporation Implementing extent granularity authorization and deauthorization processing in CAPI adapters
US9600642B2 (en) 2014-11-20 2017-03-21 International Business Machines Corporation Implementing extent granularity authorization processing in CAPI adapters
US20160149909A1 (en) 2014-11-20 2016-05-26 International Business Machines Corporation Implementing block device extent granularity authorization model processing in capi adapters
US9600428B2 (en) 2014-11-20 2017-03-21 International Business Machines Corporation Implementing extent granularity authorization command flow processing in CAPI adapters
CN104866383B (zh) * 2015-05-29 2018-11-23 北京金山安全软件有限公司 一种接口调用方法、装置及终端
US10104827B2 (en) * 2015-07-08 2018-10-23 The Royal Institution For The Advancement Of Learning/Mcgill University Guidance system and steering control device for an agricultural vehicle
US10235357B2 (en) * 2017-04-04 2019-03-19 Architecture Technology Corporation Community-based reporting and analysis system and method
US10831565B2 (en) * 2017-09-28 2020-11-10 Sap Se Fault tolerant adapter system to consume database as a service
US10951699B1 (en) * 2017-11-28 2021-03-16 EMC IP Holding Company LLC Storage system with asynchronous messaging between processing modules for data replication
CN112311567B (zh) * 2019-07-26 2022-04-05 华为技术有限公司 一种通信方法及装置
US11757991B2 (en) * 2021-07-22 2023-09-12 Cisco Technology, Inc. Common synchronization of device command into multiple synchronized single device tasks
FR3128840A1 (fr) * 2021-11-04 2023-05-05 Orange Supervision du fonctionnement d’un service de transmission de données mis en œuvre selon au moins deux technologies différentes
CN114374609B (zh) * 2021-12-06 2023-09-15 东云睿连(武汉)计算技术有限公司 基于rdma设备的深度学习作业运行方法及系统

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452239A (en) 1993-01-29 1995-09-19 Quickturn Design Systems, Inc. Method of removing gated clocks from the clock nets of a netlist for timing sensitive implementation of the netlist in a hardware emulation system
US6848014B2 (en) 2001-01-23 2005-01-25 Symbol Technologies, Inc. Adapter unit for a personal digital assistant having automatically configurable application buttons
US7337245B2 (en) 1999-03-26 2008-02-26 Dearborn Group, Inc. Protocol adapter for passing diagnostic messages between vehicle networks and a host computer
US7283635B1 (en) 1999-12-09 2007-10-16 Plantronics, Inc. Headset with memory
US6690757B1 (en) 2000-06-20 2004-02-10 Hewlett-Packard Development Company, L.P. High-speed interconnection adapter having automated lane de-skew
US7159823B1 (en) 2000-10-10 2007-01-09 Cerberus Institute For Research And Development, Inc. Rapid deployment of troops and cargo
US7380006B2 (en) 2000-12-14 2008-05-27 Microsoft Corporation Method for automatic tuning of TCP receive window based on a determined bandwidth
EP1342343B1 (de) 2000-12-23 2006-11-08 Hirschmann Electronics GmbH & Co. KG Automatische konfiguration von komponenten eines netzwerkes
US7210162B2 (en) 2000-12-27 2007-04-24 Koninklijke Philips Electronics N.V. DVB-ASI signal inverting adapter and system
US7127517B2 (en) 2000-12-27 2006-10-24 International Business Machines Corporation Protocol adapter framework for integrating non-IIOP applications into an object server container
EP1233590A1 (en) 2001-02-19 2002-08-21 Sun Microsystems, Inc. Content provider for a computer system
US7284267B1 (en) 2001-03-08 2007-10-16 Mcafee, Inc. Automatically configuring a computer firewall based on network connection
US20030093471A1 (en) * 2001-10-18 2003-05-15 Mitch Upton System and method using asynchronous messaging for application integration
US7650325B2 (en) * 2001-11-13 2010-01-19 International Business Machines Corporation Dynamic interface adapter for integration of source and target applications
ITBO20020082A1 (it) 2002-02-19 2003-08-19 Dalex S R L Gruppo operativo per tendine con rullo avvolgitore
US7266622B2 (en) 2002-03-25 2007-09-04 International Business Machines Corporation Method, computer program product, and system for automatic application buffering
EP1506478B1 (en) * 2002-03-28 2008-07-23 Sap Ag Exchange infrastructure system and method
US7093013B1 (en) 2002-06-19 2006-08-15 Alcatel High availability system for network elements
US7181048B2 (en) 2002-06-28 2007-02-20 Hewlett-Packard Development Company, L.P. Biometric capture adapter for digital imaging devices
US20040216147A1 (en) * 2002-07-18 2004-10-28 Motorola, Inc. Component based application middleware framework
US7219149B2 (en) * 2003-06-12 2007-05-15 Dw Holdings, Inc. Versatile terminal adapter and network for transaction processing
IL152768A (en) 2002-11-11 2008-04-13 Rit Techn Ltd Retrofit kit for interconnect cabling system
US7300421B1 (en) 2002-11-26 2007-11-27 Suzanne L. Lowry Safety syringe and safety syringe adapter
US7127541B2 (en) 2002-12-23 2006-10-24 Microtune (Texas), L.P. Automatically establishing a wireless connection between adapters
US7191450B2 (en) * 2003-02-06 2007-03-13 International Business Machines Corporation Data-driven application integration adapters
US7277529B1 (en) 2003-02-27 2007-10-02 Cingular Wireless Ii, Llc System and method for voice mail service in an environment having multiple voice mail technology platforms
US20040181753A1 (en) * 2003-03-10 2004-09-16 Michaelides Phyllis J. Generic software adapter
US7395540B2 (en) 2003-03-12 2008-07-01 Microsoft Corporation Automated business software application integration
US7188345B2 (en) * 2003-03-19 2007-03-06 International Business Machines Corporation Installation of data-driven business integration adapters
US7426726B1 (en) 2003-03-31 2008-09-16 Emc Corporation System and method for configuring a host for operationally cooperating with data storage system and including selective host adapter settings
US7104896B2 (en) 2003-06-11 2006-09-12 Wwm Enterprises, Inc. Offset motor mount adaptor device
US7305724B2 (en) 2003-07-08 2007-12-11 Baby Wize, Llc Stowable baby bathinette
US7089826B2 (en) 2003-07-09 2006-08-15 Ford Motor Company Automatic tool attachment apparatus
US7182108B2 (en) 2003-09-30 2007-02-27 Submersible Systems, Inc. Automatic bleed valve for pressurized system
US20050114378A1 (en) * 2003-11-24 2005-05-26 Microsoft Corporation System and method for providing a standardized adaptor framework
US7241244B2 (en) 2003-11-25 2007-07-10 Dura Global Technologies, Inc. Actuator for shift-by-wire automatic transmission system
US7156131B2 (en) 2003-12-01 2007-01-02 Societe Bic Method and apparatus for filling a fuel container
US7224784B2 (en) 2003-12-19 2007-05-29 International Business Machines Corporation Subscriber service management
US7406698B2 (en) 2003-12-30 2008-07-29 Microsoft Corporation Driver framework component for synchronizing interactions between a multi-threaded environment and a driver operating in a less-threaded software environment
US7421709B2 (en) * 2004-01-05 2008-09-02 Information Builders, Inc. Framework for adapter used in enterprise application integration
EP1738573B1 (en) 2004-01-16 2015-08-26 Tekelec Global, Inc. Methods, systems, and computer program products for providing configurable telecommunications detail record adapter
US7302108B2 (en) 2004-02-04 2007-11-27 Dell Products L.P. System and method for creating information handling system restore media
US7412548B2 (en) 2004-03-04 2008-08-12 Rockwell Automation Technologies, Inc. Intelligent self-determining I/O device
US7325019B2 (en) 2004-03-12 2008-01-29 Network Appliance, Inc. Managing data replication policies
US7395352B1 (en) 2004-03-12 2008-07-01 Netapp, Inc. Managing data replication relationships
US7139907B2 (en) 2004-04-29 2006-11-21 International Business Machines Corporation Method and apparatus for implementing distributed SCSI devices using enhanced adapter reservations
US7252353B2 (en) 2004-05-27 2007-08-07 Silverbrook Research Pty Ltd Printer controller for supplying data to a printhead module having one or more redundant nozzle rows
US7281777B2 (en) 2004-05-27 2007-10-16 Silverbrook Research Pty Ltd Printhead module having a communication input for data and control
US7281330B2 (en) 2004-05-27 2007-10-16 Silverbrook Research Pty Ltd Method of manufacturing left-handed and right-handed printhead modules
US7377609B2 (en) 2004-05-27 2008-05-27 Silverbrook Research Pty Ltd Printer controller for at least partially compensating for erroneous rotational displacement
US7314261B2 (en) 2004-05-27 2008-01-01 Silverbrook Research Pty Ltd Printhead module for expelling ink from nozzles in groups, alternately, starting at outside nozzles of each group
US7266661B2 (en) 2004-05-27 2007-09-04 Silverbrook Research Pty Ltd Method of storing bit-pattern in plural devices
US7267417B2 (en) 2004-05-27 2007-09-11 Silverbrook Research Pty Ltd Printer controller for supplying data to one or more printheads via serial links
US7275805B2 (en) 2004-05-27 2007-10-02 Silverbrook Research Pty Ltd Printhead comprising different printhead modules
US7290852B2 (en) 2004-05-27 2007-11-06 Silverbrook Research Pty Ltd Printhead module having a dropped row
US7093989B2 (en) 2004-05-27 2006-08-22 Silverbrook Research Pty Ltd Printer comprising two uneven printhead modules and at least two printer controllers, one which spends print data to the other
US7374266B2 (en) 2004-05-27 2008-05-20 Silverbrook Research Pty Ltd Method for at least partially compensating for errors in ink dot placement due to erroneous rotational displacement
US7243193B2 (en) 2004-05-27 2007-07-10 Silverbrook Research Pty Ltd Storage of program code in arbitrary locations in memory
US7188928B2 (en) 2004-05-27 2007-03-13 Silverbrook Research Pty Ltd Printer comprising two uneven printhead modules and at least two printer controllers, one of which sends print data to both of the printhead modules
US7390071B2 (en) 2004-05-27 2008-06-24 Silverbrook Research Pty Ltd Printer controller for supplying data to a printhead module having a dropped row
US7328956B2 (en) 2004-05-27 2008-02-12 Silverbrook Research Pty Ltd Printer comprising a printhead and at least two printer controllers connected to a common input of the printhead
US7120463B2 (en) 2004-06-01 2006-10-10 Radioshack, Corp. Network interface cassette adapter and method
US7266390B2 (en) 2004-06-01 2007-09-04 Radioshack Corporation Network interface cassette adapter and method
US7121653B2 (en) 2004-07-08 2006-10-17 Greater Computer Corporation Negative-pressure control device for ink-supply system
US7364109B2 (en) 2004-07-14 2008-04-29 First Class Electrical Co., Ltd. Cable reel
US7475150B2 (en) * 2004-09-07 2009-01-06 International Business Machines Corporation Method of generating a common event format representation of information from a plurality of messages using rule-based directives and computer keys
US7376546B2 (en) 2004-11-08 2008-05-20 Lsi Corporation User configurable ultra320 SCSI target device simulator and error injector
US7349779B2 (en) 2004-12-21 2008-03-25 Deere & Company Automatic steering system
US7284912B2 (en) 2005-01-12 2007-10-23 Illum Technologies, Inc. Multi fiber optical interconnect system, with push—push type insertion/withdrawal mechanism, MT-type connector and shuttered adapter and method for using same
US7357653B2 (en) 2005-06-06 2008-04-15 Proconn Technology Co., Ltd. Dual-slot memory card adapter
US7281953B1 (en) 2005-08-05 2007-10-16 Unisys Corporation Computer card adapter
US7273434B1 (en) 2005-08-16 2007-09-25 Carl Rossler Automatic transmission brake for racing vehicles
US7395367B2 (en) 2005-10-27 2008-07-01 International Business Machines Corporation Method using a master node to control I/O fabric configuration in a multi-host environment
US7309039B1 (en) 2006-07-18 2007-12-18 Stone James W Fishing reel power device
KR100855495B1 (ko) * 2007-03-13 2008-09-01 삼성전자주식회사 휴대용 단말기의 네트워크 파라미터 자동설정 장치 및 방법
US8606768B2 (en) * 2007-12-20 2013-12-10 Accenture Global Services Limited System for providing a configurable adaptor for mediating systems
US8051191B2 (en) * 2008-04-28 2011-11-01 Microsoft Corporation Ethernet extensibility
US8019839B2 (en) * 2009-05-11 2011-09-13 Accenture Global Services Limited Enhanced network adapter framework

Also Published As

Publication number Publication date
US20110295985A1 (en) 2011-12-01
US8019839B2 (en) 2011-09-13
US8533302B2 (en) 2013-09-10
CN101888320B (zh) 2015-01-07
CN101888320A (zh) 2010-11-17
EP2251787B1 (en) 2020-03-18
CA2669500A1 (en) 2010-11-11
US20100287264A1 (en) 2010-11-11
US9015290B2 (en) 2015-04-21
US9015291B2 (en) 2015-04-21
EP2251787A3 (en) 2012-01-04
EP2251787A2 (en) 2010-11-17
BRPI0903299B1 (pt) 2020-01-21
US20130013758A1 (en) 2013-01-10
US20130013751A1 (en) 2013-01-10
CA2669500C (en) 2016-10-11

Similar Documents

Publication Publication Date Title
BRPI0903299A2 (pt) estrutura de adaptador de rede aprimorado
US8844017B2 (en) Software firewall control
EP1782215B1 (en) A generic framework for deploying ems provisioning services
CN107533476B (zh) 支持分布式事务处理环境中的有效载荷数据收集的方法、系统、存储介质及装置
US7647370B1 (en) Screen scraping interface
US8683488B2 (en) System and method for automatically generating computer code for message flows
US20070124502A1 (en) Script language based network device configuration management system and method
US10439887B2 (en) Generic test framework for service interfaces
US8738746B2 (en) Configuration management for real-time server
US20190327138A1 (en) System and method for network provisioning
US20200389374A1 (en) System and method of provisioning, upgrading and tracking solutions in a multi tenanted platform
WO2024030113A1 (en) System and method for bulk update of resource data for view parameters
CN108769249A (zh) iOS高性能高扩展网络架构及实现方法、服务器及介质
US11567923B2 (en) Application driven data change conflict handling system
CN115766419B (zh) 一种分布式环境下数字序列号生成方法和装置
CN110716748B (zh) 业务处理方法、装置、计算机可读介质及电子设备
CN109358972A (zh) 中间件客户端的日志管理方法、装置及计算机系统

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]
B25A Requested transfer of rights approved

Owner name: ACCENTURE INTERNATIONAL SARL (LU)

Free format text: TRANSFERIDO DE: ACCENTURE GLOBAL SERVICES GMBH.

B25A Requested transfer of rights approved

Owner name: ACCENTURE GLOBAL SERVICES LIMITED (IE)

Free format text: TRANSFERIDO DE: ACCENTURE INTERNATIONAL SARL

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06T Formal requirements before examination [chapter 6.20 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: G05B 19/04 , G06F 3/06

Ipc: G06F 9/445 (1990.01), G06F 9/54 (2000.01), H04L 12

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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