JP5408167B2 - ルータおよび通信プログラム - Google Patents

ルータおよび通信プログラム Download PDF

Info

Publication number
JP5408167B2
JP5408167B2 JP2011066710A JP2011066710A JP5408167B2 JP 5408167 B2 JP5408167 B2 JP 5408167B2 JP 2011066710 A JP2011066710 A JP 2011066710A JP 2011066710 A JP2011066710 A JP 2011066710A JP 5408167 B2 JP5408167 B2 JP 5408167B2
Authority
JP
Japan
Prior art keywords
communication
upper limit
speed
router
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011066710A
Other languages
English (en)
Other versions
JP2012205016A (ja
Inventor
克朗 須田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2011066710A priority Critical patent/JP5408167B2/ja
Publication of JP2012205016A publication Critical patent/JP2012205016A/ja
Application granted granted Critical
Publication of JP5408167B2 publication Critical patent/JP5408167B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ネットワークに接続された端末装置間の通信制御をおこなうルータおよび通信プログラムに関し、詳細にはVPN(Virtual Private Network)通信を実行可能なルータおよび通信プログラムに関する。
近年、ルータの高機能化や多機能化が進んでおり、例えばVPN機能や電話機能などを備えたVOIP(Voice Over Internet Protocol)ルータが知られている。VPNでは、公衆回線網の一部を仮想的な専用線として利用する。VPNセッションが確立されたルータ間では、セキュリティ性の高い通信が行われる。近年では、インターネット上にVPNを構築することが提案されている。例えば、複数の端末装置を、それぞれVPN機能を有するルータを介してインターネットに接続する。各端末装置に接続されたルータが、既定のプロトコルで暗号化通信を行うことで、インターネット上でVPNが実現される。
上記のようなVPN通信では、ルータでデータの暗号化・復号化を行うため、通常の通信制御と比べてルータのCPU負荷が大きい。そのため、VPN通信時の通信速度が大きくなりすぎるとルータのCPUが過負荷となり、ルータ上で動作している他のアプリケーション(例えば、電話機能)を実行するために必要なCPUの処理能力が不足することがあった。この場合、電話機能などのリアルタイム性が要求されるアプリケーションの動作が遅延しやすくなり、サービス品質に悪影響を及ぼすおそれがあった。
そのため、従来では、CPU負荷をリアルタイムに測定し、現時点のCPU負荷に応じて動的に通信速度を制御することで、CPUが過負荷になることを抑制可能なVOIPシステムが知られている(例えば、特許文献1参照)。
特開2003−46563号公報
しかしながら、ルータ上で動作しているアプリケーションは、現時点の処理内容や動作状況に応じて、急に多大なCPUの処理能力を必要とする場合がある。特許文献1に記載のVOIPシステムでは、現時点のCPU負荷に応じて通信速度が決定されるため、アプリケーションが急に多大なCPUの処理能力を必要とした場合に、ルータが対応できないおそれがあった。そうすると、ルータ上のアプリケーションの動作が遅延しやすくなり、サービス品質に悪影響を及ぼすおそれがあった。
本発明は、上述した課題を解決するためになされたものであり、VPN通信が実行される場合でも、他のアプリケーションを安定動作させてサービス品質を確保することができるルータおよび通信プログラムを提供することを目的とする。
本発明の第一態様に係るルータは、ローカル接続された一の端末装置と、ネットワークを介して接続された他の端末装置との通信制御と、前記通信制御とは異なるアプリケーション制御とを並行して実行可能なCPUを備えたルータであって、前記CPUは、前記一の端末装置と前記他の端末装置とを結ぶVPN(Virtual Private Network)セッションの確立要求を受信した場合に、前記他の端末装置に接続されている他の前記ルータとの間で通信路を設定する通信路設定手段、前記通信路設定手段によって設定された前記通信路毎に、前記一の端末装置から受信したデータを前記他のルータに送信するデータ送信制御と、前記他のルータから受信したデータを前記一の端末装置に送信するデータ受信制御とを、前記通信制御として実行する通信制御手段、および少なくとも前記アプリケーション制御に必要な前記CPUの処理能力が確保される通信速度の上限に基づいて、前記通信路設定手段によって設定された前記通信路の数量に応じた前記通信路単位の通信速度の上限である通信路速度上限を決定し、且つ、少なくとも決定した前記通信路速度上限に対して半分以下となる通信速度を、前記データ送信制御において送信されるデータの通信速度の上限である送信速度上限として決定する速度上限決定手段として機能し、前記通信制御手段は、少なくとも前記速度上限決定手段によって決定された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行することを特徴とする。
これによれば、VPNセッションの確立要求に応じて通信路が設定される。少なくともアプリケーション制御に必要なCPUの処理能力が確保される通信速度の上限に基づいて、通信路速度上限が決定される。決定した通信路速度上限に対して半分以下となる通信速度が送信速度上限として決定される。各通信路では、決定された送信速度上限を超えない通信速度でデータ送信制御が実行される。したがって、通信路の数量が増加しても、アプリケーション制御に必要なCPU処理能力が確保される。ひいては、VPN通信が実行される場合でも、他のアプリケーションを安定動作させてサービス品質を確保することができる。
第一態様において、前記CPUは、前記速度上限決定手段によって決定された前記送信速度上限を、前記通信路に接続された前記他のルータに送信する速度上限送信手段、前記通信路に接続された前記他のルータから、前記送信速度上限を受信する速度上限受信手段、および前記速度上限決定手段によって決定された前記送信速度上限と、前記速度上限受信手段によって受信された前記送信速度上限とのうちで小さいものを選択する速度上限選択手段として機能し、前記通信制御手段は、前記速度上限選択手段によって選択された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行てもよい。
この場合、ルータで決定された送信速度上限と、通信路が設定された他のルータで決定された送信速度上限のうちで小さいものが、通信路の送信速度上限として選択される。したがって、通信路が設定された各ルータのCPU処理能力が異なる場合でも、各ルータでアプリケーション制御に必要なCPU処理能力を確保することができる。
第一態様において、前記速度上限送信手段は、前記通信路が複数である場合、複数の前記通信路にそれぞれ接続されている前記他のルータに前記送信速度上限を送信し、前記速度上限受信手段は、前記通信路が複数である場合、複数の前記通信路にそれぞれ接続されている前記他のルータから前記送信速度上限を受信し、前記速度上限選択手段は、前記速度上限決定手段によって決定された前記送信速度上限と、前記速度上限受信手段によって受信された全ての前記送信速度上限とのうちで最も小さいものを選択し、前記通信制御手段は、前記速度上限選択手段によって選択された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行てもよい。
この場合、ルータで決定された送信速度上限と、複数の通信路にそれぞれ設定された他のルータで決定された送信速度上限のうちで最も小さいものが、通信路の送信速度上限として選択される。したがって、複数の通信路に対して一つの送信速度上限のみが適用されるので、通信路に応じて異なる送信速度上限を適用する必要がなく、データ通信に関する処理負担を軽減することができる。
第一態様において、前記速度上限決定手段は、前記通信路の数量が大きいほど、全ての前記通信路の前記通信路速度上限の総計が小さくなるように、前記通信路速度上限を決定してもよい。この場合、通信路の数量が大きいほどCPUの処理負担が大きくなる現象(いわゆる、オーバーヘッド)を考慮して、より最適な速度上限を決定することができる。
本発明の第二態様に係る通信プログラムは、ローカル接続された一の端末装置と、ネットワークを介して接続された他の端末装置との通信制御と、前記通信制御とは異なるアプリケーション制御とを並行して実行可能なCPUを備えたルータの前記CPUに、前記一の端末装置と前記他の端末装置とを結ぶVPN(Virtual Private Network)セッションの確立要求を受信した場合に、前記他の端末装置に接続されている他の前記ルータとの間で通信路を設定する通信路設定ステップと、前記通信路設定ステップによって設定された前記通信路毎に、前記一の端末装置から受信したデータを前記他のルータに送信するデータ送信制御と、前記他のルータから受信したデータを前記一の端末装置に送信するデータ受信制御とを、前記通信制御として実行する通信制御ステップと、少なくとも前記アプリケーション制御に必要な前記CPUの処理能力が確保される通信速度の上限に基づいて、前記通信路設定ステップによって設定された前記通信路の数量に応じた前記通信路単位の通信速度の上限である通信路速度上限を決定し、且つ、少なくとも決定した前記通信路速度上限に対して半分以下となる通信速度を、前記データ送信制御において送信されるデータの通信速度の上限である送信速度上限として決定する速度上限決定ステップとを実行させ、前記通信制御ステップは、少なくとも前記速度上限決定ステップによって決定された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行することを特徴とする。
これによれば、VPNセッションの確立要求に応じて通信路が設定される。少なくともアプリケーション制御に必要なCPUの処理能力が確保される通信速度の上限に基づいて、通信路速度上限が決定される。決定した通信路速度上限に対して半分以下となる通信速度が送信速度上限として決定される。各通信路では、決定された送信速度上限を超えない通信速度でデータ送信制御が実行される。したがって、通信路の数量が増加しても、アプリケーション制御に必要なCPU処理能力が確保される。ひいては、VPN通信が実行される場合でも、他のアプリケーションを安定動作させてサービス品質を確保することができる。
ルータ1を含む通信システムの全体構成を示す図である。 ルータ1の電気的構成を示すブロック図である。 速度上限テーブル20のデータ構成を示す図である。 第1実施形態における送信速度上限の決定方法を説明するための図である。 第1実施形態におけるメイン処理のフローチャートである。 バッファ処理のフローチャートである。 データ送信処理のフローチャートである。 上限合意テーブル30のデータ構成を示す図である。 第2実施形態における送信速度上限の決定方法を説明するための図である。 第2実施形態におけるメイン処理のフローチャートである。 変形例における速度上限テーブル20のデータ構成を示す図である。
本発明を具体化した実施の形態について、図面を参照して説明する。参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、単なる説明例である。
図1〜図7を参照して、本発明の第一実施形態について説明する。図1を参照して、本発明に係るルータ1を含む通信システムの全体構成について説明する。この通信システムは、各拠点に設置されたルータ1および通信端末(図1の例では、PC2および複合機3)を含んでいる。各拠点では、PC2および複合機3が、それぞれルータ1にローカル接続されている。各拠点のルータ1は、インターネット9を介して相互に接続されている。したがって、自拠点に設置されたPC2および複合機3は、自拠点のルータ1および他拠点のルータ1を介して、他拠点のPC2および複合機3と通信を行うことができる。以下の説明では、自拠点のルータ1、PC2、複合機3について説明するが、他拠点のルータ1、PC2、複合機3についても、同様である。
ルータ1は、VPN機能や電話機能などを備えたVOIPルータである。PC2は、汎用のパーソナル・コンピュータであり、CPU、ROM、RAM、HDD等を備える。PC2のHDDには、自拠点のルータ1の通信設定を行うためのプログラムが記憶されている。複合機3は、公知の複合機と同様の構成であり、FAX、プリンタ、アナログ電話などの機能を有する。
本実施形態では、各拠点のルータ1間にVPNの通信路を設定することで、各拠点のルータ1を結ぶVPNセッションを確立する。これにより、各拠点のユーザはPC2を使用して、セキュリティ性の高い通信を行うことができる。また、各拠点のルータ1の電話機能によって、各拠点のユーザは複合機3を用いてアナログ電話による音声通話を行うことができる。
図2を参照して、ルータ1の電気的構成について説明する。ルータ1は、CPU11、ROM12、RAM13、フラッシュメモリ14、表示部15、アナログ電話インタフェイス16、イーサネット(登録商標)スイッチ17を備え、これらの構成がバスを介して電気的に接続されている。アナログ電話インタフェイス16は、アナログ電話(本実施形態では、複合機3)と接続するための通信インタフェイスである。イーサネット(登録商標)スイッチ17は、PC2およびインターネット9と接続するための通信インタフェイスである。
ROM12には、ルータ1に接続された自拠点の通信端末と、インターネット9を介して接続された他拠点の通信端末との通信制御を実行するための通信制御プログラムが記憶されている。さらに、ROM12には、通信制御以外のサービスを実行するためのアプリケーションプログラムが記憶されている。ルータ1では、通信制御プログラムによる通信制御と、アプリケーションプログラムによるサービス提供制御(以下、アプリケーション制御という)とを並行して実行することができる。
本実施形態では、インターネット9を介してアナログ電話で音声通話を実行する電話制御アプリケーションが、ROM12に記憶されている。電話制御アプリケーションは、ルータ1に接続された自拠点のアナログ電話から入力されるアナログ音声をデジタル信号に変換して、インターネット9を介して他拠点のアナログ電話に向けて送信する。また、インターネット9を介して他拠点のアナログ電話から受信したデジタル信号をアナログ音声に変換して、自拠点のアナログ電話に出力する。このアナログ電話制御によって、従来のアナログ電話を使用して、インターネット9を介した音声通話を実現することができる。
RAM13には、自拠点の通信端末から受信した他拠点の通信端末宛てのデータを一時的に記憶する送信バッファ(図示外)と、他拠点の通信端末から受信した自拠点の通信端末宛てのデータを一時的に記憶する受信バッファ(図示外)とが設けられている。送信バッファおよび受信バッファは、所定のデータ量まで一時的に記憶することができる。
フラッシュメモリ14には、VPNの通信路毎に、通信先となる他拠点のルータ1のアドレス情報を記憶する通信制御テーブル(図示外)が記憶されている。通信制御テーブル(図示外)に登録されている他拠点のルータ1との間で、1つの通信路が形成される。ルータ1は、通信制御テーブル(図示外)に記憶されているアドレス情報に基づいて、他拠点のルータ1とVPN通信を実行する。さらに、フラッシュメモリ14には、後述の速度上限テーブル20(図3参照)が記憶されている。
図3および図4を参照して、速度上限テーブル20について説明する。図3に示すように、速度上限テーブル20には、ルータ1に設定されているVPNの通信路の数量(通信路数)に応じて、各通信路における送信速度上限が定義されている。送信速度上限は、少なくともアプリケーション制御に必要なCPU11の処理能力が確保される送信速度の上限値である。本実施形態では、ルータ1に設定されている通信路数に関係なく、アナログ電話制御に必要なCPU11の処理能力が確保されるような送信速度上限が、速度上限テーブル20に設定されている。
ルータ1の通信速度上限(本実施形態では、100Mbps)は一定であるが、通信路単位での通信速度上限は通信路数に応じて変化する。例えば、通信路数が「1」である場合、その通信路の通信速度上限は、ルータ1の通信速度上限と一致する。また、通信路では送信データと受信データの両方が通信されるため、通信路における送信速度上限および受信速度上限の合計値は、ルータ1の通信速度上限を超えない値である必要がある。本実施形態では、ルータ1の通信速度上限が送信速度上限と受信速度上限とに均等に割り振られる。そのため、速度上限テーブル20には、通信路数「1」に対応する通信路単位の送信速度上限に「50Mbps」が定義されている。
一方、通信路数が複数である場合、各通信路でデータが送受信されるため、各通信路の通信速度上限の合計値は、ルータ1の通信速度上限を超えない値である必要がある。本実施形態では、ルータ1の通信速度上限が各通信路の通信速度上限に均等に割り振られるため、通信路数が増加するのに伴って通信路単位の通信速度上限(ひいては、送信速度上限)が小さくなる。そのため、速度上限テーブル20には、通信路数が増加するのに伴って送信速度上限が小さくなるように定義されている。
例えば、図に示すように、通信路数が「2」である場合、各通信路の通信速度上限は「50Mbps」となる。通信路毎に送信データと受信データの両方が通信されるため、各通信路における送信速度上限は「25Mbps」となる。したがって、速度上限テーブル20には、通信路数「2」に対応する通信路単位の送信速度上限に「25Mbps」が定義されている。
図5〜図7を参照して、第一実施形態において、ルータ1でそれぞれ実行される通信制御のうち、先述した通信路の設定に関する処理について説明する。図5〜図7に示す処理は、ROM12に記憶されている通信制御プログラムに基づいて、CPU11によって並列的に実行される。
図5を参照して、ルータ1で実行されるメイン処理について説明する。メイン処理では、まず通知ありか否かが判断される(S1)。例えば、イーサネット(登録商標)スイッチ17が、ルータ1に対する通知信号を受信した場合、通知ありと判断される(S1:YES)。この場合、受信した通知信号が、通信路設定通知であるか否かが判断される(S3)。通信路設定通知は、自拠点の通信端末から送信される、VPNセッションの確立(すなわち、通信路の設定)を要求する信号であり、VPNセッションの確立先となる他拠点のルータ1を示す情報を含む。
本実施形態では、自拠点のPC2において、通信設定を行うためのプログラムが起動されると、ルータ1の通信設定を行うための設定用画面(インターフェイス)が表示される。設定用画面でVPNセッションの確立先となる他拠点のルータ1が指定されると、通信路設定通知がPC2に接続されているルータ1に送信される。なお、設定用画面では、VPNセッションの確立先である他拠点のルータ1を複数指定することができる。
通知信号が通信路設定通知である場合(S3:YES)、通信路の設定が実行される(S5)。ステップS5では、通信路設定通知が指示するVPNセッションの確立先に基づいて、通信路を設定する必要がある他のルータ1が特定される。特定された他のルータ1のアドレス情報が、通信制御テーブル(図示外)に登録される。ステップS5の実行後、送信速度上限が決定される(S7)。ステップS7では、ステップS5で特定された他のルータ1の数量(つまり、通信路数)に対応する送信速度上限が、速度上限テーブル20(図3参照)に基づいて決定される。ステップS7で決定された送信速度上限は、RAM13の所定記憶エリアにセットされる。
ステップS7の実行後、通信路設定が有効化される(S9)。つまり、ステップS5で通信制御テーブル(図示外)に設定された通信路が、ルータ1の通信制御に反映される。詳細には、ルータ1は、自拠点のPC2から他拠点のPC2宛てのデータを受信した場合、他拠点のPC2が接続されている他のルータ1に、受信データをVPN通信で送信する。一方、ルータ1は、他のルータ1から自拠点のPC2宛てのデータをVPN通信で受信して、自拠点のPC2に送信する。
通知信号が通信路設定通知でない場合(S3:NO)、通知信号に応じたその他の処理が実行される(S11)。通知がない場合(S1:NO)、あるいは、ステップS9またはS11の実行後、処理はステップS1に戻る。
図6を参照して、ルータ1で実行されるバッファ処理について説明する。バッファ処理では、まずデータ送信要求ありか否かが判断される(S31)。具体的には、自拠点のPC2から他拠点のPC2宛てのデータを受信した場合、データ送信要求ありと判断される(S31:YES)。この場合、RAM13の送信バッファ(図示外)に空きありか否かが判断される(S33)。ステップS31で受信されたデータ量が、送信バッファの空き容量以下である場合、送信バッファに空きありと判断される(S33:YES)。この場合、ステップS31で受信されたデータが、送信バッファ(図示外)に書き込まれる(S35)。一方、送信バッファに空きがない場合(S33:NO)、ステップS31で受信されたデータが破棄される(S37)。データ送信要求がない場合(S31:NO)、あるいは、ステップS35またはS37の実行後、処理はステップS31に戻る。
図7を参照して、ルータ1で実行されるデータ送信処理について説明する。データ送信処理では、まずRAM13の送信バッファ(図示外)にデータありか否かが判断される(S51)。送信バッファ(図示外)にデータがある場合(S51:YES)、RAM31にセットされている送信速度上限が読み出される(S53)。そして、送信バッファ(図示外)に記憶されているデータが、ステップS53で読み出された送信速度上限内で送信可能であるか否かが判断される(S55)。ステップS55では、公知のトークンバケツフィルタアルゴリズムによって、送信速度上限内で送信可能であるか否かが判断されればよい。
送信速度上限内で送信可能であると判断された場合(S55:YES)、送信バッファ(図示外)に記憶されているデータが、先述のデータ送信要求に示される通信端末(本実施形態では、他拠点のPC2)に送信される(S57)。ステップS57で送信されたデータが送信バッファ(図示外)から削除される(S59)。ステップS57の実行後、または送信バッファ(図示外)にデータがない場合(S51:NO)、あるいは送信速度上限内で送信可能でない場合(S55:NO)、処理はステップS51に戻る。
以上説明したように、第一実施形態に係るルータ1では、通信路設定通知に応じて通信路が設定され、通信路の数量に基づいて通信路単位の送信速度上限が決定される。各通信路では、決定された送信速度上限を超えない送信速度で通信制御が実行される。送信速度上限は、アナログ電話制御に必要なCPU11の処理能力が確保される送信速度が決定される。したがって、通信路の数量が増加しても、アナログ電話制御に必要なCPU11の処理能力が確保される。ひいては、VPN通信が実行される場合でも、アナログ電話アプリケーションを安定動作させて、アナログ電話の通話品質を確保することができる。
図8〜図10を参照して、本発明の第二実施形態について説明する。第一実施形態に係るルータ1は、自端末のみで最適な送信速度上限を決定したのに対し、第二実施形態に係るルータ1は、他のルータ1との間で最適な送信速度上限を合意決定する点で異なる。この相違点に関連する処理および構成以外は、例えば通信システムおよびルータ1の構成等は、第一の実施形態と同じである。従って、第一の実施形態と同一の構成については、同一の番号を付して説明を省略する。
本実施形態では、フラッシュメモリ14に、通信制御テーブル(図示外)および速度上限テーブル20(図3参照)に加えて、上限合意テーブル30が記憶されている。図8および図9を参照して、上限合意テーブル30について説明する。図8に示すように、上限合意テーブル30には、各通信路の送信速度上限が設定されている。ただし、ルータ1に設定されていない通信路(図8の例では、通信路3、4)には「未接続」が設定されている。
ルータ1に設定される各通信路の送信速度上限は、ルータ1に固有の通信速度上限や、ルータ1に設定されている通信路数などに応じて変化する。図9に示す例では、通信速度上限が等しい5つのルータ1(ルータ「A」〜「E」とする。)が設けられている。ルータ「A」およびルータ「B」は通信路「1」で接続され、ルータ「A」およびルータ「C」は通信路「2」で接続されている。さらに、ルータ「B」は、ルータ「D」およびルータ「E」とも通信路で接続されている。以下の説明では、ルータ「A」を自拠点のルータ1とし、ルータ「A」〜「E」の通信速度上限は「100Mbps」とする。
速度上限テーブル20(図3参照)によれば、ルータ「A」には2つの通信路が設定されているため、通信路単位の送信速度上限は「25Mbps」となる。ルータ「B」には3つの通信路が設定されているため、通信路単位の送信速度上限は「16.6Mbps」となる。ルータ「C」には1つの通信路が設定されているため、通信路単位の送信速度上限は「50Mbps」となる。つまり、通信路に接続されているルータ1間で送信速度上限が異なっている。
本実施形態では、ルータ1の送信速度上限と受信速度上限は等しい。そのため、通信路における送信速度上限がルータ1ごとに異なる場合、通信路に接続されているルータ1のうちの一方が、受信データを十分に処理できずに遅延やエラーを生じるおそれがある。図9に示す通信路「1」では、ルータ「A」の送信速度上限「25Mbps」は、ルータ「B」の送信速度上限「16.6Mbps」よりも大きい。そのため、通信路「1」において、ルータ「A」からルータ「B」に「25Mbps」でデータ送信された場合、送信速度がルータ「B」の受信速度上限「16.6Mbps」を超えるため、ルータ「B」で処理遅延等が生じるおそれがある。
よって、通信路に接続されているルータ1間で送信速度上限が異なっている場合には、通信路の送信速度上限は、各ルータ1の送信速度上限のうちで小さいほうであることが好ましい。具体的に、図9に示す通信路「1」では、送信速度上限は「16.6Mbps」であることが好ましい。これにより、通信路に接続されているルータ1は、いずれも受信データを十分に処理することができる。上限合意テーブル30(図8)は、このような最適な送信速度上限を、後述の処理によって決定する際に用いられるテーブルである。
図10を参照して、第二実施形態において、ルータ1でそれぞれ実行される通信制御のうち、先述した通信路の設定に関する処理について説明する。第二実施形態では、ルータ1のメイン処理の詳細が、第一実施形態(図5参照)と異なる。
図10に示すように、第二実施形態のメイン処理について説明する。まず、ステップS1〜S7と同様に、通知ありか否かが判断され(S101)、通信路設定通知であるか否かが判断され(S103)、通信路が設定され(S105)、送信速度上限が決定される(S107)。ただし、ステップS107で決定された送信速度上限を、値Dとする。上限合意テーブル30(図8)では、ルータ1に設定されている全ての通信路の送信速度上限が、ステップS107で決定された値Dに設定される。
ステップS107の実行後、値Dを示す上限通知が全接続先に送信される(S109)。すなわち、通信情報テーブル(図示外)に登録されている全てのルータ1に対して、値Dを示す上限通知が送信される。上限通知は、通知元のルータ1で決定された、通知先のルータ1との間で設定された通信路の送信速度上限を示す通知信号である。ステップS109の実行後、ステップS9と同様に、通信路設定が有効化される(S111)。
図9に示す例では、先述のように、ルータ「A」における通信路単位の送信速度上限は、「25Mbps」である。よって、通信路「1」、「2」の送信速度上限として、「25Mbps」が上限合意テーブル30に設定される(S105、S107)。値D「25Mbps」を示す上限通知が、ルータ「B」、「C」に送信される(S109)。通信路設定が有効化されると(S111)、通信路「1」、「2」では、送信速度上限「25Mbps」でVPN通信を実行可能となる。
図10に戻る。通知信号が通信路設定通知でない場合(S103:NO)、通知信号が上限通知であるか否かが判断される(S113)。通知信号が上限通知である場合(S113:YES)、通知元のルータ1に対して設定されている通信路の送信速度上限が、上限合意テーブル30から読み出される(S115)。S113の上限通知が示す送信速度上限を、値Aとする。ステップS115で読み出された送信速度上限を、値Bとする。値Aが値Bよりも大きいか否かが判断される(S117)。値Aが値Bよりも大きい場合(S117:YES)、値Bを示す上限通知が、通知元のルータ1に送信される(S119)。値Aが値B以下である場合(S117:NO)、上限合意テーブル30において、通知元のルータ1に対して設定されている通信路の送信速度上限に、値Aが設定される(S121)。
図9に示す例では、ルータ「B」では、ルータ「A」から上限通知を受信すると、上限合意テーブル30から通信路「1」の送信速度上限(値B)「16.6Mbps」が読み出される(S113:YES、S115)。上限通知が示す値A「25Mbps」は値B「16.6Mbps」よりも大きいため、値B「16.6Mbps」を示す上限通知がルータ「A」に送信される(S117:YES、S119)。一方、ルータ「A」では、ルータ「B」から上限通知を受信すると、上限合意テーブル30から通信路「1」の送信速度上限(値B)「25Mbps」が読み出される(S113:YES、S115)。上限通知が示す値A「16.6Mbps」は値B「25Mbps」以下であるため、上限合意テーブル30において通信路「1」の送信速度上限に値A「16.6Mbps」が設定される(S117:NO、S121)。これにより、ルータ「A」、「B」では、いずれも通信路「1」の送信速度上限が「16.6Mbps」に設定される。
ルータ「C」では、ルータ「A」から上限通知を受信すると、上限合意テーブル30から通信路「2」の送信速度上限(値B)「50Mbps」が読み出される(S113:YES、S115)。上限通知が示す値A「25Mbps」は値B「50Mbps」以下であるため、上限合意テーブル30において通信路「1」の送信速度上限に値A「25Mbps」が設定される(S117:NO、S121)。これにより、ルータ「A」、「C」では、いずれも通信路「2」の送信速度上限が「25Mbps」に設定される。
図10に戻る。通知信号が上限通知でない場合(S113:NO)、通知信号に応じたその他の処理が実行される(S123)。通知がない場合(S101:NO)、または、ステップS111、S119、S121、S123のいずれかの実行後、処理はステップS101に戻る。
第二実施形態におけるバッファ処理およびデータ処理は、第一実施形態(図6、図7)と同様である。ただし、本実施形態では、ステップS53において、上限合意テーブル30に設定されている全ての送信速度上限のうちで最も小さい送信速度上限が読み出される。そして、ルータ1に設定されている全ての通信路について、ステップS53で読み出された送信速度上限を共通に用いて、送信速度内で送信可能であるか否かが判断される(S55)。よって、ステップS57において、ルータ1に設定されているいずれの通信路でデータ送信される場合でも、そのデータ送信速度はステップS53で読み出された送信速度上限以下となる。例えば、図8に示す上限合意テーブル30の例では、ステップS53で最も小さい送信速度上限「16.6Mbps」が読み出される(S53)。そして、通信路「1」「2」のいずれにデータ送信を行う場合でも、そのデータ送信速度は「16.6Mbps」以下である(S55、S57)。
以上説明したように、第二実施形態に係るルータ1では、第一実施形態と同様に、アナログ電話制御に必要なCPU11の処理能力が確保される送信速度上限が決定される。したがって、VPN通信が実行される場合でも、アナログ電話アプリケーションを安定動作させて、アナログ電話の通話品質を確保することができる。さらに、ルータ1で決定された送信速度上限と、通信路が設定された他のルータ1で決定された送信速度上限のうちで小さいものが、通信路の送信速度上限として適用される。したがって、通信路が設定された各ルータ1のCPU11の処理能力が異なる場合でも、各ルータ1でアナログ電話制御に必要なCPU11の処理能力を確保することができる。
特に、ルータ1に複数の通信路が設定されている場合には、ルータ1で決定された送信速度上限と、複数の通信路にそれぞれ設定された他のルータ1で決定された送信速度上限のうちで最も小さいものが、通信路の送信速度上限として適用される。したがって、複数の通信路に対して一つの送信速度上限のみが設定されるので、通信路に応じて異なる送信速度上限を適用する必要がなく、データ通信に関する処理負担を軽減することができる。
上記実施形態において、ステップS5、S105を実行するCPU11が、本発明の「通信路設定手段」に相当する。ステップS7、S107を実行するCPU11が、本発明の「速度上限決定手段」に相当する。データ送信処理(図7)を実行するCPU11が、本発明の「通信制御手段」に相当する。ステップS109、S119を実行するCPU11が、本発明の「速度上限送信手段」に相当する。ステップS113を実行するCPU11が、本発明の「速度上限受信手段」に相当する。ステップS117〜S121を実行するCPU11が、本発明の「速度上限選択手段」に相当する。ステップS5、S105が、本発明の「通信路設定ステップ」に相当する。ステップS7、S107が、本発明の「速度上限決定ステップ」に相当する。データ送信処理(図7)が、本発明の「通信制御ステップ」に相当する。
なお、本発明は上記実施形態に限定されるものではなく、発明の要旨を変更しない範囲での変更が可能である。例えば、速度上限テーブル20のデータ構成は、図3に例示するものに限定されない。一例として、図11に示す速度上限テーブル20では、ルータ1に設定される通信路数が大きいほど、全ての通信路の通信速度上限の総計が小さくなるように、通信路単位の送信速度上限が設定されている。この場合、通信路数が大きいほどCPU11の処理負担が大きくなる現象(いわゆる、オーバーヘッド)を考慮して、より最適な送信速度上限を決定することができる。
また、上記実施形態では、ルータ1が実行可能なアプリケーション制御として、アナログ電話機能を例示した。これに代えて、ファックス機能や音声伝言機能などを、ルータ1が実行可能なアプリケーション制御としてもよい。そして、ルータ1に設定されている通信路数に関係なく、サービス品質を確保したいアプリケーション制御に必要なCPU11の処理能力が確保されるような送信速度上限が、上記のように決定されればよい。さらに、上記実施形態では、ルータ1の通信制御および他のアプリケーション制御をプログラム(つまり、ソフトウエア)で実行している。これに代えて、通信制御および他のアプリケーション制御をマイコン等(つまり、ハードウエア)で実行してもよい。
また、第二実施形態では、ルータ1に複数の通信路が設定されている場合には、ルータ1で決定された送信速度上限と、複数の通信路にそれぞれ設定された他のルータ1で決定された送信速度上限のうちで最も小さいものが、通信路の送信速度上限として適用される。これに代えて、ルータ1に複数の通信路が設定されている場合に、各通信路について、その通信路に設定されたルータ1で決定された送信速度上限のうちでそれぞれ最も小さいものを、その通信路に固有の送信速度上限として適用してもよい。
1 ルータ
2 PC
3 複合機
9 インターネット
11 CPU
12 ROM
13 RAM
14 フラッシュメモリ
16 アナログ電話インタフェイス
17 イーサネット(登録商標)スイッチ
20 速度上限テーブル
24 フラッシュメモリ
30 上限合意テーブル

Claims (5)

  1. ローカル接続された一の端末装置と、ネットワークを介して接続された他の端末装置との通信制御と、前記通信制御とは異なるアプリケーション制御とを並行して実行可能なCPUを備えたルータであって、
    前記CPUは、
    前記一の端末装置と前記他の端末装置とを結ぶVPN(Virtual Private Network)セッションの確立要求を受信した場合に、前記他の端末装置に接続されている他の前記ルータとの間で通信路を設定する通信路設定手段、
    前記通信路設定手段によって設定された前記通信路毎に、前記一の端末装置から受信したデータを前記他のルータに送信するデータ送信制御と、前記他のルータから受信したデータを前記一の端末装置に送信するデータ受信制御とを、前記通信制御として実行する通信制御手段、および
    少なくとも前記アプリケーション制御に必要な前記CPUの処理能力が確保される通信速度の上限に基づいて、前記通信路設定手段によって設定された前記通信路の数量に応じた前記通信路単位の通信速度の上限である通信路速度上限を決定し、且つ、少なくとも決定した前記通信路速度上限に対して半分以下となる通信速度を、前記データ送信制御において送信されるデータの通信速度の上限である送信速度上限として決定する速度上限決定手段
    として機能し、
    前記通信制御手段は、少なくとも前記速度上限決定手段によって決定された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行することを特徴とするルータ。
  2. 前記CPUは、
    前記速度上限決定手段によって決定された前記送信速度上限を、前記通信路に接続された前記他のルータに送信する速度上限送信手段
    記通信路に接続された前記他のルータから、前記送信速度上限を受信する速度上限受信手段、および
    記速度上限決定手段によって決定された前記送信速度上限と、前記速度上限受信手段によって受信された前記送信速度上限とのうちで小さいものを選択する速度上限選択手段
    として機能し、
    前記通信制御手段は、前記速度上限選択手段によって選択された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行することを特徴とする請求項1に記載のルータ。
  3. 前記速度上限送信手段は、前記通信路が複数である場合、複数の前記通信路にそれぞれ接続されている前記他のルータに前記送信速度上限を送信し、
    前記速度上限受信手段は、前記通信路が複数である場合、複数の前記通信路にそれぞれ接続されている前記他のルータから前記送信速度上限を受信し、
    前記速度上限選択手段は、前記速度上限決定手段によって決定された前記送信速度上限と、前記速度上限受信手段によって受信された全ての前記送信速度上限とのうちで最も小さいものを選択し、
    前記通信制御手段は、前記速度上限選択手段によって選択された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行することを特徴とする請求項2に記載のルータ。
  4. 前記速度上限決定手段は、前記通信路の数量が大きいほど、全ての前記通信路の前記通信路速度上限の総計が小さくなるように、前記通信路速度上限を決定することを特徴とする請求項1から3のいずれかに記載のルータ。
  5. ローカル接続された一の端末装置と、ネットワークを介して接続された他の端末装置との通信制御と、前記通信制御とは異なるアプリケーション制御とを並行して実行可能なCPUを備えたルータの前記CPUに、
    前記一の端末装置と前記他の端末装置とを結ぶVPN(Virtual Private Network)セッションの確立要求を受信した場合に、前記他の端末装置に接続されている他の前記ルータとの間で通信路を設定する通信路設定ステップと、
    前記通信路設定ステップによって設定された前記通信路毎に、前記一の端末装置から受信したデータを前記他のルータに送信するデータ送信制御と、前記他のルータから受信したデータを前記一の端末装置に送信するデータ受信制御とを、前記通信制御として実行する通信制御ステップと、
    少なくとも前記アプリケーション制御に必要な前記CPUの処理能力が確保される通信速度の上限に基づいて、前記通信路設定ステップによって設定された前記通信路の数量に応じた前記通信路単位の通信速度の上限である通信路速度上限を決定し、且つ、少なくとも決定した前記通信路速度上限に対して半分以下となる通信速度を、前記データ送信制御において送信されるデータの通信速度の上限である送信速度上限として決定する速度上限決定ステップとを実行させ、
    前記通信制御ステップは、少なくとも前記速度上限決定ステップによって決定された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行することを特徴とする通信プログラム。
JP2011066710A 2011-03-24 2011-03-24 ルータおよび通信プログラム Expired - Fee Related JP5408167B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011066710A JP5408167B2 (ja) 2011-03-24 2011-03-24 ルータおよび通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011066710A JP5408167B2 (ja) 2011-03-24 2011-03-24 ルータおよび通信プログラム

Publications (2)

Publication Number Publication Date
JP2012205016A JP2012205016A (ja) 2012-10-22
JP5408167B2 true JP5408167B2 (ja) 2014-02-05

Family

ID=47185527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011066710A Expired - Fee Related JP5408167B2 (ja) 2011-03-24 2011-03-24 ルータおよび通信プログラム

Country Status (1)

Country Link
JP (1) JP5408167B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200047734A (ko) * 2017-09-27 2020-05-07 유비퀴티 인코포레이티드 로컬 네트워크에 대한 자동 보안 원격 액세스를 위한 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008148252A (ja) * 2006-12-13 2008-06-26 Toshiba Corp 無線通信装置、通信レート設定方法、及び通信レート設定プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200047734A (ko) * 2017-09-27 2020-05-07 유비퀴티 인코포레이티드 로컬 네트워크에 대한 자동 보안 원격 액세스를 위한 시스템

Also Published As

Publication number Publication date
JP2012205016A (ja) 2012-10-22

Similar Documents

Publication Publication Date Title
JP4033773B2 (ja) ネットワークルーティングを実行する方法および装置
CN106716976B (zh) 网络端点之间的媒体会话
EP2137883B1 (en) Method of transmitting data in a communication system
CN106716963B (zh) 用于网络端点之间的媒体会话的方法及装置
JP4688686B2 (ja) 管理装置及びネットワークシステム
US20150319063A1 (en) Dynamically associating a datacenter with a network device
US9197678B2 (en) Method and system for data transmission
US10038590B2 (en) Reliability of a connection during a communication session on a network device
US10305871B2 (en) Dynamically serving digital certificates based on secure session properties
US20170063699A1 (en) Method and apparatus for configuring multi-paths using segment list
CN108702394B (zh) 网络端点间的媒体会话
KR102007548B1 (ko) 네트워크 측정 트리거들을 사용하는 서비스 보장
CN108293076B (zh) 用于网络端点间的媒体会话的方法和装置
WO2021000848A1 (zh) 一种报文转发方法、报文处理方法及装置
CN109379450B (zh) 网络接口交互管理方法、装置、计算机设备及存储介质
CN111262665B (zh) 数据通信方法、装置、控制器及系统
WO2012126356A1 (zh) 一种负载分担方法及装置
WO2019041371A1 (zh) 物联网基于连接数量的路由器切换方法及装置
US20130065588A1 (en) Transmitting data over multiple networks
JP2016054420A (ja) 通信システム、通信装置、および、通信プログラム
US6973503B2 (en) Preventing at least in part control processors from being overloaded
JP2005057487A (ja) 複数経路を選択する経路制御装置、経路選択方法およびそのプログラムと記録媒体
JP5408167B2 (ja) ルータおよび通信プログラム
JP2008187417A (ja) 携帯電話機
JP2004096380A (ja) 経路制御装置及び経路制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131021

LAPS Cancellation because of no payment of annual fees