JP2011120237A - メッセージ受信装置およびマイクロコントローラ - Google Patents

メッセージ受信装置およびマイクロコントローラ Download PDF

Info

Publication number
JP2011120237A
JP2011120237A JP2010264838A JP2010264838A JP2011120237A JP 2011120237 A JP2011120237 A JP 2011120237A JP 2010264838 A JP2010264838 A JP 2010264838A JP 2010264838 A JP2010264838 A JP 2010264838A JP 2011120237 A JP2011120237 A JP 2011120237A
Authority
JP
Japan
Prior art keywords
message
controller
string
priority
comparison
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.)
Granted
Application number
JP2010264838A
Other languages
English (en)
Other versions
JP5581995B2 (ja
Inventor
Dirk Fischer
フィッシェル ディルク
Stefan Frank
フランク ステファン
Wolf Fronauer
フロナウアー ボルフ
Uwe Moslehner
モシュレナー ウベ
Markus Heigl
ハイグル マルクス
Andre Marth
マルト アンドレ
Martin Feuerstack-Raible
フォイヤースタック−ライブル マルティン
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Publication of JP2011120237A publication Critical patent/JP2011120237A/ja
Application granted granted Critical
Publication of JP5581995B2 publication Critical patent/JP5581995B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】高いバス負荷の下でも、入ってきた重要なメッセージが失われることなく受信して処理する受信したメッセージを取り扱う装置の実現。
【解決手段】受信したメッセージを取り扱う装置であって、プロセッサ2の代わりに、受信中に、オンザフライで部分ごとに受信メッセージを解釈およびスクリーニングするように動作し、スクリーニングを通過させると決定された受信メッセージを処理のためにプロセッサに提供する通信インターフェース・コントローラ4を備える。
【選択図】図2

Description

本発明は、メッセージ受信に関する。特に、本発明は、受信したメッセージを取り扱う装置および対応する方法に関する。このようなメッセージは、例えば、イーサネット(Ethernet)(商標名)メッセージのようなフレームまたはパッケージに基づくメッセージである。
イーサネット(商標名)MAC機能性は、マイクロコントローラにおいて重要であると考えられている。このようなマイクロコントローラは、実時間アプリケーションと同様に、一般の産業用および自動車用アプリケーションでの使用が図られている。
例として、産業用実時間イーサネット(商標名)プロトコル(例えば、イーサネット(商標名)パワーリンクまたはプロフィネット(Profinet))は、リクエストに関する高速応答時間を必要としている。これらの種類のプロトコルをサポートするため、新規なハードウエアの特徴が要望されている。しかしながら、一般用のアプリケーションも、このような特徴から利益が得られることが要望されている。
マイクロコントローラ・プロセッサまたは中央処理ユニット(CPU)を、入ってきたメッセージ(リクエスト)の解析の仕事から開放して演算時間を少なくして、バスの負荷が重たくても重要なメッセージの受信を保証し、マイクロコントローラがリクエストに対して高速な応答時間を提供可能であることを保証することが望まれている。
上記のように考えられた通信インターフェース・コントローラは、フィルタ受信機構を有する。しかしながら、このようなコントローラは、次のような短所を有すると考えられている。
上記のように考えられた通信インターフェース・コントローラの1つのタイプは、完全な行き先アドレスフィルタが入っている(インプリメントされている)。入ってきたメッセージは、行き先アドレスが受信機のステーションアドレスに一致するならば受付され、他のメッセージは拒絶される。入ってきたメッセージの小さな部分(行き先アドレス)のみがフィルタ値(ステーションアドレス)と比較される。このあらかじめ定義されたメッセージ片(fragment)は、長さの点およびメッセージ内での位置の点で固定されている。
1つより多い行き先アドレスのフィルタリング/受信をサポートするために、ハッシュテーブルフィルタがインプリメントされる。完全アドレスフィルタと同様に、固定メッセージ片、すなわちステーションアドレスのみが比較される。ハッシュコードは、メッセージにおける行き先アドレスから算出される。このコードは、各テーブルエントリィに対する受入れフラグを含むハッシュテーブルにアクセスするのに使用される。もし受入れフラグがクリアされると、対応するメッセージは拒絶される。ハッシュテーブルは、いくつかの行き先アドレスが同一のハッシュキーに導くことができるため、不完全フィルタである。したがって、パケットは、それらが拒絶されても受け入れられることがある。
上記のように考えられたコントローラは、1つの受信バッファキューを有するようになる。もしこのキュー(保留メモリ)が全て占有されると、プロセッサ(すなわち、ソフトウエア)が、記憶された受信メッセージを処理するまで、それ以上のメッセージは受信されない。特に高いバス負荷の下では、入ってきた重要なメッセージは、ソフトウエアが重要なものを特定するほど十分に高速にメッセージを処理できないため、失われることになる。
フィルタ一致における所定のメッセージの自動送信の一般原理は知られているが(例えば、ポート(Port)GmbHの産業用イーサネット(商標名)MAC仕様を参照のこと)、このような自動送信は適当な方法で処理できると考えられる。
米国特許第6535514B1号 米国特許第6519263B1号 米国特許第6753873B2号 米国特許第5479441号 米国特許第6662247B1号 米国特許第6407999B1号 米国特許第6363069B1号 米国特許第6408006B1号 米国特許第5983275号 米国特許第5299313号 米国特許第5305321号 米国特許第6381648B1号 米国特許第5343471号 米国特許第6938040B2号 米国特許第6658480B2号
上記の観点からの装置および方法が要望されていた。
本発明の第1の態様の実施形態によれば、受信したメッセージを取り扱う装置が提供され、この装置は、受信中(すなわち、受信されている間)に、オンザフライで部分ごとに受信メッセージをスクリーニングするように動作し、スクリーニングを通過させると決定された受信メッセージを、処理のためにプロセッサに提供する通信インターフェース・コントローラを備える。このようなコントローラは、基本的にプロセッサの代わりに機能し、その受信したメッセージを解釈してスクリーニングし、プロセッサの負荷を低減する。
この装置は、プロセッサを備えてもよい。例えば、プロセッサは装置のCPU(central processing unit)であればよい。装置は、メッセージを部分ごとに受信し、受信にしたがってそれらの部分をスクリーニングするためにFIFOバッファを備えてもよい。
受信したメッセージをオンザフライで、できればハードウエアで、スクリーニングすることにより、メモリおよびバッファ空間のようなシステム資源を節約できる。したがって、例えば、受信したメッセージをスクリーニングする前に、できればブロック内にメッセージを完全に記憶する必要はない。
例えば、装置は、プロセッサをコントローラに接続する内部バスのようなバスを有してもよい。好ましくは、プロセッサに負荷をかける危険のないように、装置は、受信したメッセージをバスに渡す前に、そのようなスクリーニングを実行するように構成されている。
受信したメッセージのそれぞれについて、コントローラは、スクリーニング中に、メッセージのユーザ選択ビットを、テストストリングの対応するビットと比較して、その比較結果に応じてメッセージがスクリーニングを通過したかどうかを決定するように動作可能であってもよい。すなわち、装置は、例えば、アドレスビットまたはヘッダビット以外の受信したメッセージのビット、またはメッセージの異なる部分に渡って存在する選択ビット(プレアンブル、ヘッダ、データ、フッタ)を、テストストリングと比較するように動作可能であってもよい。
コントローラは、比較を実行する時に、テストストリングに組み合わせてマスクストリングを使用して、テストストリングの特定のビットを比較からマスク(除外)するように動作可能であってもよい。マスクストリングとテストストリングの組合せは、装置が実行可能な異なるスクリーニングプロセスを増加する。例えば、1つのテストストリングは、多くのマスクストリングと一緒に使用可能であればよく、逆も同様である。
装置は、1つ以上のテストストリングおよび/またはマスクストリングを記憶する第1メモリを備えてもよい。コントローラが、第1メモリを備えてもよい。装置は、ユーザが第1メモリ内に所望のストリングを記憶するのを可能にするように構成されていてもよい。そのようにして、ユーザは、装置が特定の方法で受信したメッセージをスクリーニングするのが可能であってもよい。このような柔軟性(フレキシビリティ)は有利である。
装置は、記憶されたテストリングに対応し、第1メモリに記憶されたテストリングを参照するための構成セットアップを記憶する第2メモリを備えてもよい。コントローラが、第2メモリを備えてもよい。
第1および第2メモリは、同一メモリの一部であってもよい。第1および第2メモリのサイズは、例えばそれらのメモリにおける空間要求に応じて、動的に制御されてもよい。これにより、メモリの使用は最適化されてよい。
このような構成セットアップにより、スクリーニング処理中にどのストリングまたはストリングの組合せ(例えば、テストおよびマスクストリング)を使用するかを定義することが可能であってよい。これにより、装置を自由に構成することが可能であってよい。例えば、構成セットアップは、ストリングが構成中に使用される順番で定義するのに使用されてよい。
コントローラは、スクリーニングを実行するために、記憶された構成セットアップを使用して、第1メモリから記憶された対応するテストリングを取り出すように構成されていてもよい。コントローラは、記憶されたテストストリングおよび/またはマスクストリングのいずれの組を、受信したメッセージと比較するかを決定するため、記憶された構成セットアップを使用するように構成されていてもよい。
使用のフレキシビリティのため、装置は、ユーザが所望のストリングを第1メモリに、対応する構成セットアップを第2メモリに記憶可能に構成されており、コントローラが、受信したメッセージの所望のビットを、1つ以上の所望のテストストリングおよび/またはマスクストリングと比較するように構成されていてもよい。
コントローラは、受信したメッセージのそれぞれについて、一連のステージで比較を実行するように構成されていてもよい。以下に説明するように、FIFO(first-in-first-out)バッファが使用されてもよい。各ステージは、受信したメッセージの一部をテストストリングおよび/またはマスクストリングの対応部分と比較することを備えてもよい。
コントローラは、FIFOバッファを備え、関係するメッセージの受信の間ステージの処理を順番に実行するように構成され、連続したステージは特定の受信したメッセージのそれぞれの部分に対してFIFOバッファ内に連続して受信するように動作してもよい。ステートマシーンがこの処理を制御してもよい。
コントローラは、ステージのそれぞれで、記憶した構成セットアップにより指示された通りに、関係する受信したメッセージの部分を、記憶したテストストリングおよび/またはマスクストリングのそれぞれ、またはテストストリングおよび/またはマスクストリングの組のそれぞれの対応部分と比較するように構成されてもよい。これにより、スクリーニングプロセスは、他のチャンクをFIFOバッファ内に受信する前に、メッセージの受信した各チャンクを効果的に十分に取り扱ってよい。
コントローラは、スクリーニングに応じて、受信したメッセージが第1優先度のものであるか、第2優先度のものであるか、を決定するように動作可能であってもよく、第1優先度は第2優先度より優先度が高い。より好ましくは、このような優先度情報は、スクリーニングプロセスの間導出されてもよく、プロセッサによるメッセージの次の処理は、高優先度のメッセージに焦点が当てられてもよい。スクリーニングは、もちろん、メッセージをより高い優先度に分類するか、受信時間または送信元などの優先度以外の分類要因に基づいて分類するのに使用されてもよい。
コントローラは、第1および第2メッセージバッファを備えてもよく、第1優先度を有すると決定されたメッセージを第1メッセージバッファに、第2優先度を有すると決定されたメッセージを第2メッセージバッファに、記憶するように動作可能でもよく、第1バッファは第1優先度のメッセージ用に予約されている。第1および第2バッファのサイズは、例えばそれらのバッファにおける空間要求に応じて、動的に制御されてもよい。例えば、第1および第2バッファは、同一バッファの一部であってもよい。これにより、バッファの使用は最適化されてもよい。
コントローラは、第1優先度のメッセージの受信を、プロセッサに知らせるように動作可能であってもよい。これにより、プロセッサは、(例えば、インタラプトにより)重要なメッセージを即座に取り扱うことができてもよい。このような重要なメッセージは、例えば実時間のアプリケーションにおける、高速の応答時間を必要としてもよい。
FIFOバッファは、第1FIFOバッファであってもよく、コントローラは、関係するメッセージが第1優先度のものであるかまたは第2優先度のものであるの決定が完了する間、特定の受信したメッセージのスクリーニングされる部分を保持する第2FIFOバッファを有してもよく、スクリーニングされる部分は、第1FIFOバッファに保持されている間にすでに比較に使用される。この配置は、スクリーニングの特定のステージ(例えば、優先度または他の分類要因)が完了するまでにメッセージの受信部分を保持する容量を提供することにより、メッセージをオンザフライでスクリーニング性能を有利にサポートする。
第1および第2FIFOバッファは、単一FIFOバッファの一部であってもよい。コントローラは、単一FIFOバッファ内の第1および第2FIFOバッファの長さを動的に制御するように動作可能であってもよい。
単一FIFOバッファは、分離した物理的なユニットに分配されてもよいが、論理的には単一のバッファとして機能する。上記のほかの各種のメモリおよびバッファについても、当然同様のことが言える。
コントローラは、スクリーニングを通過させると決定したメッセージについて、所定の応答メッセージを送信するように動作可能であってもよい。これにより、例えばメッセージがプロセッサにより処理される前に、応答が即座に出されてもよい。
装置は、プロセッサを備えてもよい。コントローラは、プロセッサに、メッセージの受信開始を知らせるように動作可能であってもよく、プロセッサは、受信開始を知らせる信号に応じて、受信中の少なくとも部分的にメッセージに対する応答を準備するように動作可能であってもよい。これにより、例えばアプリケーションに応じて数msまたは数十msであるメッセージを受信中の時間が、応答を準備するプロセッサにより有効に使用されてもよい。応答は、例えば応答メッセージ、または応答信号の出力のようなほかの応答であってもよい。コントローラは、受信中の初期に(受信の開始であってもよい)、そのメッセージをプロセッサに送るべきか決定するように動作可能であってもよく、それによりプロセッサは特定の(例えば重要な)メッセージに対する信号を受信するのみである。
コントローラは、ハードウエアとして実現される。
本態様は、装置を備えるマイクロコントローラにも、マイクロコントローラを備える設備にも、拡大される。このような設備は、例えば、産業用ロボットであってもよい。
本発明の第2の態様の実施形態によれば、受信したメッセージを取り扱う方法が提供され、この方法は、受信中に、オンザフライで部分ごとに受信メッセージを解釈およびスクリーニングし、スクリーニングを通過させると決定された受信メッセージを処理のためにプロセッサに提供する。
装置の態様の特徴は、方法の態様にも適用され、逆も同様である。
図1は、本発明を具体化したシステムの概略図である。 図2は、図1のシステムの各部分を表す概略図である。 図3は、図1のシステムにより実行される方法のフローチャートである。 図4は、本発明を具体化した別のシステムの概略図である。 図5は、図4のシステムで図2の各部に対応する部分を表す概略図である。
付属の図面は、例としてのみ参照される。
本発明の実施形態が、柔軟な(フレキシブルな)フィルタ機構を提供するものとして一般的に説明される。入ってきたメッセージまたはその片は、ユーザー定義の値と比較される。フィルタ一致に応じて、入ってきたメッセージは、廃棄又は受け付けられ、入ってきたメッセージは高優先度メッセージとして特定され、専用受信バッファに送られ、そして用意された又はあらかじめ設けられた又は記憶されたメッセージの自動送信が引き起こされる。本発明の実施形態は、効率的で、フレキシブルで、低コストで実施可能であると考えられる。
1つの実施形態では、メッセージの例示の形式として入ってきたイーサネット(商標名)メッセージが、(取り扱われるという意味で)CPUの介在無しに、予備選択および処理される。いずれ明らかになるように、本発明の実施形態は、イーサネット(商標名)ネットワークから到着したメッセージのフレキシブルな変更可能な取扱を可能にする。フィルタ機構は、高ネットワーク(ネットワークバス)負荷の下でも、高優先度メッセージを特定してこれらのメッセージの受信および記憶を保証する。
一般的に、通信ネットワークは、いくつかのノードを備え、それぞれの間でデータパケットを交換する。バス・トポロジー・ネットワークでは、各ノードは、意図された送り先アドレスにかかわらず、典型的にはすべての送信されたメッセージを受信可能である。
このようなネットワークの1つの短所は、単一ノードの過負荷の危険の可能性である。受信ノードは、一般に入ってきたメッセージを処理すべきか、それとも他のノード向けなので廃棄できるかをチェックする必要がある。もしこれらのチェックがソフトウエアで実行されるならば、そのノードで実行するほかのアプリケーションに利用できるCPUの演算容量が、メッセージの取扱のために確保されなければならない。高ネットワーク負荷の下で、メッセージは、バッファのオーバーフローのために失われることが起こり得る。例えば、CPUは受信したメッセージを十分に高速で取り扱うことができないことになる。
CPUの負荷を低減することが望まれており、本発明の実施形態は、入ってきたメッセージをハードウエアで選択する(予備処理すなわち取り扱う)ことによりこの要望を実現する。更に、本発明の実施形態は、比較ストリングスの長さの点でフレキシブルであり、このような比較ストリングスと比較するメッセージの部分の位置においてもフレキシブルであり、低コストで実現できる解決策を提供する。
図1は、本発明を具体化したシステム1の概略図である。システム1は、例えば、イーサネット(商標名)ネットワーク上のノードとして働くことが意図されたマイクロコントローラの一部であってもよい。しかしながら、システム1は、例えばASIC(Application-Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)またはスタンドアロンMAC(Media Access Controller)などのほかのデバイスの一部であってもよい。システム1は、イーサネット(商標名)ネットワーク以外のほかの形式のネットワーク、例えば論理バストポロジーを有するどのようなネットワーク上のノードの一部を形成することが意図されていてもよい。
システム1は、プロセッサ、すなわちCPU2と、メディアアクセスコントローラ(MAC)4と、ランダム・アクセス・メモリ(RAM)のようなメモリ6と、バス接続のような内部接続8と、ネットワークに接続される外部ターミナル又はその類似のもの10と、を備える。
コントローラ4は、使用時には、ターミナル10を介してネットワークに直接的又は間接的に接続され、ネットワークから入ってきたメッセージを受信する。ネットワークは、例えば、WLANのようなLAN、またはインターネットのような広域ネットワークの一部であってもよい。このようなメッセージは、例えば、データ部分、およびヘッダ、フッター、プレアンブルなどの関係する管理情報を備える情報のパケットまたはフレームであると考えられる。メッセージの1つの例示の形式であるイーサネット(商標名)フレームの構造に関する情報は、IEEE802.3仕様書(http://standards.ieee.org/getieee802)で見つけることができる。公知のように、IEEE802.3は、有線イーサネット(商標名)の物理レイヤーとデータ・リンク・レイヤーのメディア・アクセス・コントロール(MAC)サブレイヤーを定義するIEEE基準の集合である。
コントローラ4は、図1に示すのと同様の比較器として実現されるフィルタ12を備える。フィルタ12自体は、ネットワークからのメッセージを受信するコントローラ内に、その一部分(受信ユニット)の近くに配置される。
メモリ6は、内部接続8を介してコントローラ4に接続される。使用に際して、またはユーザによるセットアップに従って、または製造中に、マスクストリングと比較ストリングが、メモリ6内に記憶される。使用中、入ってきた(および出て行く)メッセージも、メモリ6に記憶される。例えば、メモリ6は、例えばシステム1を有するマイクロコントローラのようなより大きなデバイスの一般的なシステムメモリであってもよい。
システム1は、以下の原理に従って動作するように構成される。
メッセージは、バイトのストリングと見なすことができる。それ以上の取扱(例えばプロセッサ2によるソフトウエア処理)のためにメッセージを選択するか、または不適切としてメッセージを拒絶するために、メッセージのバイトストリングまたはその片は、ユーザ定義のストリングと比較される。これらのユーザ定義のストリング(テストストリング)は、(メモリ6のような)システムメモリに記憶され、任意の位置と長さを有している。記述(ディスクリプタ:descriptor)テーブルも、メモリ6に記憶され、記憶された各ストリングの開始アドレスおよびバイト数についての情報を詳細に表している。
(同様にユーザにより定義される)マスクストリングも、同様の方法で任意に記憶されるようにしてもよい。このようなマスクストリングは、入ってきたメッセージのどの片が、ユーザ定義のストリングと比較されるかを規定する。1つのマスクストリングが、いくつかのテストストリングに割り当てられるか、逆に1つのテストストリングがいくつかのマスクストリングに割り当てられてもよい。このような組合せは、記述テーブルに詳細が記されてもよい。他の実施形態では、このような組合せの使用を実現するためにレジスタが採用され、例えば1つのマスクストリングが、いくつかのテストストリングに割り当てられてもよい。このようなテストストリングは、比較ストリングと呼ばれる。
入ってきたメッセージは数百バイト(例えば1500バイト)で構成されてもよく、比較ストリングの長さはこの実施形態ではフレキシブルであるから、システム1は、(むしろメッセージとストリングの比較ブロックにより)メッセージの受信中に、メッセージとストリングの比較を(スクリーニング機能として)、オンザフライ(on the fly)で部分ごとに(例えばチャンクバイチャンク(chunk-by-chunk)で)順番に実行するように構成されている。これにより、システム資源(メモリ、バッファなど)が節約され、低コストでの実現を可能にする。
図2は、システム1の各部分を表す概略図である。
メモリ6は、記述テーブル20を有するように示されており、1番目からi番目のマスクストリング22から22および1番目からn番目のマスクストリング24から24がテーブルに記憶されている。コントローラ4は、FIFOバッファ30、マスクストリングバッファ32および比較ストリングバッファ34により実現された比較器機能を有するように示されている。図2から、入ってきたまたは受信したメッセージは、オンザフライで、ネットワークから外部ターミナルを介してFIFOバッファ30を通って、受信(RX)バッファ36に渡されるようにすることが好ましい。受信バッファ36は、メモリ6の一部であってもよい。
メッセージ部分またはあるサイズのチャンク(例えば、システム1のデータバス幅)の受信後、比較またはスクリーニングサイクルが開始されてもよい。システム1では、コントローラ4の一部である比較器ステートマシーン(図示せず)が1番目の比較ストリングの等しいサイズの部分を、そしてもし適用可能であれば、メモリ6からの関係するマスクストリングの対応部分を、フェッチする。メッセージ、比較ストリングおよびマスクストリングの部分は、互いに同じサイズである必要はないことが好ましい。これらのバイトストリングの位置および長さに関する情報は、比較器ステートマシーンによりアクセスされる記述テーブル内に記憶されている。
フェッチが完了した後、比較ステップが、図2において一方向を示す矢印で示されるように実行される。もし比較ストリングのこの部分の比較結果が一致しなければ、この特定の比較ストリングを使用した更なる比較は不要であると考えられ、したがってこの比較ストリングは更なる処理から除外されてもよい。
フェッチ/比較サイクルは、(それぞれの時点でマスクストリングの対応部分を任意に採用して)記述テーブル内の、または記述テーブルの一部内でリストに入れられた各比較ストリングについて、繰り返される。入ってきたメッセージの部分当たりで採用される比較およびマスクストリングの最大数は、メモリ転送(ストリング部分のフェッチ)のバンド幅および入ってきたメッセージのデータレートに依存する。例えば、オンザフライでスクリーニングを実行する時、受信FIFOバッファが更なるメッセージデータの挿入を可能にするためにクリアされなければならない前に、すべてのストリングの比較が完了されなければならない。
比較ストリングの全体の一致/不一致結果は、そのストリングが不一致のために除外されるか、またはそのストリングが最後まで比較が成功してそのストリングが一致したとなるか、のいずれかの後に決定される。
図3は、システム1により実行される方法のフローチャートである。方法40は、ステップ42から66を備える。
ステップ42において、メッセージの一部(あるバイト数)が受信され、ここではXバイトが受信される。方法は次にステップ44に進み、そこでは変数Jは値“1”に初期化される。次のステップ46では、比較ストリングJが比較プロセスから除外されているかの判定が行われる。もしストリングJが除外されていれば(すなわちステップ46で“YES”の場合)、方法は後で説明するステップ58に進む。もしストリングJが除外されていなければ(すなわちステップ46で“NO”の場合)、方法はステップ48に進む。
ステップ48では、受信したメッセージの部分に対応する比較ストリングJの部分が、例えばメモリ6からフェッチされる。次の任意に設けられるステップ50では、(受信したメッセージの部分および比較ストリングのフェッチした部分に対応する)マスクストリングの部分も、例えばメモリ6からフェッチされる。マスクストリングは、比較ストリングJに割り当てられたマスクストリングであっても、他の比較ストリングであってもよい。
ステップ52では、フェッチしたストリング部分とメッセージの受信した部分の比較が実行される。次のステップ54では、比較結果が一致または不一致であるかが決定される。
もし一致が見つからなければ(ステップ54で“NO”の場合)、方法はステップ56に進み、ストリングJが更なる処理から除外される。その場合、次に、方法はステップ58に進み、変数Jの値が増加される。
しかしながら、もし一致が見つかれば(ステップ54で“YES”の場合)、方法はステップ60に進み、ストリングJの終端まで達したか、すなわちステップ48でフェッチした部分がそのストリングの最後の部分であるかが判定される。もしストリングJの終端まで達していれば(ステップ60の“YES”の場合)、方法はステップ62に進み、ストリングJも一致が見つかったことが記録される。ステップ62は、一致がストリングJのすべての部分で見つかった場合のみ到達することが望ましい。次に、方法はステップ56に進み、比較ストリングJは、(十分に比較されたので)更なる比較から除外され、ステップ58に進んで、変数Jの値が増加される。ストリングJの終端に達していなければ(ステップ60で“NO”の場合)、方法はステップ58に進み、再び変数Jの値が増加される。
ステップ58から、方法はステップ64に進み、変数Jの値がNに等しいか判定され、ここでNは比較される比較ストリングの個数である。もしJがNに等しくなければ(ステップ64で“NO”の場合)、方法はステップ46に戻る。このように、メッセージの受信部分のそれぞれについて、除外されないそれぞれの比較ストリング(および任意でマスクストリングも)の対応部分が、メッセージ部分と比較される。もしJがNに等しければ(ステップ64で”YES“の場合)、すべての除外されていない比較ストリングのメッセージに対応する部分の現在受信している部分について、フェッチして比較し、次に方法はステップ66に進む。
ステップ66は、受信したメッセージの終端に達したか、すなわちステップ42で受信されたメッセージの部分がメッセージの最終部分であるかが判断される。もし受信したメッセージの終端に達した場合(ステップ66で“NO”の場合)は、方法はステップ42に戻る。このようにして、上記の方法は、受信されるのに応じて(すなわちオンザフライで)、メッセージの終端に達するまで、メッセージの受信部分のそれぞれについて繰り返される。もし、メッセージの終端に達した場合(ステップ66で“YES”の場合)には、方法は終了する。もちろん、方法は受信したメッセージのそれぞれに対して繰り返されてもよい。
方法40は、比較器アルゴリズムと考えられてもよく、ハードウエアの形で、例えばステートマシンにより実現されてもよい。このようなステートマシンは、受信したメッセージ(フレーム)内の位置を追跡するためのバイトカウンタを有してもよい。テストストリング/マスクストリングの割り当ての構成は、レジスタに記憶されてもよい。
上記に例として述べたように、比較結果は、CPU負荷を低減するために、メッセージの予備選択またはプレ処理に使用可能である。例えば、システム1は、比較一致のメッセージのみを(CPUに送るように)受け付けるように構成されてもよい。もちろん、比較ストリングをどのようにセットアップするかに応じて、システム1は、比較不一致のメッセージのみを受けるように構成してもよい。同様に、システム1は、比較一致または比較不一致のメッセージを拒絶するだけであるように構成してもよい。
1つの実施形態では、システム1は、比較一致(または適宜比較不一致)のあらかじめ定義されたメッセージを自動送信するように構成される。本実施形態では、送信はハードウエアにより起動されてもよく、入ってきたメッセージと出て行くメッセージのレイテンシィを非常に短くしてもよい。このような特徴は、高速の実時間応用を実現する場合に特に有利である。
他の実施形態では、システム1は、もしネットワーク上で高バス負荷がある場合に、メッセージが失われる問題にもさらに適用できる。この実施形態では、比較器を有するコントローラ4は、優先度にしたがって、高優先度のメッセージを特定して、そのようなメッセージを確実に受信するように構成される。
図4は、本発明を実現するシステム100の概略図である。システム100は、例えば、イーサネット(商標名)ネットワーク上のノードとして動作することを意図したマイクロコントローラの一部であってもよい。システム100は、システム1に類似していると考えられてもよく、優先度の異なるレベルのメッセージを取り扱うという特徴を有する。
システム100は、プロセッサすなわちCPU102(図示せず)と、メディアアクセスコントローラ(MAC)104と、ランダム・アクセス・メモリ(RAM)のようなメモリ106と、バス接続のような内部接続108と、(そこからメッセージを受信する)ネットワークに接続される外部ターミナル又はその類似のもの110と、比較器112と、FIFOバッファ130と、別のFIFOバッファ140と、決定ユニット150と、を備える。要素102、104、106、108、110、112および130は、それぞれ要素2、4、6、8、10、12および30に類似していると考えられてもよく、重複する説明は省略する。FIFOバッファ140は、受信バッファ36に対応すると考えられてもよく、他の実施形態では、受信バッファ36に加えて設けられてもよい。
一般的に、入ってきたメッセージは、通常はシステム内のまたはメモリ106のような専用RAM内の確保されたメモリエリアに記憶されてもよい。もしネットワークが高負荷の状態で、メッセージが高周波数で受信されるならば、CPU102は、新しいメッセージが到着する速度で受信したメッセージを処理することができない。確保されたメモリエリアは満杯になり、バッファのオーバーフローが発生してもよい。
システム100において、重要情報が失われる危険を低減するため、メモリ106は、第1(高優先度)バッファ152および第2(標準)バッファ154、および(バッファ152、154の管理のための)対応する第1および第2バッファ記述テーブル156、158を有するように配置される。第1バッファ152は、予約され、すなわち重要とみなされるメッセージのために(例えば、排他的に)使用される。第2バッファ154は、他のメッセージに使用される。第1および第2バッファのサイズは、バッファの使用を最適化するために、例えば要求に応じて、動的に制御されてもよい。
図4において、高優先度メッセージを特定するため、前述の比較処理は、例えば、方法40に先行して使用されることが望ましい。例えば、1つ以上の比較ストリングは、高優先度メッセージを検出するのに使用されてもよい。
受信したメッセージが高優先度であると決定される前に、受信したメッセージの1つより多い部分が、比較される必要があることが注目される。したがって、このために、比較処理の間に使用されるFIFOバッファ(図2のFIFOバッファ30参照)は、第2ステージ、すなわち図4で“a”および“b”と記されている2個のFIFOバッファ130および140が設けられるステージに効果的に提供される。
第1ステージのFIFOバッファ130は、その時点でまだ比較されていないか比較されているメッセージチャンクまたはその部分を保持し、第2ステージのFIFOバッファ140は、すでに比較されたかまたはメモリ106に転送されたメッセージチャンクを保持する。一旦メッセージが高優先度であるかないかについての決定がなされると、この場合は比較器112から、信号は決定ユニット150に送られてもよい。その時点で、(オンザフライの)メッセージを第1メッセージバッファ152または第2メッセージバッファ154に送るかが判明し、したがって決定ユニットはこのプロセスに影響するか制御することになる。
FIFOバッファ130のサイズは、システムバスのバンド幅およびテストストリングの最大数、例えば、入ってきたメッセージまたはそのチャンクをどのような速度で比較してシステムメモリ内に転送するかによる。FIFOバッファ130のサイズは、優先度決定が完了する前にバッファされる受信したメッセージの量に影響する。1つの実施形態では、2個のFIFOバッファ130および140は、単一のFIFOバッファの一部として、それぞれの長さを定義するのに使用される2個のポインタと一緒に設ければよい。このようにして、バッファ130および140の長さは、システムの動作を最適化するために、(例えば、ステートマシンにより)動的に制御されてもよい。
したがって、システム100において、使用される高優先度メッセージバッファ152は、標準バッファ154の代わりに、高優先度メッセージを記憶するように選択される。使用するインタラプトは、CPUの高優先度メッセージのような受信を知らせるのに使用されてもよい。
図5は、図2に対応する概略図であるが、図4のシステムに関係する。記述における重複を避けるため、これまで説明した要素は、図5においても同様の参照番号で示される。
FIFOバッファ130および140は、単一の組み合わされたFIFOバッファとして、互いに横に並んで示される。メモリ106は、図4に示した要素に加えて、図2の要素20、22および24を有するように示される。
図1と図2の間および図4と図5の間で、2つの図の一方に示された要素が他方では示されていないのは、記載を簡単にするためである。しかしながら、もちろんそれぞれの場合で2つの図は一緒に考慮されると理解されるべきである。
本発明の実施形態は、例えばCPU2のようなプロセッサへの信号を早期にインタラプトできるように、例えばコントローラ4または104のようなコントローラを使用する可能性を有していてもよい。すなわち、コントローラは、メッセージの受信開始をプロセッサに知らせるように動作する。その場合、プロセッサは、そのような信号に応じて、少なくともその受信の間部分的にメッセージに応答する準備を行うように動作可能であってもよい。
このようにして、メッセージが受信される間の時間は、例えばアプリケーションに依存するが数msから数十msの長さであり、プロセッサがそのような応答を準備する上で有効に使用されてもよい。例えば、64バイトのフレーム(メッセージ)は、(システムに応じて)受信に5msから50ms程度の時間を要する。この時間は、例えば実時間のアプリケーションで、プロセッサにより有効に使用されてもよい。
応答は、例えば、応答メッセージまたは応答信号の出力のようなほかの応答であってもよい。コントローラは、応答の早い時期(応答の開始であると考えることができる)で、そのような信号がプロセッサに送られるべきか決定するように動作可能であってもよく、プロセッサはある(例えば重要な)メッセージに対するそのような信号を受けるだけである。
ここに記載した実施形態は、フレキシブルなメッセージのフィルタリングを提供して、入ってきたメッセージのCPUにより処理される数を低減する。このような実施形態は、フレキシブルなフィルタ長、(比較ストリングおよび/またはマスクストリングと)比較される受信メッセージの部分または片のフレキシビリティ、効率的なメモリの使用、選択されるマスク/フィルタ対象の使用、および優先度が付けられたメッセージの効率的な取扱(高バス負荷に起因するメッセージの消失が無い)を、コストの点で効率的な方法で可能にする。
ステートメント1:主処理ユニットでの応答の必要無しに、通信ネットワークから受信したメッセージをフィルタする方法が開示されている。ビットストリームが受信される間、メッセージは比較ビットストリームおよびマスクビットストリームと比較される。結果が一致するまで、所定のビット数は比較されず、メッセージビットストリーム、比較ビットストリームおよびマスクビットストリームの終了にはならず、比較は継続する。
ステートメント2:比較およびマスクのストリングサイズが利用可能なメモリサイズによってのみ制限され、メッセージの固定片の代わりに完全なメッセージストリングをカバーできる方法(ステートメント1を参照)が開示されている。
ステートメント3:比較ビットストリームおよびマスクビットストリームが、固定メモリバッファの代わりにシステムメモリから得られる方法(ステートメント1を参照)が開示されている。この方法は、メモリ資源のフレキシブルな割り当てを可能にする。
ステートメント4:信号が、比較ビットストリームまたはマスクビットストリームがシステムメモリから得られたことを示し、メッセージ転送のバス参加者に通常割り当てられるよりも、システムメモリのアービトレーションにおける比較方法の一時的なより高い優先度を可能にする。
ステートメント5:比較の完了で、
・一致の場合のメッセージのシステムへの送信、
・不一致の場合のメッセージのシステムへの送信、
・一致の場合のメッセージの無視、
・不一致の場合のメッセージの無視、
・一致の場合のシステムメモリから通信ネットワークへの所定のメッセージの送信、
・不一致の場合のシステムメモリから通信ネットワークへの所定のメッセージの送信、または
・一致の場合の標準バッファの代わりの専用メモリへのメッセージの送信、のうちの1つ以上のユーザ定義の動作が引き起こされる方法(ステートメント1を参照)が開示されている。
ステートメント6:入ってきたビットストリームは、入ってきたメッセージが高優先度であると決定されるまで、小さなFIFO内に記憶される、優先度を有するメッセージの特別な取扱方法が開示されている。高優先度の場合、FIFO内容は高優先度メッセージのために予約された所定のバッファ位置に送信され、所定のインタラプトが発生される。高優先度でない場合、メッセージは標準のバッファ位置に送信され、標準の優先度のインタラプトが発生される。
以下、実施形態に関し、更に以下の付記を開示する。
(付記1)
受信したメッセージを取り扱う装置であって、
プロセッサの代わりに、受信中に、オンザフライで部分ごとに受信メッセージを解釈およびスクリーニングするように動作し、前記スクリーニングを通過させると決定された受信メッセージを、処理のために前記プロセッサに提供する通信インターフェース・コントローラを備える装置。
(付記2)
前記プロセッサを備える付記1記載の装置。
(付記3)
受信したメッセージのそれぞれについて、前記コントローラは、前記スクリーニング中に、前記メッセージのユーザが選択したビットを、テストストリングの対応するビットと比較し、前記メッセージが前記比較に基づいて前記スクリーニングを通過させるか決定する付記1または2記載の装置。
(付記4)
前記比較を実行する時、前記コントローラは、前記テストストリングと共にマスクストリングを使用して、前記比較からの前記テストストリングの特定のビットをマスクするように動作する付記3記載の装置。
(付記5)
前記コントローラは、1つ以上の前記テストストリングおよび/または前記マスクストリングを記憶する第1メモリを備える付記3または4記載の装置。
(付記6)
ユーザが前記第1メモリ内に所望のストリングを記憶させることができる付記5記載の装置。
(付記7)
前記コントローラは、前記記憶されたテストリングに対応し、前記第1メモリに記憶された前記テストリングを参照するための構成セットアップを記憶する第2メモリを備える付記5または6記載の装置。
(付記8)
前記第1および第2メモリは、同一メモリの一部である付記7記載の装置。
(付記9)
前記コントローラは、前記スクリーニングを実行するために、記憶された前記構成セットアップを使用して、前記第1メモリから前記記憶された対応するテストリングを取り出すように構成されている付記7または8記載の装置。
(付記10)
前記コントローラは、記憶された前記テストストリングおよび/または前記マスクストリングのいずれの組を、受信したメッセージと比較するかを決定するため、記憶された前記構成セットアップを使用するように構成されている付記7から9のいずれか記載の装置。
(付記11)
ユーザが所望のストリングを前記第1メモリに、対応する構成セットアップを前記第2メモリに記憶可能に構成されており、前記コントローラは、前記受信したメッセージの所望のビットを、1つ以上の所望の前記テストストリングおよび/または前記マスクストリングと比較する付記7から10のいずれか記載の装置。
(付記12)
前記コントローラは、受信したメッセージのそれぞれについて、一連のステージで前記比較を実行し、各ステージは、受信したメッセージの一部を前記テストストリングおよび/または前記マスクストリングの対応部分と比較することを備える付記3から11のいずれか記載の装置。
(付記13)
前記コントローラは、FIFOバッファを備え、関係するメッセージの受信の間前記ステージの処理を順番に実行するように構成され、連続したステージは特定の受信したメッセージのそれぞれの部分に対して前記FIFOバッファ内に連続して受信するように動作する付記12記載の装置。
(付記14)
付記12および13のうちの付記7を引用する装置であって、前記コントローラは、前記ステージのぞれぞれで、前記記憶した構成セットアップにより指示された通りに、関係する受信したメッセージの前記部分を、記憶した前記テストストリングおよび/または前記マスクストリングのそれぞれ、または前記テストストリングおよび/または前記マスクストリングの組のそれぞれの対応部分と比較するように構成されている装置。
(付記15)
前記コントローラは、前記スクリーニングに応じて、受信したメッセージが第1優先度のものであるか、第2優先度のものであるか、を決定するように動作し、前記第1優先度は前記第2優先度より優先度が高い付記1から14のいずれか記載の装置。
(付記16)
前記コントローラは、第1および第2メッセージバッファを備え、前記第1優先度を有すると決定されたメッセージを前記第1メッセージバッファに、前記第2優先度を有すると決定されたメッセージを前記第2メッセージバッファに、記憶するように構成され、前記第1バッファは前記第1優先度のメッセージ用に予約されている付記15記載の装置。
(付記17)
前記コントローラは、前記第1優先度のメッセージの受信を、前記プロセッサに知らせるように構成されている付記15または16記載の装置。
(付記18)
付記15から17のいずれかのうち付記13を引用する装置であって、前記FIFOバッファは、第1FIFOバッファであり、前記コントローラは、関係する前記メッセージが第1優先度のものであるかまたは第2優先度のものであるの決定が完了する間、特定の受信したメッセージのスクリーニングされる部分を保持する第2FIFOバッファを有し、前記スクリーニングされる部分は、前記第1FIFOバッファに保持されている間前記比較に使用される装置。
(付記19)
前記第1および第2FIFOバッファは、単一FIFOバッファの一部であり、前記コントローラは、前記単一FIFOバッファ内の前記第1および第2FIFOバッファの長さを動的に制御するように構成されている付記18記載の装置。
(付記20)
前記コントローラは、前記スクリーニングを通過させると決定したメッセージについて、所定の応答メッセージを送信する付記1から19のいずれか記載の装置。
(付記21)
前記プロセッサを備え、
前記コントローラは、前記プロセッサに、前記メッセージの受信開始を知らせるように構成され、
前記プロセッサは、前記受信開始を知らせる信号に応じて、前記受信中の少なくとも部分的に、前記メッセージに対する応答を準備するように構成されている付記1から20のいずれか記載の装置。
(付記22)
前記コントローラは、ハードウエアとして実現されている付記1から21のいずれか記載の装置。
(付記23)
付記1から22のいずれか記載の装置を備えるマイクロコントローラ。
(付記24)
受信したメッセージを取り扱う方法であって、
プロセッサの代わりに、受信中に、オンザフライで部分ごとに受信メッセージを解釈およびスクリーニングし、前記スクリーニングを通過させると決定された受信メッセージを、処理のために前記プロセッサに提供する方法。
2 CPU
4 MAC(media access controller)
6 RAM
12 比較器
20 記述テーブル
22 i番目マスク
24 n番目ストリング
32 マスク
34 比較ストリング

Claims (10)

  1. 受信したメッセージを取り扱う装置であって、
    プロセッサの代わりに、受信中に、オンザフライで部分ごとに受信メッセージを解釈およびスクリーニングするように動作し、前記スクリーニングを通過させると決定された受信メッセージを、処理のために前記プロセッサに提供する通信インターフェース・コントローラを備える装置。
  2. 受信したメッセージのそれぞれについて、前記コントローラは、前記スクリーニング中に、前記メッセージのユーザが選択したビットを、テストストリングの対応するビットと比較し、前記メッセージが前記比較に基づいて前記スクリーニングを通過させるか決定する請求項1記載の装置。
  3. 前記比較を実行する時、前記コントローラは、前記テストストリングと共にマスクストリングを使用して、前記比較からの前記テストストリングの特定のビットをマスクするように動作する請求項2記載の装置。
  4. 前記コントローラは、1つ以上の前記テストストリングおよび/または前記マスクストリングを記憶する第1メモリを備える請求項2または3記載の装置。
  5. 前記コントローラは、前記記憶されたテストリングに対応し、前記第1メモリに記憶された前記テストリングを参照するための構成セットアップを記憶する第2メモリを備える請求項4記載の装置。
  6. 前記コントローラは、前記スクリーニングを実行するために、記憶された前記構成セットアップを使用して、前記第1メモリから前記記憶された対応するテストリングを取り出すように構成されている請求項5記載の装置。
  7. 前記コントローラは、FIFOバッファを備え、関係するメッセージの受信の間前記ステージの処理を順番に実行するように構成され、連続したステージは特定の受信したメッセージのそれぞれの部分に対して前記FIFOバッファ内に連続して受信するように動作する請求項5または6記載の装置。
  8. 前記コントローラは、前記スクリーニングに応じて、受信したメッセージが第1優先度のものであるか、第2優先度のものであるか、を決定するように動作し、前記第1優先度は前記第2優先度より優先度が高い請求項1から7のいずれか記載の装置。
  9. 前記コントローラは、第1および第2メッセージバッファを備え、前記第1優先度を有すると決定されたメッセージを前記第1メッセージバッファに、前記第2優先度を有すると決定されたメッセージを前記第2メッセージバッファに、記憶するように構成され、前記第1バッファは前記第1優先度のメッセージ用に予約されている請求項8記載の装置。
  10. 請求項1から9のいずれか記載の装置を備えるマイクロコントローラ。
JP2010264838A 2009-11-30 2010-11-29 メッセージ受信装置およびマイクロコントローラ Expired - Fee Related JP5581995B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09177485.1 2009-11-30
EP09177485A EP2330791B1 (en) 2009-11-30 2009-11-30 Message reception

Publications (2)

Publication Number Publication Date
JP2011120237A true JP2011120237A (ja) 2011-06-16
JP5581995B2 JP5581995B2 (ja) 2014-09-03

Family

ID=42169480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010264838A Expired - Fee Related JP5581995B2 (ja) 2009-11-30 2010-11-29 メッセージ受信装置およびマイクロコントローラ

Country Status (3)

Country Link
US (1) US8682996B2 (ja)
EP (1) EP2330791B1 (ja)
JP (1) JP5581995B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240017005A (ko) * 2021-06-01 2024-02-06 리페어리파이, 인크. 원격 차량 통신 필터링

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000183966A (ja) * 1998-12-15 2000-06-30 Hitachi Cable Ltd Lanシステムにおけるスイッチの優先度付パケット転送方式
JP2007512770A (ja) * 2003-11-25 2007-05-17 フリースケール セミコンダクター インコーポレイテッド 逆パターン・マッチングを用いたネットワーク・メッセージ処理

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280498A (en) 1989-06-29 1994-01-18 Symbol Technologies, Inc. Packet data communication system
US5305321A (en) 1992-02-24 1994-04-19 Advanced Micro Devices Ethernet media access controller with external address detection interface and associated method
US5343471A (en) 1992-05-11 1994-08-30 Hughes Aircraft Company Address filter for a transparent bridge interconnecting local area networks
US5299313A (en) 1992-07-28 1994-03-29 3Com Corporation Network interface with host independent buffer management
US5473607A (en) * 1993-08-09 1995-12-05 Grand Junction Networks, Inc. Packet filtering for data networks
US5983275A (en) 1994-05-04 1999-11-09 Cirrus Logic, Inc. Apparatus for and method of providing interrupts to a host processor in a frame receiving system
CN1127829C (zh) 1996-03-08 2003-11-12 西门子公司 从第一装置到至少一个第二装置在以太网内传输可预先确定优先分类级的数据包的方法
FI103455B1 (fi) 1996-10-08 1999-06-30 Nokia Telecommunications Oy Pakettiverkon reititin
US6658480B2 (en) 1997-10-14 2003-12-02 Alacritech, Inc. Intelligent network interface system and method for accelerated protocol processing
CA2223193A1 (en) 1997-12-01 1999-06-01 Newbridge Networks Corporation Adaptive buffering allocation under multiple quality of service
US6938040B2 (en) 1998-04-28 2005-08-30 International Business Machines Corporation Pattern matching in communications network where first memory stores set of patterns, and second memory stores mask data identifying patterns in the first memory
US6363069B1 (en) 1998-06-30 2002-03-26 At&T Corp. Complete packet discarding
US6381648B1 (en) 1999-05-06 2002-04-30 International Business Machines Corporation Method and apparatus for filtering ethernet frames
US6535514B1 (en) 1999-06-11 2003-03-18 Netsilicon, Inc. Method and apparatus for fast processing of selected packetized data requests
US6732254B1 (en) * 1999-09-15 2004-05-04 Koninklijke Philips Electronics N.V. Can device featuring advanced can filtering and message acceptance
US6570884B1 (en) * 1999-11-05 2003-05-27 3Com Corporation Receive filtering for communication interface
US6662247B1 (en) 1999-11-30 2003-12-09 Rockwell Automation Technologies, Inc. Protocol for extended data transfer in scan-based industrial controller I/O system
US6327625B1 (en) * 1999-11-30 2001-12-04 3Com Corporation FIFO-based network interface supporting out-of-order processing
US7013482B1 (en) * 2000-07-07 2006-03-14 802 Systems Llc Methods for packet filtering including packet invalidation if packet validity determination not timely made
US6753873B2 (en) 2001-01-31 2004-06-22 General Electric Company Shared memory control between detector framing node and processor
US20040153583A1 (en) * 2001-09-20 2004-08-05 Bartling James E. Serial communication device with dynamic allocation of acceptance masks using serial implementation
DE60314935T2 (de) * 2002-04-16 2007-12-20 Robert Bosch Gmbh Verfahren und Einheit zur Bitstromdekodierung
AU2003299960A1 (en) * 2002-12-20 2004-07-22 Metanetworks Inc. Packet inspection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000183966A (ja) * 1998-12-15 2000-06-30 Hitachi Cable Ltd Lanシステムにおけるスイッチの優先度付パケット転送方式
JP2007512770A (ja) * 2003-11-25 2007-05-17 フリースケール セミコンダクター インコーポレイテッド 逆パターン・マッチングを用いたネットワーク・メッセージ処理

Also Published As

Publication number Publication date
US20110131284A1 (en) 2011-06-02
EP2330791B1 (en) 2012-10-17
EP2330791A1 (en) 2011-06-08
JP5581995B2 (ja) 2014-09-03
US8682996B2 (en) 2014-03-25

Similar Documents

Publication Publication Date Title
RU2487483C2 (ru) Способ и фильтрующее устройство для фильтрации сообщений, поступающих абоненту коммуникационной сети по последовательной шине данных этой сети
US8908693B2 (en) Flow key lookup involving multiple simultaneous cam operations to identify hash values in a hash bucket
US8799507B2 (en) Longest prefix match searches with variable numbers of prefixes
US20050276230A1 (en) Communication statistic information collection apparatus
US6721800B1 (en) System using weighted next hop option in routing table to include probability of routing a packet for providing equal cost multipath forwarding packets
US8555374B2 (en) High performance packet processing using a general purpose processor
CN101291194B (zh) 报文保序的方法和系统
JP2002524005A (ja) 通信を高速化するインテリジェントネットワークインタフェース装置及びシステム
US10708272B1 (en) Optimized hash-based ACL lookup offload
JP2002538725A (ja) 初期のランダムなパケット廃棄方法および装置
JP2002541732A5 (ja)
JP2002538726A (ja) 高性能ネットワークインターフェースを有するダイナミックパケットバッチングのための方法および装置。
JP2002541732A (ja) バルクデータトランスファのためのサービスアジャストメントの自動検出方法
US6252872B1 (en) Data packet filter using contents addressable memory (CAM) and method
WO2021121386A1 (zh) 一种数据传输方法及相关设备
US7403526B1 (en) Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
US7124231B1 (en) Split transaction reordering circuit
TW200525954A (en) Network message processing using inverse pattern matching
US8990422B1 (en) TCP segmentation offload (TSO) using a hybrid approach of manipulating memory pointers and actual packet data
US7984235B2 (en) Reducing content addressable memory (CAM) power consumption counters
US9143448B1 (en) Methods for reassembling fragmented data units
US7245615B1 (en) Multi-link protocol reassembly assist in a parallel 1-D systolic array system
JP5581995B2 (ja) メッセージ受信装置およびマイクロコントローラ
US9559857B2 (en) Preprocessing unit for network data
KR100864889B1 (ko) Tcp 상태 기반 패킷 필터 장치 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140617

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140630

R150 Certificate of patent or registration of utility model

Ref document number: 5581995

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees