(57)【特許請求の範囲】
【請求項１】
複数の種別のフレームを用いて通信を行う中継装置であって、
前記フレームの前記種別を識別し、前記種別に応じて前記フレームを転送するフレーム識別部と、
前記複数の種別のフレームのうちの低優先フレームの分割サイズを通知するための分割サイズ通知フレームを送信する分割サイズ取得部と、
前記複数の種別のフレームのうちの、前記低優先フレームよりも優先度が高いフレームである高優先フレームを転送するシフトレジスタと、
前記低優先フレームを転送する低優先フレーム処理部と、
前記分割サイズ取得部、前記シフトレジスタ、及び前記低優先フレーム処理部を制御する転送フレーム選択部と、
前記低優先フレーム処理部から転送された、分割された前記低優先フレームを、他の前記低優先フレームと結合し、結合された前記低優先フレームを転送する出力制御部と
を備え、
前段装置としての前記中継装置が前記中継装置と通信を行う後段装置としての通信装置と共にポートリンクアップ処理を行うとき、前記分割サイズ取得部は、前記通信装置に向けて前記分割サイズ通知フレームを送信する
ことを特徴とする中継装置。
【請求項２】
前記転送フレーム選択部は、前記低優先フレーム処理部に格納されている前記低優先フレームの長さに基づいて、前記低優先フレームの転送を制御することを特徴とする請求項１に記載の中継装置。
【請求項３】
前記転送フレーム選択部は、前記分割された低優先フレームの長さである分割サイズを設定することを特徴とする請求項１又は２に記載の中継装置。
【請求項４】
前記分割サイズは、６４バイトよりも小さいことを特徴とする請求項３に記載の中継装置。
【請求項５】
前記転送フレーム選択部は、前記中継装置と通信を行う前記通信装置から受信した分割サイズ通知フレームに基づいて前記分割サイズを設定する請求項３に記載の中継装置。
【請求項６】
前記分割サイズは、前記通信装置が受信可能な前記低優先フレームの最小フレーム長であることを特徴とする請求項５に記載の中継装置。
【請求項７】
前記分割サイズ取得部から前記通信装置に向けて送信される前記分割サイズ通知フレームには、前記中継装置が受信可能な前記低優先フレームの最小フレーム長を示す情報が含まれる請求項１から６のいずれか１項に記載の中継装置。
【請求項８】
前記分割サイズは、前記中継装置及び前記通信装置が分割可能な前記低優先フレームの最小フレーム長であることを特徴とする請求項５に記載の中継装置。
【請求項９】
前記低優先フレーム処理部から転送された前記低優先フレームの長さが前記分割サイズ以上である場合、前記転送フレーム選択部は、前記低優先フレームの転送を中断するように前記低優先フレーム処理部を制御し、前記低優先フレーム処理部に格納されている前記低優先フレームを、前記分割サイズに分割するように前記低優先フレーム処理部を制御することを特徴とする請求項３から８のいずれか１項に記載の中継装置。
【請求項１０】
前記低優先フレームの転送が中断しているとき、前記転送フレーム選択部は、前記シフトレジスタ内の全ての前記高優先フレームを転送するように前記シフトレジスタを制御することを特徴とする請求項９に記載の中継装置。
【請求項１１】
前記低優先フレーム処理部に前記分割された低優先フレームが格納されている場合、前記シフトレジスタから前記高優先フレームが転送された後に、前記転送フレーム選択部は、前記分割された低優先フレームの転送を行うように前記低優先フレーム処理部を制御することを特徴とする請求項１０に記載の中継装置。
【請求項１２】
複数の種別のフレームを用いて通信装置と通信を行う中継装置におけるデータ転送方法であって、
前段装置としての前記中継装置が前記中継装置と通信を行う後段装置としての前記通信装置と共にポートリンクアップ処理を行うとき、前記通信装置に向けて前記複数の種別のフレームのうちの分割サイズ通知フレームを送信するステップと、
前記通信装置から受信した、前記複数の種別のフレームのうちの分割サイズ通知フレームに基づいて、前記複数の種別のフレームのうちの低優先フレームの分割サイズを設定するステップと、
前記分割サイズに基づいて前記低優先フレームを分割するステップと、
分割された前記低優先フレームの転送を行うステップと、
分割された前記低優先フレームを、他の前記低優先フレームと結合するステップと、
結合された前記低優先フレームを前記通信装置に向けて転送するステップと
を備えることを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信を行う中継装置及びその中継装置におけるデータ転送方法に関する。
【背景技術】
【０００２】
従来、車、列車、又は工場などに用いられるネットワークは、伝送容量、遅延、又は信頼性などの要求に応じて異なる規格のネットワークが用いられてきた。近年、これらのネットワークにイーサネット（登録商標）を用いることでネットワークの大容量化及び経済化が検討されている。【０００３】
ネットワークにおける通信を中継する中継装置をイーサネット（登録商標）に接続するためには、ネットワーク上の他の機器が要求するリアルタイム性能を満たすことが求められている。例えば、リアルタイム処理が求められる高優先フレームが低優先フレームと競合した場合でも高優先フレームの遅延を低減し、且つ転送間隔の揺らぎが少ない転送方式が求められている。このような要求に対して、前段装置（すなわち、送信側装置）としての中継装置において、高優先フレームと低優先フレームとが競合したときに、低優先フレームの転送を前段装置で中断し、すでに前段装置から転送された低優先フレームは後段装置（すなわち、受信側装置）としての中継装置で廃棄することにより、高優先フレームの遅延を低減し、且つ転送間隔の揺らぎを低減する転送方式が提案されている（例えば、特許文献１）。【０００４】
一方、ＩＥＥＥ（Ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，Ｉｎｃ．）８０２．３ｂｒで規定された転送方式では、前段装置で低優先フレームを分割して送信し、後段装置で低優先フレームの結合を行うことで、高優先フレームの遅延を低減し、且つ転送間隔の揺らぎを低減する通信を実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１５／１６３０９４号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、低優先フレームを後段装置で廃棄する場合、実行帯域が低下するという問題がある。一方、ＩＥＥＥ８０２．３ｂｒで規定された転送方式では、低優先フレームの分割フレームの長さが６４ｂｙｔｅ（バイト）以上と定義されているため、１２７ｂｙｔｅ以下のフレームは分割することができない。そのため、ＩＥＥＥ８０２．３ｂｒで規定された転送方式では、高優先フレームと、１２７ｂｙｔｅ以下のフレーム長である低優先フレームとが競合した場合、その低優先フレームを全て転送した後でなければ高優先フレームを転送できず、高優先フレームの遅延及び転送間隔の揺らぎが発生するという問題がある。【０００７】
本発明の目的は、高優先フレームの遅延及び転送間隔の揺らぎを低減することである。
【課題を解決するための手段】
【０００８】
本発明の中継装置は、複数の種別のフレームを用いて通信を行う中継装置であって、前記フレームの前記種別を識別し、前記種別に応じて前記フレームを転送するフレーム識別部と、前記複数の種別のフレームのうちの低優先フレームの分割サイズを通知するための分割サイズ通知フレームを送信する分割サイズ取得部と、前記複数の種別のフレームのうちの、前記低優先フレームよりも優先度が高いフレームである高優先フレームを転送するシフトレジスタと、前記低優先フレームを転送する低優先フレーム処理部と、前記分割サイズ取得部、前記シフトレジスタ、及び前記低優先フレーム処理部を制御する転送フレーム選択部と、前記低優先フレーム処理部から転送された、分割された前記低優先フレームを、他の前記低優先フレームと結合し、結合された前記低優先フレームを転送する出力制御部とを備え、前段装置としての前記中継装置が前記中継装置と通信を行う後段装置としての通信装置と共にポートリンクアップ処理を行うとき、前記分割サイズ取得部は、前記通信装置に向けて前記分割サイズ通知フレームを送信することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、高優先フレームの遅延及び転送間隔の揺らぎを低減することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係る中継装置の構成を概略的に示すブロック図である。
【図２】フレーム処理部の具体的なハードウェア構成の一例を示す図である。
【図３】分割サイズ通知フレームにおけるデータ記録形式（フレームフォーマットともいう）の一例を示す図である。
【図４】２台の中継装置間における分割サイズ通知フレームを用いた通信の一例を示すシーケンス図である。
【図５】転送フレーム選択部におけるフレーム転送制御を示すフローチャートである。
【図６】比較例１に係る中継装置で低優先フレーム及び高優先フレームの転送競合が発生したときの中継装置から出力されるフレームを示す図である。
【図７】比較例２に係る中継装置で低優先フレーム及び高優先フレームの転送競合が発生したときの中継装置から出力されるフレームを示す図である。
【図８】実施の形態１に係る中継装置で低優先フレーム及び高優先フレームの転送競合が発生したときの中継装置から出力されるフレームを示す図である。
【図９】実施の形態２における２台の中継装置間における分割サイズ通知フレームを用いた通信の一例を示すシーケンス図である。
【図１０】実施の形態２における２台の中継装置間における分割サイズ通知フレームを用いた通信の他の例を示すシーケンス図である。
【図１１】転送フレーム選択部におけるフレーム転送制御の一部を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態に係る中継装置１及び中継装置１におけるデータ転送方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態１．
図１は、本発明の実施の形態１に係る中継装置１の構成を概略的に示すブロック図である。
【００１２】
中継装置１は、中継装置１に入力される複数の種別のフレームを用いて通信（例えば、通信の中継）を行う。複数の種別のフレームは、低優先フレーム、高優先フレーム、及び分割サイズ通知フレームを含む。低優先フレームは、高優先フレームよりも転送の優先度が低いフレームである。高優先フレームは、低優先フレームよりも転送の優先度が高いフレームである。分割サイズ通知フレームは、フレーム（例えば、低優先フレーム）の分割サイズ（本実施の形態では、低優先フレームの最小フレーム長）を通知するためのフレームである。
【００１３】
中継装置１は、少なくとも２つの入力ポート（第１の入力ポート９＿１，第２の入力ポート９＿２，…，及び第Ｎの入力ポート９＿Ｎ；Ｎは３以上の整数）と、フレーム識別部２と、少なくとも２つのフレーム処理部（第１のフレーム処理部３＿１，第２のフレーム処理部３＿２，…，及び第Ｎのフレーム処理部３＿Ｎ；Ｎは３以上の整数）と、少なくとも２つの出力ポート（第１の出力ポート１０＿１，第２の出力ポート１０＿２，…，及び第Ｎの出力ポート１０＿Ｎ；Ｎは３以上の整数）とを有する。
【００１４】
中継装置１において、フレーム処理部及び出力ポートの数は互いに同じである。１つのフレーム処理部は、１つの出力ポートに対応する。例えば、第１のフレーム処理部３＿１は、第１の出力ポート１０＿１に対応し、第Ｎのフレーム処理部３＿Ｎは、第Ｎの出力ポート１０＿Ｎに対応する。１つのフレーム処理部から出力されたデータとしてのフレームは、対応する出力ポートを通して中継装置１の外部に出力される。
【００１５】
フレーム処理部に関し、以下では、第１の出力ポート１０＿１に対応する第１のフレーム処理部３＿１（以下、単に「フレーム処理部３＿１」という）について説明するが、各フレーム処理部の構成及び基本的な動作は互いに同じである。
【００１６】
フレーム識別部２は、中継装置１に入力されたフレーム（以下、受信フレームともいう）の種別を識別し、フレームの種別に応じてフレームを転送する。具体的には、フレーム識別部２は、受信フレームのヘッダ又はペイロード（ヘッダを除いたデータ領域）に定義されているアドレス及び識別子を判別基準として用いて、受信フレームを、高優先フレーム、低優先フレーム、又は分割サイズ通知フレームに振り分け、フレーム処理部３＿１に向けて転送する。
【００１７】
フレーム処理部３＿１は、分割サイズ取得部４と、シフトレジスタ５と、低優先フレーム処理部６と、転送フレーム選択部７と、出力制御部８とを有する。
【００１８】
フレーム処理部３＿１に入力された受信フレームは、フレーム処理部３＿１内の制御に従って、対応する出力ポート（本実施の形態では、第１の出力ポート１０＿１）を通して中継装置１の外部へ出力される。
【００１９】
図２は、フレーム処理部３＿１の具体的なハードウェア構成の一例を示す図である。
フレーム処理部３＿１は、例えば、メモリ３ａ及びＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサ３ｂによって構成することができる。この場合、フレーム処理部３＿１の機能は、メモリ３ａ及びプロセッサ３ｂによって実現される。ただし、フレーム処理部３＿１の具体的なハードウェア構成は、図２に示される構成に限られない。
【００２０】
分割サイズ取得部４は、例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）内部のレジスタ及び論理回路の組み合わせで構成される。
【００２１】
分割サイズ取得部４は、中継装置１が受信可能な最小フレーム長（分割されたフレームの最も小さいフレーム長）を示す情報（例えば、Ａ［ｂｙｔｅ］）を、分割サイズ通知フレームｆ１に設定する。分割サイズ取得部４は、中継装置１についてのポートリンクアップを行うときに、転送フレーム選択部７からの出力指示に従って、最小フレーム長を示す情報を含む分割サイズ通知フレームｆ１を出力制御部８に向けて送信する。
【００２２】
図３は、分割サイズ通知フレームｆ１におけるデータ記録形式（フレームフォーマットともいう）の一例を示す図である。
最小フレーム長は、ＬＬＤＰ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）フレームとしての分割サイズ通知フレームｆ１のＤａｔａのオプション領域に設定される。例えば、図３に示されるように、最小フレーム長は、分割サイズ通知フレームｆ１のＤａｔａ欄のオプション１の項目に設定される。さらに、オプション１に設定された分割サイズの有効又は無効を設定するフラグとして有効フラグ又は無効フラグを、他のオプション（例えば、オプション３）に設定してもよい。
【００２３】
図４は、２台の中継装置（すなわち、前段装置としての中継装置１及び後段装置としての中継装置１ａ）間における分割サイズ通知フレームを用いた通信（ポートリンクアップ処理）の一例を示すシーケンス図である。中継装置１ａは、中継装置１と通信を行う通信装置である。中継装置１ａは、本実施の形態に係る中継装置１と同じ構成及び機能を有する。
【００２４】
中継装置１が中継装置１ａと共にポートリンクアップ処理を行うとき、中継装置１及び中継装置１ａは、受信可能な低優先フレームの最小フレーム長を、分割サイズ通知フレームを用いて互いに通知する。図４に示される例では、中継装置１は、受信可能な低優先フレームの最小フレーム長がＸ［ｂｙｔｅ］であることを、分割サイズ通知フレームｆ１を用いて中継装置１ａに通知する。中継装置１ａは、受信可能な低優先フレームの最小フレーム長がＡ［ｂｙｔｅ］であることを、分割サイズ通知フレームｆ２を用いて中継装置１に通知する。分割サイズ通知フレームｆ２も図３に示される例と同様に構成することができる。
【００２５】
中継装置１が中継装置１ａから分割サイズ通知フレームｆ２を受信すると、分割サイズ通知フレームｆ２がフレーム識別部２から分割サイズ取得部４に転送され、分割サイズ取得部４は、分割サイズ通知フレームｆ２の中に設定されている情報に基づいて、中継装置１ａが受信可能な低優先フレームの最小フレーム長がＡ［ｂｙｔｅ］であることを転送フレーム選択部７に通知する。この場合、例えば、分割サイズ取得部４は、中継装置１ａから分割サイズ通知フレームｆ２を受信すると、分割サイズ通知フレームｆ２を転送フレーム選択部７に転送する。
【００２６】
分割サイズ取得部４は、通信対象である他の通信装置（本実施の形態では、中継装置１ａ）から分割サイズ通知フレームｆ２を受信しているかどうかを判定するための分割サイズ通知フレーム受信タイマーを持っている。例えば、中継装置１が中継装置１ａと共にポートリンクアップ処理を行うとき、中継装置１が分割サイズ通知フレームｆ１を送信するタイミングで分割サイズ通知フレーム受信タイマーが起動される。
【００２７】
分割サイズ取得部４に設定されている時間インターバル内で、中継装置１が中継装置１ａから分割サイズ通知フレームｆ２を受信していない場合は、中継装置１ａが受信可能な低優先フレームの最小フレーム長（すなわち、分割可能な最小フレーム長）を、例えば、ＩＥＥＥ８０２．３ｂｒで規定された分割サイズである６４［ｂｙｔｅ］に設定して転送フレーム選択部７に通知する。
【００２８】
シフトレジスタ５には、フレーム識別部２で振り分けられた高優先フレームが格納される。シフトレジスタ５に高優先フレームの先頭が入力されたとき、シフトレジスタ５は、高優先フレームの先頭がシフトレジスタ５に入力されたことを通知するための高優先フレーム入力通知を転送フレーム選択部７に送信する。シフトレジスタ５は、転送フレーム選択部７からの出力指示に従って、高優先フレームを出力制御部８に向けて転送する。
【００２９】
本実施の形態では、ＩＥＥＥ８０２．３ｂｒで規定されたサイズで構成されたシフトレジスタ５を用いる。この場合、シフトレジスタ５では、分割されたフレームの最小フレーム長をＡ［ｂｙｔｅ］とすると、Ａ［ｂｙｔｅ］×２−１＋ＩＦＧ（Ｉｎｔｅｒ  Ｆｒａｍｅ  Ｇａｐ）で示される段数のシフトが行われる。
【００３０】
低優先フレーム処理部６には、フレーム識別部２で振り分けられた低優先フレームが格納される。低優先フレーム処理部６に低優先フレームの全体が格納されたとき、低優先フレーム処理部６は、低優先フレームの転送要求を転送フレーム選択部７に送信すると共に、低優先フレーム全長と、転送完了低優先フレーム長と、転送未完了低優先フレーム長とを転送フレーム選択部７に通知する。低優先フレーム処理部６は、低優先フレーム処理部６に低優先フレームが格納されている間、低優先フレームの転送要求と、低優先フレーム全長、転送完了低優先フレーム長、及び転送未完了低優先フレーム長の通知とを定期的に行う。
【００３１】
低優先フレーム全長は、低優先フレーム処理部６に格納された先頭の１フレームの長さを示す。転送完了低優先フレーム長は、低優先フレームの転送が中断されたときまでに低優先フレーム処理部６からの転送が完了された低優先フレームの長さを示す。転送未完了低優先フレーム長は、低優先フレーム処理部６に格納された低優先フレームのうち転送がされていない低優先フレームの長さを示し、すなわち、低優先フレーム全長と転送完了低優先フレーム長との差分を示す。
【００３２】
低優先フレーム処理部６は、転送フレーム選択部７から出力指示（転送許可ともいう）を受信したとき、転送フレーム選択部７からの出力指示に従って、低優先フレームを出力制御部８に向けて転送する。低優先フレーム処理部６は、転送フレーム選択部７によって設定された低優先フレームの分割サイズ（すなわち、最小フレーム長）に低優先フレームを分割し、分割された低優先フレームの転送を行うことができる。
【００３３】
転送フレーム選択部７は、分割サイズ取得部４、シフトレジスタ５、及び低優先フレーム処理部６を制御する。例えば、転送フレーム選択部７は、分割サイズ通知フレームを要求するとき、分割サイズ取得部４に出力指示を送信する。転送フレーム選択部７は、高優先フレームの転送を要求するとき、シフトレジスタ５に出力指示を送信する。転送フレーム選択部７は、低優先フレーム処理部６に格納されている低優先フレームの長さ又は低優先フレーム処理部６から転送された低優先フレームの長さに基づいて低優先フレームの転送を制御することができる。
【００３４】
さらに、転送フレーム選択部７は、低優先フレームの分割サイズ（すなわち、分割された低優先フレームの長さ）を設定する。
【００３５】
出力制御部８は、中継装置１の外部へのフレームの出力を制御する。本実施の形態では、出力制御部８は、転送フレーム選択部７の制御指示に基づいて、フレームを出力する。さらに、出力制御部８は、低優先フレーム処理部６から転送された、分割された低優先フレームを、低優先フレーム処理部６から転送された他の低優先フレームと結合する。出力制御部８は、結合された低優先フレームを、第１の出力ポート１０＿１を通して他の通信装置（本実施の形態では、中継装置１ａ）に向けて転送する。
【００３６】
図５は、転送フレーム選択部７におけるフレーム転送制御を示すフローチャートである。
【００３７】
中継装置１がポートリンクアップを行うとき、転送フレーム選択部７は、分割サイズ通知フレームｆ１を通信対象である他の通信装置（本実施の形態では、中継装置１ａ）に送信するように分割サイズ取得部４を制御する（ステップＳ１）。分割サイズ取得部４は、転送フレーム選択部７からの出力指示に従って、分割サイズ通知フレームｆ１を送信する。分割サイズ取得部４は、中継装置１ａから分割サイズ通知フレームｆ２を受信すると、分割サイズ通知フレームｆ２を転送フレーム選択部７に転送する。
【００３８】
ステップＳ２では、転送フレーム選択部７は、分割サイズ取得部４から分割サイズ通知フレームｆ２を受信したかどうか判定する。
【００３９】
転送フレーム選択部７が分割サイズ通知フレームｆ２を受信していない場合（ステップＳ２においてＮＯ）、転送フレーム選択部７は、低優先フレームの分割サイズを、例えば、ＩＥＥＥ８０２．３ｂｒで規定された最小分割サイズである６４ｂｙｔｅに設定し（ステップＳ３）、処理はステップＳ５に遷移する。
【００４０】
転送フレーム選択部７が分割サイズ通知フレームｆ２を受信している場合（ステップＳ２においてＹＥＳ）、転送フレーム選択部７は、その分割サイズ通知フレームｆ２に基づいて、低優先フレームの分割サイズをＡ［ｂｙｔｅ］に設定する（ステップＳ４）。本実施の形態では、転送フレーム選択部７は、低優先フレームの分割サイズを６４ｂｙｔｅよりも小さいサイズに設定する。
【００４１】
ステップＳ５では、転送フレーム選択部７は、シフトレジスタ５から高優先フレーム入力通知を受信したか判定する。転送フレーム選択部７がシフトレジスタ５から高優先フレーム入力通知を受信していない場合（ステップＳ５においてＮＯ）、処理はステップＳ１４に遷移する。
【００４２】
転送フレーム選択部７がシフトレジスタ５から高優先フレーム入力通知を受信している場合（ステップＳ５においてＹＥＳ）、処理はステップＳ６に遷移する。
【００４３】
ステップＳ６では、転送フレーム選択部７は、低優先フレーム処理部６から低優先フレームが転送中であるか判定する。低優先フレームが転送中ではない場合（ステップＳ６においてＮＯ）、処理はステップＳ１３に遷移する。
【００４４】
低優先フレーム処理部６から低優先フレームが転送中である場合（ステップＳ６においてＹＥＳ）、処理はステップＳ７に遷移する。
【００４５】
ステップＳ７では、転送フレーム選択部７は、低優先フレーム全長が予め定められた長さＢ１（本実施の形態では、２×Ａ［ｂｙｔｅ］）以上か判定する。すなわち、本実施の形態では、転送フレーム選択部７は、低優先フレーム全長が２×Ａ［ｂｙｔｅ］以上か判定する。
【００４６】
低優先フレーム全長が予め定められた長さＢ１（本実施の形態では、２×Ａ［ｂｙｔｅ］）未満である場合（ステップＳ７においてＮＯ）、転送フレーム選択部７は、低優先フレーム処理部６に格納されている低優先フレームを全て転送するように低優先フレーム処理部６へ出力指示を送信する（ステップＳ９）。低優先フレーム処理部６は、転送フレーム選択部７から出力指示を受信すると、低優先フレーム処理部６内の全ての低優先フレームを出力制御部８に向けて転送する。
【００４７】
低優先フレーム全長が予め定められた長さＢ１（本実施の形態では、２×Ａ［ｂｙｔｅ］）以上である場合（ステップＳ７においてＹＥＳ）、処理はステップＳ８に遷移する。
【００４８】
ステップＳ８では、転送フレーム選択部７は、低優先フレーム処理部６に格納されている低優先フレームである転送未完了フレームの長さ（以下、「転送未完了フレーム長」という）が予め定められた長さＢ２以上であるか判定する。予め定められた長さＢ２は、分割サイズ取得部４から通知された最小フレーム長である。したがって、本実施の形態では、予め定められた長さＢ２はＡ［ｂｙｔｅ］であるので、転送フレーム選択部７は、転送未完了フレーム長がＡ［ｂｙｔｅ］以上であるか判定する。
【００４９】
転送未完了フレーム長が予め定められた長さＢ２（本実施の形態では、分割サイズであるＡ［ｂｙｔｅ］）未満である場合（ステップＳ８においてＮＯ）、転送フレーム選択部７は、低優先フレーム処理部６に格納されている低優先フレームを全て転送するように低優先フレーム処理部６へ出力指示を送信し（ステップＳ９）、処理はステップＳ１３に遷移する。
【００５０】
転送未完了フレーム長が予め定められた長さＢ２（本実施の形態では、Ａ［ｂｙｔｅ］）以上である場合（ステップＳ８においてＹＥＳ）、処理はステップＳ１０に遷移する。
【００５１】
ステップＳ１０では、転送フレーム選択部７は、低優先フレーム処理部６から転送された低優先フレームである転送完了フレームの長さ（以下、「転送完了フレーム長」という）が予め定められた長さＢ２以上であるか判定する。予め定められた長さＢ２は、上述のように、分割サイズ取得部４から通知された最小フレーム長である。したがって、本実施の形態では、転送フレーム選択部７は、転送完了フレーム長がＡ［ｂｙｔｅ］以上であるか判定する。
【００５２】
転送完了フレーム長が予め定められた長さＢ２（本実施の形態では、Ａ［ｂｙｔｅ］）以上である場合（ステップＳ１０においてＹＥＳ）、処理はステップＳ１２に遷移する。
【００５３】
転送完了フレーム長が予め定められた長さＢ２（本実施の形態では、Ａ［ｂｙｔｅ］）未満である場合（ステップＳ１０においてＮＯ）、転送フレーム選択部７は、低優先フレーム処理部６に格納されている低優先フレームを長さＢ２（本実施の形態では、Ａ［ｂｙｔｅ］）まで転送するように低優先フレーム処理部６へ出力指示を送信し（ステップＳ１１）、処理はステップＳ１２に遷移する。低優先フレーム処理部６は、転送フレーム選択部７から出力指示を受信すると、低優先フレームを長さＢ２まで出力制御部８に向けて転送する。
【００５４】
ステップＳ１２では、転送フレーム選択部７は、低優先フレームの転送を中断するように低優先フレーム処理部６を制御し、低優先フレーム処理部６に格納されている低優先フレームを、分割サイズ取得部４から通知された分割サイズである最小フレーム長（本実施の形態では、Ａ［ｂｙｔｅ］）に分割するように低優先フレーム処理部６を制御する。この場合、低優先フレーム処理部６は、低優先フレームの転送を中断し、分割サイズに基づいて低優先フレームを分割する。
【００５５】
ステップＳ１３では、転送フレーム選択部７は、シフトレジスタ５内の全ての高優先フレームを転送するようにシフトレジスタ５を制御する。特に、ステップＳ１２の後のステップＳ１３では、低優先フレームの転送が中断しているとき、転送フレーム選択部７は、シフトレジスタ５内の全ての高優先フレームを転送するようにシフトレジスタ５を制御する。
【００５６】
ステップＳ１３では、具体的には、転送フレーム選択部７は、シフトレジスタ５に出力指示を送信する。シフトレジスタ５は、転送フレーム選択部７から出力指示を受信すると、全ての高優先フレームを出力制御部８に向けて転送する。
【００５７】
ステップＳ１４では、転送フレーム選択部７は、低優先フレーム処理部６に低優先フレーム（分割された低優先フレームを含む）が格納されているか判定する。
【００５８】
低優先フレーム処理部６に低優先フレーム（分割された低優先フレームを含む）が格納されていない場合（ステップＳ１４においてＮＯ）、処理はステップＳ５に戻る。
【００５９】
低優先フレーム処理部６に低優先フレーム（分割された低優先フレームを含む）が格納されている場合（ステップＳ１４においてＹＥＳ）、シフトレジスタ５から高優先フレームが転送された後に、転送フレーム選択部７は、最小フレーム長（本実施の形態では、Ａ［ｂｙｔｅ］）の低優先フレーム（すなわち、分割された低優先フレーム）の転送を行うように低優先フレーム処理部６を制御する（ステップＳ１５）。具体的には、転送フレーム選択部７は、低優先フレーム処理部６に出力指示を送信する。出力制御部８は、低優先フレーム処理部６から転送された、分割された低優先フレームを、低優先フレーム処理部６から転送された他の低優先フレームと結合する。さらに、出力制御部８は、結合された低優先フレームを、第１の出力ポート１０＿１を通して中継装置１ａに向けて転送する。
【００６０】
本発明の実施の形態に係る中継装置１の効果について以下に説明する。
【００６１】
図６は、比較例１に係る中継装置で低優先フレームＬ及び高優先フレームＨの転送競合が発生したときの中継装置から出力されるフレームを示す図である。
【００６２】
比較例１に係る中継装置では、低優先フレームＬ及び高優先フレームＨの転送競合が発生したとき、低優先フレームＬのうちの廃棄可能な部分である低優先フレームＬ０が中継装置から出力されるとともに、低優先フレームＬの出力が中断される。中継装置から出力された低優先フレームＬ０は後段装置で廃棄され、低優先フレームＬは、高優先フレームＨが出力された後に中継装置から出力される。そのため、比較例１に係る中継装置における転送方式では実行帯域が低下する。
【００６３】
図７は、比較例２に係る中継装置で低優先フレームＬ及び高優先フレームＨの転送競合が発生したときの中継装置から出力されるフレームを示す図である。
【００６４】
比較例２に係る中継装置では、ＩＥＥＥ８０２．３ｂｒで規定された転送方式が用いられる。比較例２に係る中継装置では、低優先フレームＬ及び高優先フレームＨの転送競合が発生したとき、低優先フレームＬを分割して中継装置から出力し、後段装置で分割された低優先フレームの結合が行われる。これにより、低優先フレームの廃棄を回避することができる。しかしながら、ＩＥＥＥ８０２．３ｂｒで規定された転送方式では、低優先フレームの分割フレームの長さが６４ｂｙｔｅ以上と定義されているため、１２７ｂｙｔｅ以下のフレームは分割することができない。そのため、比較例２に係る中継装置では、高優先フレームＨと、１２７ｂｙｔｅ以下のフレーム長である低優先フレームＬとが競合した場合、その低優先フレームＬを全て転送した後でなければ高優先フレームＨを転送できない。したがって、低優先フレームＬの長さが１２７ｂｙｔｅであるとき、ｔ１＝１２７＋ＩＦＧ［ｂｙｔｅ］のデータ送信時間の遅延及び転送間隔の揺らぎが発生する。
【００６５】
図８は、本実施の形態に係る中継装置１で低優先フレーム及び高優先フレームの転送競合が発生したときの中継装置１から出力されるフレームを示す図である。
【００６６】
本実施の形態に係る中継装置１では、分割可能な最小フレーム長は、Ａ［ｂｙｔｅ］であり、高優先フレームの最大遅延揺らぎはＡ×２−１＋ＩＦＧ［ｂｙｔｅ］である。本実施の形態では、他の通信装置である中継装置１ａから受信した分割サイズ通知フレームｆ２に基づいて、低優先フレームの分割サイズを、Ａ［ｂｙｔｅ］に設定する（図５におけるステップＳ４）。したがって、分割サイズ通知フレームｆ２に従って低優先フレームの分割サイズを６４ｂｙｔｅよりも小さく設定することができる。
【００６７】
したがって、最小フレーム長Ａ［ｂｙｔｅ］を、６４［ｂｙｔｅ］よりも小さくすることにより高優先フレームの最大遅延時間及び最大揺らぎの合計ｔ２を、比較例２に係る中継装置における高優先フレームの遅延時間及び揺らぎ、すなわちｔ１＝１２７＋ＩＦＧ［ｂｙｔｅ］よりも小さくすることができる。その結果として、本実施の形態に係る中継装置１は、低優先フレームの廃棄を行わずに、高優先フレームの遅延時間を低減し転送間隔の揺らぎを低減することができる。
【００６８】
ただし、中継装置１で分割された低優先フレームを、後段装置（例えば、中継装置１ａ）で他の低優先フレームと結合してもよい。これにより、比較例１に係る中継装置に比べて低優先フレームの実効帯域を保つことができる。
【００６９】
実施の形態２．
上述の実施の形態１では、後段装置が受信可能な最小フレーム長（すなわち、Ａ［ｂｙｔｅ］）に基づいて、前段装置において低優先フレームの分割サイズを設定しデータ転送を行う方法について説明した。実施の形態２では、前段装置での分割可能な低優先フレームの最小フレーム長と、後段装置での分割可能な低優先フレームの最小フレーム長とに基づいて、前段装置及び後段装置において低優先フレームの分割サイズを設定しデータ転送を行う方法について説明する。実施の形態２では、実施の形態１に係る中継装置１の動作と異なる動作について説明する。
【００７０】
図９は、実施の形態２における２台の中継装置（すなわち、前段装置としての中継装置１及び後段装置としての中継装置１ａ）間における分割サイズ通知フレームを用いた通信（ポートリンクアップ処理）の一例を示すシーケンス図である。
図１０は、実施の形態２における２台の中継装置（すなわち、前段装置としての中継装置１及び後段装置としての中継装置１ａ）間における分割サイズ通知フレームを用いた通信（ポートリンクアップ処理）の他の例を示すシーケンス図である。
図１１は、転送フレーム選択部７におけるフレーム転送制御の一部を示すフローチャートである。実施の形態２では、図１１における処理は、図５に示されるステップＳ１からＳ４までの処理と置き換えられる。
【００７１】
実施の形態１では、図５に示されるステップＳ１からＳ４までの処理において、前段装置としての中継装置１がポートリンクアップを行うとき、後段装置としての中継装置１ａから受信した分割サイズ通知フレームｆ２に基づいて低優先フレームの分割サイズ（すなわち、最小フレーム長）を設定する（ステップＳ４）。一方、実施の形態２では、前段装置としての中継装置１の分割サイズ取得部４が分割可能な分割サイズと、後段装置としての中継装置１ａが分割可能な分割サイズとを比較して、低優先フレームの分割サイズを設定する。具体的には、中継装置１及び１ａにおいて、分割可能な最小フレーム長が大きい方を、中継装置１及び１ａにおける低優先フレームの分割サイズとして設定し、互いに設定の通知を行う。これにより、中継装置１及び１ａの両方が分割可能な低優先フレームの最小フレーム長が、低優先フレームの分割サイズとして中継装置１及び１ａにおいて設定される。
【００７２】
中継装置１がポートリンクアップを行うとき、転送フレーム選択部７は、分割サイズ通知フレームｆ１を通信対象である他の通信装置（本実施の形態では、中継装置１ａ）に送信するように分割サイズ取得部４を制御する（ステップＳ２１）。分割サイズ通知フレームｆ１には、中継装置１（具体的には、低優先フレーム処理部６）が分割可能な低優先フレームの最小分割サイズ（すなわち、最小フレーム長Ｘ１［ｂｙｔｅ］）を示す情報が含まれる。
【００７３】
分割サイズ取得部４は、転送フレーム選択部７からの出力指示に従って、分割サイズ通知フレームｆ１を中継装置１ａに向けて送信する。これにより図９に示されるように、中継装置１と中継装置１ａとの間で、分割サイズ通知フレームｆ１及びｆ２の通信が行われ、分割可能な最小分割サイズを互いに通知し合う。中継装置１ａは、最小フレーム長Ｘ１と最小フレーム長Ｘ２とを比較し、大きい方を分割サイズとして設定する。分割サイズ取得部４は、中継装置１ａから分割サイズ通知フレームｆ２を受信すると、分割サイズ通知フレームｆ２を転送フレーム選択部７に転送する。分割サイズ通知フレームｆ２には、中継装置１ａが分割可能な最小分割サイズ（すなわち、最小フレーム長Ｘ２［ｂｙｔｅ］）を示す情報が含まれる。
【００７４】
ステップＳ２２では、転送フレーム選択部７は、分割サイズ取得部４から分割サイズ通知フレームｆ２を受信したかどうか判定する。
【００７５】
転送フレーム選択部７が分割サイズ通知フレームｆ２を受信していない場合（ステップＳ２２においてＮＯ）、低優先フレームの分割サイズを、例えば、ＩＥＥＥ８０２．３ｂｒで規定された最小分割サイズである６４ｂｙｔｅに設定し（ステップＳ２３）、処理はステップＳ５（図５）に遷移する。
【００７６】
転送フレーム選択部７が分割サイズ通知フレームｆ２を受信している場合（ステップＳ２２においてＹＥＳ）、転送フレーム選択部７は、最小フレーム長Ｘ１と最小フレーム長Ｘ２とを比較する（ステップＳ２４）。
【００７７】
最小フレーム長Ｘ１が最小フレーム長Ｘ２よりも小さい場合（ステップＳ２４においてＹＥＳ）、転送フレーム選択部７は、その分割サイズ通知フレームｆ２に基づいて、低優先フレームの分割サイズを、Ｘ２［ｂｙｔｅ］に設定し、分割サイズ通知フレームｆ１を通信対象である他の通信装置（本実施の形態では、中継装置１ａ）に送信するように分割サイズ取得部４を制御する（ステップＳ２５）。この場合、分割サイズ通知フレームｆ１には、中継装置１で設定される最小フレーム長を示す情報としてＸ２［ｂｙｔｅ］が含まれている。
【００７８】
最小フレーム長Ｘ１が最小フレーム長Ｘ２よりも小さい場合（ステップＳ２４においてＹＥＳ）、図９に示されるように、中継装置１（具体的には、分割サイズ取得部４）は、中継装置１において設定する分割サイズ（最小フレーム長Ｘ２［ｂｙｔｅ］）を、分割サイズ通知フレームｆ３を用いて中継装置１ａに通知する（ステップＳ２５）。分割サイズ通知フレームｆ３も図３に示される例と同様に構成することができる。
【００７９】
最小フレーム長Ｘ１が最小フレーム長Ｘ２以上である場合（ステップＳ２４においてＮＯ）、転送フレーム選択部７は、低優先フレームの分割サイズを、Ｘ１に設定する。この場合、図１０に示されるように、中継装置１は、中継装置１ａから分割サイズ通知フレームｆ４を受信し、中継装置１ａで設定される分割サイズもＸ１であることを中継装置１ａから通知される。分割サイズ通知フレームｆ４も図３に示される例と同様に構成することができる。
【００８０】
実施の形態２によれば、実施の形態１で説明した効果と同じ効果を得ることができる。
【符号の説明】
【００８１】
１，１ａ  中継装置、  ２  フレーム識別部、  ３＿１，３＿２  フレーム処理部、  ４  分割サイズ取得部、  ５  シフトレジスタ、  ６  低優先フレーム処理部、  ７  転送フレーム選択部、  ８  出力制御部、  ９＿１，９＿２  入力ポート、  １０＿１，１０＿２  出力ポート。
【図１】
0006752355.tif 000002
【図２】
0006752355.tif 000003
【図３】
0006752355.tif 000004
【図４】
0006752355.tif 000005
【図５】
0006752355.tif 000006
【図６】
0006752355.tif 000007
【図７】
0006752355.tif 000008
【図８】
0006752355.tif 000009
【図９】
0006752355.tif 000010
【図１０】
0006752355.tif 000011
【図１１】
0006752355.tif 000012