BRPI0915217B1 - Método para processar um formato tlv de dados de comunicação - Google Patents

Método para processar um formato tlv de dados de comunicação Download PDF

Info

Publication number
BRPI0915217B1
BRPI0915217B1 BRPI0915217-2A BRPI0915217A BRPI0915217B1 BR PI0915217 B1 BRPI0915217 B1 BR PI0915217B1 BR PI0915217 A BRPI0915217 A BR PI0915217A BR PI0915217 B1 BRPI0915217 B1 BR PI0915217B1
Authority
BR
Brazil
Prior art keywords
type
function
code sequence
decoding
value
Prior art date
Application number
BRPI0915217-2A
Other languages
English (en)
Inventor
Xinping Zhang
Original Assignee
Zte Corporation
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 Zte Corporation filed Critical Zte Corporation
Publication of BRPI0915217A2 publication Critical patent/BRPI0915217A2/pt
Publication of BRPI0915217B1 publication Critical patent/BRPI0915217B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Devices For Executing Special Programs (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

a presente invenção provê um método para processar um formato tlv de dados de comunicação, que inclui as seguintes etapas: definir um tipo t de um tipo inteiro em um formato asn.1; um lado transmissor preencher uma mensagem no formato asn.1, com a mensagem incluindo o exemplo de estrutura de dados; e o lado transmissor codificar a mensagem em uma sequência de códigos, em que a sequência de códigos do exemplo da estrutura de dados na mensagem inclui um v, ou inclui um tipo inteiro do v, um l do v, e o v. a presente invenção pode executar a comunicação entre diferentes versões de asn.1.

Description

Campo da Invenção
[001] A presente invenção se refere ao campo de comunicação, e em particular a um método para processar um formato TLV de dados de comunicação.
Estado da Técnica
[002] A Notação de Sintaxe Abstrata (Abstract Syntax Notation 1), doravante ASN.1, é um método padrão para descrever um formato de mensagem transmitida em uma rede definida pela União Internacional de Telecomunicações (International Telecommunications Union), abreviadamente ITU, que é utilizado para prover um formato padrão para troca de dados entre nós. Cada nó precisa apenas conhecer um formato de dados que é traduzido da ASN.1 ou traduzido na ASN.1, assim, um formato em que dados existam em outros locais da rede é desnecessário.
[003] A ASN.1 possui duas partes: a primeira parte (ISO 8824/ITU X.208) descreve os dados, um tipo de dado, e um formato de sequência em uma mensagem, que é uma sintaxe de dados; e a segunda parte (ISO 8825/ITU X.209) descreve uma regra relativa a como constituir uma mensagem pelos dados de partes respectivas, que é uma regra básica de codificação de dados. A ASN.1 foi inicialmente desenvolvida como parte da X.409 e se tornou, mais tarde, um padrão independente. O padrão da Infraestrutura de Chave Pública (Public Key Infrastructure) da primeira geração, abreviadamente PKI, é essencialmente baseado na ASN.1. Em um Protocolo Simples de Gerência de Rede (Simple Network Management Protocol) abreviadamente SNMP, a ASN.1 é utilizada para definir um formato e uma unidade de dados SNMP de um objeto.
[004] A ASN.1 é amplamente aplicada no campo de comunicação, computação e em outros campos. A mensagem ASN.1 possui as propriedades especiais que seguem. 1. A mensagem é constituída por uma estrutura ramificada que pode definir mensagens alocadas em multicamadas conforme o desejado. 2. O tipo de dados de um nó na mensagem pode ser um tipo de dados simples, por exemplo, INTEGER, GRAPHICSTRING, ENUM, etc., ou um tipo de dados compostos contendo um nó secundário, por exemplo, SET, SEQUENCE, SET OF, SEQUENCE OF. 3. No tipo SET ou no tipo SEQUENCE, um determinado nó pode estar ausente uma vez que o nó correspondente pode ser programado como OPTIONAL, significando que ele não é essencial. Ao utilizar um arquivo ASN.1, um tipo ASN.1 é definido primeiramente no arquivo ASN.1 e depois correspondido por um compilador, de modo que o tipo ASN.1 se torne um tipo de linguagem de programação intermediária, tal como uma linguagem Java ou C++, e então um tipo de linguagem de programação correspondente é utilizado para obter êxito com o propósito de comunicação. 4. A ASN.1 suporta a codificação BER, a codificação DER, a codificação VAL, etc., que podem codificar um exemplo de um tipo de linguagem intermediária em uma sequência de códigos e descodificar a sequência de códigos em um exemplo do tipo de linguagem intermediária correspondente. 5. O formato de definição utilizado pela ASN.1 é: “NewStructName ::= defining a message”, p.ex.: UserNameList-T::= SEQUENCE OF UserName-T, que indica que o tipo UserNameList-T é definido como um conjunto com UserName-T como um elemento.
[005] Em uma arquitetura Cliente/Servidor (Client/Server), C/S, de um programa de computador, o Cliente e o Servidor necessitam comunicar-se entre si. A mensagem de comunicação geralmente possui dois formatos: um formato privado e um formato padrão, p.ex. protocolos de ASN.1, SNMP, etc.
[006] Um método comum de utilização da mensagem ASN.1 em um programa do tipo C/S inclui: 1. estabelecer uma conexão entre um terminal de cliente e um terminal de servidor; 2. o terminal de cliente interagir com o terminal de servidor por meio de um protocolo, incluindo: 1) um lado transmissor de mensagem preencher um cabeçalho de mensagem e um corpo de mensagem da mensagem ASN.1, em que o cabeçalho da mensagem inclui um código de comando, e o corpo da mensagem utiliza um tipo AsnAny com seu tipo de dados reais variando de acordo com o código de comando; 2) o lado transmissor de mensagem codificar a mensagem em uma sequência de códigos e enviá-la ao lado receptor de mensagem; 3) o lado receptor de mensagem receber a sequência de códigos da mensagem, decodificar o cabeçalho da mensagem, e depois decodificar o corpo da mensagem utilizando um tipo de dados específico de acordo com o código comum lá contido; e 4) o lado receptor de mensagem dar uma resposta correspondente de acordo com o conteúdo da mensagem; 3. finalizar a interação e desconectar a conexão.
[007] Em comunicação, dados que são constituídos de acordo com o formato “tipo de dados, tamanho dos dados, corpo dos dados” são representados por “Tipo, Tamanho, Valor” (“Type, Length, Value”), que doravante é chamado de modo abreviado de formato TLV. É muito conveniente e altamente eficiente utilizar um formato TLV para constituir dados, adequados especialmente para dados de tamanhos variados. A constituição do conteúdo de um corpo de dados em uma camada de uma aplicação geralmente utiliza tal formato. A codificação BER na ASN.1 é na verdade uma codificação TLV.
[008] Na técnica relacionada, o tipo de dados T na codificação TLV não pode ser customizado por um usuário. Se o mesmo type name não for definido do mesmo modo em diferentes versões, o Cliente e o Servidor podem não se comunicar. Isto quer dizer que, as versões de protocolos de mensagem no terminal do Cliente e no terminal do Servidor devem ser consistentes. Se elas não forem consistentes, os dois lados não conseguem interagir um com o outro.
Sumário da Invenção
[009] Em virtude do problema presente nas técnicas relacionadas acerca da falha de comunicação entre o Cliente e o Servidor quando as versões de protocolos de mensagem dos dois lados não são consistentes, a presente invenção é proposta. Assim, a presente invenção visa fornecer um método aperfeiçoado para processar um formato TLV de dados de comunicação para resolver o problema acima nas técnicas relacionadas.
[010] Nos modos de execução da presente invenção, provê-se um método para processar um formato TLV de dados de comunicação, que inclui as seguintes etapas: definir um tipo T de um tipo inteiro em um formato ASN.1; um lado transmissor preencher uma mensagem no formato ASN.1 com a mensagem incluindo uma instância de estrutura de dados; e o lado transmissor codificar a mensagem em uma sequência de códigos, em que a sequência de códigos do exemplo da estrutura de dados na mensagem inclui um valor V, ou inclui o V, um tipo inteiro de V, e um tamanho Ldo V.
[011] Preferencialmente, definir o tipo inteiro no formato ASN.1 compreende particularmente: programar o formato ASN.1 para permitir a definição do tipo inteiro; e definir uma estrutura de tipo inteiro em um formato de “string type name [X]:: =defining a structure”, em que o X se refere ao tipo inteiro.
[012] Preferencialmente, definir a estrutura do tipo inteiro no formato de “string type name [X]:: =defining a structure” compreende particularmente: configurar a estrutura do tipo inteiro como um tipo SEQUENCE, SET ou CHOICE com o mesmo type name, e especificar que se o membro da estrutura necessitar ser modificado, somente é permitido um aumento líquido ou redução líquida dos membros e somente é permitido modificar um membro final mas não é permitido modificar o tipo.
[013] Preferencialmente, o método para processar o formato TLV compreende adicionalmente: configurar um compilador de formato ASN.1 com uma função para processar o tipo inteiro.
[014] Preferencialmente, o método para processar o formato TLV compreende adicionalmente: obter, através de uma função, o tipo inteiro em um tipo C++ no formato ASN. 1.
[015] Preferencialmente, a etapa do lado transmissor codificar a mensagem na sequência de códigos compreende: solicitar uma função de codificação de valor, uma função de codificação de tamanho, e uma função de codificação de tipo inteiro por uma função de codificação de integração, ou solicitar somente a função de codificação de valor pela função de codificação de integração, para codificar a mensagem na sequência de códigos; a função de codificação de tipo inteiro ser utilizada para obter o tipo inteiro da sequência de códigos de acordo com a codificação de dados na instância de estrutura de dados; a função de codificação de valor ser utilizada para codificar dados simples da instância de estrutura de dados no V da sequência de códigos conforme o exemplo da estrutura de dados de um tipo de dados simples; a função de codificação de valor ser utilizada para sequencialmente solicitar a função de codificação de integração de membros individuais na instância de estrutura de dados conforme a instância de estrutura de dados do tipo SEQUENSE ou SET; e a função de codificação de valor ser utilizada para codificar um membro selecionado na instância de estrutura de dados no V da sequência de códigos conforme o exemplo da estrutura de dados do tipo CHOICE, em que o V compreende o número de sequência do membro selecionado em CHOICE e o membro selecionado.
[016] Preferencialmente, quando o tipo inteiro é 0 ou ausente, a função de codificação de integração solicita somente a função de codificação de valor, e quando o tipo inteiro não é 0, a sequência de códigos compreende o V, o tamanho L de V, e um tipo inteiro.
[017] Preferencialmente, o método para processar o formato TLV compreende adicionalmente: um lado receptor decodificar a sequência de códigos.
[018] Preferencialmente, decodificar a sequência de códigos compreende particularmente: solicitar uma função de decodificação de valor, uma função de decodificação de tamanho, e uma função de decodificação de tipo inteiro através de uma função de decodificação de integração, ou solicitar somente a função de decodificação de valor através da função de decodificação de integração, para decodificar a sequência de códigos; a função de decodificação de tipo inteiro ser utilizada para decodificar a sequência de códigos de acordo com o tipo inteiro na sequência de códigos; a função de decodificação de valor ser utilizada para decodificar o V na sequência de códigos em dados simples na instância de estrutura de dados conforme a instância de estrutura de dados de um tipo de dados simples; a função de decodificação de valor ser utilizada para decodificar sequencialmente o V na sequência de códigos em membros individuais na instância de estrutura de dados do tipo SEQUENSE ou SET; a função de decodificação de valor ser utilizada para decodificar sequencialmente o V na sequência de códigos em elementos individuais de um conjunto na instância de estrutura de dados conforme o exemplo de estrutura do tipo SEQUENSE OF ou SET OF, durante o que é julgado se o tamanho da sequência de decod if icação na estrutura é menor que L, e se for menor que L, é dado prosseguimento à decodificação, caso contrário, a decodificação na presente estrutura é interrompida; e a função de decodificação de valor ser utilizada para decodificar um número de sequência na sequência de códigos e um membro correspondente ao número de sequência conforme a instância de estrutura de dados do tipo CHOICE, em que se o membro correspondendo ao número de sequência não existe na presente estrutura, a função de decodificação de valor é finalizada.
[019] Preferencialmente, a etapa de solicitar a função de decodificação de valor, a função de decodificação de tamanho, e a função de decodificação de tipo inteiro pela função de decodificação de integração ou solicitar somente a função de decodificação de valor pela função de decodificação de integração para decodificar a sequência de códigos compreende particularmente: determinar se o tipo inteiro é 0 ou ausente pela função de decodificação de integração; se ele não for 0 ou não ausente, solicitar a função de decodificação de valor, a função de decodificação de tamanho, e a função de decodificação de tipo inteiro, em que a função de decodificação de valor é solicitada para decodificar o tipo inteiro na sequência de códigos para verificar se o tipo inteiro obtido é consistente com seu próprio tipo inteiro, e se não for consistente, a decodificação será considerada anormal, a função de decodificação de tamanho é solicitada para decodificar o L na sequência de códigos, e então a função de decodificação de valor é solicitada para decodificar V na sequência de códigos, se o tamanho vL obtido pela decodificação do V for menor que L, os bytes L-vL são saltados; e se ele for 0 ou ausente, solicitar somente a função de decodificação de valor.
[020] Os métodos para processar o formato TLV nos modos de execução acima da presente invenção podem solucionar o problema de diferentes versões de protocolos não poderem se intercomunicar por meio da adição de um método para estender o T no formato ASN.1 de modo a realizar a intercomunicação entre diferentes versões do ASN.1 e realizar um método TLV orientado para objetos.
[021] Outras características e vantagens da presente invenção são descritas nas partes subsequentes da descrição e, além disso, ficam parcialmente evidentes com a descrição, ou entendidas ao se implementar a presente invenção. O objetivo e outras vantagens da presente invenção podem ser realizados e obtidos por uma estrutura particularmente indicada na descrição, nas reivindicações e nos desenhos.
Breve Descrição dos Desenhos
[022] As figuras aqui ilustradas viabilizam um melhor entendimento da presente invenção e fazem parte do presente pedido. Os modos de execução ilustrativos da presente invenção e a sua descrição são utilizados para exporá presente invenção sem indevidamente limitar a presente invenção, em que: - a Fig. 1 é um fluxograma de um método para processar um formato TLV de dados de comunicação de acordo com um modo de execução da presente invenção; - a fig. 2 é um diagrama esquemático de um processo de desenvolvimento em que um cliente e um servidor compartilham um mesmo ambiente de desenvolvimento de linguagem de acordo com um modo de execução preferencial da presente invenção; - a Fig. 3 é uma vista de um processo de desenvolvimento em diferentes ambientes de desenvolvimento de linguagem de acordo com um modo de execução preferencial da presente invenção; - a Fig. 4 é um diagrama esquemático de um processo de desenvolvimento em que um cliente e um servidor utilizam diferentes ambientes de desenvolvimento de linguagem e diferentes versões de protocolo de acordo com um modo de execução preferencial da presente invenção; - a Fig. 5 é um diagrama esquemático de um sistema de herança de tipos de classes de base ESNACC C++ de acordo com um modo de execução preferencial da presente invenção; e - a Fig. 6 é um fluxograma de uma função de decodificação integral TLV de acordo com um modo de execução.
Descrição Detalhada dos Modos de Execução Preferenciais Resumo das Funcionalidades
[023] Em consideração ao problema presente na técnica relacionada em que há falha na comunicação entre o Cliente e o Servidor quando as versões dos protocolos de mensagem dos dois lados não são consistentes, um método para processar um formato TLV de dados de comunicação é provido pelos modos de execução da presente invenção. No presente modo de execução, um método para estender o T é adicionado ao formato ASN.1 e uma mensagem é preenchida no formato ASN.1 estendido, desse modo supera-se o problema de diferentes versões de protocolos não poderem intercomunicar e executa-se a intercomunicação entre diferentes versões da ASN.1 e um métodos orientado a objetos TLV.
[024] A presente invenção será a partir daqui descrita em detalhes com referência às figuras e em combinação com os modos de execução. Se não originar conflitos, os modos de execução da presente invenção e as características dos modos de execução podem ser combinados entre si. Cumpre esclarecer que as etapas ilustradas nos fluxogramas das figuras podem ser implementadas em um sistema computacional como um conjunto de instruções executáveis em computador. Alem do mais, embora uma ordem lógica seja mostrada nos fluxogramas, as etapas mostradas ou descritas podem ser executadas em ordens diferentes em algumas determinadas situações.
[025] A Fig. 1 é um fluxograma de um método para processar um formato TLV de dados de comunicação de acordo com um modo de execução da presente invenção, incluindo as seguintes etapas: - etapa S10, definir um tipo T de um tipo inteiro em um formato ASN.1; - etapa S20, um lado transmissor preencher uma mensagem no formato ASN.1 com a mensagem incluindo uma instância de estrutura de dados; e - etapa S30, o lado transmissor codificar a mensagem em uma sequência de códigos, em que a sequência de códigos do exemplo da estrutura de dados na mensagem inclui um valor V, ou inclui o V, o tipo inteiro de V e o tamanho L do V.
[026] O método para processar o formato TLV supera o problema de diferentes versões de protocolos não poderem se intercomunicar, e realiza a intercomunicação entre diferentes versões da ASN.1 e um método TLV orientado a objeto uma vez que o método de estender o T é utilizado no formato ASN.1.
[027] O processamento acima é descrito em detalhes a seguir.
(I) Etapa S10
[028] A operação de definir o tipo inteiro no formato ASN.1 pode compreender especificamente: configurar o formato ASN.1 para permitir a definição do tipo inteiro; e definir uma estrutura do tipo inteiro em um formato de “string type name [X]:: =defining a structure”, em que o X refere-se ao tipo inteiro. De modo mais específico, uma sintaxe estendida é adicionada à sintaxe ASN.1 para suportar um tipo X autodefinido (i.e., o T no TLV), que é definido opcionalmente entre o type name e o símbolo “:: =”. Se nenhum X for provido, X é tido como 0, assim tais dados somente contêm V mas não X e L em uma sequência de códigos correspondente.
[029] De modo específico, a operação de definir a estrutura do tipo inteiro no formato de “string type name [X]:: =defining a structure” compreende particularmente: configurar a estrutura do tipo inteiro como um tipo de SEQUENCE, SET ou CHOICE com o mesmo type name, e especificar que se o seu membro precisar ser modificado, somente é permitido um aumento líquido ou redução líquida dos membros e somente é permitido modificar um membro final mas não é permitido modificar o tipo. Seguindo as regras acima, a compatibilidade de uma mensagem de protocolo novo com uma mensagem de protocolo antigo pode ser obtida. A fim de facilitar o gerenciamento do tipo de mensagem de protocolo, pode ser requerido que uma versão nova do protocolo somente possa ser estendida com base no tipo de uma versão antiga do protocolo, e os membros estendidos somente podem estar no final de um tipo original, mas não podem ser reduzidos.
[030] Na etapa S10, uma vez que o formato ASN.1 é configurado para permitir a definição do tipo inteiro, tal que o formato ASN.1 compilador pode ser provido com a função de processar o tipo inteiro. Preferencialmente, o tipo inteiro pode ser obtido por meio de uma função em um tipo C++ no formato ASN.1.
(II) Etapa S20
[031] A operação do lado transmissor codificar a mensagem na sequência de códigos compreende especificamente: solicitar uma função de codificação de valor, uma função de codificação de tamanho, e uma função de codificação de tipo inteiro por uma função de codificação de integração, ou solicitar somente a função de codificação de valor pela função de codificação de integração para codificar a mensagem na sequência de códigos. A função de codificação de tipo inteiro é utilizada para obter o tipo inteiro da sequência de códigos de acordo com a codificação de dados na instância de estrutura de dados s. Especificamente, a função de codificação de valor é utilizada para codificar dados simples na instância de estrutura de dados no V da sequência de códigos como conforme a instância de estrutura de dados de um tipo de dados simples. A função de codificação de valor é utilizada para solicitar sequencialmente a função de codificação de integração de membros de individuais na instância de estrutura de dados conforme a instância de estrutura de dados do tipo SEQUENSE ou SET. A função de codificação de valor é utilizada para solicitar sequencialmente a função de codificação de integração de elementos individuais de um conjunto na instância de estrutura de dados conforme a instância de estrutura de dados do tipo SEQUENSE OF ou SET OF. A função de codificação de valor é utilizada para codificar um membro selecionado na instância de estrutura de dados no V da sequência de códigos conforme a instância de estrutura de dados do tipo CHOICE, em que o V compreende o número de sequência do membro selecionado em CHOICE e o membro selecionado.
[032] Preferencialmente, quando o tipo inteiro é 0 ou ausente, a função de codificação de integração solicita somente a função de codificação de valor, isto é, a sequência de códigos compreende somente o V ou compreende o V e o tipo inteiro = 0. Quando o tipo inteiro não é 0, a função de codificação de integração solicita a função de codificação de valor, a função de codificação de tamanho e a função de codificação de tipo inteiro, isto é, a sequência de códigos compreende o V, o tamanho L do V, e um tipo inteiro.
[033] O lado transmissor que processa o formato TLV é descrito conforme acima. No que tange um lado receptor, o método para processar o formato TLV adicionalmente compreende: o lado de recepção decodificar a sequência de códigos.
[034] Preferencialmente, a operação de decodificar a sequência de códigos particularmente inclui: - solicitar uma função de decodificação de valor, uma função de decodificação de tamanho, e uma função de decodificação de tipo inteiro por uma função de decodificação de integração, ou solicitar somente a função de decodificação de valor pela função de decodificação de integração para decodificar a sequência de códigos; utilizar a função de decodificação de tipo inteiro para decodificar a sequência de códigos de acordo com o tipo inteiro na sequência de códigos; utilizar a função de decodificação de valor para decodificar o V na sequência de códigos em dados simples na instância de estrutura de dados conforme a instância de estrutura de dados de um tipo de dados simples; utilizar a função de decodificação de valor para decodificar sequencialmente o V na sequência de códigos em elementos individuais na instância de estrutura de dados conforme a instância de estrutura de dados do tipo SEQUENSE ou SET; utilizar a função de decodificação de valor para decodificar sequencialmente o V na sequência de códigos em elementos individuais de um conjunto na instância de estrutura de dados conforme a instância de estrutura de dados do tipo SEQUENSE OF ou SET OF, durante o que é julgado se o tamanho de uma sequência de decodificação na estrutura é menor do que L, e se for menor que L, é dado prosseguimento à decodificação, caso contrário, a decodificação na presente estrutura é finalizada; e utilizar a função de decodificação de valor para decodificar o número de sequência na sequência de códigos e um membro correspondendo ao número de sequência conforme na instância de estrutura de dados do tipo CHOICE, em que se o membro correspondendo ao número de sequência não existe na presente estrutura, a função de decodificação de valor é finalizada.
[035] Preferencialmente, a operação de solicitar a função de decodificação de valor, a função de decodificação de tamanho, e a função de decodificação de tipo inteiro pela função de decodificação de integração ou solicitar somente a função de decodificação de valor pela função de decodificação de integração para decodificar a sequência de códigos particularmente compreende: - determinar se o tipo inteiro é 0 ou ausente por meio da função de decodificação de integração em que se não for 0 ou não for ausente, solicita-se a função de decodificação de valor, a função de decodificação de tamanho, e a função de decodificação de tipo inteiro, em que a função de decod if icação de valor é solicitada para decodificar o tipo inteiro na sequência de códigos para verificar se o tipo inteiro obtido é consistente com seu próprio tipo inteiro, e se ele não for consistente, considera-se a decodificação como anormal, então a função de decodificação de tamanho é solicitada para decodificar o L na sequência de códigos, e em seguida a função de decodificação de valor é solicitada para decodificar o V na sequência de códigos, e se o tamanho vL obtido pela decodificação de V é menor que L, os bytes de L-vL são saltados; e se ele é 0 ou ausente, solicita-se somente a função de decodificação de valor.
[036] A função de decodificação de integração determina primeiramente se seu próprio T é 0. Se não é 0, o T é decodificado, e verifica- se se o T decodificado é consistente com seu T, em que se não for consistente, considera-se a decodificação como anormal, então L é decodificado, e em seguida V é decodificado, em que se o comprimento vL do V decodificado é menor do que L, os bytes do L-vL são saltados para equilibrar o tamanho do tipo atual; se for 0, V é decodificado diretamente.
[037] Funções virtuais solicitadas pelas funções de codificação e funções de decodificação acima são adicionadas às classes de base ASN.1 em um módulo básico C ++ de ASN. 1, e as classes e funções de seus membros solicitadas pelas funções de codificação e decodificação acima são adicionadas a um compilador C++ de ASN1.
[038] O modo de execução preferível acima inclui dois módulos funcionais: um módulo básico e um compilador. O módulo básico executa o suporte às classes de base TLV e algumas funções de suporte. O compilador executa a análise de um arquivo ASN.1, e gera classes que correspondem aos vários tipos ASN.1 e funções de membros das classes. Em um aplicativo, a mensagem definida por tal protocolo TLV é utilizada não somente para realizar a interação com mensagens de protocolo de mesma versão, mas para realizar também a interação entre o Cliente e o Servidor com as mensagens de protocolo novo e antigo para assegurar as regras de codificação para a interação C/S dos protocolos de versões diferentes. Os modos de execução da presente invenção podem ser executados independentemente ou de modo ampliado em qualquer plataforma compiladora ASN.1 existente.
[039] A Fig. 2 mostra um procedimento de desenvolvimento em que o Cliente e o Servidor compartilham um mesmo ambiente de desenvolvimento de linguagem de acordo com um modo de execução preferencial da presente invenção, em que ambos o Cliente e o Servidor são desenvolvidos utilizando C++. O processo de desenvolvimento inclui: A. um desenvolvedor de especificação de interface definir um arquivo de interface ASN.1 e gerar um arquivo .h de interface e um arquivo.cpp de interface utilizar um compilador Asn.1 C++; B. um desenvolvedor de Servidor gravar um código de Servidor e compilá-lo com o arquivo.h de interface e o arquivo.cpp de interface em um programa de servidor executável; C. um desenvolvedor de Cliente gravar um código de Cliente e compilá-lo com o arquivo.h de interface e o arquivo.cpp de interface em um programa de Cliente executável; e D. o programa de Cliente executável e o programa de Servidor executável, ao serem executados, interagirem e se comunicarem utilizando o módulo básico de Asn.1 C++.
[040] A Fig. 3 mostra um procedimento de desenvolvimento em ambientes diferentes de desenvolvimento de linguagem de acordo com um modo de execução preferível da presente invenção, em que o Cliente utiliza java para se desenvolver, e o Servidor utiliza C++ para se desenvolver. O procedimento de desenvolvimento inclui: A. um desenvolvedor de especificação de interface definir um arquivo de interface ASN.1, gerar um arquivo.h de interface e um arquivo.cpp de interface utilizando um compilador Asn.1 C++ para um desenvolvedor C++, e gerar um arquivo Java de interface utilizando um compilador Asn.1 java para um desenvolvedor java; B. um desenvolvedor de Servidor gravar um código de Servidor e compilá-lo com o arquivo.h de interface e o arquivo.cpp de interface em um programa de Servidor executável; C. um desenvolvedor de Cliente gravar um código de Cliente e compilá-lo com o arquivo.java de interface em um programa de Cliente executável; e D. o programa de Cliente executável e o programa de Servidor executável, ao serem executados, interagirem e se comunicarem utilizando os módulos básicos Asn.1 de suas respectivas linguagens.
[041] A Fig. 4 mostra um procedimento de desenvolvimento no qual o Cliente e o Servidor utilizam ambientes diferentes de desenvolvimento de linguagem e versões de protocolo diferentes de acordo com um modo de execução preferencial da presente invenção, em que o Servidor utiliza uma versão antiga, o Cliente desenvolve-se com java, e o Servidor desenvolve-se com C++, que é um procedimento de desenvolvimento relativamente complexo. Nas etapas de execução, ambos o Cliente e o Servidor desenvolvem-se com C++. O procedimento inclui: - um desenvolvedor de especificação de interface definir um arquivo de interface versão 2.asn ao desenvolver uma nova versão baseada em um arquivo de interface versão 1 .asn definido para a versão antiga, e compilar duas versões respectivamente para gerar arquivos de execução de interface C++ e Java; - um desenvolvedor de Servidor gravar um código de Servidor na versão antiga e compilá-lo com um arquivo de interface versão 1 .h e um arquivo de interface versão l.cpp em um arquivo de execução de Servidor executável; - um desenvolvedor de Cliente gravar um código de Cliente em uma nova versão e compilá-lo com o arquivo de interface 2.java em um arquivo de execução de cliente executável; e - o programa de Cliente executável e o programa de Servidor executável, ao serem executados, interagirem e se comunicarem utilizando os módulos básicos Asn.1 de suas respectivas linguagens.
[042] A Fig. 5 mostra um sistema de herança de tipos de classe de base ESNACC C++ de acordo com um modo de execução preferível da presente invenção, o diagrama hierárquico de relacionamento de herança da classe de base ESNACC, em que a AsnType é a classe de base de mais alto nível. A AsnType é uma classe de base abstrata. Nesta base, alguns tipos simples são herdados para suportar tipos de dados de base ASN.1 tais como Asnlnt, AsnReal, AsnRelativeOid, AsnAny, AsnOcts, AsnBool, AsnNull, e asnString, em que Asnlnt é derivado de PERGgeneral, AsnEnum é derivado de Asnlnt; AsnOid é derivado de AsnRelativeOid; AsnList é um tipo intermediário para realizar outros tipos Asn.1; AsnSetOf e AsnSeqOf são derivados de AsnList; o std::string e std::list de uma biblioteca de modelos padrão são utilizados para suportar adicionalmente SEQUENCE OF, SET OF, etc. Alguns string types aplicados tais como VisibleString, Graphicstring, laδString, PrintableString, NumericString são derivadas de urn string type básico AsnString, em que GeneralizedTime e UTCTime são derivados de VisibleString.
[043] A Fig. 6 é um fluxograma de uma função de decodificação integral TLV de acordo com um modo de execução preferencial da presente invenção.
[044] Doravante, de acordo com a necessidade de uma entidade de gerenciamento de rede, as regras de codificação e de decodificação de mensagem TLV são executadas com base no ESNACC, que é uma plataforma de compilação de ASN.1 de código aberto. A presente invenção é executável por meio da utilização de qualquer linguagem de programação orientada a objetos. O presente pedido é descrito essencialmente em conjunto com C++. Outras linguagens de programação orientadas a objetos talvz também podem ser utilizadas, tal como a linguagem JAVA.
(I) Origem da Necessidade
[045] Quanto às entidades de gerenciamento de rede, uma entidade de gerenciamento de rede precisa frequentemente controlar vários dispositivos de elementos de rede. Diferentes dispositivos possuem diferentes versões, e a entidade de gerenciamento de rede por si só também possui diferentes versões. As entidades de gerenciamento de rede e o software do dispositivo precisam da interação de mensagem. A fim de reduzir a dependência de versão das entidades de gerenciamento de rede e do software do dispositivo, as entidades de gerenciamento de rede precisam controlar os dispositivos de elementos de rede em um modo de versão compatível, sendo assim, uma regra de protocolo é necessária para atender a necessidade.
(II) Plataforma de Compilação
[046] O ESNACC é um compilador ASN.1 de código aberto e suporta a codificação BER e a codificação PER. Um módulo de base ASN.1 provido pelo compilador. O compilador ASN.1 geralmente provê um compilador e um módulo de suporte básico, e o compilador compila um arquivo ASN.1 para gerar um código de linguagem de programação específico, tal como C++ e java. Os tipos da ASN.1 são compilados nas classes de uma linguagem de programação. O módulo de suporte básico provê suporte para a execução dos códigos gerados. As regras de codificação e decodificação TLV são realizadas pela modificação do compilador e do módulo de suporte básico.
(III) Execução de Regras Específicas de Codificação TLV
[047] Em um processo de execução, requer-se que a sequência de códigos seja depurada e que a sequência de códigos TLV seja lida, assim, o T utiliza dois bytes, e L utiliza quatro bytes, e o formato é da ordem de rede. Outros formatos podem ser utilizados na prática para armazenar T e L, tal como o formato de representação no BER com relação ao tamanho. 1. A sintaxe é estendida na ASN.1 para suportar um T autodefinido, por exemplo: QxString32 [10 ]::= Graphicstring (32) NameAndStringValue-E [30] ::= SEQUENCE { name QxString32 .value QxString32 }
[048] 0 T é inserido nos colchetes antes de e pode ser representado em vários formatos, tais como um sistema decimal e um sistema hexadecimal. A sintaxe é um item opcional, assim, é impossível que a situação seja T representado como 0. 2. As mensagens definidas dos seguintes modos podem se comunicar entre uma versão antiga e uma versão nova. 1. ) Definindo a Versão Antiga ANode [0xF001]:: = SEQUENCE { a1 QxUlntδ. a2 QxUlnt32. } BNode [0xF003]::= SEQUENCE { b1 QxUlnt32. b2 QxUlnt16. c3 QxUlnt32 } CNode [0xF005]::= SEQUENCE { a ANode, b Bnode } 2. ) Definindo a Versão Nova ANode [0xF001]::= SEQUENCE { a1 QxUInt8, a2 QxUInt32, d3 QxUInt32, d4 QxUInt32 } BNode [0xF003]::= SEQUENCE b1 QxUInt32, b2 QxUInt16, } CNode [0xF005]::= SEQUENCE { a ANode, b BNode }
[049] Nas versões antiga e nova, membros d3 e d4 são adicionados ao final do ANnode da versão nova, enquanto um membro c3 é deletado do BNode. Estes e o CNode podem obter a compatibilidade e a interação da versão com o método da presente invenção. Da sequência de códigos da mensagem da versão antiga à mensagem da versão nova, o d3 e o d4 utilizam valores pré- definidos, enquanto a sequência de códigos de c3 é omitida. Da sequência de códigos da mensagem da versão nova à mensagem da versão antiga, as sequências de códigos de d3 e d4 são omitidas, enquanto que o valor de c3 é um valor pré-definido. Outros dados são consistentes entre as versões nova e antiga. 3. O arquivo de sintaxe ASN.1 do ESNACC é modificado para suportar o compilador para analisar e escanear o T. Durante a execução, o T é colocado na informação de descrição da classe META das classes. 4. Funções de codificação e decodificação são adicionadas à classe de base básica do ESNACC, que são essencialmente uma função de codificação de integração, uma função de codificação de valor, e uma função de decodificação de integração e uma função de codificação de valor. Os protótipos das funções podem ser como segue: - a função de codificação de integração: virtual AsnLen TIvEnc (AsnBuf &_b); - a função de codificação de V: virtual AsnLen TIvEncContent (AsnBuf &_b); - a função de decodificação de integração: virtual AsnLen TIvDec (AsnBuf &_b, AsnLen&bytesDecoded); e - a função de decodificação de valor: virtual AsnLen TIvDecContent (AsnBuf &_b, short iT, AsnLen iL, AsnLen & bytesDecoded);
[050] No acima mencionado, b é um parâmetro de sequência de códigos, byteDecoded é o número acumulado de bytes de uma sequência de códigos de mensagem decodificada, iT é o T da sequência de códigos, iL é o L da sequência de códigos, e valores de retorno de TIvEnc e TIvEncContent são os comprimentos de sequências de códigos de codificação. Os valores de retorno de TlvDec e de TlvDecContext são os números de bytes decodificados nas funções. Com base no modo de execução, o protótipo das funções varia conforme o necessário. 5. O compilador é modificado no ESNACC para executar a geração de códigos de várias funções de codificação e decodificação, que são essencialmente uma função de codificação de valor e uma função de decodificação de valor. Considerando que as funções de decodificação e codificação de integração podem ser universais para vários tipos, os processos de codificação e de decodificação foram descritos com referência à Fig. 5 e no processo acima de operação de codificação e decodificação da sequência de códigos. 6. De acordo com a descrição detalhada da etapa S10 acima, uma interface de arquivo.asn de versão nova/antiga é feita e uma mensagem .h de interface e uma mensagem .cpp de interface são geradas, e ambos o Cliente e o Servidor utilizam C++ para editar. Desse modo, de maneira tal como mostrado na Fig. 3, a interação e a comunicação entre diferentes versões do Cliente e do Servidor podem ser realizadas.
[051] Cumpre ressaltar que para um técnico no assunto, varias possíveis modificações ou substituições podem ser feitas de acordo com a descrição da solução técnica e os modos de execução específicos da presente invenção, tais como a posição e o formato do T, o formato de L, a compressão e os formatos de criptografia possivelmente utilizados, e as funções de executar a presente invenção podem ser diferentes e, além disso, a invenção pode ser executada até ao se utilizar a modalidade do operador codificar em vez das funções dos membros.
[052] Da descrição acima, torna-se evidente que, a presente invenção concretiza os seguintes efeitos técnicos: 1. converter um tipo em uma sequência de códigos por meio de um método de codificação; 2. decodificar a sequência de códigos em um exemplo de classe por meio de um método de decodificação; 3. possibilitar a comunicação entre protocolos de versões diferentes; 4. auto definir um tipo T; 5. possibilitar a comunicação entre programas de linguagens distintas; e 6. executar uma capacidade de processamento altamente abstrata devido à utilização de um mecanismo de função virtual de uma linguagem orientada a objeto.
[053] O presente método para processar um formato TLV é em si universal e não depende de um compilador ASN.1 específico e de uma linguagem específica orientada a objeto. Mesmo em uma linguagem estruturada, tal codificação e decodificação TLV podem ser executadas.
[054] Obviamente, um técnico no assunto compreenderá que os módulos respectivos ou as etapas respectivas acima da presente invenção podem ser realizados por um dispositivo de computação universal. Eles podem ser integrados em um único dispositivo de computação ou ser distribuídos por uma rede composta de múltiplos dispositivos de computação. Opcionalmente, podem ser executados utilizando um código de programa executável pelo dispositivo de computação, assim, eles podem ser armazenados em um dispositivo de armazenamento a ser executado pelo dispositivo de computação ou fabricados em respectivos módulos de circuito integrado, ou suas etapas ou módulos múltiplos serem fabricados em um único módulo de circuito integrado a ser executado. Desse modo, a presente invenção não está limitada a nenhuma combinação específica de hardware e de software.
[055] As descrições acima são apenas modos de execução preferenciais da presente invenção, os quais não são utilizados para restringir a presente invenção. A presente invenção pode ter várias modificações e alterações. Quaisquer modificações, substituições equivalentes, melhorias etc. que estão abarcadas pelo espírito e o princípio da presente invenção estão todas incluídas no escopo de proteção da presente invenção.

