BR112017000097B1 - Métodos de geração de mensagens vitais implementado por computador em um sistema de bordo de um veículo, sistemas para gerar mensagens vitais e aparelho para gerar mensagens vitais em um sistema - Google Patents

Métodos de geração de mensagens vitais implementado por computador em um sistema de bordo de um veículo, sistemas para gerar mensagens vitais e aparelho para gerar mensagens vitais em um sistema Download PDF

Info

Publication number
BR112017000097B1
BR112017000097B1 BR112017000097-0A BR112017000097A BR112017000097B1 BR 112017000097 B1 BR112017000097 B1 BR 112017000097B1 BR 112017000097 A BR112017000097 A BR 112017000097A BR 112017000097 B1 BR112017000097 B1 BR 112017000097B1
Authority
BR
Brazil
Prior art keywords
vital
message
messages
final
binary string
Prior art date
Application number
BR112017000097-0A
Other languages
English (en)
Other versions
BR112017000097A2 (pt
Inventor
Kristofer M. Ruhland
Kendrick W. Gawne
James L. Fenske
Original Assignee
Westinghouse Air Brake Technologies Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Westinghouse Air Brake Technologies Corporation filed Critical Westinghouse Air Brake Technologies Corporation
Publication of BR112017000097A2 publication Critical patent/BR112017000097A2/pt
Publication of BR112017000097B1 publication Critical patent/BR112017000097B1/pt

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L15/00Indicators provided on the vehicle or train for signalling purposes
    • B61L15/0018Communication with or on the vehicle or train
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L15/00Indicators provided on the vehicle or train for signalling purposes
    • B61L15/0018Communication with or on the vehicle or train
    • B61L15/0027Radio-based, e.g. using GSM-R
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L15/00Indicators provided on the vehicle or train for signalling purposes
    • B61L15/0018Communication with or on the vehicle or train
    • B61L15/0036Conductor-based, e.g. using CAN-Bus, train-line or optical fibres
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L15/00Indicators provided on the vehicle or train for signalling purposes
    • B61L15/0063Multiple on-board control systems, e.g. "2 out of 3"-systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L15/00Indicators provided on the vehicle or train for signalling purposes
    • B61L15/0072On-board train data handling
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L15/00Indicators provided on the vehicle or train for signalling purposes
    • B61L15/0081On-board diagnosis or maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • G06F11/167Error detection by comparing the memory output

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)
  • Traffic Control Systems (AREA)

Abstract

É descrito um sistema, um método e um aparelho para gerar mensagens vitais em um sistema de bordo de um veículo. O método inclui a geração de uma pluralidade de mensagens vitais com cada processador de uma pluralidade de processadores diferentes do sistema de bordo, com base em dados de trem disponíveis para cada processador; a transmissão da pluralidade de mensagens vitais da pluralidade de diferentes processadores para um processador separado; e a geração, pelo processador separado, de uma mensagem vital final baseada em pelo menos duas mensagens vitais da pluralidade de mensagens vitais. Um sistema e um aparelho para a implementação do método acima mencionado incluem, apropriadamente, componentes de hardware conectados de forma comunicativa.

Description

