説明

アプリケーション端末装置及び経路選択方法

【課題】 アプリケーションサーバ装置からネットワーク経由でサービスを提供されるアプリケーション端末装置が、経路の選択を制御できるようにする。
【解決手段】 アプリケーション端末装置は、アプリケーションサーバ装置から提供されるサービスのうち指定されたサービスの提供に適した通信の条件を求める条件特定手段と、アプリケーションサーバ装置からアプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を記憶する記憶手段と、求められた条件と記憶された情報とに基づいて複数の経路の中から指定されたサービスの提供に用いられるべき経路を決定し、経路を選択してデータを転送する機能を有する装置により決定された経路が選択されるように指示メッセージを送出する経路指示手段を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションサーバ装置からネットワーク経由でサービスを提供されるアプリケーション端末装置に関し、特に、複数の経路から使用する経路を選択できるネットワークに接続可能であり、アプリケーションサーバ装置からのサービス提供に使用される経路を選択するための機能を有するアプリケーション端末装置及びその経路選択方法に関する。
【背景技術】
【0002】
近年、ユーザネットワークやユーザ端末を、複数のリンク(インタフェース)を介してインターネット等のオープン・ネットワークへ接続すること(一般に「マルチリンク接続」、「マルチホーム接続」等と呼ばれる)により、1つのリンクを通る経路に障害が起きた場合でも残りのリンクを通る経路によりインターネット接続を維持したり、複数の経路に送信データを分散させることで輻輳や遅延、パケット損失を回避して通信品質を高めたりする技術が開発されている(例えば、特許文献1〜2)。
【特許文献1】特開2003−338843号
【特許文献2】特開2005−57487号
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上述した技術においては、複数の経路をどのように使用してデータを転送するかは、複数の経路の上流側の分岐点にあって複数の経路のうち選択した経路にデータパケットを転送する機能を有するルータが、自身で制御している。なお、本明細書においては、ネットワークに設置されて、データパケットの宛先に応じて特定される次段ノードへ当該データパケットを転送する機能を有する装置であれば、インターネットプロトコル(IP)に従って動作する装置であるか否かに関わらず、全て、ルータに相当する。また、外部から受信したデータパケットを転送する装置だけでなく、自身の内部のアプリケーション層から渡されたデータパケットを転送する装置も、ここにいうルータに相当する。
【0004】
ここで、アプリケーションサーバからサービスを提供されるアプリケーション端末(ユーザ端末)では、そのサービスに係るデータが現在転送されている経路の途中で通信品質の劣化や障害が生じた場合は、当該サービスの享受に支障が出るし、そのサービスを要求した時に十分な通信品質を有する経路がなければ、当該サービスは受けられない。しかも、オープン・ネットワークでは特に、通信路の品質劣化や障害、その回復、新たな通信路の出現等が頻繁に起こりがちである。しかし、上述した技術においては、ユーザ端末は、上記のルータで行われる経路の選択に、関与することができず、そもそも、選択可能な経路がどのような状態であるか、知ることもできない。
【0005】
また、昨今では、ユーザ端末が、光ファイバ等の有線ネットワーク、無線LAN、携帯電話ネットワーク等の多種多様な通信網に接続されるようになってきており、このようなユビキタスネットワーク環境によって出現する複数の経路においては、経路(この例では通信網)毎に、提供される通信品質が大きく異なる。そうすると、アプリケーションサーバから提供されるサービスの種類や性質に応じて、適切な通信品質の経路を選択することが、重要になってくる。しかし、上述した技術において経路を選択するルータが、アプリケーションサーバから提供されるサービス毎に、選択する経路を異ならせることは、困難である。
【0006】
さらに、アプリケーションサーバからのサービスの提供に適した通信の条件(ロス、遅延、ゆらぎ、回線帯域等)は、例えば、アプリケーションが、映像伝送なのか、音声通話なのか、ゲームなのか、家電なのか、金融なのか等によって異なる上に、同じ映像伝送のアプリケーションでも、映像コンテンツの内容によって異なるし、そのコンテンツを視聴するためのユーザ端末が、テレビなのか、パソコンなのか、携帯電話なのか等によっても異なり得る。また、サービスの提供に適した通信の条件は、アプリケーションに依存するサービス毎の属性(例えば、映像伝送であれば、フレームレート、画面サイズ、実効帯域等の、コンテンツの視聴条件)から求めることが望ましい。したがって、仮に、複数の経路の分岐点にあって経路選択をするルータ自身に、多岐に亘るそれぞれのサービスの提供に適した通信の条件を求めさせようとすると、ルータに多大な負荷がかかるばかりか、アプリケーションやサービスが増えたときの拡張性に甚だ乏しい。
【0007】
そして、ルータにおいて、アプリケーションサーバからのサービス提供に適した通信の条件を満たす経路を選択することができず、ユーザ端末も、経路の選択に関与することができなければ、ユーザは、現在選択されている経路の通信環境で提供できるサービスしか享受することができないか、あるいは、不十分な通信環境の経路でのサービスの享受を強いられることになる。もし、ユーザ端末から指定したサービスに応じて、ルータが選択する経路を変更することができるならば、ユーザは、複数の経路のうちの他の経路の通信環境で提供できるサービスをも享受することができるはずである。
【0008】
本発明は、以上のような事情を考慮し、アプリケーション端末装置が、複数の経路のうちのいずれの経路を選択すべきかを決定し、複数の経路の分岐点にあるデータ転送装置がアプリケーション端末装置の決定に従って経路の選択を行うことができる機構を実現することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係るアプリケーション端末装置は、少なくとも一つのアプリケーションサーバ装置から少なくとも一つのサービスが提供されるネットワークに接続することができるアプリケーション端末装置であって、前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求める条件特定手段と、前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を記憶する記憶手段と、前記条件特定手段により求められた条件と前記記憶手段に記憶された情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供に用いられるべき経路を決定し、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置により前記決定された経路が選択されるように指示メッセージを送出する経路指示手段とを備えたことを特徴とする。
【0010】
この構成によれば、アプリケーション端末装置が、アプリケーションサーバ装置からの下りの複数の経路のうちのいずれの経路を選択すべきかを決定し、このアプリケーション端末装置の決定に従って、データ転送装置(例えば、後述する第1のルータ装置)が経路の選択を行うようにすることが可能になる。なお、前記記憶手段に記憶される情報は、各経路(下り経路)の通信環境についての静的な情報が予め記憶されているのでもよいし、時々刻々変化する各経路の通信環境を観測した結果である動的な情報がその都度記憶されるのでもよい。サービスの指定は、アプリケーション端末装置が自動で行ってもよいし、ユーザによる入力に基づいて行ってもよい。
【0011】
本発明に係るアプリケーション端末装置は、前記アプリケーションサーバ装置と前記ネットワークとの間に配置され、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する第1のルータ装置から、各経路に関する情報を受け取る情報取得手段をさらに備えてもよく、前記記憶手段に記憶される情報は、前記情報取得手段により受け取られた情報に基づくものとし、前記経路指示手段は、前記第1のルータ装置に対して、経路の選択を指示するものとしてもよい。この場合、第1のルータ装置(サーバ側ルータ装置)は、各経路(下り経路)に関する情報を、例えば、後述する第2のルータ装置(端末側ルータ装置)とのメッセージ交換を介して収集しており、アプリケーション端末装置は、この情報を共有することができる。そして、第1のルータ装置は、アプリケーション端末装置が決定した経路を選択してデータ転送を行うことができる。
【0012】
本発明に係るアプリケーション端末装置は、前記ネットワークと前記アプリケーション端末装置との間に配置され、前記複数の経路のうち選択された経路で受信されるデータを前記アプリケーション端末装置へ転送する機能を有する第2のルータ装置から、各経路に関する情報を受け取る情報取得手段をさらに備えてもよく、前記記憶手段に記憶される情報は、前記情報取得手段により受け取られた情報に基づくものとし、前記経路指示手段は、前記第2のルータ装置に対して、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置へ経路の選択を指示するように依頼するものとしてもよい。この場合、第2のルータ装置(端末側ルータ装置)は、各経路(下り経路)に関する情報を、例えば、各経路から受信されるトラフィックの計測を介して収集しており、アプリケーション端末装置は、この情報を共有することができる。そして、第2のルータ装置が、データ転送装置(例えば、第1のルータ装置)に選択すべき経路を指示する機能を備えている場合、アプリケーション装置は、第2のルータ装置を介して、経路選択を制御することもできる。
【0013】
本発明に係るアプリケーション端末装置は、前記アプリケーションサーバ装置と前記ネットワークとの間に配置され、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する第1のルータ装置との通信、及び、前記ネットワークと前記アプリケーション端末装置との間に配置され、前記複数の経路のうち選択された経路で受信されるデータを前記アプリケーション端末装置へ渡す機能を有する第2のルータ装置との通信のそれぞれを実行可能である通信手段をさらに備えてもよく、前記記憶手段に記憶される情報は、前記通信手段によって受け取られる各経路に関する情報に基づくものとし、前記経路指示手段は、前記通信手段を用いて前記指示メッセージを送出するものとしてもよい。この場合、アプリケーション端末装置は、第1のルータ装置が収集している情報と第2のルータ装置が収集している情報の少なくとも一方について共有することができ、第1のルータ装置に直接、あるいは、第2のルータ装置を介して、選択すべき経路を伝えることができる。
【0014】
本発明に係るアプリケーション端末装置は、前記記憶手段が、前記アプリケーション端末装置から前記アプリケーションサーバ装置へ至る複数の逆方向経路の各々により提供可能な通信環境についての情報をも記憶してもよく、前記条件特定手段により求められた条件と前記記憶手段に記憶された情報とに基づいて前記複数の逆方向経路の中から前記指定されたサービスの提供のために用いられるべき経路を決定し、前記複数の逆方向経路のうち指示された経路を選択して前記アプリケーションサーバ装置へのデータを転送する機能を有する装置に対して、前記決定された経路の選択を指示する逆方向経路指示手段をさらに備えてもよい。
【0015】
この構成によれば、アプリケーション端末装置が、アプリケーションサーバ装置への上りの複数の経路のうちのいずれの経路を選択すべきかを決定し、このアプリケーション端末装置の決定に従って、データ転送装置(例えば、第2のルータ装置)が経路の選択を行うようにすることが可能になる。なお、前記記憶手段に記憶される情報は、各経路(上り経路)の通信環境についての静的な情報が予め記憶されているのでもよいし、時々刻々変化する各経路の通信環境を観測した結果である動的な情報がその都度記憶されるのでもよい。
【0016】
上記のアプリケーション端末装置において、前記ネットワークと前記アプリケーションサーバ装置との間に配置され、前記複数の逆方向経路のうち選択された経路で受信されるデータを前記アプリケーションサーバ装置へ渡す機能を有する第1のルータ装置、及び、前記アプリケーション端末装置と前記ネットワークとの間に配置され、前記複数の逆方向経路のうち指示された経路を選択して前記アプリケーションサーバ装置へのデータを転送する機能を有する第2のルータ装置のうち、少なくとも一方から、各逆方向経路に関する情報を受け取る情報取得手段をさらに備えてもよく、前記記憶手段に記憶される情報は、前記情報取得手段により受け取られた情報に基づくものとしてもよい。この場合、アプリケーション端末装置は、第1のルータ装置と第2のルータ装置の少なくとも一方が収集している各経路(上り経路)に関する情報を共有することができ、第2のルータ装置(端末側ルータ装置)に、決定した経路を選択させることができる。
【0017】
なお、上述した第1のルータ装置は、アプリケーションサーバ装置に接続される別個の装置でもよいし、アプリケーションサーバ装置内に組み込まれていてもよい。また、上述した第2のルータ装置は、アプリケーション端末装置に接続される別個の装置でもよいし、アプリケーション端末装置内に組み込まれていてもよい。
【0018】
本発明に係るアプリケーション端末装置は、前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路のそれぞれにより提供可能な通信環境に関して変化が生じたことに応じて、経路に関する情報を受け取る情報取得手段をさらに備えてもよく、前記記憶手段に記憶された情報は、前記情報取得手段により受け取られた情報に基づいて、変化後の情報に更新されるものとし、前記経路指示手段は、前記変化後の情報に基づいて、前記指定されたサービスの提供に用いられるべき経路を決定し直し、変化前に選択されていた経路が前記決定し直された経路へ切り換えられるように指示メッセージを送出するものとしてもよい。これにより、例えば、サービス提供中でも、動的に経路を切り換えて、サービス提供を継続することが可能になる。
【0019】
本発明に係るアプリケーション端末装置は、前記少なくとも一つのサービスのうち、前記記憶手段に記憶された情報に基づいて、前記条件特定手段により求められる当該サービスの提供に適した通信の条件を満たすと判断される経路が、前記複数の経路の中に存在するサービスを、実行可能サービスとして特定する手段をさらに備えてもよく、前記経路指示手段は、前記実行可能サービスの中から選択されたサービスを、前記指定されたサービスとして、その提供に用いられるべき経路を決定するものとしてもよい。これにより、複数の経路のうち現在選択されていない経路も含めて、実行可能サービスを特定することができ、これらの実行可能サービスの中から、現在選択されている経路では実行できないが現在選択されていない経路によれば実行できるサービスが選択された場合には、アプリケーション端末装置が主導して新たな経路の選択を実現することで、選択されたサービスの提供を受けることが可能になる。つまり、アプリケーション装置自身が、能動的に(他の装置により現在と異なる経路が選択されるまで待つのではなく)、アプリケーションの動作を変える(現在の経路のままでは選択できないサービスを選択できるようにする)ことが可能になる。
【0020】
上記のアプリケーション端末装置において、前記実行可能サービスをユーザに提示する提示手段(例えば、グラフィックユーザインタフェース)をさらに備えるようにし、前記経路指示手段は、前記提示手段により提示された実行可能サービスの中からユーザにより選択されたサービスを、前記指定されたサービスとして、その提供に用いられるべき経路を決定するものとしてもよい。これにより、ユーザの意思に従って、ネットワークの途中の経路を選択することが可能になる。
【0021】
本発明に係るアプリケーション端末装置は、前記アプリケーションサーバ装置から、前記少なくとも一つのサービスの各々の属性に関する通知を受け取る手段をさらに備えてもよく、前記条件特定手段は、前記通知が示す属性のサービスを提供するために、使用される経路が提供可能であるべき通信環境を、当該サービスの提供に適した通信の条件として求めるものとしてもよい。これにより、サービスの提供に適した通信の条件を、アプリケーションに依存する各サービスの属性から求めることが可能になり、各サービスの属性を満足するように経路を選択することが可能になる。なお、上記の通信の条件を満たすと判断される経路が2つ以上存在する場合は、例えば、それらの経路の中で、通信環境を表すパラメータのうちどれを優先するかを示す評価基準(これもアプリケーションに依存する各サービスの属性の一つになり得る)に従って、最良と判断される通信環境を有する経路を、サービスの提供に用いられるべき経路として決定してもよいし、2つ以上存在する経路の全部又は任意の一部を、サービスの提供に用いられるべき経路として決定してもよい。
【0022】
本発明に係るアプリケーション端末装置においては、前記条件特定手段に、前記アプリケーションサーバ装置から新たな種類のサービスが提供可能になった場合、該新たな種類のサービスの提供に適した通信の条件を求める機能が追加されるようにして、前記経路指示手段では、前記新たな種類のサービスについても、その提供に用いられるべき経路を、前記記憶手段に記憶された情報に基づいて決定できるようにすることが可能である。つまり、アプリケーションに依存する各サービスの通信の条件を求める機能は、アプリケーション端末装置毎に持たせるようにし、多種多様なアプリケーション端末装置が、同一のルータ装置の収集した各経路に関する情報を、共通に利用できるようにすることで、多種多様なアプリケーションが登場してきたときの拡張性を、確保しておくことができる。また、アプリケーション端末装置内部でも、前記条件特定手段に、アプリケーション依存の機能を持たせることで、前記経路指示手段としては、各アプリケーションに共通のものを使うことが可能になる。但し、上述した評価基準としてアプリケーション依存のものを用いる場合には、前記経路指示手段も、アプリケーション依存の機能を持つことになる。
【0023】
本発明に係るアプリケーション端末装置は、前記条件特定手段が、複数の前記指定されたサービスについて、それぞれ前記通信の条件を求めるものであり、前記経路指示手段が、複数の前記指定されたサービスについて、それぞれその提供に用いられるべき経路を決定し、前記アプリケーション端末装置へのデータを転送する機能を有する装置が、第1の指定されたサービスのデータについては第1の経路を選択し、第2の指定されたサービスのデータについては第2の経路を選択し、転送を行うようにするものであってもよい。これにより、例えば、1つのアプリケーション端末装置に対して、同時に2つ以上の経路を用いて、同時に2つ以上のサービスを提供することが可能になる。この場合の2つ以上のサービスは、1つのアプリケーションサーバ装置から提供されてもよいし、同一のデータ転送装置につながる2つ以上のアプリケーションサーバ装置から提供されてもよい。
【0024】
なお、上述した本発明はいずれも、アプリケーションサーバ装置からのサービス提供に使用される経路を、アプリケーション端末装置によって選択するための方法の発明としても、コンピュータを上記のアプリケーション端末装置として機能させるためのプログラムの発明や、このようなプログラムを記録した記録媒体の発明としても、勿論成立するものである。
【0025】
例えば、本発明に係る経路選択方法は、少なくとも一つのアプリケーションサーバ装置から少なくとも一つのアプリケーション端末装置へネットワーク経由で少なくとも一つのサービスが提供されるシステムにおける経路選択方法であって、前記アプリケーション端末装置において、前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求め、前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を、前記アプリケーション端末装置へ伝え、前記アプリケーション端末装置が、前記通信の条件と前記通信環境についての情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供に用いられるべき経路を決定し、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置により前記決定された経路が選択されるように、前記アプリケーション端末装置が指示メッセージを送出することを特徴とする。
【0026】
また、本発明に係るプログラムは、少なくとも一つのアプリケーションサーバ装置から少なくとも一つのアプリケーション端末装置へネットワーク経由で少なくとも一つのサービスが提供されるシステムにおける経路選択のためにインストールされるプログラムであって、前記アプリケーション端末装置に、前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求めさせ、前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を、前記アプリケーション端末装置に取得させ、前記アプリケーション端末装置に、前記通信の条件と前記通信環境についての情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供に用いられるべき経路を決定させ、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置により前記決定された経路が選択されるように、前記アプリケーション端末装置に指示メッセージを送出させることを特徴とする。
【0027】
なお、本明細書では、アプリケーションサーバ装置からアプリケーション端末装置への下り経路の選択が行われる例を中心に記述するが、サービスの種類によっては、その提供のために満たすべき通信の条件が、上り経路にはあるが下り経路にはない(下り経路はどのような通信環境でも構わない)という例もあり得る。本発明は、そのような例をも範囲内とするものであって、その場合は、例えば、少なくとも一つのアプリケーションサーバ装置から少なくとも一つのサービスが提供されるネットワークに接続することができるアプリケーション端末装置であって、前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求める条件特定手段と、前記アプリケーション端末装置から前記アプリケーションサーバ装置へ至る複数の経路の各々により提供可能な通信環境についての情報を記憶する記憶手段と、前記条件特定手段により求められた条件と前記記憶手段に記憶された情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供のために用いられるべき経路を決定し、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置に対して、前記決定された経路の選択を指示する経路指示手段とを備えたことを特徴とする。
【発明の効果】
【0028】
以上のとおり、本発明によれば、アプリケーション端末装置が、複数の経路のうちのいずれの経路を選択すべきかを決定し、複数の経路の分岐点にあるデータ転送装置がアプリケーション端末装置の決定に従って経路の選択を行うことができる。
【発明を実施するための最良の形態】
【0029】
以下、本発明の実施の形態について図面を用いて説明する。
【0030】
本発明の一実施形態に係る通信方式では、ネットワークに複数の経路が存在し、その中からアプリケーションのサービス提供に使用されるべき経路を選択する処理が、アプリケーション端末駆動で行われる。図1は、本通信方式が適用されるシステム構成の一例を示す。図1の例では、アプリケーションサーバ100からのサービスの提供を受けることのできるアプリケーション端末200が、端末側ルータ500を介して、ネットワーク300に接続されている。ネットワーク300は、インターネット等のオープンネットワーク、あるいは専用網、ケーブルテレビによる閉域網などの任意のネットワークのいずれか、またはその組み合わせとすることが可能である。
【0031】
アプリケーションサーバ100は、サーバ側ルータ400を介して、ネットワーク300に接続されているが、サーバ側ルータ400と端末側ルータ500との間には、複数の経路A,B,Cが存在している。本例では、これらの経路は、物理的に異なる経路であり、それぞれ異なる物理リンクを通るようになっている。例えば、経路Aはインターネットサービスプロバイダ(ISP)−Aの通信網を、経路BはISP−Bの通信網を、経路CはISP−Bの通信網を通るものとしてもよいし、他の例では、経路Aは光ファイバによる有線通信網を、経路Bは無線LANの通信網を、経路Cは携帯電話の通信網を、経路D(図示せず)はケーブルテレビによるケーブルネットワークを通るもの等としてもよい。これらの例では、サーバ側ルータ400と端末側ルータ500のそれぞれが、経路Aに対応してリンク(インタフェース)Aを、経路Bに対応してリンクBを、経路Cに対応してリンクCを、(経路Dに対してリンクDを)備える。
【0032】
なお、サービスが提供されるに際し、アプリケーションサーバ100からアプリケーション端末200へ向かう下り経路と、アプリケーション端末200からアプリケーションサーバ100へ向かう上り経路の、いずれか又は両方が用いられるが、複数の経路A〜Cの一部が下りトラフィックしか通さなかったり、上りトラフィックしか通さなかったりする構成例もあり得る。また、以下に詳述する経路の選択が、下り経路についてのみ行われる例や、上り経路についてのみ行われる例もあり得る。さらに、下りと上りの両方について経路の選択を行う例において、下り経路と上り経路が異なる経路になることもある。
【0033】
アプリケーション端末200は、アプリケーションサーバ100からサービスの提供を受けるために通常備えられているアプリケーションサービス実行部210の他に、サービス属性/通信条件変換モジュール220と、指示モジュール230とを備える。アプリケーション端末200は、さらに、経路の選択にユーザの意思を反映させるために、指示モジュール230の処理結果をユーザに提示したり、ユーザによる入力を指示モジュール230に伝えたりするユーザインタフェース(図示せず)を備えてもよい。
【0034】
アプリケーション端末200は、また、提供されるサービスに係るデータを端末側ルータ500から受信してアプリケーションサービス実行部210に渡したり、同じく提供されるサービスに係るデータであってアプリケーションサーバ100へ送信すべきものをアプリケーションサービス実行部210から受け取って端末側ルータ500へ送出したりするデータ送受信部(図示せず)を備えている。
【0035】
なお、指示モジュール230は、端末側ルータの指示API(アプリケーションプログラミングインターフェース)530や、サーバ側ルータの指示API430と、後述するメッセージ交換(情報取得を含む)を行うが、このメッセージも、上記のデータ送受信部を介して送受信することができる。図では、指示モジュール230と指示API430,530とが、同じ上位層でメッセージ交換をしている(これに対し、ルータ400,500におけるデータ転送は、より物理層に近いネットワーク層等で行われる)ことを表すために、矢印がデータ転送の経路とは異なる場所に描かれているが、物理的には、メッセージ交換もデータ転送も、同じネットワークインタフェースを介して行うことができる。つまり、指示モジュール230と指示API430,530との間のメッセージ交換は、アプリケーション端末200のデータ送受信部や、ルータ400,500のリンクA〜Cのいずれか(但し、データ転送のために選択された経路とは別の経路が使われることがある)を介して行うことができる。
【0036】
アプリケーション端末200のサービス属性/通信条件変換モジュール220は、アプリケーションに依存する各サービスの属性から、そのサービスの提供に適した通信条件を求めるものであり、指示モジュール230は、求められた通信条件に応じて選択すべき経路を決定し、サーバ側ルータ400又は端末側ルータ500に、指示API430,530経由で、経路選択指示メッセージを送信するものである。この結果、指示された経路が選択されて、アプリケーションサービス実行部200で実行されているサービスに係るデータが送受信されるようになり、ユーザは、そのサービスに相応しい通信環境の下で、サービスを享受することができるようになる。
【0037】
指示モジュール230が送出する経路選択指示メッセージは、サーバ側ルータ400に下り経路の選択を指示し、端末側ルータ500に上り経路の選択を指示するものである。但し、例えば、端末側ルータ500が、サーバ側ルータ400に選択すべき経路を指示する機能を有している場合は、指示モジュール230は、サーバ側ルータ400に下り経路の選択を指示する経路選択指示メッセージに代えて、端末側ルータ500にサーバ側ルータ400への経路選択指示を依頼する経路選択指示メッセージを送出してもよい。
【0038】
パソコン、電話機、家電製品、ゲーム機等々、コンピュータ機能とネットワークインタフェースを備えた装置であれば、どのようなものであってもアプリケーション端末200になり得る。つまり、例えば、上記の装置に、アプリケーションプログラムをインストールすることにより、アプリケーションサービス実行部210を構成することが可能であり、本発明の一実施形態に係るプログラムをインストールすることにより、サービス属性/通信条件変換モジュール220と指示モジュール230を構成することが可能である。また、同じ装置に、新たにアプリケーションプログラムを追加する際には、追加するアプリケーション用のサービス属性/通信条件変換のための情報(必要であれば、通信条件を満たす経路が複数あった場合に1つに絞るための評価基準を示す情報も)さえ追加すれば、新たなアプリケーションに対しても、端末駆動型の経路選択が可能になる。一方で、だからといって、アプリケーション端末200が、汎用的な装置である必要はなく、あるアプリケーションに専用の端末であってもよいし、上述したアプリケーション端末200の機能の一部を専用ハードウェア化して実装してもよい。
【0039】
一方で、サーバ側ルータ400,端末側ルータ500はそれぞれ、ルータとして機能するために通常備えられているデータ転送部410,510の他に、経路選択モジュール420,520と、指示API430,530とを備える。指示API430,530は、ルータの外部から、経路選択指示メッセージを受け取って、ルータ内部の経路選択モジュール420,520に、受け取った経路選択指示を伝えるために設けられたものであり、例えば、既存のルータ装置に本発明の一実施形態に係るプログラムをインストールすることにより、実装することが可能である。経路選択モジュール420,520は、マルチリンク(マルチホーム)接続に対応して経路の選択を行う機能を有するルータであれば、備えているものであり、例えば、本発明者らが先に提案した技術を利用する場合、特開2004−274702号公報、特開2004−274703号公報(以下、本発明者ら公報という)に示されるように実装することが可能である。
【0040】
指示API430,530は、経路選択というネットワーク利用者全体に影響を及ぼし得る動作を、ルータの外部からの指示に従って行うことを許容するものであると考えれば、指示メッセージを送信してきたアプリケーション端末200もしくは他のルータ(サーバ側ルータにとっての端末側ルータ等)について、認証を行い、経路選択の指示が事前に許可された装置であることが確認された場合にのみ、その指示に従うようにする機能を備えると、より安全である。
【0041】
経路選択モジュール420,520は、アプリケーションのサービス毎に、データ転送部410,510がデータを転送する経路を選択可能なものである。いま、下り経路を選択する場合を例にとると、アプリケーション端末200が、同時には1つのアプリケーションの1つのサービスしか実行しないものの場合は、経路選択モジュール420は、例えば、転送するデータパケットのネットワーク層のアドレス(あるアプリケーション端末と別のアプリケーション端末を区別できる情報)を参照して、そのパケットを投入する経路を選べばよい。
【0042】
アプリケーション端末200が同時に複数のサービス(例えば、映像放送アプリケーションのサービスと音声通話アプリケーションのサービス等)を実行可能なものだとすると、経路選択モジュール420は、例えば、転送するデータパケットのネットワーク層より上位層になるポートやプロトコルID等(同一のアプリケーション端末内での複数のサービスを区別できる情報)をも参照して、そのパケットを投入する経路を選べばよい。経路選択モジュール420が、このように詳細な情報まで参照してルーティングする場合、例えば、同一のアプリケーションサーバ100と同一のアプリケーション端末200との間でも、複数の経路が同時に(一方はあるサービス用に、他方は別のサービス用に)使用可能であることになる。
【0043】
さて、アプリケーション端末200の指示モジュール230は、サービス属性/通信条件変換モジュールで求められた通信条件に応じて選択すべき経路を決定するが、通信条件に合う経路がどれであるかを調べるために、各経路の通信環境を示す情報を記憶している。この情報は、回線種別や回線帯域、各経路に割り当てられている最大帯域等、静的なものであってもよいが、よりよいサービスの提供のためには、現在の各経路の通信環境を示す動的な情報(ロス、遅延、ゆらぎ、有効帯域等)であることが望まれる。現在各経路の接続が生きているか切断されているかの死活情報も、通信環境の動的な情報になり得る。
【0044】
後者の場合、指示モジュール230は、ネットワーク内の各経路の現在の通信環境に関する情報を、複数の経路の分岐点又は合流点に当たるルータ(サーバ側ルータ400又は端末側ルータ500)から、指示API430,530を介して、取得する。サーバ側ルータ400,端末側ルータ500では、それぞれのデータ転送部410,510を介して、経路選択モジュール420,520が、各経路の現在の通信環境に関する情報を収集している。この収集された情報は、指示API430,530経由で、指示モジュール230へ送られることになる。なお、通信環境のパラメータによって、その観測方法は異なり、データ転送部410,510でその経路のトラフィックを計測して得られるものもあれば、他のルータや端末とメッセージ交換して得られるものもある。これらの通信環境情報の収集については、本発明者ら公報にも、その一例が示されている。
【0045】
図1では、サーバ側ルータ400につながるアプリケーションサーバ100も、端末側ルータ500につながるアプリケーション端末200も、1つずつしか描かれていないが、それぞれが複数存在することも、勿論あり得る。アプリケーションサーバが複数の場合にも、上述したように、1つアプリケーション端末200内で、同時に複数のサービスが実行可能となることがある。アプリケーションサーバが複数で、各サーバは1つのアプリケーションのサービスを提供する場合には、下り経路を選択するサーバ側ルータ400の経路選択モジュール420は、例えば、転送するデータパケットの宛先のネットワーク層アドレス(アプリケーション端末200のアドレス)に加えて送信元のネットワーク層アドレス(アプリケーションサーバのアドレス)を参照することでも、そのパケットを投入する経路を選ぶことができる。この場合も、同一のアプリケーション端末200において、複数の経路が同時に(一方はあるアプリケーションサーバからのサービス用に、他方は別のアプリケーションサーバからのサービス用に)使用可能であることになる。
【0046】
図2には、本通信方式が適用されるシステム構成の他の例を示す。図2では、図1に関して説明したのと異なり、複数のアプリケーションサーバ100,101が、それぞれ対応するサーバ側ルータ400,401を介して、ネットワーク300に接続されている。図1と図2では、同じ構成要素に、同じ符号を付している。図2では、端末側ルータ500とネットワーク300との間のリンクは、図1と同様にリンクA,B,Cであるが、サーバ側ルータ400との間の経路は、経路1,2,3となり、サーバ側ルータ401との間の経路は、経路11,12となる。なお、この例で、アプリケーション端末200が、アプリケーションサーバ100からのサービスと、アプリケーションサーバ101からのサービスを、同時に実行する場合は、経路1〜3から選択された経路と、経路11〜12から選択された経路とが、同時に使用されるだけであるから、この場合のルータの経路選択モジュールは、宛先ネットワーク層アドレスを参照すれば、データパケットを投入する経路を選べることになる。
【0047】
ここで、端末側ルータ500につながるアプリケーション端末200が複数ある場合の本通信方式の利用イメージの一例を説明しておく。例えば、社内システムのアプリケーション端末X、音声通信/電話のアプリケーション端末Y、放送/IPTVのアプリケーション端末Zが、端末側ルータ500を介してネットワーク300に接続されるとする。この場合、各アプリケーション端末にサービスを提供するアプリケーションサーバ100は、それぞれ別個に設けられた複数のサーバであってもよいし、1つのサーバに統合されていてもよい。
【0048】
それぞれのアプリケーション端末200は、それぞれのサービス属性/通信条件変換モジュール220と指示モジュール230に、例えば、機密性を重視した通信条件への変換テーブルと評価基準(端末X)、レスポンスを重視した通信条件への変換テーブルと評価基準(端末Y)、解像度を重視した通信条件への変換テーブルと評価基準(端末Z)を記憶している。そして、例えば、端末Yの変換モジュール220は、指定されたサービス(ある相手先との音声通話)において許容される通話遅延や音声劣化等の属性を、その属性のサービスを実現できる通信環境の情報(通信条件)へ変換して指示モジュール230へ渡し、指示モジュール230は、渡された通信条件を満たす通信環境の経路を特定し、そのような経路が複数あれば、その中からより遅延の少ない(端末Yの評価基準に基づく)経路を1つ決定する。
【0049】
ここで、一例として、経路Aが暗号化されている回線、経路Bが低遅延の回線、経路Cが広帯域の回線であったとすると、端末Yの指示モジュール230は、経路Bを選ぶことになる。そして、端末Yの指示モジュール230は、サーバ側ルータ400及び端末側ルータ500の指示API430,530に、経路B(下り/上りとも)を選択するように指示メッセージを送る。すると、経路選択モジュール420が、端末Yへのデータパケットを経路Bに投入するように、データ転送部410を制御し、経路選択モジュール520が、端末Yから音声通信・電話アプリケーションサーバへのデータパケットを経路Bに投入するように、データ転送部510を制御する。
【0050】
一方、端末Zの変換モジュール220は、指定されたサービス(ある映像コンテンツの視聴)の画面サイズ、フレームレート、実効帯域等の属性を、その属性のサービスを実現できる通信環境の情報(通信条件)へ変換して指示モジュール230へ渡し、指示モジュール230は、渡された通信条件を満たす通信環境の経路を特定し、そのような経路が複数あれば、その中からより帯域の広い(端末Zの評価基準に基づく)経路を1つ決定する。上記の例では、端末Yの指示モジュール230は、経路Cを選ぶことになる。そして、端末Yの指示モジュール230は、サーバ側ルータ400の指示API430に、経路C(下り)を選択するように指示メッセージを送り、経路選択モジュール420が、端末Zへのデータパケットを経路Cに投入するように、データ転送部410を制御する。
【0051】
また、端末Xの変換モジュール220は、例えば、暗号化がされているという通信条件を指示モジュール230へ渡し、指示モジュール230は、渡された通信条件を満たす通信環境の経路を特定し、そのような経路が複数あれば、その中から通常のルータが行う経路制御システムによる経路選択アルゴリズムに従って(アプリケーションに依存しない評価基準もあり得る)経路を1つ決定する。上記の例では、端末Xの指示モジュール230は、経路Aを選ぶことになる。そして、端末Xの指示モジュール230は、サーバ側ルータ400及び端末側ルータ500の指示API430,530に、経路A(下り/上りとも)を選択するように指示メッセージを送る。すると、経路選択モジュール420が、端末Xへのデータパケットを経路Aに投入するように、データ転送部410を制御し、経路選択モジュール520が、端末Xから社内システムアプリケーションサーバへのデータパケットを経路Aに投入するように、データ転送部510を制御するする。
【0052】
サーバ側ルータ400,端末側ルータ500は、端末X〜Zが上述した処理を行えるように、各経路の現在の通信環境を表す情報を、指示API420,520経由で各端末へ送る。経路選択モジュール420,520は、指示API420,520経由で指示されたとおりに、データ転送部410,510を制御する。ルータ400,500におけるこれらの処理が、各端末でどのようなアプリケーションが実行されているかによって変わることはない。ゆえに、本システムでは、アプリケーションの種類が増えたときに、その新しい種類のアプリケーションを採用する端末だけを更新すればよいため、拡張性に優れるのである。
【0053】
上記の各端末がサーバ側ルータ400や端末側ルータ500へ送る経路選択指示メッセージの内容は、データ転送部410,510が、受けたデータパケットをどの経路に投入すればよいかを見分けられるものとすればよい。例えば、端末Yが音声通信・電話アプリケーションと同時に他のアプリケーションを実行することがなく、対応する音声通話・電話アプリケーションサーバがそのアプリケーション専用である場合は、下り経路の選択を指示するためのサーバ側ルータ400への経路選択指示メッセージは、[端末Yのアドレス、経路Bの識別情報]とし、上り経路の選択を指示するための端末側ルータ500への経路選択指示メッセージは、[音声通話・電話アプリケーションサーバのアドレス、経路Bの識別情報]とすることができる。
【0054】
端末Yが音声通信・電話アプリケーション以外のアプリケーションも同時に実行する場合は、下り経路の選択を指示するためのサーバ側ルータ400への経路選択指示メッセージを、例えば、[端末Yのアドレス、音声通信・電話アプリケーションを示すポート又はプロトコルID、経路Bの識別情報]とするか、対応する音声通話・電話アプリケーションサーバがそのアプリケーション専用なら[端末Yのアドレス、音声通信・電話アプリケーションサーバのアドレス、経路Bの識別情報]とすればよい。また、対応するサーバが音声通信・電話アプリケーション以外のアプリケーションも同時に提供する場合は、上り経路の選択を指示するための端末側ルータ500への経路選択指示メッセージを、例えば、[音声通話・電話アプリケーションサーバのアドレス、音声通信・電話アプリケーションを示すポート又はプロトコルID、経路Bの識別情報]とすればよい。
【0055】
なお、上記の利用イメージ例では、サービス属性から通信条件への変換に加えて、通信条件を満たす複数の経路から1つに絞るための評価基準も、アプリケーション依存にできるように、アプリケーション端末200の指示モジュール230に評価基準を持たせているため、1つの経路のみを経路選択指示メッセージに含ませているが、本通信方式は、これに限られるものではない。例えば、通信条件を満たす複数の経路から1つに絞る処理は、ルータ400,500の経路選択モジュール420,520で行なってもよく、その場合は、アプリケーション端末200の指示モジュール230は、通信条件を満たす複数の経路を経路選択指示メッセージに含ませればよい。
【0056】
以下では、図2の場合を例にとり、アプリケーション端末200の動作を詳細に説明していく。
【0057】
図3は、アプリケーション端末200の指示モジュール230が記憶している各経路の通信環境を表す情報の一例を示す。図3(a)は、下り経路の通信環境であり、図2のサーバ側ルータ400からの経路1,2,3及びサーバ側ルータ401からの経路11(図では一般的にNと記載)の情報(暗号化の有無、ロス、遅延、有効帯域等)が記憶されている。図3(b)は、上り経路の通信環境であり、図2のサーバ側ルータ400への経路1,3及びサーバ側ルータ401への経路12(図では一般的にMと記載)の情報(暗号化の有無、ロス、遅延、有効帯域等)が記憶されている。
【0058】
図3の情報は、サーバ側ルータ400,401及び端末側ルータ500が収集したものである。例えば、サーバ側ルータ400が図3(a)の下り経路1〜3の情報を記憶しており、サーバ側ルータ401が図3(a)の下り経路11〜12の情報を記憶しており、端末側ルータ500が図3(b)の上り経路の情報を記憶しており、アプリケーション端末200の指示モジュール230は、これらのルータに記憶された情報を取得する。なお、ネットワーク300に、ネットワーク内の全ての経路の通信環境を収集し、まとめて記憶するようなセンタが設置されている場合には、アプリケーション端末200の指示モジュール230は、そのセンタから図3の情報を取得してもよい。
【0059】
図3の情報は、アプリケーション端末200の指示モジュール230が、サーバ側ルータ400,401及び端末側ルータ500(もしくはセンタ)に対して情報要求を送信し、この要求に応えて送られてくる情報を受信することにより取得してもよいし、これらのルータ(もしくはセンタ)から、定期的に送られてくる情報を取得してもよい。対応するルータ(もしくはセンタ)から通信環境が変化したときに通知を受けて、この通知に応えて情報を要求することにより、変化した情報を取得してもよい。
【0060】
図4は、サーバ側ルータ400の経路選択モジュール420が下り経路の選択のために、あるいは、端末側ルータ500の経路選択モジュール520が上り経路の選択のために、保持している検索テーブルの一例を示す。この検索テーブルは、データ転送部410,510がデータパケットを転送する際に参照されるものである。
【0061】
図4の例では、データパケットのヘッダ中の検索キーとして、宛先アドレス、宛先ポート、送信元アドレス、送信元ポート、プロトコルIDが使用可能であり、これらの検索キーから、パケットを投入すべき経路を特定できるようになっている。パケットを経路に投入する際には、実際には、その経路の出口(経路1であればリンクA、経路2であればリンクB・・等)をネットワーク内の中継装置群が特定できるように、パケットを加工して送出するという処理を行うため、図4の検索テーブルでは、経路の出口(ネットワークにおける経路の入口から出口までをトンネルと考えれば、トンネルの宛先)を求められるようになっている。
【0062】
例えば、アプリケーション端末200からサーバ側ルータ400へ、下り経路の選択を指示するための[端末Yのアドレス、経路Bの識別情報]という経路選択指示メッセージが送られてきていたとすると、サーバ側ルータ400が有する図4の検索テーブルは、宛先アドレスの欄に端末Yのアドレスが、トンネルの宛先の欄に経路Bの出口が、書き込まれた状態になる。また、アプリケーション端末200から端末側ルータ500へ、上り経路の選択を指示するための[音声通話・電話アプリケーションサーバのアドレス、経路Bの識別情報]という経路選択指示メッセージが送られてきていたとすると、端末側ルータ500が有する図4の検索テーブルは、宛先アドレスの欄に音声通話・電話アプリケーションサーバのアドレスが、トンネルの宛先の欄に経路Bの出口が、書き込まれた状態になる。
【0063】
図5は、アプリケーション端末200のサービス属性/通信条件変換モジュール220が記憶している変換テーブルの一例を示す。あるアプリケーションが提供する個々のサービスは、そのサービスを提供するのに必要な通信環境という観点から付与される種別を有するものとする。1つのアプリケーションが提供する複数のサービスが、それぞれ全て別個の種別である例もあれば、幾つかの種別にまとめて分類される例もある。前者の場合、アプリケーションサーバから通知されるサービス名がそのまま種別を表すとしてもよい。後者の場合、アプリケーションサーバからサービス名とそのサービスの種別が通知されるため、アプリケーション端末200では、通知された種別に基づいて、図5の変換テーブルを検索すればよい。
【0064】
サービスの種別とそのサービスに必要な通信環境(通信条件)との対応は、アプリケーションによって決まるものであるから、図5の変換テーブルは、アプリケーション毎に用意される。なお、例えば、映像伝送の場合は、フレームレート、画面サイズ、実効帯域等の、コンテンツの視聴条件が、音声通信の場合は、許容される通話遅延、音声劣化等の通話条件があり、これらの条件から、直接、その条件を満足するのに必要な通信環境の各パラメータ(暗号化の要否、ロス、遅延、有効帯域等)を計算するように、サービス属性/通信条件変換モジュール220を構成することも可能である。一方で、本例のように、より簡易に実装できるよう、視聴条件や通話条件によって各サービスを幾つかの種別に分類し、種別に基づく変換テーブルの参照によって、サービス属性を通信条件に変換することも可能である。また、サービス属性に基づいて通信条件を求める際に、そのサービスを受けるアプリケーション端末の仕様に合わせた通信条件が、求められるようにしてもよい。
【0065】
図5の変換テーブルで求められる通信条件のパラメータの例は、暗号化の要否(YES又はNOの値をとる)、ロス(0〜100%の値をとる)、遅延(単位はms)、有効帯域(単位はMbps)であり、各パラメータとして、条件値、あるいはUNDEF(そのパラメータは条件にならないことを示す)が設定される。同じサービス種別でも、下りトラフィックと上りトラフィックでは、適切な通信条件が異なるため、図5の変換テーブルには、下りと上りのトラフィックについて個別に設定がなされている。なお、例えば、下り経路の通信環境は問うが、上り経路の通信環境はどのようなものでも構わないアプリケーションであれば、下りトラフィックについての変換テーブルがあればよい。
【0066】
図6は、適切な経路を選択して所望のサービスを享受できるようになるまでにアプリケーション端末200が行う手順の一例を示す。アプリケーションサーバ100又は101から提供可能なサービスに関する情報を受信すると(S1010)、サービス属性/通信条件変換モジュール220が、そのアプリケーション用の図5の変換テーブルを参照する。下りトラフィックの変換テーブルがあれば、提供可能な各サービスの種別に基づいて、それぞれの通信条件を求める(S1020)。
【0067】
そして、指示モジュール230が、アプリケーションサーバ100又は101のアドレスから、対応するサーバ側ルータ400又は401を特定し、記憶されている図3(a)の情報のうち、特定されたサーバ側ルータについての各下り経路の通信環境を参照する(S1030)。 指示モジュール230は、さらに、提供可能な各サービスについて、サービス属性/通信条件変換モジュール220により求められた通信条件を満たす通信環境の下り経路が存在するか否かを、参照した情報から判断する(S1040)。なお、指示モジュール230は、予め、アプリケーションサーバとサーバ側ルータの対応を、端末側ルータ500から教えてもらい、サーバ側ルータ解決テーブル(図示せず)として記憶している。
【0068】
サービス属性/通信条件変換モジュール220は、上りトラフィックの変換テーブルがあれば、そちらについても、提供可能な各サービスの種別に基づいて、それぞれの通信条件を求め(S1050)、指示モジュール230は、記憶されている図3(b)の情報のうち、上記のように特定されたサーバ側ルータについての各上り経路の通信環境を参照する(S1060)。そして、指示モジュール230は、提供可能な各サービスについて、サービス属性/通信条件変換モジュール220により求められた通信条件を満たす通信環境の上り経路が存在するか否かを、参照した情報から判断する(S1070)。
【0069】
提供可能な各サービスのうち、下り経路と上り経路のいずれについても通信条件を満たす通信環境のものが存在すると判断されたサービスは、アプリケーション端末200のユーザインターフェース(図示せず)により、選択可能なサービスとして提示される(S1090)。下り経路と上り経路のいずれかについて通信条件を満たす通信環境のものが存在しないと判断されたサービスは、選択不可能なサービスとして提示される(S1080)。これらの提示は、例えば、ユーザインタフェースの表示画面に、提供可能なサービス一覧が表示され、その一覧の中で、選択可能なサービスは濃く表示して、クリックするとそのサービスが指定されるようにし、選択不可能なサービスは薄く表示して、クリックしてもサービスの指定ができないようにすればよい。
【0070】
ここで、選択可能なサービスとして提示された中に、例えば、下り経路Aを選択すれば適切な通信環境で提供できるサービスPと、下り経路Bを選択すれば適切な通信環境で提供できるサービスQとが混在し得ることになる。つまり、現在、サーバ側ルータで、アプリケーション端末200への経路として経路Aが選択されている場合、従来技術では、サービスPしか選択可能なサービスとして提示できなかったものが、本通信方式では、サービスQも選択可能なサービスとして提示できることになり、実際に、ユーザがサービスQを指定すれば、アプリケーション端末駆動でサーバ側ルータでの経路選択が切り換わり、経路Bが選択されてサービスQが提供される。このように、ユーザが能動的にネットワーク途中の経路を選択することができることで、アプリケーション利用に際しての利便性が向上する。
【0071】
ユーザが、選択可能なサービスとして提示された中から、所望のサービスを指定すると、アプリケーションサービス実行部210が、この指定を受け付けて、アプリケーションサーバ100又は101に伝える(S1100)。一方で、アプリケーションサービス実行部210は、サービスの指定を指示モジュール230にも伝え、指示モジュール230は、指定されたサービスの通信条件を満たす下り/上り経路の中から、指示モジュール230の持つ評価基準(アプリケーション依存でも非依存でもよい)に沿って、最良の通信環境のものを決定する(S1110)。
【0072】
そして、指示モジュール230は、決定された経路を選択するように、下り経路についてはサーバ側ルータ400又は401へ、上り経路については端末側ルータ500へ、それぞれ指示API430,530経由で、指示メッセージを送る(S1120、S1130)。決定された経路として、複数の経路(候補)を送り、その中から1つをルータの経路選択モジュール420,520に選択させるのでも、アプリケーション端末200が指定のサービスを適切な通信環境で享受できることに変わりないので、構わない。以降は、選択された経路で、アプリケーションサーバ100又は101とアプリケーション端末200との間の通信が行われることになる。
【0073】
図7は、アプリケーション端末200が、図3に示すような各経路の通信環境の情報を取得し、更新していくために行う手順の一例を示す。まず、アプリケーション端末200の指示モジュール230は、例えば、起動時に、アプリケーション端末200自身が属しているネットワーク(ユーザネットワーク)のデフォルトルータを、端末側ルータ500として登録する(S2010)。そして、指示モジュール230は、登録した端末側ルータ500に対して、初期化メッセージを送り、端末側ルータ500が記憶する端末リストに、アプリケーション端末200を登録するように要求する(S2020)。
【0074】
初期化メッセージを受信した端末側ルータ500は、自身が通信を行っているサーバ側ルータ400,401のアドレスを、アプリケーション端末400へ送る(S2030)。端末側ルータ500は、サーバ側ルータ400が接続するのがアプリケーションサーバ100であり、サーバ側ルータ401が接続するのがアプリケーションサーバ101であるという情報を有しているため、アプリケーション端末200が、初期化メッセージに、自身がサービスを受ける可能性のあるアプリケーションサーバのアドレスを含ませておけば、端末側ルータ500は、初期化メッセージに含まれていたアプリケーションサーバに対応するサーバ側ルータのアドレスを、対応関係が分かるように返送する。そうすると、指示モジュール230は、返送された情報を、前述したサーバ側ルータ解決テーブル(図示せず)に書き込むことができる。
【0075】
端末側ルータ500は、初期化メッセージに応答して、自身とそれぞれのサーバ側ルータとの間に存在する上り経路のリストと、各経路に関する通信環境の情報も、アプリケーション端末200へ送る(S2030)。そうすると、指示モジュール230は、図3(b)に示したような情報を記憶することができる。
【0076】
アプリケーション端末200の指示モジュール230は、さらに、通知されたサーバ側ルータ400に対して、初期化メッセージを送り、サーバ側ルータ400が記憶する端末リストに、アプリケーション端末200を登録するように要求する(S2040)。初期化メッセージを受信したサーバ側ルータ400は、自身と端末側ルータとの間で利用可能な下り経路のリストと、各経路に関する通信環境の情報を、アプリケーション端末200へ送る(S2050)。
【0077】
端末側ルータ500から教えられたサーバ側ルータが、他にも存在する場合(S2060Yes)、そのサーバ側ルータ401についても、初期化メッセージを送り(S2040)、下り経路のリストと、各経路に関する通信環境の情報を受信する(S2050)処理を繰り返す。端末側ルータ500から教えられたサーバ側ルータの全てについて処理が終わると(S2060No)、指示モジュール230では、サーバ側ルータ400,401のそれぞれから受信された情報を合わせて、図3(a)に示したような情報が記憶されることになる。
【0078】
端末リストにアプリケーション端末200を登録した端末側ルータ500、サーバ側ルータ400,401と、アプリケーション端末200との間では、定期的にキープアライブメッセージが交換され(S2070)、端末リストが更新される。また、端末側ルータ500と、サーバ側ルータ400,401のそれぞれとの間でも、その間に存在する各経路について、定期的にキープアライブメッセージ及び通信環境の計測パケットを送受信しており、それぞれのルータが有している各経路の通信環境の情報をリアルタイムに更新している。
【0079】
端末側ルータ500及びサーバ側ルータ400,401は、自身の有する通信環境の情報がある経路について変化した場合には、端末リストに登録されているアプリケーション端末のうち、通信環境が変化した経路に関係するアプリケーション端末200に対して、通信環境変化通知メッセージを送信する。アプリケーション端末200の指示モジュール230は、この変化通知メッセージを受信すると(S2080Yes)、変化通知メッセージの送信元のルータに対し、変化した通信環境の情報を要求し、返送されてきた情報で、記憶されている図3の情報を更新する(S2090)。
【0080】
図7に示した手順は、あくまで一例であり、他の例では、アプリケーション端末200から改めて要求するまでもなく、ルータから送られてくる変化通知メッセージの中に、変化した通信環境の情報が含まれていてもよいし、端末リストの更新が、アプリケーション端末200との間で定期的にキープアライブメッセージを交換しなくても、アプリケーション端末200との間の通信が切断された状態にならない限り、端末リストの登録を維持するという方法で行われてもよい。
【0081】
図8は、適切な経路を選択して指定のサービスを享受できるようになるまでにアプリケーション端末200が行う手順の別の例と、経路の切り換えが起こる場合にアプリケーション端末200が行う手順の一例を示す。なお、図8に示す経路の切り換え手順(S3090、S3100)は、図6に示した経路の選択手順にも、適用できるものである。
【0082】
まず、アプリケーションサービス実行部210が、サービスの指定を受け付ける(S3010)。ここでのサービスの指定は、ユーザが行ってもよいし、システムが自動的に行なってもよい。例えば、アプリケーション端末200が特定のアプリケーションの専用端末であったり、利用するサービスが予め1つに定まっているアプリケーションであったりする場合には、サービスの指定を自動的に行なうことができる。なお、図6の手順においても、実行可能なサービスと実行不可能なサービスが特定できた時点(S1080、S1090)で、実行可能なサービスのうち最適なサービスが自動的に定まるようなアプリケーションであれば、ユーザへの提示を省略して、システムが自動的に指定したサービスを受け付ける(S1100)ことができる。
【0083】
受け付けられたサービスの指定は、サービス属性/通信条件変換テーブル220に伝えられて、そのサービスの種別を検索キーとして図5の変換テーブルが参照され、上り/下りトラフィックの通信条件が求められる(S3020)。そして、指示モジュール230が、サーバ側ルータ解決テーブルを参照して、指定のサービスを提供するアプリケーションサーバのアドレスから、対応するサーバ側ルータを特定し(S3035)、記憶されている図3の情報のうち、特定されたサーバ側ルータについての下り/上り経路の通信環境を参照する(S3035)。
【0084】
通信条件を満たす通信環境の下り/上り経路が存在しない場合(S3040No)、サービス提供ができないことをユーザに知らせる(S3050)。通信条件を満たす通信環境の下り/上り経路が存在する場合は(S3040Yes)、それらの経路の中から、指示モジュール230の持つ評価基準に沿って、最良の通信環境のものが決定される(S3060)。そして、指示モジュールは、決定された経路を選択するように、下り経路についてはサーバ側ルータへ、上り経路については端末側ルータへ、それぞれ経路選択指示メッセージを送る(S3070、S3080)。その結果、アプリケーション端末200では、選択された経路で、指定のサービスに係るデータが受信されるようになる(S3090)。
【0085】
ここで、アプリケーション端末200が、図7に示した手順における通信環境変化通知メッセージを受信すると(S3100Yes)、図3の情報が更新されているはずなので、指定のサービスに係るデータを転送しているサーバ側ルータについての下り/上り経路の通信環境を再度参照する(S3035)。通信環境の変化により、通信条件を満たす経路がなくなった場合には(S3040No)、適切な通信環境でのサービス提供ができなくなった旨をユーザに知らせる(S3050)。
【0086】
変化後の通信環境に基づいて、通信条件を満たす経路の中で最良の通信環境のものを決定した結果(S3060)、以前選択していた経路と変わらなければ、そのまま選択された経路でのデータ転送によるサービス享受を続けるが(S3090)、以前選択していた経路と異なる経路が決定されれば、経路を選択し直すように、下り経路についてはサーバ側ルータへ、上り経路については端末側ルータへ、それぞれ経路選択指示メッセージを送る(S3070、S3080)。このとき、経路を選択し直す旨を、必要に応じてユーザに知らせてもよく、ユーザが経路の選択を了承したことに応じて、経路選択指示メッセージを送るようにしてもよい。これ以降、アプリケーション端末200では、切り換えられた経路で、指定のサービスに係るデータが受信されるようになる(S3090)。
【0087】
図8に示した手順も、あくまで一例であり、他の例では、指定されたサービスについて提供できない旨がユーザに知らされた場合(S3050)も、通信環境変化通知メッセージを受信したら(S3100Yes)、更新された通信環境を参照して(S3035)、指定されたサービスが提供できるようになっていた場合(S3040Yes)は、提供できるようになった旨をユーザに知らせた上で、経路選択指示メッセージを送り(S3070、S3080)、サービスの享受を開始するようにしてもよい。
【0088】
また、通信条件を満たす通信環境の下り/上り経路が存在するか否かを調べる際に(図6のS1040とS1070、図8のS3040)、通信条件を満たす通信環境の下り/上り経路のリストを作成しておき、その中から最良のものを決定する際には(図6のS1100、図8のS3060)、作成された経路のリストを参照しながら決定するようにしてもよい。このようなリストを作成しておくと、通信環境変化通知メッセージを受信し(図8のS3100Yes)、その変化通知が、現在選択中の経路の通信環境の劣化を示している場合に、更新された通信環境を参照しなくても、リストに載っている他の経路に切り換えるように、経路選択指示メッセージを送ることも可能になる。
【0089】
図9には、アプリケーション端末200に端末側ルータ500が組み込まれて一体の端末600となった場合の構成例を示す。図1と図9では、同じ構成要素に、同じ符号を付している。図1では図示していなかったデータ送受信部250が、図9では図示されている。指示モジュール630は、上り経路の選択について、同じ端末600内の経路選択モジュール640に直接指示することができ、経路選択モジュール640は、指示された上り経路を選択するように、データ送信部252を制御する。経路選択モジュール640は、データ受信部251を介して取得した各経路の通信環境の情報を記憶しており、指示モジュール630は、同じ端末600内の経路選択モジュール640が記憶している情報を直接参照することができる。
【0090】
図9には示していないが、アプリケーションサーバ100にサーバ側ルータ400を組み込んで一体のサーバを構成することも、勿論可能である。
【0091】
図10は、アプリケーションサーバとアプリケーション端末との間に、複数の経路から使用する経路を選択できるネットワークがあり、本通信方式が適用できるシステムにおいて、動作可能なアプリケーションの具体例を説明するためのものである。
【0092】
最初に、アプリケーションがネットワークゲームである例を説明する。ネットワークゲームサーバが提供可能なサービスの種別として、例えば、シューティングゲーム、高画質CGゲーム、通常画質CGゲーム、トレーディングゲーム等があるとする。ネットワークゲームサーバは、ネットゲームタイトル1及びその種別(シューティングゲーム)、ネットゲームタイトル2及びその種別(高画質CGゲーム)、ネットゲームタイトル3及びその種別(通常画質CGゲーム)、ネットゲームタイトル4及びその種別(トレーディングゲーム)をメニュー化して、アプリケーション端末(ゲーム端末)に提供する。
【0093】
ネットワークゲーム用のサービス属性/通信条件変換テーブルには、例えば、シューティングゲームという種別に対して、上り下りとも、ロス1%以内、遅延12.5ms以内という通信条件が、高画質CGゲームという種別に対して、下りが、ロス0.1%以内、有効帯域6Mbps以上という通信条件が、通常画質CGゲームという種別に対して、下りが、ロス0.1%以内、有効帯域4Mbps以上という通信条件が、トレーディングゲームという種別に対して、上り下りとも、暗号化要、ロス0%という通信条件が、記憶されている。
【0094】
なお、ネットワークゲーム用の評価基準として、シューティングゲームは反応の速さ(遅延の小ささ)優先、CGゲームは映像のきれいさ(帯域の広さ)優先、トレーディングゲームはデータの完全性(ロスの小ささ)優先等を、記憶していてもよい。また、ゲームの視聴条件としては、例えば、シューティングゲームの場合、1秒間に送受信できるアクションの数等があり得るが、この視聴条件から、必要な通信条件(遅延の小ささ等)を計算することができる。
【0095】
そして、各経路の通信環境(いずれのアプリケーションにも共通)として、例えば、上り下りとも、経路A[暗号化無、ロス0.01%、遅延10ms、帯域1Mbps]、経路B[暗号化無、ロス0.01%、遅延30ms、帯域5Mbps]、経路C[暗号化有、ロス0%、遅延50ms、帯域128Kbps]という情報が、記憶されていたとする。
【0096】
そうすると、タイトル1(シューティングゲーム)は、経路Aを選択すれば実行可能であり、タイトル2(高画質CGゲーム)は、いずれの経路でも実行不可能であり、タイトル3(通常画質CGゲーム)は、経路Bを選択すれば実行可能であり、タイトル4(トレーディングゲーム)は、経路Cを選択すれば実行可能であるということが分かる。
【0097】
現在選択されている経路が、経路Aであるとすると、従来技術では、ユーザは、タイトル1(シューティングゲーム)しか選択できないが、本通信方式によれば、ユーザは、タイトル1(シューティングゲーム)、タイトル3(通常画質CGゲーム)、タイトル4(トレーディングゲーム)の中から所望のゲームを選択することができるようになる。そして、例えば、タイトル4(トレーディングゲーム)をユーザが選択すると、経路Cが選択されて、ネットゲームが開始される。
【0098】
次に、アプリケーションが映像放送(例えば、ビデオ・オン・デマンド(VOD))である例を説明する。映像放送の場合、下り経路を評価すればよい。VODサーバが提供可能なサービスの種別として、例えば、ハイビジョン品質、DVD品質、ストリーミング品質等があるとする。VODサーバは、映像タイトル1及びその種別(ハイビジョン品質)、映像タイトル2及びその種別(DVD品質)、映像タイトル3及びその種別(ストリーミング品質)をメニュー化して、アプリケーション端末(受信端末)に提供する。
【0099】
映像放送用のサービス属性/通信条件変換テーブル(下りトラフィック)には、例えば、ハイビジョン品質という種別に対して、ロス1%未満、有効帯域30Mbps以上という通信条件が、DVD品質という種別に対して、ロス0.1%未満、有効帯域6Mbps以上という通信条件が、ストリーミング品質という種別に対して、ロス0.1%未満、有効帯域512Kbps以上という通信条件が、記憶されている。
【0100】
なお、映像タイトル(映像コンテンツ)の視聴条件には、エンコーディング方式、フレームレート、解像度、色数等があり得る。フレームレート(F)、解像度(H×V)、色数(C)の視聴条件からは、予想利用帯域F×H×V×log2(C)を、通信条件として求めることができるが、本例では、エンコーディング方式の種別(ハイビジョン、MPEG2、ストリーミング)に基づく最低有効帯域を、通信条件として用いている。種別や視聴条件の情報は、放送されるコンテンツのメタデータと同じ形式(例えば、XML等)にして、サーバから端末へ送ってもよい。
【0101】
そして、各経路の通信環境(いずれのアプリケーションにも共通)として、例えば、下り経路A[ロス0.5%、帯域30Mbps]、経路B[ロス0.05%、帯域10Mbps]、経路C[ロス0.05%、帯域512Kbps]という情報が、記憶されていたとする。
【0102】
そうすると、タイトル1(ハイビジョン品質)は、経路Aを選択すれば視聴可能であり、タイトル2(DVD品質)は、経路Bを選択すれば視聴可能であり、タイトル3(ストリーミング品質)は、経路B又はCを選択すれば視聴可能であるということが分かる。
【0103】
現在選択されている経路が、経路Bであるとすると、従来技術では、ユーザは、タイトル2(DVD品質)とタイトル3(ストリーミング品質)からしか選択できないが、本通信方式によれば、ユーザは、タイトル1(ハイビジョン品質)、タイトル2(DVD品質)、タイトル3(ストリーミング品質)の全てから所望のゲームを選択することができるようになる。そして、例えば、タイトル1(ハイビジョン品質)をユーザが選択すると、経路Aが選択されて、タイトル1の映像放送が開始される。
【0104】
なお、アプリケーションが、マルチキャスト、ブロードキャスト等による放送であってもよく、その場合のアプリケーションサーバには、放送局がなることもでき、例えば、地上放送波が経路となることも可能である。
【0105】
また、アプリケーションサーバは、同一内容で種別が異なるコンテンツを、提供可能なサービスとして用意しておいてもよい。その場合、上記の例では、VODサーバに、タイトル1−1(ハイビジョン品質)、タイトル1−2(DVD品質)、タイトル1−3(ストリーミング品質)、タイトル2−1(ハイビジョン品質)、タイトル2−2(DVD品質)・・のように用意されることになる。
【0106】
そして、例えば、タイトル1−1の映像放送が開始された後、ユーザが受信端末とともに移動して、各経路の通信環境が変化した場合、移動先で、その内容のコンテンツを視聴するのに最適な経路及びコンテンツの種別を選び直し、切り換えられた経路を用いて、切り換えられた種別のコンテンツ(例えば、タイトル1−3)の視聴を、継続するようにしてもよい。
【0107】
次には、アプリケーションが音声通話(例えば、ヴォイス・オーバ・IP(VOIP))である例を説明する。VOIPサーバが提供可能なサービスの種別として、例えば、高品質、通常品質、低品質があるとする。VOIPサーバは、通話相手1及びその種別(高品質)、通話相手2及びその種別(通常品質)、通話相手3及びその種別(低品質)をメニュー化して、アプリケーション端末(VOIP端末)に提供する。
【0108】
音声通話用のサービス属性/通信条件変換テーブルには、例えば、高品質という種別に対して、上り下りとも、遅延50ms以内という通信条件が、通常品質という種別に対して、上り下りとも、遅延200ms以内という通信条件が、記憶されている。
【0109】
現在選択されている経路では、通話相手2(通常品質)もしくは通話相手3(低品質)しか選択できなくとも、本通信方式によれば、高品質に対応する通信条件を満たす経路が存在する場合、その経路を新たに選択して、通話相手1(高品質)との通話を開始することが可能である。さらに、ユーザは、VOIPから提供されるメニュー(通話相手とその種別が表示される)の中で、通話可能と判断された相手先の中から、実際の通話先を選択するため、想定される音声品質を確認した後に、通話を開始することができる。
【0110】
最後に、アプリケーションが社内システム(例えば、社内OAと内線VOIP)である例を説明する。アプリケーションサーバが提供可能なサービスの種別として、例えば、社外秘に当たる音声通話、社外秘に当たるファイルの共有、公開情報の案内等があるとする。そうすると、社内システム用のサービス属性/通信条件変換テーブルには、例えば、社外秘音声通話という種別に対して、上り下りとも、暗号化要、遅延50ms以内という通信条件が、社外秘ファイル共有という種別に対して、下りが、暗号化要、帯域5Mbpsという通信条件が、公開情報案内という種別に対して、下りが、帯域1Mbpsという通信条件が、記憶される。そして、本通信方式によれば、ユーザは、現在、経路を選択して実行することができる種別のサービスを確認した上で、所望のサービスを利用することができるようになる。
【0111】
以上、本発明の実施形態について説明したが、上述の実施形態を本発明の範囲内で当業者が種々に変形、応用して実施できることは勿論である。
【図面の簡単な説明】
【0112】
【図1】本発明の一実施形態に係る通信方式が適用されるシステム構成の一例を示す図。
【図2】本発明の一実施形態に係る通信方式が適用されるシステム構成の他の例を示す図。
【図3】アプリケーション端末200の指示モジュール230が記憶している各経路の通信環境を表す情報の一例を示す図。
【図4】サーバ側ルータ400の経路選択モジュール420、端末側ルータ500の経路選択モジュール520が、経路選択のために保持している検索テーブルの一例を示す図。
【図5】アプリケーション端末200のサービス属性/通信条件変換モジュール220が記憶している変換テーブルの一例を示す図。
【図6】適切な経路を選択して所望のサービスを享受できるようになるまでにアプリケーション端末200が行う手順の一例を示す図。
【図7】アプリケーション端末200が各経路の通信環境の情報を取得し、更新していくために行う手順の一例を示す図。
【図8】適切な経路を選択して指定のサービスを享受できるようになるまでにアプリケーション端末200が行う手順(経路の切り換えが起こる場合を含む)の一例を示す図。
【図9】アプリケーション端末200に端末側ルータ500が組み込まれて一体の端末600となった場合の構成例を示す図。
【図10】本発明の一実施形態に係る通信方式が適用できるシステムにおいて動作可能なアプリケーションの具体例を説明するための図。
【符号の説明】
【0113】
100、101 アプリケーションサーバ
200、600 アプリケーション端末
210 アプリケーションサービス実行部
220 サービス属性/通信条件変換モジュール
230、630 指示モジュール
250 データ送受信部
300 ネットワーク
400、401 サーバ側ルータ
500 端末側ルータ
410、510 データ転送部
420、520、640 経路選択モジュール
430、530 指示API


