(57)【特許請求の範囲】
【請求項１】
複数の端末および複数のネットワーク間の通信フローを中継する通信手段と、
各端末からのパケットから該パケットが属する通信フローの特性を識別するための特徴情報を検出するフロー識別手段と、
前記フロー識別手段による検出結果の情報および当該パケットが送出されたネットワークの情報をデータベースに記録する記録手段と、
各端末からのパケットの特徴情報に関連する所定条件を満たすネットワークを前記データベースから検索し且つ検索結果の中から当該パケットを送出すべきネットワークを選択するネットワーク選択手段とを備え、
前記特徴情報は少なくとも、送信元の通信アプリケーションの特性に基づく情報及び送信元の端末の特性に基づく情報を含んでおり、
前記ネットワーク選択手段は、前記データベース及び前記通信フローの特徴情報を比較し、前記通信フローの特徴情報に含まれる接続先と同一の接続先についてのエントリが前記データベースに含まれている場合には該エントリに紐付けられている平均通信量を該通信フローの平均通信量と推定し、同一の接続先についてのエントリが前記データベースに含まれていない場合には、該通信フローの特徴情報に含まれる接続先以外の情報が一致するエントリに紐付けられている平均通信量を該通信フローの平均通信量と推定し、これら推定した平均通信量に対して帯域幅を満たすネットワークを前記選択することを特徴とする通信装置。
【請求項２】
前記データベースには、ネットワークを利用した場合に発生する料金がネットワーク毎に記録されており、
前記ネットワーク選択手段は、前記推定した平均通信量に対して帯域幅を満たしたネットワークであって、且つ、該満たしたネットワーク内で最も前記料金が安いネットワークを選択することを特徴とする請求項１記載の通信装置。
【請求項３】
前記データベースには、ネットワークのセキュリティレベルがネットワーク毎に記録されており、
前記ネットワーク選択手段は、前記推定した平均通信量に対して帯域幅を満たしたネットワークであって、且つ、該満たしたネットワーク内で最も前記セキュリティレベルが高いネットワークを選択することを特徴とする請求項１記載の通信装置。
【請求項４】
前記ネットワーク選択手段は、特徴情報が共通し且つ受信間隔が所定時間内である一連のパケットを同一の通信フローに属すると判定し、同一の通信フローに属する各パケットの送出に同一のネットワークを適用することを特徴とする請求項１記載の通信装置。
【請求項５】
前記フロー識別手段は、ＨＴＴＰリクエストを表すパケットの特徴情報を該パケットのヘッダから検出することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記フロー識別手段は、ＨＴＴＰリクエストを表すパケットの特徴情報として、当該パケットのヘッダから端末情報を検出することを特徴とする請求項５記載の通信装置。
【請求項７】
前記記録手段は、前記データベースの情報を学習処理により更新することを特徴とする請求項１乃至６のいずれか１項に記載の通信装置。
【請求項８】
さらに、パケットが送出されるネットワークの候補を外部出力し且つ該候補に関し入力された選択結果を認識する候補通知手段を備え、
前記ネットワーク選択手段は、前記データベースの検索結果を前記候補として前記候補通知手段へ通知し、前記候補通知手段が認識した選択結果としてのネットワークを当該パケットの送出に適用することを特徴とする請求項１乃至７のいずれか１項に記載の通信装置。
【請求項９】
さらに、前記通信手段により中継すべき通信フローにおけるパケットのアドレスを前記ネットワーク選択手段が選択したネットワークに応じて変換するアドレス変換手段を備えることを特徴とする請求項１乃至８のいずれか１項に記載の通信装置。
【請求項１０】
コンピュータを請求項１乃至９のいずれか１項に記載の通信装置として機能させることを特徴とするプログラム。
【請求項１１】
複数の端末および複数のネットワーク間の通信フローを中継するとき、
端末から受信したパケットから該パケットが属する通信フローの特性を識別するための情報であって且つ少なくとも送信元の通信アプリケーションの特性に基づく情報及び送信元の端末の特性に基づく情報である特徴情報を検出し、
前記検出の結果の情報をデータベースに記録し、
前記特徴情報に関連する所定条件を満たすネットワークを前記データベースから検索し且つ検索結果の中から前記受信したパケットを送出すべきネットワークを選択し、
前記選択したネットワークに前記受信したパケットを送出し、
前記受信したパケットが送出されたネットワークの情報を前記データベースに記録し、
前記ネットワークを前記選択する際は、前記データベース及び前記通信フローの特徴情報を比較し、前記通信フローの特徴情報に含まれる接続先と同一の接続先についてのエントリが前記データベースに含まれている場合には該エントリに紐付けられている平均通信量を該通信フローの平均通信量と推定し、同一の接続先についてのエントリが前記データベースに含まれていない場合には、該通信フローの特徴情報に含まれる接続先以外の情報が一致するエントリに紐付けられている平均通信量を該通信フローの平均通信量と推定し、これら推定した平均通信量に対して帯域幅を満たすネットワークを前記選択することを特徴とするネットワーク選択方法。
【請求項１２】
前記データベースには、ネットワークを利用した場合に発生する料金がネットワーク毎に記録されており、
前記ネットワークを前記選択する際は、前記推定した平均通信量に対して帯域幅を満たしたネットワークであって、且つ、該満たしたネットワーク内で最も前記料金が安いネットワークを選択することを特徴とする請求項１１記載のネットワーク選択方法。
【請求項１３】
前記データベースには、ネットワークのセキュリティレベルがネットワーク毎に記録されており、
前記ネットワークを前記選択する際は、前記推定した平均通信量に対して帯域幅を満たしたネットワークであって、且つ、該満たしたネットワーク内で最も前記セキュリティレベルが高いネットワークを選択することを特徴とする請求項１１記載のネットワーク選択方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末及びネットワーク間のルーティング技術に関し、特に、適用される通信形式が多岐にわたるシステムにおけるルーティング技術に関する。
【背景技術】
【０００２】
近年、携帯電話網、無線LAN（Local area network）をはじめとする無線ネットワークの普及に伴い、移動端末装置を多種多様なネットワークに接続するというユースケースが増大している。通信方式としては、例えば、セルラ方式、無線LAN、PHS（Personal Handy-phone System）接続、Bluetoothなどがある。また、接続するネットワークとしては、セルラネットワーク、Internet、企業内イントラネット、家庭内LAN、さらにこれらに対するVPN（Virtual Private Network）接続がある。
【０００３】
IP（Internet Protocol）を使って端末を複数のネットワークに接続する場合は、複数の経路が使用される。この場合、端末からのパケットが適切なネットワークに送出されるよう経路の決定（ルーティング）を行う必要がある。
【０００４】
ルーティングに関する技術としては、例えば、後述の特許文献１に記載のものがある。同文献には、複数の端末に接続されたルータが、端末からの受信パケットからソースアドレスを取り込み、そのソースアドレスに予め関連付けられた論理チャネルに受信パケットを送出するという方法が記載されている。
【０００５】
また、複数の通信手段を利用可能なシステムにおけるルーティング技術が特願2006-109253に記載されている。特願2006-109253には、通信端末が、実行する通信アプリケーションや接続先の情報と、それらに関し予め設定された情報を持つアプリケーション特性データベースおよびネットワーク特性データベースとを用いて、最適なネットワークを選択するという方法が記載されている。
【特許文献１】特開平１０−１７３７０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の方法のように、パケットのソースアドレスを基に、そのパケットの経路を選択する方法では、ある端末が複数のネットワークを使用して複数のアプリケーションを実行するというケースに対処することが困難である。なぜなら、そのようなケースにおいて、同文献のルータは、ソースアドレスが同一のパケットについては、同一のチャネルに送出するよう制御するからである。
【０００７】
一方、特願2006-109253に記載の方法によれば、上記のケースに対処可能であるが、アプリケーションを実行する端末に、そのアプリケーションに用いるネットワークの選択手段を設けることから、端末のソフトウェアを改変する必要がある。また、端末において、アプリケーションの実行と並行してネットワークの選択処理を行う必要がある。そのため、端末の処理負荷を軽減し難いという不都合が生じる。
【０００８】
本発明は、上記課題に鑑みてなされたものであり、その目的は、端末のソフトウェアを改変することなく、その端末からの通信フローを適切なネットワークへ接続するための技術を提供することにある。
【課題を解決するための手段】
【０００９】
本発明に係る通信装置は、複数の端末および複数のネットワーク間の通信フローを中継する通信手段と、各端末からのパケットから該パケットが属する通信フローの特性を識別するための特徴情報を検出するフロー識別手段と、前記フロー識別手段による検出結果の情報および当該パケットが送出されたネットワークの情報をデータベースに記録する記録手段と、各端末からのパケットの特徴情報に関連する所定条件を満たすネットワークを前記データベースから検索し且つ検索結果の中から当該パケットを送出すべきネットワークを選択するネットワーク選択手段とを備え、前記特徴情報は少なくとも、送信元の通信アプリケーションの特性に基づく情報及び送信元の端末の特性に基づく情報を含んでおり、前記ネットワーク選択手段は、前記データベース及び前記通信フローの特徴情報を比較し、前記通信フローの特徴情報に含まれる接続先と同一の接続先についてのエントリが前記データベースに含まれている場合には該エントリに紐付けられている平均通信量を該通信フローの平均通信量と推定し、同一の接続先についてのエントリが前記データベースに含まれていない場合には、該通信フローの特徴情報に含まれる接続先以外の情報が一致するエントリに紐付けられている平均通信量を該通信フローの平均通信量と推定し、これら推定した平均通信量に対して帯域幅を満たすネットワークを前記選択する。
【００１０】
本発明に係るネットワーク選択方法は、複数の端末および複数のネットワーク間の通信フローを中継するとき、端末から受信したパケットから該パケットが属する通信フローの特性を識別するための情報であって且つ少なくとも送信元の通信アプリケーションの特性に基づく情報及び送信元の端末の特性に基づく情報である特徴情報を検出し、前記検出の結果の情報をデータベースに記録し、前記特徴情報に関連する所定条件を満たすネットワークを前記データベースから検索し且つ検索結果の中から前記受信したパケットを送出すべきネットワークを選択し、前記選択したネットワークに前記受信したパケットを送出し、前記受信したパケットが送出されたネットワークの情報を前記データベースに記録し、前記ネットワークを前記選択する際は、前記データベース及び前記通信フローの特徴情報を比較し、前記通信フローの特徴情報に含まれる接続先と同一の接続先についてのエントリが前記データベースに含まれている場合には該エントリに紐付けられている平均通信量を該通信フローの平均通信量と推定し、同一の接続先についてのエントリが前記データベースに含まれていない場合には、該通信フローの特徴情報に含まれる接続先以外の情報が一致するエントリに紐付けられている平均通信量を該通信フローの平均通信量と推定し、これら推定した平均通信量に対して帯域幅を満たすネットワークを前記選択するという方法である。
【発明の効果】
【００１１】
本発明によれば、通信アプリケーションを実行する端末に、その通信フローを伝搬させるネットワークを選択する機能を持たせることは不要となる。これにより、端末のソフトウェアの改変は不要となり、また、端末の処理負荷を軽減することができる。さらにまた、たとえ端末が複数のアプリケーションの実行により複数のネットワークを並列的に使用する場合であっても、各アプリケーションの通信フローに適したネットワークを選択することができる。
【発明を実施するための最良の形態】
【００１２】
［実施例１］
図１に、本発明の実施例１における通信装置10の構成を示す。通信装置10は、それぞれで通信アプリケーション21を実行する複数の端末装置20と、複数のネットワーク30との間の通信フローを中継する装置である。
【００１３】
端末装置20は、任意の通信端末であり、通信装置10と有線または無線により接続される。また、端末装置20は、通信アプリケーション21の実行により、ネットワーク30に接続されているサーバ装置（図示略）が提供する通信サービスを利用する。通信アプリケーション21の例としては、Webブラウザ、メールクライアント、ファイル転送プログラム、VoIP（Voice over IP）通信アプリケーション、動画や音声のストリーミング再生アプリケーション、オンラインゲームなどが考えられる。
【００１４】
ネットワーク30は、端末装置20が通信アプリケーション21を実行する際に使用する通信経路を提供するものであり、具体的には、有線LAN、無線LAN、公衆電話網、携帯電話網、PHS（Personal Handy-phone System）網などである。
【００１５】
通信装置10は、図１に示すように、通信手段11、フロー識別手段12、記録手段13、フロー特性データベース14、ネットワーク特性データベース15、及び、ネットワーク選択手段16を備える。
【００１６】
通信手段11は、端末装置20及びネットワーク30間の接続を担う。接続に使用するプロトコルは、主としてTCP/IPであるが、VPN（Virtual Private Network）による仮想的なネットワーク接続であってもよい。フロー識別手段12は、端末装置20から受信したパケットから、そのパケットが属する通信フローの特性を識別するための特徴情報を検出する。記録手段13は、フロー識別手段12の検出結果、及び、端末装置20からのパケットを送出したネットワーク30の情報などをフロー特性データベース14へ記録する。ネットワーク特性データベース15には、各ネットワーク30の通信帯域幅や通信料などの情報が保存されている。
【００１７】
ネットワーク選択手段16は、端末装置20からのパケットを送出すべきネットワーク30を選択する。ネットワーク30の選択にあたり、ネットワーク選択手段16は、パケットの特徴情報に基づく所定条件を満たすネットワーク30をネットワーク特性データベース15から検索し、その検索結果の中から最適なネットワーク30を選定する。
【００１８】
図２に、フロー特性データベース14が保持する情報の例を示す。フロー特性データベース14には、各通信フローの特性を表す情報が記録される。通信フローは、通信アプリケーション21およびそれを実行する端末装置20により特性が異なる。図示の例では、発信元ホスト及び接続先ホストの情報と、プロトコル種別と、平均通信量と、最新の通信時刻を示すタイムスタンプと、使用したネットワーク30の種別とが記録されている。記録手段13は、フロー識別手段12の検出結果やネットワーク選択手段16の選択結果を基にフロー特性データベース14の情報を学習して更新する。
【００１９】
図３に、ネットワーク特性データベース15が保持する情報の例を示す。ネットワーク特性データベース15には、ネットワーク30の既定の通信特性に関する情報が保存されている。図示の例では、ネットワーク30の種別、最大帯域幅、セキュリティのレベル、及び、課金体系が設定されている。
【００２０】
図４に示すフローチャートを参照して、フロー識別手段12の動作を説明する。フロー識別手段12は、通信手段11が端末装置20からのパケットを受信すると、その発信元のアドレスや、プロトコル種別を識別するためのポート番号といった特徴情報を検出する（ステップS1）。フロー識別手段12は、検出した発信元アドレスやポート番号から、そのパケットが属する通信フローの特性を識別できる場合（ステップS2：Yes）、その通信フローの特性を出力する（ステップS5）。
【００２１】
一方、アドレス及びポート番号では通信フローの特性を識別できないと判断した場合（ステップS2：No）、そのパケットが、先に受信したパケットと同一フローのものか否かを判定する（ステップS3）。具体的には、例えば、セッションの終了を示すパケットを受信してから所定時間内に新たなセッションの開始を示すパケットを受信した場合、後者の通信フローは、前者と同一の通信フローに属するものと判定する。この場合、フロー識別手段12は、前回の識別内容と同一である旨を出力する（ステップS5）。なお、同一フローのパケットの受信間隔は、フロー特性データベース14のタイムスタンプから判断することができる。
【００２２】
また、プロトコルがHTTPの場合には、画像ファイルの取得やリンク先からのファイルの取得といった、同一あるいは類似した条件で連続したリクエストが発生する傾向にある。よって、このような傾向を利用して、一連のパケットが同一のフローに属するものか否かを判断してもよい。
【００２３】
フロー識別手段12は、発信元アドレスやポート番号でフロー特性を識別できず、且つ、今回のパケットが前回と同一の通信フローに属さない場合（ステップS3：No）、そのパケット内に、特徴情報となり得る他の情報が記述されているか否かを判定する（ステップS4）。
【００２４】
上記判断は、例えば、通信フローのプロトコルがHTTPの場合に適用される。HTTPの場合、通信装置10は透過型プロキシとして動作するが、例えば、同一の端末装置20が異なる通信アプリケーション21を実行しているという状況については、発信元アドレスやポート番号からは認識することができない。そこで、フロー識別手段12は、受信したHTTPリクエストのヘッダにあるUser-Agentなどの端末情報を参照して、端末装置20が実行したHTTPの通信アプリケーション21を判断し、通信フローを識別する。また、HTTPリクエストのServerヘッダを参照して、それが特定のサーバのレスポンスかどうかを判別する、あるいは、リクエストのボディに特定の記述があるかどうかを判別することで、通信フローを識別してもよい。
【００２５】
フロー識別手段12は、上記のUser-Agentのような情報が得られた場合（ステップS4：Yes）、その情報を基に判断した通信フローの特性を出力する（ステップS5）。また、上記のような情報が得られない場合は（ステップS4：No）、通信フローの特性を識別することができない旨を出力する（ステップS6）。
【００２６】
図５に示すフローチャートを参照して、ネットワーク選択手段16の動作を説明する。ネットワーク選択手段16は、通信フローに関しフロー識別手段12が出力した情報に基づいて、今回受信したパケットを送出すべきネットワーク30を選択する。ここでは、選択の条件として、通信のセキュリティが保障されており、且つ、より低料金のネットワーク30を選ぶケースを説明する。
【００２７】
ネットワーク選択手段16は、フロー識別手段12により通信フローの特性が識別された場合（ステップS11：Yes）、フロー特性データベース14（図２）の情報を用いてネットワーク特性データベース15（図３）から最適なネットワーク30を選択する（ステップS12）。一例として、端末装置20の通信アプリケーション21が「streaming.media.com」に対して「RTSP」で通信を行うことを想定すると、ネットワーク選択手段16は、まず、図２の情報から、この通信フローの平均通信量が「1024kbps」であると推定する。
【００２８】
なお、対象の接続先に関するエントリがフロー特性データベース14に存在しない場合は、条件に最も近いものを選ぶ。例えば、「端末Ａ」が「HTTPS」により「www.example.com」に接続しようとしている場合、図２に示す例では、接続先に「www.example.com」は存在しない。この場合、ネットワーク選択手段16は、今回の発信元「端末Ａ」及びプロトコル「HTTPS」の組み合わせを持つエントリを検索する。その結果、接続先「www.yahoo.com」のエントリがヒットし、平均通信量は「32kbps」と推定される。
【００２９】
次に、ネットワーク選択手段16は、推測した平均通信量をキーとして、今回の条件を満たすネットワークをネットワーク特性データベース15から選択する。一例として、フロー特性データベース14により平均通信量が「1024kbps」と推定されたケースを想定する。
【００３０】
上記ケースにおいて、図３のネットワーク特性データベース15を参照すると、平均通信量「1024kbps」に対しては「無線スポット」及び「イントラネット」が帯域幅を満たす。また、そのうち「イントラネット」のほうが低料金である。さらに、セキュリティの保障に関し、「無線スポット」のセキュリティは「低」であり、「イントラネット」は「高」である。ネットワーク選択手段16は、セキュリティが保障されており、且つ、より低料金のネットワーク30を選ぶという前述の条件に鑑みて、最終的に「イントラネット」を選択する。
【００３１】
ネットワーク選択手段16は、上記のようにしてネットワーク30を決定すると（ステップS13）、決定したネットワーク30の情報を通信手段11へ通知する（ステップS14）。また、今回の受信パケットが、前回の受信パケットと同一の通信フローに属するとフロー識別手段12に判定されていた場合、前回のパケットに適用したネットワークと同一のものを通知する。
【００３２】
一方、今回受信したパケットについて、その通信フローの特性がフロー識別手段12により識別されなかった場合は（ステップS11：No）、予め設定された標準のネットワークを通信手段11へ通知する（ステップS15）。
【００３３】
通信手段11は、ネットワーク選択手段16から通知されたネットワーク30へ、今回の受信パケットを送出する。記録手段13は、パケットが送出されたネットワーク30の情報や、通信時刻のタイムスタンプをネットワーク特性データベース15へ記録する。
【００３４】
なお、ネットワーク選択手段16から通信手段11へ通知するネットワークは、上記手順のように１つに絞ることに替えて、順位付けした複数のネットワーク候補を通知するようにしてもよい。具体的には、上記事例において、最も条件にあう「イントラネット」を第１候補とし、「無線スポット」を第２候補とする。これにより、パケット送信時に第１候補に障害が発生しても、第２候補に切り替えるよう制御することができる。
【００３５】
また、通信アプリケーション21によっては、セキュリティ保障が必須となる場合もあるので、上記の「無線スポット」のような安全性の低いプロトコルを使用するネットワークは、候補に挙げないよう予め設定してもよい。ここで、安全性の低いプロトコルとは、例えば、POP（Post Office Protocol）、SMTP、telnetのように、パスワードや機密情報を暗号化しないプロトコルを指す。
【００３６】
次に、記録手段13の動作について説明する。記録手段13は、受信パケットの通信フローに関しフロー識別手段12が出力した内容、及び、ネットワーク選択手段16の選択結果を解析して統計をとり、それを用いてフロー特性データベース14の情報を更新する。例えば、端末装置20が今回「download.media.com」に対し「2048kbps」の通信を行ったとすると、この履歴をフロー特性データベース14に記録する。これにより、このフローが要求する帯域が記録される。また、ネットワーク30への接続時にフロー特性データベース14のタイムスタンプを更新し、一連のパケットが同一の通信フローに属するか否かに関する判断を可能にする。
【００３７】
本実施例によれば、端末装置20による通信アプリケーション21の実行により発生する通信フローごとに、最適なネットワークを選択することができる。また、ネットワークを選択を端末装置20およびネットワーク30間の通信装置10が行うことから、端末装置20の処理負荷を軽減することができ、さらに、端末装置20におけるソフトウェアの改変が不要となる。
【００３８】
図１に示すようなシステムにおいて、複数の端末装置20から同一の接続先に対し接続が要求されることや、１つの端末装置20により複数の通信セッションを並列的に実行することがある。これらの場合、通信装置10は、ネットワーク30の選択を通信セッション毎に個別に行う。例えば、Webブラウザが複数のサーバに対して並列的にアクセスする場合、通信装置10は、セッション毎にネットワークの判定処理および学習処理を行う。
【００３９】
FTPやVoIPのように、制御用とデータ用とで異なるポートを使用するプロトコルの場合、ポートごとに異なる条件を設定してもよい。例えば、制御用のパケットは、定額制であり且つ通信エリアが広いPHSを利用するようにし、データ用のパケットには、そのとき利用可能な最も高速なネットワークを選択する。これにより、待ち受け時は定額課金で待ち受けし、通信が発生するときだけ従量課金のネットワークを使用するので、通信料を抑えることができる。
【００４０】
また、制御用パケットの通信内容を解析して、これから実行されるデータ用パケットのフロー種別を予測することで、制御用パケットとデータ用パケットとを別個の経路へ流すように制御してもよい。
［実施例２］
【００４１】
図６に、本発明の実施例２における通信装置10の構成を示す。本実施例の通信装置10の構成は、前述の実施例１の構成（図１）に候補通知手段17を付加したものと同等である。
【００４２】
候補通知手段17は、ネットワーク選択手段16が検索したネットワークの候補を端末装置20へ通知し、その候補の中からユーザが選択したものを認識する機能を果たす。ネットワークの候補とは、前述の順位付けした複数のネットワーク候補を指す。
【００４３】
図７に示すフローチャートを参照して、本実施例のネットワーク選択手段16の動作を説明する。フロー識別手段12にて通信フローが識別できない場合は（ステップS21：Yes）、前述の実施例と同様に、予め設定された標準のネットワークを通信手段11へ通知する（ステップS25）。
【００４４】
一方、通信フローの識別が可能である場合（ステップS21：Yes）、ネットワーク選択手段16は、前述の実施例と同様にして、フロー特性データベース14及びネットワーク特性データベース15を用いてネットワークを検索する。そして、検索の結果から得られた候補を候補通知手段17へ出力する（ステップS22）。前述の例を用いると、第１候補の「イントラネット」と、第２候補の「無線スポット」とを出力する。
【００４５】
候補通知手段17は、ネットワークの候補を通信手段11により端末装置20へ通知し、その後、端末装置20にて指定された候補を受け取ってネットワーク選択手段16へ出力する。
【００４６】
ネットワーク選択手段16は、端末装置20から指定されたネットワーク候補を認識すると（ステップS23）、それを通信手段11へ通知する（ステップS24）。通信手段11は、指定されたネットワーク30に対しパケットを送出する。
【００４７】
本実施例によれば、ネットワーク選択手段16が検索した候補の中から、ユーザの要求に即したネットワークを選択するよう制御することができる。これにより、通信アプリケーション21の実行に使用するネットワークについて、ユーザに選択の機会を与えることができるので、ユーザの利便性が高められる。
【００４８】
図８に、本実施例の記録手段13がフロー特性データベース14の情報を修正する様子を示す。図示の例は、接続先「端末Ａ」の通信アプリケーション21が「HTTPS」を用いて「www.yahoo.com」に接続する際のネットワークとして、それまでの同種のフローで使用されていた「イントラネット」に替えて、ユーザから「セルラ」が指定された場合の記録である。また、その通信のタイムスタンプが「20:00:59」に更新されている。
［実施例３］
【００４９】
図９に、本発明の実施例３における通信装置10の構成を示す。本実施例の通信装置10の構成は、前述の実施例１の構成（図１）にアドレス変換手段18を付加したものと同等である。アドレス変換手段18は、端末装置20で使用されるIPアドレスやポート番号を、ネットワーク30側で使用されるIPアドレスやポート番号へ書き換える機能を果たす。なお、本実施例は、候補通知手段17が設けられる前述の実施例２と組み合わせてもよい。
【００５０】
図１０を参照して、本実施例におけるアドレスの変換処理について説明する。ここでは、４つの端末装置20に、ローカルアドレス「A」,「B」,「C」,「D」が割り当てられているとする。また、通信装置10は、グローバルアドレス「W」,「X」,「Y」,「Z」が割り当てられた４種類のネットワーク30に接続している。ローカルアドレスとは、通信装置10が端末装置20に対し任意に割り当てたアドレスであり、グローバルアドレスは、それぞれのネットワーク30で割り当てられたものである。
【００５１】
図１０より、例えば、ローカルアドレス「A」の端末装置20からグローバルアドレス「Z」のネットワーク30（PHS）へ接続する場合、通信装置10は、端末装置20からの受信パケットにおけるローカルアドレス「A」をグローバルアドレス「Z」に書き換える。また、通信装置10が前述の候補通知手段17も具備し、ユーザからグローバルアドレス「X」（WiMax）のネットワーク30を指定された場合、アドレス変換手段18は、書き換えるグローバルアドレスを「Z」から「X」に変更する。
【００５２】
本実施例によれば、例えば、複数の端末装置20が同時的に複数のネットワーク30に接続する場合でも、パケットの中継をスムーズに行うことができる。また、端末装置20に与えられているローカルアドレスは、フローの識別にも利用することができる。
【００５３】
本発明は、上記実施例のように端末装置20及びネットワーク30間を中継する通信装置10として実施することに限らず、通信装置10の動作に対応したプログラムとして実施してもよい。
【図面の簡単な説明】
【００５４】
【図１】本発明の実施例１における通信装置の構成を示すブロック図である。
【図２】実施例のフロー特性データベースに格納される情報の説明図である。
【図３】実施例のネットワーク特性データベースに格納される情報の説明図である。
【図４】実施例１のフロー識別手段の動作を示すフローチャートである。
【図５】実施例１のネットワーク選択手段の動作を示すフローチャートである。
【図６】本発明の実施例２における通信装置の構成を示すブロック図である。
【図７】実施例２のネットワーク選択手段の動作を示すフローチャートである。
【図８】実施例２の記録手段によるフロー特性データベースの更新に関する説明図である。
【図９】本発明の実施例３における通信装置の構成を示すブロック図である。
【図１０】実施例３におけるアドレス変換に関する説明図である。
【符号の説明】
【００５５】
10  通信装置
11：通信手段、12：フロー識別手段、13：記録手段、14：フロー特性データベース、15：ネットワーク特性データベース、16：ネットワーク選択手段、17：候補通知手段、18：アドレス変換手段
20  端末装置
21  通信アプリケーション
30  ネットワーク
【図１】
0005234391.tif 000002
【図２】
0005234391.tif 000003
【図３】
0005234391.tif 000004
【図４】
0005234391.tif 000005
【図５】
0005234391.tif 000006
【図６】
0005234391.tif 000007
【図７】
0005234391.tif 000008
【図８】
0005234391.tif 000009
【図９】
0005234391.tif 000010
【図１０】
0005234391.tif 000011