(57)【要約】【課題】通信特性が異なる複数の無線通信手段を状況に応じて自動的に選択して無線通信を行う。【解決手段】ルータ２０は、外部ネットワークとの無線通信を行う、通信特性が異なる複数のデータ通信カードＭＯ１〜ＭＯｎと接続可能なＵＳＢインタフェース５５と、ＵＳＢインタフェース５５にデータ通信カードＭＯ１〜ＭＯｎが通信可能に接続された状態で、新たなセッションによって外部ネットワークと通信を行う際に、該データ通信カードＭＯ１〜ＭＯｎのうちの１つを、予め定められた通信条件に基づいて選択する選択手段と、選択したモデムを用いて、新たなセッションによる外部ネットワークとの通信を行う通信手段とを備える。【選択図】図３
2011171821.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
外部ネットワークとの無線通信を行うモデムであって、通信に関する諸特性が異なる複数のモデムと接続可能な接続手段と、
前記接続手段に前記複数のモデムが通信可能に接続された状態で、新たなセッションによって外部ネットワークと通信を行う際に、予め定められた通信条件に基づいて該複数のモデムのうちの１つを選択する選択手段と、
前記選択したモデムを用いて、前記新たなセッションによる外部ネットワークとの無線通信を行う通信手段と
を備えた通信装置。
【請求項２】
前記通信条件は、前記通信手段が前記外部ネットワークに向けて送信するパケットに含まれる情報に応じて定められた規定に基づいて前記モデムを選択する条件を含む請求項１記載の通信装置。
【請求項３】
請求項１または請求項２記載の通信装置であって、
更に、前記複数のモデムの各々における通信負荷の状況を判断する判断手段を備え、
前記通信条件は、前記各々のモデムにおける通信負荷が分散化されるように前記モデムを選択する条件を含む
通信装置。
【請求項４】
請求項１ないし請求項３のいずれか記載の通信装置であって、
更に、前記複数のモデムの各々に対応するキャリアの基地局から送信される電波の電界強度を検出する検出手段を備え、
前記通信条件は、前記電界強度が相対的に強い前記モデムを選択する条件を含む
通信装置。
【請求項５】
請求項１ないし請求項４のいずれか記載の通信装置であって、
前記通信条件は、２種類以上の通信条件のうちから１種類の通信条件を選択可能に構成され、
１つのセッションにおける、前記外部ネットワークとの間で予定される通信量が把握できる場合に、前記選択手段は、該通信量に応じて前記通信条件を変更して、前記モデムを選択し直す
通信装置。
【請求項６】
請求項３記載の通信装置であって、
前記判断手段は、
前記通信手段の外部ネットワークとの通信における上り速度と下り速度とを把握し、該把握した上り速度と下り速度とのうちの少なくとも一方に基づいて前記通信負荷の状況を判断するものであり、
前記外部ネットワークと通信を行うパケットに含まれる情報に応じて、前記通信負荷の状況の判断における、前記上り速度及び前記下り速度の各々の寄与度を変化させる
通信装置。
【請求項７】
外部ネットワークとの無線通信を行うモデムであって、通信特性が異なる複数のモデムが通信可能に接続された通信装置が、該外部ネットワークと通信を行う通信方法であって、
新たなセッションによって外部ネットワークと通信を行う際に、該複数のモデムのうちの１つを、予め定められた通信条件に基づいて選択し、
前記選択したモデムを用いて、前記新たなセッションによる外部ネットワークとの通信を行う
通信方法。
【請求項８】
外部ネットワークとの無線通信を行うモデムであって、通信特性が異なる複数のモデムが通信可能に接続された通信装置が、該外部ネットワークと通信を行うためのプログラムであって、
新たなセッションによって外部ネットワークと通信を行う際に、該複数のモデムのうちの１つを、予め定められた通信条件に基づいて選択する機能と、
前記選択したモデムを用いて、前記新たなセッションによる外部ネットワークとの通信を行う機能と
をコンピュータに実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部ネットワークとの無線通信を行う通信技術に関する。
【背景技術】
【０００２】
近年、インターネットにアクセス可能な移動体通信網がキャリア（移動体通信事業者）によって提供されており、パーソナルコンピュータやルータなどの電子機器にデータ通信カードを接続すれば、どこででもインターネットなどの外部ネットワークに接続が可能となっている。こうしたデータ通信カードは、１つの電子機器に同時に複数接続することも可能であるが、複数のデータ通信カードが通信可能に接続された状態では、いずれのデータ通信カードを用いて、外部ネットワークと通信を行うかを、状況に応じてその都度設定する必要があった。かかる問題は、データ通信カードでの通信に限らず、複数の無線通信手段によって無線通信が可能な場合に共通するものであった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−６０５９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の問題の少なくとも一部を考慮し、本発明が解決しようとする課題は、通信特性が異なる複数の無線通信手段を状況に応じて自動的に選択して無線通信を行うことである。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００６】
［適用例１］通信装置であって、
外部ネットワークとの無線通信を行うモデムであって、通信に関する諸特性が異なる複数のモデムと接続可能な接続手段と、
前記接続手段に前記複数のモデムが通信可能に接続された状態で、新たなセッションによって外部ネットワークと通信を行う際に、予め定められた通信条件に基づいて該複数のモデムのうちの１つを選択する選択手段と、
前記選択したモデムを用いて、前記新たなセッションによる外部ネットワークとの無線通信を行う通信手段と
を備えた通信装置。
【０００７】
かかる構成の通信装置は、新たなセッションによって外部ネットワークと通信を行う際に、通信可能に接続された、通信特性が異なる複数のモデムのうちの１つを、予め定められた通信条件に基づいて選択し、選択したモデムを用いて、新たなセッションによる外部ネットワークとの通信を行う。したがって、通信特性が異なる複数のモデムを、予め定められた通信条件に基づいて、状況に応じて自動的に選択して、無線通信を行うことができる。その結果、ユーザは、無線通信に使用するモデムを選択する操作をその都度行う必要がなくなり、利便性が向上する。
【０００８】
［適用例２］前記通信条件は、前記通信手段が前記外部ネットワークに向けて送信するパケットに含まれる情報に応じて定められた規定に基づいて前記モデムを選択する条件を含む適用例１記載の通信装置。
【０００９】
かかる構成の通信装置は、外部ネットワークに向けて送信するパケットに含まれる情報に応じて、モデムを自動選択することができる。したがって、パケットに含まれる種々の情報から導かれる通信の内容に対して好ましい通信条件のモデムを選択することができる。
【００１０】
［適用例３］適用例１または適用例２記載の通信装置であって、更に、前記複数のモデムの各々における通信負荷の状況を判断する判断手段を備え、前記通信条件は、前記各々のモデムにおける通信負荷が分散化されるように前記モデムを選択する条件を含む通信装置。
【００１１】
かかる構成の通信装置は、複数のモデムの各々における通信負荷の状況を判断し、各々のモデムにおける通信負荷が分散化されるようにモデムを選択することができる。したがって、通信装置全体としての通信速度を向上させるように、モデムを選択することができる。
【００１２】
［適用例４］適用例１ないし適用例３のいずれか記載の通信装置であって、更に、前記複数のモデムの各々に対応するキャリアの基地局から送信される電波の電界強度を検出する検出手段を備え、前記通信条件は、前記電界強度が相対的に強い前記モデムを選択する条件を含む通信装置。
【００１３】
かかる構成の通信装置は、基地局から送信される電波の電界強度を検出し、電界強度が相対的に強いモデムを自動選択することができる。したがって、安定的に通信が行えるように、モデムを選択することができる。
【００１４】
［適用例５］適用例１ないし適用例４のいずれか記載の通信装置であって、前記通信条件は、２種類以上の通信条件のうちから１種類の通信条件を選択可能に構成され、１つのセッションにおける、前記外部ネットワークとの間で予定される通信量が把握できる場合に、前記選択手段は、該通信量に応じて前記通信条件を変更して、前記モデムを選択し直す通信装置。
【００１５】
かかる構成の通信装置は、１つのセッションにおける、外部ネットワークとの間で予定される通信量に応じて通信条件を変更して、モデムを選択し直すので、通信量に応じてモデムを柔軟に切り替えて、通信量に適した通信を行うことができ、利便性が向上する。
【００１６】
［適用例６］適用例３記載の通信装置であって、前記判断手段は、前記通信手段の外部ネットワークとの通信における上り速度と下り速度とを把握し、該把握した上り速度と下り速度とのうちの少なくとも一方に基づいて前記通信負荷の状況を判断するものであり、前記外部ネットワークと通信を行うパケットに含まれる情報に応じて、前記通信負荷の状況の判断における、前記上り速度及び前記下り速度の各々の寄与度を変化させる通信装置。
【００１７】
かかる構成の通信装置は、外部ネットワークと通信を行うパケットに含まれる情報に応じて、通信負荷の状況の判断における、上り速度及び下り速度の各々の寄与度を変化させる。したがって、実際に行われる通信の上りまたは下りの方向に即した通信負荷の状況の判断を行うことができ、当該判断の精度を向上させることができる。
【００１８】
また、本発明は、上述した通信装置のほか、適用例７の通信方法、適用例８のプログラム、当該プログラムを記録した記憶媒体等としても実現することができる。
［適用例７］外部ネットワークとの無線通信を行うモデムであって、通信特性が異なる複数のモデムが通信可能に接続された通信装置が、該外部ネットワークと通信を行う通信方法であって、新たなセッションによって外部ネットワークと通信を行う際に、該複数のモデムのうちの１つを、予め定められた通信条件に基づいて選択し、前記選択したモデムを用いて、前記新たなセッションによる外部ネットワークとの通信を行う通信方法。
［適用例８］外部ネットワークとの無線通信を行うモデムであって、通信特性が異なる複数のモデムが通信可能に接続された通信装置が、該外部ネットワークと通信を行うためのプログラムであって、新たなセッションによって外部ネットワークと通信を行う際に、該複数のモデムのうちの１つを、予め定められた通信条件に基づいて選択する機能と、前記選択したモデムを用いて、前記新たなセッションによる外部ネットワークとの通信を行う機能とをコンピュータに実現させるプログラム。
【図面の簡単な説明】
【００１９】
【図１】本発明の通信装置の実施例としてのルータ２０の使用例を示す説明図である。
【図２】ルータ２０の概略構成を示す説明図である。
【図３】ルータ２０における接続先選択処理の流れを示すフローチャートである。
【図４】ルールＲ１に基づくモデム選択処理の流れを示すフローチャートである。
【図５】ルールＲ２に基づくモデム選択処理の流れを示すフローチャートである。
【図６】ルールＲ３に基づくモデム選択処理の流れを示すフローチャートである。
【図７】第２実施例としてのモデム選択処理の流れを示すフローチャートである。
【図８】第３実施例としてのルータ２０における接続先変更処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２０】
本発明の実施例について説明する。
Ａ．第１実施例：
Ａ−１．ルータ２０の概略構成：
図１は、本発明の通信装置の第１実施例としてのルータ２０の使用例を示している。ルータ２０は、無線ＬＡＮのアクセスポイントとしても機能するルータ装置である。本実施例では、ルータ２０は、図１に示すように、端末ＳＴＡ１，ＳＴＡ２とともに無線ＬＡＮを構築する。この無線ＬＡＮは、本実施例では、ＩＥＥＥ８０２．１１規格に準拠している。ただし、ルータ２０と端末ＳＴＡ１，ＳＴＡ２とは、有線で接続されていてもよい。また、ルータ２０と接続される端末は、単数であってもよいし、３台以上であってもよい。
【００２１】
かかるルータ２０には、Ｎ個（Ｎは、２以上の整数）のデータ通信カードＭＯ１〜ＭＯｎが接続されている。データ通信カードＭＯ１〜ＭＯｎは、キャリアが提供する移動体通信網を利用して無線通信を行うためのモデムを内蔵しており、通信特性が相互に異なるモデムを含んでいる。通信特性とは、例えば、キャリアや移動体通信網の種類、これらの種類やモデムの性能等に依存する通信速度、通信料金体系など、通信に関する種々の特性をいう。本実施例においては、データ通信カードＭＯ１〜ＭＯｎは、それぞれ、互いに異なるキャリアに対応している。ルータ２０は、このデータ通信カードＭＯ１〜ＭＯｎが実現する無線回線によって、データ通信カードＭＯ１〜ＭＯｎに対応するキャリアの基地局ＢＳ１〜ＢＳｎを介して、インターネットＩＮＴに接続可能に構成されている。かかる構成により、端末ＳＴＡ１，ＳＴＡ２は、ルータ２０を介して、インフラストラクチャーモードによる無線ＬＡＮ通信を行うほか、インターネットＩＮＴにアクセス可能となっている。なお、ルータ２０は、データ通信カードＭＯ１〜ＭＯｎを介して、外部ネットワークに通信可能に接続されていればよく、例えば、インターネットＩＮＴに代えて、他のＷＡＮ（Wide Area Network）に接続されていてもよい。
【００２２】
ルータ２０の概略構成を図２に示す。図示するように、ルータ２０は、ＣＰＵ３０、フラッシュＲＯＭ４０、ＲＯＭ５１、ＲＡＭ５２、有線ＬＡＮインタフェース５３、ＷＡＮインタフェース５４、Ｎ個のＵＳＢインタフェース５５、無線通信インタフェース５６を備え、それぞれがバスにより相互に接続されている。
【００２３】
ＣＰＵ３０は、フラッシュＲＯＭ４０やＲＯＭ５１に記憶されたファームウェア等のプログラムをＲＡＭ５２に展開して実行することで、ルータ２０の動作全般を制御する。また、ＣＰＵ３０は、当該プログラムを実行することで、選択部３１、通信部３２、判断部３３、検出部３４としても機能する。これらの各機能部の詳細については、後述する。
【００２４】
フラッシュＲＯＭ４０には、選択ルールリスト４１が記憶されている。選択ルールリスト４１には、端末ＳＴＡ１，ＳＴＡ２がインターネットＩＮＴに向けて送信したパケットをルータ２０が受信した際に、当該パケットをインターネットＩＮＴに向けて転送する際の通信条件が記録されている。この通信条件は、ルータ２０がデータ通信カードＭＯ１〜ＭＯｎのうちのいずれのデータ通信カードにパケットを転送するか、換言すれば、いずれのキャリアに接続してパケットを送信するか、を選択するための条件となるものであり、本実施例では、複数の通信条件が選択可能に選択ルールリスト４１として記録されている。こうした通信条件は、種々の内容で設定することが可能であるが、以下では、通信条件として、３つのルールＲ１〜Ｒ３が記録されているものとして説明する（詳細は後述）。ただし、通信条件の数は特に限定するものではなく、例えば、１つなどであってもよい。
【００２５】
ＷＡＮインタフェース５４は、固定回線によってインターネットＩＮＴなどの外部ネットワークに接続するためのインタフェースである。図１に示した使用例では、ＷＡＮインタフェース５４は使用されていないが、ルータ２０は、ＷＡＮインタフェース５４を介して、インターネットＩＮＴと接続されていてもよい。ＵＳＢインタフェース５５は、ホスト側のＵＳＢコネクタであり、種々のＵＳＢデバイスを接続可能である。ＵＳＢインタフェース５５は、本実施例では、上述の通り、Ｎ個のコネクタで構成される。このＵＳＢインタフェース５５には、図２に示すように、ＵＳＢコネクタを備えたデータ通信カードＭＯ１〜ＭＯｎが、接続可能最大数のＮ個まで接続されている。ただし、接続されるデータ通信カードの個数は、２以上であればよい。本実施例においては、ルータ２０には、ＷＥＢブラウザを介した端末ＳＴＡ１，ＳＴＡ２からの操作により、データ通信カードＭＯ１〜ＭＯｎに対応するキャリア名、電話番号、ＡＰＮ（Access Point Name）、ユーザ名、パスワードなどの接続情報が登録されており、既に接続設定がなされた状態である。つまり、データ通信カードＭＯ１〜ＭＯｎは、基地局ＢＳ１〜ＢＳｎを介した通信が可能な状態となっている。無線通信インタフェース５６には、電波を送信する送信機５７、電波を受信する受信機５８が接続されている。この送信機５７及び受信機５８は、外部への電波の送信や外部からの電波の受信が可能な状態で、ルータ２０に内蔵されている。
【００２６】
Ａ−２．接続先選択処理：
ルータ２０における接続先選択処理について図３を用いて説明する。本実施例における接続先選択処理とは、ルータ２０が、インターネットＩＮＴと通信を行う際に用いるデータ通信カードＭＯ１〜ＭＯｎを選択する処理である。本実施例においては、接続先選択処理は、端末ＳＴＡ１，ＳＴＡ２がインターネットＩＮＴに向けて送信したパケットをルータ２０が受信した際に開始され、その後、新たなパケットを受信するたびに繰り返し実行される。接続先選択処理が開始されると、図３に示すように、ルータ２０のＣＰＵ３０は、まず、受信したパケットが確立済みの通信（ここでは、ＴＣＰセッション）に係るものであるか否かを判断する（ステップＳ１１０）。確立済みのＴＣＰセッションに係るものであるか否かの判断は、ＴＣＰヘッダに含まれるＳＹＮフラグを参照することにより行うことができる。
【００２７】
その結果、受信したパケットが確立済みのＴＣＰセッションに係るものであれば（ステップＳ１１０：ＹＥＳ）、ＣＰＵ３０は、セッション確立済みのデータ通信カードＭＯｊ（ｊは、１以上Ｎ以下の整数）を選択する（ステップＳ１２０）。一方、受信したパケットが確立済みのＴＣＰセッションに係るものでなければ（ステップＳ１１０：ＮＯ）、ＣＰＵ３０は、ＰＰＰ（Point-to-Point Protocol）デバイス状態の確認を行う（ステップＳ１３０）。この処理は、データ通信カードＭＯ１〜ＭＯｎの各々について、ＩＳＰ（Internet Services Provider）とのＰＰＰセッションを確認して、接続可能なデータ通信カードを特定するものであり、確認の結果、未接続の状態であれば、所定回数だけ接続および認証を試行する。本実施例では、データ通信カードＭＯ１〜ＭＯｎが接続可能なデータ通信カードとして特定されたものとする。
【００２８】
ＰＰＰデバイス状態を確認すると、ＣＰＵ３０は、選択ルールリスト４１に記録されたルールＲ１〜Ｒ３のうちから、ルールＲｉ（ここでは、ｉは、１〜３のいずれかの整数）を取得する（ステップＳ１４０）。本実施例においては、ルールＲ１〜Ｒ３は、ユーザによって選択可能に構成されているので、ユーザが、ルータ２０が備えるＵＩ（User Interface）の操作や、端末ＳＴＡ１，ＳＴＡ２からのＷＥＢブラウザを介した操作によって、所望のルールＲｉを予め選択して、フラッシュＲＯＭ４０に記憶させておき、ＣＰＵ３０がその情報を読み込むことにより、ルールＲｉを取得するものとした。
【００２９】
ルールＲｉを取得すると、ＣＰＵ３０は、選択部３１の処理として、モデム選択処理を行う（ステップＳ１５０）。この処理は、取得したルールＲｉに従って、上記ステップＳ１３０で接続可能な状態が確認されたデータ通信カードＭＯ１〜ＭＯｎのうちから１つのデータ通信カードＭＯｊ（ｊは、１以上Ｎ以下の整数）を選択する処理である。本実施例で選択可能なルールＲｉは、ルールＲ１〜Ｒ３であり、これらの性質は、以下の通りである。なお、ルールＲ１〜Ｒ３のいずれかに従ってデータ通信カードＭＯｊを選択する具体的な処理の内容は後述する。
（１）ルールＲ１：データ通信カードＭＯ１〜ＭＯｎの各々における通信負荷が分散化されるようにデータ通信カードＭＯ１〜ＭＯｎを選択する条件
（２）ルールＲ２：インターネットＩＮＴに向けて送信するパケットに含まれる種々の情報に応じて定められた規定に基づいてデータ通信カードＭＯ１〜ＭＯｎを選択する条件
（３）ルールＲ３：基地局ＢＳ１〜ＢＳｎから送信される電波の電界強度が相対的に強いデータ通信カードＭＯ１〜ＭＯｎを選択する条件
【００３０】
データ通信カードＭＯｊを選択すると、ＣＰＵ３０は、通信部３２の処理として、受信したパケットをデータ通信カードＭＯｊに転送する（ステップＳ１６０）。こうして、接続先選択処理は終了となる。以降、端末ＳＴＡ１，ＳＴＡ２と、インターネットＩＮＴ上のサーバや端末との間でＴＣＰセッションが確立され、データ通信カードＭＯｊを介した所定の通信が行われる。
【００３１】
かかる構成のルータ２０は、新たなＴＣＰセッションによってインターネットＩＮＴと通信を行う際に、通信可能に接続された、通信特性が異なる複数のデータ通信カードＭＯ１〜ＭＯｎのうちの１つを、予め定められた通信条件であるルールＲ１〜Ｒ３のいずれかに基づいて選択し、選択したデータ通信カードＭＯｊを用いて、新たなセッションによるインターネットＩＮＴとの通信を行う。したがって、通信特性が異なる複数のデータ通信カードＭＯ１〜ＭＯｎを、予め定められた通信条件に基づいて、状況に応じて自動的に選択して、無線通信を行うことができる。その結果、ユーザは、使用するデータ通信カードＭＯ１〜ＭＯｎを選択する操作をその都度行う必要がなくなり、利便性が向上する。しかも、使用するデータ通信カードＭＯ１〜ＭＯｎが自動的に選択されるので、通信に用いるデータ通信カードＭＯ１〜ＭＯｎを頻繁に切り替えることも可能であり、経時的に変化する通信状況に好適に適応した通信を行うことができる。
【００３２】
ルールＲ１〜Ｒ３に基づいたモデム選択処理（上記ステップＳ１５０）について、それぞれ説明する。
Ａ−２−１．ルールＲ１に基づくモデム選択処理：
ルールＲ１に基づくモデム選択処理の流れを図４に示す。ルールＲ１とは、上述したように、データ通信カードＭＯ１〜ＭＯｎの各々における通信負荷が分散化されるようにデータ通信カードＭＯ１〜ＭＯｎを選択する条件である。この処理が開始されると、ＣＰＵ３０は、まず、データ通信カードＭＯ１〜ＭＯｎの最大送信速度Ｖｍａｘ１〜Ｖｍａｘｎを取得する（ステップＳ２１０）。最大送信速度Ｖｍａｘ１〜Ｖｍａｘｎとは、所定期間内におけるデータ通信カードＭＯ１〜ＭＯｎの各々のスループットの最大値である。なお、以下の説明では、データ通信カードＭＯ１〜ＭＯｎの最大送信速度Ｖｍａｘ１〜Ｖｍａｘｎを総称して、単に最大送信速度Ｖｍａｘともいう。本実施例においては、ＣＰＵ３０は、所定のタイミング、例えば、所定期間Ｔ１ごと（ここでは、Ｔ１＝１時間）に、データ通信カードＭＯ１〜ＭＯｎのぞれぞれの上りスループットと下りスループットとを測定して、上り値と下り値の平均値をＲＡＭ５２に記録しておき、これらの記録値のうちで、所定期間Ｔ２内（ここでは、Ｔ２＝３時間）の最大値を最大送信速度Ｖｍａｘとして、データ通信カードＭＯ１〜ＭＯｎごとに取得する構成とした。つまり、本実施例においては、Ｖｍａｘは、直近に３回測定したスループットのうちの最大値である。
【００３３】
具体的には、上りスループットは、テストモードとして、十分なサイズ（例えば、２メガバイト）のダミーデータを、予め定めた送信先（例えば、ルータ２０の製造メーカーが提供するインターネットＩＮＴ上のサーバ）のＵＲＬ（Uniform Resource Locator）に対して送信し、その際のスループットを測定することとした。なお、スループットの測定は、所定期間内に送信するパケット数をカウントすることにより算出するものとしたが、送信バッファの時間当たりの減少量から算出してもよい。また、下りスループットは、テストモードとして、予め定めた送信先のＵＲＬに対してダミーＨＴＴＰ要求を送信し、エンティティボディサイズが既知のＨＴＴＰ応答の受信に要した時間からスループットを測定することとした。
【００３４】
ただし、かかる最大送信速度Ｖｍａｘの測定は、必ずしもテストモードによる必要はない。例えば、スループットの測定のタイミングにおいて、ＲＡＭ５２に確保されたバッファに蓄積されたパケットデータが所定量以上である場合には、データ通信カードに対応する無線回線が最大限の負荷量で使用されていると判断して、テストモードによる送信または受信を省略して、その時点のスループットを測定してもよい。かかる構成とすれば、データ通信カードＭＯ１〜ＭＯｎ及び回線負荷を低減することができる。
【００３５】
このように最大送信速度Ｖｍａｘを取得すると、ＣＰＵ３０は、現在の送信速度Ｖ１〜Ｖｎを測定する（ステップＳ２２０）。送信速度Ｖ１〜Ｖｎとは、現在におけるデータ通信カードＭＯ１〜ＭＯｎの各々のスループットの値である。なお、以下の説明では、データ通信カードＭＯ１〜ＭＯｎの送信速度Ｖ１〜Ｖｎを総称して、単に送信速度Ｖともいう。本実施例では、送信速度Ｖは、最大送信速度Ｖｍａｘとの整合を図り、上りスループットと下りスループットとの平均値とした。
【００３６】
送信速度Ｖを測定すると、ＣＰＵ３０は、判断部３３の処理として、データ通信カードＭＯ１〜ＭＯｎごとに、次式（１）によって、余裕度Ｖｄ１〜Ｖｄｎを算出する（ステップＳ２３０）。
Ｖｄ＝Ｖｍａｘ−Ｖ・・・（１）
【００３７】
式（１）からも明らかなように、本実施例では、余裕度Ｖｄ１とは、最大送信速度Ｖｍａｘと送信速度Ｖとの差分値である。データ通信カードＭＯ１〜ＭＯｎの通信速度は、回線の混雑状況、パケットの転送経路など、種々の要因によって刻々と変化するものであるが、回線の混雑状況、パケットの転送経路などが変化すれば、直近の過去において実現された最大送信速度Ｖｍａｘまではスループットを実現できる可能性がある。つまり、通信負荷に未だ余裕を残している可能性がある。そこで、最大送信速度Ｖｍａｘと送信速度Ｖとの差分値を、データ通信カードの通信負荷の余裕度として見立てているのである。なお、余裕度Ｖｄ１は、最大送信速度Ｖｍａｘと送信速度Ｖとの乖離の程度を判断できるものであればよく、例えば、最大送信速度Ｖｍａｘと送信速度Ｖとの比であってもよい。
【００３８】
こうして、余裕度Ｖｄを算出すると、ＣＰＵ３０は、算出した余裕度Ｖｄのうちの最もその値が大きいデータ通信カードをデータ通信カードＭＯｊとして選択する（ステップＳ２４０）。
【００３９】
このように、ルールＲ１に基づいてデータ通信カードＭＯｊを選択するルータ２０は、複数のデータ通信カードＭＯ１〜ＭＯｎの各々における通信負荷の状況を判断し、各々のデータ通信カードＭＯ１〜ＭＯｎにおける通信負荷が分散化されるようにデータ通信カードＭＯ１〜ＭＯｎを選択することができる。したがって、ルータ２０全体としての通信速度を向上させるように、データ通信カードＭＯ１〜ＭＯｎを選択することができる。しかも、ルータ２０は、データ通信カードＭＯ１〜ＭＯｎごとに、所定期間内の最大送信速度Ｖｍａｘと、現在の送信速度Ｖとに基づいて余裕度Ｖｄを算出するので、データ通信カードＭＯ１〜ＭＯｎの通信特性が相互に異なっていても、好適に通信負荷の状況を判断することができる。
【００４０】
上述したモデム選択処理においては、上りスループットと下りスループットとの平均値を用いて、最大送信速度Ｖｍａｘ及び送信速度Ｖを算出したが、これらは、必ずしも平均値を用いる必要はなく、上りスループットと下りスループットとを所定の重み付けで加重平均した値を用いてもよい。もとより、上りスループットと下りスループットとのうちのいずれか一方を用いてもよい。また、このような上りスループットと下りスループットとの寄与度は、端末ＳＴＡ１，ＳＴＡ２から受信したパケットに含まれる情報に応じて変化させてもよい。例えば、ルータ２０が受信したパケットがＨＴＴＰ要求の場合、データのダウンロードが行われることが多いと考えられるので、下りスループットの重み付けを相対的に大きくしてもよい。あるいは、受信したパケットが電子メールに係るものであれば、送信時と受信時とで、当該パケットに含まれる送信元ポート番号が異なるので、ポート番号に応じて、上りと下りとの寄与度を変化させてもよい。具体的には、送信時であれば、上りスループットのみを用い、受信時であれば、下りスループットのみを用いる構成としてもよい。こうすれば、実際に行われる通信の上りまたは下りの方向に即した通信負荷の状況の判断を行うことができ、当該判断の精度を向上させることができる。
【００４１】
また、上述したモデム選択処理においては、直近に３回測定したスループットに基づいて最大送信速度Ｖｍａｘを求めたが、最大送信速度Ｖｍａｘの算定の基礎とする測定は、１回以上であればよい。測定回数や測定のタイミングは、できるだけ直近の通信状況を反映させることと、ネットワーク負荷とのバランスを考慮して適宜設定すればよい。
【００４２】
Ａ−２−２．ルールＲ２に基づくモデム選択処理：
ルールＲ２に基づくモデム選択処理の流れの一例を図５に示す。ルールＲ２とは、上述したように、インターネットＩＮＴに向けて送信するパケットに含まれる種々の情報に応じて定められる規定に基づいてデータ通信カードＭＯ１〜ＭＯｎを選択する条件である。このルールＲ２は、パケットに含まれる種々の情報、例えば、特定の送信元を表す情報、送信先を表す情報、ポート番号などと、その情報が含まれる際に選択されるべきデータ通信カードとを関連付けて、あるいは、これらの種々の情報と、その情報が含まれる際の選択基準とを関連付けて、ユーザや製造メーカーが選択ルールリスト４１として予め設定しておくものである。例えば、端末ＳＴＡ１，ＳＴＡ２において、インターネットＩＮＴを介してオンラインゲームを行う場合には、オンラインゲームを快適に楽しむために、応答性が要求される。例えば、シューティングゲームであれば、一般的に５０ｍｓｅｃ以下の応答性が必要であるといわれている。そこで、応答性に優れた既知のデータ通信カード、例えば、ＰＨＳ方式データ通信カードが利用される場合には、オンラインゲームに使用されるポート番号と、応答性に優れるデータ通信カードの識別情報（例えば、ＭＡＣアドレス）とを関連付けて設定しておけば、オンラインゲーム環境に適したデータ通信カードＭＯ１〜ＭＯｎを選択することができるのである。
【００４３】
具体的には、図５に示すモデム選択処理が開始されると、ＣＰＵ３０は、まず、受信したパケットのヘッダ情報を参照して、受信パケットに含まれる送信元ポート番号が選択ルールリスト４１に登録済みのものであるか否かを判断する（ステップＳ３１０）。その結果、ポート番号が登録済みのものであれば（ステップＳ３１０：ＹＥＳ）、ＣＰＵ３０は、選択ルールリスト４１において、ポート番号と関連付けられたデータ通信カードＭＯｊを選択する（ステップＳ３２０）。一方、ポート番号が登録済みのものでなければ（ステップＳ３１０：ＮＯ）、ＣＰＵ３０は、ランダムにデータ通信カードＭＯｊを選択する（ステップＳ３３０）。
【００４４】
このように、ルールＲ２に基づいてデータ通信カードＭＯｊを選択するルータ２０は、パケットに含まれる種々の情報から導かれる通信の内容に対して好ましい通信条件のデータ通信カードＭＯ１〜ＭＯｎを選択することができる。しかも、パケットに含まれる情報と関連付けられたデータ通信カードＭＯｊを選択するだけであるから、構成が簡単である。
【００４５】
上述の実施形態では、ポート番号に基づいてデータ通信カードＭＯｊを選択する構成について示したが、送信元を表す情報、例えば、ＭＡＣアドレスと、選択すべきデータ通信カードＭＯｊとを関連付けて選択ルールリスト４１に記録しておき、送信元を表す情報に基づいてデータ通信カードＭＯｊを選択してもよい。端末ＳＴＡ１，ＳＴＡ２の使用用途が特定の用途、例えば、ゲーム機としての使用に限られる場合には、このような構成であっても、同様の効果を奏するからである。あるいは、送信先を表す情報、例えば、ＵＲＬと、選択すべきデータ通信カードＭＯｊとを関連付けて選択ルールリスト４１に記録しておき、送信先を表す情報に基づいてデータ通信カードＭＯｊを選択してもよい。通常、オンラインゲームを行う場合には、ゲームに対応する特定のＵＲＬのサーバにアクセスするので、このような構成であっても同様の効果を奏するからである。なお、アクセスするサーバとやり取りするパケットには、ＵＲＬ情報は含まれないが、ＤＮＳ（Domain Name System）によって、ルータ２０に、ＵＲＬとＩＰアドレスとを対応付けたルーティングテーブルが作成されれば、パケットに含まれる送信先ＩＰアドレスから、選択ルールリスト４１に登録されたＵＲＬを特定することは容易である。
【００４６】
また、上述した実施形態では、パケットに含まれる種々の情報、例えば、特定の送信元を表す情報、送信先を表す情報、ポート番号などと、その情報が含まれる際に選択されるべきデータ通信カードとを関連付けて選択ルールリスト４１として予め設定する構成について示したが、これらの種々の情報と、その情報が含まれる際の選択基準とを関連付けて、選択ルールリスト４１として予め設定してもよい。例えば、特定のポート番号と、応答速度が速いデータ通信カードＭＯ１〜ＭＯｎを選択するという選択基準とを関連付けておき、特定のポート番号を含むパケットを受信した際には、上記ステップＳ３２０において、ｐｉｎｇコマンドなどを用いて、データ通信カードＭＯ１〜ＭＯｎのＲＴＴ（Round Trip Time）を検出し、ＲＴＴが最も速いデータ通信カードＭＯｊを選択してもよい。こうすれば、より正確にオンラインゲーム環境に適したデータ通信カードＭＯ１〜ＭＯｎを選択することができる。
【００４７】
あるいは、特定のポート番号と、通信負荷が分散されるようにデータ通信カードＭＯ１〜ＭＯｎを選択するという選択基準とを関連付けておき、特定のポート番号を含むパケットを受信した際には、上記ステップＳ３２０において、ルールＲ１に基づいて、データ通信カードＭＯｊを選択してもよい。この場合のポート番号は、例えば、通信量が多くなることが予想されるプロトコル、例えば、ＦＴＰ（File Transfer Protocol）やＲＴＳＰ（Real Time Streaming Protocol）などとすることができる。こうすれば、通信量の負荷を好適に分散することができる。あるいは、通信量が多くなることが予想されるプロトコルに対応するポート番号と、定額制の料金契約がなされたデータ通信カードとを関連付けてもよい。
【００４８】
Ａ−２−３．ルールＲ３に基づくモデム選択処理：
ルールＲ３に基づくモデム選択処理の流れを図６に示す。ルールＲ３とは、上述したように、基地局ＢＳ１〜ＢＳｎから送信される電波の電界強度が相対的に強いデータ通信カードＭＯ１〜ＭＯｎを選択する条件である。この処理が開始されると、ＣＰＵ３０は、検出部３４の処理として、データ通信カードＭＯ１〜ＭＯｎを介して受信された、基地局ＢＳ１〜ＢＳｎが送信する電波の電界強度を表すＲＳＳＩ（Received Signal Strength Indicator、受信信号強度）を、無線通信インタフェース５６が備えるＲＳＳＩ検出回路を用いてそれぞれ検出する（ステップＳ４１０）。ＲＳＳＩを検出すると、ＣＰＵ３０は、データ通信カードＭＯ１〜ＭＯｎのうちから、ＲＳＳＩが最大のデータ通信カードＭＯｊを選択する（ステップＳ４２０）。
【００４９】
このように、ルールＲ３に基づいてデータ通信カードＭＯｊを選択するルータ２０は、基地局ＢＳ１〜ＢＳｎから送信される電波のＲＳＳＩが相対的に強いモデムを自動選択することができるので、安定的に通信が行えるように、データ通信カードＭＯｊを選択することができる。
【００５０】
Ｂ．第２実施例：
本発明の第２実施例について説明する。第２実施例におけるルータ２０の構成は、第１実施例と同様である。第２実施例としてのルータ２０が第１実施例と異なる点は、モデム選択処理に用いる通信条件と、その通信条件の相違に起因するモデム選択処理の流れである。具体的には、第２実施例としての通信条件であるルールＲ４は、第１実施例のルールＲ１〜Ｒ３を組み合わせた点が第１実施例と異なる。第２実施例としてのモデム選択処理の流れを図７に示す。なお、以下の説明では、第１実施例と共通する点については、説明を省略、または、簡略化する。また、図７において、第１実施例と同一内容の処理については、第１実施例と同一の符号を付している。
【００５１】
第２実施例としてのモデム選択処理が開始されると、ＣＰＵ３０は、図７に示すように、受信したパケットに含まれる送信元ポート番号が、選択ルールリスト４１に登録済みのものであるか否かを判断する（ステップＳ３１０）。その結果、ポート番号が登録済みのものであれば（ステップＳ３１０：ＹＥＳ）、選択ルールリスト４１において、当該ポート番号と関連付けられたデータ通信カードＭＯｊを選択する（ステップＳ３２０）。一方、ポート番号が登録済みのものでなければ（ステップＳ３１０：ＮＯ）、ＣＰＵ３０は、最大送信速度Ｖｍａｘの取得（ステップＳ２１０）、送信速度Ｖの測定（ステップＳ２２０）、余裕度Ｖｄの算出を行う（ステップＳ２３０）。そして、ＣＰＵ３０は、余裕度Ｖｄが所定値ＴＨ１以上のデータ通信カードＭＯ１〜ＭＯｎを抽出する（ステップＳ２４０）。データ通信カードＭＯ１〜ＭＯｎを抽出すると、ＣＰＵ３０は、抽出したデータ通信カードＭＯ１〜ＭＯｎのＲＳＳＩを検出し（ステップＳ４１０）、抽出したデータ通信カードＭＯ１〜ＭＯｎのうちでＲＳＳＩが最大となるデータ通信カードＭＯｊを選択する（ステップＳ４２０）。
【００５２】
以上の説明からも明らかなように、モデム選択処理に用いる通信条件は、２種類以上の条件を組み合わせて構成することも可能である。かかる構成とすれば、より柔軟に状況に応じたデータ通信カードＭＯｊの選択を行うことができ、ユーザの利便性が向上する。
【００５３】
Ｃ．第３実施例：
本発明の第３実施例について説明する。第３実施例におけるルータ２０の構成は、第１実施例と同様である。第３実施例としてのルータ２０が、第１実施例と異なる点は、接続先変更処理を行う点である。接続先変更処理とは、上述した接続先選択処理を実行し、パケットをインターネットＩＮＴに向けて送信した後に、１つのセッションにおける、インターネットＩＮＴとの間で予定される通信量が把握できる場合に、当該通信量に応じて接続するデータ通信カードＭＯ１〜ＭＯｎを選択し直す処理である。以下、接続先変更処理について説明する。
【００５４】
接続先変更処理の流れを図８に示す。本実施例においては、接続先変更処理は、上述した接続先選択処理によって、従量制の料金契約がなされたデータ通信カードを介してＨＴＴＰ要求をインターネットＩＮＴに向けて送信することで開始される。なお、従量制であるか否かの判断は、ユーザがルータ２０に予め登録しておけばよい。この処理が開始されると、ＣＰＵ３０は、ＨＴＴＰ応答の１つを受信し、これから受信が予定されるＨＴＴＰ応答の総データ容量を解釈する（ステップＳ５１０）。総データ容量は、受信したＨＴＴＰ応答のエンティティヘッダフィールドに記載されている。
【００５５】
総データ容量を解釈すると、ＣＰＵ３０は、当該総データ容量が所定値ＴＨ２以上であるか否かを判断する（ステップＳ５２０）。その結果、総データ容量が所定値ＴＨ２未満であれば（ステップＳ５２０：ＮＯ）、ＣＰＵ３０は、受信したＨＴＴＰ応答を、ＨＴＴＰ要求を送信した端末ＳＴＡ１，ＳＴＡ２に転送する（ステップＳ５７０）。つまり、この場合、接続先の変更は行われない。
【００５６】
一方、総データ容量が所定値ＴＨ２以上であれば（ステップＳ５２０：ＹＥＳ）、ＣＰＵ３０は、確立されたＴＣＰセッションを切断し（ステップＳ５３０）、通信料金が安価なデータ通信カードＭＯｐを選択する（ステップＳ５４０）。通信料金が安価なデータ通信カードＭＯｐとは、定額制の料金契約がなされた、あるいは、相対的に安価な従量制の料金契約がなされたデータ通信カードであり、本実施例では、ユーザがルータ２０に予め登録しておいたデータ通信カードＭＯｐを選択する構成とした。ただし、キャリアサービスにおいて、特定受信先との通信料金が安価に、または、固定料金に設定されている場合、こうした条件と組み合わせてデータ通信カードＭＯｐを選択してもよい。また、ユーザが通信料金の算出方法を予め登録しておき、ルータ２０が、受信する総データ容量に応じた通信料金を算出し、相対的に通信料金が安価なデータ通信カードＭＯｐを選択してもよい。勿論、第１実施例に示したルールＲ１〜Ｒ３などと組み合わせた基準で選択してもよい。
【００５７】
データ通信カードＭＯｐを選択すると、ＣＰＵ３０は、データ通信カードＭＯｐを介して、切断したセッションに係るＨＴＴＰ要求を再送する（ステップＳ５５０）。本実施例では、端末ＳＴＡ１，ＳＴＡ２から受信したＨＴＴＰ要求をＲＡＭ５２に記憶しておくことで、ルータ２０が再送可能な構成とした。ＨＴＴＰ要求を再送すると、ＣＰＵ３０は、その応答としてＨＴＴＰ応答を受信し（ステップＳ５６０）、ＨＴＴＰ応答を順次、ＨＴＴＰ要求を行った端末ＳＴＡ１，ＳＴＡ２に転送する（ステップＳ５７０）。こうして、接続先変更処理は終了となる。
【００５８】
かかる構成のルータ２０は、１つのＴＣＰセッションにおける、インターネットＩＮＴとの間で予定される通信量に応じて通信条件を変更して、データ通信カードＭＯを選択し直すので、通信量に応じて柔軟にデータ通信カードＭＯを切り替えて通信量に適した通信を行うことができ、利便性が向上する。
【００５９】
かかる通信条件の変更は、種々の態様で実施することができる。例えば、通信量が所定量以上である場合には、ルールＲ１からルールＲ２に変更してもよいし、その逆の変更を行ってもよい。所定量以上の通信は、通信負荷が大きく、送信に長時間を要するので、負荷分散を重視するのであれば、ルールＲ１へ変更すればよいし、通信の安定性を重視するのであれば、ルールＲ２に変更すればよい。また、通信量が所定量以下である場合に、通信条件を変更して、データ通信カードを選択し直してもよい。例えば、通信量が少ない場合には、負荷分散に与える影響が小さいので、通信の安定性を重視して、ルールＲ１からルールＲ３に変更する構成としてもよい。
【００６０】
上述した実施例の変形例について説明する。
Ｄ：変形例：
Ｄ−１．変形例１：
上述の実施形態では、所定の通信条件に基づいて、当該条件を満たすデータ通信カードＭＯを選択する構成について示したが、通信条件は、除外条件を含んでいてもよい。例えば、従量制の料金契約がなされたデータ通信カードは、予め定められた特定のポート番号を含むパケットを受信した場合のみ選択可能とし、特定のポート番号を含まない場合には、選択肢から除外する構成としてもよい。かかる構成とすれば、定額制の料金契約では使用できないが、従量制の料金契約により使用可能となるポート番号がある場合には、必要な通信機能を確保しつつ、通信料金を抑制することができるからである。このように、除外条件を含める構成とすれば、使用状況に応じてより柔軟にデータ通信カードを選択することができ、利便性が向上する。
【００６１】
Ｄ−２．変形例２：
上述の実施形態においては、ＵＳＢインタフェース５５に接続するデータ通信カードＭＯ１〜ＭＯｎは、ＵＳＢコネクタを一体的に備えた構成として示したが、ＵＳＢコネクタを備えないデータ通信カードに、ＵＳＢコネクタを備えたアダプタを装着して、ＵＳＢインタフェース５５に接続してもよい。また、データ通信カードと接続するインタフェースは、特に限定されるものではなく、例えば、エクスプレスカードなどを挿入可能なスロットとしてもよい。もとより、無線通信手段は、データ通信カードに限らず、モデムケーブルを介して携帯電話に接続する構成としてもよいし、ルータ２０が無線通信モジュールを内蔵する構成であってもよい。
【００６２】
Ｄ−３．変形例３：
上述の実施形態においては、本発明の通信装置をルータ２０として実現したが、通信装置は、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）など、データ通信カードなどの無線通信手段を接続することで通信可能となる種々の電子機器として実現することができる。
【００６３】
以上、本発明の実施形態について説明したが、上述した実施形態における本発明の構成要素のうち、独立クレームに記載された要素以外の要素は、付加的な要素であり、適宜省略、または、組み合わせが可能である。また、本発明はこうした実施形態に限られるものではなく、本発明の要旨を脱しない範囲において、種々なる態様で実施できることは勿論である。例えば、本発明は、通信装置としての構成のほか、通信方法、通信プログラム、当該プログラムを記録した記憶媒体等としても実現することができる。
【符号の説明】
【００６４】
２０…ルータ
３０…ＣＰＵ
３１…選択部
３２…通信部
３３…判断部
３４…検出部
４０…フラッシュＲＯＭ
４１…選択ルールリスト
５１…ＲＯＭ
５２…ＲＡＭ
５３…有線ＬＡＮインタフェース
５４…ＷＡＮインタフェース
５５…ＵＳＢインタフェース
５６…無線通信インタフェース
５７…送信機
５８…受信機
ＳＴＡ１，ＳＴＡ２…端末
ＭＯ１〜ＭＯｎ…データ通信カード
ＢＳ１〜ＢＳｎ…基地局
ＩＮＴ…インターネット
【図１】
2011171821.tif 000003
【図２】
2011171821.tif 000004
【図３】
2011171821.tif 000005
【図４】
2011171821.tif 000006
【図５】
2011171821.tif 000007
【図６】
2011171821.tif 000008
【図７】
2011171821.tif 000009
【図８】
2011171821.tif 000010