BR102014024137A2 - método para controlar a comunicação de dados - Google Patents

método para controlar a comunicação de dados Download PDF

Info

Publication number
BR102014024137A2
BR102014024137A2 BR102014024137A BR102014024137A BR102014024137A2 BR 102014024137 A2 BR102014024137 A2 BR 102014024137A2 BR 102014024137 A BR102014024137 A BR 102014024137A BR 102014024137 A BR102014024137 A BR 102014024137A BR 102014024137 A2 BR102014024137 A2 BR 102014024137A2
Authority
BR
Brazil
Prior art keywords
data
frame
descriptor
port
message
Prior art date
Application number
BR102014024137A
Other languages
English (en)
Inventor
Pavlo Bobrek
Original Assignee
Ge Aviat Systems Llc
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 Ge Aviat Systems Llc filed Critical Ge Aviat Systems Llc
Publication of BR102014024137A2 publication Critical patent/BR102014024137A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/564Attaching a deadline to packets, e.g. earliest due date first
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Abstract

método para controlar a comunicação de dados. trata-se de um método para controlar a comunicação de dados em uma rede de comunicações que tem um servidor de dados central (28) que fornece dados através de múltiplas filas de dados (40). os dados que chegam ao servidor de dados central (28) podem ser armazenados em cada uma das múltiplas filas de dados (40). os dados nas múltiplas filas de dados (40) podem então ser supridos ao servidor de dados central (28) com base em um plano predeterminado.

Description