Claims (10)

1. MÉTODO PARA PROCESSAR UM FORMATO TLV DE DADOS DE COMUNICAÇÃO, onde TLV se refere à Tipo-Tamanho-Valor, caracterizado pelo fato de compreender as seguintes etapas: definir um tipo, T, de um tipo inteiro em um formato de Notação de Sintaxe Abstrata 1, ASN.1; um lado transmissor preencher uma mensagem no formato ASN.1 com a mensagem incluindo uma instância de estrutura de dados; e o lado transmissor codificar a mensagem em uma sequência de códigos em que a sequência de códigos da instância de estrutura de dados na mensagem inclui um valor, V, ou inclui o V, o tipo inteiro do V, e um tamanho L do V; em que, quando o tipo inteiro é 0 ou ausente, a sequência de códigos compreende somente V, e quando o tipo inteiro não é 0, a sequência de códigos compreende o V, o tamanho L de V e o tipo inteiro.
2. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que, a etapa de definir o tipo inteiro no formato ASN.1 compreende particularmente: programar o formato ASN. 1 para permitir a definição do tipo inteiro; e definir uma estrutura do tipo inteiro em um formato de “string type name [X]:: =defining a structure”, em que o X se refere ao tipo inteiro.
3. MÉTODO, de acordo com a reivindicação 2, caracterizado pelo fato de que, a etapa de definir a estrutura do tipo inteiro em um formato de “string type name [X]:: =defining a structure” compreende particularmente: configurar a estrutura do tipo inteiro como um tipo de SEQUENCE, SET ou CHOICE com o mesmo type name, e especificar que se o membro da estrutura necessitar ser modificado, somente é permitido um aumento líquido ou redução líquida dos membros e somente é permitido modificar um membro final mas não é permitido modificar o tipo.
4. MÉTODO, de acordo com a reivindicação 3, caracterizado pelo fato de compreender adicionalmente: configurar um compilador de formato ASN.1 com uma função para processar o tipo inteiro.
5. MÉTODO, de acordo com a reivindicação 4, caracterizado pelo fato de compreender adicionalmente: obter, por meio de uma função, o tipo inteiro em um tipo C++ no formato ASN.1.
6. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que, a etapa do lado transmissor codificar a mensagem na sequência de códigos compreende: solicitar uma função de codificação de valor, uma função de codificação de tamanho, e uma função de codificação de tipo inteiro por uma função de codificação de integração, ou solicitar somente a função de codificação de valor pela função de codificação de integração, para codificar a mensagem na sequência de códigos; a função de codificação de tipo inteiro ser usada para obter o tipo inteiro da sequência de códigos de acordo com a codificação de dados na instância de estrutura de dados; a função de codificação de valor ser usada para codificar dados simples da instância de estrutura de dados no V da sequência de códigos conforme instância de estrutura de dados de um tipo de dados simples; a função de codificação de valor ser usada para solicitar sequencialmente a função de codificação de integração de membros individuais na instância de estrutura de dados para a instância de estrutura de dados do tipo SEQUENCE ou SET; a função de codificação de valor ser usada para solicitar sequencialmente a função de codificação de integração de membros individuais de um arranjo na instância de estrutura de dados conforme a instância de estrutura de dados do tipo SEQUENCE OF ou SET OF; e a função de codificação de valor ser usada para codificar um membro selecionado da instância de estrutura de dados no V da sequência de códigos conforme a instância de estrutura de dados do tipo CHOICE, em que o V compreende o número de sequência do membro selecionado no CHOICE e o membro selecionado.
7. MÉTODO, de acordo com a reivindicação 6, caracterizado pelo fato de que, quando o tipo inteiro é 0 ou ausente, a função de codificação de integração solicita somente a função de codificação de valor; e quando o tipo inteiro não é 0, a sequência de códigos compreende o V, o tamanho L do V, e um tipo inteiro.
8. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato cte-compreender adicionalmente: um lado receptor que decodifica a sequência de códigos.
9. MÉTODO, de acordo com a reivindicação 8, caracterizado pelo fato de que a etapa de decodificar a sequência de códigos compreende particularmente: solicitar uma função de decodificação de valor, uma função de decodificação de tamanho, e uma função de decodificação de tipo inteiro por uma função de decodificação de integração, ou solicitar somente a função de decodificação de valor pela função de decodificação de integração, para decodificar a mensagem a sequência de códigos; a função de decodificação de tipo inteiro ser usada para decodificar a sequência de códigos de acordo com o tipo inteiro na sequência de códigos; a função de decodificação de valor ser usada para decodificar o V da sequência de códigos em dados simples na instância de estrutura de dados conforme a instância de estrutura de dados de um tipo de dados simples; a função de decodificação de valor ser usada para decodificar sequencialmente o V da sequência de códigos em dados de membros individuais na instância de estrutura de dados conforme a instância de estrutura dados do tipo SEQUENCE ou SET; a função de decodificação de valor ser usada para decodificar sequencialmente o V da sequência de códigos em elementos individuais de um conjunto na instância de estrutura de dados conforme a instância de estrutura de dados do tipo SEQUENCE OF ou SET OF, durante o que é julgado se o tamanho de uma sequência de decodificação na estrutura é menor que L, e se for menor que L, é dado prosseguimento à decodificação, caso contrário, a decodificação na estrutura presente é interrompida; e a função de decodificação de valor ser usada para decodificar um número de sequência na sequência de códigos e um membro correspondendo ao número de sequência conforme a instância de estrutura de dados do tipo CHOICE, em que se o membro correspondendo ao número de sequência não existir na estrutura presente, a função de decodificação de valor é finalizada.
10. MÉTODO, de acordo com a reivindicação 9, caracterizado pelo fato de que, a etapa de solicitar a função de decodificação de valor, a função de decodificação de tamanho, e a função de decodificação de tipo inteiro pela função de decodificação de integração ou solicitar somente a função de decodificação de valor pela função de decodificação de integração para decodificar a sequência de códigos compreende particularmente: determinar se o tipo inteiro é 0 ou ausente pela função de decodificação de integração; se não for 0 ou não ausente, solicitar a função de decodificação de valor, a função de decodificação de tamanho, e a função de decodificação de tipo inteiro, em que a função de decodificação de valor é solicitada para decodificar o tipo inteiro na sequência de códigos para verificar se o tipo inteiro obtido é consistente com o próprio tipo inteiro, e se não for consistente, a decodificação será considerada anormal, a função de decodificação de tamanho é solicitada para decodificar o L na sequência de códigos, e então a função de decodificação de valor é solicitada para decodificar o V na sequência de códigos; se o tamanho vL obtido pela decodificação de V for menor do que L, os bytes L-vL são saltados; e se for 0 ou ausente, solicitar somente a função de decodificação de valor.
BRPI0915217-2A 2008-07-02 2009-02-10 Método para processar um formato tlv de dados de comunicação BRPI0915217B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200810137647.3 2008-07-02
CN2008101376473A CN101316241B (zh) 2008-07-02 2008-07-02 用于通信数据的tlv格式处理方法
PCT/CN2009/070391 WO2010000139A1 (zh) 2008-07-02 2009-02-10 用于通信数据的tlv格式处理方法

