(57)【要約】【課題】無線端末装置に搭載された無線システムの電力効率を向上する。【解決手段】情報端末装置は複数のアンテナ６５〜６９を含む無線システム６３を搭載している。参照テーブル１１５にはサーバの宛先情報と無線システムに設定すべきアンテナの本数が登録されている。デバイス・ドライバ１１３はＷｅｂブラウザ１０５の実行による特定のサーバに対する接続動作に応じて参照テーブルを参照し、サーバの宛先情報に対応して登録された本数のアンテナを動作させるように無線システムを設定する。そして、アンテナの設定が完了した後に前記無線システムをアクセス・ポイントに接続する。したがって、無線端末装置はアクセスの開始時点から過去の履歴に基づいて電力効率の高い無線通信をすることができる。【選択図】図４
2010251936.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーション・プログラムの実行が可能で複数のアンテナの動作を個別に制御することができる無線システムを搭載した無線端末装置に、
前記無線システムを通じてデータ転送するサーバの宛先情報と該サーバに対してアクセスする際に設定するアンテナの本数である登録アンテナ本数を参照テーブルに格納するステップと、
前記アプリケーション・プログラムがサーバとデータ転送を開始する際に、前記参照テーブルを参照して前記登録アンテナ本数のアンテナを動作させるように前記無線システムを設定するステップと、
前記アンテナの本数の設定が完了した後に前記無線システムをアクセス・ポイントに接続するステップと
を有する処理を実行させるコンピュータ・プログラム。
【請求項２】
前記参照テーブルには、さらに前記アプリケーション・プログラムに関する送信元情報が格納され、前記無線システムを設定するステップが前記宛先情報と前記送信元情報の組に対応する前記登録アンテナ本数のアンテナを動作させるように前記無線システムを設定する請求項１に記載のコンピュータ・プログラム。
【請求項３】
前記宛先情報がＩＰアドレスを含み、前記送信元情報が前記アプリケーション・プログラムのポート番号を含む請求項２に記載のコンピュータ・プログラム。
【請求項４】
前記処理が、
前記アプリケーション・プログラムに関する実伝送速度を測定するステップと、
前記実伝送速度が最低基準値よりも遅い場合に前記アプリケーション・プログラムが動作させるアンテナの本数を増加するように要求するステップと、
前記要求された本数のアンテナを動作するように前記無線システムを設定するステップと
を有する請求項１から請求項３のいずれかに記載のコンピュータ・プログラム。
【請求項５】
アンテナ本数を増加させたあとに前記アプリケーション・プログラムに関する実伝送速度を測定し、該実伝送速度がアンテナ本数の増加前より所定値以上上昇しない場合に前記アプリケーション・プログラムが動作させるアンテナの本数を低下させるように要求するステップを有する請求項４に記載のコンピュータ・プログラム。
【請求項６】
前記処理が、
前記アプリケーション・プログラムに関する実伝送速度を測定するステップと、
前記実伝送速度が最高基準値よりも速い場合に前記アプリケーション・プログラムが動作させるアンテナ本数を低下するように要求するステップと、
前記要求された本数のアンテナを動作させるように前記無線システムを設定するステップと
を有する請求項１から請求項５のいずれかに記載のコンピュータ・プログラム。
【請求項７】
アンテナ本数を低下させたあとに前記アプリケーション・プログラムに関する実伝送速度を測定し、該実伝送速度が前記最高基準値よりも速い場合に前記アプリケーション・プログラムがさらにアンテナ本数を低下するように要求するステップを有する請求項６に記載のコンピュータ・プログラム。
【請求項８】
前記アプリケーション・プログラムの実行を停止する際に、前記アプリケーション・プログラムが要求していたアンテナの本数で前記参照テーブルを更新するステップを有する請求項４から請求項７のいずれかに記載のコンピュータ・プログラム。
【請求項９】
請求項１から請求項８のいずれかに記載のコンピュータ・プログラムを実装した無線端末装置。
【請求項１０】
アプリケーション・プログラムの実行が可能で複数のアンテナの動作を個別に制御することができる無線システムを搭載した無線端末装置において前記無線システムを制御する方法であって、
前記無線システムを通じてデータ転送するサーバの宛先情報と該サーバに対してアクセスする際に設定するアンテナの本数である登録アンテナ本数を参照テーブルに格納するステップと、
前記アプリケーション・プログラムがサーバとデータ転送を開始する際に、前記参照テーブルを参照して前記登録アンテナ本数のアンテナを動作させるように無線端末装置が前記無線システムを設定するステップと、
前記アンテナの本数の設定が完了した後に前記無線システムをアクセス・ポイントに接続するステップと
を有する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアンテナを備える無線端末装置において、動作するアンテナの本数を制御して無線システムの消費電力を低減する技術に関し、さらに詳細には、アプリケーション・プログラムとサーバの組に対して要求される伝送速度を満たしながら無線システムの電力効率を向上させる技術に関する。
【背景技術】
【０００２】
サーバ・クライアント型のネットワークにはＴＣＰ（Transmission Control Protocol）とＩＰ（Internet Protocol）で構成されるＴＣＰ／ＩＰ技術を採用したインターネットおよびイントラネットがある。クライアントであるノートブック型パーソナル・コンピュータ（以下、ノートＰＣという。）やＰＤＡなどには無線通信システムが搭載され、アクセス・ポイントを経由してネットワークに接続されたさまざまなサーバにアクセスすることができる。クライアントとサーバとの間のデータ回線に無線伝送路と有線伝送路が介在する場合は、伝送速度に関して無線伝送路がボトルネックになる場合がある。クライアントは、サーバとの間の伝送速度ができるだけ速いことを望むので、無線伝送路には伝送速度の速い方式が採用されている。
【０００３】
ＩＥＥＥ８０２．１１ａ／ｂ／ｇによって物理レイヤで最大５４Ｍｂｐｓの伝送速度を実現する無線通信の仕様が実用化され、さらにＩＥＥＥ８０２．１１ｎによって、ＭＡＣレイヤで１００Ｍｂｐｓ以上の伝送速度を実現する無線通信の仕様が実用化されている。ＩＥＥＥ８０２．１１ｎに採用されているのは、ＭＩＭＯ（Multiple Input Multiple Output、多入力多出力）方式を利用したＳＤＭ（Space Division Multiplexing、空間分割多重）伝送技術である。この技術においては、送信側と受信側のそれぞれに複数のアンテナを設置して空間に複数の無線伝搬路（空間ストリーム）を形成して伝送容量（スループット）を増大させることができる。
【０００４】
送信側にＭ本、受信側にＮ本のアンテナをそれぞれ装備している場合を例にして説明すると、送信側は、送信データをシリアル／パラレル変換によりＭ個の情報チャネルに分割し、それらを各アンテナから同一周波数で同時に送信する。送信側のＭ本のアンテナから送信されたデータは、受信側のＮ本のそれぞれのアンテナに到達する。このとき送信側と受信側の間にはＭ×Ｎ個のＭＩＭＯチャネルまたはマルチ・パスといわれる伝搬経路が存在することになる。送信側の各アンテナから送信されたデータは伝送経路の反射や減衰の影響を受けるため、受信側の各アンテナで受信した信号は歪みを受けた信号が合成されたものになる。送信側の各アンテナから送信された送信信号ベクトルを各々ｔ１〜ｔｍ、受信側の各アンテナが受信した受信信号ベクトルを各々ｒ１〜ｒｎ、伝搬路の伝達係数をｈ１１〜ｈｎｍ、ノイズ・ベクトルをｎ１〜ｎｎとすると、行列式（１）においてパイロット信号やプリアンブル信号から伝達関数を求めて受信信号から送信信号を推定できる。
【０００５】
【数１】
2010251936.tif 000003
【０００６】
空間ストリームの数は、送信側のアンテナ本数Ｍと受信側アンテナ本数Ｎのうち少ない方の数に等しい。また、無線伝送路の伝送容量は、基本的に空間ストリームの数に比例する。しかし、空間ストリームの数を増やすと、式（１）の演算量は伝送容量のほぼ３乗で増加する。したがって、式（１）を実行するプロセッサの消費電力は伝送容量に対して指数関数的に上昇する。よって、実装されたアンテナの本数に対して、クライアントの消費電力の観点から通信状況に応じて実際に使用するアンテナの本数を選択する必要性が生じてくる。
【０００７】
特許文献１は、ＭＩＭＯシステムを搭載した無線端末において、アンテナに接続された受信部の数を制御することで消費電力を低減する発明を開示する。同文献の発明では、アソシエーションのときに無線基地局が無線端末に搭載されたアンテナの本数を認識し、その後無線基地局から無線端末にアンテナ本数を指定したフレームを送り無線端末にアンテナ本数を設定させている。
【０００８】
特許文献２は、空間多重されたチャネル上でパケット検出の待ち受け期間における消費電力並びにパケット受信時における消費電力を低減する発明を開示する。同文献の発明では、受信待機状態では、複数の受信ブランチのうち１部の受信ブランチのみを用いてパケット検出を行ない、パケット検出を行なわない残りの受信ブランチの受信動作を停止させることにより、パケット検出待ち時における消費電力の低減を達成する。また、パケット受信状態では、ＭＩＭＯ伝送により空間多重された信号を受信するのに必要最低限の受信ブランチのみを動作させることにより、ＭＩＭＯ信号を受信する期間においても消費電力を低減させる。
【０００９】
特許文献３は、登録テーブルを利用して無線通信の設定を簡素化する発明を開示する。同文献の登録テーブルには、ＩＰアドレスやプロトコルが記述されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−１１５４１４号公報
【特許文献２】特開２００６−４２０７５号公報
【特許文献３】特開２００７−６０２３４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
クライアントは、伝送速度ができるだけ速いことを望んでいるが、実際には特定のアプリケーション・プログラムが特定のサーバにアクセスしたときに、当該アプリケーション・プログラムの特質から抽出される所定の時間でデータ転送ができれば要求は満たされる。クライアントの要求が満たされるためには、実際の伝送速度（実伝送速度）が許容伝送速度以上である必要がある。無線伝送路がボトルネック、すなわち伝送系全体において実伝送速度の最低値を支配している状態になって実伝送速度が許容伝送速度を満たさない場合は、動作するアンテナ本数を増加させることで改善できる。しかし、無線伝送路がボトルネックではないときは、動作するアンテナ本数を増加させても実伝送速度を上昇させることができず無線システムが無駄な電力を消費する。また、実伝送速度が許容伝送速度以上であっても、さらにアンテナ本数を減らしても許容伝送速度を維持できる場合には、無線システムの電力効率が適正であるとはいえない。
【００１２】
クライアントとサーバがデータ転送するときの実伝送速度は、さまざまな要因でその伝送系の最大伝送速度よりも低下する。サーバにおいては、同時にアクセスするクライアントの数とサーバの処理能力が要因となる。たとえば、インターネットに公開されているＷｅｂサーバには、多数のクライアントがアクセスするのでサーバがボトルネックになることが多い。また、イントラネットで公開されているファイル転送サーバは、クライアントの数が少ないため、無線伝送路がボトルネックになる傾向が強い。
【００１３】
有線ＬＡＮ（Local Area Network）では同一の伝送路を多数のクライアントが共用する。そしてデータ間の衝突を避けるため、他のクライアントのデータが転送されている場合はその終了を待って通信を開始し、データの衝突が発生した場合はランダムな時間を待ってから再度送信を開始するＣＳＭＡ／ＣＤ（Carrier Sense Multiple Access/Collision Detection）という通信手順を採用している。無線ＬＡＮでは、先に伝送路を使用している他のクライアントがある場合はその終了からランダムな長さの待ち時間が経過してから送信を開始するＣＳＭＡ／ＣＡ（Carrier Sense Multiple Access/Collision Avoidance ）という通信手順を採用している。したがって、同時に伝送路を使用するクライアントの数が実伝送速度の決定要因になる。
【００１４】
ＴＣＰ／ＩＰを使ってデータ転送をする場合は、送信側が受信側から一定の時間が経過しても受信の応答パケットを受け取らない場合は再送信することになっている。したがって、同一の伝送路を共有するクライアントの数が増大する時間帯、ノイズおよび電波強度が実伝送速度の決定要因になる。ノイズおよび電波強度はネットワークにアクセスする際のクライアントの位置に関係する。他方で、ＵＤＰ（User Datagram Protocol）とＩＰで構成されるＵＤＰ／ＩＰを使ってデータ転送をする場合は、データ転送の途中でパケットにエラーが発生しても再送信しないので、ＴＣＰ／ＩＰよりも実伝送速度が速くなる。
【００１５】
このようにサーバとクライアントの間の実伝送速度は、サーバが接続されるネットワーク環境（インターネット／イントラネット）、データ転送に使用するプロトコル（ＴＣＰ／ＵＤＰ）、ネットワークに接続するときのクライアントの場所、およびアクセスの時間帯などにより決まってくる。したがって、許容伝送速度を満たしながら無線システムの消費電力を低減するためには、クライアントがサーバへのアクセスを開始するときに無線伝送路の当該アクセスに対する有効な空間ストリームの数を認識している必要がある。データ転送を開始してから測定した実伝送速度に基づいてアンテナの本数を設定するような方法では、空間ストリームの数が不足していると最初のアクセスによるデータ転送時点でのユーザのストレスが高まってしまうことがあるのでアクセスの開始前に有効なアンテナの本数を設定する必要がある。
【００１６】
特許文献１のように無線基地局が無線端末装置で動作させるアンテナの本数を決定する方法では、無線基地局でサーバとクライアント間の個別のアクセス条件を把握することは困難なので、クライアントに対して適切なアンテナ本数を指示することができない。特に、クライアントの許容伝送速度は、サーバにアクセスするアプリケーション・プログラムごとに異なるので無線基地局がそれを把握することは不可能である。また、無線伝送路がボトルネックになっており、かつ、許容伝送速度を満たしている状態をクライアントが把握しない限り、最適な電力効率で無線通信をすることはできない。
【００１７】
そこで本発明の目的は、クライアントまたはアプリケーション・プログラムが要求する許容伝送速度を満たしながら、無線システムの電力効率を向上させることができる無線端末装置を提供することにある。さらに本発明の目的は、アクセスの開始時点からクライアントまたはアプリケーション・プログラムが要求する許容伝送速度を満たしながら、無線システムの電力効率を向上することができる無線端末装置を提供することにある。さらに本発明の目的は、そのような無線端末装置で動作するコンピュータ・プログラムおよび制御方法を提供することにある。
【課題を解決するための手段】
【００１８】
本発明にかかる無線端末装置は、アプリケーション・プログラムの実行が可能で複数のアンテナの動作を個別に制御することができる無線システムを搭載している。無線端末装置は、無線システムを通じてデータ転送するサーバの宛先情報とそのときに設定するアンテナの本数である登録アンテナ本数を参照テーブルに格納している。アプリケーション・プログラムが参照テーブルに格納された宛先情報で特定されるサーバとデータ転送を開始する際には、無線端末装置が参照テーブルを参照して登録アンテナ本数のアンテナを動作させるように無線システムを設定する。そして、アンテナの本数の設定が完了した後に無線システムをアクセス・ポイントに接続する。
【００１９】
このような構成によれば、アプリケーション・プログラムが任意の宛先情報で特定されるサーバとの間で新たにデータ転送をする際、参照テーブルに基づいてデータ転送の開始時点から電力効率のよい無線通信をすることができる。無線システムは好適にはＭＩＭＯ方式を採用することができる。参照テーブルには、さらに宛先情報に対応させてアプリケーション・プログラムに関する送信元情報を格納することができる。そして、宛先情報と送信元情報の組に対応する登録アンテナ本数で無線システムを設定することができる。アプリケーション・プログラムとサーバの組ごとに許容する最低の伝送速度は異なるが、参照テーブルに宛先情報、送信元情報、および登録アンテナ本数を対応させて格納しておけば、次回の同じ条件でのデータ転送時にその登録アンテナ本数を設定することができる。
【００２０】
データ転送を開始したあとは、アプリケーション・プログラムに関する実伝送速度を測定する。実伝送速度が最低基準値よりも遅い場合にはアプリケーション・プログラムが動作させるアンテナの本数を増加させる要求を生成して、その要求に基づいて無線システムを設定することができる。空間ストリームの数が全体の伝送速度に対するボトルネックになっている場合は、アンテナ本数を増加させることでアプリケーション・プログラムに関する実伝送速度が上昇して最低基準値より速くなる。さらに、アンテナ本数を増加させたあとにアプリケーション・プログラムに関する実伝送速度を測定し、実伝送速度がアンテナ本数の増加前より所定値以上上昇しない場合は、空間ストリームの数がボトルネックでないと判断できるのでアプリケーション・プログラムは動作させるアンテナの本数を低下させるように要求することができる。
【００２１】
実伝送速度が最高基準値よりも速い場合にはアプリケーション・プログラムが動作させるアンテナの本数を低下させる要求を生成して、その要求に基づいて無線システムを設定することができる。空間ストリームの数が全体の伝送速度に対するボトルネックになっている場合は、アンテナ本数を低下させることで当該アプリケーション・プログラムに関する実伝送速度を最高基準値より遅くさせることができる。その際、実伝送速度が最低基準値よりも高ければ、アプリケーション・プログラムに対する許容伝送速度は満たされるので、無線システムの電力効率を向上することができる。
【００２２】
さらに、アンテナ本数を低下させたあとに当該アプリケーション・プログラムに関する実伝送速度を測定し、実伝送速度が依然として最高基準値よりも速い場合には、空間ストリームの数がボトルネックでないと判断できるのでアプリケーション・プログラムは動作させるアンテナの本数をさらに低下させるように要求することができる。そして、空間ストリームの数がボトルネックになってからアンテナの本数を低下させると実伝送速度を最高基準値よりも遅くすることができ、そのとき実伝送速度が最低基準値よりも高ければ、無線システムはアプリケーション・プログラムが要求する伝送速度をより少ない消費電力で維持することができる。最高基準値と最低基準値は、アプリケーション・プログラムごとにストリーミング・データの途中欠落がなかったり所定の時間内にデータ転送ができたりといったユーザの実伝送速度に関する満足と、それを最低のアンテナ本数または最低の消費電力で実現するといった消費電力に関する満足を充足するように設定することで、電力効率のよい無線通信をすることができる。
【００２３】
無線端末装置上で複数のアプリケーション・プログラムが動作する場合は、いずれのアプリケーション・プログラムも要求するアンテナ本数以上の本数で無線通信ができるようにするために、アンテナ本数を減らす場合は、すべてのアプリケーション・プログラムからの要求アンテナ本数の最大値で無線システムを設定する。アプリケーション・プログラムの実行を停止する際に、アプリケーション・プログラムが要求していたアンテナの本数で参照テーブルを更新することで、同一の通信条件に対する実伝送速度が変化しても次回のアクセスにおいて最新の情報で対応することができる。
【発明の効果】
【００２４】
本発明により、クライアントまたはアプリケーション・プログラムが要求する許容伝送速度を満たしながら、無線システムの電力効率を向上させることができる無線端末装置を提供することができた。さらに本発明により、アクセスの開始時点からクライアントまたはアプリケーション・プログラムが要求する許容伝送速度を満たしながら、無線システムの電力効率を向上することができる無線端末装置を提供することができた。さらに本発明により、そのような無線端末装置で動作するコンピュータ・プログラムおよび制御方法を提供することができた。
【図面の簡単な説明】
【００２５】
【図１】本発明が実施されるネットワーク環境の一例を示す図である。
【図２】ノートＰＣの構成を示す概略のブロック図である。
【図３】ＭＩＭＯコントローラの構成を示す概略のブロック図である。
【図４】無線伝送路における空間ストリームの数を制御する方法を実現するソフトウエアおよびハードウエアの構造を示す機能ブロック図である。
【図５】アンテナ登録テーブルのデータ構造の一例を示す図である。
【図６】サーバにアクセスするためのアプリケーション・プログラムの構成を示すブロック図である。
【図７】本実施の形態にかかる空間ストリームの数を制御する手順を示すフローチャートである。
【図８】各アプリケーションからの要求アンテナ本数を格納したアンテナ管理テーブルのデータ構造を示す図である。
【図９】本発明にかかる伝送経路をモデル化した図である。
【発明を実施するための形態】
【００２６】
図９は、本発明の概要を説明するために、アプリケーション・プログラムとサーバとの間のデータ転送に関わる伝送系をモデル化した図である。図９（Ａ）において、複数のアプリケーション・プログラム４０１ａ、４０１ｂ、４０１ｃがクライアント４０３において動作する。クライアント４０３は、無線伝送路４０５および有線伝送路４０７を経由してサーバ４０９に接続されている。アプリケーション・プログラム４０１ａ、４０１ｂ、４０１ｃは、その特質との関連でこの順番で要求する伝送速度が遅くなる。たとえば、アプリケーション・プログラム４０１ａは、動画を再生するＷｅｂブラウザでアプリケーション・プログラム４０１ｃは、バックグラウンドでメール・ボックスからメールを読み込むメール用のアプリケーション・プログラムである。
【００２７】
あるいは、アプリケーション・プログラム４０１ａ、４０１ｂ、４０１ｃは、アクセスしているサーバとの関連でこの順番で要求する伝送速度が遅くなる。たとえば、アプリケーション・プログラム４０１ａはイントラネットに接続されたサーバにアクセスしている場合で、アプリケーション・プログラム４０１ｃはインターネットに公開されたサーバにアクセスしている場合である。ここに、ユーザは、アプリケーション・プログラム４０１ａ〜４０１ｃとサーバ４０９との間でのデータ転送に対して要求する最低の伝送速度である許容伝送速度を定義することができる。許容伝送速度はたとえば、動画を再生する場合はビデオ回路のフレーム・バッファに読み込むストリーミング・データが枯渇しない程度の伝送速度とし、メールの読み込みの場合はユーザがメールの新規着信を認識するまでの許容時間から求めた伝送速度とすることができる。相互にデータ転送をするアプリケーション・プログラムとサーバの組が決まった場合に、許容伝送速度以上の実伝送速度でデータ転送ができるか否かは、クライアント４０３とサーバ４０９のそれぞれの内部における処理能力と無線伝送路４０５および有線伝送路４０７の伝送容量に依存する。
【００２８】
このモデルでは、クライアント４０３は無線伝送路４０５の空間ストリームの数を調整して伝送容量を制御できる。ただし、無線伝送路４０５の伝送容量は空間ストリームの数だけでなく、共有する他のクライアントの数、電波強度およびノイズなどでも変化する。また、クライアント４０３およびサーバ４０９の処理能力は内部の負荷状況で変化し有線伝送路４０７の伝送容量も共有する他のクライアントの数などで変化する。しかも、アプリケーション・プログラムは、サーバ４０９の処理能力、有線伝送路４０７の伝送容量、および無線伝送路４０５の伝送容量を個別に直接認識することはできない。図９（Ａ）〜（Ｄ）では、各要素を示すブロックの幅が伝送容量または伝送容量に匹敵する処理能力を示している。無線伝送路４０５の伝送容量を増大する際には、空間ストリームの数に応じて無線システムにおける消費電力の増大を招く。
【００２９】
図９（Ａ）のように、無線伝送路４０５の伝送容量が全体の伝送系の中でボトルネックになっている場合は、図９（Ｂ）のように空間ストリームの数を増加させたり、図９（Ｃ）のように低下させたりすることで伝送速度は変化する。このとき、無線伝送路４０５の伝送容量がボトルネックになって、アプリケーション・プログラムが要求する許容伝送速度を満たすために必要な最小限の値であれば、伝送容量に対する電力効率は最大であるといえる。
【００３０】
図９（Ｄ）のように、実伝送速度に対してサーバ４０９の処理能力が全体の伝送系の中でボトルネックになっている場合は、無線伝送路４０５の空間ストリームの数を増減しても実伝送速度の変化に反映されない。実伝送速度は、無線伝送路４０５の伝送容量をサーバ４０９の処理能力より低下させた場合に無線伝送路４０５がボトルネックになり下がる方向に変化する。実伝送速度が下がっても、アプリケーション・プログラムとサーバの組に関する許容伝送速度が満たされていれば、伝送容量に対する電力効率は最大であるといえる。
【００３１】
図９（Ｄ）の場合は、たとえ、アプリケーション・プログラムとサーバの組に関する許容伝送速度が満たされていても、無線伝送路４０５では必要以上の電力が消費されている。無線伝送路４０５の伝送容量が全体の伝送系の中でボトルネックになっていない場合は、伝送容量に対する電力効率が適正であるとはいえない。電力効率の最大化を実現するには、あるアプリケーション・プログラムとサーバとの組み合わせで行われるデータ転送において、無線伝送路がボトルネックであるか否かをクライアントが認識し、ボトルネックでかつ許容伝送速度を満たしたデータ転送をする必要があるが、本発明においてそれを実現する方法を以下に説明する。
【００３２】
図１は、本発明が実施されるネットワーク環境の一例を示す図である。図１においては、ともにＴＣＰ／ＩＰおよびＵＤＰ／ＩＰを利用してデータ転送をするイントラネット１０とインターネット３０が相互に接続されている。イントラネット１０には、イーサネット（登録商標）の規格に適合する有線ＬＡＮ１１にＷｅｂサーバ１３、ファイル・サーバ１５、およびメール・サーバ１７が接続されている。Ｗｅｂサーバ１３では、ＨＴＴＰ（HyperText Transfer Protocol）を利用してＨＴＭＬ(HyperText Markup Language) や ＸＭＬ (Extensible Markup Language) によって記述されたハイパーテキスト、動画、および音声などのサービスを提供するプログラムの他に、ＦＴＰ（File Transfer Protocol）を利用してファイル転送サービスを提供するプログラム、およびＳＭＴＰ（Simple Mail Transfer Protocol）を利用して電子メールの転送サービスを提供するプログラムが動作する。
【００３３】
ファイル・サーバ１５は、ＦＴＰを利用してファイル転送サービスを提供する専用のサーバで、メール・サーバはＳＭＴＰを利用して電子メールの転送サービスを提供する専用のサーバである。アクセス・ポイント２１は無線基地局ともいわれ、無線端末装置５０を有線ＬＡＮ１１に接続するための無線機である。ゲートウェイ・サーバ２３は、プロキシおよびファイア・ウォールとしても機能し、イントラネット１０とインターネット３０の接続を仲介する。インターネット３０は、複数のルータで接続された伝送路が形成されており、サービス・プロバイダの提供するルータ３３の下には、有線ＬＡＮ３１が形成されている。
【００３４】
有線ＬＡＮ３１には、Ｗｅｂサーバ３５、ファイル・サーバ３７、メール・サーバ３９、およびアクセス・ポイント４１が接続されている。無線端末装置５０はノートＰＣで構成され、イントラネット１０およびインターネット３０の無線空間を自由に移動して、アクセス・ポイント２１または４１を通じて各サーバにアクセスすることができる。本発明との関連においてイントラネット１０およびインターネット３０の構成は周知である。
【００３５】
図２は、ノートＰＣ５０の構成を示す概略のブロック図である。ノートＰＣ５０は、中央演算処理装置（ＣＰＵ）５１、メイン・メモリ５３、ハードディスク・ドライブ（ＨＤＤ）５５、液晶ディスプレイ装置（ＬＣＤ）５９、入出力デバイス６１およびＭＩＭＯ方式で無線通信を行うＭＩＭＯコントローラ６３がバス５２に接続されている。ＨＤＤ５６には、本実施の形態に関わるプログラムが格納されている。ＭＩＭＩコントローラ６３には、３本のアンテナ６５〜６９が接続されている。ノートＰＣ５０は、モバイル使用のときには電池５７から電力の供給を受けて動作する。
【００３６】
図３は、ＭＩＭＯコントローラ６３の構成を示す概略のブロック図である。ＭＩＭＯコントローラ６３は送信機および受信機として動作する。インターフェース８１はフレーム・バッファを含み、ＰＣＩ（Peripheral Component Interconnect）などの規格に適合するバス５２とＭＡＣフレーム処理部８３に接続され、ＩＰパケットを双方向に転送する際のバッファ機能およびバス・プロトコルの変換機能を果たす。ＭＡＣフレーム処理部８３は、送信時にインターフェース８１のフレーム・バッファからＩＰパケットを読み取って、自ら生成したＭＡＣヘッダをこれに付加しＩＥＥＥ８０２．１１に規定するＭＡＣフレーム（以下、単にＭＡＣフレームという。）を生成してベースバンド処理部８５に出力する。ＭＡＣフレーム処理部８３は、受信時にベースバンド処理部８５から受け取ったＭＡＣフレームからＭＡＣヘッダを除去してＩＰパケットに変換しインターフェース８１のフレーム・バッファに書き込む。
【００３７】
ベースバンド処理部８５は、送信時にＭＡＣフレーム処理部８３から受け取ったＭＡＣフレームに対して符号化、変調およびＭＩＭＯ処理を行って生成した送信ベースバンド信号を高周波回路部８７に出力する。ベースバンド処理部８５は、受信時に高周波回路部８７から受け取った受信ベースバンド信号に対してＭＩＭＯ処理、復調、および誤り訂正処理を行いＭＡＣフレーム処理部８３に出力する。高周波回路部８５は、送信時にベースバンド処理部８３から受け取った送信ベースバンド信号を高周波信号にアップコンバートしてその時点で動作しているアンテナ６５、６７、６９に出力する。高周波回路部８５は、受信時にその時点で動作しているアンテナ６５、６７、６９から受け取った高周波信号をダウンコンバートしてベースバンド処理部８３に出力する。
【００３８】
制御部８９は、ＣＰＵ５１が実行するプログラムの指示に基づいて、ＭＩＭＯコントローラ６３の全体の動作を制御したり、高周波回路部８５を制御して動作するアンテナを個別に選択して設定したりする。ベースバンド処理部８３は、送信時も受信時も動作するように設定されたアンテナの本数に対応して演算処理をすることできるが、動作するアンテナの本数が多いほど多量の演算を必要とする。また、動作するアンテナの本数が１本のときは、ＭＩＭＯ方式の通信は行わない。ＭＩＭＯコントローラ６３は、動作するアンテナの本数が多いほど無線伝送路の伝送容量を大きくすることができるがＭＩＭＯの演算を行うベースバンド処理部８５の消費電力が多くなる。動作するアンテナの本数を変更することは空間ストリームの数を変更することに対応するので、動作するアンテナの本数を設定するということを、空間ストリームの数を設定すると言い換えることができる。
【００３９】
なお、図２および図３は、本実施の形態に関連する主要なハードウエアの構成および接続関係を簡略化して記載したに過ぎないものである。ここまでの説明で言及した以外にも、ノートＰＣ５０およびＭＩＭＯコントローラ６３を構成するには多くのデバイスが使われる。しかしそれらは当業者には周知であるので、ここでは詳しく言及しない。図で記載した複数のブロックを１個の集積回路もしくは装置としたり、逆に１個のブロックを複数の集積回路もしくは装置に分割して構成したりすることも、当業者が任意に選択することができる範囲においては本発明の範囲に含まれる。
【００４０】
図４は、本発明にかかる無線伝送路における空間ストリームの数を制御する方法を実現するソフトウエアおよびハードウエアの構成を示す機能ブロック図である。メール・ソフトウエアエア１０１、ファイル転送ソフトウエアエア１０３、およびＷｅｂブラウザ１０５は、ＴＣＰ／ＩＰプロトコル階層におけるアプリケーション層で動作するアプリケーション・プログラムである。メール・ソフトウエア１０１はＳＭＴＰというプロトコルを用いて同様のプロトコルを用いたサーバから電子メールのサービスを受けるためのアプリケーション・プログラムである。
【００４１】
ファイル転送ソフトウエア１０３はＦＴＰというプロトコルを用いて、同様のプロトコルを用いたサーバからファイル転送のサービスを受けるためのアプリケーション・プログラムである。Ｗｅｂブラウザ１０５は、ＳＭＴＰまたはＦＴＰを用いることに加えて、ＨＴＴＰというプロトコルを用いて、同様のプロトコルを用いたサーバからハイパーテキスト、動画、または音声などの配信サービスを受けるためのアプリケーション・プログラムである。
【００４２】
無線管理プログラム１０７は、ノートＰＣ５０が無線通信を行うためにユーザに対してパラメータの設定画面をＬＣＤ５９に表示したり、現在の時刻および曜日に関する情報をノートＰＣ１０の内部の要素から収集して保持したりする。無線管理プログラム１０７は、ノートＰＣ１０がＧＰＳ（Global Positioning System）を備えている場合は、そこから位置情報を収集して保持する。ＯＳ１０９は、ＡＰＩ（Application Programming Interface）をアプリケーション・プログラムに提供してハードウエアを抽象化する基本ソフトウエアであり、本発明との関連ではＴＣＰ／ＩＰプロトコル階層におけるトランスポート層（ＴＣＰ／ＵＤＰ）とネットワーク層（ＩＰ）を実現するＴＣＰ／ＩＰプログラム１１１を含む。
【００４３】
ＴＣＰ／ＩＰプログラム１１１は、ＴＣＰ、ＵＤＰ、ＩＰ、およびリゾルバといったプログラムを含んでいる。ＴＣＰとＵＤＰはともに、アプリケーション・プログラムから受け取った送信データに送信元ポート番号および宛先ポート番号を含むＴＣＰまたはＵＤＰヘッダを付加してＩＰに渡したり、ＩＰから受け取った受信データからＴＣＰまたはＵＤＰヘッダを外して宛先ポート番号で指定されたアプリケーション・プログラムに渡したりする。
【００４４】
ただしＴＣＰは、所定の時間以内に受信側からパケット到着の確認を示すデータが送られてこないときに再送する機能を有するコネクション型のプロトコルであるのに対し、ＵＤＰはそのような機能を含まないコネクションレス型のプロトコルである点で異なる。ＴＣＰは確実にデータ交換をする場合に適しているが伝送経路にノイズが多かったり、共有するクライアントが多かったりする場合には通信時間が長くなる。ＵＤＰは音楽や動画などのストリーミング・データ・ファイルの転送などのように信頼性よりも通信速度を重視する場合に適している。
【００４５】
ＩＰは、ＴＣＰまたはＵＤＰから受け取った送信データに送信元ＩＰアドレスおよび宛先ＩＰアドレスを含むＩＰヘッダを付加してデバイス・ドライバ１１３に渡したり、デバイス・ドライバ１１３から受け取った受信データからＩＰヘッダを外してＴＣＰまたはＵＤＰに渡したりする。リゾルバはアプリケーション・プログラムがいずれかのサーバにアクセスする際にアプリケーション・プログラムから呼び出され、指定されたＵＲＬ（Uniform Resource Locator）に対応するＩＰアドレスを近くのＤＮＳ（Domain Name System）サーバに問い合わせてアプリケーション・プログラムに渡す。アプリケーション・プログラムは、宛先のＵＲＬを指定してリゾルバから得たＩＰアドレスを宛先ＩＰアドレスとしてＴＣＰ／ＩＰプログラム１１１に渡すことができる。
【００４６】
デバイス・ドライバ１１３とＭＩＭＯコントローラ６３は、ともにＴＣＰ／ＩＰプロトコル階層におけるネットワーク・インターフェース層で動作する。デバイス・ドライバ１１３はＭＩＭＯコントローラ１１９の通信および動作を制御するプログラムである。デバイス・ドライバ１１３は、さらに後に説明するアンテナ登録テーブル１１５を読み取って、ＭＩＭＯコントローラ６３に対して動作させるアンテナの本数を設定することができる。デバイス・ドライバ１１３は、アプリケーション・プログラムまたは無線管理プログラム１０７の指示に基づいて、アンテナ登録テーブル１１５のデータを更新する。ＴＣＰモニター１１７は、ＭＩＭＯコントローラ６３を通過するＩＰパケットの数をカウントして、アプリケーション・プログラムごとに所定時間ごとの平均値である実伝送速度（以後、単に実伝送速度という。）を検出し、ポート番号で特定されたアプリケーション・プログラムに送る。
【００４７】
図５は、アンテナ登録テーブル１１５のデータ構造の一例を示す図である。本実施の形態においてアンテナ登録テーブル１１５は、ノートＰＣ５０の特定のアプリケーション・プログラムと特定のサーバとの組に関する過去のデータ転送において、ＭＩＭＯコントローラ６３の電力効率が最大になるようにアンテナ本数が設定されたときの履歴情報として、通信条件と登録アンテナ本数を格納する。アプリケーション・プログラムがあるサイトにアクセスするときに、アンテナ登録テーブル１１５に通信条件が合致するエントリがあれば、そこに設定されていた登録アンテナ本数を今回も設定することで、電力効率の高い無線通信ができる。
【００４８】
アンテナ登録テーブル１１５には、特定のアプリケーション・プログラムと特定のサーバとの組に関するデータ転送が行われたときの通信条件とそのときにアプリケーション・プログラムが要求していたアンテナ本数である登録アンテナ本数で構成されている。ノートＰＣ１０とイントラネット１０またはインターネット３０のサーバとの間で無線伝送路を介在してデータ転送が行われるときには、ユーザにとって関心があるのは、途中の伝送路の実伝送速度ではなく利用しているアプリケーション・プログラムに対する実伝送速度である。アプリケーション・プログラムに対する実伝送速度を決定する要因は複数存在し、空間ストリームの数を決めるＭＩＭＯコントローラ６３で実際に動作するアンテナの本数もその一部である。
【００４９】
したがって、アプリケーション・プログラムが特定のサーバとの間でデータ転送するときに最低の伝送速度が満たされない場合のボトルネックが空間ストリームの数である場合は、アンテナの本数を増やすことで電力効率の高い無線通信ができる。しかし、空間ストリームの数がボトルネックではない場合はアンテナの本数を増やしてもアプリケーション・プログラムに対する実伝送速度は上昇しない。むしろＭＩＭＯコントローラ６３の消費電力に対するユーザの不満が高まることになる。アンテナ登録テーブル１１５には、アプリケーション・プログラムと宛先サーバとの間でデータ転送をするときの実伝送速度に影響を与える通信条件を記録し、それに対して許容される実伝送速度が満たされる範囲での最小のアンテナ本数を登録アンテナ本数として格納している。
【００５０】
通信条件は宛先情報と送信元情報で構成される。宛先情報は、宛先ＩＰアドレスと宛先ポート番号で構成されている。宛先のサーバは、共有者が少ないイントラネット１０に接続されているか共有者が多いインターネット３０に接続されているかでアプリケーション・プログラムに対する応答速度が異なる。また、ＴＣＰを使用するかＵＤＰを使用するかでも転送速度が異なる。応答速度の速いサーバに対してはアプリケーション・プログラムの許容送速度を速く設定して多い数のアンテナ本数を登録したり、応答速度の遅いサーバに対しては許容実伝送速度を遅く設定して少ない数のアンテナ本数を登録したりすることができる。
【００５１】
サーバで複数のアプリケーション・プログラムが動作するときに、いずれのポート番号のアプリケーション・プログラムでも応答速度が変わらないような場合は、宛先情報としてはＩＰアドレスだけ利用してもよい。また、イントラネット１０に接続されたサーバとインターネット３０に接続されたサーバでは全体的に前者の応答速度が速いので、宛先情報としてその区別だけを利用するようにしてもよい。送信元情報は、アクセス・ポイント（ＡＰ）識別子、ノートＰＣ５０が無線通信しているときの利用時間帯、および休日情報で構成されている。アクセス・ポイント識別子としては、アクセス・ポイントのＥＳＳＩＤ（Extended Service Set Identifier）を利用することができる。さらに、ノートＰＣ５０がＧＰＳを搭載しているときは、そこから取得した現在の位置情報を利用することができる。
【００５２】
利用時間帯は日中と夜間の区別をしている。休日情報は、無線通信した日が休日か否かを区別している。送信元ポート番号は、ノートＰＣ５０で動作するアプリケーション・プログラムに割り当てられたポート番号である。アクセス・ポイント識別子、利用時間帯、および休日情報は、サーバまでの同一の伝送路を利用する共用者の数を反映しており、共用者が多い通信条件のときはアプリケーション・プログラムが要求する許容伝送送速度が遅くなるように設定して少ない数のアンテナ本数を登録したり、共用者が少ない通信条件のときでは許容伝送速度が速くなるように設定して多い数のアンテナ本数を登録したりすることができる。登録アンテナ本数は、図７の手順で説明するように過去のデータ転送における通信条件のもとで検証された電力効率のよい本数で更新される。
【００５３】
登録アンテナ本数は、アプリケーション・プログラムと特定のサーバとの間でデータ転送したときの通信条件に対して電力効率のよい本数であり、次回に同じ通信条件でデータ転送するときはここに登録された本数のアンテナを動作させることでサーバへの最初のアクセスから電力効率のよい無線通信を行うことができる。アンテナ登録テーブル１１５の登録番号１と２では、ＡＰ識別子だけが異なっている。ここでは同じアプリケーション・プログラムがオフィスのある同じ建物の中に設けられた別々のＡＰから、同じ宛先情報のサーバにアクセスする場合を想定しており、いずれのＡＰでも無線伝送路の実伝送速度に差がないため登録アンテナ本数はともに３本になっている。登録番号３では、登録番号１、２に対してＡＰ識別子と登録アンテナ本数が異なっている。ここでは、自宅からＶＰＮ（Virtual Private Network）を利用してアクセスする場合を想定している。途中のＶＰＮが形成されるインターネットの伝送速度が遅いため、登録番号１、２とは異なり登録アンテナ本数は電力効率のよい本数として１本が登録されている。登録番号４〜６では、宛先情報と送信元情報の相違により、それぞれ電力効率のよいアンテナ本数が登録されている。登録アンテナ本数の利用およびアンテナ登録テーブルの更新方法については後に図７のフローチャートに基づいて説明する。
【００５４】
図６は、図３にメール・ソフトウエア１０１、ファイル転送ソフトウエア１０３、およびＷｅｂブラウザ１０５として示されたサーバにアクセスするためのアプリケーション・プログラムの構成を示すブロック図である。図６（Ａ）は、アプリケーション・プログラム２００の概略の機能構成を示し、図６（Ｂ）は基準値テーブル２０５のデータ構造を示し、図６（Ｃ）は基準値テーブル２０５に示されている基準値と許容伝送速度の関係を示している。図６（Ａ）において、各アプリケーション・プログラムは、周知のアプリケーション・プログラムの本体２０１に加えて、本実施の形態にかかるトラフィック監視部２０３および基準値テーブル２０５で構成されている。
【００５５】
トラフィック監視部２０３および基準値テーブル２０５は各アプリケーション・プログラムに最初から組み込んでもよいが、Ｗｅｂブラウザ１０５の場合はアプレットで構成することができる。トラフィック監視部２０３は、ＴＣＰモニター１１７から当該アプリケーション・プログラムとサーバとの間で行われているＩＰパケットの実伝送速度を監視して、基準値テーブル２０５に格納された基準値を参照して必要に応じてアンテナ本数の増加または低下の要求をデバイス・ドライバ１１３に送る。
【００５６】
本実施の形態では、アプリケーション・プログラムがサーバにアクセスする際には、アンテナ登録テーブル１１５を参照してアンテナ本数を設定するが、登録された通信条件に対する実伝送速度が過去と現在とでは異なる場合がある。トラフィック監視部２０３は、常にＴＣＰモニター１１７から送られてくる実伝送速度を監視して、適切なアンテナ本数を判断する。基準値テーブル２０５には、ＩＰアドレスとポート番号で構成される宛先情報とその宛先にアクセスするアプリケーション・プログラムに関する最低の実伝送速度（最低伝送速度）と最高の実伝送速度（最高伝送速度）を格納する。
【００５７】
最高伝送速度は、アプリケーション・プログラムが宛先情報で特定されたサーバまたはそこで動作するアプリケーション・プログラムとの間でデータ転送をする際にそれ以上の実伝送速度でデータ転送してもユーザの実質的な満足度が向上せず、したがって、消費電力の観点でユーザの不満足感を惹起する値として設定されている。最低伝送速度は、アプリケーション・プログラムが宛先情報で特定されたサーバまたはそこで動作するアプリケーション・プログラムとの間でデータ転送をする際に許容する最低の実伝送速度（許容伝送速度）よりも大きな値に設定されている。最低伝送速度は、アンテナの本数を制御するときに実伝送速度が許容伝送速度より遅くならないように許容伝送速度よりもある程度大きな値にしており、最低伝送速度と最高伝送速度の間には、アンテナの本数を１本増減したときの伝送速度の変化量以上の幅を設けておく。
【００５８】
こうすることで図６（Ｃ）の領域１のように、実伝送速度が最高伝送速度を越えかつ無線伝送路が全体の伝送系のボトルネックになっている場合は、動作するアンテナ本数を１本減らすことで実伝送速度を最低伝送速度と最高伝送速度の間にある領域２の範囲に維持することができる。また、領域３のように実伝送速度が最低伝送速度を下回り、かつ無線伝送路が全体の伝送系のボトルネックになっている場合には、動作するアンテナ本数を１本増やすことで実伝送速度を領域２の範囲に維持することができる。無線伝送路がボトルネックの場合は、実伝送速度が領域１または領域３から領域２に入るように動作するアンテナ本数を設定すれば、ＭＩＭＯコントローラ６３は最低の消費電力で許容伝送速度を維持することができ、電力効率のよい無線通信を行うことができる。
【００５９】
無線伝送路が全体の伝送系のボトルネックになっていない間は、動作するアンテナ本数を変更しても実伝送速度は変化しない。そして、当該データ転送に対して無線伝送路の電力効率は最適であるとはいえないことになる。実伝送速度が領域１の範囲にある場合は、許容伝送速度を満たしながら実伝送速度が領域２の間に入るまで動作するアンテナ本数を減らすことで無線伝送路がボトルネックになり電力効率を向上することができる。また実伝送速度が領域３の範囲にある場合は、動作するアンテナ本数を増加しても実伝送速度は最低伝送速度を越えないので、その増加のためにＭＩＭＯコントローラ６３が無駄な電力を消費していることになるためアンテナ本数を増加前の状態に戻すことで消費電力の上昇を抑制することができる。
【００６０】
実伝送速度が領域２の範囲にある場合であっても、無線伝送路がボトルネックでない限りは無線伝送路の電力効率が適正であるとはいえない。この場合は、一旦アンテナ本数を増加させたときに実伝送速度が上昇すればボトルネックであることが確認できる。ボトルネックではない場合は、さらにアンテナ本数を低下させても実伝送速度は領域２の範囲を維持できる場合がある。最高伝送速度と最低伝送速度の組は当該アプリケーション・プログラムにとって宛先サーバにより異なる。たとえば、バックグラウンドで実行するバック・アップのためのファイル転送は許容伝送速度が遅くてもよいが、動画のストリーミング・データの転送は許容伝送速度が速くないとアプリケーション・プログラムの利用を快適に行うことができなくなる。
【００６１】
図７は、本実施の形態にかかる空間ストリームの数を制御する手順を示すフローチャートである。図８は、デバイス・ドライバ１１３が現在実際に動作しているアンテナの本数に対する各アプリケーション・プログラムからのアンテナ本数の増減要求から計算した要求アンテナ本数をアプリケーション・プログラムごとに格納したアンテナ管理テーブル３５０のデータ構造の一例を示す図である。アンテナ管理テーブル３５０は、ノートＰＣ５０が動作している間は、メイン・メモリ５３に記憶されるが、メイン・メモリ３５０の電源が停止したときには消失する。
【００６２】
ブロック３０１において、ノートＰＣ５０は、ＭＩＭＯコントローラ６３を動作させてＡＰ４１から発射されているビーコンをスキャンしたりプローブ・リクエストを送信したりしてＡＰ４１のＥＳＳＩＤを検出し、相互認証およびアソシエーションを経てＡＰ４１に無線接続している。デバイス・ドライバ１１３は、ＡＰ４１のＥＳＳＩＤをメイン・メモリ５３に記憶している。ノートＰＣ５０はＷｅｂブラウザ１０５を実行してＬＣＤ５７にブラウザ画面を表示し、インターネット３０に接続されたＷｅｂサーバ３５のポータル・サイトに接続している。
【００６３】
このとき、メール・ソフトウエア１０１およびファイル転送ソフトウエア１０３もいずれかのサーバとＭＩＭＯコントローラ６３を通じて無線通信していてもよい。ＴＣＰモニター１１７はそれぞれの現在の実伝送速度をメール・ソフトウエア１０１、ファイル転送ソフトウエア１０３、およびＷｅｂブラウザ１０５（以後、これらの３つのソフトウエアを特定しないでいう場合には単にアプリケーションという。）に送っている。デバイス・ドライバ１１３は、アンテナ６５〜６９の中で現在実際に動作しているアンテナの本数をメイン・メモリ５３に記憶している。
【００６４】
いま、ユーザがブラウザ画面のハイパーリンクをクリックしたり、あるいは入力デバイス６１から入力ウインドウに入力したりして、Ｗｅｂサーバ３５の別のサイト、インターネット３０内の別のサーバ、またはイントラネット１０内のいずれかのサーバにアクセスする。Ｗｅｂブラウザ１０５は、指定されたＵＲＬに対応する宛先ＩＰアドレスを、リゾルバを通じて近くのＤＮＳ（Domain Name System）サーバから取得し、宛先のサーバに対するアクセスを開始するためのリクエスト・メッセージと共にＴＣＰ／ＩＰプログラム１１１に渡す。ＴＣＰは、送信元ポート番号と宛先ポート番号を含むＴＣＰヘッダをリクエスト・メッセージに付加してＩＰに渡す。ＩＰは、それに送信元ＩＰアドレスと宛先ＩＰアドレスを含むＩＰヘッダを付加してＩＰパケットを生成しデバイス・ドライバ１１３に渡す。デバイス・ドライバ１１３は、ＩＰパケットをインターフェース部８１のフレーム・バッファに格納する。
【００６５】
ブロック３０３では、デバイス・ドライバ１１３はＩＰパケットから宛先ＩＰアドレスと宛先ポート番号を抽出し、無線管理プログラム１０７から現在の時間と休日情報を取得する。さらにデバイス・ドライバ１１３は、先にＡＰ４１と接続したときにＥＳＳＩＤも取得しているため、アンテナ登録テーブル１１５を参照して今回の無線通信に関する通信条件がすべて合致するエントリが登録されているか否かを判断する。そして、合致されているエントリがあればそこに指定された登録アンテナ本数のアンテナだけを動作させるようにＭＩＭＯコントローラ６３の制御部８９に指示する。
【００６６】
制御部８９は、指示されたアンテナ本数が現在動作している本数と異なる場合は高周波部８７の設定を変更して、指示された本数のアンテナだけ動作させる。アンテナ登録テーブル１１５に今回の通信の通信条件に合致するエントリが登録されていない場合は、デバイス・ドライバ１１３はあらかじめディフォルトとして設定していた最大の本数である３本のアンテナを動作させるようにデバイス・ドライバ１１３に指示する。あるいは、デバイス・ドライバ１１３はその時点で動作しているアンテナの本数を維持してもよい。そして、制御部８９は使用するアンテナ本数が変更されたときは、ＭＡＣフレーム処理部８３に新たなアンテナ本数を設定したマネージメント・フレームを生成させてＡＰ４１に通知する。
【００６７】
ブロック３０５では、ＭＡＣフレーム処理部８３がフレーム・バッファからリクエスト・メッセージのＩＰパケットを取り出してこれにＭＡＣヘッダを付加し、ベースバンド処理部８５に送る。ベースバンド処理部８５では、動作しているアンテナの本数に対応するように送信データを分割して高周波部８７に送り、高周波部８７は現在動作しているアンテナから分割されたデータを送信する。したがって、アンテナ登録テーブル１１５に登録された情報に基づいてアンテナ本数を設定した場合は、同一の通信条件のエントリが存在する限り、最初の通信からＭＩＭＯコントローラ６３の電力効率が高い無線通信を行うことができる。以下の手順に示すようにアンテナ登録テーブル１１５は新たな通信が行われるたびに更新される。
【００６８】
また、ディフォルトの本数を設定した場合は、ユーザの伝送速度に対する満足度は満たされているが、動作しているアンテナの本数が多すぎる可能性がある。また、その時点で動作していたアンテナの本数を維持した場合は、当該通信条件について最適なアンテナの本数でない場合もある。しかし、これも以下の手順に示すように消費電力とユーザの実伝送速度に対する満足度を満たすアンテナ本数が設定され、アンテナ登録テーブル１１５に登録されるため、次回からは同一通信条件であれば最初から電力効率の高い無線通信を行うことができる。
【００６９】
ブロック３０７では、Ｗｅｂブラウザ１０５とＷｅｂサーバ３５との間でリクエスト／レスポンス方式でのデータ転送が開始され、ＴＣＰモニター１１７はデバイス・ドライバ１１３を通過するＩＰパケットの数からポート番号ごとの実伝送速度を検出して対応するアプリケーションに送る。ブロック３０９、３１１では、ＴＣＰモニター１１７から現在の伝送速度を受け取ったＷｅｂブラウザ１０５のトラフィック監視部２０３が、基準値テーブル２０５を参照して、現在ＭＩＭＯコントローラ６３が実伝送速度に対応する適正なアンテナ本数に設定されているか否かを判断する。ブロック３０３でディフォルトのアンテナ本数を設定した場合やその時点で動作していたアンテナ本数を維持した場合は、実伝送速度が基準値からはずれている場合がある。また、アンテナ登録テーブル１１５に基づいてアンテナ本数を設定した場合であっても、過去の通信条件と実伝送速度の関係が現在は変化していることもある。
【００７０】
ブロック３０９では、トラフィック監視部２０３が基準値テーブル２０５を参照してＴＣＰモニター１１７から受け取った実伝送速度と現在接続している宛先情報について定められた最低伝送速度と比較する。実伝送速度が最低伝送速度よりも低い場合はブロック３１７に移行し、高い場合はブロック３１１に移行する。ブロック３１７では、Ｗｅｂブラウザ１０５がＯＳ１０９を通じてデバイス・ドライバ１１３にアンテナ本数を増加させるように要求する。デバイス・ドライバ１１３は、現在動作しているアンテナ本数に１を加えた数を要求アンテナ本数として、アンテナ管理テーブル（図８）３５０にＷｅｂブラウザ１０５のポート番号とともに記憶する。
【００７１】
デバイス・ドライバ１１３は、現在のアンテナ本数がＷｅｂブラウザ１０５からの要求アンテナ本数に対して余裕があれば、ブロック３１８に移行してアンテナ本数を１本だけ増加させるようにＭＩＭＯコントローラ６３を制御してブロック３１９に移行する。このとき、必要であればデバイス・ドライバ１１３は再度ＡＰ４１との間で認証およびアソシエーションを実行する。現在のアンテナ本数がすでに最大値に到達している場合は、それ以上アンテナ本数を増加できないのでブロック３２５に移行する。ブロック３１９では、ＴＣＰモニター１１７がデバイス・ドライバ１１３を通過するＩＰパケットの数からＷｅｂブラウザ１０５に関する実伝送速度を検出してＷｅｂブラウザ１０５に送る。ブロック３２０では、Ｗｅｂブラウザ１０５のトラフィック監視部２０３が、アンテナ本数の増加前後における実伝送速度の変化を計算し、所定値以上実伝送速度が上昇していれば空間ストリーム数がボトルネックであると判断してブロック３２１に移行し、所定値以上実伝送速度が上昇していなければ空間ストリーム数がボトルネックではなくブロック３１８でのアンテナ本数の増加は無駄であったと判断してブロック３２３に移行する。
【００７２】
トラフィック監視部２０３は、ブロック３２３でデバイス・ドライバ１１３にアンテナ本数の低下要求をする。低下要求を受け取ったデバイス・ドライバ１１３は、アンテナ管理テーブル３５０に現在のアンテナ本数から１を引いた本数をＷｅｂブラウザ１０５からの要求アンテナ本数として記憶し、現在ネットワーク・データ転送中のアプリケーションからの要求アンテナ本数を確認してアンテナ本数の低下が可能な場合にはそれを実行してブロック３２５に移行する。ブロック３２１では、Ｗｅｂブラウザ１０５のトラフィック監視部２０３が、実伝送速度が最低伝送速度を超えたか否かを判断する。実伝送速度が最低伝送速度を超えない場合はブロック３１７に戻って、さらにデバイス・ドライバ１１３がアンテナ本数の増加が可能か否かを判断する。アンテナ本数を増加させても一時的な電波事情の悪化などが原因で最低伝送速度以上まで実伝送速度が上昇しないような場合でも、ブロック３２０で所定値以上実伝送速度が上昇した場合は、空間ストリーム数がボトルネックであることがわかるので、可能な限り実伝送速度が最低伝送速度を超えるまでアンテナ本数を増大させることが望ましい。
【００７３】
Ｗｅｂブラウザ１０５について、ブロック３２３、ブロック３０７、ブロック３０９を経由して再度ブロック３１７の手順に戻った場合は、デバイス・ドライバ１１３はすでにＷｅｂブラウザ１０５については現在アクセスしているサーバに関して、動作するアンテナ本数を増加させても実伝送速度の上昇が期待できないことを認識している。よって、ブロック３１７で依然として実伝送速度が最低伝送速度を下回っているときには、空間ストリーム数がボトルネックではないためアンテナ本数の増加をしないでブロック３２５に移行する。ブロック３２１でトラフィック監視部２０３が、実伝送速度が最低伝送速度を超えたと判断したときは、ブロック３２５に移行する。この場合は、空間ストリーム数がボトルネックになって実伝送速度が最低伝送速度以上まで上昇したので、ユーザは最低のアンテナ本数で満足できる実伝送速度を得たことになり電力効率のよい無線通信をしていることになる。
【００７４】
ブロック３１１では、トラフィック監視部２０３が基準値テーブル２０５を参照してＴＣＰモニター１１７から受け取った実伝送速度と現在接続している宛先情報について定められた最高伝送速度とを比較する。実伝送速度が最高伝送速度よりも高い場合はブロック３１３に移行し、低い場合はブロック３２５に移行する。ブロック３１３では、Ｗｅｂブラウザ１０５がＯＳ１０９を通じてデバイス・ドライバ１１３にアンテナ本数を低下させるように要求する。要求を受け取ったデバイス・ドライバ１１３は、現在動作しているアンテナ数から１を引いた数を要求アンテナ本数として、Ｗｅｂブラウザ１０５のポート番号とともにアンテナ管理テーブル３５０に記憶する。なお、各アプリケーションがアンテナ管理テーブル３５０に記憶する際には、自己のポート番号について過去に要求アンテナ本数が記録されていればそれを上書きする。
【００７５】
デバイス・ドライバ１１３は、いずれかのアプリケーションから受け取った増減要求から要求アンテナ本数を計算してアンテナ管理テーブル３５０に記憶したあとは、そこに登録された各アプリケーションからの要求アンテナ本数の最大値をＭＩＭＯコントローラ６３に設定する。こうすることでいずれのアプリケーションも許容伝送速度以上の実伝送速度で無線通信をすることができる。デバイス・ドライバ１１３は、アンテナ管理テーブル３５０を参照してすべてのポート番号に対応する要求アンテナ本数の最大値より現在動作しているアンテナの本数が多いと判断したときは、ブロック３１４に移行してアンテナ本数を１本減少させるようにＭＩＭＯコントローラ６３を設定してブロック３１５に移行する。このとき、必要であればデバイス・ドライバ１１３は再度ＡＰ４１との間で認証およびアソシエーションを実行する。ブロック３１５では、ＴＣＰモニター１１７がデバイス・ドライバ１１３を通過するＩＰパケットの数からＷｅｂブラウザ１０５に関する実伝送速度を検出してＷｅｂブラウザ１０５に送る。
【００７６】
ブロック３１６では、Ｗｅｂブラウザ１０５のトラフィック監視部２０３が、実伝送速度が最高伝送速度を下回ったか否かを判断する。Ｗｅｂブラウザ１０５とＡＰ４１との間の実伝送速度において、ＭＩＭＯの空間ストリーム数がボトルネックでない場合は、動作するアンテナの本数を１本だけ低下しても実伝送速度が最高伝送速度を下回る程度まで下降しない場合がある。その場合、トラフィック監視部２０３は、ブロック３１３に戻って、デバイス・ドライバ１１３にさらなるアンテナ本数の低下要求をする。
【００７７】
やがて、ブロック３１６では、実伝送速度が最高伝送速度を下回ったと判断される。このとき、空間ストリーム数は全体の伝送系の中でボトルネックになる。こうすることで空間ストリームの数は許容伝送速度を満たすための最低の数になり、ＭＩＭＯコントローラ６３は最大の電力効率で動作する。ブロック３１３で現在動作しているアンテナの本数がすでにアンテナ管理テーブル３５０に記憶された要求アンテナ本数の最大値に到達している場合は、それ以上低下できないのでブロック３２５に移行する。
【００７８】
ブロック３２５では、Ｗｅｂブラウザ１０５を実行してＬＣＤ５７の画面をみたり、動画や音楽を再生したりしているユーザが、消費電力と実伝送速度の視点で現在のサイトにアクセスして満足を得ているか否かを判断し、満足していない場合はブロック３２７に移行して無線管理プログラム１０７を実行する。そしてユーザは無線管理プログラム１０７が提供する操作画面を通じて、基準値テーブル２０５の基準値を変更する。ユーザは、実伝送速度で転送されてくるデータのＷｅｂブラウザ１０５による再生状況をみて、最低伝送速度および最高伝送速度を一体として変更しブロック３０７に戻る。ユーザは現在の状況において、ノートＰＣ５０における消費電力低減の要請が高いと判断すれば最低伝送速度と最高伝送速度を下げ、伝送速度上昇の要請が強いと判断すれば最低伝送速度と最高伝送速度を上げることができる。なお、ネットワークから配信されるビデオ・ストリームやオーディオ・ストリームのデータが一部欠落した場合には、通常はデータを再生するアプリケーション・プログラムがそれを自動的に検出することができる。したがって、Ｗｅｂブラウザ１０５がデータの欠落を検出した場合には、ブロック３２５の処理においてユーザの操作を経ないで自らが自動的に基準値テーブル２０５の最低伝送速度および最高伝送速度を上げてアンテナ本数を増加させることができる。
【００７９】
最初のアクセスから実伝送速度が図６の領域２の範囲にある場合、すなわち、ブロック３０１〜ブロック３１１を経てブロック３２５までのパスが成立した場合は、無線伝送路がボトルネックになっていないことがあり、さらにアンテナ本数を低下させて電力効率を上昇できる可能性がある。それを確認するには、ブロック３２５で実伝送速度が最低伝送速度より下がるように基準値テーブル２０５の最低伝送速度と最高伝送速度を変更してアンテナ本数を増加させたときに、実伝送速度が上昇するか否かを判断する。実伝送速度が上昇する場合は、空間ストリームの数がボトルネックになっておりアンテナ本数は適正であるため、もとの基準値を維持する。実伝送速度が上昇しない場合は、ボトルネックになっていないと判断できるのでブロック３２７でアンテナ本数を低下させてもよい。このときデバイス・ドライバ１１３は、アンテナ管理テーブル３５０の要求アンテナ本数として、低下させたあとの本数を記憶する。なお、この操作はユーザが無線管理プログラム１０７から行っても、デバイス・ドライバ１１３が行ってもよい。
【００８０】
ブロック３２９では、ユーザにより実行を停止されたＷｅｂブラウザ１０５は、ブロック３３１に移行してデバイス・ドライバ１１３に指示して、アンテナ管理テーブル３５０に記憶されたアンテナ本数でアンテナ登録テーブル１１５を更新させる。デバイス・ドライバ１１３は、アンテナ登録テーブル１１５において、Ｗｅｂブラウザ１０５と宛先のサーバとのデータ転送に関し、宛先情報と送信元情報のすべての項目が合致したエントリがある場合は要求アンテナ本数で登録アンテナ本数を更新し、合致するエントリがない場合は新たなエントリを作成して要求アンテナ本数を登録アンテナ本数としてアンテナ登録テーブル１１５に記録する。更新された登録アンテナ本数も新規に登録されたアンテナ本数も、実際にアプリケーションが無線通信したときの電力効率の視点からのユーザの満足度またはアプリケーション自身が検出したデータの欠落などに基づいてアンテナ登録テーブル１１５に当該通信条件のもとでの最適な値として登録される。ブロック３２９でＷｅｂブラウザ１０５の実行が停止されない場合は、ブロック３０７に戻る。
【００８１】
アンテナ登録テーブル１１５は、ノートＰＣ５０の電源を停止する際には、ＨＤＤ５５に格納され、次回電源が投入されてＭＩＭＯコントローラ６３が動作するときにはメイン・メモリ５３にロードされる。あるサイトに最初にアクセスする際に、アンテナの本数を多めに設定して伝送速度を優先させた場合には、その後ユーザがトラフィックを監視してアンテナ本数を適宜低下させることも考えられるが、そのような操作をすることはユーザにとって大きな負担になるため最初のアンテナ本数が維持されて無駄な電力を消費しがちである。また、アンテナの本数を少なめに設定して消費電力の低減を優先させた場合には、最初にサイトにアクセスしたときの応答速度が遅すぎてユーザがストレスを感じることになる。
【００８２】
本実施の形態によれば、アプリケーションが無線通信を開始する際にアンテナ登録テーブル１１５に同一の通信条件のエントリがある場合は、そこに登録されたアンテナ本数が通信開始前に設定されるため、ユーザはアクセスの開始初期から電力効率のよい空間ストリームの数で無線通信ができる。また、通信開始後はＴＣＰモニター１１７で実伝送速度を監視し当該通信条件における最適なアンテナ本数を判断して設定するので、電力効率を維持することができる。さらにアプリケーション終了時に実際の通信条件とともに登録アンテナ本数をアンテナ登録テーブル１１５に格納するため次回は更新されたアンテナ登録テーブル１１５を使用して無線通信をすることができる。
【００８３】
以上、ＭＩＭＯ方式の無線システムを例にして説明したが、本発明は複数のアンテナを備え、実際に動作させるアンテナの本数が無線伝送路の伝送容量および消費電力と関連がある他のいかなるマルチ・アンテナの無線システムにも適用することができる。本発明においては無線システムが備えるアンテナの本数は２本以上あればよい。一度に増減するアンテナの本数は１本に限定するものではなく、状況に応じて一度に複数本のアンテナを増減してもよい。また、図６において、トラフィック監視部２０３および基準値テーブル２０５は各アプリケーション・プログラムに設けたが、無線管理プログラム１０７にすべてのアプリケーション・プログラムに関する同様の機能を組み込んでもよい。
【００８４】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００８５】
１０…イントラネット
１１、３１…有線ＬＡＮ
３０…インターネット
５０…ノートブック型パーソナル・コンピュータ
１１５…アンテナ登録テーブル
２００…アプリケーション・プログラム
２０５…基準値テーブル
３５０…アンテナ管理テーブル
【図１】
2010251936.tif 000004
【図２】
2010251936.tif 000005
【図３】
2010251936.tif 000006
【図４】
2010251936.tif 000007
【図５】
2010251936.tif 000008
【図６】
2010251936.tif 000009
【図７】
2010251936.tif 000010
【図８】
2010251936.tif 000011
【図９】
2010251936.tif 000012