Referência Cruzada Com Pedidos De Patente Relacionados
[001] Este pedido reivindica o benefício da prioridade do pedido de patente dos Estados Unidos N° 14/791.785, depositado em 6 de julho de 2015, e do pedido de patente provisório dos Estados Unidos N° 62/021.346, depositado em 7 de julho de 2014, cujas descrições são aqui incorporadas como referência na sua totalidade.
Antecedentes Da Invenção Campo Da Invenção
[002] A presente invenção refere-se à geração de mensagens vitais e, em particular, a um sistema, um método e um aparelho para gerar mensagens vitais em um sistema de bordo de um veículo.
Descrição Do Estado Da Arte Relacionada
[003] Conforme conhecido no estado da arte, muitos sistemas e redes de trens utilizam alguma forma de sistema de gerenciamento de trens controlado por computador, tal como um sistema de Controle de Trem Positivo (PTC - Positive Train Control) (por exemplo, o I-ETMS® da empresa Wabtec Corporation). Esses sistemas de gerenciamento de trens controlados por computador têm computadores ou controladores de bordo que são utilizados para implementarem certas ações de controle e gerenciamento de trens, para assegurar a operação segura e eficaz do trem. Além disso, tais sistemas de PTC incluem componentes de comunicação para efetuarem a comunicação direta ou indireta entre trens individuais, como por exemplo um computador de bordo, um computador de gerenciamento de trem, um componente de bordo de PTC, ou similares, e um sistema remoto centralizado, como por exemplo um servidor de apoio (BOS - Back Office Server), um sistema de despacho central, outro computador de gerenciamento de trem, ou algum outro servidor ou sistema de computador remoto. Essas comunicações são utilizadas para a operação segura do trem em uma rede complexa, controlada e gerenciada pelo BOS.
[004] Embora algumas comunicações e mensagens entre trens, ou entre um trem e o servidor de apoio, sejam rotineiras ou não críticas, muitas das comunicações e mensagens são consideradas vitais, críticas e/ou de “segurança crítica”. Tais comunicações e mensagens podem incluir, sem limitações, mensagens que auxiliam no controle de tráfego e no roteamento de trens na rede ferroviária. Em particular, e para suportar outros componentes de PTC, o componente de bordo de PTC deve ser capaz de transmitir ou enviar mensagens vitais contendo dados críticos de segurança. Permanece a necessidade por uma solução que possa demonstrar que múltiplos processadores estão contribuindo para a mensagem vital, e que um processador não está fazendo todo o processamento (ou ignorando uma etapa de validação devido a uma falha interna), de modo a que a falha de um processador em criar ou gerar corretamente a mensagem não resulte no envio de uma mensagem contendo dados incorretos.
[005] Com respeito à lógica das mensagens existentes, quando o componente de bordo de PTC envia uma mensagem, cada CPU irá construir a mensagem e tentar enviá- la. Devido à arquitetura do sistema (por exemplo, três CPUs independentes e redundantes em paralelo com a intenção de que todas elas produzam as mesmas saídas), somente a mensagem criada pela CPU primária (por exemplo, a CPU responsável pelas decisões de controle entre processadores paralelos) será enviada pelo componente de bordo de PTC. Esta lógica pode criar um cenário inseguro se a CPU primária não estiver em sincronização com as outras CPUs, ou se a CPU primária criar ou gerar a mensagem com dados incorretos. Se a CPU primária não estiver em sincronização com as outras CPUs, ela pode enviar uma mensagem que as outras CPUs realmente não enviaram (por exemplo, um relatório de estado do sistema da locomotiva), ou enviar uma mensagem com um conteúdo diferente daquele que as outras CPUs tentaram comunicar. Nos sistemas existentes, não há coordenação entre as CPUs para garantir que múltiplas CPUs devam enviar a mesma mensagem, ou que a mensagem foi construída com dados corretos. Um diagrama esquemático de tal lógica de mensagens existente está ilustrado na fig. 1.
Sumário Da Invenção
[006] Geralmente, é aqui provido um sistema, um método e um aparelho para a geração de mensagens vitais em um sistema de bordo de um veículo, que supera algumas ou todas as desvantagens do estado da técnica anterior.
[007] De acordo com uma forma de incorporação preferida e não limitativa, é provido um método implementado por computador para gerar mensagens vitais em um sistema de bordo de um veículo, compreendendo: a geração de uma pluralidade de mensagens vitais com cada processador de uma pluralidade de diferentes processadores do sistema de bordo, com base nos dados do trem disponíveis para cada processador; a transmissão da pluralidade de mensagens vitais, a partir da pluralidade de diferentes processadores, para um processador separado; e a geração, pelo processador separado, de uma mensagem vital final baseada em pelo menos duas mensagens vitais da pluralidade de mensagens vitais.
[008] De acordo com outra forma de incorporação preferida e não limitativa, é provido um sistema para gerar mensagens vitais em um sistema de bordo de um veículo, compreendendo: uma pluralidade de processadores dispostos no veículo e configurados para gerarem uma pluralidade de mensagens vitais, com cada processador da pluralidade de processadores estando configurado para gerar pelo menos uma mensagem vital da pluralidade de mensagens vitais, com base, pelo menos parcialmente, em dados críticos de segurança disponíveis para aquele processador; e pelo menos um processador separado configurado para gerar uma mensagem vital final, combinando pelo menos duas mensagens vitais da pluralidade de mensagens vitais.
[009] De acordo com uma outra forma de incorporação preferida e não limitativa, é provido um aparelho para gerar mensagens vitais em um sistema de bordo de um veículo, compreendendo pelo menos um meio não transitório legível por computador, incluindo instruções de programa que, quando executadas pelo sistema de bordo, fazem com que o sistema de bordo: gere uma pluralidade de mensagens vitais com cada processador de uma pluralidade de diferentes processadores do sistema de bordo, com base nos dados do trem disponíveis para cada processador; transmita a pluralidade de mensagens vitais, a partir da pluralidade de diferentes processadores, para um processador separado; e gere, no processador separado, uma mensagem vital final a partir de pelo menos duas mensagens vitais da pluralidade de mensagens vitais.
[010] De acordo com ainda outra forma de incorporação preferida e não limitativa, é provido um método implementado por computador para gerar uma mensagem vital em um sistema de bordo de um veículo, compreendendo: inserir um identificador em cada mensagem de uma pluralidade de mensagens, em que pelo menos uma primeira porção de cada identificador identifica exclusivamente um processador de uma pluralidade de processadores que geraram a mensagem, e em que pelo menos uma segunda porção de cada identificador é idêntica entre todos os identificadores; combinar, com pelo menos um processador, a pluralidade de mensagens em uma mensagem final compreendendo um identificador combinado; determinar, com pelo menos um processador, se o identificador combinado compreende a segunda porção de cada identificador; e determinar, com pelo menos um processador, que a mensagem final foi gerada com base em pelo menos duas mensagens provenientes de pelo menos dois processadores, se o identificador combinado compreender a segunda porção.
[011] De acordo com mais uma forma de incorporação preferida e não limitativa, é provido um sistema para gerar e validar uma mensagem vital, compreendendo: pelo menos um meio não transitório legível por computador, incluindo instruções de programa que, quando executadas por um sistema de bordo de um veículo, fazem com que o sistema de bordo: receba uma pluralidade de mensagens, cada mensagem da pluralidade de mensagens compreendendo um identificador, em que pelo menos uma primeira porção de cada identificador identifica exclusivamente um processador de uma pluralidade de processadores que geraram a mensagem, e em que pelo menos uma segunda porção de cada identificador é idêntica entre todos os identificadores; combine a pluralidade de mensagens em uma mensagem final compreendendo um identificador combinado; pelo menos um meio não transitório legível por computador incluindo instruções de programa que, quando executadas por um sistema remoto, fazem com que o sistema remoto: determine se o identificador combinado compreende a segunda porção de cada identificador; e determine que a mensagem final foi gerada com base em pelo menos duas mensagens de pelo menos dois processadores, se o identificador combinado compreender a segunda porção.
[012] Cláusula 1: um método implementado por computador para gerar mensagens vitais em um sistema de bordo de um veículo, compreendendo: gerar uma pluralidade de mensagens vitais com cada processador de uma pluralidade de diferentes processadores do sistema de bordo, baseado em dados do trem disponíveis para cada processador; transmitir a pluralidade de mensagens vitais, a partir da pluralidade de diferentes processadores, para um processador separado; e gerar, pelo processador separado, uma mensagem vital final baseada em pelo menos duas mensagens vitais da pluralidade de mensagens vitais.
[013] Cláusula 2: o método implementado por computador da cláusula 1, em que a geração da mensagem vital final compreende combinar a pluralidade de mensagens vitais de modo a que quaisquer mensagens inválidas sejam filtradas.
[014] Cláusula 3: o método implementado por computador da cláusula 2, em que a pluralidade de mensagens vitais compreende pelo menos uma primeira mensagem vital, uma segunda mensagem vital e uma terceira mensagem vital, em que a combinação da pluralidade de mensagens vitais compreende: combinar a primeira mensagem vital com a segunda mensagem vital, usando um primeiro operador lógico para gerar uma primeira cadeia binária; combinar a primeira mensagem vital com a terceira mensagem vital, usando o primeiro operador lógico para gerar uma segunda cadeia binária; combinar a segunda mensagem vital com a terceira mensagem vital, com o primeiro operador lógico, para gerar uma terceira cadeia binária; e combinar a primeira cadeia binária, a segunda cadeia binária e a terceira cadeia binária, com um segundo operador lógico.
[015] Cláusula 4: o método implementado por computador da cláusula 3, em que o primeiro operador lógico é um operador AND, e o segundo operador lógico é um operador OR.
[016] Cláusula 5: o método implementado por computador de qualquer uma das cláusulas 1 a 4, compreendendo ainda: determinar que a mensagem vital final é válida, se a mensagem vital final corresponder a pelo menos duas mensagens vitais da pluralidade de mensagens vitais; e transmitir a mensagem vital final para um sistema remoto, se a mensagem vital final for determinada como válida.
[017] Cláusula 6: o método implementado por computador de qualquer uma das cláusulas 1 a 5, compreendendo ainda: transmitir a mensagem vital final para um sistema remoto; e determinar, no sistema remoto, que a mensagem vital final é válida com base, pelo menos parcialmente, em uma CRC (Cyclic Redundancy Check - Verificação de Redundância Cíclica).
[018] Cláusula 7: o método implementado por computador de qualquer uma das cláusulas 1 a 6, compreendendo ainda: adicionar uma cadeia binária a cada mensagem vital da pluralidade de mensagens vitais, em que cada cadeia binária identifica exclusivamente o processador que gerou a mensagem vital, com cada cadeia binária tendo pelo menos um bit que é igual em cada cadeia binária de uma pluralidade de cadeias binárias; e determinar se a mensagem vital final é válida através da combinação da pluralidade de cadeias binárias para gerar um identificador combinado, de modo a que a mensagem vital final seja válida se o identificador combinado compreender pelo menos aquele bit igual.
[019] Cláusula 8: o método implementado por computador da cláusula 7, compreendendo ainda determinar se o identificador combinado compreende pelo menos aquele bit igual, através da comparação do identificador combinado com um valor predeterminado.
[020] Cláusula 9: um sistema para gerar mensagens vitais em um sistema de bordo de um veículo, compreendendo: uma pluralidade de processadores dispostos no veículo e configurados para gerarem uma pluralidade de mensagens vitais, com cada processador da pluralidade de processadores estando configurado para gerar pelo menos uma mensagem vital da pluralidade de mensagens vitais com base, pelo menos parcialmente, em dados críticos de segurança disponíveis para aquele processador; e pelo menos um processador separado configurado para gerar uma mensagem vital final, através da combinação de pelo menos duas mensagens vitais da pluralidade de mensagens vitais.
[021] Cláusula 10: o sistema da cláusula 9, em que a pluralidade de mensagens vitais compreende pelo menos uma primeira mensagem vital, uma segunda mensagem vital e uma terceira mensagem vital, com o processador separado estando configurado para determinar a coincidência entre pelo menos pelo menos duas mensagens vitais, através da: combinação da primeira mensagem vital com a segunda mensagem vital, usando um primeiro operador lógico para gerar uma primeira cadeia binária; combinação da primeira mensagem vital com a terceira mensagem vital, usando o primeiro operador lógico para gerar uma segunda cadeia binária; combinação da segunda mensagem vital com a terceira mensagem vital, usando o primeiro operador lógico para gerar uma terceira cadeia binária; combinação da primeira cadeia binária, da segunda cadeia binária e da terceira cadeia binária, utilizando um segundo operador lógico para gerar uma cadeia binária final.
[022] Cláusula 11: o sistema da cláusula 10, em que o primeiro operador lógico é um operador AND, e o segundo operador lógico é um operador OR.
[023] Cláusula 12: o sistema das cláusulas 10 ou 11, em que cada mensagem vital da pluralidade de mensagens vitais compreende uma cadeia binária que identifica exclusivamente o processador que gerou a mensagem vital, em que cada cadeia binária para a pluralidade de mensagens vitais compreende pelo menos um bit que é igual em cada cadeia binária da pluralidade de cadeias binárias, e em que pelo menos um processador separado está configurado para combinar a pluralidade de cadeias binárias para gerar um identificador combinado, de modo a que a mensagem vital final possa ser validada pela determinação de que o identificador combinado compreende pelo menos aquele bit igual.
[024] Cláusula 13: o sistema da cláusula 12, em que o identificador combinado é determinado para compreender pelo menos aquele bit igual, com base em uma comparação entre o identificador combinado e um valor predeterminado.
[025] Cláusula 14: um aparelho para gerar mensagens vitais em um sistema de bordo de um veículo, compreendendo pelo menos um meio não transitório legível por computador, incluindo instruções de programa que, quando executadas pelo sistema de bordo, fazem com que o sistema de bordo: gere uma pluralidade de mensagens vitais com cada processador de uma pluralidade de diferentes processadores do sistema de bordo, com base nos dados do trem disponíveis para cada processador; transmita a pluralidade de mensagens vitais, a partir da pluralidade de diferentes processadores, para um processador separado; e gere, no processador separado, uma mensagem vital final a partir de pelo menos duas mensagens vitais da pluralidade de mensagens vitais.
[026] Cláusula 15: o aparelho da cláusula 14, em que o sistema de bordo gera a mensagem vital final ao combinar a pluralidade de mensagens vitais, de modo a que mensagens inválidas sejam filtradas ou detectadas como inválidas.
[027] Cláusula 16: o aparelho da cláusula 15, em que a pluralidade de mensagens vitais compreende uma primeira mensagem vital, uma segunda mensagem vital e uma terceira mensagem vital, e em que a combinação da pluralidade de mensagens vitais compreende: combinar a primeira mensagem vital com a segunda mensagem vital, com um primeiro operador lógico, para gerar uma primeira cadeia binária; combinar a primeira mensagem vital com a terceira mensagem vital, com o primeiro operador lógico, para gerar uma segunda cadeia binária; combinar a segunda mensagem vital com a terceira mensagem vital, com o primeiro operador lógico, para gerar uma terceira cadeia binária; e combinar a primeira cadeia binária, a segunda cadeia binária e a terceira cadeia binária, com um segundo operador lógico.
[028] Cláusula 17: o aparelho da cláusula 16, em que o primeiro operador lógico é um operador AND, e o segundo operador lógico é um operador OR.
[029] Cláusula 18: o aparelho de qualquer uma das cláusulas 14 a 17, em que o sistema de bordo, adicionalmente: determina que a mensagem vital final é válida se a mensagem vital final corresponder a pelo menos duas mensagens vitais da pluralidade de mensagens vitais; e transmite a mensagem vital final para um sistema remoto se a mensagem vital final for determinada como válida.
[030] Cláusula 19: o aparelho de qualquer uma das cláusulas 14 a 18, em que o sistema de bordo, adicionalmente: transmite a mensagem vital final para um sistema remoto, de modo a que o sistema remoto possa determinar que a mensagem vital final é válida ou inválida com base em uma CRC.
[031] Cláusula 20: o aparelho de qualquer uma das cláusulas 14 a 19, em que o sistema de bordo, adicionalmente: adiciona, a cada mensagem vital da pluralidade de mensagens vitais, uma cadeia binária de uma pluralidade de cadeias binárias, em que cada cadeia binária da pluralidade de cadeias binárias identifica exclusivamente o processador que gerou a mensagem vital, com cada cadeia binária tendo pelo menos um bit que é igual em cada cadeia binária da pluralidade de cadeias binárias; e combina a pluralidade de cadeias binárias para gerar um identificador combinado, de modo a que a mensagem vital final possa ser validada pela determinação de que o identificador combinado compreende pelo menos aquele bit igual.
[032] Cláusula 21: o aparelho da cláusula 20, em que um sistema remoto determina se o identificador combinado compreende pelo menos aquele bit igual, através da comparação do identificador combinado com um valor predeterminado.
[033] Cláusula 22: o aparelho de qualquer uma das cláusulas 14 a 21, em que a pluralidade de mensagens compreende campos de mensagem variáveis, e em que o sistema de bordo, adicionalmente: troca dados de campo variável entre a pluralidade de diferentes processadores, com cada mensagem vital da pluralidade de mensagens vitais sendo gerada com base, pelo menos parcialmente, nos dados de campo variável.
[034] Cláusula 23: um método implementado por computador para gerar uma mensagem vital em um sistema de bordo de um veículo, compreendendo: inserir um identificador em cada mensagem de uma pluralidade de mensagens, em que pelo menos uma primeira porção de cada identificador identifica exclusivamente um processador de uma pluralidade de processadores que geraram a mensagem, e em que pelo menos uma segunda porção de cada identificador é idêntica entre todos os identificadores; combinar, com pelo menos um processador, a pluralidade de mensagens em uma mensagem final compreendendo um identificador combinado; determinar, com pelo menos um processador, se o identificador combinado compreende a segunda porção de cada identificador; e determinar, com pelo menos um processador, que a mensagem final foi gerada com base em pelo menos duas mensagens de pelo menos dois processadores, se o identificador combinado compreender a segunda porção.
[035] Cláusula 24: o método implementado por computador da cláusula 23, em que cada mensagem compreende uma cadeia binária, e em que a determinação de que o identificador combinado compreende a segunda porção compreende determinar se a primeira parte do identificador final compreende bits 0, e se a segunda parte do identificador final compreende bits 1.
[036] Cláusula 25: o método implementado por computador das cláusulas 23 ou 24, em que cada mensagem compreende uma cadeia binária, e em que a combinação da pluralidade de mensagens com pelo menos um operador lógico compreende: combinar cada mensagem e cada outra mensagem com uma operação AND, resultando em pelo menos dois resultados; e combinar pelo menos estes dois resultados com uma operação OR.
[037] Cláusula 26: o método implementado por computador da cláusula 25, compreendendo ainda determinar se a mensagem vital final é válida através da comparação da mensagem vital final com cada mensagem, de modo a que, se pelo menos duas mensagens da pluralidade de mensagens coincidirem com a mensagem vital final, a mensagem vital final seja determinada como válida.
[038] Cláusula 27: um sistema para gerar e validar uma mensagem vital, compreendendo: pelo menos um meio não transitório legível por computador, incluindo instruções de programa que, quando executadas por um sistema de bordo de um veículo, fazem com que o sistema de bordo: receba uma pluralidade de mensagens, cada mensagem da pluralidade de mensagens compreendendo um identificador, em que pelo menos uma primeira porção de cada identificador identifica exclusivamente um processador de uma pluralidade de processadores que geraram a mensagem, e em que pelo menos uma segunda porção de cada identificador é idêntica entre todos os identificadores; combine a pluralidade de mensagens em uma mensagem final compreendendo um identificador combinado; pelo menos um meio não transitório legível por computador, incluindo instruções de programa que, quando executadas por um sistema remoto, fazem com que o sistema remoto: determine se o identificador combinado compreende a segunda porção de cada identificador; e determine que a mensagem final foi gerada com base em pelo menos duas mensagens de pelo menos dois processadores, se o identificador combinado compreender a segunda porção.
[039] Cláusula 28: o sistema da cláusula 27, em que cada mensagem compreende uma cadeia binária, e em que a determinação de que o identificador combinado compreende a segunda porção compreende determinar se a primeira parte do identificador final compreende bits 0, e se a segunda porção do identificador final compreende bits 1.
[040] Cláusula 29: o sistema das cláusulas 27 ou 28, em que cada mensagem compreende uma sequência binária, e em que a pluralidade de mensagens é combinada: pela combinação de cada mensagem e cada outra mensagem com uma operação AND, resultando em pelo menos dois resultados; e pela combinação pelo menos destes dois resultados com uma operação OR.
[041] Cláusula 30: o sistema de qualquer uma das cláusulas 27 a 29, em que o sistema remoto adicionalmente determina se a mensagem vital final é válida através da comparação da mensagem vital final com cada mensagem, de modo a que, se pelo menos duas mensagens da pluralidade de mensagens coincidirem com a mensagem vital final, a mensagem vital final seja determinada como válida.
[042] Estas e outras características da presente invenção, bem como os métodos de operação e funções dos elementos de estruturas relacionados e a combinação de partes e economias de fabricação, tornar-se-ão mais evidentes com a consideração da descrição a seguir e das reivindicações anexas com referência aos desenhos acompanhantes, todos formando parte desta especificação, em que números de referência semelhantes designam partes correspondentes nas várias figuras. No entanto, deve ser expressamente entendido que os desenhos são apenas para fins ilustrativos e descritivos, e não são destinados a ser uma definição dos limites da invenção. Conforme usado na especificação e nas reivindicações, a forma singular de "uma", "um", e “a”, "o", inclui referentes plurais, a menos que o contexto indique claramente o contrário. Breve Descrição Dos Desenhos - A fig. 1 ilustra um diagrama esquemático de um sistema de mensagens de acordo com o estado da técnica anterior; - A fig. 2 ilustra um diagrama esquemático de uma forma de incorporação de um sistema para gerar mensagens vitais em um sistema de bordo de um veículo ferroviário, de acordo com os princípios da presente invenção; - A fig. 3 ilustra um diagrama esquemático de uma forma de incorporação de um sistema de bordo de um veículo ferroviário configurado para gerar mensagens vitais, de acordo com os princípios da presente invenção; - A fig. 4 ilustra um diagrama lógico para uma forma de incorporação de um sistema, um método e um aparelho para gerar mensagens vitais em um sistema de bordo de um veículo ferroviário, de acordo com os princípios da presente invenção; - A fig. 5 ilustra um diagrama de fluxo para uma forma de incorporação de um sistema, um método e um aparelho para gerar mensagens vitais em um sistema de bordo de um veículo ferroviário, de acordo com os princípios da presente invenção; - A fig. 6 ilustra uma forma de incorporação de uma mensagem vital de acordo com os princípios da presente invenção; - A fig. 7 ilustra formas de incorporação de identificadores que identificam exclusivamente um processador, de acordo com os princípios da presente invenção; - A fig. 8A ilustra um diagrama lógico para uma forma de incorporação de um sistema, um método e um aparelho para gerar mensagens vitais em um sistema de bordo de um veículo ferroviário, de acordo com os princípios da presente invenção; - A fig. 8B ilustra um diagrama lógico para uma forma de incorporação de um sistema, um método e um aparelho para gerar mensagens vitais em um sistema de bordo de um veículo ferroviário, de acordo com os princípios da presente invenção; - A fig. 8C ilustra um diagrama lógico para uma forma de incorporação de um sistema, um método e um aparelho para gerar mensagens vitais em um sistema de bordo de um veículo ferroviário, de acordo com os princípios da presente invenção; - A fig. 9A ilustra um diagrama de fluxo para uma forma de incorporação de um sistema, um método e um aparelho para correlacionar mensagens, de acordo com os princípios da presente invenção; - A fig. 9B ilustra um outro diagrama de fluxo para uma forma de incorporação de um sistema, um método e um aparelho para correlacionar mensagens, de acordo com os princípios da presente invenção; - A fig. 10 ilustra um diagrama de fluxo para uma forma de incorporação de um sistema, um método e um aparelho para processar dados de uma mensagem não vital, de acordo com os princípios da presente invenção; e - A fig. 11 ilustra um diagrama esquemático de uma forma de incorporação de um sistema para gerar mensagens vitais tendo campos variáveis em um sistema de bordo de um veículo ferroviário, de acordo com os princípios da presente invenção.
Descrição Das Formas De Incorporação Preferidas
[043] Para os propósitos da descrição a seguir, os termos "superior", "inferior", "direito", "esquerdo", "vertical", "horizontal", "topo", "fundo", "lateral", "longitudinal", e seus derivados, devem referir-se à invenção conforme ela está orientada nas figuras dos desenhos. Contudo, deve ser entendido que a invenção pode assumir várias variações e sequências de etapas alternativas, exceto quando expressamente especificado em contrário. Deve também ser entendido que os dispositivos e processos específicos ilustrados nos desenhos anexos, e descritos na seguinte especificação, são simplesmente formas de incorporação exemplificativas da invenção. Assim, dimensões específicas e outras características físicas relacionadas com as formas de incorporação aqui descritas não devem ser consideradas como limitativas.
[044] Como aqui utilizados, os termos "comunicação" e "comunicar" referem-se à recepção, transmissão ou transferência de um ou mais sinais, mensagens, comandos ou outros tipos de dados. Para que uma unidade ou dispositivo esteja em comunicação com outra unidade ou dispositivo, isto significa que uma unidade ou dispositivo é capaz de receber dados de e/ou transmitir dados para a outra unidade ou dispositivo. Uma comunicação pode usar uma conexão direta ou indireta, e sua natureza pode ser e por fio e/ou sem fio. Adicionalmente, duas unidades ou dispositivos podem estar em comunicação um com o outro mesmo que os dados transmitidos possam ser modificados, processados, roteados, etc. entre a primeira e a segunda unidade ou dispositivo. Deve ser entendido que numerosos arranjos são possíveis. Podem ser utilizados quaisquer protocolos e/ou algoritmos de comunicação eletrônica conhecidos, tais como por exemplo TCP/IP (incluindo HTTP e outros protocolos), WLAN (incluindo 802.11 e outros protocolos e métodos baseados em radiofrequências), transmissões analógicas, o Sistema Global para Comunicações Móveis (GSM - Global System for Mobile Communications), e/ou similares.
[045] Em uma forma de incorporação preferida e não limitativa da presente invenção, é provido um sistema, um método e um aparelho para gerar mensagens vitais em um sistema de bordo de um veículo ferroviário, incluindo dados críticos de segurança relativos ao veículo ferroviário e/ou à ferrovia. Como aqui utilizado, o termo "sistema de bordo" refere-se a qualquer sistema de gerenciamento de trens controlado por computador ou a uma porção dele, incluindo mas não estando limitado a um sistema de Controle de Trem Positivo (PTC) (por exemplo, o I-ETMS® da empresa Wabtec Corporation), ou quaisquer outros computadores ou controladores de bordo utilizados para implementarem funções de controle e gerenciamento do trem, para assegurar a operação segura e eficaz do veículo ferroviário e/ou a comunicação entre veículos individuais e/ou com um sistema remoto. Como aqui utilizado, o termo "sistema remoto" pode referir-se a qualquer dispositivo de computação que está distante (remoto) do sistema de bordo, tal como, mas sem estar limitado a, um BOS, um sistema de despacho central, um computador de gerenciamento de trem diferente, um servidor web, um dispositivo móvel, e/ou similares. Deve ser entendido pelos especialistas na técnica que o sistema, aparelho e método podem ser utilizados com vários outros tipos de veículos. Além disso, o sistema, aparelho e método aqui descritos também podem ser utilizados em qualquer outro contexto ou ambiente no qual é desejável gerar mensagens vitais.
[046] O sistema de bordo inclui múltiplos processadores, incluindo um processador primário e um ou mais processadores secundários, em que cada um cria mensagens e gera dados de mensagem para transmissão a um sistema remoto. Como aqui utilizado, o termo "dados de mensagem" refere-se a quaisquer dados incluindo uma ou mais mensagens vitais ou não vitais, ou porções de tais mensagens, e pode incluir várias outras informações, tais como, mas não se limitando a, vários identificadores, cabeçalhos, somas de verificação (checksums), dados de verificação de redundância cíclica (CRC), e/ou similares. Um processador separado recebe os dados da mensagem dos processadores primário e secundário e, com base nestas mensagens de entrada, gera uma mensagem vital final para transmissão ao sistema remoto. Como aqui utilizado, o termo "processador" pode referir-se a uma CPU, um microprocessador, um controlador ou qualquer outro tipo de dispositivo de computação, e pode também referir-se a um dispositivo, sistema ou componente de sistema que inclui um ou mais dispositivos de computação. Em uma forma de incorporação preferida e não limitativa, os processadores fazem parte de um sistema de bordo para um veículo ferroviário que inclui uma pluralidade de componentes de hardware e software, incluindo múltiplos processadores que executam tarefas para todo o, ou parte do, sistema.
[047] Com referência agora à fig. 2, é mostrado um sistema 1000 para gerar mensagens vitais de acordo com uma forma de incorporação preferida e não limitativa. Um veículo ferroviário 116 incluindo uma locomotiva 114 está ilustrado na fig. 2. Um sistema de bordo 104 no veículo ferroviário 116 inclui vários processadores 101, 102, 103. O sistema de bordo 104 também pode incluir vários componentes de hardware e/ou software, tais como, por exemplo, uma memória, dispositivos de armazenamento, dispositivos de entrada, adaptadores de rede e/ou similares. O veículo ferroviário 116 inclui também dados de trem 106, que são gerados no veículo ferroviário 116 e/ou recebidos de dispositivos no, ou externos ao, veículo ferroviário 116. Os processadores 101, 102, 103 geram dados de mensagem a partir dos dados de trem 106 e de outras fontes, incluindo dados críticos de segurança. Deve ser entendido que numerosos outros arranjos são possíveis. Por exemplo, os processadores 101, 102, 103 podem estar distribuídos por todo o trem 116, incluindo, mas sem estar limitado a, parte de uma unidade da extremidade do trem (EOT - End Of Train), de uma unidade da frente do trem (HOT - Head Of Train), e/ou qualquer outro dispositivo de computação no trem 116.
[048] Continuando a referência à fig. 2, um processador separado 105 recebe dados de mensagem dos outros processadores 101, 102, 103 e, com base nestes dados, gera uma mensagem vital final 108. Em uma forma de incorporação preferida e não limitativa, a mensagem vital final 108 é gerada para cada mensagem que é recebida de todos os processadores 101, 102, 103. A mensagem vital final 108 pode ser o resultado da combinação das mensagens dos outros processadores 101, 102, 103, e pode incluir adicionalmente outras informações e dados que são adicionados depois que as mensagens são combinadas. O processador separado 105 pode então determinar se a mensagem vital final 108 é válida, e comunicar a mensagem vital final 108 a um sistema remoto 110. O processador separado 105 também pode comunicar a mensagem vital final 108 a um sistema remoto 110, e permitir que o sistema remoto 110 determine a validade da mensagem vital final 108.
[049] Fazendo agora referência à fig. 3, é mostrado um sistema de bordo 104 configurado para gerar mensagens vitais de acordo com uma forma de incorporação preferida e não limitativa. Um processador primário 102 e dois processadores secundários 101, 103 geram dados de mensagem. O processador primário 102 inclui ou está em comunicação com um objeto de comunicação fora de trem (OTC - Off Train Communication) 111, que recebe mensagens vitais e não vitais de um primeiro objeto 100a e de um segundo objeto 100b, respectivamente. Do mesmo modo, os processadores secundários 101, 103 incluem ou estão em comunicação com um objeto de OTC 111 que é executado por esses processadores, e recebem, como entradas, mensagens vitais e não vitais do primeiro objeto 100a e do segundo objeto 100b. Um processador separado 105 recebe mensagens de cada um dos processadores 101, 102, 103 e, em particular, o objeto de OTC 111 executado por cada processador. Como aqui utilizado, o termo "objeto" pode referir-se a qualquer componente ou módulo de hardware e/ou software, tal como, mas sem estar limitado a, um programa de software executável, uma chamada de função dentro de um programa de software, um conjunto de variáveis e/ou funções definidas, uma estrutura de dados, ou similares. Deve ser entendido que vários outros arranjos são possíveis, e que várias escolhas e métodos de programação são contemplados para a geração e a troca de dados de mensagem.
[050] Continuando a fazer referência à fig. 3, um processador separado 105 executa um objeto de mensagem vital 107 e um objeto de OTC vital 109. O processador separado pode incluir uma CPU ou uma unidade mostradora de cabina, como exemplos. Cada processador 101, 102, 103 pode estar em comunicação com o processador separado 105 através de uma conexão TCP ou outro protocolo de comunicação similar. A conexão entre processadores pode ser direta ou, em outros exemplos, a conexão entre os processadores 101, 102, 103 e o processador 105 pode ser mantida através de um objeto ponte dedicado. Deve ser entendido que vários outros arranjos de comunicação são possíveis. O processador separado 105 combina as mensagens que recebe, de acordo com um ou mais algoritmos, para construir uma mensagem vital final, determina a validade da mensagem vital final, e comunica a mensagem vital final a um sistema remoto.
[051] Ainda com referência à fig. 3, o processador separado 105 constrói a mensagem vital final a partir de dados de mensagem brutos recebidos de múltiplas fontes (por exemplo, dos processadores 101, 102, 103). Essas fontes podem ser selecionadas (ou "votadas") com base em várias considerações, como, por exemplo, se for sabido que o processador está fora de sincronização ou, de outra forma, está propenso a erro. As fontes selecionadas não são necessárias para que uma mensagem seja enviada vitalmente, mas a utilização de um processo de seleção ou de votação aumenta a confiabilidade nas mensagens válidas que são enviadas pelo sistema de bordo 104. Este arranjo também permite que as mensagens sejam recebidas dos processadores secundários 101, 103, no caso do processador primário 102 ser eliminado pela votação, ou, de outro modo, não ser selecionado, porém sendo ainda identificado como o processador primário 102.
[052] Fazendo agora referência à fig. 4, é mostrado um diagrama lógico para a geração de mensagens vitais, de acordo com uma forma de incorporação preferida e não limitativa. Uma primeira mensagem vital 115, uma segunda mensagem vital 117 e uma terceira mensagem vital 119 são introduzidas nas operações lógicas 123, 125, 127, 129, que resultam em uma única saída binária 121. No exemplo ilustrado na fig. 4, a primeira mensagem vital 115 e a segunda mensagem vital 117 são comparadas através de uma operação lógica AND 123. Usando uma operação AND, cada dígito binário (bit) correspondente da primeira mensagem 115 e da segunda mensagem 117 são combinados, de modo a que se qualquer um dos bits for um zero (0), o bit de dígito resultante é zero (0), e se ambos os bits forem iguais a um (1), o bit resultante é um (1). Consequentemente, a operação 123 toma duas entradas binárias e produz uma única cadeia binária. A primeira mensagem vital 115 e a terceira mensagem vital 119 são combinadas por outra operação AND 125 e a segunda mensagem 117 e a terceira mensagem 119 são também combinadas por uma operação AND 127.
[053] Continuando com a referência à fig. 4, os resultados das operações lógicas 123, 125, 127 são introduzidos em uma operação lógica 129 subsequente. No exemplo ilustrado, a operação lógica 129 é uma operação OR. Usando uma operação OR, se qualquer um dos bits for um (1), o bit resultante é um (1), e se ambos os bits forem iguais a zero (0), o bit resultante é zero (0). No exemplo ilustrado, três entradas binárias resultam em uma única saída binária 121. A saída binária única 121 é utilizada como a mensagem vital final, embora possam ser realizadas operações adicionais e outros dados possam ser adicionados para a construção da mensagem vital final que é comunicada. Deve ser entendido que são possíveis outras operações lógicas, outros operadores bit a bit e outros arranjos para a geração de uma mensagem vital final a partir de múltiplas mensagens.
[054] A lógica ilustrada na fig. 4 filtra dados de mensagem inválidos de um ou mais processadores 101, 102, 103, se os dados de mensagem recebidos de outros processadores coincidirem. Se a cadeia binária final 121 (por exemplo, a mensagem vital final) coincidir com pelo menos duas das mensagens de entrada 115, 117, 119, a mensagem vital final é determinada como válida. Por outro lado, se a cadeia binária final 121 não coincidir com nenhuma das mensagens de entrada 115, 117, 119, ou apenas coincidir com uma mensagem de entrada, pode ser determinado que ocorreu um erro, e que a cadeia binária final 121 ou a mensagem vital final pode ser inválida. Uma mensagem vital inválida pode ser descartada em vez de ser comunicada ao sistema remoto.
[055] Em uma forma de incorporação preferida e não limitativa, e com referência à fig. 3, se uma mensagem não for recebida de um dos processadores 101, 102, 103, uma cadeia binária de zeros (0) pode ser utilizada para não afetar o resultado das operações lógicas. Isto permite que o processador separado 105 gere uma mensagem sem ter que escolher um processador fonte para utilizar como a fonte da mensagem. Se apenas dois processadores estiverem disponíveis e as mensagens diferirem, ou se as mensagens de todos os processadores 101, 102, 103 forem diferentes, a saída é considerada inválida. Nessas circunstâncias, as regras podem controlar como o sistema opera. Por exemplo, se não forem recebidos dados de mensagem de pelo menos dois processadores selecionados, nenhuma mensagem vital final pode ser comunicada ao sistema remoto. Neste exemplo, os dados de mensagem recebidos irão eventualmente exceder o tempo de armazenamento temporário, e serão deletados para criar espaço para outros dados de mensagem recebidos. A saída de uma ou mais operações lógicas pode ser processada por um objeto de OTC vital 109 (ilustrado na fig. 3), que faz o pacote da mensagem de acordo com um protocolo especificado e comunica a mensagem utilizando qualquer número de métodos. A combinação de dados de mensagem de múltiplas fontes em uma mensagem final através do uso de uma ou mais operações lógicas permite que os dados de mensagem sejam combinados sem que o processador separado 105 esteja ciente da estrutura da mensagem.
[056] Fazendo agora referência à fig. 5, é mostrado um diagrama de fluxo para a geração de mensagens vitais, de acordo com uma forma de incorporação preferida e não limitativa. Em um primeira etapa 501, uma pluralidade de mensagens são recebidas de uma pluralidade de processadores. Para os efeitos deste exemplo, o diagrama de fluxo na fig. 5 utiliza três mensagens provenientes de três processadores. No entanto, deve ser entendido que qualquer número de mensagens e de processadores podem ser utilizados. As mensagens recebidas neste exemplo são m(1), m(2) e m(3). Na etapa seguinte, 503, m(1,2) é calculado como o resultado de uma operação lógica AND entre m(1) e m(2). O m(1,2) resultante terá o mesmo comprimento que cada m(1) e m(2). Na etapa seguinte, 505, m(1,3) é calculado como o resultado de uma operação lógica AND de m(1) e m(3). Da mesma forma, na etapa 507, m(2,3) é calculado como o resultado de uma operação lógica AND de m(2) e m(3). Deve ser entendido que este processo pode ser continuado de modo a que cada mensagem recebida seja combinada com cada uma das outras mensagens recebidas, para qualquer número de fontes de mensagem.
[057] Continuando a fazer referência à fig. 5, depois que os resultados de m(1,2), m(1,3) e m(2,3) são calculados, os resultados são então combinados na etapa 509 para resultar em uma mensagem vital final m(1, 2, 3). No exemplo ilustrado, a etapa 509 envolve a combinação de m(1,2), m(1,3) e m(2,3) com uma operação lógica OR. Isto pode ser feito combinando primeiro m(1,2) e m(1,3), e então combinando o resultado com m(2,3). Contudo, deve ser entendido que tais cálculos podem ser realizados em várias ordens. Neste ponto, o método pode prosseguir diretamente para a etapa 515, de modo a que a mensagem vital final m(1, 2, 3) seja comunicada a um sistema remoto. O sistema remoto pode então validar a mensagem vital final usando a CRC ou através de outros métodos. Alternativamente, após a mensagem vital final m(1,2,3) ser gerada, pode ser determinado na etapa 511 se duas ou mais das mensagens originais [m(1), m(2) ou m(3)] coincidem com a mensagem vital final [m(1,2,3)]. Se pelo menos duas mensagens coincidirem, o processo prossegue para a etapa 515 e a mensagem final m(1, 2, 3) é comunicada ao sistema remoto. Caso contrário, se pelo menos duas das mensagens não coincidirem com a mensagem final, é determinado na etapa 513 que a mensagem final m(1, 2, 3) é inválida ou, de outra forma, errônea. Os especialistas na técnica compreenderão que menos etapas e/ou etapas adicionais podem ser realizadas.
[058] De acordo com uma forma de incorporação preferida e não limitativa, os identificadores são adicionados aos dados de mensagem gerados por cada processador, para identificarem exclusivamente esse processador. Os identificadores são adicionados por cada processador que gera a mensagem, e permitem que o sistema determine que a mensagem final é gerada com base em dados de mensagem provenientes de pelo menos dois processadores. O identificador pode ser um byte que é adicionado como o primeiro byte em qualquer mensagem final. Contudo, deve ser entendido que o identificador pode ter qualquer comprimento e pode ser incorporado nos dados de mensagem de várias outras maneiras. Em uma forma de incorporação preferida e não limitativa, o identificador é gerado por cada processador que gera dados de mensagem.
[059] O valor do identificador pode ser baseado na localização do processador na placa-mãe do computador de gerenciamento de trem, como um exemplo, embora qualquer método de geração de identificadores exclusivos possa ser utilizado. Cada identificador é único e exclusivo para cada processador, e é construído de modo a que, quando processado de acordo com a lógica aqui descrita para a geração de uma mensagem vital final, o sistema possa determinar se a mensagem final foi gerada com base em dados de mensagem provenientes de múltiplos processadores. O identificador final que resulta das operações lógicas realizadas em cada mensagem (e, portanto, cada identificador) pode ser diferente de zero, para evitar falsos positivos. O identificador final resultante das operações lógicas pode então ser comparado com um valor predeterminado pelo sistema remoto para determinar se os dados de mensagem final são válidos. Como os identificadores são gerados pelos processadores que criam os dados da mensagem, o processador separado 105 e/ou o objeto de mensagem vital 107 (ilustrado na figura 3) não têm conhecimento de tais construções, sendo portanto improvável que insiram um valor por sua própria conta.
[060] Com referência agora à fig. 6, uma mensagem vital final 108 é mostrada de acordo com uma forma de incorporação preferida e não limitativa. A mensagem vital final 108 inclui uma porção identificadora 161, uma porção de corpo de mensagem 163 e uma porção de verificação de redundância cíclica (CRC) 165. Um ou mais bits da porção identificadora 161 podem ser estáticos em todos os processadores de um dado sistema. Por exemplo, conforme mostrado na fig. 6, o terceiro bit e o sexto bit têm o valor "1". O restante da porção identificadora 161 é variável e pode diferir entre os processadores, para identificar exclusivamente um único processador fonte. A porção de corpo de mensagem pode incluir dados que representam qualquer tipo de mensagem, uma informação de destino incluindo um endereço de rede e/ou identificador de destino, um identificador de mensagem que identifica exclusivamente a mensagem, dados de cabeçalho, e/ou qualquer outra informação similar.
[061] Com referência agora à fig. 7, três identificadores diferentes 161a, 161b, 161c são mostrados para três processadores diferentes (por exemplo, CPU1, CPU2 e CPU3). Conforme ilustrado na fig. 7, cada identificador 161a, 161b, 161c tem "1" como o terceiro bit e o sexto bit. Os bits restantes dos identificadores 161a, 161b, 161c identificam exclusivamente um processador. Por conseguinte, se os identificadores 161a e 161b forem combinados com uma operação AND (por exemplo, 11100100 e 00111100 = 00100100), todos os bits do identificador resultante serão zero (0), exceto para os terceiro e sexto bits. Da mesma forma, se o resultado da combinação do identificador 161a e do identificador 161b for então combinado com o identificador 161c, todos os bits "1" resultam em um zero (0), exceto para os terceiro e sexto bits (isto é, 00100100).
[062] Continuando com a referência à fig. 7, "00100100" é uma cadeia predefinida e, se o resultado da combinação dos identificadores não for igual a esta cadeia, a(s) mensagem(ns) pode(m) ser descartada(s) pelo sistema remoto devido a um erro de cálculo ou corrupção dos dados. Por exemplo, se o identificador 161b for alterado para "01011100", sua combinação com o identificador 161a resultaria em "01000100", e a sua combinação com o identificador 161c resultaria em "00100100". A combinação dos identificadores 161a e 161c seria "00100100", e o resultado da combinação de todos os resultados com uma operação OR seria "01100100". Como este valor não coincide com um valor predeterminado "00100100", pode ser determinado que os dados são inválidos ou estão corrompidos. Deve ser entendido pelos especialistas na técnica que vários tipos de identificadores podem ser utilizados, e que outros algoritmos podem ser empregados para combinarem os identificadores.
[063] Em uma forma de incorporação preferida e não limitativa, e conforme mostrado na fig. 6, uma CRC 165 pode ser adicionada a uma mensagem vital final 108. A CRC 165 é calculada com base no corpo de mensagem 163, não incluindo a porção identificadora 161. A CRC 165 pode portanto ser utilizada como uma fonte secundária para validar a mensagem vital 108, e será submetido às mesmas operações lógicas que o restante da mensagem 108. O uso de uma CRC 165 para cada mensagem de entrada irá combinar as CRCs juntas, através de operações lógicas executadas na mensagem. Se múltiplas mensagens forem combinadas incorretamente, ou usando dados de mensagem não correspondentes, a CRC resultante não validará o conteúdo das mensagens. Validando-se tanto a porção identificadora 161 como a CRC 165, o sistema remoto pode assegurar-se de que a mensagem vital final é válida e vital.
[064] Em uma forma de incorporação preferida e não limitativa, dados de mensagem não vitais podem ser adicionados depois da mensagem vital final ter sido compilada. Por exemplo, um cabeçalho de EMP (Edge Message Protocol - Protocolo de Borda de Mensagem) e um valor de integridade não são vitais, e podem ser adicionados pelo processador separado 105 (mostrado na fig. 3) depois que a mensagem vital final 108 é gerada. Como o valor dos identificadores de mensagem seria alterado a partir das operações lógicas executadas nas mensagens, o sistema não pode gerar dados de mensagem não vitais com antecedência. Consequentemente, um identificador de mensagem separado e/ou um número de versão de mensagem podem ser incluídos no corpo de mensagem para proverem uma confiabilidade aumentada de que os dados de mensagem não vitais são válidos, porque pode ser determinado se o identificador de mensagem separado e/ou o número de versão no cabeçalho coincidem com aqueles no corpo da mensagem. Dados de mensagens não vitais também podem ser incluídos na CRC.
[065] Com referência agora às figs. 8A a 8C, são mostradas mensagens vitais finais 108 de acordo com vários conjuntos de dados de mensagem. A fig. 8A mostra uma mensagem vital final válida 108 na qual o corpo de mensagem 163 para cada mensagem recebida de um processador coincide, e assim a mensagem vital final é uma combinação de dados de todos os processadores. A fig. 8B mostra uma mensagem vital final válida 108 gerada com base apenas em dados de mensagem recebidos de dois dos três processadores. Neste exemplo, pode ser observado que a porção de corpo de mensagem 163 dos dados de mensagem da CPU2 é diferente da porção de corpo de mensagem 163 dos dados de mensagem das CPU1 e CPU3. Consequentemente, os dados de mensagem da CPU2 são filtrados depois de serem processados com as operações lógicas 123, 127, 129. A fig. 8C mostra uma mensagem vital final inválida 122 gerada com base em dados de mensagem recebidos de três processadores. Esta mensagem 122 inclui um identificador final 168 que não coincide com um valor predeterminado (por exemplo, 00100100), que indicaria um identificador final válido 167.
[066] Em uma forma de incorporação preferida e não limitativa, o processador separado 105 (ilustrado na Figura 3) pode precisar colocar as mensagens em fila rapidamente (por exemplo, várias mensagens por segundo), e implementar restrições de tempo para determinar quanto tempo esperar pelos dados de mensagem dos outros processadores 101, 102, 103 (também ilustrados na figura 3) antes de combiná-los. A determinação da quantidade de memória necessária pode depender de saber quais mensagens são vitais e quais não são vitais. Uma vez que isto foi determinado, os requisitos de memória podem ser determinados pela seguinte fórmula: (M * I * T * n + y) * S, onde M é o número de mensagens vitais, I é o número de instâncias de uma mensagem vital que deve ser processada (por exemplo, o número de destinos aos quais a mensagem pode ser enviada ao mesmo tempo); T é o tempo que a mensagem deve permanecer na fila antes de ser removida; n é o número de processadores que geraram uma mensagem [por exemplo, três (3), no exemplo discutido acima]; y representa a potência de processamento necessária para realizar as operações lógicas [por exemplo, quatro (4), no exemplo discutido abaixo, se as operações lógicas envolverem três (3) operações AND e uma (1) operação OR); e S é o tamanho da maior mensagem vital. Deve ser entendido que podem ser utilizadas várias outras fórmulas para determinar a quantidade de memória necessária, e vários outros parâmetros podem ser tomados em consideração.
[067] Com referência à fig. 3, em uma forma de incorporação preferida e não limitativa, os dados de mensagem dos vários processadores 101, 102, 103 são correlacionados de modo a que o processador separado 105 que gera a mensagem vital final 108 saiba quais mensagens precisam ser combinadas. Por exemplo, o mesmo identificador de mensagem pode ser enviado para múltiplos destinos com conteúdo de mensagem variável. Além disso, os processadores 101, 102, 103 também podem enviar dados de mensagem em ordens diferentes entre si. Por conseguinte, um identificador de correlação (por exemplo, um número de mensagem de EMP) pode não ser suficiente para correlacionar as mensagens entre os vários processadores 101, 102, 103. Por isso, atributos adicionais podem ser utilizados para correlacionarem as mensagens entre os processadores 101, 102, 103, tal como um identificador de mensagem, um endereço de destino e/ou um número de ligação. Um número de ligação é um valor interno para o sistema de bordo 104 e, em um exemplo, é interno a um componente de bordo de PTC. O número de ligação pode ser utilizado apenas para correlacionar mensagens, e pode ser exclusivo dentro de um único identificador de mensagem. O número de ligação pode então ser periodicamente sincronizado entre os processadores.
[068] Fazendo agora referência à fig. 9A, é mostrado um diagrama para sincronizar números de ligação de acordo com uma forma de incorporação preferida e não limitativa. Conforme mostrado, os processadores 101, 102, 103 produzem mensagens de saída ("Msg") identificadas por um identificador de mensagem (por exemplo, "2xxx" e "2yyy"). O número de ligação é incrementado para cada mensagem tendo um identificador de mensagem que foi associado a uma mensagem anterior. Para sincronizar os processadores 101, 102, 103, um novo número de ligação é compartilhado pelo processador primário 102 com os processadores secundários 101, 103. No exemplo ilustrado, um número de ligação mais alto (50) é utilizado para assegurar que não seja usado um número de ligação que já foi utilizado por um dos processadores 101, 102, 103. Deve ser entendido que o novo número de ligação utilizado para sincronização pode ser determinado de várias maneiras.
[069] Com referência agora à fig. 9B, é mostrado um diagrama para sincronizar números de ligação de acordo com outra forma de incorporação não limitativa. Neste exemplo, o mesmo número de ligação é utilizado para duplicar mensagens enviadas para múltiplos endereços de destino. Os endereços de destino são utilizados nesta forma de incorporação não limitativa para correlacionarem as mensagens de diferentes processadores. Por exemplo, se os endereços de destino (por exemplo, BOS A, BOS B, BOS C, etc.) forem diferentes entre mensagens tendo os mesmos identificadores de mensagem, o número de ligação não é incrementado. O número de ligação é incrementado para mensagens subsequentes tendo o mesmo identificador de mensagem e endereço de destino que uma mensagem anterior enviada por aquele processador. Esta funcionalidade permite uma correlação mais eficiente em um cenário em que a ordem dos endereços de destino difere entre os vários processadores.
[070] Em uma forma de incorporação preferida e não limitativa, os dados de mensagens não vitais também são processados pelo processador separado que gera a mensagem vital final. A implementação do sistema pode tornar mais desejável, ou necessário, lidar com mensagens não vitais através do arranjo que processa mensagens vitais. Com referência à fig. 3, o objeto de mensagem vital 107 pode receber dados de mensagens não vitais dos processadores 101, 102, 103. O objeto de mensagem vital 107 pode não exigir que os dados de mensagens não vitais sejam recebidos de múltiplos processadores fonte. Os dados de mensagens não vitais podem ser tratados de várias maneiras. Em uma forma de incorporação não limitativa, apenas os dados de mensagens não vitais gerados por um processador primário 102 são utilizados e transmitidos, e os dados de mensagens não vitais recebidos dos processadores secundários 101, 103 são ignorados. Em outra forma de incorporação não limitativa, os dados de mensagem não vitais podem ser processados com base no fato do processador fonte ter sido selecionado pelo processador separado 105.
[071] Fazendo agora referência à fig. 10, é mostrado um diagrama de fluxo para um método de tratamento de dados de mensagens não vitais, de acordo com uma forma de incorporação preferida e não limitativa. Em um primeira etapa 1001, determina-se se o processador fonte que gerou os dados de mensagem recebidos foi selecionado ou "votado". Se não, os dados de mensagem são descartados na etapa 1002. Se os dados de mensagem foram selecionados, o método prossegue para a etapa 1003, onde é determinado se os dados de mensagem são vitais. Se os dados de mensagem forem vitais, o método prossegue para a etapa 1004 e os dados são processados conforme aqui discutido. Se os dados da mensagem não forem vitais, o método prossegue para a etapa 1005. Na etapa 1005, se a fonte da mensagem for um processador primário, o método prossegue para a etapa 1006 e a mensagem é transmitida. Se a fonte da mensagem for um processador secundário, o método prossegue para a etapa 1007, onde é determinado se o processador primário foi selecionado ou "votado". Se foi, o método prossegue para a etapa 1008 e os dados de mensagem recebidos do processador secundário são descartados. Se o processador primário não foi selecionado ou "votado", o método prossegue para a etapa 1009, onde é determinado se os dados de mensagem não vitais já foram enviados por outro processador secundário. Se foram, o método prossegue para a etapa 1010 e os dados de mensagem recebidos do processador secundário são descartados. Caso contrário, o processo prossegue para a etapa 1011, e a mensagem não vital é transmitida.
[072] Em uma forma de incorporação não limitativa, as mensagens com campos variáveis podem ser enviadas como mensagens vitais. Em tais exemplos, os campos de uma mensagem podem variar entre processadores. Esses campos podem incluir, mas não estão limitados a, localização (por exemplo, coordenadas, pontos de referência, etc.), tempo (por exemplo, segundos, ou outras unidades), distâncias (por exemplo, distância percorrida, distância até um local, etc.), e dados de falhas. Com referência à fig. 11, os processadores 101, 102, 103 podem executar um objeto de fusão de campo variável 131. A arquitetura do objeto de fusão de campo variável 131 pode ser semelhante à do objeto de mensagem vital 107, mas, em vez de ser executado pelo processador separado 105, ele reside em, e/ou é executado por, cada um dos outros processadores 101, 102, 103. O objeto de fusão de campo variável 131 pode trocar dados de mensagem e outras informações entre os processadores 101, 102, 103 através do Protocolo de Diagrama de Dados de Usuário (UDP - User Datagram Protocol), ou de qualquer outro protocolo. Por exemplo, o objeto de fusão de campo variável 131 pode tomar a entrada de cada processador 101, 102, 103 e gerar uma mensagem que é comum entre os processadores 101, 102, 103. Cada processador 101, 102, 103 pode então comunicar essa mensagem ao objeto de OTC 111, e cada processador 101, 102, 103 é habilitado a enviar seus dados de mensagem para o processador separado 105, de modo a que a mensagem seja processada de acordo com as operações lógicas aqui discutidas.
[073] Embora a invenção tenha sido descrita em detalhes, tendo propósitos ilustrativos, com base no que é atualmente considerado como sendo as formas de incorporação mais práticas e preferidas, deve ser entendido que tais detalhes servem somente para esses propósitos, e que a invenção não está limitada às formas de incorporação divulgadas, mas, ao contrário, está destinada a abranger modificações e arranjos equivalentes que estejam dentro do espírito e escopo das reivindicações anexas. Por exemplo, deve ser entendido que a presente invenção contempla que, na medida do possível, uma ou mais características de qualquer forma de incorporação podem ser combinadas com uma ou mais características de qualquer outra forma de incorporação.