Publications (2)

Publication Number Publication Date
BRPI0915217A2 BRPI0915217A2 (pt) 2016-09-13
BRPI0915217B1 true BRPI0915217B1 (pt) 2020-10-06

Family

ID=40107085

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0915217-2A BRPI0915217B1 (pt) 2008-07-02 2009-02-10 Método para processar um formato tlv de dados de comunicação

Country Status (7)

Country Link
US (1) US20110134939A1 (pt)
EP (1) EP2302864B1 (pt)
CN (1) CN101316241B (pt)
BR (1) BRPI0915217B1 (pt)
ES (1) ES2659396T3 (pt)
RU (1) RU2473180C2 (pt)
WO (1) WO2010000139A1 (pt)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101316241B (zh) * 2008-07-02 2013-05-01 中兴通讯股份有限公司 用于通信数据的tlv格式处理方法
CN103246671A (zh) * 2012-02-09 2013-08-14 中兴通讯股份有限公司 抽象语法标记文件的处理方法及装置
CN103036877A (zh) * 2012-12-10 2013-04-10 北京中创信测科技股份有限公司 一种基于tlv格式协议的编解码代码生成装置及方法
US10109983B2 (en) 2016-04-28 2018-10-23 Hewlett Packard Enterprise Development Lp Devices with quantum dots
US10566765B2 (en) 2016-10-27 2020-02-18 Hewlett Packard Enterprise Development Lp Multi-wavelength semiconductor lasers
US10680407B2 (en) 2017-04-10 2020-06-09 Hewlett Packard Enterprise Development Lp Multi-wavelength semiconductor comb lasers
US10396521B2 (en) 2017-09-29 2019-08-27 Hewlett Packard Enterprise Development Lp Laser
WO2019190345A1 (ru) * 2018-03-30 2019-10-03 Публичное Акционерное Общество "Сбербанк России" Система управления сетью pos-терминалов
CN109298866A (zh) * 2018-09-26 2019-02-01 杭州米加科技股份有限公司 基于c语言的tlv格式协议快速解析方法
US11271792B2 (en) * 2019-01-18 2022-03-08 Hewlett Packard Enterprise Development Lp Using a recursive parser tree to implement a smaller code segment for an embedded simple network management protocol agent
CN113742294A (zh) * 2021-08-23 2021-12-03 宜通世纪科技股份有限公司 一种asn.1-per信令消息解码方法、系统、装置及介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473691A (en) * 1993-11-05 1995-12-05 Microsoft Corporation System and method for computer data transmission
US5649189A (en) * 1995-11-29 1997-07-15 3Com Corporation Method and apparatus for single pass data encoding of binary words using a stack for writing in reverse order
US6356955B1 (en) * 1996-02-15 2002-03-12 International Business Machines Corporation Method of mapping GDMO templates and ASN.1 defined types into C++ classes using an object-oriented programming interface
JP3531536B2 (ja) * 1999-05-28 2004-05-31 日本電気株式会社 抽象構文記法を用いたデータ構造定義における型情報の動的割り当て方法
FI20002720A (fi) * 2000-12-12 2002-06-13 Nokia Corp Menetelmä konversioiden suorittamiseksi
US6883164B2 (en) * 2000-12-15 2005-04-19 International Business Machines Corporation Strategy for dynamically modeling ASN.1 data to an object model
EP1400784A1 (de) * 2002-09-14 2004-03-24 Leica Geosystems AG Verfahren und Vorrichtungen zur Nutzung von Daten in nicht direkt verarbeitbaren Datenformaten
CN100505743C (zh) * 2003-12-12 2009-06-24 华为技术有限公司 通用消息解释器的实现方法
US20050181787A1 (en) * 2004-02-18 2005-08-18 Judd Tom D. Systems and methods for encoding and decoding data messages
US6999010B2 (en) * 2004-04-16 2006-02-14 Ares International Corporaton Table look-up method for abstract syntax notation encoding/decoding system
CN101197818A (zh) * 2006-12-08 2008-06-11 中兴通讯股份有限公司 一种asn.1报文面向对象的处理方法
CN101159743B (zh) * 2007-10-22 2010-06-23 中兴通讯股份有限公司 Asn.1编解码函数自动生成中的数据类型选择方法
CN100530193C (zh) * 2007-10-25 2009-08-19 中兴通讯股份有限公司 复杂抽象语法标识对象的存储方法
US7996523B2 (en) * 2008-01-17 2011-08-09 Fluke Corporation Free string match encoding and preview
CN101316241B (zh) * 2008-07-02 2013-05-01 中兴通讯股份有限公司 用于通信数据的tlv格式处理方法

