(57)【要約】  通信制御装置は、通信ノード間の通信で学習された通信パラメータ、その通信の通信元ＩＰアドレス及びその通信の通信先ＩＰアドレスを含む各エントリをそれぞれ格納するパラメータ格納部と、新たに開始される通信における通信元ＩＰアドレス及び通信先ＩＰアドレスを取得し、パラメータ格納部に格納される複数エントリの中から、通信元ＩＰアドレス間、又は、通信先ＩＰアドレス間で一致するビットの数が、ＩＰアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも１つのエントリを抽出し、抽出されたエントリから、当該新たに開始される通信で用いられる通信パラメータの初期値を取得するパラメータ取得部と、を備える。
2014002337.tif 000002
【特許請求の範囲】
【請求項１】
通信ノード間の通信で学習された通信パラメータ、該通信の通信元ＩＰアドレス及び該通信の通信先ＩＰアドレスを含む各エントリをそれぞれ格納するパラメータ格納部と、
新たに開始される通信における通信元ＩＰアドレス及び通信先ＩＰアドレスを取得し、前記パラメータ格納部に格納される複数エントリの中から、通信元ＩＰアドレス間、又は、通信先ＩＰアドレス間で一致するビットの数が、ＩＰアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも１つのエントリを抽出し、抽出されたエントリから、該新たに開始される通信で用いられる通信パラメータの初期値を取得するパラメータ取得部と、
を備えることを特徴とする通信制御装置。
【請求項２】
前記パラメータ取得部は、前記通信先ＩＰアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出し、抽出されたエントリの中から前記通信元ＩＰアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出する、
ことを特徴とする請求項１に記載の通信制御装置。
【請求項３】
通信元ノードにより得られる通信先不達情報を各通信先ＩＰアドレスに関連付けてそれぞれ格納する接続状況格納部、
を更に備え、
前記パラメータ取得部は、前記新たに開始される通信における通信先ＩＰアドレスに基づいて前記接続状況格納部に格納される前記通信先不達情報を検索することにより、前記新たに開始される通信が可能か否かを判定する、
ことを特徴とする請求項１又は２に記載の通信制御装置。
【請求項４】
前記通信先不達情報には、ネットワーク不達を示す不達種別を含み、
前記パラメータ取得部は、前記ネットワーク不達を示す前記通信先不達情報を対象に、通信先ＩＰアドレス間のネットワークプレフィックスの照合を行うことにより、前記新たに開始される通信が可能か否かを判定する、
ことを特徴とする請求項３に記載の通信制御装置。
【請求項５】
前記パラメータ格納部に格納される前記通信パラメータは、前記通信ノード間のセッションで学習されたセッションパラメータを含み、
前記パラメータ格納部に格納される前記各エントリは、プロトコル種別、通信元ポート番号及び通信先ポート番号を更に含み、
前記パラメータ取得部は、前記新たに開始される通信におけるプロトコル種別、通信先ポート番号及び通信元ポート番号を更に用いて前記エントリを抽出する、
ことを特徴とする請求項１から４のいずれか１項に記載の通信制御装置。
【請求項６】
前記パラメータ格納部に格納される前記通信パラメータは、パスＭＴＵ（Maximum Transmission Unit）ディスカバリにより学習されたパスＭＴＵを含むことを特徴とする請求項１から５のいずれか１項に記載の通信制御装置。
【請求項７】
前記通信パラメータを前記通信制御装置以外の他の通信ノード又は或る仮想マシン以外の他の仮想マシンから受信し、受信された通信パラメータを含むエントリを前記パラメータ格納部に格納するパラメータ受信部と、
前記パラメータ取得部により取得された前記通信パラメータの前記初期値を新たな通信を開始する前記他の通信ノード又は前記他の仮想マシンに通知するパラメータ通知部と、
を更に備える請求項１から６のいずれか１項に記載の通信制御装置。
【請求項８】
前記パラメータ格納部に格納される前記各エントリに対応する各通信を実現する各ネットワークの安定度を判定し、各ネットワークの安定度に応じて前記各エントリを削除するエントリ管理部、
を更に備える請求項１から７のいずれか１項に記載の通信制御装置。
【請求項９】
通信ノード間の通信で学習された通信パラメータ、該通信の通信元ＩＰアドレス及び該通信の通信先ＩＰアドレスを含む各エントリをパラメータ格納部にそれぞれ格納し、
新たに開始される通信における通信元ＩＰアドレス及び通信先ＩＰアドレスを取得し、
前記パラメータ格納部に格納される複数エントリの中から、通信元ＩＰアドレス間、又は、通信先ＩＰアドレス間で一致するビットの数が、ＩＰアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも１つのエントリを抽出し、
前記抽出されたエントリから、該新たに開始される通信で用いられる通信パラメータの初期値を取得する、
ことを含む通信制御方法。
【請求項１０】
前記少なくとも１つのエントリの抽出は、
前記通信先ＩＰアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出し、
前記抽出されたエントリの中から前記通信元ＩＰアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出する、
ことを含む請求項９に記載の通信制御方法。
【請求項１１】
通信元ノードにより得られる通信先不達情報を接続状況格納部に各通信先ＩＰアドレスに関連付けてそれぞれ格納し、
前記新たに開始される通信における通信先ＩＰアドレスに基づいて前記接続状況格納部に格納される前記通信先不達情報を検索することにより、前記新たに開始される通信が可能か否かを判定する、
ことを更に含む請求項９又は１０に記載の通信制御方法。
【請求項１２】
前記通信先不達情報には、ネットワーク不達を示す不達種別を含み、
前記判定は、
前記ネットワーク不達を示す前記通信先不達情報を対象に、通信先ＩＰアドレス間のネットワークプレフィックスの照合を行う
ことを含む、
請求項１１に記載の通信制御方法。
【請求項１３】
前記パラメータ格納部に格納される前記通信パラメータは、前記通信ノード間のセッションで学習されたセッションパラメータを含み、
前記パラメータ格納部に格納される前記各エントリは、プロトコル種別、通信元ポート番号及び通信先ポート番号を更に含み、
前記新たに開始される通信におけるプロトコル種別、通信先ポート番号及び通信元ポート番号を更に用いて前記エントリを抽出する、
ことを更に含む請求項９から１２のいずれか１項に記載の通信制御方法。
【請求項１４】
前記パラメータ格納部に格納される前記通信パラメータは、パスＭＴＵ（Maximum Transmission Unit）ディスカバリにより学習されたパスＭＴＵを含むことを特徴とする請求項９から１３のいずれか１項に記載の通信制御方法。
【請求項１５】
前記通信パラメータを前記通信制御装置以外の他の通信ノード又は或る仮想マシン以外の他の仮想マシンから受信し、
前記受信された通信パラメータを含むエントリを前記パラメータ格納部に格納し、
前記取得された前記通信パラメータの前記初期値を新たな通信を開始する前記他の通信ノード又は前記他の仮想マシンに通知する、
ことを更に含む請求項９から１４のいずれか１項に記載の通信制御方法。
【請求項１６】
前記パラメータ格納部に格納される前記各エントリに対応する各通信を実現する各ネットワークの安定度を判定し、
前記各ネットワークの安定度に応じて前記パラメータ格納部に格納される前記エントリを削除する、
ことを更に含む請求項９から１５のいずれか１項に記載の通信制御方法。
【請求項１７】
コンピュータに請求項９から１６のいずれか１項に記載の通信制御方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Internet Protocol）通信技術に関する。
【背景技術】
【０００２】
ＩＰ通信では、様々な通信パラメータが用いられる。例えば、通信先及び通信元の各ＩＰアドレス、通信先及び通信元の各ポート番号、パスＭＴＵ（Maximum Transmission Unit）、ウィンドウサイズ、ＲＴＴ（Round Trip Time）、再送タイマ等が存在する。また、通信先ノードと通信可能か否か、及び、通信不能原因等もこの通信パラメータと呼ぶこともできる。以降、ここで用いる通信パラメータとは、ネットワークレイヤに依存せず、ＩＰ通信を行う上で利用され得るあらゆる情報を意味するものとする。【０００３】
ＩＰ通信では、このような通信パラメータを学習し発見する機能（アルゴリズム）が存在する。このような機能やアルゴリズムにより、最適な通信パラメータが設定され、スケーラビリティ、分散協調等が実現される。例えば、パスＭＴＵディスカバリは、経路上のリンクの最小ＭＴＵを検出する。また、スロースタートアルゴリズムは、輻輳を回避すべく、ＡＣＫを受信する度に送信するセグメント数を増加していく、即ち、ウィンドウサイズを調整する。ＩＣＭＰ（Internet Control Message Protocol）によれば、通信先ノードと正常に通信が行えない場合に、通信元ノードは、その旨（タイプ＝３）とその原因（コード＝０（Network Unreachable）、１（Host Unreachable）等）を知ることができる。【０００４】
しかしながら、このような学習及び発見機能自体にも負荷がかかるため、次のような手法が提案されている。下記特許文献１には、各ＰＢＮ（Provider Backbone Network）に所属する全ての機器のＭＡＣアドレスの情報を格納するＰＢＮデータベースをＰＢＢＮ（Provider Backbone Bridge Network）に設け、このＰＢＮデータベースの情報を用いて、ＰＢＢＮ内のラベルスイッチ転送を実現することで、ＰＢＮの数が多くなってもアドレス学習の負荷が大きくなるのを防ぐ手法が提案されている。下記特許文献２には、各コネクションで計測された最高ＲＴＴ値を通信相手のホストコンピュータ毎に再送タイムアウトテーブルに登録し、その最高ＲＴＴ値を新たなコネクションの再送タイマとして用いることで、コネクションごとの再送タイムアウトの計算という無駄を省く手法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１７７２８２号公報
【特許文献２】特開平５−２８０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述のような学習及び発見機能は、昨今の、ネットワーク性能、通信機器やサーバ装置の処理性能に最適化されていない。【０００７】
例えば、１つのクライアント・サーバ間における通信形態は、コネクションの開設及び切断の頻度を減らし、開設されるコネクション数を最小限にする形態から、膨大なコネクションを開設し、頻繁にコネクションの開設及び切断を行う形態に変化しつつある。ネットワーク性能、機器の処理性能が向上した現在においては、このような新たな通信形態のほうがアプリケーション性能面で有利になる場合が多い。【０００８】
しかしながら、上述の学習及び発見機能は、コネクションが開設される度に新規に実施されるため、新たな通信形態においては非効率である。【０００９】
本発明は、このような課題に鑑みてなされたものであり、適切な通信パラメータを効率よく設定するＩＰ通信技術を提供する。
【課題を解決するための手段】
【００１０】
本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。【００１１】
第１の態様に係る通信制御装置は、通信ノード間の通信で学習された通信パラメータ、その通信の通信元ＩＰアドレス及びその通信の通信先ＩＰアドレスを含む各エントリをそれぞれ格納するパラメータ格納部と、新たに開始される通信における通信元ＩＰアドレス及び通信先ＩＰアドレスを取得し、パラメータ格納部に格納される複数エントリの中から、通信元ＩＰアドレス間、又は、通信先ＩＰアドレス間で一致するビットの数が、ＩＰアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも１つのエントリを抽出し、抽出されたエントリから、当該新たに開始される通信で用いられる通信パラメータの初期値を取得するパラメータ取得部と、を備える。【００１２】
第２の態様に係る通信制御方法は、通信ノード間の通信で学習された通信パラメータ、その通信の通信元ＩＰアドレス及びその通信の通信先ＩＰアドレスを含む各エントリをパラメータ格納部にそれぞれ格納し、新たに開始される通信における通信元ＩＰアドレス及び通信先ＩＰアドレスを取得し、パラメータ格納部に格納される複数エントリの中から、通信元ＩＰアドレス間、又は、通信先ＩＰアドレス間で一致するビットの数が、ＩＰアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも１つのエントリを抽出し、抽出されたエントリから、当該新たに開始される通信で用いられる通信パラメータの初期値を取得する、ことを含む。【００１３】
なお、本発明の別態様としては、上記第１の態様の構成を通信装置に実現させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
【発明の効果】
【００１４】
上記各態様によれば、適切な通信パラメータを効率よく設定するＩＰ通信技術を提供することができる。
【図面の簡単な説明】
【００１５】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１６】
【図１】図１は、第１実施形態における通信元ノードのハードウェア構成例を概念的に示す図である。
【図２】図２は、第１実施形態における通信元ノードの処理構成例を概念的に示す図である。
【図３】図３は、第１実施形態におけるパラメータ格納部に格納される通信パラメータ例を示す図である。
【図４】図４は、第１実施形態におけるパラメータチェッカの動作例を示すフローチャートである。
【図５】図５は、第１実施形態におけるセッションパラメータの承継範囲の第１例を概念的に示す図である。
【図６】図６は、第１実施形態におけるセッションパラメータの承継範囲の第２例を概念的に示す図である。
【図７】図７は、第１実施形態におけるセッションパラメータの承継範囲の第３例を概念的に示す図である。
【図８】図８は、第１実施形態におけるセッションパラメータの承継範囲の第４例を概念的に示す図である。
【図９】図９は、第１実施形態におけるセッションパラメータの承継範囲の第５例を概念的に示す図である。
【図１０】図１０は、第１実施形態におけるセッションパラメータの承継範囲の第６例を概念的に示す図である。
【図１１】図１１は、第１実施形態におけるセッションパラメータの承継範囲の第７例を概念的に示す図である。
【図１２】図１２は、第１実施形態におけるセッションパラメータの承継範囲の第８例を概念的に示す図である。
【図１３】図１３は、第２実施形態における通信元ノードの処理構成例を概念的に示す図である。
【図１４】図１４は、第２実施形態におけるパラメータ格納部のデータ例を示す図である。
【図１５】図１５は、第３実施形態における通信元ノードの処理構成例を概念的に示す図である。
【図１６】図１６は、第３実施形態におけるパラメータ格納部のデータ例を示す図である。
【図１７】図１７は、第１変形例における通信元ノードの処理構成例を概念的に示す図である。
【図１８】図１８は、第２変形例におけるシステム構成例を概念的に示す図である。
【図１９】図１９は、第２変形例における共有サーバ及び通信元ノードの処理構成例を概念的に示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について説明する。なお、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
【００１８】
本実施形態に係る通信制御装置は、通信ノード間の通信で学習された通信パラメータ、当該通信の通信元ＩＰアドレス及び当該通信の通信先ＩＰアドレスを含む各エントリをそれぞれ格納するパラメータ格納部と、新たに開始される通信における通信元ＩＰアドレス及び通信先ＩＰアドレスを取得し、上記パラメータ格納部に格納される複数エントリの中から、通信元ＩＰアドレス間、又は、通信先ＩＰアドレス間で一致するビットの数が、ＩＰアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも１つのエントリを抽出し、抽出されたエントリから、当該新たに開始される通信で用いられる通信パラメータの初期値を取得するパラメータ取得部と、を備える。
【００１９】
上記通信制御装置では、通信ノード間の通信で学習された各通信パラメータが、通信元ＩＰアドレス及び通信先ＩＰアドレスと共に、パラメータ格納部に格納される。ここで、通信パラメータとは、通信先及び通信元の各ＩＰアドレス、通信先及び通信元の各ポート番号、パスＭＴＵ、ウィンドウサイズ、ＲＴＴ、再送タイマ、通信先ノードと通信可能か否か、通信不能原因などを含み、ネットワークレイヤに依存せず、ＩＰ通信を行う上で利用され得るあらゆる情報を意味するものとする。
【００２０】
上記通信制御装置では、このパラメータ格納部に格納されるエントリを用いて、新たに開始される通信で用いられる通信パラメータの初期値が取得される。即ち、本実施形態では、先の通信で学習済みの通信パラメータが新たに開始される通信に継承されることとなる。
【００２１】
従って、本実施形態によれば、重複する通信パラメータの学習処理及び発見処理を省くことができ、当該学習処理及び発見処理の負荷を軽減させることができる。更に、先行の通信で学習された通信パラメータは、通信環境に応じて適切な値となっているため、後発の通信の品質を適切に維持することができる。このような効果は、膨大なコネクションを開設し、頻繁にコネクションの開設及び切断を行う現在の通信形態において一層大きくなる。
【００２２】
更に、本実施形態では、先の通信で学習された通信パラメータの継承範囲が、通信端（通信元ＩＰアドレスと通信先ＩＰアドレスとのペア）が完全に一致する通信間のみでなく、通信条件が近似する通信間にまで拡張される。即ち、通信元ＩＰアドレス間又は通信先ＩＰアドレス間で一致するビットの数がＩＰアドレスの全ビット数よりも小さい所定下限値以上となる通信間も、当該通信パラメータの継承範囲に含められる。所定下限値は、ＩＰｖ４の場合、例えば、２４（ビット）に設定され、ＩＰｖ６の場合、例えば、６４（ビット）に設定される。
【００２３】
これにより、例えば、パラメータ格納部に格納される先の通信が新たに開始される後の通信と通信先ノードが異なったとしても、両者の通信先ノードが通信条件の近似する環境に存在する場合には、同一の通信パラメータを用いて実質的に同一の通信品質を実現することができる。この点、通信元ノードについても同様である。つまり、通信条件が近似するとは、同一の通信パラメータを用いたとしても要求される通信品質を満たす通信条件間の関係と表記することができる。
【００２４】
このように本実施形態によれば、通信パラメータの継承範囲を拡張したとしても、通信品質の劣化等の問題を引き起こすことなく、通信パラメータの継承による上述のような効果を幅広く享受することができる。
【００２５】
以下、上述の実施形態について更に詳細を説明する。
【００２６】
［第１実施形態］
〔システム構成〕
図１は、第１実施形態における通信元ノード１０のハードウェア構成例を概念的に示す図である。通信元ノード１０は、ネットワーク１を介して通信先ノード１１と通信可能に接続される。ネットワーク１は、インターネット等のような公衆網、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、無線通信ネットワーク等である。
【００２７】
通信元ノード１０は、例えば、バス８で相互に接続される、ＣＰＵ（Central Processing Unit）５、メモリ６、入出力インタフェース（Ｉ／Ｆ）７等を有する。メモリ６は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスク、可搬型記憶媒体等である。入出力Ｉ／Ｆ７は、ネットワーク１を介して他の通信ノード（例えば、通信先ノード１１）と通信を行うＮＩ（Network Interface）装置と接続される。入出力Ｉ／Ｆ７は、表示装置や入力装置等のようなユーザインタフェース装置と接続されてもよい。通信先ノード１１も通信元ノード１０と同様のハードウェア構成を有する。
【００２８】
通信元ノード１０は例えばクライアント装置であり、通信先ノード１１は例えばサーバ装置である。なお、本実施形態では、通信元ノード１０及び通信先ノード１１は、ＩＰ通信可能な通信装置であれば、それらのハードウェア構成は限定されない。
【００２９】
図２は、第１実施形態における通信元ノード１０の処理構成例を概念的に示す図である。図２に示されるように、通信元ノード１０は、通信処理部２０、セッション情報管理部２１、パラメータ格納部２５、エントリ管理部２６、パラメータチェッカ２７等を有する。通信元ノード１０は、ＣＰＵ５によりメモリ６に格納されるプログラムが実行されることで上記各処理部を実現する。当該プログラムは、例えば、ＣＤ（Compact Disc）、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力Ｉ／Ｆ７を介してインストールされ、メモリ６に格納される。
【００３０】
通信処理部２０は、アプリケーション（図示せず）からの要求に応じて、所望の通信相手と所望の通信を実現する。第１実施形態では、所望の通信として、通信先ノード１１と通信元ノード１０との間のセッションが例示される。セッションとは、ＴＣＰ（Transmission Control Protocol）及びＵＤＰ（User Datagram Protocol）の接続単位を意味する。ＴＣＰの接続単位はコネクションとも呼ばれる。ＵＤＰはコネクションレスであるため、ＵＤＰの接続単位は当該通信の両端のＩＰアドレス及びポート番号で特定される。例えば、通信処理部２０は、３ウェイハンドシェーク等により通信先ノード１１との間のＴＣＰコネクションの開設及び解放を行う。
【００３１】
セッション情報管理部２１は、通信処理部２０により処理される各セッションに関する情報（セッション情報）を管理する。このセッション情報は、セッション情報保持部（図示せず）で保持される。セッション情報には、各セッションで学習された通信パラメータが含まれる。例えば、スロースタートアルゴリズムにより学習されたウィンドウサイズは、セッション情報保持部に反映される。このセッション情報は、ＰＣＢ（Protocol Control Block）、ＴＣＰ  Ｃｏｎｔｒｏｌ  Ｂｌｏｃｋと呼ぶこともできる。なお、セッション情報管理部２１で管理されるセッション情報は、一般的には、各セッションの解放に応じて消去される。
【００３２】
パラメータ格納部２５は、セッション情報管理部２１で管理される各セッションの通信パラメータを、セッション情報管理部２１のセッション情報保持部とは別に、格納する。パラメータ格納部２５に格納される通信パラメータは、各セッションの解放のみに応じて消去されない。セッション情報管理部２１によるセッション情報の更新及び追加（消去を除く）に応じて、パラメータ格納部２５にもその内容が反映される。
【００３３】
図３は、第１実施形態におけるパラメータ格納部２５に格納される通信パラメータ例を示す図である。図３に示されるように、パラメータ格納部２５は、各セッションに関し、プロトコル種別、通信先ＩＰアドレス、通信元ＩＰアドレス、通信先ポート番号、通信元ポート番号、ウィンドウサイズ、ＲＴＴ等がそれぞれ格納される。プトロコル種別には、各セッションのプロトコルに応じて、ＴＣＰ、ＵＤＰなどを示すデータが格納される。
【００３４】
各セッションは、プロトコル種別、通信先ＩＰアドレス、通信元ＩＰアドレス、通信先ポート番号及び通信元ポート番号で特定することができる。以降、プロトコル種別、通信先ＩＰアドレス、通信元ＩＰアドレス、通信先ポート番号及び通信元ポート番号をまとめてセッション特定情報と表記する場合もある。また、パラメータ格納部２５に格納される通信パラメータのうち、このセッション特定情報以外をセッションパラメータと表記する場合もある。
【００３５】
図３の例では、セッションパラメータとして、ウィンドウサイズ及びＲＴＴが例示されるが、本実施形態は、パラメータ格納部２５に格納されるセッションパラメータを制限しない。パラメータ格納部２５には、セッション情報管理部２１で管理されるセッション情報が全て格納されてもよいし、そのセッション情報の一部が格納されてもよい。
【００３６】
エントリ管理部２６は、パラメータ格納部２５に格納されるエントリ（セッションパラメータ）を管理する。例えば、エントリ管理部２６は、データエージング、ガーベジコレクション等を行う。データエージングでは、例えば、エントリ管理部２６は、所定の有効期間情報を持ち、最終更新時からこの所定有効期間を経過したエントリを削除する。
【００３７】
また、エントリ管理部２６は、通信処理部２０から各セッションのエラー情報、再送情報等を受け、これら情報に基づいて各セッションが実行されるネットワークの安定度を判定し、この安定度に応じて、各エントリの削除を決定してもよい。例えば、エントリ管理部２６は、エラー又は再送が発生したセッションのセッションパラメータを削除するようにしてもよいし、エラー又は再送が所定回数発生したセッションのセッションパラメータを削除するようにしてもよい。
【００３８】
パラメータチェッカ２７は、通信処理部２０からの要求により、新たに開始されるセッションで用いるためのセッションパラメータの初期値をパラメータ格納部２５から取得する。具体的には、パラメータチェッカ２７は、パラメータ格納部２５に格納されるエントリの中から、新たに開始されるセッションで承継するのに適切なエントリを検索し、そのエントリに含まれるセッションパラメータを、その新たに開始されるセッションのセッションパラメータの初期値として取得する。パラメータチェッカ２７は、パラメータ取得部と呼ぶこともできる。パラメータチェッカ２７の具体的処理については動作例の項において詳述する。
【００３９】
〔動作例〕
図４は、第１実施形態におけるパラメータチェッカ２７の動作例を示すフローチャートである。パラメータチェッカ２７は、通信処理部２０から、新たに開始されるセッションで用いるためのセッションパラメータの初期値を要求される。この要求では、新たに開始されるセッションのプロトコル種別、通信先ＩＰアドレス、通信元ＩＰアドレス、通信先ポート番号、通信元ポート番号が指定される。
【００４０】
パラメータチェッカ２７は、パラメータ格納部２５から、プロトコル種別が一致し、かつ、通信先ＩＰアドレスの一致ビット数が所定下限値以上で最大となるエントリを抽出する（Ｓ４０）。この所定下限値は、ＩＰアドレスの全ビット数よりも小さい値に設定され、予めメモリ６に格納される。なお、この所定下限値の詳細については後述する。
【００４１】
パラメータチェッカ２７は、該当するエントリが無い場合には（Ｓ４１；ＮＯ）、承継すべき通信パラメータが無いことを通信処理部２０に通知する。一方、パラメータチェッカ２７は、該当するエントリが１つ抽出された場合には（Ｓ４１；ＹＥＳ、Ｓ４２；ＮＯ）、その抽出されたエントリからセッションパラメータを取得する（Ｓ４８、Ｓ４９）。
【００４２】
パラメータチェッカ２７は、該当するエントリが複数抽出された場合には（Ｓ４２；ＹＥＳ）、抽出されたエントリを通信元ＩＰアドレスで更に絞り込む。具体的には、パラメータチェッカ２７は、抽出されたエントリから、通信元ＩＰアドレスの一致ビット数が所定下限値以上で最大となるエントリを抽出する（Ｓ４３）。
【００４３】
パラメータチェッカ２７は、該当するエントリが複数抽出された場合には（Ｓ４４；ＹＥＳ）、抽出されたエントリを通信先ポート番号で更に絞り込む。具体的には、パラメータチェッカ２７は、抽出されたエントリから、通信先ポート番号が一致するエントリを抽出する（Ｓ４５）。
【００４４】
パラメータチェッカ２７は、該当するエントリが複数抽出された場合には（Ｓ４６；ＹＥＳ）、抽出されたエントリを通信元ポート番号で更に絞り込む。具体的には、パラメータチェッカ２７は、抽出されたエントリから、通信元ポート番号が一致するエントリを抽出する（Ｓ４７）。
【００４５】
パラメータチェッカ２７は、抽出されたエントリから１つのエントリを特定する（Ｓ４８）。具体的には、（Ｓ４３）において該当エントリが抽出されなかった場合には（Ｓ４４；ＮＯ）、パラメータチェッカ２７は、（Ｓ４０）で抽出されたエントリの中から任意の１つのエントリを特定する（Ｓ４８）。（Ｓ４３）において１つのエントリが抽出された場合には（Ｓ４４；ＮＯ）、パラメータチェッカ２７は、その抽出されたエントリを特定する（Ｓ４８）。（Ｓ４５）において該当エントリが抽出されなかった場合には（Ｓ４６；ＮＯ）、パラメータチェッカ２７は、（Ｓ４３）で抽出されたエントリの中から任意の１つのエントリを特定する（Ｓ４８）。（Ｓ４５）において１つのエントリが抽出された場合には（Ｓ４６；ＮＯ）、パラメータチェッカ２７は、その抽出されたエントリを特定する（Ｓ４８）。（Ｓ４７）において該当エントリが抽出されなかった場合には、パラメータチェッカ２７は、（Ｓ４５）で抽出されたエントリの中から任意の１つのエントリを特定する（Ｓ４８）。（Ｓ４７）において少なくとも１つのエントリが抽出された場合には、パラメータチェッカ２７は、その抽出されたエントリの中から１つのエントリを特定する（Ｓ４８）。
【００４６】
パラメータチェッカ２７は、特定されたエントリからセッションパラメータを取得する（Ｓ４９）。パラメータチェッカ２７は、取得されたセッションパラメータを通信処理部２０に送る。これにより、新たに開始されるセッションにおいて、そのセッションパラメータが初期値として利用される。
【００４７】
図４では、全てのセッション特定情報を用いて継承すべきセッションパラメータの絞り込みを行う例が示されたが、パラメータ格納部２５に格納される対象に応じて、プロトコル種別及び通信先ＩＰアドレスのみを用いるようにしてもよい。例えば、パラメータ格納部２５の通信元ＩＰアドレスに、通信元ノード１０自身の１つのＩＰアドレスのみが格納される場合には、通信元ＩＰアドレスに関する絞り込みは不要となる。この場合、図４における（Ｓ４２）から（Ｓ４７）は省かれる。
【００４８】
また、通信ポート番号は、ＩＰアドレスに比べて、近似する通信条件を示す度合いが低いため、通信元ポート番号及び通信先ポート番号を用いた絞り込み（Ｓ４５、Ｓ４７）は省いてもよい。この場合、図４における（Ｓ４５）から（Ｓ４７）は省かれる。
【００４９】
〔セッションパラメータの継承範囲〕
第１実施形態では、先の通信で学習されたセッションパラメータが、通信端（通信元ＩＰアドレスと通信先ＩＰアドレスとのペア）が完全に一致するセッション間のみでなく、通信条件が近似するセッション間にまで拡張されて継承される。このようなセッションパラメータの継承範囲は、上記所定下限値により決まる。
【００５０】
図５は、第１実施形態におけるセッションパラメータの承継範囲の第１例を概念的に示す図である。ここで、通信元ノード１０が新たに通信先ノード１１との間でセッションを開始しようとしており、パラメータ格納部２５には、通信元ノード１０と通信先ノード１１（＃１）との間のセッション＃Ｄ１で学習されたセッションパラメータが格納されているものと仮定する。また、通信先ノード１１（＃１）は、通信先ノード１１と同一サブネット内に位置するものと仮定する。サブネットとは、ルータを超えずに通信可能な範囲のネットワークを意味する。
【００５１】
図５の例において上記所定下限値が或るサブネットに対応した値に設定された場合には、パラメータチェッカ２７は、通信先ノード１１（＃１）と通信元ノード１０との間のセッション＃Ｄ１に対応するエントリをパラメータ格納部２５から抽出する。これにより、通信先ノード１１（＃１）と通信元ノード１０との間のセッション＃Ｄ１で学習されたセッションパラメータが、新たなセッションで継承される（継承範囲＃Ｄ１）。
【００５２】
図６は、第１実施形態におけるセッションパラメータの承継範囲の第２例を概念的に示す図である。ここで、通信元ノード１０が新たに通信先ノード１１との間でセッションを開始しようとしており、パラメータ格納部２５には、通信元ノード１０と通信先ノード１１（＃２）との間のセッション＃Ｄ２で学習されたセッションパラメータが格納されているものと仮定する。また、通信先ノード１１（＃２）は、通信先ノード１１とサブネットは異なるが同一サイト内に位置するものと仮定する。ここで、サイトとは、複数のサブネットを跨ぎ、所定の範囲を持つネットワークを意味し、例えば、ＩＳＰ（Internet Service Provider）がカバーする範囲のネットワーク、企業網等である。
【００５３】
図６の例において上記所定下限値が或るサイトに対応した値に設定された場合には、パラメータチェッカ２７は、通信先ノード１１（＃２）と通信元ノード１０との間のセッション＃Ｄ２に対応するエントリをパラメータ格納部２５から抽出する。これにより、通信先ノード１１（＃２）と通信元ノード１０との間のセッション＃Ｄ２で学習されたセッションパラメータが、新たなセッションで継承される（継承範囲＃Ｄ２）。
【００５４】
ところで、図６の例において、図５の例における通信先ノード１１（＃１）と通信元ノード１０との間のセッション＃Ｄ１で学習されたセッションパラメータも更にパラメータ格納部２５に格納されている場合には、パラメータチェッカ２７は、通信先ノード１１（＃１）と通信元ノード１０との間のセッション＃Ｄ１に対応するエントリをパラメータ格納部２５から抽出する。図４の処理（Ｓ４０）に示されるように、通信先ＩＰアドレスの一致ビット数が所定下限値以上で最大となるエントリが抽出されるからである。
【００５５】
図７は、第１実施形態におけるセッションパラメータの承継範囲の第３例を概念的に示す図である。ここで、通信元ノード１０が新たに通信先ノード１１との間でセッションを開始しようとしており、パラメータ格納部２５には、通信元ノード１０（＃１）と通信先ノード１１との間のセッション＃Ｓ１で学習されたセッションパラメータが格納されているものと仮定する。また、通信元ノード１０（＃１）は、通信元ノード１０と同一サブネット内に位置するものと仮定する。
【００５６】
図７の例において上記所定下限値が或るサブネットに対応した値に設定された場合には、パラメータチェッカ２７は、通信元ノード１０（＃１）と通信先ノード１１との間のセッション＃Ｓ１に対応するエントリをパラメータ格納部２５から抽出する。これにより、通信元ノード１０（＃１）と通信先ノード１１との間のセッション＃Ｓ１で学習されたセッションパラメータが、新たなセッションで継承される（継承範囲＃Ｓ１）。
【００５７】
図８は、第１実施形態におけるセッションパラメータの承継範囲の第４例を概念的に示す図である。ここで、通信元ノード１０が新たに通信先ノード１１との間でセッションを開始しようとしており、パラメータ格納部２５には、通信元ノード１０（＃２）と通信先ノード１１との間のセッション＃Ｓ２で学習されたセッションパラメータが格納されているものと仮定する。また、通信元ノード１０（＃２）は、通信元ノード１０とサブネットは異なるが同一サイト内に位置するものと仮定する。
【００５８】
図８の例において上記所定下限値が或るサイトに対応した値に設定された場合には、パラメータチェッカ２７は、通信元ノード１０（＃２）と通信先ノード１１との間のセッション＃Ｓ２に対応するエントリをパラメータ格納部２５から抽出する。これにより、通信元ノード１０（＃２）と通信先ノード１１との間のセッション＃Ｓ２で学習されたセッションパラメータが、新たなセッションで継承される（継承範囲＃Ｓ２）。
【００５９】
ところで、図８の例において、図７の例における通信元ノード１０（＃１）と通信先ノード１１との間のセッション＃Ｓ１で学習されたセッションパラメータも更にパラメータ格納部２５に格納されている場合には、パラメータチェッカ２７は、通信元ノード１０（＃１）と通信先ノード１１との間のセッション＃Ｓ１に対応するエントリをパラメータ格納部２５から抽出する。図４の処理（Ｓ４３）に示されるように、通信元ＩＰアドレスの一致ビット数が所定下限値以上で最大となるエントリが抽出されるからである。
【００６０】
図９は、第１実施形態におけるセッションパラメータの承継範囲の第５例を概念的に示す図である。ここで、通信元ノード１０が新たに通信先ノード１１との間でセッションを開始しようとしており、パラメータ格納部２５には、通信元ノード１０（＃１）と通信先ノード１１（＃１）との間のセッション＃ＳＤ１で学習されたセッションパラメータが格納されているものと仮定する。また、通信元ノード１０（＃１）は、通信元ノード１０と同一サブネットに属し、通信先ノード１１（＃１）は、通信先ノード１１と同一サブネットに属するものと仮定する。
【００６１】
図９の例において上記所定下限値が或るサブネットに対応した値に設定された場合には、パラメータチェッカ２７は、通信元ノード１０（＃１）と通信先ノード１１（＃１）との間のセッション＃ＳＤ１に対応するエントリをパラメータ格納部２５から抽出する。これにより、通信元ノード１０（＃１）と通信先ノード１１（＃１）との間のセッション＃ＳＤ１で学習されたセッションパラメータが、新たなセッションで継承される（継承範囲＃Ｄ１及び＃Ｓ１）。
【００６２】
図１０は、第１実施形態におけるセッションパラメータの承継範囲の第６例を概念的に示す図である。ここで、通信元ノード１０が新たに通信先ノード１１との間でセッションを開始しようとしており、パラメータ格納部２５には、通信元ノード１０（＃１）と通信先ノード１１（＃２）との間のセッション＃ＳＤ２で学習されたセッションパラメータが格納されているものと仮定する。また、通信元ノード１０（＃１）は、通信元ノード１０と同一サブネットに属し、通信先ノード１１（＃２）は、通信先ノード１１とサブネットは異なるが同一サイト内に位置するものと仮定する。
【００６３】
図１０の例において上記所定下限値が或るサイトに対応した値に設定された場合には、パラメータチェッカ２７は、通信元ノード１０（＃１）と通信先ノード１１（＃２）との間のセッション＃ＳＤ２に対応するエントリをパラメータ格納部２５から抽出する。これにより、通信元ノード１０（＃１）と通信先ノード１１（＃２）との間のセッション＃ＳＤ２で学習されたセッションパラメータが、新たなセッションで継承される（継承範囲＃Ｄ２及び＃Ｓ１）。
【００６４】
図１１は、第１実施形態におけるセッションパラメータの承継範囲の第７例を概念的に示す図である。ここで、通信元ノード１０が新たに通信先ノード１１との間でセッションを開始しようとしており、パラメータ格納部２５には、通信元ノード１０（＃２）と通信先ノード１１（＃１）との間のセッション＃ＳＤ３で学習されたセッションパラメータが格納されているものと仮定する。また、通信元ノード１０（＃２）は、通信元ノード１０とサブネットは異なるが同一サイト内に位置し、通信先ノード１１（＃１）は、通信先ノード１１と同一サブネット内に位置するものと仮定する。
【００６５】
図１１の例において上記所定下限値が或るサイトに対応した値に設定された場合には、パラメータチェッカ２７は、通信元ノード１０（＃２）と通信先ノード１１（＃１）との間のセッション＃ＳＤ３に対応するエントリをパラメータ格納部２５から抽出する。これにより、通信元ノード１０（＃２）と通信先ノード１１（＃１）との間のセッション＃ＳＤ３で学習されたセッションパラメータが、新たなセッションで継承される（継承範囲＃Ｄ１及び＃Ｓ２）。
【００６６】
図１２は、第１実施形態におけるセッションパラメータの承継範囲の第８例を概念的に示す図である。ここで、通信元ノード１０が新たに通信先ノード１１との間でセッションを開始しようとしており、パラメータ格納部２５には、通信元ノード１０（＃２）と通信先ノード１１（＃２）との間のセッション＃ＳＤ４で学習されたセッションパラメータが格納されているものと仮定する。また、通信元ノード１０（＃２）は、通信元ノード１０とサブネットは異なるが同一サイト内に位置し、通信先ノード１１（＃２）は、通信先ノード１１とサブネットは異なるが同一サイト内に位置するものと仮定する。
【００６７】
図１２の例において上記所定下限値が或るサイトに対応した値に設定された場合には、パラメータチェッカ２７は、通信元ノード１０（＃２）と通信先ノード１１（＃２）との間のセッション＃ＳＤ４に対応するエントリをパラメータ格納部２５から抽出する。これにより、通信元ノード１０（＃２）と通信先ノード１１（＃２）との間のセッション＃ＳＤ４で学習されたセッションパラメータが、新たなセッションで継承される（継承範囲＃Ｄ２及び＃Ｓ２）。
【００６８】
なお、上記下限設定値は、上述のようなサブネット又はサイトを示す値に限定されるわけではなく、ＩＰアドレスの全ビット数よりも小さい値であり、かつ、通信条件が近似するネットワーク範囲を示す値であれば、どのような値に設定されてもよい。なお、通信先ＩＰアドレスの一致ビット数と比較される所定下限値と、通信元ＩＰアドレスの一致ビット数と比較される所定下限値とは別々に設けられてもよい。
【００６９】
〔第１実施形態の作用及び効果〕
上述したように第１実施形態では、パラメータ格納部２５に、通信ノード間のセッションで学習されたセッションパラメータが、セッションの解放により消去されないように、格納される。そして、パラメータ格納部２５に格納された複数エントリの中から、新たに開始されるセッションを継承範囲とするエントリが抽出され、このエントリに含まれるセッションパラメータがその新たに開始されるセッションの初期値として利用される。
【００７０】
従って、第１実施形態によれば、先のセッションで学習されたセッションパラメータが、新たに開始されるセッションで継承されるため、新たに開始されるセッションでは重複する学習処理及び発見処理を省くことができる。具体的には、先のセッションにおいてスロースタートアルゴリズムにより学習されたウィンドウサイズが、新たに開始されるセッションの初期値として設定されるため、新たに開始されるセッションではスロースタートアルゴリズムを実施しなくても、最初から最適化された状態で通信を行うことができる。
【００７１】
更に、第１実施形態では、パラメータチェッカ２７が所定下限値を用いて継承すべきセッションパラメータを特定するため、少ない学習量（パラメータ格納部２５内のエントリ数）で上述のような効果を幅広く享受することができる。
【００７２】
また、近似する通信条件を示す度合いが大きい順に優先付けされた各セッション特定情報に応じて、継承すべきセッションパラメータの絞り込みが行われる。具体的には、プトロコル種別及び通信先ＩＰアドレスが第１優先度に設定され、通信元ＩＰアドレスが第２優先度に設定され、通信先ポート番号が第３優先度に設定され、通信元ポート番号が第４優先度に設定される。これは、通信条件が通信先ノード１１が位置するネットワーク状況に最も影響されるからである。
【００７３】
［第２実施形態］
上述の第１実施形態では、ウィンドウサイズ、ＲＴＴ等のようなセッションパラメータが継承されたが、継承される通信パラメータはセッションパラメータに限定されない。第２実施形態では、通信先不達情報が継承される例を示す。図１３は、第２実施形態における通信元ノード１０の処理構成例を概念的に示す図である。以下、第２実施形態における通信元ノード１０について第１実施形態と異なる点を中心に説明する。
【００７４】
第２実施形態における通信元ノード１０は、通信処理部４０、パラメータ格納部４５、エントリ管理部４６、パラメータチェッカ４７等を有する。通信元ノード１０は、ＣＰＵ５によりメモリ６に格納されるプログラムが実行されることで上記各処理部を実現する。
【００７５】
通信処理部４０は、先の通信に応じて受信された通信先不達情報をその通信の通信先ＩＰアドレス等と関連付けてパラメータ格納部４５に格納する。通信先不達情報は、例えば、ＩＣＭＰ（Internet Control Message Protocol）のタイプ（３）により通信元ノード１０に通知される。
【００７６】
図１４は、第２実施形態におけるパラメータ格納部４５のデータ例を示す図である。パラメータ格納部４５は、各通信先ＩＰアドレスについて、プレフィックス長及び不達種別をそれぞれ格納する。パラメータ格納部４５は、接続状況格納部と呼ぶこともできる。不達種別は、図１４に示されるように、ネットワーク不達（Network Unreachable）、ホスト不達（Host Unreachable）、サービス不達（Service Unreachable）等である。なお、不達種別はこれらに限定されない。不達種別には、例えば、ＩＣＭＰのタイプ（３）のコードが格納される。ＩＣＭＰのタイプ（３）のコード（０）がネットワーク不達を示し、コード（１）がホスト不達を示す。
【００７７】
パラメータチェッカ４７は、通信処理部４０からの要求に応じて、パラメータ格納部４５に格納される通信先不達情報を検索し、通信処理部４０により指定された当該新たに開始される通信が可能か否かを判定する。この判定は、例えば、パラメータ格納部４５の不達種別毎に行われる。
【００７８】
ネットワーク不達では、パラメータチェッカ４７は、パラメータ格納部４５のネットワーク不達のレコードを対象に次のように処理する。パラメータチェッカ４７は、当該対象レコードの中に、当該新たに開始される通信の通信先ＩＰアドレスと各レコードの通信先ＩＰアドレスとで各レコードのプレフィックス長に対応するネットワークプレフィックスが一致するレコードが存在するか否かを判定する。パラメータチェッカ４７は、一致するレコードが存在すれば、当該新たに開始される通信は不可能と判定する。
【００７９】
ホスト不達では、パラメータチェッカ４７は、パラメータ格納部４５のホスト不達のレコードの中に、当該新たに開始される通信の通信先ＩＰアドレスと各レコードの通信先ＩＰアドレスとが一致するレコードが存在するか否かを判定する。パラメータチェッカ４７は、一致するレコードが存在すれば、当該新たに開始される通信は不可能と判定する。
【００８０】
パラメータチェッカ４７は、このような判定結果、即ち、通信可能か否かを通信処理部４０に通知する。通信処理部４０は、パラメータチェッカ４７からの通知により、新たに通信を開始する前に、その通信が可能か否かを判断することができる。
【００８１】
エントリ管理部４６は、パラメータ格納部４５内のエントリを管理する。先の通信で或る通信先ノードや通信先のネットワークに障害があったとしても、その状況は回復する。そこで、エントリ管理部４６は、所定の有効期間情報を持ち、最終更新時からこの所定有効期間を経過したエントリを削除する。また、エントリ管理部４６は、ネットワーク不達を示すエントリに関し、そのエントリと同一のネットワークプレフィックスを持つ通信先ノードとの通信が成功したことを通信処理部４０から通知された場合に、そのエントリを削除するようにしてもよい。
【００８２】
〔第２実施形態における作用及び効果〕
このように、第２実施形態では、先の通信に応じて受信された通信先不達情報がパラメータ格納部４５で格納され、その通信先不達情報が新たに開始される通信において継承される。これにより、先の通信において既に通信不能と学習されている通信先ノードに対してセッション開設等のような新たな通信を再度実行するといった無駄な処理をなくすことができる。
【００８３】
［第３実施形態］
第３実施形態では、継承される通信パラメータとしてパスＭＴＵが継承される例を示す。図１５は、第３実施形態における通信元ノード１０の処理構成例を概念的に示す図である。以下、第３実施形態における通信元ノード１０について第１実施形態及び第２実施形態と異なる点を中心に説明する。
【００８４】
第３実施形態における通信元ノード１０は、通信処理部５０、パラメータ格納部５５、エントリ管理部５６、パラメータチェッカ５７等を有する。通信元ノード１０は、ＣＰＵ５によりメモリ６に格納されるプログラムが実行されることで上記各処理部を実現する。
【００８５】
通信処理部５０は、パスＭＴＵ（Maximum Transmission Unit）ディスカバリを実施し、そのパスＭＴＵディスカバリにより得られたパスＭＴＵ値を通信元ＩＰアドレス及び通信先ＩＰアドレスと関連付けてパラメータ格納部５５に格納する。パスＭＴＵ値は、ＩＣＭＰのタイプ（３）のコード（４）のメッセージにより通知される。なお、パスＭＴＵディスカバリは周知技術であるため、ここでは説明を省略する。
【００８６】
図１６は、第３実施形態におけるパラメータ格納部５５のデータ例を示す図である。パラメータ格納部５５は、通信先ＩＰアドレス及び通信元ＩＰアドレスの各ペアについてそれぞれパスＭＴＵ値を格納する。パスＭＴＵ値は、通信先ＩＰアドレスから通信元ＩＰアドレスまでの経路中の最小ＭＴＵ値である。
【００８７】
パラメータチェッカ５７は、通信処理部５０からの要求に応じて、パラメータ格納部５５に格納されるパスＭＴＵ値を検索し、通信処理部５０により指定された当該新たに開始される通信の通信パラメータの初期値としてパスＭＴＵ値を取得する。パラメータチェッカ５７は、先の通信でのパスＭＴＵディスカバリで取得されたパスＭＴＵ値を、通信端（通信元ＩＰアドレスと通信先ＩＰアドレスとのペア）が完全に一致するパス間のみでなく、パスＭＴＵ値が同一となり得るパス間にまで拡張して継承させる。
【００８８】
具体的には、パラメータチェッカ５７は、パラメータ格納部５５から、通信先ＩＰアドレスの一致ビット数が所定下限値以上で最大となるエントリを抽出し、この抽出されたエントリの中から、通信元ＩＰアドレスの一致ビット数が所定下限値以上で最大となるエントリを抽出する。パラメータチェッカ５７は、このようにして抽出されたエントリのパスＭＴＵ値を当該新たに開始される通信の通信パラメータの初期値として取得する。パラメータチェッカ５７は、取得されたパスＭＴＵ値を通信処理部５０へ送る。
【００８９】
このパスＭＴＵ値の継承範囲については、第１実施形態におけるセッションパラメータの継承範囲の考え方と同様である。よって、上記所定下限値は、異なるパス間で同一のパスＭＴＵ値となり得るネットワーク範囲を示すように予め設定され、メモリに格納される。
【００９０】
エントリ管理部５６は、パラメータ格納部５５に格納されるエントリを管理する。例えば、エントリ管理部５６は、データエージング、ガーベジコレクション等を行う。
【００９１】
〔第３実施形態における作用及び効果〕
このように、第３実施形態では、先の通信で実施されたパスＭＴＵディスカバリにより取得されたパスＭＴＵ値がパラメータ格納部５５で格納され、そのパスＭＴＵ値が新たに開始される通信において継承される。これにより、パスＭＴＵ値を継承された後の通信では、最初から適切なパスＭＴＵ値を用いることができるため、パスＭＴＵディスカバリを実施しなくともよい。よって、後の通信を効率よく実施することができると共に、通信帯域を有効に利用することができる。
【００９２】
更に、第３実施形態では、パラメータチェッカ５７が所定下限値を用いて継承すべきパスＭＴＵ値を特定するため、パラメータ格納部５５内のパスＭＴＵ値の数が少なくても上述のような効果を幅広く享受することができる。
【００９３】
［各実施形態の補足］
上述の各実施形態については、全てを組み合わせた形態としてもよいし、いずれか複数を組み合わせた形態としてもよい。各実施形態を組み合わせる場合には、各実施形態のパラメータ格納部（２５、４５、５５）は、１つのテーブル（キャッシュ）で実現されてもよいし、それぞれ異なるテーブルで実現されてもよい。
【００９４】
［変形例］
以下に示す各変形例は、上述の各実施形態に適用可能である。
【００９５】
〔第１変形例〕
パラメータ格納部２５は、通信元ノード１０自身のセッション情報管理部２１で管理されるセッション情報に加えて、他の通信ノードのセッション情報管理部２１で管理されるセッション情報のセッションパラメータを格納してもよい。また、通信元ノード１０上で複数の仮想マシンが実現されている場合には、パラメータ格納部２５は、通信元ノード１０上の１つの仮想マシンのセッション情報管理部２１で管理されるセッション情報に加えて、他の仮想マシンのセッション情報管理部２１で管理されるセッション情報のセッションパラメータを格納してもよい。
【００９６】
図１７は、第１変形例における通信元ノード１０の処理構成例を概念的に示す図である。図１７は、第１実施形態に第１変形例を適用した場合の処理構成例を示す。第１変形例における通信元ノード１０は、上述の各実施形態の構成に加えて、セッション情報送受信部２９を更に備える。セッション情報送受信部２９は、他の通信ノードから当該セッション情報を取得し、取得されたセッション情報をパラメータ格納部２５に格納する。また、セッション情報送受信部２９は、セッション情報管理部２１で管理されるセッション情報の追加及び更新（消去を除く）に応じて、その追加及び更新されたセッション情報を他の通信ノードに送る。セッション情報送受信部２９は、パラメータ通知部と呼ぶこともできる。
【００９７】
通信元ノード１０で複数の仮想マシンが実現されている場合には、セッション情報送受信部２９は、自身を実現する仮想マシン以外の他の仮想マシンから当該セッション情報を取得し、取得されたセッション情報をパラメータ格納部２５に格納する。この場合、セッション情報送受信部２９は、追加及び更新されたセッション情報を他の仮想マシンに送る。このようにすれば、仮想マシン間で学習された通信パラメータを継承することができる。
【００９８】
〔第２変形例〕
また、パラメータ格納部２５は、共有サーバ上に集約されるようにしてもよい。図１８は、第２変形例におけるシステム構成例を概念的に示す図である。図１８に示されるように、第２変形例では、所定範囲の通信元ノード１０（＃１）及び１０（＃２）と通信可能に接続される共有サーバ１５が新たに設けられる。この所定範囲とは、上述のセッションパラメータの通信元ノードの継承範囲と同じに設定されてもよい。なお、第２変形例では、共有サーバ１５の数は制限されない。
【００９９】
図１９は、第２変形例における共有サーバ１５及び通信元ノード１０の処理構成例を概念的に示す図である。図１９は、第１実施形態に第２変形例を適用した場合の処理構成例を示す。以降、図１８及び図１９で示される通信元ノード１０（＃１）及び１０（＃２）は、同じ処理構成を有していればよいため、区別する必要がある場合を除いて、通信元ノード１０と表記される。
【０１００】
第２変形例における通信元ノード１０は、通信処理部２０、セッション情報管理部２１、セッション情報送信部３３、パラメータ取得部３４等を有する。通信処理部２０及びセッション情報管理部２１は第１実施形態と同様であるためここでは説明を省略する。セッション情報送信部３３及びパラメータ取得部３４についても他の処理部と同様に、ＣＰＵ５によりメモリ６に格納されるプログラムが実行されることで実現される。
【０１０１】
セッション情報送信部３３は、セッション情報管理部２１で管理されるセッション情報の追加及び更新（消去を除く）に応じて、その追加及び更新されたセッション情報を共有サーバ１５に送る。パラメータ取得部３４は、通信処理部２０からのセッションパラメータの初期値の要求を共有サーバ１５に送り、パラメータチェッカ２７により取得された初期値を共有サーバ１５から受信し、その初期値を通信処理部２０へ渡す。
【０１０２】
第２変形例における共有サーバ１５は、パラメータ格納部２５、エントリ管理部２６、パラメータチェッカ２７、セッション情報受信部３１、パラメータ通知部３２等を有する。共有サーバ１５は、コンピュータであり、ＣＰＵ５によりメモリ６に格納されるプログラムが実行されることで上記各処理部を実現する。パラメータ格納部２５、エントリ管理部２６及びパラメータチェッカ２７は第１実施形態と同様であるためここでは説明を省略する。
【０１０３】
セッション情報受信部３１は、通信元ノード１０からのセッション情報を受け、受信されたセッション情報に基づいてパラメータ格納部２５を更新する。例えば、そのセッション情報が新たに追加された情報であれば、セッション情報受信部３１は、パラメータ格納部２５にそのセッション情報に対応する新たなエントリを追加する。そのセッション情報が変更された情報であれば、セッション情報受信部３１は、そのセッション情報に対応するエントリをそのセッション情報に基づいて変更する。
【０１０４】
パラメータ通知部３２は、パラメータチェッカ２７により取得されたセッションパラメータの初期値をそれを用いる新たなセッションを開始する通信元ノード１０へ通知する。なお、当該初期値の送信先は、当該初期値の要求元の通信元ノード１０となる。
【０１０５】
このように、第２変形例では、各通信元ノード１０で学習されたセッションパラメータが共有サーバ１５に集約され、その集約されたセッションパラメータが複数の通信元ノード１０で共有される。従って、第２変形例によれば、各通信元ノード１０のメモリ容量を抑えることができると共に、複数の通信元ノード１０の学習情報を各通信元ノード１０で共有することができる。なお、この第２変形例は、上述したように、仮想マシンを継承単位としてもよい。この場合には、共有サーバ１５に集約されたセッションパラメータが複数の仮想マシンで共有される。
【０１０６】
なお、パラメータチェッカ２７は、各通信元ノード１０上で実現されるようにしてもよい。この場合、パラメータチェッカ２７は、ネットワークを介してパラメータ格納部２５を検索するようにすればよい。このようにすれば、パラメータチェッカ２７を通信元ノード１０毎にカスタマイズすることができる。
【０１０７】
［他の実施形態］
上述したように、ＴＣＰ通信では、スロースタートアルゴリズムにより、各コネクションにおいてウィンドウサイズが調整される。スロースタートアルゴリズムは、利用するネットワークの性能が低いという仮定から通信を開始し、徐々に時間をかけてネットワーク状態を学習する手法である。よって、高性能ネットワークにおいてはこのスロースタートアルゴリズムの学習時間が無駄になる場合がある。現状、このような課題を解決し得る手段は存在しない。
【０１０８】
そこで、上述の各実施形態において、パラメータチェッカ２７、４７及び５７が、学習された通信パラメータの継承範囲を拡張しなくとも十分に効果的である。即ち、次のような通信制御装置は上述の課題を解決することができる。
【０１０９】
通信ノード間のＬ４通信で学習されたウィンドウサイズ、当該Ｌ４通信の通信元ＩＰアドレス及び当該Ｌ４通信の通信先ＩＰアドレスを含む各エントリをそれぞれ格納するパラメータ格納部と、新たに開設されるコネクションにおける通信元ＩＰアドレス及び通信先ＩＰアドレスを取得し、当該通信元ＩＰアドレス及び当該通信先ＩＰアドレスに対応するウィンドウサイズを、当該新たに開設されるコネクションの初期値としてパラメータ格納部から取得するパラメータ取得部と、を備えることを特徴とする通信制御装置。
【０１１０】
具体的には、上述の各実施形態において、パラメータチェッカ２７、４７及び５７は、通信元ＩＰアドレス及び通信先ＩＰアドレスのペアが一致するエントリの通信パラメータ（ウィンドウサイズ）を継承するようにしてもよい。このような形態であっても、スロースタートアルゴリズムによる無駄な学習時間をなくすことができる。
【０１１１】
上記の各実施形態及び各変形例の一部又は全部は、以下の付記のようにも特定され得る。但し、各実施形態及び各変形例が以下の記載に限定されるものではない。
【０１１２】
（付記１）
通信ノード間の通信で学習された通信パラメータ、該通信の通信元ＩＰアドレス及び該通信の通信先ＩＰアドレスを含む各エントリをそれぞれ格納するパラメータ格納部と、
新たに開始される通信における通信元ＩＰアドレス及び通信先ＩＰアドレスを取得し、前記パラメータ格納部に格納される複数エントリの中から、通信元ＩＰアドレス間、又は、通信先ＩＰアドレス間で一致するビットの数が、ＩＰアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも１つのエントリを抽出し、抽出されたエントリから、該新たに開始される通信で用いられる通信パラメータの初期値を取得するパラメータ取得部と、
を備えることを特徴とする通信制御装置。
【０１１３】
（付記２）
前記パラメータ取得部は、前記通信先ＩＰアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出し、抽出されたエントリの中から前記通信元ＩＰアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出する、
ことを特徴とする付記１に記載の通信制御装置。
【０１１４】
（付記３）
通信元ノードにより得られる通信先不達情報を各通信先ＩＰアドレスに関連付けてそれぞれ格納する接続状況格納部、
を更に備え、
前記パラメータ取得部は、前記新たに開始される通信における通信先ＩＰアドレスに基づいて前記接続状況格納部に格納される前記通信先不達情報を検索することにより、前記新たに開始される通信が可能か否かを判定する、
ことを特徴とする付記１又は２に記載の通信制御装置。
【０１１５】
（付記４）
前記通信先不達情報には、ネットワーク不達を示す不達種別を含み、
前記パラメータ取得部は、前記ネットワーク不達を示す前記通信先不達情報を対象に、通信先ＩＰアドレス間のネットワークプレフィックスの照合を行うことにより、前記新たに開始される通信が可能か否かを判定する、
ことを特徴とする付記３に記載の通信制御装置。
【０１１６】
（付記５）
前記パラメータ格納部に格納される前記通信パラメータは、前記通信ノード間のセッションで学習されたセッションパラメータを含み、
前記パラメータ格納部に格納される前記各エントリは、プロトコル種別、通信元ポート番号及び通信先ポート番号を更に含み、
前記パラメータ取得部は、前記新たに開始される通信におけるプロトコル種別、通信先ポート番号及び通信元ポート番号を更に用いて前記エントリを抽出する、
ことを特徴とする付記１から４のいずれか１つに記載の通信制御装置。
【０１１７】
（付記６）
前記パラメータ格納部に格納される前記通信パラメータは、パスＭＴＵ（Maximum Transmission Unit）ディスカバリにより学習されたパスＭＴＵを含むことを特徴とする付記１から５のいずれか１つに記載の通信制御装置。
【０１１８】
（付記７）
前記通信パラメータを前記通信制御装置以外の他の通信ノード又は或る仮想マシン以外の他の仮想マシンから受信し、受信された通信パラメータを含むエントリを前記パラメータ格納部に格納するパラメータ受信部と、
前記パラメータ取得部により取得された前記通信パラメータの前記初期値を新たな通信を開始する前記他の通信ノード又は前記他の仮想マシンに通知するパラメータ通知部と、
を更に備える付記１から６のいずれか１つに記載の通信制御装置。
【０１１９】
（付記８）
前記パラメータ格納部に格納される前記各エントリに対応する各通信を実現する各ネットワークの安定度を判定し、各ネットワークの安定度に応じて前記各エントリを削除するエントリ管理部、
を更に備える付記１から７のいずれか１つに記載の通信制御装置。
【０１２０】
（付記９）
通信ノード間の通信で学習された通信パラメータ、該通信の通信元ＩＰアドレス及び該通信の通信先ＩＰアドレスを含む各エントリをパラメータ格納部にそれぞれ格納し、
新たに開始される通信における通信元ＩＰアドレス及び通信先ＩＰアドレスを取得し、
前記パラメータ格納部に格納される複数エントリの中から、通信元ＩＰアドレス間、又は、通信先ＩＰアドレス間で一致するビットの数が、ＩＰアドレスの全ビット数よりも小さい所定下限値以上となる少なくとも１つのエントリを抽出し、
前記抽出されたエントリから、該新たに開始される通信で用いられる通信パラメータの初期値を取得する、
ことを含む通信制御方法。
【０１２１】
（付記１０）
前記少なくとも１つのエントリの抽出は、
前記通信先ＩＰアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出し、
前記抽出されたエントリの中から前記通信元ＩＰアドレス間で一致するビットの数が前記所定下限値以上でありかつ最大となるエントリを抽出する、
ことを含む付記９に記載の通信制御方法。
【０１２２】
（付記１１）
通信元ノードにより得られる通信先不達情報を接続状況格納部に各通信先ＩＰアドレスに関連付けてそれぞれ格納し、
前記新たに開始される通信における通信先ＩＰアドレスに基づいて前記接続状況格納部に格納される前記通信先不達情報を検索することにより、前記新たに開始される通信が可能か否かを判定する、
ことを更に含む付記９又は１０に記載の通信制御方法。
【０１２３】
（付記１２）
前記通信先不達情報には、ネットワーク不達を示す不達種別を含み、
前記判定は、
前記ネットワーク不達を示す前記通信先不達情報を対象に、通信先ＩＰアドレス間のネットワークプレフィックスの照合を行う
ことを含む、
付記１１に記載の通信制御方法。
【０１２４】
（付記１３）
前記パラメータ格納部に格納される前記通信パラメータは、前記通信ノード間のセッションで学習されたセッションパラメータを含み、
前記パラメータ格納部に格納される前記各エントリは、プロトコル種別、通信元ポート番号及び通信先ポート番号を更に含み、
前記新たに開始される通信におけるプロトコル種別、通信先ポート番号及び通信元ポート番号を更に用いて前記エントリを抽出する、
ことを更に含む付記９から１２のいずれか１つに記載の通信制御方法。
【０１２５】
（付記１４）
前記パラメータ格納部に格納される前記通信パラメータは、パスＭＴＵ（Maximum Transmission Unit）ディスカバリにより学習されたパスＭＴＵを含むことを特徴とする付記９から１３のいずれか１つに記載の通信制御方法。
【０１２６】
（付記１５）
前記通信パラメータを前記通信制御装置以外の他の通信ノード又は或る仮想マシン以外の他の仮想マシンから受信し、
前記受信された通信パラメータを含むエントリを前記パラメータ格納部に格納し、
前記取得された前記通信パラメータの前記初期値を新たな通信を開始する前記他の通信ノード又は前記他の仮想マシンに通知する、
ことを更に含む付記９から１４のいずれか１つに記載の通信制御方法。
【０１２７】
（付記１６）
前記パラメータ格納部に格納される前記各エントリに対応する各通信を実現する各ネットワークの安定度を判定し、
前記各ネットワークの安定度に応じて前記パラメータ格納部に格納される前記エントリを削除する、
ことを更に含む付記９から１５のいずれか１つに記載の通信制御方法。
【０１２８】
（付記１７）
付記９から１６のいずれか１つに記載の通信制御方法をコンピュータに実行させるプログラム。
【０１２９】
（付記１８）
付記１７に記載のプログラムをコンピュータに読み取り可能に記録する記録媒体。
【０１３０】
この出願は、２０１２年６月２５日に出願された日本出願特願２０１２−１４１９６８号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2014002337.tif 000003
【図２】
2014002337.tif 000004
【図３】
2014002337.tif 000005
【図４】
2014002337.tif 000006
【図５】
2014002337.tif 000007
【図６】
2014002337.tif 000008
【図７】
2014002337.tif 000009
【図８】
2014002337.tif 000010
【図９】
2014002337.tif 000011
【図１０】
2014002337.tif 000012
【図１１】
2014002337.tif 000013
【図１２】
2014002337.tif 000014
【図１３】
2014002337.tif 000015
【図１４】
2014002337.tif 000016
【図１５】
2014002337.tif 000017
【図１６】
2014002337.tif 000018
【図１７】
2014002337.tif 000019
【図１８】
2014002337.tif 000020
【図１９】
2014002337.tif 000021
【国際調査報告】
2014002337.tif 000022
2014002337.tif 000023