(57)【要約】【課題】データ転送量を抑えつつ、優先度の高いパケットを遅延なく転送することができる送信装置、受信装置、パケット送信方法、及びパケット受信方法を提供すること。【解決手段】スケジューラ１０６は、低プライオリティパケットの送信中に高プライオリティパケットが送信可能となった場合、送信中断命令を識別子生成部１０７及びデータ出力部１０８に供給する。識別子生成部１０７は、低プライオリティパケットに付与する中断用の識別子と再開用の識別子を生成する。データ出力部１０８は、送信中断命令を受信した場合、出力中の低プライオリティパケットのデータに中断用の識別子を付して低プライオリティパケットの送信を中断する。データ出力部１０８は、高プライオリティパケットに識別子を付すことなく送信した後に、送信を中断した低プライオリティパケットのデータに再開用の識別子を付して送信する。【選択図】図１２
2015126499.tif 000002
【特許請求の範囲】
【請求項１】
転送対象のパケットを格納部から読み出して出力するデータ出力部と、
送信可能となった第１パケットの送信優先度が前記データ出力部の送信している第２パケットの送信優先度よりも高い場合、送信中断命令を出力するスケジューラと、
前記送信中断命令が出力された場合、前記データ出力部が出力中のデータに付与する第１識別子と当該第１識別子と対応する第２識別子を生成する識別子生成部と、を備え、
前記データ出力部は、前記送信中断命令の受信時に、出力中の前記第２パケットのデータに前記第１識別子を付与して出力した後に前記第２パケットの出力を停止し、前記第１パケットに識別子も付すことなく出力した後に、前記第２パケットの送信前のデータに前記第２識別子を付与して送信する、送信装置。
【請求項２】
前記第１識別子及び前記第２識別子は、前記第２パケットの先頭から何番目のデータであるかを示すシリアルナンバーを含む、
ことを特徴とする請求項１に記載の送信装置。
【請求項３】
前記第２識別子は、前記第２パケットの最終データを構成するデータであるか否かを示す情報を含む、
ことを特徴とする請求項１または請求項２に記載の送信装置。
【請求項４】
前記データ出力部は、前記送信中断命令を受信後に、前記第２パケットを構成する所定サイズのデータを出力した後に前記第２パケットの出力を停止する、
ことを特徴とする請求項１〜３のいずれか１項に記載の送信装置。
【請求項５】
前記スケジューラは、前記第１パケットの入力頻度を算出し、当該入力頻度が所定閾値以上の場合には、前記第１パケットの出力完了後であっても前記第２パケットの送信再開命令を出力しない、
ことを特徴とする請求項１〜請求項４のいずれか1項に記載の送信装置。
【請求項６】
前記データ出力部は、前記第２パケットの出力停止中に前記第２パケットよりも送信優先度が高く前記第１パケットよりも送信優先度の低い第３パケットが送信可能となった場合、前記第２パケットの送信が終了した後に前記第３パケットを送信する、
ことを特徴とする請求項１〜請求項５のいずれか１項に記載の送信装置。
【請求項７】
前記第１パケットを格納する第１キューと、
前記第２パケットを格納する第２キューと、を備える、
ことを特徴とする請求項１〜請求項６のいずれか１項に記載の送信装置。
【請求項８】
識別子が付されたデータを保持する切断データ保持部と、
受信したデータに前記識別子が付されているか否かを判定するデータ入力部と、を備え、
前記データ入力部は、
受信データに前記識別子が付されていない場合には当該データが正常なパケットであると判定して後段処理部に転送し、
受信データに前記識別子が付されている場合には当該データを前記切断データ保持部に格納し、前記切断データ保持部が保持するデータを再構築してパケットを生成して後段処理部に転送する、受信装置。
【請求項９】
前記データ入力部は、再構築したパケットに異常がないか否かをＦＣＳチェックにより判定する、
ことを特徴とする請求項８に記載の受信装置。
【請求項１０】
前記データ入力部は、前記識別子を解析し、データの送信順序の反転やデータロストを検出した場合、前記切断データ保持部に格納されているデータを破棄する、
ことを特徴とする請求項８または請求項９に記載の受信装置。
【請求項１１】
転送対象のパケットを格納部から読み出して出力するデータ出力ステップと、
送信可能となった第１パケットの送信優先度が前記データ出力部の送信している第２パケットの送信優先度よりも高い場合、送信中断命令を出力するスケジューリングステップと、
前記送信中断命令が出力された場合、前記データ出力部が出力中のデータに付与する第１識別子と当該第１識別子と対応する第２識別子を生成する識別子生成ステップと、を備え、
前記データ出力ステップでは、前記送信中断命令の受信時に、出力中の前記第２パケットのデータに前記第１識別子を付与して出力した後に前記第２パケットの出力を停止し、前記第１パケットに識別子も付すことなく出力した後に、前記第２パケットの送信前のデータに前記第２識別子を付与して送信する、
パケット送信方法。
【請求項１２】
識別子が付されたデータを保持する切断データ保持ステップと、
受信したデータに前記識別子が付されているか否かを判定するデータ入力ステップと、を備え、
前記データ入力ステップでは、
受信データに前記識別子が付されていない場合には当該データが正常なパケットであると判定して後段処理部に転送し、
受信データに前記識別子が付されている場合には当該データを前記切断データ保持部に格納し、前記切断データ保持部が保持するデータを再構築してパケットを生成して後段処理部に転送する、
パケット受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は送信装置、受信装置、パケット送信方法、及びパケット受信方法に関し、特に複数種類のパケットの送信優先度が異なる場合における送信装置、受信装置、パケット送信方法、及びパケット受信方法に関する。
【背景技術】
【０００２】
一般的なパケット転送装置（スイッチ装置やルータ装置等）において、特定の物理ポートにおけるパケットの出力順序は、ＱｏＳ（Quality of Service）制御によって決定される。つまり優先度の高いパケットは、装置内で優先的に選択されて出力される。これによりパケット転送装置内で発生する遅延を抑えることができる。
【０００３】
しかしＱｏＳ制御を行った場合であっても、一旦物理ポートから出力を開始したパケットが存在する場合、当該パケットの出力完了を待ってから次のパケットを出力する必要がある。ここでパケット転送装置が扱うパケットは、ジャンボフレーム（９６００バイト）等の巨大なものも対象となっている。ジャンボフレーム（９６００バイト）を１Ｇｂｐｓ（bit per second）のポートから出力する場合、出力完了までに要する時間は８０ｕｓである。すなわち、高い優先度のパケットの送信が８０ｕｓ遅延してしまう恐れがある。
【０００４】
近年、パケットによる位相同期機能（ＩＥＥＥ１５８８等）が注目されてきている。上述の伝送遅延や遅延揺らぎ（ＰＤＶ：Packet Delay Variation）が生じた場合、位相同期に必要なネットワーク特性が得られない場合がある。以下、この問題に関連する技術、すなわちパケットの優先度を扱う先行技術について説明する。
【０００５】
特許文献１は、上述のパケット遅延を低減できるパケット制御装置の一態様を開示している。当該パケット制御装置は、バッファから一般パケットを出力中に特定のパケットがバッファに入力された場合、一般パケットの出力を中断して特定パケットを出力する割込み処理を実行している。受信側の装置は、一般パケットのエラーチェックを行い、不完全なパケットであった場合には破棄を行う。またパケット制御装置は、出力を中断した一般パケットの再送を行う（段落００３３）。特許文献２にも、出力中のパケットの出力を停止し、優先度の高いパケットの出力動作に切り替える技術が開示されている。
【０００６】
特許文献３は、ＡＴＭ（Asynchronous Transfer Mode）網を使用したフレーム転送装置が開示されている。当該フレーム転送装置は、フレームをパケット単位（４８バイト）に分割し、分割したパケットに属性情報（フレームの優先度）と位置情報（分割されたパケットがフレームの何番目かを示す情報）を付与して送信する。受信先の装置は、属性情報と位置情報を用いてパケットからフレームを再構築する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−１２１１４４号公報
【特許文献２】特開２０１１−１９１６６号公報
【特許文献３】特開２００６−１２８８５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述の特許文献１の技術では、一般パケットの出力中に特定パケットがバッファに格納された場合、一般パケットの出力が中断され、送信済みの一般パケットが受信装置側で破棄される。すなわち、不完全なデータを対向装置間で送受信することになり、ネットワーク帯域を無駄に使用してしまう。特許文献２についても同様である。
【０００９】
また特許文献３の技術では、常にフレームを分割したパケットに属性情報と位置情報を付与して送信している。各パケットに属性情報と位置情報が常に付与されるため、転送データ量が多くなってしまい、ネットワーク帯域を圧迫してしまう恐れがある。
【００１０】
すなわち上述の技術（特許文献１〜３）では、データ転送量を抑えつつ、優先度の高いパケットを遅延なく転送することができないという問題があった。
【００１１】
本発明は、上述の課題に鑑みてなされたものであり、データ転送量を抑えつつ、優先度の高いパケットを遅延なく転送することができる送信装置、受信装置、パケット送信方法、及びパケット受信方法を提供することを主たる目的とする。
【課題を解決するための手段】
【００１２】
本発明の送信装置の一態様は、
転送対象のパケットを格納部から読み出して出力するデータ出力部と、
送信可能となった第１パケットの送信優先度が前記データ出力部の送信している第２パケットの送信優先度よりも高い場合、送信中断命令を出力するスケジューラと、
前記送信中断命令が出力された場合、前記データ出力部が出力中のデータに付与する第１識別子と当該第１識別子と対応する第２識別子を生成する識別子生成部と、を備え、
前記データ出力部は、前記送信中断命令の受信時に、出力中の前記第２パケットのデータに前記第１識別子を付与して出力した後に前記第２パケットの出力を停止し、前記第１パケットに識別子も付すことなく出力した後に、前記第２パケットの送信前のデータに前記第２識別子を付与して送信する、ものである。
【００１３】
本発明の受信装置の一態様は、
識別子が付されたデータを保持する切断データ保持部と、
受信したデータに前記識別子が付されているか否かを判定するデータ入力部と、を備え、
前記データ入力部は、
一連のデータに前記識別子が付されていない場合には当該データが正常なパケットであると判定して後段処理部に転送し、
一連のデータに前記識別子が付されている場合には当該データを前記切断データ保持部に格納し、前記切断データ保持部が保持するデータを再構築してパケットを生成して後段処理部に転送する、ものである。
【００１４】
本発明のパケット送信方法の一態様は、
転送対象のパケットを格納部から読み出して出力するデータ出力ステップと、
送信可能となった第１パケットの送信優先度が前記データ出力部の送信している第２パケットの送信優先度よりも高い場合、送信中断命令を出力するスケジューリングステップと、
前記送信中断命令が出力された場合、前記データ出力部が出力中のデータに付与する第１識別子と当該第１識別子と対応する第２識別子を生成する識別子生成ステップと、を備え、
前記データ出力ステップでは、前記送信中断命令の受信時に、出力中の前記第２パケットのデータに前記第１識別子を付与して出力した後に前記第２パケットの出力を停止し、前記第１パケットに識別子も付すことなく出力した後に、前記第２パケットの送信前のデータに前記第２識別子を付与して送信する、ものである。
【００１５】
本発明のパケット受信方法の一態様は、
識別子が付されたデータを保持する切断データ保持ステップと、
受信したデータに前記識別子が付されているか否かを判定するデータ入力ステップと、を備え、
前記データ入力ステップでは、
一連のデータに前記識別子が付されていない場合には当該データが正常なパケットであると判定して後段処理部に転送し、
一連のデータに前記識別子が付されている場合には当該データを前記切断データ保持部に格納し、前記切断データ保持部が保持するデータを再構築してパケットを生成して後段処理部に転送する、ものである。
【発明の効果】
【００１６】
本発明は、データ転送量を抑えつつ、優先度の高いパケットを遅延なく転送することができる送信装置、受信装置、パケット送信方法、及びパケット受信方法を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１にかかる送信装置１００の構成を示すブロック図である。
【図２】実施の形態１にかかる送信装置１００の動作概念を示す図である。
【図３】実施の形態１にかかる送信装置１００の動作概念を示す図である。
【図４】実施の形態１にかかる送信装置１００の動作概念を示す図である。
【図５】実施の形態１にかかる受信装置２００の構成を示すブロック図である。
【図６】実施の形態１にかかる受信装置２００の動作概念を示す図である。
【図７】実施の形態１にかかる識別子生成部１０７が生成する識別子の一例を示す図である。
【図８】実施の形態１にかかる識別子生成部１０７が生成する識別子の一例を示す図である。
【図９】実施の形態１にかかる送信装置１００が送信するデータ例を示す概念図である。
【図１０】実施の形態２にかかる送信装置１００の動作概念を示す図である。
【図１１】実施の形態２にかかる受信装置２００の動作概念を示す図である。
【図１２】本発明にかかる送信装置１００の構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
＜実施の形態１＞
以下、図面を参照して本発明の実施の形態について説明する。実施の形態１は、主に送信装置１００と受信装置２００から構成されるネットワークシステムにかかるものである。図１は、本実施の形態にかかる送信装置１００の構成を示すブロック図である。送信装置１００は、物理ポート１０１、物理ポート１０２、スイッチ／ＱｏＳ制御部１０３、高プライオリティキュー１０４、低プライオリティキュー１０５、スケジューラ１０６、識別子生成部１０７、データ出力部１０８、及び物理ポート１０９を備える。送信装置１００はパケットを送信する任意の装置であれば良く、例えばスイッチ装置やルータ等が該当する。
【００１９】
物理ポート１０１及び物理ポート１０２は、他の装置からのパケットが入力される物理的なポートである。物理ポート１０１及び物理ポート１０２に入力されたパケットは、スイッチ／ＱｏＳ制御部１０３に入力される。なお、パケットの入力される物理ポートの数は任意の数でよい（例えば３個以上であってもよい。）。
【００２０】
スイッチ／ＱｏＳ制御部１０３は、物理ポート１０１，１０２に入力されたパケットのＱｏＳ（Quality of Service）制御を行い、各パケットの優先度を決定する。パケットの優先度の決定方法は、一般的に用いられる方法（特許文献１や特許文献２に記載の手法等）であれば良い。スイッチ／ＱｏＳ制御部１０３は、判定した優先度に従って、各パケットを高プライオリティキュー１０４または低プライオリティキュー１０５に格納する。
【００２１】
高プライオリティキュー１０４（第１キュー）は、優先度の高いパケットである高プライオリティパケット（第１パケット）が格納されるキューである。低プライオリティキュー１０５（第２キュー）は、優先度の低いパケットである低プライオリティパケット（第２パケット）が格納されるキューである。なお、本実施の形態では説明の明確化のため、パケットのプライオリティ（優先度）は低プライオリティと高プライオリティの２種類しかないものとして説明するが、実際にはこれに限られず３つ以上のプライオリティレベル設定がなされていてもよい。この場合、プライオリティのレベル設定数に応じたキューが送信装置１００内に備えられる。なお、３つ以上のプライオリティレベルが設定された場合の動作例を実施の形態２において後述する。
【００２２】
なお、送信装置１００はプライオリティのレベル設定数と同じ数のキューを必ずしも備える構成でなくてもよい。例えば送信装置１００内に１つだけパケットの格納部を設け、スイッチ／ＱｏＳ制御部１０３が判定したパケットの優先度に応じて当該格納部内のパケットをソートしてもよい。すなわち送信部１００がパケットを格納する格納部を有すればよく、格納部の入出力形式（キューであるか否か）や格納部の数は任意に変更可能である。
【００２３】
スケジューラ１０６は、高プライオリティキュー１０４と低プライオリティキュー１０５を定期的に監視し、各キューの格納状態に応じてパケットの出力順序を決定する。スケジューラ１０６は、決定した出力順序をデータ出力部１０８に通知する。スケジューラ１０６は、高プライオリティキュー１０４と低プライオリティキュー１０５の双方にパケットが格納されている場合、高プライオリティキュー１０４に格納された高プライオリティパケットを優先して出力するように出力順序を定める。
【００２４】
またスケジューラ１０６は、低プライオリティパケットの出力中に高プライオリティキュー１０４に高プライオリティパケットが格納された場合、送信中断命令を識別子生成部１０７及びデータ出力部１０８に入力する。この送信中断命令は、低プライオリティパケットの送信を中断し、高プライオリティパケットの送信を遅延なく行うための命令である。
【００２５】
スケジューラ１０６は、送信中断命令を送信し、その後に高プライオリティキュー１０４を定期的に監視し、高プライオリティパケットの送信が終了したかを判断する。高プライオリティパケットの送信が終了した場合（すなわち高プライオリティキュー１０４が空になった場合）、スケジューラ１０６は識別子生成部１０７及びデータ出力部１０８に送信再開命令を出力する。送信再開命令は、中断した低プライオリティパケットの送信を再開するための命令である。
【００２６】
識別子生成部１０７は、送信中断命令が入力された場合に、出力中の低プライオリティパケットを構成するデータに付与する識別子（第１識別子）を生成する。この識別子は、送信装置１００の装置ＩＤや付与対象の低プライオリティパケットが格納されていたキュー（今回の例では低プライオリティキュー１０５）の識別ＩＤを含む情報である。識別子の構成例は、動作例と共に図７等を参照して後述する。
【００２７】
また識別子生成部１０７は、送信再開命令が入力された場合に、送信中断命令が入力された際に生成した識別子（第１識別子）と対応する識別子（第２識別子）を生成してデータ出力部１０８に供給する。
【００２８】
データ出力部１０８は、スケジューラ１０６の制御に応じて各キューからパケットを読み出し、読み出したパケットを物理ポート１０９を介して受信装置２００に送信する。またデータ出力部１０８は、送信中断命令が入力された際に出力中の低プライオリティパケットを構成するデータに対し、識別子生成部１０７から供給された識別子を挿入してデータ出力した後に、当該低プライオリティパケットの送信処理を中断する。この際にデータ出力部１０８は、低プライオリティパケットのどの位置まで（例えば先頭から何バイト目まで）送信したかを記憶しておく。なおこの位置情報は、データ出力部１０８が記憶するのではなく、低プライオリティキュー１０５に書き込んでおいてもよい。
【００２９】
データ出力部１０８は、識別子（第１識別子）を付した低プライオリティパケットのデータを送信した後に、高プライオリティパケットの送信を行う。データ出力部１０８は、高プライオリティパケットには識別子を付すことなく送信する。
【００３０】
データ出力部１０８には、高プライオリティパケットの送信後に送信再開命令が入力される。データ出力部１０８は、送信再開命令が入力された場合、記憶しておいた位置情報を基に低プライオリティパケットの読み出しを行って送信する。この際にデータ出力部１０８は、識別子生成部１０７が生成した識別子（第２識別子）を付して低プライオリティパケットを構成するデータを逐次送信する。
【００３１】
物理ポート１０９は、受信装置２００とのデータ転送を行う物理的なポートである。物理ポート１０９には、データ出力部１０８から各パケットのデータが入力される。
【００３２】
続いて図２〜図４を参照して、本実施の形態にかかる送信装置１００の具体的な動作について説明する。図２は、送信装置１００に低プライオリティパケットが入力された際の処理の流れを示す概念図である。低プライオリティパケットが物理ポート１０２を介してスイッチ／ＱｏＳ制御部１０３に入力される。
【００３３】
スイッチ／ＱｏＳ制御部１０３は、入力されたパケットが低プライオリティパケットであることを判定し、当該低プライオリティパケットを低プライオリティキュー１０５に格納する。スケジューラ１０６は、定期的なキューの監視により、低プライオリティキュー１０５にのみパケットが格納された状況を検知する。そしてスケジューラ１０６は、データ出力部１０８に対して低プライオリティキュー１０５からの出力を指示する。その後にデータ出力部１０８は、低プライオリティパケットを構成するデータを先頭から順次読み出し、読み出したデータを物理ポート１０９から出力する。
【００３４】
図３は、図２に示す出力状態の間に送信装置１００に対して高プライオリティパケットが入力された場合の動作を示す概念図である。高プライオリティパケットが物理ポート１０１を介してスイッチ／ＱｏＳ制御部１０３に入力される。
【００３５】
スイッチ／ＱｏＳ制御部１０３は、入力されたパケットが高プライオリティパケットであることを判定し、当該高プライオリティパケットを高プライオリティキュー１０４に格納する。スケジューラ１０６は、定期的なキューの監視により、高プライオリティキュー１０４と低プライオリティキュー１０５の双方にパケットが格納された状況を検知する。そこでスケジューラ１０６は、低プライオリティパケットの出力中に高プライオリティキュー１０４に高プライオリティパケットが格納されたと判定し、送信中断命令を識別子生成部１０７及びデータ出力部１０８に入力する。識別子生成部１０７は、送信中断命令が入力された場合に、出力中の低プライオリティパケットを構成するデータに付与する識別子を生成してデータ処理部１０８に供給する。データ出力部１０８は、出力中の低プライオリティパケットに対し、識別子生成部１０７から供給された識別子を挿入してデータ出力した後に、当該低プライオリティパケットの送信処理を中断する。
【００３６】
図４は、高プライオリティパケットの出力が開始された後（図３の状態の後）の送信装置１００の動作を示す概念図である。データ出力部１０８は、低プライオリティパケットの送信処理の中断の後に高プライオリティパケットの送信を開始する。データ出力部１０８は、高プライオリティパケットを構成する全データの送信が終了するまで処理を継続する。スケジューラ１０６は、定期的なキューの監視により高プライオリティパケットの送信終了を検知する。そしてスケジューラ１０６は、識別子生成部１０７及びデータ出力部１０８に送信再開命令を出力する。識別子生成部１０７は、送信再開命令が入力された場合に、送信中断命令が入力された際に生成した識別子と対応する識別子をデータ出力部１０８に供給する。データ出力部１０８は、送信再開命令が入力された場合、記憶しておいた位置情報を基に低プライオリティパケットの読み出しを行い、識別子を付してデータを送信する。識別子生成部１０７が付与する識別子の例については、図７を参照して後述する。
【００３７】
続いて送信装置１００が送信したパケットを受信する受信装置２００の構成及び動作について説明する。図５は、受信装置２００の構成を示すブロック図である。受信装置２００は、物理ポート２０１、データ入力部２０２、切断データ格納部２０３、及びスイッチ／ＱｏＳ制御部２０４を有する。
【００３８】
物理ポート２０１は、送信装置１００（または他の装置）からデータが入力される物理的なポートである。データ入力部２０２は、入力されたデータに前述の識別子がついているか否かを判定し、当該判定に応じてデータを振り分けて格納する。またデータ入力部２０２は、切断データ格納部２０３に格納されたデータから識別子を基にして低プライオリティパケットを再構築する。詳細は図６を参照して説明する。
【００３９】
切断データ格納部２０３は、識別子が付されたデータを一時的に格納するデータ格納部である。スイッチ／ＱｏＳ制御部２０４は、データ入力部２０２から入力されたパケットを他の装置に転送するための処理を行う。またはスイッチ／ＱｏＳ制御部２０４は、入力されたパケットを自装置内で処理を行う場合には適切な処理部にパケットを転送する。他装置にパケットを転送する場合、スイッチ／ＱｏＳ制御部２０４の処理は、送信装置１００内のスイッチ／ＱｏＳ制御部１０３の処理と略同一である。
【００４０】
なお受信装置２００は、送信装置１００が有する送信機能も併せ持ってもよい。すなわち受信装置２００は、前述のスケジューラ１０６、各キュー、データ出力部１０８に相当する処理部を合わせて有してもよい。これらの処理部の処理は、送信装置１００と同様であるため説明は省略する。
【００４１】
続いて図６を参照して、受信装置２００のパケット受信時の動作を説明する。データ入力部２０２は、入力されたデータに識別子が付されているか否かを判定する。パケットの先頭を示すデータから終了を示すデータまでの間に識別子が無い場合、データ入力部２０２は入力されたデータをそのままスイッチ／ＱｏＳ制御部２０４に転送する。すなわちデータ入力部２０２は、高プライオリティパケットをそのままスイッチ／ＱｏＳ制御部２０４に転送する。
【００４２】
一方、パケットの先頭を示すデータから終了を示すデータまでの間に識別子を検出した場合、データ入力部２０２は入力されたデータを切断データ格納部２０３に格納する。そしてデータ入力部２０２は、切断データ格納部２０３に格納された複数のデータを接続したパケットを生成し、データチェックを行う。データチェックとは、一般的なＥｔｈｅｒｎｅｔ（登録商標）  ＦＣＳ（Frame Check Sequence）チェック等でよく、再構築したデータがパケットとして問題が無いかを判定するものである。データチェックが成功であった場合、データ入力部２０２は再構成したパケットをスイッチ／ＱｏＳ制御部２０４に転送する。
【００４３】
続いて識別子生成部１０７が生成する識別子の生成ルールやデータ構成について図７〜図９を参照して説明する。データ出力部１０８によるデータ出力はデータの先頭からＦＩＦＯ（First In First Out）で出力する形式であり、シリアル接続で対向する受信装置２００に送信される。そのため、分割された低プライオリティパケットの送信順序の反転（送信順序と受信順序が異なる）やデータのロストは原則として生じない。しかしながら、理論上は分割された低プライオリティパケットの送信順序の反転（送信順序と受信順序が異なる）やデータのロストが考えられる。そのため、識別子生成部１０７はこれらの問題に対応可能な識別子を生成して付与する。
【００４４】
図７は、中断が生じた場合に付される識別子（第１識別子）の構成を示すデータ例である。当該識別子には、中断固定定義（例えば１０１０１等の固定値）、装置識別ＩＤ（送信装置１００を識別するためのＩＤ）、キューＩＤ（どのキューに入っていたパケットのデータなのかを示すＩＤ）、シリアルナンバー（パケットの何番目のデータであるかを示す値）、を含む。なお当該識別子の構成は、あくまでも一例であってこれ以外のデータを含んでいてもよい。また図中の各データ（キューＩＤ等）のデータサイズはあくまでも一例であり、これ以外のデータサイズであってもよい。
【００４５】
図８は、中断から再開される場合に付される識別子（第２識別子）の構成を示すデータ例である。当該識別子は、図７の識別子の中断固定定義が再開固定定義（中断固定定義とは異なる固定値）を有する点を除いて図７の構成と同一である。
【００４６】
１つのパケットについて複数回の中断と再開が生じる場合、１つのデータに対して中断用の識別子（図７）と再開用の識別子（図８）の双方が付される。複数回の中断と再開が行われる場合の識別子の付与処理について図９を参照して説明する。図９は、１つの低プライオリティパケットの送信時に３回の送信中断命令が入力された場合の送信データを示す概念図である。図中において、識別子（中断用の識別子、再開用の識別子）の上に記載された数値はシリアルナンバーであるものとする。
【００４７】
図９の例では識別子生成部１０７は、０から順にシリアルナンバーを設定し、パケットの最終データを含むデータに対しては特定のシリアルナンバー（２５５）を設定している。そのため図９の例では、再開用の識別子に付されるシリアルナンバーは０、１、２、２５５と変化している。これによりデータ入力部２０２は、パケットが切断されて送信されていることや切断されたデータの順序、及びパケットを構成する最終データの存在位置を把握することができる。受信装置２００のデータ入力部２０２は、シリアルナンバー（２５５）が付されたデータを受信した時点でパケットの再構築処理を行う。
【００４８】
データ入力部２０２は、切断データ格納部２０３にデータを保持している状態においてシリアルナンバーが連続していない再開用の識別子を持つデータを受信した場合、切断データ格納部２０３内のデータを破棄する。これは、データの順序反転が生じた恐れがあるためである。また切断データ格納部２０３に格納されている切断用の識別子とは異なるキューＮｏ等を持つデータを受信した場合についても、データ入力部２０２は切断データ格納部２０３内のデータを破棄する。同様にデータ入力部２０２は、切断データ格納部２０３内にデータが無い状態において切断用の識別子のシリアルナンバーが０以外のデータを受信した場合についてもデータの破棄を行う。
【００４９】
すなわちデータ入力部２０２は、識別子のシリアルナンバー等を参照し、切断したデータの順序反転やデータのロストが生じたと考えられる場合、データの破棄を行う等して正確にパケットの再構築が行われるように処理を行えばよい。またデータ入力部２０２は、データの破棄と共にデータの再送要求等を行ってもよい。
【００５０】
なお図９に示す識別子のシリアルナンバーの付与ルールはあくまでも一例であり、これに限られない。上述のようにデータの反転等は理論上生じるものの現実的にはほとんど生じないため、識別子の生成ルールは上述のものとは異なるものであったり、簡略化されたものであってもよい。
【００５１】
例えば、シリアルナンバーはインクリメントする付与ルールでなくてもよく、最終データに付与されるシリアルナンバー以外を全て同じデータにしてもよい。例えば再開識別子に付されるシリアルナンバーは０、０、０、２５５のようにしてもよい。データ出力部１０８はパケットのデータの先頭から順番にデータ送信を行うため、この方式であっても一定程度の精度を持ってパケットの再構築が実現できる。しかしながら、ネットワーク環境等により送信順序と受信順序が変化してしまう場合にはパケットの正確な再構築ができない。そのため、図９に示すようにシリアル番号を所定のルールで変化（インクリメント、またはデクリメント）させ、パケットの最終データには特定のシリアルナンバーを付与することで、より正確にパケットの再構築を実現することができる。
【００５２】
続いて本実施の形態にかかる送信装置１００及び受信装置２００の効果について説明する。上述のように送信装置１００は、低プライオリティパケット（第２パケット）の送信中に高プライオリティパケット（第１パケット）が送信可能となった場合、低プライオリティパケットを構成するデータに識別子（第１識別子）を付して送信した後に送信を中断する。そして送信装置１００は、高プライオリティパケットに識別子を付すことなく全データを送信する。その後に送信装置１００は、低プライオリティパケットの残りデータに識別子（第２識別子）を付して送信する。
【００５３】
このように送信装置１００は、高プライオリティパケットに識別子を付さず、パケットの再構築に必要な低プライオリティパケットにのみ識別子を付している。これによりネットワーク上において送信される識別子が最小限となり、トラフィック量の増大を最小限に抑えることができる。また低プライオリティパケットを構成する各データに識別子を付して送信することにより、受信装置２００においてパケット再構築が可能となる。さらに低プライオリティパケットの送信中であっても高プライオリティパケットを優先して送信するため、優先度の高いパケットを遅滞なく送信することができる。
【００５４】
＜実施の形態２＞
本実施の形態では、パケットのプライオリティのレベル分けが３以上である場合の処理を行うことを特徴とする。本実施の形態にかかる送信装置１００及び受信装置２００について実施の形態１と異なる点を以下に説明する。
【００５５】
図１０は、本実施の形態にかかる送信装置１００の構成を示すブロック図である。当該送信装置１００は、図１の構成に加えて新たに中プライオリティキュー１１０を備える。なお図１０の構成は、プライオリティのレベル分けが３以上である構成の一例であり、送信装置１００は４つ以上のキューを有していていも良い（レベル分けが４以上であってもよい）。以下では、説明の明確化のためキューは３つ（高プライオリティキュー１０４、低プライオリティキュー１０５、中プライオリティキュー１１０）であるものとして説明を行う。また中プライオリティキュー１１０に格納されるパケットを中プライオリティパケット（第３パケット）と呼称する。中プライオリティパケットは、高プライオリティパケットよりも送信優先度が低く、低プライオリティパケットよりも送信優先度が高いパケットである。
【００５６】
データ出力部１０８の処理概略について説明する。データ出力部１０８は、通常の動作時には高プライオリティパケット、中プライオリティパケット、低プライオリティパケットの優先順序でパケットを送信する。しかし、低プライオリティパケットの送信中断後に高プライオリティパケットを送信している際に中プライオリティパケットが送信可能となった（中プライオリティキュー１１０に格納された）場合、データ出力部１０８は低プライオリティパケットの送信が完了した後に中プライオリティパケットを送信する。
【００５７】
図１１を参照して改めて説明する。はじめに低プライオリティパケットのみが低プライオリティキュー１０５内にあるものとし、その他のキューにパケットは格納されていないものとする。この場合、データ出力部１０８は、低プライオリティパケットの先頭からデータを順次読み出して送信処理を行う。
【００５８】
低プライオリティパケットの送信中に高プライオリティキュー１０４に高プライオリティパケットが入力されたとする。スケジューラ１０６は、データ出力部１０８に送信中断命令を出力する。送信中断命令に応じてデータ出力部１０８は、低プライオリティパケットのデータに識別子を付して送信した後に低プライオリティパケットの送信を中断する。そしてデータ出力部１０８は、高プライオリティパケットの送信を開始する。
【００５９】
ここで高プライオリティパケットの送信中に中プライオリティキュー１１０に中プライオリティパケットが入力されたとする。スケジューラ１０６は、中プライオリティキュー１１０への入力を検知する。そしてスケジューラ１０６は、高プライオリティパケットの送信終了を検出する。高プライオリティパケットの送信が終了した場合、スケジューラ１０６は中プライオリティパケットの送信ではなく、低プライオリティパケットの送信再開命令を識別子生成部１０７及びデータ出力部１０８に出力する。
【００６０】
これに応じてデータ出力部１０８は、低プライオリティパケットの残りデータを送信する。その後にデータ出力部１０８は、中プライオリティキュー１１０から中プライオリティパケットを読み出し、識別子を付与することなく送信を行う。
【００６１】
続いて図１２を参照して図１０に対応する受信装置２００の動作について説明する。受信装置２００の動作は、基本的に図６に示す動作と同様である。データ入力部２０２は、送信されたデータに識別子が付されているか否かを判定する。データ入力部２０２は、識別子が付されていないデータをそのままスイッチ／ＱｏＳ制御部２０４に供給する。そのため高プライオリティパケットはデータ入力部２０２からスイッチ／ＱｏＳ制御部２０４に直接供給される。同様に中プライオリティパケットには識別子が付されていないため、中プライオリティパケットはデータ入力部２０２からスイッチ／ＱｏＳ制御部２０４に直接供給される。
【００６２】
データ入力部２０２は、識別子が付されているデータを切断データ格納部２０３に格納する。そしてデータ入力部２０２は実施の形態１と同様の手法でパケットの再構築を行い、再構築したパケットをスイッチ／ＱｏＳ制御部２０４に供給する。図１１の例では低プライオリティパケットのデータに識別子が付されているため、データ入力部２０２は再構築した低プライオリティパケットをスイッチ／ＱｏＳ制御部２０４に供給する。
【００６３】
続いて本実施の形態にかかる送信装置１００の効果について説明する。一般的に複数のキューがあり、複数種類のパケットが切断された場合、受信装置２００におけるパケットの再構築処理が複雑となってしまう。
【００６４】
しかし本実施の形態にかかる送信装置１００は、送信を中断しているパケットがある場合、複数のプライオリティレベルのパケットが分割されて送信されないように上述の制御を行う。そのため、受信装置２００は、パケットの再構築動作を容易に行うことができる。また複数のプライオリティレベルのパケットが分割されて送信されないように制御することにより、識別子が付される回数が減少し、ネットワーク全体でのトラフィック量が増加することを回避することができる。
【００６５】
＜その他の実施の形態＞
上述のように低プライオリティパケットは、複数のデータに分割されて送信される可能性がある。ここで分割回数が多くなると各分割データに識別子の付与するために、分勝数が多くなるにつれてネットワーク上で送信されるデータ量が多くなってしまう可能性がある。そこで、トラフィック量の増大に対する対応方法について実施の形態１と異なる点を以下に述べる。
【００６６】
以下、第１の変形例について述べる。データ出力部１０８は、スケジューラ１０６から送信中断命令が入力された場合であっても、直ちに低プライオリティパケットの送信を中断するのではなく、固定バイト分の出力が完了するまで低プライオリティパケットの出力を継続する。ここで固定バイトの最小サイズは、例えば６４バイトとすればよい。これは６４バイト長の遅延揺らぎは、ネットワーク上の処理においてほとんど問題と成らないためである。
【００６７】
なお上述の図７〜図９の説明において最終データを示すシリアルナンバーを２５５とした。これは、この固定長（６４バイト）との関係で、以下の式が成り立つためである。
６４バイト×２５６＝１６３８４バイト  ＞  ９６００バイト（一般的なジャンボフレームの最大サイズ）
【００６８】
このように直ちに低プライオリティパケットの送信を中断するのではなく、固定長のデータ出力が終了するまで中断を行わないことにより低プライオリティパケットの分割数を減らすことができる。低プライオリティパケットの分割数が減ることにより付与する識別子の数が減少し、ネットワーク上のトラフィック量を削減することができる。
【００６９】
続いて第２の変形例について述べる。上述のようにスケジューラ１０６は、定期的にキューの格納状態を検査する。そこでスケジューラ１０６は、各検査時点におけるパケットの入力状態を記憶しておく。スケジューラ１０６は、検査時点から一定時間前（例えば検査時点からＸ秒前）までの高プライオリティパケットの入力状況を算出する。そしてスケジューラ１０６は、キューの状態と共に、上述の高プライオリティパケットの入力状態が所定閾値以下であるかに応じて送信再開命令を出力する。
【００７０】
具体的にはスケジューラ１０６は、低プライオリティキュー１０５にのみパケットが格納されている状態（高プライオリティキュー１０４にパケットが格納されていない状態）であっても、この検査時点から一定時間前までの高プライオリティパケットの入力状況が高かった場合には送信再開命令を出力しない。すなわちスケジューラ１０６は、高プライオリティパケットの送信が落ち着くまで送信再開命令を出力しない。これにより、高プライオリティパケットの送信が頻繁に行われている状態で低プライオリティパケットの送信が再開されることが回避される。これにより、低プライオリティパケットの分割数が減少し、ネットワーク上のトラフィック量を削減することができる。
【００７１】
上述した実施の形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施の形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
【００７２】
スケジューラ１０６、識別子生成部１０７、データ出力部１０８の処理は、ＣＰＵ（Central Processing Unit）がコンピュータプログラムを実行することにより実現されてもよい。
【００７３】
コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００７４】
最後に図１２を参照して本発明にかかる送信装置１００の動作について改めて説明する。図１２は、本発明にかかる送信装置１００の特徴的な動作を行う処理部を示したブロック図である。
【００７５】
データ出力部１０８は、スケジューラ１０６に従ってキュー（高プライオリティユー１０４、低プライオリティキュー１０５）から読み出して受信装置２００に送信する。スケジューラ１０６は、キューを監視し、送信順序をデータ出力部１０８に通知する。スケジューラ１０６は、低プライオリティパケットの送信中に高プライオリティパケットが送信可能となった場合（高プライオリティパケットが高プライオリティキュー１０４に格納された場合）、送信中断命令を識別子生成部１０７及びデータ出力部１０８に供給する。
【００７６】
送信中断命令が入力された識別子生成部１０７は、低プライオリティパケットに付与する中断用の識別子（第１識別子）と再開用の識別子（第２識別子）を生成する。
【００７７】
データ出力部１０８は、送信中断命令を受信した場合、出力中の低プライオリティパケットのデータに中断用の識別子を付して低プライオリティパケットの送信を中断する。そしてデータ出力部１０８は、高プライオリティパケットの送信を開始する。高プライオリティパケットには識別子を付すことなく送信が行われる。データ出力部１０８は、高プライオリティパケットの送信が終了した後に、送信を中断した低プライオリティパケットのデータに再開用の識別子を付して送信する。
【００７８】
このような構成とすることにより高プライオリティパケットを遅滞なく送信することができる。また、低プライオリティパケットの送信中断と再開を行う場合にのみ識別子を送信するため、ネットワーク上に送信されるデータ量の増加を最小限に抑えることができる。
【符号の説明】
【００７９】
１００  送信装置
１０１  物理ポート
１０２  物理ポート
１０３  スイッチ／ＱｏＳ制御部
１０４  高プライオリティキュー
１０５  低プライオリティキュー
１０６  スケジューラ
１０７  識別子生成部
１０８  データ出力部
１０９  物理ポート
１１０  中プライオリティパケット
２００  受信装置
２０１  物理ポート
２０２  データ入力部
２０３  切断データ格納部
２０４  スイッチ／ＱｏＳ制御部
【図１】
2015126499.tif 000003
【図２】
2015126499.tif 000004
【図３】
2015126499.tif 000005
【図４】
2015126499.tif 000006
【図５】
2015126499.tif 000007
【図６】
2015126499.tif 000008
【図７】
2015126499.tif 000009
【図８】
2015126499.tif 000010
【図９】
2015126499.tif 000011
【図１０】
2015126499.tif 000012
【図１１】
2015126499.tif 000013
【図１２】
2015126499.tif 000014