JP2001086140A - ネットワーク・メッセージの処理方法 - Google Patents

ネットワーク・メッセージの処理方法

Info

Publication number
JP2001086140A
JP2001086140A JP2000214223A JP2000214223A JP2001086140A JP 2001086140 A JP2001086140 A JP 2001086140A JP 2000214223 A JP2000214223 A JP 2000214223A JP 2000214223 A JP2000214223 A JP 2000214223A JP 2001086140 A JP2001086140 A JP 2001086140A
Authority
JP
Japan
Prior art keywords
message
ecu
value
messages
identifier
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2000214223A
Other languages
English (en)
Inventor
David Charles Smart
デイヴィッド・チャールズ・スマート
Jerry Norman Kitchen
ジェリー・ノーマン・キッチン
Jeremy T Yoder
ジェレミー・ティー・ヨダー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deere and Co
Original Assignee
Deere and Co
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 Deere and Co filed Critical Deere and Co
Publication of JP2001086140A publication Critical patent/JP2001086140A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • 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
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 ネットワーク・メッセージを処理しその関連
性を判定する方法を提供する。 【解決手段】 電子制御ユニット(ECU)はメッセー
ジを処理する際に、メッセージ識別子をハッシュ値に変
換し、ハッシュ値を、参照テーブル36に格納してある
複数のインデックス値と比較する。各インデックス値に
対応する関連性値が、メッセージはECUに関連がない
ことを示す場合、メッセージを破棄し、対応する関連性
値が、メッセージはECUに関連があることを示す場
合、メッセージをメモリ・バッファ38に挿入する。バ
ッファ内のメッセージから選択したもののみを更に処理
する。参照テーブルのインデックス値の数Nは、Nに対
する複数の潜在的な値から、ECUが受信する非関連メ
ッセージ数を最少にする特定のN値を選択することによ
って決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワーク・メ
ッセージの処理方法に関するものである。
【0002】
【従来の技術】近年の多用途車両および農業用車両は、
通常、エンジン・コントローラ電子制御ユニット(EC
U)、伝送コントローラECU、ダッシュボード計装E
CU等のような電子制御ユニットを含む。ネットワーク
は、車両を一周して、車両のECUが、それと関連する
サブシステム付近に位置することを可能にする。ネット
ワーク上では、定常的に多数のデータ・メッセージがブ
ロードキャストされているが、個々のメッセージが関連
するのは、これらECUの内僅かなものだけに過ぎな
い。例えば、エンジン・コントローラECUは、エンジ
ン速度情報をディスプレイECUに供給するが、車両の
照明システムを動作させるECUにはエンジン速度情報
は必要ない。各ECUは、通常、マイクロプロセッサ
(CPU)およびCAN(コントローラ・エリア・ネッ
トワーク)ネットワーキング・ハードウエアを含む、チ
ップ・セットを備えている。
【0003】このようなメッセージの通信を管理するた
めに適用可能なネットワーク・プロトコル規格(SAE
−J1939およびISO−11783)がある。J1
939規格の下では、メッセージはメッセージ識別子を
含む。メッセージ識別子は、数個のフィールドの連結体
であり、(i)優先度−3ビット、(ii)パラメータ
群番号(PGN)−16ビット、(iii)宛先アドレ
ス(DA)−8ビット、(iv)ソース・アドレス(S
A)−8ビット、および(v)その他−2ビットを含
む。したがって、各フィールドを組み合わせると、29
ビットのメッセージ識別子となる。
【0004】優先度フィールドは、優先度の高いメッセ
ージが、優先度の低いメッセージよりも、優先してネッ
トワークにアクセスできるようにする。PGNフィール
ドは、エンジン速度のような個々のパラメータに用い、
エンジン・トルクを群に組み込んで、ネットワーク・ト
ランスポートの効率化を図る。他の群は、切り替え信号
スイッチおよびその他の「カーテシ(courtesy)」信号
を有することもできる。各群には番号を割り当てる。ま
た、ECU同士の直接通信を可能にすることが目的であ
る場合、PGNはある値を有する。この場合、PGNの
一部が宛先アドレスとなる。宛先アドレス・フィールド
(DA)は、ネットワーク上の各ECU毎に割り当てた
一意のアドレス番号を収容する。各ECUは一意の番号
を有するので、1つのECUは、この目的に割り当てて
ある特定の範囲のPGNを用いて、他のECUに直接通
信することができる。ソース・アドレス・フィールド
(SA)は、ネットワーク上の各メッセージの発信元E
CUを識別できるように、各ECUに割り当てる一意の
番号のために用いる。「その他」フィールドは、今後の
使用のために確保してある。
【0005】多くの場合、J1939プロトコルに基づ
くメッセージは、エンジン速度、油圧、切り替え信号ス
イッチ等のような共通パラメータに対応する、既定のP
GN(パラメータ群番号)を有する。多くの新たなEC
Uは、既定されていないパラメータを有する。また、J
1939は、「各社固有(proprietary)のメッセージ
ング」を許可しており、PGNのある値に対して、PG
N内で搬送するデータの詳細については開発者に任せて
おり、J1939規格には現れない。新たなシステムが
創作される場合、これら各社固有のメッセージを用いる
システムを試作するいうのが一般的である。例えば、
「無線アンテナの高さ」というような新たなパラメータ
をネットワーク上に載せる必要がある場合、対応する既
定のPGNは、現行のJ1939データベースの中では
見出されない。したがって、各社固有のメッセージを用
いることによって、パラメータ「無線アンテナの高さ」
を伝達するシステムを試作することになろう。結果的
に、PGNはこのようなパラメータに対して定義するこ
とができるが、多くの月数や1年を超える長いリード・
タイム(lead time)が必要となる。
【0006】これらのプロトコルに対応するためには、
大きなネットワーク・メッセージ集合に対応しなければ
ならない。ECUマイクロプロセッサが受信する各メッ
セージは、そのメッセージ識別子を有していなければな
らず、これを検査して、当該メッセージが特定のECU
に関連するか否かについて判定する訳である。小さな1
組のメッセージを扱うECUでは、共通に利用可能なC
ANネットワーキング・ハードウエアが組み込みフィル
タリングを有しており、これがその検査を行なうことに
より、ECUマイクロプロセッサの介入なしに、対象の
メッセージを自動的に受け入れ、それ以外のメッセージ
を拒絶する。しかしながら、このようなネットワーク上
での典型的なECUは、組み込み式のハードウエア・フ
ィルタが管理できるよりも遥かに大きなメッセージ集合
を処理しなければならず、したがって、メッセージの受
け入れおよび拒絶は、システム・ソフトウエアで行われ
なければならない。
【0007】複雑な新たなシステムでは、数千またはそ
れ以上もの新たなパラメータがあり得る。このようなシ
ステムでは、これらのパラメータは、「各社固有のメッ
セージ」のPGN内に位置する。しかし、このPGN群
は、新たなパラメータ全てに対する容量を有していない
可能性がある。したがって、各社固有のメッセージにお
ける1データ・バイトを用いて、特定のメッセージの目
的を更に記述するというのが、比較的共通する慣例とな
っている。1データ・バイトを用いることによって、8
ビットが得られ、したがって256個の一意の組み合わ
せが追加され、特定のパラメータと対応するPGNとの
関連付けが可能となる。
【0008】メッセージ受け入れおよび拒絶機能をシス
テム・ソフトウエアで行なう場合、CPU負荷が著しく
増大し、潜在的には、優先度が低くネットワークに無関
係のアクティビティが適当な時点に行われないという危
険性を生ずる程度にまで達する可能性がある。この問題
を克服するためには、更に一層強力なCPUまたはその
他の追加の電子ハードウエアが必要となる場合もある。
これらの要求はいずれも、システムの著しいコスト上昇
を招く。
【0009】メッセージ識別子は、29ビット長であ
り、メッセージ識別子によっては、データ・バイトの1
つ以上を検査して、当該メッセージの所与のECUに対
する関連性を検査しなければならないこともある。従来
の参照テーブルの方法は実用的ではない。何故なら、テ
ーブルは、229個以上のエントリを必要とする場合もあ
り、しかも所与のメッセージの関連性を判定するために
データ・バイトの1つが更に必要となると、237個のエ
ントリが必要となる。また、特定のECUに関連するメ
ッセージ識別子は、効率的な数式が使用できるように、
アドレシング空間へのマッピングは余り繰り返さない。
【0010】典型的な現行の生産ネットワーク(produc
tion network)は、二段階プロセスを実施し、優先度の
高いメッセージを検出してオフロード(offload)し、
次いで優先度が低い方のメッセージを処理すると考えら
れる。このプロセスでは、システムにおける多くのメッ
セージが特定のECUまたはノードには関連がない場
合、実行に時間がかかる。例えば、新たなメッセージに
応答する割込サービス・ルーチン(ISR)は、メッセ
ージをキューに入力し、後に検査する。このメッセージ
は関連がない場合、この処理時間は無駄となる。メッセ
ージの関連性を判定する従来の方法は、ISRにおいて
必要な時間が多過ぎる。無駄な処理時間の別の例は、周
期的にキューからメッセージを取り出し、これらを所望
のメッセージのリストと比較し、メッセージが関連する
か否かについて判定を行なう低優先度プロセスである。
【0011】詳細には、CANネットワーク・メッセー
ジを処理する典型的な手順は次のようなものである。ネ
ットワーク・メッセージがECUのCANサブシステム
内に到達する。これは、割込を通じてCPUに通知す
る。通常の処理を中断し、ISRが代わりにCANサブ
システムからメッセージを抽出し、後に処理するために
このメッセージをキューに移動させる。このソフトウエ
アは、システム内の他のアクティビティに対する影響を
最少に抑えるために、非常に厳格に設計されていること
が多く、大量のリソースをシステムに追加せずに、どの
ようにこのISRにおいてメッセージをフィルタリング
するのかは明らかでない。CPUは、直前にアクティブ
であったプロセスに制御を戻す。更に都合のよい時点に
おいて、CPUはメッセージがあるかどうかキューを調
べる。1つ以上のメッセージがある場合、これらを個々
に検査し、ネットワークにおけるこのECUに対する関
連性を判定する。この検査は、典型的に、このメッセー
ジの一意の識別子を、関連するメッセージを表わす公知
の識別子のリストと比較することによって行なう。新た
なメッセージが対象のメッセージと一致した場合、その
メッセージはこのシステムで処理する。新たなメッセー
ジが一致しない場合、メッセージ識別子を公知の対象メ
ッセージ全てとくまなく比較し終えた後、このメッセー
ジを除去する。このプロセスは、ある限度に達するまで
繰り返す。この限度は、キューが空になること、ある時
間期間、またはある数のメッセージとすることができ
る。CPUは、他の業務を行ない、後のある時点におい
てこのプロセスを繰り返す。
【0012】このような典型的なシステムでは、ISR
は、約60マイクロ秒のCPU時間を必要とする、固定
量の作業を行なう。メッセージ・プロセッサは、評価済
みメッセージ(valued message)のリストを精査するの
で、リストをくまなく探索するには、約100マイクロ
秒のCPU時間を必要とする。メッセージ識別子の値が
広範囲に及ぶために、探索を高速化することができる最
適化は容易に特定することができず、したがってこれは
通常線形探索となる。リストの長さが長くなるに連れ
て、リストを精査する時間は比例的に延長する。メッセ
ージがリスト内で発見された場合、次にそのメッセージ
をデコードする。典型的なECUは、それに関連すると
判断されるメッセージは、20%にも満たない。関連の
ない各メッセージについて、CPUは約160マイクロ
秒を費やすことになる。
【0013】
【発明が解決しようとする課題】したがって、安価なC
PUと共に使用可能であり、関連のないメッセージを除
去し、ネットワークのメッセージ負荷が多い状態におい
ても機能することができる、高速化したネットワーク・
メッセージ処理および関連性判定方法を提供することが
できれば望ましいであろう。
【0014】即ち、本発明の目的は、安価なCPUと共
に使用可能であり、ネットワーク・メッセージを処理し
その関連性を判定する方法を提供することである。本発
明の別の目的は、関連のないメッセージを拒絶し、ネッ
トワーク・メッセージを処理しその関連性を判定するこ
のような方法を提供することである。
【0015】本発明の別の目的は、ネットワーク・メッ
セージの負荷が多い状態においても機能することがで
き、ネットワーク・メッセージを処理しその関連性を判
定するこのような方法を提供することである。
【0016】
【課題を解決するための手段】これらおよびその他の目
的は、本発明によって達成する。本発明は、ネットワー
クを伝達するメッセージの一意のメッセージ識別子(長
さが29ビットまで)の高速数学的ハッシングを実行す
る。このハッシング関数は、小さなハッシュ値を返し、
これを、各インデックス毎に関連性値を収容する比較的
小さな参照テーブル内のインデックス値と比較する。テ
ーブルは、関連メッセージに対応するインデックス値に
は1(または非ゼロ)を返し、非関連メッセージには0
を返す。関連メッセージを受け入れ、RAMバッファ内
に整列する。非関連メッセージを除去する。この実施形
態は非常に効率的でしかも高速であるので、割込サービ
ス・ルーチンISRの一部として実行することができ
る。ハッシング関数およびテーブル・サイズを注意深く
選択することによって、追加のフィルタリング・ハード
ウエアを必要としないシステムが得られる。メッセージ
が関連しない場合、これは整列せず、ISRを完了する
ので、ISR自体において大幅な時間節約となる。前述
のISR「フィルタリング」を通過したメッセージのみ
をキューに格納し、最終的に所望のメッセージのリスト
と比較する。ISRがメッセージを拒絶した場合、その
メッセージに対しては、プロセスの第2段階において時
間を費やさない。第2動作段階において使用可能な典型
的な線形または二進探索アルゴリズムと比較すると、本
方法は、大量のCPU処理時間を削減し、他の処理に回
すことができる。
【0017】
【発明の実施の形態】図1を参照すると、車両CANネ
ットワーク10は、CANバス31によって相互接続し
た複数のECU12〜30(10個を示すが、本発明は
これよりもECUが多い場合でも少ない場合でも使用可
能である)を含む。
【0018】図2を参照すると、バス31は、メッセー
ジ・トラフィックを搬送する。例えば、特定のECUに
対して、メッセージ・トラフィックは、関連メッセージ
M12、M27、M89(影付き)、および非関連メッ
セージM73、M43、M15、M96、M87、M7
8、M10(影無し)から成る。各メッセージは識別子
部分およびデータ部分を含む。これらのネットワーク・
メッセージが他のECUによって周期的に送信され、あ
るECUが受信すると、これらを以下のように処理す
る。ECU上のネットワーク・ハードウエア・インター
フェース32はメッセージを検出し、ISR34を起動
し、他のソフトウエア処理を中断する。
【0019】ISR34は、性質上非常に時間に厳格で
ある。何故なら、これはECUにおける優先度が低い他
のアクティビティ全てを中断するからである。本発明に
よれば、受け入れフィルタ・アルゴリズムがハッシュ・
キー、即ち、29ビットのメッセージ識別子の一部から
ハッシュ値を計算する。ハッシュ値の計算を、以下の疑
似コードによって記述する。
【0020】
【表1】
【0021】ハッシュ値を、ハッシュ・テーブル即ち参
照テーブル36の対応する1組のインデックス値と比較
する。各インデックス値は、対応する関連性値RELを
有し、関連がなければ0、関連があれば1である。好ま
しくは、ハッシュ値は0からNまでの範囲を取ることが
でき、Nは参照テーブルのインデックス値の数を表わす
素数であることが好ましい。Nを適当な値として、ハッ
シュ関数および参照テーブルを適当に設計することによ
り、非関連メッセージの数をほぼ0に削減する。検査に
合格したメッセージ(REL値が1のメッセージ)を、
RAMバッファ38に移す。RAMバッファ38は、典
型的に、先入れ先出し(FIFO)バッファとして構成
する。関連性のないメッセージ(REL値が0のメッセ
ージ)は、この方法を実行する特定のECUによって破
棄する。
【0022】都合がよくさほど重要ではない時点におい
て、メッセージ処理サービス・ルーチン40は、バッフ
ァ38内のメッセージを処理する。その際、最も古いメ
ッセージを最初に取り出す。バッファ38は、追加処理
のために収容するメッセージは遥かに少ない。メッセー
ジ処理サービス・ルーチン40は、メッセージ識別子
(M1、M2等)を、評価済みメッセージを格納したリ
スト42と比較する。新たなメッセージがリスト42内
にある場合、ルーチン40は続いて44においてメッセ
ージからのデータをデコードし抽出する。ルーチン40
がリスト42には新たなメッセージはないと判断した場
合、このメッセージを破棄する。次に、ルーチン40は
終了するか、あるいはバッファ38内の次のメッセージ
を発見し、再度開始する。
【0023】この方法では、ISRは可変量の作業を実
行する。メッセージが受け入れられる場合、約60マイ
クロ秒のCPU時間を必要とするが、メッセージを拒絶
する場合、約25ないし30マイクロ秒のCPUだけで
済む。メッセージ・プロセッサ・ルーチン40は、評価
済みメッセージのリスト42を精査する際、リストをく
まなく探索するには、約100マイクロ秒のCPU時間
を必要とする。処理されるメッセージは、このノードに
対する値を有するメッセージが大部分を占める。ハッシ
ュ・フィルタを適当に選択することにより、対象外のメ
ッセージをほぼ0に削減する。リストの長さが長くなる
程リストを精査するための時間は長くなる。
【0024】リスト42においてメッセージを発見した
場合、次にメッセージをデコードする。典型的なシステ
ムでは、メッセージの約80%はこの特定のECUには
関連がなく、その内の小さな割合がISRによって拒絶
され、大量のCPU処理時間を削減する。この処理時間
は、他の機能を実行するために用いることができる。
【0025】更に図2を参照し、ハッシュ・テーブル3
6をより具体的に参照すると、ハッシュ・テーブル36
は、システムが対象の識別子全てを処理しつつ、対象外
の識別子のほぼ全てを拒絶することを可能とする。本発
明の結果としての全体的な処理能力の向上は、使用する
ハッシュ・テーブルの質に左右される。229個のエント
リから成る非常に大型のハッシュ・テーブルは、所与の
ECUには関連のない全ての識別子の除去が可能であ
る。しかしながら、このサイズのメモリは経済的ではな
いので、通常のハッシュ・テーブルのサイズは、約25
6ないし2048エントリ程度とする場合が多い。
【0026】ハッシュ・テーブルのサイズが小さくなる
につれて(229個未満のエントリ)、所与のハッシュ除
算関数のための識別子のある割合は、同じハッシュ・イ
ンデックス値を計算する。この特性を有するメッセージ
は、同じ関連性値を有し、これらのメッセージのいずれ
か1つが関連する場合、ISR34は、全てに関連があ
ると識別する。実際には関連のないメッセージは、いず
れかの方法で処理し、一致する識別子がリスト42にお
いて発見されない場合、メッセージ処理サービス・ルー
チン40によって拒絶する。したがって、適切なサイズ
を有するハッシュ・テーブルおよび適切なハッシュ除数
を選択することにより、対象のメッセージ全てを保持
し、かなり高い割合の対象外メッセージを拒絶するシス
テムが得られる。ハッシュ除数は、経験的に、ハッシュ
・テーブルにインデックス値を生成する識別子に対する
モジュラス除算演算を含む繰り返しプロセスによって決
定する。例えば、ハッシュ除数を251とすると、25
1個の一意のインデックス値を有するハッシュ・テーブ
ルが得られる。
【0027】相応しいハッシュ・テーブルおよびハッシ
ュ除数を生成するには、システム上に存在するメッセー
ジの集合を分析する必要がある。所与の時間期間(サン
プル間隔)中に、選択したECUに関連のあるメッセー
ジがI個存在し、ネットワーク上の全メッセージがT個
のメッセージであることを認識するのは重要である。E
CUが受信するが関連のないメッセージの集合Jが存在
する。これらのメッセージ集合を用いて、種々のハッシ
ュ除数の候補を繰り返し、解候補の質を判定することが
可能となる。相応しい解は、最も小さなJ項を生成する
ものである。一般に、60秒サンプルが、この情報を計
算するのに相応しいサンプル間隔である。
【0028】適切なハッシュ・テーブルは、次のように
生成することができる。 a.選択したECUが受信する必要がある全てのメッセ
ージをリストにまとめる。
【0029】b.各メッセージ毎に、当該メッセージの
識別子および名目繰り返し率をリストにまとめる。 c.サンプル期間(60秒)におけるこのメッセージに
対する発生回数を計算する。メッセージが正常にブロー
ドキャストされていない場合、これは0と計算すればよ
い。その場合、発生回数を1にセットする。このリスト
は、Xとして識別したメッセージの集合を表わす。
【0030】d.選択したECUが受信する必要のな
い、残りのメッセージ全てについて別のリストを作成す
る。先に示したように、再度発生回数を計算する。この
リストは、Yとして識別したメッセージの集合を表わ
す。
【0031】e.集合XおよびYを組み合わせることに
よって、メッセージ集合Zを生成する。(これは、ネッ
トワーク上においてこのサンプル期間中に現れる可能性
がある全メッセージの集合である。) 繰り返し計算は、次のように進める。
【0032】a.各ハッシュ除数候補毎に、 b.ハッシュ除数値に対応するサイズのハッシュ・テー
ブルを作成し、全てのエントリを値0に初期化する。
【0033】c.集合X内の各識別子毎に、ハッシュ・
インデックスを計算する。テーブル内において、このエ
ントリに1を付け、このハッシュ・インデックスを計算
するあらゆる識別子を受信することを通知する。
【0034】d.集合X内のメッセージ全てを処理し終
えたとき、ハッシュ・テーブルの構成が完了する。この
テーブルの質を評価するために、集合X,Zを次のよう
に処理する。
【0035】a.対象メッセージのカウンタIを0に初
期化する。 b.ハッシュ・フィルタを通過したが不要のメッセージ
に対するカウンタJを0に初期化する。
【0036】c.ネットワーク上の全メッセージTに対
するカウンタを0に初期化する。 d.集合X内の各識別子毎に、発生回数をIに加算す
る。
【0037】発生回数をTに加算する。 e.集合Y内の各識別子毎に、ハッシュを計算し、関連
性値を調べ、関連性値が0でない場合(メッセージがフ
ィルタを通過した場合)、発生回数をJに加算する。
【0038】発生回数をTに加算する。ここで、I+J
は、受信した全メッセージを示し、割合としてのJ/
(I+J)は、ネットワーク「ノイズ」、即ち、フィル
タを通過したメッセージの結果として不要な処理を示
す。
【0039】これは、全メッセージの割合として、J/
Tで表わすこともできる。次のハッシュ除数候補につい
てこのプロセスを繰り返し、全ての提案されたハッシュ
除数についてこのプロセスを実行し終えた後、拒絶した
非関連メッセージの数が最も多いハッシュ除数、したが
ってハッシュ・テーブルを選択する。
【0040】図3を参照すると、ISRルーチンはステ
ップ100において開始する。ステップ102は、処理
すべき何らかのメッセージがあるか否かについて判定す
る。ない場合、ルーチンは104において終了する。あ
る場合、ステップ106はハッシュ値を計算する。ステ
ップ108において、ハッシュ値を、参照テーブル36
内のインデックス値と比較する。参照テーブル36が、
このメッセージは関連がないことを示す場合、ステップ
166は、新たなメッセージ受信のために初期化し、ル
ーチンはステップ102に戻る。
【0041】参照テーブル36が、メッセージは関連が
あることを示す場合、ステップ110はバス31からメ
ッセージを抽出し、ステップ112はメッセージをキュ
ー(バッファ38)に挿入し、キューを更新する。次
に、ステップ114は、新たなメッセージ受信のために
初期化し、ルーチンはステップ102に戻る。
【0042】図4を参照すると、メッセージ処理ルーチ
ン40はステップ200において開始する。ステップ2
02は、処理すべき何らかのメッセージがあるか否かに
ついて判定する。ない場合、ルーチンは204において
終了する。ある場合、ステップ206はキュー(バッフ
ァ38)からメッセージを抽出する。ステップ208に
おいて、識別子を格納したリスト42における最初の値
を表わすように、リスト・インデックス値をセットす
る。次に、ステップ210において、抽出したメッセー
ジの識別子が格納リスト42の最初の値と一致する場
合、ステップ212においてこのメッセージを通常通り
処理する。抽出したメッセージの識別子が格納リスト4
2の最初の値と一致しない場合、ステップ214はリス
ト・インデックス値を増分し、リスト42における次の
値を表わすようにする。次に、リスト・インデックス値
がリスト42内の最後の項目を超過した場合、ステップ
216はルーチンをステップ202に戻す。それ以外の
場合、ステップ216はルーチンをステップ210に戻
し、抽出したメッセージの識別子が格納リスト42内の
次の値と一致するか否かについて判定を行なう。
【0043】ISR34は時間に厳格なルーチンであ
り、行なう処理はできるだけ少ないことが好ましい。I
SR34がメッセージをキューに挿入すると、メッセー
ジ処理ルーチン40は、キューにおいてメッセージを処
理する。
【0044】以下に、図3および図4のルーチンに対す
るプログラム・ソース・コード(疑似コード)を示す。
【0045】
【表2】
【0046】本特許文書の開示の一部は、著作権保護主
張の対象となる素材を含む。著作権所有者は、特許商標
庁の特許ファイルまたは記録に見られる特許文書または
特許開示のファクシミリ複製に関しては、何人によるも
のであっても、それに異論はないが、それ以外では、他
のあらゆる権利全てを留保するものとする。
【0047】以上具体的な実施形態に関連付けて本発明
の説明を行なったが、多くの代替、変更および変形も前
述の説明を考慮すれば当業者には明白であるものと考え
られる。したがって、本発明は、添付した特許請求の範
囲の精神および範囲に該当する代替、変更および変形全
てを包含することを意図するものである。
【図面の簡単な説明】
【図1】複数のECUを有する車両ネットワークの簡略
化した構成ブロック図である。
【図2】本発明の動作を示す構成図である。
【図3】本発明のメッセージ受信またはフィルタリング
部分を示す論理フロー図である。
【図4】本発明のメッセージ処理部分を示す論理フロー
図である。
【符号の説明】
10 車両コントローラ・エリア・ネットワーク(C
AN) 12〜30 電子制御ユニット(ECU) 31 バス 32 ネットワーク・ハードウエア・インターフェー
ス 34 ISR 36 ハッシュ・テーブル 38 RAMバッファ 40 メッセージ処理サービス・ルーチン 42 リスト 44 メッセージ・デコーダ M12、M27、M89 関連メッセージ M73、M43、M15、M96、M87、M78、M
10 非関連メッセージ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェリー・ノーマン・キッチン アメリカ合衆国アイオワ州50613,シーダ ー・フォールズ,コンヴェア・レーン 3824 (72)発明者 ジェレミー・ティー・ヨダー アメリカ合衆国アイオワ州52402,シーダ ー・ラピッズ,オウクランド・ロード・ノ ースイースト 1300,ナンバー 1516

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 バスを通じて互いに接続した複数の電子
    制御ユニット(ECU)を有するネットワークにおい
    て、該ネットワークのECUが実行するメッセージ処理
    方法であって、各メッセージが識別子部分およびデータ
    部分を有し、 前記メッセージ識別子をハッシュ値に変換するステップ
    と、 前記ハッシュ値を、参照テーブルに格納してある複数の
    インデックス値と比較するステップであって、前記参照
    テーブルが各インデックス値に対応する関連性値を有す
    る、ステップと、 対応する関連性値が、前記メッセージが前記ECUに関
    連がないことを示す場合、前記メッセージを破棄するス
    テップと、 対応する関連性値が、前記メッセージが前記ECUに関
    連があることを示す場合、前記メッセージをメモリ・バ
    ッファに挿入するステップと、 前記バッファ内のメッセージから選択したもののみを更
    に処理するステップと、から成ることを特徴とする方
    法。
  2. 【請求項2】 請求項1記載の方法において、 前記ハッシュ値は、前記メッセージの前記識別子部分よ
    りもデータ・ビットが少ないことを特徴とする方法。
  3. 【請求項3】 請求項1記載の方法において、 一意のハッシュ値の数が、インデックス値の数と同一で
    あることを特徴とする方法。
  4. 【請求項4】 請求項1記載の方法において、 前記参照テーブルのインデックス値の数Nは、Nに対す
    る複数の潜在的な値から、前記ECUが受信する非関連
    メッセージ数を最少にする特定のN値を選択することに
    よって決定することを特徴とする方法。
  5. 【請求項5】 バスを通じて互いに接続した複数の電子
    制御ユニット(ECU)を有するネットワークにおい
    て、該ネットワークのECUが実行するメッセージ処理
    方法であって、各メッセージが識別子部分およびデータ
    部分を有し、 前記メッセージ識別子をハッシュ値に変換するステップ
    であって、該ハッシュ値が、前記メッセージの識別子部
    分よりもデータ・ビットが少ない、ステップと、 前記ハッシュ値を、参照テーブルに格納してある複数の
    インデックス値と比較するステップであって、前記参照
    テーブルが各インデックス値に対応する関連性値を有す
    る、ステップと、 対応する関連性値が、前記メッセージが前記ECUに関
    連がないことを示す場合、前記メッセージを破棄するス
    テップと、 対応する関連性値が、前記メッセージが前記ECUに関
    連があることを示す場合、前記メッセージをメモリ・バ
    ッファに挿入するステップと、 前記バッファ内のメッセージから選択したもののみを更
    に処理するステップと、から成ることを特徴とする方
    法。
  6. 【請求項6】 請求項5記載の方法において、 一意のハッシュ値の数が、インデックス値の数と同一で
    あることを特徴とする方法。
  7. 【請求項7】 バスを通じて互いに接続した複数の電子
    制御ユニット(ECU)を有するネットワークにおい
    て、該ネットワークのECUが実行するメッセージ処理
    方法であって、各メッセージが識別子部分およびデータ
    部分を有し、 前記メッセージ識別子をハッシュ値に変換するステップ
    と、 前記ハッシュ値を、参照テーブルに格納してある複数の
    インデックス値と比較するステップであって、前記参照
    テーブルが各インデックス値に対応する関連性値を有
    し、前記参照テーブルが一意のハッシュ値の数と同数の
    インデックス値を有する、ステップと、 対応する関連性値が、前記メッセージが前記ECUに関
    連がないことを示す場合、前記メッセージを破棄するス
    テップと、 対応する関連性値が、前記メッセージが前記ECUに関
    連があることを示す場合、前記メッセージをメモリ・バ
    ッファに挿入するステップと、 前記バッファ内のメッセージから選択したもののみを更
    に処理するステップと、から成ることを特徴とする方
    法。
  8. 【請求項8】 請求項7記載の方法において、 前記ハッシュ値は、前記メッセージの前記識別子部分よ
    りもデータ・ビットが少ないことを特徴とする方法。
