以下に、本願の開示する通信装置、通信方法および通信プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
[全体構成例]
図1は、実施例1に係る通信システムの全体構成例を示す図である。図1に示すように、通信システムは、サーバ10と、ルータ20と、複数のクライアント端末30とがネットワーク回線40を介して相互に通信可能に接続される。このシステムは、一例を挙げると、クライアント端末がサーバ10に接続して、ストリーム配信方式の映像コンテンツデータなどを受信するサービスを提供するものである。
なお、図1に示したシステムの構成や各装置の台数等は、あくまで例示であり、図示したものに限定されない。また、図1では、クライアント端末30とサーバ10との通信を例にして説明するが、これに限定されるものではなく、クライアント端末30間の通信であってもよく、サーバ10間の通信であってよい。
サーバ10は、端末の一例であり、クライアント端末30にサービスを提供するサーバ装置である。クライアント端末30は、端末の一例であり、サーバ10からサービスの提供を受ける端末装置である。クライアント端末30としては、例えば、パーソナルコンピュータ、携帯電話、スマートフォンなどのWeb通信機能を有する端末を用いることができる。ルータ20は、通信装置の一例であり、サーバ10とクライアント端末30との間のデータ送受信を中継する装置である。ルータ20としては、例えば、L3スイッチ(レイヤ3スイッチ)などのようにネットワーク層やトランスポート層の一部のプロトコルを解析して転送を行う装置を用いることができる。
ネットワーク回線40は、その内部で区分される物理的な又は論理的な回線として、通信品質が高い優先度で保証された品質保証回線41と、品質保証回線41と比較して通信品質が保証される優先度が低いベストエフォート回線42とを含んでいる。
例えば、品質保証回線41では、送受信されるデータの量や種別などに応じた帯域が各クライアント端末30に保証される。一方で、ベストエフォート回線42では、送受信されるデータの特性に関わらず、各クライアント端末30に均一な帯域が保証される。このため、品質保証回線41では、ベストエフォート回線42を介して送受信されるデータと比較して、データが優先的に送受信される。言い換えれば、ベストエフォート回線42では、品質保証回線41を介して送受信されるデータと比較して、データが非優先的に送受信される。
従って、ネットワーク回線40の容量に空きが少なくなる又はなくなると、品質保証回線41を介して送受信されるデータと比較して、ベストエフォート回線42を介して送受信されるデータの一部が欠落する確率が高くなる。或いは、ネットワーク回線40の容量に空きが少なくなると、品質保証回線41を介して送受信されるデータと比較して、ベストエフォート回線42を介して送受信されるデータのデータ量が少なくなる確率が高くなる。
このような状態において、ルータ20は、品質保証回線41への接続要求をクライアント端末30から受信した場合、品質保証回線41に接続中のクライアント端末30の数が接続可能な端末の上限数に達しているか否かを判定する。そして、ルータ20は、上限数に達していると判定された場合に、品質保証回線41に接続中の端末のうち利用条件を超過するクライアント端末30の接続を切断して、接続要求を送信したクライアント端末30に品質保証回線41を割り当てる。また、ルータ20は、上限数に達していないと判定された場合に、品質保証回線41に接続中のクライアント端末30が利用条件を超過するか否かに関らず品質保証回線41への各接続を維持し、接続要求を送信した端末に品質保証回線41を割り当てる。
このように、ルータ20は、新たなクライアント端末30から品質保証回線41への接続要求を受信した場合でも、接続数の上限に達している場合に、既に接続されているクライアント端末30の接続を解放するか否かの制御を実行する。一方、ルータ20は接続数の上限に達していない場合には、既に接続されているクライアント端末30の接続を維持し続ける。したがって、ルータ20は、規定の接続時間に到達した場合でも、品質保証型の通信回線を解放しない。この結果、品質が優先的に保証された回線を有効的に利用できる。
[ルータの構成]
次に、図2から図5を用いて、図1に示したルータ20のハードウェア構成とルータ20が実行する機能について説明する。
(ハードウェア構成)
図2は、実施例1に係るルータのハードウェア構成例を示す図である。図2に示すように、ルータ20は、CPU(Central Processing Unit)21、メモリ22、TCAM(Ternary Content Addressable Memory)23、複数の回線インタフェース部24、転送エンジン26がバス25を介して相互に通信可能に接続される。なお、ここで示したハードウェアは、あくまで例示であり、図示したもの以外のハードウェアを有していてもよい。
CPU21は、OS(Operating System)などを実行してルータ20の全体的な制御を司る処理部である。CPU21が実行する各処理については、図3等用いて後述する。この実施例では、CPU21を例示したが、CPUに限ったものではなく、様々なプロセッサを用いることができる。
メモリ22は、CPU21が実行するプログラムやデータ、ルーティングテーブルなどを記憶する記憶装置である。メモリ22が記憶する情報については、図3等用いて後述する。この実施例では、メモリ22を例示したが、これに限定されるものではなく、様々な記憶装置を用いることができる。
TCAM23は、ルータ20によって実際にルーティングが行われる際に、メモリ22中のルーティングテーブルに格納されているルーティング情報が読み出されるメモリである。従って、ルータ20は、ルーティングを行う際には、TCAM23に読みだされて
いるルーティング情報を検索することで、実際のルーティング先を決定する。
回線インタフェース部24各々は、ルータ20と他の装置との間の通信を制御するネットワークインタフェースカードなどである。例えば、回線インタフェース部24は、クライアント端末30から品質保証回線41への接続要求を受信してCPU21に出力し、CPU21から出力された各種応答をクライアント端末30に送信する。
転送エンジン26は、受信されたデータの転送制御を実行する処理部である。例えば、転送エンジン26は、ある回線インタフェース部24によって受信されたデータの転送先を、TCAM23に読みだされているルーティング情報を検索して決定する。そして、転送エンジン26は、決定したルーティング先に対応する他の回線インタフェース部24に対して転送する。その結果、転送されたデータは、他の回線インタフェース部24からルーティング先に向かって出力される。
(機能ブロック)
図3は、実施例1に係るルータの機能ブロック図である。図3に示すように、ルータ20は、品質保証回線情報テーブル20a、クライアント接続情報テーブル20b、受信信号制御部20c、クライアント要求分析制御部20d、回線情報管理部20eを実行する。また、ルータ20は、クライアント接続情報管理部20f、接続制御部20g、維持制御部20hを有する。このうち、品質保証回線情報テーブル20a、クライアント接続情報テーブル20bは、メモリ22に設けられる。その他の制御部は、CPU21によって実行される。
品質保証回線情報テーブル20aは、品質保証回線の利用状況や品質保証回線の利用条件等を記憶するテーブルである。図4は、品質保証回線情報テーブルに記憶される情報の例を示す図である。図4に示すように、品質保証回線情報テーブル20aは、「最大同時接続数、現在接続数、サービス時間」を対応付けて記憶する。
ここで記憶される「最大同時接続数」は、品質保証回線41に同時に接続可能な端末の上限数を示し、管理者等によって任意に設定変更することができる。「現在接続数」は、品質保証回線41に対して今現在接続している端末の数を示し、後述する回線情報管理部20e等によって更新される。「サービス時間」は、品質保証回線に接続される端末が品質保証回線41に継続して接続可能な上限時間を示し、管理者等によって任意に設定変更することができる。図4の場合、図1に示した通信システムでは、サービス時間として30分が設定されており、最大同時接続数が2台の状態で、現在2台のクライアント端末30が接続されていることを示す。
クライアント接続情報テーブル20bは、ルータ20の配下にある各クライアント端末30の品質保証回線41への接続状況を管理する情報である。ここで記憶される情報は、後述するクライアント接続情報管理部20fによって更新される。図5は、クライアント接続情報テーブルに記憶される情報の例を示す図である。図5に示すように、クライアント接続情報テーブル20bは、「クライアント識別情報、接続開始時間、接続要求時間、切替予定時間」を対応付けて記憶する。
ここで記憶される「クライアント識別情報」は、クライアント端末を識別する識別子であり、例えばホスト名やIP(Internet Protocol)アドレスなどである。この「クライアント識別情報」は、例えば接続要求に該当するパケットから取得することができる。「接続開始時間」は、クライアント端末30が品質保証回線41に対する接続を実際に開始したときの時刻である。「接続要求時間」は、クライアント端末30がルータ20に品質保証回線41への接続要求を送信した時刻であり、例えば接続要求に該当するパケットから取得することができる。「切替予定時刻」は、クライアント端末30の接続先が品質保証回線41からベストエフォート回線42に切り替えられる予定時刻である。例えば、切替予定時刻は、接続開始時刻に対して品質保証回線情報テーブル20aに含まれるサービス時間を加算した時刻となる。
図5の場合、クライアント#2は、12:00に接続要求を送信し、12:00に品質保証回線に接続され、12:30まで品質保証回線を使用することができる。クライアント#3は、12:15に接続要求を送信し、12:15に品質保証回線に接続され、12:45まで品質保証回線を使用することができる。クライアント#1は、12:20に接続要求を送信し、品質保証回線の空きが無い為現在待機中である。
受信信号制御部20cは、サーバ10やクライアント端末30からデータ等を受信する処理部である。また、受信信号制御部20cは、受信したデータをクライアント要求分析制御部20dに出力する。この受信信号制御部20cは、受信したデータを他の制御部へ転送してもよい。受信信号制御部20cは、受信したデータを分析することで、他の制御部への処理要求を行ってもよい。
クライアント要求分析制御部20dは、受信信号制御部20cから入力されたデータを解析して、クライアント端末30の要求内容を分析する処理部である。例えば、クライアント要求分析制御部20dは、受信したパケットのヘッダ等からパケットの種別を判定し、クライアントの要求を特定する。そして、クライアント要求分析制御部20dは、特定した要求に応じた処理の実行依頼を、回線情報管理部20eやクライアント接続情報管理部20fや接続制御部20gや維持制御部20hに送信する。
また、クライアント要求分析制御部20dは、品質保証回線41への接続要求を端末から受信した場合、品質保証回線41に接続可能な端末の上限数を超えるか否かを判定する。
回線情報管理部20eは、品質保証回線情報テーブル20aの更新を実行する処理部である。一例を挙げると、回線情報管理部20eは、クライアント要求分析制御部20dの指示によって接続制御部20gが新たなクライアント端末30を品質保証回線41に接続した場合に、品質保証回線情報テーブル20aの現在接続数を更新する。また、回線情報管理部20eは、クライアント要求分析制御部20dの指示によって接続制御部20gがクライアント端末30を品質保証回線41から切断した場合に、品質保証回線情報テーブル20aの現在接続数を更新する。
クライアント接続情報管理部20fは、クライアント接続情報テーブル20bの更新を実行する処理部である。一例を挙げると、クライアント要求分析制御部20dが品質保証回線41への接続要求が受信されたと分析したとする。この場合に、クライアント接続情報管理部20fは、当該接続要求から取得したクライアント識別情報や接続要求開始時間をクライアント接続情報テーブル20bに格納する。また、クライアント接続情報管理部20fは、接続制御部20gによって品質保証回線41に新たな端末が接続された場合に、接続開始時間や切替予定時間をクライアント接続情報テーブル20bに格納する。また、クライアント接続情報管理部20fは、接続制御部20gによって品質保証回線41から切断された端末が発生した場合に、当該端末の情報をクライアント接続情報テーブル20bから削除する。
接続制御部20gは、クライアント要求分析制御部20dによって上限数に達していると判定された場合に、品質保証回線41に接続中の端末のうち利用条件を超過する端末の接続を切断する処理部である。このとき、接続制御部20gは、切断対象のクライアント端末30を品質保証回線41からベストエフォート回線42へ切り替えてもよい。また、接続制御部20gは、接続要求を送信したクライアント端末30を品質保証回線41に接続する処理部である。また、接続制御部20gは、接続または切断したことを、回線情報管理部20eやクライアント接続情報管理部20fに通知する。
維持制御部20hは、クライアント要求分析制御部20dによって上限数に達していないと判定された場合に、接続要求を送信したクライアント端末30に品質保証回線41を割り当てる。このとき、維持制御部20hは、品質保証回線41に接続中のクライアント端末30がサービス時間を超過するか否かに関らず、品質保証回線41に既に接続される各接続を維持する。また、維持制御部20hは、接続したことを回線情報管理部20eやクライアント接続情報管理部20fに通知する。
[クライアント端末の構成]
次に、図6と図7を用いて、図1に示したクライアント端末30のハードウェア構成とクライアント端末30が実行する機能について説明する。
(ハードウェア構成)
図6は、実施例1に係るクライアント端末のハードウェア構成例を示す図である。図6に示すように、クライアント端末30は、CPU31と、メモリ32と、回線インタフェース部34と、ユーザインタフェース部35とがバス36を介して相互に通信可能に接続される。なお、ここで示したハードウェアは、あくまで例示であり、図示したもの以外のハードウェアを有していてもよい。
CPU31は、OSなどを実行してクライアント端末30の全体的な制御を司る処理部である。CPU31が実行する各処理については、図7等を用いて後述する。この実施例では、CPU31を例示したが、これに限定されるものではなく、CPUに限ったものではなく、様々なプロセッサを用いることができる。
メモリ32は、CPU31が実行するプログラムやデータなどを記憶する記憶装置である。この実施例では、メモリ32を例示したが、これに限定されるものではなく、様々な記憶装置を用いることができる。
回線インタフェース部34は、クライアント端末30と他の装置との間の通信を制御するネットワークインタフェースカードなどである。例えば、回線インタフェース部34は、ルータ20に品質保証回線41への接続要求を送信する。また、回線インタフェース部34は、ルータ20から各種応答を受信する。
ユーザインタフェース部35は、ユーザからの各種操作や指示を受け付けるマウスやキーボードなどである。例えば、ユーザインタフェース部35は、品質保証回線41への接続指示などを受け付ける。
(機能ブロック)
図7は、実施例1に係るクライアント端末の機能ブロック図である。図7に示すように、クライアント端末30は、ユーザ操作受付部30a、アプリ実行部30b、送信信号制御部30c、受信信号制御部30dを実行する。これらの処理部は、例えばCPU31によって実行される。
ユーザ操作受付部30aは、ユーザから受け付けた操作を分析して各種処理を実行する処理部である。例えば、ユーザ操作受付部30aは、品質保証回線41への接続指示やベストエフォート回線42の切断指示を受け付けた場合に、接続要求や切断要求の指示を送信することを送信信号制御部30cに指示する。また、ユーザ操作受付部30aは、受信信号制御部30dによって受信された受信信号を分析して、その結果に応じた処理を実行する。
アプリ実行部30bは、アプリケーションを実行してデータの送信や受信を実行する処理部である。例えば、アプリ実行部30bは、受信信号制御部40dや送信信号制御部30cを介して、接続される回線を用いて接続先の装置にデータを送信する。また、アプリ実行部30bは、受信信号制御部30dを介して、接続される回線を用いて接続先の装置からデータを受信する。
送信信号制御部30cは、ユーザ操作受付部30aから指示された接続要求や切断要求をルータ20に送信したり、アプリ実行部30bから指示されたデータを受信信号制御部40d等を介してルータ20やサーバ10に送信したりする。受信信号制御部30dは、接続要求や切断要求に対する応答をサーバ10やルータ20から受信したり、ルータ20やサーバ10からデータを受信したりする。
[処理の流れ]
次に、図8から図10を用いて、実施例1に係るルータ20が実行する処理の流れを説明する。ここでは、クライアント端末30から接続要求を受信した場合の流れ、クライアント端末30から切断要求を受信した場合の流れ、品質保証回線への切替待ちリクエストが存在する場合の処理の流れを説明する。
(接続要求受信時の流れ)
図8は、実施例1に係るルータが実行する接続要求受信時の処理の流れを示すフローチャートである。なお、図8に示す処理は、ベストエフォート回線42にも接続していないクライアント端末30が、品質保証回線41への接続を望む場合に行われる処理を想定している。もちろん、ベストエフォート回線42に接続しているクライアント端末30が、新たに品質保証回線41への接続を望む場合にも、図8に示す処理が行われてもよい。その場合、S108が省略される。
図8に示すように、ルータ20の受信信号制御部20cによって接続要求が受信された場合(S101)、クライアント要求分析制御部20dは、品質保証回線情報テーブル20aを参照して、品質保証回線41に空きがあるか否かを判定する(S102)。例えば、クライアント要求分析制御部20dは、受信されたパケットのヘッド等を参照して接続要求であるか否かを判定し、品質保証回線情報テーブル20aの最大同時接続数と現在接続数とが同じ数である場合に、空きがないと判定する。
維持制御部20hは、クライアント要求分析制御部20dによって品質保証回線41に空きがあると判定された場合(S102肯定)、既に品質保証回線41に接続される端末を維持する(S103)。続いて、回線情報管理部20eは、維持制御部20hから品質保証回線に新たに接続する旨の指示を受信し、品保証回線情報テーブル20a現在接続数を1増加させる(S104)。
そして、クライアント接続情報管理部20fは、維持制御部20hから品質保証回線41に新たに接続する旨の指示を受信し、S105を実行する。すなわち、クライアント接続情報管理部20fは、接続要求から時刻を取得してクライアント接続情報テーブル20bの接続開始時刻と接続要求時刻とに格納し、接続開始時刻にサービス時間の30分を加算した時間を切替予定時刻に格納する。
続いて、維持制御部20hは、接続要求を送信したクライアント端末30に対して、品質保証回線41への接続を許可する応答を送信する(S106)。その後、維持制御部20hは、接続要求を送信したクライアント30のために確保した品質保証回線41に当該クライアント端末30を接続する(S107)。すなわち、維持制御部20hは、接続要求元のクライアント端末30に品質保証回線41を割り当て、クライアント端末30は、品質保証回線41に接続する。なお、S103からS107の処理は、図示した順番に限られるものではなく、どの処理から実行してもよい。
一方、S102において、クライアント要求分析制御部20dが品質保証回線41に空きがないと判定した場合(S102否定)、接続制御部20gは、接続要求元のクライアント端末30にベストエフォート回線42を割り当てて接続させる(S108)。つまり、接続制御部20gは、接続要求元のクライアント端末30にベストエフォート回線42を割り当てる。その後、接続制御部20gは、接続要求から時刻を取得してクライアント接続情報テーブル20bの接続要求時刻に格納して、当該クライアント端末30を品質保証回線接続待ちとする(S109)。
(切断要求受信時の流れ)
図9は、実施例1に係るルータが実行する切断要求受信時の処理の流れを示すフローチャートである。
図9に示すように、ルータ20の受信信号制御部20cによって切断要求が受信された場合(S201)、クライアント要求分析制御部20dは、要求元のクライアント端末30が品質保証回線41を使用している端末か否かを判定する(S202)。例えば、クライアント要求分析制御部20dは、切断要求から取得したクライアント識別情報をキーにして品質保証回線情報テーブル20aを参照し、当該クライアント識別情報が品質保証回線情報テーブル20aに記憶されているか否かを判定する。そして、クライアント要求分析制御部20dは、クライアント識別情報が品質保証回線情報テーブル20aに記憶されている場合、要求元のクライアント端末30が品質保証回線41を使用していると判定する。
続いて、クライアント接続情報管理部20fは、品質保証回線41を使用していると判定された場合(S202肯定)、クライアント接続情報テーブル20bから該当するクライアント端末30の情報を削除する(S203)。続けて、回線情報管理部20eは、クライアント接続情報管理部20fから情報が削除されたことを受信し、品質保証回線情報テーブル20aにおける現在の接続数を1減少させる(S204)。
その後、接続制御部20gは、クライアント接続情報管理部20fや回線情報管理部20eから削除等が実行されたことを受信すると、切断要求元のクライアント端末30に切断を許可する応答を送信する(S205)。すなわち、接続制御部20gは、切断要求元のクライアント端末30を品質保証回線から切断する。その後、ルータ20は、周期的に実行される処理である待ちリクエスト処理を実行する(S206)。
一方、クライアント接続情報管理部20fは、品質保証回線41を使用していないと判定された場合(S202否定)、該当クライアント端末30を品質保証回線待ちから削除する(S207)。すなわち、クライアント接続情報管理部20fは、クライアント接続情報テーブル20bから該当するクライアント端末30の情報を削除する。
その後、接続制御部20gは、クライアント接続情報管理部20fから削除等が実行されたことを受信すると、切断要求元のクライアント端末に切断を許可する応答を送信する(S208)。すなわち、接続制御部20gは、切断要求元のクライアント端末30をベストエフォート回線42から切断する。
(待ちリクエスト処理の流れ)
図10は、実施例1に係るルータが実行する待ちリクエスト処理の流れを示すフローチャートである。図10は図9のS206で実行される。なお、図10に示す処理が行われるタイミングとしては、図8に示すクライアント端末30の品質保証回線41からの切断が行われたタイミングが一例となる。あるいは、図10に示す処理は、周期的に又は非周期的に行われてもよい。
図10に示すように、クライアント要求分析制御部20dは、切替待ちのクライアント端末30が存在するか否かを判定する(S301)。つまり、クライアント要求分析制御部20dは、クライアント接続情報テーブル20bを参照し、接続要求時刻だけが登録されるクライアント端末30が存在するか否かを判定する。これにより、クライアント要求分析制御部20dは、品質保証回線41への接続を一旦要求していながらも品質保証回線41の空きがないがゆえにベストエフォート回線42に接続しているクライアント30が存在するか否かを判定する。
クライアント要求分析制御部20dは、切替待ちのクライアント端末30が存在すると判定した場合(S301肯定)、品質保証回線41に空きがあるか否かを判定する(S302)。そして、ルータ20は、クライアント要求分析制御部20dによって品質保証回線41に空きがあると判定された場合(S302肯定)、S303からS307を実行する。なお、S303からS307の処理は、S103からS107と同様なので、省略する。
一方、S302においてクライアント要求分析制御部20dは、品質保証回線41に空きがないと判定した場合(S302否定)、S308を実行する。すなわち、クライアント要求分析制御部20dは、品質保証回線41に接続しているクライアント端末30のうちのいずれかに対して、品質保証回線41からの強制切断処理を行う。具体的には、クライアント要求分析制御部20dは、ベストエフォート回線42へ強制的に切り替えられるクライアント端末30を特定する切替候補データを初期化する。なお、切替候補データは、メモリ22等に設けられるテーブルなどである。
その後、クライアント要求分析制御部20dは、品質保証回線情報テーブル20aを参照して、品質保証回線41を使用するクライアント端末30を1つ選択する(S309)。続いて、クライアント要求分析制御部20dは、クライアント端末30が品質保証回線41に接続している時間を算出する(S310)。クライアント要求分析制御部20dは、クライアント接続情報テーブル20bを参照することで、回線使用時間を算出できる。より具体的には、クライアント要求分析制御部20dは、クライアント接続情報テーブル20b中の対応するレコードに含まれる接続開始時刻と現在時刻との差分を、回線使用時間として算出できる。
そして、クライアント要求分析制御部20dは、S310で算出した回線使用時間が品質保証回線情報テーブル20aに規定されているサービス時間を超えているか否かを判定する(S311)。
クライアント要求分析制御部20d、品質保証回線情報テーブル20aに規定されているサービス時間を超えていると判定した場合(S311肯定)、S312を実行する。すなわち、クライアント要求分析制御部20dは、ベストエフォート回線42へ強制的に切り替えられる特定のクライアント端末30が既に存在するか否かを判定する。具体的には、クライアント要求分析制御部20dは、切替候補データに切替候補クライアントが登録されているか否かを判定する。
S312における判定の結果、クライアント要求分析制御部20dは、切替候補クライアントが存在すると判定される場合には(S312肯定)、S313を実行する。すなわち、クライアント要求分析制御部20dは、S310で算出された回線使用時間が、切替候補クライアントの回線使用時間を超えているか否かを判定する。切替候補クライアントの回線使用時間は、切替候補データに登録されている。
S313における判定の結果、クライアント要求分析制御部20dは、切替候補クライアントの回線使用時間を超えていると判定される場合には(S313肯定)、S314を実行する。すなわち、クライアント要求分析制御部20dは、S309で選択されたクライアント端末を新たな切替候補クライアントとして、切替候補データに登録することで、切替候補データを更新する。その後、クライアント要求分析制御部20dは、品質保証回線41を使用する他のクライアント端末30が存在すると判定した場合には(S315肯定)、S309以降の処理を繰り返す。
一方、S313における判定の結果、クライアント要求分析制御部20dは、切替候補クライアントの回線使用時間を超えていないと判定される場合には(S313否定)、S314を実行することなく、S315を実行する。また、S312において、クライアント要求分析制御部20dは、切替候補クライアントが存在しないと判定される場合には(S312否定)、S313を実行することなくS314を実行する。また、S311において、クライアント要求分析制御部20d、品質保証回線情報テーブル20aに規定されているサービス時間を超えていないと判定した場合(S311否定)、S312からS314を実行することなくS315を実行する。
そして、S315において、クライアント要求分析制御部20dが品質保証回線41を使用する他のクライアント端末30が存在しないと判定した場合には(S315否定)、ルータ20は、S316以降の処理を実行する。
具体的には、接続制御部20gは、メモリ22等に備えられる切替候補データを参照して、切替候補となっているクライアント端末30が存在するか否かを判定する(S316)。ここで、接続制御部20gは、切替候補となっているクライアント端末30が存在しないと判定した場合(S316否定)、すなわち切替候補データにデータが登録されていない場合、処理を終了する。
一方、接続制御部20gは、切替候補となっているクライアント端末30が存在すると判定した場合(S316肯定)、切替候補のクライアント端末30に対して、ベストエフォート回線42への切替指示を送信する(S317)。これにより、切替候補となっているクライアント端末30の接続先が、品質保証回線41からベストエフォート回線42に切り替えられる。
その後、クライアント接続情報管理部20fは、切替候補であるクライアント端末30の品質保証回線41からの切断に応じて、クライアント接続情報テーブル20bを更新する(S318)。具体的には、クライアント接続情報管理部20fは、切替候補であるクライアント端末30に対応するレコードを削除する。その後、ルータ20は、S305以降の処理を実行する。
[効果]
このように、実施例1に係るルータ20は、品質保証回線41に空きがある場合には、品質保証回線41に接続しているクライアント端末30がサービス時間を超えても接続を維持する。また、実施例1に係るルータ20は、品質保証回線41に空きがない場合に限り、サービス時間を越えるクライアント端末30をベストエフォート回線42に切り替えて、新たなクライアント端末30を接続することができる。従って、複数のクライアント端末30間で実質的には公平に品質保証回線に接続することができる。
また、ルータ20は、品質保証回線41への接続要求時受信時にサービス時間を越えるクライアント端末30が存在しない場合でも、サービス時間を越える端末があるか否かを周期的に判定することができる。従って、クライアント端末30に対する通信の断絶を防ぎつつ、品質保証回線41を適切に割り当てることができる。
したがって、実施例1に係る通信システムでは、品質保証回線41が空いている場合には、どのような端末でも優先的に品質保証回線41を使用することができる。また、通信システムは、品質保証回線41が空いていない場合に、ベストエフォート回線42への切替を実行して、品質保証回線41への接続制御を実行できる。この結果、品質が優先的に保証された回線を有効的に利用できる。
次に、図11から図18を用いて、具体的な処理シーケンスを説明する。ここでは、具体例1として、品質保証回線への接続待ちクライアントが存在しない場合の処理シーケンスを説明する。具体例2として、品質保証回線への接続待ちクライアントが存在する状態で、この接続待ちクライアントがベストエフォート回線を切断した場合の処理シーケンスを説明する。具体例3として、品質保証回線への接続待ちクライアントが発生した際に、品質保証回線に接続中のクライアントでサービス時間を超過するクライアントが存在しない場合の処理シーケンスを説明する。具体例4として、品質保証回線への接続待ちクライアントが発生した際に、品質保証回線に接続中のクライアントで複数のクライアントのサービス時間の超過を検出した場合の処理シーケンスを説明する。いずれの具体例においても、品質保証回線への最大同時接続数は2であり、サービス時間は30分であるとする。
[具体例1]
図11は、具体例1の処理シーケンスを示す図である。図11に示すように、12:02の時点で、ルータ20は、クライアント#2が12:01に品質保証回線41に接続され、切替予定時刻が12:31であることを記憶している。
このような状態で、12:02にクライアント#3の送信信号制御部30cは、ルータ20に対して、サーバ10への接続要求を送信する(S401)。ルータ20は、受信した接続要求をサーバ10に転送する(S402)。サーバ10は、受信した接続要求を許可する応答をルータ20に送信する(S403)。ルータ20の接続制御部20gは、ベストエフォート回線42に接続する指示を含んだ応答をクライアント#3に送信する(S404)。この結果、クライアント#3の受信信号制御部30dは、サーバ10との間をベストエフォート回線42で接続する(S405)。
その後、12:03にクライアント#3の送信信号制御部30cは、品質保証回線41への接続要求をルータ20に送信する(S406)。ルータ20のクライアント要求分析制御部20dは、品質保証回線情報テーブル20aを参照して、品質保証回線41に空きがあるか否かを判定する(S407)。ここでは、最大同時接続数が2である状況で、クライアント#2だけが品質保証回線41を使用しているので、空きがあると判定される。
そして、ルータ20の維持制御部20hは、クライアント#2の接続を維持しつつ、クライアント#3に対して品質保証回線41への接続を許可する応答を送信する(S408)。この応答を受信したクライアント端末30の受信信号制御部30dは、ベストエフォート回線42から品質保証回線41に接続回線を切り替えて、サーバ10と通信を実行する(S409)。
このとき、ルータ20のクライアント接続情報管理部20fは、12:03にクライアント#3から受信した接続要求を12:03に許可したことに基づいて、クライアント接続情報テーブルを更新する。具体的には、図11に示すように、クライアント接続情報管理部20fは、クライアント識別情報を「クライアント#3」とするレコードを生成し、「接続開始時刻」と「接続要求時刻」との両方に「12:03」を格納する。さらに、クライアント接続情報管理部20fは、該レコードの「切替予定時刻」に、接続開始時刻「12:03」にサービス時間の30分を加算した「12:33」を格納する。
その後、ルータ20のクライアント要求分析制御部20dは、図10に示した処理を周期的に実行する(S410)。具体的には、図11に示すように、12:35の時点で、クライアント#2とクライアント#3の両方が、切替予定時刻を超過する。しかし、品質保証回線41の接続待ちクライアントが存在しないので、クライアント#2とクライアント#3の両方とも品質保証回線を使用し続ける。なお、図10に示した処理を周期的に実行する間隔は、1秒や5分など任意に設定できる。
このように、品質保証回線41を使用するクライアントの接続時間が切替予定時刻を超過した場合でも、切替待ちのクライアントがいない場合には、強制的にベストエフォート回線42に切り替えることなく、品質保証回線41を利用することができる。
[具体例2]
図12は、具体例2の処理シーケンスを示す図である。図12に示すように、12:16の時点で、ルータ20は、クライアント#2とクライアント#3とが品質保証回線41を利用していることを認識している。具体的には、ルータ20は、クライアント#2が12:01に品質保証回線41への接続要求を送信して接続し、切替予定時刻が12:31であることを記憶している。同様に、ルータ20は、クライアント#3が12:03に品質保証回線41への接続要求を送信して接続し、切替予定時刻が12:33であることを記憶している。
このような状態で、12:16にクライアント#1の送信信号制御部30cは、ルータ20に対して、サーバ10への接続要求を送信する(S501)。ルータ20は、受信した接続要求をサーバ10に転送する(S502)。サーバ10は、受信した接続要求を許可する応答をルータ20に送信する(S503)。ルータ20の接続制御部20gは、ベストエフォート回線42に接続する指示を含んだ応答をクライアント#1に送信する(S504)。この結果、クライアント#1の受信信号制御部30dは、サーバ10との間をベストエフォート回線42で接続する(S505)。
その後、12:17にクライアント#1の送信信号制御部30cは、品質保証回線41への接続要求をルータ20に送信する(S506)。ルータ20のクライアント要求分析制御部20dは、品質保証回線情報テーブル20aを参照して、品質保証回線41に空きがあるか否かを判定する(S507)。ここでは、最大同時接続数が2である状況で、クライアント#2とクライアント#3とが品質保証回線41を使用しており、両方とも、切替予定時刻の到達前なので、空きがないと判定される。
そして、ルータ20の接続制御部20gは、クライアント#1に対して品質保証回線41への接続を待機する旨の応答を送信する(S508)。この応答を受信したクライアント端末30の受信信号制御部30dは、ベストエフォート回線42に接続しつつ、品質保証回線41への切替待ちとなる。
このとき、ルータ20のクライアント接続情報管理部20fは、12:17にクライアント#1から受信した接続要求を保留したことに基づいて、クライアント接続情報テーブル20bを更新する。具体的には、図12に示すように、クライアント接続情報管理部20fは、クライアント識別情報を「クライアント#1」とするレコードを生成し、「接続要求時刻」に「12:17」を格納する。さらに、クライアント接続情報管理部20fは、該レコードの「接続開始時刻」および「切替予定時刻」を空白にする。
その後、12:29にクライアント#1の送信信号制御部30cは、ルータ20に対して、サーバ10への切断要求を送信する(S509)。ルータ20は、受信した切断要求をサーバ10に転送する(S510)。このとき、ルータ20は、図9に示した処理を実行する(S511)。すなわち、ルータ20は、切断要求元のクライアント#1が接続している回線がベストエフォート回線42であることを特定した後、図12に示すように、クライアント接続情報テーブル20bからクライアント#1の情報を削除する。この結果、クライアント#1を品質保証回線待ちのクライアントから除外することができる。
そして、ルータ20は、クライアント#1に切断を許可する応答(Abort)を送信する(S512)。この結果、クライアント#1の受信信号制御部30dは、サーバ10との間に接続されるベストエフォート回線42を切断する。なお、ルータ20が主導で切断してもよい。
このように、品質保証回線41への切替待ちのクライアントがベストエフォート回線42を切断した場合には、品質保証回線41に接続中のクライアントは強制的にベストエフォート回線42に切り替えられることなく、品質保証回線41を利用することができる。
[具体例3]
図13は、具体例3の処理シーケンス1を示す図である。図14は、具体例3の処理シーケンス2を示す図である。図15は、具体例3の処理シーケンス3を示す図である。図13に示すように、12:02の時点で、ルータ20は、クライアント#2が品質保証回線41を利用していることを認識している。具体的には、ルータ20は、クライアント#2が12:01に品質保証回線41への接続要求を送信して接続し、切替予定時刻が12:31であることを記憶している。
このような状態で、12:02にクライアント#3の送信信号制御部30cは、ルータ20に対して、サーバ10への接続要求を送信する(S601)。ルータ20は、受信した接続要求をサーバ10に転送する(S602)。サーバ10は、受信した接続要求を許可する応答をルータ20に送信する(S603)。ルータ20の接続制御部20gは、ベストエフォート回線42に接続する指示を含んだ応答をクライアント#3に送信する(S604)。この結果、クライアント#3の受信信号制御部30dは、サーバ10との間をベストエフォート回線42で接続する(S605)。
その後、12:03にクライアント#3の送信信号制御部30cは、品質保証回線41への接続要求をルータ20に送信する(S606)。ルータ20のクライアント要求分析制御部20dは、品質保証回線情報テーブル20aを参照して、品質保証回線41に空きがあるか否かを判定する(S607)。ここでは、最大同時接続数が2である状況で、クライアント#2だけが品質保証回線41を使用しているので、空きがあると判定される。
そして、ルータ20の維持制御部20hは、クライアント#2の接続を維持しつつ、クライアント#3に対して品質保証回線41への接続を許可する応答を送信する(S608)。この応答を受信したクライアント端末30の受信信号制御部30dは、ベストエフォート回線42から品質保証回線41に接続回線を切り替えて、サーバ10と通信を実行する(S609)。
このとき、ルータ20のクライアント接続情報管理部20fは、12:03にクライアント#3から受信した接続要求を12:03に許可したことに基づいて、クライアント接続情報テーブルを更新する。具体的には、図13に示すように、クライアント接続情報管理部20fは、クライアント識別情報を「クライアント#3」とするレコードを生成し、「接続開始時刻」と「接続要求時刻」との両方に「12:03」を格納する。さらに、クライアント接続情報管理部20fは、該レコードの「切替予定時刻」に、接続開始時刻「12:03」にサービス時間の30分を加算した「12:33」を格納する。
続いて、図14に示すように、12:16にクライアント#1の送信信号制御部30cは、ルータ20に対して、サーバ10への接続要求を送信する(S610)。ルータ20は、受信した接続要求をサーバ10に転送する(S611)。サーバ10は、受信した接続要求を許可する応答をルータ20に送信する(S612)。ルータ20の接続制御部20gは、ベストエフォート回線42に接続する指示を含んだ応答をクライアント#1に送信する(S613)。この結果、クライアント#1の受信信号制御部30dは、サーバ10との間をベストエフォート回線42で接続する(S614)。
その後、12:21にクライアント#1の送信信号制御部30cは、品質保証回線41への接続要求をルータ20に送信する(S615)。ルータ20のクライアント要求分析制御部20dは、品質保証回線情報テーブル20aを参照して、品質保証回線41に空きがあるか否かを判定する(S616)。ここでは、最大同時接続数が2である状況で、クライアント#2とクライアント#3とが品質保証回線41を使用しており、空きがないと判定される。
そして、ルータ20の接続制御部20gは、クライアント#1に対して品質保証回線41への接続を待機する旨の応答を送信する(S617)。この応答を受信したクライアント端末30の受信信号制御部30dは、ベストエフォート回線42に接続しつつ、品質保証回線41への切替待ちとなる。
このとき、ルータ20のクライアント接続情報管理部20fは、12:21にクライアント#1から受信した接続要求を保留したことに基づいて、クライアント接続情報テーブル20bを更新する。具体的には、図14に示すように、クライアント接続情報管理部20fは、クライアント識別情報を「クライアント#1」とするレコードを生成し、「接続要求時刻」に「12:21」を格納する。さらに、クライアント接続情報管理部20fは、該レコードの「接続開始時刻」および「切替予定時刻」を空白にする。
その後、ルータ20のクライアント要求分析制御部20dは、図10に示した処理を周期的に実行する(S618)。具体的には、クライアント要求分析制御部20dは、クライアント#2の切替予定時刻が「12:31」であり、クライアント#3の切替予定時刻が「12:33」であることから、12:30の時点では切替予定時刻を超過するクライアントはないと判定する。このため、12:30の時点では、ルータ20は、依然としてクライアント#1に対する品質保証回線41への切替を抑止する。
その後、図15に示すように、ルータ20は、上記周期処理を繰り返し、12:35時点の周期処理で、サービス時間を超過するクライアントを検出する(S619)。具体的には、クライアント要求分析制御部20dは、クライアント#2の切替予定時刻が「12:31」であり、クライアント#3の切替予定時刻が「12:33」であることから、12:35の時点で切替予定時刻を超過するクライアントがあると判定する。そして、クライアント要求分析制御部20dは、クライアント#2とクライアント#3の両方が切替予定時刻を超過していることから、接続開始時間がより早い(接続時間が長い)クライアント#2を切替候補と決定する。
この結果にしたがって、ルータ20の接続制御部20gは、クライアント#2に対して、品質保証回線41からベストエフォート回線42への切替指示を送信する(S620)。そして、この指示を受信したクライアント#2の受信信号制御部30dは、品質保証回線41からベストエフォート回線42に接続先を切り替えて、サーバ10との通信を実行する(S621)。その後、ルータ20の接続制御部20gは、クライアント#1に対して、ベストエフォート回線42から品質保証回線41への切替指示を送信する(S622)。そして、この指示を受信したクライアント#1の受信信号制御部30dは、ベストエフォート回線42から品質保証回線41に接続先を切り替えて、サーバ10との通信を実行する(S623)。
このときのクライアント接続情報テーブル20bの変化を説明する。まず、S619からS621によってクライアント#2の接続先がベストエフォート回線42に切り替えられる。この場合、ルータ20のクライアント接続情報管理部20fは、ベストエフォート回線42に切り替えられたクライアント#2の情報を、クライアント接続情報テーブル20bから削除する。
また、S622からS623によってクライアント#1の接続先が品質保証回線41に切り替えられる。この場合、ルータ20のクライアント接続情報管理部20fは、クライアント接続情報テーブル20bにおいて、品質保証回線41に切り替えられたクライアント#1の情報を更新する。具体的には、クライアント接続情報管理部20fは、接続要求時刻として「12:21」が格納されているクライアント#1のレコードに、品質保証回線41の接続が許可された時刻「12:35」を接続開始時刻に格納する。さらに、クライアント接続情報管理部20fは、接続開始時刻「12:35」にサービス時間の30分を加算した「13:05」を切替予定時刻に格納する。
このように、品質保証回線待ちのクライアントがいる状態で、複数のクライアントの接続時間が切替予定時刻を超過してベストエフォート回線42に切替可能となった場合に、接続開始時刻の早い(接続時間の長い)クライアントの接続を切り替えることができる。したがって、クライアント間で、公平に品質保証回線41を使用することができる。
[具体例4]
図16は、具体例4の処理シーケンス1を示す図である。図17は、具体例4の処理シーケンス2を示す図である。図18は、具体例4の処理シーケンス3を示す図である。図16に示すように、12:21の時点で、ルータ20は、クライアント#2が品質保証回線41を利用していることを認識している。具体的には、ルータ20は、クライアント#2が12:01に品質保証回線41への接続要求を送信して接続し、切替予定時刻が12:31であることを記憶している。
このような状態で、12:21にクライアント#3の送信信号制御部30cは、ルータ20に対して、サーバ10への接続要求を送信する(S701)。ルータ20は、受信した接続要求をサーバ10に転送する(S702)。サーバ10は、受信した接続要求を許可する応答をルータ20に送信する(S703)。ルータ20の接続制御部20gは、ベストエフォート回線42に接続する指示を含んだ応答をクライアント#3に送信する(S704)。この結果、クライアント#3の受信信号制御部30dは、サーバ10との間をベストエフォート回線42で接続する(S705)。
その後、12:23にクライアント#3の送信信号制御部30cは、品質保証回線41への接続要求をルータ20に送信する(S706)。ルータ20のクライアント要求分析制御部20dは、品質保証回線情報テーブル20aを参照して、品質保証回線41に空きがあるか否かを判定する(S707)。ここでは、最大同時接続数が2である状況で、クライアント#2とが品質保証回線41を使用しているので、空きがあると判定される。
そして、ルータ20の維持制御部20hは、クライアント#2の接続を維持しつつ、クライアント#3に対して品質保証回線41への接続を許可する応答を送信する(S708)。この応答を受信したクライアント端末30の受信信号制御部30dは、ベストエフォート回線42から品質保証回線41に接続回線を切り替えて、サーバ10と通信を実行する(S709)。
このとき、ルータ20のクライアント接続情報管理部20fは、12:23にクライアント#3から受信した接続要求を12:23に許可したことに基づいて、クライアント接続情報テーブルを更新する。具体的には、図16に示すように、クライアント接続情報管理部20fは、クライアント識別情報を「クライアント#3」とするレコードを生成し、「接続開始時刻」と「接続要求時刻」との両方に「12:23」を格納する。さらに、クライアント接続情報管理部20fは、該レコードの「切替予定時刻」に、接続開始時刻「12:23」にサービス時間の30分を加算した「12:53」を格納する。
その後、ルータ20のクライアント要求分析制御部20dは、図10に示した処理を周期的に実行する(S710)。具体的には、図16に示すように、12:35の時点で、クライアント#2が、切替予定時刻を超過する。しかし、品質保証回線41の接続待ちクライアントが存在しないので、クライアント#2とクライアント#3の両方とも品質保証回線を使用し続ける。
続いて、図17に示すように、12:46にクライアント#1の送信信号制御部30cは、ルータ20に対して、サーバ10への接続要求を送信する(S711)。ルータ20は、受信した接続要求をサーバ10に転送する(S712)。サーバ10は、受信した接続要求を許可する応答をルータ20に送信する(S713)。ルータ20の接続制御部20gは、ベストエフォート回線42に接続する指示を含んだ応答をクライアント#1に送信する(S714)。この結果、クライアント#1の受信信号制御部30dは、サーバ10との間をベストエフォート回線42で接続する(S715)。
その後、12:48にクライアント#1の送信信号制御部30cは、品質保証回線41への接続要求をルータ20に送信する(S716)。ルータ20のクライアント要求分析制御部20dは、品質保証回線情報テーブル20aを参照して、品質保証回線41に空きがあるか否かを判定する(S717)。ここでは、最大同時接続数が2である状況で、クライアント#2とクライアント#3とが品質保証回線41を使用しており、空きがないと判定される。このため、ルータ20の接続制御部20gは、クライアント#1に対して品質保証回線41への接続を一旦待機する旨の応答を送信する(S718)。この応答を受信したクライアント端末30の受信信号制御部30dは、ベストエフォート回線42に接続しつつ、品質保証回線41への切替待ちとなる。
このとき、ルータ20のクライアント接続情報管理部20fは、12:48にクライアント#1から受信した接続要求を保留したことに基づいて、クライアント接続情報テーブル20bを更新する。具体的には、図17に示すように、クライアント接続情報管理部20fは、クライアント識別情報を「クライアント#1」とするレコードを生成し、「接続要求時刻」に「12:48」を格納する。さらに、クライアント接続情報管理部20fは、該レコードの「接続開始時刻」および「切替予定時刻」を空白にする。
その後、図18に示すように、ルータ20のクライアント要求分析制御部20dは、図10に示した処理を周期的に実行する(S719)。具体的には、クライアント要求分析制御部20dは、クライアント#2の切替予定時刻が「12:31」であることから、12:50の時点では切替予定時刻を超過するクライアントが存在すると判定する。
この結果にしたがって、ルータ20の接続制御部20gは、クライアント#2に対して、品質保証回線41からベストエフォート回線42への切替指示を送信する(S720)。そして、この指示を受信したクライアント#2の受信信号制御部30dは、品質保証回線41からベストエフォート回線42に接続先を切り替えて、サーバ10との通信を実行する(S721)。その後、ルータ20の接続制御部20gは、クライアント#1に対して、ベストエフォート回線42から品質保証回線41への切替指示を送信する(S722)。そして、この指示を受信したクライアント#1の受信信号制御部30dは、ベストエフォート回線42から品質保証回線41に接続先を切り替えて、サーバ10との通信を実行する(S723)。
このときのクライアント接続情報テーブル20bの変化を説明する。まず、S719からS721によってクライアント#2の接続先がベストエフォート回線42に切り替えられる。この場合、ルータ20のクライアント接続情報管理部20fは、ベストエフォート回線42に切り替えられたクライアント#2の情報を、クライアント接続情報テーブル20bから削除する。
また、S722からS723によってクライアント#1の接続先が品質保証回線41に切り替えられる。この場合、ルータ20のクライアント接続情報管理部20fは、クライアント接続情報テーブル20bにおいて、品質保証回線41に切り替えられたクライアント#1の情報を更新する。具体的には、クライアント接続情報管理部20fは、接続要求時刻として「12:48」が格納されているクライアント#1のレコードに、品質保証回線41の接続が許可された時刻「12:50」を接続開始時刻に格納する。さらに、クライアント接続情報管理部20fは、接続開始時刻「12:50」にサービス時間の30分を加算した「13:20」を切替予定時刻に格納する。
このように、品質保証回線41を利用できる時間を超過した場合でも、待機クライアントが発生するまで、品質保証回線41を利用し続けることができる。その後、待機クライアントが発生した場合は、一定の周期または即時に、サービス時間を超過するクライアントが存在するかを判定し、その結果に応じて切替を実行できる。したがって、各クライアントが公平に、かつ、有効的に品質保証回線41を使用することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
(回線の種類)
例えば、上記実施例では、通信品質の優先度が高い回線を品質保証回線とし、通信品質の優先度が低い回線をベストエフォート回線とした例を説明したが、これに限定されるものではない。例えば、専有度が高くコストも高い回線と、専有度が低くコストも低い回線とを用いることもできる。
(周期処理)
例えば、図10等で説明した待ちリクエスト処理の周期は、任意に設定することができる。例えば、待ちクライアントが発生するとすぐに図10の処理を実行してもよく、待ちクライアントが発生しても予定周期に到達するまで図10の処理を実行しないようにしてもよい。また、図9を実行せずに図10だけ処理を実行することもできる。つまり、クライアント接続情報テーブル20bを常に監視し、切替予定時刻に到達したクライアントが発生した場合に、待機クライアントが存在するか否かを判定することもできる。この場合でも、待機クライアントが存在しない場合に限り、品質保証回線の利用条件を超えても、クライアントは品質保証回線を利用し続けることができる。
(利用条件)
上記実施例では、品質保証回線の利用条件として接続時間を用いた場合を説明したが、これに限定されるものではない。例えば、回線を用いて送受信した総パケット量や回線の使用量などを用いることもできる。
(公平化)
例えば、ルータは、一度品質保証回線を切断されたクライアント端末について、自動的に待機クライアントに戻してもよく、また、その際に所定時間経過するまで、待機クライアントとしないように制御することもできる。一例を挙げると、ルータは、品質保証回線を切断したクライアント端末のホスト名やIPアドレスと切断時間とを保持する。そして、ルータは、接続要求を受信した場合に、切断されてから所定時間が経過する前のクライアント端末から送信された接続要求については破棄する。また、ルータは、所定時間経過後のクライアント端末から接続要求を受信した場合に、当該要求を有効と判断して、上記実施例と同様の処理を実行する。
(接続順序)
例えば、上記実施例では、まず、ベストエフォート回線に接続してから、品質保証回線への接続を試みる場合について説明したが、これに限定されるものではない。例えば、まず、クライアント端末は、品質保証回線に接続を試み、接続数が上限数に達しており接続できない場合に、ベストエフォート回線に接続するようにしてもよい。この際、ルータは、はじめに品質保証回線への接続を受けた場合にも上記実施例と同様に、品質保証回線に接続可能なクライアント端末の上限数に達しているか否かを判定する。さらに、ルータは、上限数に達していると判定された場合に、品質保証回線に接続中のクライアント端末のうち利用条件を超過するクライアント端末の接続を切断して、接続要求を送信したクライアント端末に品質保証回線を直接割り当てるようにしてもよい。
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(プログラム)
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
図19は、通信制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。図19に示すように、コンピュータ100は、CPU102、入力装置103、出力装置104、通信インタフェース105、媒体読取装置106、HDD(Hard Disk Drive)107、RAM(Random Access Memory)108を有する。また、図19に示した各部は、バス101で相互に接続される。
入力装置103は、マウスやキーボードであり、出力装置104は、ディスプレイなどであり、通信インタフェース105は、NIC(Network Interface Card)などのインタフェースである。HDD107は、通信制御プログラム107aとともに、図3に示した各テーブル等を記憶する。記録媒体の例としてHDD107を例に挙げたが、他の記憶媒体を用いることもできる。例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、CD−ROM、SSD(Solid State Drive)等の他のコンピュータ読取可能な記録媒体に各種プログラムを格納しておき、コンピュータに読み取らせることとしてもよい。なお、記録媒体を遠隔地に配置し、コンピュータが、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのコンピュータ自身の記録媒体に格納して用いてもよい。
CPU102は、通信制御プログラム107aを読み出してRAM108に展開することで、図3等で説明した各機能を実行する通信制御プロセス108aを動作させる。すなわち、通信制御プロセス108aは、図3に記載した受信信号制御部20c、クライアント要求分析制御部20d、回線情報管理部20eと同様の機能を実行する。また、通信制御プロセス108aは、クライアント接続情報管理部20f、接続制御部20g、維持制御部20hと同様の機能を実行する。このようにコンピュータ100は、プログラムを読み出して実行することで通信制御方法を実行する情報処理装置として動作する。
また、コンピュータ100は、媒体読取装置106によって記録媒体から通信制御プログラムを読み出し、読み出された通信制御プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コンピュータ100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。