JP4733489B2 - Detect and diagnose performance problems in wireless networks by collaborating with neighboring devices - Google Patents

Detect and diagnose performance problems in wireless networks by collaborating with neighboring devices Download PDF

Info

Publication number
JP4733489B2
JP4733489B2 JP2005277832A JP2005277832A JP4733489B2 JP 4733489 B2 JP4733489 B2 JP 4733489B2 JP 2005277832 A JP2005277832 A JP 2005277832A JP 2005277832 A JP2005277832 A JP 2005277832A JP 4733489 B2 JP4733489 B2 JP 4733489B2
Authority
JP
Japan
Prior art keywords
wireless
computer
computing device
client
diagnostic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005277832A
Other languages
Japanese (ja)
Other versions
JP2007134748A (en
JP2007134748A5 (en
Inventor
アドゥヤ アトゥル
キウ リリー
バール パラムビール
チャンドラ ランビア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to JP2005277832A priority Critical patent/JP4733489B2/en
Publication of JP2007134748A publication Critical patent/JP2007134748A/en
Publication of JP2007134748A5 publication Critical patent/JP2007134748A5/ja
Application granted granted Critical
Publication of JP4733489B2 publication Critical patent/JP4733489B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a system and a method for detecting and diagnosing a problem of performance in a radio communication network. <P>SOLUTION: A diagnosis program for diagnosing the problem in the network jointly is executed on a radio device, an adjacent device, and a radio access point. The adjacent device intercepts the diagnosis session between the device and the access point to determine the problem in the device, access point, and radio media. Data from an interception device are summarized and are transmitted to a network manager for succeeding action. The diagnosis program is described so that it includes a passive component for detecting the problem, and an active one for executing a diagnosis technique. <P>COPYRIGHT: (C)2007,JPO&amp;INPIT

Description

本発明は概して、ネットワークのオペレーションに関し、より詳細には、無線ネットワークにおけるパフォーマンスの問題の診断に関する。   The present invention relates generally to network operation, and more particularly to diagnosing performance problems in wireless networks.

無線ネットワーク接続の便宜性は、無線ネットワーク(例えば、IEEE802.11ネットワーク)の大規模な採用につながった。企業、大学、家庭、および公共の場所は、驚く程の割合でこうしたネットワークを展開している。しかし、エンドユーザおよびネットワーク管理者にとって、かなりの数の「苦悩(pain point)」が残っている。ユーザは、時々とぎれる接続、低パフォーマンス、受信可能範囲の不足、および認証の失敗など、いくつかの問題を経験する。こうした問題は、アクセスポイントの配置不足、デバイスの設定ミス、ハードウェアおよびソフトウェアのエラー、無線媒体の性質(例えば、干渉、伝播)、ならびにトラフィックの輻輳など、様々な理由に起因して起こる。ユーザは、接続性およびパフォーマンスの問題について頻繁に不満をもち、ネットワーク管理者は、会社のセキュリティおよび受信可能範囲を管理する際、こうした問題を診断することを期待される。管理者のタスクは、無線媒体の信頼できない性質およびこうした問題の原因を判定するインテリジェントな診断ツールの欠如により、特に難しい。   The convenience of wireless network connection has led to large-scale adoption of wireless networks (eg, IEEE 802.11 networks). Companies, universities, homes, and public places are deploying such networks at a surprising rate. However, a significant number of “pain points” remain for end users and network administrators. Users experience several problems such as occasional broken connections, poor performance, lack of coverage, and authentication failures. These problems arise due to a variety of reasons, such as poor access point placement, device misconfiguration, hardware and software errors, the nature of the wireless medium (eg, interference, propagation), and traffic congestion. Users are frequently dissatisfied with connectivity and performance issues, and network administrators are expected to diagnose these issues when managing company security and coverage. Administrator tasks are particularly difficult due to the unreliable nature of the wireless medium and the lack of intelligent diagnostic tools to determine the cause of these problems.

IEEE802.11ネットワークを大規模に展開している企業には、多くの建物にまたがる数千のアクセスポイント(AP)が存在し得る。こうしたネットワークに伴う問題は、エンドユーザのフラストレーションおよび会社にとっての生産性の損失を生じさせる。さらに、各エンドユーザの不満の解消は、会社のIT部門に対して追加のサポート用人件費を生じさせる。この費用は、数十ドルになる場合もあり、エンドユーザの生産性の損失に起因する費用は含まない。   An enterprise that has a large deployment of an IEEE 802.11 network may have thousands of access points (APs) that span many buildings. The problems associated with such networks result in end-user frustration and lost productivity for the company. Furthermore, resolving each end user's dissatisfaction results in additional support labor costs for the company's IT department. This cost can be in the tens of dollars and does not include costs due to end user productivity loss.

Zhang et al., "On the Characteristics and Origins of Internet Flow Rates", Proceedings of ACM SIGCOMM, August 2002Zhang et al., "On the Characteristics and Origins of Internet Flow Rates", Proceedings of ACM SIGCOMM, August 2002 Floyd et al., "Equation-Based Congestion Control for Unicast Applications", Proceedings of ACM SIGCOMM, August 2000Floyd et al., "Equation-Based Congestion Control for Unicast Applications", Proceedings of ACM SIGCOMM, August 2000 Allman et al., "Estimating Loss Rates with TCP", ACM Perf. Evaluation Review 31(3), December 2003Allman et al., "Estimating Loss Rates with TCP", ACM Perf. Evaluation Review 31 (3), December 2003 W. Richard Stevens, "The Protocols (TCP/IP Illustrated ,Vol. I) ", Addison Wesley, 1994W. Richard Stevens, "The Protocols (TCP / IP Illustrated, Vol. I)", Addison Wesley, 1994

IEEE802.11インフラストラクチャネットワークにおける障害診断は、無線ネットワーク接続における、注目度が比較的高い他の研究分野に比べて、研究団体から注目されていなかった。いくつかの企業は、診断ツールの提供を試みているが、こうした製品には、望ましいいくつかの機能(feature)が欠けている。例えば、こうした製品は、問題の考えられる原因を確認するために、データを集め、分析するという包括的な作業を行わない。さらに、ほとんどの製品が通常、APからデータを集めるだけであり、ネットワークをクライアント側から見ることを無視している。ネットワークをクライアントの観点から監視する一部の製品は、ハードウェアセンサを必要とするが、このセンサは、展開し維持するのにコストがかかり得る。また、現在のソリューションは通常、切断されたクライアントに対しては、最も助けを必要とするクライアントではあっても、いかなるサポートも提供しない。   Failure diagnosis in an IEEE 802.11 infrastructure network has not received much attention from research groups as compared to other research fields with a relatively high degree of attention in wireless network connection. Some companies are trying to provide diagnostic tools, but these products lack some desirable features. For example, these products do not perform the comprehensive task of collecting and analyzing data to identify possible causes of problems. Furthermore, most products typically only collect data from the AP and ignore viewing the network from the client side. Some products that monitor the network from the client's point of view require hardware sensors, which can be costly to deploy and maintain. Also, current solutions typically do not provide any support for disconnected clients, even those that need the most help.

上で概説した問題は、本明細書において記載する、無線ネットワーク内の障害を検出し診断するシステムおよび方法によって、少なくとも部分的に対処することができる。   The problems outlined above can be addressed, at least in part, by the systems and methods for detecting and diagnosing faults in a wireless network as described herein.

以下は、読者に対して本開示のいくつかの態様の基本的な理解をもたらすために、本開示の簡略な要約を提示する。この要約は、本開示の網羅的な概要でも限定的な概要でもない。この要約は、本発明の主要な、かつ/または重大な要素を明らかにし、本発明の範囲を詳述し、あるいは本発明の範囲を限定するために与えられるものではまったくない。この要約の唯一の目的は、後で提示されるより詳細な説明の導入として、開示される概念の一部を簡略な形で提示することである。   The following presents a simplified summary of the disclosure in order to provide the reader with a basic understanding of some aspects of the disclosure. This summary is not an exhaustive or limiting summary of the disclosure. This summary is not intended to identify key and / or critical elements of the invention, to delineate the scope of the invention, or to limit the scope of the invention. Its sole purpose is to present some of the disclosed concepts in a simplified form as a prelude to the more detailed description that is presented later.

一実施形態では、本明細書において記載するシステムおよび方法は、無線LANの展開において直面するパフォーマンスの問題の分析に利用することができる。インフラストラクチャ無線ネットワーク内の障害を検出し診断する柔軟なアーキテクチャも記載される。無線クライアント(および、可能な場合はアクセスポイント)に、近くにある無線媒体およびデバイスを監視するための手段(instrumentation)を適用することによって、このアーキテクチャは、プロアクティブ型およびリアクティブ型障害診断を両方ともサポートすることができる。この監視のフレームワークは、無線ユーザを悩ませている問題の一部に対処するのに利用することができる。   In one embodiment, the systems and methods described herein can be utilized to analyze performance problems encountered in wireless LAN deployments. A flexible architecture for detecting and diagnosing faults in infrastructure wireless networks is also described. By applying instrumentation to wireless clients (and access points where possible) to monitor nearby wireless media and devices, this architecture enables proactive and reactive fault diagnosis. Both can be supported. This monitoring framework can be used to address some of the problems that plague wireless users.

一実施形態では、無線ネットワーク内の第1の無線コンピューティングデバイスにおいて起こる通信問題の診断を促進するコンピュータ実行可能命令を含むコンピュータ可読媒体が提供され、無線ネットワークは、第1の無線コンピューティングデバイスおよび無線アクセスポイントを備え、コンピュータ実行可能命令は、第1の無線コンピューティングデバイス上で実行され、無線ネットワーク内に通信問題が存在するかどうか判定するステップと、通信問題の診断を補助させるための要求を、1つまたは複数の隣接無線コンピューティングデバイスにブロードキャストするステップと、診断セッションにおいて無線アクセスポイントによって送信されるスヌープ要求に応答するステップと、隣接無線コンピューティングデバイスの少なくとも1つから、診断セッションについての情報を受信するステップとを実施する。   In one embodiment, a computer-readable medium is provided that includes computer-executable instructions that facilitate diagnosis of a communication problem that occurs at a first wireless computing device in a wireless network, the wireless network comprising: a first wireless computing device; A computer-executable instruction comprising a wireless access point is executed on a first wireless computing device to determine whether a communication problem exists in the wireless network and a request to assist in diagnosing the communication problem Broadcast to one or more neighboring wireless computing devices, responding to a snoop request sent by the wireless access point in a diagnostic session, and fewer neighboring wireless computing devices Since also one implement and receiving information about the diagnostic session.

別の実施形態では、第1の無線コンピューティングデバイスと無線アクセスポイントとの間の無線部分およびアクセスポイントとインフラストラクチャネットワークとの間の有線部分の両方を含むコンピュータネットワーク上の問題を診断する診断システムが提供され、診断システムは、第1の無線コンピューティングデバイス上で実行されるクライアント診断プログラムと、無線アクセスポイント上で実行されるアクセスポイント診断プログラムとを備え、アクセスポイント診断プログラムは、クライアント診断プログラムと通信して、ネットワーク接続問題が、ネットワークの有線部分で起こったのか、それとも無線部分で起こったのか判定する。   In another embodiment, a diagnostic system for diagnosing problems on a computer network that includes both a wireless portion between a first wireless computing device and a wireless access point and a wired portion between an access point and an infrastructure network And the diagnostic system comprises a client diagnostic program executed on the first wireless computing device and an access point diagnostic program executed on the wireless access point, the access point diagnostic program being a client diagnostic program To determine if a network connection problem occurred in the wired or wireless part of the network.

さらに別の実施形態では、無線ネットワーク内の第1の無線コンピューティングデバイスにおいて起こる通信問題の診断を促進するコンピュータ実行可能命令を含むコンピュータ可読媒体が提供され、コンピュータ実行可能命令は、第2の無線コンピューティングデバイス上で実行され、第1の無線コンピューティングデバイスから、診断ヘルプを求める要求を受信するステップと、無線環境および第1の無線コンピューティングデバイスと1つまたは複数の無線アクセスポイントの間のトラフィックフローを監視することによって、パフォーマンスデータを蓄積するステップと、蓄積されたパフォーマンスデータの要約を伝送するステップとを実施する。   In yet another embodiment, a computer-readable medium is provided that includes computer-executable instructions that facilitate diagnosing a communication problem that occurs at a first wireless computing device in a wireless network, the computer-executable instructions being a second wireless device. Executing on the computing device and receiving a request for diagnostic help from the first wireless computing device; between the wireless environment and the first wireless computing device and the one or more wireless access points; By monitoring the traffic flow, the steps of accumulating performance data and transmitting a summary of the accumulated performance data are performed.

添付の特許請求の範囲は本発明の特徴を具体的に定義するが、本発明およびその利点は、以下の詳細な説明を添付の図面と併せ読むことによって最もよく理解することができよう。   While the appended claims specifically define the features of the present invention, the invention and its advantages can best be understood by reading the following detailed description in conjunction with the accompanying drawings, in which:

無線ネットワークのパフォーマンスの問題を検出し診断するための方法およびシステムが、特定の実施形態を参照して説明されるが、本発明の方法およびシステムはそのように限定されるわけではない。さらに、本明細書に記載する方法およびシステムは例示に過ぎず、本発明の要旨および範囲から逸脱することなく変形形態も可能であることを、当業者は容易に理解するであろう。この説明を吟味した後で、上記の内容は例示に過ぎず、限定ではなく、例示の目的でのみ提示されていることが当業者には明らかであろう。多数の変更形態および他の例示的な実施形態は、当業者の理解の範囲内であり、本発明の範囲内であると企図される。具体的には、本明細書において提示する例の多くは、方法の操作またはシステム要素の具体的な組合せを伴うが、そうした操作および要素は、同じ目的を達成するために、他のやり方で組み合わせることもできることが理解されるべきである。一実施形態にのみ関連して論じる操作、要素、および特徴は、他の実施形態における同様の役割から除外されることを意図していない。さらに、特許請求の範囲において、「第1」および「第2」など、順序を示す用語を、請求項の要素を修飾するために使用しているが、それ自体では、ある請求項の要素の、別の要素に対するいかなる優先度、優位性、または順序も、方法の操作が実施される時間的順序も暗示しているわけではなく、ある名称をもつある請求項の要素を、同じ名称をもつ別の要素と区別するための単なるラベルとして(順序を示す用語の使用は除く)、こうした複数の請求項要素を区別するのに使われている。   Although methods and systems for detecting and diagnosing wireless network performance problems are described with reference to particular embodiments, the methods and systems of the present invention are not so limited. Further, those skilled in the art will readily appreciate that the methods and systems described herein are exemplary only and that variations are possible without departing from the spirit and scope of the invention. After reviewing this description, it will be apparent to those skilled in the art that the above description is provided by way of example only, and not limitation. Numerous variations and other exemplary embodiments are within the scope of those skilled in the art and are contemplated within the scope of the present invention. In particular, many of the examples presented herein involve method operations or specific combinations of system elements, but such operations and elements are combined in other ways to achieve the same purpose. It should be understood that it is also possible. Operations, elements, and features discussed only in connection with one embodiment are not intended to be excluded from a similar role in other embodiments. Further, in the claims, ordering terms such as “first” and “second” are used to modify an element of a claim, but as such, by itself, Does not imply any priority, advantage, or order over another element, nor does it imply a chronological order in which the operations of the method are performed, elements of a claim with a name have the same name It is used to distinguish these multiple claim elements as merely a label to distinguish them from other elements (except for the use of ordering terms).

企業の無線ネットワークを使用し維持する際に、ユーザおよびネットワーク管理者が直面する問題の多くを以下に列挙する。   Listed below are many of the problems faced by users and network administrators when using and maintaining enterprise wireless networks.

接続性の問題:エンドユーザは、建物の特定のエリアでの一貫性のないネットワーク接続性、またはネットワーク接続性の欠如について不満をもつ。このような「デッドスポット」または「RFホール」は、弱いRF信号、信号の欠如、環境条件の変化、または障害物に起因して起こり得る。RFホールの自動発見は、無線管理者にとって重要である。管理者は次いで、この問題を、問題のあるエリア内でAPを配置し直すか、またはAPの密集度を増やすことによって、あるいは受信可能範囲の改善のために近くのAP上のパワー設定を調節することによって解決することができる。   Connectivity issues: End users are unhappy with inconsistent network connectivity or lack of network connectivity in certain areas of the building. Such “dead spots” or “RF holes” can occur due to weak RF signals, lack of signals, changes in environmental conditions, or obstacles. Automatic discovery of RF holes is important for radio administrators. The administrator then adjusts the power settings on nearby APs to reposition this problem by relocating APs within the problematic area or increasing AP congestion or to improve coverage. It can be solved by doing.

パフォーマンスの問題:このカテゴリは、クライアントが、パフォーマンスの低下、例えば、低スループットや長い待ち時間を認識する状況をすべて含む。例えば、輻輳に起因するトラフィックの速度低下、電子レンジまたはコードレス電話に起因するRF干渉、マルチパス干渉、不十分なネットワーク計画または構成が不十分なクライアント/APに起因する大規模同一チャネル干渉など、パフォーマンスの問題が存在するいくつかの理由があり得る。パフォーマンスの問題は、ネットワークの非無線パートにおける問題の結果として、例えば、遅いサーバやプロキシに起因して起こる場合もある。したがって、診断ツールは、問題が、無線ネットワーク内部にあるのか、それとも他の場所にあるのか判定することができると有用である。さらに、無線パートにおける原因の識別は、ネットワーク管理者が、エンドユーザのためにより適切にシステムを提供し、経験(experience)を向上させることを可能にするのに重要である。   Performance issues: This category includes all situations where the client perceives performance degradation, eg, low throughput or long latency. For example, slow traffic due to congestion, RF interference due to microwave ovens or cordless phones, multipath interference, large co-channel interference due to poor network planning or poorly configured client / AP, etc. There can be several reasons why performance problems exist. Performance problems may occur as a result of problems in the non-wireless part of the network, for example due to slow servers or proxies. Therefore, it is useful that the diagnostic tool can determine whether the problem is inside the wireless network or elsewhere. In addition, identification of the cause in the wireless part is important to allow network administrators to better provide the system for end users and improve experience.

ネットワークセキュリティ:大企業はしばしば、IEEE802.1xなどのソリューションを使用して、企業のネットワークを保護する。しかし、ITマネージャにとって最悪のシナリオが起こるのは、従業員が、そうとは気づかずに、無許可APを会社のネットワークのイーサネット(登録商標)タップに接続することによって、ネットワークのセキュリティを危うくさせるときである。この問題は一般に、「無認可AP問題(Rogue AP Problem)」と呼ばれる。こうした無認可APは、無線ネットワークセキュリティの最も一般的であり深刻な欠陥の1つである。このようなAPが存在するせいで、外部のユーザが、会社のネットワーク上のリソースへのアクセスを許可される。こうしたユーザは、情報を漏らす場合も、他の損害を引き起こす場合もある。さらに、無認可APは、周辺にある他のアクセスポイントとの干渉を引き起こし得る。大規模ネットワークにおける、手動プロセスによる無認可APの検出は、コストも時間もかかる。したがって、このようなAPをプロアクティブに検出することが重要である。   Network security: Large enterprises often use solutions such as IEEE 802.1x to protect corporate networks. However, the worst scenario for IT managers is that employees unknowingly compromise network security by connecting unauthorized APs to the corporate network's Ethernet tap. Is the time. This problem is commonly referred to as the “Rogue AP Problem”. Such unauthorized APs are one of the most common and serious flaws in wireless network security. Because of such APs, external users are allowed access to resources on the company network. These users can leak information or cause other damage. Furthermore, unauthorized APs can cause interference with other access points in the vicinity. Detection of unauthorized APs by manual processes in large networks is costly and time consuming. Therefore, it is important to detect such AP proactively.

認証問題:ITサポートグループのログによると、いくつかの不満は、ユーザが、ネットワークに対して自分を認証させることができないことに関連する。IEEE802.1xなどの技術によって保護された無線ネットワークにおいて、認証の失敗は通常、証明書の紛失または失効に起因する。したがって、このような認証問題を検出し、クライアントが、有効な証明書を用いてブートするのを助けることが重要である。   Authentication problems: According to IT support group logs, some dissatisfaction is related to the user not being able to authenticate themselves to the network. In wireless networks protected by technologies such as IEEE 802.1x, authentication failures are usually due to lost or revoked certificates. It is therefore important to detect such authentication problems and help the client boot with a valid certificate.

本発明は、以下の詳細な説明を添付の図面と併せ読むと、より完全に理解されよう。本説明では、同じ番号は、本発明の様々な実施形態において同様の要素を指す。   The invention will be more fully understood when the following detailed description is read in conjunction with the accompanying drawings. In this description, like numbers refer to similar elements in the various embodiments of the invention.

本発明の態様は、適切なコンピューティング環境において実装されるものとして示される。そうすることが必要なわけではないが、パーソナルコンピュータによって実行される、プロシージャなどのコンピュータ実行可能命令という一般的なコンテキストにおいて、本発明が説明される。概して、プロシージャは、特定のタスクを実施しまたは特定の抽象データタイプを実装するプログラムモジュール、ルーチン、関数、プログラム、オブジェクト、コンポーネント、データ構造などを含む。さらに、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家電製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成を用いて実施できることを当業者は理解するであろう。本発明は、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクを実施する分散型コンピューティング環境でも実施することができる。分散型コンピューティング環境では、プログラムモジュールは、ローカルおよびリモートメモリ記憶デバイス両方に配置することができる。コンピュータシステムという用語は、分散型コンピューティング環境において見ることができるような、コンピュータからなるシステムを指すのに使うことができる。   Aspects of the invention are illustrated as being implemented in a suitable computing environment. Although not required to do so, the invention is described in the general context of computer-executable instructions, such as procedures, being executed by a personal computer. Generally, procedures include program modules, routines, functions, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Further, those skilled in the art will appreciate that the present invention can be implemented using other computer system configurations including handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. You will understand. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices. The term computer system can be used to refer to a system consisting of computers, as can be seen in a distributed computing environment.

図1は、本発明の態様を実施することができる、適切なコンピューティングシステム環境の例100を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲に対するどのような限定を示唆することも意図していない。コンピューティング環境100は、例示的な動作環境100に示すどのコンポーネントまたはその組合せに関するどのような依存も要件も有していると解釈されるべきではない。少なくとも本発明の一実施形態は、例示的な動作環境100に示す各コンポーネントを含むが、本発明の、より典型的な別の実施形態では、必須でない一部または全部のコンポーネント、例えば、ネットワーク通信に必要とされるもの以外の入力/出力デバイスは含まない。   FIG. 1 illustrates an example computing system environment 100 in which aspects of the invention may be implemented. The computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100. While at least one embodiment of the present invention includes each component shown in the exemplary operating environment 100, in another more typical embodiment of the present invention, some or all of the non-essential components, eg, network communications Does not include input / output devices other than those required.

図1を参照すると、本発明を実施する例示的なシステムは、汎用コンピューティングデバイスを、コンピュータ110の形で含む。コンピュータ110のコンポーネントは、処理ユニット120と、システムメモリ130と、システムメモリなど様々なシステムコンポーネントを処理ユニット120に結合するシステムバス121とを含み得るが、それに限定されない。システムバス121は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスなどいくつかのタイプのバス構造のいずれでもよい。限定ではなく例として、このようなアーキテクチャは、ISA(業界標準アーキテクチャ)バス、MCA(マイクロチャネルアーキテクチャ)バス、EISA(拡張ISA)バス、VESA(米国ビデオ電子装置規格化協会)ローカルバス、メザニンバスとしても知られるPCI(周辺装置相互接続)バスを含む。   With reference to FIG. 1, an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 110. The components of computer 110 may include, but are not limited to, processing unit 120, system memory 130, and system bus 121 that couples various system components such as system memory to processing unit 120. The system bus 121 may be any of several types of bus structures such as a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example and not limitation, such architectures include ISA (Industry Standard Architecture) bus, MCA (Micro Channel Architecture) bus, EISA (Extended ISA) bus, VESA (National Video Electronics Standards Association) local bus, mezzanine bus Includes a PCI (Peripheral Device Interconnect) bus, also known as.

コンピュータ110は通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110によってアクセスすることができるとともに揮発性媒体および不揮発性媒体、取外し可能媒体および固定式媒体両方を含む、市販されているどの媒体でもよい。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するためのどの方法でも技術でも実施される揮発性媒体および不揮発性媒体、取外し可能媒体および固定式媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、DVD(デジタル多用途ディスク)または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは、所望の情報を格納するのに使うことができるとともにコンピュータ110によってアクセスすることができる他のどの媒体も含むが、それに限定されない。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、変調データ信号、例えば搬送波や他の移送機構として具体化し、どの情報配信媒体も含む。「変調データ信号」という用語は、信号中の情報を符号化するように設定されまたは変更される信号特性の1つまたは複数を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などの有線媒体、ならびに音響、RF、赤外線、および他の無線媒体などの無線媒体を含む。上記のどの組合せも、やはりコンピュータ可読媒体の範囲に含まれるべきである。   Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may include computer storage media and communication media. Computer storage media is volatile and non-volatile media, removable media and non-removable media implemented in any method or technique for storing information such as computer readable instructions, data structures, program modules, or other data including. Computer storage media can be RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, DVD (Digital Versatile Disc) or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other Or any other medium that can be used to store desired information and that can be accessed by computer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Any combination of the above should also be included within the scope of computer-readable media.

システムメモリ130は、コンピュータ記憶媒体を、ROM(読出し専用メモリ)131およびRAM(ランダムアクセスメモリ)132など、揮発性および/または不揮発性メモリの形で含む。BIOS(基本入出力システム)133は、例えば起動中にコンピュータ110内部の要素間での情報の転送を助ける基本ルーチンを含み、通常はROM131に格納される。RAM132は一般に、処理ユニット120に対してただちにアクセス可能な、かつ/または処理ユニット120によって現在操作されているデータおよび/またはプログラムモジュールを含む。限定ではなく例として、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。   The system memory 130 includes computer storage media in the form of volatile and / or nonvolatile memory such as ROM (Read Only Memory) 131 and RAM (Random Access Memory) 132. The BIOS (basic input / output system) 133 includes a basic routine that assists in transferring information between elements inside the computer 110 during startup, for example, and is normally stored in the ROM 131. RAM 132 typically contains data and / or program modules that are immediately accessible to and / or currently being operated on by processing unit 120. By way of example and not limitation, FIG. 1 shows an operating system 134, application programs 135, other program modules 136, and program data 137.

コンピュータ110は、他の取外し可能/固定式、揮発性/不揮発性コンピュータ記憶媒体も含み得る。単なる例として、図1は、固定式不揮発性磁気媒体からの読出しまたはそこへの書込みを行うハードディスクドライブ141、取外し可能な不揮発性磁気ディスク152からの読出しまたはそこへの書込みを行う磁気ディスクドライブ151、および、CD ROMや他の光学媒体など取外し可能な不揮発性光ディスク156からの読出しまたはそこへの書込みを行う光ディスクドライブ155を示す。例示的な動作環境で使うことができる、他の取外し可能/固定式、揮発性/不揮発性コンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体状態RAM、固体状態ROMなどを含むが、それに限定されない。ハードディスクドライブ141は通常、インターフェース140などの固定式メモリインターフェースによって、システムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は通常、インターフェース150などの取外し可能メモリインターフェースによって、システムバス121に接続される。   The computer 110 may also include other removable / non-removable, volatile / nonvolatile computer storage media. By way of example only, FIG. 1 illustrates a hard disk drive 141 that reads from or writes to a fixed non-volatile magnetic medium, and a magnetic disk drive 151 that reads from or writes to a removable non-volatile magnetic disk 152. And an optical disk drive 155 that reads from or writes to a removable non-volatile optical disk 156, such as a CD ROM or other optical media. Other removable / non-removable, volatile / nonvolatile computer storage media that can be used in the exemplary operating environment include magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tapes, solid state RAM, Including but not limited to solid state ROM. Hard disk drive 141 is typically connected to system bus 121 by a fixed memory interface such as interface 140, and magnetic disk drive 151 and optical disk drive 155 are typically connected to system bus 121 by a removable memory interface such as interface 150. The

上述し、かつ図1に示すディスクドライブおよびそれに関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ110のための他のデータの格納を可能にする。図1では、例えば、ハードディスクドライブ141を、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を格納するものとして示してある。こうしたコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同じでも、異なってもよいことに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147は、少なくとも異なるものであることを示すために、ここでは異なる番号が与えられている。ユーザは、タブレット、あるいは電子デジタイザ、マイクロホン、キーボード162、一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス161を介して、コマンドおよび情報をコンピュータ110に入力することができる。他の入力デバイス(図示せず)は、ジョイスティック、ゲーム用パッド、衛星パラボラアンテナ、スキャナなどを含み得る。こうしたおよび他の入力デバイスはしばしば、システムバスに結合されるユーザ入力インターフェース160を介して処理ユニット120に接続されるが、パラレルポート、ゲームポート、USB(ユニバーサルシリアルバス)など、他のインターフェースおよびバス構造によって接続することもできる。モニタ191または他のタイプの表示デバイスも、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続される。モニタ191は、タッチスクリーンパネルなどと統合することもできる。モニタおよび/またはタッチスクリーンパネルは、タブレットタイプのパーソナルコンピュータでのように、コンピューティングデバイス110が組み込まれているハウジングに物理的に結合できることに留意されたい。さらに、コンピューティングデバイス110などのコンピュータは、出力周辺インターフェース195などを介して接続することができるスピーカ197およびプリンタ196など、他の周辺出力デバイスも含み得る。   The disk drive and associated computer readable media described above and illustrated in FIG. 1 allow for the storage of computer readable instructions, data structures, program modules, and other data for the computer 110. In FIG. 1, for example, the hard disk drive 141 is shown as storing an operating system 144, application programs 145, other program modules 146, and program data 147. Note that these components can either be the same as or different from operating system 134, application programs 135, other program modules 136, and program data 137. Operating system 144, application program 145, other program modules 146, and program data 147 are given different numbers here to indicate that they are at least different. A user may enter commands and information into the computer 110 through pointing devices 161, commonly referred to as a tablet or electronic digitizer, microphone, keyboard 162 and mouse, trackball or touch pad. Other input devices (not shown) may include joysticks, game pads, satellite dish antennas, scanners, and the like. These and other input devices are often connected to the processing unit 120 via a user input interface 160 coupled to the system bus, but other interfaces and buses such as parallel ports, game ports, USB (Universal Serial Bus), etc. It can also be connected by structure. A monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190. The monitor 191 can also be integrated with a touch screen panel or the like. It should be noted that the monitor and / or touch screen panel can be physically coupled to the housing in which the computing device 110 is incorporated, such as in a tablet-type personal computer. In addition, a computer such as computing device 110 may also include other peripheral output devices such as speaker 197 and printer 196 that may be connected via output peripheral interface 195 or the like.

コンピュータ110は、リモートコンピュータ180など、1つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク接続された環境において動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネットワークノードでよく、通常、コンピュータ110に関連して上述された要素の多くまたはすべてを含むが、図1にはメモリ記憶デバイス181のみが示されている。図1に示される論理接続は、LAN(ローカルエリアネットワーク)171およびWAN(ワイドエリアネットワーク)173を含むが、他のネットワークも含み得る。このようなネットワーク環境は、会社、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。   Computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer 180. The remote computer 180 may be a personal computer, server, router, network PC, peer device, or other common network node, and typically includes many or all of the elements described above in connection with the computer 110, although FIG. Only the memory storage device 181 is shown. The logical connections shown in FIG. 1 include a LAN (Local Area Network) 171 and a WAN (Wide Area Network) 173, but can also include other networks. Such network environments are commonplace in companies, enterprise-wide computer networks, intranets and the Internet.

LANネットワーク環境において使われる場合、コンピュータ110は、ネットワークインターフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーク環境において使われる場合、コンピュータ110は通常、モデム172、または、例えばインターネットなどのWAN173を介して通信を確立する他の手段を含む。モデム172は、内部にあっても外部にあってもよく、ユーザ入力インターフェース160または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク接続された環境では、コンピュータ110に関連して図示されるプログラムモジュールまたはその一部は、リモートメモリ記憶デバイスに格納することができる。限定ではなく例として、図1は、リモートアプリケーションプログラム185を、メモリデバイス181に常駐するものとして示す。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使うことができることが理解されよう。具体的には、コンピュータ110は好ましくは、IEEE802.11プロトコルに従って動作する無線ネットワーク用インターフェースまたは無線カードを含む。   When used in a LAN network environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN network environment, the computer 110 typically includes a modem 172 or other means of establishing communications over a WAN 173, such as the Internet. The modem 172 can be internal or external and can be connected to the system bus 121 via the user input interface 160 or other suitable mechanism. In a networked environment, the program modules illustrated in connection with computer 110 or portions thereof may be stored in a remote memory storage device. By way of example and not limitation, FIG. 1 illustrates remote application program 185 as resident in memory device 181. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers can be used. Specifically, the computer 110 preferably includes a wireless network interface or wireless card that operates in accordance with the IEEE 802.11 protocol.

本発明の実施形態では、システムは、図2に示すように、いくつかのコンポーネントからなる。クライアント診断(DC)202は、無線クライアントマシン204上で実行されるソフトウェアである。AP診断(DAP)206は、アクセスポイント208上で実行される。サーバ診断(DS)210は、組織のバックエンドサーバ212上で実行される。   In an embodiment of the present invention, the system consists of several components as shown in FIG. The client diagnosis (DC) 202 is software executed on the wireless client machine 204. AP diagnostics (DAP) 206 is performed on the access point 208. Server diagnostics (DS) 210 is executed on the back-end server 212 of the organization.

本発明のいくつかの実施形態では、クライアント診断モジュール202は、RF環境と、隣接クライアント214およびAP216からのトラフィックフローとを監視する。正常に活動する間、クライアントの無線カードは、無差別モード(promiscuous mode)には置かれない。DC202は、収集したデータを使って、ローカルな障害診断を実施する。個々の障害検出機構に応じて、このデータの要約が、好ましくは一定の間隔でDAP206またはDS210に伝送される。さらに、DC202は、オンデマンドなデータ収集を実施するための、DAP206またはDS210からのコマンドを受入するようにプログラミングされ、例えば、無差別モードに切り換わり、近くのクライアントのパフォーマンス問題を分析する。無線クライアント204が切断された場合、DC202は、データのログをローカルデータベース/ファイルに記録する。このデータは、将来、ネットワーク接続が復旧したとき、DAP206またはDS210によって分析することができる。   In some embodiments of the invention, the client diagnostic module 202 monitors the RF environment and traffic flows from neighboring clients 214 and APs 216. While operating normally, the client's wireless card is not placed in promiscuous mode. The DC 202 performs local fault diagnosis using the collected data. Depending on the particular fault detection mechanism, this summary of data is transmitted to the DAP 206 or DS 210, preferably at regular intervals. In addition, the DC 202 is programmed to accept commands from the DAP 206 or DS 210 to perform on-demand data collection, for example, switch to promiscuous mode and analyze performance issues for nearby clients. When the wireless client 204 is disconnected, the DC 202 records a data log in the local database / file. This data can be analyzed by DAP 206 or DS 210 when network connectivity is restored in the future.

AP診断206は、DC202からの診断メッセージを受入し、こうしたメッセージを独自の測定結果とマージし、DS210に要約レポートを送信する。本発明のいくつかの実施形態は、AP診断206を含まない。DAP206は、DS210の作業負荷を軽減する。本発明のいくつかの実施形態は、レガシーAP220およびDAP206の混合を含む。APが、レガシーAP220(例えば、AP診断を実行しないAP)である場合、APの監視機能は、DC202によって実施され、APの要約機能および調査は、DS210で実施される。   AP diagnostics 206 accepts diagnostic messages from DC 202, merges these messages with its own measurement results, and sends a summary report to DS 210. Some embodiments of the present invention do not include an AP diagnosis 206. The DAP 206 reduces the work load on the DS 210. Some embodiments of the present invention include a mixture of legacy AP 220 and DAP 206. If the AP is a legacy AP 220 (eg, an AP that does not perform AP diagnostics), the AP monitoring function is performed by the DC 202, and the AP summarization function and investigation is performed by the DS 210.

サーバ診断210は、DC202およびDAP206からのデータを受入し、様々な障害を検出し診断するための適切な分析を実施する。DS210は、各AP208の場所を格納するデータベース221へのアクセス権も有する。ネットワーク管理者は、負荷のバランスをとるために、例えば、各APのMACアドレスをある特定のDS210にハッシュすることによって、システム内に複数のDS210を展開することができる。いくつかの実施形態では、サーバ診断210は、RADIUS230およびKerberos232サーバなど、他のネットワークサーバと対話して、クライアント許可およびユーザ情報を得る。   Server diagnostic 210 accepts data from DC 202 and DAP 206 and performs appropriate analysis to detect and diagnose various faults. The DS 210 also has access rights to the database 221 that stores the location of each AP 208. To balance the load, the network administrator can deploy multiple DSs 210 in the system, for example, by hashing each AP's MAC address to a particular DS 210. In some embodiments, server diagnostics 210 interacts with other network servers, such as RADIUS 230 and Kerberos 232 servers, to obtain client permissions and user information.

図2を参照して記載する例示的なシステムは、リアクティブ型監視およびプロアクティブ型監視の両方をサポートする。プロアクティブ型監視において、DCおよびDAPは、システムを絶えず監視する。DC、DAP、またはDSによって異常が検出された場合、ネットワーク管理者が調査を行うための警告が発せられる。リアクティブ型監視モードは、サポート担当者がユーザの不満を診断したいときに用いられる。担当者は、DSの1つから、ある特定のDCに、問題を診断するためのデータを収集し分析させる指示を発行することができる。   The exemplary system described with reference to FIG. 2 supports both reactive and proactive monitoring. In proactive monitoring, the DC and DAP constantly monitor the system. If an abnormality is detected by DC, DAP, or DS, a warning is issued for the network administrator to investigate. The reactive monitoring mode is used when a support person wants to diagnose user dissatisfaction. The person in charge can issue an instruction from one of the DSs to collect and analyze data for diagnosing the problem to a specific DC.

例示的なシステムは、電源管理に関して、わずかなオーバーヘッドしか課さない。後で記載するプロアクティブ型技術およびリアクティブ型技術は両方とも、非常に小さい帯域幅、CPU、またはディスクリソースを消費する。その結果、こうした技術は、バッテリ消費にわずかな衝撃しか与えない。図2に示す例示的なシステムアーキテクチャは、DC、DAP、およびDSを使うことによって、本発明の実施形態におけるいくつかの機能をサポートする。サポートされる機能の一部は、切断されたクライアントの発見、切断されたクライアントの補助、パフォーマンスの問題の分離、および非認識アクセスポイントの検出を含む。   The exemplary system imposes little overhead on power management. Both proactive and reactive technologies described later consume very little bandwidth, CPU, or disk resources. As a result, these technologies have only a small impact on battery consumption. The exemplary system architecture shown in FIG. 2 supports several functions in embodiments of the present invention by using DC, DAP, and DS. Some of the supported features include disconnected client discovery, disconnected client assistance, performance issue isolation, and unrecognized access point detection.

本発明のいくつかの実施形態では、DAP206は、AP208に対するソフトウェア変更であり、より優れたスケーラビリティおよびAPのパフォーマンス分析を可能にする。ハードウェアを変更する必要がないので、本実施形態を展開する際の障害は比較的低い。   In some embodiments of the present invention, DAP 206 is a software change to AP 208 that allows for better scalability and AP performance analysis. Since it is not necessary to change the hardware, the obstacle when deploying this embodiment is relatively low.

クライアントマシン204およびアクセスポイント208は好ましくは、ビーコンおよびプローブを制御する機能を有する。さらに、クライアントマシン204は好ましくは、独自にインフラストラクチャネットワークを開始する(すなわち、APになる)能力、またはアドホック(すなわち、コンピュータ−コンピュータ間)ネットワークを開始する能力を有する。この機能は、現在市場に流通している多くの無線カードによってサポートされる。本発明のいくつかの実施形態は、近くのクライアントまたはアクセスポイントの存在を利用する。ソフトウェア「センサ」を備えた近くのクライアントまたはアクセスポイントを利用することによって、展開コストが低くなる可能性がある。   Client machine 204 and access point 208 preferably have the ability to control beacons and probes. In addition, client machine 204 preferably has the ability to initiate an infrastructure network independently (ie, become an AP) or to initiate an ad hoc (ie, computer-to-computer) network. This feature is supported by many wireless cards currently on the market. Some embodiments of the present invention take advantage of the presence of nearby clients or access points. Utilizing nearby clients or access points with software “sensors” may reduce deployment costs.

バックエンドサーバ212は好ましくは、データベースを使って、ネットワーク内のアクセスポイントすべての場所を維持する。このような場所データベースは好ましくは、ネットワーク管理者によって維持される。   The backend server 212 preferably uses a database to maintain the location of all access points in the network. Such a location database is preferably maintained by a network administrator.

図2に示す例示的なシステムは、システム内のクライアントおよびAPの数に対応することができる。システムは、DSおよびDAPという2つの共有リソースを含む。単一のサーバ診断が潜在的ボトルネックにならないようにするために、好ましくは、システム負荷が増すと追加DSが追加される。さらに、いくつかの実施形態は、個々の各DSが、DCおよびDAPと診断の負担を共有することによって、作業負荷を軽減することを可能にする。DSは、DCおよびDAPが問題を診断することができず、かつ分析がグローバルな視点および追加データを必要とする(例えば、複数のDAPから入手される信号強度情報が、切断されたクライアントの発見のために必要となり得る)場合のみ使われる。   The exemplary system shown in FIG. 2 can accommodate the number of clients and APs in the system. The system includes two shared resources: DS and DAP. In order to prevent a single server diagnostic from becoming a potential bottleneck, additional DS are preferably added as the system load increases. In addition, some embodiments allow each individual DS to reduce the workload by sharing the diagnostic burden with DC and DAP. DS does not allow DCs and DAPs to diagnose problems, and analysis requires a global perspective and additional data (eg, signal strength information obtained from multiple DAPs may cause disconnected client discovery Used only if it may be needed for

同様に、DAPは共有リソースなので、DAPに余分な作業をさせることは、おそらくDAPに関連するすべてのクライアントのパフォーマンスを損ない得る。DAPに対する負荷を削減するために、本発明のいくつかの実施形態は、最適化技術を利用し、この技術によって、APは、どのクライアントがAPに関連づけられている場合も、アクティブスキャンを実施せず、関連づけられたクライアントが、こうした操作を必要に応じて実施する。APは、APのパフォーマンスにごくわずかな影響しか与えない受動監視活動を実施し続ける。どのクライアントも関連づけられていない場合、APはアイドル状態であり、こうした監視操作を実施することができる。この手法は、AP周辺の物理的エリアのほとんどが、APのパフォーマンスを損なうことなく監視されることを保証する。   Similarly, since the DAP is a shared resource, having the DAP do extra work can probably detract from the performance of all clients associated with the DAP. To reduce the load on the DAP, some embodiments of the present invention utilize optimization techniques that allow the AP to perform an active scan no matter what client is associated with the AP. Rather, the associated client performs these operations as needed. The AP continues to carry out passive monitoring activities that have a negligible impact on the performance of the AP. If no clients are associated, the AP is idle and can perform such monitoring operations. This approach ensures that most of the physical area around the AP is monitored without compromising the performance of the AP.

一実施形態では、DC、DAP、およびDSの間の対話は、IEEE802.1xによって発行されるEAP−TLS証明書を用いて保護される。公認の認証機関(CA)が、DC、DAP、およびDSに証明書を発行する。こうした証明書は、こうしたエンティティの間のすべての通信が相互に認証されることを保証するのに使われる。一実施形態は、正当なユーザによる悪意のある振舞いを検出する既知の技術を含む。   In one embodiment, the interaction between DC, DAP, and DS is protected using an EAP-TLS certificate issued by IEEE 802.1x. A recognized certificate authority (CA) issues certificates to the DC, DAP, and DS. These certificates are used to ensure that all communications between these entities are mutually authenticated. One embodiment includes known techniques for detecting malicious behavior by legitimate users.

図3に注意を向けると、ここで、IEEE802.11無線ネットワークにおけるパフォーマンスの問題を検出し診断する技術が、本発明の実施形態に従って記載される。クライアント診断302、アクセスポイント診断304、およびサーバ診断306の様々な組合せによって実施される別個の3つのフェーズ、すなわち問題検出フェーズ308、問題分離フェーズ310、および問題診断フェーズ312がある。検出フェーズ308は好ましくは、クライアント診断302によって実施され、クライアント診断302は、2つの軽いコンポーネント、すなわちプロアクティブ型/受動監視コンポーネント314およびリアクティブ型診断コンポーネント316を備える。監視コンポーネント314は、クライアントにおいてバックグラウンドで実行され、診断コンポーネント316に、パフォーマンスが低下した接続を検出したときを知らせる。この時点で、診断コンポーネント316は、接続を分析し、遅延の分析、すなわち、有線および無線パートにおける遅延の程度、さらに無線パートに関しては、クライアント318での遅延、AP320での遅延、ならびに媒体322および324での遅延の詳細な報告を出力する。ネットワーク問題が起こっていると宣言することについて、監視コンポーネント314は保守的であることが望ましい。というのは、間違った警告は、診断コンポーネント316を呼び出すからである。このコンポーネントは、オーバーヘッドが小さいので、このコンポーネントの呼出しは、クライアント318およびAP320のパフォーマンスに些細な衝撃しか与えない。   Turning attention to FIG. 3, a technique for detecting and diagnosing performance problems in an IEEE 802.11 wireless network will now be described in accordance with an embodiment of the present invention. There are three distinct phases performed by various combinations of client diagnostics 302, access point diagnostics 304, and server diagnostics 306: a problem detection phase 308, a problem isolation phase 310, and a problem diagnosis phase 312. The detection phase 308 is preferably performed by the client diagnostics 302, which comprises two light components: a proactive / passive monitoring component 314 and a reactive diagnostic component 316. The monitoring component 314 runs in the background at the client and informs the diagnostic component 316 when it detects a degraded performance connection. At this point, the diagnostic component 316 analyzes the connection and analyzes the delay, ie, the degree of delay in the wired and wireless parts, and for the wireless part, the delay in the client 318, the delay in the AP 320, and the medium 322 and A detailed report of the delay at 324 is output. The monitoring component 314 is preferably conservative in declaring that a network problem is occurring. This is because a false alert invokes diagnostic component 316. Because this component has low overhead, invoking this component has only a minor impact on the performance of client 318 and AP 320.

一実施形態では、TCPがインターネットにおいて最も広く利用されているトランスポートプロトコルなので、パフォーマンスの問題は、TCP接続のために診断される。TCP接続ついて、接続のデータおよび肯定応答(ACK)パケットを活用することによって、受動診断が遂行される。他のトランスポートプロトコルついて、アクティブプローブまたはパフォーマンスレポート(例えば、RTCPレポート)のどちらかを用いて、エンドツーエンドの損失レートおよびラウンドトリップ時間が計算される。   In one embodiment, because TCP is the most widely used transport protocol in the Internet, performance issues are diagnosed for TCP connections. For TCP connections, passive diagnosis is performed by utilizing connection data and acknowledgment (ACK) packets. For other transport protocols, end-to-end loss rates and round-trip times are calculated using either active probes or performance reports (eg, RTCP reports).

より詳細には、検出フェーズ308に移ると、本発明の実施形態は、ネットワークのパフォーマンス問題が、低スループット、高い損失レート、および高遅延など、様々な形で現れ得ると認識している。いくつかの実施形態では、スループットは、問題を検出する基準値として使われない。というのは、スループットは、作業負荷に依存し(すなわち、クライアントのアプリケーションが、高スループットを要求としないかもしれない)、かつトランスポートプロトコルの特定のパラメータ(例えば、TCPにおける初期ウィンドウサイズ、送信側および受信側のウィンドウサイズ)に依存するからである。代わりに、本発明の実施形態では、パケット紛失レートおよびラウンドトリップ時間が、パフォーマンス問題の検出に用いられる。   More specifically, moving to the detection phase 308, embodiments of the present invention recognize that network performance issues can appear in various forms, such as low throughput, high loss rate, and high delay. In some embodiments, throughput is not used as a reference value for detecting problems. This is because the throughput depends on the workload (ie the client application may not require high throughput) and certain parameters of the transport protocol (eg initial window size in TCP, sender And the window size on the receiving side). Instead, in embodiments of the present invention, packet loss rate and round trip time are used to detect performance problems.

TCP接続におけるラウンドトリップ時間(RTT)を推定するために、本発明の実施形態は、クライアントが送信側であるかどうか調べる。クライアントが送信側の場合、クライアントは、既にRTTを追跡している。クライアントが受信側(receiver)の場合、クライアントは、ヒューリスティックを適用して、ラウンドトリップ時間を推定することができる(例えば、非特許文献1参照)。   In order to estimate the round trip time (RTT) in a TCP connection, embodiments of the present invention check whether the client is the sender. If the client is the sender, the client is already tracking the RTT. When the client is a receiver, the client can apply a heuristic to estimate the round trip time (see, for example, Non-Patent Document 1).

損失レートを推定するために、本発明の実施形態におけるクライアント診断302は、ヒューリスティックを利用する(例えば、非特許文献2、非特許文献3参照)。クライアント318によって送信され受信されるパケットに対して、様々な損失レートが計算される。クライアント318によって送信されるデータパケットに対して、損失レートは、最後のL個のRTTにおける、送信されるパケットに対する、再伝送されるパケットの比として推定される。この推定機構は、損失レートが不必要に多めに見積もられないように、TCP実装が、Selective ACK(SACK)を用いることを前提とする。これは、いくつかのオペレーティングシステム、例えば、Windows(登録商標)、Linux、Solarisが現在、このオプションをデフォルトでサポートしているので、妥当な前提である。この推定値は、タイムアウトがTCP接続において起こる場合、実際の損失レートより高い場合があるが、この不正確さは、2つの理由により許容可能である。第1に、TCP接続においてタイムアウトが起きた場合、TCP接続には、問題が起きており、診断を行うのに値する。第2に、誤りの結果、小さなオーバーヘッドを被る本発明の診断コンポーネントをトリガするだけである。より正確な分析が必要とされる場合、好ましくは、Allmanらによって提案されたLEAST手法が用いられる。   In order to estimate the loss rate, the client diagnosis 302 in the embodiment of the present invention uses a heuristic (see, for example, Non-Patent Document 2 and Non-Patent Document 3). Various loss rates are calculated for packets sent and received by client 318. For data packets transmitted by client 318, the loss rate is estimated as the ratio of retransmitted packets to transmitted packets in the last L RTTs. This estimation mechanism assumes that the TCP implementation uses Selective ACK (SACK) so that the loss rate is not unnecessarily overestimated. This is a reasonable assumption because some operating systems, such as Windows, Linux, and Solaris, currently support this option by default. This estimate may be higher than the actual loss rate if a timeout occurs in a TCP connection, but this inaccuracy is acceptable for two reasons. First, if a timeout occurs in a TCP connection, there is a problem with the TCP connection and it is worth making a diagnosis. Second, it only triggers the diagnostic component of the present invention which incurs a small overhead as a result of an error. Where more accurate analysis is required, the LAST technique proposed by Allman et al. Is preferably used.

クライアント318によって受信されるデータパケットに対して、本発明の実施形態は、以下の手法を用いて、損失の数を推定する。すなわち、開始シーケンス番号が、予期される次のシーケンス番号でないようなパケットが受信された場合、欠けているセグメントは、失われたと見なされる。損失レートは、最後のL個のRTTにおいて予期されるパケットの総数に対する損失パケットの比と推定される。予期されるバイト数は、最後のL個のRTTの間での最大観測シーケンス番号から最小の番号を引いたものと計算されることに留意されたい。最大セグメントサイズ(MSS)は、Zhangらによって教示されている方法などを用いて推定され、パケット数は、バイト数をMSSで割ることによって推定される。   For data packets received by client 318, embodiments of the invention estimate the number of losses using the following approach. That is, if a packet is received whose starting sequence number is not the expected next sequence number, the missing segment is considered lost. The loss rate is estimated as the ratio of lost packets to the total number of packets expected in the last L RTTs. Note that the expected number of bytes is calculated as the largest observed sequence number during the last L RTTs minus the smallest number. The maximum segment size (MSS) is estimated using methods such as taught by Zhang et al., And the number of packets is estimated by dividing the number of bytes by the MSS.

接続に損失が非常に多いか、または高遅延が起きている場合、監視コンポーネント314は、診断コンポーネント316をトリガする。ある特定のパケットのRTTが所与の閾値(例えば、250msec)より多いか、または現在のTCP RTTの何らかの倍数(例えば、2倍)より高い場合、接続は、高遅延が起きていると検出される。一時的に起こる高遅延に対して診断アルゴリズムを呼び出さないようにするために、何らかの変数D以上のパケットが高遅延を経験している場合のみ、接続はフラグを立てられる。接続は、(伝送され、または受信されたパケットに対する)その損失レートが、ある程度の閾値L(例えば、5%)より高い場合、損失が多いと分類される。DおよびLは両方とも、書換え可能なパラメータであり、それぞれ、検出コンポーネントの応答性と診断コンポーネントの不必要な呼出しの間の妥協点を表す。つまり、小さな値のDまたはLを使うと、遅延/損失のどの変化もすぐに検出されるが、診断コンポーネントを不必要に呼び出す結果にもなり得る。高い値のDまたはLを使う場合、応答の遅さの他に、別の問題が起こる。すなわち、十分な数のサンプルが集められる前に、TCP接続が終了し得る。このような状況は、短いウェブの転送(short Web transfer)の場合に起こり得る。本発明の実施形態は、TCP接続全体に渡って、クライアント318とリモートホスト326の間の損失レートおよび遅延情報を集約することによって、この問題を緩和する。   The monitoring component 314 triggers the diagnostic component 316 if the connection is very lossy or has a high delay. If the RTT of a particular packet is greater than a given threshold (eg 250 msec) or higher than some multiple of the current TCP RTT (eg 2 times), the connection is detected as experiencing high latency The In order not to call the diagnostic algorithm for a temporary high delay, the connection is only flagged if a packet greater than some variable D is experiencing a high delay. A connection is classified as lossy if its loss rate (for transmitted or received packets) is above a certain threshold L (eg 5%). Both D and L are rewritable parameters, each representing a compromise between the responsiveness of the detection component and the unnecessary invocation of the diagnostic component. That is, using a small value of D or L will immediately detect any change in delay / loss, but may also result in unnecessary calling of diagnostic components. In addition to slow response, another problem arises when using high values of D or L. That is, the TCP connection can be terminated before a sufficient number of samples are collected. Such a situation can occur in the case of a short web transfer. Embodiments of the present invention alleviate this problem by aggregating loss rate and delay information between the client 318 and the remote host 326 across the entire TCP connection.

ネットワークのパフォーマンス問題が、問題検出フェーズ308において検出されると、クライアント318にあるDC302は、問題分離フェーズ310で、それに関連づけられたDAP304と通信して、パスの有線パート322における遅延と無線パート324における遅延とを区別する。本発明の実施形態によって用いられる、有線パフォーマンス問題と無線パフォーマンス問題を分離するための方法を、図4を参照して説明する。DCが、ステップ402で、パフォーマンスの問題をDAPに通知すると、DAPは次いで、そのクライアントの接続のために、ステップ404で、TCPデータおよびACKパケットの監視を開始する。DAPは、ステップ406で、TCP接続において、クライアントが送信側であるか、それとも受信側であるか判定する。クライアントが送信側の場合、DAPは、ステップ408で、クライアントからリモートホストまでのデータパケットと、対応するTCP ACKパケットの受信時間との差を計算する。この時間差は、有線ネットワークにおいて被る遅延の推定値である。ラウンドトリップ時間の推定値が妥当な値となることを保証するために、好ましくは、TCPによって利用される様々なヒューリスティック、例えば、Karnのアルゴリズムが、こうしたラウンドトリップ測定値にも適用される(例えば、非特許文献4参照)。ステップ410で、DAPは、この推定値をDCに送信し、ステップ412で、DCは、TCPラウンドトリップ時間から、この推定値を差し引いて、遅延の無線パートを判定することができる。クライアントが受信側の場合、一実施形態では、この分析を計算するのに同様の手法が用いられる。すなわち、DAPは、ステップ414で、リモートホストからクライアントへのデータパケットおよび対応するACKパケットを監視することによって、無線遅延を判定する。DAPで維持される状態の量は、応答されなかったTCPパケットの数に対応するので、少ないことに留意されたい。この量は、サンプリングによってさらに削減することができる。   When a network performance problem is detected in problem detection phase 308, DC 302 in client 318 communicates with its associated DAP 304 in problem isolation phase 310 to delay and wireless part 324 in the wired part 322 of the path. Distinguish from the delay in. A method for separating wired performance issues and wireless performance issues used by embodiments of the present invention will be described with reference to FIG. When the DC notifies the DAP of the performance problem in step 402, the DAP then begins monitoring TCP data and ACK packets in step 404 for the client's connection. In step 406, the DAP determines whether the client is the sending side or the receiving side in the TCP connection. If the client is the sender, the DAP calculates the difference between the data packet from the client to the remote host and the reception time of the corresponding TCP ACK packet at step 408. This time difference is an estimate of the delay experienced in the wired network. In order to ensure that the round trip time estimate is reasonable, various heuristics utilized by TCP, such as Karn's algorithm, are also applied to such round trip measurements (eg, Non-Patent Document 4). At step 410, the DAP sends this estimate to the DC, and at step 412, the DC can subtract this estimate from the TCP round trip time to determine the radio part of the delay. If the client is a receiver, in one embodiment, a similar approach is used to calculate this analysis. That is, the DAP determines the radio delay at step 414 by monitoring the data packet from the remote host to the client and the corresponding ACK packet. Note that the amount of state maintained in the DAP is small because it corresponds to the number of TCP packets that were not responded. This amount can be further reduced by sampling.

図3に戻ると、AP320またはクライアントのプロセッサの過負荷、無線媒体324における問題、AP320またはクライアント318のドライバまたは他のカーネルの問題など、いくつかの理由による無線パフォーマンスの低下が、クライアント318で起こり得る。本発明の実施形態は、問題が無線ネットワークパスにおけるパケット遅延に与える衝撃を観察することによって、こうした問題の影響を定量化する。こうしたパフォーマンスの問題は、クライアント318でのパケット遅延、AP320でのパケット遅延、および無線媒体324におけるパケット遅延という3つのカテゴリに分かれる。実施形態は、傍受隣接デバイスを用いた遅延推定(Estimating Delay using Eavesdropping Neighbors:EDEN)と称する協働方式を用いる。EDENは、他のクライアントの存在を利用して、上記カテゴリのそれぞれの範囲内で経験される遅延を定量化する。電磁波は、光の速度で進むので、RF伝播遅延は、クライアントまたはAPの遅延と比較してわずかであると仮定して差し支えない。クライアント318のパフォーマンス診断コンポーネント316は、その問題検出コンポーネント314によってトリガされると、近くのクライアントに診断ヘルプを依頼するパケットのブロードキャストを開始する。こうしたパケットを聞いた(受信した)すべてのクライアントは、無差別モード(または「傍受」モード)に切り換わり、DAP304に、診断を開始するよう依頼する。2005年1月31日に出願した整理番号231441の係属中の米国特許出願「USING A CONNECTED WIRELESS COMPUTER AS A CONDUIT FOR A DISCONNECTED WIRELESS COMPUTER」で論じられている機構などのセキュリティ機構が、こうしたクライアントに対する攻撃を防止するのに利用することができる。EDENでの複数のスヌープクライアントの使用は、以下の頑強性をもたらすことに留意されたい。すなわち、後で論じるEDENプロトコル要求および応答を少なくとも1つのクライアントが聞く見込みを、複数のクライアントが高める。   Returning to FIG. 3, wireless performance degradation occurs on the client 318 for several reasons, such as an AP 320 or client processor overload, a problem with the wireless medium 324, a driver or other kernel problem with the AP 320 or client 318, etc. obtain. Embodiments of the present invention quantify the impact of such problems by observing the impact that the problem has on packet delays in the wireless network path. These performance issues fall into three categories: packet delay at the client 318, packet delay at the AP 320, and packet delay at the wireless medium 324. The embodiment uses a collaborative scheme called Estimating Delay using Eavesdropping Neighbors (EDEN). EDEN uses the presence of other clients to quantify the delay experienced within each of the above categories. Since electromagnetic waves travel at the speed of light, it can be assumed that the RF propagation delay is small compared to the client or AP delay. When triggered by its problem detection component 314, the performance diagnostic component 316 of the client 318 initiates a broadcast of a packet requesting diagnostic help from a nearby client. All clients that hear (receive) such a packet switch to promiscuous mode (or “intercept” mode) and ask the DAP 304 to begin diagnosis. Security mechanisms such as those discussed in pending US patent application “USING A CONNECTED WIRELESS COMPUTER AS A CONDUIT FOR A DISCONNECTED WIRELESS COMPUTER” filed Jan. 31, 2005, under US Pat. Can be used to prevent Note that the use of multiple snoop clients with EDEN results in the following robustness: That is, multiple clients increase the likelihood that at least one client will hear the EDEN protocol request and response discussed later.

EDENは、ここで図5を参照して説明する2つのフェーズで進行する。第1のフェーズにおいて、クライアント504が関連づけられているDAP502が、クライアント504での遅延を推定する。DAP502は、ステップ506で、周期的(例えば2秒おき)にクライアント504にスヌープ要求パケットを送信する。クライアント504は、スヌープ要求パケットを受信すると、ステップ508で、スヌープ応答メッセージを使って直ちに返答する。傍受クライアント510は、ステップ512で、スヌープ要求を聞いた(傍受した)時間をログに記録し、ステップ514での、クライアント504による、対応するスヌープ応答パケットを送信しようとする第1の試み、すなわち、再伝送ビットがクリアである応答パケットの時間のみが記録される。傍受クライアント510は、こうしたパケットのいずれかを入手し損なうと、その要求/応答ペアに対するタイミング値を無視する。記録時間の間の差は、クライアント遅延、すなわち、要求パケットを受信した後の、クライアントにおいて起こるアプリケーションおよびOSの遅延である。頑強性のために、スヌープ要求は、好ましくは何度か(例えば20回)送信される。クライアントおよびAPの遅延は、こうしたすべての事例を対象として平均をとられる。   EDEN proceeds in two phases which will now be described with reference to FIG. In the first phase, the DAP 502 with which the client 504 is associated estimates the delay at the client 504. In step 506, the DAP 502 sends a snoop request packet to the client 504 periodically (eg, every 2 seconds). When the client 504 receives the snoop request packet, it immediately responds with a snoop response message in step 508. The intercepting client 510 logs the snoop request time (intercepted) at step 512 and the first attempt by the client 504 to send the corresponding snoop response packet at step 514, i.e. Only the time of the response packet in which the retransmission bit is clear is recorded. If eavesdropping client 510 fails to obtain any of these packets, it ignores the timing value for that request / response pair. The difference between the recording times is the client delay, that is, the application and OS delay that occurs at the client after receiving the request packet. For robustness, the snoop request is preferably sent several times (eg 20 times). Client and AP delays are averaged over all these cases.

第2のフェーズにおいて、AP遅延を測定するのに、同様の技術が用いられる。すなわち、クライアント504が、ステップ520で、スヌープ要求パケットを送信し、AP502が、ステップ522で、応答を送信する。傍受クライアント510は、ステップ521および523で、要求および応答時間をログに記録する。クライアント504も、ステップ524で、こうしたスヌープ要求および応答に対するAPまでのラウンドトリップ時間とともに、クライアント504が応答を受信しなかった、例えば要求または応答が失われた要求パケットの数を記録する。   In the second phase, a similar technique is used to measure the AP delay. That is, the client 504 transmits a snoop request packet in step 520, and the AP 502 transmits a response in step 522. Intercept client 510 logs the request and response times in steps 521 and 523. The client 504 also records, at step 524, the number of request packets for which the client 504 did not receive a response, eg, the request or response was lost, along with the round trip time to the AP for such snoop requests and responses.

クライアントおよびAPの遅延は、無線媒体において起こる競合に起因する遅延を含み得る。このような競合に起因する遅延は、妥当な正確さでEDENが遅延を推定することを阻止しないことを、実証的研究が示している。   Client and AP delays may include delays due to contention occurring in the wireless medium. Empirical studies have shown that the delay due to such competition does not prevent EDEN from estimating the delay with reasonable accuracy.

プロトコルの最後で、好ましくは傍受クライアント510すべてが、クライアント診断504にAPおよびクライアントの遅延時間を送信する。クライアントによって報告されるラウンドトリップ時間と、クライアントおよびAPでの遅延の合計との間の差は、送信および受信無線リンクにおいてパケットが直面する遅延の合計に近い。クライアント診断504は次いで、ネットワーク管理者に、クライアント/AP/媒体という分類を報告することができる。クライアント診断504は、応答されなかった要求パケットのパーセンテージを、無線リンクでのネットワークレベルの損失レートのインジケータとして報告することもできる。   At the end of the protocol, preferably all intercepting clients 510 send the AP and client delay times to client diagnostics 504. The difference between the round trip time reported by the client and the sum of delays at the client and AP is close to the sum of delays encountered by the packets on the transmit and receive radio links. Client diagnostics 504 can then report the client / AP / medium classification to the network administrator. Client diagnostics 504 may also report the percentage of request packets that were not responded as an indicator of the network level loss rate over the wireless link.

本発明の代替実施形態では、無線アクセスポイントは、上述したEDENのステップを実行することによって、ネットワークのパフォーマンス問題を検出する。このような実施形態において、無線アクセスポイントは、損失パケットおよびパケット遅延に対するネットワークトラフィックを監視することができ、さらに、クライアントまたは別のアクセスポイントとのスヌーププロトコルに関与することもできる。アクセスポイントは、隣接クライアントに、プロトコルを傍受するよう通知し、収集された情報を受信して、問題の性質を判定する。   In an alternative embodiment of the present invention, the wireless access point detects network performance issues by performing the EDEN steps described above. In such embodiments, the wireless access point can monitor network traffic for lost packets and packet delays, and can also participate in a snoop protocol with the client or another access point. The access point notifies neighboring clients to intercept the protocol and receives the collected information to determine the nature of the problem.

図6に注意を向けると、実装の一実施形態の詳細が示されている。基本アーキテクチャは、クライアント、アクセスポイント、およびサーバ上でそれぞれ実行される、DC、DAP、およびDSデーモンからなる。システムは、例えば、標準的な市販の802.11bカードとともに、Microsoft Windows(登録商標)オペレーティングシステム上に実装することができる。DSにおいて、デーモンプロセスは、DAPからの情報を受入する。DSは、ファイルまたはデータベースから、正当なAPの一覧を読み出す。DCまたはDAPにおけるコードの構造は好ましくは、ユーザレベルのデーモン602ならびにカーネルレベルのドライバ604および606を備える。こうした部分は、ユーザレベルのデーモン602で機能が実現できない場合、またはパフォーマンス上の不利益があまりにも多い場合のみ、カーネルドライバ604および606にコードが追加されるように構築される。   Turning attention to FIG. 6, details of one embodiment of the implementation are shown. The basic architecture consists of DC, DAP, and DS daemons running on the client, access point, and server, respectively. The system can be implemented on a Microsoft Windows® operating system, for example, with a standard commercially available 802.11b card. In DS, the daemon process accepts information from the DAP. The DS reads a list of valid APs from a file or database. The code structure in DC or DAP preferably comprises a user level daemon 602 and kernel level drivers 604 and 606. These parts are constructed such that code is added to the kernel drivers 604 and 606 only if the functionality cannot be achieved with the user level daemon 602 or if there are too many performance penalties.

例示的なシステムには、Microsoft Windows(登録商標)オペレーティングシステムにおけるNative WiFiドライバのような、ミニポートドライバ604および中間ドライバ(IMドライバ)606という2つのカーネルドライバがある。ミニポートドライバ604は、ハードウェアと直接通信し、例えばパケットの送信/受信、チャネルの設定などの基本機能を提供する。ドライバ604は、関連づけ、認証などのような機能がIMドライバ606において扱うことができるように、十分なインターフェースを公開する。IMドライバ606は、現在のチャネル、伝送レベル、電源管理モード、SSIDなど、様々なパラメータを照会する、(ロードにより公開される)いくつかのインターフェースをサポートする。パラメータの設定を可能にするだけでなく、この照会は、ユーザレベルのコードが、アクティブスキャンを要求し、具体的なSSIDと関連づけ、パケットを取り込むことなども可能にする。概して、この照会は、ユーザレベルのコードにかなりの柔軟性および制御をもたらす。   In the exemplary system, there are two kernel drivers, a miniport driver 604 and an intermediate driver (IM driver) 606, such as the Native WiFi driver in the Microsoft Windows® operating system. The miniport driver 604 communicates directly with the hardware and provides basic functions such as packet transmission / reception and channel setting. Driver 604 exposes sufficient interfaces so that functions such as association, authentication, etc. can be handled in IM driver 606. The IM driver 606 supports several interfaces (exposed by loading) that query various parameters such as the current channel, transmission level, power management mode, SSID, etc. In addition to allowing parameters to be set, this query also allows user-level code to request an active scan, associate it with a specific SSID, capture a packet, and so on. In general, this query provides considerable flexibility and control to user-level code.

多くの操作がIMドライバ606に既に存在するにも関わらず、本発明の実施形態は、特定の機能を公開し特定のプロトコルのパフォーマンスを向上させるための変更を用いる。ミニポートドライバ604は好ましくは、ある特定のタイプのパケットをIMドライバ606に公開するように最小限変更される。IMドライバ606において、好ましくは以下のサポートが追加される。すなわち、パケットヘッダおよびパケットの取込み、受信されたパケットからのRSSI(Received Signal Strength Indicator:受信信号強度表示信号)値の格納、AP情報の追跡、ならびにプロトコル効率のためのカーネルイベントのサポートである。こうした変更が、次にさらに詳しく論じられる。   Although many operations already exist in IM driver 606, embodiments of the present invention use modifications to expose specific functionality and improve the performance of specific protocols. Miniport driver 604 is preferably minimally modified to expose certain types of packets to IM driver 606. In the IM driver 606, the following support is preferably added. Packet header and packet capture, RSSI (Received Signal Strength Indicator) value storage from received packets, AP information tracking, and kernel event support for protocol efficiency. These changes are discussed in further detail next.

パケットヘッダおよびパケットの取込み:本発明の実施形態は、特定のパケットまたはパケットヘッダのみが取り込まれるようなフィルタ、例えば、特定のMACアドレス、パケットタイプ、パケットサブタイプ(例えば、管理パケットおよびビーコンパケット)などに基づくフィルタが設定されることを可能にする。   Packet header and packet capture: Embodiments of the present invention allow filters such as specific MAC addresses, packet types, packet subtypes (eg, management packets and beacon packets) to capture only specific packets or packet headers. Allows a filter based on etc. to be set.

受信されたパケットからのRSSI値の格納:本発明の実施形態は、受信されたすべてのパケットのRSSI値を入手し、(MACアドレス上で索引づけされる)各隣接デバイスからのRSSI値を追跡する、NeighborInfoテーブルと呼ばれるテーブルを維持する。指数関数的に重みづけされた平均が、例えば、0.25というある程度の重み係数を与えられた新しい値とともに維持される。   Storing RSSI values from received packets: Embodiments of the present invention obtain RSSI values for all received packets and track RSSI values from each neighboring device (indexed on MAC address) A table called NeighborInfo table is maintained. An exponentially weighted average is maintained with the new value given a certain weighting factor of, for example, 0.25.

AP情報の追跡:NeighborInfoテーブルにおいて、いくつかの実施形態は、ある特定のMACアドレスからパケットが聞かれた(受信された)チャネル、(ビーコンからの)SSID情報、およびデバイスがAPであるか、それともステーションであるかを追跡する。   Tracking AP information: In the NeighborInfo table, some embodiments include the channel from which a packet was heard (received) from a particular MAC address, the SSID information (from the beacon), and whether the device is an AP. Or track if it is a station.

プロトコル効率のためのカーネルイベントサポート:好ましくは、カーネルとユーザレベルのコードの間で共有されるイベントが追加される。カーネルは、「興味のある」イベントが起こると、このイベントをトリガする。このことは、プロトコルのいくつかを、ポーリングベースではなく中断駆動型にさせる。   Kernel event support for protocol efficiency: Preferably, events that are shared between the kernel and user-level code are added. The kernel triggers an “interesting” event when it occurs. This makes some of the protocols interrupt-driven rather than poll-based.

さらに、好ましくは、上で論じた情報を入手しクリアするためにいくつかのioctlが追加される。   In addition, several ioctls are preferably added to obtain and clear the information discussed above.

本発明の実施形態において、診断デーモン602は、デバイス上で実行され、情報を集め、かつ、上で論じた様々な機構を実装する。このデバイスは、APである場合、診断情報を、DSおよびDCと伝達し合う。デバイスは、DCに過ぎない場合、デバイスに関連づけられたAPと通信して、診断情報を伝える。DC上の診断デーモンは、定期的な間隔、例えば30秒おきに、カーネル608から、現在のNeighborInfoテーブルを入手する。新しいノードが見つかった場合、または既存のデータが大幅に変化した(例えば、クライアントのRSSI値が、2という係数より大きく変化した)場合、こうした情報は、DAPに送信される。DAPは好ましくは、MACアドレスにおいて索引づけされた同様のテーブルも維持する。ただし、DAPは、切断されたクライアントおよびAPについての情報をDSに送信するだけである。あるいは、DSが、システム内のすべてのクライアント用のアップデートの入手を中止し、クライアントのスケーラビリティを低下させる。DAPは、APについての新しいまたは変更された情報をDSに周期的に(例えば、30秒)送信する。さらに、DAPは、切断されたクライアントDについての何らかの保留情報をもっている場合、切断されたクライアントが適切なときにサービスを受けることができるように、DSに直ちに知らせる。DCからDAPへの、およびDAPからDSへのすべてのメッセージは好ましくは、XMLメッセージとして送信される。DCからのサンプルメッセージ形式が、以下に示される(タイムスタンプは消去してある)。   In an embodiment of the present invention, the diagnostic daemon 602 runs on the device, collects information, and implements the various mechanisms discussed above. If the device is an AP, it communicates diagnostic information with the DS and DC. If the device is only a DC, it communicates with the AP associated with the device to convey diagnostic information. The diagnostic daemon on the DC obtains the current NeighborInfo table from the kernel 608 at regular intervals, eg every 30 seconds. Such information is sent to the DAP when a new node is found or when the existing data has changed significantly (eg, the client's RSSI value has changed more than a factor of 2). The DAP preferably also maintains a similar table indexed by MAC address. However, the DAP only sends information about the disconnected client and AP to the DS. Alternatively, the DS ceases getting updates for all clients in the system, reducing client scalability. The DAP periodically sends new or changed information about the AP to the DS (eg, 30 seconds). In addition, if the DAP has any pending information about the disconnected client D, the DAP immediately informs the DS so that the disconnected client can receive service when appropriate. All messages from DC to DAP and from DAP to DS are preferably sent as XML messages. A sample message format from the DC is shown below (time stamps are erased).

Figure 0004733489
Figure 0004733489

このサンプルメッセージが示すように、DCは、接続された他のクライアント、AP、および切断されたクライアントについての情報を送信する。このような各クラスのエンティティごとに、DCは、マシンのMACアドレスを、RSSI、SSID、および特定のデバイスがオーバーヒアーされたチャネルを示すチャネルビットマップとともに送信する。   As this sample message shows, the DC sends information about other connected clients, APs, and disconnected clients. For each such class of entity, the DC sends the machine's MAC address along with the RSSI, SSID, and a channel bitmap that indicates the channel on which the particular device was overheard.

本発明の原理を適用することができる多くの可能な実施形態を検討したが、図面に関連して本明細書において説明した実施形態は、例示のみを意図しており、本発明の範囲を限定するものととられるべきではないことが理解されるべきである。例えば、本発明の精神から逸脱することなく、例示された実施形態は、構成および細部において変更できることを当業者は理解するであろう。本発明は、ソフトウェアモジュールまたはコンポーネントによって説明したが、ハードウェアコンポーネントで等価に置き換えることができることを当業者は理解するであろう。したがって、本明細書に記載した本発明は、このようなすべての実施形態が添付の請求項およびその等価物の範囲内であり得ることを企図している。   While a number of possible embodiments have been considered to which the principles of the invention may be applied, the embodiments described herein in connection with the drawings are intended to be illustrative only and limit the scope of the invention. It should be understood that it should not be taken. For example, those skilled in the art will appreciate that the illustrated embodiments can be modified in arrangement and detail without departing from the spirit of the invention. Although the invention has been described in terms of software modules or components, those skilled in the art will appreciate that hardware components can be equivalently replaced. Accordingly, the invention described herein contemplates that all such embodiments may be within the scope of the appended claims and their equivalents.

本発明の実施形態に従って使われる、コンピューティングデバイスの例示的なアーキテクチャを示す簡略化した概略図である。FIG. 2 is a simplified schematic diagram illustrating an exemplary architecture of a computing device used in accordance with an embodiment of the present invention. 本発明の実施形態による、ネットワークのパフォーマンス問題を検出し診断する例示的な無線ネットワークを示す図である。1 illustrates an exemplary wireless network for detecting and diagnosing network performance problems in accordance with embodiments of the present invention. FIG. 本発明の実施形態による、ネットワークのパフォーマンス問題を検出し診断する例示的なアーキテクチャを示す図である。FIG. 2 illustrates an exemplary architecture for detecting and diagnosing network performance problems according to embodiments of the present invention. 本発明の実施形態による、無線ネットワークにおける遅延を計算する方法を示すフロー図である。FIG. 5 is a flow diagram illustrating a method for calculating delay in a wireless network according to an embodiment of the present invention. 本発明の実施形態による、隣接無線デバイスを用いて無線ネットワーク通信の問題を共同で診断する方法を示すフロー図である。FIG. 6 is a flow diagram illustrating a method for jointly diagnosing wireless network communication problems using neighboring wireless devices according to an embodiment of the present invention. 本発明の実施形態による、無線通信問題の診断に使われるソフトウェアコンポーネントを示す概略図である。FIG. 3 is a schematic diagram illustrating software components used for diagnosing wireless communication problems according to an embodiment of the present invention.

符号の説明Explanation of symbols

202,302 クライアント診断
204 無線クライアントマシン
206,304 アクセスポイント診断
208,320 アクセスポイント
210,306 サーバ診断
212 バックエンドサーバ
220 レガシーアクセスポイント
221 データベース
230 RADIUS
232 Kerberos
314 プロアクティブ型/受動監視コンポーネント
316 リアクティブ型診断コンポーネント
318 クライアント
322,324 媒体
326 リモートホスト
202, 302 Client diagnosis 204 Wireless client machine 206, 304 Access point diagnosis 208, 320 Access point 210, 306 Server diagnosis 212 Backend server 220 Legacy access point 221 Database 230 RADIUS
232 Kerberos
314 Proactive / passive monitoring component 316 Reactive diagnostic component 318 Client 322, 324 Medium 326 Remote host

Claims (13)

無線ネットワーク内の無線コンピューティングデバイスまたは無線アクセスポイントのいずれかである第1の無線デバイスにおいて起こる通信問題の診断を促進する方法であって、
前記無線ネットワーク内に通信問題が存在することを判定するステップと、
前記通信問題の診断を補助させるための要求を、1つまたは複数の隣接無線デバイスにブロードキャストするステップであって、前記要求を受信した前記隣接無線デバイスを傍受モードに切り替えるステップと、
診断セッションにおいて第2の無線デバイスによって送信される診断セッション要求に応答するステップと、
前記傍受モードにある前記隣接無線デバイスの少なくとも1つである傍受クライアントから、前記診断セッションについての情報を受信するステップと、
を備え、
前記情報が、前記第2の無線デバイスによって前記第1の無線デバイスへ送信された診断セッション要求の受信時間と、前記第1の無線デバイスによって前記第2の無線デバイスへ送信された対応の診断セッション要求の受信時間との前記傍受クライアントによる監視に基づいており、前記診断セッション要求に関して受信された情報が通信問題の診断を容易にすることを特徴とする方法。
A method for facilitating diagnosis of communication problems occurring in a first wireless device that is either a wireless computing device or a wireless access point in a wireless network, comprising:
Determining that there is a communication problem in the wireless network;
Broadcasting a request to assist in diagnosing the communication problem to one or more neighboring wireless devices, switching the neighboring wireless device that received the request to an intercept mode ;
Responding to a diagnostic session request sent by a second wireless device in a diagnostic session ;
Receiving information about the diagnostic session from an intercept client that is at least one of the neighboring wireless devices in the intercept mode ;
With
The reception time of the diagnostic session request sent by the second wireless device to the first wireless device and a corresponding diagnostic session sent by the first wireless device to the second wireless device A method, characterized in that the information received regarding the diagnostic session request facilitates diagnosis of a communication problem based on monitoring by the intercepting client with the reception time of the request .
無線ネットワーク内の無線コンピューティングデバイスまたは無線アクセスポイントのいずれかである第1の無線デバイスにおいて起こる通信問題の診断を促進するコンピュータ実行可能命令であって、前記第1の無線デバイス上で実行されるとき、請求項1に記載の方法を前記第1の無線デバイスに実行させるコンピュータ実行可能命令を含むことを特徴とするコンピュータ可読記憶媒体。 Computer-executable instructions for facilitating diagnosis of communication problems that occur at a first wireless device that is either a wireless computing device or a wireless access point in a wireless network, executed on the first wireless device A computer-readable storage medium comprising computer-executable instructions for causing the first wireless device to perform the method of claim 1 . 前記コンピュータ実行可能命令は、前記診断セッションにおいて前記第2の無線デバイスに診断セッション要求を送信するステップを前記第1の無線デバイスに実行させるステップをさらに含むことを特徴とする、請求項に記載のコンピュータ可読記憶媒体。 Wherein the computer executable instructions, characterized in that it further comprises the step of performing the step of transmitting a diagnostic session request to the second wireless device to the first wireless device in the diagnostic session, according to claim 2 Computer readable storage medium. 前記診断セッションについての前記情報は、パケット遅延レートまたはパケット紛失レートのうち1つまたは複数のレートの推定値を含むことを特徴とする、請求項に記載のコンピュータ可読記憶媒体。 The computer-readable storage medium of claim 2 , wherein the information about the diagnostic session includes an estimate of one or more of a packet delay rate or a packet loss rate . 前記第1の無線デバイスは無線コンピューティングデバイスであり、前記第2の無線デバイスは無線アクセスポイントであることを特徴とする、請求項に記載のコンピュータ可読記憶媒体。 The computer-readable storage medium of claim 2 , wherein the first wireless device is a wireless computing device and the second wireless device is a wireless access point . 前記コンピュータ実行可能命令は、前記診断セッションについての前記情報を使って、どの程度の通信問題が、前記第1の無線デバイス、前記第2の無線デバイス、あるいは前記第1の無線デバイスと前記第2の無線デバイスの間の無線媒体の1つまたは複数によって引き起こされたかを判定するステップを前記第1の無線デバイスに実行させるステップをさらに含むことを特徴とする、請求項に記載のコンピュータ可読記憶媒体。 The computer-executable instructions use the information about the diagnostic session to determine how much communication problem the first wireless device, the second wireless device, or the first wireless device and the second The computer-readable storage of claim 2 , further comprising: causing the first wireless device to perform the step of determining if caused by one or more of the wireless media between the wireless devices. Medium. 前記コンピュータ実行可能命令は、前記診断セッションの結果をネットワーク管理者に報告するステップを前記第1の無線デバイスに実行させるステップをさらに含むことを特徴とする、請求項に記載のコンピュータ可読記憶媒体。 The computer-readable storage medium of claim 2 , wherein the computer-executable instructions further comprise causing the first wireless device to perform a step of reporting a result of the diagnostic session to a network administrator. . 無線ネットワーク内の第1の無線コンピューティングデバイスにおいて起こる通信問題の診断を促進するために第2の無線コンピューティングデバイスにおいて実行される方法であって、A method performed at a second wireless computing device to facilitate diagnosis of communication problems occurring at a first wireless computing device in a wireless network, the method comprising:
前記第1の無線デバイスから診断ヘルプの要求を受信するステップと、Receiving a request for diagnostic help from the first wireless device;
前記診断ヘルプの要求に応答して、傍受クライアントとして動作するよう傍受モードに切り替わって、診断セッションにおいて無線アクセスポイントによって前記第1の無線コンピューティングデバイスへ送信された診断セッション要求の受信時間と、前記第1の無線コンピューティングデバイスによって前記無線アクセスポイントへ送信された対応の診断セッション要求の受信時間との監視によってパフォーマンスデータを蓄積するステップと、In response to the request for diagnostic help, switching to intercept mode to operate as an intercept client and receiving a diagnostic session request sent to the first wireless computing device by the wireless access point in a diagnostic session; and Accumulating performance data by monitoring a reception time of a corresponding diagnostic session request sent by the first wireless computing device to the wireless access point;
蓄積された前記パフォーマンスデータに関する情報を前記第1の無線コンピューティングデバイスへ送信するステップと、Transmitting information relating to the accumulated performance data to the first wireless computing device;
を備え、前記パフォーマンスデータに関する情報が、前記第1の無線コンピューティングデバイスで起こる通信問題の診断を容易にすることを特徴とする方法。And wherein the information regarding the performance data facilitates diagnosing communication problems occurring at the first wireless computing device.
無線ネットワーク内の第1の無線コンピューティングデバイスにおいて起こる通信問題の診断を促進するコンピュータ実行可能命令であって、前記第2の無線コンピューティングデバイス上で実行されるとき、請求項8に記載の方法を前記第2の無線デバイスに実行させるコンピュータ実行可能命令を含むことを特徴とするコンピュータ可読記憶媒体。9. The method of claim 8, wherein computer-executable instructions that facilitate diagnosis of communication problems that occur at a first wireless computing device in a wireless network when executed on the second wireless computing device. A computer-readable storage medium comprising computer-executable instructions for causing the second wireless device to execute. 前記コンピュータ実行可能命令が、無線アクセスポイント上で動作する診断アクセスポイントプログラムに、前記第1の無線コンピューティングデバイスと診断プロトコルを開始するよう要求するステップを前記第2の無線コンピューティングデバイスに実行させるステップをさらに含むことを特徴とする、請求項に記載のコンピュータ可読記憶媒体 The computer-executable instructions cause the second wireless computing device to perform a step of requesting a diagnostic access point program operating on the wireless access point to initiate a diagnostic protocol with the first wireless computing device. The computer-readable storage medium of claim 9 , further comprising steps . パフォーマンスデータを蓄積する前記ステップが、前記第1の無線コンピューティングデバイスによる通信遅延を推定するステップを含むことを特徴とする、請求項に記載のコンピュータ可読記憶媒体The computer-readable storage medium of claim 9 , wherein the step of accumulating performance data comprises estimating a communication delay by the first wireless computing device . 前記通信遅延が、前記診断セッション要求の受信とそれに対応する診断セッション応答の受信との間の時間量として推定されることを特徴とする、請求項11に記載のコンピュータ可読記憶媒体The computer-readable storage medium of claim 11 , wherein the communication delay is estimated as an amount of time between receiving the diagnostic session request and a corresponding diagnostic session response . パフォーマンスデータを蓄積する前記ステップが、前記無線アクセスポイントによる通信遅延を推定するステップを含むことを特徴とする、請求項9に記載のコンピュータ可読記憶媒体。 The computer-readable storage medium of claim 9, wherein the step of accumulating performance data comprises estimating a communication delay due to the wireless access point .
JP2005277832A 2005-09-26 2005-09-26 Detect and diagnose performance problems in wireless networks by collaborating with neighboring devices Expired - Fee Related JP4733489B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005277832A JP4733489B2 (en) 2005-09-26 2005-09-26 Detect and diagnose performance problems in wireless networks by collaborating with neighboring devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005277832A JP4733489B2 (en) 2005-09-26 2005-09-26 Detect and diagnose performance problems in wireless networks by collaborating with neighboring devices

Publications (3)

Publication Number Publication Date
JP2007134748A JP2007134748A (en) 2007-05-31
JP2007134748A5 JP2007134748A5 (en) 2008-11-13
JP4733489B2 true JP4733489B2 (en) 2011-07-27

Family

ID=38156079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005277832A Expired - Fee Related JP4733489B2 (en) 2005-09-26 2005-09-26 Detect and diagnose performance problems in wireless networks by collaborating with neighboring devices

Country Status (1)

Country Link
JP (1) JP4733489B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5008628B2 (en) * 2008-09-26 2012-08-22 中国電力株式会社 Home appliance control device and home appliance control system
JP5185081B2 (en) 2008-11-17 2013-04-17 株式会社東芝 Wireless terminal device, communication method, and communication program
CN102474741B (en) * 2009-07-28 2015-04-22 皇家飞利浦电子股份有限公司 Diagnosing and resolving wireless network malfunctions
US8274902B2 (en) * 2009-08-12 2012-09-25 Alcatel Lucent Estimation method for loss rates in a packetized network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08204709A (en) * 1995-01-31 1996-08-09 Nippondenso Co Ltd Communication system
JP2000115230A (en) * 1998-10-02 2000-04-21 Nippon Telegr & Teleph Corp <Ntt> Communication path selection method and its system
JP2000196593A (en) * 1998-12-24 2000-07-14 Nippon Telegr & Teleph Corp <Ntt> Traffic and communication quality measuring system
JP2001045038A (en) * 1999-07-09 2001-02-16 Daimlerchrysler Ag Method and system for inspecting ring shaped optical network line for data communication among plurality of in-vehicle network subscribers
JP2003186761A (en) * 2001-12-17 2003-07-04 Ntt Comware Corp Data collecting terminal device, network diagnostic system, control method of network diagnosis system, control program and recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08204709A (en) * 1995-01-31 1996-08-09 Nippondenso Co Ltd Communication system
JP2000115230A (en) * 1998-10-02 2000-04-21 Nippon Telegr & Teleph Corp <Ntt> Communication path selection method and its system
JP2000196593A (en) * 1998-12-24 2000-07-14 Nippon Telegr & Teleph Corp <Ntt> Traffic and communication quality measuring system
JP2001045038A (en) * 1999-07-09 2001-02-16 Daimlerchrysler Ag Method and system for inspecting ring shaped optical network line for data communication among plurality of in-vehicle network subscribers
JP2003186761A (en) * 2001-12-17 2003-07-04 Ntt Comware Corp Data collecting terminal device, network diagnostic system, control method of network diagnosis system, control program and recording medium

Also Published As

Publication number Publication date
JP2007134748A (en) 2007-05-31

Similar Documents

Publication Publication Date Title
US7603460B2 (en) Detecting and diagnosing performance problems in a wireless network through neighbor collaboration
US10652765B2 (en) Automated network diagnostic techniques
JP4733488B2 (en) A method for cooperatively finding disconnected clients and rogue access points in a wireless network
Adya et al. Architecture and techniques for diagnosing faults in IEEE 802.11 infrastructure networks
US7317914B2 (en) Collaboratively locating disconnected clients and rogue access points in a wireless network
US7760654B2 (en) Using a connected wireless computer as a conduit for a disconnected wireless computer
US11032176B2 (en) Determining link conditions of a client LAN/WAN from measurement point to client devices and application servers of interest
Yeo et al. A framework for wireless LAN monitoring and its applications
US7516049B2 (en) Wireless performance analysis system
US9407522B2 (en) Initiating data collection based on WiFi network connectivity metrics
Sundaresan et al. Measuring the performance of user traffic in home wireless networks
Dely et al. BEST-AP: Non-intrusive estimation of available bandwidth and its application for dynamic access point selection
JP4733489B2 (en) Detect and diagnose performance problems in wireless networks by collaborating with neighboring devices
Yeo et al. Measuring traffic on the wireless medium: Experience and pitfalls
EP4243365A1 (en) Associating sets of data corresponding to a client device
Chhetri et al. WiserAnalyzer: A passive monitoring framework for WLANs
JP4933762B2 (en) Using connected wireless computer as conduit for disconnected wireless computer
Deshpande et al. Refocusing in 802.11 wireless measurement
Chandra A virtualization architecture for wireless network cards
Johnson Evaluating the use of SNMP as a wireless network monitoring tool for IEEE 802.11 wireless networks
Cheng et al. The Shaman Automatic 802.11 Wireless Diagnosis System
Raynel et al. An overview of link-level measurement techniques for wide-area wireless networks
Feghhi et al. WiFo: A diagnostic tool for IEEE 802.11 MAC
Tewari et al. A Distributed Monitoring System for troubleshooting Wireless Networks

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080926

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080926

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090901

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101021

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110422

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4733489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees