通信装置、ネットワーク選択方法、及びネットワーク選択プログラム
【課題】通信品質悪化時に通信フローの特性を使用して最適な通信手段への切り替えを行う。
【解決手段】通信中継装置1は通信端末装置2からのネットワーク接続要求に対し、フロー検出部12でフローの特性を検出し、フロー特性データベース13、及び、ネットワーク特性データベース14を使用してフローの特性に応じた最適なネットワークにネットワーク選択部15で選択して通信を開始する。選択されたネットワークがフローの要求品質を下回ったことを通信品質検出部16が検出した場合、ネットワーク特性データベース14の該当するネットワークの項目を更新し、改めてフローの特性に応じた最適なネットワークの選択を行う。ここで、通信中継装置1は、フロー検出部12でフローの切れ目を検出した段階で、ネットワーク選択部15で選択されたネットワークへの切り替えを行う。
【解決手段】通信中継装置1は通信端末装置2からのネットワーク接続要求に対し、フロー検出部12でフローの特性を検出し、フロー特性データベース13、及び、ネットワーク特性データベース14を使用してフローの特性に応じた最適なネットワークにネットワーク選択部15で選択して通信を開始する。選択されたネットワークがフローの要求品質を下回ったことを通信品質検出部16が検出した場合、ネットワーク特性データベース14の該当するネットワークの項目を更新し、改めてフローの特性に応じた最適なネットワークの選択を行う。ここで、通信中継装置1は、フロー検出部12でフローの切れ目を検出した段階で、ネットワーク選択部15で選択されたネットワークへの切り替えを行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置に関し、特に複数のベアラ(Bearer)を切り替える通信装置に関する。
【背景技術】
【0002】
近年、携帯電話網、無線LAN(Wireless LAN(Local Area Network))をはじめとする無線ネットワークの普及に伴い、移動端末装置を用いて多種多様なネットワークに接続するというユースケース(Use Case)が増大している。
【0003】
例えば、通信方式として、セルラ網(Cellular Network)、無線LAN、PHS(Personal Handyphone System)接続、Bluetooth(登録商標)等がある。また、接続するネットワークとしては、セルラネットワーク、Internet、企業内イントラネット、家庭内LANがある。更に、これらに対するVPN(Virtual Private Network)接続がある。
【0004】
複数のネットワークにIP(Internet Protocol)を使って同時に接続する場合、端末が利用したいネットワークサービス上に到達するための経路が複数存在することになる。通信を行うためには、端末は経路の決定(ルーティング)を行って、適切なネットワークにパケットが送出されるようにしなければならない。
【0005】
通常、通常IPアドレスを用いて経路制御するところを、TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)のポート番号やQoS(Quality of Service)パラメータを切り替える、特開平10−173703号公報(特許文献1)で示すようなポリシールーティング(Policy Routing)と呼ばれる手法があった。
【0006】
これを応用し、通信内容に応じたルーティングの切り替え方法として、端末内において特開2007−282142号公報(特許文献2)で示されたような通信アプリケーションや接続先の情報等を受け取り、アプリケーション特性データベースと、ネットワーク特性データベースの情報から、最適な通信手段を選択するという方法が用いられてきた。
【0007】
また、この改良として、要求帯域といったフローの特徴を利用して、中継装置での最適な通信手段の選択、切り替えを可能にする方法も考えられる。
【0008】
また、ATM(Asynchronous Transfer Mode)におけるCBR(Constant Bit Rate)や、IP通信におけるRSVP(Resource reSerVation Protocol)、DiffServ(Differentiated Services)のような帯域予約型によるQoS確保の試みも行われてきた。これらはあらかじめ通信フローの使用する容量を経路上のルータ(router)やスイッチ(Switching Hub)のような中継装置へ予約し、特定のフローラベルを付けられたパケットを優先通過させるといった方法で行われてきた。
【0009】
更に、特開2005−210347号公報(特許文献3)に帯域予約型の関連技術が開示されている。この関連技術では、ストリーミング配信を安定させることを目的として、通信フローに着目して優先的にストリーミングのフローへ帯域を割り当てる方法を提案している。
【0010】
【特許文献1】特開平10−173703号公報
【特許文献2】特開2007−282142号公報
【特許文献3】特開2005−210347号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
特許文献1及び特許文献2に示された方法を用いると、通信開始時における最適な通信手段を選択することが可能になるが、通信中に品質劣化が起こった場合の再選択を行うことができない。ここでは、品質とは、通信品質を示す。
【0012】
また、要求帯域といったフローの特徴を利用して、中継装置での最適な通信手段の選択、切り替えを可能にする方法では、通信開始時に最適な通信手段を選択できなかった場合に切り替えることができるが、動的な通信環境の変化に対応するものではない。
【0013】
特許文献3で示すような帯域予約型でQoSを確保する方法では、ベストエフォート型と比べて一般的に余分なコスト(費用)がかかることである。帯域予約型でのQoSを確保では、実際に流れるデータ量に関わらず回線交換のように一定の帯域を確保するからであって、通常は確保した帯域に応じてコストが従量課金のように増えていくケースが多い。厳格なQoS確保が求められている場合には有効であるが、アプリケーション側でもバッファによるジッタ吸収等の対策は採られており、そこまでのQoS確保が必要とされないケースもある。
【0014】
このため、関連技術の組み合わせでは、厳密なQoSを要求されないようなケースでも、ある程度の品質を確保しようとすると帯域予約が可能なベアラ(Bearer)しか選択肢として利用できない。ここでは、ベアラは、物理的な通信回線と論理的なプロトコル(Protocol)を組み合わせた通信サービスを示す。すなわち、ベアラは、所定の論理的なプロトコルに基づいて通信を行うための物理的な通信回線と考えることもできる。但し、実際には、物理的な通信回線に限定されない。例えば、物理的な通信回線の上に論理的に構築されたL2TP(Layer 2 Tunneling Protocol)やVLAN(Virtual LAN)のような論理的な通信回線でも良い。
【0015】
本発明の目的は、厳密なQoS確保を求めて高コスト化や、ネットワーク側への複雑なシステム追加をすることなく、品質劣化時に随時ベアラを切り替えることで、端末側だけの簡易な方式で一定の効果を期待できる品質確保を行う通信装置、ネットワーク選択方法、及びネットワーク選択プログラムを提供することである。
【課題を解決するための手段】
【0016】
本発明の通信装置は、ネットワークとの間のベアラ(Bearer)を介した通信のフローの特性を識別するフロー検出部と、前記ベアラが前記フローの要求品質を満たしているか識別する通信品質検出部と、前記フローの特性に基づき、ネットワーク特性に応じたベアラを検出し、前記フローの切れ目が検出された際、前記ベアラを前記検出されたベアラに切り替えるネットワーク選択部とを具備する。
【0017】
本発明のネットワーク選択方法は、(a)ネットワークとの間のベアラ(Bearer)を介した通信のフローの特性を識別するステップと、(b)前記ベアラが前記フローの要求品質を満たしているか識別するステップと、(c)前記フローの特性に基づき、ネットワーク特性に応じたベアラを検出し、前記フローの切れ目が検出された際、前記ベアラを前記検出されたベアラに切り替えるステップとを含む。
【0018】
本発明のネットワーク選択プログラムは、(a)ネットワークとの間のベアラ(Bearer)を介した通信のフローの特性を識別するステップと、(b)前記ベアラが前記フローの要求品質を満たしているか識別するステップと、(c)前記フローの特性に基づき、ネットワーク特性に応じたベアラを検出し、前記フローの切れ目が検出された際、前記ベアラを前記検出されたベアラに切り替えるステップとをコンピュータに実行させる。
【発明の効果】
【0019】
フロー特性を利用して最適なベアラを選択する通信システムにおいて、通信品質の劣化時に通信を継続させながら条件が変化した時点における最適なベアラを再選択して切り替えることが可能となる。
【発明を実施するための最良の形態】
【0020】
以下に、本発明の第1実施例について添付図面を参照して説明する。
図1は、本発明の第1実施例に係る通信中継システムの構成を示すブロック図である。
本発明の第1実施例に係る通信中継システムは、通信中継装置1と、通信端末装置2と、ネットワーク3を含む。
【0021】
通信中継装置1は、1個以上(少なくとも1つ)のネットワーク3に接続して、通信端末装置2にネットワークサービスを提供することができる通信中継装置である。
【0022】
通信端末装置2は、任意の通信端末である。また、通信端末装置2は、通信中継装置1と有線又は無線により接続する。ここでは、通信端末装置2は、通信中継装置1の配下の端末とする。但し、実際には、この例に限定されない。例えば、通信端末装置2は、通信中継装置1と並列に設置された通信中継装置でも良い。
【0023】
ネットワーク3は、通信回線である。ネットワーク3として、例えば、インターネット、イントラネット、無線LANスポット、家庭内LAN、店舗内LAN、専用線、電話通信網等の様々なネットワークが想定される。ここでは、ネットワーク3には、通信中継装置1を介して通信端末装置2にネットワークサービスを提供するサーバ等のサービス提供装置(ネットワークサービスの提供元)が含まれるものとする。但し、実際には、この例に限定されない。
【0024】
ここでは、通信中継装置1は、通信部11と、フロー検出部12と、フロー特性データベース13と、ネットワーク特性データベース14と、ネットワーク選択部15と、通信品質検出部16を備える。
【0025】
通信部11は、通信中継装置1がネットワーク3に接続するために使用される。また、通信部11は、通信端末装置2が通信中継装置1に接続するためにも使用される。すなわち、通信部11は、通信端末装置2とネットワーク3とを接続する。この際、通信中継装置1がネットワーク3に接続するための通信回線としては、例えば、有線LAN、無線LAN、公衆電話網、携帯電話網、PHS(Personal Handy−phone System)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、WiMAX、3G(第3世代携帯電話)、シリアル通信等のベアラ(Bearer)が想定される。これらのベアラは、接続に使用されるとネットワーク3に含まれる。すなわち、ベアラの切り替えは、ネットワーク3の切り替えと同義である。ここでは、ベアラは、物理的な通信回線と論理的なプロトコル(Protocol)を組み合わせた通信サービスを示す。すなわち、ベアラは、所定の論理的なプロトコルに基づいて通信を行うための物理的な通信回線と考えることもできる。但し、実際には、物理的な通信回線に限定されない。例えば、物理的な通信回線の上に論理的に構築されたL2TP(Layer 2 Tunneling Protocol)やVLAN(Virtual LAN)のような論理的な通信回線でも良い。通信に使用するプロトコルは、主としてTCP/IPである。また、VPN(Virtual Private Network)を使って仮想的なネットワーク接続を行うこともあるが、これもベアラの一種として見なせる。
【0026】
フロー検出部12は、通信内容からフローの種別等の特性を識別する。ここでは、フローの種別とは、プロトコルを示す。すなわち、フローの特性とは、使用されているプロトコルの特性を示す。フロー検出部12は、対応するプロトコルをパケットの中身を見て解析することができる。ここで使用されるプロトコルとしては、HTTP(HyperText Transfer Protocol)やFTP(File Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)、PPPoE(PPP over Ethernet(登録商標))等のプロトコルが想定される。但し、実際には、これらの例に限定されない。また、フロー検出部12は、フローの切れ目を検出する。
【0027】
フロー特性データベース13は、通信フローの特性を格納するデータベースである。また、フロー特性データベース13は、接続先アドレスやポート番号、要求速度に関する情報の組み合わせ等を保存する。但し、実際には、これらの例に限定されない。このとき、フロー検出部12は、接続先アドレスとポート番号をキーにフロー特性データベース13を検索する等の方法により、フローの特性を識別する。
【0028】
ネットワーク特性データベース14は、ネットワークの特性を格納するデータベースである。また、ネットワーク特性データベース14は、通信部11が接続可能なネットワーク3の帯域幅やセキュリティ情報、通信料金に関する情報を保存する。但し、実際には、これらの例に限定されない。
【0029】
ネットワーク選択部15は、フロー検出部12から得たフローの特性を参照し、フロー特性データベース13とネットワーク特性データベース14を検索してフローの特性に対して最適なネットワークを選択し、通信部11が接続するネットワーク3を選択されたネットワークに切り替える。このとき、ネットワーク選択部15は、通信部11に対して、選択されたネットワークへの切り替えを指示するようにしても良い。
【0030】
通信品質検出部16は、通信品質の劣化を検出する。通信品質の劣化を検出する方法としては、例えば、通信部11を介して接続されるネットワーク3からハンドオーバーにより通信容量が変化した情報を得る方法や、通信品質検出部16自身がフローのスループット計測を行って通信品質の劣化を判定する方法がある。通信品質検出部16は、通信品質の劣化を検出するとネットワーク選択部15へ通知する。ネットワーク選択部15は、フロー検出部12がフローの切れ目を検出した時点で最適なネットワークを再選択して通信部11へ通知する。ここでいう最適なネットワークは、コスト優先で判断するならば、フローの要求する速度を満たし、最も低コストとなるネットワークである。
【0031】
図2に、フロー特性データベース13が保持する情報の例を示す。
フロー特性データベース13には各通信フローの特性をあらわす情報が格納される。図2に示した例では、接続元端末情報、通信先ホスト名/IPアドレス(通信先識別情報)、プロトコル種別、平均通信量、使用したネットワーク、最新の通信時刻を示すタイムスタンプ等に関する情報を格納する。この例では、発信元が端末A、接続先が「www.foo.com」、プロトコルがHTTPS(Hypertext Transfer Protocol Security)であった場合、これらをキーにフロー特性データベース13を検索することで、このフローの平均通信量は「32kbps」であるというフロー特性を得ることができる。同じHTTPであったとしても、Webページの閲覧であったりストリーミングに用いられたりと、フローの特性は様々に異なる。より詳細なフロー識別の必要がある場合は、発信元やタイムスタンプの情報を使い、一定時間以内に同一の端末からの通信であれば同一のフローと判断する、ということもできる。
【0032】
図3に、ネットワーク特性データベース14が保持する情報の例を示す。
ネットワーク特性データベース14には、通信中継装置1が接続するネットワーク3の通信特性に関する情報が保存されている。図3に示した例では、ネットワーク3の種別、最大帯域幅、利用可能帯域幅、セキュリティレベル、及び課金体系に関する情報が設定されている。但し、実際には、ネットワーク3の種別、最大帯域幅、利用可能帯域幅、セキュリティレベル、及び課金体系のうち少なくとも1つに関する情報が設定されていれば良い。すなわち、ネットワーク特性データベース14には、ネットワークの特性を示す1種類以上の情報が設定されている。この例では、無線スポットとイントラネットは利用可能圏外であるため、利用可能帯域幅が「0」となっている。また、課金体系は無線スポットとセルラは従量課金でそれぞれ「8円/分」と「30円/分」、イントラネットとPHSは定額制であるため「0円/分」となっている。ここでフロー特性から「32kbps」の速度要求があったとすると、これをキーにネットワーク特性データベース14の利用可能帯域幅を検索すると、セルラとPHSが要求を満たし、よりコストが低いのは、PHSであることがわかる。
【0033】
図4に、品質劣化時に通信品質検出部16によりネットワーク特性データベース14が保持する情報が修正される例を示す。
図4に示した例では、ハンドオーバーによりPHSの利用可能帯域幅が「64kbps」から「32kbps」へと変化している。ここでは、利用可能帯域幅が減少したことを検知した通信品質検出部16が、PHSの利用可能帯域幅を「64kbps」から「32kbps」へと書き換えている。
【0034】
図5に示すフローチャートを参照して、品質劣化時のネットワーク選択部15によるネットワーク3の切り替えの動作を説明する。
(1)ステップS101
通信品質検出部16は、フローの要求品質を満たしているかどうか、現在使用中のベアラを監視している。
(2)ステップS102
通信品質検出部16は、監視しているベアラが品質劣化して要求品質を満たさなくなった場合は、該当ベアラのネットワーク特性データベース14の項目を更新する。すなわち、通信品質検出部16は、ネットワーク特性データベース14に保存されている該当ベアラの通信品質に関する情報を更新する。ここでは、通信品質検出部16は、該当ベアラの利用可能帯域幅に関する情報を更新する。
(3)ステップS103
ネットワーク選択部15は、通信品質検出部16から品質劣化の通知を受け取ると、現在のフローの要求品質を満たす、切り替え先となるネットワークを検索する。
(4)ステップS104
ネットワーク選択部15は、フローの切れ目に達するまでは、切り替えを行わずに待機する。
(5)ステップS105
ネットワーク選択部15は、フローの切れ目に達した時点で、新たに選択されたネットワークへと切り替えを行う。
【0035】
ここで、HTTPを例に説明すると、端末側から「GET」リクエストを送ってレスポンスが返ってきたならば、仮にマルチセッションでTCPセッションが継続していたとしても、フローの切れ目であると判断することができる。逆に、一時的にパケットが途絶えても、レスポンスの終了まではフローは継続中である。これは「GET」や「HEAD」といったメソッド毎に挙動が異なり、「GET」ではレスポンスヘッダとレスポンスボディがあるが、「HEAD」の場合はレスポンスヘッダだけであるというように、プロトコルの中身を解析しなければならない。
【0036】
別のプロトコルの例としてFTPを例にあげると、FTPではコマンドの送受信に使われるコントロールコネクションと、ファイルの送受信に使われるデータコネクションの二つのポートを使って通信が行われる。例えば、図6で示されるように、コントロールコネクションでログインや転送するファイルの指定等を行った後にデータコネクションが張られる。従って、コントロールコネクションを監視することで、データコネクションのフローがいつ発生し終了するのかを知ることができる。この際、アドレスを書き換えることでデータコネクションだけを同時に張った別のベアラへ流すということや、複数のファイルの転送を行う際に、それぞれのデータ転送で張られるデータコネクションを別々のベアラへ流すということが可能になる。
【0037】
図7は、品質劣化と通信中のフローのベアラ切り替えのタイミングの例を示した図である。
図7に示した例では、通信品質検出部16は、当初の最適ベアラであるベアラAを選択し使用している間に、ベアラAの通信品質が要求品質を下回り品質劣化状態になるとネットワーク選択部15へ通知する。ネットワーク選択部15は、フロー検出部12から得たフローの特性を参照し、フロー特性データベース13とネットワーク特性データベース14を基にベアラ切り替え候補を検索する。ここでは、検索の結果からベアラBを選択している。また、フロー検出部12は、フローの切れ目を検出する。ネットワーク選択部15は、フローが途切れた時点で最適なネットワークを再選択し、選択されたネットワークに切り替える。ここでは、ネットワーク選択部15は、ベアラAからベアラBに切り替えている。
【0038】
本実施例によれば、回線二重化や帯域予約等の余分にコストを必要とする方法を取らずに、通信品質が劣化したベアラから通信品質が良好なベアラへと切り替えることができる。
【0039】
次に、本発明の第2実施例について図面を参照して詳細に説明する。
図8に本発明の第2実施例の構成を示す。本実施例の構成は、前述の第1実施例の構成を示す図1の通信中継装置1にアドレス変換部17を付加したものと同等である。
【0040】
従って、本実施例では、通信中継装置1は、通信部11と、フロー検出部12と、フロー特性データベース13と、ネットワーク特性データベース14と、ネットワーク選択部15と、通信品質検出部16と、アドレス変換部17を備える。ここで、通信端末装置2、ネットワーク3、通信部11、フロー検出部12、フロー特性データベース13、ネッワーク特性データベース14、ネッワーク選択部15、及び通信品質検出部16については、前述の第1実施例と同様である。
【0041】
アドレス変換部17は、通信部11が中継するパケットのアドレスやポート番号を、通信端末装置2で使用されるアドレスやポート番号とネットワーク3で使用するアドレスやポート番号を対応付けて書き換えることで、通信端末装置2とネットワーク3の通信を可能にする。このとき、アドレス変換部17は、ネットワーク選択部15から通信部11に対する、選択されたネットワークへの切り替えの指示に応じて、アドレスやポート番号を書き換えるようにしても良い。
【0042】
次に、図9を参照して、本実施例におけるアドレス変換処理について説明する。ここでは、通信中継装置1に接続する四つの通信端末装置2のそれぞれに対し、通信中継装置1がローカルアドレス(プライベートアドレス)A、B、C、Dを振り出している。通信中継装置1は四種類のベアラへの接続部を持ち、それぞれグローバルアドレスW、X、Y、Zを与えられている。それぞれの通信端末装置2は通信を行う際に通信中継装置1を経由し、通信中継装置1がローカルアドレスを使用するベアラに対応するグローバルアドレスへと書き換えることで通信が行われる。
【0043】
例えば、ローカルアドレスAを割り当てられた通信端末装置2が通信するフローの特性がPHSのネットワーク特性を満たすもので、PHSが利用可能であった場合、通信中継装置1はローカルアドレスAをグローバルアドレスZへと書き換えることで、ベアラPHSを使用して外部ネットワークへの通信を確立する。
【0044】
この状態で移動等がきっかけとなって通信品質が劣化したとすると、図7で示されるように、使用中のベアラがフローの要求品質を満たさない品質劣化状態となる。この時点で別のベアラである3Gがフローの要求品質を満たしており、コスト等の他の条件も含めて最適であるならば、PHSから3Gへと速やかにベアラ切り替えされることが望ましい。ここで、フローが途切れたタイミングを利用してアドレス変換部17によるアドレス書き換えをZからYへと変更することで、ローカルアドレスAを持つ通信端末装置2は3Gへと使用するベアラを切り替えて通信を行うことができる。
【0045】
本実施例によれば、品質劣化後にフローの切れ目検出した段階でアドレス書き換え先を変更することにより、通信端末装置2側にはベアラ切り替えによる通信を途切れさせることなくベアラ切り替えを行うことができる。
【0046】
次に、本発明の第3実施例について図面を参照して詳細に説明する。
図10に本発明の第3実施例の構成を示す。本実施例の構成は、前述の第1実施例の構成を示す図1の通信中継装置1にプロトコル変換部18を付加したものと同等である。
【0047】
従って、本実施例では、通信中継装置1は、通信部11と、フロー検出部12と、フロー特性データベース13と、ネットワーク特性データベース14と、ネットワーク選択部15と、通信品質検出部16と、プロトコル変換部18を備える。ここで、通信端末装置2、ネットワーク3、通信部11、フロー検出部12、フロー特性データベース13、ネッワーク特性データベース14、ネッワーク選択部15、及び通信品質検出部16については、前述の第1実施例と同様である。なお、通信中継装置1は、更に、第2実施例で説明したアドレス変換部17を備えていても良い。
【0048】
プロトコル変換部18は、プロキシ(proxy)として動作し、HTTPやFTPといった通信に使用されるプロトコルの中身を書き換えることで通信端末装置2とネットワーク3の通信を可能にする。プロキシは端末とサーバの両方の機能を持ち、端末に対してはサーバとして、サーバに対しては端末として働く。
【0049】
次に、図11を参照して、本実施例におけるプロトコル変換処理について説明する。この図は、HTTPプロキシにおけるリクエストURL書き換えの様子を示したものである。
【0050】
通信端末装置2は、送信元アドレスとして通信中継装置1によって付与されたアドレス(A)、送信先アドレス(a)とポート番号として通信中継装置1のものを用い、URLもパス部分にサーバのアドレス(www.foo.com)とポート番号(省略の場合は80番)を含むプロキシ用の形式を使用する。通信中継装置1はHTTPプロキシとして働くので、プロキシ用の形式のURLを解析してサーバのアドレスとポート番号を得て、URLを(アドレスとポート番号を除いた)サーバ用に書き換える。フローの特性を満たす最適なベアラとしてネットワーク選択部15によってPHSが選択された場合、通信中継装置1は、送信元アドレスとしてベアラに付与されたアドレス(PHSの場合はZ)を使って、サーバに対して先ほどURLを解析して得た送信先アドレス(www.foo.com)とポート番号(省略の場合は80)へリクエストを出すことにより、最適なベアラによる通信が可能となる。
【0051】
上記の通信端末装置2側の動作は一般的なHTTPプロキシを用いるときの動作であるが、通信中継装置1が透過型プロキシとして働くときは、接続先アドレスとポート番号はサーバのもので、URLも通常の形式のままでも良い。
【0052】
なお、上記の各実施例は、組み合わせて実施しても良い。
【0053】
また、上記の各実施例におけるベアラ切り替えのための動作を、ネットワーク選択方法と呼ぶ。このネットワーク選択方法を、コンピュータのようなプロセッサ(processor:処理装置)に実行させるためのプログラムを、ネットワーク選択プログラムと呼ぶ。このネットワーク選択プログラムは、記憶装置又は記憶媒体(メディア)に記憶される。
【0054】
本発明によれば、ネットワークに接続する端末装置や中継装置、その装置上で動作する通信アプリケーションプログラムといった用途に適用できる。また、このような端末装置や中継装置に対して、要求される品質に応じた効率的なネットワーク提供が可能になる。
【0055】
以上のように、本発明は通信装置、及び、それに用いるネットワークプロトコルスタックのプログラムに関し、特に多種多様な通信方法でかつ複数のネットワークに接続する際のベアラ切り替えの制御方法に関する。
【0056】
本発明に係る通信装置は、複数のベアラと、通信フローの特性を識別するためのフロー識別部と、フローの特徴から利用可能なベアラのネットワーク特性に応じたベアラ検索部と、ベアラがフローの要求品質を満たしているか識別する通信品質検出部と、フローの切れ目を検出してベアラを切り替えるベアラ選択部を備えることを特徴とする。
【0057】
ベアラ選択部は、アドレス変換部を備え、アドレス変換部でアドレスを接続先ベアラに付与されたアドレスへ書き換えることでベアラを切り替えることを特徴とする。
【0058】
ベアラ選択部は、プロトコル変換部を備え、プロトコル変換部でプロトコルを変換し、プロキシとして接続先ベアラに付与されたアドレスを使ってサーバへ接続することでベアラを切り替えることを特徴とする。
【0059】
また、他の観点から見ると、本発明に係る通信装置は、端末への通信中継装置、或いは端末と中継装置が一体となった通信装置として実装される。この通信装置は、複数の端末、及び、複数の通信ネットワーク間の通信フローを中継する通信部と、各ネットワークの速度や通信コストといった情報を保持するネットワーク特性データベースと、接続先等のフローを識別するための情報とフローの要求する通信速度といった情報を保持するフロー特性データベースと、各端末から送受信されるパケットの通信フローを識別する通信フロー検出部と、フロー情報とデータベースからフローの要求する条件を満たす最適なネットワークを選択するネットワーク選択部と、ハンドオーバーやパケットの輻輳等による通信品質劣化を検出する通信品質検出部とを備える。
【0060】
ネットワーク選択部は、通信フローの開始時にその時点におけるフロー検出部によって得られた要求通信速度等のフローの特徴情報を用い、フロー特性データベースを検索してその条件を満たすネットワークを検索して接続する。
【0061】
通信品質検出部は、ハンドオーバーやパケットの輻輳等による通信品質劣化を検出すると、ネットワーク特性データベースで保持されている特性項目を変更し、ネットワーク選択部へ品質劣化の通知を送る。
【0062】
通信フロー検出部によってフローの切れ目が検出されると、その時点で改めて最適なネットワークの検索が行われ、品質劣化していた場合は要求条件を満たすネットワークへの切り替えが行われる。
【0063】
本発明に係るネットワーク選択プログラムは、通信内容から通信フローを検出する処理と、フローの特性を記憶するフロー特性データベース処理と、ベアラの特性を記憶するネットワーク特性データベース処理と、ベアラがフローの要求品質を満たしているか識別する通信品質検出処理と、フローの切れ目を検出してベアラを切り替えるベアラを選択する処理とをコンピュータに実行させることを特徴とする。
【0064】
ベアラ選択処理は、アドレス変換処理を行い、アドレスを接続先ベアラに付与されたアドレスへ書き換えることでベアラを切り替えることを特徴とする。
【0065】
ベアラ選択処理は、プロトコル変換処理を行い、プロキシとして接続先ベアラに付与されたアドレスを使ってサーバへ接続することでベアラを切り替えることを特徴とする。
【0066】
本発明に係るネットワーク選択方法は、複数の端末、及び、複数のネットワーク間の通信フローを中継するとき、通信内容から通信フローの特徴を検出し、ベアラの特性を記憶するネットワーク特性データベースを参照してベアラがフローの要求品質を満たさなくなるとフローの切れ目を検出してベアラを切り替えることを特徴とする。
【0067】
また、本発明に係るネットワーク選択方法は、端末からの通信フローにおけるパケットのアドレスを、該パケットを送出すべきベアラに付与されたアドレスへ書き換えることでベアラを切り替えることを特徴とする。
【0068】
また、本発明に係るネットワーク選択方法は、プロキシとして動作することし、ベアラに付与されたアドレスを送信元アドレスとして使うことでベアラを切り替えることを特徴とする。
【図面の簡単な説明】
【0069】
【図1】図1は、本発明の第1実施例による通信システムの構成を示すブロック図である。
【図2】図2は、フロー特性データベース13に格納されるデータの一例を示す図である。
【図3】図3は、ネットワーク特性データベース14に格納されるデータの一例を示す図である。
【図4】図4は、品質劣化時のネットワーク特性データベース14のデータ変化の一例を示す図である。
【図5】図5は、品質劣化時のベアラ切り替えの流れを示す図である。
【図6】図6は、FTPにおけるコマンド送受信の例を示す図である。
【図7】図7は、品質劣化時のベアラ切り替えのタイミングを示す図である。
【図8】図8は、本発明の第2実施例による通信システムの構成を示すブロック図である。
【図9】図9は、本発明の第2実施例によるアドレス変換の様子を示す図である。
【図10】図10は、本発明の第3実施例による通信システムの構成を示すブロック図である。
【図11】図11は、HTTPプロキシにおけるプロトコル変換の様子を示す図である。
【符号の説明】
【0070】
1…通信中継装置
11…通信部
12…フロー検出部
13…フロー特性データベース
14…ネッワーク特性データベース
15…ネッワーク選択部
16…通信品質検出部
17…アドレス変換部
18…プロトコル変換部
2…通信端末装置
3…ネットワーク
【技術分野】
【0001】
本発明は、通信装置に関し、特に複数のベアラ(Bearer)を切り替える通信装置に関する。
【背景技術】
【0002】
近年、携帯電話網、無線LAN(Wireless LAN(Local Area Network))をはじめとする無線ネットワークの普及に伴い、移動端末装置を用いて多種多様なネットワークに接続するというユースケース(Use Case)が増大している。
【0003】
例えば、通信方式として、セルラ網(Cellular Network)、無線LAN、PHS(Personal Handyphone System)接続、Bluetooth(登録商標)等がある。また、接続するネットワークとしては、セルラネットワーク、Internet、企業内イントラネット、家庭内LANがある。更に、これらに対するVPN(Virtual Private Network)接続がある。
【0004】
複数のネットワークにIP(Internet Protocol)を使って同時に接続する場合、端末が利用したいネットワークサービス上に到達するための経路が複数存在することになる。通信を行うためには、端末は経路の決定(ルーティング)を行って、適切なネットワークにパケットが送出されるようにしなければならない。
【0005】
通常、通常IPアドレスを用いて経路制御するところを、TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)のポート番号やQoS(Quality of Service)パラメータを切り替える、特開平10−173703号公報(特許文献1)で示すようなポリシールーティング(Policy Routing)と呼ばれる手法があった。
【0006】
これを応用し、通信内容に応じたルーティングの切り替え方法として、端末内において特開2007−282142号公報(特許文献2)で示されたような通信アプリケーションや接続先の情報等を受け取り、アプリケーション特性データベースと、ネットワーク特性データベースの情報から、最適な通信手段を選択するという方法が用いられてきた。
【0007】
また、この改良として、要求帯域といったフローの特徴を利用して、中継装置での最適な通信手段の選択、切り替えを可能にする方法も考えられる。
【0008】
また、ATM(Asynchronous Transfer Mode)におけるCBR(Constant Bit Rate)や、IP通信におけるRSVP(Resource reSerVation Protocol)、DiffServ(Differentiated Services)のような帯域予約型によるQoS確保の試みも行われてきた。これらはあらかじめ通信フローの使用する容量を経路上のルータ(router)やスイッチ(Switching Hub)のような中継装置へ予約し、特定のフローラベルを付けられたパケットを優先通過させるといった方法で行われてきた。
【0009】
更に、特開2005−210347号公報(特許文献3)に帯域予約型の関連技術が開示されている。この関連技術では、ストリーミング配信を安定させることを目的として、通信フローに着目して優先的にストリーミングのフローへ帯域を割り当てる方法を提案している。
【0010】
【特許文献1】特開平10−173703号公報
【特許文献2】特開2007−282142号公報
【特許文献3】特開2005−210347号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
特許文献1及び特許文献2に示された方法を用いると、通信開始時における最適な通信手段を選択することが可能になるが、通信中に品質劣化が起こった場合の再選択を行うことができない。ここでは、品質とは、通信品質を示す。
【0012】
また、要求帯域といったフローの特徴を利用して、中継装置での最適な通信手段の選択、切り替えを可能にする方法では、通信開始時に最適な通信手段を選択できなかった場合に切り替えることができるが、動的な通信環境の変化に対応するものではない。
【0013】
特許文献3で示すような帯域予約型でQoSを確保する方法では、ベストエフォート型と比べて一般的に余分なコスト(費用)がかかることである。帯域予約型でのQoSを確保では、実際に流れるデータ量に関わらず回線交換のように一定の帯域を確保するからであって、通常は確保した帯域に応じてコストが従量課金のように増えていくケースが多い。厳格なQoS確保が求められている場合には有効であるが、アプリケーション側でもバッファによるジッタ吸収等の対策は採られており、そこまでのQoS確保が必要とされないケースもある。
【0014】
このため、関連技術の組み合わせでは、厳密なQoSを要求されないようなケースでも、ある程度の品質を確保しようとすると帯域予約が可能なベアラ(Bearer)しか選択肢として利用できない。ここでは、ベアラは、物理的な通信回線と論理的なプロトコル(Protocol)を組み合わせた通信サービスを示す。すなわち、ベアラは、所定の論理的なプロトコルに基づいて通信を行うための物理的な通信回線と考えることもできる。但し、実際には、物理的な通信回線に限定されない。例えば、物理的な通信回線の上に論理的に構築されたL2TP(Layer 2 Tunneling Protocol)やVLAN(Virtual LAN)のような論理的な通信回線でも良い。
【0015】
本発明の目的は、厳密なQoS確保を求めて高コスト化や、ネットワーク側への複雑なシステム追加をすることなく、品質劣化時に随時ベアラを切り替えることで、端末側だけの簡易な方式で一定の効果を期待できる品質確保を行う通信装置、ネットワーク選択方法、及びネットワーク選択プログラムを提供することである。
【課題を解決するための手段】
【0016】
本発明の通信装置は、ネットワークとの間のベアラ(Bearer)を介した通信のフローの特性を識別するフロー検出部と、前記ベアラが前記フローの要求品質を満たしているか識別する通信品質検出部と、前記フローの特性に基づき、ネットワーク特性に応じたベアラを検出し、前記フローの切れ目が検出された際、前記ベアラを前記検出されたベアラに切り替えるネットワーク選択部とを具備する。
【0017】
本発明のネットワーク選択方法は、(a)ネットワークとの間のベアラ(Bearer)を介した通信のフローの特性を識別するステップと、(b)前記ベアラが前記フローの要求品質を満たしているか識別するステップと、(c)前記フローの特性に基づき、ネットワーク特性に応じたベアラを検出し、前記フローの切れ目が検出された際、前記ベアラを前記検出されたベアラに切り替えるステップとを含む。
【0018】
本発明のネットワーク選択プログラムは、(a)ネットワークとの間のベアラ(Bearer)を介した通信のフローの特性を識別するステップと、(b)前記ベアラが前記フローの要求品質を満たしているか識別するステップと、(c)前記フローの特性に基づき、ネットワーク特性に応じたベアラを検出し、前記フローの切れ目が検出された際、前記ベアラを前記検出されたベアラに切り替えるステップとをコンピュータに実行させる。
【発明の効果】
【0019】
フロー特性を利用して最適なベアラを選択する通信システムにおいて、通信品質の劣化時に通信を継続させながら条件が変化した時点における最適なベアラを再選択して切り替えることが可能となる。
【発明を実施するための最良の形態】
【0020】
以下に、本発明の第1実施例について添付図面を参照して説明する。
図1は、本発明の第1実施例に係る通信中継システムの構成を示すブロック図である。
本発明の第1実施例に係る通信中継システムは、通信中継装置1と、通信端末装置2と、ネットワーク3を含む。
【0021】
通信中継装置1は、1個以上(少なくとも1つ)のネットワーク3に接続して、通信端末装置2にネットワークサービスを提供することができる通信中継装置である。
【0022】
通信端末装置2は、任意の通信端末である。また、通信端末装置2は、通信中継装置1と有線又は無線により接続する。ここでは、通信端末装置2は、通信中継装置1の配下の端末とする。但し、実際には、この例に限定されない。例えば、通信端末装置2は、通信中継装置1と並列に設置された通信中継装置でも良い。
【0023】
ネットワーク3は、通信回線である。ネットワーク3として、例えば、インターネット、イントラネット、無線LANスポット、家庭内LAN、店舗内LAN、専用線、電話通信網等の様々なネットワークが想定される。ここでは、ネットワーク3には、通信中継装置1を介して通信端末装置2にネットワークサービスを提供するサーバ等のサービス提供装置(ネットワークサービスの提供元)が含まれるものとする。但し、実際には、この例に限定されない。
【0024】
ここでは、通信中継装置1は、通信部11と、フロー検出部12と、フロー特性データベース13と、ネットワーク特性データベース14と、ネットワーク選択部15と、通信品質検出部16を備える。
【0025】
通信部11は、通信中継装置1がネットワーク3に接続するために使用される。また、通信部11は、通信端末装置2が通信中継装置1に接続するためにも使用される。すなわち、通信部11は、通信端末装置2とネットワーク3とを接続する。この際、通信中継装置1がネットワーク3に接続するための通信回線としては、例えば、有線LAN、無線LAN、公衆電話網、携帯電話網、PHS(Personal Handy−phone System)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、WiMAX、3G(第3世代携帯電話)、シリアル通信等のベアラ(Bearer)が想定される。これらのベアラは、接続に使用されるとネットワーク3に含まれる。すなわち、ベアラの切り替えは、ネットワーク3の切り替えと同義である。ここでは、ベアラは、物理的な通信回線と論理的なプロトコル(Protocol)を組み合わせた通信サービスを示す。すなわち、ベアラは、所定の論理的なプロトコルに基づいて通信を行うための物理的な通信回線と考えることもできる。但し、実際には、物理的な通信回線に限定されない。例えば、物理的な通信回線の上に論理的に構築されたL2TP(Layer 2 Tunneling Protocol)やVLAN(Virtual LAN)のような論理的な通信回線でも良い。通信に使用するプロトコルは、主としてTCP/IPである。また、VPN(Virtual Private Network)を使って仮想的なネットワーク接続を行うこともあるが、これもベアラの一種として見なせる。
【0026】
フロー検出部12は、通信内容からフローの種別等の特性を識別する。ここでは、フローの種別とは、プロトコルを示す。すなわち、フローの特性とは、使用されているプロトコルの特性を示す。フロー検出部12は、対応するプロトコルをパケットの中身を見て解析することができる。ここで使用されるプロトコルとしては、HTTP(HyperText Transfer Protocol)やFTP(File Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)、PPPoE(PPP over Ethernet(登録商標))等のプロトコルが想定される。但し、実際には、これらの例に限定されない。また、フロー検出部12は、フローの切れ目を検出する。
【0027】
フロー特性データベース13は、通信フローの特性を格納するデータベースである。また、フロー特性データベース13は、接続先アドレスやポート番号、要求速度に関する情報の組み合わせ等を保存する。但し、実際には、これらの例に限定されない。このとき、フロー検出部12は、接続先アドレスとポート番号をキーにフロー特性データベース13を検索する等の方法により、フローの特性を識別する。
【0028】
ネットワーク特性データベース14は、ネットワークの特性を格納するデータベースである。また、ネットワーク特性データベース14は、通信部11が接続可能なネットワーク3の帯域幅やセキュリティ情報、通信料金に関する情報を保存する。但し、実際には、これらの例に限定されない。
【0029】
ネットワーク選択部15は、フロー検出部12から得たフローの特性を参照し、フロー特性データベース13とネットワーク特性データベース14を検索してフローの特性に対して最適なネットワークを選択し、通信部11が接続するネットワーク3を選択されたネットワークに切り替える。このとき、ネットワーク選択部15は、通信部11に対して、選択されたネットワークへの切り替えを指示するようにしても良い。
【0030】
通信品質検出部16は、通信品質の劣化を検出する。通信品質の劣化を検出する方法としては、例えば、通信部11を介して接続されるネットワーク3からハンドオーバーにより通信容量が変化した情報を得る方法や、通信品質検出部16自身がフローのスループット計測を行って通信品質の劣化を判定する方法がある。通信品質検出部16は、通信品質の劣化を検出するとネットワーク選択部15へ通知する。ネットワーク選択部15は、フロー検出部12がフローの切れ目を検出した時点で最適なネットワークを再選択して通信部11へ通知する。ここでいう最適なネットワークは、コスト優先で判断するならば、フローの要求する速度を満たし、最も低コストとなるネットワークである。
【0031】
図2に、フロー特性データベース13が保持する情報の例を示す。
フロー特性データベース13には各通信フローの特性をあらわす情報が格納される。図2に示した例では、接続元端末情報、通信先ホスト名/IPアドレス(通信先識別情報)、プロトコル種別、平均通信量、使用したネットワーク、最新の通信時刻を示すタイムスタンプ等に関する情報を格納する。この例では、発信元が端末A、接続先が「www.foo.com」、プロトコルがHTTPS(Hypertext Transfer Protocol Security)であった場合、これらをキーにフロー特性データベース13を検索することで、このフローの平均通信量は「32kbps」であるというフロー特性を得ることができる。同じHTTPであったとしても、Webページの閲覧であったりストリーミングに用いられたりと、フローの特性は様々に異なる。より詳細なフロー識別の必要がある場合は、発信元やタイムスタンプの情報を使い、一定時間以内に同一の端末からの通信であれば同一のフローと判断する、ということもできる。
【0032】
図3に、ネットワーク特性データベース14が保持する情報の例を示す。
ネットワーク特性データベース14には、通信中継装置1が接続するネットワーク3の通信特性に関する情報が保存されている。図3に示した例では、ネットワーク3の種別、最大帯域幅、利用可能帯域幅、セキュリティレベル、及び課金体系に関する情報が設定されている。但し、実際には、ネットワーク3の種別、最大帯域幅、利用可能帯域幅、セキュリティレベル、及び課金体系のうち少なくとも1つに関する情報が設定されていれば良い。すなわち、ネットワーク特性データベース14には、ネットワークの特性を示す1種類以上の情報が設定されている。この例では、無線スポットとイントラネットは利用可能圏外であるため、利用可能帯域幅が「0」となっている。また、課金体系は無線スポットとセルラは従量課金でそれぞれ「8円/分」と「30円/分」、イントラネットとPHSは定額制であるため「0円/分」となっている。ここでフロー特性から「32kbps」の速度要求があったとすると、これをキーにネットワーク特性データベース14の利用可能帯域幅を検索すると、セルラとPHSが要求を満たし、よりコストが低いのは、PHSであることがわかる。
【0033】
図4に、品質劣化時に通信品質検出部16によりネットワーク特性データベース14が保持する情報が修正される例を示す。
図4に示した例では、ハンドオーバーによりPHSの利用可能帯域幅が「64kbps」から「32kbps」へと変化している。ここでは、利用可能帯域幅が減少したことを検知した通信品質検出部16が、PHSの利用可能帯域幅を「64kbps」から「32kbps」へと書き換えている。
【0034】
図5に示すフローチャートを参照して、品質劣化時のネットワーク選択部15によるネットワーク3の切り替えの動作を説明する。
(1)ステップS101
通信品質検出部16は、フローの要求品質を満たしているかどうか、現在使用中のベアラを監視している。
(2)ステップS102
通信品質検出部16は、監視しているベアラが品質劣化して要求品質を満たさなくなった場合は、該当ベアラのネットワーク特性データベース14の項目を更新する。すなわち、通信品質検出部16は、ネットワーク特性データベース14に保存されている該当ベアラの通信品質に関する情報を更新する。ここでは、通信品質検出部16は、該当ベアラの利用可能帯域幅に関する情報を更新する。
(3)ステップS103
ネットワーク選択部15は、通信品質検出部16から品質劣化の通知を受け取ると、現在のフローの要求品質を満たす、切り替え先となるネットワークを検索する。
(4)ステップS104
ネットワーク選択部15は、フローの切れ目に達するまでは、切り替えを行わずに待機する。
(5)ステップS105
ネットワーク選択部15は、フローの切れ目に達した時点で、新たに選択されたネットワークへと切り替えを行う。
【0035】
ここで、HTTPを例に説明すると、端末側から「GET」リクエストを送ってレスポンスが返ってきたならば、仮にマルチセッションでTCPセッションが継続していたとしても、フローの切れ目であると判断することができる。逆に、一時的にパケットが途絶えても、レスポンスの終了まではフローは継続中である。これは「GET」や「HEAD」といったメソッド毎に挙動が異なり、「GET」ではレスポンスヘッダとレスポンスボディがあるが、「HEAD」の場合はレスポンスヘッダだけであるというように、プロトコルの中身を解析しなければならない。
【0036】
別のプロトコルの例としてFTPを例にあげると、FTPではコマンドの送受信に使われるコントロールコネクションと、ファイルの送受信に使われるデータコネクションの二つのポートを使って通信が行われる。例えば、図6で示されるように、コントロールコネクションでログインや転送するファイルの指定等を行った後にデータコネクションが張られる。従って、コントロールコネクションを監視することで、データコネクションのフローがいつ発生し終了するのかを知ることができる。この際、アドレスを書き換えることでデータコネクションだけを同時に張った別のベアラへ流すということや、複数のファイルの転送を行う際に、それぞれのデータ転送で張られるデータコネクションを別々のベアラへ流すということが可能になる。
【0037】
図7は、品質劣化と通信中のフローのベアラ切り替えのタイミングの例を示した図である。
図7に示した例では、通信品質検出部16は、当初の最適ベアラであるベアラAを選択し使用している間に、ベアラAの通信品質が要求品質を下回り品質劣化状態になるとネットワーク選択部15へ通知する。ネットワーク選択部15は、フロー検出部12から得たフローの特性を参照し、フロー特性データベース13とネットワーク特性データベース14を基にベアラ切り替え候補を検索する。ここでは、検索の結果からベアラBを選択している。また、フロー検出部12は、フローの切れ目を検出する。ネットワーク選択部15は、フローが途切れた時点で最適なネットワークを再選択し、選択されたネットワークに切り替える。ここでは、ネットワーク選択部15は、ベアラAからベアラBに切り替えている。
【0038】
本実施例によれば、回線二重化や帯域予約等の余分にコストを必要とする方法を取らずに、通信品質が劣化したベアラから通信品質が良好なベアラへと切り替えることができる。
【0039】
次に、本発明の第2実施例について図面を参照して詳細に説明する。
図8に本発明の第2実施例の構成を示す。本実施例の構成は、前述の第1実施例の構成を示す図1の通信中継装置1にアドレス変換部17を付加したものと同等である。
【0040】
従って、本実施例では、通信中継装置1は、通信部11と、フロー検出部12と、フロー特性データベース13と、ネットワーク特性データベース14と、ネットワーク選択部15と、通信品質検出部16と、アドレス変換部17を備える。ここで、通信端末装置2、ネットワーク3、通信部11、フロー検出部12、フロー特性データベース13、ネッワーク特性データベース14、ネッワーク選択部15、及び通信品質検出部16については、前述の第1実施例と同様である。
【0041】
アドレス変換部17は、通信部11が中継するパケットのアドレスやポート番号を、通信端末装置2で使用されるアドレスやポート番号とネットワーク3で使用するアドレスやポート番号を対応付けて書き換えることで、通信端末装置2とネットワーク3の通信を可能にする。このとき、アドレス変換部17は、ネットワーク選択部15から通信部11に対する、選択されたネットワークへの切り替えの指示に応じて、アドレスやポート番号を書き換えるようにしても良い。
【0042】
次に、図9を参照して、本実施例におけるアドレス変換処理について説明する。ここでは、通信中継装置1に接続する四つの通信端末装置2のそれぞれに対し、通信中継装置1がローカルアドレス(プライベートアドレス)A、B、C、Dを振り出している。通信中継装置1は四種類のベアラへの接続部を持ち、それぞれグローバルアドレスW、X、Y、Zを与えられている。それぞれの通信端末装置2は通信を行う際に通信中継装置1を経由し、通信中継装置1がローカルアドレスを使用するベアラに対応するグローバルアドレスへと書き換えることで通信が行われる。
【0043】
例えば、ローカルアドレスAを割り当てられた通信端末装置2が通信するフローの特性がPHSのネットワーク特性を満たすもので、PHSが利用可能であった場合、通信中継装置1はローカルアドレスAをグローバルアドレスZへと書き換えることで、ベアラPHSを使用して外部ネットワークへの通信を確立する。
【0044】
この状態で移動等がきっかけとなって通信品質が劣化したとすると、図7で示されるように、使用中のベアラがフローの要求品質を満たさない品質劣化状態となる。この時点で別のベアラである3Gがフローの要求品質を満たしており、コスト等の他の条件も含めて最適であるならば、PHSから3Gへと速やかにベアラ切り替えされることが望ましい。ここで、フローが途切れたタイミングを利用してアドレス変換部17によるアドレス書き換えをZからYへと変更することで、ローカルアドレスAを持つ通信端末装置2は3Gへと使用するベアラを切り替えて通信を行うことができる。
【0045】
本実施例によれば、品質劣化後にフローの切れ目検出した段階でアドレス書き換え先を変更することにより、通信端末装置2側にはベアラ切り替えによる通信を途切れさせることなくベアラ切り替えを行うことができる。
【0046】
次に、本発明の第3実施例について図面を参照して詳細に説明する。
図10に本発明の第3実施例の構成を示す。本実施例の構成は、前述の第1実施例の構成を示す図1の通信中継装置1にプロトコル変換部18を付加したものと同等である。
【0047】
従って、本実施例では、通信中継装置1は、通信部11と、フロー検出部12と、フロー特性データベース13と、ネットワーク特性データベース14と、ネットワーク選択部15と、通信品質検出部16と、プロトコル変換部18を備える。ここで、通信端末装置2、ネットワーク3、通信部11、フロー検出部12、フロー特性データベース13、ネッワーク特性データベース14、ネッワーク選択部15、及び通信品質検出部16については、前述の第1実施例と同様である。なお、通信中継装置1は、更に、第2実施例で説明したアドレス変換部17を備えていても良い。
【0048】
プロトコル変換部18は、プロキシ(proxy)として動作し、HTTPやFTPといった通信に使用されるプロトコルの中身を書き換えることで通信端末装置2とネットワーク3の通信を可能にする。プロキシは端末とサーバの両方の機能を持ち、端末に対してはサーバとして、サーバに対しては端末として働く。
【0049】
次に、図11を参照して、本実施例におけるプロトコル変換処理について説明する。この図は、HTTPプロキシにおけるリクエストURL書き換えの様子を示したものである。
【0050】
通信端末装置2は、送信元アドレスとして通信中継装置1によって付与されたアドレス(A)、送信先アドレス(a)とポート番号として通信中継装置1のものを用い、URLもパス部分にサーバのアドレス(www.foo.com)とポート番号(省略の場合は80番)を含むプロキシ用の形式を使用する。通信中継装置1はHTTPプロキシとして働くので、プロキシ用の形式のURLを解析してサーバのアドレスとポート番号を得て、URLを(アドレスとポート番号を除いた)サーバ用に書き換える。フローの特性を満たす最適なベアラとしてネットワーク選択部15によってPHSが選択された場合、通信中継装置1は、送信元アドレスとしてベアラに付与されたアドレス(PHSの場合はZ)を使って、サーバに対して先ほどURLを解析して得た送信先アドレス(www.foo.com)とポート番号(省略の場合は80)へリクエストを出すことにより、最適なベアラによる通信が可能となる。
【0051】
上記の通信端末装置2側の動作は一般的なHTTPプロキシを用いるときの動作であるが、通信中継装置1が透過型プロキシとして働くときは、接続先アドレスとポート番号はサーバのもので、URLも通常の形式のままでも良い。
【0052】
なお、上記の各実施例は、組み合わせて実施しても良い。
【0053】
また、上記の各実施例におけるベアラ切り替えのための動作を、ネットワーク選択方法と呼ぶ。このネットワーク選択方法を、コンピュータのようなプロセッサ(processor:処理装置)に実行させるためのプログラムを、ネットワーク選択プログラムと呼ぶ。このネットワーク選択プログラムは、記憶装置又は記憶媒体(メディア)に記憶される。
【0054】
本発明によれば、ネットワークに接続する端末装置や中継装置、その装置上で動作する通信アプリケーションプログラムといった用途に適用できる。また、このような端末装置や中継装置に対して、要求される品質に応じた効率的なネットワーク提供が可能になる。
【0055】
以上のように、本発明は通信装置、及び、それに用いるネットワークプロトコルスタックのプログラムに関し、特に多種多様な通信方法でかつ複数のネットワークに接続する際のベアラ切り替えの制御方法に関する。
【0056】
本発明に係る通信装置は、複数のベアラと、通信フローの特性を識別するためのフロー識別部と、フローの特徴から利用可能なベアラのネットワーク特性に応じたベアラ検索部と、ベアラがフローの要求品質を満たしているか識別する通信品質検出部と、フローの切れ目を検出してベアラを切り替えるベアラ選択部を備えることを特徴とする。
【0057】
ベアラ選択部は、アドレス変換部を備え、アドレス変換部でアドレスを接続先ベアラに付与されたアドレスへ書き換えることでベアラを切り替えることを特徴とする。
【0058】
ベアラ選択部は、プロトコル変換部を備え、プロトコル変換部でプロトコルを変換し、プロキシとして接続先ベアラに付与されたアドレスを使ってサーバへ接続することでベアラを切り替えることを特徴とする。
【0059】
また、他の観点から見ると、本発明に係る通信装置は、端末への通信中継装置、或いは端末と中継装置が一体となった通信装置として実装される。この通信装置は、複数の端末、及び、複数の通信ネットワーク間の通信フローを中継する通信部と、各ネットワークの速度や通信コストといった情報を保持するネットワーク特性データベースと、接続先等のフローを識別するための情報とフローの要求する通信速度といった情報を保持するフロー特性データベースと、各端末から送受信されるパケットの通信フローを識別する通信フロー検出部と、フロー情報とデータベースからフローの要求する条件を満たす最適なネットワークを選択するネットワーク選択部と、ハンドオーバーやパケットの輻輳等による通信品質劣化を検出する通信品質検出部とを備える。
【0060】
ネットワーク選択部は、通信フローの開始時にその時点におけるフロー検出部によって得られた要求通信速度等のフローの特徴情報を用い、フロー特性データベースを検索してその条件を満たすネットワークを検索して接続する。
【0061】
通信品質検出部は、ハンドオーバーやパケットの輻輳等による通信品質劣化を検出すると、ネットワーク特性データベースで保持されている特性項目を変更し、ネットワーク選択部へ品質劣化の通知を送る。
【0062】
通信フロー検出部によってフローの切れ目が検出されると、その時点で改めて最適なネットワークの検索が行われ、品質劣化していた場合は要求条件を満たすネットワークへの切り替えが行われる。
【0063】
本発明に係るネットワーク選択プログラムは、通信内容から通信フローを検出する処理と、フローの特性を記憶するフロー特性データベース処理と、ベアラの特性を記憶するネットワーク特性データベース処理と、ベアラがフローの要求品質を満たしているか識別する通信品質検出処理と、フローの切れ目を検出してベアラを切り替えるベアラを選択する処理とをコンピュータに実行させることを特徴とする。
【0064】
ベアラ選択処理は、アドレス変換処理を行い、アドレスを接続先ベアラに付与されたアドレスへ書き換えることでベアラを切り替えることを特徴とする。
【0065】
ベアラ選択処理は、プロトコル変換処理を行い、プロキシとして接続先ベアラに付与されたアドレスを使ってサーバへ接続することでベアラを切り替えることを特徴とする。
【0066】
本発明に係るネットワーク選択方法は、複数の端末、及び、複数のネットワーク間の通信フローを中継するとき、通信内容から通信フローの特徴を検出し、ベアラの特性を記憶するネットワーク特性データベースを参照してベアラがフローの要求品質を満たさなくなるとフローの切れ目を検出してベアラを切り替えることを特徴とする。
【0067】
また、本発明に係るネットワーク選択方法は、端末からの通信フローにおけるパケットのアドレスを、該パケットを送出すべきベアラに付与されたアドレスへ書き換えることでベアラを切り替えることを特徴とする。
【0068】
また、本発明に係るネットワーク選択方法は、プロキシとして動作することし、ベアラに付与されたアドレスを送信元アドレスとして使うことでベアラを切り替えることを特徴とする。
【図面の簡単な説明】
【0069】
【図1】図1は、本発明の第1実施例による通信システムの構成を示すブロック図である。
【図2】図2は、フロー特性データベース13に格納されるデータの一例を示す図である。
【図3】図3は、ネットワーク特性データベース14に格納されるデータの一例を示す図である。
【図4】図4は、品質劣化時のネットワーク特性データベース14のデータ変化の一例を示す図である。
【図5】図5は、品質劣化時のベアラ切り替えの流れを示す図である。
【図6】図6は、FTPにおけるコマンド送受信の例を示す図である。
【図7】図7は、品質劣化時のベアラ切り替えのタイミングを示す図である。
【図8】図8は、本発明の第2実施例による通信システムの構成を示すブロック図である。
【図9】図9は、本発明の第2実施例によるアドレス変換の様子を示す図である。
【図10】図10は、本発明の第3実施例による通信システムの構成を示すブロック図である。
【図11】図11は、HTTPプロキシにおけるプロトコル変換の様子を示す図である。
【符号の説明】
【0070】
1…通信中継装置
11…通信部
12…フロー検出部
13…フロー特性データベース
14…ネッワーク特性データベース
15…ネッワーク選択部
16…通信品質検出部
17…アドレス変換部
18…プロトコル変換部
2…通信端末装置
3…ネットワーク
【特許請求の範囲】
【請求項1】
ネットワークとの間のベアラ(Bearer)を介した通信のフローの特性を識別するフロー検出部と、
前記ベアラが前記フローの要求品質を満たしているか識別する通信品質検出部と、
前記フローの特性に基づき、ネットワーク特性に応じたベアラを検出し、前記フローの切れ目が検出された際、前記ベアラを前記検出されたベアラに切り替えるネットワーク選択部と
を具備する
通信装置。
【請求項2】
請求項1に記載の通信装置であって、
前記ベアラを前記検出されたベアラに切り替える際、接続先アドレスを前記検出されたベアラに付与されたアドレスに書き換えるアドレス変換部
を更に具備する
通信装置。
【請求項3】
請求項1又は2に記載の通信装置であって、
前記ベアラを前記検出されたベアラに切り替える際、プロキシ(proxy)として動作し、プロトコルを変換し、前記検出されたベアラに付与されたアドレスを使用して前記ネットワークへ接続するプロトコル変換部
を更に具備する
通信装置。
【請求項4】
請求項1乃至3のいずれか一項に記載の通信装置であって、
接続元端末情報、通信先識別情報、プロトコル種別、平均通信量、使用したネットワーク、及び最新の通信時刻を示すタイムスタンプに関する情報を保持し、前記フローの特性を識別する際に、前記接続元端末情報、前記通信先識別情報、及び前記プロトコル種別をキーにして前記フローの特性に関する情報を前記フロー検出部に提供するフロー特性データベース
を更に具備する
通信装置。
【請求項5】
請求項1乃至4のいずれか一項に記載の通信装置であって、
接続可能なネットワークの種別、最大帯域幅、利用可能帯域幅、セキュリティレベル、及び課金体系のうち少なくとも1つに関する情報を保持し、前記フローの品質劣化時に、前記通信品質検出部により、前記保持している情報が修正されるネットワーク特性データベース
を更に具備する
通信装置。
【請求項6】
(a)ネットワークとの間のベアラ(Bearer)を介した通信のフローの特性を識別するステップと、
(b)前記ベアラが前記フローの要求品質を満たしているか識別するステップと、
(c)前記フローの特性に基づき、ネットワーク特性に応じたベアラを検出し、前記フローの切れ目が検出された際、前記ベアラを前記検出されたベアラに切り替えるステップと
を含む
ネットワーク選択方法。
【請求項7】
請求項6に記載のネットワーク選択方法であって、
(d)前記ベアラを前記検出されたベアラに切り替える際、接続先アドレスを前記検出されたベアラに付与されたアドレスに書き換えるステップ
を更に含む
ネットワーク選択方法。
【請求項8】
請求項6又は7に記載のネットワーク選択方法であって、
(e)前記ベアラを前記検出されたベアラに切り替える際、プロキシ(proxy)として動作し、プロトコルを変換し、前記検出されたベアラに付与されたアドレスを使用して前記ネットワークへ接続するステップ
を更に含む
ネットワーク選択方法。
【請求項9】
請求項6乃至8のいずれか一項に記載のネットワーク選択方法であって、
前記(a)ステップは、
(a1)接続元端末情報、通信先識別情報、プロトコル種別、平均通信量、使用したネットワーク、及び最新の通信時刻を示すタイムスタンプに関する情報を保持するステップと、
(a2)前記フローの特性を識別する際に、前記接続元端末情報、前記通信先識別情報、及び前記プロトコル種別をキーにして前記フローの特性に関する情報を提供するステップと
を含む
ネットワーク選択方法。
【請求項10】
請求項6乃至9のいずれか一項に記載のネットワーク選択方法であって、
前記(c)ステップは、
(c1)接続可能なネットワークの種別、最大帯域幅、利用可能帯域幅、セキュリティレベル、及び課金体系のうち少なくとも1つに関する情報を保持するステップと、
(c2)前記フローの品質劣化時に、前記保持している情報を修正するステップと、
を含む
ネットワーク選択方法。
【請求項11】
(a)ネットワークとの間のベアラ(Bearer)を介した通信のフローの特性を識別するステップと、
(b)前記ベアラが前記フローの要求品質を満たしているか識別するステップと、
(c)前記フローの特性に基づき、ネットワーク特性に応じたベアラを検出し、前記フローの切れ目が検出された際、前記ベアラを前記検出されたベアラに切り替えるステップと
を、コンピュータに実行させるための
ネットワーク選択プログラム。
【請求項12】
請求項11に記載のネットワーク選択プログラムであって、
(d)前記ベアラを前記検出されたベアラに切り替える際、接続先アドレスを前記検出されたベアラに付与されたアドレスに書き換えるステップ
を、更にコンピュータに実行させるための
ネットワーク選択プログラム。
【請求項13】
請求項11又は12に記載のネットワーク選択プログラムであって、
(e)前記ベアラを前記検出されたベアラに切り替える際、プロキシ(proxy)として動作し、プロトコルを変換し、前記検出されたベアラに付与されたアドレスを使用して前記ネットワークへ接続するステップ
を、更にコンピュータに実行させるための
ネットワーク選択プログラム。
【請求項14】
請求項11乃至13のいずれか一項に記載のネットワーク選択プログラムであって、
前記(a)ステップは、
(a1)接続元端末情報、通信先識別情報、プロトコル種別、平均通信量、使用したネットワーク、及び最新の通信時刻を示すタイムスタンプに関する情報を保持するステップと、
(a2)前記フローの特性を識別する際に、前記接続元端末情報、前記通信先識別情報、及び前記プロトコル種別をキーにして前記フローの特性に関する情報を提供するステップと
を含む
ネットワーク選択プログラム。
【請求項15】
請求項11乃至14のいずれか一項に記載のネットワーク選択プログラムであって、
前記(c)ステップは、
(c1)接続可能なネットワークの種別、最大帯域幅、利用可能帯域幅、セキュリティレベル、及び課金体系のうち少なくとも1つに関する情報を保持するステップと、
(c2)前記フローの品質劣化時に、前記保持している情報を修正するステップと、
を含む
ネットワーク選択プログラム。
【請求項1】
ネットワークとの間のベアラ(Bearer)を介した通信のフローの特性を識別するフロー検出部と、
前記ベアラが前記フローの要求品質を満たしているか識別する通信品質検出部と、
前記フローの特性に基づき、ネットワーク特性に応じたベアラを検出し、前記フローの切れ目が検出された際、前記ベアラを前記検出されたベアラに切り替えるネットワーク選択部と
を具備する
通信装置。
【請求項2】
請求項1に記載の通信装置であって、
前記ベアラを前記検出されたベアラに切り替える際、接続先アドレスを前記検出されたベアラに付与されたアドレスに書き換えるアドレス変換部
を更に具備する
通信装置。
【請求項3】
請求項1又は2に記載の通信装置であって、
前記ベアラを前記検出されたベアラに切り替える際、プロキシ(proxy)として動作し、プロトコルを変換し、前記検出されたベアラに付与されたアドレスを使用して前記ネットワークへ接続するプロトコル変換部
を更に具備する
通信装置。
【請求項4】
請求項1乃至3のいずれか一項に記載の通信装置であって、
接続元端末情報、通信先識別情報、プロトコル種別、平均通信量、使用したネットワーク、及び最新の通信時刻を示すタイムスタンプに関する情報を保持し、前記フローの特性を識別する際に、前記接続元端末情報、前記通信先識別情報、及び前記プロトコル種別をキーにして前記フローの特性に関する情報を前記フロー検出部に提供するフロー特性データベース
を更に具備する
通信装置。
【請求項5】
請求項1乃至4のいずれか一項に記載の通信装置であって、
接続可能なネットワークの種別、最大帯域幅、利用可能帯域幅、セキュリティレベル、及び課金体系のうち少なくとも1つに関する情報を保持し、前記フローの品質劣化時に、前記通信品質検出部により、前記保持している情報が修正されるネットワーク特性データベース
を更に具備する
通信装置。
【請求項6】
(a)ネットワークとの間のベアラ(Bearer)を介した通信のフローの特性を識別するステップと、
(b)前記ベアラが前記フローの要求品質を満たしているか識別するステップと、
(c)前記フローの特性に基づき、ネットワーク特性に応じたベアラを検出し、前記フローの切れ目が検出された際、前記ベアラを前記検出されたベアラに切り替えるステップと
を含む
ネットワーク選択方法。
【請求項7】
請求項6に記載のネットワーク選択方法であって、
(d)前記ベアラを前記検出されたベアラに切り替える際、接続先アドレスを前記検出されたベアラに付与されたアドレスに書き換えるステップ
を更に含む
ネットワーク選択方法。
【請求項8】
請求項6又は7に記載のネットワーク選択方法であって、
(e)前記ベアラを前記検出されたベアラに切り替える際、プロキシ(proxy)として動作し、プロトコルを変換し、前記検出されたベアラに付与されたアドレスを使用して前記ネットワークへ接続するステップ
を更に含む
ネットワーク選択方法。
【請求項9】
請求項6乃至8のいずれか一項に記載のネットワーク選択方法であって、
前記(a)ステップは、
(a1)接続元端末情報、通信先識別情報、プロトコル種別、平均通信量、使用したネットワーク、及び最新の通信時刻を示すタイムスタンプに関する情報を保持するステップと、
(a2)前記フローの特性を識別する際に、前記接続元端末情報、前記通信先識別情報、及び前記プロトコル種別をキーにして前記フローの特性に関する情報を提供するステップと
を含む
ネットワーク選択方法。
【請求項10】
請求項6乃至9のいずれか一項に記載のネットワーク選択方法であって、
前記(c)ステップは、
(c1)接続可能なネットワークの種別、最大帯域幅、利用可能帯域幅、セキュリティレベル、及び課金体系のうち少なくとも1つに関する情報を保持するステップと、
(c2)前記フローの品質劣化時に、前記保持している情報を修正するステップと、
を含む
ネットワーク選択方法。
【請求項11】
(a)ネットワークとの間のベアラ(Bearer)を介した通信のフローの特性を識別するステップと、
(b)前記ベアラが前記フローの要求品質を満たしているか識別するステップと、
(c)前記フローの特性に基づき、ネットワーク特性に応じたベアラを検出し、前記フローの切れ目が検出された際、前記ベアラを前記検出されたベアラに切り替えるステップと
を、コンピュータに実行させるための
ネットワーク選択プログラム。
【請求項12】
請求項11に記載のネットワーク選択プログラムであって、
(d)前記ベアラを前記検出されたベアラに切り替える際、接続先アドレスを前記検出されたベアラに付与されたアドレスに書き換えるステップ
を、更にコンピュータに実行させるための
ネットワーク選択プログラム。
【請求項13】
請求項11又は12に記載のネットワーク選択プログラムであって、
(e)前記ベアラを前記検出されたベアラに切り替える際、プロキシ(proxy)として動作し、プロトコルを変換し、前記検出されたベアラに付与されたアドレスを使用して前記ネットワークへ接続するステップ
を、更にコンピュータに実行させるための
ネットワーク選択プログラム。
【請求項14】
請求項11乃至13のいずれか一項に記載のネットワーク選択プログラムであって、
前記(a)ステップは、
(a1)接続元端末情報、通信先識別情報、プロトコル種別、平均通信量、使用したネットワーク、及び最新の通信時刻を示すタイムスタンプに関する情報を保持するステップと、
(a2)前記フローの特性を識別する際に、前記接続元端末情報、前記通信先識別情報、及び前記プロトコル種別をキーにして前記フローの特性に関する情報を提供するステップと
を含む
ネットワーク選択プログラム。
【請求項15】
請求項11乃至14のいずれか一項に記載のネットワーク選択プログラムであって、
前記(c)ステップは、
(c1)接続可能なネットワークの種別、最大帯域幅、利用可能帯域幅、セキュリティレベル、及び課金体系のうち少なくとも1つに関する情報を保持するステップと、
(c2)前記フローの品質劣化時に、前記保持している情報を修正するステップと、
を含む
ネットワーク選択プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2009−124367(P2009−124367A)
【公開日】平成21年6月4日(2009.6.4)
【国際特許分類】
【出願番号】特願2007−295213(P2007−295213)
【出願日】平成19年11月14日(2007.11.14)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
【公開日】平成21年6月4日(2009.6.4)
【国際特許分類】
【出願日】平成19年11月14日(2007.11.14)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
[ Back to top ]