Also Published As

Publication number Publication date
CN101316241B (zh) 2013-05-01
EP2302864B1 (en) 2017-11-15
BRPI0915217A2 (pt) 2016-09-13
CN101316241A (zh) 2008-12-03
ES2659396T3 (es) 2018-03-15
RU2473180C2 (ru) 2013-01-20
EP2302864A1 (en) 2011-03-30
US20110134939A1 (en) 2011-06-09
RU2011103630A (ru) 2012-08-10
EP2302864A4 (en) 2013-11-20
WO2010000139A1 (zh) 2010-01-07

Similar Documents

Publication Publication Date Title
BRPI0915217B1 (pt) Método para processar um formato tlv de dados de comunicação
WO2017054531A1 (zh) 一种基于yang模型的编译方法、及对应的接口、组件和系统
ES2559680T3 (es) Dispositivo de gestión orientado a objetos para mensaje ASN.1
US7818732B2 (en) Transfer syntax notational system and method
WO2003102767A2 (en) Method and system for providing a command-line interface syntax from an xml specification
US20070106998A1 (en) Mobility system and method for messaging and inter-process communication
EP1779593A2 (en) Method and apparatus for converting network management protocol to markup language
US8250587B2 (en) Non-persistent and persistent information setting method and system for inter-process communication
US6976263B2 (en) Mechanism for encoding and decoding upgradeable RPC/XDR structures
CN114024821A (zh) 一种北向接口的管理方法及装置
US20070106778A1 (en) Information and status and statistics messaging method and system for inter-process communication
Engelen A framework for service-oriented computing with C and C++ Web service components
Booth et al. High-Rate Delay Tolerant Networking (HDTN) User Guide Version 1.3. 0
Lopes et al. Development of a library for clients of ONVIF video cameras: challenges and solutions
Pfisterer et al. Energy-optimized data serialization for heterogeneous WSNs using middleware synthesis
US20170031660A1 (en) Methods for utilizing powershell modules in .net applications and devices thereof
Kövesdán et al. Modeling Cloud Messaging with a Domain-Specific Modeling Language.
US11973660B1 (en) Method and system for data model mapping for network management
Schwab et al. Universal Explorer for the Web of Things
KR101042358B1 (ko) 계층 네트워크의 망 관리 시스템
COMPUTING Degree Thesis in LABORATORY OF NETWORKING M
Räsänen Development of Nokia’s 5G testing tool: Expanding functionality to CP-E2 component
Konovalov et al. with Symbolic Computation Software Composability Protocol
Protocol SCSCP
Huang Constructive specification and synthesis of agents for custom and cross RPC

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted

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