(57)【要約】【課題】オートメーション分野等の制御システムにイーサネット（登録商標）やＴＣＰ／ＩＰの技術を適用可能とすべく、リアルタイム性を容易に確保することができるパケット中継装置及び半導体チップを提供する。【解決手段】パケット中継装置１０１は、現在時刻を刻むタイマ１４１を持ち、候補となり得る宛先ノードまでの予測到達時間を予め計測して到達時間テーブル１４２に保持しておく。時刻情報を含んだパケットを受信した際には、送信キュー制御及び時間計算部１３１は、現在時刻とパケットに含まれる時刻情報と予測到達時間とから許容時間を計算し、許容時間少ないパケットを優先する。更に、送信キュー制御及び時間計算部１３１は、現在時刻とパケットに含まれる時刻情報と予測到達時間と他パケットの送信に要する時間とから許容時間を計算し、時間的な違反を認識すれば、パケットバッファ制御及び例外パケット処理部１２１はそれに対応する例外パケットを送信する。【選択図】図１
2008109534.tif 000002
【特許請求の範囲】
【請求項１】
パケットを送受信する複数のポートと、
現在時刻、前記パケットに含まれる時刻情報、及び宛先ノードまでの予測到達時間に基づいて、送信パケットの優先順を決定する優先順位判定部と、
前記現在時刻、前記パケットに含まれる時刻情報、前記宛先ノードまでの予測到達時間、及び他パケットの予測送信時間に基づいて、時間的に許容可能か否かを判定する到達可能判定部とを備えたことを特徴とするパケット中継装置。
【請求項２】
請求項１記載のパケット中継装置において、
前記到達可能判定部の判定結果に基づいて、時間的に違反を認識したパケットに対応する例外パケットを送信する例外パケット生成部を備えたことを特徴とするパケット中継装置。
【請求項３】
パケットの中継処理を行う半導体チップであって、
パケットを送受信するインタフェースと、
現在時刻、前記パケットに含まれる時刻情報、及び宛先ノードまでの予測到達時間に基づいて、送信パケットの優先順を決定する優先順位判定回路と、
前記現在時刻、前記パケットに含まれる時刻情報、前記宛先ノードまでの予測到達時間、及び他パケットの予測送信時間に基づいて、時間的に許容可能か否かを判定する到達可能判定回路とを備えたことを特徴とする半導体チップ。
【請求項４】
請求項３記載の半導体チップにおいて、
前記到達可能判定回路の判定結果に基づいて、時間的に違反を認識したパケットに対応する例外パケットを送信する例外パケット生成回路を備えたことを特徴とする半導体チップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおいて、各ノードが時刻情報を含むパケットを送受信する場合にリアルタイム性の確保を支援可能とするスイッチやルータ等のパケット中継装置、及びその中枢部品となる半導体チップに関するものである。
【背景技術】
【０００２】
今般、多くのパソコンがイーサネット（登録商標）のインタフェースと機能を備え、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）の機能を備えており、多くのホームやオフィスにイーサネット（登録商標）を用いたディジタルネットワークが構築されている。そして、パソコンはホームＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やイントラネットを介してインターネットに接続され、ユーザはインターネット上の各種サービスを享受している。
【０００３】
ケーブルや機器が安価且つ高信頼であり、また開発環境の構築が容易である等の理由から、情報分野に普及しているイーサネット（登録商標）やＴＣＰ／ＩＰは、更にホームオートメーション、ビルオートメーション、ファクトリーオートメーション、プロセスオートメーション、インダストリアルオートメーションの分野に、そのフィールドネットワークの方式として適用されつつある。
【０００４】
それらオートメーション分野の通信においては、ある制御ノードから制御データを送出した場合に、その制御データが被制御ノードへと早急に到達し、被制御ノードにおいて時間的に正しく処理されること、すなわちリアルタイム性の確保が重要である。
【０００５】
ＴＣＰ／ＩＰ技術のうちＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）及びＩＰを用いて、タイムスタンプ（時刻情報）をパケット（本明細書中では特に断りが無い限りイーサネット（登録商標）フレームを含めてパケットと称する）に含めて送出する方式として、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）がある。ＲＴＰについては非特許文献１が詳しい。また、時刻情報を含んだパケットを各パケットに対応した品質に応じて廃棄する方式として、特許文献１がある。
【特許文献１】特開２００１−１８６１７０号公報
【非特許文献１】「マスタリングＴＣＰ／ＩＰ  ＲＴＰ編」、著者：Ｃｏｌｉｎ  Ｐｅｒｋｉｎｓ、監訳者：小川晃通、発行所：株式会社オーム社、２００４年４月１５日
【発明の開示】
【発明が解決しようとする課題】
【０００６】
イーサネット（登録商標）やＴＣＰ／ＩＰを用いたネットワークの多くが、ベストエフォート型、品質非保証型、ｅｎｄ−ｔｏ−ｅｎｄ型等と呼ばれるように、ノードからネットワークに送出されるパケットがネットワーク伝送能力を超えた場合には、ネットワーク（中継器）では超過分を廃棄するのみでエラー報告や再送処理等の明示的な対策を行わず、伝送データに対する責任はエンドポイント（発信元ノードや宛先ノード）が担う。
【０００７】
すなわち、ネットワークの混雑状況によって制御データが被制御ノードへと到達するまで大幅に遅延したり、ネットワーク経路上で制御データが廃棄されたりすることが起こり得るため、制御システムのフィールドネットワークとして現状のイーサネット（登録商標）やＴＣＰ／ＩＰの技術をそのまま適用するのは、リアルタイム性の確保から困難である。
【０００８】
そこで、本発明の目的は、一例としてオートメーション分野等の制御システムにイーサネット（登録商標）やＴＣＰ／ＩＰの技術を適用可能とすべく、リアルタイム性を容易に確保することができるパケット中継装置及び半導体チップを提供することにある。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【００１０】
本発明によるパケット中継装置は、パケットを送受信する複数のポートと、現在時刻、パケットに含まれる時刻情報、及び宛先ノードまでの予測到達時間に基づいて、送信パケットの優先順を決定する優先順位判定部と、現在時刻、パケットに含まれる時刻情報、宛先ノードまでの予測到達時間、及び他パケットの予測送信時間に基づいて、時間的に許容可能か否かを判定する到達可能判定部とを備えたものである。
【００１１】
また、本発明による半導体チップは、パケットの中継処理を行う半導体チップであって、パケットを送受信する複数のインタフェースと、現在時刻、パケットに含まれる時刻情報、及び宛先ノードまでの予測到達時間に基づいて、送信パケットの優先順を決定する優先順位判定回路と、現在時刻、パケットに含まれる時刻情報、宛先ノードまでの予測到達時間、及び他パケットの予測送信時間に基づいて、時間的に許容可能か否かを判定する到達可能判定回路とを備えたものである。
【発明の効果】
【００１２】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
【００１３】
本発明によれば、制御データが被制御ノードへと到達するまで大幅に遅延したり、ネットワーク経路上で制御データが廃棄されたりする可能性が低減するため、制御ノードと被制御ノード間のリアルタイム性を確保することが比較的容易となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。尚、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１５】
図１により、本発明の一実施の形態に係るパケット中継装置の構成について説明する。図１は本発明の一実施の形態に係るパケット中継装置の構成を示すブロック図である。
【００１６】
図１において、このパケット中継装置１０１は、外部との接続のために３系統のインタフェース（ポート）を備えた例を表しており、それに対応して、第１のＭＡＣ・ＰＨＹ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ・Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ）１１１（第１のポート）、第２のＭＡＣ・ＰＨＹ１１２（第２のポート）、第３のＭＡＣ・ＰＨＹ１１３（第３のポート）を備えている。
【００１７】
パケット中継装置１０１は、更に、それらポートから入力されるパケットを格納するためのパケットバッファ１２２と、そのバッファを制御し、更に、例外パケットを処理するパケットバッファ制御及び例外パケット処理部１２１を備え、更に、時間情報を考慮しながら入力されたパケットを優先順に並び替える送信キュー制御及び時間計算部１３１と、そのキュー（優先順を示すリスト）を保持する送信キュー１３２を備えている。
【００１８】
パケットバッファ制御及び例外パケット処理部１２１は、例外パケット生成部及び例外パケット生成回路の処理を行い、送信キュー制御及び時間計算部１３１は、優先順位判定部及び優先順位判定回路、到達可能判定部及び到達可能判定回路の処理を行っている。
【００１９】
パケット中継装置１０１は、更に、時刻を刻み続けるタイマ１４１と、候補となり得る宛先ノードまでの予測到達時間を保持する到達時間テーブル１４２と、優先度テーブル１５１を備えている。
【００２０】
パケット中継装置１０１は、各ポートの送信と受信とが並行動作することが可能である。これをパケット１つを受信して送信することに着目してフローを簡単化すると、次のように表せる。
【００２１】
（ステップ１）ＭＡＣ・ＰＨＹ１１１、１１２、１１３は、物理信号から抽出したディジタルデータを認識し、パケットを受信する。
【００２２】
（ステップ２）パケットバッファ制御及び例外パケット処理部１２１は、受信したパケットをパケットバッファ１２２の空いた領域に格納する。
【００２３】
（ステップ３）送信キュー制御及び時間計算部１３１は、優先度テーブル１５１の内容と送信キュー１４２の内容と受信したパケットを照合して、送信する優先順を仮決定する。ここで、時刻情報を含むパケットについては、現在時刻とパケットの時刻情報と予測到達時間とから許容時間の少ないパケットを優先とする。
【００２４】
（ステップ４）更に、送信キュー制御及び時間計算部１３１は、仮決定した優先順のうち、（例外パケットを除いた）時刻情報を含んだパケットについては、現在時刻とパケットの時刻情報と予測到達時間と他パケットの送信に要する時間とから時間的に許容可能か違反かを判定し、時間的に違反を認識したパケットに対して例外パケットの属性を与える。
【００２５】
（ステップ５）更に、送信キュー制御及び時間計算部１３１は、送信する優先順を本決定し、本決定した優先順のパケット属性を送信キュー１３２に格納する。
【００２６】
（ステップ６）パケットを送信可能なＭＡＣ・ＰＨＹ１１、１１２、１１３に対して送信キュー１３２がそれに対応する送信ポートから送信されるべきパケットを保持していれば、パケットバッファ制御及び例外パケット処理部１２１はそのうち優先順が最上位であるパケットをパケットバッファ１２２の格納領域から取り出す。
【００２７】
（ステップ７）取り出したパケットが送信キュー１３２において例外パケットと見なされていれば、更に、パケットバッファ制御及び例外パケット処理部１２１は取り出したパケットを例外パケットへと変換する。
【００２８】
（ステップ８）ＭＡＣ・ＰＨＹ１１１、１１２、１１３は、取り出したパケット或いは変換した例外パケットを物理信号に変換して送信する。
【００２９】
（ステップ９）送信が完了すると、送信キュー制御及び時間計算部１３１は送信キュー１３２からその内容を削除し、またパケットバッファ制御及び例外パケット処理部１２１はパケットバッファ１２２のその格納領域が空であると見なす。
【００３０】
次に、前述した動作を詳細な例を挙げて説明する前に、図２及び図３により、本発明の一実施の形態に係るパケット中継装置の前提とするネットワーク構成及び優先度テーブルが保持する内容等について説明する。図２は本発明の一実施の形態に係るパケット中継装置を用いたネットワーク構成の一例を示す図、図３は本発明の一実施の形態に係るパケット中継装置の優先度テーブルが保持する内容の一例を示す図である。
【００３１】
図２において、パケット中継装置１０１が備える３系統のインタフェースに対して、それぞれ第１のノード２０１、第２のノード２０２、第３のノード２０３が接続されている。
【００３２】
尚、本発明のパケット中継装置を用いたネットワーク構成は、図２に示すような、簡単な構成に限定されるものではない。すなわち、例えば、ノードではなく（更にその先にノードやパケット中継装置を接続しているかもしれない）パケット中継装置を接続することも可能であり、また、３系統に限らずより多くのインタフェースを備えることも可能であり、また、パケット中継装置がノードとしての機能を併せ持つことも可能である。
【００３３】
以降の説明では、パケット中継装置１０１の第１のポート１１１と第１のノード２０１とが、第２のポート１１２と第２のノード２０２とが、第３のポート１１３と第３のノード２０３とが、それぞれ物理接続しているものとする。
【００３４】
また、第１のノード２０１は制御データを送出する発信元ノード（制御ノード）とし、第２のノード２０２はその制御データを受信して処理すべき宛先ノード（被制御ノード）とする。
【００３５】
まず、パケット中継装置１０１と第１のノード２０１と第２のノード２０２は、予め時刻同期をとっておく。パケット中継装置１０１内のタイマ１４１は、その時刻を刻み続ける。
【００３６】
ここで言う時刻同期とは、このネットワークを基盤としてその上位で動作する制御システムにおいて支障の無い範囲の誤差であればその誤差を含んでいてもよく、また、その単位は標準時刻（分や秒等）に限らず、例えば、２７メガヘルツ動作のカウンタ値を用いる等でもよい。
【００３７】
時刻同期をとる代表的な公知の方法として、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，  Ｉｎｃ．）にて策定された、ＩＥＥＥ１５８８  ＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）があり、ここではその方法を適用してもよい。
【００３８】
更に、パケット中継装置１０１は、候補となり得る宛先ノードまでの到達時間を予め計測し、それに基づいた予測到達時間を到達時間テーブル１４２に保持しておく。例えば、パケット中継装置１０１から第２のノード２０２までの到達時間は（パケット中継装置が送信する時間と第２のノード２０２が受信して解釈する時間を含めて）、「２１０」であることを保持しておく。
【００３９】
各ノードへの到達時間の計測方法としては、現在時刻情報を含んだパケットを各ノードに対して送出し、それを各ノードが受信して処理した時刻とパケットが含む時刻情報との差分を各ノードから返してもらえば計測可能である。
【００４０】
そして、随時その計測を行い、最も差分の大きい値を到達時間テーブル１４２が保持し続ければ、上位で動作する制御システムは精度よく（時間的な違反の発生が比較的低い）リアルタイム性を確保可能である。
【００４１】
尚、本発明のパケット中継装置が保持する予測到達時間の計測方法とその値はこれに限定されるものではなく、例えば、到達時間はパケット長についての１次式で表すことがよい場合には、短パケットと長パケットを送出した際のそれぞれの到達時間から導出した１次式を値の代わりに保持してもよい。
【００４２】
また、図３において、優先度テーブル１５１の内容３０１は予め設定しておく。この優先度テーブル１５１の内容３０１が示す意味は、まず、ＴＣＰヘッダやＵＤＰヘッダが含むポート番号が１２３４であるパケットを緊急パケットとして最優先としている（優先度１）。
【００４３】
そして、それに該当したパケットのうち、或いは、それに非該当のパケットのうち、第３のポートから受信したパケットをより優先する（優先度２）。更に、ここまでで同じ優先度であるパケットは、時刻情報を参照して許容時間が少ないパケットを優先する（優先度３）。
【００４４】
最終的に同じ優先度であるパケットについては、入力された順に優先する。この例に限らず、優先度テーブルの内容が示す優先度の判断条件としては、イーサネット（登録商標）フレームのヘッダに付加されるＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）タグやＩＰヘッダが含むサービスタイプ（品質タイプ）やＴＣＰヘッダやＵＤＰヘッダが含むポート番号の、発信元属性或いは宛先属性によって詳細に設定可能であるし、或いは後述する例外パケットであるか否か等も設定可能である。
【００４５】
次に、図４により、本発明の一実施の形態に係るパケット中継装置の送受信パケットと、送信キューが保持する内容の一例について説明する。図４は本発明の一実施の形態に係るパケット中継装置の送受信パケットと、送信キューが保持する内容の一例について説明するための説明図である。
【００４６】
図４において、時刻４０１はタイマ１４１が刻み続ける現在時刻を示し、横軸右方向が時間の経過を表す。
【００４７】
また、第１のポートからの受信４０２は第１のＭＡＣ・ＰＨＹ１１１が物理信号から抽出したディジタルデータを認識して受信するパケットを示し、第３のポートからの受信４０３は第３のＭＡＣ・ＰＨＹ１１３が物理信号から抽出したディジタルデータを認識して受信するパケットを示し、第１のポートへの送信４０４は第１のＭＡＣ・ＰＨＹ１１１が物理信号に変換して送信するパケットを示し、第２のポートへの送信４０５は第２のＭＡＣ・ＰＨＹ１１２が物理信号に変換して送信するパケットを示している。
【００４８】
下段の送信キュー１３２の内容４４１〜４４４は、各時刻において送信キュー１３２が保持している内容を示している。
【００４９】
この例において、パケット中継装置１０１内のパケットバッファ１２２及び送信キュー１３２はそれぞれ時刻７２００の時点では内容を保持していない（空である）ものとしている。
【００５０】
パケット中継装置１０１においては、まず、第１のＭＡＣ・ＰＨＹ１１１が物理信号から抽出したディジタルデータを認識し、第１のノード２０１から送出された第１のパケット４１１を受信している（時刻７２１０〜７３８０）。
【００５１】
また、第３のＭＡＣ・ＰＨＹ１１３が物理信号から抽出したディジタルデータを認識し、第３のノード２０３から送出された第２のパケット４１２を受信している（時刻７２１０〜７３８０）。
【００５２】
それら受信したパケットを、パケットバッファ制御及び例外パケット処理部１２１が、パケットバッファ１２２の空いた領域に格納する。
【００５３】
更に、送信キュー制御及び時間計算部１３１は、優先度テーブル１５１の内容と送信キュー１３２の内容（ここでは空）とそれら受信したパケットを照合して、優先順を決定する。
【００５４】
第２のパケット４１２は第３のポートから受信したパケットであり、優先度テーブル１５１の内容３０１によれば第１のパケット４１１より優先される。よって、第２のパケット４１２の優先順を１、第１のパケット４１１の優先順を２と決定する。
【００５５】
更に、優先順２の第１のパケット４１１については、時刻情報を含んでいるため、送信キュー制御及び時間計算部１３１は、優先順がより上位のパケットの送信に要する時間を導出し、それを用いて許容時間を導出する。優先順がより上位のパケットの送信に要する時間は、図４の例では（ギャップを含めて）パケットに関わらず固定の「１８０」としているが、実際には物理・データリンク接続のリンク速度に基づいたパケット長についての１次式で導出可能である。
【００５６】
図４の例では、（パケットが含む時刻情報）８０５０−（現在時刻）７３８０−（優先順１の送信に要する時間）１８０−（宛先までの予測到達時間）２１０＝（許容時間）２８０となり、この時点では優先順２の第１のパケット４１１は時間的に許容可能であると判断する。
【００５７】
こうして、それら受信パケットの優先度に関係する内容と送信ポートとパケットバッファ１２２の格納領域を、送信キュー制御及び時間計算部１３１は送信キュー１３２に格納する。その時点（時刻７３８０）での送信キュー１３２の内容４４１は、図４に示す通りである。
【００５８】
ここで、送信キュー１３２の優先順１が示す送信ポート（第２のポート）は、パケット送信中ではなく新規パケットを送信可能であるため、パケットバッファ制御及び例外パケット処理部１２１は優先順１が示すパケットバッファ１２２の格納領域からパケット（第２のパケット）を取り出して、第２のＭＡＣ・ＰＨＹ１１２がそのパケットを物理信号に変換して送信する（時刻７３９０〜７５６０）。
【００５９】
第２のパケット４２２の送信が完了すると、送信キュー制御及び時間計算部１３１は送信キュー１３２からその内容を削除し、またパケットバッファ制御及び例外パケット処理部１２１はパケットバッファ１２２のその格納領域が空であると見なす。
【００６０】
また、パケット中継装置１０１は、第１のポートから第３のパケット４１３を受信している（時刻７３９０〜７５６０）。その受信パケットを、前述と同様にパケットバッファ制御及び例外パケット処理部１２１が、パケットバッファ１２２の空いた領域に格納する。
【００６１】
更に、送信キュー制御及び時間計算部１３１は、優先度テーブル１５１の内容と送信キュー１４２の内容とその受信パケットを照合して、優先順を決定する。送信キュー１４２が保持している第１のパケット４１１と受信した第３のパケット４１３は、共にポート番号は１２３４ではなく、また、共に第３のポートから受信したものではなく、共に時刻情報を含んでいるため、時刻情報の比較で優先度が決定される。
【００６２】
第１のパケット４１１については、（パケットが含む時刻情報）８０５０−（現在時刻）７５６０−（宛先までの予測到達時間）２１０＝（許容時間）２８０である。一方、第３のパケット４１３については、（パケットが含む時刻情報）８０００−（現在時刻）７５６０−（宛先までの予測到達時間）２１０＝（許容時間）２３０である。
【００６３】
よって許容時間が少ない第３のパケット４１３の優先順を１、許容時間が多い第１のパケット４１１の優先順を２と決定する。
【００６４】
更に、優先順２の第１のパケット４１１については、時刻情報を含んでいるため、送信キュー制御及び時間計算部１３１は、優先順がより上位のパケットの送信に要する時間を導出し、それを用いて許容時間を導出する。（パケットが含む時刻情報）８０５０−（現在時刻）７５６０−（優先順１の送信に要する時間）１８０−（宛先までの予測到達時間）２１０＝（許容時間）１００となり、この時点では優先順２の第１のパケット４１１は時間的に許容可能であると判断する。
【００６５】
こうして、それら受信パケットの優先度に関係する内容と送信ポートとパケットバッファ１２２の格納領域を、前述と同様に送信キュー制御及び時間計算部１３１は送信キュー１３２に格納・更新する。その時点（時刻７５６０）での送信キュー１３２の内容４４２は、図４に示す通りである。
【００６６】
ここで、第３のパケット４２３を第２のポートから送信し（時刻７５７０〜７７４０）、その送信が完了すると送信キュー１３２やパケットバッファ１２２からその内容を削除することは前述した動作と同様である。
【００６７】
また、パケット中継装置１０１は、第３のポートから第４のパケット４１４を受信している（時刻７４２０〜７５９０）。その受信パケットを、前述と同様にパケットバッファ制御及び例外パケット処理部１２１が、パケットバッファ１２２の空いた領域に格納する。
【００６８】
更に、送信キュー制御及び時間計算部１３１は、優先度テーブル１５１の内容と送信キュー１４２の内容とその受信パケットを照合して、優先順を仮決定する。第３のパケット４２３は既に送信中であり、優先順は変わらない。第４のパケット４１４は第３のポートから受信したパケットであり、第１のパケット４１１より優先される。よって、第４のパケット４１４の優先順を２、第１のパケット４１１の優先順を３と仮決定する。
【００６９】
更に、優先順３の第１のパケット４１１については、時刻情報を含んでいるため、送信キュー制御及び時間計算部１３１は、優先順がより上位のパケットの送信に要する時間を導出し、それを用いて許容時間を導出する。（パケットが含む時刻情報）８０５０−（現在時刻）７５９０−（優先順１の送信に要する残り時間）１５０−（優先順２の送信に要する時間）１８０−（宛先までの予測到達時間）２１０＝（許容時間）−８０となり、許容時間は負数を示しているため、優先順３の第１のパケット４１１はもはや時間的に許容不能（違反）であると判断する。
【００７０】
送信キュー制御及び時間計算部１３１は、時間的に許容不能（違反）であると判断した第１のパケット４１１の属性に、宛先として発信元（第１のノード）に変更して、受信したポート（第１のノード）から送信することを示す例外パケットの属性を与える。そして、既に送信中である第３のパケット４２３と属性を変更する前の第１のパケット４１１を除き、第４のパケット４１４と属性を変更した後の例外パケットとで優先順を本決定する。この例では、第１のパケット４１１の属性を変更しても優先順は変わらず、第４のパケット４１４の優先順を２、例外パケットの優先順を３と本決定する。
【００７１】
こうして、それらパケットの優先度に関係する内容と送信ポートとパケットバッファ１２２の格納領域と与えた例外パケットの属性を、前述と同様に送信キュー制御及び時間計算部１３１は送信キュー１３２に格納・更新する。その時点（時刻７５９０）での送信キュー１３２の内容４４３は、図４に示す通りである。
【００７２】
ここで、送信キュー１３２の優先順３が示す送信ポート（第１のポート）はパケット送信中ではなく新規パケットを送信可能であるため、パケットバッファ制御及び例外パケット処理部１２１は優先順３が示すパケットバッファ１２２の格納領域からパケット（第２のパケット）を取り出す。送信キュー１３２の優先順３が示す例外パケットの属性に従い、パケットバッファ制御及び例外パケット処理部１２１は宛先として発信元（第１のノード）に変更する。
【００７３】
そして、第１のＭＡＣ・ＰＨＹ１１１が変更後の例外パケット４３１を物理信号に変換して送信する（時刻７６００〜７７７０）。例外パケット４３１の送信が完了すると、送信キュー制御及び時間計算部１３１は送信キュー１３２からその内容を削除し、またパケットバッファ制御及び例外パケット処理部１２１はパケットバッファ１２２のその格納領域が空であると見なす。
【００７４】
また、パケット中継装置１０１は、第３のポートから第５のパケット４１５を受信し（時刻７６３０〜７８００）、第３のポートから第６のパケット４１６を受信し（時刻７８４０〜８０１０）、第１のポートから（例外パケット４３１に対して第１のノード２０１が反応した結果の緊急的な）第７のパケット４１７を受信している（時刻７８６０〜８０３０）。パケット中継装置１０１の各部の働きにより、第７のパケットを受信した後（時刻８０３０）での送信キュー１３２の４４４内容は、既に送信中である第５のパケット４２５を含めて、図４に示す通りとなる。
【００７５】
また、第２のポートへの送信４０５としては、第３のパケット４２３の送信完了後、パケット中継装置１０１の各部の働きにより、第４のパケット４２４を送信し（時刻７７５０〜７９２０）、第５のパケット４２５を送信し（時刻７９３０〜８１００）、第７のパケット４２７を送信し（時刻８１１０〜８２８０）、第６のパケット４２６を送信する（時刻８２９０〜８４６０）。
【００７６】
パケット中継装置１０１は、更に第３のポートから第８のパケット４１８を受信し（時刻８０５０〜８２２０）、第３のポートから第９のパケット４１９を受信している（時刻８２６０〜８４３０）。
【００７７】
もし、本実施の形態のパケット中継装置１０１が、時刻情報を含むパケットが時間的に許容可能かどうかを判断しないと仮定したなら、例外パケット４３１を送信することはなく、またそれに反応した結果の第７のパケット４１７を受信することはなく、第７のパケット４２７を送信することはなく、第６のパケットを時刻８１１０〜８２８０に送信することになり、第８のパケットを時刻８２９０〜８４６０に送信することになり、第９のパケットを時刻８４７０〜８６４０に送信することになり、他に受信パケットがなければ第１のパケット４１１をようやく時刻８６５０〜８８２０に送信することになる。
【００７８】
よって、この例では、本来到達すべきであった第１のパケット４１１の時刻情報８０５０に対して、本発明のパケット中継装置１０１によれば第７のパケットとして時刻８２８０に送信完了し、時刻情報を含むパケットが時間的に許容可能かどうかを判断しなければ時刻８８２０に送信完了する。
【００７９】
前者は少なくとも時間２３０の遅延となるのに対して、後者は少なくとも時間７７０の遅延となる。よって、本発明のパケット中継装置１０１によれば、この例では遅延は免れていないものの、リアルタイム性が向上していると言え、制御システムをより保全にする可能性がある。
【００８０】
次に、本発明の一実施の形態に係るパケット中継装置で、時間的に許容不能（違反）であると判断したパケットの扱いについて複数の例を挙げて詳細を説明する。
【００８１】
時間的に許容不能（違反）であると判断したパケットを例外パケットと扱う一例としては、宛先として発信元に変更して、そのパケットを受信したポートから送信する。こうすることにより、発信元ノードはこの例外パケットを受信することになり、自身が以前に送出した制御データがネットワーク経路上で時刻違反となった（となることが予測された）ことを認識可能である。
【００８２】
例えば、発信元ノード（制御ノード）がこれを認識すると、宛先ノード（被制御ノード）と時刻同期して動作しようとしていた自身の動作を中断する。
【００８３】
そして、緊急的に伝える制御データを最優先の緊急パケットとして送出する（前述の図４の例はこれに相当する）。或いは、緊急でなければ、制御データの送出と同期動作の頻度を低下させて再試行してもよい。
【００８４】
この結果、制御データが被制御ノードへと到達するまで大幅に遅延したり、ネットワーク経路上で制御データが廃棄されたりする可能性が低減するため、制御ノードと被制御ノード間のリアルタイム性を確保することが比較的容易となる。
【００８５】
例外パケットの他の例としては、前述の通り宛先として発信元に変更したパケットを発信元ノードに送信することに加え、本来のパケットにネットワーク経路上で時刻違反を認識したことを示す属性を与えて、そのパケットを本来送信するポートから優先順に従って送信する。
【００８６】
こうすることにより、発信元ノードも宛先ノードも、ネットワーク経路上で時刻違反となった（となることが予測された）ことを認識可能である。例えば、発信元ノード（制御ノード）や宛先ノード（被制御ノード）がこれを認識すると、それぞれ時刻同期すべき動作を１回のみ行う。
【００８７】
そして、被制御ノードは制御ノードへと応答パケットを送出し、制御ノードはその到達を待ち、到達した後で制御ノードは次以降の制御データの送出及び同期動作を継続する。これにより、もし制御ノードと被制御ノード間の同期すべき動作として１回以内の乖離が許容される場合は、動作同期違反の可能性は比較的低く、遅延が増加する応答を伴う制御は例外発生時のみ行う、比較的高速な制御が可能となる。
【００８８】
また、前述の通りネットワーク経路上で時刻違反を認識したことを示す属性を与えたパケットを本来送信するポートから優先順に従って送信する場合に、その属性を持ったパケットの優先度を高めに設定しておけば、ネットワーク経路上で時刻違反となった（となることが予測された）事実はあるものの、宛先ノード（被制御ノード）が受信して処理する際に実際に時刻違反する可能性は低減する。
【００８９】
但し、これは、本来のパケットの優先度は低いがそれが時刻違反となった（となることが予測された）場合に例外パケットに変わることで優先度が高くなっているだけで、このままではこのような例外が頻発する可能性があるため、ネットワーク経路上で時刻違反となった（となることが予測された）ことを認識した発信元ノードは制御ノードは制御データの送出と同期動作の頻度を低下させるべきである。
【００９０】
以上の説明の時刻情報を含む例外パケットを本発明のパケット中継装置１０１が受信した場合には、パケット中継装置１０１はそれがもともと例外パケットであることを認識し、改めて例外パケットと見なした処理は行わない（前述のステップ４）ことをここで述べておく。
【００９１】
例外パケットの更なる他の例としては、前述の発信元ノードや宛先ノードに認識させる例に関わらず、ネットワーク伝送能力を超えたこと、或いは発信元ノードと宛先ノードの間の制御データがネットワーク経路上で時刻違反となった（となることが予測された）ことを示すパケットを、他のノードに送信する。
【００９２】
他のノードとは、例えば、このネットワークを基盤としてその上位で動作する制御システムの全体監視ノードや、或いは、発信元ノードと宛先ノードの間の制御データよりも優先度の高いパケットを送出しているノード等である。全体監視ノードがそのような状態を認識して適切な処置を行えば、瞬間的・局所的な違反が制御システム全体に伝播して大被害を招く可能性を低減する。
【００９３】
また、優先度の高いパケットを送出しているノードがそのような状態を認識して送出パケットを必要最低量に限れば、発信元ノードと宛先ノードの間の以降の制御データがネットワーク経路上で時刻違反となる可能性を低減する。
【００９４】
以上を総括すると、本実施の形態のパケット中継装置は、制御データが被制御ノードへと到達するまで大幅に遅延したり、ネットワーク経路上で制御データが廃棄されたりする可能性が低減するため、制御ノードと被制御ノード間のリアルタイム性を確保することが比較的容易となる。また、各ノードが自律的に働くことによって、リアルタイムにネットワーク帯域を制御することを支援可能である。時間的に許容不能（違反）であると判断したパケットの扱いについては、他にも様々考えられ、以上の説明に限定しない。
【００９５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【００９６】
例えば、本発明のパケット中継装置は、ケーブルを接続するだけでノードや他の中継装置と機能するように実現することも可能であるし、そのような実現における中枢部品となる半導体チップとして実現することも可能である。また、本発明のパケット中継装置が行う手順を実行するプログラムとして実現することも可能であるし、そのプログラムが記録された記憶媒体としても実現可能である。
【００９７】
パケット中継装置を半導体チップとして実現する場合には、パケットを送受信するインタフェースと、現在時刻、パケットに含まれる時刻情報、及び宛先ノードまでの予測到達時間に基づいて、送信パケットの優先順を決定する優先順位判定回路と、現在時刻、パケットに含まれる時刻情報、宛先ノードまでの予測到達時間、及び他パケットの予測送信時間に基づいて、時間的に許容可能か否かを判定する到達可能判定回路とを備えればよい。
【００９８】
また、到達可能判定回路の判定結果に基づいて、時間的に違反を認識したパケットに対応する例外パケットを送信する例外パケット生成回路も備えてもよい。
【００９９】
この優先順位判定回路、到達可能判定回路、例外パケット生成回路は、それぞれ、パケット中継装置の優先順位判定部、到達可能判定部、例外パケット生成部の各部の動作を行う、送信キュー制御及び時間計算部１３１やパケットバッファ制御及び例外パケット処理部１２１に対応するものである。
【産業上の利用可能性】
【０１００】
本発明は、スイッチやルータ等のパケット中継装置、及びその中枢部品となる半導体チップ、更にその手順を実行するプログラムが記録された記憶媒体などに利用可能である。
【図面の簡単な説明】
【０１０１】
【図１】本発明の一実施の形態に係るパケット中継装置の構成を示すブロック図である。
【図２】本発明の一実施の形態に係るパケット中継装置を用いたネットワーク構成の一例を示す図である。
【図３】本発明の一実施の形態に係るパケット中継装置の優先度テーブルが保持する内容の一例を示す図である。
【図４】本発明の一実施の形態に係るパケット中継装置の送受信パケットと、送信キューが保持する内容の一例について説明するための説明図である。
【符号の説明】
【０１０２】
１０１…パケット中継装置、１１１〜１１３…ＭＡＣ・ＰＨＹ、１２１…パケットバッファ制御及び例外パケット処理部、１３１…送信キュー制御及び時間計算部、１４１…タイマ、１４２…到達時間テーブル、１５１…優先度テーブル。
【図１】
2008109534.tif 000003
【図２】
2008109534.tif 000004
【図３】
2008109534.tif 000005
【図４】
2008109534.tif 000006