(57)【要約】  本方法及び装置は、無線クライアント装置がパワーセーブモードに入っている間に無線接続を維持することが可能である。本システムは、装置が通常動作モードで動作している間に無線接続を処理するホストオペレーティングシステム（OS）と、装置がパワーセーブ動作モードに切り替わり、ホストOSがスリープ又はスタンバイ状態に切り替わった場合に、無線接続を処理する組み込みエージェントとを含む。本システムは、パワーセーブモードにおける変化を検出し、ホストOS及び組み込みエージェントの間においてセッションコンテキスト情報の通信を開始させる（システムがパワーセーブモードに入る場合は、ホストOSから組み込みエージェントへ、システムがパワーセーブモードから通常動作モードへ復帰する場合は、組み込みエージェントからホストOSへ送られる。）。本システムは、セッションコンテキスト情報を伝送することに合わせて管理を交代するトリガを与える。
2010541414.tif 000002
【特許請求の範囲】
【請求項１】
無線ネットワークのクライアント装置における方法であって、
前記無線ネットワークのクライアント装置において、パワーセービング動作モードに関する変更を検出するステップと、
前記パワーセーブモードに関する変更を検出したことに応答して、前記無線ネットワークのクライアント装置のネットワークアクセスセッションを無線ネットワークと共に規定するセッションコンテキストを、ホストオペレーティングシステム（OS）と前記無線ネットワークのクライアント装置の組み込みエージェントとの間で通信するステップであって、前記組み込みエージェントは、前記ホストOSとは独立して動作する、ステップと、
前記パワーセービング動作モードに関する変更を検出したことに応答して、前記セッションコンテキストを通信する際、前記ホストOS及び前記組み込みエージェントの間において、前記無線ネットワークのクライアント装置のローミングの管理を交代するステップと
を有する方法。
【請求項２】
パワーセービング動作モードに関する変更を検出するステップが、ディープパワーセービングモードにおいて、前記ホストOSが通常の動作に復帰するか否かを確認し、
前記セッションコンテキストを前記ホスト（OS）と前記組み込みエージェントとの間で通信するステップが、前記組み込みエージェントから前記ホストOSへの前記セッションコンテキストを更新する、請求項１記載の方法。  
【請求項３】
ディープパワーセービングモードにおいて、前記ホストOSが通常の動作に復帰するか否かを確認するステップが、
前記ホストOSが待ち受け状態から復帰することを確認する、請求項２記載の方法。
【請求項４】
前記セッションコンテキストを前記ホスト（OS）と前記組み込みエージェントとの間で通信するステップが、
キーイング情報を含むオープンネットワークコネクションに関する情報を通信する、請求項１記載の方法。
【請求項５】
前記セッションコンテキストを前記ホスト（OS）と前記組み込みエージェントとの間で通信するステップが、
前記セッションコンテキストを、前記ホストOSと、前記ホストOSと独立した仮想マシン、又はネットワークインターフェースハードウェア上で動作する組み込みファームウェアエージェントの内の一方との間で通信する、請求項１記載の方法。
【請求項６】
前記セッションコンテキストを前記ホスト（OS）と前記組み込みエージェントとの間で通信するステップが、
前記セッションコンテキストを、前記ホストOSと、ホストハードウェアプラットフォームにおける組み込みマイクロコントローラ、又はマルチコア処理ユニットにおける専用の処理コアの内の一方との間で通信する、請求項１記載の方法。
【請求項７】
前記無線ネットワークのクライアント装置のローミングの管理を交代するステップが、
電気電子技術者協会（IEEE）802．11r標準仕様に対応するローミングの管理を交代する、請求項１記載の方法。
【請求項８】
コンピュータにある手順を実行させる命令を有するコンピュータ読取可能な媒体を含む製品であって、前記手順は、
無線ブロードバンドデータネットワークに接続している無線ネットワーククライアント装置のホストオペレーティングシステム（OS）において、パワーセービング動作モードの開始を検出するステップと、
前記パワーセービング動作モードの開始を検出したことに応答して、前記無線ネットワーククライアント装置における前記ホストOSから組み込みエージェントへ、前記無線ネットワーククライアント装置のネットワークアクセスセッションに関するセッションコンテキストを転送するステップであって、前記組み込みエージェントは前記ホストOSとは独立して動作する、ステップと、
前記ホストOSが前記パワーセービング動作モードに入っている間、前記組み込みエージェントが前記無線ネットワーククライアント装置を代表してローミングを実行するステップと
を有する製品。
【請求項９】
前記ホストOSから組み込みエージェントへ、前記無線ネットワーククライアント装置のネットワークアクセスセッションに関するセッションコンテキストを転送するステップが、
無線デバイスドライバを介して、セッションコンテキストを前記組み込みエージェントに転送する、請求項８記載の製品。
【請求項１０】
前記ホストOSから組み込みエージェントへ、前記無線ネットワーククライアント装置のネットワークアクセスセッションに関するセッションコンテキストを転送するステップが、
前記ホストOSとは独立した仮想マシン、ネットワークインターフェースハードウェアにおいて動作する組み込みファームウェアエージェント、ホストハードウェアプラットフォームにおける組み込みマイクロコントローラ、又はマルチコア処理ユニットにおける専用の処理コアの内の何れかへ、前記ホストOSからセッションコンテキストを転送する、請求項８記載の製品。
【請求項１１】
前記ローミングを実行するステップが、
無線接続管理アルゴリズムを前記組み込みエージェントにおいて局所的に実行するステップを有する、請求項８記載の製品。
【請求項１２】
前記パワーセービング動作モードから通常動作モードへ処理を切り替えるように前記ホストOSにトリガを与えるイベントについて、前記無線ネットワーククライアント装置を監視するステップ
を前記手順がさらに有する、請求項８記載の製品。
【請求項１３】
前記通常動作モードへ切り替えるように前記ホストOSにトリガを与えるイベントを検出したことに応じて、前記組み込みエージェントから前記ホストOSへ更新されたセッションコンテキストを渡すステップ
を前記手順がさらに有する、請求項１２記載の製品。
【請求項１４】
通常動作モードにおいて無線接続を管理するホストオペレーティングシステム（OS）を動作させるためのホストハードウェアプラットフォームであって、該無線接続の管理は、無線アクセスポイントに対する無線接続を維持することを含む、ホストハードウェアプラットフォームと、
前記ホストOSとは独立して動作する組み込みエージェントであって、前記ホストOSが無線接続を管理していない場合、パワーセービング動作モードにおいて前記無線接続を管理し、該無線接続の管理は、無線アクセスポイントに対する無線アクセスを維持しかつ異なる無線アクセスポイントへのローミングを含む、組み込みエージェントと、
動作モードに依存して、前記ホストOS及び前記組み込みエージェントの間で前記無線接続の管理を交代させ、前記無線クライアント装置のネットワークアクセスセッションを規定するセッションコンテキストの通信を開始させるトランスファ論理装置と、
現在のアクセスポイントに対する物理リンクを維持するネットワークインターフェースハードウェアと
を有する無線クライアント装置。
【請求項１５】
前記組み込みエージェントが、プロセッサコア、前記無線クライアントのハードウェアプラットフォームにおけるマイクロプロセッサ、又はネットワークインターフェースカードの内の何れかにおいて実行されるエージェントを有する、請求項１４記載の無線クライアント装置。
【請求項１６】
前記無線接続を管理する前記組み込みエージェントが、前記無線接続のセキュリティパラメータを維持する、請求項１４記載の無線クライアント装置。
【請求項１７】
前記無線接続を管理する前記組み込みエージェントが、前記無線接続のサービス品質（QoS）パラメータを維持する、請求項１４記載の無線クライアント装置。
【請求項１８】
前記トランスファ論理装置が、前記無線クライアントの複数のセッションについて、複数のセッションコンテキストの通信を開始させる、請求項１４記載の無線クライアント装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、無線通信に関連し、特に通信システムと協働して常時接続無線ローミングを行うことに関連する。
【背景技術】
【０００２】
無線移動装置は、ネットワークアクセスを行うために無線ネットワークに接続する。無線ネットワークへの接続は、通常、無線移動装置における処理を必要とする。その処理は、アルゴリズムを実行すること、及びクライアント装置の設定を行ってメッセージをやり取りするルーチンを実行することを含み、そのメッセージはネットワークとのセッションを確立及び／又は維持することに関連するものである。この場合において、限られたバッテリ容量しか備えていない無線クライアント装置の性質に起因して、設計者は、装置のバッテリ寿命を考慮しなければならない。無線ネットワークに単に接続したままにする処理及びオーバーヘッドは、クライアント装置にとってかなりのバッテリ寿命を浪費してしまうことになる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従来のクライアント装置に付随するプラットフォームの制約は、移動プラットフォームが常時接続を必要とする場合、（プロセッサ、メモリ、ハードドライブ等のような）プラットフォームのサブシステム全てが起動していなければならないことを含む。サブシステム全体を活性化する必要性は、ホストオペレーティングシステムを通じて無線サブシステム全体（無線ハードウェアドライバ、サプリカント（supplicant）及びクレデンシャル（credential））をメインプロセッサに搭載するという従来のプラットフォーム設計に由来する。メインプロセッサに搭載すると、バッテリ寿命に影響する電力を大量に消費してしまう。そのような電力消費は、ユーザがローミングする場合や、プラットフォームが電力を使って無線ネットワーク接続を維持する場合、常に非常に著しい。
【０００４】
したがって、従来のシステムの場合、パワーセービング動作モードでプラットフォームを動作させることと、ネットワーク接続を維持することとの間で、ユーザはトレードオフを強いられている。無線接続を維持しかつパワーセーブモードで動作する機能は従来存在していない。
【課題を解決するための手段】
【０００５】
開示される発明の一形態による方法は、
無線ネットワークのクライアント装置における方法であって、
前記無線ネットワークのクライアント装置において、パワーセービング動作モードに関する変更を検出するステップと、
前記パワーセーブモードに関する変更を検出したことに応答して、前記無線ネットワークのクライアント装置のネットワークアクセスセッションを無線ネットワークと共に規定するセッションコンテキストを、ホストオペレーティングシステム（OS）と前記無線ネットワークのクライアント装置の組み込みエージェントとの間で通信するステップであって、前記組み込みエージェントは、前記ホストOSとは独立して動作する、ステップと、
前記パワーセービング動作モードに関する変更を検出したことに応答して、前記セッションコンテキストを通信する際、前記ホストOS及び前記組み込みエージェントの間において、前記無線ネットワークのクライアント装置のローミングの管理を交代するステップと
を有する方法である。
【図面の簡単な説明】
【０００６】
【図１】無線セッションコンテキスト情報をやりとりする組み込みエージェント及びホストオペレーティングシステムを有するクライアント装置が備わっているシステム例のブロック図。
【図２】無線セッションの接続を管理する組み込みエージェントを有するクライアント装置例のブロック図。
【図３】無線セッションコンテキスト情報をやりとりする組み込みエージェント及びホストオペレーティングシステムのエレメントを有するクライアント装置例のブロック図。
【図４】無線クライアント装置のパワーセーブモードにおいて無線接続を維持するプロセス例を示すフローチャート。
【発明を実施するための形態】
【０００７】
以下の説明は、本発明の実施形態の一例として与えられている図面の説明を含む。図面は一例として理解されるべきであり、限定として理解されるべきではない。本願で使用されているように、１つ以上の「実施例」は、本発明の少なくとも１つの実施形態に含まれる特定の属性、構造又は特徴を説明しているものとして理解されるべきである。そして、本願における「一実施例」又は「代替実施例」のような語句は、本発明の様々な実施例や実施形態を指しており、必ずしも同じ実施例を指しているとは限らない。しかしながらそれらの実施例が互いに排他的である必要はない。
【０００８】
以下の詳細な実施例の説明は、以下で説明される実施例の全部又は一部を示す図面の説明を含み、本願で示される発明概念に対する他の可能な実施例や実施形態の議論をも含む。先ず、本発明の実施例の概要が説明され、その後に図面を参照する詳細な説明が続く。
【０００９】
以下に説明するように、本システム、本方法及び本装置は、ローミングの管理を含むネットワーク接続を維持しつつ、パワーセーブモードで動作することを可能にする。メインホストプロセッサがパワーセーブモードで動作していた場合、組み込みエージェントは、接続をもたらすようにメインホストプロセッサに関連する処理を行う。本願で使用されているようなメインプロセッサ又はホストプロセッサは、システムの主な動作が実行されているプロセッサ又はプロセシングユニット（マルチコアプロセッサを含む）を指す。ホストオペレーティングシステム（OS）は、メインプロセッサにより実行され、システムにおける処理の流れを制御する。組み込みエージェントは、様々な技術の如何なるものを指してもよい。概して、組み込みエージェントは、クライアント装置におけるホストOSとは独立に動作するエンティティに関する。すなわち、ホストオペレーティングシステムは、組み込みエージェントの動作を制御しない。ホストOSは、例えばドライバのようなインターフェースを介して組み込みエージェントと通信できるが、そのようなインターフェースがなければ、ホストOSは組み込みエージェントを「見ること（see）」もやり取りすることもできない。組み込みエージェントは、マルチコアプロセッサにおける複数のプロセッサの内の専用の１つでもよいし、ホストハードウェアプラットフォームに組み込まれた個別のマイクロコントローラでもよいし（例えば、カリフォルニア州サンタクララのインテルコーポレイションによるACTIVE  MANAGEMENT  TECHNOLOGY  (AMT)等）、ネットワークインターフェース回路におけるマイクロコントローラでもよいし、ネットワークインターフェースハードウェアのマイクロコントローラ内で動作するコアでもよいし、仮想マシンのバーチャルパーティション等でもよい。
【００１０】
ホストOSは、従来から既知であるような主な無線接続管理を実行する。無線接続要素（例えば、サプリカント、キーモジュール等）は、ホストOSを介してメインシステムプロセッサに搭載されている。さらに、組み込みエージェントは１つ以上のコネクション要素を含み、組み込みエージェントが、常時接続の移動を持続できるようにし、かつ無線ブロードバンドデータネットワークとの接続を持続できるようにする。接続の持続は、サービス品質QoS及び／又はセキュリティパラメータを維持することを含む。本願で使用されているように、無線ネットワークは、無線ブロードバンドデータネットワークであるものとする。そのようなネットワークは、Wi−Fi及びWiMax標準仕様のような標準仕様に記載されている。そのWi−Fi標準仕様は、概して、無線ローカルエリアネットワークに関する一群のIEEE（電気電子技術者協会）802．11標準仕様を指し、西暦1999年2月に発行されたIEEE802．11a−1999、西暦1999年2月に発行されたIEEE802．11b−1999、西暦2003年10月に発行されたIEEE802．11g−1999及び／又はそれらの派生物を含む。WiMax標準仕様は、概して、無線メトロポリタンエリアネットワーク（WMAN）のIEEE802．11標準仕様を指し、西暦2004年10月に発行されたIEEE802．16−2004又はその派生物を含む。なお、無線ブロードバンドデータネットワークと、セルラ又は無線の音声チャネルネットワークとの差異に留意を要する。無線ブロードバンドデータネットワークにおけるデータトラフィックの帯域幅は、セルラネットワークにおける帯域幅よりも著しく広い。接続の仕組みは、それら２種類のネットワークにおいていくつもの類似点があるが、無線ブロードバンドデータネットワークにおけるクライアント装置に対してより多くの処理を要する。したがって、セルラネットワークにおけるパワーセービングは比較的よく発達しているが、無線ブロードバンドデータネットワークのクライアント装置（例えば、ラップトップ、形態コンピュータ、パーソナルディジタルアシスタント（PDA）、ウルトラモバイルパーソナルコンピュータ（UMPC）等）にとっての選択肢は不足している。
【００１１】
本願で使用されているように、メインプロセッサは、そのメインプロセッサ上でどう際しているホストOSを介して、クライアント装置が通常の動作をしている場合に接続プロシジャを管理する（例えば、アルゴリズムを実行し、プロトコルを実行すること等）。接続を管理するためのアルゴリズム、プロトコル、ドライバ、モジュール等は、概して、「要素（コンポーネント）」として言及される。メインプロセッサは、従来のシステムにおいて一般的であるような要素の全部又は主要なものを有する。しかしながら、ホストOSの要素に加えて、組み込みエージェントは、パワーセービング動作における接続プロシジャを管理する。一実施例において、組み込みエージェントは、より少ない要素群を含む。
【００１２】
一実施例において、組み込みエージェントは、IEEE802．11r‘WLAN  Fast  Roaming’（本願基礎出願時におけるドラフト段階で登場した規格）に記載されているようなローミングプロシジャを実行する。例えば、IEEE802．16又はIEEE802．21‘heterogeneous  roaming  across  different  wireless  network’に記載されているような他の無線ブロードバンドデータネットワークにおいて、同様な技法が使用されてもよい。
【００１３】
ホストOS上で動作するドライバ及びプロトコルの依存性に起因して、従来のWiFi／WiMAX装置は、たとえアクティブなワークロードがなかった場合でさえ、完全なプラットフォームを起動させておく必要があり、概して18ワットものオーダの電力を必要としていた。しかしながら、本願の組み込みエージェントにより処理されるパワーセービングローミングの場合、ホストOS及びメインプロセッサは、待ち受けモード（又はそれと等価なモード）になることができ、わずか500mWの電力しか消費しなくて済む。概して、組み込みエージェントが必要とする電力は、完全なホストプラットフォームが必要とする電力より何桁も少ない。したがって、従来のシステムに比べて、かなりの（90％以上の）電力の節約が可能になる。
【００１４】
一実施例では、複数のアクティブなコネクションのコンテンツが維持される。ホストOSから組み込みエージェントへ又はその逆へセッションコンテキスト情報を伝送することは、アクティブな全てのコネクションに関するセッションコンテキスト情報を送信することを含でもよい。その場合、個々のセッションコンテキスト情報が、様々なドメインの各々について維持される。管理上別個のドメイン同士の間にわたってローミングする際、個々のドメイン各々について別個のコンテキスト及びキーイングマテリアルが必要とされるが、それでもローミングが可能である。一例として、T−MOBILEのホットスポット及びAT＆Tのホットスポットにユーザがクライアント装置とともにローミングするとする。T−Mobile及びAT＆Tは、ワシントン州ベルビューのT−Mobile  USA社及びテキサス州サンアントニオのAT＆T社の登録商標である。本願における全ての商標は、単なる識別の目的で使用されているにすぎない。
【００１５】
他のドメインの状況は、クライアント装置におけるアプリケーションが異なるネットワークコネクションを使用するような状況である（例えば、音声アプリケーション（ボイスオーバーインターネットプロトコル（VOIP）電話）や、ストリーミングビデオアプリケーションのようなビデオアプリケーション）。他のドメインの状況は、クライアント装置が、802．11WLAN及び802．16WLANネットワークの間でローミングするような状況である。そのようなドメインの場合、システムは別個のセッションコンテキストを維持することができ、パワーセーブモードにおいて組み込みエージェントにより維持される。
【００１６】
組み込みエージェントを追加したり、組み込みエージェントが無線ローミングを実行する場合に、ホストのプラットフォームの構成やソフトウェアスタックを変える必要はないことに留意を要する。一実施例の場合、ホストプラットフォームに対する変更の全ては、低レベルのデバイスドライバにおいて実行可能である。したがって、特定のデバイスのドライバを変更することで、本願で説明する組み込みエージェントによるローミング支援処理は可能になる。
【実施例１】
【００１７】
図１は、無線セッションコンテキスト情報をやりとりする組み込みエージェント及びホストオペレーティングシステムを有するクライアント装置が備わっているシステム例のブロック図である。システム100は無線ブロードバンドデータネットワーク102を有し、AP（アクセスポイント）112−116及び認証部120を含む。AP112−116は無線接続ポイント又はネットワークアクセス装置を表現し、クライアント装置130にとって無線によるネットワークアクセスを可能にする。AP112−116はネットワーク接続用の物理リンクを提供する。認証部120は、クライアント130に対する上位レベルのセッション管理を行う。そのような上位レベルのセッション管理は、クライアント130のセキュリティクレデンシャル（信用証明、資格証明）（例えば、アクセスキー）を確認することや、無線セッションを確立することを含む。
【００１８】
一実施例において、クライアント130は、アクセスリンクAを介してAP112との間でセキュア802．11rによる最初のやりとり（Initial  Association）を実行する。そして、クライアント130は、AP112を介して、音声、映像その他のアプリケーションに対するアクセスを有する。その後、クライアント130はパワーセーブモードの動作に切り替えられる。本願で議論されるように、パワーセーブモードは、開始される、モードに入る又はトリガを受ける等のように表現されてもよい。パワーセーブモードは、ホストOSが中断されており、ホストプロセッサがスタンバイモードになっている動作モードである。通常、揮発性ランダムアクセスメモリ（RAM）に対する電力は維持され、状態が失われてしまうことを防ぐ。代替的に、フラッシュメモリが状態を維持するのに使用されてもよい。パワーセーブモードはプラットフォーム及びホストOSに影響を及ぼすので、１つの見方によれば、パワーセーブモードはホストOSによるトリガを受けているように考えてもよい。ホストOSによるトリガを受ける又はホストOSにより開始されるパワーセーブモードに関し、パワーセーブモードを開始するのは、OS自身、又はホストOSの実行プラットフォーム上で動作している何らかのソフトウェアである。
【００１９】
パワーセーブモードに切り替わる場合又はパワーセーブモードに応答して、ホストOS132はセッションコンテキスト136を組み込みエージェント134に提供する。目下の例におけるセッションコンテキスト136は、AP112に対するリンクAの情報を含み、呼の情報はキーイング情報（keying  information）を含む。クライアント130がパワーセーブモードに入った後、クライアント装置は、AP112の範囲外に出てAP114の範囲内にローミングするものとする（図示の例は論理的な動作を表現しており、物理的な及び距離的な様子を示すものではない。）。組み込みエージェント134にはセッションコンテキスト情報が提供され、組み込みエージェント134は無線コネクションを管理できるようになる。組み込みエージェント134において、適切な通信処理要素が起動される。組み込みエージェント134は、ホストOS132により制御されるメインサブシステムよりも格段に少ない電力しか消費しないので、組み込みエージェントはほとんどの期間にわたって生き続けることができる（組み込みエージェントに電力を供給し続けることが可能である。）。メインプロセッサが深い眠りに入る場合、組み込みエージェント134は無線コネクションの状態（接続状態、セキュリティ、QoS等）を維持し、クライアント130がAP112（現在のAP）から次のAP（例えば、AP114）にローミングする場合、組み込みエージェント134は無線ローミングアルゴリズム及びプロトコルを実行する。
【００２０】
組み込みエージェント134は、AP114を検出し、そのAPに接続するローミングプロシジャを実行する。そのようなローミングプロシジャは、例えば、802．11rFT（高速遷移）ベース及びリザーブ手段（メカニズム）でもよい。したがって、クライアント130は、メインプロセッサ及びホストOSが中断されても、コネクションを維持する。クライアントは、ホストOSがパワーセーブモードから復帰するまで、組み込みエージェント134によるローミングを継続する。パワーセーブモードから復帰する原因は、当該技術分野で知られているような特定の割り込みや起動法に関連していてもよい。
【００２１】
組み込みエージェント134は、パワーセーブ動作状態における変化、すなわちパワーセーブ動作から通常動作への変化を検出する。状態変化を検出したことに応答して、組み込みエージェント134はセッションコンテキスト136をホストOS132に提供する。クライアントがパワーセーブモードから復帰した場合、セッションコンテキスト136は、目下の例の場合、前のものと相違することに留意を要する。相違の理由は、少なくともクライアント130はAP112ではなくAP114に現在接続しているからである。別の相違があってもよい。ホストOS132がスリープモードから復帰した場合、クライアントは既に接続されており、このことは電力を節約しつ接続遅延を短縮する。アプリケーションは、中断されずに処理を続けることができる。
【００２２】
図２は、無線セッションの接続を管理する組み込みエージェントを有するクライアント装置例のブロック図である。システム200は、クライアント装置の所定の要素を表現している。システム200は、１つ以上のプロセッサであるCPU（中央処理装置）210を含む。図示の例の場合、CPU210はマルチコア装置である。特に、CPU210は、コア222−226及びEA（組み込みエージェント）228の４つの処理コアを含む。メインホストサブシステム218は、コア222−226、ホストOS212、及び１つ以上のアプリケーション214を含む。そのような実施形態の場合、１つの処理コアは、別の処理に特化され及びメインホストサブシステム218にとって利用可能でない。したがって、ホストOS212は、組み込みエージェント228に気付く必要はなく、ホストOS212は、組み込みエージェントがあたかも別システムの一部であるかのように組み込みエージェントとやり取りをする必要がある。組み込みエージェント228として特化された１つのコアにより、組み込みエージェントは、本願で説明される無線ローミングのような処理を実行することができる。組み込みエージェント228は、別個のキャッシュ及び／又はメモリリソースを実行に備えて含んでいてもよい。組み込みエージェントが専用コアとしてでない別の方法で用意される実施形態の場合、ホストサブシステム218は、４つのコア全てを含んでもよいことに留意を要する。
【００２３】
一実施例において、組み込みエージェントがVM（仮想マシン）パーティション216として提供される場合、サブシステム218は第４のコアを含んでもよい。VM216は仮想パーティションを表現し、システム200においてハードウェアリソースを同時に共有する並列的な独立したオペレーティング環境を生成する。VM216による組み込みエージェントの動作は、ホストOS212をパワーセーブモードにしつつ、少ないオペレーティング環境で実行できるようにする。
【００２４】
システム200は、ハードウェアプラットフォームインターフェース230を含む。ハードウェアプラットフォームインターフェース230は、所定のコンピュータ装置のアーキテクチャにおけるいわゆる「ノースブリッジ（north  bridge）」の全部又は一部である。ハードウェアプラットフォームインターフェース230は、メモリインターフェース、入力／出力（I／O）インターフェース、ペリフェラルインターフェース、ストレージインターフェース等を含んでもよい。ハードウェアプラットフォームインターフェース230は、ネットワークインターフェースハードウェア250に対する１つ以上のインターフェースを含む（例えば、ペリフェラルコンポーネントインターフェース（PCI）バス等）。
【００２５】
一実施例において、システム200は、本願で説明されるような組み込みエージェントとして機能するスタンドアローンハードウェア要素を含む。EA240は、そのようなハードウェア要素を表現する。EA240は、ハードウェアプラットフォームインターフェース230に結合されるように図示されている。EA240は、CPU210の活動を監視（モニタ）し、例えば、サブシステム218がパワーセーブモードに入るようにトリガを受けた時点を判別する。EA240は、ネットワークインターフェースハードウェア250に対する接続を含み、EA240が、ネットワークインターフェースハードウェアを管理できるようにし、かつシステムの無線接続を設定（ドライブ）できるようにする。
【００２６】
一実施例において、組み込みエージェントは、ネットワークインターフェースハードウェア250におけるコードとして実行可能である。その場合、EA252はネットワークインターフェースハードウェアにおけるコード及び／又はプロセッサを表現し、ネットワークインターフェースハードウェアは、本願で説明される組み込みエージェントの機能を提供することができる。システム200は一般に１つの組み込みエージェントしか含んでいないが、複数の組み込みエージェントがシステム200内で動作するように構築されてもよいことに留意を要する。より一般的な実施形態は、図示の破線の組み込みエージェントの何れかを含み、他は含まれていない。
【００２７】
ネットワークインターフェースハードウェア250は、ホストOS132により使用され、何れかの組み込みエージェントが、ネットワークとの無線通信（ローミングを含む）のためにシステム200内に存在する。一実施例の場合、組み込みエージェントはネットワークインターフェースに対する「メイン」接続を有し、ネットワークインターフェースは、無線通信、及び専用の又は帯域外の通信チャネルを制御する。すなわち、ホストOS132及び組み込みエージェントは、無線接続を管理するように、ネットワークインターフェースハードウェア250において構築可能である。概して、何れかがハードウェアで構築され、構築されたものは、セッションコンテキスト情報の管理を現在制御するものである。しかしながら、組み込みエージェントが無線接続を管理するように構築されていないという唯それだけのことは、組み込みエージェントが、１つ以上の通信チャネルに対してアクセス又は制御できないこと、あるいはネットワークインターフェースハードウェア250とともに機能できないことを必ずしも意味しない。
【００２８】
図３は、無線セッションコンテキスト情報をやりとりする組み込みエージェント及びホストオペレーティングシステムのエレメントを有するクライアント装置例のブロック図である。図３のクライアント装置は、ホストOS310、組み込みエージェント370及びハードウェアMAC／PHY380を含む。ホストOS310は、本願で説明される何れかの例で説明されるようなホストOSを表現する。組み込みエージェント370は、本願で説明している何れかのタイプの組み込みエージェントの形態を表現する。ハードウェアMAC／PHY380は、MAC（媒体アクセス制御）及び／又はPHY（物理）レイヤのハードウェアを表現し、無線ネットワークに対する接続に必要なハードウェアインターフェースを提供する。
【００２９】
ホストOS310は多数の要素を含み、それらの要素は、無線接続に関してホストOSの下でメインプロセッサ上で動作する。他の目的に関する他の要素が動作していてもよい。ホストOS310は、認証（auth）セキュリティクレデンシャル部312を含み、ユーザ又はクライアント装置のネットワークアクセスを認証する。セキュリティクレデンシャル（信用証明書、資格証明書）は、例えば、ユーザ名及びパスワードを含んでもよい。ホストOS310はパワーセーブ起動部314を含み、パワーセーブモードにおいて使用するユーザ又はシステムアドミニストレータのコンフィギュレーションオプションを提供する。例えば、システムが、コンテキスト情報を組み込みエージェントに伝送し、組み込みエージェントがクライアント装置を常に接続させるように構築するか否かをユーザは選択できる。そのような特徴はオフにすることもできる。一実施例において、パワーセーブ起動部314は、デバイスドライバにコンフィギュレーションパラメータを仕向け、あるプロシジャ／ルーチンが使用されることを示す。したがって、同じデバイスドライバが全てのプラットフォームで使用可能であり、パワーセーブ起動部は、適切な組み込みエージェントが存在するプラットフォームにおいてのみトリガを受け、パワーセーブモードにおける無線接続を管理することができる。
【００３０】
QoS（サービス品質）アプリケーション（app）部316は、ネットワークアクセスを行うだけでなくオペレーティングパラメータを指定するアプリケーションを表現し、そのオペレーティングパラメータは、アプリケーションに期待されるサービスレベルを決める。アプリケーションは、例えば、ビデオ、音声、メッセージ又は電子メールに関するサービスを提供する。AP（アクセスポイント）リスト318は、クライアント装置を構築することが可能なアクセスポイントのリストを与える。したがって、APリスト318は、「既知の」ネットワーク接続ポイントのリストを表現する。
【００３１】
サプリカント330は、ネットワークに対する完全なクライアント認証を実行するのに使用される何らかのタイプのクライアントセキュリティソフトウエアを表現する。概して、サプリカント330は、メインOSに構築されているような及びネットワークアドミニストレータによる全ての認証方法を実行する。一実施例において、ネットワークに対する初期接続は、完全なクライアント認証を引き起こし、ネットワークのセキュリティ情報及び鍵を、セキュリティ判定ポイント及びポリシ設定ポイント（例えば、図１の認証部120）に対して送受信することを要する。以後の認証（ローミングの認証）は、高速かつ効率的なアルゴリズムと共に実行可能である。サプリカント330は、EAP（拡張可能認証プロトコル）の方法332を使用し、セキュリティ情報をやり取りするプロトコル方法を判別／決定する。PMK−R0／R1（ペア形式のマスターキー＿ローミングレベル０／ローミングレベル１）キー導出部334は、セッションを設定すること（そしてマスターキーを使用すること）に関する通信の暗号化及び／又は認証処理用の鍵を、サプリカント330が導出できるようにする。初期認証部（auth）336は、初期の802．11rアソシエーションEAP認証の機能を提供し、これはセッションに関する情報を示す。
【００３２】
ホストOS310は、キー保存部340を含み、高速ローミング及び安全な移動を行うのに使用されるセキュリティキーを保存する。全てのソフトウェア要素は、動作中にキー保存部340内の適切なキーにアクセスする。含まれているキーの具体例は、PMK−R0キー342、PTK（ペア形式のトランジションキー）344及び複数のPMK−R1キー346である。PMK−R0キー342は、ネットワークの認証認可部と共にセッションを管理するキーを表現し、そのネットワークにクライアント装置は接続される。PMK−R1キー346は、クライアント装置を各APに接続することに関するキーを表現する。PTK344は、あるAPから別のものへローミングすることに関するキーを表現する。
【００３３】
ホストOS310は無線装置ドライバ350を包含及び／又は管理する。図示されているようなデバイスドライバ350は、IEEE802．11rの高速ローミングプロトコル法に対応可能な多数の要素を含む。11rFT（高速遷移）初期（init）アソシエーション（assoc）352は、セッション中に最初にAPとの関連付けを行うモジュールを表現する（既にクライアントがAPに接続されている場合は、最初であってもなくてもよい。）。11rFTベース手段（mech）354は高速遷移手段を表現し、その高速遷移手段は、クライアント装置にとってネットワークに既に設定されているコネクション上に構築される。したがって、認証は、その装置にとって既に存在している基礎的な認証に基づく。11rFT予約（resv）手段356は、高速ローミング予約機能を提供する。
【００３４】
デバイスドライバ350は１つ以上のモジュールを表現するAPセレクタ358を含み、1つ以上のモジュールは、APリスト318にアクセスし、検出した無線信号が既知のAPに関連しているか否かを判別する。信号が既知のAPに関連していた場合、デバイスドライバはコンフィギュレーションルーチンを起動し、既知のどのAPが最良のコネクション選択肢をもたらすかを判定する。一実施例において、APセレクタ358は、検出した複数のAPの内、最良である可能性があるコネクションに自動的に接続する機能を有する。
【００３５】
PTK導出部360は、デバイスドライバ350がローミングキーを導出及び使用可能にする機能モジュールを提供する。QoSスケジューラ362は、様々なトラフィックの条件にしたがって、トラフィックの割り当てを計画する（スケジューリングする）機能を提供する。そのようなスケジューリングは、クライアント装置がパワーセーブモードや通常動作モードにあることを考慮に入れてもよい。QoSパラメータ（params）364は、特定のアプリケーションのQoS条件にしたがって、スケジューリングを行うためのコンフィギュレーション及びオプションを提供する。ドライバコンフィギュレーション（config）366は、メインドライバコンフィギュレーションオプション及び現在の設定内容を保存する。11rセッション情報（info）368は、セキュリティクレデンシャル、キー、セキュリティコンフィギュレーション等のようなセッションを維持するのに必要なものを含む。例えば、セッション情報はPMK−R0キーを含み、そのキーからPMK−R1キーが導出可能である。そのようなセッション情報は、ホストOS310がパワーセーブモードに入った場合、組み込みエージェント370に転送され、ホストOS310が通常動作モードに戻った場合、組み込みエージェント370から返される。
【００３６】
ホストOS310は、１つ以上のプラットフォームトリガ320を含み、これはホストOSをスリープモードから起動させる契機（トリガ）を与える手段を示す。そのようなトリガは、例外やエラー、再び完全な認証を実行するためのネットワークによるリクエスト、タイミング手段、低電力状態から装置を起こすためのユーザ入力、外部コマンドその他の手段である。コンテキスト通信プロトコル322は、セッションコンテキスト情報を組み込みエージェント370と通信するためにホストOS310が使用するプロトコルを表現する。リンクAはセッションコンテキストトランスファ（転送されるセッションコンテキスト情報）を表現する。
【００３７】
組み込みエージェント370は、ホストOS310と同様な多数の機能要素を有する。これらの要素の実施形態は、ホストOS310における同じ要素の実施形態と厳密に同じでなくてもよいことに留意を要する。したがって、組み込みエージェント370における同じ機能の要素には、ホストOS310における対応する要素と同じ番号のラベルが付けられている。しかしながら、そのようなラベルは、要素がホストOS310及び組み込みエージェント370において厳密に同様に実現されることを必ずしも示すわけではない。また、パワーセービング及び／又はコンフィギュレーションに関して理解される点を除いて、それらが別様に実現されなければならないわけではない。組み込みエージェントの実施形態は、説明した要素各々を必ずしも全て含んでいなくてもよい。
【００３８】
組み込みエージェント370は、APを特定／検出するためのAPリスト318を含み、クライアント装置はそのAPに接続することができる。組み込みエージェント370は、PMK−R0キー342、PTK344及び複数のPMK−R1キー346を含むキー保存部340を有する。組み込みエージェント370はローミングデバイスドライバ372を含み、概してこれはデバイスドライバ350と同様な要素と共に実現されてもよいが、より少ない要素を有する。したがって、ローミングデバイスドライバ372の実施形態は、概して、ホストOS310のデバイスドライバ350と比較して、より小型であり、より相応しく特化されたデバイスドライバである。
【００３９】
組み込みエージェント370が無線接続を維持する場合、ローミングデバイスドライバ372は、ローミングを実行し及び無線接続を維持するのに必要な要素を含む。図示されているように、ローミングデバイスドライバ372は、11rFTベース手段354、11rFT予約手段356、（R1及び／又はR0キーを導出する）PMK−R0／R1キー導出部334、APセレクタ374及びQoSパラメータ364を含む。そのような要素により、ローミングデバイスドライバ372は、ローミングアルゴリズムを実行し、IEEE802．11rの高速ローミングプロトコルを実行する。一実施例において、組み込みエージェント370は、高速遷移認証（fast  transition  authentication）のみを実行し、新規認証（new  authentication）を実行しない。新たな認証が実行されない場合、デバイスドライバは、複雑な多数の相互認証方法を実行する必要がない。
【００４０】
本願において説明されるように、ローミングの責務を移管する場合、ホストOS310及び組み込みエージェント370は、セッションコンテキスト情報をやりとりする。そのようなやりとりは、他方のドライバが独立した高速ローミングを実行可能にするのに本質的な特定の情報について、ホストデバイスドライバ350がローミングデバイスドライバ372と同期することとして理解できる。ローミングデバイスドライバ372は11rセッション情報368を含み、これはデバイスドライバ350の同様なブロックに匹敵する。しかしながら、そのような情報は静的である必要はなく、デバイスがローミングするにつれて時間と共に変化してもよいことに留意を要する。
【００４１】
セッション情報368は、ドライバ状態変数、コンフィギュレーション、オプション、及びローミングパラメータのような情報を含む。そのような情報は、現在の／所望のTSPEC（トラフィック仕様）のようなQoSパラメータ、TCLAS（トラフィッククラス）要素、現在使用しているキー階層のルートキー、クライアントがローミング可能な移動ドメイン、クライアントが先ずルートキーを設定する場合におけるキーホルダ識別子等を含む。上記の情報のリストは、限定列挙ではなく、保存される可能性がある情報タイプの具体例を示す。
【００４２】
一実施例における組み込みエージェント370は、複雑なAP選択アルゴリズムを実行する必要はないが、ローミングする可能性のある候補のAPに関するキャッシュを保持する必要がある。この場合、概してAPセレクタ374はAPセレクタ358よりも簡易になる。ローミングデバイスドライバ372の要素は、キー階層から導出されたキーのリストを保持し、高速BSS（基地局サブシステム）トランジションプロトコルを含むIEEE802．11rプロトコルを実行することができる。組み込みエージェント370は、コンテキスト通信プロトコル322を含み、ホストOS310とセッションコンテキストを通信することができる。
【００４３】
クライアント装置はハードウェアMAC／PHY380を含み、ホストOS310及び組み込みエージェント370の双方にアクセスすることができる。ハードウェアMAC／PHY380は、ホストOS310に対する通信リンクB（例えば、PCIバス接続）と、組み込みエージェント370に対する通信リンクC（例えば、補助デバイスチャネル）とを含む。メインプロセッサ及び組み込みエージェント370の双方は、同じ無線ドライバMACアドレスを共有し、WLAN（無線ローカルエリアネットワーク）ハードウェアにおけるセキュリティパラメータを構築することができる。各々は、WLANハードウェアにおけるWLANファームウェアコードを適切に構築及び実行することができる。
【００４４】
ハードウェアMAC／PHY380は多数の要素を含んでもよい。PTK382はセッションキーを表現し、これはPTK344と同じでもよいし或いは関連していてもよい。PTKセットキーマルチプレクサ（mux）384は、デバイスがハードウェア処理のキーを利用できるようにする。ファームウェア385は、ハードウェアに関する処理論理装置を提供する。パワーセーブマルチプレクサ論理装置386は、パワーセーブ動作時に使用する別の論理装置を提供する。無線データmux388は、オープンである異なるコネクションにおけるデータを多重できるようにする。
【００４５】
ここで説明されている様々な要素は、説明した機能を実行する手段である。説明される要素各々は、ソフトウェア、ハードウェア又はそれらの組み合わせを含む。要素は、ソフトウェアモジュール、ハードウェアモジュール、特定用途ハードウェア（例えば、特定用途ハードウェア、特定用途集積回路（ASIC）、ディジタル信号プロセッサ（DSP）等）、内蔵コントローラ、有線配線回路等として実現されてもよい。ソフトウェアコンテンツ（例えば、データ、命令、コンフィギュレーション）は、マシン読取可能な媒体を有する製品により提供され、その媒体は実行可能な命令を表現するコンテンツを提供する。コンテンツは、本願で説明される様々な機能／処理を実行するマシン（コンピュータ）により提供される。マシン読取可能な媒体は、（例えば、コンピュータ装置、電子システム等のような）マシンがアクセス可能な形式で情報を提供する（すなわち、保存する及び／又は送信する）何らかの手段を含み、例えば、書き込み可能な／書き込み不可能な媒体（例えば、リードオンリメモリ（ROM）、ランダムアクセスメモリ（RAM）、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリ装置等）である。コンテンツは、直接的に実行可能（「オブジェクト」又は「実行可能な」形式）でもよいし、ソースコードでもよいし、あるいは別のコード（「デルタ」又は「パッチ」コード）でもよい。マシン読取可能な媒体はストレージ又はデータベースを含み、そのストレージやデータベースからコンテンツがダウンロード可能である。マシン読取可能な媒体は、需要があった時点又は配信時に保存されたコンテンツを有するデバイス又はプロダクトを含んでもよい。したがって、保存されたコンテンツを有するデバイスを配布することや、通信媒体を介してダウンロードするコンテンツを提示することは、説明されたそのようなコンテンツを製品に提供することとして理解される。
【００４６】
図４は、無線クライアント装置のパワーセーブモードにおいて無線接続を維持するプロセス例を示すフローチャートである。ここに示されているフローチャートは、様々な処理プロセスのシーケンス例を示す。特定の並び又は順序で示されているが、特に断りのない限り、処理の順番は変更可能である。したがって、図示の例は単なる一例として理解されるべきであり、安全なチャネル(セキュアチャネル)を設定するプロセスは、別の順序で実行することも可能であり、いくつかの処理は並列的に実行されてもよい。さらに、１つ又は複数の処理が本発明の様々な実施例において省略可能であり、全ての実施形態において必ずしも全ての処理が必須ではない。他のプロセスフローも可能である。
【００４７】
クライアント装置は通常の処理を実行し（402）、ホストOSはクライアントの無線接続を管理している。ホストOS又はホストOSのプラットフォーム上の要素が、パワーセーブモードを開始する（404）。パワーセーブモードを開始することは、ホストOSが、コンテキスト情報を組み込みエージェントにダウンロードすることを引き起こす（406）。コンテキスト情報を渡すことに関し、無線接続の管理は、ハードウェア上で行われてもよい。その場合、ネットワークインターフェースカード（NIC）のようなネットワークインターフェースハードウェアが、パワーセーブモードを準備する（408）。NICは、パワーセーブモードに使用される所定の要素を変更する。NICは、パワーセーブ処理に使用する所定の値又は情報を保存する。NICは、ホストOSから組み込みエージェントへの制御の変更を設定する。
【００４８】
システムはパワーセーブモードに入る（410）。組み込みエージェントに対するコンテキストダウンロードは終了し、組み込みエージェントは、WLAN  NICにおいて動作可能になる（412）。組み込みエージェントは、ホストがパワーセーブモードで動作している間、ローミングを制御する（414）。組み込みエージェントは、無線接続を監視し、起動のイベントを監視する（416）。すなわち、組み込みエージェントは、起動のイベントが生じたか否かを規則的に又は連続的に確認してもよい。
【００４９】
一実施例において、組み込みエージェントは、以下の１つ以上の条件の下で、メインホストプロセッサに対する例外処理を掲げる。第１の条件は、クライアントがローミング可能な領域（ドメイン）外に出た場合である。第２の条件は、組み込みエージェントが、現在のコンテキスト、キー又は他の情報要素（ローミングプロトコルを処理するのに必要な情報要素）を持っていなかった場合である。第３の条件は、組み込みエージェントがターゲットの無線APを認証できなかった場合である。第４の条件は、プラットフォームが完全な全ての認証（マスターキーの再キーイング（re−keying）を含む）を実行することを、無線APが要求していた場合である。第５の条件は、ホストOSを起動するように設定されているネットワークパケットを、組み込みエージェントが受信した場合である（例えば、チャットが到来した場合、メール／IM（インスタントメッセージ）が到来した場合、音声メールが到来した場合等）。全ての実施例において、これらの条件の全てが例外となっていることは必須でない。また、ある実施形態において、例外となる他の条件が存在してもよい。組み込みエージェントが、上記の例外の何れも確認できなかった場合、又は何らかの他の起動イベントが発生したこと(例えば、ユーザがクライアント装置を起動するよう指示したこと)を確認できなかった場合（418）、組み込みエージェントは無線ローミングを行い続ける。起動条件又はイベントが検出された場合（418）、システムは起動し、イベント(420)に進む。
【００５０】
システムが起動して再開した場合、メインプロセッサは、無線接続の制御を引き継ぐ準備が整ったことを組み込みエージェントに通知する。組み込みエージェントは、起動の指示及び準備信号をメイン無線装置から受信する（422）。組み込みエージェントのデバイスドライバは、WLANハードウェアの制御をホストに渡し（424）、変更内容を含むセッションコンテキスト全体をメインドライバに配布する。組み込みエージェントは、受信した如何なるパケットもホストに渡す。すなわち、ローミング又は起動イベントに関して受信されている如何なるパケットも、組み込みエージェントに保存可能であり、コンテキストを転送する際にホストに渡すことができる。そして、システムは通常動作に戻る（402）。
【００５１】
ここで説明されたことに加えて、本願の範囲から逸脱せずに、様々な変形が本発明の開示された実施例及び実施形態になされてもよい。したがって、説明及び図示されたものは例示であり、限定的な意味に解釈されるべきでない。本発明の範囲は以下の特許請求の範囲によって定められる。
【先行技術文献】
【非特許文献】
【００５２】
【非特許文献１】西暦1999年2月に発行されたIEEE802．11a−1999
【非特許文献２】西暦1999年2月に発行されたIEEE802．11b−1999
【非特許文献３】西暦2003年10月に発行されたIEEE802．11g−1999
【非特許文献４】西暦2004年10月に発行されたIEEE802．16−2004
【図１】
2010541414.tif 000003
【図２】
2010541414.tif 000004
【図３】
2010541414.tif 000005
【図４】
2010541414.tif 000006
【国際調査報告】
2010541414.tif 000007