(57)【特許請求の範囲】
【請求項１】
位置識別子を生成するためにコンピュータで実行される方法であって、
位置の地理的座標をプロセッサで受信するステップと、
前記プロセッサにおいて、
前記地理的座標を１つの固有なｎ値へと変換するステップ、
前記１つの固有なｎ値を複数の値の固有なグループへと変換するステップ、および、
前記複数の値をそれぞれの単語へと変換するステップであり、前記それぞれの単語の数量は、前記固有なグループにおける複数の値と同じ数量である、ステップ、
を実行するステップと、
前記複数の単語を位置識別子として利用可能にするステップと、
を含む、方法。
【請求項２】
前記方法は、さらに、
地理的領域にわたりセルのアレイを定めるステップと、
を含み、
前記プロセッサにおいて、前記地理的座標を１つの固有なｎ値へと変換する前記ステップを実行することは、
前記地理的座標を、前記位置を含む前記セルを特定するセル識別値へと変換するステップであり、セル位置値が、前記セルの中での前記位置の場所を特定している、ステップ、および、
前記セル識別値と前記セル位置値を１つの固有なｎ値へと変換するステップ、
を実行すること、を含む、
請求項１記載の方法。
【請求項３】
前記地理的座標は、緯度と経度の座標である、
請求項２に記載の方法。
【請求項４】
前記複数の単語は、シーケンスが定められている、
請求項１乃至３いずれか一項に記載の方法。
【請求項５】
前記セル識別値は、整数のペアＸ、Ｙであり、かつ、
前記セル位置値は、整数のペアｘ、ｙである、
請求項２に記載の方法。
【請求項６】
前記ｎ値、および、前記複数の値は、整数である、
請求項５に記載の方法。
【請求項７】
前記緯度と経度の座標は、以下の式を使用して、前記セル識別値と前記セル位置値へと変換される、
Ｘ＝ｆｌｏｏｒ（（Ｌｏｎｇｉｔｕｄｅ＋１８０）＊２４）
Ｙ＝ｆｌｏｏｒ（（Ｌａｔｉｔｕｄｅ＋９０）＊２４）
ｘ＝ｆｌｏｏｒ（Ｗ（Ｙ）＊ｆｒａｃ（（Ｌｏｎｇｉｔｕｄｅ＋１８０）＊２４））
ｙ＝ｆｌｏｏｒ（１５４６＊ｆｒａｃ（（Ｌａｔｉｔｕｄｅ＋９０）＊２４））
ここで、Ｗ（Ｙ）＝ｍａｘ（１、ｆｌｏｏｒ（１５４６＊ｃｏｓ（（Ｙ＋０．５）／２４−９０）））である、
請求項３に記載の方法。
【請求項８】
前記セル識別値と前記セル位置値であるＸ、Ｙ、ｘ、ｙは、
前記セル識別値であるＸ、Ｙにより特定された各セルに、最小値ｑを有する固有なｎ値の範囲を割り当て、かつ、
次に、以下の式を使用してｎを得る、
ｎ＝ｑ＋１５４６ｘ＋ｙ
ことによって、１つの固有なｎ値へと変換される、
請求項５乃至７いずれか一項に記載の方法。
【請求項９】
前記１つの固有なｎ値は、３つの値ｉ、ｊ、ｋの固有なグループへと変換され、
前記３つの値ｉ、ｊ、ｋは、３つの単語へとそれぞれ変換され、かつ、
前記３つの単語は、位置識別子として提供される、
請求項１乃至８いずれか一項に記載の方法。
【請求項１０】
前記１つの固有なｎ値を、３つの値ｉ、ｊ、ｋの前記固有なグループへと変換することは、
可能なｎ値をブロックへと分割することによって、前記１つの固有なｎ値を、１つの固有な整数値ｍへと変換すること、および、
ｍを得るために、ブロックにおいて前記ｎ値をシャッフルすること、
を含む、請求項９に記載の方法。
【請求項１１】
前記１つの固有なｎ値を、３つの値ｉ、ｊ、ｋの前記固有なグループへと変換することは、さらに、
以下の式を使用して、前記１つの固有な整数値ｍを、３つの値ｉ、ｊ、ｋの固有なグループへと変換する、
ｌ＝ｆｌｏｏｒ（立方根（ｍ））と定義し、
ｌ３≦ｍ＜ｌ３＋ｌ２＋２ｌ＋１の場合、
ｉ＝ｌ、ｊ＝ｒ  ｄｉｖ（ｌ＋１）、ｋ＝ｒ  ｍｏｄ（ｌ＋１）、
ここで、ｒ＝ｍ−ｌ３  であり、または、
ｌ３＋ｌ２＋２ｌ＋１≦ｍ＜ｌ３＋２ｌ２＋３ｌ＋１の場合、
ｉ＝ｒ  ｄｉｖ（ｌ＋１）、ｊ＝ｌ、ｋ＝ｒ  ｍｏｄ（ｌ＋１）、
ここで、ｒ＝ｍ−（ｌ３＋ｌ２＋２ｌ＋１）  であり、もしくは、
ｌ３＋２ｌ２＋３ｌ＋１≦ｍ＜ｌ３＋３ｌ２＋３ｌ＋１の場合、
ｉ＝ｒ  ｄｉｖ（ｌ）、ｊ＝ｒ  ｍｏｄ（ｌ）、ｋ＝ｌ  、
ここで、ｒ＝ｍ−（ｌ３＋２ｌ２＋３ｌ＋１）  である、
ことを含む、請求項１０に記載の方法。
【請求項１２】
３つの値ｉ、ｊ、ｋの前記固有なグループは、
それぞれの値を順序付けされた単語リストと比較して、それぞれの値を順序付けされたリストの中で前記値の位置における単語へ変換することによって、
３つのそれぞれの単語へと変換される、
請求項１１に記載の方法。
【請求項１３】
請求項１乃至１２いずれか一項に記載の方法を実行することによって、
位置識別子を生成するように適合されている、装置。
【請求項１４】
位置識別子を生成するためのコンピュータプログラムであって、
プロセッサによって実行されるときに、請求項１乃至１２いずれか一項に記載の方法を前記プロセッサに実施させる、コンピュータで読取り可能なインストラクションを含む、コンピュータプログラム。
【請求項１５】
位置を特定するためにコンピュータで実行される方法であって、
位置に対する位置識別子をプロセッサで受信するステップであり、前記位置識別子は複数の単語を含んでいる、ステップと、
前記プロセッサにおいて、
前記複数の単語を固有なグループにおける複数の値へとそれぞれに変換するステップであり、前記複数の値の数量は、前記複数の単語と同じ数量である、ステップ、
前記複数の値の固有なグループを１つの固有なｎ値へと変換するステップ、
前記１つの固有なｎ値を地理的座標へと変換するステップ、および、
前記地理的座標を出力するステップ、
を実行するステップと、
を含む、方法。
【請求項１６】
前記方法は、さらに、
地理的領域にわたりセルのアレイを定めるステップと、
を含み、
前記プロセッサにおいて、前記１つの固有なｎ値を地理的座標へと変換する前記ステップを実行することは、
前記１つの固有なｎ値を、前記位置を含む前記セルを特定するセル識別値へと変換するステップであり、セル位置値が、前記セルの中での前記位置の場所を特定している、ステップ、および、
前記セル識別値と前記セル位置値を地理的座標へと変換するステップ、
を実行すること、を含む、
請求項１５記載の方法。
【請求項１７】
前記地理的座標は、緯度と経度の座標である、
請求項１６に記載の方法。
【請求項１８】
前記複数の単語は、シーケンスが定められている、
請求項１５乃至１７いずれか一項に記載の方法。
【請求項１９】
前記セル識別値は、整数のペアＸ、Ｙであり、かつ、
前記セル位置値は、整数のペアｘ、ｙである、
請求項１６に記載の方法。
【請求項２０】
前記ｎ値、および、前記複数の値は、整数である、
請求項１９に記載の方法。
【請求項２１】
前記セル識別値と前記セル位置値は、以下の式を使用して、前記緯度と経度の座標へと変換される、
緯度＝（Ｙ＋（ｙ＋０．５）／１５４６）／２４−９０
経度＝（Ｘ＋（ｘ＋０．５）／Ｗ（Ｙ））／２４−１８０
ここで、Ｗ（Ｙ）＝ｍａｘ（１、ｆｌｏｏｒ（１５４６＊ｃｏｓ（（Ｙ＋０．５）／２４−９０）））である、
請求項１７に記載の方法。
【請求項２２】
前記１つの固有なｎ値は、
セル識別子Ｘ、Ｙによって特定されるそれぞれのセルを、固有なｎ値の範囲と関連付け、それぞれの固有な範囲は最小値ｑを有しており、
前記ｎ値が存在する、ｎ値の割り当てられた範囲を特定し、
前記割り当てられた範囲と関連付けられた前記セル識別値Ｘ、Ｙを獲得し、
以下の式を使用してｘ、ｙを決定する、
ｘ＝（ｎ−ｑ）ｄｉｖ１５４６
ｙ＝（ｎ−ｑ）ｍｏｄ１５４６
ことによって、前記セル識別値と前記セル位置値であるＸ、Ｙ、ｘ、ｙへと変換される、
請求項１９乃至２１いずれか一項に記載の方法。
【請求項２３】
前記複数の単語は、３つの単語を含み、
前記３つの単語は、３つの値ｉ、ｊ、ｋの固有なグループへと変換され、
前記３つの値ｉ、ｊ、ｋの固有なグループは、１つの固有なｎ値へと変換される、
請求項１５乃至２２いずれか一項に記載の方法。
【請求項２４】
３つの値ｉ、ｊ、ｋの前記固有なグループを前記１つの固有なｎ値へと変換することは、
可能な値ｍを等しいサイズの値のブロックへと分割することによって、１つの固有な整数値ｍを、前記１つの固有なｎ値へと変換すること、および、
ｎを得るために、値のブロックにおいて前記値ｍをシャッフルすること、
を含む、請求項２３に記載の方法。
【請求項２５】
３つの値ｉ、ｊ、ｋの前記固有なグループを前記１つの固有なｎ値へと変換することは、さらに、
以下の式を使用して、前記１つの固有な整数値ｍを、３つの値ｉ、ｊ、ｋの固有なグループへと変換する、
ｌ＝ｍａｘ（ｉ，ｊ，ｋ）と定義し、
ｉ＝ｌである場合、
ｍ＝ｌ３＋（ｌ＋１）ｊ＋ｋ、または、
ｊ＝ｌである場合、
ｍ＝ｌ３＋ｌ２＋２ｌ＋１＋（ｌ＋１）ｉ＋ｋ、もしくは、
ｋ＝ｌである場合、
ｍ＝ｌ３＋２ｌ２＋３ｌ＋１＋ｌｉ＋ｊ、
ことを含む、請求項２４に記載の方法。
【請求項２６】
前記３つの単語は、
単語と整数値を関連するアレイに保管して、それぞれの整数値に対応する単語を検索することによって、
３つの値ｉ、ｊ、ｋの前記固有なグループへと変換される、
請求項２５に記載の方法。
【請求項２７】
請求項１５乃至２６いずれか一項に記載の方法を実行することによって、
位置を特定するように適合されている、装置。
【請求項２８】
位置を特定するためのコンピュータプログラムであって、
プロセッサによって実行されるときに、請求項１５乃至２６いずれか一項に記載の方法を前記プロセッサに実施させる、コンピュータで読取り可能なインストラクションを含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、位置の特定と通信のための方法および装置に関する。より特定的には、人に優しい（ｈｕｍａｎ−ｆｒｉｅｎｄｌｙ）やり方で位置を特定し、通信するための方法および装置に関する。
【背景技術】
【０００２】
近年においては、衛星ベース（ｓａｔｅｌｌｉｔｅ  ｂａｓｅｄ）の位置システムが一般的に使用され、位置システムに編入されているデバイスの位置を非常に高い精度で判断することができる。専用のナビゲーションデバイスの中に編入されるのと同様に、そうした衛星ベースのシステムは、日常的に、スマートフォン、および、類似のモバイル通信及び/又は汎用コンピューティングデバイスの中に含まれている。
【０００３】
位置を特定するための幾何学的数値座標の使用、緯度経度座標またはグリッド参照（ｇｒｉｄ  ｒｅｆｅｒｅｎｃｅ）といったもの、が良く知られており、衛星ベースの位置システムは、一般的に、そうした数値座標を使用して位置を特定する。例えば、ＧＰＳシステムは、ＧＰＳ座標を使用して位置を特定する。高精度の緯度経度座標として一般に提供されるものである。
【０００４】
位置を特定するために数値座標を使用することの実際的な一つの問題は、結果として生じる数値列がユーザにとって非常に優しくないことである。実際問題として、人々は、一般的に、数値列は正確に覚えること、または、口頭で他人に知らせることが難しいとわかっている。さらに、数値列を手動で正確にデバイスに入力すること、例えば、ナビゲーション機器にあなたがどこ行きたいかを告げること、または、別の人に送付されたメッセージの中に位置を含めることは、比較的に遅く、時間のかかるものであり得る。
【０００５】
いくつかの場合において、位置は、おそらく建物番号と一緒に、郵便番号または道路名といった、他の手段を使用して特定される。しかし、こうしたアプローチは、それらが比較的に不正確であり、かつ、一般的に建物だけに割り当てられているという問題に悩まされる。特に、郵便番号は、一般的には、郵便が配達され又は受取られることが期待される場所だけに割り当てられるものである。結果として、これらのアプローチは、しばしば、都市部だけで役に立つものである。都市部は、適切なコード、名前、および番号が高密度に割り当てられてきた場所である。さらに、郵便番号は、数値座標より、必ずしも覚え易く、かつ、口頭で知らせ易いものではない。さらに、異なる国または領域は、住所を特定するために異なるシステムを使用しており、かつ、これらの住所システムの多くは比較的に洗練されておらず、かつ、所定の場所を特定し、または、知らせるための限定された価値しかない。
【０００６】
望ましくは、本発明に係る方法および装置が、この問題を取り扱う。
【発明の概要】
【０００７】
第１の態様において、本発明は、位置識別子を生成するためにコンピュータで実行される方法Ｘ線および提供する。本方法は、位置の地理的座標をプロセッサで受信するステップと、前記プロセッサにおいて、前記地理的座標を１つの固有なｎ値へと変換するステップ、前記１つの固有なｎ値を複数の値の固有なグループへと変換するステップ、および、前記複数の値を同等な複数の単語へと変換するステップ、を実行するステップと、前記複数の単語を位置識別子として利用可能にするステップと、を含む。
【０００８】
望ましくは、本方法は、さらに、地理的領域にわたりセルのアレイを定めるステップを含む。前記プロセッサにおいて、前記地理的座標を１つの固有なｎ値へと変換する前記ステップを実行することは、前記地理的座標を、前記位置を含む前記セルを特定するセル識別値へと変換するステップであり、セル位置値が、前記セルの中での前記位置の場所を特定している、ステップ、および、前記セル識別値と前記セル位置値を１つの固有なｎ値へと変換するステップ、を実行すること、を含む。
【０００９】
望ましくは、前記地理的座標は、緯度と経度の座標である。
【００１０】
望ましくは、前記複数の単語は、シーケンスが定められている。
【００１１】
望ましくは、前記セル識別値は、整数のペアＸ、Ｙであり、かつ、前記セル位置値は、整数のペアｘ、ｙである。
【００１２】
望ましくは、前記ｎ値、および、前記複数の値は、整数である。
【００１３】
望ましくは、前記緯度と経度の座標は、以下の式を使用して、前記セル識別値と前記セル位置値へと変換される。
Ｘ＝ｆｌｏｏｒ（（Ｌｏｎｇｉｔｕｄｅ＋１８０）＊２４）
Ｙ＝ｆｌｏｏｒ（（Ｌａｔｉｔｕｄｅ＋９０）＊２４）
ｘ＝ｆｌｏｏｒ（Ｗ（Ｙ）＊ｆｒａｃ（（Ｌｏｎｇｉｔｕｄｅ＋１８０）＊２４））
ｙ＝ｆｌｏｏｒ（１５４６＊ｆｒａｃ（（Ｌａｔｉｔｕｄｅ＋９０）＊２４））
ここで、Ｗ（Ｙ）＝ｍａｘ（１、ｆｌｏｏｒ（１５４６＊ｃｏｓ（（Ｙ＋０．５）／２４−９０）））である。
【００１４】
望ましくは、前記セル識別値と前記セル位置値であるＸ、Ｙ、ｘ、ｙは、前記セル識別値であるＸ、Ｙにより特定された各セルに、最小値ｑを有する固有なｎ値の範囲を割り当て、かつ、次に、以下の式を使用してｎを得ることによって、１つの固有なｎ値へと変換される。
ｎ＝ｑ＋１５４６ｘ＋ｙ
【００１５】
望ましくは、前記１つの固有なｎ値は、３つの値ｉ、ｊ、ｋの固有なグループへと変換され、前記３つの値ｉ、ｊ、ｋは、３つの単語へとそれぞれ変換され、かつ、前記３つの単語は、位置識別子として提供される。
【００１６】
望ましくは、前記１つの固有なｎ値を、３つの値ｉ、ｊ、ｋの前記固有なグループへと変換することは、可能なｎ値をブロックへと分割することによって、前記１つの固有なｎ値を、１つの固有な整数値ｍへと変換すること、および、ｍを得るために、ブロックにおいて前記ｎ値をシャッフルすること、を含む。
【００１７】
望ましくは、前記１つの固有なｎ値を、３つの値ｉ、ｊ、ｋの前記固有なグループへと変換することは、さらに、以下の式を使用して、前記１つの固有な整数値ｍを、３つの値ｉ、ｊ、ｋの固有なグループへと変換することを含む。
ｌ＝ｆｌｏｏｒ（立方根（ｍ））と定義し、
ｌ３≦ｍ＜ｌ３＋ｌ２＋２ｌ＋１の場合、
ｉ＝ｌ、ｊ＝ｒ  ｄｉｖ（ｌ＋１）、ｋ＝ｒ  ｍｏｄ（ｌ＋１）、
ここで、ｒ＝ｍ−ｌ３  であり、または、
ｌ３＋ｌ２＋２ｌ＋１≦ｍ＜ｌ３＋２ｌ２＋３ｌ＋１の場合、
ｉ＝ｒ  ｄｉｖ（ｌ＋１）、ｊ＝ｌ、ｋ＝ｒ  ｍｏｄ（ｌ＋１）、
ここで、ｒ＝ｍ−（ｌ３＋ｌ２＋２ｌ＋１）  であり、もしくは、
ｌ３＋２ｌ２＋３ｌ＋１≦ｍ＜ｌ３＋３ｌ２＋３ｌ＋１の場合、
ｉ＝ｒ  ｄｉｖ（ｌ）、ｊ＝ｒ  ｍｏｄ（ｌ）、ｋ＝ｌ  、
ここで、ｒ＝ｍ−（ｌ３＋２ｌ２＋３ｌ＋１）  である。
【００１８】
望ましくは、３つの値ｉ、ｊ、ｋの前記固有なグループは、それぞれの値を順序付けされた単語リストと比較して、それぞれの値を順序付けされたリストの中で前記値の位置における単語へ変換することによって、３つのそれぞれの単語へと変換される。
【００１９】
第２の態様において、本発明は、第１の態様に係る方法を実行することによって、  位置識別子を生成するように適合されている装置を提供する。
【００２０】
第３の態様において、本発明は、位置識別子を生成するためのコンピュータプログラムであって、プロセッサによって実行されるときに、第１の態様に係る方法を前記プロセッサに実施させる、コンピュータで読取り可能なインストラクションを含むコンピュータプログラムを提供する。
【００２１】
第４の態様において、本発明は、位置を特定するためにコンピュータで実行される方法を提供する。本方法は、位置に対する位置識別子をプロセッサで受信するステップであり、前記位置識別子は複数の単語を含んでいるステップと、前記プロセッサにおいて、前記複数の単語を同等な複数の値へと変換するステップ、前記複数の値の固有なグループを１つの固有なｎ値へと変換するステップ、前記１つの固有なｎ値を地理的座標へと変換するステップ、および、前記地理的座標を出力するステップ、を実行するステップとを含む。
【００２２】
望ましくは、前記方法は、さらに、地理的領域にわたりセルのアレイを定めるステップを含む。前記プロセッサにおいて、前記１つの固有なｎ値を地理的座標へと変換する前記ステップを実行することは、前記１つの固有なｎ値を、前記位置を含む前記セルを特定するセル識別値へと変換するステップであり、セル位置値が、前記セルの中での前記位置の場所を特定しているステップ、および、前記セル識別値と前記セル位置値を地理的座標へと変換するステップ、を実行することを含む。
【００２３】
望ましくは、前記地理的座標は、緯度と経度の座標である。
【００２４】
望ましくは、前記複数の単語は、シーケンスが定められている。
【００２５】
望ましくは、前記セル識別値は、整数のペアＸ、Ｙであり、かつ、前記セル位置値は、整数のペアｘ、ｙである。
【００２６】
望ましくは、前記ｎ値、および、前記複数の値は、整数である。
【００２７】
望ましくは、前記セル識別値と前記セル位置値は、以下の式を使用して、前記緯度と経度の座標へと変換される。
緯度＝（Ｙ＋（ｙ＋０．５）／１５４６）／２４−９０
経度＝（Ｘ＋（ｘ＋０．５）／Ｗ（Ｙ））／２４−１８０
ここで、Ｗ（Ｙ）＝ｍａｘ（１、ｆｌｏｏｒ（１５４６＊ｃｏｓ（（Ｙ＋０．５）／２４−９０）））である。
【００２８】
望ましくは、前記１つの固有なｎ値は、セル識別子Ｘ、Ｙによって特定されるそれぞれのセルを、固有なｎ値の範囲と関連付け、それぞれの固有な範囲は最小値ｑを有しており、前記ｎ値が存在する、ｎ値の割り当てられた範囲を特定し、前記割り当てられた範囲と関連付けられた前記セル識別値Ｘ、Ｙを獲得し、以下の式を使用してｘ、ｙを決定することによって、前記セル識別値と前記セル位置値であるＸ、Ｙ、ｘ、ｙへと変換される。
ｘ＝（ｎ−ｑ）ｄｉｖ１５４６
ｙ＝（ｎ−ｑ）ｍｏｄ１５４６
【００２９】
望ましくは、前記複数の単語は、３つの単語を含み、前記３つの単語は、３つの値ｉ、ｊ、ｋの固有なグループへと変換され、前記３つの値ｉ、ｊ、ｋの固有なグループは、１つの固有なｎ値へと変換される。
【００３０】
望ましくは、３つの値ｉ、ｊ、ｋの前記固有なグループを前記１つの固有なｎ値へと変換することは、可能な値ｍを等しいサイズの値のブロックへと分割することによって、１つの固有な整数値ｍを、前記１つの固有なｎ値へと変換すること、および、ｎを得るために、値のブロックにおいて前記値ｍをシャッフルすることを含む。
【００３１】
望ましくは、３つの値ｉ、ｊ、ｋの前記固有なグループを前記１つの固有なｎ値へと変換することは、さらに、以下の式を使用して、前記１つの固有な整数値ｍを、３つの値ｉ、ｊ、ｋの固有なグループへと変換することを含む。
ｌ＝ｍａｘ（ｉ，ｊ，ｋ）と定義し、
ｉ＝ｌである場合、
ｍ＝ｌ３＋（ｌ＋１）ｊ＋ｋ、または、
ｊ＝ｌである場合、
ｍ＝ｌ３＋ｌ２＋２ｌ＋１＋（ｌ＋１）ｉ＋ｋ、もしくは、
ｋ＝ｌである場合、
ｍ＝ｌ３＋２ｌ２＋３ｌ＋１＋ｌｉ＋ｊ
【００３２】
望ましくは、前記３つの単語は、単語と整数値を関連するアレイに保管して、それぞれの整数値に対応する単語を検索することによって、３つの値ｉ、ｊ、ｋの前記固有なグループへと変換される。
【００３３】
第５の態様において、本発明は、第４の態様に係る方法を実行することによって、  位置を特定するように適合されている装置を提供する。
【００３４】
第６の態様において、本発明は、位置を特定するためのコンピュータプログラムであって、プロセッサによって実行されるときに、第４の態様に係る方法を前記プロセッサに実施させる、コンピュータで読取り可能なインストラクションを含むコンピュータプログラムを提供する。
【００３５】
本発明は、さらに、前出の本発明に係るあらゆる態様を実施するためのシステム、デバイス、および製品を提供する。
【図面の簡単な説明】
【００３６】
これから、以降の図面を参照して本発明が詳細に説明される。
【図１】図１は、本発明に従ったシステムの一つの実施例に係るダイヤグラムである。
【図２】図２は、図１のシステムにおいて使用されるユーザデバイスの一つの実施例に係るダイヤグラムである。
【図３】図３は、図１のシステムの第１の方向におけるオペレーションに係るフローチャートである。
【図４】図４は、図１のシステムの第２の方向におけるオペレーションに係るフローチャートである。
【図５】図５は、図１のシステムのサーバーのオペレーションに係るダイヤグラムである。
【発明を実施するための形態】
【００３７】
図１は、本発明に従った、位置特定と通信システム１の一つの実施例に係る概要を示している。
【００３８】
システム１は、数多くのユーザデバイス２と中央サーバー３を含んでいる。ユーザデバイス２は、スマートフォン２ａとパーソナルコンピュータ（ＰＣ）２ｂを含んでおり、ユーザデバイス２のそれぞれ、つまりユーザのスマートフォン２ａとユーザのＰＣ  ２ｂは、インターネット４を通じて中央サーバー３と通信することができる。明確化のために、３つのユーザのスマートフォン２ａと１つのユーザのＰＣ  ２ｂだけしか図１には示されていないが、実際には、システム１は、大量のユーザデバイス２を含み得ることが理解されよう。ユーザのスマートフォン２ａとユーザのＰＣ  ２ｂといったものである。
【００３９】
図２は、システム１に係るユーザのスマートフォン２ａの一つの実施例を詳細に示している。図２に示されるように、ユーザのスマートフォン２ａは、データプロセッサ１０、ビジュアルディスプレイ１１、ユーザインストラクションがスマートフォン２ａへ入力されるようにするユーザインターフェイス１２、スピーカ１３、およびマイクロフォン１４を含んでいる。スマートフォン２ａの種々のコンポーネントは、プロセッサ１０のコントロール下で動作する。ユーザインターフェイス１２は、タッチスクリーンディスプレイとしてビジュアルディスプレイに統合されてよい。他の実施例において、ユーザインターフェイス１２は、ビジュアルディスプレイとは別個の専用キーパッドであってよい。これらのコンポーネントを含むスマートフォンは、当業者によく知られており、詳細に説明する必要はない。ユーザのＰＣ  ２ｂが、同様な機能性を有することが理解されよう。
【００４０】
さらに、スマートフォン２ａは、位置決定手段１５、マッピングまたはナビゲーションモジュール１６、および位置特定モジュール１７を含んでいる。ナビゲーションモジュール１６と位置特定モジュール１７は、位置決定手段１５から位置情報を受け取るように構成されている。図示された実施例において、位置決定手段１５は、グローバルポジショニングシステム（ＧＰＳ）である。他の実施例においては、異なる衛星ベースのナビゲーションシステムが使用されてよい。ナビゲーションモジュール１６と位置特定モジュール１７は、専用ハードウェアを含んでよく、もしくは、スマートフォン２ａのプロセッサ１０で実行されるソフトウェアプログラム又はアプリケーションを含んでよい。いくつかの実施例において、ユーザのＰＣ  ２ｂは、位置決定手段１５を含まなくてよい。いくつかの実施例において、位置決定手段を含まないユーザのＰＣ  ２ｂは、それでも、別個の位置決定手段からの位置情報にアクセスし得る。
【００４１】
位置特定モジュール１７は、位置決定手段１５によって提供される位置情報を使用して、ユーザに対して位置ベースのサービスを提供する。
【００４２】
明確化のために、位置決定手段１５を含んでいるユーザのスマートフォン２ａを伴うシステム１のオペレーションが説明される。
【００４３】
図３は、本発明に従った、位置ベースのサービスの一実施例に係るフローチャートである。図３の実施例において、スマートフォン２ａは、ユーザリクエストに応じて、ユーザの現在位置を特定する情報をユーザに提供する。ユーザは、例えば、その位置を他の誰かに知らせることができるように、この情報を欲している。例えば、ユーザは、ユーザの現在位置を他の誰かに知らせるよう望み得る。
【００４４】
最初に、ユーザは、リクエストステップ２０において、ユーザインターフェイス１２を使用してスマートフォンに対してユーザの現在位置を特定するようにリクエストする。このリクエストに応じて、獲得ステップ２１において、位置特定モジュール１７は、位置決定手段１５からスマートフォン２ａの現在位置の座標を獲得する。これらの現在位置の座標は、ＧＰＳ座標として位置決定手段１５によって提供されるものであり、少数点第六位の緯度と経度の座標である。例えば、”５２．１２３４５６、−０．６５４３２１”である。位置座標は、ＧＰＳといった衛星ベースのナビゲーションシステムからこの程度の精度まで直ちに利用可能である。
【００４５】
スマートフォン２ａの現在位置の獲得された緯度と経度の座標は、次に、送信ステップ２２において、位置特定モジュール１７によって、スマートフォン２ａの通信機能を使用してインターネット４を通じて、サーバー３へ送信される。
【００４６】
サーバー３は、次に、受信した緯度と経度の座標を、固有な三単語シーケンス（ｔｈｒｅｅ  ｗｏｒｄ  ｓｅｑｕｅｎｃｅ）を含む位置識別子へと変換する。例えば、「タブレット  マイクロフォン  励起（”ｔａｂｌｅｔ  ｍｉｃｒｏｐｈｏｎｅ  ｅｘｃｉｔｅｄ”）」である。この変換は、以下に詳細に説明されるアルゴリズムを使用して実行される。
【００４７】
サーバー３は、次に、返しステップ２４において、三単語シーケンスの位置識別子を、インターネット４を通じて、スマートフォン２ａの位置特定モジュール１７に対して返す。
【００４８】
受信された位置識別子は、次に、表示ステップ２５において、固有な三単語シーケンスを含むテキストとして、スマートフォン２ａのビジュアルディスプレイ１１上でユーザに対して表示される。代替的に、または追加的に、表示ステップ２５において、受信された位置識別子が、、固有な三単語シーケンスを含むスピーチとして、スピーカ１３を通じてユーザに対して提供されてよい。三単語位置識別子がスピーチとしてユーザに対して提供されるいくつかの実施例において、スピーチは、スマートフォン２ａによって、三単語位置識別子のテキストから生成され得る。
【００４９】
ユーザは、そして、現在位置を特定するために、固有な三単語シーケンスを含む位置識別子を使用することができる。例えば、ユーザは、後で自分の現在位置を特定するために固有な三単語シーケンスを使用することができるように、固有な三単語シーケンスを記憶または記録し得る。別の実施例において、ユーザは、面前での会話または電話のいずれかで、別の人に対して三単語シーケンスを話してよい。他の人が位置を特定できるように他の人に対して位置を伝達するためである。別の実施例において、ユーザは、例えばｅメールまたはＳＭＳを使用して、別の人に対して三単語シーケンスをテキストとして送信することによって位置を伝達してよい。他の人が位置を特定できるようにである。別の実施例において、ユーザは、ソーシャルメディアを通じて三単語シーケンスを利用可能にすることによって、位置を伝達してよい。ソーシャルメディアに対するアクセスを有する人または人々が位置を特定できるようにである。
【００５０】
他の実施例においては、ユーザの現在位置を特定する代わりに、獲得された緯度と経度の座標は別の場所であってよい。例えば、会議または訪問のために提案された場所、もしくは、ユーザまたは第三者が興味を見い出し得る場所である。そうした実施例においては、緯度と経度の座標がユーザの現在位置ではないので、それらを異なる方法で獲得する必要がある。例えば、緯度と経度の座標は、ユーザのスマートフォンのマッピングアプリケーションから獲得することができる。表示された地図上で興味の場所をユーザが選択することによるものであり、そして、マッピングアプリケーションは、選択された場所の緯度と経度の座標を提供する。
【００５１】
図４は、本発明に従った、位置ベースのサービスの別の実施例に係るフローチャートである。図４の実施例において、スマートフォン２ａは、ユーザに知られた固有な三単語シーケンスを含む位置識別子によって特定された位置をユーザに示している。ユーザは、例えば、その場所へ旅行できるように、この位置を特定したいと望み得る。
【００５２】
最初に、ユーザは、リクエストステップ３０において、スマートフォンに対して、固有な三単語シーケンスを含む位置識別子によって特定された位置が示されるようにリクエストする。
【００５３】
次に、ユーザは、入力ステップ３１において、ユーザインターフェイス１２を使用して、三単語シーケンスの位置識別子を入力する。例えば、「パン  歌う  ホルスター（”ｂｒｅａｄ  ｓｉｎｇｉｎｇ  ｈｏｌｓｔｅｒ”）」である。代替的に、いくつかの実施例において、リクエスト及び/又は入力は、マイクロフォン１４を使用して口頭で為されてよい。そうした実施例において、スマートフォン２ａは、適切な音声認識手段を含むか、アクセスが必要である。
【００５４】
スマートフォン２ａは、入力された三単語シーケンスの位置識別子を位置特定モジュール１７へ渡す。そして、位置特定モジュール１７は、次に、送信ステップ３２において、スマートフォン２ａの通信機能を使用してインターネット４を通じて、サーバー３へ三単語シーケンスの位置識別子を送信する。
【００５５】
サーバー３は、次に、受信した固有な三単語シーケンスを、少数点第六位の緯度と経度の座標へと変換する。例えば、”７３．３５４７２１、２３．８７９５２７”である。この変換は、以降に詳細に説明されるアルゴリズムを使用して実行される。
【００５６】
サーバー３は、次に、返しステップ３４において、これらの緯度と経度の座標を、インターネット４を通じて、スマートフォン２ａの位置特定モジュール１７に対して返す。
【００５７】
位置特定モジュール１７は、次に、受信された緯度と経度の座標を位置決定手段１５へ渡す。そして、位置決定手段１５は、表示ステップ３５において、決定された位置をスマートフォン２ａのビジュアルディスプレイ１１上でユーザに対して表示する。例えば、位置決定手段１５は、決定された位置を含む、または中心に置かれた、地図をビジュアルディスプレイ１１上に表示し、そして、地図上のマークまたはカーソルとして決定された位置を示すことができる。代替的に、または追加的に、表示ステップ３５において、位置決定手段１５は、ユーザを決定された位置へガイドするための指示をビジュアルディスプレイ１１上に表示してよい。決定された位置に対してユーザが指示されているいくつかの実施例においては、スマートフォン２ａのスピーカを通じて、指示がスピーチとして与えられてよい。
【００５８】
図示された実施例において、システム１は、ユーザのスマートフォン２ａとパーソナルコンピュータ（ＰＣ）２ｂの形態におけるユーザデバイス２を含んでいる。他の実施例において、システム１は、代替的に、又は追加的に、他のタイプのコンピューティングデバイスの形態におけるユーザデバイス２を含んでよい。例えば、ラップトップコンピュータおよびタブレットコンピュータである。実施例に係るこのリストは、排他的であることを意図するものではない。
【００５９】
図示された実施例において、いくつかのユーザデバイスは、位置決定手段を含んでいるユーザのスマートフォン２ａである。全てのユーザデバイスが位置決定手段を含んでいることは、必須のものではない。他の実施例においては、いくつか又は全てのユーザデバイス２ａが、別個の位置決定手段と通信するように構成されてよい。他の実施例において、いくつか又は全てのユーザデバイス２ａは、位置決定手段に対するアクセスを有しなくてよい。位置決定手段に対するアクセスを有していないユーザデバイス２ａを通じては、システムのいくつかの機能性が利用可能でなくてよい。例えば、ユーザの現在位置を特定することである。しかしながら、システムは、なお、そうしたユーザデバイス２を通じて他のサービスを提供することができる。例えば、会議のために提案された場所を特定すること、または、位置識別子によって特定された位置を示すことである。
【００６０】
図示された実施例において、ユーザデバイスは、マッピングまたはナビゲーションモジュールを含んでいるユーザのスマートフォン２ａである。全てのユーザデバイスがマッピングまたはナビゲーションモジュールを含んでいることは、必須のものではない。
【００６１】
いくつかの実施例において、システム１は、ユーザのコンピューティングデバイスによってアクセスされ得るウェブサイト（ｗｅｂｓｉｔｅ）を含んでよい。いくつかの実施例において、ウェブサイトは、サーバーによってホストされ得る。他の実施例において、ウェブサイトは、別個のサービスからホストされ得る。そうした実施例において、ウェブサイトは、アクセスしているユーザコンピューティングデバイスに対してマッピング及び/又はナビゲーション機能を提供し得る。
【００６２】
上述のように、本発明に従えば、位置は、数字的座標の代わりに単語で構成された固有な位置識別子または名前を使用して特定される。所定のシーケンスにおける三単語で構成されている位置識別子をそれぞれに用いるものである。そして、本発明に係る方法および装置は、幾何学的座標を固有な三単語位置識別子へ変換することを実行し、かつ、固有な三単語位置識別子の幾何学的座標への変換を実行する。三単語シーケンスで構成されたそうした位置識別子は、一般的に、幾何学的座標を構成している数値列よりも、ユーザにとって、覚えること、かつ、文書による連絡および口頭で伝達することが非常に容易である。例えば、上記の最初の実施例を使用すれば、ほとんどの人々は、フレーズ「タブレット  マイクロフォン  励起」は、数値列「５２．１２３４５６、−０６５４３２１」よりも、覚えること、書くこと、言うこと、および、スピーチにおいて理解すること、が容易であることを見出すであろう。このことは、幾何学的座標を特定するために文字列と数字を使用する他の形態の幾何学的位置の符号化（ｅｎｃｏｄｉｎｇ）についても当てはまる。ほとんどの人々は、フレーズ「タブレット  マイクロフォン  励起」が、「ｔ６Ｄ３ｗｅｌ」といった、ランダムな文字と数字のシーケンスよりも、覚えること、書くこと、言うこと、および、スピーチにおいて理解すること、が容易であることを見出すであろう。
【００６３】
本発明の動作原理が、以降に説明される。小数点第六位まで定められた緯度と経度の座標の形態におけるＧＰＳ座標を使用することによって、地球表面上の全ての位置は、所定の概ね３メートル掛ける３メートルのボックスまたは領域であるとして一意的に特定され得る。この概ね３メートル掛ける３メートルの細分性に位置を定めることは、ほとんどの目的にとって十分に正確である。
【００６４】
地球の全表面をカバーするために、一意的に定められることを要する異なるボックスの全数量は、約５．７×１０１３個、または５７兆個である。それぞれ固有な名前が所定のシーケンスにおける３つの実際の単語で構成される場合に、この数量の固有な名前を定めることは、概ね３８５００個の実際の単語を必要とする。これは、英語といった、ほとんどの言語において直ちに利用可能なものである。
【００６５】
代替的な実施においては、地表に配置されたこれらの概ね３ｍ×３ｍのボックスが考慮されて位置識別子が割り当てられ、かつ、北極および南極周辺の一般的に非居住地域が排除されさえすれば、一意的に定められことを要する異なるボックスの全数量は、約２．７×１０１３個、または２７兆個である。それぞれ固有な名前が所定のシーケンスにおける３つの実際の単語で構成される場合に、この数量の固有な名前を定めることは、概ね２５０００個の実際の単語を必要とする。これは、英語といった、ほとんどの言語において直ちに利用可能なものである。
【００６６】
三単語シーケンスを形成するために使用される単語は、実際の単語であることが望ましい。このことは、ユーザにとって、単語を覚え、発音し、書き、かつ特定することをより容易にし得る。
【００６７】
上述のように、本発明においては、緯度と経度の座標を三単語シーケンスの位置識別子へと変換するためにアルゴリズムが使用される。その逆もまた同様である。
【００６８】
原則として、固有な小数点第六位の緯度と経度の座標を使用して定めることができるそれぞれ位置に対応する単語の組合せの全てを含むデータベースを生成すること、かつ、対応する三単語シーケンスまたは座標をそれぞれに調べるために、座標または三単語シーケンスを使用して変換を実行することが可能であるように見える。しかしながら、この力ずくの方法は、何百テラバイトものサイズのデータベースを必要とするであろう。特に、そうしたデータベースは、所望の変換を実行するために、あらゆる現実的な時間内で検索をすることが難しいか、または不可能であろう。従って、本発明においては、変換を実行するためのアルゴリズムが使用される。
【００６９】
図５においては、本発明に従った、変換アルゴリズムの一つの実施例に係る一般的な構成が示されている。全体としてのアルゴリズム４０は可逆的であり、かつ、アルゴリズムを構成しているそれぞれのステップも、また、可逆的である。従って、緯度と経度の座標を三単語シーケンスの位置識別子へと変換するために、そして、三単語シーケンスの位置識別子を緯度と経度の座標へと変換するために、同一のアルゴリズム４０を使用することができる。
【００７０】
セルとポジション値変換ステップ５１は、緯度と経度の座標を４つの整数であるセルとポジション値Ｘ、Ｙ、ｘ、ｙへと変換する。その逆もまた同様である。
【００７１】
誘引性格付け（ａｔｔａｃｔｉｖｅｎｅｓｓ  ｒａｔｉｎｇ）ステップ５２は、４つの整数であるセルとポジション値Ｘ、Ｙ、ｘ、ｙを１つの整数値ｎへと変換する。その逆もまた同様である。
【００７２】
シャッフルと非シャッフルステップ５３は、整数ｎを異なる整数ｍへと変換する。その逆もまた同様である。
【００７３】
分離と結合ステップ５４は、整数ｍを３つの整数ｉ、ｊ、ｋへと変換する。その逆もまた同様である。
【００７４】
単語変換ステップ５５は、整数ｉ、ｊ、ｋそれぞれを１つの単語へと変換する。その逆もまた同様である。
【００７５】
アルゴリズムは、緯度と経度の座標を三単語の位置識別子へと変換する。それぞれのステップを、５１−５２−５３−５４−５５のシーケンスにおいて、前向きに、第１の方向において実行することによるものである。アルゴリズムは、三単語の位置識別子を緯度と経度の座標へと変換する。それぞれのステップを、５５−５４−５３−５２−５１のシーケンスにおいて、後向きに、第２の方向において実行することによるものである。
【００７６】
アルゴリズムの異なるステップ５１から５５が、これから、より詳細に説明される。それらは、緯度と経度の座標を三単語の位置識別子へと変換するために実行される順序において説明される。
【００７７】
セル変換ステップ５１は、小数点第六位の緯度と経度の座標、ＧＰＳ座標といったものを、４つの整数であるセルとポジション値Ｘ、Ｙ、ｘ、ｙへと変換する。その逆もまた同様である。本発明は、世界の地表を概ね２．７×１０７個、つまり２千７百万個のセルのアレイ（ａｒｒａｙ）またはグリッド（ｇｒｉｄ）へと分割する。赤道において、これらのセルは、４．６４Ｋｍ四方であり、つまり一辺が約５Ｋｍである。地球の形状が概ね球形であるため、これらのセルの大きさと形状は変動する。セルは、南北方向において概ね幅が一定であり、東西方向において幅が変動している。セルの東西方向の寸法は、一般的に、赤道からより離れた位値において、より小さいものである。しかしながら、緯度と経度の座標およびセルの両方は、角度項（ａｎｇｕｌａｒ  ｔｅｒｍ）において定められるので、このことは、変換の精度に影響するものではない。
【００７８】
整数であるセル値のペアＸとＹは、どのセルに位置が入っているかを特定し、一方で、整数であるポジション値のペアｘとｙは、そのセルの中でどこに位置が定められているかを示すものである。特に、整数であるポジション値のペアｘとｙは、整数であるセル値のペアＸとＹによって特定されたセルの中に所定の３ｍ×３ｍのボックスを特定する。このように、整数であるセル値のペアＸとＹは、セルグリッドに関して定義された座標であり、一方で、整数であるポジション値のペアｘとｙは、セルの中の座標である。従って、４つの整数値Ｘ、Ｙ、ｘ、ｙは、セルとポジション値として参照される。セルは、セルの領域に基づいてポジション値ｘ、ｙの異なる範囲を割り当てられる。より大きな領域を伴うセルが、より多くのポジション値ｘ、ｙを割り当てられるようにである。従って、この理由のためにも、赤道から遠い位置において一般的により小さいものであるセルの東西の寸法は、変換の精度に影響しない。結果として、より大きな領域を伴うセルは、より多くの特定可能な位置を含んでいる。それぞれ特定可能な位置に係る領域の細分性、またはサイズが概ね一定になるようにである。赤道により近いセルは、一般的に、より多くのポジション値ｘ、ｙおよび特定可能な位置が割り当てられる。
【００７９】
緯度と経度の座標を三単語シーケンスへと変換する場合に使用される、第１の、前向き、方向においては、セルとポジション値Ｘ、Ｙ、ｘ、およびｙを計算するために、以下の式が使用される。
Ｘ＝ｆｌｏｏｒ（（Ｌｏｎｇｉｔｕｄｅ＋１８０）＊２４）                    （１）
Ｙ＝ｆｌｏｏｒ（（Ｌａｔｉｔｕｄｅ＋９０）＊２４）                      （２）
ｘ＝ｆｌｏｏｒ（Ｗ（Ｙ）＊ｆｒａｃ（（Ｌｏｎｇｉｔｕｄｅ＋１８０）＊２４））    （３）
ここで、Ｗ（Ｙ）＝ｍａｘ（１、ｆｌｏｏｒ（１５４６＊ｃｏｓ（（Ｙ＋０．５）／２４−９０）））である。
ｙ＝ｆｌｏｏｒ（１５４６＊ｆｒａｃ（（Ｌａｔｉｔｕｄｅ＋９０）＊２４））    （４）
【００８０】
ここで、ｆｌｏｏｒは、実数（ｒｅａｌ  ｎｕｍｂｅｒ）より小さいか等しい最大の整数である。実数ｑの小数部は、ｑ−ｆｌｏｏｒ（ｑ）であり、これをｆｒａｃ（ｑ）と書く。より略式的に、実数のｆｌｏｏｒは、小数点の前の部分であり、かつ、小数部は、小数点の後の部分である。（そこで、ｆｌｏｏｒ（３．１４１５）＝３であり、かつ、ｆｒａｃ（３．１４１５）＝０．１４１５である）
【００８１】
三単語シーケンスを緯度と経度の座標へと変換する場合に使用される、第２の、後向き、方向においては、緯度と経度の値を計算するために、以下の式が使用される。
緯度＝（Ｙ＋（ｙ＋０．５）／１５４６）／２４−９０          （１）
経度＝（Ｘ＋（ｘ＋０．５）／Ｗ（Ｙ））／２４−１８０      （２）
再び、ここで、Ｗ（Ｙ）＝ｍａｘ（１、ｆｌｏｏｒ（１５４６＊ｃｏｓ（（Ｙ＋０．５）／２４−９０）））である。
【００８２】
このセル変換ステップ５１は可逆的であるが、不完全に可逆的であるだけであって、完全には可逆的でない。つまり、最初の緯度と経度の座標が整数であるセルとポジション値へ変換され、次に、最終の緯度と経度の座標へと変換される場合には、最初と最終の緯度と経度の座標はわずかに違うものである。しかしながら、実際には違いは小さく、最大で約２．１ｍであって、三単語シーケンスによる位置特定の細分性が約３ｍ×３ｍである本実施例においては問題を生じない。この不完全な可逆性は、セルとポジション値が整数である一方で、緯度と経度の座標は実数であることから部分的に生じている。
【００８３】
誘引性格付けステップ５２は、４つの整数セル値Ｘ、Ｙ、ｘ、ｙを１つの整数値ｎへと変換する。その逆もまた同様である。整数値ｎは、誘引性格付けとして参照される。上述のように、セル変換ステップ５１に関して、整数であるセル値のペアＸとＹそれぞれは、所定のセルを特定する。それぞれのセルは、赤道において概ね５ｋｍ×５ｋｍ平方である。上述のように、セルのサイズと形状は、異なる位置において変動する。整数値ｎは、セルに対して割り当てられた値であり、システムのユーザがセルの中の位置を特定することを望むと期待される相対的な程度または量を示している。もしくは、別の言葉で言えば、セルの誘引性である。例えば、サハラ砂漠といった、原始地域におけるセルの中の位置を特定することを望むよりも、より多くのユーザは、ロンドンといった、主要都市の中央に位置するセルの中の位置を特定することを望むであろうことが期待される。より一般的には、辺地におけるセルの中の位置を特定することを望むよりも、より多くのユーザは、都市部におけるセルの中の位置を特定することを望むであろうことが期待される。
【００８４】
位置の誘引性格付けｎは、その位置に割り当てられる単語シーケンスを形成するためにどんな単語が使用されるかを決定するために使用される。図示された実施例において、ユーザにとってより興味があるものとみなされる位置には、より小さなｎの値が割り当てられる。そして、より小さなｎの値が割り当てられた位置には、その位置に割り当てられた単語シーケンスを形成するためによりユーザに優しい単語が割り当てられる。どの単語がよりユーザに優しいものとしてみなされるかという疑問は、当然にある程度は主観的である。しかしながら、単語は、一般的には、ユーザにとってより使い易い場合に、よりユーザに優しいものあるとみなされ得る。例えば、より短い単語、より一般的に使用される単語、他の単語と容易に間違えられない単語、及び/又は、より簡単な綴りと発音の単語は、一般的に、よりユーザに優しいと考えられ得る。
【００８５】
誘引性格付けステップ５２において、それぞれのセル、整数であるセル値の所定のペアＸとＹによって特定されるものには、対応するｎの値の範囲が割り当てられる。ここでは、その範囲の中のそれぞれのｎの値は、整数であるポジション値の所定のペアｘとｙに対応している。このように、４つの整数であるセル値Ｘ、Ｙ、ｘ、ｙは、一つの整数値ｎに対応している。その逆もまた同様である。
【００８６】
この対応は、表１に示されている。表１は、セル値ＸとＹの実施例と、ｎの数値範囲との間の説明的な関係を示している。表１における値は、包含される原理を説明するための例であって、実際に使用されるであろう値に必ずしも対応するものではないことに留意する。
【表１】
0006417397.tif 000002
【００８７】
表１は、表において３つのセルの実施例を示している。セルは、値（１００、６００）、（１１０、４０）、および（１７０、２０）を用いて、セル番号のペアＸとＹで特定される。それぞれのセルには、固有なｎの値の範囲が割り当てられている。
【００８８】
表１においてわかるように、異なるセルには、異なるたくさんの値を含むｎの値の範囲が割り当てられる。これは、セルに割り当てられたポジション値ｘ、ｙの範囲に対応しており、同様に、上述のように、セルの領域に依存している。表１に示された実施例において、セル（１００、６００）は主要都市の中にあり、高い誘引性を有しているものとみなされ、そして、最も低いｎ値の範囲を有している。セル（１７０、２０）は都会であり、中間の誘引性を有しているものとみなされ、そして、ｎ値の中間の範囲を有している。セル（１１０、４０）は辺地であり、低い誘引性を有しているものとみなされ、そして、最も高いｎ値の範囲を有している。さらに、表１における実施例において、セル（１１０、４０）は、最も広い領域を有し、最大サイズのｎ値の範囲を有している。セル（１００、６０）は、中間の領域を有し、中間サイズのｎ値の範囲を有している。そして、セル（１７０、２０）は、最も小さな領域を有し、最小サイズのｎ値の範囲を有している。
【００８９】
セルに対して誘引性を割り当てるシステムは、あらゆる所定のシステムにおいて望まれるのと同様に複雑であり得る。誘引性を割り当てるために使用されるプロシージャの複雑性は、システムのオペレーションに影響はない。一つの実施例において、誘引性は、セルがある国、および、辺地、都市部、または主要都市にあるか否かに基づいて、セルに対して割り当てられる。都市部のセルは、辺地のセルよりも高い誘引性が割り当てられる。そして、主要都市の中のセルは、都市部のセルよりも高い誘引性が割り当てられる。異なる国におけるセルは、例えば、システムオペレータの母国から、及び/又はシステムの言語を使用して、ユーザがその国に旅行することがどのくらいありそうかに基づいて、誘引性の値が割り当てられる。いくつかの実施例において、非常に主要都市であるとして、または、非常に一般的な旅行先として特定された都市の中のセルは、特例として取り扱われ、かつ、非常に高い誘引性を有しているものとしてみなされる。例えば、ロンドンとパリである。
【００９０】
４つの整数であるセルとポジション値Ｘ、Ｙ、ｘ、ｙを１つの整数値ｎへと変換するために、その逆もまた同様に、誘引性テーブルが使用される。誘引性テーブルは、それぞれのセルに対して割り当てられたｎ値範囲の最小値を含んでいるルックアップテーブルである。従って、ルックアップテーブルは、定義されたセルの数量、もしくは、別の言葉で言えば、有効な整数であるセル値ＸとＹのペアの数量に等しい数のエントリーを有する。
【００９１】
誘引性テーブルのコンテンツが表２に示されており、セル値ＸとＹ、と割り当てられたｎの数値範囲の最小値との間の説明的な関係を示している。表における値は包含されている原理を説明するための例示であって、実際に使用されるであろう値と必ずしも対応するものではないことに留意する。
【表２】
0006417397.tif 000003
【００９２】
表２は、表において３つの実施例を示しており、セルは、値（１００、６０）、（１１０、４０）および（１７０，２０）を用いたセル値のペアＸとＹによって定められている。それぞれセルは、固有なｎ値の範囲、および、従ってｎの最小値、が割り当てられている。
【００９３】
上述のように、約３千７百万個のセルしか存在せず、これは約５７兆個の特定可能な位置よりも非常に少ない数量である。そのため、それぞれのセルに対するエントリーを有するルックアップテーブを使用することは、現実的である。
【００９４】
緯度と経度の座標を三単語シーケンスへと変換する場合に使用される第１の、前向きの、方向において、誘引性テーブルから、セル値ＸとＹに対する範囲における最小ｎ値の値ｑが得られる。そして、次に、以下の式を使用して、誘引性値ｎが計算される。
ｎ＝ｑ＋１５４６ｘ＋ｙ                        （７）
【００９５】
多くの標準的なプログラミング言語において、誘引性テーブルであるルックアップテーブルは、ＸとＹによってインデックス付けされた２次元アレイ（ｔｗｏ−ｄｉｍｅｎｓｉｏｎａｌ  ａｒｒａｙ）として符号化され得る。ＳＱＬにおいては、単にデータベースであり得る。
【００９６】
地球の全表面をカバーしない代替的な実施においては、前向き方向においてオペレーションする場合に、所与のＸとＹのペアがテーブル／データベースの中に存在しなければ、このことは、問題とされる位置がシステムによってカバーされていない何処かであり、かつ、そのため三単語フレーズが割り当てられていないことを意味するものである。この事例においては、適切なエラーメッセージが表示されてよい。
【００９７】
三単語シーケンスを緯度と経度の座標へと変換する場合に使用される第２の、後向きの、方向において、位置はもう少し複雑である。ｎ値は、たいていセルに対して割り当てられたｎ値の範囲内の何処かに在り、最大値または最小値以外であるので、テーブルにおいてｎ値を単純にルックアップすることができない。定められた特定可能でない位置が非常に大量であるため、あらゆる可能なｎ値に対して別個のエントリーを伴うルックアップテーブルを使用することは現実的ではない。
【００９８】
従って、誘引性テーブルは、「範囲内の最小ｎ値」の値により保管されており、保管された誘引性テーブル（ｓｔｏｒｅｄ  ａｔｔｒａｃｔｉｖｅ  ｔａｂｌｅ）を結果として生じている。
【００９９】
表２のエントリーを保管することにより生成される保管された誘引性テーブルの一つの実施例が、表３に示されている。
【表３】
0006417397.tif 000004
【０１００】
次に、保管された誘引性テーブルが検索され、ｎより小さいか等しい、最大の「範囲内の最小ｎ値」が見つけられる。
【０１０１】
一旦、「範囲内の最小ｎ値」のこの値が見つかると、保管された誘引性テーブルから対応するＸとＹの値を読み出すことができる。次に、以下の式が使用されて、ｘとｙの値を計算する。
ｘ＝（ｎ−ｑ）ｄｉｖ１５４６                        （８）
ｙ＝（ｎ−ｑ）ｍｏｄ１５４６                        （９）
ここで、ｑは「範囲内の最小ｎ値」であり、ｄｉｖは結果の整数部であり、かつ、ｍｏｄは整数部の後の余りである。
【０１０２】
原理的に、検索は、全ての保管された誘引性テーブルをエントリー毎に調べることによって行われ得る。しかし、このことは、時間がかかり過ぎておそらく現実的ではない。インテリジェントな検索方法が使用されるべきである。いくつかの実施例においては、バイナリ検索方法が使用され、一方で、他の実施例においては、インターポレーション検索（ｉｎｔｅｒｐｏｌａｔｉｏｎ  ｓｅａｒｃｈ）方法が使用される。これらのインテリジェントな検索方法は、当業者に良く知られており、ここにおいて詳細には説明されない。
【０１０３】
保管された誘引性テーブルがＳＱＬ、または類似の言語、ＢＥＴＷＥＥＮオペレータを使用して２つの値の間の値に対する検索をサポートするもの、で実施されている実施例においては、以下の検索方法を使用することができない。あらゆるセルに対して割り当てられたｎ値の範囲の最大サイズは既知であり、かつ、あらゆるｎ値に対して、ｎとｎ最大サイズとの間の値を伴う少なくとも一つの「範囲内の最小ｎ値」が存在することが確かである。
【０１０４】
この誘引性格付けステップ５２は、完全に可逆的である。
【０１０５】
誘引性テーブルは上記の一つのテーブルとして参照されるが、いくつかの実施例においては、２つの異なって順序付けされたテーブルを維持することが、より好まれ得る。誘引性テーブルと上記に参照される保管された誘引性テーブルであり、異なる方向における変換のために使用されている別個のテーブルを伴うものである。
【０１０６】
シャッフルと非シャッフルステップ５３は、整数ｎを異なる整数ｍへと変換する。その逆もまた同様である。
【０１０７】
このステップは必須ではなく、いくつかの実施例においては省略されてよい。しかしながら、それは多くの利点を提供するものである。
【０１０８】
上述のように、誘引性格付けステップ５２において、同一のセルは類似のｎ値が割り当てられる傾向にある。ｎ値が単語へと変換される方法の結果として、その逆もまた同様であるが、類似のｎ値を伴う位置は、おそらく類似の三単語シーケンスを受取るだろう。例えば、２つの同一の単語と異なる第３の単語を伴うものである。
【０１０９】
このことは、三単語シーケンスを位置へと変換するユーザにとって問題を結果として生じ得る。三単語シーケンスが１つの間違った単語を用いて不正確に入力された場合に、このことは、正しい位置に対して比較的近くにあるものと特定されている間違った位値を結果として生じ得るというものである。そうした間違っているが近い位置はもっともらしくあり、そして、ユーザによって間違いであると認識されないことがある。シャッフルと非シャッフルステップ５３を含むことによって、類似のｎ値を伴う位置が類似の三単語を受け取ることは非常に可能性が低いことが保証され得る。１つの単語を間違って三単語シーケンスが不正確に入力された場合に、このことが、おそらく正しい位置から離れた間違った位置が特定されることを結果として生じるようにである。そうした間違った離れた位置は、もっともらしいものではなく、ユーザによって間違っていると認識され得るものである。
【０１１０】
いくつかの実施例において、システムは、間違った位置は離れており、もっともらしいものであるとユーザが特定することを支援し得る。この支援は、例えば、システムのユーザインターフェイスに備えられ得る。いくつかの実施例において、システムは、どの国、もし適用可能である場合には、どの街の中に特定された位置があるかを強調することができる。いくつかの実施例において、システムは、特定された位置が、ユーザの現在位置に対して違った街及び/又は国にある場合を示すことができる。実際に、システムの多くのアプリケーションにおいて、このことは、エラーが生じたことを、ユーザに対して明らかにする。
【０１１１】
いくつかの実施例においては、特定された位置が間違っており、エラーが生じたことをユーザが意識している場合に、システムは、どの単語が違っているかをユーザが特定することを支援し得る。間違いを特定すること、および、正しい三単語シーケンスと位置を回復することを支援するようにである。この支援は、例えば、システムのユーザインターフェイスに備えられ得る。
【０１１２】
また、上述のように、誘引性格付けステップ５２においては、より誘引性があるものとみなされたセルにおける位置は、より低いｎ値が割り当てられる。以下に説明するように、より低いｎ値を伴い位置は、より一般的な単語から構成された三単語シーケンスが割り当てられる。
【０１１３】
このことは、セルは、異なる誘引性値が割り当てられて順番にランク付けされることを要するので、異なる位置は、異なる誘引性値が割り当てられることが避けられないという問題を結果として生じ得る。そして、割り当てられた単語は、多かれ少なかれ、「より良い」ものであるとみなされる。実際には、結果は、同一タイプのセル、例えば異なる主要都市の中心におけるセルについて、目立って異なることもなさそうであるが、あらゆる知覚されたバイアスは、ユーザの態度に対してインパクトを有し、かつ、パブリックリレーションのインパクトを有し得る。シャッフルと非シャッフルステップ５３を含むことによって、類似のタイプのセルは類似のレベルの共通性を有する単語の組合せが割り当てられることを保証し得る。そして、あらゆるユーザのバイアスの知覚を避けることができる。
【０１１４】
シャッフルと非シャッフルステップ５３は、可逆的に、整数ｎを異なる整数ｍのセットへとシャッフルし、その逆もまた同様である。示された実施例において、０−１９９９９９９９９９９の値を用いた整数は、お互いにシャッフルされて、次に、２０００００００００整数のそれぞれ後続のブロックにおける値を伴う整数がお互いにシャッフルされる。他の実施例においては、異なるサイズのブロックが使用されてよい。いくつかの実施例においては、異なるブロックはサイズが変動してよい。いくつかの実施例において、ブロックのサイズは、時間で変動してよい。
【０１１５】
緯度と経度の座標を三単語シーケンスへと変換する場合に使用される、第１の、前向き、方向においては、最初に、シャッフルされるべき整数値ｎが０−１９９９９９９９９９９の範囲内に在るか否かが判断される。そうでない場合に、以下の式を使用して、ｎがｍへ変換される。
ｍ＝（３６３９３１１＊ｎ）ｍｏｄ２００００００００００              （１０）
【０１１６】
そうでなければ、ｎが２００００００００００より大きいか等しい場合に、以下の式を使用して、ｎがｍへ変換される。
ｍ＝（２０００００００００＊（ｎ  ｄｉｖ２０００００００００））＋（（２４０３６５８３＊（ｎ  ｍｏｄ２０００００００００））ｍｏｄ２０００００００００）
（１１）
【０１１７】
三単語シーケンスを緯度と経度の座標へと変換する場合に使用される、第２の、後向き、方向においては、最初に、シャッフルされるべき整数値ｍが０−１９９９９９９９９９９の範囲内に在るか否かが判断される。そうでない場合に、以下の式を使用して、ｍがｎへ変換される。
ｎ＝（５０８３３７７＊ｍ）ｍｏｄ２００００００００００              （１２）
【０１１８】
そうでなければ、ｍが２００００００００００より大きいか等しい場合に、以下の式を使用して、ｍがｎへ変換される。
ｎ＝（２０００００００００＊（ｍ  ｄｉｖ２０００００００００））＋（（９６６４１０８２４７＊（ｍ  ｍｏｄ２０００００００００））ｍｏｄ２０００００００００）
（１３）
【０１１９】
所定の式１０から１３は、上記の典型的なブロックサイズに関するものである。異なる、または変動している、ブロックサイズが使用される場合に、式１０から１３に対して対応する変化がなされるべきである。例えば、異なるサイズのブロックまたはバンドを提供するために、ブロックまたはバンドの開始番号は、サイズが増加している一連の選択された整数から派生してよい。一連の整数は、望ましくは０で始まるものであり、連続する異なるサイズのバンドのそれぞれの開始値を定めるように、整数が操作される。
【０１２０】
これを達成する一つの方法は、連続する異なるサイズのバンドを定めるために、選択された整数について数学的オペレーションを実行することであり得る。数学的オペレーションは、選択された整数の三乗の値をとることを含んでよい。異なるサイズのバンドを定める他の方法も、また、有効であることが正しく理解されよう。一連の整数が、選択された整数の等差数列、例えば、０、３０００、６０００、９０００、等、を含む場合に、いくつかの利点が得られる。しかし、これは必須ではない。
【０１２１】
緯度と経度の座標を三単語シーケンスへと変換する場合に使用される、第１の、前向き、方向においては、式（１０）と（１１）は、以下のように（１１’）として示される一つの式へと折り込まれ得る。
ｍ＝［ｎバンドの開始］＋（（Ｆ＿ｉ＊［バンド内のｎの位置］）ｍｏｄ［ｎバンドのサイズ］                                                      （１１’）
【０１２２】
三単語シーケンスを緯度と経度の座標へと変換する場合に使用される、第２の、後向き、方向においては、式（１２）と（１３）は、以下のように（１３’）として示される一つの式へ折り込まれ得る。
ｎ＝［ｍバンドの開始］＋（（Ｒ＿ｉ＊［バンド内のｍの位置］）ｍｏｄ［ｍバンドのサイズ］                                                      （１３’）
【０１２３】
それぞれの式（１１’）と（１３’）について、ｉはバンドをインデックス付けしたものであり、かつ、ｍとｎは、いつでも同一のバンドの中にある。仮に、［ｍバンドのサイズ］＝［ｎバンドのサイズ］＝Ｓ＿ｉ、となるようにである。
【０１２４】
これが与えられると、（前向きおよび後向きシャッフルに対する）要求は、全てのＫに対して、Ｆ＿ｉ＊Ｒ＊ｉ＝Ｋ＊Ｓ＿ｉ＋１、となることだけである。
【０１２５】
いくつかの実施例において、シャッフルと非シャッフルステップ５３は、複数のシャッフルまたは非シャッフルオペレーションを連続して実行してよい。
【０１２６】
分離と結合ステップ５４は、整数ｍを３つの整数ｉ、ｊ、ｋへと変換する。その逆もまた同様である。これを行うことにおける一つの要求は、変換が、ｍの小さな値とｉ，ｊおよびｋの小さな値との間を移動すること、を保証することである。この要求は必須のものではない。しかし、この要求が満たされる場合には、単語変換ステップ５５が簡素化されるだろう。
【０１２７】
シャッフルと非シャッフルステップ５３が実行されない実施例においては、分離と結合ステップ５４が整数ｎを３つの整数ｉ，ｊ，ｋへと変換し、その逆もまた同様であることに留意すべきである。
【０１２８】
緯度と経度の座標を三単語シーケンスへと変換する場合に使用される、第１の、前向き、方向においては、整数ｍが３つの整数ｉ，ｊ，ｋへと変換される。
【０１２９】
最初に、ｌ＝ｆｌｏｏｒ（立方根（ｍ））と定義する。そして、以下の場合であることが保証される。
ｌ３≦ｍ＜（ｌ＋１）３、つまり、ｌ３≦ｍ≦ｌ３＋３ｌ２＋３ｌ              （１４）
【０１３０】
次に、ｍの値に応じて、３つの可能な場合が存在する。
第１の場合は、ｌ３≦ｍ＜ｌ３＋ｌ２＋２ｌ＋１の場合であり、
ｒ＝ｍ−ｌ３  とおき、
ｉ＝ｌ、ｊ＝ｒ  ｄｉｖ（ｌ＋１）、ｋ＝ｒ  ｍｏｄ（ｌ＋１）  とする。
第２の場合は、ｌ３＋ｌ２＋２ｌ＋１≦ｍ＜ｌ３＋２ｌ２＋３ｌ＋１の場合であり、
ｒ＝ｍ−（ｌ３＋ｌ２＋２ｌ＋１）  とおき、
ｉ＝ｒ  ｄｉｖ（ｌ＋１）、ｊ＝ｌ、ｋ＝ｒ  ｍｏｄ（ｌ＋１）  とする。
第３の場合は、ｌ３＋２ｌ２＋３ｌ＋１≦ｍ＜ｌ３＋３ｌ２＋３ｌ＋１の場合であり、
ｒ＝ｍ−（ｌ３＋２ｌ２＋３ｌ＋１）  とおき、
ｉ＝ｒ  ｄｉｖ（ｌ）、ｊ＝ｒ  ｍｏｄ（ｌ）、ｋ＝ｌ  とする。
【０１３１】
三単語シーケンスを緯度と経度の座標へと変換する場合に使用される、第２の、後向き、方向においては、３つの整数ｉ，ｊ，ｋが１つの整数ｍへと変換される。
【０１３２】
最初に、ｌ＝ｍａｘ（ｉ，ｊ，ｋ）と定義する。
ｉ＝ｌである場合、ｍの値は、以下のとおりである。
ｍ＝ｌ３＋（ｌ＋１）ｊ＋ｋ                                （１５）
そうではなく、ｊ＝ｌである場合、ｍの値は、以下のとおりである。
ｍ＝ｌ３＋ｌ２＋２ｌ＋１＋（ｌ＋１）ｉ＋ｋ                  （１６）
そうではなく、ｋ＝ｌである場合、ｍの値は、以下のとおりである。
ｍ＝ｌ３＋２ｌ２＋３ｌ＋１＋ｌｉ＋ｊ                        （１７）
【０１３３】
単語変換ステップ５５は、整数ｉ、ｊ、ｋそれぞれを１つの単語へと変換する。その逆もまた同様である。
【０１３４】
緯度と経度の座標を三単語シーケンスへと変換する場合に使用される、第１の、前向き、方向においては、３つの整数ｉ、ｊおよびｋそれぞれに対応する単語を特定することが必要である。
【０１３５】
このことは、順序付けされた単語リストをコンパイルすること、および、整数ｉ、ｊおよびｋそれぞれの値に対応する順序で単語を選択することによって為され得る。上述のように、一つの実施例において、順序付けされた単語リストは、３８０００個の異なる単語を含んでいる。選択された３つの単語は、次に、以下の順番に配置される。最初は、ｉ値に対応する単語であり、次に、ｊ値に対応する単語であり、そして、ｋ値に対応する単語であって、三単語シーケンスを形成する。
【０１３６】
一つの実施例において、単語リストは、文字列のアレイとして保管されており、単語の選択はアレイのルックアップによって行われる。例えば、整数ｉが、アレイにおけるｉ次（ｉｔｈ）文字列に変換されるようにである。示された実施例においては、ｉ、ｊおよびｋの値がゼロであることが可能であり、そして、このアレイはゼロインデックス付けされる（ｚｅｒｏ  ｉｎｄｅｘｅｄ）必要がある。
【０１３７】
この実施例においては、単語シーケンスにおける２つ、または、さらに３つ全ての単語が同一であることが可能である。いくつかの代替的な実施例において、単語シーケンスは、常に３つの異なる単語を含むように選択されてよい。
【０１３８】
順序付けされた単語リストは、リストにおいてより低い位置または値が割り当てられた最もユーザに優しい単語を用いて順序付けされるべきである。ある程度、ユーザへの優しさに対する疑問は主観的であり、異なる言語においては異なる考慮を含み得るものである。しかしながら、一般的には、より通常に使用される単語、より短い単語、および、容易なスペルで発音が容易な単語が、よりユーザに優しい単語としてみなされる。
【０１３９】
いくつかの実施例において、順序付けされた単語リストは、相互に同音異義語である単語を含まない。このことは、起こり得る混乱を避けるという利点を提供し得るものである。
【０１４０】
ｉの次にｊその次にｋという単語順序の使用は、必須ではない。矛盾なく同一の順序が使用されるとすれば、別の順序を使用することも可能であろう。例えば、ｊの次にｉその次にｋという単語順序が使用されるであろう。
【０１４１】
三単語シーケンスを緯度と経度の座標へと変換する場合に使用される、第２の、後向き、方向においては、三単語を３つの対応する整数ｉ，ｊおよびｋへと変換することが必要である。このことは、連合性アレイ（ａｓｓｏｃｉａｔｉｖｅ  ａｒｒａｙ）を使用して行われる。時どき、辞書またはマップとして参照されるものである。
【０１４２】
連合性アレイにおいて、３つの単語の順序が、Ｗ０、Ｗ１、Ｗ２である場合、連合性アレイａは、それぞれの整数について、ａ[Ｗｑ]＝ｑと設定することによって初期化される（ｉｎｉｔｉａｌｉｚｅｄ）。それぞれの単語は、次に、連合性アレイにおいて、整数に対応する単語をルックアップすることによって、整数へと変換され得る。
【０１４３】
ユーザが無効な単語、つまり、連合性アレイにおいて見つけることができない単語を入力した場合、認識されなかった単語を特定して、ユーザのスマートフォン２のディスプレイに表示するために、適切なエラーメッセージが返される。
【０１４４】
さらに、実際には、よくあることであろうが、有効な３つの整数ｉ、ｊ、ｋよりも可能性のある単語の組合せ、および、特定可能な位置が存在する。この場合には、ユーザが、特定可能な位置に対応する有効な三単語シーケンスでない３つの個別の有効な単語を入力することができるだろう。このことが生じた場合、三単語シーケンスを緯度と経度の座標へと変換する場合に使用される、第２の、後向き、方向においては、派生した整数ｍ（または、シャッフルと非シャッフルステップ５３を含んでいない実施例においてはｎ）が、無効な値を有することになり、ユーザのスマートフォン２のディスプレイに表示するために、適切なエラーメッセージが返される。三単語シーケンスが間違っていると述べているものである。
【０１４５】
いくつかの実施例において、順序付けされた単語リストは、相互に同音異義語である単語を含まない。このことは、起こり得る混乱を避けるという利点を提供し得るものである。
【０１４６】
いくつかの実施例においては、第２の、後向き、方向においてオペレーションする場合に、システムは、順序付けされた単語リストにおいて、同音異義語である入力単語を特定し、そして、次に、これらの入力単語を、まるで順序付けされたリストにおける同音異義語であるかのように、取り扱うことができる。いくつかの実施例において、このことは、自動的に行われ得るものであり、他の実施例においては、ユーザがプロンプト（ｐｒｏｍｐｔ）され、代替が為されるべきか否かを問われることになり得る。
【０１４７】
いくつかの実施例において、順序付けされた単語リストは、相互に同音異義語である複数の単語を一つのエントリーとして含み得る。そうした実施例においては、第２の、後向き、方向においてオペレーションする場合に、システムは、あらゆるこれらの単語の入力を相互に同等なものとしてみなし得る。それら全てが、ｉ、ｊおよびｋに対して同一の整数値を生成するようにである。そうした実施例において、システムは、第１の、前向き、方向においてオペレーションする場合にだけ、複数の同音異義語のうち一つを出力するように構成され得る。
【０１４８】
いくつかの実施例において、システムは、順序付けされた単語リストにおける代替的なスペルの単語である入力単語を特定して、次に、これらの入力単語を、まるで順序付けされたリストにおいて代替的にスペルされた単語に対応するものであるかのように、取り扱うことができる。
【０１４９】
任意的に、システム１は、追加のビスポーク（ｂｅｓｐｏｋｅ）単語機能を備えてよい。このビスポーク単語機能は、三単語シーケンスを緯度と経度の座標へと変換する場合に使用される第２の、後向きの、方向においてだけ適用される。ビスポーク単語は、ユーザによって選択された一つの単語、または英数字シーケンスであり、ユーザによって選択された所定の位置に割り当てられたものである。ユーザは、ビスポーク単語の選択に対して課金されてよい。
【０１５０】
このオプションが使用される場合に、サーバー３は、全てのビスポーク単語および対応する位置の緯度と経度の座標を保管しているデータを維持管理する。サーバー１が、ユーザのスマートフォン２からビスポーク単語を受け取った場合、上述のステップのシーケンスに従うよりもむしろ、サーバーはデータベースにおいてビスポーク単語をルックアップして、対応する位置の緯度と経度の座標を返す。実際には、ビスポーク単語の数量は特定可能な位置の総数に比べて非常に小さいので、そうした単純なルックアップアプローチは、ビスポーク単語を取扱うのに許容できるように早い。
【０１５１】
同一の位置に対応する異なるビスポーク単語が数多く存在し得ることに留意すべきである。それぞれの位置が一つの三単語シーケンスに対応している、三単語シーケンスとは対照的なものである。
【０１５２】
ビスポーク単語は、それらを選択するユーザの私的なものではなく、選択された位置を見つけるあらゆるユーザによって使用され得ることが理解されるべきである。つまり、ビスポーク単語は、それらを意識するあらゆるユーザによって使用され得るものである。
【０１５３】
例えば、ホテルは、「サンザシホテル（”ｈａｗｔｈｏｒｎｈｏｔｅｌ”）」というビスポーク単語を選択して、これを自身の位置に対して割り当てることができよう。顧客または配達員が、それを使用してホテルを見つけられるようにである。ホテルは、一般的に、３ｍ×３ｍより、むしろ大きいので、このビスポーク単語が、ホテルのメインエントランスの外側にある道路または舗道に対して割り当てられる可能性が高い。さらに、大きなホテルは、異なる位置に対する複数のビスポーク単語を有することもあろう。通用口対して「サンザシホテル通用口（”ｈａｗｔｈｏｒｎｈｏｔｅｌｓｅｒｖｉｃｅｅｎｔｒａｎｃｅ”）」といったものである。
【０１５４】
ビスポーク単語が一つの単語または文字列であることは必須ではない。しかしながら、このことは、ビスポーク単語と三単語シーケンスが混同され得ないことを保証するために望ましいものである。一つの単語の使用により、サーバーは、より複雑な分析を全く必要とすることなく、単に構文（ｓｙｎｔａｘ）によって、容易にビスポーク単語を標準的な三単語シーケンスと区別することができる。
【０１５５】
任意的に、他の実施例においては、ビスポーク単語が、緯度と経度の座標を単語へと変換する場合に使用される、第１の、前向き、方向においても、利用可能であり得る。再度、実際には、ビスポーク単語の数量は特定が可能な位置の総数に比べて非常に小さいので、入力された座標のセットが対応するビスポーク単語を有するか否かを検査し、かつ、ビスポーク単語を提供するために、そうした単純なルックアップアプローチが使用され得る。
【０１５６】
いくつかの実施例において、システム１は、複数の異なる言語において動作するように構成され得る。複数の言語をサポートするために、それぞれの言語に対して、別個の順序付けされた単語リストが提供される。
【０１５７】
複数言語システムにおいては、それぞれの言語における単語リストが、異なる言語に対するリストの中に同一の単語が存在しないように、構成され得る。例えば、単語「贈り物（”ｇｉｆｔ”）」は、英語とドイツ語の両方において有効であるが、この単語は、英語およびドイツ語の順序付けされた単語リストのうち一つだけの中に含まれるであろう。このことは、三単語シーケンスを緯度と経度の座標へと変換する場合に使用される第２の、後向きの、方向において動作する場合に、言語を語られる必要なく、単語自身から入力された単語シーケンスの言語を特定することができるという利点を提供し得る。単語は、一つの言語の単語リストにおいてだけ現れるからである。
【０１５８】
複数言語システムにおいて、緯度と経度の座標を三単語シーケンスへと変換する場合に使用される、第１の、前向き、方向において動作する場合には、どの言語で三単語シーケンスが提供されるべきかをシステムに知らせることが、ユーザにとって望ましいことであり得る。いくつかの実施例において、この知らせは、デフォルトで実行されてよい。例えば、システムは、システムサーバーにアクセスするためにウェブサイト上で使用するようにユーザが選択したものと同一の言語における三単語シーケンスが提供されることを、ユーザが望んでいると仮定し得る。いくつかの実施例においては、そうした知らせが無い場合、システムは、デフォルト言語における三単語シーケンスを提供してよい。
【０１５９】
複数言語システムにおいて、異なるセルに対して割り当てられる誘引性格付けは、異なる言語において変動してよい。例えば、英語においては、ロンドンがパリよりも高い誘引性格付けを有するであろうし、一方で、フランスにおいては、パリがロンドンよりも高い誘引性格付けを有するであろう。このことは、誘引性格付けステップ５２が、それぞれの言語に対して別個に実行されることを要求する。異なる言語においては同一のセルに対して割り当てられている異なるｎ値を用いるものである。
【０１６０】
図示された実施例において、より誘引性があると格付けされたセルには、より低いｎ値が割り当てられる。他の実施例においては、アルゴリズムの他のステップに対して適切な変更がなされるとすれば、より誘引性があると格付けされたセルに、より高いｎ値が割り当てられてよい。
【０１６１】
図示された実施例において、三単語シーケンスは、所定のシーケンスである必要がある。他の実施例においては、単語シーケンスが考慮されなくてよい。しかしながら、単語シーケンスが考慮されない場合は、システムの効率が減少されることが期待される。つまり、所与の数量に位置を特定するために、より多くの固有な単語が要求されることになる。
【０１６２】
図示された実施例において、システムは、世界の全表面をカバーする。他の実施例においては、カバーされる地理的領域がより小さくてよい。いくつかの実施例において、システムは、陸地（ｌａｎｄ  ａｒｅａ）だけをカバーし得る。他の実施例においては、両極または一方の極の周辺の実質的に非居住の荒野（ｕｎｉｎｈａｂｉｔｅｄ  ｗｉｌｄｎｅｓｓ  ａｒｅａ）は、排除されてよい。いくつかの実施例において、システムは、所定の大陸、国、または地域だけをカバーしてよい。一つの実施例において、システムは、ヨーロッパだけをカバーし、一つの実施例において、システムは、英国だけをカバーしてよい。
【０１６３】
図示された実施例においては、三単語シーケンスが使用される。他の実施例においては、異なる数量の単語を含むシーケンスが使用され得る。三単語の使用は、利点を提供し得る。２つの単語だけが使用される場合には、必要とされる固有な単語の数量が多過ぎて、一つの言語によって容易に提供することができないし、かつ、ユーザに対して知られていない単語を使用する必要があるだろう。システムによってカバーされる領域がより小さい場合には、こうした難しさは生じない。三単語より多い単語が使用される場合に、ユーザは、単語シーケンスを覚えるのが難しいだろう。
【０１６４】
図示された実施例において、システムは、ユーザのスマートフォンを含んでいる。他の実施例において、スマートフォンは、代替的なモバイル通信機器または他のユーザデバイスに置き換えられてよい。そうした代替的なユーザデバイスは、サーバー３と通信することができるように十分な通信機能が必要である。しかしながら、それらの主要な機能は、必ずしもユーザに対してモバイル通信を提供することではない。
【０１６５】
図示された実施例において、システムは、概ね３ｍの細分性で位置を特定する。そこでは、概ね３メートル掛ける３メートルのボックスまたは領域であるものとして、それぞれの位置が特定される。他の実施例において、位置は、異なるサイズを有するボックスまたは領域であるものとして、異なる細分性を用いて特定されてよい。
【０１６６】
図示された実施例において、位置座標は、小数点第六位まで定めた緯度と経度の座標の形態におけるＧＰＳ座標である。他の実施例においては、異なる座標系が使用されてよい。さらに、いくつかの実施例においては、異なるレベルの精度を有する座標が使用されてよい。本発明が位置を特定することができる精度、つまり、説明された実施例において特定されたボックスまたは領域のサイズは、究極的には、位置座標の精度に依存している。
【０１６７】
図示された実施例において、位置決定手段は、ＧＰＳといった、衛星ベースのナビゲーションシステムである。他の実施例においては、異なるナビゲーションシステムが使用されてよい。
【０１６８】
図示された実施例においては、一つの中央サーバーが使用される。他の実施例においては、一つの中央サーバーの代わりに、サーバーのネットワークといった、分散処理システムが使用されてよい。
【０１６９】
図示された実施例においては、システムの異なる部分間での通信のためにインターネットが使用される。他の実施例においては、異なるデータ通信ネットワークが使用されてよい。いくつかの実施例において、ユーザデバイスは、サーバーと通信するために、数多くの異なる通信手段を使用することができる。
【０１７０】
図示された実施例において、位置特定システムの実施例は、複数のスマートフォン、または他のコンピューティングデバイスによってアクセスされる中央サーバーを含んでいる。他の実施例においては、システム全体が、ユーザのパーソナルコンピュータ（ＰＣ）またはスマートフォンといった、一つのコンピューティングデバイスにおいて提供されてよい。一般的に、図示されたサーバーベースのアーキテクチャが、ユーザによって好まれることが期待される。いくつかのユーザのコンピューティングデバイス上に提供するためには、システムによって要求されるデータストレージの量と処理が難しく又は費用がかかるものだからである。そうは言っても、ハンドヘルドコンピューティングデバイス、例えば、スマートフォン、タブレットコンピュータ、または類似のものといった、一つのコンピューティングデバイスにおいてシステム全体を提供することの利点は、システムは、すると、オフラインで使用され得ることである。オフラインによるということは、インターネットといったネットワークにわたりサーバーといった別のコンピューティングデバイスに接続する必要なく、本発明に従った位置識別子を生成し、または、位置識別子から位置を特定するために、システムが使用され得ることを意味する。ハンドヘルドコンピューティングデバイスがネットワークに対して接続しているか、接続することができるか否かに関わりなくである。上記のように、位置の地理的座標を獲得するための手段は、ハンドヘルドコンピューティングデバイスの一部を含んでよく、または、それに無線又は有線接続によって接続されるアクセサリーデバイスであってよい。
【０１７１】
上述のシステムおよび装置は、少なくとも部分的にソフトウェアにおいて実施され得る。当業者であれば、上記の装置は、汎用コンピュータ設備を使用して、または、ビスポーク設備を使用して実施され得ることを正しく理解するだろう。
【０１７２】
コンピュータ上で実行されるソフトウェアモジュールによって、システムの異なるコンポーネントが提供され得る。
【０１７３】
そうしたコンピュータのハードウェアエレメント、オペレーティングシステム、およびプログラミング言語は、事実上は従来のものであり、当業者であれば、十分これらに精通していることが想定されている。もちろん、サーバー機能は、数多くの同様なプラットフォーム上で分散形式において実施されてよい。処理の負荷（ｌｏａｄ）を分散するためである。
【０１７４】
ここでは、ここにおいて説明された方法および装置の態様が、サーバーといったコンピューティングデバイス上で実行され得る。技術のプログラム態様は、典型的には、マシンで読取り可能なタイプの媒体において維持され、または、具現化される実行可能なコード及び/又は関連するデータの形式における「プロダクト（”ｐｒｏｄｕｃｔ”）」または「製品（”ａｒｔｉｌｅ  ｏｆ  ｍａｎｕｆａｃｔｕｒｅ”）」として考えられてよい。「ストレージ（”ｓｔｏｒａｇｅ”）」タイプの媒体は、コンピュータ、プロセッサ又は類似のもの、または、これらの関連モジュールに係るあらゆる又は全てのメモリを含む。種々の半導体メモリ、テープドライブ、ディスクドライブ、等といったものであり、ソフトウェアプログラミングのためにどんな時でもストレージを提供することができる。そうした通信は、例えば、一つのコンピュータまたはプロセッサから、別のコンピュータまたはプロセッサへとソフトウェアのローディングができるようにし得る。このように、ソフトウェアエレメントを運び得る別のタイプの媒体は、光学的、電気的、または電磁気的な波動（ｗａｖｅ）を含んでいる。ローカルデバイス間の物理的インターフェイスにわたり、有線または光陸上通信線（ｌａｎｄ  ｌｉｎｅ）を通じて、および種々のエアーリンク（ａｉｒ−ｌｉｎｋ）上で、使用されるといったものである。有線または無線リンクといった、そうした波動を伝搬する物理的エレメント、有線または無線リンク、光リンク等といったものは、また、ソフトウェアを運ぶ媒体として考えられてよい。ここにおいて使用されるように、有形の固定「ストレージ」媒体に限定されていなければ、コンピュータまたはマシンで「読取り可能な媒体（”ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ”）」といった用語は、実行のためにプロセッサに対してインストラクションを提供することに関与するあらゆる媒体を参照するものである。
【０１７５】
従って、マシンで読取り可能な媒体は、多くの形式をとり得る。これらに限定されるわけではないが、有形のストレージキャリア、搬送波、または物理的トランザクション媒体を含んでいる。不揮発性ストレージ媒体は、例えば、コンピュータまたは類似のものにおけるあらゆるストレージデバイスといった、光または磁気ディスクを含む。例えば、図面に示されている、エンコーダ、デコーダ、等を実施するために使用され得るといったものである。揮発性ストレージ媒体は、コンピュータプラットフォームのメインメモリといった、ダイナミックメモリを含む。有形の伝送媒体は、導線および光ファイバーの同軸ケーブルを含み、コンピュータシステムの中でバスを成す電線（ｗｉｒｅ）を含んでいる。搬送波伝送媒体は、電気的または電磁気的信号、もしくは、音響または光波動の形態をとり得る。ラジオ周波数（ＲＦ）および赤外線（ＩＲ）データ通信の最中に生成されるといったものである。コンピュータで読取り可能な媒体の共通形態は、従って、例えば、以下のものを含んでいる。フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、あらゆる他の磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤまたはＤＶＤ−ＲＯＭ、あらゆる他の光媒体、パンチカード、紙テープ、穴のパターンを用いたあらゆる他の物理的ストレージ媒体、ＲＡＭ、ＰＲＯＭおよびＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、あらゆる他のメモリチップまたはカートリッジ、データまたはインストラクションを伝送する搬送波、そうした搬送波を伝送するケーブルまたはリンク、または、そこからコンピュータがプログラミングコード及び/又はデータを読み出すことができるあらゆる他の媒体、である。コンピュータで読取り可能な媒体に係るこれらの形態の多くは、実行のためにプロセッサに対して、一つまたはそれ以上のインストラクションに係る一つまたはそれ以上のシーケンスを搬送すること関与され得る。
【０１７６】
当業者であれば、上述されたのはベストモードであると考えられるものである一方で、適切である場合に、本発明を実施する他のモードが記述されており、望ましい実施例に係るこの記述において開示された所定の装置構成または方法ステップに本発明が限定されるべきでないことが正しく理解されよう。種々の変形がここにおいて為され得ること、ここにおいて開示された技術的事項が種々の形式と事例において実施され得ること、および、教示は数多くのアプリケーションにおいて適用され得るものであり、そのうち幾らかだけがここにおいて説明されてきたこと、が理解される。以降の請求項によって、本教示の真の範囲内に属するあらゆる及び全てのアプリケーション、変更、及び/又は変形について特許請求することが意図されている。当業者であれば、本発明が広い範囲のアプリケーションを有すること、および、添付の請求項において定められる発明的な概念から逸脱することなく本実施例は広い範囲の変更をとり得ること、を認識するであろう。
【０１７７】
本発明は、所定の典型的な実施例に関して説明されてきたが、当業者にとっては、以降の請求項において明らかである本発明の精神および範囲から逸脱することなく、種々の変更、代替、及び/又は、ここにおいて開示された特徴の組合せが明白であることが、正しく理解されよう。
【図１】
0006417397.tif 000005
【図２】
0006417397.tif 000006
【図３】
0006417397.tif 000007
【図４】
0006417397.tif 000008
【図５】
0006417397.tif 000009