(58)【調査した分野】(Int.Cl.,DB名)
前記第2の移動ノードの位置推定のための仮想アンカとしての前記第1の移動ノードの選択が、前記第1及び第2の移動ノード間の近接度に基づいて行われる請求項1に記載の位置推定方法。
前記第2の移動ノードの位置推定のための仮想アンカとしての前記第1の移動ノードの選択が、前記第1の移動ノードの位置の過去の推定値に基づいて行われる請求項1に記載の位置推定方法。
前記複数の基準の中から選択された2つ以上の基準を使用して計算された評価結果のそれぞれに掛けられる重みは、前記移動ノードが配置されている場所、時刻、無線送信のパラメータのいずれかに基づいて動的に決定される請求項1に記載の位置推定方法。
ターゲット・ノードの位置推定のための潜在的な仮想アンカである1組の移動ノードを決定するステップであって、前記信号強度収集ステップにおいて、前記1組の移動ノードに関連する無線送信の信号強度パラメータのみが収集されるステップを更に有する請求項1に記載の位置推定方法。
移動ノードの送信出力又は移動ノードにおける無線送信パラメータの連続収集の間隔が前記収集された無線送信の信号強度パラメータに基づいて決定される動作パラメータ決定ステップを更に有する請求項1に記載の位置推定方法。
【発明を実施するための形態】
【0022】
以下の説明では、説明を目的として、本発明を十分に理解できるようにするために具体的な数、時間、構造、プロトコル名、及びその他のパラメータが明記されている。しかし、これらの具体的な詳細無しで本発明を実践できることは当業者には明白になるであろう。
【0023】
本発明は、ターゲット移動ノードの位置を推定する際に「仮想アンカ」として1つ又は複数の移動ノードを選択することにより、従来技術に関連する問題を克服するものである。これは、最も典型的な配備例において、移動ノードがアクセスポイントよりターゲット移動ノードに近く、従って、位置決定を目的としたより多くのアクセスポイント又は固定アンカを配備する必要性を除去するということを利用するものである。ターゲット移動ノードの位置の初期推定を取得した後、ターゲット移動ノードは、他の移動ノードの位置を推定するための仮想アンカとして働くことができ、他の移動ノードの位置を使用してターゲット移動ノードの位置推定を更に洗練することができる。
【0024】
無線測位システムでは、移動ノードの位置推定を支援するために往々にして複数のアンカポイント(すなわち、位置が把握されているノード)を配備することが必要である。これらのアンカポイントは、位置が把握されているアクセスポイント、基地局、又は単純に移動局にすることができる(例えば、無線で通信する監視カメラ又は表示パネル)。本発明のために「仮想アンカ」が使用される。これは、他の移動ノードの位置を推定する際にアンカポイントのように動作するために選択される移動ノード、ポータブル・ノード、又はポータブル基地局/アクセスポイントである(「ポータブル」とは、そのノード/基地局/アクセスポイントがほとんど固定して配置されているが、時にはその場所が変更される(ノードが移動する)ことを意味する)。これが仮想アンカとして動作すると、その仮想アンカについて前に推定した位置が、既知の(又は実際の)位置であるかのように使用される。このため、仮想アンカは、その位置がこのシステムによって推定されるモバイル・クライアント(mobile client)又はポータブル・クライアント/アクセスポイント/基地局になり、次にその推定位置を使用して、他のモバイル・クライアントの位置を推定する際にこれらのモバイル・クライアントが固定アンカのように動作できるようにする。この意味で、ノードの位置をこのシステムによって推定する際に、固定ノード(fixed node)も仮想アンカにすることができる。
【0025】
その位置が(監視カメラのような固定設備上に配備されるか又は位置を知らせることができる全地球測位システムのような他のハードウェアを有するなど)他の手段によって把握されるモバイル・クライアントが存在し得る。このようなモバイル・クライアントも本発明によって開示される位置推定システムに参加することが可能である。このタイプのモバイル・クライアントは2つの目的にかなうものであり、第1に、他の移動ノードの位置を推定する際に仮想アンカとして使用することができ、第2に、その位置をこのシステムによって推定することができ、その既知の位置と推定位置との差をシステムに対する補正フィードバックとして使用することができる。この種のモバイル・クライアントは、以下の好ましい諸実施形態では「永久仮想アンカ(permanent virtual anchor)」と呼ぶ。
【0026】
図1は、固定ノード110、112、及び114と、複数の移動ノード120〜131と、サーバ100とを備え、本発明の好ましい一実施形態による配備例を示している。固定ノードは、移動ノードに対する無線通信アクセスを可能にするアクセスポイントであってもよい。1つの典型的なシナリオでは、固定ノードがIEEE802.11アクセスポイントであり、移動ノードがIEEE802.11局である。固定ノードは、移動ノードの位置を決定するためのアンカとして動作する、固定位置を備えた局であってもよい。例えば、
図1では、固定ノード110のみがIEEE802.11アクセスポイントであり、固定ノード112及び114が既知の固定位置を備えたIEEE802.11局であってもよい。
【0027】
この例では、明瞭にするため、サーバ100が1つ又は複数の移動ノードの位置を推定するアルゴリズムを実行していると想定される。以降の諸実施形態では、分散方式で本発明を実行できることが示されるであろう。サーバ100は有線ネットワークを介してアクセスポイントの1つに接続されると更に想定される(
図1の例示の場合、サーバ100はアクセスポイント110に接続されている)。サーバ100はいずれかの組み合わせにおいて複数のアクセスポイントに接続することができるか又はアクセスポイントへの有線接続が不必要になるような無線通信機能を有することができるか、あるいはサーバはいずれかのアクセスポイント上で物理的に実現可能であることは当業者には明白になるはずである。
【0028】
サーバ100が移動ノードの位置を推定する必要がある場合、従来の方法では、固定ノード110、112、及び114によって観測された移動ノードの送信のRSSIを使用して固定ノードのそれぞれから移動ノードへの距離を推定し、三角測量を実行して移動ノードの位置を決定することになるであろう。代わって、移動ノードによって観測された各固定ノードの送信のRSSIを使用してフィンガープリント・マップと突き合わせて移動ノードの位置を決定するというフィンガープリンティング方法を使用することができる。しかし、固定ノードは大規模エリアで移動ノードの位置決定を可能にするように配備されるので、固定ノードと移動ノードとの距離は、RSSIを使用するだけでは必要な正確度を得られないほど、極めて大きくなる可能性がある。
【0029】
本発明では、サーバ100は、ターゲット移動ノードの位置を決定する際に仮想アンカとして動作するための1組のノードを選択する。例えば、
図1でターゲット移動ノード120の位置を推定する際に、仮想アンカになるように移動ノード121、122、123、124、及び125の組150を選択することができる。その場合、選択された仮想アンカの組150と移動ノード120に関連する送信に関する観測RSSI値を使用し、選択された仮想アンカの組150について前に推定した位置に基づいて、移動ノード120の位置を推定する(三角測量、フィンガープリンティング、又はその他の方法のいずれかによる)。同様に、
図1でターゲット移動ノード121の位置を推定する際に、仮想アンカになるように移動ノード120、122、124、125、126、及び127の組151を選択することができる。その場合、選択された仮想アンカの組151と移動ノード121に関連する送信に関する観測RSSI値を使用し、選択された仮想アンカの組151について前に推定した位置に基づいて、移動ノード121の位置を推定する(三角測量、フィンガープリンティング、又はその他の方法のいずれかによる)。
【0030】
第2のノードが無線送信の指定受信者(intended recipient)であるかどうかにかかわらず、「第1のノードに関連する送信の観測パラメータ(例えば、RSSI値)」により、前記第1のノードによって行われた無線送信を第2のノードが観測していると想定されることに注目されたい。これは、IEEE802.11、IEEE802.15.4、又はBluetooth(登録商標)などの一部の無線技術では可能であり、送信ノードのソースIDがフレーム・ヘッダに示される。従って、送信のための無線媒体に対するモニターを行う他のノードは、送信ノードを識別し、パラメータ(RSSIなど)をその送信に関連付けることができる。
【0031】
本発明は、ターゲット移動ノードの位置を推定する際に仮想アンカとして動作するための1組の移動ノードを選択することにより、固定ノードと移動ノードとの距離がRSSIを使用するだけでは必要な正確度を得られないほど大きくなるという問題を克服する。これは、仮想アンカとターゲット移動ノードとの距離が任意に小さいものになり得るためであり、仮想アンカの数が固定ノードの数より大きくなり得るためである(従って、より多くのRSSI値を使用して位置を推定するので、位置推定の正確度が増す)。以下の好ましい諸実施形態では、本発明の方法について更に詳細に説明する。
【0032】
図2は、本発明の好ましい一実施形態による基本的なアルゴリズムのフロー図を示している。本質的に、このアルゴリズムは、無線通信のパラメータが固定ノード及び移動ノードから収集される無線送信パラメータ収集ステップ210と、その位置を推定する予定のターゲット・ノードについて、仮想アンカとして動作するための1組の移動ノードが選択される仮想アンカ選択ステップ230と、ターゲット移動ノードと選択された1組の仮想アンカを伴う無線送信に関連してステップ210で収集されたパラメータに基づいてターゲット移動ノードの位置が推定される位置推定ステップ260という3つの基本ステップを含む。ターゲット・ノードの位置が推定されると、このアルゴリズムは、他のターゲット・ノードについて仮想アンカ選択ステップ230と位置推定ステップ260の反復290を実行することができる。前記移動ノードが仮想アンカとして選択された場合、この反復中に、前の反復からの移動ノードの推定位置を使用してもよい。
図1に示されている配備例を使用することによる実行の一例を以下に示す。
【0033】
ステップ210で無線送信パラメータを収集した後、ステップ230及び260の第1の反復中に移動ノード120が位置推定のためのターゲット移動ノードになると想定される。移動ノード120〜131の位置のいずれも前に推定されていないと想定すると、いずれの移動ノードも仮想アンカとして選択することができない。このため、ステップ230はいかなる仮想アンカももたらさない。従って、ステップ260では、移動ノード120と、固定ノード110、112、及び114を伴う無線送信に関連して収集したパラメータに基づいて、ターゲット移動ノード120の位置のみ推定することができる。この結果、移動ノード120及び固定ノードからの距離は比較的大きくなる可能性があるので、ノード120の位置推定は粗くなるであろう。その後の反復では、移動ノード121が位置推定のためのターゲット移動ノードになると想定する。移動ノード120の位置は前に推定されているので、これが仮想アンカとして選択される。従って、位置推定ステップ260は、移動ノード120及び121と固定ノード110、112、及び114を伴う無線送信に関連して収集したパラメータに基づいて、移動ノード121の位置を推定することになる。このプロセスは反復され、その後の反復の1つで、移動ノード120がもう一度、位置推定のためのターゲット移動ノードになる。ここで、ほとんどの移動ノードの位置は前の反復の1つで既に推定されているので、仮想アンカ選択ステップ230は、より多くの選択された仮想アンカ、例えば、移動ノード121、122、123、124、及び125の組150をもたらすことができる。これらの仮想アンカはターゲット移動ノード120にかなり近いので、位置推定ステップ260は、移動ノード120の位置についてより正確な洗練済み推定を示すことになる。その場合、この洗練済み推定をその後の反復290で使用して、他の移動ノードについて更に洗練された位置推定を提供することができる。この洗練プロセスは、事前指定された反復数を超えるまで又は移動ノードの推定位置の大幅な変化が無くなるまで、継続することができる。
【0034】
上記の説明から明らかなように、ターゲット移動ノードに関する仮想アンカの選択は、この洗練プロセスがどの程度速く行われるかに影響するであろう。このような選択は、広範囲の要因に基づいて行うことができる。第1に、仮想アンカは、それについて推定されたターゲット移動ノードへの近接度に基づいて選択することができる。この近接度は、ターゲット移動ノードからの送信について候補仮想アンカによって観測されたRSSIから推定することができる。また、この近接度は、ターゲット移動ノードによって観測された候補仮想アンカからのRSSIから推定することもできる。例えば、サーバは、ターゲット・ノードへ/からの送信時に観測されたRSSIのうち最良のRSSIを備えた事前指定された数の移動ノードを選択するか、又はターゲット・ノードへ/からの送信について観測されたRSSIのうち事前指定された閾値より良好なRSSIを備えたすべての移動ノードを選択することができる。この近接度は、使用可能である場合、候補仮想アンカ及びターゲット移動ノードについて前に推定した位置から更に推定することができる。例えば、サーバは、それぞれについて前に推定した位置に基づいてターゲット・ノードに最も近い、事前指定された数の移動ノードを選択するか、又はそれぞれの前の推定位置に基づいてターゲット・ノードから事前指定された距離内のすべての移動ノードを選択することができる。
【0035】
第2に、仮想アンカは、その推定位置の信頼性に基づいて選択することができる。例えば、ある仮想アンカについて前に連続して推定した複数の位置にほとんど又は全く差がない場合、この仮想アンカの推定位置の信頼性は高いと言うことができる。この信頼性は、仮想アンカと固定ノード(アクセスポイントなど)との間の送信時のRSSIによって判断することができる。例えば、RSSIが十分良好であり、又は/及び、十分安定している場合、信頼性は高い。第3に、仮想アンカは、ランダム・プロセスの結果に基づいて選択することができる(例えば、それぞれの移動ノードについて、乱数を発生し、発生した数が指定の値より大きい場合、その移動ノードは仮想アンカとして選択される)。仮想アンカをランダムに選択することは、他の選択基準では対象にすることができないような状況を対象にするために仮想アンカが選択される非ゼロの可能性を提供するので、有益である。これは、選別器の正確度を改善するために確率ノイズを加えるという概念に似ている。代わって、仮想アンカを選択するためにニューラルネットワーク(neural network)を訓練することができる。このようなニューラルネットワークは、ターゲット移動ノードへ/からの送信時に潜在的なノードによって観測されたRSSI値を入力として取り、潜在的なノードを仮想アンカとして選択するべきかどうかを示す単一の出力パーセプトロン(output perceptron)を有することができる。また、ニューラルネットワークは、すべての移動ノードのRSSI値及び座標を取り入れて、それぞれの出力パーセプトロンが関連の移動ノードを仮想アンカとして選択するべきかどうかを示す出力層を有することもできる。他の手法として、事前構成された情報によって仮想アンカを選択することも可能である。例えば、ショッピング・モール・シナリオでは、移動ノードは顧客のノード又は従業員のノードになる可能性がある。この場合、従業員によって使用される移動ノードを仮想アンカとして選択するよう優先することができるであろう。従って、このような事前構成された情報も仮想アンカ選択に使用できるであろう。無線「移動」ノードが仮想アンカとして動作するよう特別に配備される場合は特殊な事例である。このような「移動」ノードは、固定設備上にあるなど位置を既に把握しているか、又は相対精度によってそれ自体の位置を把握する他の手段を有する。それらの主な目的は他の移動ノードの位置を決定する際に支援することである。固定アンカと異なり、このような「移動」ノードもサーバとの位置推定通信に関与することになる。これらを「永久仮想アンカ」と呼ぶ。
【0036】
他の基準として、移動ノードのバッテリ消費量を仮想アンカ選択に使用することができる。位置計算を実行するために、仮想アンカは信号を送信する必要がある。仮想アンカが送信すべきデータを持っていない場合、1つの手法は、仮想アンカが測定目的のみのために信号を送信することである。測定目的のための送信信号は、参照記号のみ、参照記号とダミーデータの組み合わせ、又は参照記号と測位のための補助データの組み合わせにすることができる。ここで、補助データは、RSSI情報、推定位置などのように測位に使用する予定のデータである。仮想アンカからの不必要な送信を最小限にするために、仮想アンカ選択は、移動ノードが送信すべきデータを持っているかどうかをチェックすることができる。仮想アンカ選択は、送信すべきデータを持っている移動ノードを仮想アンカとして優先することができる。この優先順位付けは単純に移動ノードがアクティブであるか又はアイドル状態であるかに基づいて行うことができる。
【0037】
さらに、基準のそれぞれに重み係数(weight factor)を割り当て、これらの基準からの加重結果に基づいて仮想アンカを選択することにより、上記の基準のすべてに基づいて仮想アンカを選択することができる。この重みは状況に基づいて変更することができる。例えば、混雑したショッピング・モールでは、列車の客室の場合に使用される1組の重みとは異なる1組の重みを使用することができる。また、同じ環境の重みでも、時刻に基づいて変化する可能性がある。例えば、列車の客室内の位置推定に使用される重みは、ピーク時とオフピーク時で異なる値を有する可能性がある。また、列車が駅に停車しているときと比較して、列車が移動しているときには異なる組の重みを使用することもできる。重みはゼロ値になり得ることに注目するであろう。このため、第1の基準の重みが非ゼロであり、他の基準の重みがゼロであるという特殊な事例では、これは、仮想アンカの選択のために前記第1の基準のみを選択することと同等である。また、1組の重みは、無線送信について観測したパラメータに基づいて変更することもできる。これは、拡張カルマン・フィルタ又はベイズの選別器などの統計手法を使用して行うことができる。また、これは、入力層でRSSI値を取り入れ、それぞれの出力パーセプトロンがそれぞれの選択基準に関連する重みを示す出力層を有する、訓練されたニューラルネットワークを使用して行うこともできる。
【0038】
このため、仮想アンカを選択する際に、1つの追加のステップは、仮想アンカ選択方式(selection scheme)を選択することである。これは
図3に示されており、同図では仮想アンカ選択ステップ230は、選択方式を選択するためのステップ340と、選択された選択方式を使用して仮想アンカを選択するためのステップ350を更に含むものと示されている。前に述べたように、選択方式は様々な要因に基づいて選択することができる。例えば、列車が移動している間はあまり移動が発生しない列車の客室内の乗客の位置を推定するためにある方式を使用し、突然急激な移動が発生する駅で列車のドアが開いた際に他の方式を使用するなど、環境に基づいて行うことができる。また、列車の客室内の乗客の位置を検出するためにある方式を使用し、プラットフォーム上の乗客の位置を検出するために他の方式を使用することもできるであろう。学校の構内で学生のラップトップ/タブレットの位置を検出するための学校配備例では、授業時間と休み時間で異なる方式を使用することができるであろう。また、選択方式は、収集したRSSI値に基づいて選択することもできる。例えば、収集したRSSI値の分散が事前指定された値より大きい場合、推定に誤りを持ち込む可能性を低減するために、より少ない仮想アンカを含めるための選択方式を使用することができるであろう。逆に、収集したRSSI値の偏差が小さい場合、より多くの仮想アンカを含めるための選択方式の方が性能が向上するかもしれない。また、選択方式は、システムがどの程度「ノイズが多い」かを示す表示に基づいて選択することもできる(おそらく観測した無線送信パラメータの変動によりシステムの様々な処理ブロックにノイズが持ち込まれることにより位置推定の誤り確率が高くなる際に、システムは「ノイズが多い」と言われる)。永久仮想アンカは位置が把握されているモバイル・クライアントであることを想起されたい。これらの永久仮想アンカの位置推定は、その既知の位置と比較して、システムのノイズがどの程度多いかを示す表示として機能することができる。システムのノイズが非常に多い場合、推定に誤りを持ち込む可能性を低減するために、より少ない仮想アンカを含めるための選択方式を使用することが有益になるであろう。逆に、システムのノイズがそれほど多くない場合、より多くの仮想アンカを含めるための選択方式の方が性能が向上するかもしれない。
【0039】
もう1つの選択方式は、これらの装置の伝搬係数(すなわち、本明細書で後述するCrx及びCtx)が整合するように、アクセスポイント又は仮想アンカとして既に動作している装置と同じハードウェア・タイプの装置を選択することが可能である。この場合、これらのパラメータはこれらの装置間で交換する必要は無く、装置間のトラフィックは低減されるであろう。
【0040】
さらに他の選択方式は、その位置が事前定義位置(位置)により近いものとして推定される装置を選択することが可能である。アクセスポイント又は仮想アンカが事前定義位置に配置される場合、そのアクセスポイント又は仮想アンカの位置推定は受け入れ可能な推定正確度の範囲内になり、所定の推定誤り率より低くなる可能性があることが前もって決められている。通常、いかなる測位装置も所定の位置に位置することはない。しかし、ある装置が事前定義位置又はその近くに確かに位置決めされている場合、その位置は受け入れ可能な推定正確度の範囲内で保証できるので、その装置は仮想アンカとして選択されることになる。さらに、このような事前定義位置に固定アクセスポイントを配置する必要はないので、アクセスポイント配置の構成及び保守のコストを削減することになるであろう。事前定義位置の妥当性は時間(又はその他の環境要因)にも依存する可能性がある。このような適用の一例は、列車が到着した際に駅のプラットフォームに沿った事前定義位置に立っている鉄道の駅の職員の事例である可能性がある。職員は常に事前定義位置に立つことになるので、職員が携帯している装置の推定位置がこれらの事前定義位置の1つに近いと推定されると、システムは、前記装置の位置がゼロ推定誤りで前記事前定義位置に等しいと想定することができる。これにより、前記装置は仮想アンカとして選択すべき優れた候補になる。列車がプラットフォームを離れると、職員は再び駅を動き回ることになる。その後、事前定義位置はもはや有効ではなくなり、システムはもはやその装置がゼロ推定誤りで事前定義位置にあると想定しなくなる。
【0041】
仮想アンカとして選択された装置が、送信出力、送信及び/又は受信のためのアンテナ利得など、特定の無線送信及び/又は受信パラメータで、サーバ、その他のノード、又はそれ自体によって構成されることは可能であろう。これは、サーバが新しい仮想アンカについて既知の構成パラメータでフィンガープリント・マップを容易に生成できるようにするものである。さらに他の可能性は、固定アンカと選択された仮想アンカの位置に最小限の対称性が存在するように潜在的な仮想アンカの推定位置に基づいて仮想アンカを選択することである。既知のアンカポイントの対称性は、対称軸に沿った互いの鏡像である最大ポイントをフィンガープリント・マップに作成するので、フィンガープリント生成には望ましくない。これが発生すると、位置推定ステップは、代わってこれらの最大ポイントを選択し、システムに不安定さを持ち込む可能性がある。このため、対称性が最小限になるように仮想アンカを選択することは、システム内への不安定さの量を低減するのに役立つであろう。
【0042】
仮想アンカの数は仮想アンカ選択方式、環境、又はその両方の組み合わせに基づいて選択できることも明らかであることに注目されたい。
【0043】
仮想アンカが選択されると、その仮想アンカ及びターゲット移動ノードの無線送信に関連するパラメータを使用して、ターゲット移動ノードの位置を推定することができる。前記パラメータに基づいて位置を推定するために、三角測量及びフィンガープリンティングを含むがこれに限定されない様々な方法を使用することができる。
図4Aは、このような好ましい方法の1つを示している。
図4Aでは、位置推定ステップ260は、伝搬定数推定ステップ460と、RSSIフィンガープリント・マップ生成ステップ470と、最小平均二乗誤差(MMSE)推定ステップ480を更に含む。
【0044】
好ましい一実施形態では、無線送信の受信信号強度は以下の式によりモデル化される。
=Ctx+Crx−F.log(d) (式1)
ここで、Ctxは送信アンテナ利得であり、Crxは受信機アンテナ利得であり、Fは損失係数であり、dは受信機と送信機との距離である。Ctx、Crx、及びFは、同じ受信機と送信機の対に関する定数であると想定される。このため、伝搬定数推定ステップ460では、ステップ210で収集された実際のRSSI値に基づいて、それぞれの仮想アンカに関連するこれらの伝搬定数が推定される。仮想アンカ自体が移動ノードであるので、ターゲット移動ノードが同様の物理的性質を有し、従って、仮想アンカに関連する伝搬定数の平均を取ることにより、ターゲット移動ノードに関連する伝搬定数の良好な推定が得られると想定することは妥当である。代わって、前の反復からの推定に基づいて、ターゲット移動ノードに関連する伝搬定数を使用することができる。伝搬定数は、(例えば、装置タイプ、通信インターフェース・タイプなどに基づいて)すべての装置又は装置の一部に関するパラメータ(すなわち、Ctx、Crx、及びF)のすべて又は一部にすることができる。
【0045】
推定された伝搬定数により、(式1)による同じ無線送信モデルを使用して、検出エリア内の異なるポイントで互いの送信についてターゲット移動ノード及び仮想アンカによって観測された予想RSSIを生成することができる。これは、RSSIフィンガープリント・マップ生成ステップ470である。マップが得られると、実際の観測RSSIをマップと比較することができ、実際の観測RSSI値と予想RSSI値との平均二乗誤差が最小値になるポイントがターゲット・ノードの推定位置になる。これは、MMSE推定ステップ480である。
【0046】
当業者であれば、他の方法も使用可能であることを認識するであろう。例えば、伝搬定数推定ステップ460は、入力としてのRSSI値と、それぞれの伝搬定数に関する値を示すための出力パーセプトロンを有することにより、伝搬定数の値を推定するために訓練されたニューラルネットワークを使用することができる。代わって、(式1)の送信モデルは付加白色ガウス雑音の加算を伴う確率プロセスとして処理することができ、伝搬定数Ctx、Crx、及びFの値を推定するために拡張カルマン・フィルタ又はベイズの推定などの技法を使用することができる。さらに、RSSIフィンガープリンティングを使用する代わりに、他の好ましい手法は、サーバが(式1)を使用して、ステップ470でそれぞれの仮想アンカからターゲット・ノードへの距離を推定することである。これは、仮想アンカと移動ノードとの推定距離によって示される半径を備え、仮想アンカを中心とする円がターゲット・ノードの可能な位置を示すことを意味する。次に、ステップ480では、すべての円からの最小平均二乗距離をもたらすポイントによって、ターゲット・ノードの位置が推定される。
【0047】
位置推定のためにより高い正確度が保証されるようにCtx及びCrxは装置のタイプ(すなわち、アクセスポイント、仮想アンカ、クライアントとして)に応じて調整することができることについて言及する。Ctx及びCrxは、装置のタイプごとに事前定義又は事前測定し、パラメータ・テーブル内に各装置について事前構成(記憶)することができるか、又は装置間で動的に共用又は交換することができる。正確な推定のために、観測RSSI値は装置内で、Ctx及びCrx値が既に含まれているものとしてみなすことができる。ここで、Ctxは観測RSSIの観測のターゲットである装置の送信アンテナ利得値であり、Crxは観測RSSIを観測する装置の受信機アンテナ利得値である。装置(すなわち、サーバ装置)は、パラメータ・テーブルから取り上げるか又は他の装置から提供(交換)することができる、観測RSSI、Ctx、及びCrxを使用して装置位置を推定してもよい。
【0048】
RSSI値は同じタイプの装置間のみで観測することができ、従って、推定のためにその装置間で既知のCtx及びCrxを使用することにより、推定の正確度がより正確なものになるであろう。これは、その装置が持っているものと同じ値であるので、その装置がパラメータ・テーブルを記憶したり装置間で交換したりする必要が無く、メモリ消費量を節約することができる点、あるいは、パラメータ(すなわち、Ctx及びCrx)交換のためのトラフィックを削減することができる点でも有用である。ここで、例えば、装置のMACアドレスの一部(ビット)(すなわち、装置タイプなどに基づいて割り当てることができるベンダ部分又は何らかの特定の部分)を検証することにより、複数の装置が同じタイプであるかどうかを検出することができる。
【0049】
受信機装置は、装置の受信機アンテナ利得(Crx)を考慮して、観測RSSIを調整することができ、すなわち、受信機装置は、Crxの調整付きの観測RSSI(すなわち、RSSI+Crx)をサーバに送信することができるので、サーバはすべての装置についてCrx値を収集する必要が無く、パラメータ交換のためのトラフィックは削減されるであろう。調整された観測RSSI値は、装置依存のCrx値が無い状態で既に標準化されているので、これも位置推定の正確度を増すことになる。
【0050】
仮想アンカの位置自体が推定されるので、正確度を増すために可能な手法の1つは、
図4Bに示されているように、段階的なフィンガープリント洗練手法を使用することが可能である。これは、ステップ420で固定ノード及びターゲット・ノードに関連した送信の予想RSSI値に基づいて、サーバがまずRSSIフィンガープリント・マップのみを生成することを伴う。説明を容易にするために、これは「ベース・フィンガープリント・マップ」と呼ぶ。その後の反復では、仮想アンカを伴う送信の予想RSSI値も含むようにベース・フィンガープリント・マップが洗練される。説明を容易にするために、これは「仮想アンカ洗練(virtual anchor refinement)」と呼ぶ。これは、ステップ472及び475として
図4Bに示されている。ステップ472では、仮想アンカ及びターゲット・ノードに関連する送信の観測パラメータに基づいて、それぞれの選択された仮想アンカについて仮想アンカ洗練が生成される。次に、ステップ475でベース・フィンガープリント・マップが仮想アンカ洗練で更新され、洗練されたフィンガープリント・マップを生成する。ベース・フィンガープリント・マップ及びその後の仮想アンカ洗練に重みを割り当てることができる。ステップ485で予想RSSI値に対する実際の観測RSSI値の平均二乗誤差を計算する間に、その重みが考慮される。これは、観測した送信パラメータと洗練されたフィンガープリントとの誤差に関連の重みを掛けることを意味する。例えば、固定ノードからの送信の観測RSSIと洗練されたフィンガープリントとの誤差に対し、ベース・フィンガープリント・マップに関連する重みが掛けられ、仮想アンカからの送信の観測RSSIと洗練されたフィンガープリントとの誤差に対し、対応する仮想アンカ洗練に関連する重みが掛けられる。この加重誤差が二乗して平均され、最小平均二乗誤差(加重MMSEという)を備えた位置はこの反復でターゲット・ノードの推定位置をもたらす。
【0051】
この重みは、変更することができ、異なる反復時に異なる値を有することができる。1つの手法は、初期反復時にベース・フィンガープリント・マップにより重い重みを割り当て、仮想アンカ洗練にゼロ重みを割り当てることであり、仮想アンカの推定位置がその後の反復で収束するので、仮想アンカ洗練の重みを増すことができる。それぞれの仮想アンカ洗練には異なる重みを割り当てることができ、割り当てられた重みは関連の仮想アンカの推定位置がどの程度信頼できるかに基づいて変更される(例えば、仮想アンカの推定位置が反復ごとに極めて著しく変化する場合、信頼性は低く、仮想アンカ洗練にはより低い重みを割り当てることができる)。このような方式では、永久仮想アンカに関連する仮想アンカ洗練は、仮想アンカの位置が把握されてから常にその洗練が使用されるような重みを有することになる。もう1つの手法は、無線送信の観測パラメータに基づいて、ベース・フィンガープリント・マップに関連する重みとそれぞれの仮想アンカ洗練に関連する重みのセットを変更することである。これは、拡張カルマン・フィルタ又はベイズの選別器などの統計手法を使用して行うことができる。また、これは、RSSI値を取り入れ、それぞれの出力パーセプトロンがそれぞれの仮想アンカ洗練に関連する重みを示す出力層を有する、訓練されたニューラルネットワークを使用して行うこともできる。
【0052】
推定位置が所定の正確度より低い(例えば、MMSEが所定の値より大きい)か、又は推定すべき位置のターゲットエリアが更新後に全く又はあまり影響を及ぼさないものであると検出された場合、フィンガープリント・マップの更新又は調整はステップ485で加重MMSEからの位置推定時でも実行することができる。このような場合、ステップ475及び485は並行して実行することができる。位置推定ステップ中のフィンガープリント・マップの更新は正常に実行することができ、フィンガープリント・マップはサーバ内の2サイド又は複数サイドのバッファに維持される。このようにして、フィンガープリント・マップを常に更新することができ、推定の正確度が保証されるであろう。
【0053】
図4Cに示されているものについて上記の加重推定手法を一般化することができる。ここで、無線送信パラメータ収集ステップ210では、無線通信のパラメータが固定ノード及び移動ノードから収集される。これに続いて、その位置を推定する予定のターゲット・ノードについて仮想アンカとして動作するように1組の移動ノードが選択される仮想アンカ選択ステップ230により、反復ループ290が開始される。ステップ440では、それぞれの選択された仮想アンカに重みが割り当てられる。この1組の重みは位置推定ステップ450で使用され、そこで、ターゲット移動ノード及び選択された1組の仮想アンカを伴う無線送信に関連してステップ210で収集されたパラメータに基づいてターゲット移動ノードの位置が推定される。前に述べたように、この重みは、位置推定に貢献する仮想アンカに関連する要因(RSSIフィンガープリントの一部分など)に対し前記仮想アンカに割り当てられた重みが掛けられるように使用される。この重みは、仮想アンカの信頼性に基づいて割り当てることができる。また、この重みは、無線送信の観測パラメータに基づいて割り当てることもできる。これは、拡張カルマン・フィルタ又はベイズの選別器などの統計手法を使用して行うことができる。また、これは、入力層にRSSI値を取り入れ、それぞれの出力パーセプトロンがそれぞれの仮想アンカに関連する重みを示す出力層を有する、訓練されたニューラルネットワークを使用して行うこともできる。
【0054】
上記の説明では、位置推定ステップ260は、フィンガープリント・マップ上でMMSEアルゴリズムを使用するものとしてたびたび記載されている。他の方法も使用できることを認識されたい。例えば、MMSEは実際にはk近傍法(kNN)として知られるアルゴリズムの特殊な事例であり、ここでk=1である。一般的な事例では、kNNアルゴリズムは、最小平均二乗誤差を有する複数の候補位置を選択し、これらの複数の候補位置の平均として最終推定を示すものである。例えば、k=3である場合、最小平均二乗誤差、2番目の最小平均二乗誤差、及び3番目の最小平均二乗誤差を有する位置が候補位置として選択される。次に、これらの3つの位置の平均から最終推定位置が得られる。このため、位置推定ステップ260は実際にはkNNアルゴリズムで実現することができる。より具体的には、位置推定ステップ260は、例えば、選択された仮想アンカ及びターゲット・ノードに関連する無線送信のパラメータを使用して複数の中間位置推定値を取得するステップと、何らかの所定の基準に基づいて複数の中間位置推定値のそれぞれにスコアを割り当てるステップと、選択される中間位置推定値が最低スコアを有するものとなるよう、前記複数の中間位置推定値からいくつかの中間位置推定値を選択するステップと、前記選択された中間位置推定値を平均することによりターゲット・ノードの位置を推定するステップとを含むことができる。kNNアルゴリズムは本質的に、平均二乗誤差曲線に沿ってローカル最小ポイントを識別し、これらの最小ポイントの平均を推定位置として取るように試みるものであることに注目している。kの値は慎重に選択しなければならない。kの値が大きすぎると、kNNアルゴリズムは、平均二乗誤差曲線上のローカル最小ポイントではないポイントを誤って引き入れることになる。kの値が小さすぎると、kNNアルゴリズムは、正当なローカル最小ポイントを考慮し損ない、その結果、推定がノイズの影響を受けやすくなる。kの値は特定の値に事前設定するか又は現在の状況に基づいて動的に決定することができる。このシステムはすべての移動ノードの位置推定のために単一の値のkを使用する場合もあれれば、それぞれの移動ノードに対し個別に決定される異なる値のkが関連付けられる場合もある。
【0055】
例えば、kの値は、1つのターゲット・ノードの位置推定のために選択される仮想アンカの数によって決まる可能性がある。1つの仮想アンカを追加すると平均二乗誤差の計算に1つの追加の成分がもたらされることに注目している。このため、仮想アンカの追加は平均二乗誤差曲線に沿って追加のローカル最小ポイントを引き起こす可能性がある。これは、選択された仮想アンカの数に基づいて比例してkの値を決定できることを示唆している。多数の仮想アンカは大きい値のkを意味し、逆に、少数の仮想アンカは小さい値のkを意味することになるであろう。代わって、ターゲット・ノードの位置推定の変化の大きさに基づいて、kの値を決定することができる。大量の変化は推定にノイズが多いことを示唆しており、ノイズの影響を低減するためにより大きい値のkを使用することができる。逆に、少量の変化は推定が安定していることを示唆しており、ローカル最小ではないポイントを加える際の処理負荷及び見込みを低減するためにより小さい値のkを使用することができる。さらに他の手法は、ターゲット・ノード及び/又は選択された仮想アンカから収集した観測RSSIの分散に応じて異なる値のkを有することが可能性である。分散が大きい場合、これは、かなりの量の無線送信ノイズが存在することを暗示しており、信頼できないポイントを含めるのを回避するためにkの値を低減することができる。
【0056】
すべてのターゲット・ノードに単一の値のkを使用する場合、kの値は、前の反復について選択された仮想アンカの平均数に基づくか(仮想アンカが多数である場合、より大きい値のkを暗示する)又はすべての移動ノードの位置推定の全体的な変化に基づいて(すべての移動ノードの位置推定の全体的な変化がかなりの量である場合、より大きい値のkを暗示する)同様に決定することができる。また、観測した無線送信パラメータ及び選択された仮想アンカの数が選択された場合にkの値を得るよう訓練されたニューラルネットワーク又は線形フィルタを使用するなどの統計的手法を使用することができる。さらに、このシステムのノイズがどの程度多いかを示す表示として永久仮想アンカの推定位置及び実際の位置を使用できることを想起されたい。このシステムのノイズが多い場合、ノイズの影響を低減するためにより大きい値のkを使用することができる。
【0057】
上記の説明から、仮想アンカ選択基準に基づいて、ターゲット移動ノードに関する仮想アンカになるように移動ノードのサブセットのみを選択できることが起こり得ることが分かる。これは、何らかの配備シナリオの場合、検出エリア内のすべての固定ノード及び移動ノードからの無線送信のパラメータのすべてが必要であるわけではないことを暗示している。例えば、無線通信可能装置(携帯電話、無線IDタグ付き乗車券など)を携帯する乗客の位置を検出するシナリオでは、既存の乗客の位置が従来の位置推定によりシステムによって既に把握されているような中間駅で1人の乗客が客車に乗車することが起こり得る。この場合、この新たな乗客の装置は、その位置を推定する必要がある唯一のターゲット移動ノードである。その場合、サーバは、潜在的な仮想アンカになり得る1組の移動ノードを推定し、この1組の移動ノードから無線送信パラメータを収集することができる。これは、
図5に描写されているフロー図に示されている。
【0058】
ここで、無線送信パラメータ収集ステップ210は、ノード決定ステップ510と低減パラメータ収集ステップ520を更に含む。ステップ510ではサーバはそこから無線送信のパラメータを収集するための1組のノードを決定し、ステップ520でこの決定された1組のノードからパラメータを収集する。サーバがどのように1組のノードを決定できるかは様々になる可能性がある。例えば、列車のシナリオでは、サーバは、駅のプラットフォーム上の他の位置推定システムと通信している可能性があり、従って、新たな乗客が乗車する客室を推定することができる。次に、サーバは、前記客室内にある移動ノード及び固定ノードのみを選択することにより、1組のノードを決定することができる。代わって、サーバは、前の推定又は前の収集サイクルから収集した無線送信のパラメータに基づいて1組のノードを決定することもできる。
【0059】
仮想アンカの数及び仮想アンカの選択を決定することに加えて、動作環境及び条件に基づいてサーバが調整できる他の動作パラメータが存在する。例えば、無線送信パラメータが収集される間隔及び無線送信の出力は、いくつかの要因に基づいて増加又は減少することができる。無線パラメータが収集される間隔により、ノードはビーコン・メッセージ又はダミー・メッセージが送信される頻度を決定できるであろう。ダミー・メッセージには、他のノードが観測するための無線送信を有するという目的がある。ダミー・メッセージの使用は、アドホック・モードが使用される場合に有用である。アドホック・モードでは1つのノードのみがビーコンを送信しているので、他のノードが観測できるようにするために、他のノードはダミー・メッセージを送信する必要があるであろう。また、何らかのモバイル・クライアントが他の移動ノードの無線送信をモニターする機能を有する場合に、その送信がアクセスポイント向けであっても、ダミー・メッセージはインフラストラクチャ・モードの場合も有用である。このように、移動ノードがダミー・メッセージを送信している場合、それらは、モニター機能を備えた他の移動ノードによって観測可能なビーコンのように動作する。一般に、ビーコン・メッセージ又はダミー・メッセージを送信する頻度は、無線送信パラメータ収集の頻度と同じになるように設定されるであろう。これは以下の説明で想定されるが、当業者であれば、一実現例では無線送信パラメータの収集の頻度の事前指定倍数(2倍など)になるようにビーコン・メッセージ又はダミー・メッセージを送信する頻度を設定できることを認識するであろう。
【0060】
好ましい一形式では、無線送信パラメータの間隔は、すべてのノードの位置変化の合計に基づいて調整することができる。間隔間の位置変化の合計が小さい場合、間隔の期間を延長することができる。これは、位置変化の合計が小さい場合、ノード内の移動性があまり大きくないことを示し、このため、頻繁な位置推定を実行する必要がないからである。これによりノードの電力消費量が節約されることになる。ノードの大部分が永久仮想アンカである場合、無線送信パラメータの収集頻度も低減する(すなわち、無線送信パラメータの収集間隔の期間を延長する)ことができる。これは、永久仮想アンカの位置が既に把握されており、従って、位置推定の正確度を増すことになるからである。このため、時間の経過につれて統計的改善によって位置推定の正確度を改善するためにより頻繁に無線送信パラメータを収集する必要性はない。これもまた、ノードの電力消費量を節約することになる。システムのノイズがどの程度多いかを示す表示として永久仮想アンカの推定位置及び実際の位置を使用できることを想起されたい。システムのノイズがあまり多くない場合、ノイズを克服するためにより多くの推定を実行する必要がないので無線送信パラメータの収集頻度も低減することができ、代わりに送信回数の低減によってノードの電力消費量を節約する余裕ができる。これに対して、間隔間の位置変化の合計が大きい場合、間隔の期間を短縮することができる。これは、位置変化の合計が大きい場合、ノード内の移動性が大きいことを示し、このため、より頻繁な位置推定が必要であり、達成されるからである。同様に、ノードのごく一部が永久仮想アンカである場合、又はシステムのノイズが多い場合(永久仮想アンカの推定位置及び既知の位置を比較することによって決定される)、無線送信パラメータの収集頻度も増加する(すなわち、無線送信パラメータの収集間隔の期間を短縮する)ことができる。これは、その位置が既に把握されているノードが非常に少ない場合又はシステムのノイズが多い場合、時間の経過につれて統計的改善によって位置推定の正確度を改善するためにより頻繁に無線送信パラメータを収集することが必要になるからである。
【0061】
他の好ましい形式では、無線送信パラメータ収集の間隔は、異なるタイプのノードごとに異なる可能性がある(すなわち、それぞれのノードが異なる間隔を有する)。ここで、あるノードの無線送信パラメータ収集間隔は、そのノードに関連する種々の要因に基づいて調整することができる。1つの要因はノードの移動パターン(過去の位置推定に基づく)であってもよい。そのノードが移動しないか又はゆっくり移動する場合、その無線送信パラメータ収集間隔はより長いものにすることができる。これにより電力消費量がノードごとに適切に節約されることになる。逆に、ノードが迅速に移動する場合、より良好な追跡を可能にするためにその間隔はより短いものにすることができる。ここで、ノードの間隔を決定するために使用される速度は、その絶対速度に基づくものにするか、すべてのノード又は近接ノードの全移動パターンに対して相対的なものにするか、あるいはノード上のユーザ・インターフェースによるユーザ状況、例えば、「移動中」、「停止中」、「着席中」、「歩行中」、「走行中」などに関するユーザの入力にすることができる。もう1つの要因はノードのタイプであってもよい。そのノードが永久仮想アンカである場合、その無線送信パラメータ収集間隔はより長いものにすることができる。これは、その位置が既に把握されているからである。さらに他の要因はノードの電源であってもよい。ほとんどのノードはバッテリ駆動式である。しかし、永久仮想アンカは外部電源駆動式である(例えば、AC電源プラグに接続されている)可能性もある。このような外部電源駆動式ノードの場合、電力消費レベルがこのようなノードではあまり問題にならないので、その無線送信パラメータ収集間隔はバッテリ駆動式のものよりかなり短いものにすることができる。この場合、電力消費量の問題がないノードからの送信が増加すると、より多くの送信パラメータが収集されることになり、これにより位置推定の正確度を改善することができる。さらに他の要因はノードの位置である。要求された位置推定の正確度が高いエリア内にそのノードがある場合、より多くの無線送信パラメータ収集を可能にするために、そのノードに関する無線送信パラメータ収集間隔がより短いものになる可能性がある。例えば、ショッピング・センター配備例では、店舗密度が高いエリアは、店舗密度が低いエリアと比較して、より高いレベルの位置推定の正確度が必要になるであろう。
【0062】
さらに他の好ましい形式では、無線送信パラメータ収集の間隔をすべてのノードからの情報に基づいてサーバによってまず調整することができる。次にそれぞれのノードは、それ自体のタイプ、移動パターン、又はそのノード自体のハードウェア(例えば、加速センサ)からの情報など、それ自体の情報に基づいて追加の調整を行う。
【0063】
他の好ましい一形式では、1つ又は複数の新しいアクセスポイント又は仮想アンカが検出されるか又は所在不明になった際に、無線送信パラメータ収集の間隔を調整することができる。これは、アクセスポイント又は仮想アンカを含む列車がプラットフォームに到着するというシナリオであり、その場合、列車内とプラットフォーム内のアクセスポイント又は仮想アンカが互いに新しいアクセスポイント又は仮想アンカとして検出することになり、従って、より高い推定正確度を獲得するために、新しいアクセスポイント又は新しい仮想アンカとのパラメータ交換の頻度を増すことになるであろう。その速度が事前構成された値より遅くなるか又は速くなり、列車が駅に到着するか又は駅を出発する(すなわち、プラットフォームに接近するか又はそこから離れている)ことを意味するときに、頻度を増し始める可能性がある。列車内の測位装置は他のアクセスポイント及び/又は仮想アンカを検出し、それとより多くの交換を行い始めた時期を把握することができ、プラットフォームに到着する前に非効率な交換を行わずに、より高い推定正確度を獲得し、バッテリ消費量も節約することになるので、これは有用なものになるであろう。さらに、この装置は、その速度がゼロになった(すなわち、列車又は装置が完全に又はほとんど停止した)ときに交換頻度を低減することができ、その結果、バッテリ消費量も低減することができる。
【0064】
好ましい一形式では、すべてのノードの位置変化の合計に基づいて無線送信の出力を調整することができる。間隔間の位置変化の合計が小さい場合、送信出力を低減することができる。これは、位置変化の合計が小さい場合、ノード内に大きな移動性が存在しないことを示し、このため、所与のターゲット・ノードについて多くの仮想アンカを選択する必要がないからである。従って、あるノードからの送信を多くのノードで受信する必要がないので、送信出力及び交換されるメッセージの数を低減することができる。これによりノードの電力消費量が節約され、多くのメッセージを交換することにより起こり得る過負荷を回避することになる。ノードの大部分が永久仮想アンカである場合、無線送信の出力も低減することができる。これは、永久仮想アンカの位置が既に把握されており、従って、位置推定の正確度を増すことになるからである。このため、あるノードの無線送信を多くのノードで受信する必要はない。
【0065】
他の好ましい形式では、無線送信の出力は、異なるタイプのノードごとに異なる可能性がある(すなわち、それぞれのノードが異なる送信出力を有する)。ここで、あるノードの送信出力は、そのノードに関連する種々の要因に基づいて調整することができる。1つの要因はノードの移動パターン(これは、そのノードの過去の位置推定に基づいて導出するか、又は加速センサなど、そのノードのハードウェアからの情報に基づいて導出することができる)にすることができる。そのノードが移動しないか又はゆっくり移動する場合、その無線送信出力はより小さいものにすることができる。これは、ノードの位置推定を改善するために他のノードがその送信を受信する必要性が低いからである。逆に、ノードが迅速に移動する場合、より良好な追跡を可能にするためにその送信出力を増すことができる。ここで、ノードの間隔を決定するために使用される速度は、その絶対速度に基づくものにするか、すべてのノード又は近接ノードの全移動パターンに対して相対的なものにすることができる。もう1つの要因はノードのタイプにすることができる。そのノードが永久仮想アンカである場合、その無線送信出力を低減することができる。これは、その位置が既に把握されているからである。さらに他の要因はノードの電源であってもよい。ほとんどのノードはバッテリ駆動式である。このようなバッテリ駆動式ノード場合、バッテリを節約して使用するためにその無線送信出力を低減することができる。さらに他の要因はノードの位置である。要求された位置推定の正確度が高いエリア内にそのノードがある場合、より多くのノードでその送信を受信するために、そのノードに関する無線送信出力を増加する可能性がある。
【0066】
さらに他の好ましい形式では、無線送信パラメータ収集の出力をすべてのノードからの情報に基づいてサーバによって調整することができる。次にそれぞれのノードは、それ自体のタイプ、移動パターン、又はそのノード自体のハードウェア(例えば、加速センサ)からの情報など、それ自体の情報に基づいて追加の調整を行う。
【0067】
上記の好ましい諸実施形態の説明では、サーバが移動ノードの位置推定の主なプロセスを実行することが例示されている。これは、移動ノードが無線送信の観測パラメータ(RSSIなど)の送信のみに関わる集中処理モデルである。完全分散処理まで様々な集中度が存在する可能性があり、これらについて以下の好ましい諸実施形態で説明する。
【0068】
図6は、集中処理モデルのメッセージ・シーケンス図を示している。ここで、サーバは、固定ノード及び移動ノードから無線送信の観測パラメータを収集し、仮想アンカ選択ステップ及び位置推定ステップを実行する。これは、強力なサーバが使用可能であり、移動ノードの電力消費量を最小限に保持しなければならない場合に有用である。サーバは、要求メッセージ610、612、614、及び616を送信することにより固定ノード及び移動ノードから観測パラメータを要求することによって開始する。それぞれの要求メッセージは、サーバがどの種類のパラメータを必要としているかという記述を含むことができる。例えば、システムが単一のターゲット移動ノードの位置を推定することだけを必要としている場合、要求メッセージは、そのターゲット移動ノードに関連する無線送信に関するパラメータのみが必要であることを示すことができる。集中処理モデルでは、サーバは、動作パラメータ(無線パラメータ送信の頻度及び送信出力など)をどのように調整するかを判断することになる。前に述べたように、サーバはすべてのノードについて判断することができるが、異なるノードについて同じパラメータの異なる値を使用することができる。従って、要求メッセージは、使用する無線送信の出力及び/又は無線送信パラメータ収集の頻度(ビーコン/ダミー・メッセージ送信の頻度にリンクされる)など、受信ノードに関する現在の動作パラメータを含むことになる。
図6には、これらの要求メッセージが個別に送信され、それぞれのノード110、120、121、及び122に直接、アドレス指定されることが例示されている。当業者であれば、すべてのノードによって受信されるブロードキャスト・メッセージもサーバが送信できることを認識するであろう。この場合、要求メッセージ610、612、614、及び616は実際には単一のメッセージである。この意味での「ブロードキャスト」はネットワーク層の観点から使用されることに注目されたい。サーバは無線通信対応ノードではない可能性があるので、実際のメッセージは典型的には無線アクセスポイントに送信する必要は無く、これは次に無線通信ノードにブロードキャストされることになる。サーバが無線通信ノードである場合でも、「ブロードキャスト」メッセージは依然としてまずアクセスポイントに送信されるはずであり、次にこれは、インフラストラクチャ(又はIEEE802.11の場合の拡張サービス・セットとして知られている)モードの無線通信である場合、他のノードにメッセージをブロードキャストすることになるであろう。アドホック(又はIEEE802.11の場合の独立基本サービス・セットとして知られている)モードでのみ、メッセージは本当に他の移動ノードに無線で、すなわち、層2論理リンク又は層1論理リンクにより、ブロードキャストされる。
【0069】
ブロードキャスト・メッセージを送信することは無線の帯域幅を節約するという利点を有し、個々のユニキャスト・メッセージを送信することはサーバがノードのサブセットのみに要求メッセージを送信できるようにするものである(例えば、
図5のステップ510は、移動ノードのサブセットの無線送信パラメータのみが必要であると判断する)。いずれの場合も、固定ノード及び移動ノードのそれぞれが要求メッセージを受信すると、そのノードはその最新の1組の観測パラメータをサーバに送信することになる。これは、メッセージ620、622、624、及び626として
図6に示されている。サーバが観測パラメータを収集すると、仮想アンカ選択ステップ及び位置推定ステップにより推定プロセス630を実行することができる。
【0070】
当業者であれば、要求メッセージは
図6ではサーバによって固定ノード及び移動ノードに送信されるものとして示されているが、パラメータ収集プロセスを同期的に実行することも可能であることを認識するであろう。例えば、固定ノード及び移動ノードのそれぞれは、サーバが要求メッセージで指示する必要無しに最新の1組の観測パラメータをサーバに定期的に送信するように構成することができる。
【0071】
図9は、集中処理モデルによるサーバの好ましい機能アーキテクチャ900及び固定/移動ノードの好ましい機能アーキテクチャ950を示している。サーバの機能アーキテクチャ900は、パラメータ収集ユニット910と、仮想アンカ選択ユニット920と、位置推定ユニット930とを含む。パラメータ収集ユニット910は、固定ノード及び移動ノードから無線送信の観測パラメータ(RSSI値など)を収集して記憶する。次に、これらの値は、仮想アンカ選択ユニット920及び位置推定ユニット930により信号経路940及び942から取り出すことができる。仮想アンカ選択ユニット920は、ターゲット移動ノードについて、仮想アンカとして動作するための1組のノードを選択する。この選択方法は、前述した方法のいずれか1つにすることができる。複数の方法が実現される場合、仮想アンカ選択ユニット920は適切な選択基準も選択する。選択された1組の仮想アンカは位置推定ユニット930により信号経路944から取り出される。位置推定ユニット930は、観測パラメータと選択された1組の仮想アンカを使用して、指定のターゲット・ノードの位置を推定する。これは、前述した推定方法のいずれか1つを使用することができる。推定位置の大幅な変化が無くなるまで又は反復の最大数を超えるまで仮想アンカ選択プロセス及び位置推定プロセスを反復する、反復ユニット935も存在する。
【0072】
固定/移動ノードの機能アーキテクチャ950は、無線送信観測ユニット960と、パラメータ報告ユニット970と、無線通信ユニット980とを含む。無線通信ユニット980は、ノードが無線で通信するために必要なハードウェア回路、ファームウェア・ドライバ、及びソフトウェア・プロトコル・スタックを表している。信号経路992を使用して、無線送信観測ユニット960は無線通信ユニット980から無線送信のパラメータを抽出することができる。無線送信観測ユニット960によって抽出されたパラメータは、他の局又はアクセスポイントから受信した送信のRSSIを含むことができる。これらのパラメータは信号経路990によりパラメータ報告ユニット970に渡すことができる。パラメータ報告ユニット970は、無線送信の観測パラメータを含む報告をサーバに送信する。前に述べたように、これは、サーバからの要求メッセージを受信したことに応答して実行するか、あるいは定期的又は動的タイマによりトリガすることができる。動的タイマはサーバから送信されたメッセージによって制御することができる。信号経路994により、パラメータ報告ユニット970は無線通信ユニット980から報告を送信することができる。
【0073】
上記では、サーバがシステム内に配備され、位置推定のための処理の主要部分がサーバ上で実行される、集中処理モデルについて説明している。これに対して、
図7は、分散処理モデルが配備されるシステムに関するメッセージ・シーケンス図を示している。ここでは、位置推定を実行するサーバは全く存在せず、パラメータ収集から、仮想アンカ選択、位置推定まですべてのステップが固定/移動ノードによって実行される。ここで、それぞれのノードは、状況メッセージ710、712、714、716、720、722、724、726、730、732、734、736、740、742、744、746、750、752、754、及び756によってそれ自体の状況を定期的にブロードキャストするであろう。ブロードキャスト間の間隔は、前に述べたように、事前構成するか、及び/又はノードの移動、ノード・タイプなどに基づいて動的に決定することができる。それぞれの状況メッセージは、送信ノードの現在の(推定)位置及び送信ノードによって観測された無線送信のパラメータを含むことができる。分散処理モデルでは、それぞれのノードは、それ自体に関する動作パラメータ(無線パラメータの送信頻度及び送信出力など)をどのように調整するかについても判断することになる。前に述べたように、ノードは、すべてのノードから収集した情報に基づいて及び/又はノード自体からの情報(ノードのハードウェア、例えば、加速センサからの情報など)に基づいて判断を行うことができる。送信ノードの動作パラメータについてこのように判断された値も状況メッセージに含めることができる。
図7には、これらの状況メッセージが個別に送信され、それぞれのノード110、120、121、122、及び123に直接、アドレス指定されることが例示されている。当業者であれば、すべてのノードによって受信されるブロードキャスト・メッセージもこれらのノードが送信できることを認識するであろう。この場合、例えば、ノード120によって送信される状況メッセージ710、712、714、及び716は実際には単一のメッセージである。前に述べたように、この意味での「ブロードキャスト」はネットワーク層の観点から使用されることに注目されたい。移動ノードのサブセットのみがその位置を推定する必要がある場合、その位置を推定する必要がある移動ノードによって送信される状況メッセージは、無線送信のパラメータに関する要求を含むことになるであろう。要求とともに状況メッセージを受信する他の移動ノードは、それ自体の状況メッセージで応答することができる。しかし、これらの応答は要求の送信者にのみ送信され、すべての移動ノードに送信されるわけではない。
【0074】
ある移動ノードが他のノードから状況メッセージを受信すると、これは、それ自体の位置を推定するために状況メッセージから得られた無線送信の収集パラメータに基づいて仮想アンカ選択ステップ及び位置推定ステップを開始することができる。これは、ノード120に関するプロセス760、ノード121に関するプロセス762、ノード122に関するプロセス764、及びノード123に関するプロセス766として
図7に示されている。ノード110などの固定ノードはこれらのステップを実行する必要がない。この後、ノードは、定期的な状況メッセージ交換について事前指定されたタイムアウトの後、又は推定位置が大幅に変化した場合に、もう一度その状況をブロードキャストすることができる。例えば、プロセス760からのその位置推定が状況メッセージ710/712/714/716でブロードキャストした位置から大幅に変化しているとノード120が気付いた場合、ノード120は他の状況メッセージ770/772/774/776をブロードキャストすることができる。
【0075】
図10は、分散処理モデルによる移動ノードの好ましい機能アーキテクチャ1050を示している。機能アーキテクチャ1050は、状況収集ユニット1010と、仮想アンカ選択ユニット1020と、無線送信観測ユニット1060と、位置推定ユニット1030と、状況配布(dissemination)ユニット1070と、無線通信ユニット1080とを含む。無線通信ユニット1080は、ノードが無線で通信するために必要なハードウェア回路、ファームウェア・ドライバ、及びソフトウェア・プロトコル・スタックを表している。信号経路1098を使用して、無線送信観測ユニット1060は無線通信ユニット1080から無線送信のパラメータを抽出することができる。無線送信観測ユニット1060によって抽出されたパラメータは、他の局又はアクセスポイントから受信した送信のRSSIを含むことができる。これらのパラメータは信号経路1095により仮想アンカ選択ユニット1020に渡すことができ、信号経路1093により位置推定ユニット1030に渡すことができる。状況収集ユニット1010は、無線送信の観測パラメータ(RSSI値など)及び他のノードから受信した状況メッセージから抽出した他のノードの位置を収集し記憶する。受信した状況メッセージは信号経路1097を介して無線通信ユニット1080から渡される。次に、これらの抽出値は、仮想アンカ選択ユニット1020及び位置推定ユニット1030により信号経路1096及び1091から取り出すことができる。仮想アンカ選択ユニット1020は、無線送信観測ユニット1060によって観測されたパラメータ並びに状況収集ユニット1010からの抽出情報に基づいて、その位置の推定のための仮想アンカとして動作するための1組のノードを選択する。この選択方法は、前述した方法のいずれか1つにすることができる。複数の方法が実現される場合、仮想アンカ選択ユニット1020は適切な選択基準も選択する。選択された1組の仮想アンカは位置推定ユニット1030により信号経路1092から使用される。位置推定ユニット1030は、観測パラメータと選択された1組の仮想アンカを使用して、指定のターゲット・ノードの位置を推定する。これは、前述した推定方法のいずれか1つを使用することができる。例えば、(式1)を使用して予想RSSIフィンガープリント・マップが生成され、次にMMSEを見つけることによってその位置を推定することができる。その推定位置は、信号経路1090により状況配布ユニット1070に渡すことができる。状況配布ユニット1070は、無線送信の観測パラメータ(信号経路1094を介して無線送信観測ユニット1060から取り出されたもの)及び現在の推定位置を含む状況メッセージを他のノードに送信する。前に述べたように、これは、推定位置の大幅な変化がある際に、要求とともに状況メッセージを受信したことに応答して実行するか、あるいは定期的な静的又は動的タイマによりトリガすることができる。信号経路1099により、状況配布ユニット1070は無線通信ユニット1080から状況メッセージを送信することができる。
【0076】
上記では、集中処理モデル及び分散処理モデルについて説明している。仮想アンカの選択を支援するためにサーバが配備され、位置推定はノード自体によって実行されるような中間的なものを備えることも可能である。この半集中処理モデルは、(分散モデルと比較して)ノード間で送信する必要があるメッセージの数を削減しながら、(その位置を推定する必要がある移動ノードが多数存在する場合に位置推定が非常に集約的になり得る集中モデルと比較して)位置推定を加速するために分散処理を有する利点を保持している。
【0077】
図8は、半集中処理モデルが配備されたシステムのメッセージ・シーケンス図を示している。ここで、ノードは、それ自体の無線送信の観測パラメータ及びそれ自体について前に推定した位置(ある場合)をメッセージ810、812、814、及び816を介してサーバに報告する。これは、定期的に又はサーバによって送信された報告要求メッセージに応答して、トリガすることができる。サーバが観測パラメータを収集すると、プロセス820として
図8に示されているように、仮想アンカ選択ステップを開始することができる。前の諸実施形態で説明したように、それぞれのターゲット移動ノードはそれ自体の1組の仮想アンカを有することになるであろう。サーバは、アンカ情報メッセージ830、832、834、及び836により、他のどのノードがその仮想アンカであるかをそれぞれのターゲット移動ノードに通知することになる。それぞれのアンカ情報メッセージでは、サーバは、どのノードが受信者ノード用の仮想アンカとして動作しているかを指定し、指定の仮想アンカに関連する推定位置及び無線送信の観測パラメータを含めることになる。また、サーバは、それが他のどの移動ノードのための仮想アンカとして動作しているかをアンカ情報メッセージで受信者ノードに通知する。第1のノードが第2のノード用の仮想アンカとして動作している際に、第2のノードが第1のノード用の仮想アンカとしても動作するような仮想アンカ選択アルゴリズムが可能である。この場合、受信者ノード用の仮想アンカとして動作している1組の移動ノードをアンカ情報メッセージで単純に指定することは、それが同じ1組の移動ノード用の仮想アンカとしても動作することを受信者ノードに把握させるために十分である。また、アンカ情報メッセージは、使用する無線送信の出力などのノードに関する現在の動作パラメータ並びに無線送信パラメータ収集の頻度(ビーコン/ダミー・メッセージ送信の頻度にリンクされる)も含むことができる。前の諸実施形態で述べたように、これらの値は、すべてのノードから収集した情報(観測RSSI値など)に基づいて又は過去の推定パラメータ(選択した仮想アンカの数、システム・ノイズの表示など)に基づいて、サーバによって調整することができる。受信ノードは、そのノード自体からの情報(そのノードのハードウェア、例えば、加速センサからの情報など)に基づいて動作パラメータの値について追加の調整を行うことができる。例えば、受信ノードが移動していない場合(例えば、その加速度計ハードウェアからの情報に基づく)、電力消費量を削減するために、無線送信パラメータ収集の頻度をより低い値に調整することができる。これに対して、それが迅速に移動している場合、推定位置を改善し適合させるために、無線送信パラメータ収集の頻度をより高い値に調整することができる。
【0078】
アンカ情報メッセージに含まれる情報により、受信者ノードは、ノード120に関するプロセス840、ノード121に関するプロセス842、ノード122に関するプロセス844、及びノード123に関するプロセス846として
図8に示されている位置推定ステップを開始することができる。推定された位置が前の位置推定から大幅に異なる場合、移動ノードは、位置推定の洗練のために他の移動ノードに状況メッセージを送信することができる。この半集中モデルでは、移動ノードは、送信者の位置を使用する必要があるノードにのみ状況メッセージを送信する必要がある。これは典型的に、送信者が仮想アンカとして動作している移動ノードを意味する。
図8の例では、ノード120はノード121のみに状況メッセージ850を送信し、ノード121はノード120のみに状況メッセージ852を送信し、ノード122はノード123のみに状況メッセージ854を送信し、ノード123はノード122のみに状況メッセージ856を送信する。移動ノードが更新した位置推定をその仮想アンカから受信すると、位置推定ステップを繰り返すことができる。これは、ノード120に関するプロセス860、ノード121に関するプロセス862、ノード122に関するプロセス864、及びノード123に関するプロセス866として
図8に示されている。
【0079】
例えば、サーバが仮想アンカの移動、仮想アンカとターゲット・ノードとの間の無線条件の変化などを検出した場合、移動ノードに関する仮想アンカを変更することも可能である。この場合、アンカ情報はターゲット・ノードに更新される。
【0080】
図11は、半集中処理モデルによるサーバの好ましい機能アーキテクチャ1100及び固定/移動ノードの好ましい機能アーキテクチャ1150を示している。サーバの機能アーキテクチャ1100は、パラメータ収集ユニット1110と、仮想アンカ選択ユニット1120と、アンカ情報配布ユニット1130とを含む。パラメータ収集ユニット1110は、固定ノード及び移動ノードから無線送信の観測パラメータ(RSSI値など)及び推定位置を収集して記憶する。次に、これらの値は、仮想アンカ選択ユニット1120により信号経路1140から取り出すことができる。仮想アンカ選択ユニット1120は、それぞれのターゲット移動ノードについて、仮想アンカとして動作するための1組のノードを選択する。この選択方法は、前述した方法のいずれか1つにすることができる。複数の方法が実現される場合、仮想アンカ選択ユニット1120は適切な選択基準も選択する。選択された1組の仮想アンカは信号経路1142を介してアンカ情報配布ユニット1130に通知される。アンカ情報配布ユニット1130は、受信者用の仮想アンカとして動作している1組の移動ノード、指定の仮想アンカに関連する無線送信の推定位置及び観測パラメータ、並びにそのために受信者が仮想アンカとして動作している1組のノードを含むアンカ情報メッセージをそれぞれのターゲット移動ノードに送信する。第1のノードが第2のノード用の仮想アンカとして動作している場合に、第2のノードが第1のノード用の仮想アンカとしても動作するような仮想アンカ選択アルゴリズムが可能である。この場合、受信者用の仮想アンカとして動作している1組の移動ノードをアンカ情報メッセージで単純に指定することは、それが同じ1組の移動ノード用の仮想アンカとしても動作することを受信者に把握させるために十分である。
【0081】
移動ノードの機能アーキテクチャ1150は、状況収集ユニット1115と、アンカ情報収集ユニット1125と、無線送信観測ユニット1160と、位置推定ユニット1135と、状況配布及びパラメータ報告ユニット1170と、無線通信ユニット1180とを含む。無線通信ユニット1180は、ノードが無線で通信するために必要なハードウェア回路、ファームウェア・ドライバ、及びソフトウェア・プロトコル・スタックを表している。信号経路1196を使用して、無線送信観測ユニット1160は無線通信ユニット1180から無線送信のパラメータを抽出することができる。無線送信観測ユニット1160によって抽出されたパラメータは、他の局又はアクセスポイントから受信した送信のRSSIを含むことができる。これらのパラメータは信号経路1193により位置推定ユニット1135に渡すことができ、サーバに報告するために信号経路1194により状況配布及びパラメータ報告ユニット1170に渡すことができる。状況収集ユニット1115は他のノードから受信した状況メッセージから抽出した他のノードの更新した位置を収集し記憶する。受信した状況メッセージは信号経路1194を介して無線通信ユニット1180から渡される。次に、更新した位置は、位置推定の洗練のために位置推定ユニット1135により信号経路1191から取り出すことができる。アンカ情報収集ユニット1125はサーバから受信したアンカ情報メッセージから抽出したその仮想アンカに関連する無線送信の観測パラメータを収集し記憶する。受信したアンカ情報メッセージは信号経路1195を介して無線通信ユニット1180から渡される。次に、アンカ情報は、位置推定のために位置推定ユニット1135により信号経路1192から取り出すことができる。位置推定ユニット1135は、観測パラメータ及び選択した1組の仮想アンカを使用して、指定のターゲット・ノードの位置を推定する。これは、前述した推定方法のいずれか1つを使用することができる。その推定位置は、他の移動ノードに状況メッセージを送信するために信号経路1190により状況配布及びパラメータ報告ユニット1170に渡すことができる。状況配布及びパラメータ報告ユニット1170は、現在の推定位置を含む状況メッセージを他のノードに送信する。前に述べたように、これは、推定位置の大幅な変化がある際に実行することができる。また、状況配布及びパラメータ報告ユニット1170は、無線送信の観測パラメータ(信号経路1194を介して無線送信観測ユニット1160から取り出されたもの)及び現在の推定位置を含む報告メッセージをサーバに送信する。前に述べたように、これは、サーバから要求メッセージを受信したことに応答して実行するか、あるいは定期的なタイマによりトリガすることができる。信号経路1197により、状況配布及びパラメータ報告ユニット1170は無線通信ユニット1180から状況メッセージ又は報告メッセージを送信することができる。
【0082】
上記の好ましい諸実施形態は、位置システムをどのように実現できるかについて異なる概要を示している。ここで、集中処理モデルを使用する特定の実現例について説明する。この特定の実現例では、システム内に存在するノードのタイプに応じて、3つの動作モードがある。1つのタイプのノードは、IEE802.11無線ローカル・エリア・ネットワークの独立基本サービス・セット(IBSS)と拡張サービス・セット(ESS)の両方のモードで動作できるものである。このようなノードは完全クライアント・ノード(full client node)と呼ぶ。もう1つのタイプのノードは、拡張サービス・セット・モードでのみ動作できるものである。このようなノードは単純クライアント・ノード(simple client node)又は単にクライアント・ノードと呼ぶ。完全クライアント・ノードは、IBSSモードでアクセスポイントからのビーコン送信のRSSIをモニターすることに加えて、IBSSモードで動作している他の完全クライアント・ノードからの無線送信のRSSIをモニターすることができる。単純クライアント・ノードは、ビーコン送信のRSSIのみをモニターすることができる。注目すべきポイントの1つは、IBSSモードでは移動局からもビーコンが送信されることである。このようなビーコンは単純クライアント・ノードでもモニターすることができる。しかし、IBSSモードのノードのデータ・メッセージの通常の送信は単純クライアント・ノードではモニターすることができない。IBSSモードが一般にアドホック・モードとも呼ばれ、ESSモードが一般にインフラストラクチャ・モードと呼ばれることにも注目されたい。
【0083】
システム内に存在するノードのタイプに応じて、この実現例は、純粋アドホック・モード、インフラストラクチャ専用モード、及びハイブリッド・モードという3通りのモードで動作することができる。純粋アドホック・モードでは、システムは完全クライアント・ノードのみで構成される。このため、無線通信はIBSSモードで動作することになり、
図12は純粋アドホック・モード動作のメッセージ・シーケンス図を示している。ここで、一例として
図1に描写されている配備シナリオを使用し、ノード120、121、122、及び123は完全クライアント・ノードであると想定される。
【0084】
初めに、サーバ100はプロセス1210として
図12に示されている構成を読み込む。現在の動作環境に基づいてオペレータからのファイル又は入力をロードすることにより、構成を実行することができる。この構成は、無線送信パラメータ収集間の初期間隔、使用すべき仮想アンカ選択基準のタイプ(前に述べたように、近接度に基づくもの、重みの線形集合に基づくものなど、複数の選択基準が存在する可能性がある)、使用すべき初期送信出力、既知の固定アンカの位置及び動作パラメータ(例えば、SSID、頻度)など、いくつかのシステム・パラメータを設定する。それぞれの完全クライアント・ノードがシステムに入ると、それらはサーバ100に登録する。これは、それぞれノード120、121、122、及び123によって送信される登録メッセージ1220、1224、1228、及び1232によって示されている。それぞれの登録メッセージは、送信者の機能(送信者が完全クライアント・ノードであるなど)、送信者のID(人間が読める名前及び媒体アクセス制御アドレスなど)、送信者に関連するその他の情報(例えば、送信者が永久仮想アンカである場合など、既知の場合の送信者の位置)をサーバに示す。それぞれの登録メッセージに応答して、サーバ100は登録メッセージの内容に基づいてそのノード・データベースを更新し、登録メッセージの送信者に情報メッセージを返送する。これは、それぞれノード120、121、122、及び123に送信される情報メッセージ1222、1226、1230、及び1234として
図12に示されている。それぞれの情報メッセージは、サーバによって受信者に割り当てられた固有のIDと、そのIPアドレス及び固有のIDなどサーバによって把握されているノードの詳細と、ノード・データベースに関連するシーケンス番号とを含む。このシーケンス番号は、完全クライアント・ノードによって送信されるその後のすべてのメッセージに含まれる。これにより、サーバはノードによって把握されているシーケンス番号とノード・データベースに関するそれ自体の現在のシーケンス番号とを比較することができ、その結果、サーバはそのノードに最新情報が通知されているかどうかを把握する。ノード・データベースが更新されるたびに、シーケンス番号は増分される。このため、サーバがノード・データベースに関するその現在のシーケンス番号とは異なるシーケンス番号を含むメッセージを受信した場合、サーバはそのメッセージの送信者がシステム内の現在のノードについて、更新されていない情報を持っていることを把握する。次に、サーバは新しい情報メッセージで送信者を更新する。これは、メッセージ1260及び1262として
図12に示されている。観測値を報告する場合、ノード120はその現在のシーケンス番号もメッセージ1260に含める。サーバ100はメッセージ1260に含まれるシーケンス番号を比較し、それがノード・データベースの現在のシーケンス番号と異なることに気付く。このため、サーバ100は情報メッセージ1262でノード120を更新する。シーケンス番号はセキュリティ対策としても使用することができ、従って、無効(例えば、通常の範囲外)であるシーケンス番号をサーバが受信した場合、サーバはオペレータに警告する。
【0085】
情報メッセージは、無線送信パラメータ収集の間隔及び使用すべき送信出力などの他の動作パラメータを通知する。動作パラメータが把握されると、完全クライアント・ノードは、定期的なダミー・メッセージ(ノード121によって送信されるダミー・メッセージ1240、1242、1244、及びノード122によって送信されるダミー・メッセージ1250、1252、1254など)を送信すべき時期、並びに観測無線送信パラメータ(ノード120によって送信される観測値メッセージ1260及びノード123によって送信されるメッセージ1270として
図12に示されている)をサーバに報告すべき時期を把握する。
【0086】
無線送信の間隔及び使用すべき送信出力に関するパラメータはその構成についてクライアント・ノード又は仮想アンカポイントごとに用意することができ、そのクライアント・ノード又は仮想アンカ・ノードがパラメータを受信し、そのパラメータに基づいて他のノードのすべてに送信されるダミー・メッセージについて間隔及び/又は送信出力を調整するようになっている。また、パラメータは応答の間隔も含むことができ、そのパラメータで受信され構成されたノードは、受信するか、RSSを測定するか、又はサーバに観測値を送信するための間隔を調整し、例えば、ダミー・メッセージを3回受信するごとに1回にすることができる。
【0087】
その他の事例では、サーバからパラメータを受信するノード(クライアント・ノード又は仮想アンカ・ノード)から送信すべきダミー・メッセージのターゲットになるターゲット・クライアント・ノード又はターゲット仮想アンカポイントごとにパラメータを用意することができる。このノードは、パラメータ内の構成に基づいて特定の間隔及び/又は送信出力でターゲットのそれぞれにダミー・メッセージを送信する。
【0088】
インフラストラクチャ専用モードでは、システムは単純クライアント・ノードのみで構成される。このため、無線通信はESSモードで動作することになり、
図13はインフラストラクチャ専用モード動作のメッセージ・シーケンス図を示している。ここで、一例として
図1に描写されている配備シナリオを使用し、ノード124及び125は単純クライアント・ノードであると想定され、ノード110及び114はアンカ・ノードとして動作するアクセスポイントである。
【0089】
初めに、サーバ100はプロセス1310として
図13に示されている構成を読み込む。純粋アドホック・モードの場合と同様に、この構成は、無線送信パラメータ収集間の初期間隔、使用すべき初期送信出力、既知の固定アンカの位置及び動作パラメータ(例えば、SSID、頻度)など、いくつかのシステム・パラメータを設定する。それぞれの単純クライアント・ノードがシステムに入ると、それらはサーバ100に登録する。これは、それぞれノード124及び125によって送信される登録メッセージ1320及び1324によって示されている。それぞれの登録メッセージは、送信者の機能(送信者が単純クライアント・ノードであるなど)、送信者のID(人間が読める名前及び媒体アクセス制御アドレスなど)、送信者に関連するその他の情報(例えば、送信者の現在の送信出力)をサーバに示す。純粋アドホック・モードの場合と同様に、それぞれの登録メッセージに応答して、サーバ100は登録メッセージの内容に基づいてそのノード・データベースを更新し、登録メッセージの送信者に情報メッセージを返送する。これは、それぞれノード124及び125に送信される情報メッセージ1322及び1326として
図13に示されている。それぞれの情報メッセージに含まれる情報は、純粋アドホック・モードの場合について述べたものと同様である。
【0090】
また、情報メッセージは、無線送信パラメータ収集の間隔などの動作パラメータも含む。動作パラメータが把握されると、単純クライアント・ノードは、アンカ・ノードによって送信されるビーコン(アンカ・ノード110によって送信されるビーコン1350及び1351並びにアンカ・ノード114によって送信されるビーコン1360及び1361など)のモニターを開始すべき時期並びに観測無線送信パラメータをサーバに報告すべき時期(ビーコン・モニター・プロセス1330の後にノード124によって送信される観測値メッセージ1332及びビーコン・モニター・プロセス1340の後にノード125によって送信されるメッセージ1342として
図13に示されているもの)を把握する。
図13にはそれぞれのアンカ・ノードから送信されるものとして2つのビーコンのみが示されているが、アクセスポイントは頻繁に(典型的に100ms当たり1つのビーコンの範囲で)ビーコンを送信していることを認識すべきであることに注目されたい。アンカ・ノードがサーバによって制御できる場合、サーバは実際には、そのビーコン送信が単純クライアント・ノードのモニター・プロセスと一致するようにアンカ・ノードを構成することができる。
【0091】
ハイブリッド・モードの場合、システムは完全クライアント・ノードと単純クライアント・ノードの両方で構成される。この場合、無線通信はESSモードで動作することになり、完全クライアント・ノードは定期的にIBSSモードに切り替わるか又は単純クライアントによってモニターできるビーコンをIBSSモードで送信できるようにするための他の通信インターフェースを備えることになる。すべての完全クライアント・ノードが同じサービス・セットID(SSID)に関連付けられる純粋アドホック・モードとは異なり、ハイブリッド・モードの場合、それぞれの完全クライアント・ノードは、IBSSモードで動作する際に固有のSSIDを使用する。これは、IBSSモードでは、SSIDあたり1つのノードのみがビーコンを送信しているからである。ここで、すべての完全クライアント・ノードがビーコンを送信していることを希望する(単純クライアント・ノードがビーコンのRSSIをモニターできるようにするため)ので、その完全クライアント・ノードのそれぞれは、おそらくサーバによって割り当てられ、情報提供(
図14のステップ1422、1426、1430)中に提供される、固有のSSIDを使用している。割り当てられたSSIDは、モニターすべきSSIDによって単純クライアントを容易に識別できるように、サーバからの情報提供中に単純クライアントに提供することもできる。これは、モニター・オーバヘッドを回避し、その結果、測位のための時間を短縮することになるであろう。単純クライアントに提供されたSSIDは、それにより単純クライアントがアクセスするアンカポイント周辺のエリアに基づいて配置することができる。さらに、(IBSSモードでの送信の方がより多くの電力を消費するので)バッテリ電力を節約して使用するために完全クライアントが単純クライアントに変化することも可能である。
図14はハイブリッド・モード動作のメッセージ・シーケンス図を示している。ここで、一例として
図1に描写されている配備シナリオを使用し、ノード120及び121は完全クライアント・ノードであると想定され、ノード125は単純クライアント・ノードであると想定され、ノード114はアンカ・ノードとして動作するアクセスポイントであると想定される。
【0092】
初めに、サーバ100はプロセス1410として
図14に示されている構成を読み込む。純粋アドホック・モード及びインフラストラクチャ専用モードの場合と同様に、この構成ファイルは、無線送信パラメータ収集間の初期間隔、使用すべき仮想アンカ選択基準のタイプなど、いくつかのシステム・パラメータを設定する。それぞれのノードがシステムに入ると、それらはサーバ100に登録する。これは、それぞれノード120、121、及び125によって送信される登録メッセージ1420、1424、及び1428によって示されている。それぞれの登録メッセージは、送信者の機能(送信者が単純クライアント・ノード又は完全クライアント・ノードであるなど)、送信者のID(人間が読める名前及び媒体アクセス制御アドレスなど)、送信者に関連するその他の情報(例えば、送信者が永久仮想アンカである場合など、既知の場合の送信者の位置)をサーバに示す。純粋アドホック・モード及びインフラストラクチャ専用モードの場合と同様に、それぞれの登録メッセージに応答して、サーバ100は登録メッセージの内容に基づいてそのノード・データベースを更新し、登録メッセージの送信者に情報メッセージを返送する。これは、それぞれノード120、121、及び125に送信される情報メッセージ1422、1426、及び1430として
図14に示されている。それぞれの情報メッセージに含まれる情報は、純粋アドホック・モード及びインフラストラクチャ専用モードの場合について述べたものと同様である。情報メッセージは、アンカ・ノード及び完全クライアント・ノードによって使用されるSSIDを含む、モニターすべきSSIDも含む。このメッセージは、SSIDに加えて、それぞれのSSIDに関するアンカ・ノードのタイプ又はモード(例えば、アドホック・モード、インフラストラクチャ・モード)を示す情報を更に含むことができ、その情報を受信したクライアントが通知されたSSIDをモニターするために適切なモード(アドホック又はインフラストラクチャ)を構成することができる。
【0093】
また、情報メッセージは、無線送信パラメータ収集の間隔及び使用すべき無線送信の出力などの他の動作パラメータも含む。動作パラメータが把握されると、完全クライアント・ノードは、IBSSモードに切り替わるべき時期及び/又はビーコン送信のためにそのモードを保持すべき長さ(それぞれノード120及び121に関するプロセス1440及び1450として
図14に示されているもの)を把握することになり、完全及び単純クライアント・ノードは、ビーコン(プロセス1440でIBSS動作中に完全クライアント・ノード120によって送信されるビーコン1441及び1442、プロセス1450でIBSS動作中に完全クライアント・ノード121によって送信されるビーコン1451及び1452、アンカ・ノード114によって送信されるビーコン1471、1472、及び1473など)のモニターを開始すべき時期及び/又はそのモニターを保持すべき長さ、並びに観測無線送信パラメータをサーバに報告すべき時期(及び/又は期限)(ビーコン・モニター・プロセス1440の後にノード120によって送信される観測値メッセージ1480、ビーコン・モニター・プロセス1450の後にノード121によって送信される観測値メッセージ1484、及びビーコン・モニター・プロセス1460の後にノード125によって送信される観測値メッセージ1486として
図14に示されているもの)を把握する。このように、クライアントはクライアントの移動性の面から適切な位置正確度及び電力消費量で管理することができる。例えば、移動性が高いクライアントをより精密に検出できるように、サーバはそのクライアントに対し、モニター及び報告のためにより短い間隔(すなわち、頻繁にモニターし報告すること)を示すことができる。その他の事例では、特定の場所で移動性が低いか又はほとんど固定したクライアント(例えば、その停止によりしばらくの間、移動性無し)の場合、サーバは、そのクライアントがバッテリ消費量を削減できるように、モニター及び報告のためにより長い間隔(すなわち、より低い頻度)を示すことができる。
【0094】
図14にはアンカ・ノード114から送信されるものとして2つのビーコンのみが示されているが、アクセスポイントは頻繁に(典型的に100msあたり1つのビーコンの範囲で)ビーコンを送信していることを認識すべきであることに注目されたい。アンカ・ノードがサーバによって制御できる(例えば、サーバが、その制御下にあり、固定回線又は他の無線接続を介してそのコントローラに接続されている無線アクセスポイント上で、例えば、周波数、送信出力、アンテナ角度などを制御し構成するための無線アクセスポイント・コントローラである)場合、サーバは実際には、そのビーコン送信が単純及び完全クライアント・ノードのモニター・プロセスと一致するようにアンカ・ノードを構成することができる。また、完全クライアント・ノードのビーコン・モニター及びIBSS動作が同じプロセスで実行されることにも注目されたい。
【0095】
上記の実現例は、3つのモードのいずれでシステムが動作しているかにかかわらず、サーバ、単純クライアント・ノード、及び完全クライアント・ノードの動作が同様になるように設計されている。
図15Aは完全/単純クライアント・ノードの動作を管理する状態機械について記述し、
図15Bはサーバがノードの1つからメッセージを受信した際に必要な処理を管理するフロー図を示している。
【0096】
図15Aでは、クライアント・ノードの初期状態は未登録(UNREGISTERED)状態S1500にある。この未登録状態では、クライアントはまだサーバに登録する必要がある。何らかのタイムアウト後、この状態のクライアントは、登録メッセージを送信することによりサーバに登録しようと試みる。登録が不成功の場合、未登録状態S1500に戻る状態遷移T1502が行われる。これに対して、登録が成功した(例えば、クライアントが情報メッセージを受信した)場合、クライアントを登録済み(REGISTERED)状態S1510にする状態遷移T1504が行われる。これは、登録済みクライアントが入る通常の状態である。タイムアウトが満了すると、クライアントを走査(SCANNING)状態S1520にする状態遷移T1512が行われる。このタイムアウト間隔は情報メッセージでサーバにより事前構成又は指定することができる。この状態の単純クライアントはサーバによって指定されたSSIDとともに送信されるビーコンをモニターする。この状態の完全クライアントはさらにIBSSモードに切り替わる。走査が完了すると、クライアントを報告(REPORTING)状態S1530にする状態遷移T1522が行われる。この状態でクライアントはサーバに報告メッセージを送信し、走査状態中に走査した観測無線送信パラメータを通知する。報告が成功した場合、クライアントは状態遷移T1532で登録済み状態S1510に戻る。報告が不成功の場合、クライアントは状態遷移T1534で未登録状態S1500に移行する。状態遷移T1534は、指定の回数の不成功報告試行が行われた後でのみ行うことができる。
【0097】
図15Bは、ステップ1540でサーバが完全/単純クライアント・ノードからメッセージを受信する際のフロー図を示している。まず、ステップ1550でメッセージのタイプがチェックされる。受信したメッセージが登録メッセージである場合、サーバは、登録メッセージに含まれる情報でノード・データベースを更新するためにステップ1560を実行する。これは、ノード・データベースに関連するシーケンス番号を増分することも含む。次に、現在、システム内にあるノードに関する情報及び動作パラメータ(無線送信パラメータ収集の間隔など)を含む情報メッセージが送信者に送信されるステップ1590が実行される。これに対して、受信したメッセージが、無線送信パラメータ(例えば、RSSI)の観測値を含む報告メッセージである場合、報告された観測値を使用してサーバが統計を更新するステップ1570が行われる。受信したメッセージは送信者にとって既知のシーケンス番号も含む。その場合、サーバはステップ1580でノード・データベースに関連する現在のシーケンス番号と照らし合わせてこのシーケンス番号をチェックする。2つのシーケンス番号が等しくない場合、サーバは最新情報で送信者を更新するためにステップ1590を実行する。
【0098】
本発明の適用性は極めて多様であり得る。あるタイプの適用例は、施設所有者によって顧客に提供される位置ベースのサービスに関するものである。例えば、ショッピング・モールは、その常連客に対してモール・ナビゲーション・サービスを提供し、常連客の無線装置(スマートフォン、携帯情報端末など)上に常連客の現在位置から特定の店舗に到達する方法に関する指示を示したいと希望する可能性がある。また、このモールは、常連客がモール内の何らかの特定のポイントに到達した際に常連客の無線装置に対して近くの店舗の電子割引券のような特別取引を発行したいと希望する可能性もある。もう1つの例は、列車の運転士が乗客に対して位置ベースのサービスを提供することである。これは、列車の駅内のナビゲーション(あるプラットフォームから他のプラットフォームに到着する方法など)を伴い、列車内の乗客の位置に基づいて最も近いエレベータがどこに位置するかなど、列車内の乗客に対して目的地の駅情報を提供することができる。また、これは、列車の運転士が、障害のある人など、特別な支援を必要とする乗客に注目するために使用することもできる。位置推定システムは、接近する列車内のこのような乗客の現在位置に基づいて、このような乗客の正確な位置及びこのような乗客の正確な降車ポイントについて、駅の従業員に通知することができる。このように、駅の従業員は特別な要望がある乗客を支援するために前もって準備することができる。また、これは、人々の待ち合わせを支援するためのアプリケーションとしても使用することができる。多くの人は、便宜上、列車の駅で他の人と待ち合わせすることを選択する。しかし、特に主要な駅では人の通行量が膨大であるので、2人の人が異なるポイントで互いに待っている可能性がある。列車の駅のオペレータは、乗客がランデブー・サービスに登録するためのサービスを提供し、ランデブー・サービスに登録した人に個人の位置を提供することができる。このタイプのアプリケーションの場合、施設所有者は、顧客が自分の無線装置上にアプリケーションをインストールするために何らかの動機付けを提供する必要がある。このアプリケーションは、(集中処理モデルで)位置推定サーバに無線送信の観測パラメータを報告するために本発明に記載された無線通信ノード機能を実行するか又は(分散処理モデルで)それ自体の位置推定を実行する。このような動機付けは、コンテンツにアクセスするために施設内に設置された無線アクセスポイントを使用すること(例えば、常連客がインターネットにアクセスするためにショッピング・モール内に設けられたホットスポットを使用すること又は乗客が列車の運転士によって提供されたコンテンツにアクセスするために列車上に設置された無線アクセスポイントを使用すること)の利点あるいは施設内を移動できる能力を含む場合もあれば、屋内エリア又は位置に関する特別なサービスが顧客に提供される場合もある(例えば、障害のある乗客の場合)。
【0099】
時には、無線通信ノードを含むシステム全体が同じ管轄下にある場合、このような動機付けは不要である。例えば、指令所の指揮官に対しその部隊の実際の位置を提示するために軍事又は法執行機関によって位置推定システムが使用される可能性がある。GPSの信頼性が散発的になる可能性がある都市の密集環境では、本発明は特に有用である。このような場合、それぞれの兵士又は法執行官は、本発明に記載された機能を実行する無線通信装置を装備することができる。もう1つの例は、学校の構内で学生の位置を推定する場合である。学校側は、学生の無線装置上に位置推定アプリケーションのインストールを義務づけることができる。さらに他の例は、病院が患者に対して無線対応タグ(リストバンドなど)を発行することである。これは、患者の生体統計(心拍数など)をモニターできるだけでなく、医師及び看護師が患者の位置を特定することもできる。また、乗客が測位システムと通信する装置を携帯する必要がない場合、列車の駅もこのカテゴリに入る可能性がある。例えば、列車の駅は、突然の出来事(乗客がプラットフォームの端に近づきすぎるなど)が発生したかどうかをモニターするセキュリティ・カメラを設置している可能性がある。このようなセキュリティ・カメラは、鉄道の駅の職員が携帯する装置にビデオを直接流すために無線送信機能を有する可能性がある。この場合、記載されている測位システムを使用して、鉄道の駅の職員の位置を推定することができる。突然の出来事が発生した場合、システムはその出来事に最も近い職員に警告することができる。システムは、セキュリティ・カメラのモニター角度上でその位置が検出された乗客の装置にも警告することができる。このようにして、鉄道の駅の職員は前もって事故を回避することができ、乗客にも事故に先だって安全のために一歩下がるよう通知することができる。
【0100】
もう1つの可能な適用例は視聴覚装置の場合である。本発明は、遠隔制御装置、TV、及びその他の家庭電化製品の相対位置を把握できるように、これらの家庭電化製品上に実現することができる。ユニバーサル遠隔制御装置(専用装置にするか又はスマートフォンにインストールされるアプリケーションにすることができる)の場合、この制御装置は、その制御下にある電化製品の実際の物理的レイアウトと一貫しているように、その電化製品を2次元画面上に表示し、より自然なインターフェースをユーザに提供することができる。もう1つの使用法は、ハードコード化ではなくその推定位置に基づいて、適切なオーディオ・チャネル(左前方又は右後方など)が異なるスピーカに流される、ワイヤレス・サラウンド・スピーカ・システムの場合などである。これは、スピーカ上のラベルに注意する必要無しにスピーカを配置できるユーザに対して柔軟性を与えるものである。さらに他の可能性は、複数のユーザによって共用されている大型画面がその画面に対するユーザの相対位置に応じてそれぞれのユーザに適したコンテンツを表示できることである。この適用例では、それぞれのユーザは画面と対話するために無線装置(スマートフォン又は専用コントローラなど)を保持する。システムは、それぞれのユーザの無線装置の相対位置を推定し、ユーザの無線装置の位置に応じて、ある位置の画面上にそのユーザが要求したコンテンツを提示する。これは、デジタル看板の適用例で有用である可能性がある。
【0101】
さらに他の適用例は無線センサである可能性がある。センサ(温度、湿度、気圧、又は振動を測定するためのものなど)はより安価になり、無線で互いに通信する。それぞれの相対位置は本明細書に記載されているように推定することができる。これは、配備中にそれぞれのセンサの位置をオペレータが勤勉に記録する必要無しにセンサのマップを容易に構築するために使用することができる。関連の適用例は、対象物に埋め込まれる無線タグ(無線ID又はRFIDなど)である。上記のシステムにより、ソフトウェアでタグの位置(それにより対象物の位置)をモニターすることができる。これは、物流、倉庫貯蔵、並びに通常の家庭の分野で様々に適用することができる(所有者は、このシステムを使用して、電化製品用の遠隔制御装置などの対象物が間違った場所にある場合にそれがどこにあるかを特定することができる)。
【0102】
上記の適用例を実現するために、位置推定システムをアプリケーション・システムに統合することが必要である。
図16及び
図17は2つのこのような可能な統合例を示している。ここで、特定のアプリケーション(ナビゲーションなど)のためにクライアント・ノード120に対応するアプリケーション・サーバ100aが存在すると想定する。クライアント・ノード120の位置は位置サーバ100bによって推定される。
【0103】
図16に示されているように第1の形式の統合例では、プロセス1610によって示されるようにユーザがサービスを起動(例えば、ナビゲーション・ソフトウェアを始動)した場合のみ、クライアント・ノード120は位置サーバ100bに登録する。これは、登録メッセージ1620を位置サーバ100bに送信するようクライアント・ノード120をトリガする。位置サーバ100bがノード・データベースを更新し、情報メッセージ1622で応答した後、クライアント・ノード120はプロセス1630によって示されるように無線送信パラメータ収集を実行する。無線送信パラメータを収集すると、クライアント・ノード120はメッセージ1632で観測値を位置サーバ100bに送信する。その場合、位置サーバ100bは、プロセス1634によって示されるように収集した統計に基づいて位置推定を実行し、メッセージ1636でその推定位置をクライアント・ノード120に通知することになるであろう。その位置が把握されると、クライアント・ノード120は要求メッセージ1638でアプリケーション・サーバ100aからサービスを要求し始めることができる。この要求メッセージ1638はその推定位置を含むことになるであろう。次に、アプリケーション・サーバ100aはプロセス1640によって示されるように要求を処理し、応答メッセージ1642で結果を返す。
【0104】
この第1の形式の統合例は、アプリケーション・システムと位置推定システムとの緩やかな統合を示しており、2つのシステム間の通信はほとんど又は全く行われない。唯一の対話はクライアント・ノードによるものである。対照的に、
図17に示されている第2の形式の統合例では、アプリケーション・サーバと位置サーバが通信インターフェースを有する。初めに、(プロセス1710によって示されるように)クライアント・ノード120内のアプリケーションが起動され、クライアント・ノード120は登録メッセージ1720を送信することにより位置サーバ100bに登録する。位置サーバ100bがノード・データベースを更新し、情報メッセージ1722で応答した後、クライアント・ノード120はプロセス1730によって示されるように定期的な無線送信パラメータ収集を実行し、報告メッセージ1732で観測パラメータを位置サーバ100bに報告する。クライアント・ノード120上で実行されるアプリケーションでプロセス1740によって示されるように何らかのイベントが発生すると(タイムアウト又は何らかのユーザ・アクションが実行されるなど)、クライアント・ノード120はアプリケーション・サーバ100aからアプリケーション・サービスを要求する。これは要求メッセージ1742によって示される。この要求に対応するため、アプリケーション・サーバ100aはクライアント・ノード120の位置推定を必要とする。このため、位置要求メッセージ1744がアプリケーション・サーバ100aから位置サーバ100bに送信される。位置サーバ100bは、おそらく何らかの位置推定を実行した後、応答メッセージ1746に入れたクライアント・ノード120の位置で応答する。これにより、アプリケーション・サーバ100aはプロセス1750によって示されるようにサービス要求を完了し、応答メッセージ1752でクライアント・ノード120に応答することができる。
【0105】
図17には、定期的な無線送信パラメータ収集を実行するアプリケーションをクライアント・ノードが連続的に実行することが示されており、
図16には、ユーザ要求によってトリガされた場合のみ、クライアント・ノードが同じプロセスを実行することが示されている。どちらの動作もいずれかの形式の統合例で等しく適用可能であることを認識されたい。クライアント・ノード、位置サーバ、及びアプリケーション・サーバによって使用されるメッセージは、通常のUDPパケット、TCPパケット、又はセッション・トランスポート・メカニズムとしてのHTTPを使用してカプセル化することができる。
【0106】
クライアント・ノードは、携帯電話、携帯情報端末、ポータブル・メディア・プレーヤ、又はポータブル・ゲーム装置などのモバイル装置上で実現することができる。携帯電話上で実現される場合、セルラー・スタックの上部層が位置推定を制御又は照会できるようにするATコマンドを備えることが有用になるであろう。
【0107】
最も実用的で好ましい実施形態であると考えられるものにおいて本発明を示し説明してきたが、当業者であれば、本発明の範囲及び領域を逸脱せずに設計の詳細及びパラメータについて様々な変更が可能であることを認識するであろう。例えば、本発明は、主として、IEEE802.11ワイヤレス・クライアントの位置推定に使用されるものとして記載されている。当業者であれば、ZigBee/IEEE802.15.4、Bluetooth(登録商標)、ワイヤレス・ユニバーサル・シリアル・バス、無線周波、及び超広帯域無線を含むがこれらに限定されない任意の無線通信技術に同じ発明を適用できることを認識するであろう。本発明は、主として、一般的なワイヤレス・チップセットによって普遍的にサポートされているために、位置推定のための無線送信パラメータとしてRSSIを使用することに的を絞ってきた。当業者であれば、到着時間、到来角などの他のパラメータもその適用例の範囲内でサポートされる場合、本発明は、本発明の範囲及び領域を逸脱せずにこれらのパラメータを使用するように適用できることを認識するであろう。
【0108】
さらに、上記の本発明の諸実施形態の説明に使用される各機能ブロックは、典型的に集積回路によって表される、LSI(大規模集積回路)として実現することができる。これらは、1つのチップとして個別に生産するか又は一部又は全部を含むように1つのチップとして設計することができる。ここで、これはLSIと呼ばれるが、集積度に応じてIC、システムLSI、スーパーLSI、又はウルトラLSIと呼ぶこともできる。
【0109】
また、集積回路の技法はLSIのみに限定されず、専用回路又は汎用プロセッサとして実現することもできる。LSIの製造後にプログラミングすることができるFPGA(フィールド・プログラマブル・ゲート・アレイ)又はLSI内部の回路セルの接続又は設定を再構成することができる再構成可能プロセッサも使用することができる。
【0110】
さらに、半導体技法又はそこから派生したその他の技法の進歩により、LSIに取って代わる回路集積の技法が出現した際に、このような技法を使用することによって機能ブロックを集積することができる。例えば、バイオテクノロジーの適応はこのような可能性の1つである。