JP2000214223A 1999-07-14 2000-07-14 ネットワーク・メッセージの処理方法 Pending JP2001086140A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/354,345 US6496885B1 (en) 1999-07-14 1999-07-14 Method for processing network messages
US09/354345 1999-07-14

Publications (1)

Publication Number Publication Date
JP2001086140A true JP2001086140A (ja) 2001-03-30

Family

ID=23392898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000214223A Pending JP2001086140A (ja) 1999-07-14 2000-07-14 ネットワーク・メッセージの処理方法

Country Status (11)

Country Link
US (1) US6496885B1 (ja)
EP (1) EP1069731B1 (ja)
JP (1) JP2001086140A (ja)
AR (1) AR024726A1 (ja)
AT (1) ATE322782T1 (ja)
AU (1) AU764230B2 (ja)
BR (1) BR0002716A (ja)
CA (1) CA2298275C (ja)
DE (1) DE50012511D1 (ja)
DK (1) DK1069731T3 (ja)
ES (1) ES2258427T3 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020113893A (ja) * 2019-01-11 2020-07-27 富士通株式会社 メッセージ処理装置およびメッセージ処理方法
JP2020177386A (ja) * 2019-04-17 2020-10-29 日立造船株式会社 作業情報取得装置および分類器生成装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615302B1 (en) * 1999-09-15 2003-09-02 Koninklijke Philips Electronics N.V. Use of buffer-size mask in conjunction with address pointer to detect buffer-full and buffer-rollover conditions in a CAN device that employs reconfigurable message buffers
DE10000305B4 (de) * 2000-01-05 2011-08-11 Robert Bosch GmbH, 70469 Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
US7343390B2 (en) * 2000-12-20 2008-03-11 Microsoft Corporation Systems and methods for conducting internet content usage experiments
CN1293726C (zh) * 2003-01-06 2007-01-03 华为技术有限公司 在网络链路上实现快速传输桥接数据的方法
JP4209257B2 (ja) * 2003-05-29 2009-01-14 三菱重工業株式会社 分散型コントローラとその動作方法、及び、分散型コントローラを備えるフォークリフト
JP2004352466A (ja) * 2003-05-30 2004-12-16 Mitsubishi Heavy Ind Ltd 自走式産業機械の機械制御装置、及び、それの機械制御方法
US7694061B2 (en) * 2004-09-08 2010-04-06 Fisher-Rosemount Systems, Inc. Discarding a partially received message from a data queue
US7957868B2 (en) * 2007-06-06 2011-06-07 Deere & Company Electronic power module for an agricultural vehicle
EP2061215B1 (de) * 2007-11-17 2012-02-01 Vector Informatik GmbH Prüfmodul und Prüfverfahren zur Relevanzprüfung eines Kennzeichners
US8751098B2 (en) 2008-01-25 2014-06-10 Omnitracs, Llc Method of monitoring CANbus information
FR2949933B1 (fr) 2009-09-09 2012-03-30 Peugeot Citroen Automobiles Sa Procede et dispositif de filtrage de messages
JP5651615B2 (ja) * 2012-02-16 2015-01-14 日立オートモティブシステムズ株式会社 車載ネットワークシステム
US9881165B2 (en) 2012-03-29 2018-01-30 Arilou Information Security Technologies Ltd. Security system and method for protecting a vehicle electronic system
WO2014097139A1 (en) * 2012-12-19 2014-06-26 Marvell World Trade Ltd. Selective layer-2 flushing in mobile communication terminals
US9792440B1 (en) * 2014-04-17 2017-10-17 Symantec Corporation Secure boot for vehicular systems
US11048797B2 (en) * 2015-07-22 2021-06-29 Arilou Information Security Technologies Ltd. Securing vehicle bus by corrupting suspected messages transmitted thereto
US20170072876A1 (en) * 2015-09-14 2017-03-16 Broadcom Corporation Hardware-Accelerated Protocol Conversion in an Automotive Gateway Controller
US10361934B2 (en) * 2015-09-28 2019-07-23 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
US10715475B2 (en) * 2018-08-28 2020-07-14 Enveloperty LLC Dynamic electronic mail addressing

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4412285A (en) * 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
JP2904296B2 (ja) * 1990-03-30 1999-06-14 マツダ株式会社 車両用多重伝送装置
US5237571A (en) * 1991-09-26 1993-08-17 Ipc Information Systems, Inc. Broadcast system for distributed switching network
JP3137437B2 (ja) * 1992-06-30 2001-02-19 株式会社東芝 データ伝送システム
US6038309A (en) * 1996-06-13 2000-03-14 Northern Telecom Limited Apparatus and method for externally controlling processing of a service call

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020113893A (ja) * 2019-01-11 2020-07-27 富士通株式会社 メッセージ処理装置およびメッセージ処理方法
JP7182470B2 (ja) 2019-01-11 2022-12-02 富士通株式会社 メッセージ処理装置およびメッセージ処理方法
JP2020177386A (ja) * 2019-04-17 2020-10-29 日立造船株式会社 作業情報取得装置および分類器生成装置
JP7249853B2 (ja) 2019-04-17 2023-03-31 日立造船株式会社 作業情報取得装置および分類器生成装置

