(57)【特許請求の範囲】
【請求項１】
位置検出装置であって、
３つ以上のソース装置の各々から各々の位置を示す地理的コードを含む信号を受信する受信手段と、
前記地理的コードをデコードし、前記３つ以上のソース装置の各々の位置情報を特定する他装置位置特定手段と、
前記位置情報および受信された前記信号に基づいて現在の位置を特定する自装置位置特定手段と、
を有し、前記自装置位置特定手段は、前記位置情報に基づいて１つのソース位置と他のソース位置との平均距離を計算し、計算された前記平均距離が所定の閾値を上回る場合には前記１つのソース位置の位置情報を現在の位置の特定に使用しない、
ことを特徴とする位置検出装置。
【請求項２】
前記自装置位置特定手段は、前記３つ以上のソース装置の幾何学的な中心を計算し、前記位置情報および前記信号強度に基づいて前記中心を修正することにより、前記現在の位置を特定する
ことを特徴とする請求項１に記載の位置検出装置。
【請求項３】
前記現在の位置近辺の地域の地図を取得する地図取得手段と、
前記現在の位置を示すマーカーを含むように、前記地図を修正する地図修正手段と、
修正された前記地図を出力する地図出力手段と、を有する
ことを特徴とする請求項１または２に記載の位置検出装置。
【請求項４】
前記地図修正手段は、前記現在の位置を示すマーカーと、少なくとも１つの前記ソース装置の位置を示すマーカーとを含むように、前記地図を修正する
ことを特徴とする請求項３に記載の位置検出装置。
【請求項５】
前記受信手段は、所定のクライアント装置から該クライアント装置の位置を示す地理的コードを含む信号を受信し、
前記他装置位置特定手段は、前記クライアント装置の位置を示す地理的コードをデコードして前記クライアント装置の位置情報を特定し、
前記地図修正手段は、前記現在の位置を示すマーカーと、前記クライアント装置の位置を示すマーカーとを含むように、前記地図を修正する
ことを特徴とする請求項３に記載の位置検出装置。
【請求項６】
前記地図出力手段は、所定のファイル及びフォルダの少なくともいずれか一方を表示する第１領域と、修正された前記地図を表示する第２領域を出力する
ことを特徴とする請求項３乃至５のいずれか１項に記載の位置検出装置。
【請求項７】
前記現在の位置及び時間が履歴情報として保存される、請求項１に記載の位置検出装置。
【請求項８】
位置検出装置が行う位置検出方法であって、
３つ以上のソース装置の各々から各々の位置を示す地理的コードを含む信号を受信するステップと、
前記地理的コードをデコードし、前記３つ以上のソース装置の各々の位置情報を他装置位置特定手段が特定するステップと、
前記位置情報および受信された前記信号に基づいて現在の位置を自装置位置特定手段が
特定するステップと、
を有し、前記自装置位置特定手段は、前記位置情報に基づいて１つのソース位置と他のソース位置との平均距離を計算し、計算された前記平均距離が所定の閾値を上回る場合には前記１つのソース位置の位置情報を現在の位置の特定に使用しない、
ことを特徴とする位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に地理的な位置検出システムの技術分野に関連し、特にネットワークアクセスポイントを使って地理的情報を与えることに関連する。より詳細に言えば、アクセスポイントのビーコン信号の一部として送信された地理的コードのアプリケーション又は利用法に、本発明は関連する。
【背景技術】
【０００２】
ラップトップコンピュータ及びパーソナルディジタルアシスタントのような携帯可能なコンピュータ装置や、スマートフォン及びセルラ電話のような移動可能な通信装置の急増と共に、それらの正確な位置が分かることはユーザにとって有用である。如何なる数のタスクをも顕著に簡易化できるコンピュータ装置の演算能力と共に正確な位置を知ることは、ユーザが情報にアクセスできるようにする。例えば、現場から離れた(off-site)ミーティング場所への道案内を得るには、自身の始点を知る必要がある。同様に、関心のある場所、企業又は店舗等を探すには、ユーザは自身の位置を知る必要がある。今日の多くのコンピュータ装置は他の装置やネットワークと無線通信する機能を備えているが、今日の多くのコンピュータはそのコンピュータ装置の位置を特定する如何なる手段も含んでいない。
【０００３】
従来技術は、ラップトップコンピュータ及びセルラ電話内にグローバルポジショニングシステム(GPS)を含めることで、その問題に対処しようとしている。そのような携帯可能なコンピュータや移動可能な通信装置に含めるGPSチップを製造する企業は、現在多数存在している。しかしながらそのようなグローバルポジショニングシステムをコンピュータ装置に追加することは、多くの問題を招く。第１に、その追加回路は高価になり得る。例えばGPS装置は何百ドルから何千ドルにも及ぶかもしれない。第２に、位置決定に必要な計算を実行するだけでなく、衛星から位置信号を捕捉する際にも、GPS装置は一般にかなりの時間を要する。例えばGPS回路の初期化は何分もかかるかもしれない。GPS装置が起動したとしても、コンピュータ装置の初期位置を確定するには最低35秒かかる。そして、GPSシステムの最も大きな欠点は、オフィスビル内や高密度の都市環境ではGPSシステムは適切に機能を発揮できないことである。オフィスビルの物理的構造は衛星からの位置信号と干渉し、その衛星からの信号は、信号の反射に起因する時間差に敏感であるし、弱すぎて多くの構造を貫通できない。
【０００４】
別の従来技術は、媒体アクセス制御(MAC)アドレスのデータベースを使用し、位置情報サービス(LBS:  location-base  service)のようにその情報をネットワークを介して提供する。データベースは場所(ロケーション)及びMACアドレスのペア(組)を含む。データベース中のペア情報は、主要な都市のドライバを借りて、アクセスポイントのMACアドレスとそれらの都市内の場所を対応付けることで決定される。位置を特定する際、ユーザは、アクセスポイントMACアドレスに対応する場所をデータベースから取り出すだけでよい。しかしながらこの従来法も多くの欠点を有する。第１に、ユーザのコンピュータ装置がインターネットと接続され、データベースにアクセスし、そこから情報を取り出す必要があり、或いは時代遅れになるかもしれない高価な局所的な(ローカル)データベースを備える必要がある。第２に、アクセスポイントの送信範囲程度の精度でしか位置を特定できない。
【０００５】
更に、コストの制約、屋内での実現性及びインターネット接続の必要性等は、位置情報を利用するために開発されたアプリケーションを制限してしまう。上記のこれらの制約に起因して、一般に位置情報は他の様々な状況では付加されていない。例えば、資産管理からルーティングの記録管理に及ぶ広い範囲で位置情報を利用する機会はあるが、地理的情報を取得するための拡張(の必要性)に起因して実現も採用もされていない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の課題は、従来技術の欠点及び制約を克服又は軽減する方法及びシステムを提供することである。
【課題を解決するための手段】
【０００７】
本発明は、地理的コード(geographic  code)と共にタグ付けされたアクセスポイントを使用する方法及びシステムを提供することで、従来技術の欠点及び制約を克服又は軽減する。地理的コードを使用する様々なシステム及び装置、地理的コードの様々な用途に備えて生成及びやりとりを行うユーザインタフェースを、本発明は特に含んでいる。例えば、本発明は地理的コードを使用する資産管理システム(asset  tracking  system)を含む。本発明は地理的コードを利用する多くの方法及びアプリケーションを含む。例えば本発明は：地理的コード及び関連する地理的ユーザインタフェースを生成する方法；不正確にラベル付けされたアクセスポイントの地理的コードを排除又は選別する方法；ネットワークサービスディスカバリの一部として地理的コードを使用する方法；リソース発見及び表示の一部として地理的コードを使用する方法；地理的コードを資産管理に使用する方法；ファイル転送及び関連するユーザインタフェースに地理的コードを使用する方法；地理的コードを位置追尾に使用する方法；ドメインネーム登録の一部として地理的コードを使用する方法；及び地理的コードを自動的に送信する方法等を含む。  
【発明を実施するための最良の形態】
【０００８】
以下本発明は実施例により説明されるが添付図面によって制限されない。図中同様な参照番号は同様な要素を指すのに使用される。
【実施例１】
【０００９】
ネットワークアクセスポイントの地理的タグ付けを行うシステム及び方法が説明される。以下の記述では、発明の十分な理解をもたらすため、説明の目的で様々な具体的詳細が説明される。しかしながら、本発明はそのような具体的詳細によらずとも実施可能なことは当業者に明白であろう。それ以外には、発明を曖昧にするかもしれないことを避けるため、構造及び装置はブロック図形式で示される。例えば、ラップトップコンピュータのような携帯可能な通信装置及び無線ネットワークで利用されるネットワークアクセスポイントに関して本発明は説明される。しかしながら、部分的にユーザが構築可能なビーコン信号を使用する他のシステムで本発明が使用されてもよいことを、当業者は理解するであろう。
【００１０】
本明細書における「一実施例」又は「形態」は、その実施例に関して説明される特定の特質、構造又は特徴が、本発明の少なくとも１つの実施例に含まれることを意味する。本明細書の様々な場所で「一実施例」なる用語が使用されているが、それは全て同じ実施例であることを必ずしも意味しているわけではない。
【００１１】
本願で使用されているように、「構成する」、「より成る」、「含む」、「含んでいる」、「有する」、「備える」又はそれらの他の何らかの同義語は、非排他的な包含関係をカバーするように意図される。例えば、要素の列挙を含むプロセス、方法、物品又は装置は、それらの要素だけに限定されることは必須でなく、明示的には列挙されていない又は本来備わっているはずの他の要素が、そのようなプロセス、方法、物品又は装置に含まれてもよい。更に、明示的に言及しない限り、「又は」は包括的なものであり、排他的な和ではない。例えば、「条件Ａ又はＢ」は、次の何れの場合でも満たされる：Ａが真であり(又は存在し)且つＢが偽(存在しない)場合、Ａが偽であり(存在せず)且つＢが真である(又は存在する)場合、ＡもＢも両方とも真(存在する)場合。
【００１２】
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットを処理するアルゴリズム及び記号表現で与えられる。これらのアルゴリズムの説明及び表現は、データ処理技術分野の当業者が他の当業者に彼らの仕事内容を最も効率的に伝えるのに使用される手段である。ここで、アルゴリズムは一般に所望の結果に導く首尾一貫した一連のステップと考えられる。そのステップは物理量の物理的処理を必要とするものである。必須ではないが、通常それらの物理量は、格納、転送、結合、比較その他の処理を施すことの可能な電気的な又は磁気的な信号の形態をとる。原則的な一般的な用法の観点から、ビット、値、エレメント、シンボル、キャラクタ、期間、数等としてそれらの信号に言及することが折に触れて便利なことが分かる。
【００１３】
しかしながら、これらの及び類似の用語の全ては、適切な物理量に関連しており且つそれらの量に付された便宜的なラベルにすぎないことに留意を要する。特に断りのない限り、以下の説明から明らかなように、本説明を通じて、「処理」、「演算」、「計算」、「決定」又は「表示」等のような用語を用いる説明は、コンピュータシステム又は同様な電子コンピュータ装置の動作や処理に関連し、その動作や処理は、コンピュータシステムのレジスタ及びメモリの中で物理的な（電子的な）量として表現されるデータを、コンピュータシステムメモリやレジスタその他の情報ストレージ、伝送又は表示装置の中で物理量として同様に表現される他のデータに変換及び処理することが、理解されるであろう。
【００１４】
実施例の説明は「結合された(coupled)」及び「接続された(connected)」という表現（同義語を含む）を使用している。これらの用語は互いに同義語として意図されてはいないことが、理解されるべきである。例えば、ある実施例は「接続された」という用語を使って、２つ以上の要素が直接的に物理的又は電気的に互いに接している様子を表現する。別の例では、ある実施例は「結合された」という用語を使って、２つ以上の要素が直接的に物理的又は電気的に接している様子を表現する。しかしながら「結合された」という用語は、２つ以上の要素が互いに直接的に接してはいないが、それでも互いに協働している又は相互作用している意味も含む。実施例はこのような状況に限定されない。
【００１５】
本発明はここで説明される処理を実行する装置にも関連している。その装置は、必要な目的に応じて特別に構築されてもよいし、コンピュータに格納されているコンピュータプログラムによって選択的にアクティブにされる又は再構成される汎用コンピュータで構築されてもよい。そのようなコンピュータプログラムはコンピュータ読取可能な記憶媒体に格納されてもよく、その記憶媒体は、限定ではないが、フロッピディスク、光ディスク、CD-ROM、磁気光ディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気又は光カード等の如何なるタイプのディスクを含んでもよいし、或いは電子的な命令を格納するのに指摘した如何なるタイプの媒体を含んでもよいし、ディスクも媒体もそれぞれコンピュータシステムバスに結合される。
【００１６】
最後に、ここで説明されるアルゴリズム及び表示は、特定のコンピュータその他の装置のどれにも固有に関連するものではない。様々な汎用システムがここで教示するものによるプログラムと共に使用されてよく、或いは、必要な方法ステップを実行するように、よりいっそう特化した装置を構築することが便利なことが分かるかもしれない。これら様々なシステムに必要な構造は以下の説明から明らかになるであろう。更に、本発明は特定のプログラミング言語のどれにも依存しない。ここで説明される本発明の教示内容を実現するのに様々なプログラミング言語が使用されてよいことが分かるであろう。
【００１７】
＜システム概要＞
図１は、本発明を含む分散されたコンピュータシステム100のブロック図を示す。分散コンピュータシステム100は、位置検出可能な装置102及び複数のネットワークアクセスポイント104，106及び108を含む。位置検出可能な装置102は、複数のネットワークアクセスポイント104,106,108の内の１つ以上と無線通信するように適合している。一実施例では、位置検出可能な装置102は移動可能であり、位置検出可能な装置102が特定のネットワークアクセスポイント104,106,108の通信範囲内に入った場合、位置検出可能な装置102は各アクセスポイント104,106,108から信号を受信し及びそれらに信号を送信する。図示されてはいないが、分散コンピュータシステム100はネットワークも含んでいる。(不図示の)ネットワークは、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、その他の適切な有線又は無線の通信システムのような既存のネットワークを含んでもよい。ネットワークは複数のネットワークアクセスポイント104,106,108の内に結合されている。
【００１８】
位置検出可能な装置102は、ビーコン信号を受信し且つビーコン信号に組み込まれている地理的コードをデコードすることの可能な何らかの通信装置である。例えば、位置検出可能な装置102は、ビーコン信号を受信する受信部と、ビーコン信号から地理的コードを取り出してそれをデコードする他の処理部とを含む。一実施例では、位置検出可能な装置102はラップトップコンピュータのような携帯可能な通信装置であり、別の実施例では位置検出可能な装置102はスマートフォンのような通信機能を備えた移動通信装置である。更に別の実施例の場合、位置検出可能な装置102は、受信部を含み且つ他の処理機能部を有する何らかの電子装置であり、他の処理機能部は例えばプリンタ、オーディオレコーダ、カメラ、動きセンサ、複写機、診断装置等である。位置検出可能な装置102は、何もブロードキャストしなくてもよいこと、及び一実施例では信号を受信してそれらを処理するだけであってもよいことを、当業者は認識するであろう。
【００１９】
複数のアクセスポイント104,106,108は、コンピュータネットワークで使用される無線アクセスポイントのような通常の形式のものでもよい。図示の簡明化のため３つのアクセスポイント104,106,108が図１に示されているが、本発明の原理は少なくとも１つのアクセスポイントを含む如何なるシステムにも適用できることを、当業者は認識するであろう。ネットワークアクセスポイント104,106,108は、無線ネットワークを共に形成するように無線通信装置(例えば、位置検出可能な装置102)を接続する装置である。上記の一実施例では、複数のアクセスポイント104,106,108の各々は無線ネットワークに結合されてもよい。別の実施例の場合、それらは無線メッシュネットワークのノードでもよい。複数のアクセスポイント104,106,108は、無線装置及び有線装置間のデータを中継するのに使用される。一実施例では、アクセスポイントはIEEE802.11標準仕様を用いて通信するが、他の実施例では、他の標準仕様のビーコン信号が本発明の原理に従って使用されてもよい。従来技術とは異なり、複数のアクセスポイント104,106,108は、位置情報と共に地理的タグ付けされる。一実施例の場合、位置情報は、緯度及び経度によるアクセスポイント104,106,108の位置を表す。別の実施例の場合、位置情報はアクセスポイントの高さを含んでいてもよい。この位置情報は地理的コードにエンコードされる。別の実施例の場合、位置情報は、第1の地理的コード及び第２の地理的コードに、又はプレフィックス及び地理的コードにエンコードされる。本発明によれば、地理的コードはビーコン信号又はフレームの一部分として包含され、アクセスポイント104,106,108によりその通信範囲内で他の装置に送信される。例えば、ビーコン信号又はフレームは、アクセスポイント104,106,108により毎秒何回か送信される。ビーコン信号の一部分としての地理的コードは、図３を参照しながら詳細に説明される。特に、図１に示される構成の場合、第１のアクセスポイント104は、その場所のエンコードされた値を表現する第１の地理的コードを含むビーコン信号を送信し；第２のアクセスポイント106は、その場所のエンコードされた値を表現する第２の地理的コードを含むビーコン信号を送信し、第２のアクセスポイントの場所は、第１のアクセスポイントの場所とは異なり、第２の地理的コードは第１の地理的コードと異なり；第３のアクセスポイント108は、その場所のエンコードされた値を表現する第３の地理的コードを含むビーコン信号を送信し、第３のアクセスポイントの場所は、第１のアクセスポイント104の場所とも第２のアクセスポイント106の場所とも異なる。
【００２０】
図２を参照するに、他の形態のシステム200が示されている。システム200は、位置検出可能な装置102、第１アクセスポイント104、第２アクセスポイント106及び第３アクセスポイント108を含む。これらの要素は図１を参照しながら説明したものと同様な構成及び機能を有するので、同じ説明は繰り返さない。システム200は、サーバ202から提供される地理位置情報サービス又はジオロケーションサービス(geolocation  service)と、位置検出可能な装置102からサーバ202に至るネットワーク接続204とを含む。一実施例では、サーバ202から提供されるジオロケーションサービスは、リクエストに応じて、特定の地理位置に関する追加的な情報を提供する。位置検出可能な装置102からサーバ202に至るネットワーク接続204は、例えば、移動通信キャリアにより提供されるようなスマートフォンへの無線ネットワーク接続でもよい。ネットワーク接続204及びサーバ202により提供される追加的な機能を使用して、位置検出可能な装置102は、アクセスポイント104,106,108からの地理的コードを使ってその位置を確認し、サーバ202から提供されるジオロケーションサービスによる位置に基づいてサービス又は情報を要求する。
【００２１】
＜地理的コード＞
図３を参照しながら、本発明で使用される地理的コードに関する例が説明される。図３は本発明によるビーコンフレーム又は信号300のブロック図である。ビーコンフレーム300は、好ましくは、共通フレームヘッダ302、ビーコンインターバル304、タイムスタンプ306、サービスセット識別子(SSID)308、サポートレートフィールド(supported  rate  field)310、パラメータセットフィールド312、機能情報フィールド314、トラフィック指示マップ(TIM)316、及び巡回冗長検査(CRC)フィールド318を含む。一般に、ビーコンフレーム300は約50バイト長の長さを有する。
【００２２】
共通フレームヘッダ302は、ソース及び宛先のMACアドレスに加えて、通信プロセスに関する他の情報も含む。宛先アドレスは、すべて１に常に設定されており、それはブロードキャスト媒体アクセス制御(MAC)アドレスである。これは、適用可能なチャネル上の他の総ての局が、各ビーコンフレームを受信及び処理することを強制する。共通フレームヘッダ302はビーコンフレーム300の約半分を占める。
【００２３】
ビーコンインターバル304は、ビーコンフレーム300の送信の間の期間を表す値を含む。位置検出可能な装置102のどれもパワーセーブモードに入る前に、位置検出可能な装置102は、次のビーコンを受信するために何時起動するかを知るためにビーコンインターバルを必要とし、アクセスポイント104,106,108でバッファされたフレームの有無を確認する。
【００２４】
タイムスタンプ306は、アクセスポイント104,106,108に対応するネットワーククロックの値である。ビーコンフレーム300を受信した後、位置検出可能な装置102はタイムスタンプ値を使ってローカルなクロックを更新する。このプロセスは、同じアクセスポイント104,106,108に関連する位置検出可能な装置102の間で同期をとることを可能にする。
【００２５】
サポートレートフィールド310は、サポートされているレートに関する情報を含む。各ビーコンフレーム300は、特定の無線LANがサポートしているレートを記述する情報を運ぶ。例えば、ビーコンフレーム300は、１，２及び5.5Mbpsのデータレートだけが利用可能なことを指示するかもしれない。その結果、位置検出可能な装置102はその制約を受け、11Mbpsを使用したくとも使用しないであろう。この情報と共に、位置検出可能な装置102はパフォーマンスメトリックを使用し、どのアクセスポイント104,106,108に関連するかを決定することができる。
【００２６】
パラメータセットフィールド312は、無線パラメータに関する情報を含む。ビーコンフレーム300は、特定のシグナリング法(例えば、周波数ホッピングスペクトル拡散法、直接シーケンススペクトル拡散法等)に関する情報を含む。例えば、ビーコンフレーム300は、アクセスポイント104,106,108が使用しているチャネル数の情報を、適切なパラメータセット内に含んでもよい。また、周波数ホッピングネットワークに属するビーコンフレーム300は、ホッピングパターン及び滞留時間(dwell  time)を示すであろう。
【００２７】
機能情報フィールド314、ネットワークアクセスに関する機能情報を含む。ビーコンフレーム300が示す無線LANに所属することを希望する位置検出可能な装置102の条件を、機能情報は特定する。例えばこの情報は、位置検出可能な装置102が有線と同程度のプライバシを守って(WEP:  Wired  Equivalent  Privacy)ネットワークに参加しなければならないことを示すかもしれない。
【００２８】
トラフィック指示マップ(TIM)316はビーコンフレーム300で送信され、パワーセービングモードを用いて、アクセスポイントバッファで待機しているデータフレームをどの局が持っているかを特定する。TIM316は関連IDにより位置検出可能な装置102を識別し、そのIDはアクセスポイント104,106,108が関連付けプロセスの際に関連付けたものである。
【００２９】
巡回冗長検査(CRC)フィールド318は、誤り検出機能をもたらす。
【００３０】
サービスセット識別子(SSID)308は、ユーザが定義可能であって人が読み取れる名前であり、アクセスポイント104,106,108を区別し、従って関連する無線LANを区別する。特定の無線LANとの関連付けの前に、位置検出可能な装置102はアクセスポイント104,106,108と同じSSID308を持つ必要がある。デフォルトでは、アクセスポイント104,106,108はビーコンフレーム300内にSSID308を含み、(例えばウィンドウズ(登録商標)XPで用意されているような)傍受機能(sniffing  function)をイネーブルにし、SSID308を特定し、適切なSSID308を特定と共に無線ネットワークインタフェースカード(図示せず)を自動的に構築する。あるアクセスポイントのベンダは、SSI308Dがビーコンフレーム300でブロードキャストされる(同報送信されること)ことをディセーブルにし、セキュリティの制約を軽減する選択肢を有する。サービスセット識別子(SSID)308は、典型的には32個のユーザの定義可能なアスキー(ASCII)キャラクタである。アクセスポイント104,106,108の構築(セットアップ)の際、ユーザはSSID308の値を設定する権限を有する。例えば、ネットワークはシステム管理者によって記述的な名称と共にしばしば命名され、その記述的な名称は、ユーザがアクセスポイント104,106,108との関連付けを試みる際にユーザが認識するものである。
【００３１】
図３に示されているように、有利なことに、本発明はアクセスポイント104,106,108の正確な地理的な座標を地理的コードにエンコードし、その地理的コードをSSID308の一部として挿入している。以下の記述は、特定のアクセスポイント104に関する地理的コード及びSSID308を説明しているが、他のアクセスポイント106,108の地理的コード及びSSID308も同様な形式及び機能を有することを、当業者は認識するであろう。
【００３２】
一実施例の場合、地理的コードは、アクセスポイント104の精密な地理的な座標(緯度及び経度)の符号化(暗号化)された値である。この実施例の場合、地理的コードはSSID308の最後の９文字(キャラクタ)である。地理的コードは、乗数値をエンコードする第１キャラクタ320、緯度の値を表す４文字、経度の値を表す４文字(LONCODE324)を含む。本発明によるエンコード法は、以下で図５を参照しながら詳細に説明される。地理的コードがSSID308の最後の９文字であることは特に有利である。なぜなら、先行する23文字がユーザ又はシステム管理者によって通常通り使用可能であり、ユーザが認識できる人の読み取れる名称をアクセスポイントに与えることができるからである。しかしながら当業者は本発明の地理的コードがSSID308の他のどの場所にあってもよいことを認識するであろう。更に、地理的コードに使用される９文字は連続的でなくてもよい。
【００３３】
別の実施例の場合、SSID308は、アクセスポイント104の高さを表す第２の地理的コード又はプレフィックス(prefix)を含む２つの追加的な文字を含む。この例の場合、２つの追加的な文字は、(第１の)地理的コードの９文字に先行する。他の実施例では、これら２つの文字がSSID308内の他のどの場所にあってもよいことを当業者は認識するであろう。エンコードされた値と共にSSID308を利用することは、ルータとしてのアクセスポイント104を妨げる影響がない点で特に有利である。更に、ほとんどのアクセスポイント104はSSID情報を毎秒数回ブロードキャストするので、ユーザがアクセスポイント104に接続できるか否かによらず、SSIDは無線受信機によって受動的に監視可能である。これは検出可能な装置102で非常に低電力で実行でき、情報を取得するための電力を送信機に決して要求しなくてよい。
【００３４】
＜一般的な方法＞
図４を参照しながら、本発明による地理的タグ付けを行う方法例を説明する。一例として説明の簡明化を図るため、本方法は、特定のアクセスポイント104に関連して説明されるが、以下の説明は如何なる数のアクセスポイント(例えば、106,108)について繰り返されてもよいことを、当業者は認識するであろう。本プロセスは、所与のアクセスポイント104の緯度及び経度を判定することから始まる(402)。地理的コードを生成するため、ユーザはアクセスポイント104の緯度及び経度の座標を正確に特定しなければならない。１つの方法は、グーグルマップ(Google  Maps)のようなマッピングプログラムを利用することであり、その場合、ユーザがマーカーを置くと緯度及び経度の座標が返ってくる。別の例の場合、GPS装置のような外部の位置検出装置がアクセスポイント104の近くに設けられ、緯度及び経度の座標が上記の方法で決定される又は他の同様な手作業で決定される。更に別の例の場合、装置の位置は、多数の標準的な調査法の内の何れかで生成された正確な調査データとマニュアルで比較される。
【００３５】
次に、本方法は地理的コードを生成する(404)。正確な地理的な座標は、コンパクトエンコーディング法を用いて地理的コードにエンコードされる。図３を参照しながら上述したように、一実施例では、地理的コードは９文字の符号化された値である。別の実施例では、第１地理的コード及び第２地理的コード又はプレフィックスが、緯度及び経度である第１地理的コードと高さである第２地理的コードと共に使用される。これらの地理的コードを生成するプロセスは、図５，７を参照しながら以下で更に説明される。
【００３６】
次に、本方法は、地理的コードをアクセスポイント104のビーコン信号に挿入する(406)。ほとんどのアクセスポイント104,106,108は、アクセスポイントを構築(セットアップ)する者又はインストーラが、サービスセット識別子(SSID)308を構築できるようにしており、SSIDはアクセスポイントのビーコンの一部分としてブロードキャストされる。例えばこれは、アクセスポイント104に接続されたコンピュータ(図示せず)と共に、セットアップの際に実行可能である。SSID308は例えばグラフィカルユーザインタフェース等を介してアクセスポイント104に用意され、SSIDの値は、ビーコンの一部分としてブロードキャストすることに備えてアクセスポイント104に格納される。例えば、通常のアクセスポイント管理ソフトウエアを用いて、アクセスポイントSSID308の後の方の文字としてコードを挿入する。一実施例では、緯度及び経度を伴う１つのコードだけがステップ406で挿入される。別の実施例では、第１及び第２のコードがステップ406で挿入され、第2のコードは２文字分の長さを有し及び高さを表現し、第１コードは９文字文の長さを有し及び緯度と経度を表現する。一実施例では、地理的コードはSSID308の末尾に挿入される。SSIDコードの残り21又は23文字が、(ユーザがそのアクセスポイントを他のアクセスポイントと区別できるように)認識に容易なワードに使用できる点で、この方法は有利である。しかしながら、地理的コードは、SSID中の予め取り決めたどのキャラクタ位置に設けられてもよいことを、当業者は認識するであろう。
【００３７】
ステップ402,404,406は幾つのアクセスポイントについてでも反復可能であり、これらのステップの各々がアクセスポイント104,106,108各々について実行されると、アクセスポイントは本発明により地理的にタグ付けされていることが、理解されるべきである。
【００３８】
そして、アクセスポイント104は、地理的コードを含むビーコンをブロードキャストする(408)。
【００３９】
この一般的な方法は、アクセスポイント104,106,108が地理的タグと共に構築されると、その地理的タグを使用することに続く。
【００４０】
位置検出可能な装置102は、特定のアクセスポイント104からビーコン信号を受信する(410)。次に、位置検出可能な装置102は、受信したビーコン信号から地理的コードを抽出する(412)。これは、位置検出可能な装置102で動作するソフトウエアによって実行可能である。一実施例では、位置検出可能な装置102は地理的コードがSSID308の中にあることを知っているので、位置検出可能な装置102はSSID308を判定するだけでよく、そのSSID308から地理的コードを表す文字を取り出す。一実施例では、地理的コードはSSIDの最後の９文字である。別の実施例では、地理的コードはSSID308の最後の11文字である。次に、本方法は、地理的コードをデコードし、アクセスポイント104の地理的な場所を特定することに続く(414)。一実施例では、本方法は、緯度及び経度を表す第1の地理的コードをデコードする。別の実施例では、本方法は高さを表す第２地理的コードもデコードする。デコードするプロセスの具体例は、図６及び図８を参照しながら以下で更に詳細に説明される。地理的な場所が確認されると、その場所は如何なるアプリケーションにも使用可能になる(416)。例えば、図９を参照しながら以下で説明されるように、アクセスポイント104の地理的な場所を使って、検出可能な装置102の正確な位置を特定してもよい。
【００４１】
＜エンコード方法＞
図５を参照しながら、地理的な位置を地理的コードにエンコードする本発明による方法例が説明される。本発明は地理的コードを生成する際、初期の16進数に組み合わせてある各々からの(最高次の)上位２ビットと共に、緯度及び経度を60進数のペアにエンコードする。結果の地理的コードは９文字を使って位置をエンコードし、その位置は大雑把に言って赤道で2.5フィート(2.5×30.48cm)の距離精度である。
【００４２】
図５に示されているように、アクセスポイント104の緯度及び経度は既に決定されている(破線で示されるステップ402参照。)。本方法は緯度及び経度を0≦x＜360の範囲に尺度変更(スケーリング)することから始まる。そして本方法は緯度が０未満であるか否かを確認する。正の度数で北緯を表現し及び負の度数で南緯を表現しながら、緯度はしばしば北緯及び南緯のように言及されるので、本発明の一実施例は緯度を0°から360°の範囲内に尺度変更する。そして、緯度が負の値であることが確認された場合(502)、本方法はステップ504に続き、緯度の値NLATを使用するために、その緯度に360°が加えられる。緯度が負の値でないことが確認された場合(502)、本方法はステップ506に続き、ステップ402で決定された緯度の値をNLATとして使用する。本方法は緯度及び経度各々を５つの文字列で表現する際に、それらの値に144000を乗算し、乗算値に最も近い整数値に丸め込み、0-9、A-Z及びa-xの(60個の)「桁(digit)」を使ってその結果を60進数(Base  60)に変換する。次に、本方法は第１の文字320の値を計算することに続く(508)。一実施例では、第１の文字320は、経度の高次の文字(桁)をとり、４倍し、緯度の高次の文字(桁)を加算し、16進数を形成することで計算される。経度の最初の桁(90度の乗数なので0-3の範囲内にあり、その範囲は0-270になる)は、４倍され、経度の最初の桁に加えられ、結果は０及び15の間の数(16進数)になる。これは、
第1文字＝inttochar((LON/90)*4+NLAT/90)  
という数式を使って直接的に計算可能であり、ここで、LONはステップ402による経度の値であり、NLATはステップ504又は506による緯度である。そして本方法はLATCODE322の値を計算する(510)。一実施例では、LATCODE322は、緯度の４つの低次の文字をとることで計算される。これは、
LATCODE=inttobase60((NLAT*144000)%12960000)
という数式を使って直接的に生成可能である。そして本方法はLONCODE324
の値を計算する(512)。一実施例では、LONCODE324は、経度の４つの低次の文字(桁)をとることで計算される。これは、
LONCODE=inttobase60((LON*144000)%12960000)
という数式を使って直接的に生成可能である。地理的コードの生成は、第1文字320、LATCOD322及びLONCODE324を付け加えることで完了する(514)。生成されると、地理的コードはビーコン信号に挿入可能である(406)。当業者は、上記のエンコード法が使用されてもよい多くの方法の内の1つに過ぎないことを認識するであろう。例えば、好適実施例の場合、別の記号群が60進数にエンコードされ、例えば“O”及び“I”を“y”及び“z”にそれぞれ置換し、これらの文字が(タイプ入力される際に)“０”及び“１”の数字と混同してしまうことを防ぐ。他のエンコード方は、より多くの又はより少ない精度で及びより多数の又はより少数の文字と共に使用されてよい。例えば、緯度が37.42195であり、経度が-122.21386についてのコードは、“8yuqfcVQi”という地理的コードとして表現される。
【００４３】
この地理的コードをSSID308の最後の９文字に挿入することで、本発明はアクセスポイント104を正確な位置ビーコン(目印)にする。これは有利である。なぜなら、ビーコンはGPSより正確であり、追加的なハードウエアを必要とせず、多くのアクセスポイントがある場合、複数のビーコンが位置検出可能な装置102により受信可能になり、例えば３メートル以内の位置精度を達成できるからである。
【００４４】
図７を参照しながら、高さ又は高度を第２地理的コード又はプレフィックスにエンコードする本発明による方法例が説明される。この例は、高さ又は高度情報を２桁の追加的コードとして含み、ペアの１桁目が０−９の乗数を表現し、２桁目が上述したようにエンコードされた60進数を表現するようにすることで、その２桁の追加的なコードは600通りの高さのコードをもたらす。これは、通常のSSIDワードの一部分として、高さコードの偶発的な出現を、ある構造的冗長性が減らすことを可能にする。本方法は高さの値を受信することから始まる(702)。次に、本方法は、その高さの値がエンコード可能な範囲内にあるか否かを判定する(704)。本発明はコンパクトエンコーディング法を使用し、２文字しか使用しないので、エンコード可能な高さの範囲は、地下1200フィート(1200×30.48cm)から地上4790フィート(4790×30.48cm)程度の範囲に制限される。受信した高さがその範囲内にないことを本方法が確認した場合(704)、その高さはエンコード不可能なエラーであることを本方法は示し(714)、本方法は終了する。一方、高さが許容可能な範囲内にあることを本方法が確認した場合(714)、本方法はステップ706に続く。一実施例では、高さの値は60進法における２文字に変換される。ステップ706では、本方法は第１キャラクタ(１桁目)の値を計算する(706)。第１キャラクタは、高さの値に1200を加え、その加算値を600で除算し、その値を60進数に変換することで生成される。次のステップ708では、第２キャラクタの値(２桁目)が計算される。一実施例では、受信した高さを10で除算し、その結果を60進数の値に変換することで、第２キャラクタが決定される。次に、第１キャラクタ及び第２キャラクタを付け足し、２桁の高さコードを生成する(710)。例えば、地上０(ゼロ)フィートはプレフィックス“20”になる。この“20”のプレフィックスは、簡易な９キャラクタコードの場合には余分なので使用されない。地上10フィート(10×30.48cm)はプレフィックス“21”となり、地下1190フィート(1190×30.48cm)はプレフィックス“01”になる。そして本方法は２桁の高さコードをビーコン信号に挿入する(712)。追加的なキャラクタ(桁)を使用して又は別のシンボルを使用して、高さコードの更なる拡張版を容易に形成できることは、当業者に明らかであろう。
【００４５】
地理的情報をエンコードする特定の実施例は、いくつもの有意義な特徴を有する。本実施例は視覚可能でタイプ入力の容易な文字(キャラクタ)しか使用しないので、しかもそれは比較的短いので、それらのコードをアクセスポイントSSIDに入力することは人間にとって容易である。SSIDフィールドの末尾にコードを配置しているので、コードが任意の場所にあった場合にSSID全体をスキャンしなければならないことに比べて、そのコードはより少ない誤り判定結果と共に或るコードとして容易に検出できる。人間の読取可能なコードを含むように本来的に意図されているフィールドの中で、文書や画像のような電子データの他の形式にそのコードを付ける場合にも、これらのコードの特性は有意義になる。
【００４６】
＜デコード方法＞
図６を参照しながら、地理的コードを場所(位置又はロケーション)にデコードする方法例が説明される。位置検出可能な装置102がアクセスポイント104を介してインターネットに接続されていることは必須でなく、位置検出可能な装置102はビーコン信号を受信できることが必須であるにすぎないことに、留意すべきである。これは、アクセスポイントのブロードキャストしているビーコンを監視することで、位置検出可能な装置102が位置情報を受信できる点で特に有利である。ビーコンは毎秒数回常にブロードキャストされ、SSIDを含み、SSIDはエンコードされた緯度及び経度の情報を含んでいる。すべてのWiFiアクセスポイントは、SSIDブロードキャストをサポートしているので、エンコードされた情報を容易に付け加えることができる。
【００４７】
本方法は抽出ステップ412で用意されたような地理的コードと共に始まる。次に本方法は、地理的コードの第１キャラクタ(１桁目)が適切なキャラクタ範囲内にあるか否かを判定する。例えば、図５を参照しながら説明されたエンコード法を使用した場合、地理的コードの第１キャラクタは0-9又はA-Fのキャラクタ(何らかの16進数)でなければならない。第１キャラクタが適切なキャラクタ範囲内にないことを本方法が確認した場合(602)、そのコードは適切にフォーマットされていなかったこと、又は抽出されたキャラクタが地理的コードでないことを示すエラーを、本方法は通知又は出力する(604)。一方、第1キャラクタが適切なキャラクタ範囲内にあることが確認された場合(602)、他のキャラクタが適切なキャラクタ範囲内にあるか否かを判定するステップ606に本方法は続く。一実施例では、他のキャラクタの適切なキャラクタ範囲は、０−９，A−Z又はa−xである。再び、図５を参照しながら説明されたエンコード法を使用した場合、地理的コードの残りのキャラクタは0−9，A−Z又はa−xのキャラクタでなければならない。残りのキャラクタが適切なキャラクタ範囲内にないことを本方法が確認した場合(606)、そのコードは適切にフォーマットされていなかったことを示すエラーを通知又は出力するステップ(604)に進む。
【００４８】
しかしながら、残っているキャラクタ総てが適切なキャラクタ範囲内にあることを本方法が確認した場合(606)、本方法はステップ608に続く。ステップ608では、本方法は乗数のペアMLAT及びMLONを第１キャラクタから抽出する。第１の乗数は緯度乗数であり、第２の乗数は経度乗数である。第１及び第２乗数は、２つの低次の桁をMLATとして及び２つの高次の桁をMLONとして使用し、第１キャラクタを16進から整数に変換することで生成される。これらの乗数は、地理的コードから経度及び緯度を再生成するのに使用される。そして本方法は、地理的コードの第２乃至第５キャラクタから緯度を計算する(610)。一実施例では、その緯度は、
base60toint(char2-5)+(90*MLAT)
に等しい。最後に、本方法は第６乃至第９キャラクタから経度を計算する(612)。一実施例では、その経度は、
base60toint(char6-9)+(90*MLON)
に等しい。例えば、コード“8yuqdcVQp”は地理的な座標が緯度37.42194及び経度-122.21381であることを表す。
【００４９】
図８を参照しながら、プレフィックス又は地理的コードから、アクセスポイントの高さの値を計算する方法例が説明される。本方法は、プレフィックス又は第２の地理的コードを抽出することから始まる(802)。第１地理的コードと同様に、プレフィックス又は第２地理的コードは、アクセスポイント104,106,108からブロードキャストされるSSID308の一部分であってよい。第２地理的コードの第１キャラクタが適切な範囲内にあるか否かを、本方法は判定する(804)。一実施例では、第２地理的コード中の第１キャラクタの適切な範囲は、０−９である。第２地理的コードの第１キャラクタが適切な範囲内にないことを本方法が確認した場合(804)、SSIDには高さコードが含まれていなかったこと、又は高さコードが適切にフォーマットされていなかったことを示すエラーを出力又は通知するステップ806に本方法は進む。一方、第２地理的コードの第１キャラクタが適切な範囲内にあることを本方法が確認した場合(804)、本方法は、第２のキャラクタが適切な範囲内にあるか否かを判定するステップに進む(808)。一実施例では、第２キャラクタの適切な範囲は、0−9，A−Z又はa−xである。第２キャラクタが適切な範囲内にないことを本方法が確認した場合、本方法は、上述したようにエラーコードを出力するステップ806に続き、終了する。しかしながら、第２キャラクタが適切な範囲内にあるように確認された場合(808)、本方法は第１キャラクタ及び第２キャラクタを使って高さを判定する(810)。一実施例では、指定された高さは60進数で表現される。第２キャラクタを60進数から整数値へ変換し、その結果を10倍し、第１キャラクタを60進数から整数値に変換した値に加え、その整数値を600倍して1200を減算することで、高さ(height)は計算可能である。これは、
height=base60toint(char2)*10+(600*base60toint(char1)-1200)
という数式により直接的に計算可能である。これは、アクセスポイント104の地面からの高さの値をもたらす。例えば、アクセスポイントが地下にあった場合、コードには1200フィート(1200×30.48cm)の深さの値が与えられる。
【００５０】
これらのデコード法は、位置検出可能な装置102をGPSより高精度に一瞬にして検出できるようにする点で特に有利であり、高密度の都市環境下や建物の内側でさえそれが可能である。
【００５１】
＜具体例＞
図９を参照しながら、位置検出可能な装置102の位置を判定する方法例が説明される。本方法は、複数のアクセスポイント104,106,108から位置情報を受信することから始まる(902)。例えば、位置情報は地理的コードでもよいし、又はプレフィックス及び地理的コードでもよい。一実施例の場合、本方法は少なくとも３つのアクセスポイントから位置情報を受信する。１つのアクセスポイントからの地理的情報を使って一般的な位置を判定できるので、目下の例の場合、いくつかの位置の可能性がある。次に、本方法は、アクセスポイント104,106,108各々から受信した信号の信号強度を判定する。図２も参照するに、各アクセスポイントに関する信号強度例が示されている。そして本方法は、アクセスポイント104,106,108の幾何学的な中心Ｃを計算する(906)。次に、本方法は、各アクセスポイント104,106,108から受信した信号強度を規格化する。例えば、１アクセスポイント104及び位置検出可能な装置102間の信号強度は１であり、第２アクセスポイント106及び位置検出可能な装置102間の信号強度は３であり、そして第３アクセスポイント108及び位置検出可能な装置102間の信号強度は８である。本方法は各アクセスポイントへのインバースベクトルViを計算する(910)。そして本方法は、ステップ906で計算された幾何学的中心に対して、インバースベクトルViに対応する信号強度Siを乗算したものを追加することで、幾何学的中心Ｃの値を修正する(912)。この追加ステップ912は、ステップ910で計算されたベクトル各々について実行される。これは、位置検出可能な装置102で受信された各アクセスポイント104,106,108からの相対的な信号強度に基づいて、アクセスポイント104,106,108の計算された中心を効果的に調整する。その結果、位置検出可能な装置102の場所は、修正された幾何学的中心の値に等しくなる。上記の方法は高さコードを使用して修正する場合にも適用可能なことを、当業者は認識するであろう。そのような例の場合、第３の次元が各ベクトル計算に加わる点を除いて同様な計算になる。そして、コード間の３次元的な重心が計算され、各信号強度による調整は、３成分の位置ベクトルを使って実行される。この位置判定法は、非常に高速であり、非常に簡易な計算で一瞬にして位置を判定できる点で有利である。
【００５２】
妨害による又は単なる過誤による場合でも、SSIDは偶然的に有効なコードに見えるので、アクセスポイントが不適切なラベルで示されるかもしれないことは明らかである。そのような場合、位置を修正しようとするソフトウエアは、アクセスポイント間の距離を照合し、明らかに不正確に現れているポイントを拒否する。例えば、802.11のアクセスポイントは、通常の動作条件の下で約10メートルの通信範囲を有する。あるアクセスポイントが現在見えている２以上のアクセスポイントから３マイル(3×1.609km)であることをラベルの１つが示していた場合、そのアクセスポイントはミスラベルを有するものと考えられ、そのアクセスポイントからのデータは位置計算では無視される。或いは、位置検出可能な装置102は、GPS受信機又は加速度計のような他の情報源を使って検査を行い、何らかのアクセスポイントのラベルが無視されるべきことを確認してもよい。例えば、GPS信号の精度限界を超えているように思われる場合、高い信頼度のGPSの位置と矛盾するように現れているアクセスポイントは無視されてもよく、或いはGPS信号の精度限界に収まる場合、より正確なものとして好ましく使用されてもよい。或いは、100フィート未満移動したことの通知を装置が加速度計から受けているが、100マイル動かされたことを示しながらアクセスポイントが突然見えるようになった場合、新たなアクセスポイントのラベルは不正確であると考えられる。
【００５３】
＜地理的コードの生成＞
図１０及び図１１を参照しながら、ユーザからのリクエストに応じて地理的コード(本願では、「地理的タグ」とも言及される)を生成及び提示する方法が説明される。本方法はマッピングプログラムを利用して、ユーザがマーカーを地図上に正確に置き、その結果の地理的コードを計算することを可能にする。本方法は地理的コードを求めるユーザからのリクエストを受信することから始まる(1002)。例えばこれは、入力装置を利用するユーザが或るボタンを選択することでパーソナルコンピュータ上で行われてもよく、そのボタンは、本方法を実行するソフトウエアプログラムを起動する。これに応じて、本発明を使用するソフトウエアプログラム又はシステムは、ユーザインタフェース1102を表示する(1004)。図１１も参照するに、ユーザインタフェース1102の一例が示されている。図１１は、本発明によるユーザインタフェース1102を示す表示装置1100を示す図である。図示されているように、有利なことに、ユーザインタフェース1102は所在地住所(ストリートアドレス)を入力するためのラベル、入力エリア又はボックス(Address)1104と、地理的コードを生成するためのボタン(Get  GeoFi  Tag)1106と、特定の場所の平面図を描いている地図領域1108とを含む。地図領域1108は通常の形式のものであり、場所の平面図を提示することに加えて、地図領域1108は、通りの眺めの表示、衛星表示及びハイブリッド表示を切り替える選択ボタンを用意している。地図領域1108は、表示される場所を動かすだけでなく拡大及び縮小(ズームイン／アウト)するボタンも用意している。本方法は、そのような入力ボックス1104からの場所のアドレスを受信するステップ1006に続く。これに応じて、プロセスはステップ1006で受信したアドレスの地図を検索する(1008)。そしてユーザインタフェース1102の地図領域1108に地図が表示される(1010)。ユーザは上述したような様々な地図の制御内容を入力でき、例えば、特定の場所の上でマウスをクリックしたり、地理的コードを生成するボタン1106を選択する。本方法はユーザ入力を受信し、それを処理する。ユーザ入力が地図の制御(マップコントロール)であった場合、本方法は、ユーザ入力を処理し、ステップ1008に戻り、修正された場所、修正されたズームレベル又は表示の地図を取得する。ユーザ入力がマウスのクリックであった場合、本方法は、マウスがクリックされた位置に対応する地図上の場所を特定し、その場所を一時的に保存する。ユーザ入力が地理的コードを生成するボタンの選択であった場合、本方法はステップ1014に進み、一時的に保存された場所が座標(その場所に関する緯度及び経度等)に変換される。これらの座標は地理的コードを生成するのに使用される(1016)。地理的コードは、図５を参照しながら説明済みの方法と同様な方法で生成可能である。最終的に、ユーザインタフェース1102は、地理的コード及びマーカー1110を表示するように更新される(1018)。図１１に示されるように、マーカー1110はユーザがマウスをクリックしたことによって位置決めされ、地理的コードを含むコメントボックス1112が示される。例えば、図１１に示されるユーザインタフェース1102は、地理的コードが、“8OuqfcVQi”であることを示す。ユーザはこのコードを取得し、アクセスポイントをセットアップするソフトウエアと共にそれを使用し、他の人が読み取れるキャラクタと共にコードをSSIDに挿入する。上記のプロセスはアクセスポイントを初期化するセットアップソフトウエアと組み合わされてもよいことを、当業者は認識するであろう。そのような組み合わせの場合、地理的コードは、アクセスポイントのコンフィギュレーションソフトウエアによって半自動的にSSIDに追加される。
【００５４】
代替実施例の場合、このソフトウエアプロセスは、デコードするクライアント(本発明による地理的コードソフトウエアを備えた位置検出可能な装置)に組み込まれてもよい。地理的コードの利用を希望するデコードクライアントは、現在の場所近辺を中心とする地図の表示を求める１つのボタンを表示できる。また、そのクライアントは、単に地図を定常的に更新し続けてもよいし、或いは地理的コード情報が挿入されているかもしれない他の豊富な有意の情報を有する。例えば、現在位置のコードはテキストになり、数値情報はスプレッドシートになってもよい。
【００５５】
＜地理的コードの拒否＞
地理的コードを不適切にラベル付けしたアクセスポイントを誰かが悪意で設定するかもしれないことは明らかである。実際、いくつもの地点が偶発的に有効な地理的コードを有するかのように見えることが非常に起こりやすい。アクセスポイント及びそれらの名称は、企業又は個人により管理され、アクセスポイントの所有者が適切な地理的コードを付加していることや、コードを全然付加していないことの保証はない。過去に計算した場所、経過時間及び他のアクセスポイント等に対する何らかの健全さの検査は、ほぼ全面的にその問題を軽減する。図１２及び１３を参照しながら、不正確にラベル付けされたアクセスポイントの例に関し、地理的コードを排除又は選別する例が説明される。図１２を参照しながら、不適切にラベル付けされた地理的コードを拒否する例が説明される。タグ付けされたアクセスポイントが不適切にラベル付けされていた場合であって、３つ以上のアクセスポイントが見えていた場合、本方法は、その不適切にラベル付けされているアクセスポイントを排除できるようにする。本方法は、複数のアクセスポイントから地理的コードを受信することから始まる(1202)。受信される地理的コードの送信元であるアクセスポイントの数は、好ましくは３より多い。次に、ステップ1202で受信した各地理的コードは、関連するアクセスポイントの場所を特定するためにデコードされる(1204)。そして、地理的コード各々について、他のコードの他の場所までの平均距離が算出される(1206)。次に、所定の閾値を下回る平均距離を伴う地理的コードが特定される(1208)。所定の閾値(T)を下回る平均距離を伴う地理的コードは、適切にラベル付けされているように推定される。所定の閾値を上回る平均距離を伴う地理的コードは、不適切にラベル付けされている。統計的な測定、経験的な検査、試行錯誤又は手作業の選択等のような多数の方法の内の何れかによって、閾値が得られてもよい。例えば閾値は、約100フィートを越える如何なる距離も拒否するように単に選択されてもよい。なぜなら、100フィートはWiFiアクセスポイントが検出可能な典型的な範囲だからである。最終的に特定されたコードは適切にラベル付けされているように推定されるので、それらはその場所を決定するのに使用される(1210)。例えば、図９に関連して説明された位置検出法は、これらの地理的コードを受信する位置検出可能な装置102の位置を計算するのに使用可能である。これは、位置検出可能な装置102の位置を計算する際、高精度化をもたらす点で特に有利である。
【００５６】
図１３を参照しながら、不正確にラベル付けされた地理的コードを排除する第２の方法例が説明される。本方法は地理的コードを受信することから始まる(1302)。そして受信した地理的コードは場所を特定するためにデコードされる(1304)。次に本方法では、地理的コードの送信元でないものによる場所(位置又はロケーション)を取得する(1306)。例えば、位置検出可能な装置102は加速度計を含み、加速度計は、位置検出可能な装置102がどの程度遠く移動したかについての情報を与える。位置検出可能な装置102が過去にいた場所(例えば、過去に遭遇したアクセスポイントからの場所)の情報を有する場合であって、最近の２分間の間に500メートル移動していた場合、その加速度計からのデータを使って独立した位置計算がなされる。別の例の場合、位置検出可能な装置102はGPS機能を祖あえたスマートフォンであり、GPS計算を利用して、生成された位置をもたらす(ステップ1306)。次に、本方法は(ステップ1304からの)デコードされた場所と(ステップ1306からの)取得された場所とを比較する。そして本方法は、デコードされた場所及び取得された場所が、閾値より大きく隔たっているか否かを確認する。一実施例では、その閾値は約100メートルである。それらの場所が閾値より大きく隔たっていた場合、アクセスポイントは不適切にラベル付けされている可能性が高いので、その地理的コードは位置の判定には使用されない(1314)。それらの場所が敷地より大きく隔たってはいなかった場合、その地理的コードは場所を判定するのに使用される(1312)。本方法は１つの地理的コードだけを使用して説明されたが、同時に複数の地理的コードに適用されてもよいことを、当業者は認識するであろう。
【００５７】
＜ネットワークサービスの発見＞
ネットワークサービスディスカバリブロードキャストの中に、地理的コードが含まれていた場合、監視している装置は、各自自身の位置を特定でき、発見されたサービスリストに含まれるワラント(warrant)に装置が十分に近いか否かを決定する。図１４を参照しながら、ネットワークサービスを発見する本発明によるプロセスが説明される。本方法は、サービスプロバイダ1430により実行される一連の動作と共に始まる。サービスプロバイダ1430は、ピアトゥピアネットワークのようなネットワークを介して何らかのタイプのサービスを提供する装置である。以下に説明される例の場合、パーソナルコンピュータは、プリンタによって提供及び用意されるネットワークサービスにアクセスするクライアントを有すが、本発明はプリンタのサービスだけに限定されない。本方法はサービスプロバイダ1430の場所を決定することから始まる(1402)。本プロセスは、アクセスポイントの場所を決定することに関して説明されたのと同様である。次に、決定された場所について地理的コードが生成される(1404)。そして、サービスプロバイダ1430により生成されるネットワークブロードキャスト信号に、地理的コードが挿入される(1406)。本プロセスは、アクセスポイントのSSIDに地理的コードを挿入する際に説明されたものと同様であるが、地理的コードをネットワークブロードキャスト信号に挿入する点が異なる。アクセスポイントのビーコン信号と同様に、ネットワークブロードキャスト信号は、ネットワークを介して反復的に送信される信号であり、ネットワークに接続されている他の装置によって提供されるサービスをクライアントが発見できるようにする。次に、サービスプロバイダ1430は、地理的コードを含むネットワークサービスディスカバリブロードキャスト信号を送信する(1408)。１つ以上のクライアント装置がそのネットワークブロードキャスト信号を受信する(1410)。以下、本方法は特定のクライアント1432に関して説明される。クライアント1432はネットワークブロードキャスト信号を受信する。クライアント1432はブロードキャスト信号から地理的コードを抽出する(1412)。このプロセスは、上記の位置検出可能な装置102がSSIDから地理的コードを取り出すことに似ている。次に、クライアント1432は、地理的コードをデコードし、ネットワークサービスを提示している装置の場所を確認する。次に、サービスを提示している装置の場所がクライアントの所定の範囲内であるか否かを、本方法は判定する(1416)。所定の範囲は、提示されているネットワークサービスのタイプに依存してもよい。例えば、ネットワークサービスが印刷処理であった場合、その範囲はユーザが印刷された文書を取りに行くことを気にしない距離に制限されてもよい(例えば、100フィート(100×30.48cm))。別の例として、スキャンを行い、その場所を地理的コードとして含める機能をクライアントが有することを、クライアントは告知してもよい。スキャンを行う複合機がネットワークブロードキャストを受信するが、それを表示パネルに示すことだけを決定していた場合、200フィート以内の装置がスキャンの宛先として選択可能でもよい。PCが複合機の200フィート以内ならば、PCは或る場所として表示されるが、200フィート以上であった場合、ネットワークブロードキャス��は無視され、スキャンをそのクライアントに配布できないようにしてもよい。他のネットワークサービスの場合、好ましい範囲は上記具体例より大きくても小さくてもよい。サービスを提供する装置の場所が所定の範囲内にないことが確認されると(1416)、クライアント1432はそのネットワークブロードキャストを無視し、何らの処理も行わず、本方法は終了する。しかしながらその場所がクライアント1432の所定の範囲内にあるように確認された場合(1416)、そのサービスは、発見されたサービスのリストでユーザに提示される(1418)。ステップ1418のリスト内のネットワークサービスの提示は、多くの選択肢の中のほんの１例にすぎないことを当業者は認識するであろう。例えば、クライアント1432は様々な処理を幾つでも採用してよく、そのクライアント1432用にかつて設定されていたデフォルトパラメータに従ってネットワークサービスを使用してよい。
【００５８】
＜リソースディスカバリ及びディスプレイ＞
図１５を参照しながら、リソースを発見及びマッピングする本発明によるプロセス例が説明される。従来の無線ネットワークアクセスポイントによって提供されている通信機能総てを提供していない場合でさえ、様々な装置の幾つでもが、地理的コードを含むビーコン信号を生成する回路を含んでもよい。例えば、所与のエリアが、低級の(ローエンドの)プリンタ、高速大容量のプリンタ、ファイルサーバ及びデータストレージを含んでいるかもしれない。これらの装置の各々は、本発明によるビーコン信号を生成する機能を備えていてもよい。本方法は複数のビーコン信号を受信することから始まる(1502)。一実施例の場合、各ビーコンは異なるリソースから到来する。次に、本方法はステップ1502で受信したビーコン信号から地理的コードを取り出す(1504)。そして本方法は、地理的コードをデコードし、その地理的コード各々に関連する場所を特定する。これは、各ビーコン信号に関連する場所を効率的に決定する。本方法はクライアントの位置を決定する(1508)。これは、ステップ1502で受信したビーコンを利用して、図９を参照しながら説明された方法を利用して実行できる。そして本方法はクライアント近辺の地域の地図を検索する(1510)。場所及びその情報を決定した以前のステップは、通常のマッピングプログラムと共に使用され、クライアント近辺のエリアの地図を生成してもよい。一実施例では、クライアントの場所は地図の中心付近である。別の例の場合、クライアントの位置が地図上で明示的に示され(マークされ)、その地図は各々のコーナーに関して特定された地理的な既知の場所を有する。次に、受信されたビーコンコードの送信元のリソースの位置を地図が含むように且つクライアントの位置を地図が含むように、本方法は地図を修正する。例えば、従来のマーカーが、クライアントの位置を指すように使用されてもよい。リソースの位置は、クライアントによる様々なシンボルと共に地図に描かれてもよい。サービスのタイプに依存して、様々なアイコン又はシンボルが、様々なタイプのリソースを表現するように使用されてよい。最終的に、修正された地図が表示される(1514)。当業者は本方法が多数の利点を有することを認識するであろう。第１に、装置が益々携帯可能になりつつある状況では、本方法はラップトップ及び他のタイプの携帯コンピュータ装置上で提供されるソフトウエアプログラムに組み込み可能である。これは、ラップトップのユーザが或るエリア内に位置することを許容し、ユーザの近辺におけるリソース総ての地図及びリソースの正確な場所を生成できる。例えば、作業環境の中で、１つの階にいくつかのプリンタがあり、建物の中に多数のプリンタが存在するのが一般的である。しばしばプリンタはプリンタのタイプに基づいて命名され、或いはプリンタの大雑把な場所の概念にさえ基づいて命名される(例えば、「４階レーザ(4th  floor  laser)」)。プリンタは地理的コードと共にタグ付けされているので、プリンタダイアログボックスは、利用可能なプリンタの正確な場所と共に、クライアントの場所の地図を提示できる。名前に基づいてプリンタのある場所を推測することよりも、地図からプリンタを選択する方が相当簡単である。これは、オフィスを出た従業員が、文書を印刷したい場合であって、学校の又は企業の設定の中で利用可能なプリンタの場所を知らない場合、印刷する場所を選ぶ際に非常に重要である。他のタイプのリソースは、地理的コードに加えて地図アプリケーションを利用して同様に発見できる。第２に、オフィスのスタッフ等によって周期的に地図が使用され、業務上の資産(asset)の位置を追尾してもよい。例えば、オフィスの管理者は４半期毎にオフィスの地図を作成し、コピー機、プリンタ、コンピュータ等のような機器の場所を確認してもよい。他の業界に特化した様々なアプリケーションが存在し、そのような地図及び監査機能は、例えば、医者のオフィス、病院、研究調査機構又は他の施設(高価な機器や場所が追尾される必要のある施設)のような場所で重要になる。
【００５９】
＜資産管理＞
図１６を参照するに、地理的コードを使って資産管理を行う本発明による位置追尾システム1600の一例が示されている。位置追尾システム1600は、コンピュータシステム100に関して説明したのと同様ないくつもの要素を含む。説明の簡明化を図るため、同様な番号が、同じ又は同様な機能を有する要素を特定するのに使用される。一実施例では、位置追尾システム1600は、位置検出可能な装置又はクライアント装置102、複数のネットワークアクセスポイント104,106,108、資産サーバ1604及びネットワーク管理システム1606を有する。位置検出可能な装置又はクライアント102及び複数のアクセスポイント104,106,108は、図１に関して説明済みなので、重複的には説明しない。資産管理の代替実施例では、非常に安価なタグが製造され、そのタグがWIFiのSSIDを受け取り、場所を計算できる。その場所(位置)が制限された領域の外にあった場合、タグは内部アラーム(internal  alarm)を鳴らすことができる。タグはそれ自身の場所を計算できるので、サーバに情報を送る必要がない。当然に、タグの一部であるプロセッサへのシリアル接続又はUSB接続により、タグは限定された場所に関して初期化されなければならない。資産サーバ1604は通常のサーバでもよいが、通信チャネル1602を介して位置検出可能な装置102と無線で通信する機能を有する。資産サーバ1604との通信には、様々な方法のどれが使用されてもよい。例えば、位置検出可能な装置102は、SNMPプロトコルを利用してその場所を受動的に通知し、スキャンする資産サーバ1604がその場所を発見できるようにする。代替実施例の場合、HTTP、SOAP又はXML-RCPのようなウェブサービスプロトコルを用いて、資産サーバ1604に対する更新情報を促してもよい。資産サーバ1604は、他の装置と通信し、大量の位置データを保存する機能を有する。例えば、資産サーバ1604は、特定の位置検出可能な装置102の現在位置を示すだけでなく位置の履歴をも示す記録を維持する。例えば、資産サーバ1604は、位置検出可能な装置の位置のデータベースを維持する。そのような資産サーバは、テーブルや図形的な地図のような人間が読み取れる表示を提供し、生成された問い合わせ(クエリ)が特定のオブジェクト又は或るクラスのオブジェクト総て(例えば、或るクラスのスキャナやプリンタ)を特定し、それらのオブジェクトの場所を人間に表示できるようにする。資産サーバは、禁止された場所に位置付けられたような或るオブジェクトに警告を与えてもよいし、或るいは以前に追尾したオブジェクトがもはや発見できないことを通知したり、特徴が未知のオブジェクトの存在を通知してもよい。後者の例は、従業員によりインストールされた未承認のデスクトッププリンタかもしれない。資産サーバ1604は、ネットワーク管理システム1606と通信するように適合している。ネットワーク管理システム1606は、資産サーバ1604と結合され、位置情報を受信して処理する。ネットワーク管理サーバは、管理サーバにより上述の多くの機能を実行するが、ネットワーク化された装置の状態を表示するように機能を統合する。例えば、ネットワーク装置が動作可能であるか否か、装置が動作し続けられるように紙やインクの供給を受けているか否か、送信されたネットワークパケット数や印刷されたページ数のような利用情報等が表示されてもよ���。そのようなサーバは、ネットワークリソースの位置情報や、或いはネットワークに接続された携帯装置の場所や、どのネットワークリソースが移動装置とやりとりしているか等を表示してもよい。一実施例では、ネットワーク管理システム1606は、特定の装置に対する境界及び領域を設定し、その装置がその境界よりに動かされた場合に警報を発したり注意を喚起することができる。ネットワーク管理システム1606は、多数の進歩した位置情報処理機能を提供するように使用可能であることを、
当業者は認識するであろう。例えば、ネットワーク管理システム1606は子供のセルラ電話や従業員のバッジを追尾するのに使用可能である。
【００６０】
図１７を参照しながら、地理的コードを使って資産管理を行う方法例が説明される。本方法は、位置検出可能な装置又はクライアント102が1つ以上の地理的コードを受信することから始まる(1702)。クライアント装置102はその後に地理的コードを場所にデコードする。クライアント装置102はその場所を確認する。受信、デコード及び確認するこれらのステップは、以前に説明済みの方法と同様な方法で実行可能である。次に、クライアント装置102は、それが動いたか否かを判定する(1708)。一実施例では、クライアント装置102は場所を列挙しているバッファを維持し、クライアント装置102は過去に所定の期間の間それらの場所に存在していた。ステップ1706で決定された場所は、そのバッファ中の最新のエントリと比較され、クライアント装置102が動かされたか否かを確認する。クライアント102が動いていなかった場合、本方法はステップ1702に戻り、受信、デコード及び特定する上述のステップを反復する。一方、クライアント102が動いていた場合、本方法は、ステップ1706で計算された現在の場所と、バッファから取り出されたようなクライアント装置102の過去の場所との間の距離を、本方法は計算する。その距離が所定の閾値を越えているか否かを本方法は判定する(1710)。この所定の閾値は、資産を追尾する責任のある管理者によって設定されてもよい。一実施例では、アクセスポイントの或るエリア外にクライアント装置102を置いた場合の距離が閾値であり、例えば50フィート(50×30.48cm)のような距離である。別の実施例では、資産がある建物を越える距離が閾値になってもよい。その距離が閾値より大きくないことを本方法が確認した場合(1710)、本方法はステップ1712に続き、移動の出来事(イベント)を記録し、その後に本方法はステップ1702に戻り、クライアント装置102の位置を監視し続ける。一実施例では、移動の出来事はクライアント装置102でのみ記録され、これはネットワークの負担を軽減し、クライアント装置102の電力を節約する。別の実施例では、移動の出来事(イベント)はクライアント装置102から資産サーバ1604に伝送される。そのような場合、資産サーバ1604及びネットワーク管理システム1606は、クライアント装置102の位置を、より正確に監視できる。しかしながら、その拒有りが閾値より大きいことが確認された場合(1710)、本方法は、大幅な動きのある出来事が生じたことを資産サーバ1604に通知し(1714)、クライアント装置102の新たな場所が更新される(1716)。クライアント装置102の新たな場所は、クライアント装置102にも保存されてよい。上述の方法に基づいて、資産サーバ1604は、クライアント装置102の位置の動きに関する首尾一貫した記録を維持できる。
【００６１】
＜ファイル転送＞
図１８及び図１９を参照しながら、自動ファイル転送用に地理的コードを使用する方法例が説明される。図１８は方法のフローチャートであり、図１９はグラフィックユーザインタフェース例1901を示す図である。本方法は、地理的コードを伴うビーコン(又はネットワークディスカバリビーコン)をリソースから受信することから始まる。例えば、リソースは、プリンタ、ファイルサーバ、データストレージ装置、複合機等でもよい。これらのリソースの各々は地理的コードを有し、無線ビーコン信号を介して又はネットワークビーコン信号を介して何らかの方法でそのコードを送信することを、本方法は仮定している。上述の方法と同様に、クライアント装置102は、地理的コードを抽出及びデコードし、リソース各自の位置を特定する。ビーコン信号を使用して、クライアント装置102はその位置を計算する(1806)。
【００６２】
この例の場合、そのクライアント装置102及び他のクライアント装置は、各自の位置を表す地理的コードを含む信号をブロードキャストする機能を有する。各クライアントは、他のローカルなクライアントで受信可能な方法で各自の位置をブロードキャストできる。例えば、アップル(Apple)社の“Bonjour”技術、他のマルチキャスト又はブロードキャスト技術は、クライアントが、他のクライアントにその現在地を通知するために使用可能である。次に、クライアント装置102は他のクライアントから位置情報のブロードキャストを受信する(1808)。一実施例では、他のクライアント装置はそれらの位置を地理的コードとして送信する。別の実施例では、それらの場所は座標として送信される。いずれにせよ、クライアント装置102はその位置座標を使ってそれらを一般的な座標系に変換し、或いは地理的コードを場所に変換し、それを使って本方法の残りのステップに備える。そして、クライアント装置102は、クライアント装置102近辺のエリアの地図を入手する。例えば、クライアント装置102は、ステップ1816で決定したクライアントの位置と共に通常のマッピングプログラムを使用し、適切な地図を入手することができる。次に、リソース、他のクライアント及びクライアント102の位置を含めるように、本方法は入手した地図を修正する(1812)。次に、本方法は修正された地図を表示する(1814)。図１９は、ディスプレイ装置1900を表す図であり、本発明によるグラフィックユーザインタフェース例1901を示す。この例では、４つのクライアント装置、２つのリソース(即ち、サーバ及びプリンタ)がある。図１９に示されるように、グラフィックユーザインタフェース1901は、第１領域1902及び第２領域1904を含む。一実施例では、これらの領域1902,1904各々は、多くのオペレーティングシステムで通常使用されているようなウインドウである。第１領域1902は、ファイル及びフォルダを含む階層的ファイル構造を表示する。この例の場合、フォルダ1906と複数のファイル1908,1910,1912とがある。第２領域1904は、上記のステップ1812で生成された修正されたマップを表示する。この例の場合、特にサーバ1920及びプリンタ1922のようなリソースの場所が、クライアント装置102，C1_1924に対する相対的な位置に示されている。他のクライアントC2_1926，C3_1928及びC4_1930は、それらによりブロードキャストされた位置に従って地図に表示される。図１９に示されるものと同様な例の場合、リソースは四角形の形状で表現され、クライアントは第２の別の形状(６角形)で表現され、それらがユーザによって容易に区別されるようにしている。図示の形状は例示に過ぎず、様々な他の形状のアイコンやシンボルがそれらの代わりに使用されもよいことを、当業者は認識するであろう。
【００６３】
本方法はユーザ入力を受信するステップに続き(1816)、その後にそのユーザ入力に従ってファイルを転送するステップ(1818)に続く。ファイル転送は一例として使用されているにすぎないこと、２つのクライアント間又はクライアント及びリソース間の他の様々な処理は、図１９に示される1901でグラフィックインターフェースを使って実行されてもよいことを、当業者は認識するであろう。図１９は例示的な矢印を示し、ユーザがファイル３_1912をクリックし、それを選択して第４クライアントのアイコンC4_1930に引き渡す(ドラッグする)様子を表す。この入力に応答して、ファイル３は第１クライアント装置C1_1924から第４クライアントC4_1930に転送される。本方法及びグラフィックユーザインタフェース1901は、有利なことに、ユーザが受領者(人又は装置)を視覚的に選択することを可能にし、例えば、テーブル周囲の位置関係に基づいて人を選択してもよい。同様に、ユーザは、ファイル又は文書を、プリンタを表すアイコン1922へ選択して引き渡すことで(ドラッグアンドドロップすることで)印刷を引き起こすようにしてもよいし、それをサーバ1920へ選択して引き渡すことで保存／転送を引き起こすようにしてもよい。図示されてはいないが、地図又はグラフィックユーザインタフェース1901上の領域は、他のコンピュータ装置総てと共に文書を共有して置くように設計されている。或いは、地図又はグラフィックユーザインタフェース1901上でドラッグを行うことで、多数の装置が選択可能であり、ある選択された装置に文書が落とされた場合(ドロップされた場合)、その文書は、選択された装置の総てと共に共有されるが、選択されなかった他のどの装置とも共有されない。地図の技法(マップ技術)を利用するので、コンピュータ又はプリンタの名称を変えることは必須でなく、その場所で十分である。ドラッグアンドドロップ技法が暗号化された分散法と結合され、事前に暗号化された範囲内で総ての文書が総ての装置と共有され、文書が受信コンピュータにドロップされた場合に、唯一の暗号解除鍵が交換される。
【００６４】
＜ロケーショントラッキング＞
図２０を参照しながら、位置の追尾及び記録を行う本発明によるプロセス例が説明される。地理的コードを受信し(1702)、地理的コードを場所にデコードし(1704)、上述したような他の方法と同様にクライアント装置102の場所を確認することで(1706)、本方法は始まる。次に本方法はクライアント装置102の場所及びその時間を保存する(2002)。一実施例では、これは、クライアント装置102にローカルに情報を保存することで実行される。これは、別の例の場合、資産サーバ1604のような他の装置に情報を送信し、それを格納することで実行される。次に、本方法はクライアント装置102の場所に基づいて地図を取得する(2004)。地図が既に表示されていた場合、本ステップはクライアント装置102の位置に基づいて地図を修正する(2004)。例えば、その修正は、ステップ1706による位置を中心とした地図を維持するようにしてもよい。そして、本方法はアクセスポイントに関する情報を地図に追加し(2006)、そのアクセスポイントは各自のビーコン信号に地理的コードを含めている。例えば、受信されたビーコン信号の送信元であるアクセスポイントの場所を示すアイコンを含めるように、地図は修正可能である。そして地図はクライアント装置102によりユーザに表示される(2008)。クライアント装置102は追加的なビーコン信号を監視及び検出し続ける。クライアント装置102は、クライアント装置が動いたか否か、又は所定の時間が経過したか否かを判定する。これらの条件の何れかが満たされた場合、本方法はステップ1702に戻り、より多くの情報を収集し、地図を更新するプロセスを反復する。これらの条件が何れも満たされなかった場合、本方法はループバックし、追加的なビーコン信号を監視する。本方法は、クライアント装置102が動いた場合に、自動追尾及び記録を可能にする。保存された情報は、出張報告書又は非常に重要な場所へ戻る道案内を生成するのに使用される。
【００６５】
他の実施例では、上記の方法がプレーススタンプ(PlaceStamp)と共に結合される。プレーススタンプは、固定された地理的コードで或る装置で検出された一連のハッシュ履歴と移動装置におけるものとを関連付けることで形成される。この種の関連付け(entanglement)を実行することで、移動装置は或る特定の時点で或る場所に居たことを立証でき、固定された位置検出可能な装置は動かされなかったこと又は別の場所には居なかったことを立証できる。他のセンサ(例えば、加速度計及びGPS受信機)と共にこれらの履歴を関連付けることで、本発明は位置に関する非常に強力な根拠をもたらすように使用可能である。これらの根拠(証拠)は、法的又は軍事的な追跡に使用されてもよい。或いは、それらを使用して、特定のイベントの参加者にクーポンを発行するのに使用されてもよい。
【００６６】
更に別の例では、クライアント装置102は、眺めていた及び登録されていたアクセスポイントの地図を保持することができる。登録されたアクセスポイントは、アクセスポイントに関する情報を含み、どのビジネスがアクセスポイントを所有するか又はアクセスポイントが空いている(オープン)か否かの情報を含む。クライアント装置102は、ユーザに問い合わせることで又は地理的コードから近いアクセスポイントを探すことで、自身の位置を見出してもよい。その開始位置から、クライアントは、２ブロック北に動くことが、クライアント装置102をオープンなアクセスポイントの範囲内に置くようになること、又は人をカフェ又はライブラリに連れて行くことを確認してもよい。アクセスポイントは、サーバ上で幾何学的コードと共に登録され、サーバはそのデータベースを地理的コードクライアントにとって利用可能にする。
【００６７】
＜登録−DNS＞
図２１を参照しながら、登録の一部に地理的コードを使用する本発明によるプロセス例が説明される。地理的コード各々は非常に狭い地域をカバーしている。カリフォルニア州地域のメンロパークの場合、１つのコードのカバレッジ(範囲)は、約２フィート×３フィート((2×30.48)cm×(3×30.48)cm)程度である。60^8*256(約4×10^56)通りの固有の地理的コードの可能性がある。これは、各アクセスポイントが固有のコードを持てることを保証する。所与のIPアドレス又はURLを各アクセスポイントに接続するために、登録がなされる。例えば、誰かがアクセスポイントを登録する場合、そのアクセスポイントが参照すべきIPアドレス又はURLを示すこともできる。他のクライアントがアクセスポイント及び関連する地理的コードを発見した場合、そのアクセスポイントを所有する者(business)を探すことができる。そのような機能を提供する方法は、或るアクセスポイントについて地理的コードを判定することで始まる(2102)。そして、本方法は関連するIPアドレス又はURLを特定する。地理的コード及びIPアドレスがその後に登録簿(レジストリ)に格納される。この手順が完了すると、登録プロセスは完了である。そして、クライアント装置102はアクセスポイントを発見し(2108)、アクセスポイントの地理的コードをそのビーコン信号から特定する。ビーコン信号のSSIDから取り出された地理的コードを使用して、クライアント装置は登録簿にアクセスし(2112)、IPアドレスを検索する。一実施例では、クライアント装置102はウェブアドレス：http://[tag].geofi.net/  に進み、この場合における［tag］は地理的コードであり、ドメインネームサーバ(DNS)は登録済みのIPアドレスと共に応答できる。別の実施例では、クライアント装置102は、http://geofi.net[tag]  及び  登録サイトのURLの間でウェブサーバ上のリンクにアクセスできる。上述のエンコード方法によれば、地理的コードは大文字及び小文字のキャラクタを含み得るので、それをDSNと共に使用するために地理的コードを若干修正しなければならない。例えば、小文字のキャラクタには、ハイフンを前に付けてもよい。例えば地理的コード“8OuqccVQj”は、“8O-U-Q-C-CVQ-j”のように書ける。有効なURLは、“http://8O-U-Q-C-CVQ-J.GeoFi.org/”又は“ftp://ftp.8O-U-Q-C-CVQ-J.GeoFi.org/”のようになる。登録簿にアクセスするためにIPアドレスが使用されると、それはウェブブラウザ等を介して通常の方法で付加的な情報を取得するために使用される。
【００６８】
＜地理的コードの自動設定＞
図２２を参照しながら、地理的コードを自動的に設定する本発明によるプロセス例が説明される。本方法を十分に活用するため、アクセスポイントは、そのアクセスポイントの動きを検出することに備えて、加速度計やコンパス等のような追加的なセンサを組み込んでいるものと仮定する。本プロセスはアクセスポイントを設定することから始まる(2202)。通常、アクセスポイントは何らかのタイプのセットアップアプリケーションを装備している。しばしばそれは通常の実行ファイルであり、セットアップはしばしばhttp接続を介してウェブアプリケーションを使用しながら実行される。一実施例では、セットアップはユーザに地図を提示するように修正される(2204)。地図は、内蔵のGPSセンサその他の素子からの情報に基づいていてもよく、その他の素子は位置情報をアクセスポイントに提供するものである。一実施例では、アクセスポイント装置はUSB又はブルートゥースを介してGPSユニットと通信し、その場所を判定する。そのような通信プロトコルは標準仕様である。今日販売されている多くのGPS装置は、何らかの通信プロトコルを使用する。言い換えれば、符号化されないアクセスポイントは、GPS＋ブルートゥース又はGPS＋WiFi装置からGPSデータを取得する。換言すれば、アクセスポイントは自身の場所を知らないが、場所を知っているブルートゥース又はWiFi装置をアクセスポイントが発見すれば、アクセスポイントはその装置に基づいて自身の場所を更新できる。そしてユーザは、アクセスポイントで受信したアクセスポイントの場所に関する選択内容を入力する(2206)。次に、アクセスポイントは、受信した入力に基づいて地理的コードを生成及び挿入する(2208)。本方法はアクセスポイントの動きを監視する(2210)。アクセスポイントは加速度計を有するので、アクセスポイントの如何なる動きも検出可能である。次に、本方法はアクセスポイントが動いたか否かを判定する。動いていなかったならば、本方法はステップ2210に戻り、アクセスポイントの動きを監視する。しかしながらアクセスポイントが動いていた場合、本方法は、地理的コードを非活性化するプロセスに続く。一実施例では、その地理的コードをアクセスポイントのSSID信号から取り出すことで、地理的コードは実効的に止められる(turn  off)。別の実施例では、アクセスポイントが電力を減らす場合、アクセスポイントのSSID信号から地理的コードも除去される。そして、本方法は地理的コードを再計算し(2216)、それをアクセスポイントのSSIDに挿入する。一実施例では、アクセスポイントが短い距離を動いた場合、アクセスポイントがその地理的コードを再計算できるように、アクセスポイントは加速度計だけでなくコンパスも備えている。ステップ2216が完了すると、本方法はステップ2210に戻り、アクセスポイントの更なる動きを監視する。
【００６９】
＜他の応用例＞
ロケーションベーススーパーディストリビューション。スーパーディストリビューション(superdistribution)は、書類が必要とされる以前に複数の場所に文書を置く技術である。文書はサーバに入れられ、サーバでは、人々が関心のあるタイプの文書を示している。文書を受けるサーバは、ウェブサイトで地理的コードを介してその存否を公表できる。文書が読み込まれると又は修正されると、その文書には現在の地理的なロケーションが関連付けられ、更新は関連するサーバで自動的に実行可能である。GeoFi.orgウェブサイトは、ドメインのような.[tag].GeoFi.orgのようなものとして、ローカルサーバのIPサブドメインを提供してもよい。
【００７０】
ウェブサービス−コンビニエンス。店舗(business)は地理的コードを自身のウェブサイトに持ち、ユーザがウェブサイトに進んだ場合に、その店舗が何処にあるかを特定できるようにしてもよい。RSSフィードも地理的コードを含んでよい。新たなサイトの場合、地理的コードはその情報が出現した場所を示してもよい。ブログの場合、地理的コードは、ブログ入力が書き込まれた場所、又はその入力を必要とする場所を示してもよい。地理的コードはどのアプリケーション(ブログ、Flikrのような写真共用サービス等)にも便利なタグを形成する。
【００７１】
地理的コードベースのメッシュルーティング。アクセスポイントに付けられた地理的コードは、グローバルな経路最適化プログラムに多くの情報を与え、どのメッシュノードが利用可能であるかについて、及びネットワークを介してパケットをルーティングするのにどれが最短の物理的経路であるか等についての名案をもたらす。これは、制御システムのような非常に時間が重要なアプリケーションに特に有利である。
【００７２】
センサーフュージョン。装置がセンサの組み合わせを含む場合、例えば、加速度計、WiFi電子機器、コンパス、時計及び／又はGPS受信機等を含む場合、ジオロケーション情報は、より正確になり、どれかが失敗しても(例えば、地理的コードのアクセスポイントが近くになかった場合)、装置は別のセンサを当てにできる。これは、屋内及び屋外双方で使用される装置にとって特に有用である。地理的コードが屋内で使用され、装置が外を移動する場合にはGPSが引き継いでもよい。
【００７３】
ソーシャルネットワークアプリケーション。ループ(Loopt)のようないくつもの新たなビジネスが存在し、それは、場所に応じて人々と彼らの友人との接続を設定する。ループはセルラ電話技術−タワー三角測量技術及びGPS−を使って、ユーザの友人が近くに居た場合、ユーザに通知する。各人の位置情報はサーバに規則的に送られる。友人同士が互いに近づいた場合、彼らが集合できるように、彼らは通知を受けることができる。
【００７４】
以上、本発明の実施例が説明及び明確化の観点からなされてきた。説明が網羅的であることや、説明された形態に本発明を限定することは意図されていない。多くの修正及び変形が上記の教示に照らして可能である。本発明の範囲は詳細な説明によっては規定されず、本願の特許請求の範囲によって規定されることが、意図されている。当業者に理解されるように、本発明の精神又は本質的特徴から逸脱せずに、本発明は他の形態で実施されてもよい。同様に、モジュール、ルーチン、特徴、属性、方法その他の形態に関する特定の名称及び区分けは、必須でもなく重要でもない。本発明又は本発明の特徴を実現する手段は、別の名称、区分け及び／又はフォーマットを使ってもよい。更に、当業者には明らかであるように、モジュール、ルーチン、特徴、属性、方法その他の本発明の形態は、ソフトウエア、ハードウエア若しくはファームウエアとして、又はそれらの如何なる組み合わせにとして実現されてもよい。本発明のコンポーネント(例えば、モジュール)がソフトウエアとして実現される場合、そのコンポーネントは、標準的なプログラムとして、大規模なプログラムの一部分として、複数の個々のプログラムとして、静的に又は動的にリンクしたライブラリとして、カーネルローダブル(kernel  loadable)モジュールとして、デバイスドライバとして実現可能であり、及び／又はコンピュータプログラムの当業者にとって現在又は将来的に知られる他の何らかの方法でも実現可能である。更に、本発明は特定の何らかのプログラミング言語で実現されるようには決して限定されないし、特定のどのオペレーティングシステム又は環境にも限定されない。従って本発明の開示は、明確化を意図しており、特許請求の範囲で規定される本発明の範囲を限定しようとするものではない。
【００７５】
＜関連出願＞
本願は、西暦2007年10月2日に出願された“Geographic  Tagging  of  Network  Access  Points”と題する米国仮特許出願第60/977,055号、及び西暦2007年10月12日に出願された“Applications  And  Users  Of  GeoFi  System”と題する米国仮特許出願第60/979,659号による35U.S.C.§119(e)に基づく優先的利益を享受し、両出願の内容全体は本願のリファレンスに組み入れられる。
【図面の簡単な説明】
【００７６】
【図１】本発明を含む第１形態のコンピュータシステムを示す上位概念的ブロック図である。
【図２】本発明を含む第２形態のコンピュータシステムを示す上位概念的ブロック図である。
【図３】本発明の一実施例による地理的コード及びサービスセット識別子を示す図である。
【図４】ネットワークアクセスポイントの地理的タグ付けを行う本発明の一実施例による一般的プロセスを示すフローチャートである。
【図５】地理的な位置を地理的コードにエンコードする本発明の一実施例によるプロセスを示すフローチャートである。
【図６】地理的コードを位置にデコードする本発明の一実施例によるプロセスを示すフローチャートである。
【図７】高さを地理的コードにエンコードする本発明の一実施例によるプロセスを示すフローチャートである。
【図８】地理的コードを高さにデコードする本発明の一実施例によるプロセスを示すフローチャートである。
【図９】ネットワークアクセスポイントからのビーコン信号を使ってコンピュータ装置の位置を判定する本発明の一実施例によるプロセスを示すフローチャートである。
【図１０】ユーザからのリクエストに応じて地理的コードを生成及び提示する本発明の一実施例によるプロセス例を示すフローチャートである。
【図１１】地理的コードを生成及び提示する本発明の一実施例によるユーザインタフェース例を示す図である。
【図１２】不正確にラベル付けされた地理的コードを排除する本発明の一実施例による第１のプロセス例を示すフローチャートである。
【図１３】不正確にラベル付けされた地理的コードを排除する本発明の一実施例による第２のプロセス例を示すフローチャートである。
【図１４】ネットワークサービスを発見する本発明によるプロセス例を示すフローチャートである。
【図１５】リソースを発見及びマッピングする本発明によるプロセス例を示すフローチャートである。
【図１６】地理的コードを使って資産管理を行う本発明によるコンピュータシステム例を示す上位概念的ブロック図である。
【図１７】地理的コードを使って資産管理を行う本発明によるプロセス例を示すフローチャートである。
【図１８】自動ファイル転送用に地理的コードを使用する方法例を示すフローチャートである。
【図１９】本発明による自動ファイル転送用のユーザインタフェース例を示す図である。
【図２０】位置の追尾及び記録を行う本発明によるプロセス例を示すフローチャートである。
【図２１】登録の一部に地理的コードを使用する本発明によるプロセス例を示すフローチャートである。
【図２２】地理的コードを設定する本発明によるプロセス例を示すフローチャートである。
【符号の説明】
【００７７】
１００  分散コンピュータシステム
１０２  位置検出可能な装置
１０４，１０６，１０８  複数のネットワークアクセスポイント
２０２  サーバ
２０４  ネットワーク接続
３００  ビーコンフレーム
３０２  共通フレームヘッダ
３０４  ビーコンインターバル
３０６  タイムスタンプ
３０８  サービスセット識別子(SSID)
３１０  サポートレートフィールド
３１２  パラメータセットフィールド
３１４  機能情報フィールド
３１６  トラフィック指示マップ(TIM)
３１８  巡回冗長検査(CRC)フィールド
１１００  ディスプレイ
１１０２  ユーザインタフェース
１１０４  入力エリア又はボックス
１１０６  ボタン
１１０８  地図領域
１６００  位置追尾システム
１６０４  資産サーバ
１６０６  ネットワーク管理システム
１９００  ディスプレイ装置
１９０２，１９０４  領域
１９０６  フォルダ
１９０８，１９１０，１９１２  複数のファイル
１９２０  サーバ
１９２２  プリンタ
１９２４，１９２６，１９２８，１９３０  クライアント
【図１】
0005298742.tif 000002
【図２】
0005298742.tif 000003
【図３】
0005298742.tif 000004
【図４】
0005298742.tif 000005
【図５】
0005298742.tif 000006
【図６】
0005298742.tif 000007
【図７】
0005298742.tif 000008
【図８】
0005298742.tif 000009
【図９】
0005298742.tif 000010
【図１０】
0005298742.tif 000011
【図１１】
0005298742.tif 000012
【図１２】
0005298742.tif 000013
【図１３】
0005298742.tif 000014
【図１４】
0005298742.tif 000015
【図１５】
0005298742.tif 000016
【図１６】
0005298742.tif 000017
【図１７】
0005298742.tif 000018
【図１８】
0005298742.tif 000019
【図１９】
0005298742.tif 000020
【図２０】
0005298742.tif 000021
【図２１】
0005298742.tif 000022
【図２２】
0005298742.tif 000023