“MÉTODO PARA CONTROLAR A COMUNICAÇÃO DE DADOS” Antecedentes da Invenção [001] Para aeronaves contemporâneas, uma "plataforma" aviônica consiste em uma variedade de elementos tais como sensores, concentradores de dados de sensor, uma rede de comunicações de dados, sensores de frequência de rádio e equipamento de comunicação, elementos computacionais, efetores e visores gráficos. Esses componentes devem compartilhar informações uns com os outros pela rede de comunicações de dados.
[002] Encarnações de herança desses elementos de plataforma estão na forma de elementos de subsistema individuais normalmente denominados “sistemas federados”. Um sistema federado é um subsistema de aplicativo especifico em um pacote autocontido que tem a própria lógica dedicada, processadores e interfaces de entrada/saída. Os sistemas federados múltiplos e separados dependem de subconjuntos comuns de fontes de dados, mas carecem do compartilhamento de recursos de processamento e interfaces dentre sistemas federados.
[003] Esforços anteriores para reduzir a dependência em sistemas federados resultaram na introdução dos padrões ARINC 653 e ARINC 664. O ARINC 653 (A653) é um sistema operacional em que cada aplicativo, por exemplo, associado a uma função do sistema federado, é concedido à própria partição de fatia de tempo e a própria partição de espaço de memória nas quais se executa. Isso habilitou o que eram múltiplas funções de sistemas federados a serem hospedados em um processador comum e a compartilhar uma interface comum e gravar em uma rede de dados aviônica com base na parte 7 do ARINC 664 (A664p7).
[004] Nesses sistemas, os dados são amostrados, publicados e transmitidos em uma frequência mais alta e um aplicativo executado em uma partição de ARINC 653 é executado mais frequentemente a fim de assegurar que os resultados produzidos por um aplicativo têm atraso em tempo de amostra de dados de entrada para saída processada suficientemente baixa. Ambas a frequência da taxa de publicação de dados e a frequência de execução de aplicativo tendem a ser mais frequentes do que seria necessário se os dados e os processamentos fossem sincronizados.
Breve Descrição da Invenção [005] E uma realização, a invenção se refere a um método para controlar a comunicação de dados em uma rede de comunicações que tem um servidor de dados central (CDS) que fornece dados através de múltiplas filas de dados, o método inclui armazenar palavras de dados de chegada que chegam a cada uma das múltiplas filas de dados, determinar um tempo de conclusão de armazenamento para cada palavra de dados armazenada nas filas de dados, armazenar um identificador de fila em uma memória (FIFO) primeiro a entrar, primeiro a sair para cada palavra de dados armazenada em ordem cronológica de acordo com o tempo de conclusão determinado, selecionar a fila de dados para servir o CDS com base no identificador de fila na localização de memória mais antiga na memória FIFO e servir a palavra de dados ema das múltiplas filas que correspondem ao identificador de fila selecionado.
Breve Descrição das Figuras [006] Nos desenhos: A Figura 1 é uma vista esquemática de uma rede de comunicações de dados para uma aeronave de acordo com uma realização da invenção. A Figura 2 é uma vista esquemática do servidor de dados aviônicos de acordo com uma realização da invenção.
Descrição das Modalidades da Invenção [007] As realizações descritas da presente invenção são direcionadas a realizações de uma rede de comunicações de dados aviônicos, que tem um servidor de dados aviônicos (ADS) e componentes para uma aeronave, que suporta a necessidade de distribuir qualquer fonte de valores de dados para qualquer destino na aeronave, Embora possível, as realizações dessa invenção não precisam impor a exigência de que todos os caminhos de dados da aeronave devam passar pela rede de comunicações de dados já que existirão certos fluxos de ponta a ponta, por exemplo, para os quais não haverá vantagens para passar os mesmos através do ADS. Entretanto, pelo menos a maioria dos fluxos de dados que precisam de conversão, interfuncionamento, processamento, sincronização, moldagem de tráfego, policiamento, multidifusão, etc. podem se beneficiar da funcionalidade que o ADS fornece.
[008] Como mostrado esquematicamente na Figura 1, uma aeronave 10 é mostrada como tendo uma pluralidade de unidades de entrada remota (RIUs) 12, por exemplo, diversos sensores ou instrumentos e pelo menos uma unidade se assinante 14 eletricamente conectada a uma rede de comunicações de dados 16 para operação da aeronave 10. Cada RIU 12 pode fornecer dados, ou quadros de dados, para a rede de comunicações de dados 16 e cada unidade de assinante 14 pode consumir uma mensagem com base em pelo menos alguns dos dados brutos. As unidades de assinante 14 podem, por exemplo, incluir sistemas aviônicos adicionais, processadores, visores, ou sistemas de verificação de redundância. As RIUs 12 e as unidades de assinante 14 podem fornecer e consumir dados em taxas de transmissão de dados diferentes, que são gerenciadas efetivamente pela rede de comunicações de dados. As RIUs 12 adicionais e/ou unidades de assinante 14, ou colocação das unidades 12, 14 são vislumbradas. Será compreendido que, embora uma realização da invenção seja mostrada em um ambiente de aeronave, a invenção não é tão limitada e tem aplicação geral a redes de comunicação de dados em aplicações que não dizem respeito a aeronaves, tais como outras aplicações móveis e aplicações não móveis industriais, comerciais e residenciais.
[009] A Figura 2 mostra um diagrama em bloco de alto nível da rede de comunicações de dados, que inclui o Servidor de Dados Aviônicos (ADS) 18. O ADS 18 pode compreender uma pluralidade de RÍUs 20 físicas conectadas a uma interface de ingresso comum 22; um escalonador de porta de ingresso 24; um gerenciador de descritor de quadro (FDM) 25 que tem uma tabela de consulta de descritor (DLT) 26, um agente controlador 27 e distribuidor de multidifusão do descritor (DMD) 29; um servidor de dados central (CDS) 28; um escalonador de mensagem paramétrica de egresso (PMS) 30 que tem um construtor de mensagem paramétrica (PMC) 31; uma pluralidade de unidades de assinante físicas 32 conectadas a uma interface de egresso comum 34; e uma pluralidade de enlaces virtuais 36.
[010] Cada RIU 20 é conectada à interface de ingresso comum 22 por meio de um acoplamento de dados 38 e pelo menos uma fila de dados 40, que define uma porta de ingresso física 42. O acoplamento de dados 38 pode ter capacidades para receber um quadro de dados de um conector físico, e pode, por exemplo, incluir conectores físicos tais como uma porta de Ethernet, e/ou um software ou capacidades de camada de protocolo, tais como Controle de Acesso a Mídia (MAC) ou roteamento de protocolo de internet (IP), ou uma interface serial. Coletivamente, as portas de ingresso físicas 42 definem uma interface física de ingresso 44. Embora um número limitado de portas de ingresso físicas 42 seja mostrado, é vislumbrado que pode haver qualquer número, com um exemplo em funcionamento que inclui quarenta e oito portas de ingresso 42, em que as primeiras dezesseis portas 42 podem ser, por exemplo, portas de Ethernet 42 e as trinta e duas portas remanescentes são para interfaces de ARINC 429. Um número alternativo de portas é vislumbrado, assim como divisões alternativas de duas ou mais interfaces. O ADS 18 é capaz de fazer interface com uma pluralidade de protocolos de dados de RIU 20 e enlace virtual 36, por exemplo, Ethernet, IEEE 802.3, parte 7 do ARINC 664 (A664p7), barramento CAN, ARINC 429 (A429), ARINC 661 e outros protocolos de herança, etc. É vislumbrado que protocolos que fazem interface podem ou não podem ter uma interface física e podem incluir, por exemplo, tecnologia sem fio tal como Bluetooth ou WiFi.
[011] A interface de ingresso comum 22 pode estar conectada adicionalmente a pelo menos uma porta de ingresso virtual 46, em que a porta 46 fornece pelo menos alguns dados brutos, por meio de uma fila de dados 40, para a interface 22. Coletivamente, as portas de ingresso virtual 46 definem uma interface virtual de ingresso 48. Cada porta de ingresso física e/ou virtual 42, 46 é capaz de fornecer pelo menos dados brutos para a interface de ingresso comum 22.
[012] O escalonador de porta de ingresso 24 recebe entrada da interface de ingresso comum 22, fornece saída para o FDM 25 e o CDS 28 e pode compreender adicionalmente um gravador de tempo de chegada (ToA) 50 e um concentrador de porta de ingresso 52. O agente controlador 27 pode monitorar e/ou afetar a operação do FDM 25. O DMD 29 pode fornecer uma conexão de saída a um conjunto de filas de descritor de porta por egresso 43, que opera em uma configuração primeiro a entrar, primeiro a sair (FIFO). O DMD 29 pode gravar o mesmo descritor em mais de uma das filas de descritor de porta por egresso 43 se a mesma mensagem está para ser transmitida para mais de uma unidade de assinante física 32. Cada fila de descritor de porta por egresso 43 está conectada adicionalmente à interface de volume de fila 70.
[013] O CDS 28 compreende memória para armazenar pelo menos um armazenamento temporário circular 54, uma tabela de valor atual (CVT) 56, e uma tabela de mensagem paramétrica 58. Por exemplo, a memória de CDS 28 pode incluir uma unidade de disco rígido, uma unidade de estado sólido, uma memória de taxa de dados quádrupla (QDR), ou uma pluralidade de elementos de memória dispostos para por redundância. Na realização ilustrada, o CDS 28 compreende três armazenamentos temporários circulares 54, cada um definido pela taxa de dados em que o mesmo opera, por exemplo, um armazenamento temporário circular de 10 megabits por segundo (Mbps) 60, um armazenamento temporário circular de 100 Mbps 62 e um armazenamento temporário circular de 1 gigabit por segundo (Gbps) 64. Em cada armazenamento temporário circular 54, os dados armazenados mais antigos são substituídos com os dados mais novos que chegam de uma entrada pelo escalonador de porta de ingresso 24.
[014] Cada unidade de assinante física 32 é conectada à interface de egresso comum 34 por meio de um acoplamento de dados 38 e pelo menos uma fila de dados, tal como um conjunto de filas de mensagem de dados de porta por egresso 41, que define uma porta de egresso física 66. Coletivamente as portas de egresso físicas 66 definem uma interface de egresso física 68. Cada fila de mensagem de dados de porta por egresso 41 de cada porta de egresso física 66 é conectada adicionalmente à interface de volume de fila 70. A interface de egresso comum 34 pode ser conectada adícionalmente a pelo menos uma porta de egresso virtual 72, em que a porta 72 recebe uma mensagem, por meio de uma fila de dados 40, da interface 34. Coletivamente, as portas de egresso virtual 72 definem uma interface de ingresso virtual 74. É vislumbrado que cada porta de egresso física 66 possa ser associada com uma fila de mensagem de dados 41, mas qualquer número de filas de descritor de dados de porta por egresso 43, com a realização que tem, por exemplo, uma fila de dados 41 e quatro filas de descritor 43 por porta de egresso física 66, 72.
[015] O escalonador de mensagem paramétrica de egresso (PMS) 30 pode compreende adicionalmente um árbitro de egresso, por exemplo, um escalonador com base em regras 76, que pode usar a interface de volume de fila 70 para determinar de qual das filas de descritor de porta por egresso 43 receber um descritor fornecido pelo DMD 29. Aquele descritor é usado para ler e verificar um quadro de dados especificado do CDS 28. Se o quadro é dessa forma verificado, o PMS 30 pode fornecer adicionalmente uma entrada do CDS 28, através da interface de egresso comum 34, para a porta de egresso física 66 que é associada à fila de descritor de porta por egresso 43 da qual o descritor foi recebido.
[016] O escalonador de mensagem paramétrica de egresso (PMS) 30 pode compreender adicionalmente um construtor de mensagem paramétrica (PMC) 31, que pode usar os conteúdos de uma Tabela de Mensagem Paramétrica 58 e valores de dados contidos na CVT 56 e/ou o armazenamento temporário circular 54 (por exemplo, se o mesmo contém uma mensagem de múltiplas palavras A429) para originar construção de mensagens para consumo por unidades de assinante 32 e/ou portas de egresso 66, 72.
[017] O PMS 30, o escalonador com base em regras 76, e/ou o PMC 31 podem, por exemplo, incluir um programa executável que é executado em um computador de propósito geral na rede, ou um programa executável em um computador de propósito específico. Alternativamente o PMS 30, o escalonador com base em regras 76, e/ou o PMC 31 podem incluir um dispositivo de lógica de funcionamento codificado. O escalonador com base em regras 76 pode receber entradas de filas de descritor de portas por egresso 43 e a interface de volume de fila 70 para habilitar o PMS 30 a selecionar e verificar uma mensagem do CDS 28 para a interface de egresso comum 34. Alternativamente, o PMS 30 e/ou o PMC 31 podem usar a tabela de mensagem paramétrica 58 para selecionar quais valores de dados da CVT 56 e/ou do armazenamento temporário circular 54 podem ser usados para construir uma saída de mensagem para a interface de egresso comum 34. Embora as filas de descritor de porta por egresso 43 sejam ilustradas como separadas do PMS 30, é vislumbrada uma realização em que as filas 43 possam estar contidas dentro do PMS 30 e/ou do escalonador com base em regras 76.
[018] Os enlaces virtuais 36 podem compreender adicionalmente componentes locais ou remotos adicionais do ADS 18, no qual uma mensagem pode ser transmitida da interface de egresso virtual 74, através de pelo menos uma fila de dados 40 e um enlace virtual 36 e recebida pela interface virtual de ingresso 48. Enlaces virtuais 36 exemplificativos mostrados incluem pelo menos um processador distribuído 78 capaz de desempenhar um processamento ou uma função computacional na mensagem, um renderizador gráfico 80 capaz de fornecer conteúdo (por exemplo, com o uso de widgets de ARINC 661) para visores aviônicos, um sistema de ponta virtual 82 para fazer interface com sistemas de aeronave de herança, memória de armazenamento em massa de rede 84 para armazenamento redundante, ou uma porta de laço de retorno 86 para transmitir uma mensagem do PMS 30 para uma ou mais portas de egresso 68. É vislumbrado que os enlaces virtuais 36 podem ser identificados adicionalmente com o uso de um ID de enlace virtual (VLid).
[019] O ADS 18 opera para suportar funções de troca para suportar a necessidade de distribuir qualquer fonte de valores de dados brutos para qualquer destino ou unidade de assinante 32 na aeronave 10. É vislumbrado que realizações da invenção podem não precisar impor a exigência de que todos os fluxos de dados brutos devam passar pelo do ADS 18 já que haverá certos fluxos de ponto a ponto, por exemplo, para os quais não haverá vantagem passar os mesmos pelo ADS 18. Entretanto, todos os fluxos de dados brutos que podem exigir funções de troca, por exemplo, conversão, interfuncionamento, processamento, sincronização, moldagem de tráfego, policiamento, multidifusão, etc., podem se beneficiar da funcionalidade que o ADS 18 fornece. Adicionalmente, mais de um ADS 18 pode ser fornecido na mesma aeronave 10 ou rede de comunicações de dados 16 a fim de fornecer capacidades de troca adicionais, medidas de segurança de redundância, espelhamento de dados por meio de um dispositivo de armazenamento ou outro ADS 18 por verificação e validação, ou processamento distribuído.
[020] É vislumbrado que cada porta de egresso física 66 possa ser configurada com - múltiplas filas de descritor de porta por egresso 43 para fornecer múltiplos caminhos para descritores serem consumidos pelo escalonador de mensagem paramétrica 30, com base em prioridade da mensagem conforme interpretada pelo árbitro com base em regras 76. É vislumbrado que cada porta de egresso física 66 possa corresponder a qualquer número de filas de descritor de porta por egresso 43, com a realização ilustrada que tem, por exemplo, quatro filas 43. É vislumbrado adicionalmente que uma fila de descritor de porta por egresso serve apenas uma porta de egresso física 66 ou porta de egresso virtual 72.
[021] Cada fila de descritor 43 e cada fila de dados de egresso 41 é configurada para transmitir um indicativo de sinal de o quão cheia a fila 41, 43 está para a interface de volume de fila 70, que é usada pelo árbitro com base em regras 76 e o escalonador de mensagem paramétrica 30 para selecionar de qual fila de descritor de porta por egresso 43 o próximo descritor deve ser recebido.
[022] Antes de descrever a operação do ADS 18, uma breve discussão dos dados usados por todo o ADS 18 irá auxiliar em compreender a operação da rede de comunicações de dados 16. inicialmente, uma RIU 20 pode fornecer um quadro de dados para o ADS 18, em que o quadro de dados tem pelo menos um identificador e dados brutos correspondentes. Pelo menos uma das interfaces físicas de ingresso 22 e/ou o escalonador de porta de ingresso 24 analisa sintaticamente o quadro de dados recebida em um identificador, ou um descritor analisado sintaticamente e dados brutos correspondentes analisados sintaticamente. O descritor analisado sintaticamente, que pode ser atualizado adicionalmente pelo ADS 18, é usado para identificar e descrever o propósito dos dados brutos, por exemplo, onde os dados devem ser transmitidos para ou de onde os dados são transmitidos, enquanto os dados brutos analisados sintaticamente contêm um conteúdo. O ADS 18 depois usa o descritor para identificar a localização dos dados brutos e pode construir ou calcular o descritor e/ou os dados brutos em dados operacionais, ou uma mensagem, para consumo por uma porta de egresso 66, 72.
[023] Em um exemplo, as operações de ADS 18 são capazes de receber um quadro de dados de uma RIU 20 conectada de modo assíncrono, armazenar os dados brutos em memória de CDS 28, tal como a CVT 56 ou armazenamento temporário circular 54, formar uma mensagem a partir do quadro de dados armazenado, e enviar a mensagem formada para pelo menos uma unidade de assinante 32. Adicionalmente, pode haver uma capacidade de laço de retorno direto que serve como um meio para quadros, construídas pelo Construtor Paramétrico 31, para aparecer em uma porta de ingresso para troca de quadro. Porções individuais do ADS 18 e a operação do ADS 18 serão descritas em detalhes.
Funções de Interface Física de Ingresso [024] Primeiramente, dados são fornecidos para a interface de ingresso comum 22 das RIUs 20 de uma ou mais portas de interface física 42. A interface física de ingresso 44 pode incluir componentes, por exemplo, como parte dos acoplamentos de dados 38, capazes de converter dados ou sinais analógicos fornecidos por uma porta de ingresso física 42 particular para uma transmissão de dados ou quadro de dados, que é armazenada em uma fila de dados de ingresso FIFO 40. Nesse exemplo, os acoplamentos de dados 38 podem desempenhar as seguintes funções de ingresso: eliminar palavras/quadros/dados corruptos; habilitar quadros de dados sem IP de eliminação (por exemplo, campo de tipo/comprimento de conteúdo, não igual a 0x0800); fazer etiqueta de tempo com o tempo de chegada do primeiro byte de dados; e quadros de dados de fila que aguardam transferência e processamento subsequentes. Algumas entradas podem ser geradas conforme o quadro de dados entra nas filas 40 de porta de ingresso 42, 46 são: uma porta de chegada (PoA), para obrigar que o quadro de dados entre apenas na porta de ingresso 42, 46 designada; um tempo de chegada (ToA) da primeira palavra; um pulso de um bit para o ToA de um quadro completa (para o gravador de ToA 50 do escalonador de porta de ingresso 24; descrito abaixo); indicadores de começo do quadro final de quadro para delineamento de quadro quando o quadro for lida; e um comprimento de quadro em número de bytes.
[025] Com o uso do paradigma da Ethernet para uma interface externa para uma RIU 20, a título de exemplo, o acoplamento de dados 38 para cada porta de ingresso física 42 se assemelha à seção de recebimento de um Controlador de Acesso de Mídia (MAC), com lógica auxiliar para gerar, armazenar e recuperar os parâmetros nomeados acima, conectados a uma ou mais filas 40, por exemplo, uma fila FIFO de dados e uma fila FIFO d descritor de quadro 40.
[026] É vislumbrado que as portas de ingresso consistam não apenas daquelas associadas a interfaces físicas de ingresso externas 44, mas interfaces virtuais internas ou de ingresso 48 também, tais como aquelas associadas com a saída dos enlaces virtuais 36, tal como interfuncionamento (por exemplo, sistema de ponta virtual 82, construtor de mensagem paramétrica 31), processador distribuído 78 e renderizador de gráficos 80.
[027] Por motivos de monitoramento de operabilidade, estatísticas por porta podem ser mantidas pela interface física de ingresso 44 ou acoplamentos de dados 38. Esses podem incluir o número de quadros recebidos, o número de quadros descartados devido a, por exemplo, erros de checagem de redundância cíclica (CRC), número de quadros de fragmento de colisão (<64 bytes) descartados, e/ou um número de quadros descartados que excedem o tamanho máximo de quadro permitido na porta. Da mesma forma, estatísticas podem ser mantidas pelo agente controlador 27 que indicam o número de quadros passados ou descartados que são associados a um índice de fluxo particular fornecido pelo escalonador de porta de entrada 24 para o FDM 25.
Escalonador de Ingresso [028] O escalonador de porta de ingresso 24 organiza os dados brutos recebidos das interfaces físicas e/ou virtuais de ingresso 44, 48 para uma ordem FIFO, que aguarda a chegada de um quadro de dados completa. Nesse sentido, a porção de troca do ADS 18 pode ser um projeto de armazenar e encaminhar, de modo que quadros de dados amplos de diversos tamanhos possam ser armazenados de modo contíguo na memória central, tal como o CDS 28, após chegar a portas de ingresso 42, 46 diferentes. É vislumbrado que o ADS 18 forneça um tempo principal que pode ou não ser sincronizado por vários componentes de aeronave, que incluem o CDS 28, a CVT 56, o PMS 30, e/ou as unidades de assinante 32, ou múltiplos ADSs 18 da rede de comunicações de dados 16. O escalonador de porta de ingresso 24 pode também, de modo opcional, controlar funções de gerenciamento do descritor de quadro (FDM), em que, por exemplo, o quadro de dados pode ser analisado sintaticamente em porções separadas que incluem um identificador, ou descritor, e os dados brutos correspondentes.
Gravador de Tempo de Chegada [029] A operação do escalonador de ingresso pode também incluir o gravador de ToA 50 e um ou mais concentradores de porta de ingresso 52. O gravador de ToA 50 determina qual quadro de dados da porta de ingresso 42, 46 deve ser armazenada no sinal de tempo principal do ADS 18. O concentrador de porta de ingresso 52 afunila quadros de dados de chegada ou palavras de A429 para pelo menos um dos dois destinos do CDS 28: um de potencialmente muitos armazenamentos temporários circulares 54 (no caso de dados do tipo fila) ou a CVT 56 no caso de dados do tipo amostragem (descritos abaixo).
[030] Por exemplo, sempre que um quadro de dados ou uma palavra de A429 chega completamente à fila de dados 40 da porta de ingresso física 42, um pulso de um bit pode ser enviado ao gravador de ToA 50 do escalonador de ingresso 24 para registrar o tempo de conclusão dos dados. É possível que diversos quadros de dados brutos pequenos cheguem a qualquer dada porta 42, 46 enquanto quadros de dados que chegaram anteriormente são transferidos para fora das filas de dados 40 de outras portas 42, 46. Por essa razão, é vislumbrado que o gravador de ToA 50 possa usar, por exemplo, apenas um bit por quadro de dados por porta 42, 46, mas que representa de modo preciso a combinação de tempo de conclusão relativo em todas as portas 42, 46. Os bits, que representam de modo coletivo a chegada completa de um quadro em qualquer uma das portas 42, 46 durante um ciclo de relógio, pode ser organizada em uma palavra de tempo de chegada (TAW).
[031] Sempre que um quadro de dados ou palavra de A429 completa a chegada a uma porta de ingresso 42, 46, pode alternar uma linha dedicada para aquela porta de entrada 42, 46 e estabelecer um bit da TAW. Da mesma forma, qualquer chegada completa durante um ciclo de relógio pode fazer toda a TAW ser gravada no gravador de ToA 50, o que organiza os valores de TAW de chegada em uma ordem FIFO. Se não há quadros de dados ou conclusões de palavra de A429 novos durante um ciclo de relógio, nenhuma TAW é gravada no gravador de ToA 50. Alternativamente, se quadros de dados ou palavras de A429 concluírem as chegadas de modo concomitante em múltiplas portas durante o mesmo ciclo de relógio, mais de um bit da TAW gravada no gravador de ToA 50 pode ser estabelecido.
[032] O concentrador de porta de ingresso 52 recebe a palavra da TAW mais antiga disponível na saída do gravador de ToA 50 para determinar qual quadro de dados ou palavra de A429 completou a chegada primeiro. O concentrador de porta de ingresso 52 age desse modo, como um seletor de porta que determinar qual quadro de dados da porta de ingresso 42, 46 é processada e transferida em seguida para o CDS 28. É possível que quadros ou palavras completem a chegada simultaneamente em portas diferentes dentro da resolução de um ciclo de relógio e a TAW recebida do gravador de ToA 50 terá múltiplos bits estabelecidos. Nesse caso, o escalonador de ingresso 24 irá fazer manutenção em todas as portas das quais quadros de dados concluíram a chegada simultaneamente, por exemplo, em uma ordem em sequência, antes da palavra da TAW seguinte ser recebida da saída do gravador de ToA 50. Essa operação pode garantir justiça de taxa de dados para todas as portas de ingresso 42, 46, independentemente das taxas de chegada de dados e/ou tamanhos de quadro de dados.
Concentradores de Porta de Ingresso [033] Pode haver três concentradores de portas de ingresso 52 para o escalonador de porta de ingresso 24. Por exemplo, um concentrador de porta de ingresso 52 concentra os quadros de Ethernet analisados sintaticamente, ou dados brutos, para gravar em um ou mais armazenamentos temporários circulares 54 com as informações de armazenamento e identificador de fluxo fornecidos à DLT 26 e ao agente controlador 27, que pode resultar em um descritor gravado nas filas de descritor 43 pelo DMD 29 e servido pelo escalonador com base em regras 76, quando planejado para fazê-lo pelo PMS 30.
[034] Um segundo concentrador 52 pode concentrar quadros de Ethernet, dados brutos e/ou palavras de A429 na CVT 56, para utilização futura pelo PMS 30 e/ou pelo PMC 31. Um terceiro concentrador 52 pode concentrar dados brutos e/ou palavras de A429 (por exemplo, esses que carregam mensagens de múltiplas palavras) em um ou mais armazenamentos temporários circulares 54 organizados como FIFOs a fim de preservar a ordem de tempo de amostras de dados brutos e/ou a ordem de palavras de A429. Esses são denominados no presente documento como filas de saída de A429.
[035] Uma vez que uma porta de ingresso particular é selecionada para serviço pelo gravador de ToA 50, o concentrador de porta de ingresso 52 coordena a transferência de dados brutos analisados sintaticamente da porta de ingresso 42, 46 selecionada para o pelo menos um da CVT 56 ou armazenamentos temporários circulares 54 do CDS 28 e/ou do FDM 25.
Gerenciador de Descritor de Quadro [036] O cabeçalho do quadro, o comprimento do quadro, o ToA e a PoA gerados pelas funções de interface física de ingresso 44 são usados pelo FDM 25 para criar um descritor para um quadro de dados e difunde esse descritor para o conjunto de filas de descritor de porta por egresso 43. O FDM 25 pode também receber uma marcação de Cabeça de Quadro (marcação de HOF, para identificar o endereço dos dados analisados sintaticamente) e um Tempo de Armazenamento de Quadro (ToFS, para identificar por quanto tempo os dados analisados sintaticamente podem ser armazenados de modo aceitável) de cada Quadro de Ethernet ou palavra A429 gravada no CDS 28. Há dois caminhos de roteamento diferentes usados pelo DMD 29 para distribuição de descritor, um para quadros de Ethernet e um para palavras de dados de A429. Além disso, há um descritor diferente para cada um desses caminhos.
[037] O Gerenciador de Descritor de Quadro FDM consistem em uma tabela de pesquisa de caminho de dados (DLT) 26, um agente controlador 27 e o Distribuidor de Multidifusão de Descritor (DMD) 29 que habilita o mesmo descritor a ser gravado em múltiplas filas de descritor de porta por egresso 43. O DMD 29 é controlado por uma coleção de bits emitidos pela DLT 26 que identificam em quais filas de descritor de porta por egresso 43 um descritor deve ser gravado.
Tabela de Pesquisa de Ingresso [038] A tabela de pesquisa de ingresso pode ser incorporada ao escalonador de porta de ingresso 24 e usada para identificar fluxos de dados e atribuir um índice singular a cada fluxo que origina em uma das portas de ingresso 42, 46. Esse índice serve como um identificador de fluxo para uma variedade de armazenamento de caminho de dados e funções de controle. Por exemplo, o índice serve como uma chave para a DLT 26 reaver parâmetros de policiamento e bits de roteamento que indicam em quais filas 43 o DMD 29 pode armazenar o descritor de quadro. O índice também é usado para reaver um endereço para onde armazenar dados de quadro no CDS 28, por exemplo, o mesmo pode ser usado para reaver e armazenar o último endereço de compensação do armazenamento temporário circular 54. A Tabela de Pesquisa de ingresso pode incluir uma memória de acesso aleatório, lógica e memória de hash, ou uma memória endereçável a conteúdo (CAM), da qual a saída, o índice de fluxo ou chave, é determinado pelo número de porta e bits selecionados do quadro de dados recebido. Por exemplo, em uma base por porta de Ethernet física, uma opção de configuração pode ser fornecida para indicar quais bits do cabeçalho de UDP/IP/MAC identificam um tipo de fluxo de dados. Alternativamente, um fluxo de dados de ARINC 429 pode ser identificado pelo número de porta física ARINC 429 que chega concatenado com o rótulo de 8 bits da palavra de ARINC 429.
[039] Esse índice de fluxo pode também fornecer uma proteção à prova de falhas contra personificação ou corrupção de dados. Por exemplo, a saída de DLT 26 pode conter um campo que indica a porta de chegada esperada (EPoA) para um quadro. Uma checagem pode ser feita contra o número de porta real em que esse quadro chegou como relatado pela interface física de ingresso 44. Se os mesmos não combinarem, o quadro pode ser descartado.
[040] Para interfaces de ARINC 429, a etiqueta e número de porta A429 são concatenados e usados para acessar uma tabela de pesquisa separada da qual a saída pode ser o índice de fluxo.
[041] Com o uso do índice de fluxo, a localização de início e o comprimento de quadro são fornecidos para funcionalidade de gravação do CDS 28 de modo que os conteúdos do quadro de dados brutos possam ser gravados, iniciando-se no endereço de base correto para o número próprio de localizações de CDS 28.
[042] O identificador de fluxo lida com um roteamento, um policiamento e uma tabela de parâmetros de armazenamento armazenados na DLT 26. Os campos de bit de saída desse DLT 26 podem ter interpretações diferentes, dependendo da fonte de dados e de onde deve ser armazenado. Os quadros de Ethernet podem ser armazenados em um armazenamento temporário circular 54 ou na região de CVT 56 do CDS 28. Palavras de dados de A429 podem ser armazenadas na CVT 56 ou enviadas diretamente para uma das 48 filas de A429 de egresso, ou ambos. Mensagens de múltiplas palavras de A429 podem não ser armazenadas na CVT 56 a menos que a unidade de assinante 32 de destino tenha um método para impedir serrilhado temporal de mensagens de A429 em oposição ou filtragem de palavras duplicadas que pertencem à mesma mensagem de A429.
[043] Em um exemplo, a saída da DLT 26 que é selecionada pelo índice de fluxo pode incluir qualquer combinação de: Endereço de Base de Armazenamento temporário de CDS 28 mais um bit para indicar quanto a se esse endereço de base se refere a uma localização de CVT 56; um ID de Armazenamento temporário Circular 54; Tamanho de Armazenamento temporário Circular 54; um identificador de conta de enlace virtual (VL; por exemplo, porta de egresso virtual 72) (VLacctID); uma PoA esperada (EPoA), para obrigar que dados entrem apenas na porta de ingresso designada; um campo de 1 bit que indica quanto a se isso é um descritor de palavra de RINC 429; um vetor de bit de máscara de porta, que indica quais portas de egresso 66, 72 recebem o quadro; um campo de bit, que indica a prioridade da fila de descritor de porta por egresso 41 em que o descritor deve ser gravado; lacuna de alocação de banda (BAG) de A664p7 para o policiamento com base em quadro; um bit de descarte de policiamento e um bit de evitar policiamento; e uma tolerância à flutuação de fase (JitterT) para policiar com base em quadro um comprimento de quadro máximo (Smax) ou comprimento de quadro de CVT 56 dependendo do valor do bit de localização da CVT mencionado acima.
[044] A funcionalidade de controle de gravação do CDS 28 suporta dois tipos de operações de gravação: uma operação de gravação de CVT 56 e uma operação de gravação de armazenamento temporário circular 54. A saída da DLT 26 tem um bit de localização de CVT para indicar se o valor no campo de endereço de base em uma localização de CVT 56 (por exemplo, se o bit de localização de CVT =1). Para qualquer dado índice de fluxo que indica uma operação e gravação de CVT 56, os quadros gravados na CVT 56 devem sempre ter o mesmo tamanho. O bit de CVT 56 também dita quanto a se o valor no campo de Smax é o comprimento fixo do quadro da CVT 56 ou o tamanho de quadro máximo (Smax) de um quadro de comprimento variável, que deve ser obrigada pelo agente controlador 27 no caso de um quadro sem CVT 56. Para um quadro de CVT 56, se o tamanho do quadro calculado pela função de interface física não combinar exatamente com valor no campo de Smax, o quadro da CVT 56 pode ser descartada. Dessa forma, para um quadro sem CVT-56, se o tamanho do quadro for maior do que o Smax, o quadro pode ser descartado.
[045] No caso de uma operação de gravação de CVT 56, a localização e comprimento do quadro são predeterminados ou estáticos. Os valores no quadro recebido mais recentemente simplesmente substituem os valores no quadro anterior recebido. A saída da DLT 26 fornece diretamente o endereço e o comprimento de base do quadro a ser gravado na CVT 56. Quanto a se dados são gravados na memória da CVT 56 é determinado ou policiado pela PoA, isto é, quanto a se o índice de fluxo determinado pela tabela de pesquisa de ingresso do escalonador de porta de ingresso 24 é permitido chegar a uma dada porta de ingresso física 42. Um fluxo não autorizado em uma porta de ingresso física 42 pode não ser permitido que corrompa a memória da CVT 56 impedindo-se a gravação da mesma na CVT 56. Adicionalmente, como afirmado acima, se o comprimento de quadro computado pela interface física de ingresso 44 não combinar com o campo de Smax, o quadro pode ser descartado.
[046] Observe que é possível espelhar quadros de Ethernet que contêm dados de porta de amostragem na CVT 56 para que outros ADSs 18 possam armazenar ou espelhar os mesmos dados. Esse espelhamento pode ser realizado, por exemplo, fornecendo-se uma mensagem a uma porta de egresso física 66 conectada a outro ADS 18. Alternativamente, o espelhamento de dados pode ser realizado com o uso de um dispositivo de armazenamento de dados centralizados que, por exemplo, pode ser acessível a todos os ADSs 18 como uma porta de ingresso ou egresso virtual 46, 72. Um exemplo disso é mostrado como o enlace virtual 36 de armazenamento em massa de rede 84. Também é possível armazenar palavras de A429 em uma localização de CVT 56 e gravar as mesmas em uma ou mais das filas de saída A429 41. Uma palavra de A429 que chega a um dos enlaces de A429 de ingresso, entretanto, não pode sair de uma porta de Ethernet a menos que seja primeiro compactada em um quadro de Ethernet com o uso do PMC 31 (descrito abaixo).
[047] Se a saída da DLT 26 indica que a operação de gravação é uma operação de gravação de armazenamento temporário circular 54 (por exemplo, se o bit de localização da CVT = 0, o que indica um quadro sem CVT 56), então o quadro pode ser gravado na próxima localização de memória do armazenamento temporário circular 54 disponível, conforme determinado, por exemplo, por um endereço de base circular, obtido de um campo da saída da DLT 26 e uma tabela de compensação de armazenamento temporário circular, mantida pelo escalonador de porta de ingresso 24. O endereço de base e o endereço de compensação podem ser usados para rastrear a próxima localização a ser gravada dentro do armazenamento temporário circular 54.
[048] Cada endereço de base do armazenamento temporário circular 54 é determinado pelo campo de endereço de base de memória da entrada da DLT 26. Outro campo da entrada da DLT26 indica o tamanho do armazenamento temporário circular. O endereço de qualquer palavra de dados gravada no armazenamento temporário circular 54 é a soma do endereço de base do armazenamento temporário circular 54 e a compensação do armazenamento temporário circular. A compensação do armazenamento temporário circular é o módulo incrementado do tamanho do armazenamento temporário circular 54 após cada palavra gravada enquanto o endereço de base do armazenamento temporário circular permanece fixo. Após a última palavra de um quadro de dados ou uma palavra de A429 ser gravada no armazenamento temporário circular 54, o endereço de compensação da próxima localização é registrado na localização dentro da tabela de compensação do armazenamento temporário circular indicado pelo índice de fluxo e é disponibilizado como a compensação de início do próximo quadro gravada no mesmo armazenamento temporário circular 54.
[049] Embora realizações da invenção não sejam restritas, a realização ilustrada pode ter até 256 armazenamentos temporários circulares em uma profundidade de 8K. A título de exemplo, isso pode permitir que um armazenamento temporário circular 54 seja criado para cada porta de ingresso e/ou egresso física 42, 66. Como um exemplo alternativo, um armazenamento temporário circular 54 pode ser criado para cada índice de fluxo. Como ainda outro exemplo, cada armazenamento temporário circular 54 pode representar uma coleção de portas de saída virtuais ou troncos virtuais. Um “tronco” é associado a um conjunto de egresso de portas virtuais. Essas portas virtuais podem ser mapeadas em qualquer conjunto de portas de egresso físicas 66 ou porta de saída virtual 72. Por exemplo, a mesma aplicação aviônica de ARINC 653 (A653) pode residir em múltiplas unidades substituíveis por linha (LRUs) por razões de disponibilidade, por exemplo, uma aplicação que processa dados de ar. Essas podem ser conectadas a diferentes portas de egresso físicas 66 do ADS 18. Mas, todas as ocorrências da aplicação podem ser configuradas para formar um único grupo de tronco de modo que os mesmos compartilhem o mesmo armazenamento temporário circular 54 para isolar completamente as exigências de dados e banda de outras aplicações de A653. Desse modo, esse nível de granularidade habilita um armazenamento temporário circular 54 a ser alocado por aplicação de A653 (distribuída).
[050] Sempre que dados de tempo são gravados em um armazenamento temporário circular 54, a função de Distribuição de Multidifusão do Descritor replica um descritor, que indica a localização de armazenamento do quadro de dados associada no armazenamento temporário 54. Além disso, o escalonador com base em regras 76 e/ou o PMS 30 podem operar uma Função de Escalonamento de Egresso que assegura que cada porta de egresso física 66 receba uma cópia do quadro se foi provisionada para fazê-lo.
[051] Na configuração ilustrada, apenas três armazenamentos temporários circulares 54 são usados. Esses são alocados associando-se portas de egresso físicas 55 ou unidades de assinante 32 que têm as mesmas taxas de dados com um armazenamento temporário circular 54 comum. Isso fornece a utilização mais eficiente (memória compartilhada) do armazenamento temporário central para quadros de dados do tipo fila de A664p7. Nessa configuração, todas as portas de egresso físicas de 10 Mbps 66 podem formar um grupo de tronco (armazenamento temporário circular de 0 Mbps 60), todas as portas de egresso físicas de 100 Mbps 66 podem formar outro grupo de tronco (armazenamento temporário circular de 100 Mbps 62) e todas as portas de egresso físicas de 1000 Mbps (1 Gbps) podem formar um grupo de tronco (armazenamento temporário circular de 1 Gbps 64). Embora haja três armazenamentos temporários circulares 60, 62, 64 e embora um quadro de dados possa ser destinado a portas de egresso físicas 66 que têm diferentes taxas de dados, o CDS 28 irá armazenar apenas uma cópia de um quadro. O armazenamento temporário circular 60, 62, 64 no qual um quadro é gravado corresponde à taxa de dados da porta de egresso física 66 mais lenta para qual esse quadro deve ser replicada. Por motivos de simplicidade, o restante desse documento irá presumir que há um armazenamento temporário circular 54 por conjunto de portas de egresso físicas 66 que têm a mesma taxa de dados de egresso: 10 Mbps 60, 100 Mbps 62, ou 1 Gbps 64.
Função de Policiamento [052] As funções de policiamento são desempenhadas por um agente controlador 27 que pode ser um encadeamento de lógica de hardware de propósito específico no FDM 29 controlado por uma máquina de estado. A funcionalidade do agente controlador 27 depende de quanto a se os dados de chegada são palavras de dados de A429 ou um quadro de Ethernet. O agente controlador 27 toma uma decisão que determina quanto a se um descritor de quadro de Ethernet é permitido ser passado para o Distribuidor de Multidifusão de Descritor 29 e quanto a se os dados de chegada são permitidos serem armazenados tanto na CVT 56 quanto em uma região de armazenamento temporário circular 54 do CDS 28. Por definição, um quadro de ARINC 429 não produz descritor de quadro de Ethernet para o Distribuidor de Multidifusão de Descritor 29. Nessa ocorrência, o escalonador de porta de ingresso 24 pode fornecer um descritor separado para um caminho de dados separado que evita o CDS 28. Em outra ocorrência, o agente controlador 27 pode determinar quanto a se uma palavra de dados de A429 pode ser armazenada na CVT 56.
[053] Para quadros de dados oferecidos serem armazenados na CVT 56, se o comprimento do quadro não for igual ao comprimento de quadro provisionado, o quadro é descartado. Nenhum policiamento de tolerância de BAG ou flutuação de fase precisa ser obrigado.
[054] Para quadros de dados oferecidos serem armazenados em um armazenamento temporário circular 54 e policiados, o agente controlador 27 desempenha uma pesquisa secundária com o uso do VLacctID da DLT 26 para determinar o tempo de chegada de um quadro anterior que tem esse VLacctID para obrigar restrições de BAG e tolerância à flutuação de fase. Se a EPoA do quadro não combinar com a PoA ou o Comprimento de Quadro excede o comprimento de quadro máximo provisionado para o enlace virtual (VL), Smax, ou há uma violação de BAG/flutuação de fase, o agente controlador 27 pode desativar a distribuição de multidifusão do descritor de quadro atual e antecipar a gravação do quadro no CDS 28.
[055] O policiamento de BAG e de tolerância à flutuação de fase com base em quadro no agente controlador 27 pode ser usado para assegurar que a taxa agregada máxima de dados que entram em um armazenamento temporário circular 54 esteja abaixo da necessária para assegurar o mínimo de tempo para operar exigido para a porta mais lenta (possivelmente virtual) que recebe dados desse armazenamento temporário. O policiamento de BAG e de tolerância à flutuação de fase com base em quadro pode também ser usado para assegurar que nenhuma porta de egresso 66, 72 na rede de comunicações de dados 16 exceda a banda e orçamento de latência da mesma. Se o agente controlador 27 determina que a taxa de dados máxima configurada para um dado VLacctID foi excedida, isto é, que a BAG ou tolerância à flutuação de fase configurada não é atendida, isso pode impedir que um descritor seja gravado nas filas de descritor de porta por egresso 43 e, dessa forma, impedir um quadro de ser transmitida para unidades de assinante físicas 32.
[056] A título de exemplo, o agente controlador 27 pode usar seis valores obtidos da DLT 26: bits de controle (Ctrl), VLacctID, porta de chegada esperada (EPoA) e o tamanho máximo de quadro (Smax), lacuna de alocação de banda (BAG) e tolerância à flutuação de fase (JitterT) para determinar quanto a se um descritor de quadro de Ethernet é permitido ser passado para a função de Distribuição de Multidifusão do Descritor e quanto a se os dados de chegada são permitidos serem armazenados no CDS 28. O A664p7 permite que múltiplos enlaces virtuais (VLs) pertençam à mesma conta de VL, isto é, tenham o mesmo VLacctID, e, dessa forma, que sejam policiados de modo conjunto com o uso do Smax, BAG e JitterT configurados para esse VLacctID. O agente controlador 27 obtém a porta de chegada real (PoA), tempo de chegada (ToA), tempo atual (T) e uma indicação de chegada de quadro do escalonador de ingresso 24, que inclui um gerenciador de tempo que acompanha o tempo atual T.
Distribuição de Multidifusão do Descritor [057] O Distribuidor de Multidifusão de Descritor (DMD) 29 usa uma coleção de saída de bits de Máscara de Porta pela DLT 26 para determinar qual conjunto de filas de descritor de porta por egresso 43 devem ser gravados com uma cópia do descritor de quadro. Uma cópia do descritor é gravada para cada porta 66, 72 que deve receber uma cópia do quadro que deve ser lida de um armazenamento temporário circular 54 pelo PMS 30. Quando o PMS 30 planeja a operação do escalonador com base em regras 76 para uma porta de egresso 66 particular, o mesmo seleciona uma fila de descritor de porta por egresso 43 da qual saída pode ser usada para ler um quadro do CDS 28 e transmitir a mesma para a porta de egresso física 66. Pode ser observado que quadros de Ethernet e palavras de dados de A429 armazenadas na CVT 56 não dependem do DMD, já que a distribuição é controlada pelo PMS 30 e o PMC 31 (descrito abaixo).
[058] A saída de descritor pelo DMD 29 para um quadro de dados trocada pode incluir a localização da primeira apalavra do quadro (marcador HOF), do tempo de armazenamento de quadro time (ToFS), do comprimento do quadro, da prioridade (P) e da Máscara de Porta. Com o uso da Máscara de Porta e Prioridade que o DMD 29 recebeu da DLT 26, o DMD 29 produz uma prioridade de porta de bit por egresso para indicar quais filas de descritor de porta por egresso 43 devem aceitar uma cópia do descritor de quadro de dados e a prioridade da fila 43 na qual esse descritor deve ser colocado. Esse mecanismo pode ser usado, por exemplo, para assegurar que uma cópia de cada quadro de dados paramétricos não recebida de um ADS 18 seja espelhada para outro ADS 18. Inversamente, se um quadro de dados paramétricos for recebido de outro ADS 18, a mesma pode ser armazenada na CVT 56 local, mas não redistribuída para outro ADSs 18 em virtude de estabelecer cada valor de bit de Máscara de Porta que corresponde a uma porta de egresso conectada ao ADS como zero (isto é, fracassando-se a identificação de uma porta de egresso 66, 72). Estabelecendo-se cada valor de bit de Máscara de Porta que corresponde a uma porta de egresso conectada ao ADS como zero, a mensagem pode ser impedida de propagar dentre múltiplos ADSs 18 indefinidamente, que pode levar a sobrecarga de banda na rede de comunicações de dados 16.
[059] Quadros que carregam dados paramétricos, (por exemplo, um quadro de Ethernet com valores de A/D, palavras de ARINC 429, o valor de bit(s) discreto(s), etc.) podem ser armazenados em localizações dedicadas, predeterminadas dentro da região de CVT 56 do CDS 28. Em uma aeronave típica, pode haver de 2 a 4 ADSs 18, que incluem um mecanismo para fornecer cada ADS 18 a habilidade de espelhar o conteúdo do outro ADS 18 dentro da fuselagem. Um descritor para cada quadro paramétrico gravado na CVT 56 (mas não recebida de outro ADS 18) pode ser replicado na fila de descritor de porta por egresso 43 de prioridade mais alta de cada porta de egresso 66, 72 conectada a outro ADS 18. A disciplina de serviço do escalonador com base em regras 76 irá assegurar que quaisquer ADSs 18 companheiros recebam uma cópia do quadro mais recente, como descrito abaixo.
Funções de Controle de Gravação de Servidor de Dados Central [060] Concomitante ao DMD 29, se o agente controlador 27 passa um quadro destinado ao CDS 28, o mesmo é armazenado no armazenamento temporário circular 54 ou na CVT 56. As entradas para a Função de Controle de Gravação do CDS 28 podem incluir o Tempo de Armazenamento de Quadro (ToFS), o comprimento de quadro da Função de Interface Física de Ingresso 44, mais um armazenamento temporário circular 54 ou localização de memória de CVT 56 do escalonador de porta de ingresso 24 e DLT 26. O armazenamento temporário circular 54 ou a localização de memória de CVT 56 se torna o valor inicial do contador de endereço e se torna o cabeçalho do marcador de quadro (marcador de HOF) fornecido ao DMD 29 para ser incluído no descritor do quadro. O ToFS, usado para verificação de quadro em leitura, pode ser armazenado como a primeira palavra que pertence ao quadro em memória de CDS 28 e todas as palavras de dados de quadro subsequentes continuam a serem gravadas uma por vez, por exemplo, como sessenta e quatro bits de dados mais ECC, com o contador de endereço incrementado após cada gravação. O Controlador de Gravação compara o número de gravações de byte desempenhadas com o comprimento de quadro obtido da interface física de ingresso 44. Isso continua até que a última palavra seja gravada. A última palavra gravada pode não ser uma palavra de 64 bits completa, em tal ocorrência a última palavra pode ser preenchida com 64 bits de informações junto com um ECC válido.
[061] Como ilustrado, a Função de Controle de Gravação do CDS 28 pode ser configurada para três armazenamentos temporários circulares diferentes 60, 62, 64 dedicados a armazenar quadros destinados a portas de egresso 66, 72 de 10 Mbps, 100 Mbps, ou 1 Gbps, respectivamente. Apenas uma cópia de um quadro é armazenada enquanto múltiplas cópias do descritor que fazem referência ao quadro podem ser multidifundídas a filas de descritor de porta por egresso 43. O armazenamento temporário circular 60, 62, 64 em que um quadro pode ser armazenado depende da porta de egresso mais lenta 66, 72 para qual esse quadro deve ser copiada/multidifundida. Quadros sucessivos armazenados em cada um desses armazenamentos temporários circulares 60, 62, 64 são armazenados de modo contíguo dentro do armazenamento temporário 60, 62, 64, sendo que as palavras do quadro mais velhas são substituídas pelos quadros novos. Quando dados são gravados em um armazenamento temporário circular 60, 62, 64, o comprimento do quadro é determinado pelo número de bytes contados para esse quadro pela função de interface de ingresso física 44 (por exemplo, entrada de ComprimentoDeQuadro), Em um sistema determinista provisionado de modo apropriado, é vislumbrado que uma substituição prematura de um quadro no armazenamento temporário circular 60, 62, 64, da qual a multidifusão não foi completada para todas as portas de egresso 66, 72, nunca deve ocorrer. No entanto, uma substituição pode ser facilmente detectada por uma combinação mal sucedida do ToFS de selo de tempo de 64 bits, que foi a primeira palavra gravada no cabeçalho do quadro para o CDS 28, com o valor de ToFS incluso no descritor gravado em filas 43 pelo DMD 29. Na ocorrência de uma combinação mal sucedida, o quadro pode ser descartado. Checagens adicionais podem ser desempenhadas para verificar que o descritor usado para ler um quadro do CDS 28 não lê uma localização substituída por outro quadro. Por exemplo, incluindo-se bits de cabeçalho de quadro adicional no descritor gravado em filas 43 e armazenado no quadro de dados no CDS 28, por exemplo, o endereço de MAC de destino pode ser checado.
[062] Um bit da DLT 26 indica quanto a se os dados analisados sintaticamente do quadro de dados são gravados em uma localização de memória de CVT 56 estática, que é reservada para dados do tipo amostragem, ou um armazenamento temporário circular 60, 62, 64. Quando o bit de localização de CVT 56 é estabelecido como, por exemplo, um, o endereço de base do CDS 28 indica uma localização de CVT 56 e o valor de Smax/TamanhoDoQuadro é interpretado como o tamanho de quadro pré-configurado que deve ser armazenado com início nesse Endereço de Base. Nesse exemplo, o comprimento de quadro é fixado às funções de policiamento do escalonador de porta de ingresso 24 não irá permitir que os dados analisados sintaticamente sejam gravados a menos que o comprimento de quadro indicado pela função de interface de ingresso combine exatamente com o comprimento de quadro indicado pelo ILUT. Isso pode impedir serrilhado de interquadro potencial de dados dentro da CVT 56 no caso de um erro de tamanho de quadro recebido. O Endereço de Base é carregado como uma configuração predefinida em um contador de endereço e o CDS 28 é gravado até que o tamanho de quadro indicado pelo valor de Smax/TamanhoDoQuadro lido da DLT 26 seja alcançado.
[063] Para proteger contra valores obsoletos armazenados na CVT 56, quadros de Ethernet paramétricos armazenados na CVT 56 são anexados com um valor de tempo de 64 bits, que é armazenado seguindo-se a última palavra do quadro de dados analisada sintaticamente na CVT 56. Esses quadros de dados paramétricos, além de serem armazenados na CVT 56, são espelhados em outros ADSs 18. Consequentemente, pode ser exigido que portas de ingresso físicas 42 que são conectadas a outros ADSs 18 sejam identificadas de modo antecipado de modo que se o quadro de dados paramétricos chegou de outro ADS 18, uma cópia do descritor possa ser multidifundida para a fila de descritor de porta por egresso 43 de prioridade mais alta de portas de egresso físicas 66 conectadas a outros ADSs 18. Afirmado de outra forma, se mais quadros de dados atualizados chegam a um ADS 18 de uma fonte não ADS (tal como uma RIU 20), uma cópia desse descritor pode ser multidifundida para a fila de prioridade mais alta de cada porta de egresso física 66 de tal modo que seja provável que o quadro de dados seja espelhado por ADSs 18 adicionais o mais rápido possível. Inversamente, se o quadro de dados chegou de outro ADS 18, os bits da Máscara de Porta bits na Multidifusão do Descritor pode ser liberada para assegurar que o descritor não é redistribuído para qualquer porta de egresso física 66 destinada a um ADS 18 para impedir uma replicação interminável dos mesmos dados em um laço infinito.
[064] Os quadros de dados de ARINC 429 que não pertencem a uma mensagem de múltiplas palavras pode ser gravada na CVT 56 para empacotar em mensagens paramétricas pelo PMC 31. O ARINC 429 especifica uma palavra de dados de 32 bits, mesmo assim cada localização de CVT 56 no CDS 28 é uma palavra de 64 bits mais 8 bits de ECC. A fim de proteger contra valores obsoletos de palavras de A429 na CVT 56, cada palavra de A429 é marcada por tempo com os 32 MSBs de tempo (sendo que o LSB tem 216 microssegundos). Desse modo, cada palavra de A429 armazenada na CVT 56 tem 32 bits de tempo como os MSBs e a palavra de A429 de 32 bits como os LSBs.
Memória de Servidor de Dados Central [065] O CDS 28 pode, por exemplo, usar memórias de taxa de dados quádruplas (QDR) que são superficiais em comparação a memória de taxa de dados dupla (DDR). Similar a DDR, as mesmas são síncronas e podem ser protegidas por ECC, mas a maioria fornece acesso de leitura e de gravação concomitante, que tem uma porta de dados de leitura/gravação de DDR independente e uma porta de endereço de leitura de DDR. Essas memórias foram projetadas especificamente para aplicações de troca de dados. No ADS 18, para atender objetivos de rendimento, as memórias de CDS 28 podem ser sincronizadas em, por exemplo, 250 MHz. Por exemplo, uma QDR que tem portas de dados de DDR de largura de 38 bits duplas tem banda suficiente para suportar 16 Gbps de dados duplos cheios. Velocidades de memória alternativas são vislumbradas com base em exigência de dados ou necessidades de rendimento.
[066] Embora o CDS 28 possa ser organizado com até 256 armazenamentos temporários circulares 54, o CDS 28 ilustrado é organizado como três armazenamentos temporários circulares 60, 62, 64 mais uma CVT 56. Cada armazenamento temporário circular 60, 62, 64 é reservado para armazenamento de dados, enquanto a CVT 56 mantém dados paramétricos, cabeçalhos e listas de endereço analisados sintaticamente que vão ser usados para construir mensagens personalizadas pelo ADS 18 como descrito abaixo.
[067] No caso, há 3 armazenamentos temporários circulares, para armazenamento de dados de 1 Gbps, 100 Mbps e 10 Mbps pelo exemplo, em qual armazenamento temporário circular um quadro é colocada depende da porta mais lenta para qual um quadro é multidifundida. Para qualquer conjunto de portas agrupadas pela mesma taxa de egresso, o CDS 28 deve ter armazenamento suficiente na taxa de dados agregada das portas (isto é, 10 Mbps, 100 Mbps, 1 Gbps) para acomodar o tempo que leva para drenar 512 quadros nessa taxa. Por exemplo, o CDS 28 pode fornecer 2 Mbytes de armazenamento para a CVT 56 enquanto permite que uma alocação flexível para o tamanho do armazenamento temporário circular 60, 62, 64 dedicada a cada uma das taxas de dados de egresso, que podem ser ajustadas adicionalmente de acordo com o número de armazenamentos temporários circulares 54, quantas portas de ingresso ou egresso 42, 46, 66, 72 são configuradas naquela taxa, o tempo de retenção do quadro de dados analisada sintaticamente desejado, e o tempo requerido para operar dos quadros contidos dentro desse armazenamento temporário.
[068] A título de exemplo, a alocação padrão pode ter 24 Mbytes per armazenamento temporário circular 60, 62, 64. Para cada armazenamento temporário circular 60, 62, 64 o tempo de armazenamento pode ser de 8*24M/(VelocidadeDePorta*número de portas). Por exemplo, um armazenamento temporário circular de 24 Mbytes fornece um tempo de armazenamento de mais de 20 segundos dividido pelo número de portas de ingresso de 10 Mbps 42, 46 que alimentam o armazenamento temporário, 2 segundos divididos pelo número de portas de 100 Mbps 42, 46, ou 0,2 segundos divididos pelo número de portas de 1 Gbps 42, 46. O tamanho de cada armazenamento temporário circular pode ser configurado, como apropriado. Qualquer taxa de linha não usada em qualquer porta de ingresso ou de egresso 42, 46, 66, 72 fornece tempo de armazenamento residual para todas as portas que compartilham esse armazenamento temporário.
[069] Para troca de quadro, um armazenamento temporário circular 60, 62, 64 pode evitar ter que estabelecer tamanhos de bloco fixos para quadros de dados analisados sintaticamente e ter que acompanhar alocações de armazenamento temporário desocupadas, o que de outra forma iria expor o ADS 18 inteiro a vazamento de memória devido a perturbações de evento único (SEUs). É considerado que SEUs são causadas por partículas subatômicas, tais como nêutrons, dos quais a frequência de ocorrência aumenta com altitude e que podem corromper valores armazenados em memória e até mesmo lógica. No caso de armazenamento temporário circular excedente, os dados mais novos substituem os antigos. Todas as filas FIFO 40 no ADS 18 podem também usar o paradigma do armazenamento temporário circular 54. Dessa forma, qualquer SEU que corrompa os marcadores de leitura e gravação dos armazenamentos temporários circulares 60, 62, 64 é garantida que seja corrigida dentro da quantidade de tempo que leva para substituir completamente o armazenamento temporário 60, 62, 64.
Escalonamento de Egresso [070] A função de Escalonamento de Egresso do PMS 30 determina quais dados são lidos do CDS 28 e qual porta de egresso 66, 72 recebe os mesmos. A funcionalidade de escalonamento de egresso é determinada por quatro componentes funcionais principais: as filas de descritor de porta por egresso 43, o PMS 30, o construtor de mensagem paramétrica 31 e um árbitro de egresso, tal como o escalonador com base em regras 76. O escalonador com base em regras 76 mantém e opera de acordo com as quatro filas de descritor priorizadas 43 para cada porta de egresso 66, 72. Cada fila 43 pode ter capacidade suficiente para manter 512 descritores. Os descritores nas filas de descritor de porta por egresso 43 foram gravados com o uso de um barramento de difusão pelo distribuidor de multidifusão do descritor 29. Alternativamente, o PMS 30 pode manter um plano que indica qual porta de egresso 66, 72 o escalonador com base em regras 76 deve servir em seguida ou qual descritor de mensagem o PMC 31 deve usar para acessar a tabela de mensagem paramétrica 58 para originar uma mensagem construída com o uso de dados lidos da CVT 56 e/ou as filas de saída de A429.
Escalonamento com Base em Regras [071] O escalonador com base em regras 76 opera como um componente configurável por usuário dentro do PMS 30. O PMS 30 permite que cada porta de egresso 66, 72 acesse o escalonador com base em regras 76 que é usado para selecionar um descritor das quatro filas de prioridade 43 se um estiver disponível. Esse descritor pode ser usado para fornecer acesso de leitura para o CDS 28. O PMS 30, por exemplo, pode conceder a cada porta de egresso 66, 72 acesso ao escalonador com base em regras 76 de um modo em sequência, plano sincronizado de modo rigoroso, ou um algoritmo predeterminado. Outros modos de servir são vislumbrados, por exemplo, um plano ponderado que considera conceder acesso adicional ou priorizado com base na criticidade da porta de egresso 66, 72. Em relação a conceder acesso ao CDS 28, o PMC 31 pode ser considerado como outra porta de egresso 66, 72 que é concedida acesso de banda garantido ao CDS 28 com, por exemplo, uma banda garantida máxima de 1 Gbps e latência garantida máxima entre cada acesso de menos de 66 microssegundos. O escalonador com base em regras 76 fornece arbitragem para determinar qual descritor da fila 43 de prioridade é lido durante cada oportunidade de acesso da porta 66, 72. Aquele descritor é então usado para ler e transmitir uma cópia de um quadro obtida do CDS 28 para uma porta de egresso 66, 72.
[072] O escalonador com base em regras 76 pode aceitar como entrada um conjunto de bits de limiar de volume ou valores de cada fila de descritor de porta por egresso 43, assim como uma indicação de volume da fila de cada fila de porta física de egresso 41 por meio da interface de volume de fila 70, em que um bit de limiar pode ser, por exemplo, estabelecido como um quando o volume da fila 43 exceder um limiar configurado e outro bit de limiar estabelecido como um sempre que a fila 41 estiver muito cheia para aceitar um quadro. Coletivamente, os bits contidos na interface de volume de fila 70 representam o volume das múltiplas filas 41, 43 por porta de egresso 66, 72. Se uma fila de descritor de porta por egresso 43 estiver muito cheia, o escalonador com base em regras 76 pode modificar a metodologia de manutenção em uma base de prioridade por fila 43 ou se a fila 41 estiver muito cheia, o envio de quadros adicionais para a fila 41 pode ser temporariamente suspenso. Por exemplo, enquanto faz manutenção em uma porta de egresso 66, 72, se o escalonador com base em regras 76 determinar que uma ou mais daquelas filas de descritor de porta por egresso 43 da porta 66, 72 estão muito cheias com base nos limites de volume recebidos, o escalonador 76 pode decidir servir as filas 43 cheias primeiro. Em outra ocorrência, enquanto faz manutenção em uma porta de egresso 66, 72, se o escalonador com base em regras 76 determinar que a fila de porta de egresso 41 está muito cheia para aceitar outro quadro, o escalonador 76 pode decidir fazer manutenção antecipada naquela porta 66, 72 até que a fila 41 possa aceitar outro quadro. Em ainda outra ocorrência, se não há descritores para servir em quaisquer filas de descritor de porta por egresso 43 para uma porta de egresso 66, 72 que passa por manutenção, o escalonador com base em regras 76 pode trocar acesso de controle para fazer manutenção na porta de egresso 66, 72 em seguida de modo tipo em sequência (ou uma alternativa).
[073] Como descritor anteriormente, há quatro filas de descritor de porta por egresso 43 para cada porta de egresso 66, 72, que são priorizadas. Qual fila 43 tem manutenção feita no descritor da mesma depende do volume de cada uma das quatro filas 43 do descritor. O volume de cada fila 43, por exemplo, pode ser mensurado por sete níveis de limiar, mais um sinalizador vazio. Nesse exemplo, os sete níveis de limiar podem indicar um nível variante de "volume". Com o uso de lógica de codificador de prioridade, os sete limiares e o sinalizador vazio podem ser convertidos em um valor de 3 bits, que determina qual fila de descritor de porta por egresso 43 terá um descritor com manutenção feita (isto é, dados de leitura do CDS 28) pelo PMS 30. Esses 12 bits, mais a saída de um contador de 4 bits podem ser usados para abordar, por exemplo, uma tabela de pesquisa de 16K x 3 em que as regras de manutenção do escalonador com base em regras 76 são armazenadas. Alternativamente, as regras do escalonador com base em regras 76 podem ser, por exemplo, um algoritmo para determinar as regras de manutenção. O propósito de ter um contador de 4 bits para cada porta como uma entrada nessa tabela de pesquisa é evitar a possibilidade teórica de ter uma combinação de limiar estático que faz a mesma fila entrar em manutenção ou um período de tempo indeterminado. É um modo de garantir uma ligação inferior na taxa de manutenção dada a cada prioridade.
[074] Após o descritor selecionado ser lido da fila de descritor de porta por egresso 43 selecionada com base na prioridade do escalonador com base em regras 76, o quadro completa é lida do CDS 28 e transmitida para a porta 41 antes de a porta de egresso 66, 72 seguinte ser permitida ter uma manutenção feita em um descritor pelo escalonador 76 e concedida uma oportunidade de receber um quadro do CDS 28. Para quadros de dados trocados, durante o processo de leitura, o ToFS do descritor pode ser comparado a esse do quadro armazenado. Se os mesmos não concordarem o quadro pode ser descartado. Cada porta de Ethernet de egresso pode ter, de modo adicional, uma idade máxima programável (MaxAge), e se a diferença do ToFS e o presente valor do contador de tempo na função de Controle de Gravação do escalonador de porta de entrada 24 for maior do que o parâmetro de MaxAge, o quadro pode ser descartado. De outra forma, o quadro é lido do CDS 28 pelo PMS 30 e transferido para a porta de egresso 66, 72 e transmitido para a unidade de assinante 32 ou o enlace virtual 36.
Escalonador de Mensagem Paramétrica [075] O escalonador de mensagem paramétrica (PMS) 30 opera para planejar qual mensagem é enviada para qual porta de egresso 66, 72. O PMS 30 determina em qual porta de egresso é feita manutenção em seguida pelo escalonador com base em regras 76, por exemplo, de um modo em sequência e com o uso do descritor recebido da fila da porta por egresso 43 selecionada pelo escalonador com base em regras 76, um quadro de dados completo é lido do armazenamento temporário circular 54 no CDS 28. Esse quadro de leitura é transmitido para a porta de egresso 66, 72 que entra em manutenção com o uso da interface de egresso comum 34.
[076] O PMS 30 pode planejar a operação do PMC 31 como se fosse uma porta de egresso e controla quais mensagens são construídas pelo PMC 31 entregando-se ao mesmo um descritor para a mensagem ser construída. O descritor recebido pelo PMC 31 faz referência a uma lista de entradas na Tabela de Mensagem Paramétrica 58, que detalha que dados das filas de saída da CVT 56 ou A429 devem ser colocados no quadro que é construído. Por exemplo, o PMS 30 pode fornecer ao PMC 31 o endereço para uma lista de endereços e o comprimento da lista. Os endereços na lista são localizações para dados contidos em filas de saída da CVT 56 ou A429 que devem ser colocados no quadro de dados a ser construído.
[077] A construção de quadros de dados paramétricos pode ser rigorosamente planejada. A título de exemplo, o escalonamento de até 4096 construções de quadro pode ser suportado com uma resolução de partida do quadro de dados planejado de 500 microssegundos. Pode haver uma tabela de valores de contador que representam incrementos de tempo de 500 microssegundos, uma tabela de limiares de contador e uma tabela de descritores de mensagem, todos os quais são referenciados pelas entradas de um contador de endereço de tabela do descritor (DTAC). O formato do descritor para um quadro de dados a ser construído é descrito adicionalmente abaixo. Cada entrada da tabela de valor do contador, da tabela de limiar do contador e da tabela do descritor é associada com uma ocorrência de um quadro de dados a ser construído.
[078] O escalonamento de construção de mensagem procede como se segue: O DTAC varre a tabela completa de 4096 valores de contagem. Cada valor de contagem é incrementado e comparado ao limiar de contagem máximo, obtido da tabela de limiares de contagem máximos. Se a contagem for menor do que o limiar, o valor incrementado é simplesmente gravado de volta na tabela de valores de contagem e a construção de mensagem pode não ser disparada. Entretanto, se a contagem for maior ou igual ao valor máximo preestabelecido para a mensagem, o valor de contagem gravado de volta é zero e o valor dos conteúdos da entrada de tabela do descritor referenciados pelo DTAC, que pode ser o descritor para que a mensagem personalizada seja transmitida, é passado para o PMC 31 iniciar a função de construção de mensagem.
[079] Nesse exemplo, se há menos do que 4096 mensagens a serem construídas, haverá entradas de descritor não usadas na tabela do descritor que podem nunca fazer a construção de mensagem ocorrer. Na ocorrência onde é desejável desabilitar uma entrada de localização de descritor particular, a entrada de tabela de contagem máxima correspondente pode ser estabelecida como um valor que não pode ser alcançado, isto é, 4096, devido a um número insuficiente de bits (isto é, 11) para o valor de contagem. Nesse exemplo, já que o PMS 30 é capaz de escalonamento até 4096 mensagens a cada 500 microssegundos, o PMS 30 possivelmente não será um fator limitador em desenvolver mensagens personalizadas para o ADS 18. Alternativamente, a resolução de plano para a construção de qualquer mensagem pode ser em incrementos de 500 microssegundos.
Função de Construção de Mensagem Paramétrica [080] Quando o PMS 30 determina que a construção de mensagem seja planejada, o mesmo passa o descritor junto com uma indicação disponível de descritor para a função do PMC 31. O descritor contém informações identificadoras de tal modo que o PMC 31 possa determinar quanto a se a fonte de dados para o quadro de Ethernet/A664p7 é de uma das filas de A429 40 e/ou quanto a se são dados que devem ser armazenados em scatter-gather da CVT 56 com o uso de uma lista de endereços de CVT 56. Por exemplo, se o bit mais significativo (MSB) do descritor indica que a mensagem deve ser construída a partir de dados nas filas de A429 40, o descritor pode conter o endereço de base (marcador de HOL) e o comprimento de um cabeçalho de UDP/IP/MAC que deve ser lido diretamente da tabela de mensagem paramétrica 58 e colocado em uma fila 40 de construção de mensagem seguida por dados da fila ou filas de A429.
[081] Inversamente, se o MSB do descritor de mensagem paramétrica indicar que um quadro deve ser construído a partir de dados na CVT 56, então o marcador de HOL é o endereço de base na CVT 56 de uma lista ordenada e contígua de tabela de mensagem paramétrica 58 e descritores de endereço da CVT 56 que devem ser usados na construção de uma mensagem. Nesse exemplo, o campo de comprimento indica o comprimento daquela lista de descritores de endereço. O PMC 31 usa esses descritores de endereço para coletar valores de dados da CVT 56 selecionados. Durante a construção, a lista de descritores de endereço é lida primeiro a partir da tabela de mensagem paramétrica 58. Os descritores de endereço são então usados para construir o cabeçalho de uma mensagem lendo-se a partir da tabela de mensagem paramétrica 58 e o conteúdo da mensagem lendo-se a partir de localizações selecionadas da CVT 56 e/ou as filas de saída de A429.
[082] Um quadro de dados ou “mensagem” completa consiste em um cabeçalho, uma lista de valores de parâmetro e um rodapé. Cada campo do cabeçalho do quadro de dados e cada valor de parâmetro podem ser armazenados em localizações fixas, mas não contíguas do CDS 28, como descrito acima. Portanto, cada quadro de dados a ser construído deve incluir uma lista ordenada de endereços que serão usados para ler esses valores dispersos da CVT 56. Para manter a memória de PMS 30 pequena, as listas de descritores de endereço podem as mesmas serem mantidas em uma área estática de memória dentro do CDS 28, por exemplo, a tabela de mensagem paramétrica 58 da CVT 56.
[083] O descritor de mensagem paramétrica suprida pelo PMS 30 para o PMC 31 pode incluir, por exemplo, um Cabeçalho de Marcador de Lista de 18 bits (marcador de HOL), um Comprimento da Lista de endereços em palavras de 32 bits e um campo reservador para bits de controle. Nesse exemplo, o marcador de HOL pode ser deslocado para a esquerda e anexado com zeros de modo que cada lista de endereço inicie apenas em um limite de 64 bytes. O bit de controle ‘S’ pode também indicar quanto a se o descritor é para uma mensagem de A664p7. Se o descritor é para uma mensagem de A664p7, um campo de EflowlD no descritor pode ser usado para rastrear números de sequência de A664p7. É vislumbrado de modo adicional que um valor de MSB do descritor de mensagem paramétrica de zero pode fazer referência a uma lista de endereços que fazem referência indireta a localizações de dados que devem ser gravados em uma mensagem. Esses endereços podem, por exemplo, ser contidos dentro de localizações de 64 bits dentro da CVT 56, junto com informações de seleção e controle de byte que indicam como a localização de dados referenciada deve ser compactada na mensagem. Se presente, o campo de controle pode conter códigos para indicar alinhamento de LSB ou MSB, formato de big-endian (bit mais importante no maior endereço), de iittle-endian (bit menos importante no menor endereço), ou de big-endian (bit mais importante no maior endereço) alterado, etc. Conteúdos de campo de controle adicionais e efeitos são vislumbrados.
[084] Se a mensagem que é construída for uma mensagem de A664p7, o PMC 31 pode usar um campo (EflowlD) no descritor de mensagem recebido do PMS 30 para acessar esse Número de Sequência (SN) do VL. O byte do SN pode ser incrementado de acordo com as regras descritas em A664p7 e colocado como o último byte do conteúdo da mensagem construída pelo PMC 31. Uma vez que o quadro de mensagem é completo, o mesmo é transferido para uma porta de laço de retorno dedicada 86, que computa um CRC, tal como um CRC-32 e transfere o quadro de volta para a interface de ingresso comum 22 do ADS 18 de um modo de laço de retorno.
[085] Pode haver múltiplas razões para enviar a mensagem construída de volta para a interface de ingresso comum 22 do ADS 18 anterior à transferência para uma unidade de assinante 32. A razão principal é segurança. Apesar de a construção de cada quadro de mensagem paramétrica ser rigorosamente planejado, é vislumbrado que um quadro de A664p7 deve ser policiado por uma lógica de agente controlador 27 separada para burlar a vulnerabilidade a uma única falha. Essa é a razão para exigir a função de policiamento do escalonador de porta de ingresso 24 em uma troca de A664p7, embora as unidades de assinante 32 possam já desempenhar moldagem de tráfego. Dentro do ADS 18, o agente controlador 27 é segregado do PMS 30 (e consequentemente o PMC 31) para satisfazer essa exigência.
[086] Uma segunda razão para transferir a mensagem construída por laço de retorno pode ser evitar duplicação da função do DMD. A porta de laço de retorno 86 não desempenha operações significativas na mensagem e, desse modo, pode não ser limitada por atrasos operacionais. Consequentemente, a taxa de dados operacional da porta de laço de retorno 86 pode ter, por exemplo, taxas de gigabit, O impacto resultante em latência de laço de retorno pode ser feito desprezível, por exemplo, distribuindo-se o descritor do quadro para uma fila de descritor de porta por egresso 43 de alta prioridade e programando-se o escalonador com base em regras 76 de modo apropriado. É vislumbrado que uma única porta de lace de retorno 86 para dados de PMC 31 de laço de retorno para suportar transmissão, por exemplo, de mais de 100 mensagens, cada uma com um comprimento médio de 512 bytes, dentro de menos de 500 microssegundos. Entretanto, portas de laço de retorno 86 adicionais podem ser configuradas no ADS 18 e dedicadas às mensagens geradas pelo PMC 31.
Caminho de Dados de ARINC 429 [087] Palavras de dados de ARINC 429 chegam às portas de ingresso físicas 42 numeradas de dezesseis a quarenta e oito. O Tempo de Gravador de Chegada 50 indica em qual palavra da porta de ingresso 42 deve ser feita manutenção em seguida. Em seguida, o escalonador de porta de ingresso 24 analisa sintaticamente o quadro de dados para identificar a porta de chegada (PoA) e a etiqueta de 8 bits de A429, e supre cada uma para a DLT 26, que determina quanto a se a palavra deve ser armazenada na CVT 56 (e/ou quaisquer armazenamentos temporários circulares 54) e qual das portas de ingresso de A429 66 deve receber uma cópia da palavra. O PMS 30 supre um descritor de mensagem paramétrica para a função de PMC 31 para construir uma mensagem de Ethernet ou A664p7.
[088] As palavras de A429 que não são parte de uma mensagem de múltiplas palavras também podem ser armazenadas na CVT 56. Nesse caso, cada palavra é armazenada com uma etiqueta de tempo de 32 bits da qual o LSB tem 216 microssegundos. Nesse exemplo, a função de PMC 31 pode tomar as palavras de A429 junto com outros parâmetros na CVT 56 para construir um quadro de Ethernet ou A664p7.
Sincronização de Número de Sequência da parte 7 do ARINC 664 [089] É vislumbrado de modo adicional que a rede de comunicações de dados 16 descrita no presente documento pode prever uma sincronização de número de sequência de A664p7 por todos os múltiplos ADSs 18. Em muitas plataformas aviônicas, pode ser vantajoso para as funções de PMC 31 que residem em diferentes ocorrências de ADS 18 para distribuir de modo síncrono quadros de dados de A664p7 com conteúdo idêntico. Isso é equivalente a uma virtualização de um sistema de ponta duplo LRU, mas sendo que os dois sistemas de porta virtual residem em servidores e placas de circuito diferentes. Essa sincronização de número de sequência de A664p7 pode ser realizada com o uso de um protocolo intercâmbio de mensagem que verifica que a sincronização de tempo foi alcançada, prevê uma mensagem entre ADSs 18 que contém o valor de números de sequência para todos os EflowIDs, e prevê uma mensagem que indica uma reinicialização dos números de sequência para zero mediante um limiar de tempo futuro designado, por exemplo, quando uma discrepância nos números de sequência se torna muito grande.
Arranjo de Processador [090] O ADS 18 pode também fornecer um ou mais processadores 78, ou um arranjo de processador distribuída 78. Como mostrado, cada processador 78 inclui a própria porta de ingresso virtual e egresso virtual 72 conectada à função de troca e que aparece como, por exemplo, uma porta de Ethernet. Os processadores 78 podem operar com o uso de uma única linha de execução ou múltiplas linhas execução para desempenhar cálculos de mensagens supridas por esse processador 78. A função que é desempenhada em uma mensagem suprida é acionada pelas informações no cabeçalho da mensagem. O arranjo de processador é configurado para servir o ADS 18 como uma RIU virtual centralizada (VRIU).
Por exemplo, a VRIU pode desempenhar conversão de unidades de engenharia a partir de dados de sensor brutos, parâmetros derivados de computador, e/ou construir uma mensagem personalizada para uma aplicação remota processando-se os dados brutos. O escalonamento de mensagens personalizadas minimiza latência de sistema e habilita sincronização de processamento distribuído.
[091] Um exemplo de processador aplicado 78 pode incluir um único microprocessador de chip com 10/100 interfaces de Ethernet projetadas especificamente para aplicações de missão críticas para sistemas aviônicos. Outro exemplo de um processador 78 aplicável pode ser um processador de propósito geral. Além disso, os microprocessadores podem suportar CPUs de sintonia dupla com ECC tanto nas memórias internas quanto cache, que incluem uma memória FLASH interna para armazenamento não volátil. Os processadores 78 mencionados anteriormente podem ser usados para habilitar arquitetura de processamento para o ADS 18. É vislumbrado de modo adicional que tais processadores 78 podem ser usados em combinação com as funções de PMS 30 e PMC 31 mencionadas acima para fornecer processamento paralelo otimizado para virtualmente qualquer aplicação que possa ser decomposta em uma coleção de fios de processamento seriais ou paralelos.
[092] Como descrito no presente documento, o PMS 30 pode colher, formatar e distribuir uma mensagem quando um descritor é enviado ao PMC 31 para construir uma mensagem. Um exemplo de como o escalonamento de PMS 30 de mensagens pode ser usado para sincronizar a operação do processador distribuído é como se segue: Uma linha executada em um processador 78 será ativada apenas mediante recebimento de uma mensagem personalizada que invoca a mesma. A saída de uma linha executada em um processador 78 pode ser uma mensagem paramétrica que pode ser recebida por uma porta de ingresso virtual 46 na interface de ingresso comum 22, planejada pelo escalonador de porta de ingresso 24 e armazenada na CVT 56. Ademais, o PMS 30 pode iterar através dos processadores 78 uma segunda vez coletando-se, formatando-se e distribuindo-se uma mensagem com base na mensagem paramétrica processada (como descrito acima) para outro processador 78 para processamento. Esse processo pode se repetir até que um resultado final desejado seja alcançado. Desse modo, as capacidades de processamento de processadores de propósito geral podem ser dispostas em encadeamento para formar um sistema de multiprocessamento distribuído otimizado. Se cada linha tem um tempo de execução ou processamento máximo conhecido, as funções do PMS 30 e do PMC 31 podem otimizar adícionalmente a utilização dos processadores 78 quando disponíveis ou necessários.
[093] Outro exemplo detalhado por ilustrar adicionalmente o fluxo de dados para três mensagens paramétricas. O PMS 30, por exemplo, colhe um primeiro conjunto de parâmetros da CVT 56 e constrói uma primeira mensagem para um primeiro processador. O PMS 30 pode também coletar um segundo conjunto de parâmetros e construir uma segunda mensagem para um segundo processador. O primeiro e segundo processadores executam os programas disparados por mensagem diferentes em paralelo e, através do caminho de dados de ingresso, os resultados processados são gravados na CVT 56. O PMS 30 pode construir subsequentemente uma terceira mensagem a partir do primeiro e segundo resultados processados e fornecer a terceira mensagem para processamento adicional para qualquer um do primeiro, o segundo, ou um terceiro processador e assim por diante. Além disso, nesse exemplo, enquanto o primeiro e segundo processadores processam concomitantemente a primeira e segunda mensagens, o PMS 30 pode construir duas mensagens paramétricas adicionais, por exemplo, uma quarta e uma quinta mensagem para processamento no primeiro e segundo processadores.
Esse processamento pode ser disposto em encadeamento rigorosamente de modo que os processadores 78 sejam capazes de execução paralela com pouco tempo inativo.
[094] A seleção de qual tarefa (ou linha) um dado processador 78 executa é determinada pelo cabeçalho da mensagem que o mesmo recebe do PMS 30 e os dados processados por essa tarefa estão contidos no corpo da mensagem. Não há necessidade de troca de tarefa com base em uma interrupção de um instante de temporizador devido ao fato de que um mecanismo de interrupção com base em instante de temporizador pode efetivamente ser alcançado já que a geração de mensagens de PMS 30 adere a um plano de tempo rigoroso, como descrito acima. Desse modo, um instante de temporizador pode ser imitado habiiitando-se mensagens do PMS 30 a interromper o processador. Mapear esse processamento acionado por interrupção de mensagem de PMS em processadores 78 pode ser facilitado adicionalmente pela disponibilidade de RAM privada para cada processador 78 reter estado e prosseguir a operação seguindo-se a interrupção acionada por mensagem. Essa capacidade de processamento acionado por interrupção pode ser útil para processamento acionado por interrupção onde uma dada linha de processamento não pode executar até a conclusão antes de uma troca de tarefa ou interrupção acionada por evento deva ocorrer. Se interrupções acionadas por mensagem forem habilitadas, pode também ser possível que uma mensagem que chega de uma fonte externa devido a algum evento assíncrono, tal como uma RIU 20, evite a CVT 56 toda e ser enviado através da função de troca do ADS 18 (por meio, por exemplo, de um dos armazenamentos temporários circulares 54) diretamente para um processador selecionado 78.
INTERFUNCIONAMENTO
[095] O interfuncionamento pode ser projetado para desempenhar conversão de um protocolo para outro, por exemplo, conforme determinado por interfaces físicas de ingresso ou egresso 44, 68 diferentes. Uma função chave de interfuncionamento é um Sistema de Ponta Virtual (VES) 82, que serve com, por exemplo, uma interface de A664p7 para quaisquer LRUs conectados ao ADS 18, o que habilita os mesmos a suportarem uma interface de Ethernet simples para o ADS 18 e suar, por exemplo, quadros de Ethernet jumbo para transportar dados de porta de COM para o VES 82. O VES 82 pode suportar um número de formatos e protocolos lógicos de herança, atuais, e/ou futuros.
[096] As realizações reveladas no presente documento fornecem um servidor de dados aviônicos para uma rede de comunicações de dados aviônica com operação coordenada. Uma vantagem que pode ser realizada nas realizações acima é que as realizações descritas acima operam com uma coleção diferente de dados de aeronave, processamento em tempo certo, escalonamento preciso e distribuição desses dados para coordenar servidores, sistemas, unidades de assinante e visores. Além disso, as realizações descritas acima fornecem processamento sincronizado dentre processadores distribuído enquanto exige apenas que os servidores de dados sejam sincronizados por tempo. Devido às operações eficientes dos servidores de dados aviônicos descritos acima, ineficiências de rede excessiva e banda computacional devido à utilização de rede não coordenada podem ser minimizadas, o que resulta em eficiência de banda aumentada e exigências de energia inferiores. Adicionalmente, devido à eficiência aumentada e requerimentos de energia inferiores, um pacote de circuito menor pode ser um perfil térmico inferior, que resulta em vantagens de espaço e tamanho superiores. Quando componentes de aeronave são projetados, fatores importantes a abordar são tamanho, exigências de energia e confiabilidade. Tamanho, exigências de energia e confiabilidade reduzidos se correlacionam com vantagens competitivas durante voo.
[097] Outra vantagem das realizações descritas acima é que a utilização de múltiplos armazenamentos temporários circulares no CDS, segregada pela velocidade da porta de egresso, permite eficiência de dados aumentada substituindo-se dados a uma taxa apropriada de modo que, por exemplo, quadros destinados a uma porta de egresso lenta não são substituídas por quadros que chegam rápido por uma porta de egresso rápida. Essa utilização permite a mais alta probabilidade de que os quadros de dados serão consumidos anteriormente a serem substituídos. Além disso, a utilização dos armazenamentos temporários circulares elimina a necessidade de determinar um método de acompanhar blocos de memória livres ou não usados. Os dados mais antigos são sempre substituídos com o uso do armazenamento temporário circular, que fornece operação rápida e descomplicada.
[098] Ainda outra vantagem das realizações acima é que as realizações descritas acima significativamente limitam ou eliminam a necessidade de sistemas de ponta e interruptores atuais ou de herança, tal como o sistema A664p7. Além disso, as realizações descritas acima preveem espelhamento de dados por múltiplos dispositivos de servidores e de armazenamento, que fornecem medidas de redundâncias no evento de uma falha. Ainda outra vantagem das realizações descritas acima é que a rede descrita prevê verificação redundante de tarefas de processamento, permitindo-se múltiplos processadores, ou múltiplos servidores para desempenhar os mesmos cálculos, que podem ser comparados uns aos outros.
[099] Em ainda outra vantagem das realizações descritas acima, o escalonador com base em regra prevê arbitragem de dados de manutenção e portas de egresso com base em um ou mais indicadores de volume, que permitem que prioridades de manutenção sejam estabelecidas. As prioridades de manutenção permitem operação adaptativa, porém determinista das funções de escalonamento de egresso sem desperdiçar planos de manutenção não utilizados.
[0100] Até o ponto ainda não descrito, os recursos e estruturas das diversas modalidades podem ser usados em combinação uns com os outros como desejado. Esse um recurso pode não ser ilustrado em todas as modalidades e não se destina a ser interpretado de modo que o mesmo não possa ser, mas é feito a título de brevidade de descrição. Desse modo, os diversos recursos das diferentes realizações podem ser misturados e combinados como desejado para formar novas modalidades, as novas modalidades sendo ou não expressamente descritas. Todas as combinações de recursos descritas no presente documento são cobertas por esta revelação.
[0101] Esta descrição escrita usa exemplos para revelar a invenção, incluindo o melhor modo, e também para habilitar qualquer indivíduo versado na técnica a colocar a invenção em prática, incluindo a criação e o uso de quaisquer dispositivos ou sistemas e a realização de quaisquer métodos incorporados. O escopo patenteável da invenção é definido pelas reivindicações, e pode incluir outros exemplos que ocorram àqueles indivíduos versados na técnica. Tais outros exemplos se destinam a estar dentro do escopo das reivindicações se as mesmas tiverem elementos estruturais que não difiram da linguagem literal das reivindicações, ou se as mesmas incluem elementos estruturais equivalentes com diferenças insubstanciais da linguagem literal das reivindicações.

