(57)【要約】【課題】クライアントコンジットを使用して、切断された無線クライアントのブートストラップおよび障害診断を可能にするシステムおよび方法を提供すること。【解決手段】クライアントコンジットを使用して、切断されたクライアント３０５が、近くのクライアントの支援を得て、自らの諸問題を診断することができるようにされる。この技術は、ＩＥＥＥ８０２．１１のビーコン機構およびプローブ機構を活用して、接続されたクライアント３０８が切断されたクライアント３０５を検出するために不必要なオーバーヘッドを被らないことを確実にすることができる。切断されたクライアント３０５として偽装しているローグデバイスを検出するための方法も提供する。【選択図】図３
2007129274.tif 000002
【特許請求の範囲】
【請求項１】
インフラストラクチャネットワークと該ネットワークから切断された第１の無線コンピューティングデバイスの間の通信を、該ネットワークに接続された第２の無線コンピューティングデバイスを介して円滑にするコンピュータ実行可能命令を含むコンピュータ可読媒体であって、該命令は前記第１の無線コンピューティングデバイス上で実行されて、
複数のチャネル上で無線トラフィックを監視するため、前記第１の無線コンピューティングデバイス上でプロミスキャスモードをイネーブルするステップと、
前記第２の無線コンピューティングデバイスのトラフィックパケットを検査し、前記第２の無線コンピューティングデバイスが前記インフラストラクチャネットワークに接続されていることを確認するステップと、
前記第２の無線コンピューティングデバイスに対応するチャネル上で新たな無線ネットワークを作成するステップと、
前記新たな無線ネットワーク上で遭難信号をブロードキャストするステップと、
前記第２の無線コンピューティングデバイスからアクノレッジを受信したことに応答して前記遭難信号を終了するステップと、
前記第２の無線コンピューティングデバイスによる接続のために、アドホック無線ネットワークを開始するステップと
を含むことを特徴とするコンピュータ可読媒体。
【請求項２】
前記開始するステップの前に、前記第２の無線コンピューティングデバイスにアクノレッジを伝送するステップがさらに実行されることを特徴とする請求項１のコンピュータ可読媒体。
【請求項３】
前記インフラストラクチャネットワークに対して認証されるために、前記第２の無線コンピューティングデバイスに認証情報を送信するステップがさらに実行されることを特徴とする請求項１のコンピュータ可読媒体。
【請求項４】
前記第２の無線コンピューティングデバイスを介して前記インフラストラクチャネットワークに診断メッセージを送信するステップがさらに実行されることを特徴とする請求項１のコンピュータ可読媒体。
【請求項５】
前記作成するステップは、前記第１の無線コンピューティングデバイスがアドホックネットワークを開始するようにさせるか、または無線アクセスポイントとして動作するようにさせるステップを含み、前記遭難信号は既知の無線プロトコルに準拠するビーコンを含むことを特徴とする請求項１のコンピュータ可読媒体。
【請求項６】
前記ビーコンは乱数を含むことを特徴とする請求項５のコンピュータ可読媒体。
【請求項７】
前記遭難信号は、公開プロトコルまたは独占プロトコルに準拠して構成されたブロードキャストパケットを含むことを特徴とする請求項１のコンピュータ可読媒体。
【請求項８】
インフラストラクチャネットワークと該ネットワークから切断された第１の無線コンピューティングデバイスの間の通信を、該ネットワークに接続された第２の無線コンピューティングデバイスを介して円滑にするコンピュータ実行可能命令を含むコンピュータ可読媒体であって、該命令は前記第１の無線コンピューティングデバイス上で実行されて、
前記第１の無線コンピューティングデバイスから遭難信号を受信するステップと、
前記遭難信号のアクノレッジを前記第１のコンピューティングデバイスに送信するステップと、
前記アクノレッジに対する応答を前記第１の無線コンピューティングデバイスから受信するステップと、
前記第２の無線コンピューティングデバイスを前記第１の無線コンピューティングデバイスによって開始されたアドホックネットワークに参加させて、前記第２の無線コンピューティングデバイスが前記アドホックネットワークと前記インフラストラクチャネットワークの両方に実質的に同時に接続されるようにするステップと
を含むことを特徴とするコンピュータ可読媒体。
【請求項９】
前記第２の無線コンピューティングデバイスは、マルチネットモードを介して前記アドホックネットワークに参加することを特徴とする請求項８のコンピュータ可読媒体。
【請求項１０】
前記コンピュータ実行可能命令は、前記第２の無線デバイスに、前記応答を受信した結果、前記マルチネットモードに入らせるステップをさらに実行させることを特徴とする請求項９のコンピュータ可読媒体。
【請求項１１】
前記第２の無線コンピューティングデバイスは２つ以上の無線アダプタを含み、前記第２の無線コンピューティングデバイスは、１つの無線アダプタを介して前記インフラストラクチャネットワークに接続され、別の無線アダプタを介して前記第１の無線コンピューティングデバイスに接続されることを特徴とする請求項８のコンピュータ可読媒体。
【請求項１２】
前記コンピュータ実行可能命令は、前記インフラストラクチャネットワークから切断された無線コンピューティングデバイスからの遭難信号を探して、定期的にスキャンを行うステップをさらに実行させることを特徴とする請求項８のコンピュータ可読媒体。
【請求項１３】
前記遭難信号はネットワーク識別ラベルを含み、前記アクノレッジは、該識別ラベルとは異なるネットワーク識別ラベルを含むことを特徴とする請求項８のコンピュータ可読媒体。
【請求項１４】
前記アクノレッジは８０２．１１プローブ要求であることを特徴とする請求項８のコンピュータ可読媒体。
【請求項１５】
前記第１の無線コンピューティングデバイスから認証情報を受信するステップと、
前記認証情報を前記インフラストラクチャネットワークに伝送するステップと
がさらに実行されることを特徴とする請求項８のコンピュータ可読媒体。
【請求項１６】
前記第１の無線コンピューティングデバイスに関する資格情報を前記インフラストラクチャネットワークから受信するステップと、
前記資格情報を前記第１の無線コンピューティングデバイスに伝送するステップと
がさらに実行されることを特徴とする請求項１５のコンピュータ可読媒体。
【請求項１７】
伝送される前記資格情報は、前記第１の無線コンピューティングデバイスが前記インフラストラクチャネットワークに直接に無線接続することを可能にすることを特徴とする請求項１６のコンピュータ可読媒体。
【請求項１８】
前記第１の無線コンピューティングデバイスから診断メッセージを受信するステップと、
前記第２の無線コンピューティングデバイスを介して前記診断メッセージを前記インフラストラクチャネットワークに伝送するステップと
がさらに実行されることを特徴とする請求項８のコンピュータ可読媒体。
【請求項１９】
マルチネットモードにおける、前記インフラストラクチャネットワークへの前記接続、および前記アドホックネットワークへの前記接続に対する時間割り当ては、構成可能な設定を介して制御されることを特徴とする請求項９のコンピュータ可読媒体。
【請求項２０】
前記応答を受信した後、前記第１のコンピューティングデバイスから前記遭難信号を受信し続けるステップと、
前記第１のコンピューティングデバイスをローグデバイスとして識別するステップと
がさらに実行されることを特徴とする請求項８のコンピュータ可読媒体。
【請求項２１】
切断された無線コンピューティングデバイスが、無線接続された無線コンピューティングデバイスを介してインフラストラクチャネットワークと通信することを可能にするためのシステムであって、
前記無線接続された無線コンピューティングデバイスのプレゼンスを検出し、遭難信号が送信されるようにし、前記切断された無線コンピューティングデバイス上でアドホック無線ネットワークを作成する、前記切断された無線コンピューティングデバイス上で実行される第１の診断クライアントプログラムと、
前記遭難信号を受信し、前記切断された無線コンピューティングデバイス上の前記アドホック無線ネットワークに接続することを、前記インフラストラクチャネットワークへの実質的に同時の接続を維持しながら行う、前記無線接続された無線コンピューティングデバイス上で実行される第２の診断クライアントプログラムと
を含むことを特徴とするシステム。
【請求項２２】
前記第２の診断クライアントプログラムは、マルチネットモードに入った後、前記アドホックネットワークに接続することを特徴とする請求項２１のシステム。
【請求項２３】
前記インフラストラクチャネットワーク上のネットワークサーバ上で実行される診断サーバプログラムをさらに含み、該プログラムが、前記無線接続された無線コンピューティングデバイス上で実行される前記第２の診断クライアントプログラムによって、前記切断された無線コンピューティングデバイスに代行して送信される認証情報を受信することを特徴とする請求項２１のシステム。
【請求項２４】
前記診断サーバプログラムは、前記切断された無線コンピューティングデバイスの認証を円滑にし、前記接続されたコンピューティングデバイス上で実行される前記第２の診断クライアントプログラムを介して、前記切断された無線コンピューティングデバイスに関する資格情報を伝送することを特徴とする請求項２１のシステム。
【請求項２５】
前記第２の診断クライアントプログラムは、前記第１の診断プログラムから診断情報を受信し、該診断情報を前記診断サーバプログラムに転送することを特徴とする請求項２１のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ネットワーク動作に関し、より詳細には、無線ネットワークにおける障害を診断することに関する。
【背景技術】
【０００２】
無線ネットワーキングの利便性は、無線ネットワーク（例えば、ＩＥＥＥ８０２．１１ネットワーク）の広範な採用をもたらした。企業、大学、自宅、および公共の場所が、目覚しい速度でそれらのネットワークを展開している。しかし、相当な数の「痛点（pain point）」が、エンドユーザおよびネットワーク管理者に対して残っている。ユーザは、間欠的な接続、劣悪なパフォーマンス、カバレッジ（coverage）の欠如、および認証の失敗などの、いくつかの問題を経験する。以上の問題は、劣悪なアクセスポイントレイアウト、デバイス構成の誤り、ハードウェアエラーおよびソフトウェアエラー、無線媒体の性質（例えば、干渉、伝播）、およびトラフィック輻輳などの、様々な理由に起因して生じる。ユーザは、しばしば、接続の問題およびパフォーマンスの問題に関して苦情を訴え、ネットワーク管理者は、企業セキュリティおよびカバレッジを保持しながら、それらの問題を診断するものと期待されている。ネットワーク管理者の仕事は、無線媒体の信頼できない性質、並びにそれらの問題の原因を突き止めるためのインテリジェントな診断ツールの欠如に起因して、特に困難である。
【０００３】
ＩＥＥＥ８０２．１１ネットワークを大規模に展開している企業の場合、多くの建物に分散された数千のアクセスポイント（ＡＳ）が存在する可能性がある。ネットワークの諸問題により、エンドユーザの欲求不満、および企業に関する生産性の損失がもたらされる。さらに、各エンドユーザ苦情の解決は、企業のＩＴ部門に対する追加のサポートスタッフ（personnel）費用をもたらし、この費用は、数十ドルになる可能性があり、これには、エンドユーザ生産性の損失に起因する費用が含まれない。
【０００４】
ＩＥＥＥ８０２．１１インフラストラクチャネットワークにおける障害診断は、無線ネットワーキングにおける他のより注目度の高い研究分野と比べて、研究者ら（research community）からの注目を集めていない。いくつかの企業が診断ツールを提供しようと試みているが、それらの製品は、いくつもの望ましい特徴を欠いている。例えば、それらの製品は、データを収集し、分析して、問題の可能な原因を確定する包括的な作業を行わない。さらに、ほとんどの製品は通常、ＡＰからデータを収集するだけであり、ネットワークのクライアント側からの所見を軽視する。クライアントの観点からネットワークを監視する一部の製品は、展開し、保持するのに高い費用がかかる可能性があるハードウェアセンサを要する。また、現在の問題解決法は通常、切断されたクライアントに関して、それらが最も助けを必要としているクライアントであっても、全くサポートを提供しない。
【０００５】
【特許文献１】米国特許出願公開第１０／４２８２１８号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上に概要を述べた諸問題は、少なくともある程度、本明細書で説明する、無線ネットワークにおける障害を検出し、診断するためのシステムおよび方法によって対処される。
【課題を解決するための手段】
【０００７】
以下に、読者に基本的に理解をもたらすため、本開示の簡略化した概要を提示する。この概要は、本開示の網羅的、または限定的な概略ではない。概要は、本発明の重要で、かつ、または不可欠な要素（複数）を明らかにするため、本発明の範囲を画定するため、または本発明の範囲を制限するために提供するものでは全くない。この概要の唯一の目的は、後に提示するより詳細な説明の前置きとして、開示する概念の一部を簡略化した形態で提示することである。
【０００８】
一実施形態では、システムおよび方法がクライアントコンジットを使用して、切断されたクライアントのブートストラップおよび障害診断を可能にする。くつかの実施形態では、クライアントコンジットが使用され、切断されたクライアントが近くのクライアントの助けで自らの諸問題を診断できるようにされる。この技術は、ＩＥＥＥ８０２．１１のビーコン（beaconing）機構およびプローブ機構を活用して、接続されたクライアントが切断されたクライアントを検出するために不必要なオーバーヘッドを被らないことを確実にすることができる。
【０００９】
一実施形態では、インフラストラクチャネットワークと、そのネットワークから切断された第１の無線コンピューティングデバイスとの間の通信を、そのネットワークに接続された第２の無線コンピューティングデバイスを介して円滑にするコンピュータ実行可能命令を含むコンピュータ可読媒体が提供され、コンピュータ実行可能命令は第１の無線コンピューティングデバイス上で実行され、複数のチャネル上で無線トラフィックを監視するため、第１の無線コンピューティングデバイス上でプロミスキャス（promiscuous）モードをイネーブルするステップと、第２の無線コンピューティングデバイスのトラフィックパケットを検査して第２の無線コンピューティングデバイスがインフラストラクチャネットワークに接続されていることを確認する（determine）ステップと、第２の無線コンピューティングデバイスに対応するチャネル上で新たな無線ネットワークを作成するステップと、その新たな無線ネットワーク上で遭難信号（distress signal）をブロードキャストするステップと、第２の無線コンピューティングデバイスからアクノレッジを受信したことに応答して遭難信号を終了するステップと、第２の無線コンピューティングデバイスによる接続のために、アドホック無線ネットワークを開始するステップとを実行する。
【００１０】
別の実施形態では、インフラストラクチャネットワークと、そのネットワークから切断された第１の無線コンピューティングデバイスとの間の通信を、そのネットワークに接続された第２の無線コンピューティングデバイスを介して円滑にするコンピュータ実行可能命令を含むコンピュータ可読媒体が提供され、コンピュータ実行可能命令は、第２の無線コンピューティングデバイス上で実行され、第１の無線コンピューティングデバイスから遭難信号を受信するステップと、遭難信号のアクノレッジを第１のコンピューティングデバイスに送信するステップと、アクノレッジに対する応答を第１の無線コンピューティングデバイスから受信するステップと、第２の無線コンピューティングデバイスが、マルチネットモードに入り、第１の無線コンピューティングデバイスによって始められた（originated）アドホックネットワークに参加するようにさせて、第２の無線コンピューティングデバイスが、アドホックネットワークとインフラストラクチャネットワークに実質的に同時に接続されるステップとを実行する。
【００１１】
さらに別の実施形態では、切断された無線コンピューティングデバイスが、無線接続された無線コンピューティングデバイスを介して、インフラストラクチャネットワークと通信することを可能にするためのシステムが提供され、システムは、切断された無線コンピューティングデバイス上で実行される第１の診断クライアントプログラムと、接続された無線コンピューティングデバイス上で実行される第２の診断クライアントプログラムとを含み、第１の診断クライアントプログラムは、接続された無線コンピューティングデバイスのプレゼンス（presence）を検出し、遭難信号が送信されるようにし、切断された無線コンピューティングデバイス上でアドホック無線ネットワークを作成し、第２の診断クライアントプログラムは、遭難信号を受信し、マルチネットモードに入り、切断された無線コンピューティングデバイス上のアドホックネットワークに接続する。
【００１２】
添付の特許請求の範囲は、本発明の諸特徴を詳細に記載するが、本発明、および本発明の利点は、添付の図面と併せて解釈される以下の詳細な説明から最もよく理解される。
【発明を実施するための最良の形態】
【００１３】
切断されたコンピュータが、接続されたコンピュータを介して、ネットワーク管理者およびサポートスタッフに情報を伝えることを可能にする方法およびシステムを、好ましい諸実施形態に関連して以下に説明する。ただし、本発明の方法およびシステムは、そのように限定されない。さらに、本明細書で説明する方法およびシステムは、単に典型的であり、本発明の趣旨および範囲を逸脱することなく、変形形態を実施することができることが、当業者には容易に理解されよう。以下の説明を精査した後、以上は、単に例示的であり、単に例として提示されただけであり、限定するものではないことが、当業者には明白となろう。多数の変更形態、および他の例示的な諸実施形態が、当業者の能力範囲（scope）に含まれ、本発明の範囲に含まれるものと企図される。詳細には、本明細書で提示する実施例の多くには、方法動作またはシステム要素の特定の組み合わせが関わるが、それらの動作およびそれらの要素を他の形で組み合わせて、同一の目的を達することもできることを理解されたい。１つの実施形態に関連してだけ説明する動作、要素、および特徴は、他の諸実施形態における同様の役割から除外されることを意図するものではない。さらに、請求要素を修飾する特許請求の範囲における「第１の」や「第２の」などの順序を表す語の使用は、それ自体、１つの請求要素の他の請求要素を超える優先順位、優先度、または順序、あるいは、方法の動作が実行される時間的順序を表すものでは全くなく、単に、ある名前を有する１つの請求要素を、同一の名前（順序を表す語の使用を除いて）を有する別の要素から区別して、請求要素を区別するラベルとして使用されている。
【００１４】
以下に列挙するのは、企業無線ネットワークを使用し、維持する際に、ユーザおよびネットワーク管理者が直面する諸問題の多くである。
【００１５】
接続問題：エンドユーザは、建物の一部の区域におけるネットワーク接続の一貫性のないネットワーク接続、またはネットワーク接続の欠如について苦情を訴える。そのような「デッドスポット（dead spot）」または「ＲＦホール（hole）」は、弱いＲＦ信号、信号の欠如、変化する環境条件、または障害物に起因して生じる可能性がある。ＲＦホールを自動的に探し出すことは無線管理者に不可欠であり、次いで、無線管理者は、問題の区域で、ＡＰを再配置するか、またはＡＰの密集度を高めること、あるいは、より良好なカバレッジのために近くのＡＰ上の電力設定を調整することにより、問題を解決することができる。
【００１６】
パフォーマンス問題：このカテゴリは、クライアントが、低下したパフォーマンス、例えば、低いスループットまたは高い待ち時間を観察するすべての状況を含む。パフォーマンス問題が存在するいくつかの理由、例えば、輻輳に起因するトラフィック減速、電子レンジまたはコードレス電話に起因するＲＦ干渉、マルチパス干渉、劣悪なネットワーク設計に起因する、または下手に構成されたクライアント／ＡＰに起因する大きい同一チャネル干渉が存在する可能性がある。また、パフォーマンス問題は、ネットワークの非無線部分における問題の結果として、例えば、遅いサーバまたはプロキシに起因しても生じる可能性がある。したがって、問題が無線ネットワークにあるか、あるいは他の場所にあるかを診断ツールにより判定できることが有用である。さらに、無線部分における原因を特定することは、ネットワーク管理者が、システムのより良い環境整備を行い（better provision）、エンドユーザの体験を向上させることができるようにするために重要である。
【００１７】
ネットワークセキュリティ：大企業は、しばしば、ＩＥＥＥ８０２．１ｘのようなソリューションを使用して、企業のネットワークをセキュリティで保護する。しかし、従業員が無許可のＡＰを企業ネットワークのイーサネット（登録商標）タップに接続することにより、気付かずにセキュリティを危険にさらした場合、ＩＴ管理者に悪夢のシナリオが生じる。この問題は、一般に、「ローグ（rogue）ＡＰ問題」と呼ばれる。これらのローグＡＰは、無線ネットワークセキュリティの最も一般的で、深刻な侵害（breach）の１つである。そのようなＡＰの存在に起因して、外部ユーザが企業ネットワーク上のリソースへのアクセスを許され、それらのユーザが情報を漏洩させる、またはその他の損害を生じさせる可能性がある。さらに、ローグＡＰは、付近の他のアクセスポイントに対する干渉を生じさせる可能性がある。手動のプロセスを介して大型ネットワークにおけるローグＡＰを検出することは、高い費用がかかり、時間を消費する。このため、そのようなＡＰを事前対応して（proactively）検出することが重要である。
【００１８】
認証問題：ＩＴサポートグループのログによれば、いくつかの苦情は、ユーザ、ネットワークに対して自身を認証することができないことに関連する。ＩＥＥＥ８０２．１ｘのような技術によってセキュリティで保護された無線ネットワークでは、認証の失敗は、通常、証明書が欠けていること、または証明書の有効期限が切れていることに起因する。このため、そのような認証問題を検出し、クライアント、有効な証明書を使用してブートストラップを行うのを支援することが重要である。
【００１９】
本発明は、添付の図面と併せて読まれるべき以下の詳細な説明を介して、より完全に理解されよう。以下の説明では、同様の符号は、本発明の様々な実施形態内の類似した要素を指す。本発明の諸態様は、適切なコンピューティング環境において実施されるものとして示される。必須ではないが、本発明は、パーソナルコンピュータによって実行される、手続きなどの、コンピュータ実行可能命令の一般的な文脈で説明される。一般に、手続きには、特定のタスクを実行する、または特定の抽象データ型を実装するプログラムモジュール、ルーチン、関数、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。さらに、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータを含む他のコンピュータシステム構成を使用して実施してもよいことが、当業者には理解されよう。また、本発明は、タスクが、通信ネットワークを介してリンクされたリモート処理デバイス（複数）によって実行される分散コンピューティング環境においても実施することができる。分散コンピューティング環境では、プログラムモジュール（複数）は、ローカルメモリ記憶装置とリモートメモリ記憶装置の両方に配置することができる。コンピュータシステムという用語を使用して、分散コンピューティング環境で見られるコンピュータ（複数）のシステムを指す可能性がある。
【００２０】
図１は本発明の諸態様を実施することができる適切なコンピューティングシステム環境１００の実施例を示す。コンピューティングシステム環境１００は適切なコンピューティング環境の一実施例に過ぎず、本発明の用法または機能に関して何ら限定を示唆するものではない。また、コンピューティング環境１００が典型的な動作環境１００に例示したコンポーネントのいずれの１つ、またはいずれの組み合わせに関連する依存関係または要件も有するものと解釈してはならない。本発明の一実施形態は、典型的な動作環境１００に例示した各コンポーネントを実際に含むが、本発明の別のより典型的な実施形態は、例えば、ネットワーク通信に要求される入出力デバイス以外の入出力デバイスを除外する。
【００２１】
図１を参照すると、本発明を実施するための典型的なシステムが、コンピュータ１１０の形態で汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントには、処理装置１２０、システムメモリ１３０、並びにシステムメモリから処理装置１２０までを含む、様々なシステムコンポーネントを結合するシステムバス１２１が含まれることが可能であるが、以上には限定されない。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含め、いくつかのタイプのバス構造のいずれであってもよい。例として、限定としてではなく、そのようなアーキテクチャには、インダストリスタンダードアーキテクチャ（Industry Standard Architecture）（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（Micro Channel Architecture）（ＭＣＡ）バス、エンハンストＩＳＡ（Enhanced ISA）（ＥＩＳＡ）バス、ビデオエレクトロニクススタンダーズアソシエーション（Video Electronics Standards Association）（ＶＥＳＡ）ローカルバス、およびＭｅｚｚａｎｉｎｅバスとしても知られるペリフェラルコンポーネントインターコネクト（Peripheral Component Interconnect）（ＰＣＩ）バスが含まれる。
【００２２】
コンピュータ１１０は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０がアクセスすることができる任意の利用可能な媒体であることが可能であり、揮発性媒体と不揮発性媒体、リムーバブルな媒体とリムーバブルでない媒体がともに含まれる。例として、限定としてではなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことが可能である。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を格納するために、任意の方法または技術で実装された揮発性媒体および不揮発性媒体、リムーバブルな媒体およびリムーバブルでない媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、あるいは所望の情報を格納するのに使用することができ、コンピュータ１１０がアクセスすることができる他の任意の媒体が含まれるが、以上には限定されない。通信媒体は、通常、搬送波などの変調されたデータ信号、または他のトランスポート機構で、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを実現し、あらゆる情報配信媒体が含まれる。「変調されたデータ信号」という用語は、信号内に情報を符号化するような形で、特性の１つまたは複数が設定、または変更されている信号を意味する。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、並びに音響媒体、ＲＦ媒体、赤外線媒体、およびその他の無線媒体などの無線媒体が含まれる。また、以上の媒体のいずれか媒体の組み合わせも、コンピュータ可読媒体の範囲内に含められなければならない。
【００２３】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１やランダムアクセスメモリ（ＲＡＭ）１３２などの、揮発性メモリおよび／または不揮発性メモリの形態で、コンピュータ記憶媒体を含む。起動中などにコンピュータ１１０内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）が、通常、ＲＯＭ１３１の中に格納される。ＲＡＭ１３２は、通常、処理装置１２０が即時にアクセスすることができ、かつ／または現在、処理しているデータおよび／またはプログラムモジュール（複数）を含む。例として、限定としてではなく、図１は、オペレーティングシステム１３４、アプリケーションプログラム（複数）１３５、その他のプログラムモジュール（複数）１３６、およびプログラムデータ１３７を示す。
【００２４】
コンピュータ１１０は、他のリムーバブルな／リムーバブルでない揮発性／不揮発性のコンピュータ記憶媒体も含むことが可能である。単に例として、図１は、リムーバブルでない不揮発性の磁気媒体に対して読み取りまたは書き込みを行うハードディスクドライブ１４１、リムーバブルな不揮発性の磁気ディスク１５２に対して読み取りまたは書き込みを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭ、またはその他の光媒体などのリムーバブルな不揮発性の光ディスクに対して読み取りまたは書き込みを行う光ディスクドライブ１５５を示す。典型的な動作環境において使用することができるその他のリムーバブルな／リムーバブルでない揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、以上には限定されない。ハードディスクドライブ１４１は、通常、インタフェース１４０のようなリムーバブルでないメモリインタフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インタフェース１５０のような、リムーバブルなメモリインタフェースでシステムバス１２１に接続される。
【００２５】
以上に説明し、図１に示したドライブ（複数）および関連するコンピュータ記憶媒体により、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータのストレージがコンピュータ１１０に備えられる。図１では、例えばハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム（複数）１４５、その他のプログラムモジュール（複数）１４６、およびプログラムデータ１４７を格納しているのが示されている。以上のコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム（複数）１３５、その他のプログラムモジュール（複数）１３６、およびプログラムデータ１３７と同一であることも、異なることも可能であることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム（複数）１４５、その他のプログラムモジュール（複数）１４６、およびプログラムデータ１４７に、ここでは、それらが異なるコピーであることを示すために、異なる符号を与えている。ユーザは、タブレット、または電子デジタイザ１６４、マイク１６３、キーボード１６２、並びにマウス、トラックボール、またはタッチパッドと一般に呼ばれるポインティングデバイス１６１を介して、コマンドおよび情報をコンピュータ１１０に入力することができる。その他の入力デバイス（図示せず）には、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが含まれる。以上、およびその他の入力デバイスは、しばしばシステムバスに結合されたユーザ入力インタフェース１６０を介して処理装置１２０に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの、他のインタフェースおよびバス構造で接続してもよい。また、モニタ１９１またはその他のタイプのディスプレイデバイスも、ビデオインタフェース１９０のようなインタフェースを介してシステムバス１２１に接続される。また、モニタ１９１は、タッチスクリーンパネルなどと一体化してもよい。モニタおよび／またはタッチスクリーンパネルは、タブレットタイプのパーソナルコンピュータにおけるように、コンピューティングデバイス１１０が組み込まれた筐体に物理的に結合することができることに留意されたい。さらに、コンピューティングデバイス１１０のようなコンピュータは、出力周辺インタフェース１９４などを介して接続することができる、スピーカ１９７やプリンタ１９６などの、他の周辺出力デバイス（複数）も含むことが可能である。
【００２６】
コンピュータ１１０は、リモートコンピュータ１８０のような、１つまたは複数のリモートコンピュータに対する論理接続を使用する、ネットワーク化された環境において動作することもできる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、またはその他の一般的なネットワークノードであることが可能であり、通常、コンピュータ１１０に関連して前述した要素の多く、またはすべてを含むが、メモリ記憶装置１８１だけを図１に示した。図１に示した論理接続には、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３が含まれるが、その他のネットワークも含まれることが可能である。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットで一般的である。
【００２７】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、ネットワークインタフェースまたはネットワークアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、通常、インターネットなどのＷＡＮ１７３を介して通信を確立するためのモデム１７２、またはその他の手段を含む。内部にあることも、外部にあることも可能なモデム１７２は、ユーザ入力インタフェース１６０、またはその他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク化された環境では、コンピュータ１１０に関連して示したプログラムモジュール（複数）、またはプログラムモジュール（複数）の諸部分は、リモートメモリ記憶装置の中に格納することができる。例として、限定としてではなく、図１は、リモートアプリケーションプログラム（複数）１８５が、メモリデバイス１８１上に存在するのを示す。図示したネットワーク接続は、典型的であり、コンピュータ間で通信リンクを確立する他の手段も使用できることが理解されよう。詳細には、コンピュータ１１０は、好ましくは、ＩＥＥＥ８０２．１１プロトコルに準拠して動作する、無線ネットワーキングインタフェースまたは無線カードを含む。
【００２８】
本発明の実施形態では、システムは、図２に示したような幾つかのコンポーネントから成る。診断クライアント（ＤＣ）２０２は無線クライアントマシン２０４上で実行されるソフトウェアである。診断ＡＰ（ＤＡＰ）２０６がアクセスポイント２０８上で実行される。診断サーバ（ＤＳ）２１０が組織のバックエンドサーバ２１２上で実行される。
【００２９】
本発明の一部の実施形態では、診断クライアントモジュール２０２は、ＲＦ環境、並びに近隣のクライアント（複数）２１４およびＡＰ（複数）２１６からのトラフィックフローを監視する。通常の活動中、クライアントの無線カードは、プロミスキャスモードに入れられていない。ＤＣ２０２は、収集されたデータを使用して、ローカル障害診断を実行する。個別の障害検出機構に依存して、このデータの概要が、好ましくは、一定の間隔で、ＤＡＰ（複数）２０６およびＤＳ（複数）２１０に伝送される。さらに、ＤＣ２０２は、例えば、プロミスキャスモードに切り替え、近くのクライアントのパフォーマンス問題を分析して、オンデマンドデータ収集を実行するコマンドを、ＤＡＰ２０６またはＤＳ２１０から受け入れるようにプログラミングされる。無線クライアント２０４が切断された場合、ＤＣ２０２は、データをローカルデータベース／ファイルにログ記録する。このデータは、ネットワーク接続が再開された将来の或る時点で、ＤＡＰ２０６またはＤＳ２１０によって分析されることが可能である。
【００３０】
診断ＡＰ２０６は、ＤＣ（複数）２０２から診断メッセージを受け入れ、それらのメッセージを独自の測定値とともにマージし、要約レポートをＤＳ２１０に送信する。本発明の一部の実施形態は、診断ＡＰ２０６を含まない。ＤＡＰ２０６は、ＤＳ２１０から作業の負担を軽減する。本発明の一部の実施形態は、レガシＡＰ２２０（複数）とＤＡＰ（複数）２０６の混合を含み、ＡＰが、レガシＡＰ２２０（例えば、診断ＡＰを実行していないＡＰ）である場合、ＡＰの監視機能は、ＤＣ（複数）２０２によって実行され、ＡＰの要約機能および検査は、ＤＳ２１０において実行される。
【００３１】
診断サーバ２１０は、ＤＣ（複数）２０２およびＤＡＰ（複数）２０６からデータを受け入れ、適切な分析を実行して、種々の障害を検出し、診断する。ＤＳ２１０は、各ＡＰ２０８のロケーションを格納するデータベース２２１へのアクセスも有する。ネットワーク管理者は、システム内で複数のＤＳ２１０を展開して、例えば、各ＡＰのＭＡＣアドレスを特定のＤＳ２１０に対してハッシングすることにより、負荷をバランスさせることができる。一部の実施形態では、診断サーバ２１０は、Ｒａｄｉｕｓ２３０サーバやＫｅｒｂｅｒｏｓ２３２サーバなどの、他のネットワークサーバ（複数）と対話して、クライアント許可およびユーザ情報を獲得する。
【００３２】
図２を参照して説明した典型的なシステムは、事後対応（reactive）監視と事前対応（proactive）監視の両方をサポートする。事前対応監視では、ＤＣ（複数）およびＤＡＰ（複数）が、システムを継続的に監視し、ＤＣ、ＤＡＰ、またはＤＳによって異常が検出された場合、ネットワーク管理者が調査するように警報が発せられる。事後対応監視モードは、サポートスタッフが、ユーザ苦情を診断することを望む場合に使用される。スタッフは、ＤＳ（複数）の１つのＤＳから特定のＤＣに対して、問題を診断するためのデータを収集し、分析するようにディレクティブ（directive）を発することができる。
【００３３】
典型的なシステムは、パワーマネジメントに関して無視できるほど小さいオーバーヘッドを課す。後に説明する事前対応技術と事後対応技術はともに、非常にわずかなバンド幅、ＣＰＵ、またはディスクリソースしか消費せず、その結果、事前対応技術と事後対応技術はともに、バッテリ消費に無視できるほど小さい影響しか与えない。図２に示した典型的なシステムアーキテクチャは、ＤＣ（複数）、ＤＡＰ（複数）、およびＤＳ（複数）を使用することにより、本発明の諸実施形態におけるいくつかの機能をサポートする。サポートされる諸機能の一部には、切断されたクライアントを探し出すこと、切断されたクライアントを支援すること、パフォーマンス問題を特定する（isolate）こと、およびローグアクセスポイントを検出することが含まれる。
【００３４】
本発明の一部の実施形態では、ＤＡＰ２０６は、ＡＰ２０８のソフトウェア変更であり、より良好なスケーラビリティ（scalability）を可能にし、ＡＰのパフォーマンスを分析することを可能にする。ハードウェア変更は全く必要ないので、この実施形態を展開するための障害は低い。
【００３５】
クライアントマシン２０４およびアクセスポイント２０８は、好ましくは、ビーコンおよびプローブを制御する能力を有する。さらに、クライアントマシン２０４は、好ましくは、独力でインフラストラクチャネットワークを開始する（すなわち、ＡＰになること）、またはアドホックネットワーク（すなわち、コンピュータ−コンピュータ）を開始する能力も有し、この能力は、市場で現在、入手可能な多数の無線カードによってサポートされる。本発明の一部の実施形態は、近くのクライアント（複数）またはアクセスポイント（複数）のプレゼンスを利用する。ソフトウェア「センサ（複数）」を備えた、近くのクライアント（複数）およびアクセスポイント（複数）を活用することにより、展開費用が低減される可能性がある。
【００３６】
バックエンドサーバ２１２は、好ましくは、データベースを使用して、ネットワーク内のすべてのアクセスポイントのロケーションを保持する。そのようなロケーションデータベース（複数）は、好ましくは、ネットワーク管理者によって維持される。
【００３７】
図２に示した典型的なシステムは、システム内のクライアントおよびＡＰの数に合わせてスケールすることができる。システムは、２つの共有リソース、すなわち、ＤＳ（複数）およびＤＡＰ（複数）を含む。単一の診断サーバが、潜在的なボトルネックになるのを防止するため、システム負荷が増大するにつれ、追加のＤＳ（複数）が、好ましくは、追加される。さらに、一部の実施形態は、各個別のＤＳが、ＤＣ（複数）およびＤＡＰ（複数）と診断の負担を分かち合うことにより、作業の負担を軽減することを可能にし、ＤＣは、ＤＣ（複数）およびＤＡＰ（複数）が、問題を診断することができず、分析が、全体的な見通し（global perspective)、および追加のデータ(例えば、切断されたクライアントを探し出すために、複数のＤＡＰから獲得された信号強度情報（signal strength information）が必要とされる可能性がある）を要求する場合にだけ使用される。
【００３８】
同様に、ＤＡＰは共有リソースであるため、ＤＡＰに余計な作業を行わせることにより、関連するすべてのクライアントのパフォーマンスが潜在的に損なわれる可能性がある。ＤＡＰにかかる負荷を軽減するため、本発明の一部の実施形態は、ＡＰに関連しているクライアントが存在する場合、ＡＰは、能動的なスキャンを実行せず、関連するクライアント（複数）が、必要に応じて、それらの動作を実行する、最適化技術を使用する。ＡＰは、ＡＰのパフォーマンスに無視できるほど小さい影響しか与えない、受動的な監視活動を実行することを続ける。関連するクライアントが全く存在しない場合、ＡＰは、アイドルであり、それらの監視動作を実行することができる。このアプローチにより、ＡＰの周囲の物理的区域のほとんどが、ＡＰのパフォーマンスを損なうことなしに、監視されることが確実になる。
【００３９】
一実施形態では、ＤＣとＤＡＰとＤＳの間の対話は、ＩＥＥＥ８０２．１ｘを介して発行されるＥＡＰ−ＴＬＳ証明書を使用してセキュリティで保護される。許可された証明機関（ＣＡ）が、証明書をＤＣ（複数）、ＤＡＰ（複数）、およびＤＳ（複数）に発行し、それらの証明書は、これらのエンティティ間のすべての通信が、互いに認証されることを確実にするのに使用される。一実施形態は、正当なユーザによる悪意のある挙動を検出するための既知の技術を含む。
【００４０】
図３に注目すると、本発明の実施形態による、切断された無線クライアントがネットワーク管理者およびサポートスタッフに情報を伝えることを可能にする「クライアントコンジット」機構が示されている。無線クライアント３０２が、ネットワーク３０４に接続することができない場合、クライアント３０２上に存在するＤＣ３０５が、その問題をＤＣ３０５のデータベースの中にログ記録する。クライアント３０２が、後に接続すると（例えば、有線接続を介して）、このログがＤＳ３０６にアップロードされ、ＤＳ３０６は、診断を実行して、その問題の原因を特定する。しかし、ときとして、そのクライアント３０２が、他の接続されたクライアント（複数）の範囲内に入っていることが可能であり、そのクライアント３０２は、いずれのＡＰの範囲のわずかに外側に存在するため、または認証問題に起因して切断されていることが可能である。この状況では、ＤＳ３０６を使用して障害診断を即時に実行し、可能な場合、その問題を修正することが望ましい。
【００４１】
ＩＥＥＥ８０２．１１標準は、クライアントが２つのネットワークに同時に接続されることを許さない。このため、既存の技術を使用して、切断されたノード３０２に、単にメッセージを接続された近隣ノード３０８に送信させることはできない。接続されたノード３０８は、インフラストラクチャネットワーク３０４に既に関連しているため、切断されたクライアント３０２とのアドホックネットワークに同時に接続することはできず、切断されたクライアント３０２からメッセージを受信することを望む場合、ノード３０８はまず、切断し、その後、クライアント３０２によって開始されたアドホックネットワークに参加しなければならない。これは、非効率であり、正常に機能している接続されたクライアントにフェアでない。一部の実施形態は、接続されたクライアント３０８（アドホックネットワーク上で診断に専用のクライアント）上で複数の無線機を使用することにより、またはＭｕｔｉＮｅｔ（クライアントが、単一の無線カードが複数のネットワーク上に存在するように、単一の無線カードを多重化することを可能にする）を使用することにより、または接続されたクライアント３０８に、すべてのチャネルを定期的にスキャンさせることにより（例えば、プロミスキャスモードに入って、切断されたクライアントから遭難信号を検出した後）、この問題を解決する。これらのアプローチとは異なり、本発明の実施形態で使用されるクライアントコンジット機構は、近隣に切断されたクライアントが全く存在しない一般的なケースにおいて、全くオーバーヘッドを課さない。
【００４２】
本発明の実施形態によれば、クライアントコンジット機構は、切断されたクライアント３０２が近隣の接続されたクライアント３０８の１つを介してＤＳ３０６によって診断されることを可能にする。クライアントコンジットは、ＩＥＥＥ８０２．１１に関する２つの動作上の事実を活用することにより、接続されたクライアント（複数）にペナルティを課すことを回避する。第１に、クライアント３０８がＡＰ３１０に関連している場合でも、クライアント３０８は、近隣のＡＰ（複数）またはアドホックネットワーク（複数）から一定の間隔でビーコンを受信することを続ける。第２に、接続されたクライアント３０８は、インフラストラクチャネットワーク３０４から切断することなしに、指定された（directed）プローブ要求またはブロードキャストプローブ要求を送信することができる。
【００４３】
図４を参照すると、切断されたクライアントＤが、接続されたクライアントＣの近辺に存在するシナリオ向けのクライアントコンジット方法が示されている。ステップ４０２で、切断されたクライアントＤ上のＤＣが、プロミスキャスモードで動作するようにそのマシンを構成する。ＤＣは、すべてのチャネルをスキャンして、ステップ４０４で、インフラストラクチャネットワークに接続されている近くのクライアントが存在するかどうかを判定する。ＤＣは、チャネル上でそのような接続されたクライアントを検出した場合、ステップ４０６で、ＤＣが、そのクライアントのパケットを検出したチャネル上で新たなインフラストラクチャネットワークまたはアドホックネットワークを開始する。好ましくは、クライアントＤは、ＡＰになるようにモードを切り替え、インフラストラクチャネットワークを開始するか、別の形態として、クライアントＤがアドホックネットワークを開始しても良い。クライアントＤは、好ましくは、データパケットがインフラストラクチャネットワークの一部であり、ＡＰへ／から送信されているかどうかを、ＩＥＥＥ８０２．１１データフレームのＴｏＤＳフィールドおよびＦｒｏｍＤＳフィールドを検査することによって判定する。
【００４４】
ステップ４０８で、Ｄにおいて新たに形成されたＡＰが、あたかも通常のＡＰであるかのように、「ＳＯＳ  ＨＥＬＰ＜ｎｕｍ＞」の形態のＳＳＩＤを有するビーコンをブロードキャストし、ただし、ｎｕｍは、複数の切断されたクライアントを区別する３２ビットの乱数である。別の形態として、Ｄは、ビーコンではなく、ブロードキャストパケットを送出することができる。ビーコンまたはブロードキャストパケットは、近隣のクライアント（複数）に通報する遭難信号として作用する。
【００４５】
ステップ４１０で、接続されたクライアントＣ上のＤＣが、この新たなＡＰのＳＯＳビーコンを検出する。その時点で、Ｃは、Ｄの要求が聞き入れられたことをＤに、次の形でアクノレッジを使用して知らせる。Ｃが、Ｄに接続しようと試みたとすると、Ｃは、インフラストラクチャネットワークから切断する必要があることになり、Ｃのアプリケーション（複数）のパフォーマンスが損なわれる。代りに、クライアントＣは、ＩＥＥＥ８０２．１１ネットワークの「アクティブスキャン」機構を使用する。つまり、Ｃは、ステップ４１２で、「ＳＯＳ  ＡＣＫ＜ｎｕｍ＞」の形態のプローブ要求をＤに送信する。プローブ要求は、好ましくは、Ｄ上で実行されるＡＰによって公示される（advertised）のとは異なるＳＳＩＤで送信される。このアプローチにより、クライアントコンジットプロトコルに関与していない他の近くの何らかのクライアントが、プローブ要求をＤに（そのクライアントの環境における新たなＡＰ（複数）を検出する、そのクライアントの通常の試験の一環として）偶然に送信することが防止される。別の形態として、Ｃは、アクノレッジとして、８０２．１１プローブ要求ではなく、独自のメッセージを伴うブロードキャストパケットを送出することができる。
【００４６】
Ｄは、このプローブ要求を（場合により、その他の要求も）聞くと、ステップ４１４で、ＡＰであることを止め、再び局になる。さらに、Ｃから受信されたプローブ要求に応答して、ステップ４１６で、Ｄによってプローブ応答が送出され、クライアントＣは、その時点で、さらなるプローブ要求を送信する必要がないことを知る（クライアントＣは、いずれにしても、Ｄのビーコンが停止した時点で、プローブ要求の送信を止めることになる）。より重要なこととして、Ｄのプローブ応答は、Ｄが、クライアントＣを、ＤＳと診断メッセージを交換するためのホップとして使用することを望むかどうかを示す。この応答機構は、複数の接続されたクライアントが、Ｄを支援しようと試みた場合、それらのクライアントの１つだけが、ＤＳに対してコンジットをセットアップするために、Ｄによって選択されることを確実にする。
【００４７】
ステップ４１８でＤがアドホックネットワークを開始し、ステップ４２０で、ＣがＭｕｌｔｉＮｅｔを介して、そのネットワークに参加する。本発明の実施形態によるＭｕｌｔｉＮｅｔに関するさらなる詳細は、２００３年５月２日に出願され、いずれの部分も除外することなしに、教示するすべてに関して参照により組み込まれている同時係属の（例えば、特許文献１）参照で見られる。この時点までに行われたステップは、「接続セットアップ」段階と呼ばれる。この時点で、Ｃは、Ｄのメッセージのためのコンジットとなり、Ｄが、Ｃを介して診断メッセージをＤＳと交換することができる「データ転送」段階が始まる。
【００４８】
図４に示したような方法の使用を介して、クライアントコンジットプロトコルを使用する本発明の諸実施形態は、接続されたクライアント（複数）が、通常の動作中に不必要なオーバーヘッドを経験しないことを確実にする。さらに、一部の実施形態は、クライアントをブートストラップするためにクライアントコンジット機構を使用する。例えば、クライアントが、初めて無線ネットワークにアクセスしようと試み、ＥＡＰ−ＴＬＳ証明書を有さないが、Ｋｅｒｂｅｒｏｓ資格情報（credential）などの他の資格情報を有するものと想定されたい。本発明の実施形態は、クライアントコンジット機構を使用して、バックエンドＲａｄｉｕｓ／Ｋｅｒｂｅｒｏｓサーバ（複数）に対してユーザ／マシンの認証を行う。すると、新たな証明書が、クライアントマシン上にインストールされるか、またはクライアントの有効期限が切れた証明書が、有線接続を要することなしに、リフレッシュされる。クライアントＤが、ＡＰの範囲内にあり、ＩＥＥＥ８０２．１ｘ認証問題のために切断されることが可能である。ある実施形態は、接続されたクライアントも範囲内にある場合、クライアントコンジット機構を使用する。そのようなクライアントが全く存在しない場合、ＡＰを動的に構成して、制御されていないポートを介して、バックエンドＤＳへの（または、ＤＳに転送を行うことができるＲＡＤＩＵＳサーバ（複数）への）Ｄの診断メッセージを可能にすることができる。
【００４９】
本発明の諸実施形態は、クライアントコンジット機構の使用を介して導入される可能性があるセキュリティリスクを管理する。例えば、一部の実施形態は、切断されたクライアントのパケットがＤＳまたはバックエンド認証サーバ（複数）とだけ交換されることを許すように、接続されたクライアントに要求することにより、悪意の／無許可のクライアントがネットワークへの任意のアクセスを得ることがないことを確実にする。その他のセキュリティリスクおよびパフォーマンスリスクも同様に、以下に説明する通り管理される。
【００５０】
接続されたクライアントＣが、クライアントコンジットを介して切断されたクライアントを支援する場合、一部の実施形態では、Ｃのアプリケーション（複数）のパフォーマンスが悪影響を受けないことを確実にすることが好ましい。その目的で、例えば、図４に関連して説明した接続セットアップ中に、接続されたクライアントＣはビーコンメッセージおよび／または送信／受信プローブメッセージを処理し、切断されたクライアントに代行してＣによって転送されるメッセージは存在しない。これらのステップは、Ｃ上で無視できるほどわずかなリソースしか消費しないだけでなく、Ｃ上でセキュリティ漏洩、またはセキュリティを危うくすることも全くもたらさない。さらに、Ｃは、切断されたクライアントがそれらのステップを頻繁にＣに実行させていることに気付いた場合、それらのステップをレート制限する（rate-limit）、または実行するのを止めることができる。
【００５１】
接続が確立され、データ転送が始まると、諸実施形態は、可能なセキュリティ攻撃およびサービス拒否攻撃を管理する。悪意のあるクライアントが、接続されたクライアントＣをＭｕｌｔｉＮｅｔモードに不必要に入らせて、バンド幅を消費させることにより、接続されたクライアントＣのリソースを浪費する可能性があるというリスクが存在する。この問題を防止するため、図５に示す通り、データ転送の前に、好ましくは、次の認証ステップを行って、正当なクライアント（複数）だけが、クライアントＣを介して接続することが許されることを確実にする。接続セットアップ段階の後、クライアントＣは、認証を実行するために、ステップ５０２で、ＭｕｌｔｉＮｅｔモードに切り替わる。Ｃが、ＭｕｌｔｉＮｅｔモードに繰り返し入るように強制される、サービス拒否（ＤｏＳ）攻撃を防止するため、Ｃは、好ましくは、そのような認証ステップをＣが実行する１分当りの回数を制限する。認証ステップの一環として、クライアントＣは、ステップ５０４で、Ｄが、ＥＡＰ−ＴＬＳマシン証明書を有するかどうかを確認する。有している場合、Ｃは、ステップ５０６で、切断されたクライアントからその証明書を獲得し、ステップ５０８で、その証明書を検証する（相互認証を確実にするため、クライアントＤも、好ましくは、それらのステップを実行する）。切断されたクライアントが、証明書を全く有さない場合、または切断されたクライアントの証明書の有効期限が切れている場合、クライアントＣは、ステップ５１０で、所望される認証プロトコルを実行するための仲介役として作用し、例えば、Ｃは、Ｄが、バックエンドＫｅｒｂｅｒｏｓサーバ（複数）からＫｅｒｂｅｒｏｓ認証を実行し、適切な（relevant）チケットを獲得するのを支援することができる。Ｃは、ステップ５１２で、Ｄが認証されたかどうかをＤＳに確認する。切断されたクライアントＤが、依然、認証を行うことができない場合、Ｃは、ステップ５１４で、Ｄの診断ログの最後の数キロバイト（例えば、１０キロバイト）をＣに送信するように求め、Ｃは、そのログをＤＳに転送する。悪意のあるクライアントが、その認証されていないログを繰り返し送信しようと試みる（例えば、異なるＭＡＣアドレスをスプーフィング（spoofing）しながら）、可能なＤｏＳ攻撃を防止するため、接続されたクライアントは、好ましくは、既定の期間内に送信する、認証されていないデータの総量を制限し、例えば、Ｃは、５分毎にせいぜい１０キロバイトのそのようなデータを送信することを告げる。
【００５２】
本発明の諸実施形態は、接続されたクライアントＣが、ＭｕｌｔｉＮｅｔ転送中に、正当なクライアントを支援している場合でも、切断されたクライアントＤに割り当てることを望むリソースの量を制限するのを可能にすることにより、セキュリティリスクをさらに管理する。クライアントが、インフラストラクチャネットワークに比べて、アドホックネットワーク上で費やされる時間のパーセンテージを制限することを可能にするソフトウェア「ノブ（knob）」が提供され、クライアントＣは、この使用率を制限して、バッテリ電力を節約することもできる。
【００５３】
本発明の諸実施形態によって対処される、さらなるセキュリティリスクは、無許可の、つまり、「ローグ」アクセスポイントに関する。無許可のＡＰをセットアップし、気付かれずにいることを望む攻撃者は、クライアントコンジットの特性を活用しようと試みる可能性がある。すなわち、攻撃者のＡＰが、ＳＯＳ  ＳＳＩＤを使用してビーコンを送る（beacon）ようにセットアップされる。諸実施形態は、ビーコンデバイスが、正当なクライアントであるケースと、ビーコンデバイスが、実際に、ローグＡＰであるケースを区別する。クライアントコンジットでは、切断されたクライアントが、ＡＰになる場合、または接続セットアップ中にアドホックネットワークを開始し、ビーコン送信（beaconing）を開始する場合、クライアントは、データパケットを送信する、または受信することを全く行わない。このため、ＤＣが、ＳＯＳ  ＳＳＩＤをビーコン送信しており、データパケットを送信／受信しているＡＰ（またはアドホックモードのノード）を検出するようなことがあった場合、ＤＣは、そのＡＰにローグデバイスとして即時にフラグを設定する。さらに、また別の形態として、支援側クライアントが、図４に関連して説明したクライアントコンジットプロトコルでプローブ応答を聞いた場合、支援側クライアントは、切断されたクライアントが、もはやビーコン送信を行う必要がないことを知ることができる。このため、支援側クライアントは、数秒の後にＳＯＳビーコンを聞いた場合、そのデバイスに、区別されたローグデバイスとしてフラグを設定する。
【００５４】
図６に注目すると、インプリメンテーションの一実施形態の詳細が示されている。基本的なアーキテクチャは、クライアント（複数）、アクセスポイント（複数）、およびサーバ（複数）の上でそれぞれ実行されている、ＤＣデーモン（daemon）、ＤＡＰデーモン、およびＤＳデーモンから成る。システムは、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム上に、標準の市販の８０２．１１ｂカードを使用して実装することができる。ＤＳ上で、デーモンプロセスは、ＤＡＰ（複数）から情報を受け入れる。ＤＳは、ファイルまたはデータベースから、正当なＡＰのリストを読み取る。ＤＣ上、またはＤＡＰ上のコードの構造は、好ましくは、ユーザレベルデーモン６０２、並びにカーネルレベルドライバ６０４および６０６を含む。これらの部分（pieces）は、機能をユーザレベルデーモン６０２において達することができない場合、またはパフォーマンスペナルティが高すぎる場合にだけ、カーネルドライバ６０４および６０６にコードが追加されるように構造化される。
【００５５】
典型的なシステムにおいては、２つのカーネルドライバ、すなわち、ミニポートドライバ６０４、並びにＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムにおけるネイティブＷｉ−Ｆｉドライバのような、中間ドライバ（ＩＭドライバ）６０６が存在する。ミニポートドライバ６０４は、ハードウェアと直接に通信し、パケットを送信／受信すること、チャネルを設定することなどの、基本的な機能を提供する。ドライバ６０４は、十分なインタフェース（複数）を公開して、関連付け、認証などのような諸機能をＩＭドライバ６０６において扱うことができるようにする。ＩＭドライバ６０６は、現在のチャネル、伝送レベル、パワーマネジメントモード、ＳＳＩＤなどの様々なパラメータのクエリを行うための、いくつかのインタフェース（ＩＯＣＴＬｓを介して公開される）をサポートする。パラメータが設定されることを可能にすることに加え、ドライバ６０６は、ユーザレベルコードが、能動的スキャンを要求すること、特定のＳＳＩＤに関連付けること、パケットをキャプチャすることを可能にする。一般に、ドライバ６０６は、ユーザレベルコードに相当な柔軟性およびコントロールを提供する。
【００５６】
多くのオペレーション（operation）は、ＩＭドライバ６０６の中に既に存在するものの、本発明の諸実施形態は、変更を使用して、一部の機能を公開し、特定のプロトコルのパフォーマンスを向上させた。ミニポートドライバ６０４は、好ましくは、あるタイプのパケットをＩＭドライバ６０６に公開するように最小限に変更される。ＩＭドライバ６０６において、次のサポートが、好ましくは、追加される。すなわち、パケットヘッダおよびパケットをキャプチャすること、受信されたパケットからのＲＲＳＩ値を格納すること、ＡＰ情報の記録をとること、およびプロトコル効率のためのカーネルイベントサポートである。次に、以上の変更をさらに詳細に説明する。
【００５７】
パケットヘッダおよびパケットをキャプチャすること：本発明の諸実施形態は、一部のパケットまたはパケットヘッダだけがキャプチャされるように、例えば、特定のＭＡＣアドレス、パケットタイプ、パケットサブタイプ（管理パケットやビーコンパケットなどの）などに基づくフィルタ（複数）が設定されることを可能にする。
【００５８】
受信されたパケットからのＲＳＳＩ値を格納すること：本発明の諸実施形態は、すべての受信されたパケットのＲＳＳＩ値を獲得し、各近隣（ＭＡＣアドレス上でインデックス付けされた）からのＲＳＳＩ値の記録をとる（keep track of）ＮｅｉｇｈｂｏｒＩｎｆｏテーブルと呼ばれるテーブルを保持する。指数加重平均が、新たな値に、例えば、０．２５の加重係数が与えられて保持される。
【００５９】
ＡＰ情報の記録をとること：ＮｅｉｇｈｂｏｒＩｎｆｏテーブルの中に、諸実施形態は、特定のＭＡＣアドレスからのパケットが聞き取られたチャネル、ＳＳＩＤ情報（ビーコンからの）、並びにデバイスがＡＰであるか、または局であるかの記録をとる。
【００６０】
プロトコル効率のためのカーネルイベントサポート：カーネルとユーザレベルコードの間で共有されるイベントが、好ましくは、追加される。カーネルは、「関心を引く（interesting）」イベントが生じた場合に、このイベントをトリガし、これにより、プロトコルの一部が、ポーリングベースではなく、割り込み駆動であることが可能になる。一実施形態では、カーネルは、クライアントコンジット中に、切断されたクライアントからＳＯＳビーコンを聞いた場合にはいつでも、このイベントを設定し、より低いプロトコル待ち時間がもたらされる。
【００６１】
さらに、前述した情報の獲得および消去を行う、いくつかのｉｏｃｔｌが、好ましくは追加される。
【００６２】
本発明の諸実施形態では、診断デーモン６０２が、デバイス上で実行され、情報を収集し、前述した様々な機構を実施し、例えば、クライアントコンジットなどを実行する。デバイスは、ＡＰである場合、診断情報をＤＳおよびＤＣ（複数）に通信し、ＤＣに過ぎない場合、関連するＡＰと通信して診断情報を伝送する。ＤＣ上の診断デーモンは、定期的な間隔で、例えば、３０秒毎に、カーネル６０８から現在のＮｅｉｇｈｂｏｒＩｎｆｏを獲得する。何らかの新たなノードが見出された場合、または既存のデータが大幅に変化している（例えば、クライアントのＲＳＳＩ値が、２倍を超えて変化している）場合、そのことが、ＤＡＰに送信される。ＤＡＰも、好ましくは、ＭＡＣアドレス上でインデックス付けされた、類似したテーブルを保持する。しかし、ＤＡＰは、切断されたクライアント（複数）、およびＡＰ（複数）に関する情報だけをＤＳ（複数）に送信し、そうでなければ、ＤＳは、システム内のすべてのクライアントに関する更新を獲得することになってしまい、ＤＳを、それほどスケーラブルでなくする。ＤＡＰは、ＡＰ（複数）に関する新たな情報、または変更された情報をＤＳに定期的に（例えば、３０秒毎に）ＤＳに送信する。さらに、ＤＡＰは、切断されたクライアントＤに関して何らかの保留中の情報を有する場合、ＤＳに即時に知らせて、切断されたクライアントを適時に整備する（service）ことができるようにする。ＤＣからＤＡＰへ、並びにＤＡＰからＤＳへのすべてのメッセージは、好ましくは、ＸＭＬメッセージとして送信される。ＤＣからのサンプルメッセージフォーマットを以下に示す（タイムスタンプは、取り除かれている）。
【００６３】
【表１】
2007129274.tif 000003
【００６４】
サンプルメッセージが示す通り、ＤＣは、他の接続されたクライアント、ＡＰ（複数）、および切断されたクライアント（複数）に関する情報を送信する。それぞれのそのようなクラスのエンティティに関して、ＤＣは、マシンのＭＡＣアドレスをＲＳＳＩ、ＳＳＩＤ、並びに、その特定のデバイスが聞き取られた（overheard）チャネルを示すチャネルビットマップとともに送信する。
【００６５】
本発明の諸原理を適用することができる多数の可能な実施形態に鑑みて、図面に関連して本明細書で説明した諸実施形態は、単に例示的であることを意図しており、本発明の範囲を限定するものと解釈されるべきでないことを認識されたい。例えば、本発明の趣旨を逸脱することなく、例示した諸実施形態の構成および詳細を変更することができることが、当業者には認識されよう。本発明は、ソフトウェアモジュール（複数）またはソフトウェアコンポーネント（複数）に関して説明しているが、ソフトウェアモジュール（複数）またはソフトウェアコンポーネント（複数）は、ハードウェアコンポーネント（複数）によって均等な形で置き換えることができることが、当業者には認識されよう。したがって、本明細書で説明する本発明は、添付の特許請求の範囲の範囲、および均等の範囲に含まれることが可能な、すべてのそのような実施形態を企図している。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施形態に従って使用される、コンピュータの典型的なアーキテクチャを示す簡略化した概略図である。
【図２】本発明の実施形態による、クライアントコンジットを使用するための典型的な無線ネットワークを示す図である。
【図３】本発明の実施形態による、接続されたコンピュータと切断されたコンピュータの間の通信を示す図である。
【図４】本発明の実施形態による、切断されたコンピュータから無線ネットワークへの通信を円滑にするための方法を示す流れ図である。
【図５】本発明の実施形態による、支援側クライアントのパフォーマンス低下を検出するための方法を示す流れ図である。
【図６】本発明の実施形態による、切断されたクライアントおよびローグ（rogue）アクセスポイントを探し出すために使用されるソフトウェアコンポーネント（複数）の概略図である。
【符号の説明】
【００６７】
１２０  処理装置
１２１  システムバス
１２２  メモリキャッシュ
１３０  システムメモリ
１３４，１４４  オペレーティングシステム
１３５，１４５  アプリケーションプログラム
１３６，１４６  他のプログラムモジュール
１３７，１４７  プログラムデータ
１４０  リムーバブルでない不揮発性メモリインタフェース
１５０  リムーバブルな不揮発性メモリインタフェース
１６０  ユーザ入力インタフェース
１６１  マウス
１６２  キーボード
１７０  ネットワークインタフェース
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  ワイドエリアネットワーク
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
１９０  ビデオインタフェース
１９５  出力周辺インタフェース
１９６  プリンタ
１９７  スピーカ
２０２，３０５，３０８  診断クライアント
２０６  診断アクセスポイント
２０８，３１０  アクセスポイント
２１０，３０６  診断サーバ
２２０  レガシアクセスポイント
６０２  診断デーモン
【図１】
2007129274.tif 000004
【図２】
2007129274.tif 000005
【図３】
2007129274.tif 000006
【図４】
2007129274.tif 000007
【図５】
2007129274.tif 000008
【図６】
2007129274.tif 000009
【外国語明細書】
2007129274000001.pdf