Also Published As

Publication number Publication date
CA2298275C (en) 2004-04-13
US6496885B1 (en) 2002-12-17
ES2258427T3 (es) 2006-09-01
EP1069731B1 (de) 2006-04-05
AR024726A1 (es) 2002-10-23
DK1069731T3 (da) 2006-07-31
AU764230B2 (en) 2003-08-14
BR0002716A (pt) 2001-03-13
ATE322782T1 (de) 2006-04-15
EP1069731A2 (de) 2001-01-17
CA2298275A1 (en) 2001-01-14
EP1069731A3 (de) 2004-05-12
DE50012511D1 (de) 2006-05-18
AU4266600A (en) 2001-01-18

Similar Documents

Publication Publication Date Title
JP2001086140A (ja) ネットワーク・メッセージの処理方法
US6334140B1 (en) Electronic mail server in which electronic mail is processed
US8555374B2 (en) High performance packet processing using a general purpose processor
CN108134775B (zh) 一种数据处理方法和设备
US20210226973A1 (en) Vehicle log transmission device, vehicle log analysis system, and vehicle log transmission/reception method
CN107295036A (zh) 一种数据发送方法及数据合并设备
CN111245776A (zh) 车载数据传输方法、装置、设备和存储介质
CN101351781B (zh) 在通信网络中处理传入分组的方法和系统
US8532331B2 (en) Method for monitoring a picture or multimedia video pictures in a communication system
WO2017141676A1 (ja) 中継装置
JP4391025B2 (ja) 複数の処理装置を備えた制御システムの様々なノード間で通信を行う方法
CN114726788B (zh) 应用于dpu的报文传输方法及相关装置
EP0769863A1 (en) Bridging apparatus for traffic filtering in communication networks
US20010013056A1 (en) Information processor having electronic mail function and recording medium storing electronic mail processing program
CN112598514B (zh) 基于区块链的跨链交易管理方法、跨链平台及介质
CN109639555B (zh) 链路层报文生成方法、链路层报文生成装置及终端设备
CN115996203A (zh) 网络流量分域方法、装置、设备和存储介质
CN113965367B (zh) 策略对象上限控制方法、系统、计算机及存储介质
CN114253479B (zh) 一种can总线入侵检测方法及系统
CN114363379A (zh) 车辆数据传输的方法、装置、电子设备及介质
CN115334013A (zh) 一种流量统计方法、网卡及电子设备
CN116263770A (zh) 基于数据库的业务数据存储方法、装置、终端设备及介质
CN113873001A (zh) 一种基于http请求分类的负载均衡优化方法
MXPA00006904A (en) Method for processing network messages
JP3488827B2 (ja) ネットワークシステム及びその通信方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040227

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040526

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040827

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041124