(57)【要約】【課題】  静的に作成された接続プロファイルを用意しておくことなく、最適なネットワークを選択してルーティングを実行可能な通信装置を提供する。【解決手段】  通信検出手段１２は通信手段１１による通信の開始を検出すると、ネットワーク選択手段１６を起動する。ネットワーク選択手段１６は通信検出手段１２からのパラメータを基にアプリケーション特性データベース１４を照会し、該当するアプリケーション特性を参照する。ネットワーク選択手段１６はネットワーク特性データベース１５を参照し、最適なネットワークを選択する。通信手段１１はその選択結果を基に最適なネットワークに接続する。通信アプリケーション１７が通信を開始すると、通信検出手段１２はその通信内容を通信内容学習手段１３に通知する。通信内容学習手段１３は通信内容を解析して統計をとり、アプリケーション特性データベース１４の情報を更新する。【選択図】      図１
2007282142.tif 000002
【特許請求の範囲】
【請求項１】
多種多様な通信方法でかつ複数のネットワークに接続可能な通信装置であって、
通信を実施する通信アプリケーションと、前記通信アプリケーションの通信内容に対して最適なネットワークを選択するネットワーク選択手段と、前記通信アプリケーションの特性を記憶するアプリケーション特性データベースと、前記通信アプリケーションの通信内容を学習しかつその学習結果に基づいて前記アプリケーション特性データベースを更新する通信内容学習手段とを有することを特徴とする通信装置。
【請求項２】
前記通信内容を検出する通信検出手段と、前記複数のネットワーク各々の特性を記憶するネットワーク特性データベースを含み、
前記ネットワーク選択手段は、前記通信検出手段で検出された通信内容を基に前記ネットワーク特性データベースを参照して適切なネットワークを選択することを特徴とする請求項１記載の通信装置。
【請求項３】
前記ネットワーク選択手段は、前記通信アプリケーションが必要とする条件を満たすネットワークを前記ネットワーク特性データベースから検索することを特徴とする請求項２記載の通信装置。
【請求項４】
前記ネットワーク選択手段は、前記通信アプリケーションによる通信の料金が最も有利になる条件を満たすネットワークを前記ネットワーク特性データベースから検索することを特徴とする請求項２記載の通信装置。
【請求項５】
前記通信アプリケーションの通信内容を検出する通信検出手段と、前記複数のネットワーク各々の特性を記憶するネットワーク特性データベースとを含み、
前記ネットワーク選択手段は、前記アプリケーション特性データベース及び前記ネットワーク特性データベースを照合して適切なネットワークを選択することを特徴とする請求項１記載の通信装置。
【請求項６】
前記通信内容学習手段は、前記通信アプリケーションの接続先アドレスを学習することを特徴とする請求項１から請求項５のいずれか記載の通信装置。
【請求項７】
前記通信内容学習手段は、前記通信アプリケーションの接続先ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ポート番号及びＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）ポート番号のいずれかを学習することを特徴とする請求項１から請求項５のいずれか記載の通信装置。
【請求項８】
前記通信内容学習手段は、前記通信アプリケーションの通信量及び頻度のいずれかを学習することを特徴とする請求項１から請求項５のいずれか記載の通信装置。
【請求項９】
前記通信内容学習手段は、前記通信アプリケーション使用時の位置を学習することを特徴とする請求項１から請求項５のいずれか記載の通信装置。
【請求項１０】
前記通信内容学習手段の学習内容を訂正するためのユーザインタフェースを含むことを特徴とする請求項１から請求項９のいずれか記載の通信装置。
【請求項１１】
前記ネットワーク選択手段は、前記通信アプリケーションの識別子及び通信内容のいずれかに応じて最適なネットワークを検索するネットワーク検索サーバ装置からの検索結果を基に適切なネットワークを選択することを特徴とする請求項１記載の通信装置。
【請求項１２】
多種多様な通信方法でかつ複数のネットワークに接続可能な通信装置に用いるネットワーク選択方法であって、
前記通信装置が、通信を実施する通信アプリケーションの通信内容に対して最適なネットワークを選択するネットワーク選択処理と、前記通信アプリケーションの通信内容を学習しかつその学習結果に基づいて前記通信アプリケーションの特性を記憶するアプリケーション特性データベースを更新する通信内容学習処理とを実行することを特徴とするネットワーク選択方法。
【請求項１３】
前記通信装置が、前記通信内容を検出する通信検出処理を実行し、
前記ネットワーク選択処理において、前記通信検出処理で検出された通信内容を基に、前記複数のネットワーク各々の特性を記憶するネットワーク特性データベースを参照して適切なネットワークを選択することを特徴とする請求項１２記載のネットワーク選択方法。
【請求項１４】
前記ネットワーク選択処理において、前記通信アプリケーションが必要とする条件を満たすネットワークを前記ネットワーク特性データベースから検索することを特徴とする請求項１３記載のネットワーク選択方法。
【請求項１５】
前記ネットワーク選択処理において、前記通信アプリケーションによる通信の料金が最も有利になる条件を満たすネットワークを前記ネットワーク特性データベースから検索することを特徴とする請求項１３記載のネットワーク選択方法。
【請求項１６】
前記ネットワーク選択処理において、前記アプリケーション特性データベース及び前記ネットワーク特性データベースを照合して適切なネットワークを選択することを特徴とする請求項１３記載のネットワーク選択方法。
【請求項１７】
前記通信内容学習処理において、前記通信アプリケーションの接続先アドレスを学習することを特徴とする請求項１２から請求項１６のいずれか記載のネットワーク選択方法。
【請求項１８】
前記通信内容学習処理において、前記通信アプリケーションの接続先ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ポート番号及びＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）ポート番号のいずれかを学習することを特徴とする請求項１２から請求項１６のいずれか記載のネットワーク選択方法。
【請求項１９】
前記通信内容学習処理において、前記通信アプリケーションの通信量及び頻度のいずれかを学習することを特徴とする請求項１２から請求項１６のいずれか記載のネットワーク選択方法。
【請求項２０】
前記通信内容学習処理において、前記通信アプリケーション使用時の位置を学習することを特徴とすることを特徴とする請求項１２から請求項１６のいずれか記載のネットワーク選択方法。
【請求項２１】
前記通信装置に、前記通信内容学習処理の学習内容を訂正するためのユーザインタフェースを設けたことを特徴とする請求項１２から請求項２０のいずれか記載のネットワーク選択方法。
【請求項２２】
前記ネットワーク選択処理において、前記通信アプリケーションの識別子及び通信内容のいずれかに応じて最適なネットワークを検索するネットワーク検索サーバ装置からの検索結果を基に適切なネットワークを選択することを特徴とする請求項１２記載のネットワーク選択方法。
【請求項２３】
多種多様な通信方法でかつ複数のネットワークに接続可能な通信装置に用いるネットワーク選択方法のプログラムであって、
コンピュータに、通信を実施する通信アプリケーションの通信内容に対して最適なネットワークを選択するネットワーク選択処理と、前記通信アプリケーションの通信内容を学習しかつその学習結果に基づいて前記通信アプリケーションの特性を記憶するアプリケーション特性データベースを更新する通信内容学習処理とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信装置及びそれに用いるネットワーク選択方法並びにそのプログラムに関し、特に通信装置において多種多様な通信方法でかつ複数のネットワークに接続する際のルーティングの制御方法に関する。
【背景技術】
【０００２】
近年、携帯電話網、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）をはじめとする無線ネットワークの普及に伴い、移動端末装置を用いて多種多様なネットワークに接続するというユースケースが増大している。
【０００３】
例えば、通信方式としてセルラ網、無線ＬＡＮ、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）接続、Ｂｌｕｅｔｏｏｔｈ（登録商標）等があり、また接続するネットワークとしてはセルラネットワーク、Ｉｎｔｅｒｎｅｔ、企業内イントラネット、家庭内ＬＡＮ、さらにこれらに対するＶＰＮ（Ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｎｅｔｗｏｒｋ）接続がある。
【０００４】
複数のネットワークにＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を使って同時に接続する場合、端末装置が利用したいネットワークサービス上に到達するための経路が複数存在することになる。通信を行うために、端末装置は経路の決定（ルーティング）を行って、適切なネットワークにパケットが送出されるようにしなければならない。
【０００５】
従来、ルーティングを行う際には、あて先ＩＰアドレス、すなわちサービスを提供するサーバのＩＰアドレスをキーに、端末装置が保持するルーティングテーブル（経路表）を用いて利用する経路を決定している。しかしながら、この方法では、あて先ＩＰアドレスのみによって経路が一意に決まってしまうため、サービスに応じた柔軟な経路選択を行う方法がない。例えば、Ｗｅｂの閲覧と、大容量のファイルダウンロード、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）による音声通話では、通信の特性の違いがあるが、これを考慮してルーティングを行うことはできない。
【０００６】
これを解決するために、あて先ＩＰアドレスのみではなく、ＴＣＰ／ＵＤＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）のポート番号や、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）パラメータを参照してルーティングを切替える方法もあり、これをポリシルーティングという。この方法としては、例えば、端末（ノード）のソースＩＰアドレスをキーに適切なネットワーク（通信事業者）にパケットをルーティングする方法が提案されている（例えば、特許文献１参照）。
【０００７】
しかしながら、この方法は「端末装置毎に」適切なネットワークを選択するものであり、１つの端末内で動作する複数のアプリケーションが別々のネットワークを選択するということは実現できない。さらに、この方法では利用するサービスやアプリケーションの状態に応じて最適な経路を動的に変更するということはできない。このため、例えば、アプリケーションが使用するデータ量が増大したときに、自動的に料金の安い経路に切替えるといったことはできない。
【０００８】
上述したルーティングの方法では、あて先ＩＰアドレスやポート番号、ＱｏＳパラメータ等、すでにＩＰパケットに設定されているパラメータのみを用いてルーティングを実行するため、これ以外のパラメータを用いてサービスに応じたきめ細かいルーティング切替えを行うことはできない。
【０００９】
また、従来のルーティングの制御方法では、アプリケーションやサービスの状態や過去の履歴に応じて動的に経路選択の方法を変更することができない。このため、あるタイミングにおける最適な経路を動的に切替えて使用することができない。
【００１０】
上記の問題を解決するために、従来のルーティングの制御方法としては、通信端末装置に備えかつ同時に実行可能な複数のアプリケーションがネットワークの選択基準を記述した接続プロファイルを任意の個数持ち、その接続プロファイルを判断して適切なネットワークに接続する方法が提案されている（例えば、特許文献２参照）
【００１１】
【特許文献１】特開平１０−１７３７０３号公報
【特許文献２】特開２００６−０５４８４１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述した従来のルーティングの制御方法では、特許文献２に記載の技術の場合、上記の問題点を解決することはできるが、予め必要とする個数だけ、静的に作成された接続プロファイルを用意しておかなければならない。
【００１３】
そこで、本発明の目的は上記の問題点を解消し、静的に作成された接続プロファイルを用意しておくことなく、最適なネットワークを選択してルーティングを実行することができる通信装置及びそれに用いるネットワーク選択方法並びにそのプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明による通信装置は、多種多様な通信方法でかつ複数のネットワークに接続可能な通信装置であって、
通信を実施する通信アプリケーションと、前記通信アプリケーションの通信内容に対して最適なネットワークを選択するネットワーク選択手段と、前記通信アプリケーションの特性を記憶するアプリケーション特性データベースと、前記通信アプリケーションの通信内容を学習しかつその学習結果に基づいて前記アプリケーション特性データベースを更新する通信内容学習手段とを備えている。
【００１５】
本発明によるネットワーク選択方法は、多種多様な通信方法でかつ複数のネットワークに接続可能な通信装置に用いるネットワーク選択方法であって、
前記通信装置が、通信を実施する通信アプリケーションの通信内容に対して最適なネットワークを選択するネットワーク選択処理と、前記通信アプリケーションの通信内容を学習しかつその学習結果に基づいて前記通信アプリケーションの特性を記憶するアプリケーション特性データベースを更新する通信内容学習処理とを実行している。
【００１６】
本発明によるネットワーク選択方法のプログラムは、多種多様な通信方法でかつ複数のネットワークに接続可能な通信装置に用いるネットワーク選択方法のプログラムであって、
コンピュータに、通信を実施する通信アプリケーションの通信内容に対して最適なネットワークを選択するネットワーク選択処理と、前記通信アプリケーションの通信内容を学習しかつその学習結果に基づいて前記通信アプリケーションの特性を記憶するアプリケーション特性データベースを更新する通信内容学習処理とを実行させている。
【００１７】
すなわち、本発明の通信装置は、使用するアプリケーションやサービスの状態及び過去の動作履歴に応じて経路の決定方法を動的に変更させることで、常に最適なネットワークを自動的に選択することを可能としている。
【００１８】
具体的に説明すると、本発明の通信装置では、通信アプリケーション、通信手段、通信検出手段、通信内容学習手段、ネットワーク選択手段、アプリケーション特性データベース、ネットワーク特性データベースを有している。
【００１９】
通信アプリケーションは、通信手段を用いてネットワークに接続してサービスを受ける。通信検出手段がアプリケーションの通信開始を検出すると、ネットワーク選択手段はアプリケーション特性データベースとネットワーク特性データベースとを照合して、通信アプリケーションの通信条件を満たしかつ通信効率及び通信料金の条件がもっとも有利なネットワークを自動的に判別し、通信手段に通知する。これによって、通信アプリケーションにとって最適なネットワークと接続経路とを選択することが可能となる。
【００２０】
また、通信検出手段が検出した通信内容は、通信内容学習手段に送られ学習が行われる。この時、学習する内容としては、アプリケーションの種別、接続先アドレス、ポート番号、通信データ量、通信頻度、使用したネットワーク、通信料金、時刻等がある。学習結果は、アプリケーション特性データベースに記憶しておく。これによって、アプリケーション特性データベースを常に最新状態に保つことが可能となる。
【発明の効果】
【００２１】
本発明は、上記のような構成及び動作とすることで、静的に作成された接続プロファイルを用意しておくことなく、最適なネットワークを選択してルーティングを実行することができるという効果が得られる。
【発明を実施するための最良の形態】
【００２２】
次に、本発明の実施例について図面を参照して説明する。
【実施例１】
【００２３】
図１は本発明の第１の実施例による通信端末装置の構成を示すブロック図である。図１において、通信端末装置１は１個以上のネットワーク１００に同時あるいは切替えて接続してネットワークサービスを受けることができる通信装置であり、通信手段１１と、通信検出手段１２と、通信内容学習手段１３と、アプリケーション特性データベース１４と、ネットワーク特性データベース１５と、ネットワーク選択手段１６と、通信アプリケーション１７とから構成されている。
【００２４】
ネットワーク１００の種類としては、インタネット、イントラネット、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）スポット、家庭内ＬＡＮ、店舗内ＬＡＮ等、さまざまなネットワークが想定される。
【００２５】
通信端末装置１は通信手段１１を使用してネットワーク１００に接続する。その際、接続を行うための手段としては、例えば有線ＬＡＮ、無線ＬＡＮ、公衆電話網、携帯電話網、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍ）、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、シリアル通信等が想定される。通信に使用するプロトコルはＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）である。
【００２６】
また、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）を使って仮想的なネットワーク接続を行うこともあるが、これもネットワーク１００の一種としてみなせる。
【００２７】
通信端末装置１がネットワークサービスを受ける時には、通信アプリケーション１７を使用する。通信アプリケーション１７は通信手段１１を使用してネットワーク１００に接続し、サービスを受ける。通信アプリケーション１７の例としては、Ｗｅｂブラウザ、メールクライアント、ファイル転送プログラム、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）通信アプリケーション、動画や音声のストリーミング再生アプリケーション、オンラインゲーム等、さまざまなものが考えられる。
【００２８】
アプリケーション特性データベース１４は通信アプリケーション１７の特性を格納するデータベースである。この中には、アプリケーションの識別子（アプリケーションプログラム名等）、通信先ホスト名／ＩＰアドレス、接続先ＴＣＰ／ＵＤＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）のポート番号、通信頻度、通信データ量、使用したネットワーク、通信料金、時刻等を格納する。
【００２９】
図２は図１のアプリケーション特性データベース１４の構成例を示す図である。図２において、アプリケーション特性データベース１４には、アプリケーション（「Ｗｅｂブラウザ」，「音声通話」，「メディアプレイヤー」）、接続先（「ｗｗｗ．ａａａａａ．ｃｏｍ」，「ｉｎｔｒａｎｅｔ．ｆｏｏ．ｃｏｍ」，「ｓｉｐ．ｉｎｔｒａｎｅｔ．ｆｏｏ．ｃｏｍ」，「ｓｔｒｅａｍｉｎｇ．ｍｅｄｉａ．ｃｏｍ」）、プロトコル（「ＨＴＴＰＳ［ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）  ｏｖｅｒ  ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）］」，「ＨＴＴＰ」，「ＲＴＰ（Ｒｅａｌ  Ｔｉｍｅ  ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）」，「ＲＴＳＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ）」）、平均通信量（「３２ｋｂｐｓ」，「６４ｋｂｐｓ」，「１２８ｋｂｐｓ」，「１０２４ｋｂｐｓ」）、ネットワーク（「セルラＢ」，「イントラネット」，「無線スポットＡ」）が記憶されている。
【００３０】
このように、本実施例では、図２に示すように、アプリケーション、接続先ホスト、通信プロトコル、平均通信量、使用するネットワークを学習し、アプリケーション特性データベース１４に記憶するものとする。
【００３１】
アプリケーション特性データベース１４は、事前にデータを設定しておく方法と、自動的に学習する方法とがある。事前にデータを設定しておく方法としては、手動でデータを設定しておいたり、アプリケーションをインストールする際にアプリケーションが自動的に設定したり、そのほかの設定アプリケーションを使用して自動的に設定することができる。
【００３２】
自動的に学習する場合には、通信内容学習手段１３を使ってデータを自動的に設定あるいは更新する。通信内容学習手段１３は、通信アプリケーション１７が通信を行う際にその通信内容を学習し、学習結果をアプリケーション特性データベース１４に保存するものである。
【００３３】
通信アプリケーション１７が起動して通信を開始すると、通信検出手段１２は通信の開始を検出してネットワーク選択手段１６に送る。ネットワーク選択手段１６はアプリケーション特性データベース１４とネットワーク特性データベース１５とを参照し、最適なネットワークを判定する。
【００３４】
図３は図１のネットワーク特性データベース１５の構成例を示す図である。図３において、ネットワーク特性データベース１５は、ネットワーク（「無線スポットＡ」，「イントラネット」，「セルラＢ」）、最大帯域幅（「３Ｍｂｐｓ」，「１００Ｍｂｐｓ」，「１２８ｋｂｐｓ」）、セキュリティ（「×」，「○」）、料金（「３円／分」，「０円／分」，「３０円／分」）を記憶している。
【００３５】
ネットワーク選択手段１６はこれらデータベースに記憶された情報を使って最適なネットワークを選別する。この時の判断基準としては、さまざまな方法が考えられる。本実施例では、アプリケーションの通信の要求に耐えられるだけの帯域幅と安全性とを持ち、かつ料金が最も安価なものを選ぶものとする。
【００３６】
ネットワーク選択手段１６は最適なネットワークを判断すると、そのネットワークを通信手段１１に通知する。通信手段１１はネットワーク選択手段１６からの情報を基に通信経路を決定し、その決定に基づいて通信アプリケーション１７からの通信データを送出する。
【００３７】
図４及び図５は図１の通信端末装置１の動作を示すフローチャートである。これら図１〜図５を参照して本発明の第１の実施例による通信端末装置１の動作について説明する。尚、図４及び図５に示す処理は通信端末装置１の図示せぬＣＰＵ（中央処理装置）がプログラムを実行することでも実現可能である。
【００３８】
ユーザがサービスを利用する場合、最初に通信アプリケーション１７を起動する。通信アプリケーション１７は通信手段１１を使用してネットワークサービスに接続しようとする（図４ステップＳ１，Ｓ２）。
【００３９】
通信手段１１が通信を開始しようとすると（図４ステップＳ３）、通信検出手段１２がこれを検出し、ネットワーク選択手段１６を起動する（図４ステップＳ４）。この時、通信検出手段１２はパラメータとして、通信アプリケーション１７の識別子（名称）と、通信しようとしているプロトコルの詳細（例えば、通信先のホスト名やポート番号等）をネットワーク選択手段１６に引き渡す。
【００４０】
ネットワーク選択手段１６は通信検出手段１２からのパラメータを基にアプリケーション特性データベース１４を照会し、該当するアプリケーション特性を参照する（図４ステップＳ５）。ここで、仮に通信アプリケーション１７がメディアプレイヤーを起動し、「ｓｔｒｅａｍｉｎｇ．ｍｅｄｉａ．ｃｏｍ」に対してＲＴＳＰ通信プロトコルで通信を行おうとしていると、図２に示されるアプリケーションの特性から、この通信は平均「１０２４ｋｂｐｓ」の通信を行うことがわかる。
【００４１】
ネットワーク選択手段１６はアプリケーション特性データベース１４に一致する項目がない場合（図４ステップＳ６）、もっとも近いものを選ぶ（図４ステップＳ７）。例えば、「Ｗｅｂブラウザ」が「ＨＴＴＰＳ」で「ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ」に接続しようとしている場合には、アプリケーションとプロトコルとの２つが一致しているエントリを見て、通信量が「３２ｋｂｐｓ」、接続ネットワークとして「セルラＢ」と推定する。
【００４２】
ネットワーク選択手段１６はネットワーク特性データベース１５を参照し、最適なネットワークを選択する（図４ステップＳ８）。例として、図２を参照すると、「無線スポットＡ」と「イントラネット」とは帯域幅の要件を満たしているが、「セルラＢ」は満たしていない。また、セキュリティ／料金ともに、「イントラネット」が有利であることがわかるので、第１候補として「イントラネット」、第２候補として「無線スポットＡ」が選択される。
【００４３】
通信しようとしているプロトコルが安全でないプロトコルの場合には、ネットワークの安全性が確保されている「イントラネット」を選択し、「無線スポットＡ」は選択しない。ここで、安全でないプロトコルとは、ＰＯＰ（Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌ）やＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ｔｅｌｎｅｔ等、パスワードや機密情報が暗号化されずにネットワークに流れてしまうようなプロトコルを指す。
【００４４】
ネットワーク選択手段１６はこの選択結果を通信手段１１に通知し（図４ステップＳ９）、通信手段１１はその選択結果を基に最適なネットワークに接続する（図５ステップＳ１０）。
【００４５】
通信アプリケーション１７が通信を開始したら（図５ステップＳ１１）、通信検出手段１２はその通信内容を通信内容学習手段１３に通知する（図５ステップＳ１２）。通信内容学習手段１３は通信検出手段１２から通知される通信内容を解析して統計をとり、アプリケーション特性データベース１４の情報を更新する（図５ステップＳ１３）。例えば、通信アプリケーション１７が、今回、「ｄｏｗｎｌｏａｄ．ｍｅｄｉａ．ｃｏｍ」から「２０４８ｋｂｐｓ」の通信を行ったとすると、通信内容学習手段１３はこの履歴をアプリケーション特性データベース１４に記録する。
【００４６】
上述した動作によって、通信端末装置１は通信アプリケーション１７の過去の履歴に応じて最適なネットワークに自動的に接続することが可能となる。尚、通信アプリケーション１７は複数の通信セッションを同時に実行することがある。上記の動作は、それぞれの通信セッション毎に個別に行うものとする。例えば、「Ｗｅｂブラウザ」が複数のサーバ（図示せず）に対して別々の通信を同時に行う場合には、それぞれのセッション毎にネットワークの判定処理と学習処理とを行う。
【００４７】
これによって、本実施例では、通信アプリケーション１７が使用するサービス毎に、最適なネットワーク／経路を自動的に選択することができる。これは、ネットワーク選択手段１６が通信アプリケーション１７の通信開始前にアプリケーション特性データベース１４やネットワーク特性データベース１５等のデータベースを照合することで、最適と思われるネットワークを自動的に判定するためである。
【００４８】
また、本実施例では、通信内容学習手段１３が通信アプリケーション１７の通信履歴を学習するので、常にアプリケーション特性データベース１４を最適な状態に保つことができる。尚、上記の処理は自動的に行われるので、ネットワーク選択に関しては通信アプリケーション１７側には何も処理を行う必要がない。このため、どのようなアプリケーションであっても自動的に経路の最適化を行うことができ、アプリケーションを開発するために要するコストを抑えることができる。
【００４９】
このように、本実施例では、プリケーション特性データベース１４とネットワーク特性データベース１５とを照合することによって、アプリケーションの特性にあわせたネットワークを自動的に選択することができるので、静的に作成された接続プロファイルを用意しておくことなく、アプリケーションが使用するサービス毎に、最適なネットワークを選択し、ルーティングを実行することができる。よって、本実施例では、従来の技術で不可能であった、サービス毎に異なるルーティングを実施することが可能となる。
【００５０】
また、本実施例では、アプリケーションが使用するサービス毎に最適なネットワークを選択することができるので、必要な通信帯域の確保、セキュリティやＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）の確保を行いつつ、通信コストの削減を行うことができる。
【００５１】
さらに、本実施例では、アプリケーションを使用するたびに、アプリケーションの通信履歴を学習することで、常にアプリケーションデータベースを更新することができるので、選択するネットワークを動的に最適化することができる。
【００５２】
さらにまた、本実施例では、上記の動作がアプリケーションに関係なく、自動的に行うことができるため、通信アプリケーション１７になんら処理を追加することなく、上記の効果が得られる。これによって、本実施例では、アプリケーションの開発コストを低減することができる。
【実施例２】
【００５３】
図６は本発明の第２の実施例による通信端末装置の構成を示すブロック図である。図６において、本発明の第２の実施例による通信端末装置１ａは、ユーザインタフェース１８を追加した以外は図１に示す本発明の第１の実施例による通信端末装置１と同様の構成となっており、同一構成要素には同一符号を付してある。また、同一構成要素の動作は本発明の第１の実施例と同様である。
【００５４】
ユーザインタフェース１８は、ネットワークの選択を行う際に、ユーザに対して選択可能なネットワークを提示して選択させたり、ユーザがアプリケーションの特性を修正するために使用するための手段である。ユーザインタフェース１８は、情報をユーザに提示するための表示手段としてディスプレイや音声出力機能を持ち、またユーザからの情報を受け付けるためのキーボードやスイッチ、音声入力装置を持つ。
【００５５】
図７及び図８は本発明の第２の実施例による通信端末装置１ａの動作を示すフローチャートである。これら図６〜図８を参照して本発明の第２の実施例による通信端末装置１ａの動作について説明する。尚、図７及び図８に示す処理は通信端末装置１ａの図示せぬＣＰＵがプログラムを実行することでも実現可能である。また、図７及び図８に示す処理において、ステップＳ２１〜Ｓ２８，Ｓ３１〜Ｓ３４の処理は図４及び図５のステップＳ１〜Ｓ８，Ｓ１０〜Ｓ１３の処理と同様であるので、その説明については省略する。
【００５６】
通信アプリケーション１７がネットワークに接続しようとすると、ネットワーク選択手段１６が起動してネットワークの決定処理を行う。その際、ネットワーク選択手段１６はユーザインタフェース１８を使用して接続しようとするネットワークの候補をユーザに提示する（図７ステップＳ２９）。
【００５７】
ユーザは、ネットワークの候補を確認したらどのネットワークを使用するかをユーザインタフェース１８を使って指示する。すると、ネットワーク選択手段１６はユーザインタフェース１８を使って選択されたネットワークをアプリケーション特性データベース１４に記憶するとともに、通信手段１１に通知を行い（図８ステップＳ３０）、最適なネットワークを使って通信を開始する。
【００５８】
このように、本実施例では、ネットワーク選択手段１６の選択したネットワークがユーザの要求にそぐわなかった時に、これを訂正することが可能となる。ネットワーク選択手段１６は、通信アプリケーション１７の過去の通信履歴等から自動的にネットワークを選択しようとするが、ユーザが実際にこれからどのような通信を行いたいと思っているかという判断まですることが不可能なため、１００％完全に最適なネットワークを選択することができる保証はなく、最適ではないネットワークを誤って選択してしまう可能性がある。
【００５９】
本実施例では、このような誤りを訂正する機会をユーザに与えることができる。また、本実施例では、アプリケーション特性データベース１４に記録された過去の通信履歴をユーザインタフェース１８を用いて修正することも可能である。
【実施例３】
【００６０】
図９は本発明の第３の実施例による通信端末装置の構成を示すブロック図である。図９において、本発明の第３の実施例による通信端末装置１ｂは、位置検出手段１９を追加した以外は図１に示す本発明の第１の実施例による通信端末装置１と同様の構成となっており、同一構成要素には同一符号を付してある。また、同一構成要素の動作は本発明の第１の実施例と同様である。
【００６１】
位置検出手段１９は、通信端末装置１ｂの現在の位置情報を取得する手段である。具体的には、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）や、携帯電話網の基地局（図示せず）を利用した位置情報、無線ＬＡＮのアクセスポイント（図示せず）のＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  ＩＤｅｎｔｉｆｉｅｒ）やＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを利用して装置の現在位置を特定するといった方法が考えられる。
【００６２】
図１０は図９のアプリケーション特性データベース１４の構成を示す図である。図１０において、アプリケーション特性データベース１４にはアプリケーション（「Ｗｅｂブラウザ」）、接続先（「ｗｗｗ．ａａａａａ．ｃｏｍ」）、プロトコル（「ＨＴＴＰＳ」）、平均通信量（「３２ｋｂｐｓ」）、ネットワーク（「セルラＢ」，「家庭内ＬＡＮ」）、位置（「ＡＢＣ駅」，「自宅」）が記憶されている。
【００６３】
図１１及び図１２は本発明の第３の実施例による通信端末装置１ｂの動作を示すフローチャートである。これら図９〜図１１を参照して本発明の第３の実施例による通信端末装置１ｂの動作について説明する。尚、図１１及び図１２に示す処理は通信端末装置１ｂの図示せぬＣＰＵがプログラムを実行することでも実現可能である。また、図１１及び図１２に示す処理において、ステップＳ４１〜Ｓ４４，Ｓ４７〜５４の処理は図４及び図５のステップＳ１〜Ｓ４，Ｓ６〜Ｓ１３の処理と同様であるので、その説明については省略する。
【００６４】
通信アプリケーション１７がネットワークに接続しようとすると、ネットワーク選択手段１６が起動してネットワークの決定処理を行う。ネットワーク選択手段１６は位置検出手段１９を使用して装置の現在位置を調べ（図１１ステップＳ４５）、アプリケーション特性データベース１４の照合に使用する（図１１ステップＳ４６）。アプリケーション特性データベース１４には、図１０に示すように、アプリケーションを使用した時の位置情報が記録されており、ネットワーク選択手段１６は現在位置と一致するデータを優先的に照合する。
【００６５】
また、通信内容学習手段１３が通信内容を学習する時には、通信時の通信端末装置１ｂの位置をアプリケーション特性データベース１４に保存しておくようにする。
【００６６】
このように、本実施例では、上記の本発明の第１の実施例の効果に加えて、通信端末装置１ｂの位置に応じたネットワークの選択を行うことが可能となる。例えば、携帯端末を自宅で使う時と職場で使う時とで、異なる学習とネットワーク選択ポリシとを持たせることができ、特定のサービスを受ける時に、自宅では無線ＬＡＮを優先するが、職場では携帯電話網を優先するといった使い方ができる。これによって、本実施例では、ネットワークの選択をより効果的に行うことができる。
【実施例４】
【００６７】
図１３は本発明の第４の実施例による通信端末装置の構成を示すブロック図である。図１３において、本発明の第４の実施例による通信端末装置１ｃは、ネットワーク１００を通してネットワーク検索サーバ２に接続可能とした以外は図１に示す本発明の第１の実施例による通信端末装置１と同様の構成となっており、同一構成要素には同一符号を付してある。また、同一構成要素の動作は本発明の第１の実施例と同様である。
【００６８】
ネットワーク検索サーバ２は、使用したいアプリケーションや通信内容に応じて、最適なネットワークを検索するためのサーバである。ネットワーク検索サーバ２はアプリケーション特性データベース１４と同様のデータベースを内蔵しており、通信端末装置１ｃから送られた情報を基に条件に合致するネットワーク１００を検索することができる。また、ネットワーク検索サーバ２は、通信端末装置１ｃから学習した通信内容を受取り、自身のデータベースを更新することができる。
【００６９】
図１４及び図１５は本発明の第４の実施例による通信端末装置１ｃの動作を示すフローチャートである。これら図１３〜図１５を参照して本発明の第４の実施例による通信端末装置１ｃの動作について説明する。尚、図１４及び図１５に示す処理は通信端末装置１ｃの図示せぬＣＰＵがプログラムを実行することでも実現可能である。また、図１４及び図１５に示す処理において、ステップＳ６１〜Ｓ６４，Ｓ６８〜７１の処理は図４及び図５のステップＳ１〜Ｓ４，Ｓ９〜Ｓ１２の処理と同様であるので、その説明については省略する。
【００７０】
通信アプリケーション１７がネットワークに接続しようとすると、ネットワーク選択手段１６が起動してネットワークの決定処理を開始する。ネットワーク選択手段１６は通信検出手段１２が検出した通信内容をネットワーク検索サーバ３に送る（図１４ステップＳ６５）。ネットワーク検索サーバ３は、受信したデータを基に条件に合致するネットワークを検索し、その検索結果を通信端末装置１に送り返す。ネットワーク選択手段１６は受信したネットワークの一覧から、最適なものを選び出す（図１４ステップＳ６６，Ｓ６７）。
【００７１】
ネットワーク選択手段１６は、アプリケーション特性データベース１４及びネットワーク特性データベース１５を使用しなくてもよいが、ネットワーク検索サーバ３の返す結果と併用して最適なネットワークを絞り込むこともできる。
【００７２】
また、通信内容学習手段１３は通信内容を学習した後、学習結果をネットワーク検索サーバ３に送るとともに（図１５ステップＳ７２）、その学習結果でアプリケーション特性データベース１４を更新する（図１５ステップＳ７３）。ネットワーク検索サーバ３は通信端末装置１から受取った結果を基に、自身のデータベースを更新する。
【００７３】
このように、本実施例では、ネットワーク１００を選択するためのデータベースと検索機能とを装置外部のネットワーク検索サーバ３に持たせることが可能となるので、通信端末装置１ｃにおいて保管すべきデータベースのサイズを削減し、データベースの検索にかかる計算処理を低減することができる。
【００７４】
また、本実施例では、通信端末装置１ｃがまだ学習していないアプリケーションやサービスであっても、ネットワーク検索サーバ３に情報があれば、これを利用することができる。さらに、本実施例では、学習したデータを通信端末装置１ｃがネットワーク検索サーバ３に送って情報を集約することで、他の装置でもその情報を利用することができる。
【００７５】
さらにまた、本実施例では、ネットワークを検索する機能を通信端末装置１ｃの外部に出したことで、この検索機能を装置の利用者以外の第３者が提供することができる。例えば、Ｗｅｂサービスや音声通話サービスといった異なる種類のサービスに対して、高速で料金が最も安くなるネットワークはどれか、といった検索サービスを提供することができるようになる。また、このような検索サービス提供者は、またネットワークの運用事業者から広告収入を得るといったことも可能になり、新しいビジネスモデルを提供することができる。
【産業上の利用可能性】
【００７６】
本発明は、ネットワークに接続する端末装置やその装置上で動作する通信アプリケーションプログラムといった用途に適用することができる。また、このような端末装置に対して、最適なネットワークを提供するサーバ装置といった用途に適用することができる。
【図面の簡単な説明】
【００７７】
【図１】本発明の第１の実施例による通信端末装置の構成を示すブロック図である。
【図２】図１のアプリケーション特性データベースの構成例を示す図である。
【図３】図１のネットワーク特性データベースの構成例を示す図である。
【図４】図１の通信端末装置の動作を示すフローチャートである。
【図５】図１の通信端末装置の動作を示すフローチャートである。
【図６】本発明の第２の実施例による通信端末装置の構成を示すブロック図である。
【図７】本発明の第２の実施例による通信端末装置の動作を示すフローチャートである。
【図８】本発明の第２の実施例による通信端末装置の動作を示すフローチャートである。
【図９】本発明の第３の実施例による通信端末装置の構成を示すブロック図である。
【図１０】図９のアプリケーション特性データベースの構成を示す図である。
【図１１】本発明の第３の実施例による通信端末装置の動作を示すフローチャートである。
【図１２】本発明の第３の実施例による通信端末装置の動作を示すフローチャートである。
【図１３】本発明の第４の実施例による通信端末装置の構成を示すブロック図である。
【図１４】本発明の第４の実施例による通信端末装置の動作を示すフローチャートである。
【図１５】本発明の第４の実施例による通信端末装置の動作を示すフローチャートである。
【符号の説明】
【００７８】
１，１ａ，１ｂ，１ｃ  通信端末装置
２  ネットワーク検索サーバ
１１  通信手段
１２  通信検出手段
１３  通信内容学習手段
１４  アプリケーション特性データベース
１５  ネットワーク特性データベース
１６  ネットワーク選択手段
１７  通信アプリケーション
１８  ユーザインタフェース
１９  位置検出手段
１００  ネットワーク
【図１】
2007282142.tif 000003
【図２】
2007282142.tif 000004
【図３】
2007282142.tif 000005
【図４】
2007282142.tif 000006
【図５】
2007282142.tif 000007
【図６】
2007282142.tif 000008
【図７】
2007282142.tif 000009
【図８】
2007282142.tif 000010
【図９】
2007282142.tif 000011
【図１０】
2007282142.tif 000012
【図１１】
2007282142.tif 000013
【図１２】
2007282142.tif 000014
【図１３】
2007282142.tif 000015
【図１４】
2007282142.tif 000016
【図１５】
2007282142.tif 000017