(57)【要約】【課題】サイクル型転送では、予約転送区間のフレームは所定の装置間の送信のため予約されている。このため、予約転送区間のフレームの転送を侵害することなく、早期にアクノリッジフレームを送信する技術が求められている。【解決手段】本発明にかかるネットワーク装置は、送信データをフレーム単位に分割し、一定のサイクルで複数のフレームを送受信し、前記サイクルが、予約されたフレームを転送する予約転送区間と、予約されていないフレームを転送する自由転送区間とで分割されたサイクル型データ転送を行うネットワーク装置であって、予約されたフレームの送信をアクノリッジフレームの送信より優先し、前記アクノリッジフレームの送信を予約されていないフレームの送信より優先するアクノリッジ制御部を有する。【選択図】図２
2009239451.tif 000002
【特許請求の範囲】
【請求項１】
送信データをフレーム単位に分割し、一定のサイクルで複数のフレームを送受信し、
前記サイクルが、予約されたフレームを転送する予約転送区間と、予約されていないフレームを転送する自由転送区間とで分割されたサイクル型データ転送を行うネットワーク装置であって、
予約されたフレームの送信をアクノリッジフレームの送信より優先し、
前記アクノリッジフレームの送信を予約されていないフレームの送信より優先するアクノリッジ制御部を有するネットワーク装置。
【請求項２】
前記アクノリッジフレームは、受信したフレームのＣＲＣエラーもしくはバッファオーバーエラーを示す情報を含む請求項１に記載のネットワーク装置。
【請求項３】
前記受信したフレームが、予約されたフレームである請求項２に記載のネットワーク装置。
【請求項４】
更に、時間を計測するサイクルタイマーを備え、前記アクノリッジフレームの送信は、前記サイクルタイマーを参照して、前記エラーの発生した時点から直近の自由転送区間で行われる請求項２または３に記載のネットワーク装置。
【請求項５】
更に、時間を計測するサイクルタイマーと、予約フレームが予約されている時間帯の情報を有する予約テーブルとを備え、前記アクノリッジの送信は、前記サイクルタイマーと前記予約テーブルとを参照して、前記エラーの発生した時点から直近の予約転送区間で予約フレームが予約されていない時間帯で行われる請求項２または３に記載のネットワーク装置。
【請求項６】
前記アクノリッジフレームには、前記受信したフレーム内の送信先アドレス情報が含まれる請求項２乃至請求項５のいずれか１項に記載のネットワーク装置。
【請求項７】
前記サイクルをカウントし、各サイクルに対応したカウント番号を付けるサイクルカウンタを更に有し、
前記アクノリッジフレームに前記カウント番号を書き込む請求項１乃至請求項６のいずれか１項に記載のネットワーク装置。
【請求項８】
送信データをフレーム単位に分割し、一定のサイクルで複数のフレームを送受信し、
前記サイクルが、予約されたフレームを転送する予約転送区間と、予約されていないフレームを転送する自由転送区間とで分割されたサイクル型データ転送を行うネットワーク装置を有するネットワークシステムであって、
前記ネットワーク装置は、
予約されたフレームの送信をアクノリッジフレームの送信より優先し、
前記アクノリッジフレームの送信を予約されていないフレームの送信より優先するネットワークシステム。
【請求項９】
前記アクノリッジフレームは、受信したフレームのＣＲＣエラーもしくはバッファオーバーエラーを示す情報を含む請求項８に記載のネットワークシステム。
【請求項１０】
前記受信したフレームが、予約されたフレームである請求項９に記載のネットワークシステム。
【請求項１１】
前記ネットワーク装置は、更に、時間を計測するサイクルタイマーと、予約フレームが予約されている時間帯の情報を有する予約テーブルとを備え、前記アクノリッジの送信は、前記サイクルタイマーと前記予約テーブルとを参照して、前記エラーの発生した時点から直近の予約転送区間で予約フレームが予約されていない時間帯で行われる請求項９または１０に記載のネットワークシステム。
【請求項１２】
前記ネットワーク装置は、更に、時間を計測するサイクルタイマーと、予約フレームが予約されている時間帯の情報を有する予約テーブルとを備え、前記アクノリッジの送信は、前記サイクルタイマーと前記予約テーブルとを参照して、前記エラーの発生した時点から直近の予約転送区間で予約フレームが予約されていない時間帯で行われる請求項９または１０に記載のネットワークシステム。
【請求項１３】
前記アクノリッジフレームには、前記受信したフレーム内の送信先アドレス情報が含まれる請求項９乃至請求項１２のいずれか１項に記載のネットワークシステム。
【請求項１４】
前記サイクルをカウントし、各サイクルに対応したカウント番号を付けるサイクルカウンタを更に有し、
前記アクノリッジフレームに前記カウント番号を書き込む請求項８乃至請求項１３のいずれか１項に記載のネットワークシステム。
【請求項１５】
送信データをフレーム単位に分割し、一定のサイクルで複数のフレームを送受信し、
前記サイクルが、予約されたフレームを転送する予約転送区間と、予約されていないフレームを転送する自由転送区間とで分割されたサイクル型データ転送を、ネットワーク装置間で行うフレーム転送方法であって、
予約されたフレームの送信をアクノリッジフレームの送信より優先し、
前記アクノリッジフレームの送信を予約されていないフレームの送信より優先するフレーム転送方法。
【請求項１６】
前記アクノリッジフレームは、受信したフレームのＣＲＣエラーもしくはバッファオーバーエラーを示す情報を含む請求項１５に記載のフレーム転送方法。
【請求項１７】
前記受信したフレームが、予約されたフレームである請求項１６に記載のフレーム転送方法。
【請求項１８】
前記ネットワーク装置は、時間を計測するサイクルタイマーと、予約フレームが予約されている時間帯の情報を有する予約テーブルとを備え、前記アクノリッジの送信は、前記サイクルタイマーと前記予約テーブルとを参照して、前記エラーの発生した時点から直近の予約転送区間で予約フレームが予約されていない時間帯で行われる請求項１６または１７に記載のフレーム転送方法。
【請求項１９】
前記ネットワーク装置は、時間を計測するサイクルタイマーと、予約フレームが予約されている時間帯の情報を有する予約テーブルとを備え、前記アクノリッジの送信は、前記サイクルタイマーと前記予約テーブルとを参照して、前記エラーの発生した時点から直近の予約転送区間で予約フレームが予約されていない時間帯で行われる請求項１６または請求項１７に記載のフレーム転送方法。
【請求項２０】
前記アクノリッジフレームには、前記受信したフレーム内の送信先アドレス情報が含まれる請求項１６乃至請求項１９のいずれか１項に記載のフレーム転送方法。
【請求項２１】
前記ネットワーク装置は、前記サイクルをカウントし、各サイクルに対応したカウント番号を付けるサイクルカウンタを更に有し、
前記アクノリッジフレームに前記カウント番号を書き込む請求項１５乃至請求項２０のいずれか１項に記載のフレーム転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク装置およびシステム、フレーム転送方法に関するものでる。
【背景技術】
【０００２】
現在、リアルタイム通信技術ではＩＥＥＥ１３９４等の通信技術が用いられている。このような通信技術では、リアルタイムデータとベストエフォートデータを混在させたサイクル型転送を行う通信方式（以下、サイクル型転送と称す）が用いられている。
【０００３】
上記のような通信方式は、例えば、１サイクルが、図９に示すように予め決められた周期、例えば１２５μ秒のタイムスロットを有している。この周期のタイムスロットが複数サイクル繰り返される。そして、そのタイムスロット内の一定の帯域にパケットデータ（以後、フレームと称す）がネットワーク装置間において転送される。ここで、タイムスロット前半の区間を予約転送区間、後半の区間を自由転送区間としている。
【０００４】
予約転送区間では、この区間内の一定の帯域、例えば図９中の帯域１から５までをフレーム送信のために予約しておく。そして、予約された帯域１から５は、設定された各装置間でのみ利用される。例えば、図１０に示すような複数のネットワーク装置からなるネットワークにおいて、図９の帯域１は、装置１１と装置１４間の送信のみ、帯域２は、装置１２と装置１３間の送信のみに利用するため予約される。
【０００５】
そして、帯域１から５のような、予約した一定の帯域にリアルタイムデータのフレームＡ１からＡ５を設定することで、一定時間内に一定量のフレーム送信が保証されることになり、ＡＶデータ等のリアルタイムデータが装置間で送信可能となる。以後、予約転送区間で送信されるフレームを予約フレームと称す。
【０００６】
自由転送区間では、ベストエフォートデータの通信に利用される。ここでは、予約によりフレーム送信の帯域の確保は行われない。よって、この区間では、特にリアルタイム性を有しないデータの転送が行われる。このため、データ転送を行う時点で、この区間に例えば帯域６のように、空いている帯域があれば、そこにフレームＢ１を配置し、装置間のデータ通信が行われる。
【０００７】
図９のサイクル型転送の通信方式を実現するネットワーク構成として、様々な形態が考えられる。例えば、図１０のネットワーク装置１１から１４のようにデイジーチェーン接続、ネットワーク装置１１、１２、１３、１５のようにスター接続等で接続される。
【０００８】
ここで各ネットワーク装置は、ブリッジ機能を有しており、ネットワーク装置１２、１３、１５などは、自装置の一方側にあるネットワーク装置からの送信フレームを、他方側にあるネットワーク装置へ転送することができる。これにより、直接接続されていないネットワーク装置間でもブリッジ機能を用いて通信を行うことが可能となる。
【０００９】
上述のサイクル型転送を、ＬＡＮ（Local Area Network）の規格であるＥｔｈｅｒｎｅｔ（登録商標）に適用する動きがある。このため、Ｅｔｈｅｒｎｅｔを用いたＬＡＮにおいてサイクル型転送によるデータ通信の高速性及び高信頼性が求められている。
【００１０】
なお、特許文献１には、予約リソースを通信中に確保することが可能なノード装置等の技術が開示されている。
【００１１】
ところで、ネットワーク装置は、送受信データ以外にも様々な情報交換を行っている。最も単純なものは、受信側のネットワーク装置がデータを受信したことを知らせるための応答メッセージ、すなわちアクノリッジ(Acknowledges：以後、ＡＣＫと称す)フレームを返信することである。送信側のネットワーク装置は、受信されたことを確認した後、次の処理に進むことが可能となる。
【００１２】
他の例としては、障害の発生（あるいはその予測）を知らせるメッセージがある。特許文献２には、装置間の中継ノードで、バッファオーバーフローが発生すると判断した時点で、強制的に制御情報を転送することで対向装置側に障害発生を通知する技術が開示されている。
【特許文献１】特開２００２−１８５４９１号公報
【特許文献２】特開２００５−２６９５０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ＡＣＫフレームの返信や、特許文献２が開示している技術を、上述したサイクル型転送に適用しようとすると次のような課題が生じる。すなわち、ＡＣＫフレームの返信や障害を知らせる制御情報の送信によって、予約転送区間内の予約フレームの転送を妨害してしまう可能性が生じるということである。
【００１４】
ＡＣＫフレームや障害情報などは、送信元装置の後続処理、フレームの再送処理等のために、できるだけ早期に送信元のネットワーク装置へ返信する必要がある。しかし、サイクル型転送では、リアルタイムデータ等を転送するため、予約転送区間の所定の時間帯は、所定のネットワーク装置間での送受信用に予約されている。このため、予約転送区間のフレームの送信を妨害することなく、早期にＡＣＫフレームや障害情報などを返信する技術が求められている。
【課題を解決するための手段】
【００１５】
本発明にかかるネットワーク装置は、送信データをフレーム単位に分割し、一定のサイクルで複数のフレームを送受信し、前記サイクルが、予約されたフレームを転送する予約転送区間と、予約されていないフレームを転送する自由転送区間とで分割されたサイクル型データ転送を行うネットワーク装置であって、予約されたフレームの送信をアクノリッジフレームの送信より優先し、前記アクノリッジフレームの送信を予約されていないフレームの送信より優先するアクノリッジ（ＡＣＫ）制御部を有する。
【００１６】
本発明にかかるネットワークシステムは、送信データをフレーム単位に分割し、一定のサイクルで複数のフレームを送受信し、前記サイクルが、予約されたフレームを転送する予約転送区間と、予約されていないフレームを転送する自由転送区間とで分割されたサイクル型データ転送を行うネットワーク装置を有するネットワークシステムであって、前記ネットワーク装置は、予約されたフレームの送信をアクノリッジフレームの送信より優先し、前記アクノリッジフレームの送信を予約されていないフレームの送信より優先する。
【００１７】
本発明にかかるフレーム転送方法は、送信データをフレーム単位に分割し、一定のサイクルで複数のフレームを送受信し、前記サイクルが、予約されたフレームを転送する予約転送区間と、予約されていないフレームを転送する自由転送区間とで分割されたサイクル型データ転送を行うフレーム転送方法であって、予約されたフレームの送信をアクノリッジフレームの送信より優先し、前記アクノリッジフレームの送信を予約されていないフレームの送信より優先する。
【００１８】
このような発明により、ＡＣＫフレームが予約転送区間のフレームを侵害することなく転送され、かつ自由転送区間のフレームよりも優先的に転送される。
【発明の効果】
【００１９】
本発明にかかるネットワーク装置は、サイクル型転送において、ＡＣＫフレームが予約転送区間のフレームを侵害することなく、早期に送信元装置に返信される。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。ただし、本発明が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【００２１】
図１に本実施の形態のネットワーク構成及びネットワーク装置の概要を示す。図１に示すように、ネットワーク１００は、ネットワーク装置１０１〜１０６を有する。このネットワーク装置１０１〜１０６が、上述のサイクル型転送によりフレームの送受信を行っている。ネットワーク装置１０１〜１０６は同じ構成であるため、ここではネットワーク装置１０１を例に説明する。ネットワーク装置１０１は、アプリケーション１２１と、通信ロジック１２２と、ポート１２３〜１２５を有する。
【００２２】
アプリケーション１２１は、ネットワーク内の他のネットワーク装置で利用するデータの生成や、他のネットワーク装置が生成したデータを利用する。例えば、カメラなどの周辺装置を利用して映像データを作成し、映像データを他のネットワーク装置へ送信したり、他のネットワーク装置から送信された映像データをディスプレイ上に表示するなどのアプリケーションがある。
【００２３】
通信ロジック１２２は、例えば、ＩＥＥＥ８０２．１で規定されるＭＡＣブリッジ（自装置内の複数のポート間のブリッジ通信を実現するためのスイッチ、ルーティングテーブルなどを含む）、スパニングツリープロトコル（ＳＴＰ：Spanning Tree Protocol）などのプロトコルで規定される動作や制御を行う回路からなる。また、アプリケーション１２１が生成するデータを所定の長さに区切り、制御情報を付加してフレームにする制御等も行う。
【００２４】
ポート１２３〜１２５は、ネットワーク装置間のフレームの送受信を行う。例えば、ＩＥＥＥ８０２．３で規定されるコネクタやケーブル、ＭＡＣ（Media Access Control）などの送受信プロトコルに準拠したハードウェアなどが利用される。
【００２５】
通信ロジック１２２、アプリケーション１２１がポート１２３〜１２５を介して隣接したネットワーク装置と接続されることでネットワーク１００が構成されている。各ネットワーク装置の接続は、ネットワーク装置１０１〜１０４からなるデイジーチェーン接続でも、ネットワーク装置１０１、１０２、１０３、１０５からなるスター接続でもよい。
【００２６】
各ネットワーク装置は自装置のどのポートが他のネットワーク装置のどのポートに接続されているかの情報を自装置内のルーティングテーブル（図示なし）に保持している。このため、ネットワーク装置１０２や１０３のように複数のポートを使用している場合であっても、その情報を元に適切なネットワーク装置同士のポート間の通信が行われる。
【００２７】
図２は、図１のネットワーク装置１０１〜１０６の構成ブロック図を更に詳細に示した図である。ネットワーク装置１０１〜１０６は同じ構成のため、ここでもネットワーク装置１０１を例に説明する。図２において、図１と同一符号のものは同様の構成であるため説明は省略する。また、ポート１２３〜１２５は、同じ構成であり簡略化のため、ポート１２３のみを記載する。
【００２８】
ポート１２３は、受信ポート１３１と、送信ポート１３２とを有する。受信ポート１３１は、他のネットワーク装置からきたフレームを後述するＣＲＣチェック部１４１及び受信バッファ１４２へ送る。送信ポート１３２は、後述するＡＣＫ制御部１４３から送られてきたフレームを他のネットワーク装置へ送信する。
【００２９】
通信ロジック１２２は、ＣＲＣチェック部１４１と、受信バッファ１４２と、ＡＣＫ制御部１４３と、予約テーブル１４４と、サイクルタイマー１４５とを有する。
【００３０】
ＣＲＣチェック部１４１は、受信したフレームのＣＲＣエラーチェックを行い、その後、受信バッファ１４２へ送る。このとき、ＣＲＣエラーが発生した場合、このエラー情報（以後、ＣＲＣエラー情報と称す）と、受信したフレームのヘッダ情報と、更に、受信したフレームが予約フレームであるか否かの情報をＡＣＫ制御部１４３に送る。
【００３１】
受信バッファ１４２は、ＣＲＣチェック部１４１から送られてきた、フレームをバッファリングする。このとき、受信バッファ１４２において、バッファオーバーフローが生じた場合、このエラー情報（以後、オーバーフローエラー情報と称す）と、受信したフレームのヘッダ情報、更に、受信したフレームが予約フレームであるか否かの情報をＡＣＫ制御部１４３に送る。
【００３２】
ここで、図３に受信したフレームの一例を示す。受信したフレームは、ＩＥＥＥ８０２．３に準拠して生成されているものとする。ＩＥＥＥ８０２．３のＭＡＣフレームでは、フレームの先頭に７ｂｙｔｅのプレアンブル（Preamble）、１ｂｙｔｅのＳＦＤ（Start of Frame Delimiter）、６ｂｙｔｅの宛先ＭＡＣアドレス（Destination Address）、６ｂｙｔｅの送信元ＭＡＣアドレス（Source Address）、２ｂｙｔｅのタイプ（Type）が配置される。これにデータ（DATA）が続き、最後にＦＣＳ（Frame Check Sequence）が配置される。本実施の形態では、ヘッダの最後すなわちデータの先頭に４ｂｙｔｅの制御情報を配置する。制御情報には、予約フレームか否かについての情報等が書き込まれる。
【００３３】
予約テーブル１４４は、装置が有するポートごとに、１サイクルのタイムスロット（例えば０〜１２５μ秒）のタイムテーブルを有する。このタイムテーブルではタイムスロット内のどの時間帯が予約されているかの情報が登録されている。このタイムテーブルの登録情報を参照すれば、例えば自装置のポート１２３では、図９の予約転送区間の時間帯１と３がすでに予約されている等の情報がわかる。この登録情報は、ＡＣＫ制御部１４３へ送られる。
【００３４】
サイクルタイマー１４５は、１サイクルのタイムスロット内の時間を計測する。例えば、タイムスロットの周期が１２５μ秒であるとすると、０から１２５μ秒を計測する。この計測された時間情報はＡＣＫ制御部１４３へ送られる。
【００３５】
ＡＣＫ制御部１４３は、ヘッダ情報受信部１５１と、ＡＣＫフレーム生成部１５２とを有する。ヘッダ情報受信部１５１では、ＣＲＣチェック部１４１または受信バッファ１４２から送られてきた前記ヘッダ情報を受け取り、ＡＣＫフレーム生成部１５２へ送る。
【００３６】
ＡＣＫフレーム生成部１５２は、ヘッダ情報受信部１５１からのヘッダ情報を受け取り、このヘッダ情報をもとにＡＣＫフレームを生成する。ここで、図４にＡＣＫフレームの一例を示す。ＡＣＫフレームもＩＥＥＥ８０２．３に準拠して作成される。よって、フレームの先頭に７ｂｙｔｅのプレアンブル（Preamble）、１ｂｙｔｅのＳＦＤ（Start of Frame Delimiter）、６ｂｙｔｅの宛先アドレス（Destination Address）、６ｂｙｔｅの送信元アドレス（Source Address）、２ｂｙｔｅのタイプ（Type）が配置される。これに４６ｂｙｔｅのデータ（DATA）が続き、最後にＦＣＳ（Frame Check Sequence）が配置される。ここで、このＡＣＫフレームの宛先アドレスは、ヘッダ情報受信部１５１からのヘッダ情報の送信元のＭＡＣアドレス、つまり図３のＡの情報が書き込まれる。ＡＣＫフレームの送信元アドレスには、自装置のＭＡＣアドレス、つまり、ＣＲＣエラー等が発生した装置のＭＡＣアドレスが書き込まれる。
【００３７】
また、４６ｂｙｔｅのデータの先頭に４ｂｙｔｅの制御情報を配置する。この制御情報には、ＡＣＫフレームであることの情報と、ＣＲＣエラー情報もしくはバッファオーバーフローエラー情報等が書き込まれる。さらに、４６ｂｙｔｅのデータ領域に追加情報を書き込んでもよい。例えば、受信したフレームの宛先アドレス（図３のＢ）を書き込む等である。このようなアドレスを書き込むことで、このＡＣＫフレームの送信先のネットワーク装置が、この追加情報を参照し、エラーになったフレームが自分の送信したものか否か判断できる。これは、ＣＲＣエラーが起きて、受信したフレームの送信元アドレスが破壊されていたときなどに有効である。
【００３８】
また、同じくＣＲＣエラー対策として、予めネットワークに接続されたネットワーク装置のＭＡＣアドレスを各装置が記憶しておき、受信したフレームの宛先アドレス、及び送信元アドレスが、前記記憶したアドレスでない場合は、ヘッダ部分に障害が発生したと判定してもよい。
【００３９】
ＡＣＫ制御部１４３は、上述のエラーの発生した受信フレームが、ＣＲＣチェック部１４１もしくは受信バッファ１４２からの情報により、予約フレームであるかどうかを判断する。
【００４０】
まず、エラーの発生した受信フレームが予約フレームでない場合（以後、通常フレームと称す）を考える。この場合、ＡＣＫ制御部１４３は、ＡＣＫフレーム生成部１５２で生成したＡＣＫフレームを自由転送区間のあいている時間帯で、前記受信したフレームの送信元へ送信する。
【００４１】
次に、エラーの発生した受信フレームが予約フレームである場合を考える。この場合、ＡＣＫ制御部１４３は、予約テーブル１４４の登録情報と、サイクルタイマー１４５の時間情報を参照し、現時点から最短の自由転送区間を待つ。そして、その自由転送区間になったら、ＡＣＫフレーム生成部１５２で生成したＡＣＫフレームを、他のフレームよりも優先的に前記エラーの発生した受信したフレームの送信元へ返信する。このことにより、エラーが発生したフレームの送信元のネットワーク装置は、エラー発生から短時間にＡＣＫフレームを受信することができる。また、ＡＣＫ制御部１４３が、予約テーブル１４４の登録情報から予約転送区間において予約フレームの転送がなくＡＣＫフレームが転送可能な時間帯があると判断すれば、ＡＣＫフレームを予約転送区間に返信してもよい。
【００４２】
なお、エラーの発生した受信フレームが通常フレームであっても、予約フレームである場合と同様に、ＡＣＫフレームの送信の優先度を上げてもよい。但し、その優先度は、前記予約フレームである場合よりは低いものとする。
【００４３】
以上のように、本実施の形態のネットワーク装置は、受信したフレームにＣＲＣエラーや、バッファオーバーフローが発生した場合、サイクルタイマー１４５、予約テーブル１４４の情報をもとに、予約された時間帯を避けて優先的にＡＣＫフレームを前記フレームの送信元へ返信できる。また、このＡＣＫフレームには、ＣＲＣエラー情報やバッファオーバーフローエラー情報を含んでおり、送信元のネットワーク装置がどのエラーにより不具合が発生したかを確認できる。なお、ＡＣＫフレームがＣＲＣエラーやバッファオーバーフローに関するエラー情報を含んでおり、このＡＣＫフレームの送信を、ＣＲＣエラーやバッファオーバーフローが発生した時に行うという内容で説明したが、これに限られない。単に送信されたフレームの受信確認のためにＡＣＫフレームを送信する場合にも適用可能である。
【００４４】
さらに、このようなネットワーク装置からなるネットワークでは、フレームが宛先のネットワーク装置に到着する前に、中継装置のネットワーク装置が転送を中止する。そして、その中継装置であるネットワーク装置が、ＣＲＣエラー等のエラーの発生を示すＡＣＫフレームを送信元のネットワーク装置に返信する。このことにより、サイクル型転送のネットワークにおいて、予約された時間帯のフレームを保護しつつ、フレームの送信元のネットワーク装置が、送信したフレームのエラーの発生を高速に把握することができる。
【００４５】
図５、図６に示すフローチャートを用いて、本実施の形態の通信ロジック１２２のＡＣＫフレーム送信の処理フローを示す。図５の処理フローはＣＲＣチェック部１４１で受信フレームにＣＲＣエラーが発生した場合である。図６の処理フローは、受信バッファ１４２で、バッファオーバーフローが発生した場合である。
【００４６】
図５において、ＣＲＣチェック部１４１で受信フレームにＣＲＣエラーが発生した場合を説明する。まず、受信フレームがＣＲＣエラーを発生すると（Ｓ１０１）、そのフレームを破棄して受信フレームのヘッダをＡＣＫ制御部１４３へ送る（Ｓ１０２）。ＡＣＫ制御部１４３は、ＣＲＣエラー情報を含めてＡＣＫフレームを生成する（Ｓ１０３）。次に現在が予約された時間帯か否か判断する（Ｓ１０４）。
【００４７】
予約された時間帯でないならば（Ｓ１０４Ｎｏ）、受信フレームの受信したポートの送信ポートが送信中か否か判断する（Ｓ１０５）。一方、予約された時間帯であるならば（Ｓ１０４Ｙｅｓ）、Ｓ１０４の処理に戻る。つまり、予約された時間帯が終わるまでこの処理が繰り返される。
【００４８】
Ｓ１０５の処理により送信中でないと判断された場合（Ｓ１０５Ｎｏ）、次の予約フレームの転送開始までに、生成したＡＣＫフレームの送信が完了するか判断する（Ｓ１０７）。この判断は、サイクルタイマー１４５を参照し、送信しようとするＡＣＫフレームが次の予約フレームの転送開始までに送信できるかどうかで判断する。ＡＣＫフレームの転送時間は、ＡＣＫフレームのバイト幅とネットワークの転送レートで決まり、例えば、７２バイト幅のＡＣＫフレームで、１Gｂｐｓの転送レートであれば、理論値では７２ｎｓｅｃかかることになる。これに遅延などの所定のマージンを考慮することで判断が可能となる。一方、Ｓ１０５の処理により送信中である判断された場合（Ｓ１０５Ｙｅｓ）、次の送信で最優先的に送信できるようにＡＣＫフレームの送信の優先度を上げて、送信中のフレームが送信完了するまで待機し（Ｓ１０６）、Ｓ１０７の処理へ進む。
【００４９】
予約フレームの転送開始までに、生成したＡＣＫフレームの送信が完了しない場合（Ｓ１０７Ｎｏ）、Ｓ１０４の処理へ戻る。一方、予約フレームの転送開始までに、生成したＡＣＫフレームの送信が完了する場合（Ｓ１０７Ｙｅｓ）、受信フレームを受信したポートの送信ポートから、ＡＣＫフレームを送信する（Ｓ１０８）。
【００５０】
次に、図６において、受信バッファ１４２で、バッファオーバーフローが発生した場合を説明する。まず、受信バッファ１４２においてバッファオーバーフローを発生すると（Ｓ２０１）、受信フレームのヘッダをＡＣＫ制御部１４３へ送る（Ｓ２０２）。ＡＣＫ制御部１４３は、バッファオーバーフローエラー情報を含めてＡＣＫフレームを生成する（Ｓ２０３）。現在が予約された時間帯か否か判断する（Ｓ２０４）。
【００５１】
予約された時間帯でないならば（Ｓ２０４Ｎｏ）、受信フレームの受信したポートの送信ポートが送信中か否か判断する（Ｓ２０５）。一方、予約された時間帯であるならば（Ｓ２０４Ｙｅｓ）、Ｓ２０４の処理に戻る。つまり、予約された時間帯が終わるまでこの処理が繰り返される。
【００５２】
Ｓ２０５の処理により送信中でないと判断された場合（Ｓ２０５Ｎｏ）、次の予約フレームの転送開始までに、生成したＡＣＫフレームの送信が完了するか判断する（Ｓ２０７）。この判断は、サイクルタイマー１４５を参照し、送信しようとするＡＣＫフレームが次の予約フレームの転送開始までに送信できるかどうかで判断する。ＡＣＫフレームの転送時間は、ＡＣＫフレームのバイト幅とネットワークの転送レートで決まり、例えば、７２バイト幅のＡＣＫフレームで、１Gｂｐｓの転送レートであれば、理論値では７２ｎｓｅｃかかることになる。これに遅延などの所定のマージンを考慮することで判断が可能となる。一方、Ｓ２０５の処理により送信中である判断された場合（Ｓ２０５Ｙｅｓ）、次の送信で最優先的に送信できるようにＡＣＫフレームの送信の優先度を上げて、送信中のフレームが送信完了するまで待機し（Ｓ２０６）し、Ｓ２０７の処理へ進む。
【００５３】
予約フレームの転送開始までに、生成したＡＣＫフレームの送信が完了しない場合（Ｓ２０７Ｎｏ）、Ｓ２０４の処理へ戻る。一方、予約フレームの転送開始までに、生成したＡＣＫフレームの送信が完了する場合（Ｓ２０７Ｙｅｓ）、受信フレームを受信したポートの送信ポートから、ＡＣＫフレームを送信する（Ｓ２０８）。
【００５４】
ここで、本実施の形態のネットワーク装置１０１は、図７に示すように、サイクルカウンタ１６１を更に有していてもよい。このサイクルカウンタ１６１は、サイクル型転送のサイクルを所定回数カウントし、そのカウント番号の情報をＡＣＫフレーム生成部１５２へ送る。ＡＣＫフレーム生成部１５２は、このカウント番号の情報を書き込んだＡＣＫフレームを生成する。例えば、このカウント番号の情報は図４のＡＣＫフレームの追加情報に書き込まれる。そして、ＡＣＫ制御部１４３は、ＣＲＣエラー等が発生したフレームの送信元装置に、このカウント番号の情報が書き込まれたＡＣＫフレームを返信する。このＡＣＫフレームの返信は、上述してきたように予約フレームの時間帯を避け、かつ通常フレームより優先的に行われる。
【００５５】
図８にサイクルカウンタ１６１がカウントするカウント番号の情報の概念図を示す。図８に示すように、サイクルカウンタ１６１は１〜ｎ番目までのサイクルをカウントし、各サイクルとカウント番号を対応させる。ｎ番目以降のサイクルは、再び１番目からとなる。この各サイクルに対応したカウント番号は、ネットワーク内の全てのネットワーク装置で共通となるようネットワークの設計の段階で設定される。
【００５６】
ここで、あるネットワーク装置内で、２番目のサイクルのフレームでＣＲＣエラー等が発生した場合を考える。この２番目のカウント番号の情報は、サイクルカウンタ１６１からＡＣＫフレーム生成部１５２へ送られ、図６のＡＣＫフレームの追加情報に書き込まれる。そして、ＡＣＫ制御部１４３により、このカウント番号の情報が付加されたＡＣＫフレームが、送信元のネットワーク装置に予約フレームの時間帯を避け、かつ通常フレームより優先的に返信される。
【００５７】
このような、ＡＣＫフレームを送信元のネットワーク装置に返信すれば、送信元のネットワーク装置は、自分が送信した２番目のサイクルのフレームにエラーが生じたことを直ちに判断できる。このことにより、送信元のネットワーク装置は、この２番目のサイクルのフレームを早期に宛先装置に再送することが可能となる。
【００５８】
これは、例えば、映像データのようなリアルタイム性が必要な連続したストリームデータが含まれるフレームを転送するような場合に効果がある。このストリームデータの一部を含んだフレームにエラーが発生したとしても、そのエラーの発生したフレームのカウント番号の情報を含んだＡＣＫフレームが、送信元に返信される。送信元装置は、エラーの発生したフレームを直ちに特定し再送する。このことにより、転送される映像データの遅延が最小に抑えられ、映像のブロックノイズ等の発生を防ぐことができる。
【００５９】
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【図面の簡単な説明】
【００６０】
【図１】実施の形態にかかるネットワークの概略図である。
【図２】実施の形態にかかるネットワーク装置のブロック図である。
【図３】実施の形態に係るネットワーク装置が転送するフレームの概念図である。
【図４】実施の形態に係るネットワーク装置が生成するＡＣＫフレームの概念図である。
【図５】実施の形態にかかるネットワーク装置の処理を示すフローチャートである。
【図６】実施の形態にかかるネットワーク装置の処理を示すフローチャートである。
【図７】実施の形態にかかるネットワーク装置のブロック図の他の例である。
【図８】実施の形態にかかるネットワーク装置がカウントするカウント番号を説明するための概念図である。
【図９】サイクルパターンの一例を示す図である。
【図１０】ネットワークの概略図である。
【符号の説明】
【００６１】
１０１から１０６  ネットワーク装置
１２１  アプリケーション
１２２  通信ロジック
１２３、１２４、１２５  ポート
１３１  受信ポート
１３２  送信ポート
１４１  ＣＲＣチェック部
１４２  受信バッファ
１４３  ＡＣＫ制御部
１４４  予約テーブル
１４５  サイクルタイマー
１５１  ヘッダ情報受信部
１５２  ＡＣＫフレーム生成部
１６１  サイクルカウンタ
【図１】
2009239451.tif 000003
【図２】
2009239451.tif 000004
【図３】
2009239451.tif 000005
【図４】
2009239451.tif 000006
【図５】
2009239451.tif 000007
【図６】
2009239451.tif 000008
【図７】
2009239451.tif 000009
【図８】
2009239451.tif 000010
【図９】
2009239451.tif 000011
【図１０】
2009239451.tif 000012