(57)【要約】【課題】情報機器が有する複数の通信経路を有効に活用する。【解決手段】各プログラム１２０から送出された送信データはサーバ部２５０によりまとめて取得される。サーバ部２５０は、取得した送信データを、使用する通信プロトコルなどにより分類してデータ格納部３００に格納する。ルート選択部３５０は、データ格納部３００に格納された送信データを取得し、ユーザの設定に応じて、適切な通信経路１３０を介して送信する。これにより、複数の通信経路１３０を効率的に活用した通信が実現される。【選択図】        図２
2004336314.tif 000002
【特許請求の範囲】
【請求項１】
プログラムによるデータの送信を検出し、
前記送信に際して使用されるトランスポート層のプロトコルを検出し、
送信に使用されるトランスポート層のプロトコルごとに通信経路との対応を定めた設定テーブルを参照し、
前記設定テーブルに基づいて、前記検出されたプロトコルに対応する通信経路を介して、前記検出された送信すべきデータを送出することを特徴とする通信経路選択方法。
【請求項２】
プログラムによるデータの送信を検出し、
前記プログラムが、通信に際して、所定の通信経路を占有する必要があるか否かを示すフラグを検出し、
前記検出されたフラグと通信経路との対応を定めた設定テーブルを参照し、
前記設定テーブルに基づいて、前記検出されたフラグに対応する通信経路を介して、前記検出された送信すべきデータを送出することを特徴とする通信経路選択方法。
【請求項３】
前記設定テーブルは、更に、複数の通信経路について定められた選択優先順位に関する情報を含み、
前記選択優先順位に基づいて、前記検出された送信すべきデータを送出することを特徴とする請求項１または２に記載の通信経路選択方法。
【請求項４】
プログラムによるデータの送信を検出し、
複数の通信経路のそれぞれの通信実効速度を検出し、
前記通信実効速度に基づいて選択される通信経路を介して、前記検出された送信すべきデータを送出することを特徴とする通信経路選択方法。
【請求項５】
プログラムによるデータの送信を検出する送信検出部と、
前記送信に際して使用されるトランスポート層のプロトコルを検出するプロトコル検出部と、
送信に使用されるトランスポート層のプロトコルごとに通信経路との対応を定めた設定テーブルを格納する格納部と、
前記設定テーブルに基づいて、前記検出されたプロトコルに対応する通信経路を介して、前記検出された送信すべきデータを送出するデータ送出部、
を含むことを特徴とする通信経路選択装置。
【請求項６】
プログラムによるデータの送信を検出する送信検出部と、
前記プログラムが、通信に際して、所定の通信経路を占有する必要があるか否かを示すフラグを検出するフラグ検出部と、
前記検出されたフラグと通信経路との対応を定めた設定テーブルを格納する格納部と、
前記設定テーブルに基づいて、前記検出されたフラグに対応する通信経路を介して、前記検出された送信すべきデータを送出するデータ送出部、
を含むことを特徴とする通信経路選択装置。
【請求項７】
前記設定テーブルは、更に、複数の通信経路について定められた選択優先順位に関する情報を含み、
前記データ送出部は、前記選択優先順位に基づいて、前記検出された送信すべきデータを送出することを特徴とする請求項５または６に記載の通信経路選択装置。
【請求項８】
プログラムによるデータの送信を検出する送信検出部と、
複数の通信経路のそれぞれの通信実効速度を検出する速度検出部と、
前記通信実効速度に基づいて選択される通信経路を介して、前記検出された送信すべきデータを送出するデータ送出部、
を含むことを特徴とする通信経路選択装置。
【請求項９】
プログラムによるデータの送信を検出する機能と、
前記送信に際して使用されるトランスポート層のプロトコルを検出する機能と、
送信に使用されるトランスポート層のプロトコルごとに通信経路との対応を定めた設定テーブルを参照する機能と、
前記設定テーブルに基づいて、前記検出されたプロトコルに対応する通信経路を介して、前記検出された送信すべきデータを送出する機能、
をコンピュータに発揮させることを特徴とする通信経路選択プログラム。
【請求項１０】
プログラムによるデータの送信を検出する機能と、
前記プログラムが、通信に際して、所定の通信経路を占有する必要があるか否かを示すフラグを検出する機能と、
前記検出されたフラグと通信経路との対応を定めた設定テーブルを参照する機能と、
前記設定テーブルに基づいて、前記検出されたフラグに対応する通信経路を介して、前記検出された送信すべきデータを送出する機能、
をコンピュータに発揮させることを特徴とする通信経路選択プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信経路の選択に関する技術、とくに、通信の目的に応じて効果的に通信経路を選択するための技術に関する。
【０００２】
【従来の技術】
現代の情報機器の多くは、ネットワークを介して、情報を交換することを前提として設計されている。パーソナルコンピュータはもとより、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）などの携帯端末機器のアプリケーションソフトウェアにおいても、これらの機器が有する通信機能を利用するものは多い。
【０００３】
異なる機種間におけるデータ通信を実現するため、いわゆる通信プロトコルが規定されている。通信プロトコルとは、データのサイズ、パケットに分割されたデータの送信順、送信先や送信元の情報機器を特定するアドレス、アプリケーションソフトウェアを特定するポート番号、再送制御の有無、など各種の通信制御に関する約束事である。通信プロトコルは、物理的なネットワーク回線に近いレベルのプロトコルから、アプリケーションソフトウェアに近いレベルのプロトコルまで、その機能に応じて層状に分類される。この通信プロトコルの存在により、さまざまな情報通信を統一したスキームで扱うことができる。そして、このような通信プロトコルに基づいて、携帯電話網やＦＴＴＨ（Ｆｉｂｅｒ  Ｔｏ  Ｔｈｅ  Ｈｏｍｅ）など、さまざなな通信経路を介した、データ通信が実現される。
【０００４】
【特許文献１】
特開平５−１３０１４４号公報
【０００５】
【発明が解決しようとする課題】
近年においては、ネットワークのブロードバンド化、通信経路の多様化が進みつつある。これに伴い、ひとつの情報機器が、たとえば、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や、ＦＴＴＨなど、複数の通信経路をサポートする場合も多くなってきている。しかし、ひとつの情報機器が複数の通信経路をサポートする場合であっても、これらを効果的に活用するための提案はほとんどなされていないのが現状である。
【０００６】
本発明はこうした背景に鑑みてなされたものであり、その目的は、情報機器が複数の通信経路を効果的に活用するための技術、の提供にある。
【０００７】
【課題を解決するための手段】
本発明のある態様は、通信経路選択方法である。この方法は、プログラムによるデータの送信を検出し、送信に際して使用されるトランスポート層のプロトコルを検出し、送信に使用されるトランスポート層のプロトコルごとに通信経路との対応を定めた設定テーブルを参照し、この設定テーブルに基づいて、検出されたプロトコルに対応する通信経路を介して、検出された送信すべきデータを送出することを特徴とする。
【０００８】
「プログラム」とは、ネットワークを介して外部との通信を行うことを前提として設計されたソフトウェア全般を含んでもよい。また、あるソフトウェアの一機能を達成する通信機能を有するモジュールプログラムであってもよい。「トランスポート層のプロトコル」とは、いわゆるＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルにおけるトランスポート層のプロトコルをいう。たとえば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）やＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）などのプロトコルがこれらの代表である。また、「通信経路」とは、たとえばＬＡＮカードのように物理的な通信デバイスに限定される概念ではなく、デバイスドライバなどの通信デバイスを制御するためのソフトウェアを含んでもよい。
【０００９】
本発明の別の態様も、通信経路選択方法である。この方法は、プログラムによるデータの送信を検出し、プログラムが、通信に際して、所定の通信経路を占有する必要があるか否かを示すフラグを検出し、検出されたフラグと通信経路との対応を定めた設定テーブルを参照し、この設定テーブルに基づいて、検出されたフラグに対応する通信経路を介して、前記検出された送信すべきデータを送出することを特徴とする。
【００１０】
プログラムによっては、通信経路を固定的に占有しておきたい場合がある。換言すれば、プログラムによっては、確保している通信経路を他のプログラムに明け渡したり、あるいは共有したくない場合がある。たとえば、大量のデータを送受する必要があるプログラムにとっては、ある程度ブロードバンドに対応した通信経路を確保できなければ、必要な機能を発揮することができない。とくに通信負荷の大きい複数のプログラムが起動されている場合には、ひとつの通信経路をこれら複数のプログラムで共有すると、お互いのパフォーマンスが低下する。
【００１１】
一方、プログラムによっては、適宜、通信経路を変更してもよい場合がある。たとえば、間欠的にしかデータの送受信を行わないプログラムにとっては、通信時に適切な通信経路が確保できればよく、一つの通信経路を固定的に使用する必要はない場合も多い。本発明の態様においては、プログラムが通信経路を占有する必要があるか否かの観点から、割り当てる通信経路を選択する。
【００１２】
また、この方法における設定テーブルは、更に、複数の通信経路について定められた選択優先順位に関する情報を含み、この選択優先順位に基づいて、検出された送信すべきデータを送出してもよい。
【００１３】
本発明の更に別の態様も、通信経路選択方法である。この方法は、プログラムによるデータの送信を検出し、複数の通信経路のそれぞれの通信実効速度を検出し、通信実効速度に基づいて選択される通信経路を介して、検出された送信すべきデータを送出することを特徴とする。
【００１４】
通信経路によっては、その通信実効速度はさまざまである。また、そもそも通信回線が接続されておらず、通信自体が不可能な状態である通信経路も存在し得る。本発明の実施の態様においては、通信経路の回線状態を適宜検出することにより、送信データを送出するのに最適な通信経路を選択する。
【００１５】
本発明の更に別の態様は、通信経路選択装置である。この装置は、プログラムによるデータの送信を検出する送信検出部と、送信に際して使用されるトランスポート層のプロトコルを検出するプロトコル検出部と、送信に使用されるトランスポート層のプロトコルごとに通信経路との対応を定めた設定テーブルを格納する格納部と、この設定テーブルに基づいて、検出されたプロトコルに対応する通信経路を介して、検出された送信すべきデータを送出するデータ送出部を含むことを特徴とする。
【００１６】
本発明の更に別の態様は、通信経路選択装置である。この装置は、プログラムによるデータの送信を検出する送信検出部と、プログラムが、通信に際して、所定の通信経路を占有する必要があるか否かを示すフラグを検出するフラグ検出部と、検出されたフラグと通信経路との対応を定めた設定テーブルを格納する格納部と、この設定テーブルに基づいて、検出されたフラグに対応する通信経路を介して、検出された送信すべきデータを送出するデータ送出部を含むことを特徴とする。
【００１７】
また、これらの装置の設定テーブルは、更に、複数の通信経路について定められた選択優先順位に関する情報を含み、データ送出部は、選択優先順位に基づいて、検出された送信すべきデータを送出してもよい。
【００１８】
本発明の別の態様は、通信経路選択装置である。この装置は、プログラムによるデータの送信を検出する送信検出部と、複数の通信経路のそれぞれの通信実効速度を検出する速度検出部と、通信実効速度に基づいて選択される通信経路を介して、検出された送信すべきデータを送出するデータ送出部を含むことを特徴とする。
【００１９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００２０】
【発明の実施の形態】
図１は、一般的なアプリケーションソフトウェアが通信を行うためのシステムの模式図である。同図では、複数の通信経路１０４を有する情報機器において、複数のプログラム１０２が通信を行う場合を示す。各プログラム１０２は、通信モジュール１１０と接続する。通信モジュール１１０は、たとえば、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）などに付属するソケット通信を実現するためのソフトウェアライブラリが相当する。また、通信モジュール１１０は、各通信経路１０４と接続される。ここで各プログラム１０２がどの通信経路１０４を介して通信を行うかについてはプログラム１０２ごとに予め固定的に設定される場合もあるし、通信の相手先アドレスに応じて通信経路１０４の選択が行われる場合もある。しかし、これらの方式では、複数の通信経路１０４を効果的に活用しているとは言い難い。
【００２１】
図２は、本発明の実施の形態に係る通信経路選択装置２００を示したものである。通信経路選択装置２００は、サーバ部２５０、データ格納部３００およびルート選択部３５０を含む。すべてのプログラム１２０は通信を行うに際して、サーバ部２５０と接続する。サーバ部２５０は、すべてのプログラム１２０から送信データをまとめて受け取り、所定の処理を行ってデータ格納部３００に渡す。サーバ部２５０の内部構成や処理の内容については後に詳述する。データ格納部３００は、サーバ部２５０から受け取った送信データを分類して格納する。データ格納部３００の内部構成についても後に詳述する。そして、ルート選択部３５０は、データ格納部３００が分類して格納した送信データを取得し、適切な通信経路１３０を選択して送信処理を行う。ルート選択部３５０の内部構成および処理の内容についても後に詳述する。
【００２２】
また、ルート選択部３５０は各通信経路１３０から受信データを取得する。ルート選択部３５０が取得した受信データは、データ格納部３００に格納される。サーバ部２５０は、データ格納部３００から受信データを取得し、その受信データを取得すべきプログラム１２０に返送する。
【００２３】
通信経路選択装置２００は通信モジュール１１０と異なり、プログラム１２０ごとや、相手先アドレスごとではなく、送信データごとに通信の制御を行う。また、通信経路選択装置２００は、適宜、通信経路１３０を選択する。したがって、プログラム１２０や通信経路１３０の種類や状況などに鑑みて、効率的で緻密な通信制御が実現される。以下、通信経路選択装置２００の内部の機能ブロックであるデータ格納部３００、サーバ部２５０およびルート選択部３５０のそれぞれのさらに具体的な構成について説明する。
【００２４】
図３は、データ格納部３００の内部の構成を示す模式図である。データ格納部３００は仕切りによって複数に区切られた箱型の格納部であるといえる。以下、このデータ格納部３００を仕切ったそれぞれの箱のことを「セル」とよぶ。同図では上方がサーバ部２５０にあたり、下方がルート選択部３５０にあたる。送信時には、サーバ部２５０は所定のセルを選択して送信データを格納する。このようにして、各セルは、送信データを格納する。また、ルート選択部３５０は、各セルに格納された送信データを取得する。送信データがどのセルに格納され、かつ、どのセルに格納されている送信データが、ルート選択部３５０により取得されるかについては、それぞれサーバ部２５０とルート選択部３５０が決定する。データ格納部３００は、送信データを分類する箱にすぎない。
【００２５】
通信経路固定項３０４は、プログラム１２０が通信経路１３０を固定的に占有するか否かを示す。プログラム１２０によっては、実際にデータの送受信を行っていないときであっても、確保している通信経路１３０を占有しておきたい場合がある。そのようなプログラム１２０は、通信経路固定型セル３０６に送信データを格納する。このときには、プログラム１２０は通信経路固定型セル３０６のいずれかのセルと対応づけられることになる。
【００２６】
一方、通信経路１３０を固定的に占有する必要がない場合には、プログラム１２０は送信データを通信経路変動型セル３０８に格納する。この場合、プログラム１２０は、通信中は通信経路変動型セル３０８のいずれかのセルと対応づけられる。
【００２７】
ルート選択部３５０が受信したデータは、それぞれのプログラム１２０の通信に対応したセルに格納される。そしてサーバ部２５０は、データ格納部３００から取得した受信データを該当するプログラム１２０に返送する。
【００２８】
プロトコル分類項３０２は、送信データの通信プロトコルのうちトランスポート層で使用するプロトコルを示す。同図では、そのトランスポート層のプロトコルとしてＴＣＰを使用するかＵＤＰを使用するかによって分類されている。
【００２９】
図４は、サーバ部２５０の内部の機能ブロック図を示す。送信データ受付部２５２はプログラム１２０より送信データを取得する。ユーザは、各プログラム１２０の送信データをデータ格納部３００のどのセルに格納すべきかという設定を設定部２５６により行うことができる。また、ユーザは、どのプログラム１２０の通信を優先するかの設定も設定部２５６により行うことができる。送信データ受付部２５２は、プログラム１２０から送信データを取得するに際して、設定部２５６の設定を参照し、どのプログラム１２０からの送信データを取得するかを決定する。
【００３０】
取得された送信データを分割して、別々の通信経路を介して送信することが可能であれば、送信データ分割処理部２５４は送信データの分割を行う。分配処理部２５８は設定部２５６の設定を参照して、送信データをデータ格納部３００のどのセルに送出すべきかを判断する。そして、セル送出部２６０は送信データをデータ格納部３００の所定のセルに送出する。この際、プロトコル処理部２６２は、送信データが使用する通信プロトコルに基づいて、送信データに所定のヘッダ情報を付与する。
【００３１】
受信データ取得部２６４はデータ格納部３００のセルより受信データを取得する。プロトコル処理部２６２は、取得した受信データのヘッダ情報を解析し、受信データが分割されている場合には、受信データ組立部２６６がこれを組み立てる。受信データ返送部２６８は、受信データ取得部２６４が取得した受信データを、該当するプログラム１２０に返送する。
【００３２】
図５は、ルート選択部３５０の内部の機能ブロック図を示す。送信データ取得部３５２はデータ格納部３００より送信データを取得する。ユーザは、データ格納部３００の各セルが格納する送信データのうち、どのセルの送信データを優先的に取得すべきかを設定部３５４により設定する。また、ユーザは、どのプログラムの送信データを優先的に取得すべきか、どの通信経路１３０を優先的に使用すべきかなど、各種の設定を設定部３５４により行う。
【００３３】
送信データ取得部３５２は、データ格納部３００から送信データを取得するに際して、設定部３５４の設定を参照し、データ格納部３００のどのセルから送信データを取得するかを決定する。送信データ取得部３５２により取得された送信データは、通信経路選択部３５８により選択された通信経路１３０に対して、通信経路送出部３５６により送出される。
【００３４】
速度検査部３６４は各通信経路１３０の通信実効速度を検出する。接続検査部３６２は、各通信経路１３０の回線接続状況を検出する。通信経路選択部３５８は、これらの検出された情報を参照して、通信経路１３０を選択する。たとえば、有線のＬＡＮと無線のＬＡＮの両方と接続されている情報機器の場合には、有線ＬＡＮを優先して使用するが、有線のＬＡＮが接続されていないときには代替的に無線のＬＡＮを選択するといった処置が考えられる。これらの設定は設定部３５４により行われることは先述の通りである。受信データ取得部３６０は、通信経路１３０より受信データを取得する。そして、セル送出部３６６はデータ格納部３００の所定のセルに受信データを送出する。データ格納部３００のセルに格納された受信データの処理については先述の通りである。
【００３５】
次に処理の流れについて説明する。
【００３６】
図６は、サーバ部２５０がプログラム１２０から送信データを取得して、データ格納部３００の所定のセルに格納する過程におけるフローチャートを示す。データ格納部３００はプログラム１２０より送信データを取得すると、分割して別々の通信経路を介して送信が可能か否かを判断する（Ｓ１０）。可能であれば（Ｓ１０のＹ）、送信データの分割処理を行う（Ｓ１２）。
【００３７】
次に、分配処理部２５８は、送信データが使用する通信プロトコルをチェックする（Ｓ１４）。さらに、分配処理部２５８は、その送信データの送信元であるプログラム１２０が通信経路１３０を固定的に占有する必要があるか否かをチェックする（Ｓ１６）。分配処理部２５８はデータ格納部３００から送信データを格納するセルを選択し（Ｓ１８）、プロトコル処理部２６２は先述したとおり通信プロトコルに関する処理を行う（Ｓ２０）。さいごに、セル送出部２６０は、送信データをデータ格納部３００の所定のセルに格納する。
【００３８】
図７は、ルート選択部３５０が、データ格納部３００のセルに格納される送信データを取得して、通信経路１３０を介して送信する過程におけるフローチャートを示す。送信データ取得部３５２は、データ格納部３００から送信データを取得すべきセルを選択し（Ｓ３０）、送信データを取得する（Ｓ３２）。接続検査部３６２は各通信経路１３０の回線接続状況を検出する（Ｓ３４）。速度検査部３６４は回線の通信実効速度を検出する（Ｓ３６）。そして、これらの情報に基づいて、通信経路選択部３５８は通信経路１３０を選択し（Ｓ３８）、通信経路送出部３５６は送信データを送出する（Ｓ４０）。
【００３９】
以上、実施の形態においては、通信経路の回線接続状況や、通信実効速度、あるいは、経由する通信経路の料金体系などを加味した設定を行うことにより、ユーザのニーズに応じて通信経路の選択が可能となる。また、複数のプログラムから送出される送信データを複数の通信経路に動的に振り分けることができるために、結果として、複数の周波数帯域を有効に活用した通信が実現される。さらに、途中で通信回線が切断されたとしても、通信経路選択装置は、適宜、使用可能な通信経路を選択するため、通信が安定化する。加えて、既存の情報機器に、本発明の機能を発揮させるソフトウェアをインストールすることで実現できるため、導入コストが低いのもメリットである。
【００４０】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４１】
そうした変形例として、送信データはトランスポート層以外のプロトコルで分類されてセルに格納されてもよい。たとえば、ＦＴＰやＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などのより上位の層のプロトコルを基準として分類がなされてもよい。あるいは、送信データの重要度や緊急度ごとにセルの分類がなされてもよい。
【００４２】
【発明の効果】
本発明によれば、プログラムが複数の通信経路を効果的に活用できる。
【図面の簡単な説明】
【図１】一般的な従来の通信システムの概略を示す図である。
【図２】本実施の形態における通信経路選択装置の概略を示す図である。
【図３】本実施の形態におけるデータ格納部の概略を示す図である。
【図４】本実施の形態におけるサーバ部の内部の機能ブロック図である。
【図５】本実施の形態におけるルータ部の内部の機能ブロック図である。
【図６】本実施の形態におけるサーバ部が、プログラムからの送信データをデータ格納部に送出する過程のフローチャートである。
【図７】本実施の形態におけるルータ部が、データ格納部から取得した送信データを通信経路を介して送出する過程のフローチャートである。
【符号の説明】
１２０  プログラム、１３０  通信経路、２００  通信経路選択装置、２５０サーバ部、２５４  送信データ分割処理部、２５８  分配処理部、３００  データ格納部、３５０  ルート選択部、３５８  通信経路選択部、３６２  接続検査部、３６４  速度検査部。
【図１】
2004336314.tif 000003
【図２】
2004336314.tif 000004
【図３】
2004336314.tif 000005
【図４】
2004336314.tif 000006
【図５】
2004336314.tif 000007
【図６】
2004336314.tif 000008
【図７】
2004336314.tif 000009