(57)【要約】【課題】  アプリケーションサーバ装置からネットワーク経由でサービスを提供されるアプリケーション端末装置が、経路の選択を制御できるようにする。【解決手段】  アプリケーション端末装置は、アプリケーションサーバ装置から提供されるサービスのうち指定されたサービスの提供に適した通信の条件を求める条件特定手段と、アプリケーションサーバ装置からアプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を記憶する記憶手段と、求められた条件と記憶された情報とに基づいて複数の経路の中から指定されたサービスの提供に用いられるべき経路を決定し、経路を選択してデータを転送する機能を有する装置により決定された経路が選択されるように指示メッセージを送出する経路指示手段を備える。【選択図】  図１
2008263559.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのアプリケーションサーバ装置から少なくとも一つのサービスが提供されるネットワークに接続することができるアプリケーション端末装置であって、
前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求める条件特定手段と、
前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を記憶する記憶手段と、
前記条件特定手段により求められた条件と前記記憶手段に記憶された情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供に用いられるべき経路を決定し、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置により前記決定された経路が選択されるように指示メッセージを送出する経路指示手段とを備えたことを特徴とするアプリケーション端末装置。
【請求項２】
前記アプリケーションサーバ装置と前記ネットワークとの間に配置され、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する第１のルータ装置から、各経路に関する情報を受け取る情報取得手段をさらに備え、
前記記憶手段に記憶される情報は、前記情報取得手段により受け取られた情報に基づくものであり、
前記経路指示手段は、前記第１のルータ装置に対して、経路の選択を指示するものであることを特徴とする請求項１に記載のアプリケーション端末装置。
【請求項３】
前記ネットワークと前記アプリケーション端末装置との間に配置され、前記複数の経路のうち選択された経路で受信されるデータを前記アプリケーション端末装置へ転送する機能を有する第２のルータ装置から、各経路に関する情報を受け取る情報取得手段をさらに備え、
前記記憶手段に記憶される情報は、前記情報取得手段により受け取られた情報に基づくものであり、
前記経路指示手段は、前記第２のルータ装置に対して、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置へ経路の選択を指示するように依頼するものであることを特徴とする請求項１に記載のアプリケーション端末装置。
【請求項４】
前記アプリケーションサーバ装置と前記ネットワークとの間に配置され、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する第１のルータ装置との通信、及び、前記ネットワークと前記アプリケーション端末装置との間に配置され、前記複数の経路のうち選択された経路で受信されるデータを前記アプリケーション端末装置へ渡す機能を有する第２のルータ装置との通信のそれぞれを実行可能である通信手段をさらに備え、
前記記憶手段に記憶される情報は、前記通信手段によって受け取られる各経路に関する情報に基づくものであり、
前記経路指示手段は、前記通信手段を用いて前記指示メッセージを送出するものであることを特徴とする請求項１に記載のアプリケーション端末装置。
【請求項５】
前記記憶手段は、前記アプリケーション端末装置から前記アプリケーションサーバ装置へ至る複数の逆方向経路の各々により提供可能な通信環境についての情報をも記憶するものであり、
前記条件特定手段により求められた条件と前記記憶手段に記憶された情報とに基づいて前記複数の逆方向経路の中から前記指定されたサービスの提供のために用いられるべき経路を決定し、前記複数の逆方向経路のうち指示された経路を選択して前記アプリケーションサーバ装置へのデータを転送する機能を有する装置に対して、前記決定された経路の選択を指示する逆方向経路指示手段をさらに備えたことを特徴とする請求項１に記載のアプリケーション端末装置。
【請求項６】
前記ネットワークと前記アプリケーションサーバ装置との間に配置され、前記複数の逆方向経路のうち選択された経路で受信されるデータを前記アプリケーションサーバ装置へ渡す機能を有する第１のルータ装置、及び、前記アプリケーション端末装置と前記ネットワークとの間に配置され、前記複数の逆方向経路のうち指示された経路を選択して前記アプリケーションサーバ装置へのデータを転送する機能を有する第２のルータ装置のうち、少なくとも一方から、各逆方向経路に関する情報を受け取る情報取得手段をさらに備え、
前記記憶手段に記憶される情報は、前記情報取得手段により受け取られた情報に基づくものであることを特徴とする請求項５に記載のアプリケーション端末装置。
【請求項７】
前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路のそれぞれにより提供可能な通信環境に関して変化が生じたことに応じて、経路に関する情報を受け取る情報取得手段をさらに備え、
前記記憶手段に記憶された情報は、前記情報取得手段により受け取られた情報に基づいて、変化後の情報に更新されるものであり、
前記経路指示手段は、前記変化後の情報に基づいて、前記指定されたサービスの提供に用いられるべき経路を決定し直し、変化前に選択されていた経路が前記決定し直された経路へ切り換えられるように指示メッセージを送出するものであることを特徴とする請求項１に記載のアプリケーション端末装置。
【請求項８】
前記少なくとも一つのサービスのうち、前記記憶手段に記憶された情報に基づいて、前記条件特定手段により求められる当該サービスの提供に適した通信の条件を満たすと判断される経路が、前記複数の経路の中に存在するサービスを、実行可能サービスとして特定する手段をさらに備え、
前記経路指示手段は、前記実行可能サービスの中から選択されたサービスを、前記指定されたサービスとして、その提供に用いられるべき経路を決定するものであることを特徴とする請求項１に記載のアプリケーション端末装置。
【請求項９】
前記実行可能サービスをユーザに提示する提示手段をさらに備え、
前記経路指示手段は、前記提示手段により提示された実行可能サービスの中からユーザにより選択されたサービスを、前記指定されたサービスとして、その提供に用いられるべき経路を決定するものであることを特徴とする請求項８に記載のアプリケーション端末装置。
【請求項１０】
前記アプリケーションサーバ装置から、前記少なくとも一つのサービスの各々の属性に関する通知を受け取る手段をさらに備え、
前記条件特定手段は、前記通知が示す属性のサービスを提供するために、使用される経路が提供可能であるべき通信環境を、当該サービスの提供に適した通信の条件として求めるものであることを特徴とする請求項１に記載のアプリケーション端末装置。
【請求項１１】
前記条件特定手段には、前記アプリケーションサーバ装置から新たな種類のサービスが提供可能になった場合、該新たな種類のサービスの提供に適した通信の条件を求める機能が追加され、
前記経路指示手段では、前記新たな種類のサービスについても、その提供に用いられるべき経路を、前記記憶手段に記憶された情報に基づいて決定できることを特徴とする請求項１に記載のアプリケーション端末装置。
【請求項１２】
前記条件特定手段は、複数の前記指定されたサービスについて、それぞれ前記通信の条件を求めるものであり、
前記経路指示手段は、複数の前記指定されたサービスについて、それぞれその提供に用いられるべき経路を決定し、前記アプリケーション端末装置へのデータを転送する機能を有する装置が、第１の指定されたサービスのデータについては第１の経路を選択し、第２の指定されたサービスのデータについては第２の経路を選択し、転送を行うようにするものであることを特徴とする請求項１に記載のアプリケーション端末装置。
【請求項１３】
少なくとも一つのアプリケーションサーバ装置から少なくとも一つのアプリケーション端末装置へネットワーク経由で少なくとも一つのサービスが提供されるシステムにおける経路選択方法であって、
前記アプリケーション端末装置において、前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求め、
前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を、前記アプリケーション端末装置へ伝え、
前記アプリケーション端末装置が、前記通信の条件と前記通信環境についての情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供に用いられるべき経路を決定し、
前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置により前記決定された経路が選択されるように、前記アプリケーション端末装置が指示メッセージを送出することを特徴とする経路選択方法。
【請求項１４】
少なくとも一つのアプリケーションサーバ装置から少なくとも一つのアプリケーション端末装置へネットワーク経由で少なくとも一つのサービスが提供されるシステムにおける経路選択のためにインストールされるプログラムであって、
前記アプリケーション端末装置に、前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求めさせ、
前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を、前記アプリケーション端末装置に取得させ、
前記アプリケーション端末装置に、前記通信の条件と前記通信環境についての情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供に用いられるべき経路を決定させ、
前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置により前記決定された経路が選択されるように、前記アプリケーション端末装置に指示メッセージを送出させることを特徴とするプログラム。
【請求項１５】
少なくとも一つのアプリケーションサーバ装置から少なくとも一つのサービスが提供されるネットワークに接続することができるアプリケーション端末装置であって、
前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求める条件特定手段と、
前記アプリケーション端末装置から前記アプリケーションサーバ装置へ至る複数の経路の各々により提供可能な通信環境についての情報を記憶する記憶手段と、
前記条件特定手段により求められた条件と前記記憶手段に記憶された情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供のために用いられるべき経路を決定し、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置に対して、前記決定された経路の選択を指示する経路指示手段とを備えたことを特徴とするアプリケーション端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションサーバ装置からネットワーク経由でサービスを提供されるアプリケーション端末装置に関し、特に、複数の経路から使用する経路を選択できるネットワークに接続可能であり、アプリケーションサーバ装置からのサービス提供に使用される経路を選択するための機能を有するアプリケーション端末装置及びその経路選択方法に関する。
【背景技術】
【０００２】
近年、ユーザネットワークやユーザ端末を、複数のリンク（インタフェース）を介してインターネット等のオープン・ネットワークへ接続すること（一般に「マルチリンク接続」、「マルチホーム接続」等と呼ばれる）により、１つのリンクを通る経路に障害が起きた場合でも残りのリンクを通る経路によりインターネット接続を維持したり、複数の経路に送信データを分散させることで輻輳や遅延、パケット損失を回避して通信品質を高めたりする技術が開発されている（例えば、特許文献１〜２）。
【特許文献１】特開２００３−３３８８４３号
【特許文献２】特開２００５−５７４８７号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述した技術においては、複数の経路をどのように使用してデータを転送するかは、複数の経路の上流側の分岐点にあって複数の経路のうち選択した経路にデータパケットを転送する機能を有するルータが、自身で制御している。なお、本明細書においては、ネットワークに設置されて、データパケットの宛先に応じて特定される次段ノードへ当該データパケットを転送する機能を有する装置であれば、インターネットプロトコル（ＩＰ）に従って動作する装置であるか否かに関わらず、全て、ルータに相当する。また、外部から受信したデータパケットを転送する装置だけでなく、自身の内部のアプリケーション層から渡されたデータパケットを転送する装置も、ここにいうルータに相当する。
【０００４】
ここで、アプリケーションサーバからサービスを提供されるアプリケーション端末（ユーザ端末）では、そのサービスに係るデータが現在転送されている経路の途中で通信品質の劣化や障害が生じた場合は、当該サービスの享受に支障が出るし、そのサービスを要求した時に十分な通信品質を有する経路がなければ、当該サービスは受けられない。しかも、オープン・ネットワークでは特に、通信路の品質劣化や障害、その回復、新たな通信路の出現等が頻繁に起こりがちである。しかし、上述した技術においては、ユーザ端末は、上記のルータで行われる経路の選択に、関与することができず、そもそも、選択可能な経路がどのような状態であるか、知ることもできない。
【０００５】
また、昨今では、ユーザ端末が、光ファイバ等の有線ネットワーク、無線ＬＡＮ、携帯電話ネットワーク等の多種多様な通信網に接続されるようになってきており、このようなユビキタスネットワーク環境によって出現する複数の経路においては、経路（この例では通信網）毎に、提供される通信品質が大きく異なる。そうすると、アプリケーションサーバから提供されるサービスの種類や性質に応じて、適切な通信品質の経路を選択することが、重要になってくる。しかし、上述した技術において経路を選択するルータが、アプリケーションサーバから提供されるサービス毎に、選択する経路を異ならせることは、困難である。
【０００６】
さらに、アプリケーションサーバからのサービスの提供に適した通信の条件（ロス、遅延、ゆらぎ、回線帯域等）は、例えば、アプリケーションが、映像伝送なのか、音声通話なのか、ゲームなのか、家電なのか、金融なのか等によって異なる上に、同じ映像伝送のアプリケーションでも、映像コンテンツの内容によって異なるし、そのコンテンツを視聴するためのユーザ端末が、テレビなのか、パソコンなのか、携帯電話なのか等によっても異なり得る。また、サービスの提供に適した通信の条件は、アプリケーションに依存するサービス毎の属性（例えば、映像伝送であれば、フレームレート、画面サイズ、実効帯域等の、コンテンツの視聴条件）から求めることが望ましい。したがって、仮に、複数の経路の分岐点にあって経路選択をするルータ自身に、多岐に亘るそれぞれのサービスの提供に適した通信の条件を求めさせようとすると、ルータに多大な負荷がかかるばかりか、アプリケーションやサービスが増えたときの拡張性に甚だ乏しい。
【０００７】
そして、ルータにおいて、アプリケーションサーバからのサービス提供に適した通信の条件を満たす経路を選択することができず、ユーザ端末も、経路の選択に関与することができなければ、ユーザは、現在選択されている経路の通信環境で提供できるサービスしか享受することができないか、あるいは、不十分な通信環境の経路でのサービスの享受を強いられることになる。もし、ユーザ端末から指定したサービスに応じて、ルータが選択する経路を変更することができるならば、ユーザは、複数の経路のうちの他の経路の通信環境で提供できるサービスをも享受することができるはずである。
【０００８】
本発明は、以上のような事情を考慮し、アプリケーション端末装置が、複数の経路のうちのいずれの経路を選択すべきかを決定し、複数の経路の分岐点にあるデータ転送装置がアプリケーション端末装置の決定に従って経路の選択を行うことができる機構を実現することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るアプリケーション端末装置は、少なくとも一つのアプリケーションサーバ装置から少なくとも一つのサービスが提供されるネットワークに接続することができるアプリケーション端末装置であって、前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求める条件特定手段と、前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を記憶する記憶手段と、前記条件特定手段により求められた条件と前記記憶手段に記憶された情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供に用いられるべき経路を決定し、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置により前記決定された経路が選択されるように指示メッセージを送出する経路指示手段とを備えたことを特徴とする。
【００１０】
この構成によれば、アプリケーション端末装置が、アプリケーションサーバ装置からの下りの複数の経路のうちのいずれの経路を選択すべきかを決定し、このアプリケーション端末装置の決定に従って、データ転送装置（例えば、後述する第１のルータ装置）が経路の選択を行うようにすることが可能になる。なお、前記記憶手段に記憶される情報は、各経路（下り経路）の通信環境についての静的な情報が予め記憶されているのでもよいし、時々刻々変化する各経路の通信環境を観測した結果である動的な情報がその都度記憶されるのでもよい。サービスの指定は、アプリケーション端末装置が自動で行ってもよいし、ユーザによる入力に基づいて行ってもよい。
【００１１】
本発明に係るアプリケーション端末装置は、前記アプリケーションサーバ装置と前記ネットワークとの間に配置され、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する第１のルータ装置から、各経路に関する情報を受け取る情報取得手段をさらに備えてもよく、前記記憶手段に記憶される情報は、前記情報取得手段により受け取られた情報に基づくものとし、前記経路指示手段は、前記第１のルータ装置に対して、経路の選択を指示するものとしてもよい。この場合、第１のルータ装置（サーバ側ルータ装置）は、各経路（下り経路）に関する情報を、例えば、後述する第２のルータ装置（端末側ルータ装置）とのメッセージ交換を介して収集しており、アプリケーション端末装置は、この情報を共有することができる。そして、第１のルータ装置は、アプリケーション端末装置が決定した経路を選択してデータ転送を行うことができる。
【００１２】
本発明に係るアプリケーション端末装置は、前記ネットワークと前記アプリケーション端末装置との間に配置され、前記複数の経路のうち選択された経路で受信されるデータを前記アプリケーション端末装置へ転送する機能を有する第２のルータ装置から、各経路に関する情報を受け取る情報取得手段をさらに備えてもよく、前記記憶手段に記憶される情報は、前記情報取得手段により受け取られた情報に基づくものとし、前記経路指示手段は、前記第２のルータ装置に対して、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置へ経路の選択を指示するように依頼するものとしてもよい。この場合、第２のルータ装置（端末側ルータ装置）は、各経路（下り経路）に関する情報を、例えば、各経路から受信されるトラフィックの計測を介して収集しており、アプリケーション端末装置は、この情報を共有することができる。そして、第２のルータ装置が、データ転送装置（例えば、第１のルータ装置）に選択すべき経路を指示する機能を備えている場合、アプリケーション装置は、第２のルータ装置を介して、経路選択を制御することもできる。
【００１３】
本発明に係るアプリケーション端末装置は、前記アプリケーションサーバ装置と前記ネットワークとの間に配置され、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する第１のルータ装置との通信、及び、前記ネットワークと前記アプリケーション端末装置との間に配置され、前記複数の経路のうち選択された経路で受信されるデータを前記アプリケーション端末装置へ渡す機能を有する第２のルータ装置との通信のそれぞれを実行可能である通信手段をさらに備えてもよく、前記記憶手段に記憶される情報は、前記通信手段によって受け取られる各経路に関する情報に基づくものとし、前記経路指示手段は、前記通信手段を用いて前記指示メッセージを送出するものとしてもよい。この場合、アプリケーション端末装置は、第１のルータ装置が収集している情報と第２のルータ装置が収集している情報の少なくとも一方について共有することができ、第１のルータ装置に直接、あるいは、第２のルータ装置を介して、選択すべき経路を伝えることができる。
【００１４】
本発明に係るアプリケーション端末装置は、前記記憶手段が、前記アプリケーション端末装置から前記アプリケーションサーバ装置へ至る複数の逆方向経路の各々により提供可能な通信環境についての情報をも記憶してもよく、前記条件特定手段により求められた条件と前記記憶手段に記憶された情報とに基づいて前記複数の逆方向経路の中から前記指定されたサービスの提供のために用いられるべき経路を決定し、前記複数の逆方向経路のうち指示された経路を選択して前記アプリケーションサーバ装置へのデータを転送する機能を有する装置に対して、前記決定された経路の選択を指示する逆方向経路指示手段をさらに備えてもよい。
【００１５】
この構成によれば、アプリケーション端末装置が、アプリケーションサーバ装置への上りの複数の経路のうちのいずれの経路を選択すべきかを決定し、このアプリケーション端末装置の決定に従って、データ転送装置（例えば、第２のルータ装置）が経路の選択を行うようにすることが可能になる。なお、前記記憶手段に記憶される情報は、各経路（上り経路）の通信環境についての静的な情報が予め記憶されているのでもよいし、時々刻々変化する各経路の通信環境を観測した結果である動的な情報がその都度記憶されるのでもよい。
【００１６】
上記のアプリケーション端末装置において、前記ネットワークと前記アプリケーションサーバ装置との間に配置され、前記複数の逆方向経路のうち選択された経路で受信されるデータを前記アプリケーションサーバ装置へ渡す機能を有する第１のルータ装置、及び、前記アプリケーション端末装置と前記ネットワークとの間に配置され、前記複数の逆方向経路のうち指示された経路を選択して前記アプリケーションサーバ装置へのデータを転送する機能を有する第２のルータ装置のうち、少なくとも一方から、各逆方向経路に関する情報を受け取る情報取得手段をさらに備えてもよく、前記記憶手段に記憶される情報は、前記情報取得手段により受け取られた情報に基づくものとしてもよい。この場合、アプリケーション端末装置は、第１のルータ装置と第２のルータ装置の少なくとも一方が収集している各経路（上り経路）に関する情報を共有することができ、第２のルータ装置（端末側ルータ装置）に、決定した経路を選択させることができる。
【００１７】
なお、上述した第１のルータ装置は、アプリケーションサーバ装置に接続される別個の装置でもよいし、アプリケーションサーバ装置内に組み込まれていてもよい。また、上述した第２のルータ装置は、アプリケーション端末装置に接続される別個の装置でもよいし、アプリケーション端末装置内に組み込まれていてもよい。
【００１８】
本発明に係るアプリケーション端末装置は、前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路のそれぞれにより提供可能な通信環境に関して変化が生じたことに応じて、経路に関する情報を受け取る情報取得手段をさらに備えてもよく、前記記憶手段に記憶された情報は、前記情報取得手段により受け取られた情報に基づいて、変化後の情報に更新されるものとし、前記経路指示手段は、前記変化後の情報に基づいて、前記指定されたサービスの提供に用いられるべき経路を決定し直し、変化前に選択されていた経路が前記決定し直された経路へ切り換えられるように指示メッセージを送出するものとしてもよい。これにより、例えば、サービス提供中でも、動的に経路を切り換えて、サービス提供を継続することが可能になる。
【００１９】
本発明に係るアプリケーション端末装置は、前記少なくとも一つのサービスのうち、前記記憶手段に記憶された情報に基づいて、前記条件特定手段により求められる当該サービスの提供に適した通信の条件を満たすと判断される経路が、前記複数の経路の中に存在するサービスを、実行可能サービスとして特定する手段をさらに備えてもよく、前記経路指示手段は、前記実行可能サービスの中から選択されたサービスを、前記指定されたサービスとして、その提供に用いられるべき経路を決定するものとしてもよい。これにより、複数の経路のうち現在選択されていない経路も含めて、実行可能サービスを特定することができ、これらの実行可能サービスの中から、現在選択されている経路では実行できないが現在選択されていない経路によれば実行できるサービスが選択された場合には、アプリケーション端末装置が主導して新たな経路の選択を実現することで、選択されたサービスの提供を受けることが可能になる。つまり、アプリケーション装置自身が、能動的に（他の装置により現在と異なる経路が選択されるまで待つのではなく）、アプリケーションの動作を変える（現在の経路のままでは選択できないサービスを選択できるようにする）ことが可能になる。
【００２０】
上記のアプリケーション端末装置において、前記実行可能サービスをユーザに提示する提示手段（例えば、グラフィックユーザインタフェース）をさらに備えるようにし、前記経路指示手段は、前記提示手段により提示された実行可能サービスの中からユーザにより選択されたサービスを、前記指定されたサービスとして、その提供に用いられるべき経路を決定するものとしてもよい。これにより、ユーザの意思に従って、ネットワークの途中の経路を選択することが可能になる。
【００２１】
本発明に係るアプリケーション端末装置は、前記アプリケーションサーバ装置から、前記少なくとも一つのサービスの各々の属性に関する通知を受け取る手段をさらに備えてもよく、前記条件特定手段は、前記通知が示す属性のサービスを提供するために、使用される経路が提供可能であるべき通信環境を、当該サービスの提供に適した通信の条件として求めるものとしてもよい。これにより、サービスの提供に適した通信の条件を、アプリケーションに依存する各サービスの属性から求めることが可能になり、各サービスの属性を満足するように経路を選択することが可能になる。なお、上記の通信の条件を満たすと判断される経路が２つ以上存在する場合は、例えば、それらの経路の中で、通信環境を表すパラメータのうちどれを優先するかを示す評価基準（これもアプリケーションに依存する各サービスの属性の一つになり得る）に従って、最良と判断される通信環境を有する経路を、サービスの提供に用いられるべき経路として決定してもよいし、２つ以上存在する経路の全部又は任意の一部を、サービスの提供に用いられるべき経路として決定してもよい。
【００２２】
本発明に係るアプリケーション端末装置においては、前記条件特定手段に、前記アプリケーションサーバ装置から新たな種類のサービスが提供可能になった場合、該新たな種類のサービスの提供に適した通信の条件を求める機能が追加されるようにして、前記経路指示手段では、前記新たな種類のサービスについても、その提供に用いられるべき経路を、前記記憶手段に記憶された情報に基づいて決定できるようにすることが可能である。つまり、アプリケーションに依存する各サービスの通信の条件を求める機能は、アプリケーション端末装置毎に持たせるようにし、多種多様なアプリケーション端末装置が、同一のルータ装置の収集した各経路に関する情報を、共通に利用できるようにすることで、多種多様なアプリケーションが登場してきたときの拡張性を、確保しておくことができる。また、アプリケーション端末装置内部でも、前記条件特定手段に、アプリケーション依存の機能を持たせることで、前記経路指示手段としては、各アプリケーションに共通のものを使うことが可能になる。但し、上述した評価基準としてアプリケーション依存のものを用いる場合には、前記経路指示手段も、アプリケーション依存の機能を持つことになる。
【００２３】
本発明に係るアプリケーション端末装置は、前記条件特定手段が、複数の前記指定されたサービスについて、それぞれ前記通信の条件を求めるものであり、前記経路指示手段が、複数の前記指定されたサービスについて、それぞれその提供に用いられるべき経路を決定し、前記アプリケーション端末装置へのデータを転送する機能を有する装置が、第１の指定されたサービスのデータについては第１の経路を選択し、第２の指定されたサービスのデータについては第２の経路を選択し、転送を行うようにするものであってもよい。これにより、例えば、１つのアプリケーション端末装置に対して、同時に２つ以上の経路を用いて、同時に２つ以上のサービスを提供することが可能になる。この場合の２つ以上のサービスは、１つのアプリケーションサーバ装置から提供されてもよいし、同一のデータ転送装置につながる２つ以上のアプリケーションサーバ装置から提供されてもよい。
【００２４】
なお、上述した本発明はいずれも、アプリケーションサーバ装置からのサービス提供に使用される経路を、アプリケーション端末装置によって選択するための方法の発明としても、コンピュータを上記のアプリケーション端末装置として機能させるためのプログラムの発明や、このようなプログラムを記録した記録媒体の発明としても、勿論成立するものである。
【００２５】
例えば、本発明に係る経路選択方法は、少なくとも一つのアプリケーションサーバ装置から少なくとも一つのアプリケーション端末装置へネットワーク経由で少なくとも一つのサービスが提供されるシステムにおける経路選択方法であって、前記アプリケーション端末装置において、前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求め、前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を、前記アプリケーション端末装置へ伝え、前記アプリケーション端末装置が、前記通信の条件と前記通信環境についての情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供に用いられるべき経路を決定し、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置により前記決定された経路が選択されるように、前記アプリケーション端末装置が指示メッセージを送出することを特徴とする。
【００２６】
また、本発明に係るプログラムは、少なくとも一つのアプリケーションサーバ装置から少なくとも一つのアプリケーション端末装置へネットワーク経由で少なくとも一つのサービスが提供されるシステムにおける経路選択のためにインストールされるプログラムであって、前記アプリケーション端末装置に、前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求めさせ、前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を、前記アプリケーション端末装置に取得させ、前記アプリケーション端末装置に、前記通信の条件と前記通信環境についての情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供に用いられるべき経路を決定させ、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置により前記決定された経路が選択されるように、前記アプリケーション端末装置に指示メッセージを送出させることを特徴とする。
【００２７】
なお、本明細書では、アプリケーションサーバ装置からアプリケーション端末装置への下り経路の選択が行われる例を中心に記述するが、サービスの種類によっては、その提供のために満たすべき通信の条件が、上り経路にはあるが下り経路にはない（下り経路はどのような通信環境でも構わない）という例もあり得る。本発明は、そのような例をも範囲内とするものであって、その場合は、例えば、少なくとも一つのアプリケーションサーバ装置から少なくとも一つのサービスが提供されるネットワークに接続することができるアプリケーション端末装置であって、前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求める条件特定手段と、前記アプリケーション端末装置から前記アプリケーションサーバ装置へ至る複数の経路の各々により提供可能な通信環境についての情報を記憶する記憶手段と、前記条件特定手段により求められた条件と前記記憶手段に記憶された情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供のために用いられるべき経路を決定し、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置に対して、前記決定された経路の選択を指示する経路指示手段とを備えたことを特徴とする。
【発明の効果】
【００２８】
以上のとおり、本発明によれば、アプリケーション端末装置が、複数の経路のうちのいずれの経路を選択すべきかを決定し、複数の経路の分岐点にあるデータ転送装置がアプリケーション端末装置の決定に従って経路の選択を行うことができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態について図面を用いて説明する。
【００３０】
本発明の一実施形態に係る通信方式では、ネットワークに複数の経路が存在し、その中からアプリケーションのサービス提供に使用されるべき経路を選択する処理が、アプリケーション端末駆動で行われる。図１は、本通信方式が適用されるシステム構成の一例を示す。図１の例では、アプリケーションサーバ１００からのサービスの提供を受けることのできるアプリケーション端末２００が、端末側ルータ５００を介して、ネットワーク３００に接続されている。ネットワーク３００は、インターネット等のオープンネットワーク、あるいは専用網、ケーブルテレビによる閉域網などの任意のネットワークのいずれか、またはその組み合わせとすることが可能である。
【００３１】
アプリケーションサーバ１００は、サーバ側ルータ４００を介して、ネットワーク３００に接続されているが、サーバ側ルータ４００と端末側ルータ５００との間には、複数の経路Ａ，Ｂ，Ｃが存在している。本例では、これらの経路は、物理的に異なる経路であり、それぞれ異なる物理リンクを通るようになっている。例えば、経路Ａはインターネットサービスプロバイダ（ＩＳＰ）−Ａの通信網を、経路ＢはＩＳＰ−Ｂの通信網を、経路ＣはＩＳＰ−Ｂの通信網を通るものとしてもよいし、他の例では、経路Ａは光ファイバによる有線通信網を、経路Ｂは無線ＬＡＮの通信網を、経路Ｃは携帯電話の通信網を、経路Ｄ（図示せず）はケーブルテレビによるケーブルネットワークを通るもの等としてもよい。これらの例では、サーバ側ルータ４００と端末側ルータ５００のそれぞれが、経路Ａに対応してリンク（インタフェース）Ａを、経路Ｂに対応してリンクＢを、経路Ｃに対応してリンクＣを、（経路Ｄに対してリンクＤを）備える。
【００３２】
なお、サービスが提供されるに際し、アプリケーションサーバ１００からアプリケーション端末２００へ向かう下り経路と、アプリケーション端末２００からアプリケーションサーバ１００へ向かう上り経路の、いずれか又は両方が用いられるが、複数の経路Ａ〜Ｃの一部が下りトラフィックしか通さなかったり、上りトラフィックしか通さなかったりする構成例もあり得る。また、以下に詳述する経路の選択が、下り経路についてのみ行われる例や、上り経路についてのみ行われる例もあり得る。さらに、下りと上りの両方について経路の選択を行う例において、下り経路と上り経路が異なる経路になることもある。
【００３３】
アプリケーション端末２００は、アプリケーションサーバ１００からサービスの提供を受けるために通常備えられているアプリケーションサービス実行部２１０の他に、サービス属性／通信条件変換モジュール２２０と、指示モジュール２３０とを備える。アプリケーション端末２００は、さらに、経路の選択にユーザの意思を反映させるために、指示モジュール２３０の処理結果をユーザに提示したり、ユーザによる入力を指示モジュール２３０に伝えたりするユーザインタフェース（図示せず）を備えてもよい。
【００３４】
アプリケーション端末２００は、また、提供されるサービスに係るデータを端末側ルータ５００から受信してアプリケーションサービス実行部２１０に渡したり、同じく提供されるサービスに係るデータであってアプリケーションサーバ１００へ送信すべきものをアプリケーションサービス実行部２１０から受け取って端末側ルータ５００へ送出したりするデータ送受信部（図示せず）を備えている。
【００３５】
なお、指示モジュール２３０は、端末側ルータの指示ＡＰＩ（アプリケーションプログラミングインターフェース）５３０や、サーバ側ルータの指示ＡＰＩ４３０と、後述するメッセージ交換（情報取得を含む）を行うが、このメッセージも、上記のデータ送受信部を介して送受信することができる。図では、指示モジュール２３０と指示ＡＰＩ４３０，５３０とが、同じ上位層でメッセージ交換をしている（これに対し、ルータ４００，５００におけるデータ転送は、より物理層に近いネットワーク層等で行われる）ことを表すために、矢印がデータ転送の経路とは異なる場所に描かれているが、物理的には、メッセージ交換もデータ転送も、同じネットワークインタフェースを介して行うことができる。つまり、指示モジュール２３０と指示ＡＰＩ４３０，５３０との間のメッセージ交換は、アプリケーション端末２００のデータ送受信部や、ルータ４００，５００のリンクＡ〜Ｃのいずれか（但し、データ転送のために選択された経路とは別の経路が使われることがある）を介して行うことができる。
【００３６】
アプリケーション端末２００のサービス属性／通信条件変換モジュール２２０は、アプリケーションに依存する各サービスの属性から、そのサービスの提供に適した通信条件を求めるものであり、指示モジュール２３０は、求められた通信条件に応じて選択すべき経路を決定し、サーバ側ルータ４００又は端末側ルータ５００に、指示ＡＰＩ４３０，５３０経由で、経路選択指示メッセージを送信するものである。この結果、指示された経路が選択されて、アプリケーションサービス実行部２００で実行されているサービスに係るデータが送受信されるようになり、ユーザは、そのサービスに相応しい通信環境の下で、サービスを享受することができるようになる。
【００３７】
指示モジュール２３０が送出する経路選択指示メッセージは、サーバ側ルータ４００に下り経路の選択を指示し、端末側ルータ５００に上り経路の選択を指示するものである。但し、例えば、端末側ルータ５００が、サーバ側ルータ４００に選択すべき経路を指示する機能を有している場合は、指示モジュール２３０は、サーバ側ルータ４００に下り経路の選択を指示する経路選択指示メッセージに代えて、端末側ルータ５００にサーバ側ルータ４００への経路選択指示を依頼する経路選択指示メッセージを送出してもよい。
【００３８】
パソコン、電話機、家電製品、ゲーム機等々、コンピュータ機能とネットワークインタフェースを備えた装置であれば、どのようなものであってもアプリケーション端末２００になり得る。つまり、例えば、上記の装置に、アプリケーションプログラムをインストールすることにより、アプリケーションサービス実行部２１０を構成することが可能であり、本発明の一実施形態に係るプログラムをインストールすることにより、サービス属性／通信条件変換モジュール２２０と指示モジュール２３０を構成することが可能である。また、同じ装置に、新たにアプリケーションプログラムを追加する際には、追加するアプリケーション用のサービス属性／通信条件変換のための情報（必要であれば、通信条件を満たす経路が複数あった場合に１つに絞るための評価基準を示す情報も）さえ追加すれば、新たなアプリケーションに対しても、端末駆動型の経路選択が可能になる。一方で、だからといって、アプリケーション端末２００が、汎用的な装置である必要はなく、あるアプリケーションに専用の端末であってもよいし、上述したアプリケーション端末２００の機能の一部を専用ハードウェア化して実装してもよい。
【００３９】
一方で、サーバ側ルータ４００，端末側ルータ５００はそれぞれ、ルータとして機能するために通常備えられているデータ転送部４１０，５１０の他に、経路選択モジュール４２０，５２０と、指示ＡＰＩ４３０，５３０とを備える。指示ＡＰＩ４３０，５３０は、ルータの外部から、経路選択指示メッセージを受け取って、ルータ内部の経路選択モジュール４２０，５２０に、受け取った経路選択指示を伝えるために設けられたものであり、例えば、既存のルータ装置に本発明の一実施形態に係るプログラムをインストールすることにより、実装することが可能である。経路選択モジュール４２０，５２０は、マルチリンク（マルチホーム）接続に対応して経路の選択を行う機能を有するルータであれば、備えているものであり、例えば、本発明者らが先に提案した技術を利用する場合、特開２００４−２７４７０２号公報、特開２００４−２７４７０３号公報（以下、本発明者ら公報という）に示されるように実装することが可能である。
【００４０】
指示ＡＰＩ４３０，５３０は、経路選択というネットワーク利用者全体に影響を及ぼし得る動作を、ルータの外部からの指示に従って行うことを許容するものであると考えれば、指示メッセージを送信してきたアプリケーション端末２００もしくは他のルータ（サーバ側ルータにとっての端末側ルータ等）について、認証を行い、経路選択の指示が事前に許可された装置であることが確認された場合にのみ、その指示に従うようにする機能を備えると、より安全である。
【００４１】
経路選択モジュール４２０，５２０は、アプリケーションのサービス毎に、データ転送部４１０，５１０がデータを転送する経路を選択可能なものである。いま、下り経路を選択する場合を例にとると、アプリケーション端末２００が、同時には１つのアプリケーションの１つのサービスしか実行しないものの場合は、経路選択モジュール４２０は、例えば、転送するデータパケットのネットワーク層のアドレス（あるアプリケーション端末と別のアプリケーション端末を区別できる情報）を参照して、そのパケットを投入する経路を選べばよい。
【００４２】
アプリケーション端末２００が同時に複数のサービス（例えば、映像放送アプリケーションのサービスと音声通話アプリケーションのサービス等）を実行可能なものだとすると、経路選択モジュール４２０は、例えば、転送するデータパケットのネットワーク層より上位層になるポートやプロトコルＩＤ等（同一のアプリケーション端末内での複数のサービスを区別できる情報）をも参照して、そのパケットを投入する経路を選べばよい。経路選択モジュール４２０が、このように詳細な情報まで参照してルーティングする場合、例えば、同一のアプリケーションサーバ１００と同一のアプリケーション端末２００との間でも、複数の経路が同時に（一方はあるサービス用に、他方は別のサービス用に）使用可能であることになる。
【００４３】
さて、アプリケーション端末２００の指示モジュール２３０は、サービス属性／通信条件変換モジュールで求められた通信条件に応じて選択すべき経路を決定するが、通信条件に合う経路がどれであるかを調べるために、各経路の通信環境を示す情報を記憶している。この情報は、回線種別や回線帯域、各経路に割り当てられている最大帯域等、静的なものであってもよいが、よりよいサービスの提供のためには、現在の各経路の通信環境を示す動的な情報（ロス、遅延、ゆらぎ、有効帯域等）であることが望まれる。現在各経路の接続が生きているか切断されているかの死活情報も、通信環境の動的な情報になり得る。
【００４４】
後者の場合、指示モジュール２３０は、ネットワーク内の各経路の現在の通信環境に関する情報を、複数の経路の分岐点又は合流点に当たるルータ（サーバ側ルータ４００又は端末側ルータ５００）から、指示ＡＰＩ４３０，５３０を介して、取得する。サーバ側ルータ４００，端末側ルータ５００では、それぞれのデータ転送部４１０，５１０を介して、経路選択モジュール４２０，５２０が、各経路の現在の通信環境に関する情報を収集している。この収集された情報は、指示ＡＰＩ４３０，５３０経由で、指示モジュール２３０へ送られることになる。なお、通信環境のパラメータによって、その観測方法は異なり、データ転送部４１０，５１０でその経路のトラフィックを計測して得られるものもあれば、他のルータや端末とメッセージ交換して得られるものもある。これらの通信環境情報の収集については、本発明者ら公報にも、その一例が示されている。
【００４５】
図１では、サーバ側ルータ４００につながるアプリケーションサーバ１００も、端末側ルータ５００につながるアプリケーション端末２００も、１つずつしか描かれていないが、それぞれが複数存在することも、勿論あり得る。アプリケーションサーバが複数の場合にも、上述したように、１つアプリケーション端末２００内で、同時に複数のサービスが実行可能となることがある。アプリケーションサーバが複数で、各サーバは１つのアプリケーションのサービスを提供する場合には、下り経路を選択するサーバ側ルータ４００の経路選択モジュール４２０は、例えば、転送するデータパケットの宛先のネットワーク層アドレス（アプリケーション端末２００のアドレス）に加えて送信元のネットワーク層アドレス（アプリケーションサーバのアドレス）を参照することでも、そのパケットを投入する経路を選ぶことができる。この場合も、同一のアプリケーション端末２００において、複数の経路が同時に（一方はあるアプリケーションサーバからのサービス用に、他方は別のアプリケーションサーバからのサービス用に）使用可能であることになる。
【００４６】
図２には、本通信方式が適用されるシステム構成の他の例を示す。図２では、図１に関して説明したのと異なり、複数のアプリケーションサーバ１００，１０１が、それぞれ対応するサーバ側ルータ４００，４０１を介して、ネットワーク３００に接続されている。図１と図２では、同じ構成要素に、同じ符号を付している。図２では、端末側ルータ５００とネットワーク３００との間のリンクは、図１と同様にリンクＡ，Ｂ，Ｃであるが、サーバ側ルータ４００との間の経路は、経路１，２，３となり、サーバ側ルータ４０１との間の経路は、経路１１，１２となる。なお、この例で、アプリケーション端末２００が、アプリケーションサーバ１００からのサービスと、アプリケーションサーバ１０１からのサービスを、同時に実行する場合は、経路１〜３から選択された経路と、経路１１〜１２から選択された経路とが、同時に使用されるだけであるから、この場合のルータの経路選択モジュールは、宛先ネットワーク層アドレスを参照すれば、データパケットを投入する経路を選べることになる。
【００４７】
ここで、端末側ルータ５００につながるアプリケーション端末２００が複数ある場合の本通信方式の利用イメージの一例を説明しておく。例えば、社内システムのアプリケーション端末Ｘ、音声通信／電話のアプリケーション端末Ｙ、放送／ＩＰＴＶのアプリケーション端末Ｚが、端末側ルータ５００を介してネットワーク３００に接続されるとする。この場合、各アプリケーション端末にサービスを提供するアプリケーションサーバ１００は、それぞれ別個に設けられた複数のサーバであってもよいし、１つのサーバに統合されていてもよい。
【００４８】
それぞれのアプリケーション端末２００は、それぞれのサービス属性／通信条件変換モジュール２２０と指示モジュール２３０に、例えば、機密性を重視した通信条件への変換テーブルと評価基準（端末Ｘ）、レスポンスを重視した通信条件への変換テーブルと評価基準（端末Ｙ）、解像度を重視した通信条件への変換テーブルと評価基準（端末Ｚ）を記憶している。そして、例えば、端末Ｙの変換モジュール２２０は、指定されたサービス（ある相手先との音声通話）において許容される通話遅延や音声劣化等の属性を、その属性のサービスを実現できる通信環境の情報（通信条件）へ変換して指示モジュール２３０へ渡し、指示モジュール２３０は、渡された通信条件を満たす通信環境の経路を特定し、そのような経路が複数あれば、その中からより遅延の少ない（端末Ｙの評価基準に基づく）経路を１つ決定する。
【００４９】
ここで、一例として、経路Ａが暗号化されている回線、経路Ｂが低遅延の回線、経路Ｃが広帯域の回線であったとすると、端末Ｙの指示モジュール２３０は、経路Ｂを選ぶことになる。そして、端末Ｙの指示モジュール２３０は、サーバ側ルータ４００及び端末側ルータ５００の指示ＡＰＩ４３０，５３０に、経路Ｂ（下り／上りとも）を選択するように指示メッセージを送る。すると、経路選択モジュール４２０が、端末Ｙへのデータパケットを経路Ｂに投入するように、データ転送部４１０を制御し、経路選択モジュール５２０が、端末Ｙから音声通信・電話アプリケーションサーバへのデータパケットを経路Ｂに投入するように、データ転送部５１０を制御する。
【００５０】
一方、端末Ｚの変換モジュール２２０は、指定されたサービス（ある映像コンテンツの視聴）の画面サイズ、フレームレート、実効帯域等の属性を、その属性のサービスを実現できる通信環境の情報（通信条件）へ変換して指示モジュール２３０へ渡し、指示モジュール２３０は、渡された通信条件を満たす通信環境の経路を特定し、そのような経路が複数あれば、その中からより帯域の広い（端末Ｚの評価基準に基づく）経路を１つ決定する。上記の例では、端末Ｙの指示モジュール２３０は、経路Ｃを選ぶことになる。そして、端末Ｙの指示モジュール２３０は、サーバ側ルータ４００の指示ＡＰＩ４３０に、経路Ｃ（下り）を選択するように指示メッセージを送り、経路選択モジュール４２０が、端末Ｚへのデータパケットを経路Ｃに投入するように、データ転送部４１０を制御する。
【００５１】
また、端末Ｘの変換モジュール２２０は、例えば、暗号化がされているという通信条件を指示モジュール２３０へ渡し、指示モジュール２３０は、渡された通信条件を満たす通信環境の経路を特定し、そのような経路が複数あれば、その中から通常のルータが行う経路制御システムによる経路選択アルゴリズムに従って（アプリケーションに依存しない評価基準もあり得る）経路を１つ決定する。上記の例では、端末Ｘの指示モジュール２３０は、経路Ａを選ぶことになる。そして、端末Ｘの指示モジュール２３０は、サーバ側ルータ４００及び端末側ルータ５００の指示ＡＰＩ４３０，５３０に、経路Ａ（下り／上りとも）を選択するように指示メッセージを送る。すると、経路選択モジュール４２０が、端末Ｘへのデータパケットを経路Ａに投入するように、データ転送部４１０を制御し、経路選択モジュール５２０が、端末Ｘから社内システムアプリケーションサーバへのデータパケットを経路Ａに投入するように、データ転送部５１０を制御するする。
【００５２】
サーバ側ルータ４００，端末側ルータ５００は、端末Ｘ〜Ｚが上述した処理を行えるように、各経路の現在の通信環境を表す情報を、指示ＡＰＩ４２０，５２０経由で各端末へ送る。経路選択モジュール４２０，５２０は、指示ＡＰＩ４２０，５２０経由で指示されたとおりに、データ転送部４１０，５１０を制御する。ルータ４００，５００におけるこれらの処理が、各端末でどのようなアプリケーションが実行されているかによって変わることはない。ゆえに、本システムでは、アプリケーションの種類が増えたときに、その新しい種類のアプリケーションを採用する端末だけを更新すればよいため、拡張性に優れるのである。
【００５３】
上記の各端末がサーバ側ルータ４００や端末側ルータ５００へ送る経路選択指示メッセージの内容は、データ転送部４１０，５１０が、受けたデータパケットをどの経路に投入すればよいかを見分けられるものとすればよい。例えば、端末Ｙが音声通信・電話アプリケーションと同時に他のアプリケーションを実行することがなく、対応する音声通話・電話アプリケーションサーバがそのアプリケーション専用である場合は、下り経路の選択を指示するためのサーバ側ルータ４００への経路選択指示メッセージは、［端末Ｙのアドレス、経路Ｂの識別情報］とし、上り経路の選択を指示するための端末側ルータ５００への経路選択指示メッセージは、［音声通話・電話アプリケーションサーバのアドレス、経路Ｂの識別情報］とすることができる。
【００５４】
端末Ｙが音声通信・電話アプリケーション以外のアプリケーションも同時に実行する場合は、下り経路の選択を指示するためのサーバ側ルータ４００への経路選択指示メッセージを、例えば、［端末Ｙのアドレス、音声通信・電話アプリケーションを示すポート又はプロトコルＩＤ、経路Ｂの識別情報］とするか、対応する音声通話・電話アプリケーションサーバがそのアプリケーション専用なら［端末Ｙのアドレス、音声通信・電話アプリケーションサーバのアドレス、経路Ｂの識別情報］とすればよい。また、対応するサーバが音声通信・電話アプリケーション以外のアプリケーションも同時に提供する場合は、上り経路の選択を指示するための端末側ルータ５００への経路選択指示メッセージを、例えば、［音声通話・電話アプリケーションサーバのアドレス、音声通信・電話アプリケーションを示すポート又はプロトコルＩＤ、経路Ｂの識別情報］とすればよい。
【００５５】
なお、上記の利用イメージ例では、サービス属性から通信条件への変換に加えて、通信条件を満たす複数の経路から１つに絞るための評価基準も、アプリケーション依存にできるように、アプリケーション端末２００の指示モジュール２３０に評価基準を持たせているため、１つの経路のみを経路選択指示メッセージに含ませているが、本通信方式は、これに限られるものではない。例えば、通信条件を満たす複数の経路から１つに絞る処理は、ルータ４００，５００の経路選択モジュール４２０，５２０で行なってもよく、その場合は、アプリケーション端末２００の指示モジュール２３０は、通信条件を満たす複数の経路を経路選択指示メッセージに含ませればよい。
【００５６】
以下では、図２の場合を例にとり、アプリケーション端末２００の動作を詳細に説明していく。
【００５７】
図３は、アプリケーション端末２００の指示モジュール２３０が記憶している各経路の通信環境を表す情報の一例を示す。図３（ａ）は、下り経路の通信環境であり、図２のサーバ側ルータ４００からの経路１，２，３及びサーバ側ルータ４０１からの経路１１（図では一般的にＮと記載）の情報（暗号化の有無、ロス、遅延、有効帯域等）が記憶されている。図３（ｂ）は、上り経路の通信環境であり、図２のサーバ側ルータ４００への経路１，３及びサーバ側ルータ４０１への経路１２（図では一般的にＭと記載）の情報（暗号化の有無、ロス、遅延、有効帯域等）が記憶されている。
【００５８】
図３の情報は、サーバ側ルータ４００，４０１及び端末側ルータ５００が収集したものである。例えば、サーバ側ルータ４００が図３（ａ）の下り経路１〜３の情報を記憶しており、サーバ側ルータ４０１が図３（ａ）の下り経路１１〜１２の情報を記憶しており、端末側ルータ５００が図３（ｂ）の上り経路の情報を記憶しており、アプリケーション端末２００の指示モジュール２３０は、これらのルータに記憶された情報を取得する。なお、ネットワーク３００に、ネットワーク内の全ての経路の通信環境を収集し、まとめて記憶するようなセンタが設置されている場合には、アプリケーション端末２００の指示モジュール２３０は、そのセンタから図３の情報を取得してもよい。
【００５９】
図３の情報は、アプリケーション端末２００の指示モジュール２３０が、サーバ側ルータ４００，４０１及び端末側ルータ５００（もしくはセンタ）に対して情報要求を送信し、この要求に応えて送られてくる情報を受信することにより取得してもよいし、これらのルータ（もしくはセンタ）から、定期的に送られてくる情報を取得してもよい。対応するルータ（もしくはセンタ）から通信環境が変化したときに通知を受けて、この通知に応えて情報を要求することにより、変化した情報を取得してもよい。
【００６０】
図４は、サーバ側ルータ４００の経路選択モジュール４２０が下り経路の選択のために、あるいは、端末側ルータ５００の経路選択モジュール５２０が上り経路の選択のために、保持している検索テーブルの一例を示す。この検索テーブルは、データ転送部４１０，５１０がデータパケットを転送する際に参照されるものである。
【００６１】
図４の例では、データパケットのヘッダ中の検索キーとして、宛先アドレス、宛先ポート、送信元アドレス、送信元ポート、プロトコルＩＤが使用可能であり、これらの検索キーから、パケットを投入すべき経路を特定できるようになっている。パケットを経路に投入する際には、実際には、その経路の出口（経路１であればリンクＡ、経路２であればリンクＢ・・等）をネットワーク内の中継装置群が特定できるように、パケットを加工して送出するという処理を行うため、図４の検索テーブルでは、経路の出口（ネットワークにおける経路の入口から出口までをトンネルと考えれば、トンネルの宛先）を求められるようになっている。
【００６２】
例えば、アプリケーション端末２００からサーバ側ルータ４００へ、下り経路の選択を指示するための［端末Ｙのアドレス、経路Ｂの識別情報］という経路選択指示メッセージが送られてきていたとすると、サーバ側ルータ４００が有する図４の検索テーブルは、宛先アドレスの欄に端末Ｙのアドレスが、トンネルの宛先の欄に経路Ｂの出口が、書き込まれた状態になる。また、アプリケーション端末２００から端末側ルータ５００へ、上り経路の選択を指示するための［音声通話・電話アプリケーションサーバのアドレス、経路Ｂの識別情報］という経路選択指示メッセージが送られてきていたとすると、端末側ルータ５００が有する図４の検索テーブルは、宛先アドレスの欄に音声通話・電話アプリケーションサーバのアドレスが、トンネルの宛先の欄に経路Ｂの出口が、書き込まれた状態になる。
【００６３】
図５は、アプリケーション端末２００のサービス属性／通信条件変換モジュール２２０が記憶している変換テーブルの一例を示す。あるアプリケーションが提供する個々のサービスは、そのサービスを提供するのに必要な通信環境という観点から付与される種別を有するものとする。１つのアプリケーションが提供する複数のサービスが、それぞれ全て別個の種別である例もあれば、幾つかの種別にまとめて分類される例もある。前者の場合、アプリケーションサーバから通知されるサービス名がそのまま種別を表すとしてもよい。後者の場合、アプリケーションサーバからサービス名とそのサービスの種別が通知されるため、アプリケーション端末２００では、通知された種別に基づいて、図５の変換テーブルを検索すればよい。
【００６４】
サービスの種別とそのサービスに必要な通信環境（通信条件）との対応は、アプリケーションによって決まるものであるから、図５の変換テーブルは、アプリケーション毎に用意される。なお、例えば、映像伝送の場合は、フレームレート、画面サイズ、実効帯域等の、コンテンツの視聴条件が、音声通信の場合は、許容される通話遅延、音声劣化等の通話条件があり、これらの条件から、直接、その条件を満足するのに必要な通信環境の各パラメータ（暗号化の要否、ロス、遅延、有効帯域等）を計算するように、サービス属性／通信条件変換モジュール２２０を構成することも可能である。一方で、本例のように、より簡易に実装できるよう、視聴条件や通話条件によって各サービスを幾つかの種別に分類し、種別に基づく変換テーブルの参照によって、サービス属性を通信条件に変換することも可能である。また、サービス属性に基づいて通信条件を求める際に、そのサービスを受けるアプリケーション端末の仕様に合わせた通信条件が、求められるようにしてもよい。
【００６５】
図５の変換テーブルで求められる通信条件のパラメータの例は、暗号化の要否（ＹＥＳ又はＮＯの値をとる）、ロス（０〜１００％の値をとる）、遅延（単位はｍｓ）、有効帯域（単位はＭｂｐｓ）であり、各パラメータとして、条件値、あるいはＵＮＤＥＦ（そのパラメータは条件にならないことを示す）が設定される。同じサービス種別でも、下りトラフィックと上りトラフィックでは、適切な通信条件が異なるため、図５の変換テーブルには、下りと上りのトラフィックについて個別に設定がなされている。なお、例えば、下り経路の通信環境は問うが、上り経路の通信環境はどのようなものでも構わないアプリケーションであれば、下りトラフィックについての変換テーブルがあればよい。
【００６６】
図６は、適切な経路を選択して所望のサービスを享受できるようになるまでにアプリケーション端末２００が行う手順の一例を示す。アプリケーションサーバ１００又は１０１から提供可能なサービスに関する情報を受信すると（Ｓ１０１０）、サービス属性／通信条件変換モジュール２２０が、そのアプリケーション用の図５の変換テーブルを参照する。下りトラフィックの変換テーブルがあれば、提供可能な各サービスの種別に基づいて、それぞれの通信条件を求める（Ｓ１０２０）。
【００６７】
そして、指示モジュール２３０が、アプリケーションサーバ１００又は１０１のアドレスから、対応するサーバ側ルータ４００又は４０１を特定し、記憶されている図３（ａ）の情報のうち、特定されたサーバ側ルータについての各下り経路の通信環境を参照する（Ｓ１０３０）。  指示モジュール２３０は、さらに、提供可能な各サービスについて、サービス属性／通信条件変換モジュール２２０により求められた通信条件を満たす通信環境の下り経路が存在するか否かを、参照した情報から判断する（Ｓ１０４０）。なお、指示モジュール２３０は、予め、アプリケーションサーバとサーバ側ルータの対応を、端末側ルータ５００から教えてもらい、サーバ側ルータ解決テーブル（図示せず）として記憶している。
【００６８】
サービス属性／通信条件変換モジュール２２０は、上りトラフィックの変換テーブルがあれば、そちらについても、提供可能な各サービスの種別に基づいて、それぞれの通信条件を求め（Ｓ１０５０）、指示モジュール２３０は、記憶されている図３（ｂ）の情報のうち、上記のように特定されたサーバ側ルータについての各上り経路の通信環境を参照する（Ｓ１０６０）。そして、指示モジュール２３０は、提供可能な各サービスについて、サービス属性／通信条件変換モジュール２２０により求められた通信条件を満たす通信環境の上り経路が存在するか否かを、参照した情報から判断する（Ｓ１０７０）。
【００６９】
提供可能な各サービスのうち、下り経路と上り経路のいずれについても通信条件を満たす通信環境のものが存在すると判断されたサービスは、アプリケーション端末２００のユーザインターフェース（図示せず）により、選択可能なサービスとして提示される（Ｓ１０９０）。下り経路と上り経路のいずれかについて通信条件を満たす通信環境のものが存在しないと判断されたサービスは、選択不可能なサービスとして提示される（Ｓ１０８０）。これらの提示は、例えば、ユーザインタフェースの表示画面に、提供可能なサービス一覧が表示され、その一覧の中で、選択可能なサービスは濃く表示して、クリックするとそのサービスが指定されるようにし、選択不可能なサービスは薄く表示して、クリックしてもサービスの指定ができないようにすればよい。
【００７０】
ここで、選択可能なサービスとして提示された中に、例えば、下り経路Ａを選択すれば適切な通信環境で提供できるサービスＰと、下り経路Ｂを選択すれば適切な通信環境で提供できるサービスＱとが混在し得ることになる。つまり、現在、サーバ側ルータで、アプリケーション端末２００への経路として経路Ａが選択されている場合、従来技術では、サービスＰしか選択可能なサービスとして提示できなかったものが、本通信方式では、サービスＱも選択可能なサービスとして提示できることになり、実際に、ユーザがサービスＱを指定すれば、アプリケーション端末駆動でサーバ側ルータでの経路選択が切り換わり、経路Ｂが選択されてサービスＱが提供される。このように、ユーザが能動的にネットワーク途中の経路を選択することができることで、アプリケーション利用に際しての利便性が向上する。
【００７１】
ユーザが、選択可能なサービスとして提示された中から、所望のサービスを指定すると、アプリケーションサービス実行部２１０が、この指定を受け付けて、アプリケーションサーバ１００又は１０１に伝える（Ｓ１１００）。一方で、アプリケーションサービス実行部２１０は、サービスの指定を指示モジュール２３０にも伝え、指示モジュール２３０は、指定されたサービスの通信条件を満たす下り／上り経路の中から、指示モジュール２３０の持つ評価基準（アプリケーション依存でも非依存でもよい）に沿って、最良の通信環境のものを決定する（Ｓ１１１０）。
【００７２】
そして、指示モジュール２３０は、決定された経路を選択するように、下り経路についてはサーバ側ルータ４００又は４０１へ、上り経路については端末側ルータ５００へ、それぞれ指示ＡＰＩ４３０，５３０経由で、指示メッセージを送る（Ｓ１１２０、Ｓ１１３０）。決定された経路として、複数の経路（候補）を送り、その中から１つをルータの経路選択モジュール４２０，５２０に選択させるのでも、アプリケーション端末２００が指定のサービスを適切な通信環境で享受できることに変わりないので、構わない。以降は、選択された経路で、アプリケーションサーバ１００又は１０１とアプリケーション端末２００との間の通信が行われることになる。
【００７３】
図７は、アプリケーション端末２００が、図３に示すような各経路の通信環境の情報を取得し、更新していくために行う手順の一例を示す。まず、アプリケーション端末２００の指示モジュール２３０は、例えば、起動時に、アプリケーション端末２００自身が属しているネットワーク（ユーザネットワーク）のデフォルトルータを、端末側ルータ５００として登録する（Ｓ２０１０）。そして、指示モジュール２３０は、登録した端末側ルータ５００に対して、初期化メッセージを送り、端末側ルータ５００が記憶する端末リストに、アプリケーション端末２００を登録するように要求する（Ｓ２０２０）。
【００７４】
初期化メッセージを受信した端末側ルータ５００は、自身が通信を行っているサーバ側ルータ４００，４０１のアドレスを、アプリケーション端末４００へ送る（Ｓ２０３０）。端末側ルータ５００は、サーバ側ルータ４００が接続するのがアプリケーションサーバ１００であり、サーバ側ルータ４０１が接続するのがアプリケーションサーバ１０１であるという情報を有しているため、アプリケーション端末２００が、初期化メッセージに、自身がサービスを受ける可能性のあるアプリケーションサーバのアドレスを含ませておけば、端末側ルータ５００は、初期化メッセージに含まれていたアプリケーションサーバに対応するサーバ側ルータのアドレスを、対応関係が分かるように返送する。そうすると、指示モジュール２３０は、返送された情報を、前述したサーバ側ルータ解決テーブル（図示せず）に書き込むことができる。
【００７５】
端末側ルータ５００は、初期化メッセージに応答して、自身とそれぞれのサーバ側ルータとの間に存在する上り経路のリストと、各経路に関する通信環境の情報も、アプリケーション端末２００へ送る（Ｓ２０３０）。そうすると、指示モジュール２３０は、図３（ｂ）に示したような情報を記憶することができる。
【００７６】
アプリケーション端末２００の指示モジュール２３０は、さらに、通知されたサーバ側ルータ４００に対して、初期化メッセージを送り、サーバ側ルータ４００が記憶する端末リストに、アプリケーション端末２００を登録するように要求する（Ｓ２０４０）。初期化メッセージを受信したサーバ側ルータ４００は、自身と端末側ルータとの間で利用可能な下り経路のリストと、各経路に関する通信環境の情報を、アプリケーション端末２００へ送る（Ｓ２０５０）。
【００７７】
端末側ルータ５００から教えられたサーバ側ルータが、他にも存在する場合（Ｓ２０６０Ｙｅｓ）、そのサーバ側ルータ４０１についても、初期化メッセージを送り（Ｓ２０４０）、下り経路のリストと、各経路に関する通信環境の情報を受信する（Ｓ２０５０）処理を繰り返す。端末側ルータ５００から教えられたサーバ側ルータの全てについて処理が終わると（Ｓ２０６０Ｎｏ）、指示モジュール２３０では、サーバ側ルータ４００，４０１のそれぞれから受信された情報を合わせて、図３（ａ）に示したような情報が記憶されることになる。
【００７８】
端末リストにアプリケーション端末２００を登録した端末側ルータ５００、サーバ側ルータ４００，４０１と、アプリケーション端末２００との間では、定期的にキープアライブメッセージが交換され（Ｓ２０７０）、端末リストが更新される。また、端末側ルータ５００と、サーバ側ルータ４００，４０１のそれぞれとの間でも、その間に存在する各経路について、定期的にキープアライブメッセージ及び通信環境の計測パケットを送受信しており、それぞれのルータが有している各経路の通信環境の情報をリアルタイムに更新している。
【００７９】
端末側ルータ５００及びサーバ側ルータ４００，４０１は、自身の有する通信環境の情報がある経路について変化した場合には、端末リストに登録されているアプリケーション端末のうち、通信環境が変化した経路に関係するアプリケーション端末２００に対して、通信環境変化通知メッセージを送信する。アプリケーション端末２００の指示モジュール２３０は、この変化通知メッセージを受信すると（Ｓ２０８０Ｙｅｓ）、変化通知メッセージの送信元のルータに対し、変化した通信環境の情報を要求し、返送されてきた情報で、記憶されている図３の情報を更新する（Ｓ２０９０）。
【００８０】
図７に示した手順は、あくまで一例であり、他の例では、アプリケーション端末２００から改めて要求するまでもなく、ルータから送られてくる変化通知メッセージの中に、変化した通信環境の情報が含まれていてもよいし、端末リストの更新が、アプリケーション端末２００との間で定期的にキープアライブメッセージを交換しなくても、アプリケーション端末２００との間の通信が切断された状態にならない限り、端末リストの登録を維持するという方法で行われてもよい。
【００８１】
図８は、適切な経路を選択して指定のサービスを享受できるようになるまでにアプリケーション端末２００が行う手順の別の例と、経路の切り換えが起こる場合にアプリケーション端末２００が行う手順の一例を示す。なお、図８に示す経路の切り換え手順（Ｓ３０９０、Ｓ３１００）は、図６に示した経路の選択手順にも、適用できるものである。
【００８２】
まず、アプリケーションサービス実行部２１０が、サービスの指定を受け付ける（Ｓ３０１０）。ここでのサービスの指定は、ユーザが行ってもよいし、システムが自動的に行なってもよい。例えば、アプリケーション端末２００が特定のアプリケーションの専用端末であったり、利用するサービスが予め１つに定まっているアプリケーションであったりする場合には、サービスの指定を自動的に行なうことができる。なお、図６の手順においても、実行可能なサービスと実行不可能なサービスが特定できた時点（Ｓ１０８０、Ｓ１０９０）で、実行可能なサービスのうち最適なサービスが自動的に定まるようなアプリケーションであれば、ユーザへの提示を省略して、システムが自動的に指定したサービスを受け付ける（Ｓ１１００）ことができる。
【００８３】
受け付けられたサービスの指定は、サービス属性／通信条件変換テーブル２２０に伝えられて、そのサービスの種別を検索キーとして図５の変換テーブルが参照され、上り／下りトラフィックの通信条件が求められる（Ｓ３０２０）。そして、指示モジュール２３０が、サーバ側ルータ解決テーブルを参照して、指定のサービスを提供するアプリケーションサーバのアドレスから、対応するサーバ側ルータを特定し（Ｓ３０３５）、記憶されている図３の情報のうち、特定されたサーバ側ルータについての下り／上り経路の通信環境を参照する（Ｓ３０３５）。
【００８４】
通信条件を満たす通信環境の下り／上り経路が存在しない場合（Ｓ３０４０Ｎｏ）、サービス提供ができないことをユーザに知らせる（Ｓ３０５０）。通信条件を満たす通信環境の下り／上り経路が存在する場合は（Ｓ３０４０Ｙｅｓ）、それらの経路の中から、指示モジュール２３０の持つ評価基準に沿って、最良の通信環境のものが決定される（Ｓ３０６０）。そして、指示モジュールは、決定された経路を選択するように、下り経路についてはサーバ側ルータへ、上り経路については端末側ルータへ、それぞれ経路選択指示メッセージを送る（Ｓ３０７０、Ｓ３０８０）。その結果、アプリケーション端末２００では、選択された経路で、指定のサービスに係るデータが受信されるようになる（Ｓ３０９０）。
【００８５】
ここで、アプリケーション端末２００が、図７に示した手順における通信環境変化通知メッセージを受信すると（Ｓ３１００Ｙｅｓ）、図３の情報が更新されているはずなので、指定のサービスに係るデータを転送しているサーバ側ルータについての下り／上り経路の通信環境を再度参照する（Ｓ３０３５）。通信環境の変化により、通信条件を満たす経路がなくなった場合には（Ｓ３０４０Ｎｏ）、適切な通信環境でのサービス提供ができなくなった旨をユーザに知らせる（Ｓ３０５０）。
【００８６】
変化後の通信環境に基づいて、通信条件を満たす経路の中で最良の通信環境のものを決定した結果（Ｓ３０６０）、以前選択していた経路と変わらなければ、そのまま選択された経路でのデータ転送によるサービス享受を続けるが（Ｓ３０９０）、以前選択していた経路と異なる経路が決定されれば、経路を選択し直すように、下り経路についてはサーバ側ルータへ、上り経路については端末側ルータへ、それぞれ経路選択指示メッセージを送る（Ｓ３０７０、Ｓ３０８０）。このとき、経路を選択し直す旨を、必要に応じてユーザに知らせてもよく、ユーザが経路の選択を了承したことに応じて、経路選択指示メッセージを送るようにしてもよい。これ以降、アプリケーション端末２００では、切り換えられた経路で、指定のサービスに係るデータが受信されるようになる（Ｓ３０９０）。
【００８７】
図８に示した手順も、あくまで一例であり、他の例では、指定されたサービスについて提供できない旨がユーザに知らされた場合（Ｓ３０５０）も、通信環境変化通知メッセージを受信したら（Ｓ３１００Ｙｅｓ）、更新された通信環境を参照して（Ｓ３０３５）、指定されたサービスが提供できるようになっていた場合（Ｓ３０４０Ｙｅｓ）は、提供できるようになった旨をユーザに知らせた上で、経路選択指示メッセージを送り（Ｓ３０７０、Ｓ３０８０）、サービスの享受を開始するようにしてもよい。
【００８８】
また、通信条件を満たす通信環境の下り／上り経路が存在するか否かを調べる際に（図６のＳ１０４０とＳ１０７０、図８のＳ３０４０）、通信条件を満たす通信環境の下り／上り経路のリストを作成しておき、その中から最良のものを決定する際には（図６のＳ１１００、図８のＳ３０６０）、作成された経路のリストを参照しながら決定するようにしてもよい。このようなリストを作成しておくと、通信環境変化通知メッセージを受信し（図８のＳ３１００Ｙｅｓ）、その変化通知が、現在選択中の経路の通信環境の劣化を示している場合に、更新された通信環境を参照しなくても、リストに載っている他の経路に切り換えるように、経路選択指示メッセージを送ることも可能になる。
【００８９】
図９には、アプリケーション端末２００に端末側ルータ５００が組み込まれて一体の端末６００となった場合の構成例を示す。図１と図９では、同じ構成要素に、同じ符号を付している。図１では図示していなかったデータ送受信部２５０が、図９では図示されている。指示モジュール６３０は、上り経路の選択について、同じ端末６００内の経路選択モジュール６４０に直接指示することができ、経路選択モジュール６４０は、指示された上り経路を選択するように、データ送信部２５２を制御する。経路選択モジュール６４０は、データ受信部２５１を介して取得した各経路の通信環境の情報を記憶しており、指示モジュール６３０は、同じ端末６００内の経路選択モジュール６４０が記憶している情報を直接参照することができる。
【００９０】
図９には示していないが、アプリケーションサーバ１００にサーバ側ルータ４００を組み込んで一体のサーバを構成することも、勿論可能である。
【００９１】
図１０は、アプリケーションサーバとアプリケーション端末との間に、複数の経路から使用する経路を選択できるネットワークがあり、本通信方式が適用できるシステムにおいて、動作可能なアプリケーションの具体例を説明するためのものである。
【００９２】
最初に、アプリケーションがネットワークゲームである例を説明する。ネットワークゲームサーバが提供可能なサービスの種別として、例えば、シューティングゲーム、高画質ＣＧゲーム、通常画質ＣＧゲーム、トレーディングゲーム等があるとする。ネットワークゲームサーバは、ネットゲームタイトル１及びその種別（シューティングゲーム）、ネットゲームタイトル２及びその種別（高画質ＣＧゲーム）、ネットゲームタイトル３及びその種別（通常画質ＣＧゲーム）、ネットゲームタイトル４及びその種別（トレーディングゲーム）をメニュー化して、アプリケーション端末（ゲーム端末）に提供する。
【００９３】
ネットワークゲーム用のサービス属性／通信条件変換テーブルには、例えば、シューティングゲームという種別に対して、上り下りとも、ロス１％以内、遅延１２．５ｍｓ以内という通信条件が、高画質ＣＧゲームという種別に対して、下りが、ロス０．１％以内、有効帯域６Ｍｂｐｓ以上という通信条件が、通常画質ＣＧゲームという種別に対して、下りが、ロス０．１％以内、有効帯域４Ｍｂｐｓ以上という通信条件が、トレーディングゲームという種別に対して、上り下りとも、暗号化要、ロス０％という通信条件が、記憶されている。
【００９４】
なお、ネットワークゲーム用の評価基準として、シューティングゲームは反応の速さ（遅延の小ささ）優先、ＣＧゲームは映像のきれいさ（帯域の広さ）優先、トレーディングゲームはデータの完全性（ロスの小ささ）優先等を、記憶していてもよい。また、ゲームの視聴条件としては、例えば、シューティングゲームの場合、１秒間に送受信できるアクションの数等があり得るが、この視聴条件から、必要な通信条件（遅延の小ささ等）を計算することができる。
【００９５】
そして、各経路の通信環境（いずれのアプリケーションにも共通）として、例えば、上り下りとも、経路Ａ［暗号化無、ロス０．０１％、遅延１０ｍｓ、帯域１Ｍｂｐｓ］、経路Ｂ［暗号化無、ロス０．０１％、遅延３０ｍｓ、帯域５Ｍｂｐｓ］、経路Ｃ［暗号化有、ロス０％、遅延５０ｍｓ、帯域１２８Ｋｂｐｓ］という情報が、記憶されていたとする。
【００９６】
そうすると、タイトル１（シューティングゲーム）は、経路Ａを選択すれば実行可能であり、タイトル２（高画質ＣＧゲーム）は、いずれの経路でも実行不可能であり、タイトル３（通常画質ＣＧゲーム）は、経路Ｂを選択すれば実行可能であり、タイトル４（トレーディングゲーム）は、経路Ｃを選択すれば実行可能であるということが分かる。
【００９７】
現在選択されている経路が、経路Ａであるとすると、従来技術では、ユーザは、タイトル１（シューティングゲーム）しか選択できないが、本通信方式によれば、ユーザは、タイトル１（シューティングゲーム）、タイトル３（通常画質ＣＧゲーム）、タイトル４（トレーディングゲーム）の中から所望のゲームを選択することができるようになる。そして、例えば、タイトル４（トレーディングゲーム）をユーザが選択すると、経路Ｃが選択されて、ネットゲームが開始される。
【００９８】
次に、アプリケーションが映像放送（例えば、ビデオ・オン・デマンド（ＶＯＤ））である例を説明する。映像放送の場合、下り経路を評価すればよい。ＶＯＤサーバが提供可能なサービスの種別として、例えば、ハイビジョン品質、ＤＶＤ品質、ストリーミング品質等があるとする。ＶＯＤサーバは、映像タイトル１及びその種別（ハイビジョン品質）、映像タイトル２及びその種別（ＤＶＤ品質）、映像タイトル３及びその種別（ストリーミング品質）をメニュー化して、アプリケーション端末（受信端末）に提供する。
【００９９】
映像放送用のサービス属性／通信条件変換テーブル（下りトラフィック）には、例えば、ハイビジョン品質という種別に対して、ロス１％未満、有効帯域３０Ｍｂｐｓ以上という通信条件が、ＤＶＤ品質という種別に対して、ロス０．１％未満、有効帯域６Ｍｂｐｓ以上という通信条件が、ストリーミング品質という種別に対して、ロス０．１％未満、有効帯域５１２Ｋｂｐｓ以上という通信条件が、記憶されている。
【０１００】
なお、映像タイトル（映像コンテンツ）の視聴条件には、エンコーディング方式、フレームレート、解像度、色数等があり得る。フレームレート（Ｆ）、解像度（Ｈ×Ｖ）、色数（Ｃ）の視聴条件からは、予想利用帯域Ｆ×Ｈ×Ｖ×ｌｏｇ２（Ｃ）を、通信条件として求めることができるが、本例では、エンコーディング方式の種別（ハイビジョン、ＭＰＥＧ２、ストリーミング）に基づく最低有効帯域を、通信条件として用いている。種別や視聴条件の情報は、放送されるコンテンツのメタデータと同じ形式（例えば、ＸＭＬ等）にして、サーバから端末へ送ってもよい。
【０１０１】
そして、各経路の通信環境（いずれのアプリケーションにも共通）として、例えば、下り経路Ａ［ロス０．５％、帯域３０Ｍｂｐｓ］、経路Ｂ［ロス０．０５％、帯域１０Ｍｂｐｓ］、経路Ｃ［ロス０．０５％、帯域５１２Ｋｂｐｓ］という情報が、記憶されていたとする。
【０１０２】
そうすると、タイトル１（ハイビジョン品質）は、経路Ａを選択すれば視聴可能であり、タイトル２（ＤＶＤ品質）は、経路Ｂを選択すれば視聴可能であり、タイトル３（ストリーミング品質）は、経路Ｂ又はＣを選択すれば視聴可能であるということが分かる。
【０１０３】
現在選択されている経路が、経路Ｂであるとすると、従来技術では、ユーザは、タイトル２（ＤＶＤ品質）とタイトル３（ストリーミング品質）からしか選択できないが、本通信方式によれば、ユーザは、タイトル１（ハイビジョン品質）、タイトル２（ＤＶＤ品質）、タイトル３（ストリーミング品質）の全てから所望のゲームを選択することができるようになる。そして、例えば、タイトル１（ハイビジョン品質）をユーザが選択すると、経路Ａが選択されて、タイトル１の映像放送が開始される。
【０１０４】
なお、アプリケーションが、マルチキャスト、ブロードキャスト等による放送であってもよく、その場合のアプリケーションサーバには、放送局がなることもでき、例えば、地上放送波が経路となることも可能である。
【０１０５】
また、アプリケーションサーバは、同一内容で種別が異なるコンテンツを、提供可能なサービスとして用意しておいてもよい。その場合、上記の例では、ＶＯＤサーバに、タイトル１−１（ハイビジョン品質）、タイトル１−２（ＤＶＤ品質）、タイトル１−３（ストリーミング品質）、タイトル２−１（ハイビジョン品質）、タイトル２−２（ＤＶＤ品質）・・のように用意されることになる。
【０１０６】
そして、例えば、タイトル１−１の映像放送が開始された後、ユーザが受信端末とともに移動して、各経路の通信環境が変化した場合、移動先で、その内容のコンテンツを視聴するのに最適な経路及びコンテンツの種別を選び直し、切り換えられた経路を用いて、切り換えられた種別のコンテンツ（例えば、タイトル１−３）の視聴を、継続するようにしてもよい。
【０１０７】
次には、アプリケーションが音声通話（例えば、ヴォイス・オーバ・ＩＰ（ＶＯＩＰ））である例を説明する。ＶＯＩＰサーバが提供可能なサービスの種別として、例えば、高品質、通常品質、低品質があるとする。ＶＯＩＰサーバは、通話相手１及びその種別（高品質）、通話相手２及びその種別（通常品質）、通話相手３及びその種別（低品質）をメニュー化して、アプリケーション端末（ＶＯＩＰ端末）に提供する。
【０１０８】
音声通話用のサービス属性／通信条件変換テーブルには、例えば、高品質という種別に対して、上り下りとも、遅延５０ｍｓ以内という通信条件が、通常品質という種別に対して、上り下りとも、遅延２００ｍｓ以内という通信条件が、記憶されている。
【０１０９】
現在選択されている経路では、通話相手２（通常品質）もしくは通話相手３（低品質）しか選択できなくとも、本通信方式によれば、高品質に対応する通信条件を満たす経路が存在する場合、その経路を新たに選択して、通話相手１（高品質）との通話を開始することが可能である。さらに、ユーザは、ＶＯＩＰから提供されるメニュー（通話相手とその種別が表示される）の中で、通話可能と判断された相手先の中から、実際の通話先を選択するため、想定される音声品質を確認した後に、通話を開始することができる。
【０１１０】
最後に、アプリケーションが社内システム（例えば、社内ＯＡと内線ＶＯＩＰ）である例を説明する。アプリケーションサーバが提供可能なサービスの種別として、例えば、社外秘に当たる音声通話、社外秘に当たるファイルの共有、公開情報の案内等があるとする。そうすると、社内システム用のサービス属性／通信条件変換テーブルには、例えば、社外秘音声通話という種別に対して、上り下りとも、暗号化要、遅延５０ｍｓ以内という通信条件が、社外秘ファイル共有という種別に対して、下りが、暗号化要、帯域５Ｍｂｐｓという通信条件が、公開情報案内という種別に対して、下りが、帯域１Ｍｂｐｓという通信条件が、記憶される。そして、本通信方式によれば、ユーザは、現在、経路を選択して実行することができる種別のサービスを確認した上で、所望のサービスを利用することができるようになる。
【０１１１】
以上、本発明の実施形態について説明したが、上述の実施形態を本発明の範囲内で当業者が種々に変形、応用して実施できることは勿論である。
【図面の簡単な説明】
【０１１２】
【図１】本発明の一実施形態に係る通信方式が適用されるシステム構成の一例を示す図。
【図２】本発明の一実施形態に係る通信方式が適用されるシステム構成の他の例を示す図。
【図３】アプリケーション端末２００の指示モジュール２３０が記憶している各経路の通信環境を表す情報の一例を示す図。
【図４】サーバ側ルータ４００の経路選択モジュール４２０、端末側ルータ５００の経路選択モジュール５２０が、経路選択のために保持している検索テーブルの一例を示す図。
【図５】アプリケーション端末２００のサービス属性／通信条件変換モジュール２２０が記憶している変換テーブルの一例を示す図。
【図６】適切な経路を選択して所望のサービスを享受できるようになるまでにアプリケーション端末２００が行う手順の一例を示す図。
【図７】アプリケーション端末２００が各経路の通信環境の情報を取得し、更新していくために行う手順の一例を示す図。
【図８】適切な経路を選択して指定のサービスを享受できるようになるまでにアプリケーション端末２００が行う手順（経路の切り換えが起こる場合を含む）の一例を示す図。
【図９】アプリケーション端末２００に端末側ルータ５００が組み込まれて一体の端末６００となった場合の構成例を示す図。
【図１０】本発明の一実施形態に係る通信方式が適用できるシステムにおいて動作可能なアプリケーションの具体例を説明するための図。
【符号の説明】
【０１１３】
１００、１０１  アプリケーションサーバ
２００、６００  アプリケーション端末
２１０  アプリケーションサービス実行部
２２０  サービス属性／通信条件変換モジュール
２３０、６３０  指示モジュール
２５０  データ送受信部
３００  ネットワーク
４００、４０１  サーバ側ルータ
５００  端末側ルータ
４１０、５１０  データ転送部
４２０、５２０、６４０  経路選択モジュール
４３０、５３０  指示ＡＰＩ
【図１】
2008263559.tif 000003
【図２】
2008263559.tif 000004
【図３】
2008263559.tif 000005
【図４】
2008263559.tif 000006
【図５】
2008263559.tif 000007
【図６】
2008263559.tif 000008
【図７】
2008263559.tif 000009
【図８】
2008263559.tif 000010
【図９】
2008263559.tif 000011
【図１０】
2008263559.tif 000012