(57)【要約】【課題】任意のサイズのデータの転送を高速化する。【解決手段】通信システムは、通信装置から通信装置の通信先に至る経路に含まれる複数の転送装置と、複数の転送装置を管理する管理装置を備える。管理装置は、経路中で複数の転送装置が使用するプロトコルの種類ごとに、通信装置から通信先に送信されるデータの転送時間を、データのサイズに応じて計算する。管理装置は、データの転送時間に基づいて選択されたプロトコルを、データを識別する情報に対応付けて通知する。管理装置からの通知を受信した転送装置は、通知されたプロトコルを用いてデータを転送する。【選択図】図２
2016054420.tif 000002
【特許請求の範囲】
【請求項１】
通信装置から前記通信装置の通信先に至る経路に含まれる複数の転送装置と、
前記複数の転送装置を管理する管理装置
を備え、
前記管理装置は、
前記経路中で前記複数の転送装置が使用するプロトコルの種類ごとに、前記通信装置から前記通信先に送信されるデータの転送時間を、前記データのサイズに応じて計算し、
前記データの転送時間に基づいて選択されたプロトコルを、前記データを識別する情報に対応付けて通知し、
前記管理装置からの通知を受信した転送装置は、通知されたプロトコルを用いて、前記データを転送する
ことを特徴とする通信システム。
【請求項２】
前記管理装置は、
前記複数の転送装置で使用され得るプロトコルの各々についてのスループットの推定値を、パケットの往復にかかる往復遅延時間とパケットの廃棄率とに対応付けて記憶するメモリを備え、
前記複数の転送装置の各々から、当該転送装置と前記複数の転送装置のうちの他の装置との通信での往復遅延時間、および、前記他の装置との間の通信での廃棄率を取得し、
前記複数の転送装置から得られた情報と前記メモリに記憶している情報を用いて、前記経路におけるスループットの推定値をプロトコルごとに求め、
前記推定値と前記複数の転送装置の各々での処理遅延を用いて、前記データの転送時間と前記データのサイズの関係を計算する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記管理装置は、
前記通信装置が前記通信先に前記データの送信を開始する際に、前記通信装置から、前記通信装置の識別情報、前記通信先の識別情報、および、前記データのサイズを取得し、
前記データの転送時間が相対的に短くなるように、前記複数の転送装置が使用するプロトコルを選択し、
前記通信装置に、前記複数の転送装置のうちで、前記選択されたプロトコルを用いて前記通信先に前記データを送信するための転送先となる転送装置を通知し、
前記通信装置は、前記転送先に前記データを送信する
ことを特徴とする請求項１または２に記載の通信システム。
【請求項４】
前記複数の転送装置は、
プロトコルの変換を行う可能性のあるパケットの条件に合致する受信パケットを受信すると、前記受信パケットに含まれるデータの送受信に使用されるセッションに対応付けて、前記受信パケットの転送に使用するプロトコルが前記管理装置から通知されているかを判定し、
前記受信パケットの転送に使用するプロトコルが前記管理装置から通知されていない場合、前記管理装置に、前記通信装置の識別情報、前記通信先の識別情報、および、前記データのサイズを含み、前記データの送信に使用するプロトコルの割り当てを要求する割り当て要求メッセージを送信し、
前記管理装置は、前記割り当て要求メッセージを受信したことを契機として、前記データの転送に前記複数の転送装置が使用するプロトコルを選択する
ことを特徴とする請求項１または２に記載の通信システム。
【請求項５】
前記管理装置は、前記通信装置が使用するプロトコルと異なるプロトコルを使用しないで前記データを転送する方が、前記経路中で前記データのプロトコルを変換して転送するよりも短時間で、前記通信先に転送できると判定すると、前記複数の転送装置の全てに、前記データを含むパケットの受信に使用されるセッションと、前記データを含むパケットの送信に使用されるセッションが等しいことを通知し、
前記複数の転送装置の各々は、受信に使用されるセッションと送信に使用されるセッションが等しいパケットに対しては、プロトコルを変換せずに転送処理をおこなう
ことを特徴とする請求項４に記載の通信システム。
【請求項６】
通信装置から前記通信装置の通信先に至る経路に含まれる複数の転送装置を管理する管理装置であって、
前記経路中で前記複数の転送装置が使用するプロトコルの種類ごとに、前記通信装置から前記通信先に送信されるデータの転送時間を、前記データのサイズに応じて計算する計算部と、
前記データの転送時間に基づいて前記複数の転送装置が使用するプロトコルを選択する選択部と、
選択されたプロトコルを、前記データを識別する情報に対応付けて通知するための処理を行う通知処理部
を備えることを特徴とする管理装置。
【請求項７】
通信装置から前記通信装置の通信先に至る経路に含まれる複数の転送装置を管理する管理装置に、
前記経路中で前記複数の転送装置が使用するプロトコルの種類ごとに、前記通信装置から前記通信先に送信されるデータの転送時間を、前記データのサイズに応じて計算し、
前記データの転送時間に基づいて前記複数の転送装置が使用するプロトコルを選択し、
選択されたプロトコルを、前記データを識別する情報に対応付けて通知する
処理をおこなわせることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信装置の間で行われる通信に関する。
【背景技術】
【０００２】
クラウドシステムの利用の増加に伴い、ユーザがクライアント端末からクラウドデータセンタのサーバにアクセスすることが増えている。クラウドデータセンタは、海外など、クライアント端末の現在地から地理的に遠方にあることが多い。このため、クライアント端末とクラウドデータセンタ中のサーバとの間での通信では、パケットの往復遅延時間（Round Trip Time、ＲＴＴ）が大きくなる傾向にある。しかし、ＲＴＴが大きい状況下でＴＣＰ（Transmission Control Protocol）を用いた通信を行う場合、一度、パケットの廃棄が発生すると、通信速度が大きく低下し、スループットが出にくいという問題がある。
【０００３】
そこで、クライアント端末とサーバの間の平均スループットを改善するために、ＷＡＮ高速化装置と呼ばれる装置が広域ネットワーク（Wide Area Network、ＷＡＮ）の両端に配置されることがある。一方のＷＡＮ高速化装置は、ある装置がバースト送信したバーストデータのサイズを計測し、バーストデータのサイズとネットワークの特性から推定されるレイテンシが小さいアルゴリズムに従って動作するプロトコルを選定する。このＷＡＮ高速化装置は、バーストデータの通信を終端させ、選定したプロトコルを用いて、バーストデータを宛先に向けて転送する。対向するＷＡＮ高速化装置は、受信したパケットを、ＴＣＰ通信で使用されるパケットに変換した上で、宛先に転送する（例えば、特許文献１など）。
【０００４】
図１のＣ１は、ＷＡＮ高速化装置を用いた通信が行われるネットワークの例を示す。ここで、ＷＡＮ内には通信環境の異なる複数の種類の網が含まれることがある。図１のケースＣ１に示す例では、広域ネットワークに無線網、国際間網、都市間網が含まれている。無線網は他の網に比べてパケットロスが大きい傾向があり、国際間網は他の網よりも遅延が大きい傾向がある。このため、これらの網の全てに同じプロトコルを用いて転送処理を行うとスループットを改善しにくい。例えば、ＷＡＮ高速化装置５ａと５ｂが、遅延の大きい国際間網でのスループット改善に効果のあるプロトコルを用いた転送処理を行っても、無線網でのパケットロスの影響を受けると、スループットの改善が小さくなってしまう。
【０００５】
そこで、図１のケースＣ２に示すように、性質の異なる網ごとに、両端にＷＡＮ高速化装置５を設置することにより、それぞれの網の性質に適したプロトコルによる転送処理を行うことが試みられている。ケースＣ２の例では、ＷＡＮ高速化装置５ｃと５ｄは無線網の性質に合ったプロトコルで通信する。同様に、ＷＡＮ高速化装置５ｅと５ｆは国際間網、ＷＡＮ高速化装置５ｇと５ｈは都市間網の性質に適したプロトコルで通信を行う。なお、ＷＡＮ高速化装置５ｄと５ｅは１つの中継拠点として動作し、ＷＡＮ高速化装置５ｆと５ｇも中継拠点となる。同じ中継拠点中のＷＡＮ高速化装置間ではＴＣＰによる通信が行われる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１７９５０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
広域ネットワークに含まれている網の性質ごとに転送に適したプロトコルを用いると、転送データ量の大きい通信では、プロトコルの変換に時間がかかっても、スループットの改善による通信時間の短縮が大きいので、転送処理にかかる時間が短縮される。しかし、転送データ量が小さい通信では、スループットの改善による通信時間の短縮量よりも、プロトコルの変換にかかる時間の方が長く、かえって転送に時間がかかってしまうことがある。
【０００８】
本発明は、任意のサイズのデータの転送を高速化することを目的とする。
【課題を解決するための手段】
【０００９】
ある態様にかかる通信システムは、通信装置から通信装置の通信先に至る経路に含まれる複数の転送装置と、複数の転送装置を管理する管理装置を備える。管理装置は、経路中で複数の転送装置が使用するプロトコルの種類ごとに、通信装置から通信先に送信されるデータの転送時間を、データのサイズに応じて計算する。管理装置は、データの転送時間に基づいて選択されたプロトコルを、データを識別する情報に対応付けて通知する。管理装置からの通知を受信した転送装置は、通知されたプロトコルを用いてデータを転送する。
【発明の効果】
【００１０】
任意のサイズのデータの転送が高速化される。
【図面の簡単な説明】
【００１１】
【図１】ＷＡＮ高速化装置を用いた通信の例を示す図である。
【図２】実施形態にかかる通信で行われる処理の例を説明する図である。
【図３】転送装置の構成の例を示す図である。
【図４】管理サーバの構成の例を示す図である。
【図５】通信装置の構成の例を示す図である。
【図６】ハードウェア構成の例を示す図である。
【図７】通信システムの例を示す図である。
【図８】経路管理テーブルの例を示す図である。
【図９Ａ】プロトコルの変換パターンごとの性能を推定するための処理の例を説明するシーケンス図である。
【図９Ｂ】プロトコルの変換パターンごとの性能を推定するための処理の例を説明するシーケンス図である。
【図１０】品質計測要求メッセージに含まれる情報要素の例を示す図である。
【図１１】計測パケットと計測応答パケットに含まれる情報要素の例を示す図である。
【図１２】品質計測応答メッセージに含まれる情報要素の例を示す図である。
【図１３】処理遅延テーブルの例を示す図である。
【図１４】特性テーブル中のデータの例を示す図である。
【図１５】通信品質テーブルの例を示す図である。
【図１６Ａ】性能推定テーブルの例を示す図である。
【図１６Ｂ】性能推定テーブルの例を示す図である。
【図１６Ｃ】性能推定テーブルの例を示す図である。
【図１６Ｄ】性能推定テーブルの例を示す図である。
【図１６Ｅ】性能推定テーブルの例を示す図である。
【図１６Ｆ】性能推定テーブルの例を示す図である。
【図１６Ｇ】性能推定テーブルの例を示す図である。
【図１７】区間の分け方の例を示す図である。
【図１８Ａ】データ転送に適用される変換パターンの設定の例を説明するシーケンス図である。
【図１８Ｂ】データ転送に適用される変換パターンの設定の例を説明するシーケンス図である。
【図１８Ｃ】データ転送に適用される変換パターンの設定の例を説明するシーケンス図である。
【図１９】割り当て要求メッセージと割り当て応答メッセージの例を示す図である。
【図２０】データ転送にかかる時間とバーストサイズの関係の例を示す図である。
【図２１】中継テーブルの設定の際に使用されるメッセージの例を示す図である。
【図２２】データの転送例を説明する図である。
【図２３】管理サーバの処理の例を説明するフローチャートである。
【図２４】第１の実施形態により得られる効果の例を説明する図である。
【図２５】第１の実施形態により得られる効果の例を説明する図である。
【図２６】第２の実施形態にかかる転送装置の構成の例を示す図である。
【図２７Ａ】データの転送例を説明するシーケンス図である。
【図２７Ｂ】データの転送例を説明するシーケンス図である。
【図２７Ｃ】データの転送例を説明するシーケンス図である。
【図２８】フィルタ登録メッセージとフィルタ登録応答メッセージの例を示す図である。
【図２９】フィルタテーブルの例を示す図である。
【図３０】転送装置が保持する中継テーブルの例を示す。
【図３１】転送装置の動作の例を説明するフローチャートである。
【図３２】第３の実施形態が適用されるシステムの例を説明する図である。
【図３３】性能推定テーブルの例を示す図である。
【図３４】第３の実施形態で行われるデータの転送例を説明する図である。
【図３５】時間の経過による適用パターンの変更例を説明する図である。
【図３６】通信装置と転送装置が同じ装置に搭載される場合の例を示す図である。
【発明を実施するための形態】
【００１２】
図２は、実施形態にかかる通信で行われる処理の例を説明する図である。転送装置２０は、ＷＡＮ高速化装置として動作できるものとする。図２では、送信元の通信装置１０ａからデータの宛先の通信装置１０ｂに至る経路は、通信品質の異なるネットワークＮ１〜Ｎ３を通過する。ここで、通信装置１０ａは、転送装置２０ａを介して広域ネットワークにアクセスし、通信装置１０ｂは、転送装置２０ｄを介して広域ネットワークにアクセスする。さらに、ネットワークＮ１とネットワークＮ２の境界に転送装置２０ｂが設置され、ネットワークＮ２とネットワークＮ３の境界に転送装置２０ｃが設置されている。このため、通信装置１０ａと通信装置１０ｂの間の通信経路には、転送装置２０ａ〜２０ｄが含まれている。また、転送装置２０ａ〜２０ｄは、各転送装置でプロトコルの変換を行うかを決定する管理サーバ５０（管理装置）と通信できるものとする。以下の説明において、データの送信元の通信装置１０ａが使用したプロトコルと異なるプロトコルによる送信処理が行われる領域を「区間」と記載することがある。１つの区間中では、プロトコルの終端や変換処理が行われず、同じ種類のプロトコルで通信される。なお、プロトコルの変換処理には、あるプロトコルで送信されたパケットを終端して、同じ種類のプロトコルのパケットとして転送しなおす場合も含まれるものとする。
【００１３】
通信装置１０ａから通信装置１０ｂに至る経路中の全ての転送装置２０ａ〜２０ｄにおいてプロトコルの変換が行われる場合、ケースＣ１１に示すように、広域ネットワークは、転送装置２０同士の間の３つの区間に分割される。ケースＣ１１では、転送装置２０ａと２０ｂの間の区間でプロトコルＡ、転送装置２０ｂと２０ｃの間の区間でプロトコルＢ、転送装置２０ｃと２０ｄの間の区間でプロトコルＣが使用される場合を示している。
【００１４】
ケースＣ１２は、転送装置２０ａ、２０ｄはプロトコルの変換を行うが、他の転送装置２０ではプロトコルを変換しない場合の例である。この場合、広域ネットワークは、転送装置２０ａから転送装置２０ｄに至る１つの区間として扱われる。
【００１５】
管理サーバ５０は、送信元の通信装置と宛先の通信装置の間で送受信されるデータの大きさに応じて、データの転送時間が短くなるように、転送処理に使用されるプロトコルの変換の回数と、転送処理に使用されるプロトコルの種類を決定する。すなわち、管理サーバ５０は、ネットワークに適したプロトコルを使用してスループットを改善することによる転送時間の短縮と、プロトコルの変換処理に起因する遅延時間とから、転送時間が最短になるように、プロトコルの変換回数や種類を決定する。
【００１６】
例えば、ケースＣ１１の場合、転送装置２０ａ〜２０ｄの各々でプロトコルの変換が行われることから、通信装置１０ａと通信装置１０ｂの間で、データの転送に使用されるプロトコルの変換は４回行われる。しかし、ケースＣ１１では、ネットワークＮ１〜Ｎ３のいずれでも、通信特性に適したプロトコルが使用されるので、スループットは高い。このため、転送データの容量が比較的大きい場合は、プロトコルの変換による遅延よりもスループットの改善による転送時間の短縮が大きいことが予測される。そこで、通信装置１０ａと通信装置１０ｂの間でデータのバックアップなどが行われることにより、転送されるデータ量が比較的大きい場合、管理サーバ５０は、ケースＣ１１のようにネットワークごとにプロトコルを変更することを決定する。
【００１７】
一方、通信装置１０ａから通信装置１０ｂに送信されるデータの大きさが比較的小さい場合、スループットの改善による転送時間の短縮量の予測値よりも、プロトコルの変換による遅延量の方が大きい。そこで、管理サーバ５０は、ケースＣ１２のように、転送装置２０ａから転送装置２０ｄまでは同じプロトコルで転送処理を行って、プロトコルの変換回数を抑えることにより、プロトコルの変換処理による遅延を回避することを決定する。
【００１８】
このように、管理サーバ５０は、送信データの大きさに応じて、転送装置２０で使用するプロトコルの組合せごとに、通信装置１０ａから通信装置１０ｂへのデータ転送にかかる時間を計算し、計算結果を用いて各転送装置２０で使用するプロトコルを決定する。このため、管理サーバ５０は、転送するデータの大きさに合わせて、データ転送にかかる時間が短いプロトコルの組合せを選択することができる。さらに、管理サーバ５０は、転送装置２０ａ〜２０ｄに対して、データの転送に使用するプロトコルを、データを識別する情報に対応付けて通知する。例えば、管理サーバ５０は、データの転送に使用するセッションの情報に対応付けて、データの転送に使用するプロトコルの情報を、転送装置２０に通知することができる。転送装置２０は、管理サーバ５０の通知に従って、転送処理を行うので、送信データの大きさに合わせて、各転送装置２０での転送処理に使用される最適なプロトコルが選択されることになる。このため、データの大きさに応じて、効率的な転送処理が行われる。
【００１９】
＜装置構成＞
図３は、転送装置２０の構成の例を示す図である。転送装置２０は、インタフェース部２１、振り分け部（２２、２６）、プロトコル受信処理部（２３〜２５）、プロトコル送信処理部（２７〜２９）を備える。さらに、転送装置２０は、テストパケット出力部３１、処理遅延算出部３２、計測パケット処理部３３、計測パケット生成部３４、プロキシ処理部３５、中継テーブル３７、転送先設定部３８も備える。
【００２０】
インタフェース部２１は、通信装置１０、管理サーバ５０、他の転送装置２０との間でパケットを送受信する。インタフェース部２１は、受信したパケットを振り分け部２２に出力する。振り分け部２２は、パケットの宛先、送信元、パケットの種類を示す情報などを用いて、パケットの振り分け処理を行う。振り分け部２２は、例えば、送信元が管理サーバ５０ではない自装置宛のパケットを、トランスポート層のプロトコルの種類に従って、第１プロトコル受信処理部２３、第２プロトコル受信処理部２４、第３プロトコル受信処理部２５のいずれかに出力する。また、振り分け部２２は、管理サーバ５０からの受信パケットを制御部４０に出力する。制御部４０は、管理サーバ５０から受信したパケットを用いて、通信セッション毎に、受信プロトコル、送信プロトコル、転送処理に使用するアドレスやポートの情報などを中継テーブル３７に格納する。
【００２１】
プロトコル受信処理部（２３〜２５）は、入力されたパケットに対して、トランスポートプロトコルの終端処理を行う。なお、第１プロトコル受信処理部２３、第２プロトコル受信処理部２４、第３プロトコル受信処理部２５は、互いに異なるプロトコルを処理するものとする。いずれのプロトコル受信処理部（２３〜２５）も、入力されたパケット中のデータに、パケットの宛先ＩＰ（Internet Protocol）アドレス、宛先ポート、プロトコルの情報などを付加して、プロキシ処理部３５に出力する。
【００２２】
プロキシ処理部３５は、入力されたデータに付加されたアドレスやポートの情報などを使用して、中継テーブル３７を検索することにより、入力されたデータの宛先と転送に使用するプロトコルを特定する。プロキシ処理部３５は、データと共に、データの転送先や転送に使用するプロトコルの情報を振り分け部２６に出力する。振り分け部２６は、転送に使用するプロトコルに応じて、入力された情報を、第１プロトコル送信処理部２７、第２プロトコル送信処理部２８、第３プロトコル送信処理部２９のいずれかに出力する。プロトコル送信処理部（２７〜２９）は、入力されたデータを指定されたプロトコルを用いて処理し、処理後のデータを宛先アドレス等の情報と共に、転送先設定部３８に出力する。転送先設定部３８は、入力されたパケットのヘッダを設定する。
【００２３】
テストパケット出力部３１は、プロトコル変換にかかる時間を計測するために使用されるテストパケットを生成する。テストパケットは、転送処理の対象のパケットと同様に、振り分け部２２、プロトコル受信処理部（２３〜２５）、プロキシ処理部３５、プロトコル送信処理部（２７〜２９）での処理の後、処理遅延算出部３２に出力される。処理遅延算出部３２は、テストパケットがテストパケット出力部３１から出力された時刻からテストパケットが入力された時刻までの時間を、プロトコルの変換による処理遅延として算出する。
【００２４】
計測パケット生成部３４は、転送先の転送装置２０と自装置との間の通信における廃棄率、往復遅延時間などの通信品質を測定するための測定パケットを生成し、インタフェース部２１などを介して、転送先の転送装置２０に送信する。計測パケット処理部３３は、計測パケットを受信すると、適宜、計測パケット中の情報を使用して、往復遅延時間やパケットの廃棄率などを求める。
【００２５】
図４は、管理サーバ５０の構成の例を示す図である。管理サーバ５０は、インタフェース部５１、通信処理部５２、通信品質取得部５３、通知処理部５４、プロトコル割り当て部６０を備える。プロトコル割り当て部６０は、計算部６１と選択部６２を有する。さらに、管理サーバ５０は、経路管理テーブル７１、特性テーブル７２、処理遅延テーブル７３、通信品質テーブル７４、性能推定テーブル７５を記憶する。
【００２６】
インタフェース部５１は、転送装置２０と通信を行うための接続処理を行い、パケットを送受信する。通信処理部５２は、転送装置２０との間の制御用のセッションを管理する。通信品質取得部５３は、各転送装置から、その転送装置のパケットの転送先との間の通信品質を表す情報を取得する。
【００２７】
経路管理テーブル７１は、転送装置２０を介した通信を行う通信装置１０の組み合わせを特定する情報に対応付けて、パケットの転送経路に含まれている転送装置２０を記録する。特性テーブル７２は、転送に使用される可能性があるトランスポート層のプロトコルの各々について、廃棄率と遅延時間の組み合わせからスループットを特定するための情報を記憶する。処理遅延テーブル７３は、各転送装置２０でプロトコルの変換処理が行われるときの処理遅延を記憶する。通信品質テーブル７４は、複数の転送装置２０の間での廃棄率や遅延時間などの通信品質を記憶する。性能推定テーブル７５は、転送対象のデータの送信元と宛先の間の経路に適用される可能性のあるプロトコルの変換パターンごとに、推定される性能を記録している。経路管理テーブル７１、特性テーブル７２、処理遅延テーブル７３、通信品質テーブル７４、性能推定テーブル７５の具体例と使用方法は後述する。
【００２８】
プロトコル割り当て部６０は、各転送装置２０に対して転送処理に使用するプロトコルを割り当てる。計算部６１は、経路管理テーブル７１、特性テーブル７２、処理遅延テーブル７３、通信品質テーブル７４を用いて、性能推定テーブル７５を生成する。選択部６２は、送信対象のデータの大きさの情報を取得すると共に、性能推定テーブル７５から、プロトコルの変換パターンを選択する。
【００２９】
図５は、通信装置１０の構成の例を示す図である。通信装置１０は、インタフェース部１１、ＩＰ処理部１２、トランスポートプロトコル処理部１３、アプリケーション処理部１４、振り分け制御部１５、転送先設定部１６、振り分けテーブル１７を備える。インタフェース部１１はパケットを送受信する。ＩＰ処理部１２は、ＩＰヘッダを処理する。トランスポートプロトコル処理部１３は、データの最終宛先との間での再送制御、転送レート制御、順序判定制御など、トランスポート層の処理を行う。アプリケーション処理部１４は、パケット中のデータを処理する。振り分け制御部１５は、転送装置２０を介して送信するパケットの情報を、振り分けテーブル１７に記録する。なお、振り分け制御部１５は、適宜、管理サーバ５０から制御メッセージを取得して、振り分けテーブル１７を更新するものとする。振り分けテーブル１７は、転送装置２０に転送するパケットを特定するためのアドレスやポート番号などの情報と、パケットの転送先の転送装置２０に割り当てられたＩＰアドレス等を格納する。転送先設定部１６は、振り分けテーブル１７に記録されている条件に該当するパケットの転送先を転送装置２０に設定するために、ヘッダの情報を書き換える。
【００３０】
図６は、ハードウェア構成の例を示す図である。転送装置２０、管理サーバ５０、通信装置１０のいずれも、図６に示すように、プロセッサ８１、メモリ８２、バス８４、ＮＩＣ（Network Interface Card）（８７ａ、８７ｂ）を備える。プロセッサ８１は、メモリ８２に格納されているプログラムを実行する。バス８４は、プロセッサ８１、メモリ８２、ＮＩＣ８７をデータの入出力が可能なように接続する。なお、いずれの装置も、接続されるネットワークなどに応じて、任意の数のＮＩＣ８７やアンテナ８８を備えることができる。また、いずれの装置も、オプションとして、ストレージ８３、出力装置８５、入力装置８６などを備えてもよい。また、いずれの装置でも、ＮＩＣ８７の数は、実装に応じた任意の数である。
【００３１】
通信装置１０において、プロセッサ８１は、ＩＰ処理部１２、トランスポートプロトコル処理部１３、アプリケーション処理部１４、振り分け制御部１５、転送先設定部１６として動作する。また、インタフェース部１１はＮＩＣ８７やアンテナ８８により実現される。振り分けテーブル１７は、メモリ８２に格納される。
【００３２】
転送装置２０において、プロセッサ８１は、振り分け部（２２、２６）、プロトコル受信処理部（２３〜２５）、プロトコル送信処理部（２７〜２９）プロキシ処理部３５、転送先設定部３８として動作する。さらに、プロセッサ８１は、テストパケット出力部３１、処理遅延算出部３２、計測パケット処理部３３、計測パケット生成部３４も実現する。メモリ８２は、中継テーブル３７を保持し、適宜、プロセッサ８１での処理に用いられるデータを保持する。インタフェース部２１は、ＮＩＣ８７やアンテナ８８により実現される。
【００３３】
管理サーバ５０において、プロセッサ８１は、通信処理部５２、通信品質取得部５３、通知処理部５４、プロトコル割り当て部６０として動作する。メモリ８２は、経路管理テーブル７１、特性テーブル７２、処理遅延テーブル７３、通信品質テーブル７４、性能推定テーブル７５を保持し、適宜、プロセッサ８１での処理に用いられるデータを保持する。インタフェース部５１はＮＩＣ８７やアンテナ８８により実現される。
【００３４】
＜第１の実施形態＞
以下、第１の実施形態の例を、通信性能の推定を行うための情報収集、プロトコルの変換パターンごとの性能の推定、通信に適用する変換パターンの決定と設定、通信処理に分けて説明する。なお、通信性能の推定を行うための情報収集と、プロトコルの変換パターンごとの性能の推定は、所定の時間ごとに、行われるものとする。このため、通信に適用される変換パターンは、変換パターンの決定が行われるときに得られている最新の性能推定の結果に基づいて行われる。
【００３５】
なお、以下の説明では、いくつかのプロトコルの具体例が示されているが、これらは一例に過ぎず、転送装置２０間の通信には、任意のトランスポートプロトコルが使用され得る。
【００３６】
（１）通信性能の推定を行うための情報収集
図７は、通信システムの例を示す図である。以下、図７に示すように、通信装置１０ａは、ネットワークＮ１〜Ｎ３を含む広域ネットワークを介して、通信装置１０ｂとの間で通信を行う場合を例として説明する。以下の説明では、通信装置１０ａが端末であり、通信装置１０ｂは海外にあるクラウドサーバであるものとする。また、通信装置１０ａは、転送装置２０ａとの間で、国内の無線アクセス網を介して通信セッションを形成しているものとする。ネットワークＮ１は、比較的廃棄が多い無線網、ネットワークＮ２は遅延時間が大きい国際間網、ネットワークＮ３は比較的通信品質が良い都市間網であるとする。また、通信装置１０ａとネットワークＮ１の間に転送装置２０ａ、通信装置１０ｂとネットワークＮ３の間に転送装置２０ｄが設置されているものとする。さらに、転送装置２０ｂはネットワークＮ１とネットワークＮ２の間の中継処理を行い、転送装置２０ｃはネットワークＮ２とネットワークＮ３の間の中継処理を行うものとする。図７は、各装置に割り当てられたＩＰアドレスも示す。
【００３７】
図８は、経路管理テーブル７１の例を示す図である。経路管理テーブル７１では、パケットの宛先を含むネットワークと、パケットの送信元のネットワークの組み合わせごとに、経路に含まれる転送装置２０のリストが記録されている。そこで、管理サーバ５０中の通信品質取得部５３は、処理対象の経路に含まれる転送装置２０を、経路管理テーブル７１を用いて特定する。例えば、通信装置１０ｂ（１５０．２０．１９．２９）が通信装置１０ａ（１３３．１５０．１１４．５６）にデータを送信するときに使用される経路は、１５０．２０．１９．０のネットワークから１３３．１５０．１１４．０への送信に該当する。従って、通信品質取得部５３は、図８に示す経路管理テーブル７１の１番目のエントリより、パケットは、転送装置２０ｄ、２０ｃ、２０ｂ、２０ａの順に転送されることを特定する。
【００３８】
図９Ａと図９Ｂは、プロトコルの変換パターンごとの性能を推定するための処理の例を説明するシーケンス図である。なお、以下の説明では、転送装置２０ａを識別する識別子は「ＷＯ＃１」であるとする。同様に、転送装置２０ｂの識別子は「ＷＯ＃２」、転送装置２０ｃの識別子は「ＷＯ＃３」、転送装置２０ｄの識別子は「ＷＯ＃４」であるとする。また、以下の説明では、動作を行っている装置を区別し易くするために、符号の後に動作を行っている転送装置２０や通信装置１０に割り当てられたアルファベットを記載することがある。例えば、制御部４０ａは、転送装置２０ａに含まれている制御部４０である。また、転送装置２０ａ〜２０ｄにおいて行われる計測処理は、実装に応じて、順序が変更されても良く、また、一部の処理が並行して行われても良い。
【００３９】
ステップＳ１において、通信品質取得部５３は、通信装置１０ｂから通信装置１０ａへのデータの送信に使用される転送装置２０を特定する。通信品質取得部５３は、特定した転送装置２０に宛てた品質計測要求メッセージを生成し、インタフェース部５１を介して、品質計測要求メッセージを送信する（ステップＳ２）。
【００４０】
図１０は、転送装置２０ａ宛の品質計測要求メッセージのペイロード中に含まれている情報要素の例を示す。品質計測要求メッセージは、メッセージタイプ、サイズ、計測対象を特定するための情報が含まれる。図１０の例では、計測対象として、転送装置２０ａ（１５０．８０．６５．９８）内でのプロトコルの変更による処理遅延が指定されている。さらに、転送装置２０ａからのデータパケットの転送先となり得る転送装置２０ｂ、２０ｃ、２０ｄとの間の区間でのパケットの廃棄率やＲＴＴが指定されている。ここで、転送装置２０ｂには１８０．９０．１４．６、転送装置２０ｃには１２０．１６０．５０．１、転送装置２０ｄには１６０．１０．１．５が割り当てられているものとする。なお、通信品質取得部５３は、図１０に示す情報要素に、宛先が転送装置２０ａ、送信元が管理サーバ５０であることを示すヘッダを付したものを品質計測要求メッセージとして、転送装置２０ａに送信する。通信品質取得部５３は、同様に、転送装置２０ｂ〜２０ｄ宛ての品質計測要求メッセージも生成し、宛先の転送装置に向けて送信する。
【００４１】
図９ＡのステップＳ２において、転送装置２０ａの振り分け部２２ａは、インタフェース部２１ａを介して、品質計測要求メッセージを取得する。振り分け部２２ａは、品質計測要求メッセージの送信元が管理サーバ５０であるので、品質計測要求メッセージを制御部４０に出力する。制御部４０は、品質計測要求メッセージに指定された他の転送装置２０との間のパケット廃棄率とＲＴＴを計測するための処理を、計測パケット生成部３４ａに要求する。転送装置２０ａの計測パケット生成部３４ａは、制御部４０ａから指定された転送装置２０に宛てた計測パケットを生成する。ここでは、計測パケット生成部３４ａは、転送装置２０ｂ〜２０ｄに宛てた計測パケットが生成される。
【００４２】
図１１のＭ１は、計測パケットのペイロード中に含まれている情報要素の例である。計測パケットのペイロードには、メッセージタイプ、サイズ、送信元アドレス、宛先アドレス、タイムスタンプが含まれる。メッセージタイプの値は計測パケットであることを示す値（０ｘ６）であり、タイムスタンプには、計測パケットの送信時刻が記録される。計測パケット生成部３４ａは、生成した計測パケットを、インタフェース部２１ａを介して宛先に送信する（図９ＡのステップＳ３）。ここで、図９Ａでは、図を見やすくするために、各装置に計測パケットが送信される様子を１本の矢印で示しているが、パケット廃棄率を計算するために予め決められた数の計測パケットが、宛先の転送装置２０に送信されているものとする。
【００４３】
転送装置２０ｂの振り分け部２２ｂは、インタフェース部２１ｂを介して、転送装置２０ａから送信された計測パケットを取得する。振り分け部２２ｂは、計測パケットを計測パケット処理部３３ｂに出力する。計測パケット処理部３３ｂは、計測パケットの送信元である転送装置２０ａに宛てた計測応答パケットを生成する。
【００４４】
図１１のＭ２は、計測応答パケットのペイロード中に含まれている情報要素の例である。計測応答パケットのペイロードには、メッセージタイプ、サイズ、送信元アドレス、宛先アドレス、タイムスタンプが含まれる。メッセージタイプの値は計測応答パケットであることを示す値（０ｘ７）であり、タイムスタンプには、計測パケットに含まれていたタイムスタンプの値が記録される。計測パケット処理部３３ｂは、生成した計測応答パケットを、インタフェース部２１ｂなどを介して宛先に送信する（図９ＡのステップＳ４）。また、転送装置２０ｃ、転送装置２０ｄにおいても、同様に計測パケットの処理と計測応答パケットの送信が行われる。なお、各転送装置２０は、受信した計測パケットと同数の計測応答パケットを送信する。
【００４５】
ステップＳ５において、転送装置２０ａの計測パケット処理部３３ａは、転送装置２０ｂ〜２０ｄから受信した計測応答パケットを、振り分け部２２ａなどを介して取得する。計測パケット処理部３３ａは、計測応答パケットの送信元ごとに、ＲＴＴとパケットの廃棄率を求める。計測パケット処理部３３ａは、計測応答パケットの受信時刻と、計測応答パケット中のタイムスタンプの差分を、計測応答パケットの送信元との間のＲＴＴとする。また、計測パケット処理部３３ａは、以下の式（１）から、廃棄率を求める。
ＰＷＡ（％）＝（Ｎｓ−Ｎｒ）／Ｎｓ×１００・・・（１）
ここで、Ｎｒはある転送装置２０から受信した計測応答パケットの数であり、Ｎｓは処理対象の転送装置２０に送信した計測パケットの数である。また、ＰＷＡは、パケットの廃棄率である。なお、計測パケット処理部３３ａは、適宜、計測パケット生成部３４ａから各転送装置２０への計測パケットの送信数を取得するものとする。計測パケット処理部３３ａは、得られた処理結果を制御部４０ａに出力する。
【００４６】
ステップＳ６〜Ｓ８の処理は、転送装置２０ｂがステップＳ２で受信した品質計測要求メッセージに基づいて行われる。ステップＳ６〜Ｓ８で行われる処理は、ステップＳ３〜Ｓ５での処理と同様である。また、ステップＳ９〜Ｓ１１の処理は転送装置２０ｃが受信した品質計測要求メッセージ、図９ＢのステップＳ１２〜Ｓ１４は、転送装置２０ｄが受信した品質計測要求メッセージに基づいて、ステップＳ６〜Ｓ８での処理と同様に行われる。
【００４７】
図９ＢのステップＳ１５において、転送装置２０ａの制御部４０ａは、テストパケット出力部３１ａに、テストパケットの出力を要求する。テストパケット出力部３１ａは、振り分け部２２ａにテストパケットを出力する。テストパケットのペイロードには、テストパケットが振り分け部２２ａに出力される時刻と、テストパケットに対して行われるプロトコルの変更内容を特定するための情報が含まれている。振り分け部２２ａは、テストパケットで使用されているプロトコルに応じて、第１プロトコル受信処理部２３、第２プロトコル受信処理部２４、第３プロトコル受信処理部２５のいずれかにテストパケット出力する。例えば、第１プロトコル受信処理部２３はＴＣＰを処理し、第２プロトコル送信処理部２８がＳＴＣＰ（Scalable TCP）を処理するとする。さらに、テストパケットのペイロードに、テストパケットがＴＣＰプロトコルからＳＴＣＰに変更されることが記録されているとする。この場合、振り分け部２２ａは、テストパケットを第１プロトコル受信処理部２３ａに出力する。第１プロトコル受信処理部２３ａは、テストパケット中のデータとテストパケットであることを示す情報を、プロキシ処理部３５ａに出力する。プロキシ処理部３５ａは、入力されたデータを用いて、テストパケットがＳＴＣＰに変換されることを特定すると、データを第２プロトコル送信処理部２８ａに出力する。第２プロトコル送信処理部２８ａは、テストパケットのプロトコルを変換し、振り分け部２６ａに出力する、振り分け部２６ａは、変換後のテストパケットを処理遅延算出部３２ａに出力する。処理遅延算出部３２ａは、テストパケットが入力された時刻と、テストパケット中の時刻情報の差分を、ＴＣＰからＳＴＣＰにプロトコルが変換される場合の処理遅延とする。なお、テストパケットを用いた処理遅延の計測は、転送装置２０ａが変換可能な全てのプロトコルの組み合わせについて同様に行われるものとする。
【００４８】
ステップＳ１６〜Ｓ１８において、転送装置２０ｂ〜２０ｄでステップＳ１５と同様の処理が行われることにより、各転送装置２０での処理遅延が計測される。処理遅延算出部３２ａは、得られた処理遅延の値を、変換するプロトコルの組み合わせに対応付けて、制御部４０ａに通知する。
【００４９】
図１２は、転送装置２０ａが生成した品質計測応答メッセージのペイロード中に含まれている情報要素の例を示す図である。制御部４０ａは、計測パケット処理部３３ａおよび処理遅延算出部３２ａから入力されたデータを用いて、品質計測応答メッセージを生成する。品質計測応答メッセージには、メッセージタイプ、サイズ、品質計測応答メッセージを生成している転送装置での処理遅延、他の転送装置との間の通信品質に関する情報が含まれる。品質計測応答メッセージには、送信元の転送装置２０ａで変換処理が可能なプロトコルの組み合わせの各々に対する処理遅延の計測結果が含まれる。処理遅延は、変換前プロトコル種別、変換後プロトコル種別、および、処理遅延の組み合わせである。なお、変換前プロトコル種別は、テストパケット出力部３１が生成したテストパケットで使用されているプロトコルであり、変換後プロトコルは処理遅延算出部３２に出力されたテストパケットで使用されているプロトコルである。
【００５０】
品質計測応答メッセージには、転送装置２０ａからの計測パケットの送信先と同数の通信品質が含められる。通信品質の各々には、計測パケットの送信先のアドレス、計測フラグ、計測結果が含まれる。計測フラグは、計測された値の種類を特定するために使用される。図１２は、計測対象がパケットの廃棄率とＲＴＴである場合を示している。
【００５１】
制御部４０ａは、図１２に示す情報要素を含む品質計測応答メッセージを生成すると、宛先を管理サーバ５０に指定したヘッダを付加する。制御部４０ａは、品質計測応答メッセージを、インタフェース部２１ａを介して、管理サーバ５０に送信する（ステップＳ１９）。
【００５２】
ステップＳ２０〜Ｓ２２では、転送装置２０ｂ〜２０ｄが品質計測応答メッセージを管理サーバ５０に送信する。転送装置２０ｂ〜２０ｄで行われる処理は、図１２を参照しながら説明した転送装置２０ａでの処理と同様である。管理サーバ５０は、転送装置２０ａ〜２０ｄから取得した各転送装置２０での処理遅延や転送装置２０間での通信品質を用いて、プロトコルの変換パターンごとに通信品質を推定する（ステップＳ２３）。
【００５３】
（２）プロトコルの変換パターンごとの性能の推定
次に、品質計測応答メッセージを受信したときに管理サーバ５０が行う処理と、プロトコルの変換パターンごとの性能の推定について、詳しく説明する。ここで、プロトコルの変換パターンとは、経路中のいずれの転送装置２０でプロトコルの変換処理が行われるかと、プロトコルの変換処理を行う各装置が転送処理に使用するプロトコルの情報を含むものとする。
【００５４】
管理サーバ５０の通信品質取得部５３は、インタフェース部５１と通信処理部５２を介して、各転送装置２０から品質計測応答メッセージを取得する。通信品質取得部５３は、品質計測応答メッセージに含まれている処理遅延の情報を処理遅延テーブル７３に格納する。
【００５５】
図１３は、処理遅延テーブル７３の例を示す図である。処理遅延テーブル７３には、転送装置２０ごとに、変換前プロトコル種別、変換後プロトコル種別、処理遅延の組み合わせが記録される。
【００５６】
図１４は、特性テーブル７２中のデータの例を示す図である。特性テーブル７２には、各プロトコルについて、そのプロトコルを使用したときに得られると推定されるスループットを、ＲＴＴと廃棄率の組み合わせの関数として記録している。図１４では、特性テーブル７２中のデータを、ＲＴＴごとのグラフとして、各プロトコルでの推定スループットを廃棄率の関数として示している。グラフＧ１はＲＴＴが５０ｍｓの場合のスループットと廃棄率の関係を示している。同様に、グラフＧ２はＲＴＴ＝１２０ｍｓ、グラフＧ３はＲＴＴ＝２００ｍｓ、グラフＧ４はＲＴＴ＝２５０ｍｓ、グラフＧ５はＲＴＴ＝３２０ｍｓ、グラフＧ６はＲＴＴ＝３７０ｍｓの場合のスループットと廃棄率の関係である。いずれのプロトコルもＲＴＴが大きくなるとスループットが小さくなることと、廃棄率が高くなるほどスループットが小さくなることは共通しているが、スループットに対するＲＴＴや廃棄率の影響は、プロトコルによって異なる。
【００５７】
通信品質取得部５３は、品質計測応答メッセージ中のＲＴＴと廃棄率に対応付けられたスループットを、特性テーブル７２から求めることにより、転送装置２０間の通信で期待されるスループットをプロトコルごとに求める。例えば、管理サーバ５０が、図１２に示すデータを含む品質計測応答メッセージを転送装置２０ａから受信している場合、通信品質取得部５３は、図１２中の通信品質１〜通信品質３を取得する。通信品質１より、通信品質取得部５３は、転送装置２０ａと転送装置２０ｂの間のＲＴＴが１２０ｍｓであることと、廃棄率が０．４％であると認識する。そこで、通信品質取得部５３は、図１４のグラフＧ２を用いて、転送装置２０ａと転送装置２０ｂの間のスループットは、ＲＰＳ（Random Packet Stream）を用いた場合は７０Ｍｂｐｓになると推定する。同様に、通信品質取得部５３は、転送装置２０ａと転送装置２０ｂの間でＵＮＡＰ（Universal Network Acceleration Protocol）を用いると７５Ｍｂｐｓ、ＳＴＣＰを用いると１５Ｍｂｐｓになると推定する。通信品質取得部５３は、求めたスループットを、廃棄率、ＲＴＴと共に、通信品質テーブル７４に記録する。
【００５８】
図１５は、通信品質テーブル７４の例を示す図である。通信品質取得部５３が図１２中の通信品質１に示す情報を用いて求めた情報は、通信品質テーブル７４の１段目の転送装置２０ａから転送装置２０ｂに至る経路の欄に記録されている。通信品質取得部５３は、転送装置２０ａと転送装置２０ｃの間、転送装置２０ａと転送装置２０ｄの間の区間についても、同様にスループットを求め、得られた値を通信品質テーブル７４に記録する。さらに、通信品質取得部５３は、転送装置２０ｂ、転送装置２０ｃ、転送装置２０ｄから送信された品質計測応答メッセージについても、同様に処理を行うことにより、図１５に示すような通信品質テーブル７４を生成する。
【００５９】
通信品質テーブル７４が生成されると、計算部６１は、処理遅延テーブル７３と通信品質テーブル７４を用いて、経路中の転送装置２０のうちの１つ以上がプロトコルの変換処理を行う場合にかかる転送時間を表わす関数を求める。このとき、計算部６１は、広域ネットワークに適用されうる区間の全ての組合せについて、転送時間を表わす関数を計算する。なお、計算部６１は、各区間で使用されうる全てのプロトコルの種類の組み合わせについて、転送時間を表わす関数を求める。転送時間を表わす関数は以下の式（２）で表わされる。
ΔＴ＝Ｄ／Ｂ＋ＰＴ・・・（２）
ここで、ΔＴは転送にかかる時間、Ｄは転送されるデータのバーストサイズ、Ｂは転送経路中でボトルネックとなるリンクでのスループット、ＰＴはプロトコルの変換処理の合計値である。ここで、バーストサイズは、再送タイムアウト（Retransmission Time Out、ＲＴＯ）未満の間隔で送信されているデータの合計量を指すものとする。従って、転送時間は、バーストサイズＤの関数として、ボトルネックのスループットＢと、プロトコルの変換処理にかかる合計時間ＰＴを用いて表わされる。性能推定テーブル７５には、転送時間の関数を記述するために、ボトルネックのスループットＢと、プロトコルの変換処理にかかる合計時間ＰＴが記録される。
【００６０】
図１６Ａ〜図１６Ｇは、性能推定テーブル７５の例である。以下、通信装置１０ｂが通信装置１０ａに、ＴＣＰを用いてデータを送信した場合を例として通信性能の推定処理の例を説明する。ここで、転送装置２０間の通信には、ＵＮＡＰ、ＲＳＰ、ＳＴＣＰのいずれかが使用されるものとする。転送装置２０ｄは、通信装置１０ｂから受信したパケットのプロトコルをＴＣＰから転送装置２０間の通信に使用されるいずれかのプロトコルに変換するものとする。同様に、転送装置２０ａは、通信装置１０ａに転送するパケットのプロトコルをＴＣＰに変換しなおす。図１６Ａ〜図１６Ｇに示す性能推定テーブル７５では、各転送装置２０の情報は、転送装置２０の識別子を用いて記録されている。性能推定テーブル７５は、区間数、使用セッション、適用プロトコル、ボトルネックリンク、プロトコルを変換する転送装置２０の識別情報、処理遅延の合計、ＩＤを含む。
【００６１】
図１７は、区間の分け方の例を示す図である。以下、図１７を参照しながら、区間と使用セッションについて説明する。ケースＣ２４に示すように、転送装置２０ａと転送装置２０ｄはプロトコルの変換処理を行うが、転送装置２０ａ〜２０ｄの間で同じプロトコルが使用して転送処理が行われるとする。この場合、転送装置２０ａから転送装置２０ｄの間は、１区間として扱われる。また使用セッションは、転送装置２０ａと転送装置２０ｄの間のセッションとなる。この場合、計算部６１は、使用されるプロトコルによって、転送時間を表わす関数として、図１６ＡのＩＤ＝１．１〜１．３に示す３種類を計算する。
【００６２】
ここで、ＩＤ＝１．１の場合を例として、関数の計算方法を説明する。ＩＤ＝１．１は、転送装置２０ｄ（ＷＯ＃４）から転送装置２０ａ（ＷＯ＃１）まで、ＵＮＡＰを用いて転送処理が行われる場合の性能を表わす関数である。広域ネットワーク中で使用されるリンクの数は１つであるので、ボトルネックリンクは、転送装置２０ｄ（ＷＯ＃４）から転送装置２０ａ（ＷＯ＃１）までのリンクである。通信装置１０ｂから通信装置１０ａにデータを転送するときのスループットは、ボトルネックリンクでのスループットとなる。さらに、転送されるデータの大きさに関係なく、プロトコルの変換による処理遅延の合計値は、転送装置２０ｄでプロトコルをＴＣＰからＵＮＡＰに変換する時間と、転送装置２０ａでＵＮＡＰからＴＣＰに変換する時間の合計になる。計算部６１は、処理遅延テーブル７３（図１３）より、転送装置２０ｄ（ＷＯ＃４）でプロトコルをＴＣＰからＵＮＡＰに変換する時間が２ｍｓであることを読み出す。計算部６１は、さらに、転送装置２０ａ（ＷＯ＃１）でプロトコルをＵＮＡＰからＴＣＰに変換する時間も２ｍｓであることから、ＩＤ＝１．１での処理遅延を４ｍｓと算出する。なお、他のＩＤで特定される経路での転送時間を求めるための関数も同様に求められるものとする。
【００６３】
次に、図１７のケースＣ２３に示すように、転送装置２０ａ、転送装置２０ｂ、転送装置２０ｄがプロトコルの変換処理を行うが、転送装置２０ｃはプロトコルの変換を行わないとする。この場合、転送装置２０ｄから転送装置２０ａに至る経路は、転送装置２０ｄ（ＷＯ＃４）と転送装置２０ｂ（ＷＯ＃２）の間の区間と、転送装置２０ｂ（ＷＯ＃２）から転送装置２０ａ（ＷＯ＃１）の間の区間の２区間として扱われる。この場合、計算部６１は、使用されるプロトコルによって、転送時間を表わす関数として、図１６ＢのＩＤ＝２．１〜２．９に示す９種類を計算する。
【００６４】
図１７のケースＣ２２に示すように、転送装置２０ａ、転送装置２０ｃ、転送装置２０ｄがプロトコルの変換処理を行うが、転送装置２０ｂはプロトコルの変換を行わない場合も、転送装置２０ａから転送装置２０ｄに至る経路は、２区間として扱われる。この場合の区間は、転送装置２０ｄ（ＷＯ＃４）と転送装置２０ｃ（ＷＯ＃３）の間の区間と、転送装置２０ｃ（ＷＯ＃３）から転送装置２０ａ（ＷＯ＃１）の間の区間である。計算部６１は、使用されるプロトコルによって、転送時間を表わす関数として、図１６ＣのＩＤ＝２．１０〜２．１８に示す９種類を計算する。
【００６５】
一方、図１７のケースＣ２１に示すように、転送装置２０ａ〜転送装置２０ｄの全てがプロトコルの変換処理を行う場合、転送装置２０ａから転送装置２０ｄに至る経路は、３区間として扱われる。３区間は、転送装置２０ｄ（ＷＯ＃４）と転送装置２０ｃ（ＷＯ＃３）の間の区間、転送装置２０ｃと転送装置２０ｂ（ＷＯ＃２）の間の区間、転送装置２０ｂと転送装置２０ａ（ＷＯ＃１）の間の区間である。計算部６１は、使用されるプロトコルに応じて、図１６Ｄ〜図１６ＧのＩＤ＝３．１〜３．２７に示す２７種類の関数を転送時間をとして計算する。
【００６６】
なお、計算部６１は、いずれの転送装置２０でもプロトコルを変換しない場合の処理条件として、区間数＝０の場合についても、転送時間を表わす関数を求める。区間数＝０の場合に使用される関数を図１６ＡのＩＤ＝０に示す。
【００６７】
図１６Ａ〜図１７を参照しながら、通信装置１０ｂから通信装置１０ａにデータが転送される場合の通信品質の推定方法を説明したが、通信装置１０ａから通信装置１０ｂへのデータの転送の際の通信品質の推定も、同様の処理により行われる。
【００６８】
（３）通信に適用する変換パターンの決定と設定
図１８Ａ〜図１８Ｃは、データ転送の際に行われる適用される変換パターンの決定と適用される変換パターンの設定の例を説明するシーケンス図である。以下、通信装置１０ａが通信装置１０ｂにデータを要求し、通信装置１０ｂから通信装置１０ａにデータが転送される場合を例として、変換パターンの選択の際に行われる処理の例を説明する。通信装置１０ａは、ｗｇｅｔなどの転送アプリケーションを用いて、データを取得するものとする。なお、実装に応じて、アップリンク方向よりも先にダウンリンク方向の設定が行われるなどの変形が行われうる。また、管理サーバ５０は、転送装置２０ａ〜２０ｄのいずれへの設定から行ってもよいものとする。
【００６９】
図１８ＡのステップＳ３１において、通信装置１０ａのアプリケーション処理部１４ａは、通信装置１０ｂとの間のパス設定をトランスポートプロトコル処理部１３ａに要求する。トランスポートプロトコル処理部１３ａは、振り分け制御部１５ａに対して、パスの設定先のＩＰアドレスが１５０．２０．１９．２９であることと、設定先のポート番号が２００３であることを通知したとする。また、アプリケーション処理部１４ａは、使用するアプリケーションの種類からバーストサイズを特定し、バーストサイズを振り分け制御部１５ａに通知する。ここでは、アプリケーション処理部１４は、アップリンク方向にはコマンドとして５００バイトのデータが送信され、ダウンリンク方向では、１０Ｍバイト程度のデータが転送されると予測したとする。振り分け制御部１５ａは、通信装置１０ｂとの通信を開始することを管理サーバ５０に通知すると共に、通信経路中の各転送装置２０で使用されるプロトコルの割り当てを要求するために、割り当て要求メッセージを送信する。
【００７０】
図１９のＭ１１は、割り当て要求メッセージに含まれる情報要素の例であり、Ｍ１２は割り当て応答メッセージに含まれる情報要素の例である。割り当て応答メッセージについては後述する（図１８ＣのステップＳ４５）。割り当て要求メッセージには、メッセージタイプ、サイズ、データ通信が行われる区間を特定するための情報、バーストサイズが含まれる。図１９の例では、データ通信が行われる区間を特定するための情報は、アップリンク（ＵＬ）方向のデータ通信での送信元の装置のアドレスおよびポート番号、アップリンク方向のデータ通信での宛先のアドレスおよびポート番号の組み合わせである。なお、割り当て要求メッセージ中のデータ通信が行われる区間を特定するための情報として、ダウンリンク方向の情報が使用されても良い。バーストサイズは、アップリンク方向に送信されるデータのバーストサイズとダウンリンク（ＤＬ）方向に送信されるデータのバーストサイズの少なくとも一方を含む。なお、以下の説明では、通信装置１０ａから通信装置１０ｂに向かう通信をアップリンク方向の通信とし、通信装置１０ｂから通信装置１０ａに向かう通信をダウンリンク方向の通信とする。
【００７１】
ステップＳ３２において、管理サーバ５０の選択部６２は、インタフェース部５１や通信処理部５２を介して、割り当て要求メッセージ中のデータを取得する。通信処理部５２は、割り当て要求メッセージにバーストサイズが含まれている方向の通信経路について、性能推定テーブル７５を用いて、転送時間が最短となるプロトコルの組合せを選択する。
【００７２】
図２０は、データ転送にかかる時間とバーストサイズの関係の例を示す。図２０は、図を見やすくするために、性能推定テーブル７５に含まれている情報から特定される関数の一部をバーストサイズの関数として表わしている。関数Ｅは区間数＝１、関数Ｆは区間数＝２、関数Ｇは区間数＝３の場合に得られた関数である。データの転送時間ΔＴは、式（２）に示したように、バーストサイズＤに正比例する直線で表わせる。さらに、直線の切片は、プロトコルの変換処理にかかる時間の合計値である。従って、図２０に示すように、バーストサイズの小さいデータの転送では、プロトコルの変換にかかる時間の影響が大きい。一方、バーストサイズが大きくなるに従って、プロトコルの変換にかかる時間の影響よりもボトルネックリンクのスループットの影響が大きくなる。そこで、選択部６２は、通知されたバーストサイズにおいて、転送時間が最も短くなるプロトコルの組合せを選択する。
【００７３】
例えば、選択部６２は、関数Ｅ、Ｆ、Ｇに対応するプロトコルの組合せのうちから、転送に使用するプロトコルの組合せを選択するとする。この場合、二点鎖線Ｈは、関数Ｅ〜Ｇのうちで最も推定データ時間が短い値を示している。選択部６２は、二点鎖線Ｈに従って、通知されたバーストサイズのデータの転送にかかる時間を予測する。すなわち、選択部６２は、バーストサイズがｂ１以下の通信では、関数Ｅを選択することにより、広域ネットワークを１区間として処理することを選択する。図２０中の矢印のように、バーストサイズがｂ１より大きくｂ２以下の通信では、選択部６２は、関数Ｆに対応するプロトコルの組合せを用いて、広域ネットワークを２区間として処理することを選択する。バーストサイズがｂ２より大きい通信では、選択部６２は、関数Ｇに対応するプロトコルの組合せを用いて、広域ネットワークを３区間として処理することを選択する。換言すると、選択部６２は、プロトコルを変更してボトルネックリンクのスループットを大きくすることにより得られる転送時間の短縮量と、プロトコルの変換処理にかかる時間とを用いて、データの転送時間を短縮できるプロトコルの変換パターンを選択する。
【００７４】
図２０を参照しながら説明したような処理を、選択部６２は、性能推定テーブル７５中の全てのデータを用いて行う。すなわち、選択部６２は、ダウンリンク方向については、ダウンリンク方向について得られた性能推定テーブル７５の全ての関数を用いて、転送装置２０が使用するプロトコルの種類ごとに、ダウンリンク方向のバーストサイズでの転送時間を計算する。さらに、選択部６２は、転送時間が最短となるプロトコルの組合せを転送に使用する対象として選択する。また、アップリンク方向についても、選択部６２は、同様の処理を行う。
【００７５】
図１９のＭ１１に示す割り当て要求メッセージを取得した場合、選択部６２は、ダウンリンク方向でのバーストサイズが１０Ｍバイトであるため、図２０のプロット中の切片に当たるプロトコルの変換処理時間を無視できると判定する。そこで、選択部６２は、ボトルネックリンクのスループットが最大となるプロトコルの組合せを選択する。ここでは、図１６Ｄに示すＩＤ＝３．２の組合せが、ダウンリンク方向の通信に使用されるプロトコルの組合せとして選択されたとする。
【００７６】
一方、ＵＬ方向に対しては、バーストサイズが５００ｂｙｔｅｓであるため、図２０のプロット中の切片に当たるプロトコルの変換処理時間が転送時間に与える影響は、スループットの改善による転送時間の短縮よりも大きいとする。このため、転送装置２０ａから転送装置２０ｄの間で使用するプロトコルとして、変換にかかる時間が短いプロトコルが選択される。以下の説明では、アップリンク方向では、図１６Ａに示すＩＤ＝１．３の組合せに従って、ＳＴＣＰが使用されるものとする。選択部６２は、選択した結果を通知処理部５４に出力する。
【００７７】
図１８ＡのステップＳ３３に示すように、通知処理部５４は、プロトコルの変換処理を行う転送装置２０ｄに対して、アップリンク方向の通信についてのプロトコルの設定を要求するために、中継テーブル登録メッセージを送信する。
【００７８】
図２１のＭ２１は、中継テーブル登録メッセージに含まれる情報要素を示し、Ｍ２２は、中継テーブル登録応答メッセージに含まれる情報要素を示す。中継テーブル登録メッセージには、メッセージタイプ、サイズ、プロトコルを変換する対象となるパケットを特定する情報、変換処理の内容が含まれる。プロトコルを変換する対象となる受信パケット（インバウンド方向のパケット）を特定する情報として、パケットの送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号、プロトコルの組合せが指定される。また、変換処理の内容として、送信パケット（アウトバウンド方向のパケット）に設定される送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号と、変換後に使用されるプロトコルが指定される。例えば、通信装置１０ａから通信装置１０ｂに向かうアップリンク方向に、５００バイトのデータを送信する場合に、転送装置２０ｄは、ＳＴＣＰが用いられているパケットをＴＣＰが用いられたパケットに変換する。この場合、転送装置２０ｄにおいてプロトコルを変換する対象となるパケットを特定する情報は以下の通りになる。
送信元アドレス：１５０．８０．６５．９８（転送装置２０ａ）
送信元ポート  ：５００４
宛先アドレス  ：１６０．１０．１．５（転送装置２０ｄ）
宛先ポート    ：６００１
プロトコル    ：ＳＴＣＰ
さらに、転送装置２０ｄにおいて行われる変換処理の内容として、以下の情報が指定される。
送信元アドレス：１３３．１５０．１１４．５６（通信装置１０ａ）
送信元ポート  ：４００８
宛先アドレス  ：１５０．２０．１９．２９（通信装置１０ｂ）
宛先ポート    ：２００３
プロトコル    ：ＴＣＰ
【００７９】
図１８ＡのステップＳ３４において、転送装置２０ｄの制御部４０ｄは、中継テーブル登録メッセージの内容を、中継テーブル３７ｄに登録する。ここで、制御部４０ｄは、インバウンド方向の宛先ポートとして指定されたポートを介してパケットを受信できるように、ポートを接続待ちの状態に設定する。次に、制御部４０ｄは、振り分け部２２ｄに、転送装置２０ａのポート５００４から転送装置２０ｄのポート６００１に送信されたパケットを、ＳＴＣＰを処理するプロトコル受信処理部に出力することを記憶させる。さらに、制御部４０ｄは、登録処理の結果を管理サーバ５０に通知するために、中継テーブル登録応答メッセージを生成する。
【００８０】
図２１のＭ２２は、中継テーブル登録応答メッセージに含まれる情報要素を示す。中継テーブル登録応答メッセージには、中継テーブル登録メッセージに含まれている情報要素に加えて、中継テーブル３７への登録に成功したかを示すリザルトコードが含まれる。リザルトコード＝１は登録成功を示し、リザルトコード＝０は登録失敗を示す。制御部４０ｄは、管理サーバ５０に中継テーブル登録応答メッセージを送信することにより、登録成功を通知する（ステップＳ３５）。
【００８１】
ステップＳ３６において、管理サーバ５０は、アップリンク方向の通信についてのプロトコルの設定を要求するために、転送装置２０ａに対しても中継テーブル登録メッセージを送信する。また、転送装置２０ａも転送装置２０ｄと同様の処理を行う。
【００８２】
ステップＳ３７において、管理サーバ５０は、通信装置１０ａに対して、通信装置１０ｂ宛てのパケットの転送先を転送装置２０ａ（ＷＯ＃１）に設定するために、振り分けテーブル１７ａを設定するための情報を含む制御メッセージを送信する。振り分けテーブル１７を設定するための情報は、中継テーブル登録メッセージに含まれている情報要素と同様である。通信装置１０ａの振り分け制御部１５ａは、制御メッセージを用いて、振り分けテーブル１７ａの設定を行う（ステップＳ３８）。さらに、振り分け制御部１５ａは、振り分けテーブル１７ａへの登録結果を表わす応答メッセージを管理サーバ５０に送信する（ステップＳ３９）。なお、応答メッセージの情報要素は、中継テーブル登録応答メッセージに含まれる情報要素と同様である。
【００８３】
アップリンク方向の経路の設定が終わると、管理サーバ５０は、同様に、ダウンリンク方向の設定処理も行う。管理サーバ５０は、転送装置２０ａ〜２０ｄに対して、中継テーブル登録メッセージを送信し、各転送装置２０は中継テーブル登録メッセージに従って、中継テーブル３７を更新する（ステップＳ４０〜Ｓ４３）。さらに、管理サーバ５０は、通信装置１０ｂに対しても、通信装置１０ａへの処理と同様に、振り分けテーブル１７ｂの設定処理を行うことにより、通信装置１０ａ宛てのパケットを、転送装置２０ｄに転送させるための処理を行う（ステップＳ４４）。
【００８４】
管理サーバ５０の通知処理部５４は、設定対象の装置から中継テーブル登録応答メッセージを受信すると、端末に対し割当て応答メッセージを送信する（図１８ＣのステップＳ４５）。割当て応答メッセージ（図１９のＭ１２）には、メッセージタイプ、サイズ、データ通信が行われる区間を特定するための情報、リザルトコードが含まれる。リザルトコードは、中継テーブル登録応答メッセージと同様である。
【００８５】
その後、ステップＳ４６に示すように、通信装置１０ａと通信装置１０ｂの間でのスリーウェイハンドシェークが行われる。通信装置１０ａと通信装置１０ｂの間でのスリーウェイハンドシェークの後、通信装置１０ａと通信装置１０ｂの間で、個々の転送装置２０での中継テーブル３７に従ってデータが転送される（ステップＳ４７）。図１８のステップＳ４６、Ｓ４７で行われる処理については、図２２を参照しながら詳しく説明する。
【００８６】
（４）データの転送処理
図２２は、データの転送例を説明する図である。図２２には、通信装置１０ａが保持する振り分けテーブル１７ａの例と、各転送装置２０が保持する中継テーブル３７の例も合わせて示されている。なお、図２２では、図を見やすくするために、中継テーブル３７をアップリンク方向で使用するデータを含むテーブルとダウンリンク方向で使用するデータを含むテーブルに分けて図示しているが、これらが１つのテーブルに含まれても良い。
【００８７】
スリーウェイハンドシェークにおいて、通信装置１０ａのトランスポートプロトコル処理部１３ａは、通信装置１０ｂとの間のＴＣＰセッションを生成するためにＳＹＮパケットを、ＩＰ処理部１２ａに出力する。ＩＰ処理部１２ａは、ＳＹＮパケットにＩＰヘッダを付した後で、転送先設定部１６ａに出力する。転送先設定部１６ａは、パケットの宛先ＩＰアドレスとポート番号の組合せをキーとして振り分けテーブル１７ａを検索する。転送先設定部１６ａは、パケットの宛先アドレスを含む振分けテーブル１７ａ中のエントリに対して、以下のように宛先アドレスなどの情報を変更することが登録されていることを特定する。
送信元アドレス：１３３．１５０．１１４．５６（通信装置１０ａ）
送信元ポート  ：４００８
宛先アドレス  ：１５０．８０．６５．９８（転送装置２０ａ）
宛先ポート    ：５００２
転送先設定部１６ａは、パケットのヘッダを振分けテーブル１７ａに従って書き換えることにより、パケットがＷＯ＃１へ届くように設定する。さらに、適宜、転送先設定部１６ａは、ルーティングテーブルも使用して、ＭＡＣヘッダも書き換える。図２２の矢印Ａ１に示すように、転送先設定部１６ａは、生成したパケットを、インタフェース部１１ａを介して送信する。
【００８８】
図２２の矢印Ａ１において、転送装置２０ａの振り分け部２２ａは、受信パケットを取得する。振り分け部２２ａは、中継テーブル登録メッセージの受信時に制御部４０ａが行った設定に応じて、ＴＣＰパケットを処理するプロトコル受信処理部に、受信パケットを出力する。このため、受信パケットは、ＴＣＰプロトコルの処理部で処理される。このため、通信装置１０ａからのＳＹＮパケットは、転送装置２０ａにおいて、終端される。受信パケット中のデータは、ヘッダの情報とプロトコルの種類と共に、プロキシ処理部３５ａに出力される。
【００８９】
プロキシ処理部３５ａは、入力されたデータの処理を、ヘッダの情報および中継テーブル３７ａ−ｕを用いて決定する。中継テーブル３７ａ−ｕには、通信装置１０ａの４００８番ポートから転送装置２０ａの５００２番ポート宛てに送信されたパケットを、転送装置２０ａの５００４番ポートから転送装置２０ｄの６００１番ポート宛てのパケットに変換することが記載されている。さらに、送信に使用するプロトコルがＳＴＣＰであることも、中継テーブル３７ａ−ｕに記録されている。そこで、プロキシ処理部３５ａは、変換後のパケットに使用されるアドレスおよびポートの情報と、プロトコルの種類とともに、データを振り分け部２６ａに出力する。
【００９０】
振り分け部２６ａは、プロキシ処理部３５ａに指定されたプロトコルを用いた処理を行うプロトコル送信処理部に出力する。振り分け部２６ａは、さらに、プロトコル送信処理部での処理済のデータに、プロキシ処理部３５ａから通知された情報を用いて生成したＩＰヘッダを付加する。振り分け部２６ａは、生成したパケットを転送先設定部３８ａに出力する。転送先設定部３８ａは、入力されたパケットの宛先アドレスをキーとしてルーティングテーブルを検索することにより、転送先の情報を設定する。振り分け部２６ａは、処理後のパケットを、インタフェース部２１ａを介して、転送装置２０ｄに送信する（矢印Ａ２）。なお、このとき、適宜、制御部４０ａは、転送装置２０ｄとの間で、ＳＴＣＰの通信セッションを確立しているものとする。
【００９１】
図２２の矢印Ａ２において、転送装置２０ｄの振り分け部２２ｄは、受信パケットを取得する。振り分け部２２ｄは、中継テーブル登録メッセージに基づく設定に応じて、ＳＴＣＰパケットを処理するプロトコル受信処理部に、受信パケットを出力する。このため、転送装置２０ａからのＳＴＣＰパケットは、転送装置２０ｄにおいて、終端される。受信パケット中のデータは、ヘッダの情報とプロトコルの種類と共に、プロキシ処理部３５ｄに出力される。
【００９２】
中継テーブル３７ｄ−ｕには、転送装置２０ａの５００４番ポートから転送装置２０ｄの６００１番ポート宛てのパケットを、通信装置１０ａの４００８番ポートから通信装置１０ｂの２００３番ポート宛てのＴＣＰパケットに変換することが記録されている。そこで、プロキシ処理部３５ｄは、中継テーブル３７ｄ−ｕを用いて、データを通信装置１０ｂの２００３番ポート宛てのＴＣＰパケットにすることを、振り分け部２６ｄに要求する。振り分け部２６ｄ、転送先設定部３８ｄで、矢印Ａ２で転送装置２０ａについて述べた処理と同様の処理が行われる。その結果、通信装置１０ａで生成されたＳＹＮパケット中のデータを含む通信装置１０ｂの２００３番ポート宛てのパケットが、通信装置１０ｂに送信される（矢印Ａ３）。
【００９３】
通信装置１０ｂのトランスポートプロトコル処理部１３ｂにおいて、ＳＹＮパケットが処理されたことにより、通信装置１０ａ宛てのＳＹＮ／ＡＣＫパケットが生成されたとする。転送先設定部１６ｂは、通信装置１０ａ宛てのＳＹＮ／ＡＣＫパケットを振り分けテーブル１７ｂに従って書き換えることにより、以下の情報を含むパケットを送信する。
送信元アドレス：１５０．２０．１９．２９（通信装置１０ｂ）
送信元ポート  ：２００３
宛先アドレス  ：１６０．１０．１．５（転送装置２０ｄ）
宛先ポート    ：２１００
矢印Ａ４において、転送装置２０ｄの振り分け部２２ｄは、受信パケットを取得する。振り分け部２２ｄは、中継テーブル登録メッセージに基づく設定に応じて、ＴＣＰパケットを処理するプロトコル受信処理部に、ダウンリンク方向の受信パケットを出力する。このため、通信装置１０ｂからのＴＣＰパケットは、転送装置２０ｄにおいて、終端される。受信パケット中のデータは、ヘッダの情報とプロトコルの種類と共に、プロキシ処理部３５ｄに出力される。
【００９４】
中継テーブル３７ｄ−ｄには、通信装置１０ｂの２００３番ポートから転送装置２０ｄの２１００番ポート宛てのパケットを、転送装置２０ｄの２３００番ポートから転送装置２０ｃの５００１番ポート宛てのパケットに変換することが記録されている。また、送信処理にはＵＮＡＰが使用されることも、中継テーブル３７ｄ−ｄに記録されている。そこで、プロキシ処理部３５ｄは、中継テーブル３７ｄ−ｄを用いて、データを転送装置２０ｃの５００１番ポート宛てＵＮＡＰパケットにすることを、振り分け部２６ｄに要求する。振り分け部２６ｄ、転送先設定部３８ｄで、矢印Ａ２で転送装置２０ａについて述べた処理と同様の処理が行われる。その結果、通信装置１０ｂで生成されたＳＹＮ／ＡＣＫパケット中のデータを含むパケットが転送装置２０ｃの５００１番ポート宛てに送信される（矢印Ａ５）。
【００９５】
矢印Ａ５において、転送装置２０ｃの振り分け部２２ｃは、中継テーブル登録メッセージに基づく設定に応じて、ＵＮＡＰパケットを処理するプロトコル受信処理部に、受信パケットを出力する。受信パケット中のデータは、ヘッダの情報とプロトコルの種類と共に、プロキシ処理部３５ｃに出力される。
【００９６】
中継テーブル３７ｃには、転送装置２０ｄの２３００番ポートから転送装置２０ｃの５００１番ポート宛てのパケットを、転送装置２０ｃの３００１番ポートから転送装置２０ｂの５４００番ポート宛てのパケットに変換することが記録されている。また、送信処理にはＵＮＡＰが使用されることも、中継テーブル３７ｃに記録されている。そこで、プロキシ処理部３５ｃは、データを転送装置２０ｂの５４００番ポート宛てＵＮＡＰパケットにすることを、振り分け部２６ｃに要求する。振り分け部２６ｃ、転送先設定部３８ｃで、矢印Ａ２で転送装置２０ａについて述べた処理と同様の処理が行われるため、転送装置２０ｂの５４００番ポート宛てのパケットが送信される（矢印Ａ６）。
【００９７】
矢印Ａ６において、転送装置２０ｂの振り分け部２２ｂは、中継テーブル登録メッセージに基づく設定に応じて、ＵＮＡＰパケットを処理するプロトコル受信処理部に、受信パケットを出力する。受信パケット中のデータは、ヘッダの情報とプロトコルの種類と共に、プロキシ処理部３５ｂに出力される。
【００９８】
中継テーブル３７ｂには、転送装置２０ｃの３００１番ポートから転送装置２０ｂの５４００番ポート宛てのＵＮＡＰパケットを、転送装置２０ｂの４００５番ポートから転送装置２０ａの６１００番ポート宛てのＲＰＳパケットに変換することが記録されている。そこで、プロキシ処理部３５ｂは、データを転送装置２０ａの４００５番ポート宛てＲＰＳパケットにすることを、振り分け部２６ｂに要求する。振り分け部２６ｂ、転送先設定部３８ｂで、矢印Ａ２で転送装置２０ａについて述べた処理と同様の処理が行われるため、転送装置２０ａの４００５番ポート宛てのＲＰＳパケットが送信される（矢印Ａ７）。
【００９９】
矢印Ａ７において、転送装置２０ａの振り分け部２２ａは、中継テーブル登録メッセージに基づく設定に応じて、ＲＰＳパケットを処理するプロトコル受信処理部に、受信パケットを出力する。受信パケット中のデータは、ヘッダの情報とプロトコルの種類と共に、プロキシ処理部３５ａに出力される。
【０１００】
中継テーブル３７ａ−ｄには、転送装置２０ｂの４００５番ポートから転送装置２０ａの６１００番ポート宛てのＲＰＳパケットを、通信装置１０ｂの２００３番ポートから通信装置１０ａの４００８番ポート宛てのＴＣＰパケットに変換することが記録されている。そこで、プロキシ処理部３５ａは、データを通信装置１０ａの４００８番ポート宛てのＴＣＰパケットに含めることを、振り分け部２６ａに要求する。振り分け部２６ａ、転送先設定部３８ａで、矢印Ａ２で転送装置２０ａについて述べた処理と同様の処理が行われる。このため、通信装置１０ｂが通信装置１０ａに宛てて送信したＳＹＮ／ＡＣＫパケット中のデータは、通信装置１０ａの４００８番ポートに宛てのＴＣＰパケットとして送信される（矢印Ａ８）。
【０１０１】
通信装置１０ａにおいて、通信装置１０ｂが通信装置１０ａに宛てて送信したＳＹＮ／ＡＣＫパケットが処理される。さらに、通信装置１０ａがＡＣＫパケットを通信装置１０ｂに送信することにより、スリーウェイハンドシェークが行われる。なお、通信装置１０ａから通信装置１０ｂ宛に送信されたＡＣＫパケットは、通信装置１０ａから通信装置１０ｂに送信されたＳＹＮパケットと同様に処理される。さらに、データの転送に使用されるパケットも、通信装置１０ａから通信装置１０ｂに宛てたパケットは、通信装置１０ａから通信装置１０ｂに送信されたＳＹＮパケットと同様に処理される。一方、通信装置１０ｂから通信装置１０ａに宛てたパケットは、通信装置１０ｂから通信装置１０ａに宛てたＳＹＮ／ＡＣＫパケットと同様に処理される。このため、通信装置１０ａと通信装置１０ｂの間で、転送されるデータのバーストサイズに合わせたプロトコルの組合せによる転送処理が行われる。
【０１０２】
図２３は、管理サーバ５０の処理の例を説明するフローチャートである。なお、図２３は処理の一例であり、実装に応じて、例えば、アップリンク方向の経路の前にダウンリンク方向の経路の設定が行われるなど、処理の手順が変形されうる。また、ステップＳ５４とＳ５５は互いに順序を変更でき、ステップＳ６０とＳ６１も互いに順序を変更できる。なお、ステップＳ５５とＳ５４の順序が入れ替わる場合、ステップＳ５７からＳ５５に戻る。同様に、ステップＳ６０とＳ６１の順序が入れ替わる場合、ステップＳ６３からＳ６１に戻る。
【０１０３】
選択部６２は、割り当て要求メッセージを受信するまで待機する（ステップＳ５１でＮｏ）。割り当て要求メッセージを受信すると、選択部６２は、アップリンク方向に送信されるデータのバーストサイズ（ＵＬバーストサイズ）が通知されたかを判定する（ステップＳ５１でＹｅｓ、ステップＳ５２）。ＵＬバーストサイズが通知されると、選択部６２は、ＵＬバーストサイズのデータを最短時間で転送するプロトコルの組み合わせを、性能推定テーブル７５を用いて特定する（ステップＳ５２でＹｅｓ、ステップＳ５３）。通知処理部５４は、特定されたプロトコルの組み合わせを使用する場合に、プロトコルを終端する転送装置２０の各々に、中継テーブル登録メッセージを送信する（ステップＳ５４）。さらに、通知処理部５４は、アップリンク方向での通信において送信元となる通信装置１０に、振り分けテーブル１７の設定に用いる制御メッセージを送信することにより、データパケットの転送先を通知する（ステップＳ５５）。通知処理部５４は、転送装置２０や通信装置１０から受信した応答メッセージを用いて、アップリンク方向の経路の設定に成功したかを判定する（ステップＳ５６）。アップリンク方向の経路の設定に成功しなかった場合、選択部６２は、転送処理に使用する転送装置２０と、転送装置２０間で使用されるプロトコルの組み合わせを変更する（ステップＳ５６でＮｏ、ステップＳ５７）。以後、ステップＳ５４以降の処理が行われる。
【０１０４】
アップリンク方向の経路の設定に成功すると、選択部６２は、ダウンリンク方向に送信されるデータのバーストサイズ（ＤＬバーストサイズ）が通知されたかを判定する（ステップＳ５６でＹｅｓ、ステップＳ５８）。ＤＬバーストサイズが通知されると、ダウンリンク方向に送信されるデータの転送経路についても、アップリンク方向のデータの転送経路と同様の処理により、設定が行われる（ステップＳ５８でＹｅｓ、ステップＳ５９〜Ｓ６３）。
【０１０５】
バーストサイズが通知された方向についての転送経路が設定されると、管理サーバ５０は、割り当て応答メッセージを、割り当て要求メッセージの送信元に送信する（ステップＳ６４）。なお、割り当て要求メッセージによってＵＬバーストサイズが通知されていない場合、ステップＳ５３〜Ｓ５７の処理は行われない（ステップＳ５２でＮｏ）。同様に、割り当て要求メッセージによってＤＬバーストサイズが通知されていない場合、ステップＳ５９〜Ｓ６３の処理は行われない（ステップＳ５８でＮｏ）。
【０１０６】
図２４は、第１の実施形態により得られる効果の例を説明する図である。ケースＣ３１とＣ３２は、第１の実施形態を適用した場合の転送処理の例であり、ケースＣ３３は、第１の実施形態が用いられない場合の転送処理の例である。ケースＣ３１は、通信装置１０ｂから通信装置１０ａに転送されるデータのバーストサイズが比較的大きい場合の転送処理である。一方、ケースＣ３２、Ｃ３３は、通信装置１０ｂから通信装置１０ａに転送されるデータのバーストサイズが比較的小さい場合の転送処理を示す。ケースＣ３１〜Ｃ３３のいずれでも、ネットワークＮ１はプロトコルＢ、ネットワーク２はプロトコルＡ、ネットワークＮ３はプロトコルＣでのスループットが良いものとする。
【０１０７】
ケースＣ３１に示すように、送信されるデータのバーストサイズが大きい場合、選択部６２は、転送装置２０ａ〜２０ｄの全てでプロトコルを終端し、各ネットワークでのスループットの良いプロトコルを使用することを決定する。この場合、通信装置１０ｂから転送装置２０ｄまでの経路での転送時間はｔ２１であるとする。また、転送装置２０ｄから転送装置２０ｃまでの転送時間ｔ２２は、転送装置２０ｄでのプロトコル終端に関する処理にかかる時間Ｄｅｌａｙ＃４よりも十分に大きく、プロトコルの変換による遅延は、転送処理にかかる時間に対して無視できる。転送装置２０ｃから転送装置２０ｂへの転送時間ｔ２３に対する転送装置２０ｃでの処理時間Ｄｅｌａｙ＃３、転送装置２０ｂから転送装置２０ａへの転送時間ｔ２４に対する転送装置２０ｂでの処理時間Ｄｅｌａｙ＃２の影響も無視できるとする。同様に、転送装置２０ａから通信装置１０ａへの転送時間ｔ２５に対する転送装置２０ａでの処理時間Ｄｅｌａｙ＃１の影響も無視できる。すなわち、通信装置１０ｂから通信装置１０ａまでの転送時間はΔＴ１となり、各転送装置２０でのプロトコルの処理時間の合計値の影響は、比較的小さい。
【０１０８】
一方、ケースＣ３２では、選択部６２は、転送装置２０ａから転送装置２０ｄまでを１区間として、転送装置２０ｂおよび転送装置２０ｃではプロトコルの終端を行わないことを決定する。この場合、通信装置１０ｂから転送装置２０ｄまでの経路での転送時間はｔ１１であるとする。転送装置２０ｄから転送装置２０ａまでの転送時間ｔ１２は、転送装置２０ｄでのプロトコル終端に関する処理にかかる時間Ｄｅｌａｙ＃４に対して十分に大きくはなく、プロトコルの変換による遅延は、転送処理にかかる時間に対して無視できない。同様に、転送装置２０ａから通信装置１０ａへの転送時間ｔ１３に対する転送装置２０ａでの処理時間Ｄｅｌａｙ＃１の影響も無視できない。このように、通信装置１０ｂから通信装置１０ａまでの転送時間ΔＴ２は、プロトコルの処理時間の合計値の影響が無視できないので、選択部６２により、なるべくプロトコルの変換処理の回数の少ない組み合わせが選択される。
【０１０９】
ケースＣ３３は、ケースＣ３２との比較対象として、ケースＣ３２と同じデータを転送するときに、ケースＣ３１と同じプロトコルの組み合わせが使用された場合にかかる時間の例を示している。ケース３３では、通信装置１０ｂから転送装置２０ｄまでの経路での転送時間はｔ１であるとする。また、転送装置２０ｄから転送装置２０ｃまでの転送時間ｔ２に対する、転送装置２０ｄでのプロトコル終端に関する処理にかかる時間Ｄｅｌａｙ＃４の影響は大きく、プロトコルの変換による遅延は、転送処理にかかる時間の大部分を占めている。同様に、転送装置２０ｃから転送装置２０ｂへの転送時間ｔ３に対する転送装置２０ｃでの処理時間Ｄｅｌａｙ＃３、転送装置２０ｂから転送装置２０ａへの転送時間ｔ４に対する転送装置２０ｂでの処理時間Ｄｅｌａｙ＃２の影響も無視できない。さらに、転送装置２０ａから通信装置１０ａへの転送時間ｔ５に対する転送装置２０ａでの処理時間Ｄｅｌａｙ＃１の影響も無視できない。
【０１１０】
このため、第１の実施形態を用いたケースＣ３２ではデータの転送がΔＴ２で行われるのに対し、ケースＣ３３のように、第１の実施形態を用いないと、データの転送にΔＴ３に示す時間がかかってしまう。
【０１１１】
図２５は、第１の実施形態により得られる効果の例を説明する図である。図２５ではスループットや転送装置２０での処理時間の具体例を用いて、第１の実施形態で得られる効果を説明する。ケースＣ４１は、転送装置２０間に位置するネットワークごとにスループットが最大になるようにプロトコルを決定した場合の例を示す。ケースＣ４１では、転送装置２０間でのＲＴＴはいずれも７０ｍｓであり、転送装置２０ａ〜２０ｄの各々で行われるプロトコルの処理による遅延は３ｍｓであるとする。ケースＣ４１でのボトルネックリンクのスループットが９００Ｍｂｐｓであると、ケースＣ４１で６４ｋバイトのデータの転送にかかる時間は、式（２）に従って、次のように求められる。
ΔＴ＝Ｄ／Ｂ＋ＰＴ
＝６４０００×８／（９００×１０＾６×８）＋３×４≒１２ｍｓ
【０１１２】
一方、ケースＣ４２は、第１の実施形態に従って管理サーバ５０において選択されたプロトコルの組み合わせが転送処理に使用される場合の例を示す。ケースＣ４２では、転送装置２０ａと転送装置２０ｄはプロトコルの終端処理を行うが、転送装置２０ｂ、２０ｃはプロトコルの終端や変換等を行わないものとする。また、ケースＣ４２でのボトルネックリンクでのスループットは４００Ｍｂｐｓであるものとする。この場合、６４ｋバイトのデータの転送にかかる時間は、式（２）に従って、次のように求められる。
ΔＴ＝Ｄ／Ｂ＋ＰＴ
＝６４０００×８／（４００×１０＾６×８）＋３×２≒６ｍｓ
【０１１３】
図２５の例では、ケースＣ４２でのボトルネックのスループットは、ケースＣ４１でのボトルネックのスループットの半分以下である。しかし、管理サーバ５０によって適切なプロトコルの変換パターンが選択されたために、ケースＣ４１ではケースＣ４２の半分の時間でデータの転送処理が終了する。
【０１１４】
このように、第１の実施形態では、ボトルネックリンクのスループットの影響の大きさと、プロトコルの変換処理による遅延の影響の大きさが、データのバーストサイズによって異なることに着目して最適なプロトコルの変換パターンが選択される。このため、バーストサイズの大きなデータとバーストサイズの小さいデータのいずれも、短時間で転送処理が行われるようにプロトコルが選択される。従って、第１の実施形態を適用することにより、転送データの量に応じた効率的な転送処理が行われる。
【０１１５】
＜第２の実施形態＞
第２の実施形態では、透過プロキシなど、パケットの最終宛先のアドレスと宛先ポートを用いて、転送先を決定する装置が用いられているシステムでの実施形態について説明する。
【０１１６】
図２６は、第２の実施形態にかかる転送装置９０の構成の例を示す図である。転送装置９０は、フィルタ部９１、フィルタテーブル９２、中継処理部９３、インタフェース部（９４、９５）、振り分け部（２２、２６）、プロトコル受信処理部（２３〜２５）、プロトコル送信処理部（２７〜２９）を備える。さらに、転送装置９０は、テストパケット出力部３１、処理遅延算出部３２、計測パケット処理部３３、計測パケット生成部３４、プロキシ処理部３５、中継テーブル３７、転送先設定部３８も備える。また、プロキシ処理部３５は、バーストサイズ測定部３６を有する。振り分け部（２２、２６）、プロトコル受信処理部（２３〜２５）、プロトコル送信処理部（２７〜２９）、テストパケット出力部３１、処理遅延算出部３２、計測パケット処理部３３、計測パケット生成部３４の処理は第１の実施形態と同様である。また、中継テーブル３７中の情報要素や転送先設定部３８で行われる処理も第１の実施形態と同様である。なお、転送装置９０のハードウェア構成も、図６に示したとおりである。バーストサイズ測定部３６、フィルタ部９１、中継処理部９３はプロセッサ８１、インタフェース部９４、９５はＮＩＣ８７により実現される。また、フィルタテーブル９２はメモリ８２に記憶される。
【０１１７】
フィルタ部９１は、フィルタテーブル９２と中継テーブル３７を用いて、受信パケットがプロキシ処理部３５での処理対象となるかを判定する。なお、フィルタテーブル９２には、管理サーバ５０によって転送経路が決定されるデータを含むパケットを特定するための情報が記録されている。フィルタ部９１から振り分け部２２に出力されたパケットは、第１の実施形態と同様に処理される。フィルタ部９１は、プロキシ処理部３５での処理対象ではないパケットを、中継処理部９３に出力する。中継処理部９３は、フィルタ部９１から入力されたパケットを転送先設定部３８に出力する。バーストサイズ測定部３６は、送信元の通信装置と宛先の通信装置１０ｂとの間で送受信されるデータのバーストサイズを求める。ここで、バーストサイズは、ＲＴＯ未満の間隔で送信されているデータの合計量を指すものとする。バーストサイズ測定部３６は、バーストサイズを、データが送受信されたコネクションの特定に使用できる情報に対応付けて記憶する。
【０１１８】
図２７Ａ〜図２７Ｃは、データの転送例を説明するシーケンス図である。図２７Ａ〜図２７Ｃでは、通信装置１０ａと通信装置１０ｂの通信を、転送装置９０ａ〜９０ｄが中継する場合を例として説明する。なお、以下の説明では、通信装置１０ａと１０ｂのいずれも、振り分け制御部１５、転送先設定部１６、振り分けテーブル１７を備えなくても良い。
【０１１９】
ステップＳ７１において、管理サーバ５０中の通知処理部５４は、転送装置９０ａ〜９０ｄとの間でフィルタ登録処理を行う。フィルタ登録処理において、まず、通知処理部５４は、経路管理テーブル７１に登録されている宛先と送信元の組み合わせを、転送装置９０ａ〜９０ｄに通知するために、フィルタ登録メッセージを送信する。
【０１２０】
図２８のＭ３１はフィルタ登録メッセージに含まれる情報要素の例であり、Ｍ３２はフィルタ登録応答メッセージに含まれる情報要素の例である。フィルタ登録メッセージには、メッセージタイプ、サイズ、転送装置９０での転送処理の対象となるパケットを識別する情報を含む。転送装置９０での転送処理の対象となるパケットを識別する情報は、送信元と宛先のアドレスおよびポート番号である。フィルタ登録応答メッセージ（Ｍ３２）もフィルタ登録メッセージと同様の情報を含むが、フィルタ登録メッセージとはメッセージタイプの値が異なっている。ここでは、管理サーバ５０が転送装置９０ａ〜９０ｄに対して、以下の情報を含むフィルタ登録メッセージを送信したとする。
送信元アドレス１  ：ａｎｙ
送信元ポート番号１：ａｎｙ
宛先アドレス１    ：１５０．２０．１９．０
宛先ポート番号１  ：ａｎｙ
送信元アドレス２  ：ａｎｙ
送信元ポート番号２：ａｎｙ
宛先アドレス２    ：１３３．１５０．１１４．０
宛先ポート番号２  ：ａｎｙ
なお、ポート番号＝ａｎｙは、ポート番号が任意であることを示している。同様に、アドレス＝ａｎｙは、アドレスが任意であることを示している。
【０１２１】
転送装置９０ａのフィルタ部９１ａは、インタフェース部９４ａを介してフィルタ登録メッセージを取得すると、フィルタ登録メッセージに含まれている情報を、フィルタテーブル９２ａに登録する。登録処理が終わると、フィルタ部９１ａは、フィルタ登録応答メッセージを管理サーバ５０に送信する。
【０１２２】
図２９は、フィルタ部９１ａがフィルタ登録メッセージに含まれている情報を登録したときのフィルタテーブル９２ａの例である。転送装置９０ｂ〜９０ｄは、フィルタ登録メッセージを受信すると、転送装置９０ａと同様の処理を行うので、フィルタテーブル９２ｂ〜９２ｄも、図２９に示すとおりに設定されるものとする。
【０１２３】
ステップＳ７２において、通信装置１０ａのトランスポートプロトコル処理部１３ａは、ＴＣＰセッションを生成するために、通信装置１０ｂの２００３番ポート宛のＳＹＮパケットを生成する。ＩＰ処理部１２は、ＳＹＮパケットに、宛先アドレス＝１５０．２０．１９．２９（通信装置１０ｂ）に設定されたＩＰヘッダを付加する。さらに、ＩＰ処理部１２は、宛先アドレスに対する次ホップルータが転送装置９０ａであることを、ルーティングテーブルを用いて特定する。ＩＰ処理部１２ａは、転送装置９０ａのＭＡＣアドレスをＳＹＮパケットの宛先ＭＡＣアドレスとして送信する。
【０１２４】
転送装置９０ａのフィルタ部９１ａは、インタフェース部９４ａを介してＳＹＮパケットを受信すると、受信パケットがフィルタテーブル９２ａの条件に該当すると判定する。フィルタ部９１ａは、受信した通信セッションに対するエントリが中継テーブル３７ａに含まれているかを判定する。ここでは、通信装置１０ａと通信装置１０ｂの間の通信に関するエントリが中継テーブル３７ａに含まれていないものとする。すると、フィルタ部９１ａは、受信データの転送を保留すると共に、制御部４０ａに対して、割当て要求メッセージ（図１９のＭ１１）を管理サーバ５０に送信することを要求する。
【０１２５】
割当て要求メッセージの送信が要求されると、制御部４０ａは、バーストサイズ測定部３６ａに対して、処理対象のコネクションで送受信されるデータのバーストサイズの平均値を問合わせる（ステップＳ７３）。この段階では、コネクションが確立しておらず、バーストサイズは計測されていない。バーストサイズ測定部３６ａは、ポート番号から特定できるアプリケーションの平均的なバーストサイズを予めプリセットしておき、問い合わせに対し記憶している値を、制御部４０ａに通知する。なお、バーストサイズ測定部３６ａは、同じ通信パスで過去に行われた通信での平均バーストサイズをキャッシュしておき、キャッシュしてある値を制御部４０ａに通知しても良い。
【０１２６】
制御部４０ａは、ＳＹＮパケットの宛先アドレスと宛先ポート番号、バーストサイズ測定部３６ａから通知されたバーストサイズを含む割当て要求メッセージを生成する。なお、ここでは、割当て要求メッセージには、アップリンク方向のバーストサイズは含まれているがダウンリンク方向のバーストサイズは含まれないものとする。制御部４０ａは、インタフェース部９５ａを介して、割当て要求メッセージを管理サーバ５０に送信する（ステップＳ７４）。
【０１２７】
管理サーバ５０は、割当て要求メッセージを受信する。選択部６２は、割当て要求メッセージを受信すると、メッセージ中に指定されたバーストサイズと、性能推定テーブル７５を用いて、最適なプロトコルの割当て区間と、個々の区間に割当てるプロトコルを決定する（ステップＳ７５）。なお、ステップＳ７５で行われる処理は、第１の実施形態で図１８や図２０を参照しながら説明した処理と同様である。
【０１２８】
ステップＳ７６において、管理サーバ５０は、アップリンク方向について決定したプロトコルの組み合わせを決定すると、中継テーブル登録メッセージを用いて、転送装置９０ａ〜９０ｄに対する設定処理を行う。プロトコルを終端する転送装置９０への通知と転送装置９０における中継テーブル３７の設定処理は、図１８Ａを参照しながら説明したステップＳ３３〜Ｓ３６の処理と同様である。図２７Ａの例でも、アップリンク方向については、転送装置９０ａと転送装置９０ｄがプロトコルの終端を行うが、転送装置９０ｂと転送装置９０ｃではプロトコルを終端しないので、１区間での転送処理が行われる。
【０１２９】
第２の実施形態では、管理サーバ５０は、プロトコルの終端処理を行わない転送装置９０に対しても、中継テーブル登録メッセージが送信される。通知処理部５４は、プロトコルの終端処理を行わない転送装置９０では、受信セッションと送信セッションの情報を同じ情報に設定する。例えば、転送装置９０ｂに対して送信される中継テーブル登録メッセージには、以下の情報が含まれる。
インバウンド方向の情報
送信元アドレス：１５０．８０．６５．９８（転送装置２０ａ）
送信元ポート  ：５００４
宛先アドレス  ：１５０．２０．１９．２９（通信装置１０ｂ）
宛先ポート    ：２００３
プロトコル    ：ＳＴＣＰ
アウトバウンド方向の情報
送信元アドレス：１５０．８０．６５．９８（転送装置２０ａ）
送信元ポート  ：５００４
宛先アドレス  ：１５０．２０．１９．２９（通信装置１０ｂ）
宛先ポート    ：２００３
プロトコル    ：ＳＴＣＰ
このため、転送装置９０ｂおよび転送装置９０ｃが保持する中継テーブル３７では、アップリンク方向の受信セッションと送信セッションの情報が同じ値に設定される。
【０１３０】
図３０は、転送装置９０ａ〜９０ｄが保持する中継テーブル３７の例を示す。ステップＳ７６での処理により、転送装置９０ａが保持する中継テーブル３７中のアップリンク方向の情報は、中継テーブル３７ａ−１に示すとおりに設定されたとする。一方、転送装置９０ｂは中継テーブル３７ｂ−１、転送装置９０ｃは中継テーブル３７ｃ−１、転送装置９０ｄは中継テーブル３７ｄ−１をアップリンク方向の情報として保持する。
【０１３１】
通知処理部５４は、アップリンク方向で使用する経路の設定が終わると、割り当て応答メッセージを転送装置９０ａに向けて送信する（図２７ＢのステップＳ７７）。
【０１３２】
図２７ＢのステップＳ７８において、転送装置９０ａのフィルタ部９１ａは、保留していたＳＹＮパケットを、スリーウェイハンドシェークに使用される制御パケットであることを示す情報と共に、振り分け部２２ａに出力する。振り分け部２２ａは、スリーウェイハンドシェークに使用される制御パケットが入力されたので、入力されたパケット中のペイロードをプロキシ処理部３５ａに出力する。このとき、振り分け部２２ａは、制御パケットのＩＰヘッダ中の情報をプロキシ処理部３５ａに通知しているものとする。
【０１３３】
プロキシ処理部３５ａは、振り分け部２２ａから通知されたアドレス情報と、ペイロード中のポートの情報を用いて、中継テーブル３７ａ−１を検索する。その結果、プロキシ処理部３５ａは、入力されたデータの送信に使用するプロトコルがＳＴＣＰであることを特定する。プロキシ処理部３５ａは、特定した情報と共に、入力されたデータを振り分け部２６ａに出力する。振り分け部２６ａは、プロキシ処理部３５ａから指定されたプロトコルを処理するプロトコル送信処理部にデータを出力することにより、送信パケットを生成する。なお、送信パケットの宛先アドレスと宛先ポートは、転送装置９０ａが受信したＳＹＮパケットと同様に、通信装置１０ｂの２００３番ポートに設定されるが、送信元は、転送装置９０ａの５００４番ポートに変更される。その後、転送先設定部３８ａを介して、プロトコル変換後のパケットは、通信装置１０ｂに向けて送信される。
【０１３４】
ステップＳ７９において、転送装置９０ｂは、転送装置９０ａが通信装置１０ｂに向けて転送したパケットを受信する。転送装置９０ｂのフィルタ部９１ｂは、受信したパケットの宛先が通信装置１０ｂの２００３番ポートであるので、フィルタテーブル９２ｂ（図２９）の２番目のエントリの条件に該当すると判定する。さらに、フィルタ部９１ｂは、受信パケットに適用する条件が中継テーブル３７ｂに含まれているかを判定する。フィルタ部９１ｂは、中継テーブル３７ｂ−１（図３０）を用いて、転送装置９０ａの５００４番ポートから通信装置１０ｂの２００３番ポート宛のＳＴＣＰのパケットに適用する条件があるが、受信セッションと送信セッションが一致していることを特定する。フィルタ部９１ｂは、中継テーブル３７ｂにおいて、受信セッションの情報と送信セッションの情報が一致しているパケットは、プロキシ処理部３５ｂの処理対象ではないと判定する。そこで、フィルタ部９１ｂは、受信パケットを中継処理部９３ｂに出力する。中継処理部９３ｂに入力されたパケットは、転送先設定部３８ｂ、インタフェース部９５ｂを介して、通信装置１０ｂに向けて転送される。このため、通信装置１０ｂに転送されるパケットのプロトコルやアドレス情報、ポート番号などは、ステップＳ７８の段階から変更されない。
【０１３５】
ステップＳ８０において、転送装置９０ｃは、ステップＳ７９での転送装置９０ｂと同様の処理を行う。このため、転送装置９０ａの５００４番ポートから通信装置１０ｂの２００３番ポート宛のＳＴＣＰのパケットが、転送装置９０ｃから通信装置１０ｂに向けて転送される。
【０１３６】
ステップＳ８１において、転送装置９０ｄのフィルタ部９１ｄは、通信装置１０ａの５００４番ポートから通信装置１０ｂの２００３番ポートに宛てたパケットを受信する。フィルタ部９１ｄは、受信パケットがフィルタ部９１ｄの条件に当てはまると判定すると、中継テーブル３７ｄ−１を参照する。フィルタ部９１ｄは、受信パケットに適用可能なエントリが中継テーブル３７ｄ−１にあり、さらに、適用可能なエントリでは受信セッションと送信セッションの情報が異なるので、受信パケットがプロキシ処理部３５ｄでの処理対象であると判定する。フィルタ部９１ｄは、受信パケットを振り分け部２２ｄに出力する。振り分け部２２ｄは、受信パケットではＳＴＣＰが使用されているので、ＳＴＣＰに対応したプロトコル送信処理部に受信パケットを出力する。その後、振り分け部２２ｄは、受信パケットのペイロードと、ヘッダ中のアドレス情報を、プロキシ処理部３５ｄに出力する。プロキシ処理部３５ｄは、中継テーブル３７ｄ−１に基づいて、入力されたデータを、以下の情報を含むヘッダに含めることを振り分け部２６ｄに要求する。
宛先アドレス    ：１５０．２０．１９．２９（通信装置１０ｂ）
宛先ポート番号  ：２００３
送信元アドレス  ：１３３．１５０．１１４．５６（通信装置１０ａ）
送信元ポート番号：４００８
振り分け部２６ｄ、転送先設定部３８ｄなどでの処理により、通信装置１０ａから送信された通信装置１０ｂ宛のＳＹＮパケットは、通信装置１０ｂに送信される。
【０１３７】
ステップＳ８２において、通信装置１０ｂは、ＳＹＮパケットを受信すると、ＳＹＮ／ＡＣＫパケットを送信する。ＳＹＮ／ＡＣＫパケットに含まれるアドレスとポート番号の情報は、以下のとおりである。
宛先アドレス    ：１３３．１５０．１１４．５６（通信装置１０ａ） 
宛先ポート番号  ：４００８
送信元アドレス  ：１５０．２０．１９．２９（通信装置１０ｂ）
送信元ポート番号：２００３
ここで、通信装置１０ｂのＩＰ処理部１２ｂは、ＳＹＮ／ＡＣＫパケットを転送装置９０ｄへ転送するように宛先ＭＡＣアドレスを設定する。
【０１３８】
転送装置９０ｄのフィルタ部９１ｄは、ＳＹＮ／ＡＣＫパケットを受信すると、フィルタテーブル９２ｄに基づいて、受信したパケットがプロキシ処理部３５ｄでの処理対象となる可能性があることを認識する。次にフィルタ部９１は、中継テーブル３７ｄ−２を参照し、受信した通信セッションに対するエントリが中継テーブルにまだ存在しないことから、パケットの転送を保留し、制御部４０ｄに対し、割当て要求メッセージの送信を要求する。割当て要求メッセージの送信に際して行われる処理は、ステップＳ７３、Ｓ７４で説明した処理と同様である。ただし、ここで生成される割当て要求メッセージには、ダウンリンク方向のバーストサイズが含められるが、アップリンク方向のバーストサイズは含まれない（ステップＳ８３、Ｓ８４）。
【０１３９】
ステップＳ８５において、ステップＳ７５と同様の処理により、各転送装置９０に対して、使用するプロトコルの割り当てが行われる。ここでは、転送装置９０ａと転送装置９０ｄの間の経路が３区間に分割され、転送装置９０ａ〜９０ｄの各々で、プロトコルの終端処理が行われるように、プロトコルの変換パターンが選択されたものとする。通知処理部５４は、転送装置９０ａ〜９０ｄに対して、中継テーブル登録メッセージを用いて、中継テーブル３７の更新を求める。
【０１４０】
ステップＳ８６での処理により、転送装置９０ａが保持する中継テーブル３７ａ中のダウンリンク方向の情報は、図３０の中継テーブル３７ａ−２に示すとおりに設定されたとする。同様に、転送装置９０ｂはダウンリンク方向の情報として中継テーブル３７ｂ−２、転送装置９０ｃはダウンリンク方向の情報として中継テーブル３７ｃ−２を設定したとする。さらに、転送装置９０ｄが保持する中継テーブル３７中のダウンリンク方向の情報は、中継テーブル３７ｄ−２に示すとおりであるとする。転送装置９０ａ〜９０ｄは、設定処理が終わると、管理サーバ５０に中継テーブル登録応答メッセージを送信する。
【０１４１】
管理サーバ５０の通知処理部５４は、ダウンリンク方向で使用する経路の設定が終わると、割り当て応答メッセージを転送装置９０ｄに向けて送信する（図２７ＣのステップＳ８７）。
【０１４２】
転送装置９０ｄは、割当て応答メッセージを受信すると、ステップＳ７８での転送装置９０ａと同様に処理する。このため、中継テーブル３７ｄ−２により、入力されたデータの送信に使用するプロトコルがＵＮＡＰであることが特定される。さらに、プロトコル変換後のパケットは、転送装置９０ｄの２３００番ポートから通信装置１０ａの４００８番ポート宛に設定された上で、送信される（ステップＳ８８）。
【０１４３】
転送装置９０ｃのフィルタ部９１ｃは、転送装置９０ｄの２３００番ポートから通信装置１０ａの４００８番ポート宛のパケットを受信する。フィルタ部９１ｃは、受信パケットに該当する条件がフィルタテーブル９２ｃに含まれており、さらに、中継テーブル３７ｃ−２の受信セッションと送信セッションの情報が異なるので、受信パケットがプロキシ処理部３５ｃでの処理対象であると判定する。転送装置９０ｃにおいて、ステップＳ７９における転送装置９０ｄの処理と同様の処理が行われ、受信パケットは、中継テーブル３７ｃ−２に従って変換される。すなわち、転送装置９０ｃの３００１番ポートから通信装置１０ａの４００８番ポート宛で、トランスポートプロトコルがＵＮＡＰであるパケットが、転送装置９０ｃから送信される（ステップＳ８９）。
【０１４４】
転送装置９０ｂのフィルタ部９１ｂは、転送装置９０ｃの３００１番ポートから通信装置１０ａの４００８番ポート宛のＵＮＡＰパケットを受信する。フィルタ部９１ｂは、受信パケットに該当する条件がフィルタテーブル９２ｂに含まれており、さらに、中継テーブル３７ｂ−２の受信セッションと送信セッションの情報が異なるので、受信パケットがプロキシ処理部３５ｂでの処理対象であると判定する。転送装置９０ｂにおいて、ステップＳ７９での転送装置９０ｄの処理と同様の処理が行われるので、受信パケットは、中継テーブル３７ｂ−２に従って変換される。すなわち、転送装置９０ｂの４００５番ポートから通信装置１０ａの４００８番ポート宛で、トランスポートプロトコルがＲＰＳであるパケットが、転送装置９０ｂから送信される（ステップＳ９０）。
【０１４５】
転送装置９０ａのフィルタ部９１ａは、転送装置９０ｂの４００５番ポートから通信装置１０ａの４００８番ポート宛のＲＰＳパケットを受信する。フィルタ部９１ａは、受信パケットに該当する条件がフィルタテーブル９２ａに含まれており、中継テーブル３７ａ−２の受信セッションと送信セッションの情報が異なるので、受信パケットがプロキシ処理部３５ａでの処理対象であると判定する。転送装置９０ａにおいて、ステップＳ７９における転送装置９０ｄの処理と同様の処理が行われるので、受信パケットは、中継テーブル３７ａ−２に従って変換される。このため、通信装置１０ｂの２００３番ポートから通信装置１０ａの４００８番ポートに宛てた、トランスポートプロトコルがＴＣＰであるパケットが、転送装置９０ａから通信装置１０ａに送信される（ステップＳ９１）。
【０１４６】
その後も、各転送装置９０において中継テーブル３７を用いた処理が行われる。このため、通信装置１０ａから通信装置１０ｂ宛てのＡＣＫパケットや、データパケットは、ステップＳ７２、Ｓ７８〜Ｓ８１で説明した手順により、図３０の矢印Ａ１１〜Ａ１３に示す経路で、通信装置１０ｂに送信される（ステップＳ９２、Ｓ９３）。一方、通信装置１０ｂが通信装置１０ａに送信したパケットは、ステップＳ８２、Ｓ８８〜Ｓ９１で説明した手順を用いて、図３０の矢印Ａ１４〜Ａ１８に示す経路で、転送される（ステップＳ９４）。
【０１４７】
図３１は、転送装置９０の動作の例を説明するフローチャートである。パケットを受信すると、フィルタ部９１は、受信パケットに適用できるエントリがフィルタテーブル９２に含まれているかを判定する（ステップＳ１０１）。受信パケットに適用できるエントリがフィルタテーブル９２に含まれている場合、フィルタ部９１は、受信パケットに適用できるエントリが中継テーブル３７に含まれているかを判定する（ステップＳ１０１でＹｅｓ、ステップＳ１０２）。適用可能なエントリが中継テーブル３７に無い場合、制御部４０は、管理サーバ５０に対して、割り当て要求メッセージを送信する（ステップＳ１０２でＮｏ、ステップＳ１０３）。その後、転送装置９０は、割り当て応答メッセージを受信するまで待機する（ステップＳ１０４でＮｏ）。割り当て応答メッセージを受信すると、受信パケットに対して、プロキシ処理部３５を介した転送処理が行われる（ステップＳ１０４でＹｅｓ、ステップＳ１０７）。
【０１４８】
一方、受信パケットに適用可能なエントリが中継テーブル３７に含まれている場合、フィルタ部９１は、適用可能なエントリにおいて、受信セッションの情報と送信セッションの情報が一致するかを判定する（ステップＳ１０２でＹｅｓ、ステップＳ１０５）。受信セッションの情報と送信セッションの情報が一致しない場合、フィルタ部９１は、受信パケットがプロキシ処理部３５での処理対象であると判定する（ステップＳ１０５でＮｏ、ステップＳ１０６）。このため、受信パケットに対して、プロキシ処理部３５を介した転送処理が行われる（ステップＳ１０７）。
【０１４９】
受信パケットに適用可能なエントリが中継テーブル３７に含まれているが、受信セッションの情報と送信セッションの情報が一致する場合、フィルタ部９１は、受信パケットを中継処理部９３に出力する（ステップＳ１０５でＹｅｓ、ステップＳ１０８）。この場合、転送装置９０は、受信パケットに対して、トランスポートプロトコルの処理を行わずに、宛先に向けて受信パケットを転送する（ステップＳ１０９）。受信パケットに適用可能なエントリがフィルタテーブル９２に含まれていない場合（ステップＳ１０１でＮｏ）も、ステップＳ１０８とステップＳ１０９の処理が行われる。
【０１５０】
なお、図３１は、転送装置９０の動作の一例であり、実装に応じて、変更され得る。例えば、ステップＳ１０４で割り当て応答メッセージを受信したと判定された後に、ステップＳ１０５以降の処理が行われても良い。例えば、第３の実施形態で説明するように、区間数＝０の設定が可能なシステムでは、転送装置９０は、ステップＳ１０４でＹｅｓと判定すると、ステップＳ１０５以降の処理を行う。
【０１５１】
このように、第２の実施形態でも、データのバーストサイズに基づいて、転送処理に適用されるプロトコルの変換パターンが決定されるため、転送されるデータ量に合わせて、短時間で転送処理が行われるようにプロトコルが選択される。また、第２の実施形態では、宛先のアドレスとポート番号は、最終宛先に設定されている。このため、透過プロキシなど、受信側の装置が宛先を判定するシステムにおいても、転送データの量に応じた効率的な転送処理が行われる。
【０１５２】
＜第３の実施形態＞
第３の実施形態では、広域網に含まれているネットワークのいずれもの通信性能が良く、さらに、送信されるデータのバーストサイズも小さいことから、プロトコルをいずれの転送装置でも終端しないことが管理サーバ５０で決定される場合の例を説明する。プロトコルをいずれの転送装置でも終端しない場合に適用される条件を、区間数＝０のときの条件と記載することがある。以下、区間数＝０のときの条件の設定例と区間数＝０の条件の設定に関する変形例を説明する。
【０１５３】
（１）区間数＝０のときの条件の設定例
図３２は、第３の実施形態が適用されるシステムの例を説明する図である。第３の実施形態では、広域網の両端に転送装置９０が設置されている場合を例として説明するが、広域網に含まれている転送装置９０の数は任意である。図３２の例では、通信装置１０ｃと通信装置１０ｄは、ネットワークＮ４を介して通信しており、通信装置１０ｅと通信装置１０ｄはネットワークＮ５とネットワークＮ６を介して通信しているとする。また、ネットワークＮ４は、ＲＴＴが比較的長い国際間網であるとする。一方、ネットワークＮ５の無線網とネットワークＮ６の都市間網は、いずれも、通信品質が良いネットワークであるものとする。
【０１５４】
転送装置９０ｅは通信装置１０ｃが含まれているネットワークとネットワークＮ４の間の通信を中継する。転送装置９０ｆは、通信装置１０ｄが含まれているネットワークとネットワークＮ４の間の通信と、通信装置１０ｄが含まれているネットワークとネットワークＮ６の間の通信を中継する。転送装置９０ｇは通信装置１０ｅが含まれているネットワークとネットワークＮ５の間の通信を中継する。以下の説明では、転送装置９０ｅの識別子は「ＷＯ＃１」、転送装置９０ｆの識別子は「ＷＯ＃４」、転送装置９０ｇの識別子は「ＷＯ＃２」であるものとする。
【０１５５】
図３３は、性能推定テーブル７５の例を示す図である。図３３は、図３２に示すシステムにおいて、転送装置９０ｅと転送装置９０ｆの間の通信性能の推定値を、区間数とプロトコルの組み合わせごとに示している。性能推定テーブル７５の生成方法は、第１および第２の実施形態と同様である。なお、通信装置１０ｃと転送装置９０ｅの間と、通信装置１０ｄと転送装置９０ｆの間は、いずれも距離が短いため、ＲＴＴがネットワークＮ４のＲＴＴに比べて無視できる程度に小さいとする。さらに、通信装置１０ｃと転送装置９０ｅの間の通信品質と、通信装置１０ｄと転送装置９０ｆの間の通信品質は、いずれも良好であるものとする。このため、転送装置９０を経由しないでＴＣＰにより通信装置１０ｃと通信装置１０ｄが通信する場合の通信品質は、転送装置９０ｅと転送装置９０ｆの間でＴＣＰを用いたときの通信品質で近似されている。
【０１５６】
図３４は、第３の実施形態で行われるデータの転送例を説明する図である。以下、通信装置１０ｃが端末、通信装置１０ｄがサーバであり、通信装置１０ｃで仮想デスクトップが実行される場合を例として、データの転送例を説明する。すなわち、通信装置１０ｄが通信装置１０ｃに対しデスクトップのスクリーン情報を転送するものとする。また、仮想デスクトップの実行においては、通信装置１０ｃが通信装置１０ｄにコマンドなどを送信する際のデータのバーストサイズと、通信装置１０ｄが通信装置１０ｃに画面データを送信するときのデータのバーストサイズのいずれも、比較的小さいものとする。
【０１５７】
通信装置１０ｃは、通信装置１０ｄの待ち受けポート（ポート番号＝３３８９）との間でＴＣＰセッションを確立するために、ＳＹＮパケットを送信する。転送装置９０ｅは、通信装置１０ｃからのＳＹＮパケットを受信すると、転送装置９０ｅのフィルタ部９１ｅは、ＳＹＮパケットの条件がフィルタテーブル９２ｅに含まれているかを判定する。ここでは、通信装置１０ｄ宛のパケットを示すエントリがフィルタテーブル９２ｅに含まれているが、中継テーブル３７ｅには、ＳＹＮパケットに適用するエントリが無いものとする。制御部４０ｅは、管理サーバ５０に割当て要求メッセージを送信する。なお、バーストサイズ測定部３６ｅは、通信装置１０ｃから通信装置１０ｄに送信するデータのサイズに応じた値をバーストサイズとして制御部４０ｅに通知する。ここでは、制御部４０ｅが送信する割当て要求メッセージには、以下の情報が含まれているとする。
送信元アドレス：１５０．８０．６５．１９１（通信装置１０ｃ）
送信元ポート  ：２０１０
宛先アドレス  ：１６０．１０．１．１０（通信装置１０ｄ）
宛先ポート    ：３３８９
バーストサイズ：１０Ｋバイト
【０１５８】
管理サーバ５０が割当て要求メッセージを受信すると、選択部６２は、性能推定テーブル７５を用いて、区間の設定と個々の転送装置９０で転送に使用するプロトコルを決定する。図３３の１番目のエントリに示すように、プロトコルの変換を行う区間を設定せずに、通信装置１０ｃから通信装置１０ｄまでＴＣＰで転送を行ったときのボトルネックリンクのスループットは１０Ｍｂｐｓである。このため、通知されたバーストサイズのデータの転送処理にかかる時間は、式（２）より、
ΔＴ＝Ｄ／Ｂ＋ＰＴ
＝１０×１０００×８／（１０×１０＾６×８）＋０
＝０．００１秒（１ｍｓ）である。
【０１５９】
図３３の２番目のエントリに示すように、転送装置９０ｅから転送装置９０ｆに転送処理を行う際にＵＮＡＰを用いると、ボトルネックリンクのスループットは８０Ｍｂｐｓになる。しかし、プロトコルの終端や変更などに起因する処理遅延が４ｍｓである。このため、図３２の２番目のエントリの条件を用いると、転送処理にかかる時間ΔＴは、
ΔＴ＝Ｄ／Ｂ＋ＰＴ
＝１０×１０００×８／（８０×１０＾６×８）＋０．００４
＝０．００４１２５秒（４．１２５ｍｓ）となる。同様に、転送装置９０ｅと転送装置９０ｆの間でＲＰＳを用いるケースで転送にかかる時間は６．１４ｍｓであり、転送装置９０ｅと転送装置９０ｆの間でＳＴＣＰを用いるケースで転送にかかる時間は２．２ｍｓである。
【０１６０】
そこで、管理サーバ５０の選択部６２は、通知されたバーストサイズに対しては、転送装置９０ｅと転送装置９０ｆのいずれでもプロトコルを変換せずに、ＴＣＰのままで転送処理を行うと最も効率的であると判定する。そこで、管理サーバ５０は、プロトコルを経冠する区間を設けずに転送処理を行うために、いずれの転送装置９０にも、以下の情報を含む中継テーブル登録メッセージを送信する。
インバウンド方向の情報
送信元アドレス：１５０．８０．６５．１９１（通信装置１０ｃ）
送信元ポート  ：２０１０
宛先アドレス  ：１６０．１０．１．１０（通信装置１０ｄ）
宛先ポート    ：３３８９
プロトコル    ：ＴＣＰ
アウトバウンド方向の情報
送信元アドレス：１５０．８０．６５．１９１（通信装置１０ｃ）
送信元ポート  ：２０１０
宛先アドレス  ：１６０．１０．１．１０（通信装置１０ｄ）
宛先ポート    ：３３８９
プロトコル    ：ＴＣＰ
【０１６１】
その後、通知処理部５４は、割当て応答メッセージを転送装置９０ｅに送信する。なお、ここで送信される割り当て応答メッセージには、リザルトコード＝１（設定成功）が設定されている。このため、転送装置９０ｅには、図３４に示す中継テーブル３７ｅ中の２番目のエントリに示す情報が記録される。同様に、転送装置９０ｆにも、図３４の中継テーブル３７ｆ中の２番目のエントリに示す情報が記録される。
【０１６２】
転送装置９０ｅのフィルタ部９１ｅは、受信パケットに適用できる条件を含むエントリが、中継テーブル３７ｅにあるものの、受信セッションと送信セッションの情報が等しいので、プロキシ処理部３５ｅを介さずに、パケットを転送する。このため、通信装置１０ｃの２０１０番ポートから通信装置１０ｄの３３８９番ポートに送信されたＴＣＰパケット（ＳＹＮパケット）は、転送装置９０ｅから通信装置１０ｄに向けて転送される。転送装置９０ｆでも同様の処理が行われるため、通信装置１０ｃの２０１０番ポートから通信装置１０ｄの３３８９番ポートに送信されたＴＣＰパケット（ＳＹＮパケット）が、転送装置９０ｆから通信装置１０ｄに転送される。
【０１６３】
次に、通信装置１０ｄは、通信装置１０ｃから受信したＳＹＮパケットに対してＳＹＮ／ＡＣＫパケットを通信装置１０ｃに送信する。ＳＹＮ／ＡＣＫパケットは、通信装置１０ｄの３３８９番ポートから通信装置１０ｃの２０１０番ポートに送信されたＴＣＰパケットであるとする。ＳＹＮ／ＡＣＫパケットは転送装置９０ｆで受信される。ここで、転送装置９０ｆには、ＳＹＮ／ＡＣＫパケットに適用可能なエントリがフィルタテーブル９２ｆに含まれているが、中継テーブル３７ｆには含まれていないとする。すると、転送装置９０ｆは、転送装置９０ｅと同様に、割当て要求メッセージを管理サーバ５０に送信する。ここで、割当て要求メッセージ中のバーストサイズも小さい場合、転送装置９０ｅから割り当て要求メッセージが管理サーバ５０に送信されたときと同様に、選択部６２は、プロトコルの変換を行う区間を設定せずに転送を行う事を決定する。通知処理部５４は、転送装置９０ｅと転送装置９０ｆに中継テーブル３７の設定処理を要求し、各転送装置９０が中継テーブル３７を設定する。ここで、中継テーブル３７ｆには、図３４の中継テーブル３７ｆ中の３番目のエントリに示す情報が記録され、中継テーブル３７ｅには、図３４の中継テーブル３７ｅ中の３番目のエントリに示す情報が記録されるものとする。このため、ＳＹＮ／ＡＣＫパケットも、転送装置９０ｆと転送装置９０ｅを介して転送されても、通信装置１０ｄの３３８９番ポートから通信装置１０ｃの２０１０番ポート宛のパケットとして、ＴＣＰを用いて転送処理が行われる。
【０１６４】
ＳＹＮパケットや、ＳＹＮ／ＡＣＫパケットの後に送信されるいずれのパケットも、転送装置９０ｅ、転送装置９０ｆに設定された中継テーブル３７を用いて転送されるので、プロトコルの変換が行われずに、宛先まで転送される。
【０１６５】
（２）転送装置２０が使用されているシステムでの変形例
なお、第３の実施形態では、転送装置９０が含まれている場合を例として説明したが、ネットワーク中に転送装置２０が含まれていても、管理サーバ５０は、区間数が０の条件を用いることができる。ただし、転送装置２０が含まれているシステムにおいて、区間数が０の条件を設定する場合、管理サーバ５０は、中継テーブル登録メッセージを送信せずに、割り当て応答メッセージを、割り当て要求メッセージの送信元に送信する。また、管理サーバ５０は、通信装置１０に対して、振り分けテーブル１７の設定を要求しない。このため、パケットは転送装置２０を経由せずに宛先に転送されることになる。
【０１６６】
（３）区間数＝０の経路を用いるセッションと他のセッションの関係
上記の例では、アップリンク方向とダウンリンク方向の両方に区間数＝０の経路を用いる場合を例として説明したが、アップリンク方向の条件と、ダウンリンク方向の条件は、独立に設定される。このため、例えば、アップリンク方向に区間数＝０の条件を用い、ダウンリンク方向には、区間数が１以上の条件を設定するなど、一方の通信方向にだけ区間数＝０の条件を設定することもできる。
【０１６７】
さらに、パケットの転送経路は、セッションごとに独立に決定されるので、同じ装置を経由する経路であっても、バーストサイズの大きさによって、使用される条件が異なることがある。例えば、通信装置１０ｃがｗｇｅｔなどの転送アプリケーションを用いて、通信装置１０ｄからデータを取得する場合、通信装置１０ｄから通信装置１０ｃに向けて送信されるデータのバーストサイズは、１０Ｍバイトなどの大きなサイズである。すると、管理サーバ５０の選択部６２は、性能推定テーブル７５（図３３）と、バーストサイズの情報を用いて、区間数＝１でＵＮＡＰを用いた転送処理をすることを選択する。選択された条件が設定される方法は、前述のとおりである。
【０１６８】
また、パケットの転送経路は、セッションごとに独立に決定されるので、同じアプリケーションでの通信が、異なる経路で行われる場合、経路の通信品質に応じて転送に用いる区間とプロトコルが決定される。例えば、図３４において、通信装置１０ｅがｗｇｅｔを用いて通信装置１０ｄからデータを取得する場合を例とする。ここで、通信装置１０ｅと通信装置１０ｄの間に位置する無線網と都市間網は、いずれも通信品質が良好であるため、通信装置１０ｄから通信装置１０ｅに大きなデータが送信される場合でも、プロトコルを変換しないほうが短時間で転送できるとする。この場合、管理サーバ５０は、通信装置１０ｄから通信装置１０ｅに向かう転送経路には、区間数＝０の条件を設定する。すなわち、通信装置１０ｄが通信装置１０ｃにデータを転送する場合に区間数＝１で転送装置９０間での通信にＵＮＡＰを使用すること設定されるが、通信装置１０ｄから通信装置１０ｅにデータを転送する場合は区間数＝０の条件が設定される。
【０１６９】
このように、管理サーバ５０は、送信元の通信装置１０から送信されたパケットのプロトコルを変換しないほうが転送にかかる時間が短くなる場合、パケットのプロトコルを変換しないことを決定する。このため、区間数＝０の条件を用いて転送装置９０の設定処理が行われ、送信元の通信装置１０から宛先に至るまで転送される。従って、第３の実施形態を適用することによっても、転送データの量に応じた効率的な転送処理が行われる。
【０１７０】
＜第４の実施形態＞
次に、経時変化によって、ネットワークの通信品質が変動したときに、通信品質に合わせて、通信装置１０とは異なるプロトコルでの転送を行う区間数と、転送処理に使用されるプロトコルが決定されうる。
【０１７１】
以下、図３４を参照しながら説明したように、通信装置１０ｄから通信装置１０ｅへのデータの転送の際には、通信装置１０ｄから通信装置１０ｅまではプロトコルの変換が行われない（区間数＝０）ように設定されていたとする。区間数＝０に設定されたセッション（第１のセッション）でのデータの転送が終了すると、第１のセッションは終了される。
【０１７２】
その後、無線網にアクセスする端末の数が増えた等の理由により、無線網での通信品質が劣化したとする。管理サーバ５０は、定期的に、通信システム中の転送装置９０に対して、品質計測要求メッセージを用いて計測要求を行うので、無線網の通信品質が劣化したことを認識しているとする。また、無線網での品質の劣化に応じて、計算部６１は、性能推定テーブル７５も更新している。
【０１７３】
次に、通信装置１０ｅがｗｇｅｔを用いて通信装置１０ｄからデータを取得する処理を再度行ったとする。このときに使用される性能推定テーブル７５によると、通信装置１０ｄから通信装置１０ｅに転送されるデータのバーストサイズでは、区間数＝１でＲＰＳを用いた通信を行う場合に、転送にかかる時間が最も短くなるとする。
【０１７４】
図３５は、時間の経過による適用パターンの変更例を説明する図である。図３５に示す中継テーブル３７は、説明を分かりやすくするために、各々の中継テーブル３７中の情報の一部を示している。通信装置１０ｄから通信装置１０ｅに転送されるデータのバーストサイズでは、区間数＝１でＲＰＳを用いた通信を行う場合、転送装置９０ｇには、中継テーブル３７ｇに示す情報が登録される。一方、転送装置９０ｆには、図３５の中継テーブル３７ｆの２番目のエントリに示す情報が登録される。なお、図３５の中継テーブル３７ｆの１番目のエントリと中継テーブル３７ｅに示す情報は、通信装置１０ｄと通信装置１０ｃの間の通信に使用される条件である。
【０１７５】
このため、通信装置１０ｄの２００３番ポートから通信装置１０ｅの９９番ポートに送信されたデータを含むＴＣＰパケットは、転送装置９０ｆにおいて、ＲＰＳを用いたパケットに変換されたうえで、通信装置１０ｅに向けて転送される。このとき、転送装置９０ｆは、パケットのアドレスとポート番号を、転送装置９０ｆの２０７１番ポートから通信装置１０ｅの９９番ポート宛に書き換える。次に、転送装置９０ｇは、転送装置９０ｆの２０７１番ポートから通信装置１０ｅの９９番ポート宛に送信されたＲＰＳパケットを受信すると、中継テーブル３７ｇを用いて、パケットのプロトコルをＲＰＳからＴＣＰに変換する。転送装置９０ｇは、さらに、中継テーブル３７ｇに従ってアドレスとポート番号を変更するので、通信装置１０ｅには、通信装置１０ｄの２００３番ポートから通信装置１０ｅの９９番ポート宛のＴＣＰパケットが送信される。
【０１７６】
このように、管理サーバ５０は、定期的に転送装置間の経路の通信品質の情報を取得して、性能推定テーブル７５を更新し、通信が開始したときの最新の性能推定テーブル７５を用いて、転送の際の区間と各装置での転送処理に使用するプロトコルを決定する。このため、ネットワークの通信品質の変化に対応して、適切な転送条件が設定される。従って、ネットワークの品質が変動した場合でも、転送データの量に応じた効率的な転送処理が行われる。
【０１７７】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【０１７８】
第１および第２の実施形態では、経路中に４台の転送装置が設置されている場合、第３および第４の実施形態を例として説明したが、これらは一例に過ぎない。いずれの実施形態でも、経路中の転送装置の数は２以上の任意の数であるシステムに適用できる。
【０１７９】
以上の説明では、管理サーバ５０が転送装置とは異なる装置である場合を例として説明したが、管理サーバ５０は、転送装置２０または転送装置９０と同じ装置に搭載されていても良い。また、転送装置２０は、通信装置１０と同じ装置に搭載されても良い。
【０１８０】
図３６は、通信装置１０と転送装置２０が同じ装置に搭載される場合の例を示す図である。通信装置１００は、Ｌｏｏｐｂａｃｋインタフェース１０１、ＩＰ処理部１２、トランスポートプロトコル処理部１３、アプリケーション処理部１４、振り分け制御部１５、転送先設定部１６、振り分けテーブル１７を備える。ＩＰ処理部１２、トランスポートプロトコル処理部１３、アプリケーション処理部１４、振り分け制御部１５、転送先設定部１６、振り分けテーブル１７は、通信装置１０と同様に動作する。さらに、通信装置１００は、インタフェース部１０２と、転送処理部１０３を備える。転送処理部１０３は、転送装置２０と同様の処理を行う。このため、通信装置１００から送信処理が行われる場合、転送先設定部１６からの送信パケットがＬｏｏｐｂａｃｋインタフェース１０１によって、転送処理部１０３中の振り分け部２２に入力され、中継テーブル３７の設定に従って処理される。
【０１８１】
以上の説明で述べたテーブルやメッセージの情報要素は、一例であり、実装に応じて情報要素は変更され得る。
【０１８２】
いずれの実施形態でも、割当て要求メッセージの送信に際して、バーストサイズが具体的に決まっておらず、おおまかにインタラクティブ通信をするアプリケーションか、バルク転送を行うアプリケーションかが特定できている状況も考えられる。ここで、インタラクティブ通信の際に送受信されるデータサイズは、バルク転送の際に送受信されるデータサイズよりも小さい。そこで、割当て要求メッセージに具体的な値を設定せず、インタラクティブ通信か、バルク転送かを示す値を設定するようにしてもよい。例えば、インタラクティブ通信の場合は、バーストサイズが0x00000001に指定され、バルク転送の場合は、バーストサイズが0xFFFFFFFFに指定されるようにしても良い。管理サーバは、バーストサイズに指定された値に対応付けて記憶している値を、バーストサイズとして用いて、転送に使用するプロトコルや区間を決定する。管理サーバ５０は、例えば、バーストサイズ＝0x00000001の場合、バーストサイズが64KBであるとみなし、バーストサイズ＝0xFFFFFFFFの場合、バーストサイズが1GBであるとみなして、プロトコルや区間を決定する。
【符号の説明】
【０１８３】
５  ＷＡＮ高速化装置
１０、１００  通信装置
１１、２１、５１、９４、９５、１０２  インタフェース部
１２  ＩＰ処理部
１３  トランスポートプロトコル処理部
１４  アプリケーション処理部
１５  振り分け制御部
１６  転送先設定部
１７  振り分けテーブル
２０、９０  転送装置
２２、２６  振り分け部
２３〜２５  プロトコル受信処理部
２７〜２９  プロトコル送信処理部
３１  テストパケット出力部
３２  処理遅延算出部
３３  計測パケット処理部
３４  計測パケット生成部
３５  プロキシ処理部
３６  バーストサイズ測定部
３７  中継テーブル
３８  転送先設定部
４０  制御部
５０  管理サーバ
５２  通信処理部
５３  通信品質取得部
５４  通知処理部
６０  プロトコル割り当て部
６１  計算部
６２  選択部
７１  経路管理テーブル
７２  特性テーブル
７３  処理遅延テーブル
７４  通信品質テーブル
７５  性能推定テーブル
８１  プロセッサ
８２  メモリ
８３  ストレージ
８４  バス
８５  出力装置
８６  入力装置
８７  ＮＩＣ
８８  アンテナ
９１  フィルタ部
９２  フィルタテーブル
９３  中継処理部
１０１  Ｌｏｏｐｂａｃｋインタフェース
１０３  転送処理部
【図３】
2016054420.tif 000003
【図４】
2016054420.tif 000004
【図５】
2016054420.tif 000005
【図６】
2016054420.tif 000006
【図８】
2016054420.tif 000007
【図９Ａ】
2016054420.tif 000008
【図９Ｂ】
2016054420.tif 000009
【図１０】
2016054420.tif 000010
【図１１】
2016054420.tif 000011
【図１２】
2016054420.tif 000012
【図１３】
2016054420.tif 000013
【図１４】
2016054420.tif 000014
【図１５】
2016054420.tif 000015
【図１６Ａ】
2016054420.tif 000016
【図１６Ｂ】
2016054420.tif 000017
【図１６Ｃ】
2016054420.tif 000018
【図１６Ｄ】
2016054420.tif 000019
【図１６Ｅ】
2016054420.tif 000020
【図１６Ｆ】
2016054420.tif 000021
【図１６Ｇ】
2016054420.tif 000022
【図１８Ａ】
2016054420.tif 000023
【図１８Ｂ】
2016054420.tif 000024
【図１８Ｃ】
2016054420.tif 000025
【図１９】
2016054420.tif 000026
【図２０】
2016054420.tif 000027
【図２１】
2016054420.tif 000028
【図２２】
2016054420.tif 000029
【図２３】
2016054420.tif 000030
【図２５】
2016054420.tif 000031
【図２６】
2016054420.tif 000032
【図２７Ａ】
2016054420.tif 000033
【図２７Ｂ】
2016054420.tif 000034
【図２７Ｃ】
2016054420.tif 000035
【図２８】
2016054420.tif 000036
【図２９】
2016054420.tif 000037
【図３１】
2016054420.tif 000038
【図３３】
2016054420.tif 000039
【図３６】
2016054420.tif 000040
【図１】
2016054420.tif 000041
【図２】
2016054420.tif 000042
【図７】
2016054420.tif 000043
【図１７】
2016054420.tif 000044
【図２４】
2016054420.tif 000045
【図３０】
2016054420.tif 000046
【図３２】
2016054420.tif 000047
【図３４】
2016054420.tif 000048
【図３５】
2016054420.tif 000049