Claims (7)

1. MÉTODO PARA CONTROLAR A COMUNICAÇÃO DE DADOS, em uma rede de comunicações, que tem um servidor de dados central (CDS) (28) que fornece dados através de múltiplas filas de dados (40), caracterizado pelo fato de que o método compreende: armazenar quadros de dados de chegada que chegam a cada uma das múltiplas filas de dados (40); determinar um tempo de conclusão de armazenamento para cada quadro de dados armazenado nas filas de dados (40); armazenar um identificador de fila em uma memória (FIFO) primeiro a entrar, primeiro a sair para cada quadro de dados armazenado em ordem cronológica de acordo com o tempo de conclusão determinado; selecionar a fila de dados (40) para servir o CDS (28) com base no identificador de fila na localização de memória cronológica mais antiga na memória FIFO; e servir um quadro de dados na uma das múltiplas filas (40) que correspondem ao identificador de fila selecionado.
2. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que determinar um tempo de conclusão de armazenamento compreende registrar um tempo de chegada.
3. MÉTODO, de acordo com a reivindicação 2, caracterizado pelo fato de que registrar um tempo de chegada compreende adicionalmente registrar um tempo de chegada após todos os dados concluírem a chegada.
4. MÉTODO, de acordo com a reivindicação 2, caracterizado pelo fato de que mais de um quadro de dados que tem um mesmo tempo de chegada é armazenado em mais de uma fila de dados (40).
5. MÉTODO, de acordo com a reivindicação 4, caracterizado pelo fato de que qualquer um dentre os mais de um identificadores de fila (40) que têm o mesmo tempo de chegada é armazenado na fila da memória FIFO em qualquer ordem.
6. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que servir o quadro de dados compreende gravar pelo menos uma palavra do quadro de dados no CDS (28).
7. MÉTODO, de acordo com a reivindicação 6, caracterizado pelo fato de que servir o quadro de dados compreende adicionalmente gravar pelo menos uma palavra do quadro do CDS (28) em pelo menos uma dentre uma localização de tabela de valores atuais (CVT) (56) ou uma localização de armazenamento temporário circular (54).
BR102014024137A 2013-10-11 2014-09-29 método para controlar a comunicação de dados BR102014024137A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/052,264 US9015379B1 (en) 2013-10-11 2013-10-11 Method of controlling data communication