【特許請求の範囲】
【請求項1】
少なくとも一つのアプリケーションサーバ装置から少なくとも一つのサービスが提供されるネットワークに接続することができるアプリケーション端末装置であって、
前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求める条件特定手段と、
前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を記憶する記憶手段と、
前記条件特定手段により求められた条件と前記記憶手段に記憶された情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供に用いられるべき経路を決定し、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置により前記決定された経路が選択されるように指示メッセージを送出する経路指示手段とを備えたことを特徴とするアプリケーション端末装置。
【請求項2】
前記アプリケーションサーバ装置と前記ネットワークとの間に配置され、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する第1のルータ装置から、各経路に関する情報を受け取る情報取得手段をさらに備え、
前記記憶手段に記憶される情報は、前記情報取得手段により受け取られた情報に基づくものであり、
前記経路指示手段は、前記第1のルータ装置に対して、経路の選択を指示するものであることを特徴とする請求項1に記載のアプリケーション端末装置。
【請求項3】
前記ネットワークと前記アプリケーション端末装置との間に配置され、前記複数の経路のうち選択された経路で受信されるデータを前記アプリケーション端末装置へ転送する機能を有する第2のルータ装置から、各経路に関する情報を受け取る情報取得手段をさらに備え、
前記記憶手段に記憶される情報は、前記情報取得手段により受け取られた情報に基づくものであり、
前記経路指示手段は、前記第2のルータ装置に対して、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置へ経路の選択を指示するように依頼するものであることを特徴とする請求項1に記載のアプリケーション端末装置。
【請求項4】
前記アプリケーションサーバ装置と前記ネットワークとの間に配置され、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する第1のルータ装置との通信、及び、前記ネットワークと前記アプリケーション端末装置との間に配置され、前記複数の経路のうち選択された経路で受信されるデータを前記アプリケーション端末装置へ渡す機能を有する第2のルータ装置との通信のそれぞれを実行可能である通信手段をさらに備え、
前記記憶手段に記憶される情報は、前記通信手段によって受け取られる各経路に関する情報に基づくものであり、
前記経路指示手段は、前記通信手段を用いて前記指示メッセージを送出するものであることを特徴とする請求項1に記載のアプリケーション端末装置。
【請求項5】
前記記憶手段は、前記アプリケーション端末装置から前記アプリケーションサーバ装置へ至る複数の逆方向経路の各々により提供可能な通信環境についての情報をも記憶するものであり、
前記条件特定手段により求められた条件と前記記憶手段に記憶された情報とに基づいて前記複数の逆方向経路の中から前記指定されたサービスの提供のために用いられるべき経路を決定し、前記複数の逆方向経路のうち指示された経路を選択して前記アプリケーションサーバ装置へのデータを転送する機能を有する装置に対して、前記決定された経路の選択を指示する逆方向経路指示手段をさらに備えたことを特徴とする請求項1に記載のアプリケーション端末装置。
【請求項6】
前記ネットワークと前記アプリケーションサーバ装置との間に配置され、前記複数の逆方向経路のうち選択された経路で受信されるデータを前記アプリケーションサーバ装置へ渡す機能を有する第1のルータ装置、及び、前記アプリケーション端末装置と前記ネットワークとの間に配置され、前記複数の逆方向経路のうち指示された経路を選択して前記アプリケーションサーバ装置へのデータを転送する機能を有する第2のルータ装置のうち、少なくとも一方から、各逆方向経路に関する情報を受け取る情報取得手段をさらに備え、
前記記憶手段に記憶される情報は、前記情報取得手段により受け取られた情報に基づくものであることを特徴とする請求項5に記載のアプリケーション端末装置。
【請求項7】
前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路のそれぞれにより提供可能な通信環境に関して変化が生じたことに応じて、経路に関する情報を受け取る情報取得手段をさらに備え、
前記記憶手段に記憶された情報は、前記情報取得手段により受け取られた情報に基づいて、変化後の情報に更新されるものであり、
前記経路指示手段は、前記変化後の情報に基づいて、前記指定されたサービスの提供に用いられるべき経路を決定し直し、変化前に選択されていた経路が前記決定し直された経路へ切り換えられるように指示メッセージを送出するものであることを特徴とする請求項1に記載のアプリケーション端末装置。
【請求項8】
前記少なくとも一つのサービスのうち、前記記憶手段に記憶された情報に基づいて、前記条件特定手段により求められる当該サービスの提供に適した通信の条件を満たすと判断される経路が、前記複数の経路の中に存在するサービスを、実行可能サービスとして特定する手段をさらに備え、
前記経路指示手段は、前記実行可能サービスの中から選択されたサービスを、前記指定されたサービスとして、その提供に用いられるべき経路を決定するものであることを特徴とする請求項1に記載のアプリケーション端末装置。
【請求項9】
前記実行可能サービスをユーザに提示する提示手段をさらに備え、
前記経路指示手段は、前記提示手段により提示された実行可能サービスの中からユーザにより選択されたサービスを、前記指定されたサービスとして、その提供に用いられるべき経路を決定するものであることを特徴とする請求項8に記載のアプリケーション端末装置。
【請求項10】
前記アプリケーションサーバ装置から、前記少なくとも一つのサービスの各々の属性に関する通知を受け取る手段をさらに備え、
前記条件特定手段は、前記通知が示す属性のサービスを提供するために、使用される経路が提供可能であるべき通信環境を、当該サービスの提供に適した通信の条件として求めるものであることを特徴とする請求項1に記載のアプリケーション端末装置。
【請求項11】
前記条件特定手段には、前記アプリケーションサーバ装置から新たな種類のサービスが提供可能になった場合、該新たな種類のサービスの提供に適した通信の条件を求める機能が追加され、
前記経路指示手段では、前記新たな種類のサービスについても、その提供に用いられるべき経路を、前記記憶手段に記憶された情報に基づいて決定できることを特徴とする請求項1に記載のアプリケーション端末装置。
【請求項12】
前記条件特定手段は、複数の前記指定されたサービスについて、それぞれ前記通信の条件を求めるものであり、
前記経路指示手段は、複数の前記指定されたサービスについて、それぞれその提供に用いられるべき経路を決定し、前記アプリケーション端末装置へのデータを転送する機能を有する装置が、第1の指定されたサービスのデータについては第1の経路を選択し、第2の指定されたサービスのデータについては第2の経路を選択し、転送を行うようにするものであることを特徴とする請求項1に記載のアプリケーション端末装置。
【請求項13】
少なくとも一つのアプリケーションサーバ装置から少なくとも一つのアプリケーション端末装置へネットワーク経由で少なくとも一つのサービスが提供されるシステムにおける経路選択方法であって、
前記アプリケーション端末装置において、前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求め、
前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を、前記アプリケーション端末装置へ伝え、
前記アプリケーション端末装置が、前記通信の条件と前記通信環境についての情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供に用いられるべき経路を決定し、
前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置により前記決定された経路が選択されるように、前記アプリケーション端末装置が指示メッセージを送出することを特徴とする経路選択方法。
【請求項14】
少なくとも一つのアプリケーションサーバ装置から少なくとも一つのアプリケーション端末装置へネットワーク経由で少なくとも一つのサービスが提供されるシステムにおける経路選択のためにインストールされるプログラムであって、
前記アプリケーション端末装置に、前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求めさせ、
前記アプリケーションサーバ装置から前記アプリケーション端末装置へ至る複数の経路の各々により提供可能な通信環境についての情報を、前記アプリケーション端末装置に取得させ、
前記アプリケーション端末装置に、前記通信の条件と前記通信環境についての情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供に用いられるべき経路を決定させ、
前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置により前記決定された経路が選択されるように、前記アプリケーション端末装置に指示メッセージを送出させることを特徴とするプログラム。
【請求項15】
少なくとも一つのアプリケーションサーバ装置から少なくとも一つのサービスが提供されるネットワークに接続することができるアプリケーション端末装置であって、
前記少なくとも一つのサービスのうち指定されたサービスの提供に適した通信の条件を求める条件特定手段と、
前記アプリケーション端末装置から前記アプリケーションサーバ装置へ至る複数の経路の各々により提供可能な通信環境についての情報を記憶する記憶手段と、
前記条件特定手段により求められた条件と前記記憶手段に記憶された情報とに基づいて前記複数の経路の中から前記指定されたサービスの提供のために用いられるべき経路を決定し、前記複数の経路のうち指示された経路を選択して前記アプリケーション端末装置へのデータを転送する機能を有する装置に対して、前記決定された経路の選択を指示する経路指示手段とを備えたことを特徴とするアプリケーション端末装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−263559(P2008−263559A)
【公開日】平成20年10月30日(2008.10.30)
【国際特許分類】
【出願番号】特願2007−106584(P2007−106584)
【出願日】平成19年4月13日(2007.4.13)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 発行所 社団法人電子情報通信学会 「電子情報通信学会技術研究報告 信学技報 Vol.106 No.465」 発行日 平成19年1月11日
【出願人】(502456574)株式会社 インテック・ネットコア (15)
【Fターム(参考)】