Claims (27)

1. Método de geração de mensagens vitais implementado por computador em um sistema de bordo (104) de um veículo, caracterizado por compreender: - a geração de uma pluralidade de mensagens vitais com cada processador (101, 102, 103) de uma pluralidade de diferentes processadores do sistema de bordo, com base em dados de trem (106) disponíveis para cada processador (101, 102, 103); - a transmissão da pluralidade de mensagens vitais, a partir da pluralidade de diferentes processadores (101, 102, 103), para um processador separado; - a geração, pelo processador separado (105), de uma mensagem vital final (108) baseada em pelo menos duas mensagens vitais da pluralidade de mensagens vitais; - a determinação de que a mensagem vital final (108) é válida, se a mensagem vital final coincidir com pelo menos duas mensagens vitais da pluralidade de mensagens vitais; e - a transmissão da mensagem vital final (108) para um sistema remoto (110), se a mensagem vital final for determinada como válida.
2. Método, de acordo com a reivindicação 1, caracterizado por a geração da mensagem vital final (108) compreender a combinação da pluralidade de mensagens vitais de modo a que quaisquer mensagens inválidas sejam filtradas.
3. Método, de acordo com a reivindicação 2, caracterizado por a pluralidade de mensagens vitais compreender pelo menos uma primeira mensagem vital (115), uma segunda mensagem vital (117) e uma terceira mensagem vital (119), em que a combinação da pluralidade de mensagens vitais compreende: - combinar a primeira mensagem (115) vital com a segunda mensagem (117) vital usando um primeiro operador lógico (123) para gerar uma primeira cadeia binária; - combinar a primeira mensagem (115) vital com a terceira mensagem (119) vital usando o primeiro operador lógico (123) para gerar uma segunda cadeia binária; - combinar a segunda mensagem (117) vital com a terceira mensagem (119) vital usando o primeiro operador lógico (123) para gerar uma terceira cadeia binária; e - combinar a primeira cadeia binária, a segunda cadeia binária e a terceira cadeia binária usando um segundo operador (125) lógico.
4. Método, de acordo com a reivindicação 3, caracterizado por o primeiro operador lógico (123) ser um operador AND, e o segundo operador lógico (125) ser um operador OR.
5. Método, de acordo com a reivindicação 1, caracterizado por compreender ainda a determinação, no sistema remoto (110), de que a mensagem vital final (108) é válida, com base, pelo menos parcialmente, em uma CRC (165).
6. Método, de acordo com a reivindicação 1, caracterizado por compreender ainda: - adicionar uma cadeia binária a cada mensagem vital da pluralidade de mensagens vitais, em que cada cadeia binária identifica exclusivamente o processador que gerou a mensagem vital, com cada cadeia binária tendo pelo menos um bit que é igual em cada cadeia binária de uma pluralidade de cadeias binárias; e - determinar se a mensagem vital final (108) é válida, através da combinação da pluralidade de cadeias binárias para gerar um identificador combinado, com a mensagem vital final (108) sendo válida se o identificador combinado compreender pelo menos aquele bit igual.
7. Método, de acordo com a reivindicação 6, caracterizado por compreender ainda determinar se o identificador combinado compreende pelo menos aquele bit igual através da comparação do identificador combinado com um valor predeterminado.
8. Sistema para gerar mensagens vitais em um sistema de bordo de um veículo utilizando o método conforme definido na reivindicação 1, caracterizado por compreender: - uma pluralidade de processadores (101, 102, 103) dispostos no veículo e configurados para gerarem uma pluralidade de mensagens vitais, com cada processador da pluralidade de processadores estando configurado para gerar pelo menos uma mensagem vital da pluralidade de mensagens vitais com base, pelo menos parcialmente, em dados críticos de segurança disponíveis para aquele processador, em que a pluralidade de mensagens vitais compreende pelo menos uma primeira mensagem vital (115), uma segunda mensagem vital (117) e uma terceira mensagem vital (119); e - pelo menos um processador separado (105) configurado para gerar uma mensagem vital final (108), através da combinação de pelo menos duas mensagens vitais da pluralidade de mensagens vitais, através da: - combinação da primeira mensagem vital (115) com a segunda mensagem (117) vital usando um primeiro operador lógico (123), para gerar uma primeira cadeia binária; - combinação da primeira mensagem vital (115) com a terceira mensagem vital (119) usando o primeiro operador lógico (123), para gerar uma segunda cadeia binária; - combinação da segunda mensagem vital (117) com a terceira mensagem vital (119) usando o primeiro operador lógico (123), para gerar uma terceira cadeia binária; e - combinação da primeira cadeia binária, a segunda cadeia binária e a terceira cadeia binária usando um segundo operador lógico (125), para gerar uma cadeia binária final.
9. Sistema, de acordo com a reivindicação 8, caracterizado por o primeiro operador lógico (123) ser um operador AND, e o segundo operador lógico ser um operador OR.
10. Sistema, de acordo com a reivindicação 8, caracterizado por cada mensagem vital da pluralidade de mensagens vitais compreender uma cadeia binária que identifica exclusivamente o processador que gerou a mensagem vital, em que cada cadeia binária para a pluralidade de mensagens vitais compreende pelo menos um bit que é igual em cada cadeia binária da pluralidade de cadeias binárias, e em que pelo menos um processador separado (105) está configurado para combinar a pluralidade de cadeias binárias para gerar um identificador combinado, de modo a que a mensagem vital final (108) possa ser validada através da determinação de que o identificador combinado compreende pelo menos aquele bit igual.
11. Sistema, de acordo com a reivindicação 10, caracterizado por o identificador combinado ser determinado de modo a compreender pelo menos aquele bit igual, com base em uma comparação entre o identificador combinado e um valor predeterminado.
12. Aparelho para gerar mensagens vitais em um sistema de bordo de um veículo, adaptado para executar o método conforme definido na reivindicação 1, caracterizado por compreender pelo menos um meio não transitório legível por computador incluindo instruções de programa que, quando executadas pelo sistema de bordo (104), fazem com que o sistema de bordo: - gere uma pluralidade de mensagens vitais com cada processador (101, 102, 103) de uma pluralidade de diferentes processadores do sistema de bordo, com base em dados de trem (106) disponíveis para cada processador; - transmita a pluralidade de mensagens vitais da pluralidade de diferentes processadores para um processador separado (105); - gere, no processador separado (105), uma mensagem vital final (108) a partir de pelo menos duas mensagens vitais da pluralidade de mensagens vitais; - determine que a mensagem vital final (108) é válida, se a mensagem vital final coincidir com pelo menos duas mensagens vitais da pluralidade de mensagens vitais; e - transmita a mensagem vital final (108) para um sistema remoto (110), se a mensagem vital final for determinada como válida.
13. Aparelho, de acordo com a reivindicação 12, caracterizado por o sistema de bordo gerar a mensagem vital final (108) através da combinação da pluralidade de mensagens vitais, de modo a que as mensagens inválidas sejam filtradas ou possam ser detectáveis como inválidas.
14. Aparelho, de acordo com a reivindicação 13, caracterizado por a pluralidade de mensagens vitais compreender uma primeira mensagem vital (115), uma segunda mensagem vital (117) e uma terceira mensagem vital (119), em que a combinação da pluralidade de mensagens vitais compreende: - combinar a primeira mensagem vital (115) com a segunda mensagem vital (117) com um primeiro operador lógico (123) para gerar uma primeira cadeia binária; - combinar a primeira mensagem vital (115) com a terceira mensagem vital (119) com o primeiro operador lógico (123) para gerar uma segunda cadeia binária; - combinar a segunda mensagem vital (117) com a terceira mensagem vital (119) com o primeiro operador lógico (123) para gerar uma terceira cadeia binária; e - combinar a primeira cadeia binária, a segunda cadeia binária e a terceira cadeia binária com um segundo operador lógico (125).
15. Aparelho, de acordo com a reivindicação 14, caracterizado por o primeiro operador lógico (123) ser um operador AND, e o segundo operador lógico (125) ser um operador OR.
16. Aparelho, de acordo com a reivindicação 12, caracterizado por o sistema remoto determinar que a mensagem vital final (108) é válida ou inválida com base em uma CRC (165).
17. Aparelho, de acordo com a reivindicação 12, caracterizado por o sistema de bordo realizar ainda: - a adição, a cada mensagem vital da pluralidade de mensagens vitais, de uma cadeia binária de uma pluralidade de cadeias binárias, em que cada cadeia binária da pluralidade de cadeias binárias identifica exclusivamente o processador que gerou a mensagem vital, com cada cadeia binária tendo pelo menos um bit que é igual em cada cadeia binária da pluralidade de cadeias binárias; e - a combinação da pluralidade de cadeias binárias para gerar um identificador combinado, de modo a que a mensagem vital final (108) possa ser validada através da determinação de que o identificador combinado compreende pelo menos aquele bit igual.
18. Aparelho, de acordo com a reivindicação 17, caracterizado por um sistema remoto (110) determinar se o identificador combinado compreende pelo menos aquele bit igual através da comparação entre o identificador combinado e um valor predeterminado.
19. Aparelho, de acordo com a reivindicação 12, caracterizado por a pluralidade de mensagens compreender campos de mensagem variáveis, em que o sistema de bordo (104) realiza adicionalmente a troca de dados de campo variáveis entre a pluralidade de diferentes processadores, com cada mensagem vital da pluralidade de mensagens vitais sendo gerada com base, pelo menos parcialmente, nos dados de campo variáveis.
20. Método para gerar uma mensagem vital implementado por computador em um sistema de bordo de um veículo, caracterizado por compreender: - inserir um identificador em cada mensagem de uma pluralidade de mensagens, em que pelo menos uma primeira porção de cada identificador identifica exclusivamente um processador de uma pluralidade de processadores que geraram a mensagem, com pelo menos uma segunda porção de cada identificador sendo idêntica entre todos os identificadores; - combinar, usando pelo menos um processador, a pluralidade de mensagens em uma mensagem final, compreendendo um identificador combinado; - determinar, usando pelo menos um processador, se o identificador combinado compreende a segunda porção de cada identificador; e - determinar, usando pelo menos um processador, que a mensagem final foi gerada com base em pelo menos duas mensagens provenientes de pelo menos dois processadores, caso o identificador combinado compreenda a segunda porção.
21. Método, de acordo com a reivindicação 20, caracterizado por cada mensagem compreender uma cadeia binária, em que a determinação de que o identificador combinado compreende a segunda porção inclui determinar se a primeira porção do identificador final compreende bits 0 e se a segunda porção do identificador final compreende bits 1.
22. Método, de acordo com a reivindicação 20, caracterizado por cada mensagem compreender uma sequência binária, em que a combinação da pluralidade de mensagens com pelo menos um operador lógico inclui: - combinar cada mensagem e cada outra mensagem com uma operação AND, resultando em pelo menos dois resultados; e - combinar pelo menos dois resultados com uma operação OR.
23. Método, de acordo com a reivindicação 22, caracterizado por compreender ainda determinar se a mensagem vital final (108) é válida através da comparação da mensagem vital final com cada mensagem, de modo a que, se pelo menos duas mensagens da pluralidade de mensagens coincidirem com a mensagem vital final, a mensagem vital final seja determinada como válida.
24. Sistema para gerar e validar uma mensagem vital, adaptado para executar o método conforme definido na reivindicação 20, caracterizado por compreender: - pelo menos um meio não transitório legível por computador incluindo instruções de programa que, quando executadas por um sistema de bordo (104) de um veículo, fazem com que o sistema de bordo: - receba uma pluralidade de mensagens, com cada mensagem da pluralidade de mensagens compreendendo um identificador (161), em que pelo menos uma primeira porção de cada identificador identifica exclusivamente um processador de uma pluralidade de processadores que geraram a mensagem, e em que pelo menos uma segunda porção de cada identificador é idêntica entre todos os identificadores; e - combine a pluralidade de mensagens em uma mensagem final compreendendo um identificador combinado; - pelo menos um meio não transitório legível por computador incluindo instruções de programa que, quando executadas por um sistema remoto, fazem com que o sistema remoto: - determine se o identificador combinado compreende a segunda porção de cada identificador; e - determine que a mensagem final foi gerada com base em pelo menos duas mensagens provenientes de pelo menos dois processadores, caso o identificador combinado compreenda a segunda porção.
25. Sistema, de acordo com a reivindicação 24, caracterizado por cada mensagem compreender uma cadeia binária, em que a determinação de que o identificador combinado compreende a segunda porção compreende determinar se a primeira porção do identificador final compreende bits 0, e se a segunda porção do identificador final compreende bits 1.
26. Sistema, de acordo com a reivindicação 24, caracterizado por cada mensagem compreender uma cadeia binária, em que a pluralidade de mensagens são combinadas através da: - combinação de cada mensagem e cada outra mensagem com uma operação AND, resultando em pelo menos dois resultados; e - combinação de pelo menos dois resultados com uma operação OR.
27. Sistema, de acordo com a reivindicação 24, caracterizado por o sistema remoto determinar ainda se a mensagem vital final (108) é válida através da comparação da mensagem vital final com cada mensagem, de modo a que, se pelo menos duas mensagens da pluralidade de mensagens coincidirem com a mensagem vital final, a mensagem final vital seja determinada como válida.
BR112017000097-0A 2014-07-07 2015-07-07 Métodos de geração de mensagens vitais implementado por computador em um sistema de bordo de um veículo, sistemas para gerar mensagens vitais e aparelho para gerar mensagens vitais em um sistema BR112017000097B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462021346P 2014-07-07 2014-07-07
US62/021,346 2014-07-07
US14/791,785 US9956973B2 (en) 2014-07-07 2015-07-06 System, method, and apparatus for generating vital messages on an on-board system of a vehicle
US14/791,785 2015-07-06
PCT/US2015/039329 WO2016007477A1 (en) 2014-07-07 2015-07-07 System, method, and apparatus for generating vital messages on an on-board system of a vehicle

