(57)【要約】【課題】帯域の余分な消費を軽減しつつショートフレームの遅延を抑えるデータ伝送装置及びデータ伝送方法を提供する。【解決手段】受信ＩＦ１１、１２は、送信元からのフレームを受信する。送信ＩＦ７１、７２は、送信元から受信したフレームを出力する。フレームカウント部５１、５２は、出力ＩＦ７１、７２から出力されるフレームのうち所定値以下の大きさを有するフレームを送信元毎にカウントする。フラグメント制御部８は、所定値以下の大きさを有するフレームが所定数連続してカウントされた送信元がある場合、他の送信元からの所定値より大きいフレームをフラグメントし、フラグメントしたフレームを出力ＩＦ７１、７２から出力させる。【選択図】図１
2013239855.tif 000002
【特許請求の範囲】
【請求項１】
送信元からのフレームを受信する受信部と、
前記送信元から受信したフレームを出力する出力部と、
前記出力部から出力されるフレームのうち所定値以下の大きさを有するフレームを前記送信元毎にカウントするフレームカウント部と、
前記所定値以下の大きさを有するフレームが所定数連続してカウントされた前記送信元がある場合、他の送信元からの前記所定値より大きいフレームをフラグメントし、フラグメントしたフレームを前記出力部から出力させるフラグメント制御部と
を備えたことを特徴とするデータ伝送装置。
【請求項２】
前記フラグメント制御部は、前記所定値以下の大きさを有するフレームが所定数連続してカウントされた前記送信元がない場合には、他の送信元からの前記所定値より大きいフレームをそのまま前記出力部から出力させることを特徴とする請求項１に記載のデータ伝送装置。
【請求項３】
前記受信部は、所定区分で分けられた前記送信元からのフレームを受信し、
前記フレームカウント部は、前記所定区分毎にフレームをカウントし、
前記フラグメント制御部は、前記所定値以下の大きさを有するフレームが前記所定数連続してカウントされる特定の区分がある場合、他の区分に属する送信元からの前記所定値より大きいフレームをフラグメントし、フラグメントしたフレームを前記出力部から出力させる
ことを特徴とする請求項１又は請求項２に記載のデータ伝送装置。
【請求項４】
前記出力部は複数あり、
前記フレームカウント部は、前記所定値以下の大きさを有するフレームを前記出力部毎にカウントし、
前記フラグメント制御部は、特定の前記出力部において前記所定値以下の大きさを有するフレームが所定数連続してカウントされた前記送信元がある場合、他の前記送信元からのフレームであって該特定の出力部から出力される前記所定値より大きいフレームをフラグメントする
ことを特徴とする請求項１〜３のいずれか一つに記載のデータ伝送装置。
【請求項５】
前記フラグメント制御部は、前記他の送信元からのフレームをフラグメントしている場合、前記所定値以下の大きさを有するフレームが所定数連続してカウントされた前記送信元からの、前記所定値以下の大きさを有するフレームの受信の停止又は前記所定長より大きいフレームの受信を受けて、前記他の送信元からのフレームのフラグメントを解除することを特徴とする請求項１〜４のいずれか一つに記載のデータ伝送装置。
【請求項６】
前記フラグメント制御部は、前記他の送信元からのフレームのフラグメントを解除する場合に、前記所定値以下の大きさを有するフレームが所定数連続してカウントされた前記送信元からの、前記所定値以下の大きさを有するフレームの受信の停止又は前記所定長より大きいフレームの受信を受けてから所定期間フラグメントを実行してからフラグメントを解除することを特徴とする請求項５に記載のデータ伝送装置。
【請求項７】
送信元からのフレームを受信し、
出力ポートから出力される所定値以下の大きさ有するフレームの数を前記送信元毎にカウントし、
前記所定値以下の大きさを有するフレームが所定数連続してカウントされた前記送信元がある場合、他の前記送信元からの前記所定値より大きいフレームをフラグメントし、
フラグメントしたフレームを前記出力ポートから出力させる
ことを特徴とするデータ伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ伝送装置及びデータ伝送方法に関する。
【背景技術】
【０００２】
近年、様々なネットワークサービスの充実により、ネットワーク上を流れるデータ量が急激に増大してきている。一方、データ伝送装置などのネットワーク機器においては通信速度や処理速度などの高速化が進んでいる。これに伴い、ネットワーク上に流れる大量のデータを迅速に処理するため、データ伝送装置においては、１つのフレームで大きなデータを扱うロングフレームへの対応が求められている。例えば、９０００バイトを超えるような大きなサイズのフレームは、ジャンボフレームと呼ばれることがある。
【０００３】
ショートフレームとロングフレームとを１つのネットワークで用いる場合、ロングフレームがネットワーク内に流入すると、そのロングフレームが処理される間、ショートフレームは処理待ち状態となる。このため、ショートフレームに対する処理が遅延するおそれがある。ショートフレームに対する処理が遅延した場合、例えば、ショートフレームを処理するコンピュータへのショートフレームの到達時刻がまちまちになってしまう。この場合、コンピュータにおけるショートフレームの受信順が入れ替わることが考えられる。このように受信したショートフレームの順番が入れ替わっている場合、それらを受信したコンピュータが処理を正確に行えないおそれがある。
【０００４】
ロングフレームに対する技術として、ＡＴＭ（Asynchronous  Transfer  Mode）セルが到着した後所定の時間が経過すると、ＡＴＭセルを一定サイズに分割してフラグメント化したＩＰ（Internet  Protocol）パケットを生成して送信する従来技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−３０３５１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、所定の時間が経過した場合にフラグメントを行う従来技術では、遅延の原因がロングフレームによらない場合にも、フレームの分割を行うおそれがある。フラグメントを行った場合、分割したフレーム毎の情報の付加やフレーム間ギャップの増加によりオーバヘッドが多くなってしまう。そのため、余分なフラグメントを行った場合、トラフィックレートが大きくなり、余分に帯域を消費し、且つデータ処理も遅くなってしまう。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、帯域の余分な消費を軽減しつつショートフレームの遅延を抑えるデータ伝送装置及びデータ伝送方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示するデータ伝送装置及びデータ伝送方法は、１つの態様において、受信部は、送信元からのフレームを受信する。出力部は、前記送信元から受信したフレームを出力する。フレームカウント部は、前記出力部から出力されるフレームのうち所定値以下の大きさを有するフレームを前記送信元毎にカウントする。フラグメント制御部は、前記所定値以下の大きさを有するフレームが所定数連続してカウントされた前記送信元がある場合、他の送信元からの前記所定値より大きいフレームをフラグメントし、フラグメントしたフレームを前記出力部から出力させる。
【発明の効果】
【０００９】
本願の開示するデータ伝送装置及びデータ伝送方法の１つの態様によれば、帯域の余分な消費を軽減しつつショートフレームの遅延を抑えることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係るデータ伝送装置のブロック図である。
【図２】図２は、パスの状態の一例を説明するための図である。
【図３】図３は、パス接続管理テーブルの一例の図である。
【図４】図４は、カウンタ管理テーブルの一例の図である。
【図５】図５は、優先パス判定テーブルの一例の図である。
【図６】図６は、フラグメント状態管理テーブルの一例の図である。
【図７】図７は、フラグメント制御処理の全体的な流れを表すフローチャートである。
【図８】図８は、フレームカウンタ値の収集及びフレームの送信状態判定のフローチャートである。
【図９】図９は、優先パス状態判定のフローチャートである。
【図１０】図１０は、フラグメント制御方法の決定のフローチャートである。
【図１１】図１１は、フラグメント制御状態決定のフローチャートである。
【図１２】図１２は、実施例１に係るデータ伝送装置によるフラグメント処理の制御のシーケンス図である。
【図１３】図１３は、データ伝送装置のハードウェア構成図である。
【図１４】図１４は、実施例２に係るデータ伝送装置のブロック図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示するデータ伝送装置及びデータ伝送方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示するデータ伝送装置及びデータ伝送方法が限定されるものではない。
【実施例１】
【００１２】
図１は、実施例１に係るデータ伝送装置のブロック図である。図１に示すように本実施例に係るデータ伝送装置１は、受信ＩＦ（Inter  Face）１１、１２、受信バッファ２１、２２、フラグメント処理部３１、３２、スイッチ部４、フレームカウント部５１、５２、送信バッファ６１、６２及び送信ＩＦ７１、７２を有している。さらに、データ伝送装置１は、フラグメント制御部８、フレームカウント収集部９、記憶部１０及びユーザインタフェース１１０を有している。
【００１３】
本実施例では、各フレームが流れる経路は、ＶＬＡＮ（Virtual  Local  Area  Network）により指定される。すなわち、各フレームは、指定されたＶＬＡＮ毎に通過経路が区分けされ、同じＶＬＡＮを用いることを指定されたデータは同じ経路を通過する。各フレームには、ＶＬＡＮの識別情報が含まれている。以下では、ＶＬＡＮによって指定されるデータ伝送装置１内の経路をパスという。言い換えれば、同じＶＬＡＮを用いることを指定されたフレームは同じパスを通過する。ただし、本実施例では、ＶＬＡＮにより転送するフレームの通過経路を区分けしたが、これは他の区分けを用いてもよく、例えば、装置から出力されたフレームがそれぞれ異なる経路、すなわち異なるパスを通過してもよい。
【００１４】
受信ＩＦ１１及び１２は、外部から入力されるフレームを受信するインタフェースである。受信ＩＦ１１は、外部から入力されたフレームを受信し、受信バッファ２１へ出力する。また、受信ＩＦ１２は、外部から入力されたフレームを受信し、受信バッファ２２へ出力する。
【００１５】
受信バッファ２１は、受信ＩＦ１１から受信したフレームを格納していく。受信バッファ２２は、受信ＩＦ１２から受信したフレームを格納していく。
【００１６】
フラグメント処理部３１は、受信バッファ２１に格納されているフレームを順次読み出していく。そして、フラグメント処理部３１は、ユーザトラフィック毎、すなわち本実施例ではＶＬＡＮ毎にフレームを処理していく。図１のフラグメント処理部３１内の「１−１」〜「１−４」は、フラグメント処理部３１におけるＶＬＡＮ毎の処理機能を表している。ここで、「１−１」〜「１−４」は、前段の数字が受信したインタフェースを表し、後段の数字がＶＬＡＮを表している。前段の数字が「１」の場合は受信ＩＦ１１を表しており、前段の数字が「２」の場合は受信ＩＦ１２を表している。例えば、「１−１」は、受信ＩＦ１１から入力されたＶＬＡＮ識別子が１００のデータを処理する。そして、「１−１」〜「１−４」は、受信ＩＦ１１から入力されたフレームであり、且つそれぞれ異なるＶＬＡＮのフレームを処理する。フラグメント処理部３１によるフレームに対する処理の内容は次に説明する。
【００１７】
フラグメント処理部３１は、ＶＬＡＮ毎、すなわちパス毎にフラグメントを実行するフラグメント設定の指示、又はフラグメントの実行を停止するフラグメント解除の指示をフラグメント制御部８から受ける。
【００１８】
フラグメント処理部３１は、フラグメント設定の指示を受けたパスを通過するフレームのうち予め決められたフレーム長より長いフレーム（以下では、「ロングフレーム」という。）に対してフラグメントを行う。このとき、フラグメント処理部３１は、予め決められたフレーム長以下の大きさのフレーム（以下では、「ショートフレーム」という。）にはフラグメントは行わない。そして、フラグメント処理部３１は、ショートフレーム及びフラグメントを行ったジャンボフレームをスイッチ部４へ出力する。例えば、フラグメント処理部３１は、受信ＩＦ１１で受信されたＶＬＡＮの識別番号が１００を経路とするフレームを「１−１」で処理している場合で説明する。この場合、フラグメント処理部３１は、受信ＩＦ１１で受信されたＶＬＡＮの識別番号が１００を経路とするフレームに対してフラグメントをフラグメント制御部８から指示された場合、「１−１」を通過するロングフレームに対してフラグメントを行い出力する。
【００１９】
また、フラグメント処理部３１は、フラグメント設定が指示されていないパス及びフラグメント解除が指示されたパスについては、ショートフレーム及びロングフレーム共に、受信バッファ２１から読み出した状態でスイッチ部４へ出力する。
【００２０】
フラグメント処理部３２は、受信バッファ２１からフレームを読み出し、フラグメント制御部８の指示に従い各パスを通過するフレームに対してフラグメントを行い、スイッチ部４へ出力する。図１のフラグメント処理部３２の中に記載されている「２−１」〜「２−４」は、フラグメント処理部３２におけるＶＬＡＮ毎の処理機能を表している。フラグメント処理部３２の動作の詳細は、フラグメント処理部３１と同様であるので、説明を省略する。
【００２１】
スイッチ部４は、フレームの入力をフラグメント処理部３１及び３２から受ける。そして、スイッチ部４は、ＶＬＡＮの設定に従い、受信したフレームをフレームカウント部５１又は５２に出力する。例えば、ＶＬＡＮ１００が、フラグメント処理部３１の「１−１」を経由し後述するフレームカウント部５１の「３−１」を通過するパスを有している場合、スイッチ部４は、フラグメント処理部３１の「１−１」から受信したフレームをフレームカウント部５１の「３−１」へ出力する。
【００２２】
フレームカウント部５１及び５２は、ショートフレーム用のカウンタ及びロングフレーム用のカウンタを有している。フレームカウント部５１及び５２は、受信したフレームの数をカウントする。
【００２３】
フレームカウント部５１は、ＶＬＡＮ毎、すなわちパス毎にフレームの入力をスイッチ部４から受ける。図１におけるフレームカウント部５１の中の「３−１」〜「３−４」は、フレームカウント部５１におけるＶＬＡＮ毎の処理機能を表している。ここで、「３−１」〜「３−４」は、前段の数字が受信したインタフェースを表し、後段の数字がＶＬＡＮを表している。前段の数字が「３」の場合は後述する送信ＩＦ７１を表しており、前段の数字が「４」の場合は送信ＩＦ７２を表している。例えば、「３−１」は、送信ＩＦ７１から出力されるＶＬＡＮ識別子が１００のデータを処理する。そして、「３−１」〜「３−４」は、送信ＩＦ７１から出力されるフレームであり、且つそれぞれ異なるＶＬＡＮのフレームを処理する。フレームカウント部５１によるフレームに対する処理の内容は次に説明する。
【００２４】
フレームカウント部５１は、パス毎に受信したフレームの中のショートフレームの数及びロングフレームの数をそれぞれのカウンタを用いてカウントしていく。そして、フレームカウント部５１は、受信したフレームを送信バッファ６１へ出力する。
【００２５】
同様に、フレームカウント部５２は、スイッチ部４から受信したフレームのショートフレームの数及びロングフレームの数をそれぞれカウントする。そして、フレームカウント部５２は、受信したフレームを送信バッファ６２へ出力する。
【００２６】
送信バッファ６１は、フレームカウント部５１から受信したフレームを格納していく。送信バッファ６２は、フレームカウント部５２から受信したフレームを取得し格納していく。
【００２７】
送信ＩＦ７１は、送信バッファ６１に格納されているフレームを読み出し、回線が接続されている外部の装置へ出力する。送信ＩＦ７２は、送信バッファ６２に格納されているフレームを読み出し、回線が接続されている外部の装置へ出力する。
【００２８】
記憶部１０は、フラグメント状態管理テーブル１０１、パス接続管理テーブル１０２、優先パス判定テーブル１０３及びカウンタ管理テーブル１０４を格納している。各テーブルについては後で詳細に説明する。
【００２９】
以下の説明では、図２に示すようにパスが通っている状態を例に説明する。図２は、パスの状態の一例を説明するための図である。
【００３０】
図２では、パスＰ１は、受信ＩＦ１１、受信バッファ２１、フラグメント処理部３１の「１−１」、スイッチ部４、フレームカウント部５１の「３−１」、送信バッファ６１及び送信ＩＦ７１を通過するパスである。パスＰ２は、受信ＩＦ１１、受信バッファ２１、フラグメント処理部３１の「１−２」、スイッチ部４、フレームカウント部５１の「３−２」、送信バッファ６１及び送信ＩＦ７１を通過するパスである。パスＰ３は、受信ＩＦ１２、受信バッファ２２、フラグメント処理部３２の「２−１」、スイッチ部４、フレームカウント部５１の「３−３」、送信バッファ６１及び送信ＩＦ７１を通過するパスである。パスＰ４は、受信ＩＦ１２、受信バッファ２２、フラグメント処理部３２の「２−２」、スイッチ部４、フレームカウント部５２の「４−１」、送信バッファ６２及び送信ＩＦ７２を経由する。
【００３１】
操作者は、ユーザインタフェース１１０を用いて、パスの接続先と接続元との対応をパス接続管理テーブル１０２に登録する。パスの接続先は、フレームを受けるインタフェースとＶＬＡＮの識別子とによって表される。すなわち、パスの接続先は、フラグメント処理部３１の「１−１」〜「１−４」及びフラグメント処理部３２の「２−１」〜「２−４」のいずれかに１対１で対応する。また、パスの接続元は、フレームを出力するインタフェースとＶＬＡＮの識別子とによって表される。すなわち、パスの接続先は、フレームカウント部５１の「３−１」〜「３−４」及びフレームカウント部５２の「４−１」〜「４−４」のいずれかに１対１で対応する。パス接続管理テーブル１０２には、図３に示すようにユーザインタフェース１１０を用いて操作者が入力した設定が登録される。図３は、パス接続管理テーブルの一例の図である。図３は、図２で表されるパスの状態を表している。パス接続管理テーブル１０２では、行４０１に接続元ＩＤ（IDentification）が登録され、行４０２で接続先ＩＤが登録される。ここで、パスの接続元はフラグメント処理部３１の「１−１」〜「１−４」及びフラグメント処理部３２の「２−１」〜「２−４」のいずれかに１対１で対応するので、パスの接続元ＩＤを「１−１」〜「１−４」及び「２−１」〜「２−４」を用いて表す。また、パスの接続先はフレームカウント部５１の「３−１」〜「３−４」及びフレームカウント部５２の「４−１」〜「４−４」のいずれかに１対１で対応するので、パスの接続先ＩＤを「３−１」〜「３−４」及び「４−１」〜「４−４」を用いて表す。また、以下の説明でもパスの接続元及び接続先はそれらの符号を用いて表すものとする。パスＰ１は「１−１」と「３−１」とを通過しているので、パスＰ１における接続元ＩＤは「１−１」であり接続先ＩＤは「３−１」である。そこで、接続先ＩＤとして「３−１」が記載された欄４１１に対応する欄４２１には、接続元ＩＤとして「１−１」が記載されている。パスＰ２は「１−２」と「３−２」とを通過しているので、パスＰ２における接続元ＩＤは「１−２」であり接続先ＩＤは「３−２」である。そこで、接続先ＩＤとして「３−２」が記載された欄４１２に対応する欄４２２には、接続元ＩＤとして「１−２」が記載されている。パスＰ３は「２−１」と「３−３」とを通過しているので、パスＰ３における接続元ＩＤは「２−１」であり接続先ＩＤは「３−３」である。そこで、接続先ＩＤとして「３−３」が記載された欄４１３に対応する欄４２３には、接続元ＩＤとして「２−１」が記載されている。パスＰ４は「２−２」と「４−１」とを通過しているので、パスＰ４における接続元ＩＤは「２−２」であり接続先ＩＤは「４−１」である。そこで、接続先ＩＤとして「４−１」が記載された欄４１４に対応する欄４２４には、接続元ＩＤとして「２−２」が記載されている。また、例えば、フラグメント処理部３２の「２−４」にはパスが張られていない。そこで、接続先ＩＤとして「２−４」が記載された欄４１５に対応する接続元ＩＤを表す欄４２５には「Ｎｕｌｌ」が記載されている。同様に、他のパスが張られていない接続先ＩＤに対応する接続元ＩＤの欄にも「Ｎｕｌ���」が記載されている。
【００３２】
フレームカウント収集部９は、タイマを有している。また、フレームカウント収集部９は、フレームカウント値を収集する周期を予め記憶している。そして、フレームカウント収集部９は、タイマで経過時間を計測し、フレームカウント部５１及び５２がカウントした各フレームの数であるフレームカウント値を収集する周期が到来したか否かを判定する。フレームカウント値を収集する周期が来ると、フレームカウント収集部９は、フレームカウント部５１及びフレームカウント部５２からＶＬＡＮ毎のショートフレームの数及びロングフレームの数を取得する。そして、フレームカウント収集部９は、取得したショートフレームの数及びロングフレームの数をＶＬＡＮ毎に図４に示すようにカウンタ管理テーブル１０４に登録する。図４は、カウンタ管理テーブルの一例の図である。
【００３３】
図４に示すように、カウンタ管理テーブル１０４は、接続先ＩＤに対応させて、ショートフレームの数を示す列２０１（図では「ｓｈｏｒｔ」と表示している）とロングフレームの数を示す列２０２（図では「ｌｏｎｇ」と表示している）を有している。例えば、図４では、接続先ＩＤが「３−１」であるパスにおけるショートフレームの数を表す欄２１１の値が５、ロングフレームの数を表す欄２２１の値が０である。すなわち、図４の状態では、接続先ＩＤが「３−１」のパスには、ショートフレームが５つ流れ、ロングフレームが１つも流れていないことを表している。ここでは、フレームカウント収集部９が図４に示すカウンタ管理テーブル１０４のように、各フレームカウント値を収集した場合で説明する。
【００３４】
次に、フレームカウント収集部９は、自己が収集したフレームカウント値を登録したカウンタ管理テーブル１０４を参照し、各パスにおいて、ショートフレームが予め決められた数以上であり、且つロングフレームが０であるか否かを検出する。
【００３５】
そして、フレームカウント収集部９は、優先パス判定テーブル１０３においてショートフレームが例えば３などの閾値以上であり、且つロングフレームが０であるパスの送信状態判定結果として「ＴＲＵＥ」を設定する。また、フレームカウント収集部９は、優先パス判定テーブル１０３においてショートフレームが閾値未満である、又はロングフレームが１以上であるパスの送信状態判定結果として「ＦＡＬＳＥ」を設定する。これにより、フレームカウント収集部９は、図５に示すような優先パス判定テーブル１０３を作成する。図５は、優先パス判定テーブルの一例の図である。優先パス判定テーブル１０３は、図５に示すように接続先ＩＤに対応する送信状態判定結果を表す列３０１を有している。例えば、ショートフレームの閾値を３とした場合、図４において、接続先ＩＤが３−１であるパスは、ショートフレームが５であり、ロングフレームが０であるので、フレームカウント収集部９は接続先ＩＤが３−１に対応する欄３１１にＴＵＲＥを設定する。また、接続先ＩＤが３−２、３−３及び４−１のパスはいずれもロングフレームが１以上であるので、フレームカウント収集部９は、接続先ＩＤが３−２、３−３及び４−１に対応する欄３１２、３１３及び３１４にＦＡＬＳＥを設定する。また、その他の接続先ＩＤはパスが張られていないので、フレームカウント収集部９は値を設定しない。
【００３６】
そして、フレームカウント収集部９は、優先パス判定テーブル１０３の作成が完了すると、フラグメント制御部８に対してフラグメント処理の制御を依頼する。
【００３７】
フラグメント制御部８は、フラグメント処理の制御の依頼をフレームカウント収集部９から受けると、優先パス判定テーブル１０３から各パスの送信状態判定結果を取得する。さらにフラグメント制御部８は、図６に示すようなフラグメント状態管理テーブル１０１を取得する。図６は、フラグメント状態管理テーブルの一例の図である。
【００３８】
フラグメント状態管理テーブル１０１は、接続先ＩＤに対応する今周期の優先パス状態を表す列５０１を有する。列５０１の今周期の優先パス状態には、接続先ＩＤに対応するパスのフラグメント制御部８による今回判定した優先パス状態の結果が登録される。本実施例では、優先パス状態として、優先パス、非優先パス及び保護中パスの３種類を用いる。優先パスは、同じ送信インタフェースを用いる他のパスがある場合に、他のパスにおいてフラグメントが行われるパスである。逆に、非優先パスは、同じ送信インタフェースを用いる他のパスの中に優先パスがある場合、自己においてフラグメントを行うパスである。保護中パスは、優先パスであったものが非優先パスに変わる場合に、所定期間他のパスにおけるフラグメントを継続させる状態のパスである。また、フラグメント状態管理テーブル１０１は、前回の優先パスの判定結果が登録されている前周期の優先パス状態を表す列５０２を有する。また、フラグメント状態管理テーブル１０１は、接続先ＩＤに対応するパスにおいてフラグメント設定がなされているか否かを表すフラグメント制御状態を表す列５０３を有する。また、フラグメント状態管理テーブル１０１は、フラグメントの解除を一定期間保留するフラグメント解除保護が行われているか否かを表す列５０４を有する。フラグメント解除保護については後で詳細に説明する。
【００３９】
フラグメント制御部８は、パス毎に今周期の優先パス状態を判定し、送信インタフェース毎に含まれるパスの優先パス状態に合わせてフラグメント制御方法を決定する。そして、フラグメント制御部８が、決定したフラグメント制御方法に合わせて、各パスのフラグメント制御状態を決定する。そして、フラグメント制御部８は、決定したフラグメント制御状態に合わせてフラグメント設定又は解除をフラグメント処理部３１及び３２に指示する。
【００４０】
優先パス状態の判定について具体的に説明する。フラグメント制御部８は、フラグメント制御の依頼をフレームカウント収集部９から受けると、全てのパスのうち１つを選択する。そして、フラグメント制御部８は、選択パスにおいてフラグメント制御状態が実施中か否かをフラグメント状態管理テーブル１０１のフラグメント制御状態から判定する。そして、選択パスにおいてフラグメント制御状態が実施中であれば、フラグメント制御部８は、選択パスの優先パス状態及びフラグメント解除保護の値を維持する。ここでは、フラグメント解除保護の値は「０」となる。ここで、フラグメント解除保護の値が「０」である場合、そのパスにおいてはフラグメント解除保護が行われていないことを表す。
【００４１】
これに対して、選択パスにおいてフラグメント制御状態が実施中でなければ、フラグメント制御部８は、選択パスの送信状態判定結果がＴＲＵＥであるか否かを優先パス判定テーブル１０３から判定する。選択パスの送信状態判定結果がＴＲＵＥである場合、フラグメント制御部８は、選択パスの今周期の優先パス状態を優先パスに設定し、さらにフラグメント解除保護を「０」に設定する。
【００４２】
一方、選択パスの送信状態判定結果がＦＡＬＳＥである場合、フラグメント制御部８は、選択パスの前周期の優先パス状態が優先パス、非優先パス又は保護中パスのいずれであったかを判定する。選択パスの前周期の優先パス状態が非優先パスの場合、フラグメント制御部８は、選択パスの優先パス状態及びフラグメント解除保護の値を維持する。
【００４３】
また、選択パスの前周期の優先パス状態が優先パスの場合、フラグメント制御部８は、選択パスの今周期の優先パス状態を保護中パスに設定し、フラグメント解除保護の値を予め決められた保護回数、例えば本実施例では「５」に設定する。ここで、前周期が優先パスであったものを突然非優先パスにした場合、ショートフレームの送信が少し遅れた場合や、ロングフレームが少し混ざった場合にもすぐに他のパスにおけるフラグメントが解除されてしまう。これでは、ショートフレームの連続送信の状態にすぐに復帰しても他のパスにおけるフラグメントが行われない期間が発生してしまい、遅延が許されないパスにおいて遅延が発生してしまうおそれがある。そこで、優先パスから非優先パスに変更する場合に、ある期間、例えば、本実施例では５周期分の間変更を行わずに現在の状態を維持し、その間にショートフレームの連続送信の状態に復帰した場合、フラグメントを継続できショートフレームの遅延を回避する。
【００４４】
また、選択パスの前周期の優先パス状態が保護中パスの場合、フラグメント制御部８は、フラグメント状態管理テーブル１０１における選択パスのフラグメント解除保護の値が０か否かを判定する。フラグメントフラグメント解除保護の値が０であれば、フラグメント制御部８は、選択パスの今周期の優先パス状態を非優先パスに設定し、フラグメント解除保護の値は０として維持する。これに対して、フラグメント解除保護の値が０でなければ、フラグメント制御部８は、選択パスの今周期の優先パスの状態を保護中パスとして維持し、さらに、フラグメント解除保護の値を１つデクリメントする。
【００４５】
フラグメント制御部８は、決定した選択パスの今周期の優先パス状態及びフラグメント解除保護の値をフラグメント状態管理テーブル１０１に登録する。そして、フラグメント制御部８は、以上の優先パス状態の判定を全てのパスについて行う。
【００４６】
次に、フラグメント制御方法の決定について具体的に説明する。フラグメント制御部８は、全てのパスの優先パス状態が決定すると、送信ＩＦ７１及び７２におけるフラグメント制御方法を一旦「解除」と設定することで、各送信インタフェースのフラグメント制御方法を初期化する。
【００４７】
次に、接続先ＩＤにはどの送信インタフェースからフレームが出力されるかを表す情報が含まれているので、フラグメント制御部８は、接続先ＩＤを用いて、同じ送信インタフェースを用いるパスを抽出する。本実施例では、フラグメント制御部８は、接続先ＩＤの前段の値が同じパスを同じ送信インタフェースを用いるパスとして抽出する。そして、フラグメント制御部８は、送信インタフェースを１つずつ選び各送信インタフェースのフラグメント制御方法を決定する。以下では、送信ＩＦ７１の場合で説明する。
【００４８】
そして、フラググメント制御部８は、送信ＩＦ７１を用いるパスのうち１つを選択する。そして、フラグメント制御部８は、フラグメント状態管理テーブル１０１の現在の優先パス状態を参照し、選択パスの優先パス状態を判定する。選択パスが優先パスである場合、送信ＩＦ７１のフラグメント制御方法を「設定」に決定する。この場合、送信ＩＦ７１のフラグメント制御方法は「設定」に決定される。
【００４９】
また、選択パスが保護中パスである場合、フラグメント制御部８は、送信ＩＦ７１のフラグメント制御方法を一旦「保持」とする。また、選択パスが非優先パスの場合、フラグメント制御部８は、送信ＩＦ７１のフラグメント制御方法は「解除」のままとする。そして、フラグメント制御部８は、選択パスが保護中パス又は非選択パスの場合、送信ＩＦ７１を用いる他の判定に使用していないパスから１つを選択して上述した判定を繰り返す。途中で、優先パスがあれば、フラグメント制御部８は、送信ＩＦ７１のフラグメント制御方法を「設定」に決定する。これに対して、保護中パスと非優先パスのみの場合、フラグメント制御部８は、送信ＩＦ７１のフラグメント制御方法を「保持」に決定する。また、非優先パスのみの場合、フラグメント制御部８は、送信ＩＦ７１のフラグメント制御方法を「解除」に決定する。
【００５０】
次に、各パスのフラグメント制御状態の決定について具体的に説明する。フラグメント制御部８は、送信インタフェースを選択し、その送信インタフェースに含まれる各パスについてフラグメント制御をするか否かを判定していく。以下では、送信インタフェースとして送信ＩＦ７１を選択した場合について説明する。
【００５１】
まず、フラグメント制御部８は、送信ＩＦ７１に含まれる各パスの接続先ＩＤに対応する接続元ＩＤをパス接続管理テーブル１０２から取得する。
【００５２】
そして、送信ＩＦ７１のフラグメント制御方法が「保持」の場合、フラグメント制御部８は、フラグメント処理部３１及び３２が行う接続元ＩＤに対応する処理のフラグメント制御状態をそのまま維持する。
【００５３】
また、送信ＩＦ７１のフラグメント制御方法が「設定」の場合、フラグメント制御部８は、送信ＩＦ７１を用いるパスの中から１つのパスを選択する。そして、フラグメント制御部８は、選択パスの優先パス状態をフラグメント状態管理テーブル１０１から取得する。選択パスが優先パス又は保護中パスの場合、フラグメント制御部８は、選択パスの接続元ＩＤに対応するフラグメント処理部３１又は３２が行う処理のフラグメント制御状態をそのまま維持し、そのまま次のパスの判定に進む。これに対して、選択パスが非優先パスの場合、フラグメント制御部８は、フラグメント処理部３１又は３２に対して選択パスの接続元ＩＤに対応する処理におけるフラグメント設定を指示する。フラグメント制御部８は、送信ＩＦ７１を用いるパス全てについて上記のフラグメント制御状態の決定を繰り返す。
【００５４】
また、送信ＩＦ７１のフラグメント制御方法が「解除」の場合、フラグメント制御部８は、送信ＩＦ７１を用いるパスの中から１つのパスを選択する。そして、フラグメント制御部８は、選択パスのフラグメント制御状態をフラグメント状態管理テーブル１０１から取得する。選択パスにおいてフラグメントが未実施の場合、フラグメント制御部８は、選択パスの接続元ＩＤに対応するフラグメント処理部３１又は３２が行う処理のフラグメント制御状態をそのまま維持する。そのまま次のパスの判定に進む。これに対して、選択パスにおいてフラグメントが実施中の場合、フラグメント制御部８は、フラグメント処理部３１又は３２に対して選択パスの接続元ＩＤに対応する処理におけるフラグメント解除を指示する。フラグメント制御部８は、送信ＩＦ７１を用いるパス全てについて上記のフラグメント制御状態の決定を繰り返す。
【００５５】
フラグメント制御部８は、決定した全てのパスのフラグメント制御状態をフラグメント状態管理テーブル１０１のフラグメント制御状態に登録する。
【００５６】
次に、図７〜図１１を参照して、本実施例に係るデータ伝送装置１におけるフラグメント制御処理の流れについて説明する。図７は、フラグメント制御処理の全体的な流れを表すフローチャートである。図８は、フレームカウンタ値の収集及びフレームの送信状態判定のフローチャートである。図９は、優先パス状態判定のフローチャートである。図１０は、フラグメント制御方法の決定のフローチャートである。図１１は、フラグメント制御状態決定のフローチャートである。
【００５７】
図７を参照して、フラグメント制御処理の全体的な概略を説明する。フレームカウント部５１及び５２は、パス毎にショートフレームの数及びロングフレームの数をカウントするフレームカウントを行う（ステップＳ１）。フレームカウント収集部９は、周期的に繰り返す収集タイミングが到来したか否かを判定する（ステップＳ２）。収集タイミングでない場合（ステップＳ２：否定）、フレームカウント部５１及び５２はステップＳ１を行う。
【００５８】
一方、収集タイミングの場合（ステップＳ２：肯定）、フレームカウント収集部９は、フレームカウンタ値の収集及びカウンタ管理テーブルへの登録、並びに送信状態判定結果の優先パス判定テーブル１０３への登録を行う（ステップＳ３）。
【００５９】
次に、フラグメント制御部８は、優先パス判定テーブル１０３及びフラグメント状態管理テーブル１０１を参照して各パスの優先パス状態を決定する（ステップＳ４）。
【００６０】
次に、フラグメント制御部８は、フラグメント状態管理テーブル１０１を用いて、送信ＩＦ７１及び７２のフラグメント制御方法を決定する（ステップＳ５）。
【００６１】
次に、フラグメント制御部８は、フラグメント状態管理テーブル１０１を用いて各パスのフラグメント制御状態を決定し、パス接続管理テーブル１０２を用いてフラグメント処理部３１及び３２にフラグメント設定又は解除を指示する(ステップＳ６)。
【００６２】
フラグメント処理部３１及び３２は、フラグメント制御部８からの指示に従い、パス毎、すなわちＶＬＡＮ毎にフラグメントを実施する（ステップＳ７）。
【００６３】
次に、図８を参照して、フレームカウンタ値の収集及びフレームの送信状態の判定について説明する。図８のフローチャートは、図７におけるステップＳ３の処理を詳細にしたものの一例である。
【００６４】
フレームカウント収集部９は、フレームカウンタ値をフレームカウント部５１及び５２から取得する（ステップＳ１０１）。
【００６５】
次に、フレームカウント収集部９は、収集したフレームカウンタ値をカウンタ管理テーブル１０４に登録してカウンタ管理テーブルを更新する（ステップＳ１０２）。
【００６６】
フレームカウント収集部９は、フレームの送信状態の判定が終わっていないパスを１つ選択する(ステップＳ１０３)。
【００６７】
フレームカウント収集部９は、選択パスにおいてショートフレームの数が閾値以上で、且つロングフレームの数が０という条件に一致するか否かを判定する（ステップＳ１０４）。
【００６８】
条件に一致する場合(ステップＳ１０４：肯定)、フレームカウント収集部９は、優先パス判定テーブル１０３における選択パスの送信状態判定結果を「ＴＵＲＥ」に設定する（ステップＳ１０５）。これに対して、条件に一致しない場合(ステップＳ１０４：否定)、フレームカウント収集部９は、優先パス判定テーブル１０３における選択パスの送信状態判定結果を「ＦＡＬＳＥ」に設定する（ステップＳ１０６）。
【００６９】
フレームカウント収集部９は、全てのパスに対するフレームの送信状態の判定が完了したか否かを判定する（ステップＳ１０７）。判定をしていないパスがある場合（ステップＳ１０７：否定）、フレームカウント収集部９は、ステップＳ１０３へ戻る。これに対して、全てのパスの判定が完了した場合（ステップＳ１０７：肯定）、フレームカウント収集部９は、フラグメント処理の制御をフラグメント制御部８に依頼する（ステップＳ１０８）。
【００７０】
次に、図９を参照して、優先パス状態の判定の流れについて説明する。図９のフローチャートは、図７におけるステップＳ４の処理を詳細にしたものの一例である。
【００７１】
フラグメント制御部８は、フラグメント制御の依頼をフレームカウント収集部９から受けると、全てのパスのうち１つを選択する。そして、フラグメント制御部８は、選択パスにおいてフラグメント制御状態が実施中か否かをフラグメント状態管理テーブル１０１のフラグメント制御状態から判定する(ステップＳ２０１)。
【００７２】
選択パスにおいてフラグメント制御状態が実施中の場合（ステップＳ２０１：肯定）、フラグメント制御部８は、フラグメント状態管理テーブル１０１の今周期の優先パスを非優先パスに設定し（ステップＳ２０２）、ステップＳ２１０へ進む。
【００７３】
これに対して、選択パスにおいてフラグメント制御状態が実施中でない場合（ステップＳ２０１：否定）、フラグメント制御部８は、選択パスの送信状態判定結果がＴＲＵＥであるか否かを優先パス判定テーブル１０３から判定する（ステップＳ２０３）。選択パスの送信状態判定結果がＴＲＵＥである場合（ステップＳ２０３：肯定）、フラグメント制御部８は、選択パスの今周期の優先パス状態を優先パスに設定し（ステップＳ２０４）、ステップＳ２１０へ進む。
【００７４】
一方、選択パスの送信状態判定結果がＦＡＬＳＥである場合（ステップＳ２０３：否定）、フラグメント制御部８は、選択パスの前周期の優先パス状態が優先パスであるか否かを判定する（ステップＳ２０５）。前周期の優先パス状態が優先パスでない場合（ステップＳ２０５：否定）、フラグメント制御部８は、選択パスの前周期の優先パス状態が非優先パスか否かを判定する（ステップＳ２０６）。
【００７５】
前周期の優先パスが非優先パスの場合（ステップＳ２０６：肯定）、フラグメント制御部８は、選択パスの今周期の優先パス状態を非優先パスに設定し(ステップＳ２０７)、ステップＳ２１０へ進む。
【００７６】
これに対して、前周期の優先パス状態が保護中パスの場合（ステップＳ２０６：否定）、フラグメント制御部８は、フラグメント状態管理テーブル１０１における選択パスのフラグメント解除保護の値が０か否かを判定する(ステップＳ２０８)。フラグメントフラグメント解除保護の値が０の場合（ステップＳ２０８：肯定）、フラグメント制御部８は、選択パスの今周期の優先パス状態を非優先パスに設定する（ステップＳ２０９）。
【００７７】
そして、フラグメント制御部８は、ステップＳ２０２、ステップＳ２０４、ステップＳ２０７又はステップＳ２０９に続いて、フラグメント解除保護の値を０に設定する（ステップＳ２１０）。
【００７８】
これに対して、フラグメント解除保護の値が０でない場合（ステップＳ２０８：否定）、フラグメント制御部８は、選択パスの今周期の優先パスの状態を保護中パスに設定する（ステップＳ２１１）。そして、フラグメント制御部８は、フラグメント解除保護の値を１つデクリメントする(ステップＳ２１２)。
【００７９】
これに対して、前周期の優先パス状態が優先パスの場合(ステップＳ２０５：肯定)、フラグメント制御部８は、選択パスの今周期の優先パス状態を保護中パスに設定する（ステップＳ２１３）。そして、フラグメント制御部８は、フラグメント解除保護の値を予め決められた保護回数に設定する（ステップＳ２１４）。
【００８０】
フラグメント制御部８は、決定した選択パスの今周期の優先パス状態及びフラグメント解除保護の値をフラグメント状態管理テーブル１０１に登録する。そして、フラグメント制御部８は、優先パス状態の判定及びフラグメント解除保護の値の決定を全てのパスについて完了したか否かを判定する（ステップＳ２１５）。完了していないパスがまだ残っている場合(ステップＳ２１５：否定)、フラグメント制御部８は、ステップＳ２０１へ戻る。これに対して、全てのパスについて完了した場合（ステップＳ２１５：肯定）、フラグメント制御部８は、優先パス状態の判定及びフラグメント解除保護の値の決定の処理を終了する。
【００８１】
ここで、このフローでは優先パス状態及びフラグメント解除保護状態を都度設定するように記載しているが、前回と同じ値を今回も採る場合にはフラグメント制御部８は、選択パスの優先パス状態及びフラグメント解除保護の値を維持してもよい。
【００８２】
次に、図１０を参照して、フラグメント制御方法の決定の流れについて説明する。図１０のフローチャートは、図７におけるステップＳ５の処理を詳細にしたものの一例である。ここでは、送信ＩＦ７１のフラグメント制御方法の決定を例に説明する。
【００８３】
フラグメント制御部８は、送信ＩＦ７１のフラグメント制御方法を一旦「解除」に設定する（ステップＳ３０１）。
【００８４】
次に、フラグメント制御部８は、送信ＩＦ７１を用いるパスのうち１つを選択する。そして、フラグメント制御部８は、フラグメント状態管理テーブル１０１の現在の優先パス状態を参照し、選択パスの優先パス状態が優先パスか否かを判定する（ステップＳ３０２）。選択パスが優先パスである場合（ステップＳ３０２：肯定）、送信ＩＦ７１のフラグメント制御方法を「設定」とする（ステップＳ３０３）。この場合、フラグメント制御部８は、送信ＩＦ７１のフラグメント制御方法を「設定」と決定しフラグメント制御方法の決定の処理を終了する。
【００８５】
これに対して、選択パスが優先パスでない場合（ステップＳ３０２：否定）、フラグメント制御部８は、選択パスの優先パス状態が保護中パスか否かを判定する（ステップＳ３０４）。選択パスが保護中パスである場合(ステップＳ３０４：肯定)、フラグメント制御部８は、送信ＩＦ７１のフラグメント制御方法を「保持」とする（ステップＳ３０５）。
【００８６】
これに対して、選択パスが保護中パスでない場合、すなわち非優先パスの場合（ステップＳ３０４：否定）、フラグメント制御部８は、送信ＩＦ７１のフラグメント制御方法を「解除」のままとし、ステップＳ３０６へ進む。
【００８７】
そして、フラグメント制御部８は、フラグメント制御方法の判定を全てのパスで完了したか否かを判定する(ステップＳ３０６)。パスが未だ残っている場合（ステップＳ３０６：否定）、フラグメント制御部８は、ステップＳ３０２へ戻る。これに対して、全てのパスで判定が完了している場合（ステップＳ３０６：肯定）、フラグメント制御部８は、フラグメント制御方法の決定の処理を終了する。
【００８８】
次に、図１１を参照して、フラググメント制御状態の決定の流れについて説明する。図１１のフローチャートは、図７におけるステップＳ６の処理を詳細にしたものの一例である。ここでは、送信ＩＦ７１を用いるパスについてのフラグメント制御状態の決定を例に説明する。
【００８９】
フラグメント制御部８は、送信ＩＦ７１のフラグメント制御状態が「保持」か否かを判定する（ステップＳ４０１）。送信ＩＦ７１のフラグメント制御方法が保持の場合（ステップＳ４０１：肯定）、フラグメント制御部８は、フラグメント処理部３１及び３２が行う接続元ＩＤに対応する処理のフラグメント制御状態をそのまま維持し、フラグメント制御状態の決定の処理を終了する。
【００９０】
これに対して、送信ＩＦ７１のフラグメント制御方法が「保持」でない場合（ステップＳ４０１：否定）、フラグメント制御部８は、送信ＩＦ７１のフラグメント制御状態が「設定」か否かを判定する（ステップＳ４０２）。
【００９１】
フラグメント制御状態が「設定」の場合（ステップＳ４０２：肯定）、フラグメント制御部８は、送信ＩＦ７１を用いるパスの中からフラググメント制御状態が決定していないパスを１つ選択する（ステップＳ４０３）。そして、フラグメント制御部８は、フラグメント状態管理テーブル１０１を参照し、選択パスが非優先パスか否かを判定する（ステップＳ４０４）。選択パスが非優先パスでない場合、すなわち、選択パスが優先パス又は保護中パスの場合（ステップＳ４０４：否定）、フラグメント制御部８は、選択パスの接続元ＩＤに対応するフラグメント処理部３１又は３２が行う処理のフラグメント制御状態をそのまま維持し、ステップＳ４０７へ進む。これに対して、選択パスが非優先パスの場合(ステップＳ４０４：肯定)、フラグメント制御部８は、フラグメント処理部３１又は３２に対して選択パスの接続元ＩＤに対応する処理におけるフラグメント設定を指示する（ステップＳ４０５）。さらに、フラグメント制御部８は、フラグメント状態管理テーブル１０１における選択パスのフラグメント制御状態を実施中に設定する（ステップＳ４０６）。そして、フラグメント制御部８は、送信ＩＦ７１を用いるパス全てについてフラグメント制御状態の決定が完了したか否かを判定する（ステップＳ４０７）。フラグメント制御状態が決定していないパスが残っている場合（ステップＳ４０７：否定）、フラグメント制御部８は、ステップＳ４０３に戻る。
【００９２】
また、送信ＩＦ７１のフラグメント制御方法が「設定」でない場合、すなわち「解除」の場合（ステップＳ４０２：否定）、フラグメント制御部８は、送信ＩＦ７１を用いるパスの中からフラグメント制御状態が決定していないパスを１つ選択する（ステップＳ４０８）。そして、フラグメント制御部８は、選択パスのフラグメント制御状態をフラグメント状態管理テーブル１０１から取得し、選択パスにおいてフラグメントが実施中か否かを判定する（ステップＳ４０９）。選択パスにおいてフラグメントが未実施の場合（ステップＳ４０９：否定）、フラグメント制御部８は、選択パスの接続元ＩＤに対応するフラグメント処理部３１又は３２が行う処理のフラグメント制御状態をそのまま維持し、ステップＳ４１２に進む。これに対して、選択パスにおいてフラグメントが実施中の場合（ステップＳ４０９：肯定）、フラグメント制御部８は、フラグメント処理部３１又は３２に対して選択パスの接続先ＩＤに対応する処理におけるフラグメント解除を指示する（ステップＳ４１０）。さらに、フラグメント制御部８は、フラグメント状態管理テーブル１０１における選択パスのフラグメント制御状態を未実施に設定する（ステップＳ４１１）。そして、フラグメント制御部８は、送信ＩＦ７１を用いるパス全てについてフラグメント制御状態の決定が完了したか否かを判定する（ステップＳ４１２）。フラグメント制御状態が決定していないパスが残っている場合（ステップＳ４１２：否定）、フラグメント制御部８は、ステップＳ４０８に戻る。
【００９３】
送信ＩＦ７１を用いるパス全てについてフラグメント制御状態の決定が完了した場合（ステップＳ４０７又はステップＳ４１２：肯定）、フラグメント制御部８は、フラグメント制御状態の決定の処理を終了する。
【００９４】
次に、図１２を参照して、本実施例に係るデータ伝送装置によるフラググメント処理の制御についてさらに説明する。図１２は、実施例１に係るデータ伝送装置によるフラグメント処理の制御のシーケンス図である。
【００９５】
フレームカウント収集部９は、フレームカウント値の収集タイミングが到来すると定期起動する（ステップＳ５０１）。
【００９６】
そして、フレームカウント収集部９は、フレームカウント部５１及び５２からフレームカウンタ値を取得する（ステップＳ５０２）。
【００９７】
次に、フレームカウント収集部９は、収集したフレームカウンタ値をカウンタ管理テーブル１０４へ格納する(ステップＳ５０３)。
【００９８】
次に、フレームカウント収集部９は、カウンタ管理テーブル１０４から各パスのフレームカウンタ値を読み出す(ステップＳ５０４)。
【００９９】
次に、フレームカウント収集部９は、各パスにおけるフレームの送信状態を判定する（ステップＳ５０５）。そして、フレームカウント収集部９は、各パスの送信状態判定結果を優先パス判定テーブル１０３へ登録する（ステップＳ５０６）。
【０１００】
そして、フレームカウント収集部９は、フラグメント制御部８にフラグメント処理の制御を依頼する（ステップＳ５０７）。
【０１０１】
フラグメント制御部８は、送信状態判定結果を優先パス判定テーブル１０３から取得する（ステップＳ５０８）。さらに、フラグメント制御部８は、フラグメント制御情報をカウンタ管理テーブル１０４から取得する（ステップＳ５０９）。
【０１０２】
そして、フラグメント制御部８は、各パスの優先パス状態及びフラグメント解除保護を決定する（ステップＳ５１０）。そして、フラグメント制御部８は、決定した各パスの優先パス状態及びフラグメント解除保護をフラグメント状態管理テーブル１０１へ登録する(ステップＳ５１１)。
【０１０３】
次に、フラグメント制御部８は、各パスの優先パス状態及びフラグメント解除保護をフラグメント状態管理テーブル１０１から取得する（ステップＳ５１２）。
【０１０４】
そして、フラグメント制御部８は、送信ＩＦ７１及び７２におけるそれぞれのフラグメント制御方法を決定する（ステップＳ５１３）。
【０１０５】
次に、フラグメント制御部８は、パス接続管理テーブル１０２から各パスの接続元と接続先との対応を表す接続状態を取得する（ステップＳ５１４）。さらに、フラグメント制御部８は、フラグメント状態管理テーブル１０１から各パスのフラグメント制御状態を取得する（ステップＳ５１５）。
【０１０６】
そして、フラグメント制御部８は、各パスに対するフラグメント設定又はフラグメント解除であるフラグメント制御を決定する（ステップＳ５１６）。
【０１０７】
その後、フラグメント制御部８は、各パスに対するフラグメント設定又は解除をフラグメント処理部３１及び３２に指示する（ステップＳ５１７）。さらに、フラグメント制御部８は、各パスの現在のフラグメント制御状態をフラグメント状態管理テーブル１０１に登録して更新する。
【０１０８】
ここで、本実施例では、優先パス状態の１つとして保護中パスを用いたが、優先パスから非優先パスへの切替えに一定期間の余裕を持たせる必要がなければ、保護中パスを用いないこともできる。
【０１０９】
（ハードウェア構成）
図１３は、データ伝送装置のハードウェア構成図である。データ伝送装置１は、受信ＩＦ１１、１２、受信バッファ２１、２２、フラグメント制御回路６０１、６０２、スイッチ６０３、フレームカウント回路６０４、６０５、送信バッファ６１、６２、及び送信ＩＦ７１，７２を有している。さらに、データ伝送装置１は、ＣＰＵ（Central  Processing  Unit）６０６、ＲＯＭ（Read  Only  Memory）６０７、ＲＡＭ（Random  Access  Memory）６０８及びＨＤＤ（Hard  Disk  Drive）６０９を有している。
【０１１０】
フラグメント制御回路６０１、６０２、フレームカウント回路６０４、６０５、ＣＰＵ６０６、ＲＯＭ６０７、ＲＡＭ６０８及びＨＤＤ６０９は、それぞれバスで接続されている。
【０１１１】
フラグメント制御回路６０１及び６０２は、図１に示したフラグメント処理部３１及び３２の機能を実現する。
【０１１２】
フレームカウント回路６０４及び６０５は、図１に示したフレームカウント部５１及び５２の機能を実現する。
【０１１３】
ＣＰＵ６０６、ＲＯＭ６０７、ＲＡＭ６０８及びＨＤＤ６０９は、図１に示したフラグメント制御部８及びフレームカウント収集部９等の機能を実現する。
【０１１４】
具体的には、ＲＯＭ６０７は、図１に示したフラグメント制御部８及びフレームカウント収集部９による処理を実現するプログラムなどの各種プログラムを格納している。ＲＡＭ６０８は、例えば、通信接続用のデータ及びフレームカウント回路によってカウントされたフレームカウント値のデータが格納している。ＨＤＤ６０９は、フラグメント状態管理テーブル１０１、パス接続管理テーブル１０２、優先パス判定テーブル１０３及びカウンタ管理テーブル１０４などを記憶している。さらに、ＨＤＤ６０９は、通信接続用のテーブルを有している。
【０１１５】
ＣＰＵ６０６は、ＲＯＭ６０７から各種プログラムを読み出し実行することで上述の各機能を実現するプロセスを生成する。
【０１１６】
以上に説明したように、本実施例に係るデータ伝送装置は、ショートフレームのみが閾値以上流れているパスがある場合、そのパスを優先パスとして、優先パスと同じ送信インタフェースを用いている他のパスにおいてロングフレームに対するフラグメントを行う。これにより、帯域の余分な消費を軽減しつつショートフレームの遅延を軽減することができる。
【０１１７】
また、保護中パスを用いてフラグメントを解除するまでに余裕を持たせることで、フラグメント設定と解除との切替えの頻度を抑えることができ、処理負荷を軽減するとともに、ショートフレームの遅延をより軽減することができる。
【実施例２】
【０１１８】
図１４は、実施例２に係るデータ伝送装置のブロック図である。本実施例に係るデータ伝送装置１は、受信インタフェース毎にフレームをカウントすることが実施例１と異なるものである。以下の説明では、実施例１と同様の機能については説明を省略する。
【０１１９】
フレームカウント部５１は、フラグメント処理部３１から受信したフレームの数を接続元ＩＤ毎にカウントする。また、フレームカウント部５２は、フラグメント処理部３２から受信したフレームの数を接続元ＩＤ毎にカウントする。
【０１２０】
また、図１４では、接続先ＩＤ１２１及び１２２として、通信系路上に各パスの接続先ＩＤを記載しているが、これは、パス毎にフレームが流れていることを分かり易く表したもので、ここで実際は接続先ＩＤを有する機能部は配置されていなくてもよい。
【０１２１】
フレームカウント収集部９は、定期的にフレームカウント部５１及び５２からフレームカウント値を取得する。そして、フレームカウント収集部９は、接続元ＩＤ毎にカウンタ管理テーブル１０４にフレームカウント値を登録する。さらに、フレームカウント収集部９は、カウンタ管理テーブル１０４を参照して、接続元ＩＤ毎に各パスの送信状態判定結果を取得する。さらに、フレームカウント収集部９は、パス接続管理テーブル１０２から接続元ＩＤと接続先ＩＤとの対応を取得し、接続先ＩＤと接続元ＩＤ毎に各パスの送信状態判定結果とを対応させる。そして、フレームカウント収集部９は、パスの接続先ＩＤ毎に優先パス判定テーブル１０３に送信状態判定結果を登録する。
【０１２２】
以上に説明したように、本実施例に係るデータ伝送装置は、受信インタフェース毎に各パスのフレームカウント値を取得して、その値を基にフラグメント制御を行う。このように、フレームカウント回路の配置場所には自由度があるので、各部の配置状態に合わせて設計を行うことが可能になる。
【符号の説明】
【０１２３】
１  データ伝送装置
４  スイッチ部
８  フラグメント制御部
９  フレームカウント収集部
１０  記憶部
１１、１２  受信ＩＦ
２１、２２  受信バッファ
３１、３２  フラグメント処理部
５１、５２  フレームカウント部
６１、６２  送信バッファ
７１、７２  送信ＩＦ
１０１  フラグメント状態管理テーブル
１０２  パス接続管理テーブル
１０３  優先パス判定テーブル
１０４  カウンタ管理テーブル
１１０  ユーザインタフェース
【図１】
2013239855.tif 000003
【図２】
2013239855.tif 000004
【図３】
2013239855.tif 000005
【図４】
2013239855.tif 000006
【図５】
2013239855.tif 000007
【図６】
2013239855.tif 000008
【図７】
2013239855.tif 000009
【図８】
2013239855.tif 000010
【図９】
2013239855.tif 000011
【図１０】
2013239855.tif 000012
【図１１】
2013239855.tif 000013
【図１２】
2013239855.tif 000014
【図１３】
2013239855.tif 000015
【図１４】
2013239855.tif 000016