Publications (1)

Publication Number Publication Date
BR102014024137A2 true BR102014024137A2 (pt) 2016-05-24

Family

ID=51946722

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102014024137A BR102014024137A2 (pt) 2013-10-11 2014-09-29 método para controlar a comunicação de dados

Country Status (7)

Country Link
US (1) US9015379B1 (pt)
JP (1) JP5868470B2 (pt)
CN (1) CN104579862B (pt)
BR (1) BR102014024137A2 (pt)
CA (1) CA2867214C (pt)
FR (1) FR3011954B1 (pt)
GB (1) GB2521032B (pt)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105556953B (zh) * 2013-07-29 2019-04-19 Lg电子株式会社 发送广播信号的装置、接收广播信号的装置、发送广播信号的方法和接收广播信号的方法
FR3018977B1 (fr) * 2014-03-24 2018-01-12 Thales Structure de controleur d'echanges de messages et de communications generique pour des systemes de communication avioniques rebondants
US10491639B2 (en) * 2015-03-17 2019-11-26 The Boeing Company Scalable security architecture systems and methods
US10949427B2 (en) 2017-01-31 2021-03-16 Microsoft Technology Licensing, Llc Stream data processing on multiple application timelines
US10778575B2 (en) 2017-02-20 2020-09-15 Ge Aviation Systems Llc Systems and methods for scheduling a message
GB2563894A (en) * 2017-06-29 2019-01-02 Airbus Operations Ltd Data centric messaging
FR3091440B1 (fr) * 2018-12-26 2021-01-15 Thales Sa Commutateur comportant un port d’observabilité et système de communication comportant un tel commutateur
CN109445464B (zh) * 2019-01-08 2021-06-25 深圳市道通智能航空技术股份有限公司 一种飞行控制方法及飞行控制系统
CN111030905B (zh) * 2019-12-05 2021-11-26 达闼机器人有限公司 网络传输方法及can总线网络、存储介质及电子设备
US20220131598A1 (en) * 2020-10-26 2022-04-28 Ge Aviation Systems Llc Converged avionics data network
CN113282350B (zh) * 2021-05-26 2023-01-13 重庆零壹空间科技集团有限公司 遥测数据判读方法、装置、计算机设备和可读存储介质
CN116028398B (zh) * 2022-11-01 2023-10-31 中科计算技术西部研究院 一种互连网络仲裁系统、装置、方法及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933155A (en) * 1996-11-06 1999-08-03 Silicon Graphics, Inc. System and method for buffering multiple frames while controlling latency
US6771653B1 (en) * 1999-09-23 2004-08-03 International Business Machines Corporation Priority queue management system for the transmission of data frames from a node in a network node
JP2004343734A (ja) * 2003-04-23 2004-12-02 Sumitomo Electric Ind Ltd 光加入者線端局装置およびフレームスケジューリング方法
US7336676B2 (en) * 2004-01-20 2008-02-26 Mediatek Inc. Multi-queue single-FIFO architecture for quality of service oriented systems
US20100306256A1 (en) * 2009-06-02 2010-12-02 Sun Microsystems, Inc. Distributed Database Write Caching With Limited Durability
TWI419519B (zh) * 2009-12-22 2013-12-11 Ind Tech Res Inst 適用於多媒體串流的網路封包傳送系統與方法
EP2668753B1 (en) * 2011-01-28 2017-10-04 Napatech A/S An apparatus and a method for receiving and forwarding data packets
US8675689B2 (en) 2011-02-15 2014-03-18 General Electric Company Method of time synchronization of free running nodes in an avionics network
CN103139316B (zh) * 2011-11-23 2016-02-24 中国航空工业集团公司第六三一研究所 用于航空专用全双工交换以太网终端系统的sampling端口的实现方法
US20130208630A1 (en) * 2012-02-15 2013-08-15 Ge Aviation Systems Llc Avionics full-duplex switched ethernet network
CN103049414B (zh) * 2012-12-28 2015-04-15 中国航空工业集团公司第六三一研究所 Fc总线与can总线间数据的转换及传输方法

