(57)【特許請求の範囲】
【請求項１】
ローカル接続された一の端末装置と、ネットワークを介して接続された他の端末装置との通信制御と、前記通信制御とは異なるアプリケーション制御とを並行して実行可能なＣＰＵを備えたルータであって、
前記ＣＰＵは、
前記一の端末装置と前記他の端末装置とを結ぶＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）セッションの確立要求を受信した場合に、前記他の端末装置に接続されている他の前記ルータとの間で通信路を設定する通信路設定手段、
前記通信路設定手段によって設定された前記通信路毎に、前記一の端末装置から受信したデータを前記他のルータに送信するデータ送信制御と、前記他のルータから受信したデータを前記一の端末装置に送信するデータ受信制御とを、前記通信制御として実行する通信制御手段、および
少なくとも前記アプリケーション制御に必要な前記ＣＰＵの処理能力が確保される通信速度の上限に基づいて、前記通信路設定手段によって設定された前記通信路の数量に応じた前記通信路単位の通信速度の上限である通信路速度上限を決定し、且つ、少なくとも決定した前記通信路速度上限に対して半分以下となる通信速度を、前記データ送信制御において送信されるデータの通信速度の上限である送信速度上限として決定する速度上限決定手段
として機能し、
前記通信制御手段は、少なくとも前記速度上限決定手段によって決定された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行することを特徴とするルータ。
【請求項２】
前記ＣＰＵは、
前記速度上限決定手段によって決定された前記送信速度上限を、前記通信路に接続された前記他のルータに送信する速度上限送信手段、
前記通信路に接続された前記他のルータから、前記送信速度上限を受信する速度上限受信手段、および
前記速度上限決定手段によって決定された前記送信速度上限と、前記速度上限受信手段によって受信された前記送信速度上限とのうちで小さいものを選択する速度上限選択手段
として機能し、
前記通信制御手段は、前記速度上限選択手段によって選択された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行することを特徴とする請求項１に記載のルータ。
【請求項３】
前記速度上限送信手段は、前記通信路が複数である場合、複数の前記通信路にそれぞれ接続されている前記他のルータに前記送信速度上限を送信し、
前記速度上限受信手段は、前記通信路が複数である場合、複数の前記通信路にそれぞれ接続されている前記他のルータから前記送信速度上限を受信し、
前記速度上限選択手段は、前記速度上限決定手段によって決定された前記送信速度上限と、前記速度上限受信手段によって受信された全ての前記送信速度上限とのうちで最も小さいものを選択し、
前記通信制御手段は、前記速度上限選択手段によって選択された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行することを特徴とする請求項２に記載のルータ。
【請求項４】
前記速度上限決定手段は、前記通信路の数量が大きいほど、全ての前記通信路の前記通信路速度上限の総計が小さくなるように、前記通信路速度上限を決定することを特徴とする請求項１から３のいずれかに記載のルータ。
【請求項５】
ローカル接続された一の端末装置と、ネットワークを介して接続された他の端末装置との通信制御と、前記通信制御とは異なるアプリケーション制御とを並行して実行可能なＣＰＵを備えたルータの前記ＣＰＵに、
前記一の端末装置と前記他の端末装置とを結ぶＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）セッションの確立要求を受信した場合に、前記他の端末装置に接続されている他の前記ルータとの間で通信路を設定する通信路設定ステップと、
前記通信路設定ステップによって設定された前記通信路毎に、前記一の端末装置から受信したデータを前記他のルータに送信するデータ送信制御と、前記他のルータから受信したデータを前記一の端末装置に送信するデータ受信制御とを、前記通信制御として実行する通信制御ステップと、
少なくとも前記アプリケーション制御に必要な前記ＣＰＵの処理能力が確保される通信速度の上限に基づいて、前記通信路設定ステップによって設定された前記通信路の数量に応じた前記通信路単位の通信速度の上限である通信路速度上限を決定し、且つ、少なくとも決定した前記通信路速度上限に対して半分以下となる通信速度を、前記データ送信制御において送信されるデータの通信速度の上限である送信速度上限として決定する速度上限決定ステップとを実行させ、
前記通信制御ステップは、少なくとも前記速度上限決定ステップによって決定された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行することを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された端末装置間の通信制御をおこなうルータおよび通信プログラムに関し、詳細にはＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）通信を実行可能なルータおよび通信プログラムに関する。
【背景技術】
【０００２】
近年、ルータの高機能化や多機能化が進んでおり、例えばＶＰＮ機能や電話機能などを備えたＶＯＩＰ（Ｖｏｉｃｅ  Ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ルータが知られている。ＶＰＮでは、公衆回線網の一部を仮想的な専用線として利用する。ＶＰＮセッションが確立されたルータ間では、セキュリティ性の高い通信が行われる。近年では、インターネット上にＶＰＮを構築することが提案されている。例えば、複数の端末装置を、それぞれＶＰＮ機能を有するルータを介してインターネットに接続する。各端末装置に接続されたルータが、既定のプロトコルで暗号化通信を行うことで、インターネット上でＶＰＮが実現される。
【０００３】
上記のようなＶＰＮ通信では、ルータでデータの暗号化・復号化を行うため、通常の通信制御と比べてルータのＣＰＵ負荷が大きい。そのため、ＶＰＮ通信時の通信速度が大きくなりすぎるとルータのＣＰＵが過負荷となり、ルータ上で動作している他のアプリケーション（例えば、電話機能）を実行するために必要なＣＰＵの処理能力が不足することがあった。この場合、電話機能などのリアルタイム性が要求されるアプリケーションの動作が遅延しやすくなり、サービス品質に悪影響を及ぼすおそれがあった。
【０００４】
そのため、従来では、ＣＰＵ負荷をリアルタイムに測定し、現時点のＣＰＵ負荷に応じて動的に通信速度を制御することで、ＣＰＵが過負荷になることを抑制可能なＶＯＩＰシステムが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−４６５６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ルータ上で動作しているアプリケーションは、現時点の処理内容や動作状況に応じて、急に多大なＣＰＵの処理能力を必要とする場合がある。特許文献１に記載のＶＯＩＰシステムでは、現時点のＣＰＵ負荷に応じて通信速度が決定されるため、アプリケーションが急に多大なＣＰＵの処理能力を必要とした場合に、ルータが対応できないおそれがあった。そうすると、ルータ上のアプリケーションの動作が遅延しやすくなり、サービス品質に悪影響を及ぼすおそれがあった。
【０００７】
本発明は、上述した課題を解決するためになされたものであり、ＶＰＮ通信が実行される場合でも、他のアプリケーションを安定動作させてサービス品質を確保することができるルータおよび通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第一態様に係るルータは、ローカル接続された一の端末装置と、ネットワークを介して接続された他の端末装置との通信制御と、前記通信制御とは異なるアプリケーション制御とを並行して実行可能なＣＰＵを備えたルータであって、前記ＣＰＵは、前記一の端末装置と前記他の端末装置とを結ぶＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）セッションの確立要求を受信した場合に、前記他の端末装置に接続されている他の前記ルータとの間で通信路を設定する通信路設定手段、前記通信路設定手段によって設定された前記通信路毎に、前記一の端末装置から受信したデータを前記他のルータに送信するデータ送信制御と、前記他のルータから受信したデータを前記一の端末装置に送信するデータ受信制御とを、前記通信制御として実行する通信制御手段、および少なくとも前記アプリケーション制御に必要な前記ＣＰＵの処理能力が確保される通信速度の上限に基づいて、前記通信路設定手段によって設定された前記通信路の数量に応じた前記通信路単位の通信速度の上限である通信路速度上限を決定し、且つ、少なくとも決定した前記通信路速度上限に対して半分以下となる通信速度を、前記データ送信制御において送信されるデータの通信速度の上限である送信速度上限として決定する速度上限決定手段として機能し、前記通信制御手段は、少なくとも前記速度上限決定手段によって決定された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行することを特徴とする。
【０００９】
これによれば、ＶＰＮセッションの確立要求に応じて通信路が設定される。少なくともアプリケーション制御に必要なＣＰＵの処理能力が確保される通信速度の上限に基づいて、通信路速度上限が決定される。決定した通信路速度上限に対して半分以下となる通信速度が送信速度上限として決定される。各通信路では、決定された送信速度上限を超えない通信速度でデータ送信制御が実行される。したがって、通信路の数量が増加しても、アプリケーション制御に必要なＣＰＵ処理能力が確保される。ひいては、ＶＰＮ通信が実行される場合でも、他のアプリケーションを安定動作させてサービス品質を確保することができる。
【００１０】
第一態様において、前記ＣＰＵは、前記速度上限決定手段によって決定された前記送信速度上限を、前記通信路に接続された前記他のルータに送信する速度上限送信手段、前記通信路に接続された前記他のルータから、前記送信速度上限を受信する速度上限受信手段、および前記速度上限決定手段によって決定された前記送信速度上限と、前記速度上限受信手段によって受信された前記送信速度上限とのうちで小さいものを選択する速度上限選択手段として機能し、前記通信制御手段は、前記速度上限選択手段によって選択された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行してもよい。
【００１１】
この場合、ルータで決定された送信速度上限と、通信路が設定された他のルータで決定された送信速度上限のうちで小さいものが、通信路の送信速度上限として選択される。したがって、通信路が設定された各ルータのＣＰＵ処理能力が異なる場合でも、各ルータでアプリケーション制御に必要なＣＰＵ処理能力を確保することができる。
【００１２】
第一態様において、前記速度上限送信手段は、前記通信路が複数である場合、複数の前記通信路にそれぞれ接続されている前記他のルータに前記送信速度上限を送信し、前記速度上限受信手段は、前記通信路が複数である場合、複数の前記通信路にそれぞれ接続されている前記他のルータから前記送信速度上限を受信し、前記速度上限選択手段は、前記速度上限決定手段によって決定された前記送信速度上限と、前記速度上限受信手段によって受信された全ての前記送信速度上限とのうちで最も小さいものを選択し、前記通信制御手段は、前記速度上限選択手段によって選択された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行してもよい。
【００１３】
この場合、ルータで決定された送信速度上限と、複数の通信路にそれぞれ設定された他のルータで決定された送信速度上限のうちで最も小さいものが、通信路の送信速度上限として選択される。したがって、複数の通信路に対して一つの送信速度上限のみが適用されるので、通信路に応じて異なる送信速度上限を適用する必要がなく、データ通信に関する処理負担を軽減することができる。
【００１４】
第一態様において、前記速度上限決定手段は、前記通信路の数量が大きいほど、全ての前記通信路の前記通信路速度上限の総計が小さくなるように、前記通信路速度上限を決定してもよい。この場合、通信路の数量が大きいほどＣＰＵの処理負担が大きくなる現象（いわゆる、オーバーヘッド）を考慮して、より最適な速度上限を決定することができる。
【００１５】
本発明の第二態様に係る通信プログラムは、ローカル接続された一の端末装置と、ネットワークを介して接続された他の端末装置との通信制御と、前記通信制御とは異なるアプリケーション制御とを並行して実行可能なＣＰＵを備えたルータの前記ＣＰＵに、前記一の端末装置と前記他の端末装置とを結ぶＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）セッションの確立要求を受信した場合に、前記他の端末装置に接続されている他の前記ルータとの間で通信路を設定する通信路設定ステップと、前記通信路設定ステップによって設定された前記通信路毎に、前記一の端末装置から受信したデータを前記他のルータに送信するデータ送信制御と、前記他のルータから受信したデータを前記一の端末装置に送信するデータ受信制御とを、前記通信制御として実行する通信制御ステップと、少なくとも前記アプリケーション制御に必要な前記ＣＰＵの処理能力が確保される通信速度の上限に基づいて、前記通信路設定ステップによって設定された前記通信路の数量に応じた前記通信路単位の通信速度の上限である通信路速度上限を決定し、且つ、少なくとも決定した前記通信路速度上限に対して半分以下となる通信速度を、前記データ送信制御において送信されるデータの通信速度の上限である送信速度上限として決定する速度上限決定ステップとを実行させ、前記通信制御ステップは、少なくとも前記速度上限決定ステップによって決定された前記送信速度上限を超えない通信速度で、前記通信路毎の前記データ送信制御を実行することを特徴とする。
【００１６】
これによれば、ＶＰＮセッションの確立要求に応じて通信路が設定される。少なくともアプリケーション制御に必要なＣＰＵの処理能力が確保される通信速度の上限に基づいて、通信路速度上限が決定される。決定した通信路速度上限に対して半分以下となる通信速度が送信速度上限として決定される。各通信路では、決定された送信速度上限を超えない通信速度でデータ送信制御が実行される。したがって、通信路の数量が増加しても、アプリケーション制御に必要なＣＰＵ処理能力が確保される。ひいては、ＶＰＮ通信が実行される場合でも、他のアプリケーションを安定動作させてサービス品質を確保することができる。
【図面の簡単な説明】
【００１７】
【図１】ルータ１を含む通信システムの全体構成を示す図である。
【図２】ルータ１の電気的構成を示すブロック図である。
【図３】速度上限テーブル２０のデータ構成を示す図である。
【図４】第１実施形態における送信速度上限の決定方法を説明するための図である。
【図５】第１実施形態におけるメイン処理のフローチャートである。
【図６】バッファ処理のフローチャートである。
【図７】データ送信処理のフローチャートである。
【図８】上限合意テーブル３０のデータ構成を示す図である。
【図９】第２実施形態における送信速度上限の決定方法を説明するための図である。
【図１０】第２実施形態におけるメイン処理のフローチャートである。
【図１１】変形例における速度上限テーブル２０のデータ構成を示す図である。
【発明を実施するための形態】
【００１８】
本発明を具体化した実施の形態について、図面を参照して説明する。参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、単なる説明例である。
【００１９】
図１〜図７を参照して、本発明の第一実施形態について説明する。図１を参照して、本発明に係るルータ１を含む通信システムの全体構成について説明する。この通信システムは、各拠点に設置されたルータ１および通信端末（図１の例では、ＰＣ２および複合機３）を含んでいる。各拠点では、ＰＣ２および複合機３が、それぞれルータ１にローカル接続されている。各拠点のルータ１は、インターネット９を介して相互に接続されている。したがって、自拠点に設置されたＰＣ２および複合機３は、自拠点のルータ１および他拠点のルータ１を介して、他拠点のＰＣ２および複合機３と通信を行うことができる。以下の説明では、自拠点のルータ１、ＰＣ２、複合機３について説明するが、他拠点のルータ１、ＰＣ２、複合機３についても、同様である。
【００２０】
ルータ１は、ＶＰＮ機能や電話機能などを備えたＶＯＩＰルータである。ＰＣ２は、汎用のパーソナル・コンピュータであり、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ等を備える。ＰＣ２のＨＤＤには、自拠点のルータ１の通信設定を行うためのプログラムが記憶されている。複合機３は、公知の複合機と同様の構成であり、ＦＡＸ、プリンタ、アナログ電話などの機能を有する。
【００２１】
本実施形態では、各拠点のルータ１間にＶＰＮの通信路を設定することで、各拠点のルータ１を結ぶＶＰＮセッションを確立する。これにより、各拠点のユーザはＰＣ２を使用して、セキュリティ性の高い通信を行うことができる。また、各拠点のルータ１の電話機能によって、各拠点のユーザは複合機３を用いてアナログ電話による音声通話を行うことができる。
【００２２】
図２を参照して、ルータ１の電気的構成について説明する。ルータ１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、フラッシュメモリ１４、表示部１５、アナログ電話インタフェイス１６、イーサネット（登録商標）スイッチ１７を備え、これらの構成がバスを介して電気的に接続されている。アナログ電話インタフェイス１６は、アナログ電話（本実施形態では、複合機３）と接続するための通信インタフェイスである。イーサネット（登録商標）スイッチ１７は、ＰＣ２およびインターネット９と接続するための通信インタフェイスである。
【００２３】
ＲＯＭ１２には、ルータ１に接続された自拠点の通信端末と、インターネット９を介して接続された他拠点の通信端末との通信制御を実行するための通信制御プログラムが記憶されている。さらに、ＲＯＭ１２には、通信制御以外のサービスを実行するためのアプリケーションプログラムが記憶されている。ルータ１では、通信制御プログラムによる通信制御と、アプリケーションプログラムによるサービス提供制御（以下、アプリケーション制御という）とを並行して実行することができる。
【００２４】
本実施形態では、インターネット９を介してアナログ電話で音声通話を実行する電話制御アプリケーションが、ＲＯＭ１２に記憶されている。電話制御アプリケーションは、ルータ１に接続された自拠点のアナログ電話から入力されるアナログ音声をデジタル信号に変換して、インターネット９を介して他拠点のアナログ電話に向けて送信する。また、インターネット９を介して他拠点のアナログ電話から受信したデジタル信号をアナログ音声に変換して、自拠点のアナログ電話に出力する。このアナログ電話制御によって、従来のアナログ電話を使用して、インターネット９を介した音声通話を実現することができる。
【００２５】
ＲＡＭ１３には、自拠点の通信端末から受信した他拠点の通信端末宛てのデータを一時的に記憶する送信バッファ（図示外）と、他拠点の通信端末から受信した自拠点の通信端末宛てのデータを一時的に記憶する受信バッファ（図示外）とが設けられている。送信バッファおよび受信バッファは、所定のデータ量まで一時的に記憶することができる。
【００２６】
フラッシュメモリ１４には、ＶＰＮの通信路毎に、通信先となる他拠点のルータ１のアドレス情報を記憶する通信制御テーブル（図示外）が記憶されている。通信制御テーブル（図示外）に登録されている他拠点のルータ１との間で、１つの通信路が形成される。ルータ１は、通信制御テーブル（図示外）に記憶されているアドレス情報に基づいて、他拠点のルータ１とＶＰＮ通信を実行する。さらに、フラッシュメモリ１４には、後述の速度上限テーブル２０（図３参照）が記憶されている。
【００２７】
図３および図４を参照して、速度上限テーブル２０について説明する。図３に示すように、速度上限テーブル２０には、ルータ１に設定されているＶＰＮの通信路の数量（通信路数）に応じて、各通信路における送信速度上限が定義されている。送信速度上限は、少なくともアプリケーション制御に必要なＣＰＵ１１の処理能力が確保される送信速度の上限値である。本実施形態では、ルータ１に設定されている通信路数に関係なく、アナログ電話制御に必要なＣＰＵ１１の処理能力が確保されるような送信速度上限が、速度上限テーブル２０に設定されている。
【００２８】
ルータ１の通信速度上限（本実施形態では、１００Ｍｂｐｓ）は一定であるが、通信路単位での通信速度上限は通信路数に応じて変化する。例えば、通信路数が「１」である場合、その通信路の通信速度上限は、ルータ１の通信速度上限と一致する。また、通信路では送信データと受信データの両方が通信されるため、通信路における送信速度上限および受信速度上限の合計値は、ルータ１の通信速度上限を超えない値である必要がある。本実施形態では、ルータ１の通信速度上限が送信速度上限と受信速度上限とに均等に割り振られる。そのため、速度上限テーブル２０には、通信路数「１」に対応する通信路単位の送信速度上限に「５０Ｍｂｐｓ」が定義されている。
【００２９】
一方、通信路数が複数である場合、各通信路でデータが送受信されるため、各通信路の通信速度上限の合計値は、ルータ１の通信速度上限を超えない値である必要がある。本実施形態では、ルータ１の通信速度上限が各通信路の通信速度上限に均等に割り振られるため、通信路数が増加するのに伴って通信路単位の通信速度上限（ひいては、送信速度上限）が小さくなる。そのため、速度上限テーブル２０には、通信路数が増加するのに伴って送信速度上限が小さくなるように定義されている。
【００３０】
例えば、図４に示すように、通信路数が「２」である場合、各通信路の通信速度上限は「５０Ｍｂｐｓ」となる。通信路毎に送信データと受信データの両方が通信されるため、各通信路における送信速度上限は「２５Ｍｂｐｓ」となる。したがって、速度上限テーブル２０には、通信路数「２」に対応する通信路単位の送信速度上限に「２５Ｍｂｐｓ」が定義されている。
【００３１】
図５〜図７を参照して、第一実施形態において、ルータ１でそれぞれ実行される通信制御のうち、先述した通信路の設定に関する処理について説明する。図５〜図７に示す処理は、ＲＯＭ１２に記憶されている通信制御プログラムに基づいて、ＣＰＵ１１によって並列的に実行される。
【００３２】
図５を参照して、ルータ１で実行されるメイン処理について説明する。メイン処理では、まず通知ありか否かが判断される（Ｓ１）。例えば、イーサネット（登録商標）スイッチ１７が、ルータ１に対する通知信号を受信した場合、通知ありと判断される（Ｓ１：ＹＥＳ）。この場合、受信した通知信号が、通信路設定通知であるか否かが判断される（Ｓ３）。通信路設定通知は、自拠点の通信端末から送信される、ＶＰＮセッションの確立（すなわち、通信路の設定）を要求する信号であり、ＶＰＮセッションの確立先となる他拠点のルータ１を示す情報を含む。
【００３３】
本実施形態では、自拠点のＰＣ２において、通信設定を行うためのプログラムが起動されると、ルータ１の通信設定を行うための設定用画面（インターフェイス）が表示される。設定用画面でＶＰＮセッションの確立先となる他拠点のルータ１が指定されると、通信路設定通知がＰＣ２に接続されているルータ１に送信される。なお、設定用画面では、ＶＰＮセッションの確立先である他拠点のルータ１を複数指定することができる。
【００３４】
通知信号が通信路設定通知である場合（Ｓ３：ＹＥＳ）、通信路の設定が実行される（Ｓ５）。ステップＳ５では、通信路設定通知が指示するＶＰＮセッションの確立先に基づいて、通信路を設定する必要がある他のルータ１が特定される。特定された他のルータ１のアドレス情報が、通信制御テーブル（図示外）に登録される。ステップＳ５の実行後、送信速度上限が決定される（Ｓ７）。ステップＳ７では、ステップＳ５で特定された他のルータ１の数量（つまり、通信路数）に対応する送信速度上限が、速度上限テーブル２０（図３参照）に基づいて決定される。ステップＳ７で決定された送信速度上限は、ＲＡＭ１３の所定記憶エリアにセットされる。
【００３５】
ステップＳ７の実行後、通信路設定が有効化される（Ｓ９）。つまり、ステップＳ５で通信制御テーブル（図示外）に設定された通信路が、ルータ１の通信制御に反映される。詳細には、ルータ１は、自拠点のＰＣ２から他拠点のＰＣ２宛てのデータを受信した場合、他拠点のＰＣ２が接続されている他のルータ１に、受信データをＶＰＮ通信で送信する。一方、ルータ１は、他のルータ１から自拠点のＰＣ２宛てのデータをＶＰＮ通信で受信して、自拠点のＰＣ２に送信する。
【００３６】
通知信号が通信路設定通知でない場合（Ｓ３：ＮＯ）、通知信号に応じたその他の処理が実行される（Ｓ１１）。通知がない場合（Ｓ１：ＮＯ）、あるいは、ステップＳ９またはＳ１１の実行後、処理はステップＳ１に戻る。
【００３７】
図６を参照して、ルータ１で実行されるバッファ処理について説明する。バッファ処理では、まずデータ送信要求ありか否かが判断される（Ｓ３１）。具体的には、自拠点のＰＣ２から他拠点のＰＣ２宛てのデータを受信した場合、データ送信要求ありと判断される（Ｓ３１：ＹＥＳ）。この場合、ＲＡＭ１３の送信バッファ（図示外）に空きありか否かが判断される（Ｓ３３）。ステップＳ３１で受信されたデータ量が、送信バッファの空き容量以下である場合、送信バッファに空きありと判断される（Ｓ３３：ＹＥＳ）。この場合、ステップＳ３１で受信されたデータが、送信バッファ（図示外）に書き込まれる（Ｓ３５）。一方、送信バッファに空きがない場合（Ｓ３３：ＮＯ）、ステップＳ３１で受信されたデータが破棄される（Ｓ３７）。データ送信要求がない場合（Ｓ３１：ＮＯ）、あるいは、ステップＳ３５またはＳ３７の実行後、処理はステップＳ３１に戻る。
【００３８】
図７を参照して、ルータ１で実行されるデータ送信処理について説明する。データ送信処理では、まずＲＡＭ１３の送信バッファ（図示外）にデータありか否かが判断される（Ｓ５１）。送信バッファ（図示外）にデータがある場合（Ｓ５１：ＹＥＳ）、ＲＡＭ３１にセットされている送信速度上限が読み出される（Ｓ５３）。そして、送信バッファ（図示外）に記憶されているデータが、ステップＳ５３で読み出された送信速度上限内で送信可能であるか否かが判断される（Ｓ５５）。ステップＳ５５では、公知のトークンバケツフィルタアルゴリズムによって、送信速度上限内で送信可能であるか否かが判断されればよい。
【００３９】
送信速度上限内で送信可能であると判断された場合（Ｓ５５：ＹＥＳ）、送信バッファ（図示外）に記憶されているデータが、先述のデータ送信要求に示される通信端末（本実施形態では、他拠点のＰＣ２）に送信される（Ｓ５７）。ステップＳ５７で送信されたデータが送信バッファ（図示外）から削除される（Ｓ５９）。ステップＳ５７の実行後、または送信バッファ（図示外）にデータがない場合（Ｓ５１：ＮＯ）、あるいは送信速度上限内で送信可能でない場合（Ｓ５５：ＮＯ）、処理はステップＳ５１に戻る。
【００４０】
以上説明したように、第一実施形態に係るルータ１では、通信路設定通知に応じて通信路が設定され、通信路の数量に基づいて通信路単位の送信速度上限が決定される。各通信路では、決定された送信速度上限を超えない送信速度で通信制御が実行される。送信速度上限は、アナログ電話制御に必要なＣＰＵ１１の処理能力が確保される送信速度が決定される。したがって、通信路の数量が増加しても、アナログ電話制御に必要なＣＰＵ１１の処理能力が確保される。ひいては、ＶＰＮ通信が実行される場合でも、アナログ電話アプリケーションを安定動作させて、アナログ電話の通話品質を確保することができる。
【００４１】
図８〜図１０を参照して、本発明の第二実施形態について説明する。第一実施形態に係るルータ１は、自端末のみで最適な送信速度上限を決定したのに対し、第二実施形態に係るルータ１は、他のルータ１との間で最適な送信速度上限を合意決定する点で異なる。この相違点に関連する処理および構成以外は、例えば通信システムおよびルータ１の構成等は、第一の実施形態と同じである。従って、第一の実施形態と同一の構成については、同一の番号を付して説明を省略する。
【００４２】
本実施形態では、フラッシュメモリ１４に、通信制御テーブル（図示外）および速度上限テーブル２０（図３参照）に加えて、上限合意テーブル３０が記憶されている。図８および図９を参照して、上限合意テーブル３０について説明する。図８に示すように、上限合意テーブル３０には、各通信路の送信速度上限が設定されている。ただし、ルータ１に設定されていない通信路（図８の例では、通信路３、４）には「未接続」が設定されている。
【００４３】
ルータ１に設定される各通信路の送信速度上限は、ルータ１に固有の通信速度上限や、ルータ１に設定されている通信路数などに応じて変化する。図９に示す例では、通信速度上限が等しい５つのルータ１（ルータ「Ａ」〜「Ｅ」とする。）が設けられている。ルータ「Ａ」およびルータ「Ｂ」は通信路「１」で接続され、ルータ「Ａ」およびルータ「Ｃ」は通信路「２」で接続されている。さらに、ルータ「Ｂ」は、ルータ「Ｄ」およびルータ「Ｅ」とも通信路で接続されている。以下の説明では、ルータ「Ａ」を自拠点のルータ１とし、ルータ「Ａ」〜「Ｅ」の通信速度上限は「１００Ｍｂｐｓ」とする。
【００４４】
速度上限テーブル２０（図３参照）によれば、ルータ「Ａ」には２つの通信路が設定されているため、通信路単位の送信速度上限は「２５Ｍｂｐｓ」となる。ルータ「Ｂ」には３つの通信路が設定されているため、通信路単位の送信速度上限は「１６．６Ｍｂｐｓ」となる。ルータ「Ｃ」には１つの通信路が設定されているため、通信路単位の送信速度上限は「５０Ｍｂｐｓ」となる。つまり、通信路に接続されているルータ１間で送信速度上限が異なっている。
【００４５】
本実施形態では、ルータ１の送信速度上限と受信速度上限は等しい。そのため、通信路における送信速度上限がルータ１ごとに異なる場合、通信路に接続されているルータ１のうちの一方が、受信データを十分に処理できずに遅延やエラーを生じるおそれがある。図９に示す通信路「１」では、ルータ「Ａ」の送信速度上限「２５Ｍｂｐｓ」は、ルータ「Ｂ」の送信速度上限「１６．６Ｍｂｐｓ」よりも大きい。そのため、通信路「１」において、ルータ「Ａ」からルータ「Ｂ」に「２５Ｍｂｐｓ」でデータ送信された場合、送信速度がルータ「Ｂ」の受信速度上限「１６．６Ｍｂｐｓ」を超えるため、ルータ「Ｂ」で処理遅延等が生じるおそれがある。
【００４６】
よって、通信路に接続されているルータ１間で送信速度上限が異なっている場合には、通信路の送信速度上限は、各ルータ１の送信速度上限のうちで小さいほうであることが好ましい。具体的に、図９に示す通信路「１」では、送信速度上限は「１６．６Ｍｂｐｓ」であることが好ましい。これにより、通信路に接続されているルータ１は、いずれも受信データを十分に処理することができる。上限合意テーブル３０（図８）は、このような最適な送信速度上限を、後述の処理によって決定する際に用いられるテーブルである。
【００４７】
図１０を参照して、第二実施形態において、ルータ１でそれぞれ実行される通信制御のうち、先述した通信路の設定に関する処理について説明する。第二実施形態では、ルータ１のメイン処理の詳細が、第一実施形態（図５参照）と異なる。
【００４８】
図１０に示すように、第二実施形態のメイン処理について説明する。まず、ステップＳ１〜Ｓ７と同様に、通知ありか否かが判断され（Ｓ１０１）、通信路設定通知であるか否かが判断され（Ｓ１０３）、通信路が設定され（Ｓ１０５）、送信速度上限が決定される（Ｓ１０７）。ただし、ステップＳ１０７で決定された送信速度上限を、値Ｄとする。上限合意テーブル３０（図８）では、ルータ１に設定されている全ての通信路の送信速度上限が、ステップＳ１０７で決定された値Ｄに設定される。
【００４９】
ステップＳ１０７の実行後、値Ｄを示す上限通知が全接続先に送信される（Ｓ１０９）。すなわち、通信情報テーブル（図示外）に登録されている全てのルータ１に対して、値Ｄを示す上限通知が送信される。上限通知は、通知元のルータ１で決定された、通知先のルータ１との間で設定された通信路の送信速度上限を示す通知信号である。ステップＳ１０９の実行後、ステップＳ９と同様に、通信路設定が有効化される（Ｓ１１１）。
【００５０】
図９に示す例では、先述のように、ルータ「Ａ」における通信路単位の送信速度上限は、「２５Ｍｂｐｓ」である。よって、通信路「１」、「２」の送信速度上限として、「２５Ｍｂｐｓ」が上限合意テーブル３０に設定される（Ｓ１０５、Ｓ１０７）。値Ｄ「２５Ｍｂｐｓ」を示す上限通知が、ルータ「Ｂ」、「Ｃ」に送信される（Ｓ１０９）。通信路設定が有効化されると（Ｓ１１１）、通信路「１」、「２」では、送信速度上限「２５Ｍｂｐｓ」でＶＰＮ通信を実行可能となる。
【００５１】
図１０に戻る。通知信号が通信路設定通知でない場合（Ｓ１０３：ＮＯ）、通知信号が上限通知であるか否かが判断される（Ｓ１１３）。通知信号が上限通知である場合（Ｓ１１３：ＹＥＳ）、通知元のルータ１に対して設定されている通信路の送信速度上限が、上限合意テーブル３０から読み出される（Ｓ１１５）。Ｓ１１３の上限通知が示す送信速度上限を、値Ａとする。ステップＳ１１５で読み出された送信速度上限を、値Ｂとする。値Ａが値Ｂよりも大きいか否かが判断される（Ｓ１１７）。値Ａが値Ｂよりも大きい場合（Ｓ１１７：ＹＥＳ）、値Ｂを示す上限通知が、通知元のルータ１に送信される（Ｓ１１９）。値Ａが値Ｂ以下である場合（Ｓ１１７：ＮＯ）、上限合意テーブル３０において、通知元のルータ１に対して設定されている通信路の送信速度上限に、値Ａが設定される（Ｓ１２１）。
【００５２】
図９に示す例では、ルータ「Ｂ」では、ルータ「Ａ」から上限通知を受信すると、上限合意テーブル３０から通信路「１」の送信速度上限（値Ｂ）「１６．６Ｍｂｐｓ」が読み出される（Ｓ１１３：ＹＥＳ、Ｓ１１５）。上限通知が示す値Ａ「２５Ｍｂｐｓ」は値Ｂ「１６．６Ｍｂｐｓ」よりも大きいため、値Ｂ「１６．６Ｍｂｐｓ」を示す上限通知がルータ「Ａ」に送信される（Ｓ１１７：ＹＥＳ、Ｓ１１９）。一方、ルータ「Ａ」では、ルータ「Ｂ」から上限通知を受信すると、上限合意テーブル３０から通信路「１」の送信速度上限（値Ｂ）「２５Ｍｂｐｓ」が読み出される（Ｓ１１３：ＹＥＳ、Ｓ１１５）。上限通知が示す値Ａ「１６．６Ｍｂｐｓ」は値Ｂ「２５Ｍｂｐｓ」以下であるため、上限合意テーブル３０において通信路「１」の送信速度上限に値Ａ「１６．６Ｍｂｐｓ」が設定される（Ｓ１１７：ＮＯ、Ｓ１２１）。これにより、ルータ「Ａ」、「Ｂ」では、いずれも通信路「１」の送信速度上限が「１６．６Ｍｂｐｓ」に設定される。
【００５３】
ルータ「Ｃ」では、ルータ「Ａ」から上限通知を受信すると、上限合意テーブル３０から通信路「２」の送信速度上限（値Ｂ）「５０Ｍｂｐｓ」が読み出される（Ｓ１１３：ＹＥＳ、Ｓ１１５）。上限通知が示す値Ａ「２５Ｍｂｐｓ」は値Ｂ「５０Ｍｂｐｓ」以下であるため、上限合意テーブル３０において通信路「１」の送信速度上限に値Ａ「２５Ｍｂｐｓ」が設定される（Ｓ１１７：ＮＯ、Ｓ１２１）。これにより、ルータ「Ａ」、「Ｃ」では、いずれも通信路「２」の送信速度上限が「２５Ｍｂｐｓ」に設定される。
【００５４】
図１０に戻る。通知信号が上限通知でない場合（Ｓ１１３：ＮＯ）、通知信号に応じたその他の処理が実行される（Ｓ１２３）。通知がない場合（Ｓ１０１：ＮＯ）、または、ステップＳ１１１、Ｓ１１９、Ｓ１２１、Ｓ１２３のいずれかの実行後、処理はステップＳ１０１に戻る。
【００５５】
第二実施形態におけるバッファ処理およびデータ処理は、第一実施形態（図６、図７）と同様である。ただし、本実施形態では、ステップＳ５３において、上限合意テーブル３０に設定されている全ての送信速度上限のうちで最も小さい送信速度上限が読み出される。そして、ルータ１に設定されている全ての通信路について、ステップＳ５３で読み出された送信速度上限を共通に用いて、送信速度内で送信可能であるか否かが判断される（Ｓ５５）。よって、ステップＳ５７において、ルータ１に設定されているいずれの通信路でデータ送信される場合でも、そのデータ送信速度はステップＳ５３で読み出された送信速度上限以下となる。例えば、図８に示す上限合意テーブル３０の例では、ステップＳ５３で最も小さい送信速度上限「１６．６Ｍｂｐｓ」が読み出される（Ｓ５３）。そして、通信路「１」「２」のいずれにデータ送信を行う場合でも、そのデータ送信速度は「１６．６Ｍｂｐｓ」以下である（Ｓ５５、Ｓ５７）。
【００５６】
以上説明したように、第二実施形態に係るルータ１では、第一実施形態と同様に、アナログ電話制御に必要なＣＰＵ１１の処理能力が確保される送信速度上限が決定される。したがって、ＶＰＮ通信が実行される場合でも、アナログ電話アプリケーションを安定動作させて、アナログ電話の通話品質を確保することができる。さらに、ルータ１で決定された送信速度上限と、通信路が設定された他のルータ１で決定された送信速度上限のうちで小さいものが、通信路の送信速度上限として適用される。したがって、通信路が設定された各ルータ１のＣＰＵ１１の処理能力が異なる場合でも、各ルータ１でアナログ電話制御に必要なＣＰＵ１１の処理能力を確保することができる。
【００５７】
特に、ルータ１に複数の通信路が設定されている場合には、ルータ１で決定された送信速度上限と、複数の通信路にそれぞれ設定された他のルータ１で決定された送信速度上限のうちで最も小さいものが、通信路の送信速度上限として適用される。したがって、複数の通信路に対して一つの送信速度上限のみが設定されるので、通信路に応じて異なる送信速度上限を適用する必要がなく、データ通信に関する処理負担を軽減することができる。
【００５８】
上記実施形態において、ステップＳ５、Ｓ１０５を実行するＣＰＵ１１が、本発明の「通信路設定手段」に相当する。ステップＳ７、Ｓ１０７を実行するＣＰＵ１１が、本発明の「速度上限決定手段」に相当する。データ送信処理（図７）を実行するＣＰＵ１１が、本発明の「通信制御手段」に相当する。ステップＳ１０９、Ｓ１１９を実行するＣＰＵ１１が、本発明の「速度上限送信手段」に相当する。ステップＳ１１３を実行するＣＰＵ１１が、本発明の「速度上限受信手段」に相当する。ステップＳ１１７〜Ｓ１２１を実行するＣＰＵ１１が、本発明の「速度上限選択手段」に相当する。ステップＳ５、Ｓ１０５が、本発明の「通信路設定ステップ」に相当する。ステップＳ７、Ｓ１０７が、本発明の「速度上限決定ステップ」に相当する。データ送信処理（図７）が、本発明の「通信制御ステップ」に相当する。
【００５９】
なお、本発明は上記実施形態に限定されるものではなく、発明の要旨を変更しない範囲での変更が可能である。例えば、速度上限テーブル２０のデータ構成は、図３に例示するものに限定されない。一例として、図１１に示す速度上限テーブル２０では、ルータ１に設定される通信路数が大きいほど、全ての通信路の通信速度上限の総計が小さくなるように、通信路単位の送信速度上限が設定されている。この場合、通信路数が大きいほどＣＰＵ１１の処理負担が大きくなる現象（いわゆる、オーバーヘッド）を考慮して、より最適な送信速度上限を決定することができる。
【００６０】
また、上記実施形態では、ルータ１が実行可能なアプリケーション制御として、アナログ電話機能を例示した。これに代えて、ファックス機能や音声伝言機能などを、ルータ１が実行可能なアプリケーション制御としてもよい。そして、ルータ１に設定されている通信路数に関係なく、サービス品質を確保したいアプリケーション制御に必要なＣＰＵ１１の処理能力が確保されるような送信速度上限が、上記のように決定されればよい。さらに、上記実施形態では、ルータ１の通信制御および他のアプリケーション制御をプログラム（つまり、ソフトウエア）で実行している。これに代えて、通信制御および他のアプリケーション制御をマイコン等（つまり、ハードウエア）で実行してもよい。
【００６１】
また、第二実施形態では、ルータ１に複数の通信路が設定されている場合には、ルータ１で決定された送信速度上限と、複数の通信路にそれぞれ設定された他のルータ１で決定された送信速度上限のうちで最も小さいものが、通信路の送信速度上限として適用される。これに代えて、ルータ１に複数の通信路が設定されている場合に、各通信路について、その通信路に設定されたルータ１で決定された送信速度上限のうちでそれぞれ最も小さいものを、その通信路に固有の送信速度上限として適用してもよい。
【符号の説明】
【００６２】
１    ルータ
２    ＰＣ
３    複合機
９    インターネット
１１    ＣＰＵ
１２    ＲＯＭ
１３    ＲＡＭ
１４    フラッシュメモリ
１６    アナログ電話インタフェイス
１７    イーサネット（登録商標）スイッチ
２０    速度上限テーブル
２４    フラッシュメモリ
３０    上限合意テーブル
【図１】
0005408167.tif 000002
【図２】
0005408167.tif 000003
【図３】
0005408167.tif 000004
【図４】
0005408167.tif 000005
【図５】
0005408167.tif 000006
【図６】
0005408167.tif 000007
【図７】
0005408167.tif 000008
【図８】
0005408167.tif 000009
【図９】
0005408167.tif 000010
【図１０】
0005408167.tif 000011
【図１１】
0005408167.tif 000012