(57)【要約】位置が判明していない無線装置の位置を判定するため、位置が既に判明している無線装置に対して測位情報を求める要求信号が送信される。要求信号を受信したこれらの位置判明済みの無線装置は、測位情報を位置が判明していない無線装置に送信する。位置判明済み無線装置の数が不十分である場合は、追加の要求信号が送信される。一台または複数のその他の無線装置から要求に対する応答が受信されると、その応答のあった無線装置の少なくとも一部との通信が行われ、位置が判明していない無線装置と通信先である無線装置との間の距離に関連する情報が取得される。次に、他の応答のあった無線装置から取得された情報と位置判明済みの無線装置から受信された測位情報を使用して、位置が判明していない無線装置の位置が推定される。
2004516463.tif 000002
【特許請求の範囲】
【請求項１】
無線装置の位置判定方法において、
第一の無線装置の位置判定に使用する測位情報を求める要求信号を、位置が判明している複数の無線装置に送信し、
前記要求信号を受信した複数の無線装置が、測位情報を前記第一の無線装置に送信し、
前記第一の無線装置は、測位情報を受信した前記複数の無線装置の数が所定の数よりも少ない場合、第二の無線装置に対し応答を求める追加の要求信号を送信し、
前記第二の無線装置から要求に対する応答を受信して、
第一の無線装置と前記第二の無線装置の間の距離に関し、前記第二の無線装置の少なくとも一部と交信し、
前記位置が判明している複数の無線装置の少なくとも一部から取得した情報と、前記第二の無線装置から受信した測位情報を使用して、前記第一の無線装置の位置を推定することを特徴とする、無線装置の位置判定方法。
【請求項２】
前記第一の無線装置は、判定した位置情報を保存するメモリをさらに有することを特徴とする請求項１に記載の無線装置の位置判定方法。
【請求項３】
前記所定の数よりも多い無線装置から測位情報を受信している場合は、位置が判明している複数の無線装置から取得した情報を用いて、前記第一の無線装置の位置を判定することを特徴とする請求項１に記載の無線装置の位置判定方法。
【請求項４】
前記所定の数は、少なくとも三台の無線装置の位置が判明している場合であることを特徴とする請求項１に記載の無線装置の位置判定方法。
【請求項５】
前記要求信号の少なくとも一部が、符号化された情報であることを特徴とする請求項１に記載の無線装置の位置判定方法。
【請求項６】
前記追加の要求信号が、予め定められた回数で定期的に再送信されることを特徴とする請求項１に記載の無線装置の位置判定方法。
【請求項７】
前記追加の要求に対する応答として、受信された応答の数が不十分である場合に、より高い電力レベルで追加の要求信号が再送信されることを特徴とする請求項６に記載の無線装置の位置判定方法。
【請求項８】
前記第一の無線装置と、前記第二の無線装置の少なくとも一部との間の距離に関する取得情報は、前記第一の無線装置と、前記第二の無線装置の少なくとも一部との間の距離に関する情報、およびスケーリング因数が含まれることを特徴とする請求項１に記載の無線装置の位置判定方法。
【請求項９】
前記位置が判明している複数の無線装置の少なくとも一部から取得した情報を、前記第一の無線装置の内部クロック信号の更新に利用することを特徴とする請求項１に記載の無線装置の位置判定方法。
【請求項１０】
前記無線装置の少なくとも一部が、インパルスラジオ波を用いた機器であることを特徴とする請求項１に記載の無線装置の位置判定方法。
【請求項１１】
前記第一の無線装置が、前記位置が判明している複数の無線装置からの測位情報を受信しなかった場合に、
前記第一の無線装置の位置が、前記第二の無線装置の少なくとも一部から取得した情報を使用して定められることを特徴とする請求項１に記載の無線装置の位置判定方法。
【請求項１２】
無線装置の位置判定システムにおいて、
第一の無線装置の位置を判定するための測位情報を求める要求信号を、位置が判明している複数の無線装置に送信する回路と
前記要求信号を受信した複数の無線装置が、測位情報を前記第一の無線装置に送信する回路と、
前記第一の無線装置は、測位情報を受信した前記複数の無線装置の数が所定の数よりも少ない場合に、第二の無線装置に対し応答を求める追加の要求信号を送信する回路と、
前記第二の無線装置から要求に対する応答を受信する回路と、
前記第一の無線装置と、前記第二の無線端末との間の距離に関し、前記第二の無線装置の少なくとも一部と通信する回路と、
前記位置が判明している複数の無線装置の少なくとも一部から取得した情報と、
前記第二の無線装置から受信した測位情報を使用して、前記第一の無線装置の位置を推定する回路から構成される無線装置の位置判定システム。
【請求項１３】
前記第一の無線装置は、推定した位置情報を保存するメモリ回路を、さらに有することを特徴とする請求項１２に記載の無線装置の位置判定システム。
【請求項１４】
十分な数の無線装置から測位情報が受信された場合には、前記第二の無線装置から取得した情報から、前記第一の無線装置の位置を判定する回路を、さらに有することを特徴とする請求項１２に記載の無線装置の位置判定システム。
【請求項１５】
少なくとも三台の無線装置の測位情報が受信された場合に、前記十分な数の無線装置から測位情報が受信できることを特徴とする請求項１２に記載の無線装置の位置判定システム。
【請求項１６】
前記要求信号の少なくとも一部が、符号化された情報であることを特徴とする請求項１２に記載の無線装置の位置判定システム。
【請求項１７】
前記追加の要求信号が、予め定められた回数で定期的に再送信されることを特徴とする請求項１２に記載の無線装置の位置判定システム。
【請求項１８】
前記追加の要求に対する応答として、受信された応答の数が少ない場合に、より高い電力レベルで追加の要求信号が再送信されることを特徴とする請求項１７に記載の無線装置の位置判定システム。
【請求項１９】
前記第一の携帯型無線装置と、前記第二の無線装置の少なくとも一部との間の距離に関する取得情報は、前記第一の無線装置と、前記第二の無線装置の少なくとも一部との間の距離に関する情報、およびスケーリング因数が含まれることを特徴とする請求項１２に記載の無線装置の位置判定システム。
【請求項２０】
前記位置が判明している複数の無線装置の少なくとも一部から取得した情報を、前記第一の無線装置の内部クロック信号の更新に利用する回路を、さらに有することを特徴とする請求項１２に記載の無線装置の位置判定システム。
【請求項２１】
前記無線装置の少なくとも一部が、インパルスラジオ波を用いた機器であることことを特徴とする請求項１２に記載の無線装置の位置判定システム。
【請求項２２】
前記第一の無線装置が、前記位置が判明している複数の無線装置からの測位情報を受信しなかった場合に、
前記第一の無線装置の位置が、前記第二の無線装置の少なくとも一部から取得した情報を使用して推定されることを特徴とする請求項１２に記載の無線装置の位置判定システム。
【請求項２３】
無線装置の位置の判定プログラムにおいて、
コンピュータを、
第一の無線装置の位置の判定に使用する測位情報を求める要求信号を、位置が判明している複数の無線装置に送信させ、
前記要求信号を受信した複数の無線装置に、測位情報を前記第一の無線装置に送信させ、
前記第一の無線装置は、測位情報を受信した前記複数の無線装置の数が所定の数よりも少ない場合、第二の無線装置に対し応答を求める追加の要求信号を送信させ、
前記第二の無線装置から要求に対する応答を受信させ、
第一の無線装置と前記第二の無線装置の間の距離に関し、前記第二の無線装置の少なくとも一部と交信させ、
前記位置が判明している複数の無線装置の少なくとも一部から取得した情報と、前記第二の無線装置から受信した測位情報を使用して、前記第一の無線装置の位置を推定させることができる、無線装置の位置判定プログラム。
【請求項２４】
前記第一の無線装置に、判定した位置情報を保存させることを特徴とする請求項２３に記載の無線装置の位置判定プログラム。
【請求項２５】
前記所定の数よりも多い無線装置から測位情報を受信している場合は、位置が判明している複数の無線装置から取得した情報を用いて、前記第一の無線装置の位置を判定させることを特徴とする請求項２３に記載の無線装置の位置判定プログラム。
【請求項２６】
前記所定の数は、少なくとも三台の無線装置の位置が判明している場合であることを特徴とする請求項２３に記載の無線装置の位置判定プログラム。
【請求項２７】
前記要求信号の少なくとも一部が、符号化された情報であることを特徴とする請求項２３に記載の無線装置の位置判定プログラム。
【請求項２８】
前記追加の要求信号が、予め定められた回数で定期的に再送信されることを特徴とする請求項２３に記載の無線装置の位置判定プログラム。
【請求項２９】
前記追加の要求に対する応答として、受信された応答の数が不十分である場合に、より高い電力レベルで追加の要求信号が再送信させることを特徴とする請求項２８に記載の無線装置の位置判定プログラム。
【請求項３０】
前記第一の無線装置と、前記第二の無線装置の少なくとも一部との間の距離に関する取得情報は、前記第一の無線装置と、前記第二の無線装置の少なくとも一部との間の距離に関する情報、およびスケーリング因数が含まれることを特徴とする請求項２３に記載の無線装置の位置判定プログラム。
【請求項３１】
前記位置が判明している複数の無線装置の少なくとも一部から取得した情報を、前記第一の無線装置の内部クロック信号の更新に利用させることを特徴とする請求項２３に記載の無線装置の位置判定プログラム。
【請求項３２】
前記無線装置の少なくとも一部が、インパルスラジオ波を用いた機器であることを特徴とする請求項２３に記載の無線装置の位置判定プログラム。
【請求項３３】
前記第一の無線装置が、前記位置が判明している複数の無線装置からの測位情報を受信しなかった場合に、
前記第一の無線装置の位置が、前記第二の無線装置の少なくとも一部から取得した情報を使用して定められるように構成することを特徴とする請求項２３に記載の無線装置の位置判定プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、無線通信システムにおけるものである。具体的には、本発明は超広帯域（ＵＷＢ＝ウルトラワイドバンド）トランシーバの正確な地理的測位に関連するものである。
【０００２】
【従来の技術】
超広帯域通信のシステムおよび装置は、超広帯域技術が持つ地理的測位の正確性により多大な影響を与える可能性がある。また、これとは別の問題であるが、米国のＦＣＣ（Ｆｅｄｅｒａｌ Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ Ｃｏｍｍｉｓｓｉｏｎ；連邦通信委員会）は最近、緊急時の対応を目的として、セルラー電話の地理的測位を可能にする何らかの手段の採用を、既存のすべてのセルラー技術供給者に義務付けている。「ｅ９１１」と呼ばれるこの提案は、将来のセルラー技術に関する要求条件の一つとなるものである。従って、将来の超広帯域装置に対しても同じ要求が行われると予想される。
【０００３】
【発明が解決しようとする課題】
従来、超広帯域の地理的位置情報は、既知の固定位置を持つ三本の超広帯域送信塔から送信される信号の三角測量により取得できると考えられてきた。しかし、モバイル超広帯域装置が必ずしも三本の固定式送信塔の通信範囲内にあるとは限らない。このような状況において、従来の方式ではその超広帯域装置の地理的位置（地理的場所）を判定できない。
【０００４】
従って、位置が判明している、他のモバイル超広帯域装置を利用して位置を推定できれば、このような状況において測位に成功する可能性が高まり有意義といえる。
【０００５】
【課題を解決するための手段】
本願は、無線通信システム内の無線装置の位置を判定するための方法、システムおよびプログラムを提案する。すなわち、位置が判明していない第一のモバイル無線装置の位置を判定するため、位置が判明している複数の無線装置に測位情報の要求信号が送信される。要求信号を受信するこれらの位置判明済みの無線装置は、それに応えて測位情報を第一のモバイル無線装置に送信する。
【０００６】
第一のモバイル無線装置は、測位情報を受信した位置判明済み無線装置の数が不十分である場合、その他の有応答無線装置からの応答を得るために追加要求が送信される。その要求に対する一台または複数のその他の無線装置からの応答を受信した後、応答のある無線装置の少なくとも一部との通信が開始され、第一のモバイル無線装置とそれが通信を行っている応答中の無線装置との間の距離に関連する情報が取得される。その他の有応答無線装置は、自らの地理的位置をより多くの位置判明済み装置に問合せることにより要求に応答することもあるので、臨時のネットワークを通じて伝達可能とする要求信号を作成することがある。
【０００７】
それ以外の状況であれば、第一のモバイル無線装置に対して単純に距離を知らせる。こうした状況の一つとして、第一のモバイル無線装置を持って迷子となった子供と、それぞれ応答する無線装置を持った数名の捜索者の例が挙げる。この例では、捜索者は子供の地理的位置でなく、各捜索者からの子供の距離に関心を持っている。
このシナリオにおいて、子供の発見に唯一必要であるのは地理的基準のない局地的三角測量である。従って、その他の有応答無線装置から取得した（距離または位置の）情報と、位置の判明している無線装置から受信した測位情報を使用して第一のモバイル無線装置の位置を推定する。
【０００８】
本実施例において、無線装置の少なくとも一部はインパルスラジオ装置であってもよい。本実施例において、位置の判明している十分な数の無線装置は、位置の判明している三台以上の無線装置であってもよい。本発明のさらに別の一面において、送信される要求の少なくとも一部はコード付きであってもよい。
【０００９】
本発明のさらに別の一面において、追加要求は事前に決定された回数で定期的に再送信されてもよい。この面に関し、前回の追加要求の送信に対して受信される応答の数が不十分である場合に、追加要求はより高い電力レベルで再送信されてもよい。本発明のさらに別の一面において、第一のモバイル無線装置とその他の有応答無線装置の一部との間の距離に関連する取得情報は、第一のモバイル無線装置とその他の有応答無線装置の一部との間の計算上の距離とスケーリング因数を含むものであってもよい。
【００１０】
本発明の一つの実施例において、推定された位置は第一のモバイル無線装置のメモリに保存されてもよい。本発明の別の実施例において、取得された情報は第一のモバイル無線装置が持つ内部クロックの更新に利用されてもよい。
【００１１】
本発明のさらに別の実施例において、測位情報が受信された位置判明済み無線装置の数が不十分である場合、第一のモバイル無線装置の位置はその位置判明済み無線装置から取得された情報のみを利用して判定されてもよい。本発明のさらに別の実施例において、位置判明済み無線装置からの測位情報をまったく受信しなかった場合、第一のモバイル無線装置の位置はその他の有応答無線装置の一部から取得された情報のみを使用して推定されてもよい。
【００１２】
【発明の実施の形態】
本発明は、判明している一台または複数のモバイル無線装置（実施例においては、超広帯域装置）の地理的位置を使用して、ベース局や送信塔など三台の固定式無線装置の地理的通信範囲内にない、別のモバイル無線装置の位置を三角測量するものである。
ここでいう位置判明済みモバイル無線装置とは、必ずしもハンドヘルド式のモバイル装置とは限られない。すなわち本発明において、無線装置には、モバイル電話の超広帯域コンポーネント、モバイル・インターネット装置、ポータブルラジオ、ＰＤＡ、家や自動車や事務所環境に置かれるデスクトップ・コンピュータ、または同様のアプリケーションも含まれる。
【００１３】
図１は、無線通信システム内の地理的位置が、未判明あるいは不明であるモバイル無線装置の地理的位置を判定する、プロセス１００を示すフローチャートである。ステップ１０２において、地理的位置が未判明／不明であるモバイル無線装置（モバイル式）から地理的位置が判明している固定式の無線装置（例えばベース局ないし送信塔など）に、第一のモバイル無線装置の地理的位置を判定するための測位情報を求める少なくとも一回の要求信号が送信される。この要求信号を受信する（すなわち第一のモバイル無線装置の通信範囲内にある）地理的位置が判明済みの固定式の無線装置は、それに応えて地理的位置が未判明である第一のモバイル無線装置に、測位情報を送信する。この場合において、通信範囲とは、無線通信第一のモバイル無線装置との無線通信が、確立できる範囲と定義してよい。
【００１４】
第一のモバイル無線装置は、測位情報を受信した地理的位置の判明済みの固定式無線装置の数が不十分であった場合（例えば、第一のモバイル無線装置の通信範囲内にある固定式無線装置の数が不十分であった場合など）、第一のモバイル無線装置はステップ１０４において、第一のモバイル無線装置の通信範囲内にあるその他のモバイル無線装置からの応答／返信を求める追加要求信号を送信する。本実施例において、送信される要求の少なくとも一部は、コード付き（キー・シーケンス要求の形式など）でもよい。ステップ１０６において、第一のモバイル無線装置は通信範囲内にある一台または複数のその他のモバイル無線装置から、要求に対する応答を受信する。次に、ステップ１０８において、その他の有応答モバイル無線装置の少なくとも一部との通信が開始され、第一のモバイル無線装置と通信中であるその他の有応答モバイル無線装置から、第一のモバイル無線装置までの距離に関する情報が取得される。
【００１５】
次にステップ１１０は、第一のモバイル無線装置と通信中である他の有応答モバイル無線装置から取得した情報と、第一のモバイル無線装置が受信したが、数が不十分であった地理的位置判明済みの固定式無線装置から受信した測位情報を使用して、第一のモバイル無線装置の位置／場所が三角測量方式で推定される。
【００１６】
本発明おいて、十分な数の地理的な位置が判明されている固定式の無線装置とは、少なくとも三台の位置が判明されている固定式の無線装置としている。本実施例において、追加要求（ステップ１０４を参照）は、事前に決定された回数で再送信されてもよい。この場合において、前回の追加要求の送信に対して（事前に決定された時間の経過後に）、受信される応答の数が不十分である場合に、追加要求信号は、より高い電力レベルで再送信されてもよい（すなわち、第一のモバイル無線装置から送信される追加要求の通信範囲を拡大してよい）。
【００１７】
図２は、超広帯域地理的位置モデル２００を示す概念図である。この図において送信機／ベース局２０２、２０４、２０６など位置が判明済みの固定式の無線装置は、要求送信側であるモバイル無線装置２０８との共同作用により、本発明の実施例に従って要求送信側のモバイル無線装置自身の位置判定を可能にする。超広帯域通信システムの一つの特長は、地理的な位置が判明している、少なくとも三台の超広帯域送信機（例えば２０２、２０４、２０６）から受信される信号から、非常に正確な地理的位置情報を識別できることである。典型的な例では、位置が不明／未判明である装置／トランシーバ（例えば２０８）が、三台の固定式超広帯域送信機からの超広帯域信号を受信する。各送信機から送信される信号には、各送信機の送信時刻と地理的位置が埋め込まれている。各固定式送信機の位置を使用し、受信される信号間のわずかなタイミングの変化を測定すれば、地理的位置が不明である装置は自己の地理的位置を三角測量により正確に判定できる。このような三角測量の手順を使用することにより、超広帯域装置は数センチメートルの誤差内で自らの地理的位置を判定できる。
【００１８】
本実施例において、無線装置は例えば超広帯域ラジオ（デジタルパルス無線としても知られるもの）通信装置などのインパルスラジオ通信装置であってもよい。図３は、本発明の超広帯域無線装置／トランシーバ３００を示す概念的ブロック図である。装置３００には、回路（あるいは論理回路）、ソフトウェア、または何らかの論理回路とソフトウェアの組み合わせからなる複数のコンポーネントがある。具体的には、装置３００には送信機／受信機コンポーネントである３０２／３０４があり、これらが無線信号３０６／３０８（超広帯域ラジオ通信信号が望ましい）をそれぞれ送信／受信させる能力を持っている。この信号は既知の技術に従ってパケット化できるデジタルデータ通信情報を搬送するものであってもよい。
【００１９】
送信機／受信機コンポーネント３０２／３０４は、装置３００内の追加コンポーネント３１０と結びついてもよい。本実施例において、追加コンポーネントの一つは、測位コンポーネント３１２である。また、測位コンポーネント３１２は地理的位置情報などを保存できる時刻位置データベース３１６と、それを管理並びに制御する時刻位置データベース・コントローラ３１４を含むものであってもよい。
【００２０】
固定式の超広帯域送信塔／ベース局の地理的位置は、すでに判明しており、その位置はローカルメモリに保存できる。モバイル超広帯域装置３００が、三台以上の固定式の超広帯域送信塔の通信範囲内にある場合、地理的位置情報は装置３００内の時刻位置データベース３１６に能動的かつ継続的に記録、更新、並びに保存できる。能動的な地理的位置情報の更新および記録は、事前に決定された時間的間隔で自動的に行ってもよく、またコマンドにより質問を受けた時点で行ってもよい。
【００２１】
例えば、本実施例において、測位コンポーネント３１２は少なくとも三台の無線装置から信号を受信し、その信号内で供給される時刻的関係と位置情報を使用して、無線装置３００の位置を正確に判定できる。無線装置３００の正確な位置が判明し、複数の固定式送信機の位置も判明しているので、測位コンポーネント３１２は無線装置３００からその他の無線装置までの距離を正確に判定できる。また、他の実施例において、この距離情報は次に送信機３０２に供給され、その後の信号送信に送信機が使用する電力レベルの正確な調整に役立てられる。
【００２２】
図４は、超広帯域の地理的位置モデル４００を示す概念図である。この図において、複数のモバイル装置は要求送信側装置と共に、本発明の実施例に従って要求送信側の装置自身の位置の判定を可能にする。本実施例において、三本以上の塔（例えば送信塔４０４、４０６、４０８、４１０、４１２、４１４）の通信範囲内にない第三のモバイル無線装置（例えば無線装置４０２）は、範囲内にあり地理的位置情報を時刻位置データベース内に既に保存しているモバイル超広帯域装置（例えばモバイルＵＷＢ装置４１６、４１８、４２０）に対して地理的位置情報を要求できる。この位置を要求するモバイルＵＷＢ装置４０２は、その他のモバイル超広帯域装置からの応答により得られた結果から、自己の位置を三角測量により判定できる。
【００２３】
本発明の一つの実施例において、モバイル無線装置の地理的位置は、モバイル無線装置が測位情報を受信する地理的位置が、判明済みの固定式の無線装置の数が十分（またはそれ以上）であれば（例えば、十分な数の地理的位置が判明済みの固定式の無線装置がモバイル無線装置の通信範囲内にある場合など）、地理的位置が判明済みの固定式の無線装置から得た情報のみを使用して三角測量方式により判定できる。図５は、本発明の実施例に従って三台の固定式装置に基づく三角測量を行い、地理的位置情報を保存するプロセスを示すフローチャートである。一台のモバイル超広帯域装置Ａが、ステップ５０２において自らの位置を判定する必要がある場合、この装置Ａは位置判明済みである超広帯域装置／送信塔に対し、ステップ５０４において地理的位置情報を求めるコード付き要求を、キー・シーケンス形式で送信する。この要求は、事前に選択された最小の電力設定で数回送信（ポーリング）されてもよい。可能な限り最小の電力レベルでキー・シーケンスを送信することにより、このキー・シーケンスは最小の送信範囲にしか届かず、近くにある最小数の超広帯域装置のみがキー・シーケンスによる情報要求に応答する可能性がある。
【００２４】
待機信号は、事前に認識された通信チャンネルまたは通信チャンネルのセットを通じて受信される。装置Ａが三本の塔の通信範囲内にある場合（ステップ５０６を参照）、装置Ａはステップ５０８において、その応答およびタイムスタンプに基づいて自己の位置を三角測量し、その情報を時刻位置データベース・コントローラ３１４経由で時刻位置データベース３１６に保存する。
【００２５】
有応答超広帯域装置の時刻位置データベース３１６には、位置の値と、その位置の値を取得した時刻を指定するタイムスタンプが入っている。一つの実施例において、この有応答超広帯域装置は、自らが最新の地理的位置を更新するまでの間、要求送信側超広帯域装置への応答を遅らせることもできる。しかし、本実施例においては、応答のあった装置より報告された位置情報を使用するか否かの判断は、要求送信側の装置が行う。要求送信側の装置は、応答のあった装置が供給するタイムスタンプおよびその他の情報に基づいて、この判断を下す。有応答超広帯域装置が持つ可動式／モバイル式の性質と、要求送信側装置を応答のあった装置と同期させる必要性により、位置判定作業は複雑となる。
【００２６】
ステップ５０６において、要求送信側の無線装置（すなわち装置Ａ）が少なくとも三本の塔の通信範囲内にないと判断される場合、ステップ５１０において要求送信側の無線装置の近くにあるその他の無線装置（例えばその他のモバイル無線装置）に質問を送ることができる。本実施例において、第一のモバイル無線装置が地理的位置が判明済みの固定式の無線装置からの測位情報を、まったく受信できなかった場合（例えば固定式無線装置の数がゼロ（０）であった場合など）、第一のモバイル無線装置の位置は、他の有応答モバイル無線装置の少なくとも一部から取得した情報のみを使用して三角測量方式により推定できる。図６は、無線通信システム中のモバイル無線装置の地理的位置を判定し、保存するプロセスを示すフローチャートである。図６は、多数の位置を自己認識できる装置と、通信を行う要求送信側モバイル装置の能力に基づく総合的な位置発見アルゴリズムを示したものである。図５と同様に、位置を判定する必要がある装置を図６においても装置Ａと呼ぶ。
【００２７】
装置Ａは、自らの位置の三角測量を行うため、三台以上のベース局との通信を試みる（ステップ５０４、５０６、５０８）。ベース局には正確な位置情報と非常に正確な時間記録ハードウェアがあるので、これが最も正確な位置判定方式となる。使用できるベース局が三ヶ所に満たない場合（ステップ５０６）、この装置（すなわち装置Ａ）はステップ５１０において可能な限り最小の電力レベルでキー・シーケンスを送信することにより、その他のモバイル装置に情報を要求する。ステップ６０２において、データの質的および量的な基準に照らして（好ましくは時刻位置データベース３１６とそのコントローラ３１４を使用して）、応答の処理および試験が行われる。各応答のあった装置は独特のＩＤ番号により識別されてもよい。ただし、ベース局のＩＤ番号の範囲は、モバイル装置のＩＤ番号の範囲と重複しない。応答がまったくない場合、または応答に含まれるデータが正確でない場合、装置Ａは応答のポーリングを継続する。プログラムされた回数のポーリングを行っても応答が得られない場合、要求送信側装置は、次に送信電力を増大させる。ステップ６０４において、その他の有応答無線装置から、要求信号の送信側の無線装置までの距離を判定するダイアログが実行され、時間的な新しさによる加重を施した距離に基づく三角測量方式により、ステップ６０６における要求送信側無線装置の位置推定が可能となる。本実施例では、推定された位置／場所に関するタイムスタンプを作成し、第一のモバイル無線装置の時刻位置データベース・コントローラを利用して、推定される位置／場所とそれに関連するタイムスタンプを第一のモバイル無線装置のメモリ（時刻位置データベースの中にあるものなど）に保存できる。
【００２８】
図７は、他の無線装置からの応答の処理と、データの量的および質的な基準による試験を示すフローチャートである。上述の通り、装置Ａが三本の塔の通信範囲内にない場合、装置Ａはステップ５１０の通り、他のモバイル装置を発見するために、キー・シーケンスを送信する。その他のモバイル装置が応答すると、要求送信側装置と各応答のあった装置との間にダイアログが確立され、距離とクロック格差が判定される。適切な時間内に（好適な実施例では、環境により最大５ミリ秒まで）要求送信側装置が応答を受信しない場合、要求送信側装置は同一のレベルと複数アクセスチャンネルを使用して数回の再試行を行う（ステップ７０２を参照）。この反復されたポーリングに応答する装置がない場合、次に電力増大アルゴリズムが開始され、より高い電力レベルでキー・シーケンスが送信される（ステップ７０４を参照）。最大許容電力に達しても応答がない場合（ステップ７０６を参照）、要求送信側装置はステップ７０８において別の複数アクセスチャンネルに切り替える。
【００２９】
さらに、図７において、重要なデータの質的量的な基準は、装置Ａによる受信データの値の判定にも使用される。自己の位置を取得している無線装置のみがステップ５１０の質問に応答する。ポーリングに対して応答がまったくない場合、装置Ａはその他のモバイル装置の一台が応答するまで電力レベルを増大させる（ステップ７０８）。
【００３０】
ステップ７０２のＹＥＳ経路に関し、要求送信側装置（すなわち装置Ａ）に近い装置が装置Ａにより送信された要求を受信し、その時点で自己の地理的位置／場所に関する情報を取得済みである場合、その装置は装置Ａに応答を送信してよい（この有応答モバイル装置を、以下「装置Ｂ」と呼ぶ。）。
【００３１】
装置Ｂは、例えば（１）位置情報の時間的新しさ、すなわち、その位置情報が取得ないし更新されたのは、どの程度最近のことか、（２）装置Ａからの質問を装置Ｂが受信した受信時刻、および（３）質問に対する応答が装置Ｂから装置Ａに送信された応答時刻など、いくつかの情報を応答にエンコードしてもよい。装置Ａは応答の受信後にステップ７１０において応答をデコードし、エンコードされた情報を取得する。
【００３２】
さらに、図７において、装置Ａの要求に対する各応答から取得された情報には、特定の装置Ｂからの応答により提供された情報を、どの程度強調するべきかを判定するための試験が施される。ステップ７１２において、装置Ｂからの情報は、装置Ｂの位置情報が新鮮でないか否か、すなわち、古すぎる、ないしは最近更新されていないか否かに関して試験される。
【００３３】
装置Ｂの情報が長い間更新されていなければ、（例えば好適な実施例では、１００ミリ秒を超える間）、装置Ｂの位置にかなりの誤差が発生する可能性があることは明らかである。
【００３４】
次に、ステップ７１４において、要求への応答に装置Ｂが要した遅延が事前に決定されたしきい値を超えていないか（好適な実施例では５０ミリ秒超）否かに関し、応答からデコードされた情報を試験してもよい。例えば、質問の処理に装置Ｂが過度の時間（以下「処理時間」と呼ぶ。）を要したとすると、装置Ｂはオーバーロードとなり、タイミングエラーを誘発するスレッドの衝突が発生しやすくなる。このような場合に、装置Ｂの応答は装置Ａが要求する正確性を伴わない可能性がある。ステップ７１２および７１４で行われる試験の後、ステップ７１６において、装置Ａが三台以上の装置（すなわち三台以上の装置Ｂ）から、応答を受信したか否かに関する判断を、装置Ａが下す。三台以上の装置Ｂが応答しており、少なくとも三つの応答がステップ７１２および７１４の試験に合格していれば（ステップ７１２および７１４のＹＥＳ経路を参照）、その他の三台の装置から装置Ａまでの距離を判定するダイアログをステップ７１６およびステップ６０４のＹＥＳ経路の通りに実行してよい。それとは逆に、応答中の情報がいずれかの試験に合格しない場合（ステップ７１２および７１４のＮＯ経路を参照）、または三台未満の装置Ｂからの応答しか試験に合格しない場合、ステップ７１８の通りその他の装置に対するポーリング・シーケンスが開始される。
【００３５】
近くにある装置を基準とした距離計算が、一定の種類のエラーを発生しやすくなる状況はいくつかある。一部の応答のあった装置に関しては、装置Ｂに発生する処理遅延は信号伝播遅延の倍数となる。このような場合、装置Ｂからの応答は元の質問から同時に発生するマルチパス反射により劣化する可能性がある。こうした、装置Ｂからの応答と同時に、質問の反射が装置Ａに戻るようなクラッターのある環境においては、装置Ｂに再度質問を送り、装置Ｂにマルチパス継続時間を通知しておく必要がある。装置Ｂがこの情報を受信すれば、マルチパスによる劣化が発生しないように応答を再提出できる。一方、装置Ａの計算上で装置Ｂが非常に遠い位置にある場合、直接の受信でなくなる可能性が増大し、重大なエラーが発生する確率も高くなる。
【００３６】
三台以上の装置が応答した場合、ステップ６０６の通りに位置が推定される。三台を上回る装置が質問に応答した場合、応答のあった装置により提供された情報に基づいて、推定距離の質に関する判定を下すことができる。必要とされる三台を超える装置に等級を定め、最後の更新時刻、マルチパス干渉の可能性、応答装置のオーバーロード、および距離情報の劣化から計算される質的因数による加重を経て、推定に加えてもよい。
【００３７】
本実施例おいて、第一のモバイル無線装置と、他の有応答モバイル無線装置の一部との間の距離に関連する取得情報には、第一のモバイル無線装置と、その他の有応答モバイル無線装置の一部との間の計算上の距離、送信時刻、およびスケーリング因数を含めてもよい。
【００３８】
図８は、他の有応答無線装置から、要求信号の送信側の無線装置までの距離を判定するために実行される、測距ダイアログのプロセスを示すフローチャートである。図８は、装置Ｂに対する位置を装置Ａが判定する場合に、必ず実行する必要のあるダイアログを示している。装置Ａは、ステップ８０２において、装置Ａが質問を送信してから、装置Ｂからの応答を受信するまでの時間を測定するタイマーをスタートさせる。この時間を「ΔｔｓｒＡ」（または「ＤｔｒｓＡ」）と表記する。この時間には、信号が往復する時間に加えて、装置Ｂが質問を受けて応答するまでの時間が含まれる。そして、質問を受信した時点で装置Ｂが通信中であったとすると、かなりの遅延が発生する。装置Ａの発振器は、装置Ａの位置が最後に判定された後に、何らかのドリフトを受ける可能性があるので、ΔｔｓｒＡは真の往復時間の推定値にすぎない。
【００３９】
ステップ８０４において装置Ｂが質問を受信すると、装置Ｂは受信時刻をマークし、受信から送信までの遅延タイマーをスタートさせ、質問に応答するための十分な時間ができるまで、質問を受信した時点で処理中であったスレッドの処理を継続する（ステップ８０６および８０８を参照）。質問に応答する準備が整うと、ステップ８１０において装置Ｂはタイマーを停止し、受信から送信までの遅延ΔｔｓｒＢ（すなわちＤｔｒｓＢ）と、装置Ａのタイムシーリング因数を計算する。
【００４０】
ステップ８１２において、装置Ａは応答を受信し、往復タイマーを停止し、往復時間ΔｔｓｒＡ（すなわちＤｔｒｓＡ）を計算する。ステップ８１４において、装置Ａは、次に、次回の「タイムビーコン」マークに合わせて装置Ｂに送信するメッセージに、この値をエンコードする。タイムビーコン・マークは、元の質問の送信と同時に開始される指定時間の末に発生する。このタイムビーコン時間は、装置Ａおよび装置Ｂの両方に間して事前にプログラムされた一定の値であっても、初回の質問時に装置Ａから装置Ｂに送信される値であってもよい。
【００４１】
ステップ８１６において、装置Ｂは、メッセージを受信し、往復時間をデコードする。装置Ｂは、次に、元の質問と「タイムビーコン」マークでの応答との間の時間差を計算し、正確なビーコン時間（ＤｔｂＢ）を算出する（ステップ８１６を参照）。ステップ８１８において、装置Ｂは、装置Ａに事前にプログラムされたビーコン時間と、装置Ｂが計算した真のビーコン時間との比率を係数（すなわち「スケーリング因数」）として使用し、装置Ａが計算した往復時間を補正する。実際の時間が得られた後、装置Ｂに発生した受信から送信までの遅延を差し引けば実際の往復伝播時間が得られる。次に装置Ｂはステップ８２０においてシーリング因数、送信時刻、および計算上の距離を装置Ａに送信する。ステップ８２２において、それを受信した装置Ａは、装置Ｂから送信されたこの情報を時間補正に使用できる。
【００４２】
図９は、図８のステップ８２２で行われる、要求信号の送信側の無線装置内の時間補正のプロセスを示すフローチャートである。図９に示す通り、装置Ａは装置Ｂからの送信信号を受信した直後に（ステップ９０２を参照）、ステップ９０４においてクロック・サイクル・カウンタをリセットする。次に装置Ａは送信された信号をデコードし、パラメータを抽出して自らの時刻位置データベースに保存する（ステップ９０６を参照）。
【００４３】
位置情報を更新する他に、装置Ａはこれらのパラメータをクロックの再同期に使用できる。本実施例において、取得された情報の少なくとも一部（送信時刻やスケーリング因数など）は、第一のモバイル無線装置の内部クロック更新に利用されてもよい。より詳細に説明すると、ステップ９０８の通りに、以下の式を使用して受信時刻を計算することにより実現できる。
受信時刻＝
｛装置Ｂの送信時刻＋（距離÷光の速度）｝＋（送信の処理およびクロック・サイクル・カウンタのリセットに要する時間）
上記の式において、
（送信の処理およびクロック・サイクル・カウンタのリセットに要する時間）＝｛（送信の処理およびクロック・サイクル・カウンタのリセットに要するサイクル）×スケーリング因数｝である。
【００４４】
次に装置Ａは、算出した受信時刻をステップ９１０で保存する。装置Ａによるその後の時刻計算は、以下の式に基づいて行われる。
真の現在時刻＝
（クロック・サイクル・カウンタの値）×（スケーリング因数）＋
（受信時刻）＋（真の現在時刻を計算並びに処理（送信、保存等）するためのサイクル数）
【００４５】
複数ユーザ環境では、何十台もの超広帯域装置が位置を要求する超広帯域装置の送受信範囲内に存在することも考えられる。これらの装置が同時に応答すると、応答が衝突し、要求送信側装置による解読が不能となる可能性もある本実施例において、個々の超広帯域装置が、複数ユーザ環境内で近くにある複数の超広帯域装置に、地理的位置情報を要求した場合に衝突を減少させるように設計された一連の衝突回避スキームを提供できる。
【００４６】
衝突回避スキームの実施は、以下の方法を採用してよい。
（１）応答の受信に使用されるいくつかの複数アクセスチャンネルを地理的位置キー・シーケンス上で事前に識別し、これらのチャンネルの一つを各モバイル装置に割り当てる。これにより、キー・シーケンス要求に対する複数の応答が、同一チャンネルで受信されなくなることはないが、その可能性は減少する。
【００４７】
（２）パルス位置変調（好適な変調スキーム）を使用して、複数の同時応答を重ねると、受信機側のパルス隣接が許容されない結果となる可能性がある。これが発生した場合、要求送信側装置は応答を無視してよい。応答のあった装置は要求送信側装置からの迅速な（環境により最大５ミリ秒まで）受信確認を期待する。要求送信側装置からの迅速な受信確認がない場合、位置応答情報用に指定されたその他の事前識別済み複数アクセスチャンネルを使用した応答のあった装置による応答の再送信が誘発される可能性がある。複数の装置からの第二の応答が互いに干渉する可能性を減少させるため、これらの複数アクセスチャンネルのランダムな選択を可能にするか、ないしはランダムな遅延により送信を延期できるようにする。これらのランダム因数は、個々の装置が持つ独特のＩＤコードを元にした乱数発生器の使用により得られる。個々の装置のＩＤコードは、各装置に独特の時間差を直接設定する目的でも使用できる。
【００４８】
（３）地理的位置キー・シーケンスは可能な限り最小の電力レベルで送信され、その電力レベルは３回から１０回までのポーリング・シーケンスが送信されても応答がなかった場合に限りその後に増大する。この電力増大とポーリング・シーケンスは、最初の応答が受信されるまで、または指定された最大電力に達するまで継続される。
この電力レベルは、新しい応答のあった装置の潜在数を少なく保つように、かつ応答のあった装置の最小数である三台に可能な限り迅速に達するように、徐々に増大する。最大電力に達しても応答がなかった場合、その超広帯域装置はチャンネルを切り替え、ポーリングと電力増大のシーケンスを再度、最小の電力設定から開始する。
【００４９】
実施例には、潜在的な応答のあった装置による確実な要求受信に役立つ反復的ポーリング・シーケンスも含まれる。要求送信側装置は応答のあった装置からの迅速な受信確認を期待するので、要求送信側装置が適切な時間内（環境により最大５ミリ秒まで）にそうした受信確認を受信しない場合、電力レベルの増大またはその他のチャンネルへの移動を行う前に、要求送信側装置は最大１０回までのポーリング・シーケンスを再試行する。
【００５０】
さらに、実施例では、ユーザのクロックを同時に同期させ、応答のあった装置との往復に基づいて距離を計算する手段も提供できる。
【００５１】
このように、本発明の実施例は、より幅広い環境における地理的位置情報の利用を可能にする。超広帯域システムの能力を拡大するために複数ユーザ環境の存在を利用する。地理的位置情報を取得する能力を複数ユーザの超広帯域環境全体に拡大する。本発明の各側面は、複数ユーザ環境における衝突の可能性も減少させる。地理的測位機能を幅広いさまざまな状況下で拡大する能力は、「ｅ９１１」政策の延長に基づく将来のＦＣＣ規制の要求条件となる可能性もある。
【００５２】
図１０に、本発明の実施例を可能にする代表的なハードウェア構成１０００を示す。本説明において、各コンポーネントに対する各種のサブコンポーネントもシステムの構成要素と考えてよい。例えば、システムのコンポーネント上で実行される特定のソフトウェア・モジュールもシステムの構成要素と考えてよい。図１０に示すハードウェア構成１０００には、マイクロプロセッサなどの中央処理装置（ＣＰＵ）１００２と、システムバス１００４経由で相互に接続されたその他のユニットが含まれる。
【００５３】
図１０に示すハードウェア構成１０００には、ランダムアクセスメモリ（ＲＡＭ）１００６、読み出し専用メモリ（ＲＯＭ）１００８、システムバス１００４にディスク保存ユニット１０１２などの周辺装置を接続するためのＩ／Ｏアダプタ１０１０、キーボード１０１６、マウス１０１８、スピーカ１０２０、マイク１０２２、ないしタッチスクリーン（図示しない。）などがある。その他のユーザ・インターフェース装置を、システムバス１００４に接続するためのユーザインターフェース・アダプタ１０１４、ハードウェア構成を通信ネットワーク１０２６（例えばデータ処理ネットワークなど）に接続するための通信アダプタ１０２４、システムバス１００４をディスプレイ装置１０３０に接続するためのディスプレイ・アダプタ１０２８が、含まれている。
【００５４】
本実施例では、ＪＡＶＡ（登録商標）、Ｃ、およびＣ＋＋の言語で記載されていてもよく、オブジェクト指向プログラミング方式を利用してよい。オブジェクト指向プログラミング（ＯＯＰ）は、複雑なアプリケーションの開発に広く使われるようになってきている。ＯＯＰがソフトウェアの設計および開発の主流を占めるようになるにつれ、ＯＯＰを利用できるように各種のソフトウェア・ソリューションを適応させることが必要になる。メッセージング・インターフェースに関するＯＯＰのクラスとオブジェクトのセットが供給できるように、ＯＯＰの原理を電子メッセージング・システムのメッセージング・インターフェースに適用する必要がある。
【００５５】
ＯＯＰは、オブジェクトを使用してコンピュータ・ソフトウェアを開発する一つのプロセスである。これには問題の分析、システムの設計、およびプログラムの構築というステップが含まれる。オブジェクトとは、データとそれに関連する構造および手順の両方を含むソフトウェア・パッケージである。データと構造および手順の両方が含まれているがゆえに、特定のタスクを実行する上でその他の構造、手順、またはデータを追加で必要としない自給自足的なコンポーネントであると考えられる。従ってＯＯＰは、コンピュータ・プログラムをそれぞれ特定のタスクを担当する大幅に自立的なコンポーネント、すなわちオブジェクトの集合体と見なすものである。データ、構造、および手順を一つのコンポーネントまたはモジュールのパッケージにする概念のことをカプセル化（ｅｎｃａｐｓｕｌａｔｉｏｎ）という。
【００５６】
原則として、ＯＯＰコンポーネントはオブジェクトモデルに適合するインターフェースを提示し、コンポーネント統合アーキテクチャを通じて非常に短い時間でアクセスできる再使用可能なソフトウェア・モジュールである。コンポーネント統合アーキテクチャは、異なった処理スペースにあるソフトウェア・モジュールによる他モジュールの能力や機能の相互利用を可能にするアーキテクチャ・メカニズムのセットである。これは原則としてアーキテクチャ構築の基礎となる共通のコンポーネント・オブジェクトモデルを想定することにより実行される。この段階では、一つのオブジェクトをオブジェクトのクラスと区別して考える価値がある。一つのオブジェクトは、オブジェクトのクラス（単にクラスと呼ばれることも多い）の一例である。オブジェクトのクラスは、多くのオブジェクトの形成に使用される青写真のようなものと考えることができる。
【００５７】
ＯＯＰを使用すれば、プログラマーは別のオブジェクトの一部であるオブジェクトを作成できる。例えば、ピストンエンジンを表すオブジェクトは、ピストンを表すオブジェクトと合成（ｃｏｍｐｏｓｉｔｉｏｎ）の関係にあると言われる。現実において、ピストンエンジンはピストン、バルブ、並びにその他多数のコンポーネントにより組み立てられている。ピストンがピストンエンジンの要素であるという事実は、ＯＯＰ中の二つのオブジェクトにより論理的かつ意味論的に表示できる。
【００５８】
ＯＯＰを使用すれば、別のオブジェクトに従属するオブジェクトも作成できる。ここに二つのオブジェクトがあり、一つはピストンエンジンを、もう一つはピストンがセラミック製であるピストンエンジンを表しているとすれば、この二つのオブジェクトの関係は合成関係ではない。セラミック製ピストンエンジンは、ピストンエンジンの構成部分ではない。それはむしろ単に、ピストンエンジンにピストンがセラミック製であるというもう一つの制限が加わったピストンエンジンの一種である。この場合、セラミック製ピストンエンジンを表すオブジェクトは派生オブジェクトと呼ばれ、ピストンエンジンを表すオブジェクトのすべての性質を継承し、追加の制限またはディテールを加えたものとなる。セラミック製ピストンエンジンを表すオブジェクトはピストンピストを表すオブジェクトに従属している。このオブジェクトの関係を、継承（ｉｎｈｅｒｉｔａｎｃｅ）と呼ぶ。
【００５９】
セラミック製ピストンエンジンを表すオブジェクトまたはクラスが、ピストンエンジンを表すオブジェクトが持つすべての性質を継承する場合、それはピストンエンジンのクラスにおいて定義される標準ピストンの熱特性も継承する。しかし、セラミック製ピストンエンジンのオブジェクトは、金属製ピストンに関連付けられる特性とは典型的に異なるセラミック特有の熱特性によりこれらを置き換える。元の機能は無視され、セラミック製ピストンに関連付けられた新規機能が使用される。異なった種類のピストンエンジンは異なった特性を持つが、基本的な関連機能（エンジン内のピストンの数、点火シーケンス、注油など）は同じであることもある。いかなるピストンエンジンのオブジェクトにおいても、プログラマーはこれらの機能にアクセスする場合は同じ名称の同じ機能を呼び出すが、名称は同じでもピストンエンジンの種類により異種の／優先的なものが実施される。機能の実施の差異を同一の名称の陰に隠す能力は多態（ｐｏｌｙｍｏｒｐｈｉｓｍ）と呼ばれ、オブジェクト間の通信を大幅に単純化している。
【００６０】
合成関係、カプセル化、継承、および多態の概念を伴うオブジェクトは、現実世界のほとんどすべてのものを表せる。実際に、オブジェクト指向ソフトウェア中のオブジェクトにできるものの種類を判断する上で制限となるものは、現実に関する人間の論理的認識だけである。典型的なカテゴリーの一部を以下に示す。
【００６１】
たとえば、オブジェクトは、例えば交通シミュレーションにおける自動車、回路設計プログラムにおける電子部品、経済モデルにおける国、航空管制システムにおける航空機などの物理的物体を表示できる。また、オブジェクトは、ウィンドウ、メニュー、グラフィックオブジェクトなどのコンピュータ対ユーザ環境の要素を表示できる。さらに、オブジェクトは、人事ファイルや都市の緯度経度表などのインベントリ（ｉｎｖｅｎｔｏｒｙ）を表示できる。オブジェクトは、時刻、角度、複素数、平面上の点などのユーザ定義済みデータタイプを表示できる。
【００６２】
このように、分離可能な事項であればほとんどを表示できるという、オブジェクトが持つこの優れた能力を利用するＯＯＰにより、対象とする現実が物理的主体、プロセス、システム、または物の組成などのいずれであっても、現実が持つ一部の性質のモデルとなるコンピュータ・プログラムをソフトウェア開発者が設計および実施することが可能となっている。オブジェクトは何でも表示できるので、ソフトウェア開発者は将来のより大きなソフトウェア・プロジェクトのコンポーネントとして使用できるオブジェクトを作成できる。
【００６３】
新規のＯＯＰソフトウェア・プログラムの９０％が再使用可能な既存のオブジェクトにより作成された実証済みの既存コンポーネントから成るものであれば、最初から書いて試験する必要があるのは新規ソフトウェアの残りの１０％だけになる。９０％は既に作成され、徹底的に試験された再使用可能なオブジェクトから作られるので、エラーが発生する可能性が残るのはプログラムの１０％の部分に限られる。従ってソフトウェア開発者は、ＯＯＰを使用して以前に組み立てたその他のオブジェクトから新規のオブジェクトを組み立てることができる。
【００６４】
このプロセスは、複雑な機械がアセンブリやサブアセンブリから組み立てられる方法と非常によく似ている。従ってＯＯＰ技術は、開発者がオブジェクトとして使用できる既存のコンポーネントからソフトウェアを組み立てるという点において、ソフトウェア工学をハードウェア工学に近づけるものである。これらのすべてにより、ソフトウェアの質が改善されると共に、その開発もスピードアップされている。
【００６５】
プログラミング言語カプセル化、継承、多態、および合成関係というＯＯＰの原理を急速にサポートし始めている。Ｃ＋＋言語の登場に伴い、商業的ソフトウェア開発者の多くはＯＯＰを採用している。Ｃ＋＋は、迅速で機械による実行が可能なコードを提供するＯＯＰ言語である。さらに、Ｃ＋＋は商業的アプリケーションとシステム・プログラミング・プロジェクトの両方に適している。現在のところＣ＋＋は多数のＯＯＰプログラマーの間で最も人気があるようだが、Ｓｍａｌｌｔａｌｋ、Ｃｏｍｍｏｎ Ｌｉｓｐ Ｏｂｊｅｃｔ Ｓｙｓｔｅｍ（ＣＬＯＳ）、そしてＥｉｆｆｅｌなど、その他のＯＯＰ言語も多く存在する。また、ＯＯＰの能力は、Ｐａｓｃａｌなど従来の普及型コンピュータ・プログラミング言語にも追加されつつある。
【００６６】
オブジェクト・クラスの利点を、以下に要約する。オブジェクトおよびそれに対応するクラスは、複雑なプログラミングの問題を、より小さく単純な多くの問題に分割するものである。カプセル化により、データの整理を経て相互にコミュニケーションが可能な小型の独立オブジェクトへとデータが抽象化される。カプセル化はオブジェクト中のデータを事故によるダメージから保護し、オブジェクトを形成する機能および構造を呼び出すことによりその他のオブジェクトとの相互作用を可能にするものである。
【００６７】
サブクラス化および継承により、システム内で使用可能な標準クラスからの新種オブジェクトの派生を通じたオブジェクトの拡張および改造が可能となる。従って、新規の能力作成を最初から行う必要がない。
【００６８】
多態および複数の継承を通じてプログラマーが異なる場合でも多くの異なったクラスの特性の混合と一致が可能になり、予測可能な方法で関連オブジェクトを扱える専用オブジェクトを作成できる。
【００６９】
クラス階層およびコンテインメント（ｃｏｎｔａｉｎｍｅｎｔ）階層により、現実世界のオブジェクトおよびそれらの間の関係をモデル化する柔軟なメカニズムが得られる。
【００７０】
再使用可能なクラスのライブラリは多くの状況において便利であるが、制限もある。例えば、複雑性、すなわち、複雑なシステムにおいては、関連するクラスのクラス階層は何十何百というクラスを伴うこともあり、極めて複雑になる可能性がある。制御フロー、クラス・ライブラリを援用して書かれたプログラムであっても、やはり制御フローを担当しなければならない（すなわち、特定のライブラリから作成されたすべてのオブジェクト間の相互作用を制御しなければならない）。プログラマーは、どの種類のオブジェクトをどの時点で呼び出すかという機能を決定しなければならない。
【００７１】
作業の重複、すなわち、クラス・ライブラリを使用すれば、プログラマーは小さいコードを使用並びに再使用できるが、各プログラマーがこれらのコードを異なった方法で結合させてしまう。二人のプログラマーが同じクラス・ライブラリのセットを使用して全く同一の機能を持つ二つのプログラムを書いた場合でも、その過程において各プログラマーが行う何百という小さな判断により、その内部構造（すなわち設計）は全く異なったものになる可能性がある。小さなコードを集めて同様の機能を持たせても、実行方法がわずかにでも異なれば、共同作業ができなくなる事態は避けられない。
【００７２】
クラス・ライブラリは非常に柔軟なものである。プログラムが複雑になるにつれ、より多くのプログラマーが基本的な問題の解決法を何度も繰り返し発明させられた。比較的新しいクラス・ライブラリ概念は、クラス・ライブラリのフレームワーク（枠組み）を作る形で展開されている。このフレームワークはより複雑であり、特定のアプリケーション領域における共通の要求条件と設計を実施する小規模パターンと大規模メカニズムの両方を扱う共同制作クラスの壮大な集積により形成されている。このフレームワークは当初、パソコン用のメニュー、ウィンドウ、ダイアログボックス、およびその他の標準ユーザ・インターフェース要素の表示に関連する日常業務から、フリーのアプリケーション・プログラマーたちによって開発されたものである。
【００７３】
フレームワークにより、自分が書いたコードと他の者が書いたコードとの相互作用に関するプログラマーたちの考え方にも変化が現れている。手続的プログラミングの初期の時代において、プログラマーたちは一定のタスクを実行する目的でオペレーティングシステムにより供給されるライブラリを呼び出していたが、プログラムは基本的にその他の部分を最初から最後まで実行するものであり、プログラマーは制御フローに関して単独の責任を負っていた。小切手の印刷、数学的な表の計算、あるいは単純に一つの方法で実行されるプログラムを使用して問題を解決する目的であれば、これは適切な方法であった。
【００７４】
この手続的プログラミングの取り決めを一変させたのがグラフィカル・ユーザ・インターフェース（ＧＵＩ）の開発である。このインターフェースを使用すれば、ユーザはプログラム論理によらずにプログラムを動かし、一定の処理をいつ実行するかを決定できる。今日、ほとんどのパソコン用ソフトウェアは、マウス、キーボード、およびその他の外部イベントソースを監視し、プログラマーのコードのうちユーザが実行する動作に従った適切な部分を呼び出すイベントループという手段を使用してこれを実現している。どのイベントを発生させるかは、もはやプログラマーが決定する事項ではなくなった。その代わりに、プログラムは予測不能の時点、予測不能の順序で呼び出される別々の部分に分割された。このような方法で制御権をユーザに渡すことにより、開発者はプログラムをはるかに使いやすい形で作成する。しかし、開発者が書くプログラムの個々の部分は、一定のタスクを実行するためにやはりオペレーティングシステムから供給されるライブラリを呼び出すので、プログラマーはイベントループにより呼び出された後の各部分の制御フローを決定しなければならない。アプリケーション・コードは、やはりシステムの最上位に存在している。
【００７５】
プログラマーは、イベントループ・ログラム自体に関しても、アプリケーションごとに別々に書かれる必要がないはずの多くのコードを書く必要がある。アプリケーション・フレームワークの概念は、イベントループの概念をさらに進めたものである。基本的なメニュー、ウィンドウ、およびダイアログボックスを構築してこれらをすべて共に作動させる作業の各部分を取り扱う代わりに、アプリケーション・フレームワークを使用するプログラマーたちはアプリケーション・コードと基本的なユーザ・インターフェース要素が定まった段階から作業を開始する。その後に、彼らはフレームワークが持つ一般的な能力の一部を予定されるアプリケーション特有の能力に置き換えることによりプログラムを構築してゆく。
【００７６】
アプリケーション・フレームワークにより、プログラマーが最初から書く必要のあるコードの全体量は減少する。しかし、フレームワークはウィンドウの表示やコピー＆ペーストのサポートなどを行う本当の一般的アプリケーションなので、プログラマーはイベントループ・プログラムが許可する以上に幅広く制御権を放棄することもできる。フレームワーク・コードはほとんどのイベント処理と制御フローを担当するので、プログラマーのコードはフレームワークがそれを必要とする時点（例えば、専有データ構造を作成または操作する場合など）以外には呼び出されない。
【００７７】
フレームワーク・プログラムを書くプログラマーは、制御権をユーザに引き渡すのみならず（イベントループ・プログラムに関しても同じことがいえるが）、プログラム内部の詳細な制御フローをもフレームワークに委ねることになる。この考え方により、同様の問題に対処するため個別のコードが繰り返し作成される個別のプログラムと異なり、興味深い方法で共同作業を行う複雑なシステムの創造が可能となる。
【００７８】
従って上記に説明した通り、フレームワークは基本的に、一定の問題分野に関する再使用可能なソリューションを作り出すために協力するクラスの集合体である。その典型的な内容はデフォルトのビヘイビアを提供するオブジェクト（例えばメニューやウィンドウに関するもの）であり、プログラマーはそのデフォルト・ビヘイビアの一部を継承し、その他のビヘイビアのオーバーライドを設定することによりそれを使用し、フレームワークが適切な時点でアプリケーション・コードを呼び出せるようにする。
【００７９】
フレームワークとクラス・ライブラリが主に異なる点は、以下の三つである。まず、ビヘイビアとプロトコルの違いである。クラス・ライブラリは基本的に、プログラム中の個々のビヘイビアを希望の時点で呼び出せるビヘイビアの集合体である。一方、フレームワークはビヘイビアを提供するのみならず、フレームワークが供給するものに対してプログラマーが何を供給するべきかに関する規則など、ビヘイビアを結合できる方法を支配するプロトコルまたは一連のルールをも提供するものである。
【００８０】
次に、呼び出しとオーバーライドの違いである。クラス・ライブラリに関しては、プログラマーのコードによりオブジェクトが指定され、そのメンバー機能が呼び出される。フレームワークでも同様にオブジェクトの指定と呼び出し（すなわちフレームワークをクラス・ライブラリとして取り扱うこと）が可能であるが、フレームワークの再使用可能な設計を十分に利用するためには、プログラマーはフレームワークにより呼び出され、フレームワークをオーバーライドするコードを書かなければならない場合が多い。フレームワークは、オブジェクト間の制御フローを管理する。プログラムを書く作業においては異なったソフトウェアの部分がどのように共同で作業するかを指定するのではなく、フレームワークにより呼び出される各種のソフトウェア部分に担当を割り振ることになる。
【００８１】
最後に、実施と設計の違いである。クラス・ライブラリでプログラマーが再使用できるのは実施だけであるが、フレームワークでは設計を再使用できる。フレームワークは関連するプログラムまたはソフトウェアの部分の一群が作業する方法を具現化するものである。これは、一定の領域における各種の特定的な問題に対して採用できる一般的な設計ソリューションを提示するものである。例えば一つのフレームワークは、たとえ同一のフレームワークにより作成された二つの異なるユーザ・インターフェースがまったく異なったインターフェースの問題を解決する可能性がある場合であっても、ユーザ・インターフェースが作用する方法を具現化できる。さまざまな問題や、プログラミング・タスクのソリューションとしてのフレームワークの開発を通じて、ソフトウェアの設計開発作業量の大幅な削減が実現できる。
【００８２】
以上、さまざまな実施例を説明したが、これらの実施例は例示であって、本発明がこれらの実施例に限定されることはない。したがって、実施例の外延および範囲は上記に説明したいかなる実施例によっても限定されるべきではなく、請求項およびそれらと同等の説明によって定義されるものである。
【図面の簡単な説明】
【図１】
本発明の実施例である複数アクセス方式を利用する代表的な超広帯域通信システムの概念図である。
【図２】
超広帯域地理的位置モデルの概念図である。
【図３】
本発明の実施例である超広帯域無線装置／トランシーバの概念を示すブロック図である。
【図４】
複数のモバイル装置が要求送信側装置と共に、本発明の一つの実施例に従って要求送信側装置自身の位置の判定を可能にする超広帯域地理的位置モデルの概念図である。
【図５】
本発明の実施例である三台の位置固定式装置に基づく三角測量を行い、地理的位置情報を保存するプロセスを示すフローチャートである。
【図６】
本発明の実施例である無線通信システム中のモバイル無線装置の地理的位置を判定し、保存するプロセスを示すフローチャートである。
【図７】
本発明の実施例である他の無線装置からの応答の処理と、データの量的および質的な基準による試験を示すフローチャートである。
【図８】
本発明の実施例である他の応答のあった無線装置から要求送信側の無線装置までの距離を判定するために実行される、ダイアログのプロセスを示すフローチャートである。
【図９】
本発明の実施例である要求送信側無線装置内の時間補正のプロセスを示すフローチャートである。
【図１０】
本発明の実施例である代表的なハードウェア環境の概念図である。
【図１】
2004516463.tif 000003
【図２】
2004516463.tif 000004
【図３】
2004516463.tif 000005
【図４】
2004516463.tif 000006
【図５】
2004516463.tif 000007
【図６】
2004516463.tif 000008
【図７】
2004516463.tif 000009
【図８】
2004516463.tif 000010
【図９】
2004516463.tif 000011
【図１０】
2004516463.tif 000012
【国際公開パンフレット】
2004516463.tif 000013
2004516463.tif 000014
2004516463.tif 000015
2004516463.tif 000016
2004516463.tif 000017
2004516463.tif 000018
2004516463.tif 000019
2004516463.tif 000020
2004516463.tif 000021
2004516463.tif 000022
2004516463.tif 000023
2004516463.tif 000024
2004516463.tif 000025
2004516463.tif 000026
2004516463.tif 000027
2004516463.tif 000028
2004516463.tif 000029
2004516463.tif 000030
2004516463.tif 000031
2004516463.tif 000032
2004516463.tif 000033
2004516463.tif 000034
2004516463.tif 000035
2004516463.tif 000036
2004516463.tif 000037
2004516463.tif 000038
2004516463.tif 000039
2004516463.tif 000040
2004516463.tif 000041
2004516463.tif 000042
2004516463.tif 000043
2004516463.tif 000044
2004516463.tif 000045
2004516463.tif 000046
2004516463.tif 000047
2004516463.tif 000048
2004516463.tif 000049
2004516463.tif 000050
【国際調査報告】
2004516463.tif 000051