Also Published As

Publication number Publication date
US9015379B1 (en) 2015-04-21
GB2521032B (en) 2015-12-23
GB201417396D0 (en) 2014-11-19
JP2015076885A (ja) 2015-04-20
CA2867214A1 (en) 2015-04-11
US20150106537A1 (en) 2015-04-16
CN104579862A (zh) 2015-04-29
CN104579862B (zh) 2018-08-10
CA2867214C (en) 2017-07-11
JP5868470B2 (ja) 2016-02-24
FR3011954B1 (fr) 2017-12-15
FR3011954A1 (fr) 2015-04-17
GB2521032A (en) 2015-06-10

Similar Documents

Publication Publication Date Title
BR102014024137A2 (pt) método para controlar a comunicação de dados
US9749256B2 (en) Data communications network for an aircraft
EP3055959B1 (en) Data communications network for an aircraft
US10819791B2 (en) Data communications network for an aircraft
CA2867219C (en) Data communications network for an aircraft
US7653072B2 (en) Overcoming access latency inefficiency in memories for packet switched networks
CN106063206A (zh) 基于优先级和带宽分配的通信量类别仲裁
Grammatikakis et al. Chip-Level Communication Services

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]
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]
B11B Dismissal acc. art. 36, par 1 of ipl - no reply within 90 days to fullfil the necessary requirements