Publications (2)

Publication Number Publication Date
BR112017000097A2 BR112017000097A2 (pt) 2018-01-23
BR112017000097B1 true BR112017000097B1 (pt) 2022-08-09

Family

ID=55016462

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112017000097-0A BR112017000097B1 (pt) 2014-07-07 2015-07-07 Métodos de geração de mensagens vitais implementado por computador em um sistema de bordo de um veículo, sistemas para gerar mensagens vitais e aparelho para gerar mensagens vitais em um sistema

Country Status (6)

Country Link
US (1) US9956973B2 (pt)
AU (1) AU2015288023B2 (pt)
BR (1) BR112017000097B1 (pt)
CA (1) CA2952045C (pt)
MX (1) MX371261B (pt)
WO (1) WO2016007477A1 (pt)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210403062A1 (en) * 2012-09-20 2021-12-30 Westinghouse Air Brake Technologies Corporation Alerting system and method
CA3111241C (en) * 2012-09-20 2023-03-14 Wabtec Holding Corp. Method and system for transmitting enforceable instructions in positive train control systems
US20160080223A1 (en) * 2015-12-01 2016-03-17 Electro-Motive Diesel Inc. Dynamic management of notifications
IT201600116085A1 (it) * 2016-11-17 2018-05-17 Ansaldo Sts Spa Apparato e metodo per la gestione in sicurezza di comunicazioni vitali in ambiente ferroviario
DE102018210966A1 (de) * 2018-07-04 2020-01-09 Volkswagen Aktiengesellschaft Schaltungsanordnung
CN109910957B (zh) * 2019-03-27 2021-06-15 北京全路通信信号研究设计院集团有限公司 一种基于混合闭塞生成行车许可的方法及系统
CN111645731A (zh) * 2020-08-03 2020-09-11 湖南中车时代通信信号有限公司 一种应答器报文的自动生成方法、系统及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4740972A (en) 1986-03-24 1988-04-26 General Signal Corporation Vital processing system adapted for the continuous verification of vital outputs from a railway signaling and control system
US5364047A (en) 1993-04-02 1994-11-15 General Railway Signal Corporation Automatic vehicle control and location system
US8015390B1 (en) * 2008-03-19 2011-09-06 Rockwell Collins, Inc. Dissimilar processor synchronization in fly-by-wire high integrity computing platforms and displays
JP5507830B2 (ja) * 2008-11-04 2014-05-28 ルネサスエレクトロニクス株式会社 マイクロコントローラ及び自動車制御装置
US8458581B2 (en) * 2009-10-15 2013-06-04 Ansaldo Sts Usa, Inc. System and method to serially transmit vital data from two processors
DE102011086530A1 (de) * 2010-11-19 2012-05-24 Continental Teves Ag & Co. Ohg Mikroprozessorsystem mit fehlertoleranter Architektur
US8543774B2 (en) * 2011-04-05 2013-09-24 Ansaldo Sts Usa, Inc. Programmable logic apparatus employing shared memory, vital processor and non-vital communications processor, and system including the same
US8714494B2 (en) * 2012-09-10 2014-05-06 Siemens Industry, Inc. Railway train critical systems having control system redundancy and asymmetric communications capability

Also Published As

Publication number Publication date
MX371261B (es) 2020-01-22
MX2016014715A (es) 2017-02-23
BR112017000097A2 (pt) 2018-01-23
US20160001801A1 (en) 2016-01-07
CA2952045C (en) 2022-05-03
AU2015288023A1 (en) 2016-11-24
US9956973B2 (en) 2018-05-01
WO2016007477A1 (en) 2016-01-14
AU2015288023B2 (en) 2020-03-19
CA2952045A1 (en) 2016-01-14

Similar Documents

Publication Publication Date Title
BR112017000097B1 (pt) Métodos de geração de mensagens vitais implementado por computador em um sistema de bordo de um veículo, sistemas para gerar mensagens vitais e aparelho para gerar mensagens vitais em um sistema
US8665882B2 (en) Serialized enforced authenticated controller area network
US10198397B2 (en) Flow control in remote direct memory access data communications with mirroring of ring buffers
CN106254238B (zh) 一种数据传输方法、集中控制器和通信装置
BR112015006111B1 (pt) Método e sistema para a transmissão de instruções de execução obrigatória em um sistema de controle positivo de trem, método para a mitigação de riscos e método para verificação de dados
US9317359B2 (en) Reliable, low latency hardware and software inter-process communication channel for safety critical system
JP6244338B2 (ja) 相互接続回路のための伝送制御検査
CN104750566B (zh) 串行链路故障检测系统及方法
CN108572638B (zh) 用于安全系统的fpga不匹配数据包的停止
US7783964B2 (en) Redundant 3-wire communication system and method
US20100082875A1 (en) Transfer device
US10574392B2 (en) System. methods and devices for transmitting and/or receiving data using an inter communication link
US10409666B2 (en) Method and device for generating an output data stream
CN104967504A (zh) 链路数据保护的方法和装置
KR100954734B1 (ko) 에러 검출을 위한 장치, 물품, 시스템 및 방법
CN110351012B (zh) 经由故障安全的通信连接传输数据时识别数据损坏的方法
US20230188536A1 (en) Communication method based on dual channels and rssp-i, apparatus, electronic device and storage medium
CN113722770B (zh) 基于分级的数据完整性的端到端的保护方法及系统
CN106940667A (zh) 检验具有多个计算单元的系统中的计算结果的方法和设备
JP2012235335A (ja) 装置間ケーブルの誤接続検出方法及び装置
JP2007257386A (ja) 車両の電子制御装置用データの検証方法及び検証システム
JP6017344B2 (ja) 制御装置、制御システム及びデータ生成方法
JP5966266B2 (ja) データ転送装置
IL297685A (en) A safety-oriented method and system for performing safety functions
JP5921424B2 (ja) データ送信装置、データ受信装置、およびバスシステム

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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