[0028]店舗または他の場所もしくはエリア(たとえば、博物館、画廊、ショッピングモール、倉庫、学校、図書館、オフィス、家庭)において品目を位置特定するために、「自己学習する」ロケーションベースのシステムが、モバイルデバイス(たとえば、セルラーフォン、スマートフォン、タブレットコンピュータ)とともに使われ得る。本明細書において詳述されるデバイスおよび技法は、画廊の中の特定の絵画など、具体的な品目と、店舗内の商品のタイプなど、品目のタイプとを見つけるのに適用可能である。特段の断りがない限り、「品目」を位置特定することへの言及は、「品目のタイプ」にも適用可能であることを理解されたい。同様に、特段の断りがない限り、「品目のタイプ」を位置特定することへの言及は、具体的な「品目」を位置特定することにも適用可能である。
[0029]本明細書に記載される技法は、ユーザが、品目もしくは場所または何らかの他のオブジェクトもしくはエンティティ(entity)を位置特定するのを支援することができ、他のユーザが品目、場所または他のオブジェクトもしくはエンティティを位置特定するのを支援するのに後で使われ得るデータを作成し、更新するのにさらに使われ得る。いくつかのケースでは、両方の活動は、組み合わされて起こってよく、それによって、ユーザは、品目、場所または他のオブジェクトもしくはエンティティを位置特定するのを支援され、データは、たとえば、品目、場所、オブジェクトまたは他のエンティティが位置特定されるのに成功したかどうか、およびどこで位置特定されたかに基づいて、他のユーザが同じ品目、場所、オブジェクトまたは他のエンティティを以降のある時間または複数の時間に位置特定するのを支援するように、作成され、または更新される。
[0030]本明細書に記載されるシステムおよび技法は、1つまたは複数のモバイルデバイスによって、たとえば、モバイルデバイス用の1つもしくは複数のオペレーティングシステムによって、および/またはモバイルデバイス上の1つもしくは複数のアプリケーション(App)によって実装され得る。システムおよび技法はさらに、システムおよび技法をサポートするモバイルデバイスによってアクセスされ得る、1つまたは複数のサーバまたは他のコンピュータベースのシステムによって実装され得る。いくつかの実施形態では、わずかなサーバしかないか、またはまったくサーバがない場合があり、モバイルデバイスは、本明細書に記載されるシステムおよび技法をサポートするために、モバイルデバイスの間で(たとえば、ピアツーピア通信技法を使って)データを交換する場合がある。1人または複数のユーザへの共通サービス(たとえば、異なるショッピングストア内でいくつかのタイプの品目を位置特定することができ得る共通サービス)を提供するコンテキストにおいてシステムおよび技法をサポートするエンティティの集合体またはセットは、本明細書では、「位置特定システム」と呼ばれる。そのような位置特定システムのユーザは、買物客であり得るが、品目または場所を見つけるための方向を必要とする他のどのユーザであってもよい。たとえば、位置特定システムのユーザは、会社の従業員(たとえば、企業または会社に関連した、品目と場所とを位置特定するのを助けることができる位置特定システムの場合)、一般の人(たとえば、都市または街中での場所と建物とを位置特定するのを助けることができる位置特定システムの場合)、旅行者(たとえば、空港におけるゲートまたは鉄道の駅におけるプラットフォームを位置特定するのを助ける位置特定システムの場合)などであってよい。位置特定システムは、(i)モバイルデバイスに対して自律的に作用する個々のアプリケーション、(ii)互いと(たとえば、ピアツーピアシグナリングによりデータを共有することによって)協調して作用するモバイルデバイス上の異なるアプリケーション、(iii)1つもしくは複数の(たとえば、インターネットを介してアクセスされる)リモートサーバと協調して作用するモバイルデバイス上の異なるアプリケーション、または(iv)ユーザのモバイルデバイス上のブラウザを介した、ユーザからの直接アクセスをサポートするリモートサーバを備え得る。これらの異なるタイプの位置特定システムの何らかの組合せ、ならびにユーザのモバイルデバイスから位置特定システムへのアクセスをサポートする他のやり方も可能であり得る。
[0031]対象となる品目と、場所と、他のポイントまたはオブジェクトとをユーザが位置特定するのを可能にするように、位置特定システムによって実装され得るシステムおよび技法について記載する際、ショッピングストア内のユーザの例が想定され、ここで、ユーザは、位置特定システムによって、店舗内の品目と品目のタイプとを位置特定するのを支援されてよく、(位置特定システムからの支援を用いて、または用いずに)ユーザによって見つけられた品目のロケーションおよび品目のタイプは、位置特定システムによって、品目のロケーションと品目のタイプとをより良好に決定するのに使われ得る。同様の原理が、倉庫、家、オフィス、博物館、レストラン、ホテル、空港、病院などにおいて、具体的な品目または品目のタイプを見つけることなど、他の状況において適用され得ることを理解されたい。本明細書に記載されるシステムおよび技法は、博物館、画廊、空港、遊園地、オフィス、学校、大学、病院、街または都市など、任意の小さいまたは大きいエリアにおいて、アメニティと、展示会と、部屋と、他の場所とを見つけるのにも使われてよく、より全般的には、他の信頼でき得る外部データがない場合、ロケーションを見つけるのに使われてよい。たとえば、システムおよび技法は、街または都市において、店と、レストランと、オフィスビルと、ホテルと、他の場所とを、そのような情報がさもなければ欠けているときに位置特定するのに使われ得る。さらに、インターネットサービス、マップ作成会社、またはソーシャルネットワークが、これらのシステムと技法とを、そのユーザから、場所および品目のロケーションに関係してデータを集め、データを他のユーザに与えるのに利用することもできる。
[0032]図1は、いくつかのモバイルデバイス10−1、10−2...10−qのユーザが各々、ショッピングストア60内の異なるロケーションに位置するいくつかの品目70−1、70−2...70−pのうちの1つまたは複数を位置特定したいと思っている例示的シナリオ90を示す。この例では、いくつかのアクセスポイント(AP)20−1、20−2、...20−nが、WiFi(登録商標)、Bluetooth(登録商標)、ロングタームエボリューション(LTE(登録商標))または短距離能力もしくは短距離限定をもつ何らかの他のワイヤレス技術を使って短距離無線通信を提供する店舗60の中に存在する。アクセスポイントのいくつか(たとえば、20−1および20−2)は、ほんの数例を挙げると、モバイル通信用グローバルシステム(GSM(登録商標))、広帯域符号分割多元接続(WCDMA(登録商標))、ロングタームエボリューション(LTE)または符号分割多元接続2000(CDMA2000)を使ってワイヤレス通信をサポートするセルラーネットワークであってよいローカルサービングネットワーク30へのリンクを有する。ネットワーク30は、ショッピングストア60の一部または全部の部分にワイヤレスカバレージを与えるいくつかの基地局40−1、40−2、...40−mを、ショッピングストア60の近くに有する。サーバ50が、ネットワーク30に取り付けられ、または、たとえばインターネットを介して、ネットワーク30から通信可能に到達され得る。モバイルデバイス10の各々は、互いに関連して、および/またはサーバ50と、可能性としては図1に示さない他のサーバとに関連して、共通位置特定システムをサポートすることができ得る。モバイルデバイス10が、サーバ50に関連して共通位置特定システムをサポートするとき、モバイルデバイス10は、ネットワーク30を介して、ならびに/またはネットワーク30に接続するAP20のうちの1つもしくは複数(たとえば、AP20−1および20−2)を介して、ならびに/または基地局40のうちの1つもしくは複数を介して、サーバ50と通信することができ得る。どのモバイルデバイス10もまた、基地局40のうちの1つもしくは複数および/またはAP20のうちの1つもしくは複数から受信されたワイヤレス信号を、モバイルデバイス10のロケーションを決定するのを助けるのに利用することができ得る。たとえば、モバイルデバイス10は、AP20のうちの1つもしくは複数および/または基地局40のうちの1つもしくは複数についての信号強度、信号タイミングまたはラウンドトリップ信号伝播時間を測定し、得られた測定値と、AP20のうちの1つもしくは複数および/または基地局40のうちの1つもしくは複数についてのロケーション座標と送信特性(たとえば、送信電力、送信タイミング)とを含み得る、サーバ50から受信された支援データとを使って、モバイルデバイス10についてのロケーションを決定することができ得る。ロケーション決定は、第3世代パートナーシッププロジェクト(3GPP(登録商標))、第3世代パートナーシッププロジェクト2(3GPP2)およびオープンモバイルアライアンス(OMA)などの規格団体によって標準化されている、アドバンストフォワードリンク三辺測量(AFLT)、観測到達時間差(OTDOA)、強化セルID(E−CID)、ワイヤレスローカルエリアネットワーク(WLAN)測位および短距離ノード(SRN)測位などの位置方法を利用してよい。
[0033]各モバイルデバイス10は、ユーザによって携行され得るとともに、ワイヤレス手段によって他のエンティティ(たとえば、他のモバイルデバイス10またはサーバ50)と通信することを可能にされている、セルラーフォン、スマートフォン、タブレット、ラップトップ、装着型(たとえば、スマートウォッチ)または任意の他のデバイスであってよい。モバイルデバイス10は、ユーザ機器(UE)、移動局、モバイル端末、端末、セキュアユーザプレーンロケーション(SUPL)対応端末(SET)と、または何らかの他の名称で呼ばれる場合がある。サーバ50は、ネットワーク30などのネットワークの一部であってもよく、ネットワーク30などのネットワークに取り付けられてもよく、いくつかのケースでは、SUPLをサポートし、SUPLロケーションプラットフォーム(SLP)を含むか、またはそれに関連付けられ得る。特定の位置特定システムをサポートする2つ以上のサーバ50が存在してよい。たとえば、複数のサーバ50が、同じ地理的エリアにおける負荷共有を与えるために、および/またはデータの冗長性とバックアップとを与えるために、異なる地理的エリア内で同じ位置特定システムをサポートするように展開される場合がある。位置特定システムをサポートすることに関連したデータが、モバイルデバイス10の間、モバイルデバイス10とサーバ50との間、および/または異なるサーバ50の間で通信され得る。店舗60内で品目70をユーザが位置特定するのを助けるとき、店舗60内の品目70のロケーションに関係するデータを要求するために、および/または第1のモバイルデバイス10が取得または推論済みであり得る、店舗60内の品目70の発見されたロケーションに関係する新たなデータを与える(たとえば、クラウドソーシングする)ために、何らかのユーザにサービスする第1のモバイルデバイス10から、第2のモバイルデバイス10に、および/またはサーバ50に、データが送られ得る。店舗60内の品目70の既知のロケーションに関するデータを与えるために、サーバ50から第1のモバイルデバイスに、または第2のモバイルデバイス10から第1のモバイルデバイス10に、データが送られ得る。データが、第1のサーバ50から第2のサーバ50に順序通りに送られ、店舗60内の品目70のロケーションに関係する、1つまたは複数のモバイルデバイス10から第1のサーバ50によって(たとえば、クラウドソーシングを通して)取得されたデータを分散することができ得る。第1のモバイルデバイス10から第2のモバイルデバイス10に、または1つの第1のモバイルデバイスからサーバ50に送られるデータは、店舗または他の場所もしくはエリアにおいて品目を見つけることを試みるユーザに関連付けられた、第1のモバイルデバイスのユーザについてのロケーション履歴を含み得る。そのようなタイプのデータ転送は、位置特定システムがその構成要素エンティティの間でデータをどのようにして交換し得るかの例であり、限定的と見なされるべきでない。位置特定システムの構成要素の間(モバイルデバイス10および/またはサーバ50の間など)でのデータ通信は、ネットワーク30などのネットワークによるデータトランスポートを利用することができ、IETFインターネットプロトコル(IP)に基づくプロトコルを使うことができ、たとえば、ただ2つの例として、ユーザデータグラムプロトコル(UDP)オーバーIPおよび/または送信制御プロトコル(TCP)オーバーIPを利用することができ得る。
[0034]図1は、本明細書に記載される技法を利用する位置特定システムが使われ得る一例を挙げる。この例は、特定の例を参照して、これらの技法の記述を明確にするために導入されるが、これらの技法の範囲を限定すると仮定されるべきではまったくない。
[0035]図1に例示されるような位置特定システムは、ユーザが品目を位置特定するのを支援することと、ユーザが品目を位置特定するのを可能にするように、データを作成し、更新することの両方をし得る。前者の活動は、本明細書では、「ロケーション支援」と呼ばれ、後者の活動は「ロケーション自己学習」と呼ばれる。前述のように、両方の活動は、組み合わされて起こり得る。
ロケーション自己学習
[0036]ロケーション自己学習は、店舗60内の様々な品目70のロケーションを含み得るロケーションデータを、1つまたは複数のモバイルデバイス10から集めることによってサポートされ得る。任意の品目70(品目の具体的なブランド、品目のカテゴリ(たとえば、タブレットコンピュータ)、または関連品目タイプ(たとえば、ラップトップコンピュータ、タブレットカバー、タブレット充電器)であってよい)が位置特定されるロケーションは、複数のモバイルデバイス10からソーシングされたロケーションデータからクラウドソーシングされ得る。任意のモバイルデバイス10のユーザは、店舗60にいる間にユーザが入手することを望む1つまたは複数の品目70の指示(たとえば、リスト)を、モバイルデバイス10に(たとえば、位置特定システムをサポートするモバイルデバイス10上のアプリケーションに)与えることができ得る。特定の品目70がユーザによって位置特定された(たとえば、見られた、手に取られた、ユーザの物理的ショッピングカートに入れられた)後、ユーザは、品目が位置特定されたことをモバイルデバイス10に対して示せばよい。品目70が位置特定されたことを示すユーザは通常、品目70が、直近に位置特定された品目70であったことと、ユーザが、品目70が位置特定された所(たとえば、店舗内の特定の棚の上)の近くに立っていることとを含意し得るが、これは常に当てはまるとは限らない。たとえば、ユーザは、モバイルデバイス10に対して(たとえば、モバイルデバイス上のアプリケーションに対して)、ユーザが品目70の近くにいるのよりある程度の時間だけ前に、品目70が位置特定されたことを示し得る(たとえば、ユーザが、ショッピングカートに入れるために、または品目70を近くで眺めるために品目70に近づく前に、一定の距離で品目70を見る場合)。同様に、ユーザは、品目70が位置特定された付近をユーザが立ち去ってからある程度の時間だけ後に品目70が位置特定されたことを、モバイルデバイス10に対して示し得る(たとえば、ユーザが、品目70をショッピングカートに入れるか、または品目70を近くで見て、次いで離れ、次いで、ある程度の時間の後に品目が見つかったことを示した場合)。品目70が見つかったことをモバイルデバイス10に対してユーザが示した瞬間のユーザのロケーション(たとえば、モバイルデバイス10の測位能力によって決定された)は、したがって、ときには、品目70が位置特定される所、およびしたがって、同じタイプの他の任意の品目70が位置特定され得る所の正確な指示である場合があるが、ユーザが品目70の隣またはその近くにいたのより、ある程度の時間だけ前、またはある程度の時間だけ後、品目70が見つかったことをユーザが示した場合、ときには、正確な指示ではない場合がある。
[0037]共通の全体的ロケーションにおいて(たとえば、同じ店舗60内の同じ通路沿いの何らかの共通ポイントにおいて)同じ品目70または共通タイプの品目70を見つけた1人または複数のユーザに関連付けられた1つまたは複数のモバイルデバイス10から集められたロケーションデータを使うことによって、そのタイプの品目70のロケーションが決定され得る。たとえば、複数の異なるユーザが、同じタイプの品目70が見つかったことを示した場合、そのタイプの品目70が見つかったと示された時間における、これらのユーザのロケーションが比較され得る。代替的または追加的に、同じ店舗60への複数の訪問において、1人のユーザが、同じタイプの品目70が各訪問において見つかったことを示した場合、これらの異なる訪問の場合の、(同じタイプの品目70を見つけたときの)同じユーザのロケーションが比較され得る。ロケーションはすべて異なる場合も、少なくともすべてがわずかに異なる場合もある。ただし、ロケーションは、そのタイプの品目70についての有望なロケーションまたはより信頼でき、正確なロケーションをもたらすように、異なるように組み合わされ得る。たとえば、平均x座標および平均y座標または平均緯度および平均経度を取得することなどによって、ロケーションはすべて平均され得る。代替として、他のロケーションのほとんどから遠い(たとえば、品目について決定された他のロケーションのうちの50%など、少なくともある程度の割合から、10メートル以上遠い)ロケーションは無視されてよく、ほとんどの他のロケーションに近い(たとえば、ロケーションのうちの、50%など、少なくともある程度の割合の10メートル以内)ロケーションは平均されてよい。
[0038]別の態様では、モバイルデバイス10(または、モバイルデバイス10上のアプリケーション)は、品目70が位置特定されたことをユーザが示すのに先立ち、およびそれに続いて、ユーザのロケーション履歴を記録することができ得る。モバイルデバイス10上のセンサーが、ユーザが可能性としては品目70の隣にいた(たとえば、可能性としては、品目70をショッピングカートに入れ、または可能性としては、品目の値札もしくは他の側面など、品目70の詳細を眺めていた)ときを決定し得る。たとえば、モバイルデバイス10上の慣性センサー(たとえば、加速度計、ジャイロスコープ、磁力計)が、ユーザが静止している、および/あるいは品目70をショッピングカートに入れること、または品目70を調べ、もしくは確かめることに一致するように動いているか決定することが可能な場合があり、ユーザの関連付けられたロケーションをユーザロケーション履歴中に記憶し、および/またはフラグを付けることができ得る。ユーザが静止している、および/あるいは品目70をショッピングカートもしくは買物かごに入れる(または品目70を調べるか、確かめる)ことと一致する、品目70が位置特定されたという、ユーザによる指示に先立つユーザのロケーションと、指示に続くユーザのロケーションの両方は次いで、品目70についての候補ロケーションと見なされ得る。同じ全体的ロケーション(たとえば、同じ店舗60)において同じタイプの品目70を見つけた多くのユーザについてのこれらの候補ロケーションのセットが次いで、比較され得る。そのタイプの品目70のロケーションは次いで、最も多数のユーザに共通するどの候補ロケーションからも推論され得る。そのタイプの品目70の近くまたは隣にいるときのユーザのロケーションは一般に、(たとえば、ロケーション測定誤差、およびそのタイプの品目70が、近くのロケーションの狭い範囲を有する可能性により)まったく同じにはならないので、そのタイプの品目70のロケーションは代わりに、異なるユーザロケーション履歴から取得され得る候補ロケーションの最も大きいセットから推論されてよく、このセットは、各ユーザからの最大で1つの候補ロケーションを含み、セット中の候補ロケーションはすべて、互いの近く(たとえば、互いの10メートル以内)にある。この最も大きいセットを備える候補ロケーションについての平均ロケーションが次いで、そのタイプの品目70のロケーションとしてとられてよい。この決定を実施する際、各ユーザのロケーション履歴は、店舗60の入口および出口付近のロケーションまたは店舗60内の清算レジのロケーションなど、ユーザが共有し得る他の共通ロケーションを排除するために、そのタイプの品目70が見つかったとユーザが起訴したときの近く(たとえば、その10〜30秒以内)に出現する候補ロケーションに制限され得る。
[0039]ユーザによって与えられた情報を使って、品目70のタイプのロケーションが決定されると(たとえば、前に説明したように)、ロケーションは、ユーザからの、このタイプの品目70についてのロケーション要求に応答して与えられ得る。たとえば、ユーザがそのタイプの品目70を見つけることを望むことをユーザが示す場合、ユーザには、モバイルデバイス10を介して、品目70のロケーションの指示が与えられ得る。たとえば、店舗60内のどこでそのタイプの品目70が位置特定されるかを示すマップが、ユーザに与えられ得る。他の実施形態では、通路番号および、可能性としては、通路側(または他の形のロケーション識別子)が示され得る。いくつかの実施形態では、方向がユーザに与えられ得る(たとえば、「現在の通路を、店舗エントランスから離れて進む、左に行く、次の通路に進む、左に曲がる、および15フィート進む」)。
[0040]いくつかのタイプの品目70が見つかったことをユーザが示したときの指示を伴う、異なるユーザからのロケーション履歴が、異なるタイプの品目70のロケーションを決定するために、同じ位置特定システムをサポートするモバイルデバイス10によって、位置特定システムをサポートするサーバ50にクラウドソーシングされ得る。具体的には、共通タイプの品目70を入手するユーザに関連付けられた複数のモバイルデバイス10のロケーション履歴は、店舗60がそのタイプの品目70をどこに保有しているかに関するロケーションを決定するのに使われ得る。あるタイプの品目70のロケーションが位置特定システムによって(たとえば、位置特定システムをサポートするサーバ50によって)決定されると、そのタイプの品目70のロケーションを確認および/または洗練するために追加データが収集され得る。たとえば、サーバ50が、ロケーション履歴情報と、モバイルデバイス10によって異なる時間にクラウドソーシングされるロケーション履歴中にどこで、いつ品目70が見つかったかという指示とを使って、同じ品目70のロケーションを定期的に決定してよい。品目70についての決定されたロケーションは、ロケーションが(たとえば、店舗60内のいくつかのロケーションに出現する品目70について)更新され、または拡張される必要があり得るかどうか決定するために、品目70について記憶された、任意の前のロケーションと比較され得る。店舗60は時折、いくつかのタイプの品目70を置き換えるので、そのような定期的ロケーション決定は、そのタイプの品目70がどこに置き換えられたか決定するのに使われ得る。そのような配置は、品目70のタイプが店舗60内の複数のロケーションにおいて見つかり得るとき、および/またはユーザが、品目70が見つかったという指示を誤って与えるときを決定するのにも使われ得る。
ロケーション自己学習の例
[0041]図2は、図1の店舗60のマップに重ねられた、モバイルデバイス10のユーザについての第1のロケーション履歴の例示的な実施形態100を示す。点線で表される第1のロケーション履歴110−1は、ユーザが店舗60の中にいた間、ユーザ用のモバイルデバイス10(およびしたがって、普通にはユーザ)が異なる時間に店舗60内のどこで位置特定されたかを示す。点線上の矢印は、モバイルデバイス10による、ロケーション履歴110−1に沿った動きの方向をさらに表す。ロケーション履歴110−1は、モバイルデバイス10を所有するユーザによって、店舗60内でとられた経路を表す。ロケーション履歴110−1は、ユーザが店舗60内で買物したとき、ユーザのモバイルデバイス10によってキャプチャされており、および/またはモバイルデバイス10によってサーバ50に与えられたロケーション情報(たとえば、ロケーション測定、ロケーション推定値)に基づいて、サーバ50によってキャプチャされている場合がある。ロケーション履歴110−1は、店舗60を通る連続的経路としてキャプチャされてよく、その場合、画像(たとえば、図2の点線)として、一連の線分として、または何らかの他の手段によって表され得る。代替として、ロケーション履歴110−1は、別個の時間に(たとえば、10秒間隔で、および/またはユーザが静止していることをモバイルデバイス10が検出したときは常に)取得された一連の別個のロケーションとしてキャプチャされ得る。ロケーション履歴110−1は、モバイルデバイス10がロケーション履歴110−1中の各ロケーションに、またはいくつかのロケーションにいた時間もしくは時間範囲(または日時もしくは時間範囲)も備え得る。ロケーション120の各々は、モバイルデバイス10(およびしたがって、通常はユーザ)が閾時間期間だけ、少なくとも近似的に静止していた、および/またはそうでなければユーザが品目70を入手した可能性があることをモバイルデバイス10が検出した、ロケーション履歴110−1に沿ったロケーションを示し得る。図2のロケーション120−1、120−2、120−3、120−4、および120−5はしたがって、モバイルデバイス10のユーザがそれらの各々において店舗60内で品目70を位置特定し、入手した可能性があるロケーションを表し得る。図2の例では、ロケーション120−1、120−2、120−3、120−4、および120−5は、モバイルデバイス10のユーザが店舗60内で品目70を位置特定し、入手した可能性があるロケーションすべてを表すとさらに仮定されるが、これは純粋に、説明を簡潔にするためであり、任意の数のそのようなロケーションに適用され得る、本明細書に記載されるシステムおよび技法を限定するものではない。
[0042]ロケーション履歴110−1が作成されている間の様々な時間に、ユーザは、品目が見つかった(「位置特定された」、または、所有された場合は「入手された」とも呼ばれる)という指示を、ユーザのモバイルデバイス10に(たとえば、位置特定システムをサポートするモバイルデバイス上のアプリケーションに)与えることができ得る。たとえば、ロケーション120−3にいる間、モバイルデバイス10のユーザは、品目70が見つかったと示す場合がある。その品目70は、ロケーション120−3において位置特定され得るが、前に説明したように、代わりにロケーション120−1、120−2、120−4または120−5のうちのどれにおいて位置特定されてもよい。これらの5つのロケーションはしたがって、ユーザがロケーション120−3にいたときに見つかったものとしてユーザが示した特定の品目70のロケーションについての候補ロケーションを表す。図示の実施形態では、ロケーション120−1および120−2は、ロケーション120−3に先立って訪問され、ロケーション120−4および120−5は、ロケーション120−3の後に訪問された。ロケーション履歴110−1の少なくとも一部分(たとえば、品目70が見つかったことをユーザが示したときまでに発生したロケーション履歴110−1の部分)の指示は、位置特定されたものとしてユーザによって示された品目70に関連付けられ得る。この情報は、品目70のロケーションを決定する際に使用するために、(たとえば、ユーザが店舗を立ち去った後で)モバイルデバイス10によってサーバ50に与えられ得る。いくつかの実施形態では、本明細書において後で説明するように、モバイルデバイス10は、スタンドアロンモードで動作し、品目70の指示とともに、ロケーション履歴情報をローカルに使うことができる。
[0043]図3は、実施形態100と同じ店舗マップ(店舗60用)に重ねられた第2のロケーション履歴の実施形態200を示す。実施形態200は、何らかの異なる時間における、同じユーザおよび/または同じモバイルデバイス10による同じ店舗60への別個の訪問を表すこともでき、(異なるモバイルデバイス10をもつ)異なるユーザによる、同じ店舗60への訪問を表すこともできる。破線によって表される第2のロケーション履歴110−2は、モバイルデバイス10が店舗60内のどこで位置特定されたかを示す。破線上の矢印は、モバイルデバイス10による、ロケーション履歴110−2に沿った動きの方向をさらに表す。ロケーション履歴110−2は、モバイルデバイス10を所有するユーザによって、店舗内でとられた経路を表す。ロケーション履歴110−2は、ユーザが店舗内で買物したとき、ユーザのモバイルデバイス10によってキャプチャされており、またはモバイルデバイス10によってサーバ50に供給されたロケーション情報(たとえば、ロケーション測定、ロケーション推定値)に基づいて、サーバ50によってキャプチャされ得る。ロケーション履歴110−2は、店舗を通る連続的経路としてキャプチャされ得る。代替として、ロケーション履歴110−2は、モバイルデバイス10が少なくとも閾時間期間だけ立ち止まった一連のロケーションとしてキャプチャされ得る。ロケーション履歴は、ロケーション履歴110−1と同じやり方で(たとえば、連続的経路の画像として、一連の線分として、または一連の別個のロケーションとして)表されてよく、モバイルデバイス10が各ロケーションにあった、またはいくつかのロケーションにあった時間、日時または時間範囲をさらに備え得る。実施形態200では、実施形態100と同様に、モバイルデバイス10のユーザは、モバイルデバイス10がロケーション130−3にあるときに品目70のタイプが見つかったことを示す場合がある。ロケーション130の各々は、モバイルデバイスが閾時間期間だけ、少なくとも近似的に静止していた、および/またはそうでなければユーザが品目70を入手した可能性があることをモバイルデバイスが検出した、ロケーション履歴110−2に沿ったロケーションを示し得る。位置特定システムはしたがって、ユーザがロケーション130−1、130−2、130−3、および130−4のうちのいずれかにおいて品目70を入手した可能性があると仮定し得る。ロケーション履歴110−2に沿った他のロケーションも、ユーザが店舗60内で品目70を入手した可能ロケーションであり得るが、この例では、候補ロケーションは図示されているもの、すなわち130−1だけであると仮定される。130−2、130−3および130−4。図示の実施形態では、ロケーション130−1および130−2は、ロケーション130−3に先立って訪問された。ロケーション130−4は、ロケーション130−3の後に訪問される。ロケーション履歴110−2の少なくとも一部分(たとえば、品目70が見つかったことをユーザが示したときまでに発生したロケーション履歴110−2の部分)の指示は、位置特定されたものとしてユーザによって示された品目70に関連付けられ得る。この情報は、品目70のロケーションを決定する際に使用するために、(たとえば、ユーザが店舗60を立ち去った後で)リモートサーバ50に与えられ得る。
[0044]図4は、店舗60用の店舗マップに一緒に重ねられた、図2および図3のロケーション履歴の実施形態300を示す。図4の重なりからわかるように、ロケーション履歴110−1およびロケーション履歴110−2のユーザが同様のロケーションに立ち止まった、ロケーション履歴110に沿った複数のロケーションが存在する。たとえば、ロケーション120−4とロケーション130−2はほぼ同じである。同様に、ロケーション120−2および130−4はほぼ同じである。
[0045]位置特定されるべき品目の一覧を与える際に、ロケーション履歴110−1に関連付けられたユーザが、ロケーション履歴110−2に関連付けられたユーザと同じ品目70(または同じタイプの品目70)が入手されていることを示した場合、品目70(または品目70のタイプ)が、ロケーション120−4および130−2の付近に、またはロケーション120−2および130−4の付近で位置特定される可能性が高い場合があり、というのは、ロケーションのこれらのペアの両方が、各ロケーション履歴中で有効に訪問されたからである。ロケーション履歴110−1に関連付けられたユーザが、ロケーション120−3を訪問した後で、ただしロケーション120−5を訪れる前に同じ品目70が見つかったことを示した場合、このことは、同じ品目70がロケーション120−4の付近で位置特定される可能性が高いことを示し得る。ロケーション履歴110−2に関連付けられたユーザが、ロケーション130−1を訪れた後のあるとき、およびロケーション130−3を訪れる前のあるときに同じ品目70が位置特定されたことをさらに示した場合、このことは、同じ品目70がロケーション130−2の所で、またはその付近で位置特定されることを示し得る。ロケーション120−4および130−2の一致は次いで、位置特定システム(たとえば、サーバ50またはモバイルデバイス10)によって、同じ品目70がロケーション120−4および130−2の付近に、たとえばこれらの2つのロケーションの間の中ほどのロケーションにおいて位置特定されるさらなる証拠として使われ得る。
[0046]上記例は、2人のユーザによって共通に入手された1つの品目に適用されるわずか2つのロケーション履歴についての共通ロケーションの分析を伴うという点で単純である。複数の共通品目の一覧と組み合わせて、数百または数千のロケーション履歴が、店舗60など、何らかのエリア内での、品目70の可能性が高いロケーションを決定するのに使われ得ることを理解されたい。ただし、近似的に共通したロケーションと、同じ品目の指示と、ユーザによって見つけられた品目の受信された指示とを使う、上記の詳細な技法は、1つまたは複数の共通品目についてのロケーションを決定するために、複数のユーザおよび関連付けられたモバイルデバイスから収集されたデータを使うように外挿され得る。たとえば、多く(たとえば、数百または数千)のユーザによって見つけられ、または入手される共通品目(または共通タイプの品目)の指示を伴うロケーション履歴データは、位置特定システムによって、各品目(または各タイプの品目)のロケーションを高い精度で正確に示すのに使われ得る。これを可能にし得る特定実施形態については、次で説明され、いくつかのケースでは、図2〜図4の単純な例に関連する。
ロケーション自己学習と組み合わされた位置特定支援
[0047]いくつかの実施形態では、ユーザが、所望の品目の指示を、モバイルデバイス10によって実行されるアプリケーションに入力することができ、ここでアプリケーションは、位置特定システムの機能の一部または全部をサポートする。図5は、位置特定された品目を示し、および/または品目のロケーションの指示を受信するための、モバイルアプリケーションの実施形態400を示す。ユーザは、見つかることが望まれる単一の品目を入力してよく、複数の品目を入力してよく、または見つかることが望まれるすべての品目を入力してよい(たとえば、ユーザは、ユーザが訪れようとしている店舗60向けの自分の買物リストを入力してよい)。図5の例では、ユーザが、スーパーマーケットまたは食料品店で見つけられるべき食品品目の完全または部分的リストを与えること、および位置特定システム(たとえば、ユーザのモバイルデバイス10上のアプリケーション)が、ユーザが求めるどの品目が位置特定されたかと、どの品目がまだ位置特定されていないかとを追跡することが想定される。ユーザは、品目が入手される具体的な店舗60(たとえば、具体的なスーパーマーケットまたは食料品店)の明示的指示を与えても、与えなくてもよい。明示的指示がない場合、モバイルデバイス10上のアプリケーションまたはアプリケーションと対話しているウェブサイト(たとえば、サーバ50上でホストされる)は、ユーザが、ユーザの現在のロケーションのすぐ近く、たとえば、ユーザが現時点で位置特定される任意の店舗60または近所の、最も近い適した店舗60の中の品目を見つけることに注意を向けていると仮定する場合がある(たとえば、ユーザが食品品目を入力した場合、衣料品店は無視されてよい)。別の態様では、アプリケーションおよびユーザが、品目が見つかる全体または具体的なエリアについて最初に同意してよく、たとえば、アプリケーションが、特定の店舗60の中でのユーザの存在を検出し、続けて、ユーザが見つけることを希望する品目への方向を与える前に、ユーザに、店舗60を確かめるよう依頼してもよい。代替として、ユーザが、店舗60の名称および/または住所の一部もしくは全部(たとえば、「PQR市内のABC通りにある店舗XYZ」など)を入力してもよく、アプリケーションは次いで、店舗60が認識されるとともに品目を位置特定するのに関してサポートされ得るかどうかを確認すればよい。ユーザが店舗60内で品目70を「見つける」ことは、ユーザが品目70を「位置特定する」こと、品目70を「入手する」(たとえば、品目をショッピングカートに入れる)こと、(たとえば、品目70が大きい場合は配達してもらうため、または価格および適切性など、品目70の詳細を決定するために)品目70の「存在を確認する」こと、(たとえば、品目70を買うかどうか決定するのを助けるために)品目70を「確かめる」または「調べる」こと、ならびに概して、ユーザのロケーションが品目70のロケーションの正確な表現となり得るように、品目70の近くまたは隣に移動していることのうちの1つまたは複数と同義であり得ることに留意されたい。
[0048]ユーザが、図5に例示されるように、ユーザのモバイルデバイス上のアプリケーションに複数の品目を入力し、品目のうちの少なくともいくつかの品目のロケーションが位置特定システムによって(たとえば、モバイルデバイス10上のアプリケーションによって、またはアプリケーションと通信中であり得るサーバ50によって)記憶されている場合、入力された品目は、モバイルデバイス10によって、ユーザが品目を取得するべき効率的順序でユーザに提示され得る。たとえば、順序は、店舗60内で品目を見つけるための、ユーザによる全体的歩行距離を最小限にし、または低下させ得る。順序はまた、または代わりに、(i)金銭的価値が高い(もしくは低い)、(ii)(たとえば、以前のユーザ挙動から)ユーザにとって価値が高いことがわかっている、(iii)重さが軽いか、もしくはかさばらない(たとえば、ユーザが重いもしくはかさばる品目を運ぶか、もしくは場合によっては輸送する必要があり得る時間を削減するために)または(iv)冷蔵を必要としない(たとえば、ユーザの買い物の終わりに向けて入手されるように列挙されている冷たい品目)品目を(順序の早い段階に列挙することによって)優先させ得る。すべての肉および乳商品が買い物の最後に残されるべきであるというようなユーザ選好が考慮に入れられてもよい。これらの要因は、組み合わされ、重み付けされ得る。たとえば、価格、サイズ、重さ、冷蔵および全体的歩行距離は各々、品目が入手されるべき順序を決定する際の要因となり得る。品目のこれらの特性は、1人のユーザによる(もしくは複数のユーザによる)事前インプットにより、または位置特定システムの設計者によるインプットにより、位置特定システムに知られていてよい。順序付けは、どの店舗60が訪問されるかを前もってユーザが指定した場合、ユーザが店舗60に到着する前に決定され得る。そうでない場合、リストは、どの店舗60にユーザが近接しているか、または中にいるかに基づいて順序付けられ得る。いくつかのケースでは、リストが作成されない場合があり、その代わり、ユーザが、見つけられるべき各品目を1つずつ入力すればよく、たとえば、ここでは各品目は、前の品目が見つかった後で入力される。
[0049]店舗60に到着すると、ユーザは、卵410など、見つけるべき第1の品目70を選択し得る。代替として、位置特定システムは、品目70のリストが見つけられる(たとえば、図5に示したように、および先に説明したように)何らかの効率的順序でユーザに提示し、ユーザがリストにある第1の品目70を見つける準備ができていることをユーザに確認させることができ得る。ユーザ選択または見つけられるべき第1の品目70の確認に応答して、位置特定システムは方向を与える。方向は、品目70が位置特定される所への進路変更ごとの方向を含んでよく、および/または品目70のロケーションを示すマップを含んでよい。マップまたは方向は、店舗60内での品目70のロケーションが位置特定システムによって知られている場合に与えられるだけでよい。位置特定システムが、品目70のロケーションを記憶させていない場合、品目70へのいかなる方向も与えられなくてよい。いくつかの実施形態では、方向は、品目70に関連付けられたカテゴリに対して与えられる。たとえば、位置特定システムは、特定の店舗60内でマヨネーズがどこにあるか知らない場合があるが、マヨネーズの全般的カテゴリを表し得る調味料についての記憶されたロケーションは有し得る。
[0050]ユーザが品目70を見つけ、および/または入手したとき、またはその後、ユーザは、「品目が見つかった」という指示をユーザのモバイルデバイスに与え得る。図5の例示した実施形態では、品目の隣にチェックマークが置かれているが、そのような実施形態は例示にすぎない。ユーザが店舗60内にいる時間を通して、ユーザのモバイルデバイス10のロケーション履歴は、(たとえば、GPS、ユーザの近くの既知のロケーションにあるWLANおよび/またはBluetooth(BT)アクセスポイント(AP)20のモバイルデバイスによる検出および測定、近くの基地局40からの信号の検出および測定、モバイルデバイス10上の慣性センサーの使用などにより)決定され得る。品目70が、見つかったものとしてユーザによって示されると、品目70は、位置特定システムによって、「品目が見つかった」と示すときのユーザの現在のロケーションを含むまでのロケーション履歴中の何らかのポイントにおいて実際に見つかったと想定されてよく、またはロケーション履歴において少し後でユーザによって見つけられそうであると仮定されてよい(たとえば、ユーザが、ユーザがまだ近づいている途中の品目を見つめながら「品目が見つかった」と示した場合)。図2〜図4の例について前に説明したように、見つかった品目のロケーションは、品目が見つかったと示すときのユーザのロケーションに先立って、およびそれに続いての両方で出現するポイントを含む、ユーザのロケーション履歴中の任意のポイントに関連付けられ得る。さらに、品目が見つかったことをユーザが示した時間のより近くにおいて出現する、ロケーション履歴内のポイントは、位置特定システムによって、時間がさらに離れて出現するポイントよりも品目のタイプのロケーションに関連付けられる可能性が高いと見なされ得る。さらに、ユーザが少なくとも閾時間期間(たとえば、5秒)だけ静止しているか、もしくはほぼ静止していることが検出され、ならびに/または品目をピックアップし、品目を調べ、および/もしくは品目をショッピングカートに入れることに一致する、(たとえば、モバイルデバイス10上の慣性センサーによって決定されるように)ユーザが動いていることが検出される、ロケーション履歴におけるポイントは、品目を見つけることに関連付けられた、ユーザが動いている、および/もしくは動いていない他のロケーションよりも、見つかったものとしてユーザが示す品目70の可能性が高いロケーションであると見なされ得る。品目70が、ユーザによって見つけられたものとして示されると、ユーザおよび位置特定システムは、見つけられるべき次の品目70について同意し得る。たとえば、事前に同意されたリスト上で、ユーザは次の品目を明示的に示すことができ、またはシステムは、次の品目に進んでよい。たとえば、図5において、店舗60内で卵410が見つかったことをユーザが示した後、位置特定システム(たとえば、ユーザのモバイルデバイス10上のアプリケーション)およびユーザは、見つけられるべき次の品目はパイナップル430であると同意し得る。
[0051]ユーザは、ユーザのモバイルデバイスを介して、「品目スキップ」指示と、「品目取消し」指示と、「品目が見つからなかった」指示とを与えることを許可されてよく、これにより、ユーザは、別の品目を見つけ続け、および/または品目が店舗にはない(たとえば、仕入れられていないか、もしくは在庫切れである)可能性があることを示すことができる。たとえば、図5において、ユーザは、パイナップル430を買わない(たとえば、価格が高いから)と決定してよく、この品目がスキップされるべきであると示せばよく、見つけられるべき次の品目はXYZブランドのチョコレートクッキー450であると位置特定システムに同意してよい。
[0052]位置特定システムは、品目70が見つかったか、または入手されたとユーザが示す前に、ユーザが品目70の前に立っていることを必要とする場合があるが、これは、スタンドアロンモード(後で説明される)において妥当であり得るだけであり、ユーザからの追加集中を必要とし得る。したがって、ユーザが品目70を見つけた後しばらくして、または見つける少し前の任意の時点で、品目70が見つかったか、または入手されたとユーザが示すことができることがより有利であろう。位置特定システムは、図2〜図4の例に関連して前に説明したように、特定の品目70が見つかったと示すのに先立って、およびそれに続いて、ユーザのロケーション履歴に基づいて、任意の品目70についての可能ロケーションのセットを推論することができる。ロケーションのセットは、不連続である場合があり(たとえば、ユーザが一時的に、閾時間期間だけ少なくとも近似的に静止していたロケーションを含む)、または品目70が見つかったとユーザが示す前および/もしくは後の時間期間にユーザがどこを移動したかを示す、店舗を通る経路のように連続的である場合がある。特定の品目70について、各ロケーションに確率が割り当てられ得る。どのロケーションに割り当てられる確率も、ユーザがそのロケーションにいるのと、品目70が見つかったとユーザが示すのとの間の時間間隔に依存してよく、その時間が短いほど、品目70がそのロケーションにおいて位置特定される確率が高くなる。可能ロケーションおよびそれらに割り当てられた確率は、複数のユーザ(および/または同じユーザによる複数の買い物)が、店舗60内での品目70の可能性が高いロケーションを決定するために、サーバ50にクラウドソーシングされ得る。いくつかのケースでは、確率は、モバイルデバイスによって特定のユーザロケーション履歴について与えられる情報に基づいて、サーバ50によって割り当てられ得る。たとえば、モバイルデバイスは、ユーザについてのロケーション履歴をサーバ50に与えてよく、ここで、ロケーション履歴は、ユーザが少なくとも一時的に静止していた、または場合によっては、品目を入手中である可能性があると検出されたロケーションのセットを、ユーザが各ロケーションにいたあるときもしくは複数のとき、ならびに品目が見つかったとユーザが示したときおよびユーザのロケーションとともに備える。この例において、サーバ50は、与えられた情報を、これらのロケーションの各々において見つかった品目に関連付けられたロケーションの与えられたセットについての確率を決定するのに使うことができ得る。各ロケーションが品目70のタイプについて正しいロケーションである対応する確率と一緒に多くのユーザ向けにクラウドソーシングされる、共通タイプの品目70の可能ロケーションは、可能ロケーションの重み付けされた平均化を使って、または最も大きい重み付けされた合計を含む狭いエリアを見つけることによって、品目70についての単一のロケーションをもたらすように、(たとえば、サーバ50によって)組み合わされ得る。
[0053]図5の実施形態400は、前に説明したように、見つけられるべき品目のリストを表示する、モバイルデバイス10上のモバイルアプリケーションを示す。品目は、品目のロケーションが記憶されているかどうか決定するために、モバイルアプリケーションによって、位置特定システムのサーバ50に通信され得る(ユーザが買物しているか、または買物するつもりである店舗60が決定され得ると仮定する)。品目のロケーションは、入手可能である場合、可能性としては、品目を入手するための提案される順序の指示とともに、サーバ50によってモバイルデバイスに与えられ得る。ユーザが、予想されたのとは異なる店舗60に行った場合、ユーザが訪れている品目は、店舗60にとってより効率的になるように並べ替えられ得る。品目70がユーザによって見つけられた後のどこかの時間において、ユーザは、品目が見つかったことをモバイルアプリケーションに対して示し得る。見つかった品目70についての可能ロケーションを決定する際、位置特定システムは、可能ロケーションが、ユーザが品目70を入手した可能性がある(たとえば、一時的に静止していた、および/または品目70のピックアップに一致する動きをしていた)ロケーションであって、品目70の前の品目が見つかったとユーザが示した後、ただし品目70に続く品目が見つかったとユーザが示す前に(および可能性としては、品目70への方向をユーザが受信した後であって、品目70に続く品目への方向をユーザが受信する前に)現れたロケーションに限られると仮定し得る。たとえば、卵410、パイナップル430およびXYZブランドのチョコレートクッキー450が、それぞれ、時間T1、T2およびT3において連続して見つかったとユーザが示し、ここでT2はT1の後に生じ、T3はT2の後に生じる場合、位置特定システムは、パイナップル430のロケーションは、最も有望なロケーションがT2の所またはその近くに現れる、時間T1とT3との間に現れる、ユーザが一時的に静止していた(および/または品目のピックアップに一致する動きをしていた)ユーザのロケーションに現れると仮定してよい。このようにロケーションを組み合わせることにより、ユーザが見つかったと示した異なる品目70のロケーションを決定する際、店舗60にいる間のユーザのすべての可能ロケーションを位置特定システムが検討しなければならない事態を避けることができ得る。
[0054]ユーザは、品目70が、順序が乱れて見つかったと示す場合がある。たとえば、図5に示す品目70のリストのケースでは、ユーザは、卵410が入手されたか、または見つかったとユーザが示した時間T2に先立つ時間T1において2%牛乳420が入手されたか、または見つかったと位置特定システムに対して示している場合がある。位置特定システムは次いで、品目が見つけられる順序を調節すればよく、たとえば図5のケースでは、卵410の代わりに2%牛乳420をリストの最初に置けばよい。
[0055]品目を正しく、および矛盾なく挙げるために、位置特定システムは、ユーザが選択することを必要とされる品目名の事前構成されたリストをもって作成されてよい。たとえば、XYZブランドのチョコレートクッキー450を図5のリストに追加するとき、ユーザは、「クッキー」と入力し、次いで、位置特定システムが「クッキー」という総称に関連付けるように事前構成されている、位置特定システムによって与えられたリストから位置特定することをユーザが望んだ具体的な品目を選択している可能性がある。代替として、ユーザが、「XYZブランドのチョコレートクッキー」とタイプし始めたとき、完全品目名が、位置特定システムによってユーザに提案され得る。具体的な品目名を与える位置特定システムは、「クッキー」など、ユーザによって与えられる総称の曖昧さを解決するのを助け得る。たとえば、ユーザによって総称的に「DVD」と明示された品目のケースでは、ユーザは、位置特定システムによって、「DVDフィルム」、「空のDVD」、「DVDプレーヤ」、または「DVDレコーダ」の中から選択するよう求められる場合がある。位置特定システムは、同義語と、ユーザによって作成された新たな名称(新規または既存の品目のいずれか)とを認める場合がある。位置特定システムは、店舗が同じタイプの品目の複数のブランドを大雑把に共通ロケーションに保有するはずであるという仮定の上で、ロケーションデータを維持するという点において、異なるブランド名についての既知のロケーションを与える具体的なエントリを有してよく、または異なるブランド名の同様の品目(たとえば、異なるブランドのマヨネーズ)をグループにまとめてよい。位置特定システムは、マヨネーズに対する「マヨ」など、ニックネームと同義語とを扱うように構成され得る場合がある。位置特定システムは、異なる言語を使って挙げられた品目を認めてもよい。
[0056]位置特定システムとのユーザ対話(たとえば、ユーザのモバイルデバイス上のアプリケーションによってサポートされる)は、キーボードおよびスクリーン、タッチスクリーン、音声、画像、ビデオ、ジェスチャー、ならびに/またはユーザによって所有されるモバイルデバイスによる動きによるものであってよい。たとえば、図5を参照すると、ユーザは、選択された次の品目が見つかったことを、モバイルフォンのシングルフリックにより、または品目が見つからないのでスキップされるべきであることを、ダブルフリックによって示すことができる。モバイルデバイスは次いで、これに続いて、品目への、発声による方向または視覚マップを与えればよい。代替として、ユーザは、見つかった品目に電話を接近させ、写し出された品目が見つかったことを、拡大画像を介してシステムに対して暗示するために、同時にビデオを撮影し、または1つもしくは複数の写真を撮ることができる。品目ディスプレイ(たとえば、棚)も撮像されてよい。ユーザは、「品目が見つかった」と入力する前に、そのロケーションをより正確に与える(および後で見つける)ために、モバイルデバイスを、任意の見つかった品目の隣になるように動かすこともでき得る。位置特定システムが、写真またはビデオからいくつかの品目を認識することが可能であり得るとき、ユーザは、品目の写真またはビデオを撮ることによって、見つかった品目のロケーションをインプットすることができ得、モバイルデバイスまたは位置特定システムは品目を認識する。逆に、位置特定システムが特定の品目を認識することができない場合、ユーザは、品目の写真を撮るか、またはビデオを撮り、位置特定システムに品目アイデンティティを知らせればよい。位置特定システムは次いで、品目ロケーションの両方を記憶し、品目の画像を含むライブラリおよび/またはこれらの画像を分析することによって取得されたデータを編集することができる。多くのユーザから(または同じユーザから別個の時間に)取得されたデータは、位置特定システムが、最終的に品目を認識することを可能にするのに使われ得る。
[0057]いくつかの実施形態では、ユーザによって(店舗など、特定のエリアにおいて品目を探しているときに)与えられる、見つかった品目の情報を伴う、ユーザについてのロケーション履歴は、ユーザ用のモバイルデバイス10によって、サーバ50に単一のパッケージとして送信され得る。そのような実施形態において、ユーザについてのロケーション履歴に沿ってどこで、および可能性としてはいつ、いずれかの品目が見つかったか、または入手されたとユーザが示したかを示す指示が、パッケージ中に含まれ得る。ユーザロケーション履歴中の特定のロケーションが、ユーザによって見つけられたと示された品目のロケーションに対応する確率または重みを示す指示が、パッケージ中にさらに含まれ得る。他の実施形態では、各品目(または少数の品目)がユーザによって見つけられ、または入手されたと示されると、ユーザのロケーション履歴の該当部分を有する指示が、1つずつか、または小さいグループに分けてサーバ50に送信され得る。いくつかの実施形態では、サーバ50は、ユーザによって見つけられ、または入手された品目に関連付けられたさらなるロケーション履歴情報をサーバ50が必要としないほど十分なクラウドソーシングデータをすでに有している場合がある。そのような実施形態において、モバイルアプリケーションは、ユーザがサーバ50によって見つける必要がある品目のロケーションを与えられ、また、品目が見つかったとユーザが示すことに関連付けられたロケーション履歴情報を与えないよう命令され得る。そのような実施形態は、不必要なデータ転送およびデータ収集の量を低下させることができ得る。
[0058]見つけられるべき次の品目または場所が、前の品目または場所が見つかった(またはスキップされ、見つからなかったもしくは取り消されたと示された)後に決定されるだけである場合に品目または場所を1つずつユーザに見つけさせる以外にも、位置特定システムは、リストの形で並べられた一連の事前同意または事前構成された品目または場所をユーザが見つけることを可能にすることができ、ここで、任意の前の品目が見つかった、またはスキップされた後で見つけられるべき次の品目は、すでに知られている。そのような事前同意または事前構成された、品目または場所のリストは、博物館、画廊、遊園地またはユーザが個人の決定を行うよりもむしろ案内されることを好む他のロケーションにおいて有用な場合がある。位置特定システムは、ユーザが「品目が見つかった」もしくは「場所が見つかった」という指示を入力したことを用いて、および/またはリスト上の品目もしくは場所の所もしくは近くにいることに当てはまるユーザと行われる他の対話によって、リスト上の品目または場所の位置特定を依然として決定することができる。たとえば、画廊または博物館または史跡において、ユーザは、品目または場所についての(たとえば、言葉および/または視覚)情報を要求する場合がある(または品目もしくは場所が見つかったとユーザが示したとき、位置特定システムが与えてよい)。この情報の提供および情報が与えられた後にユーザが静止していた、または少しだけ動いていたという決定は、ユーザが品目または場所の隣またはその近くにいたという有効な指示になり、そうすることによって、位置特定システムは、品目または場所の位置特定についての新鮮な情報を取得する(たとえば、およびそのデータベースを更新する)ことが可能になる。
位置特定システムの例
[0059]図6は、品目のロケーションを決定するためのシステム500の実施形態を示す。図6のシステム500は、位置特定システムに対応してよく、図1のシナリオ90に示される要素のうちのいくつかに対応してよい。具体的には、図1のモバイルデバイス10は図6のモバイルデバイス510に対応してよく、図1のサーバ50は図6のサーバシステム530に対応してよく、図1のネットワーク30は図6のネットワーク520に対応してよい。システム500は、ロケーション支援とロケーション自己学習の両方を実施することができる、たとえば、ユーザによって位置特定システムに対して示された品目のロケーションをクラウドソーシングすることと、特定の店舗内(または他のエリアおよび場所内)での品目のロケーションの指示、店舗のマップ(または他のエリアもしくは場所)、および/あるいは店舗(または他のエリアもしくは場所)内で品目を入手するための効率的順序をユーザに与えることの両方ができる位置特定システムを表し得る。モバイルデバイス510は、ユーザが所望の品目を指定し、ロケーション履歴情報が収集され、見つかった品目または入手された情報が収集され、ロケーション情報がユーザに与えられるためのモバイルデバイスを表し得る。モバイルデバイス510の各々は、異なるユーザによって操作され得る。モバイルデバイス510の各々は、そのロケーションを、GPSまたは何らかの他の形の衛星ベースもしくは他の測位システム(たとえば、モバイルデバイス上のセンサーまたは近くのWiFi AP、BT APもしくはセルラー基地局によって送信された信号の検出および測定など)を介するなどして決定することが可能であり得る。モバイルデバイスに関するさらなる詳細は、本明細書において図7に関連して後で与えられる。ネットワーク520は、モバイルデバイス510によって、サーバシステム530と通信するのに使われる、1つまたは複数のワイヤレスネットワークとインターネットとを含む1つまたは複数のネットワークを表し得る。
[0060]サーバシステム530は、相関エンジン531、ルックアップエンジン532、経路エンジン533、マップ作成エンジン534、品目/店舗データベース535、および/またはマップデータベース536を含み得る。そのような構成要素は例示にすぎないことを理解されたい。そのような構成要素は、組み合わされるか、またはより多数の構成要素に分割されてよい。相関エンジン531は、モバイルデバイス510からの、受信されたロケーション履歴と、見つかった、または入手された品目の指示とを分析するのに役立ち得る。2つ以上のモバイルデバイスからのロケーション履歴を比較し、対比させることによって、相関エンジン531は、特定の店舗内の品目のロケーションを決定することができ得る。たとえば、相関エンジン531が、共通店舗などの共通エリアにおける共通品目に各々が関連付けられた異なるモバイルデバイス510から取得された数十、数百または数千のロケーション履歴へのアクセスを有する場合、ロケーション履歴の各々またはほとんどが共通して、またはほぼ共通して有する品目のロケーションが決定され得る。この最も共通するロケーションは、ロケーション履歴の間で共通する品目のロケーションを示し得る。各ロケーション履歴に沿って、共通品目が見つかったという指示をユーザがどこで与えたかを分析することによって、さらなる正確さが得られ得る。たとえば、ユーザは普通には、品目を見つけ、入手する短いスパン(たとえば、10〜30秒)内でのみ、いずれかの品目が見つかったという指示を与えることができ得、ここで、指示は、品目を見つけるのに先んじて(たとえば、ユーザが、品目に依然として近づきながら品目を見たとき)、または品目が見つかった後で(たとえば、ユーザが、次の品目を探す準備ができており、次の品目への方向を受信するために、品目が見つかったことを位置特定システムに対して示す必要があるときに)与えられてよい。したがって、相関エンジン531は、品目が、ユーザによって見つけられたと示される短時間(たとえば、10〜30秒)前に始まり、品目が、見つかったと示された短時間(たとえば、10〜30秒)後に終わる、作成されたおかげで共通品目を見つけることに直接関連付けられた、各ユーザについてのロケーション履歴の部分を分析するだけでよい。いくつかの実施形態では、品目が見つかったという指示の前または後の(ただし、品目が見つかる前と後の両方ではない)あらかじめ規定された時間期間中に集められたロケーション履歴の部分のみが、品目が見つかる前もしくは後に、「品目が見つかった」という指示を一貫して与えることをユーザが求められるか、またはそうでなければ任せられ、もしくは想定され得る位置特定システムの実施形態に対応すると見なされ得る。いくつかの実施形態では、相関エンジン531は、モバイルデバイスによってユーザについて集められたロケーション履歴上のロケーションを検討するだけでよく、ここで、モバイルデバイス(たとえば、モバイルデバイス上のセンサー)は、ユーザが静止している、もしくはほとんど静止している、および/または品目の入手(たとえば、ピックアップ)に一致する動きをしていると決定した。相関エンジン531は次いで、上述した共通品目を見つけることに直接関連付けられた、および/またはユーザが(たとえば、静止している間に)共通品目を入手していた可能性があるロケーションに制限される、ほとんどまたはすべてのユーザについてのロケーション履歴のその部分において共通ロケーションを探せばよい。相関エンジン531によって特定の店舗内で品目が位置特定されると、ロケーションの指示は、品目/店舗データベース535に記憶され得る。当然ながら、異なる店舗は、同じ品目を異なるロケーションに保有するので、同じタイプの品目が、店舗によっては、品目/店舗データベース535中に異なるエントリを有し得る。さらに、相関エンジン531によって、何らかの共通品目についてロケーションの範囲が決定されると(たとえば、あるタイプの品目が店舗内の棚もしくはラックに沿って、またはいくつかのラックもしくは棚の上に広がっているときに起こり得る)、単に単一のロケーションではなく、ロケーションの範囲が記憶されてよい。
[0061]ルックアップエンジン532は、ユーザのモバイルデバイスにロケーション指示を与えるための、品目のロケーション(品目/店舗データベース535内に記憶されている場合)を決定するために、品目/店舗データベース535にアクセスするのに役立ち得る。ルックアップエンジン532は、品目のロケーションを要求しているモバイルデバイスから受信された要求に応答することができ得る。要求は、店舗など、特定のロケーション、エリアまたは場所を示し得る。
[0062]経路エンジン533は、ユーザが特定の店舗において入手することを望む複数の品目の指示を受信し得る。店舗のマップおよび/または品目/店舗データベース535内で示されるタイプの品目のロケーションに基づいて、経路エンジン533は、ユーザのモバイルデバイスを介して、ユーザによって品目が入手されるべき、提案される経路または順序をユーザに与えればよい。そのような経路は、マップの上に方向が重ねられたマップの形で、またはユーザをある所望の品目から次のものへと連れて行くための、進路変更ごとの方向の形で与えられ得る。
[0063]マップ作成エンジン534は、ユーザロケーションがめったに、または決して生じない、商品棚などのオブジェクトによって占有される可能性が高いか、または場合によっては通常のユーザにはアクセス不可能な(たとえば、店舗従業員に制限されたエリア)店舗内のロケーションと、多くのユーザのロケーションが通常生じる、ユーザの移動が許容可能なロケーション(たとえば、通路)とを決定するために、複数のモバイルデバイスのロケーション履歴を分析したことに基づいてマップを作成し、強化し、および/または更新するのに役立ち得る。ロケーション履歴により、店舗内でのユーザの動きを追跡する際、マップ作成エンジン534は、通路の両側に沿った商品ラックなど、ユーザにとってアクセス不可能な通路とエリアとを示す、店舗の内部マップを作成することができる。店舗の内部マップの作成は、その後、店舗内で異なる品目を見つけるための方向をユーザに与えることで、位置特定システムを支援し得る。マップ作成エンジン534は、多くのユーザロケーション履歴において出現するロケーション、それに対する、ユーザロケーション履歴においてわずかに出現するかもしくはまったく出現しないロケーション、および/または品目が入手されたとユーザが示したロケーションを考慮に入れてよい。たとえば、相関エンジン531によって、店舗内の品目のロケーションに対応すると決定されたロケーションは概して、商品棚および壁などのアクセス不可能エリアに一致するか、または隣接する。マップ作成エンジン534は、マップデータベース536への、個々の店舗のマップを作成し、記憶し、および/または更新してよい。ユーザによって選択された店舗に基づいて、またはユーザのロケーションもしくは知られている習慣に基づいて、適切なマップが、モバイルデバイス510を介してユーザに与えられ得る。追加または代替として、店舗のマップを作成するのではなく、マップ作成エンジン534は、品目もしくは品目のタイプをマップ上のロケーションに関連付け、および/またはマップ上の対象ポイントを与えるために、意味情報または注釈など、マップについての追加情報を提供することによって、既存のマップを強化してよい。
[0064]いくつかの実施形態では、サーバシステム530の一部または全部の構成要素が、モバイルデバイス510のうちの1つまたは複数においてサポートされ得る。そのようなケースにおいて、サーバシステム530の一部または全部の構成要素をサポートするモバイルデバイス510は、別個のサーバシステム530と対話する必要はなくてよいが、代わりに、それ自体のデータベース中で品目のロケーションを決定し、記憶し、このデータベースから品目のロケーションを取得すればよい。いくつかのケースでは、モバイルデバイス510は、ロケーション履歴と、見つかった品目の指示とを、別個のサーバシステム530にではなく互いにクラウドソーシングしてよい。これらのケースにおいて、モバイルデバイスは、ピアツーピア対話をサポートし得る。いくつかの混成ケースでは、サーバシステム530の構成要素は、図6に示すように、および先に説明したように、別個のサーバシステム530もサポートされるいくつかのモバイルデバイス510上でサポートされ得る。これらの混成ケースにおいて、モバイルデバイス510上のサーバシステム530の構成要素のローカルサポートは、より大きい効率を与えることができ得、たとえば、データベース535および536が、品目ロケーションならびに/またはモバイルデバイス510のユーザによって頻繁に訪問される、および/もしくはモバイルデバイス510のユーザによって頻繁に見つけられる品目に関連付けられた店舗のマップを記憶するためにのみ、モバイルデバイス510によってサポートされる。この混成ケースにおいて、サーバシステム530の一部または全部の構成要素を含むモバイルデバイス510は、ロケーション履歴と、品目が見つかったという情報とをクラウドソーシングするためにサーバシステム530と依然として対話し、モバイルデバイス510にローカルに記憶されていないロケーションおよびマップ情報を要求することができ得る。
[0065]図7は、ロケーション履歴を入手し、位置特定された品目を示し、および/または品目のロケーションの指示を受信するためのモバイルデバイス600の実施形態を示す。モバイルデバイス600は、図6のモバイルデバイス510のうちの1つもしくは複数および/または図1のモバイルデバイス10のうちの1つもしくは複数に対応し得る。モバイルデバイス600は、処理モジュール610と、1つまたは複数のロケーションセンサー620と、1つまたは複数の通信インターフェース630と、ユーザインターフェース640と、ディスプレイ650と、品目リストデータベース660と、品目/店舗データベース670と、ロケーション履歴データベース680とを含み得る。モバイルデバイス600は、図12のコンピュータシステム1100として提示されるものなど、様々なコンピュータ化構成要素を含み得る。モバイルデバイス600はしたがって、コンピュータ化されてよく、コンピュータシステム1100との関係で詳述される構成要素の、1つまたは複数の事例を含み得る。
[0066]処理モジュール610は、ロケーションセンサー620、通信インターフェース630、およびユーザインターフェース640から受信された情報を処理するように構成された1つまたは複数のプロセッサを含み得る。処理モジュール610は、ディスプレイ650および通信インターフェース630に情報をアウトプットすることもでき得る。処理モジュール610は、品目リストデータベース660、品目/店舗データベース670、およびロケーション履歴データベース680にアクセスすることができ得る。
[0067]ロケーションセンサー620は、モバイルデバイス、およびモバイルデバイスを所有するユーザがどこで位置特定されるか決定するのに使われ得る。ユーザのモバイルデバイスによるロケーション決定を介したユーザの正確な測位は、1つまたは複数のタイプの慣性センサー(たとえば、加速度計、ジャイロスコープ、磁力計、コンパス、気圧計)を利用すればよい。そのようなタイプの慣性センサーのうちの1つまたは複数は、ロケーションセンサー620中に含まれ得る。ワイヤレスネットワークアクセスポイント(たとえば、WiFiアクセスポイント)、Bluetoothアクセスポイント、フェムトセルからの信号の、モバイルデバイス600による測定、および/またはモバイルデバイスによる、既知のロケーションにある固定無線周波数識別(RFID)デバイスの検出(たとえば、近距離通信(NFC)を使う)も、モバイルデバイス600のロケーションを決定するのに使われ得る。そのようなワイヤレス信号の検出は、通信インターフェース630を介して遂行され得る。いくつかの実施形態では、モバイルデバイス600は、店舗に入るのに先立って、および可能性としては店舗にいる間に、GPS、GalileoまたはGLONASSなどの全地球航法衛星システム(GNSS)を使って正確に測位されてよく、モバイルデバイスのロケーションは、店舗に入るのに続いて、モバイルデバイスの慣性センサーを使って追跡される。これらの実施形態において、GNSS衛星の測定は、通信インターフェース630と処理モジュール610とを用いて行われてよく、これらの測定を使うロケーション決定は、処理モジュール610によって実施されてよい。
[0068]通信インターフェース630は、たとえばローカルワイヤレスネットワークおよび/またはセルラーネットワークを介する、リモートサーバシステムとの通信を許可してよい。通信インターフェース630は、品目のロケーションをリモートサーバシステムにクラウドソーシングし、リモートサーバシステムから品目のロケーションを問い合わせるなど、リモートサーバシステムとのデータの受信と送信とを認めてよい。通信インターフェース630は、上記で詳述したように、アクセスポイント、RFIDデバイス、および/またはフェムトセルの検出によるロケーション決定も許可してよい。
[0069]家庭またはオフィスにいるときなど、品目が正確に(たとえば、細かい精度レベルまで)位置特定される必要がある場合にモバイルデバイス600を使うとき、モバイルデバイス600は、モバイルデバイスの現在のロケーションのどの推定値における累積誤差も取り除くために、ユーザに、特定の知られている基準ロケーションを使って、ユーザのモバイルデバイスのロケーションを定期的にリセットまたは再較正させればよい。たとえば、位置特定システムが、GNSS信号受信が乏しい、およびモバイルデバイスによって、そのロケーションを正確に決定するために測定され得るワイヤレスネットワークアクセスポイントがわずかにあるかまたはまったくない、Bluetoothアクセスポイントがわずかにあるかまたはまったくない、およびフェムトがわずかにあるかまたはまったくないロケーションにおいて使われている場合、モバイルデバイスの測位は、モバイルデバイスの絶対測位決定に続く短い時間期間だけ(たとえば、10分まで)通常は正確であり得る、モバイルデバイス中の慣性センサー(たとえば、加速度計、ジャイロスコープ、磁力計、コンパスおよび/または気圧計など)の使用に主に、または排他的に頼ってよい。時間経過に伴う誤差の累積のせいで、測位は、慣性センサーに依拠するとき、徐々に正確でなくなり得る。
[0070]ユーザが、ユーザのモバイルデバイスを特定の既知のロケーションに(たとえば、特定の出入り口の中央に、または机もしくは食器棚の特定の隅に)置き、モバイルデバイスに現在のロケーションを知らせた場合、精密な基準位置が確立され得る。代替として、このAPまたはデバイスの近くにモバイルデバイスを置くこと、およびこれは位置特定システムに対して起きたと示す(またはいくつかのケースでは、位置特定システムに、特定のアクセスポイントもしくはNFC信号の検出によりこれを決定させる)ことによって、単一のワイヤレスネットワークアクセスポイント、BluetoothアクセスポイントまたはNFCデバイスを使って、精密な基準ロケーションが確立され得る。基準ロケーションの絶対ロケーション(たとえば、緯度、経度および高度)は、基準ロケーションの所または隣に置かれているときに、それら自体についての正確なロケーション(たとえば、GPSを使って、最近取得され、慣性センサーを使って短時間は正確に更新され続ける)を依然として有するモバイルデバイスからの位置特定システムによって決定され得る。いくつかの実施形態では、位置特定システムが、基準ロケーションの絶対ロケーションを決定するのではなく、位置特定システムは、後の時間に品目を見つけるのに十分であり得る、この基準ロケーションに相対した、品目についての正確なロケーションを取得することが可能であり得る。たとえば、ユーザが、基準ロケーションにモバイルデバイスを置くこと、およびモバイルデバイスが基準ロケーションにあると位置特定システムに対して(たとえば、モバイルデバイス上のアプリケーションに対して)示すことによって、ユーザのモバイルデバイスのロケーションをリセット(または再較正)し得る。システムは次いで、基準ロケーションに相対したモバイルデバイスのロケーションをゼロ(モバイルデバイスが基準ロケーションにあることを意味する)にリセットしてよい。位置特定システムは次いで、モバイルデバイスの絶対ロケーションを必ずしも知ることになるとは限らないが、位置特定システムは、モバイルデバイスが基準ロケーションの所または隣にあることを知ることになる。位置特定システムは次いで、基準ロケーションに相対したそれらのロケーションが知られている品目への方向を与えればよい。さらに、位置特定システムは、基準ロケーションからユーザが離れた後、ユーザについてのロケーション履歴を作成することができ、ここで、ロケーション履歴は、基準ロケーションに相対したユーザのロケーションを指定する。
[0071]一例として、基準ロケーションを訪れた後、ユーザは、ユーザのモバイルデバイスを、対象となっている何らかの品目のロケーションの所または近くになるように動かす場合があり、品目が見つかったと、位置特定システムに知らせる場合がある。位置特定システムは次いで、どれだけ遠くまでモバイルデバイスが基準ロケーションから離れたかを示す、たとえば、モバイルデバイスが基準ロケーションから15フィート西に、25フィート北に、および3フィート上に離れたことを示し得る、モバイルデバイス中の慣性センサーから決定され得る、基準ロケーションに相対した品目のロケーションを記憶すればよい。後の時間に、同じユーザまたは別のユーザが、同じ品目または同じタイプの品目を見つけることを希望する場合があり、ユーザのモバイルデバイスを前の基準ロケーションに置き、モバイルデバイスが基準ロケーションにあることをシステムに対して示す場合がある。システムは次いで、基準ロケーションに相対したモバイルデバイスのロケーションをゼロにリセットしてよい。ユーザは次いで、品目または品目のタイプへの方向についてシステムに照会すればよく、モバイルデバイスが現時点で基準ロケーションにあることを知っているので、システムは、ユーザに、15フィート西、25フィート北、および3フィート上に動くよう指令すればよい(たとえば、ユーザは次いで、高い棚の上の品目を探す)。ユーザが、基準ロケーションから離れた後のあるときに、品目のロケーションまたは品目のタイプを問い合わせており、基準ロケーションに相対したモバイルデバイスの現在のロケーションが次いで、たとえば、10フィート東、10フィート南、および同じ高度にある場合、システムは、25フィート西、35フィート北、および3フィート上に動くよう、ユーザに方向を与えればよい。
[0072]モバイルデバイスの現在のロケーションの定期的再較正はまた、店内の商品および品目の任意の既知のロケーションまたは入口ドア、エレベーター、清算レジ、ショッピング通路の始まりなどについてのロケーションなど、他の既知のロケーションを利用してよい。モバイルデバイスは、その現在のロケーション推定値における起こり得る誤差が何らかの閾を超えると決定すると、たとえば、ユーザが別の商品または品目への方向を要求するとき、ユーザにシグナリングすることができる。ユーザには次いで、何らかの知られている基準ロケーション(特定の商品についての既知のロケーションなど)の隣に立ち、モバイルデバイスが適正に測位されるときを示すというオプションが与えられ得る。位置特定システムは、ユーザの予想される現在のロケーションの近くの、いくつかの異なる知られている基準ロケーションをユーザに与えればよく、ユーザに、それらのうちの1つを選択させ、基準ロケーションまで移動させ、そこにいるときに位置特定システムに対して示させる。
[0073]定期的再較正を用いて、位置特定システムは、ユーザが店舗に入る直前に、(たとえば、正確なGNSSまたはA−GNSS位置特定を可能にする条件において、屋外でGNSS測位またはアシスト型GNSS(A−GNSS)測位を使って)取得された可能性がある、モバイルデバイスにすでに知られている任意のロケーションを使って、ある程度の初期時間期間は適切に機能することができる。店舗に入るのに続いて、モバイルデバイスは、そのロケーションを、店舗に入る前と同じ方法を使って(たとえば、A−GNSSを使って)それ以上更新することはでき得ないが、モバイルデバイス中の慣性センサーを、さらに5〜10分などの閾距離または時間期間だけ、正確な現在のロケーション推定値を維持するのに利用することが可能であり得る。これは、位置特定システムが、ユーザによって見つけられるいくつかの品目のロケーションを決定し、そうすることによって、(ユーザが店舗の中にいる最初の5〜10分間に位置特定された任意の品目の、知られている正確なロケーションによって与えられる)いくつかの基準ロケーションを確立するのに十分であり得る。他のユーザも同様に、他の基準ロケーションが位置特定システムによって取得されることを可能にし得る。位置特定システムは次いで、同じ品目または品目のタイプについての、多くのユーザからの異なるロケーション推定値を、関連付けられた基準ロケーションの正確さを(たとえば、平均化により)さらに向上させるように組み合わせればよい。5〜10分よりも長く店舗の中にいたユーザは次いで、これらの知られている基準ロケーションを、自分のモバイルデバイスの現在のロケーションを(何らかのすでに知られている基準ロケーションの隣に動き、このことを位置特定システムに対して示すことによって)定期的にリセットし、そうすることによって、ロケーションの正確さを取り戻すのに利用することができる。この方法を用いると、店舗の中または近くのワイヤレスネットワークアクセスポイント、Bluetoothアクセスポイントおよび/またはフェムトセルはワイヤレスネットワークを有効にするので、Bluetoothまたはフェムトベースの測位は必要とされなくてよい。そうではなく、モバイルデバイスは、知られている基準ロケーションを、モバイルデバイスの現在のロケーション推定値と、それに続くセンサーベースのロケーション(および可能性としては画像認識に基づくロケーション)とを、基準ロケーションにおける任意のロケーション再較正に続く短時間期間だけ定期的にリセットする(または再較正する)のに使えばよい。当然ながら、正確な絶対測位を可能にするのに、十分なGNSS信号が利用可能である場合、どの追加ロケーション決定方法も使わずに、測位には絶対位置が使われ得る。
[0074]図7に戻ると、ユーザインターフェース640は、ユーザがモバイルデバイス600にインプットを与えることを許可し得る。たとえば、図5を参照すると、ユーザが、見つけられるべき品目の指示をインプットできるようにするとともに、いつ品目が見つけられ、または入手されるかという指示が示されるようにするタッチスクリーンが、モバイルデバイス600上に存在し得る。ディスプレイ650は、タッチスクリーンの一部であってよく、店舗内の品目のロケーションなどの情報をユーザに提示するのに使われ得る。
[0075]品目リストデータベース660は、ユーザが位置特定することを望む品目の指示が記憶されている非一時的コンピュータ可読媒体上の記憶配置を示し得る。店舗にいる間、または店舗に行くのに先立って、ユーザは、買物リストをインプットし得る。このリストは店舗特有であってよく(たとえば、ユーザが、買物リストが使われる店舗を示せばよい)または入力された品目についての最良の店舗が決定されてよい。そのような最良の店舗は、示された品目の最も多数を在庫にもつ、あらかじめ規定された距離内にある店舗であり得る。履歴品目リストは保存されてよい。たとえば、買物リストを構築するとき、ユーザは、ユーザが以前使った保存されたリストで開始することを望む場合がある。
[0076]品目/店舗データベース670は、特定の店舗内の、品目についての知られているまたは有望なロケーションを記憶し得る。したがって、ある特定の品目が、異なる店舗向けの品目/店舗データベース670中に複数のエントリを有する場合がある。品目/店舗データベース670は、本明細書において後で説明するように、スタンドアロンモードでのモバイルデバイス600によって使われるだけでよい。いくつかの実施形態では、品目/店舗データベース670は、クラウドソーシングを扱うサーバシステムから前に取り出された、店舗における品目のロケーションを記憶するのに使われ得る。その場合、品目のロケーションは、同じ品目についての将来の要求に応答して、リモートサーバから取り出される必要がなくてよい。いくつかの実施形態では、品目/店舗データベース670は、図6の品目/店舗データベース535と同じであっても、そのサブセットであってもよく、図6に関連して説明した混成モードをサポートすることができ得る。
[0077]ロケーション履歴データベース680は、店舗への個々の訪問について、ユーザのロケーション履歴を記憶し得る。ロケーション履歴は、特定の品目がいつ見つかったかの指示とともに、通信インターフェース630を介してリモートサーバ(たとえば、図6のサーバシステム530または図1のサーバ50)に送信され得る。後で説明されるネットワークモードで動作している場合、ロケーション履歴がリモートサーバに送信されると、ロケーション履歴はロケーション履歴データベース680から消去され得る。スタンドアロンモードでは、後で説明されるように、ロケーション履歴データは、店舗内の品目のロケーションが、リモートサーバからのクラウドソーシングされたデータを使わずにモバイルデバイスによって決定され得るように維持され得る。
ロケーション履歴中のロケーションの重み付け
[0078]いくつかの実施形態では、ロケーション履歴中のモバイルデバイス(およびしたがって、概してモバイルデバイスのユーザ)のロケーションには各々、確率または見つかった品目の近くもしくは隣にユーザがいる確率に関連付けられた重み付け係数が割り当てられ得る。確率または重み付け係数は、モバイルデバイスセンサー測定値が、見つかった品目の近くまたは隣にいるユーザと一致する場合(たとえば、センサー測定値が、ユーザが、閾時間期間よりも長く静止していたか、または実質的に静止していたことを示す場合、あるいはセンサー測定値が、ユーザがかがんでいたか、もしくは何かを持ち上げていた、または場合によっては品目を入手し、調べ、もしくは確かめることと一致する動きをしていた可能性があることを検出した場合)、より高くなり得る。確率または重み付け係数は、品目が見つかったとユーザが示したときに近いとき(たとえば、閾時間期間内)または同じときに出現するユーザロケーションに対してもより高くなってよく、たとえば、確率または重み付け係数は、いずれかのユーザロケーションの出現と、品目が見つかったとユーザが示した時間との間の時間の差に反比例してよく、時間の差がゼロのとき、何らかの有限の高い値が使われる。概して、ユーザが位置特定された品目の指示を与えるのと、モバイルデバイスがロケーション履歴のロケーションに存在していたときとの間に経過した時間量が短いほど、ロケーションが、店舗が品目を保有する所に対応すると見なされ得る可能性が高くなる。したがって、より短い経過時間に関連付けられたロケーションに、より大きい重みが割り当てられ得る。そのような重み付けは、全体として、ユーザが、品目を見つけ、または入手する少し前または少し後に品目が見つかったと示す可能性が最も高いので、有用であり得る。
[0079]確率または重み付け係数が使われる場合、あるタイプの品目についてのロケーションが、多くのユーザについてのロケーション履歴から取得された、そのタイプの品目についての候補ロケーションを平均することによって、(たとえば、サーバ50またはサーバシステム530によって)取得され得る。候補ロケーションは、ユーザが静止していた、ほとんど静止していた、および/または可能性としては品目を入手し、調べ、もしくは確かめていた(たとえば、ピックアップしていた)とモバイルデバイスセンサーが検出した、各ロケーション履歴ごとのロケーションを備え得る。代替的または追加的に、候補ロケーションは、たとえば、ユーザが静止しているか、または可能性としては品目を入手しているかをモバイルデバイスが検出することができない場合に、ロケーション履歴に沿って定期的に(たとえば、5秒ごとに)出現するロケーションであってよい。各候補ロケーションには、確率または重み付け係数が、すぐ上で説明したように割り当てられ得る。品目のタイプについてのロケーションが次いで、そのタイプの品目についての候補ロケーションの重み付き平均化として取得されてよく、ここにおいて、重みは、異なる候補ロケーションについての、割り当てられた重み付け係数または確率に等しい。代替として、そのタイプの品目のロケーションは、狭いエリア内にある候補ロケーションに割り当てられた重みの合計または確率の合計が最も大きい何らかの狭いエリア(たとえば、半径5メートルの円)を見つけることによって推論されてよく、ここで、合計は、狭いエリア内にある、すべてのユーザロケーション履歴からのすべての候補ロケーションに対してである。そのタイプの品目のロケーションは次いで、この狭いエリア内に含まれる候補ロケーションの重み付き平均として取得されてよく、ここで、重み付き平均は、候補ロケーションに割り当てられた重みまたは確率を使う。この決定を実施する際、前のように、各ユーザのロケーション履歴は、店舗の入口付近のロケーションなど、ユーザが共有し得る他の共通ロケーションを排除するために、そのタイプの品目が見つかったとユーザが示したときに近いとき(たとえば、10〜30秒以内)に出現するロケーションに制限され得る。
[0080]いくつかの状況は、特別な取扱いを必要とし得る。たとえば、同じタイプの品目が、店舗内の2つ以上の場所において位置特定される場合がある(たとえば、スーパーマーケットにおけるキャンディ)。あるタイプの品目は、かなりのエリアにわたって位置特定される場合もある(たとえば、オフィス用品店でのオフィス家具または日曜大工店での庭園家具)。さらに、あるタイプの品目のロケーションは定期的に変更され得る。そのような状況を扱うために、位置特定システムは、あるタイプの品目の(たとえば、ある時間期間にわたってそのタイプの品目を見つけた複数のユーザからのロケーションインプットから決定される)最も有望なロケーションにおける非集中を監視し、クラウドソーシングからいくつかの有望なロケーションが現れる状況にロケーションの範囲を割り当てればよい。位置特定システムは、品目のタイプの新しいロケーションの発生と、前のロケーションの消失とを監視することもできる。いくつかの実施形態では、位置特定システムは、ユーザが「品目が見つからなかった」という指示を与えることによって、ロケーションからの品目の消失をアラートされ得る。たとえば、図5を再度参照すると、ユーザには、特定の品目が、システムによって示されたロケーションにおいて位置特定されるのに成功しなかった場合に選択され得る追加インプットボタンが与えられ得る。
スタンドアロンおよびネットワークモード
[0081]店舗内の異なるタイプの品目のロケーションについての情報を最初にシードするために、位置特定システムがそのようなロケーションについての情報をもっていないとき、位置特定システムは「スタンドアロンモード」で動作し得る。スタンドアロンモードにおいて、ユーザのモバイルデバイスは、ユーザによって見つけられた品目のロケーションを収集し、記憶する(またはロケーションをサーバ上に記憶するが、ロケーションを与えるモバイルデバイスにとってのみアクセス可能である)ことができ得る。位置特定システムは、したがって、ユーザによって最初に見つけられたロケーションの指示を収集し、記憶することになるが、最初は、ユーザが品目を見つけるのを支援しない。ただし、あるタイプの品目のロケーションが位置特定システムによって取得されると、位置特定システムは、ユーザが同じ時間の品目を見つける必要がある次のとき、たとえば、ユーザがロケーションをもはや覚えていない場合、ユーザに方向を与えることが可能になる。そのようなスタンドアロンモードは、いくつかの店舗で買物をし、各店舗内ですべての品目がどこで位置特定されるかを常に覚えているとは限らないユーザにとって有用であり得る。
[0082]スタンドアロンモードは、具体的なユーザが前に与えた情報に基づいて、データが集められ、情報がユーザに与えられることを許可し得るが、品目のロケーションが時間とともにクラウドソーシングされるのに、より有用であり得る。位置特定システムはしたがって、ユーザによって(たとえば、ユーザのモバイルデバイス上のアプリケーションによって)集められたデータが、位置特定システムのサーバにアップロードされ、他のユーザ用のモバイルデバイスからクラウドソーシングされた、ロケーション履歴および品目が見つかったという情報と組み合わされることによって、品目のロケーションを決定するのに使われることになる「ネットワークモード」オプションをユーザに提案し得る。ユーザのデータの共有と交換に、ユーザ(たとえば、ユーザのモバイルデバイス上のアプリケーション)は、位置特定システムによって、そのようなクラウドソーシングを使って位置特定システムによって決定された品目のロケーションにアクセスすることを許可され得る。ユーザがネットワークモードを使い、ユーザのロケーション履歴データおよび品目がユーザによっていつ見つけられたかの指示が位置特定システムのサーバに(または、ピアツーピアシグナリングを使う位置特定システムにおける他のモバイルデバイス上のアプリケーションに)与えられることを認める誘因として、ユーザに対して(たとえば、ユーザのモバイルデバイス上のアプリケーションに対して)利用可能にされるデータの量は、ユーザが与えているデータの量に依存してよく、たとえば、より多くのデータがユーザによって与えられるのと交換で、より多くのデータがユーザに与えられる。いくつかの実施形態では、ユーザは、クラウドソーシングされた情報へのアクセスに対して支払いをし得る。そのような情報は、無料で(たとえば、店舗内での品目のロケーションについてのデータとの交換で、ユーザが広告を受信する広告サポートモデルにより)与えられてもよい。
[0083]いくつかの実施形態では、ユーザは、より全般的品目の名称を入力するとき、好まれる品目への方向を受信することができ得、たとえば、位置特定システムに「フルーツジュース」への方向を尋ねるユーザが、位置特定システムのオペレータによって、または(たとえば、前の既知のユーザ探索に基づいて)ユーザによって好まれ得る、特定のブランドのフルーツジュースへの方向を受信することができ得、さらに、位置特定システムによって、これらの好まれるブランド名を与えられ得る。いくつかの実施形態では、位置特定システムは最初に、好まれるブランドをユーザに推奨し、または提案すればよく、その後、ユーザは、推奨または提案を受諾または拒否すればよい。ユーザが特定の推奨または提案を受諾した場合、位置特定システムは次いで、推奨または提案されたブランド名への方向を与えればよい。いくつかの実施形態では、位置特定システムは、現在の価格、何らかの値引きが利用可能であるかどうか、およびブランド名についての他のユーザからのフィードバックなど、入手可能または好まれるブランド名(たとえば、前の例では、フルーツジュースの特定のブランド)についての追加情報を与えてよい。この追加情報は、特定の品目が依然として望まれ、見つけられる必要があるかどうか、および/または今は他のもの(たとえば、関連品目)が望まれ、見つけられる必要があるかどうかをユーザが決定するのを支援し得る。
[0084]追加情報は、特定の品目が見つかったか、スキップされるべきであったと示すとき、もしくは後の時間(たとえば、特定の品目を購入し、サンプリングした後)にユーザによって位置特定システムに(たとえば、ユーザのモバイルデバイス上のアプリケーションに)与えられる場合もあり、ならびに/または店舗所有者および/もしくはブランド名所有者と納入業者によって与えられる場合がある。追加情報は、値付けについての情報、品目の入手可能性(たとえば、品目が入手可能な店舗、または入手可能でない店舗)、品目品質、適切性および/または信頼性を含み得る。この追加情報は次いで、位置特定システムによって、品目を見つけ、品目についての情報を見つけ、または関連品目もしくはその品目を含む品目カテゴリについての情報を見つけ、もしくは見つけることを希望し得るユーザに与えられ得る。位置特定システムのオペレータは、追加情報を受諾し、ユーザに提供するのと交換で、品目についての追加情報を与える店舗所有者ならびに/またはブランドベースの納入業者および所有者から収入を(たとえば、広告の形で)受け取り得る。位置特定システムのオペレータは次いで、見つかった品目についてのデータを必然的にクラウドソーシングするための、いかなる料金もなしで、および/またはいかなる義務もなしで、ロケーション支援をユーザに与えることが可能であり得る。
[0085]ユーザによって見つけられたと示された異なるタイプの品目のロケーションに関係する、ユーザによって(たとえば、ユーザのモバイルデバイス上のアプリケーションによって)与えられるデータは、1人または複数の他のユーザから受信されたデータとの比較によって、位置特定システムによって(たとえば、位置特定システム用のネットワークサーバによって)検証され得る。検証は、(システムからのより多くのデータへのアクセスを得るために)不正をはたらいている、もしくは故意に偽のデータを与えている可能性がある、または位置特定システムの乏しいロケーション能力もしくは誤りのある実装により、不正確ロケーション履歴データをモバイルデバイスが与えている可能性があるユーザを検出するために行われ得る。データ収集プロセスは、たとえば、店舗内の新たな品目の辺りをユーザが動き、見つけたとき、データの連続収集を強く求めることによって、データを検証するのも助け得る。見つかった品目を、それぞれのロケーションにおいて個々に、または何回かに分けてユーザが入力する、データを集める「高速モード」もサポートされ得る(たとえば、見つかった品目を、ユーザが最初にスタンドアロンモードでデータベースに入力しているとき)。
[0086]データベースに投入する際(モバイルデバイス内でローカルに、およびサーバシステムにおいてクラウドソーシングを介しての両方)、(異なる時間に同じユーザによる、または異なるユーザによる)同じタイプの品目の複数の発見および(たとえば、センサーベースのロケーション決定に基づく)ロケーションの予想される正確さからの相関のレベルを表す不確実性および信頼性のレベルが含まれ得る。ユーザに対する方向は次いで、見つけられるべき品目のロケーションが有望であるが確かではないときをユーザに知らせることによって、および/または具体的なポイントロケーションではなく品目のタイプが位置特定される店舗内の領域もしくはエリアを与えることによって、そのような不確実性および信頼性を示し得る。追加ロケーションデータがクラウドソーシングされると、そのタイプの品目のロケーションが、たとえば、異なるユーザロケーション履歴から決定された共通タイプの品目の有望なロケーションを平均することによって洗練され得る。
[0087]いくつかの実施形態では、品目ロケーション情報を最初にシードするのに使われる、1人または複数のユーザからのデータではなく、1人または複数の信頼できるユーザが、品目のロケーションを与えることを許され、または任命され得る。たとえば、位置特定システムを操作するエンティティのエージェントおよび/または品目ロケーションが取得される必要がある店舗のエージェントが、位置特定システムに品目のロケーションを与えてよい。そのようなロケーションに対して、信頼できるユーザは、あるタイプの品目のロケーションがクラウドソーシングにより洗練される必要がないように、品目の付近ですぐに(たとえば、ユーザが品目の隣に立っているとき)、そのタイプの品目が見つかったという指示を与えることを必要とされ得る。
[0088]不正確または誤りのあるデータをユーザに送るのを避けるために、任意の1人のユーザによって与えられる、(ロケーションが位置特定システムによってまだ知られていない)新たな品目のロケーションは、そのタイプの品目についての、他のユーザからの追加ロケーション情報でロケーションが増補され得るある程度の隔離時間期間だけ、(スタンドアロンモードでのように)その特定のユーザに対してのみ利用可能にされればよい。したがって、複数のユーザからの品目のロケーションの独自確認は、位置特定システムによって品目ロケーションが他のユーザと共有される前に起こり得る。正確および信頼できるロケーション(またはロケーションのセット)が決定されることを可能にするために、新たな品目についての十分なロケーションデータが複数のユーザから集められると、ロケーションデータは、位置特定システムによって、ユーザの全体コミュニティにリリースされ得る。代替として、隔離されている品目のロケーションは、ロケーションが十分に信頼できると見なされるとは限らないという警告とともに、他のユーザに与えられ得る。品目のロケーションが、位置特定システムによる品目の独自識別および立証を可能にする写真またはビデオにより与えられる場合、品目のロケーションは、信頼することができ、他のユーザと共有される前にクラウドソーシングを必要としなくてよい(たとえば、品目が見つかったというユーザによる指示、さらに写真またはビデオからの品目の独自確認が、誤識別および不正確なロケーションの可能性を低くするので)。
[0089]位置特定システムは、いくつかの状況ではスタンドアロンモードが、および他の状況ではネットワークモードが使われる、スタンドアロンとネットワークモードの組合せを提案してもよい。たとえば、ユーザは、品目のロケーションデータがスタンドアロンモードにおいてのみ集められ、与えられ、他のユーザに対してはプライバシーの理由により利用可能にされないいくつかの一般的ロケーション(たとえば、家庭またはオフィス)を定義することを可能にされ得る。他の全体的ロケーション(たとえば、ショッピングモールおよび店舗)の場合、ユーザはネットワークモードを使えばよい。さらに、ユーザは、品目のロケーションについてのデータが、閉じたグループを成すユーザの特定のセットの中でのみ共有される、(たとえば、家族または特定の会社の従業員からなる)限定的な閉じたグループ内では、たとえばプライバシーの理由により、ネットワークモードを使ってよい。
[0090]位置特定システムは、「品目が見つかった」という指示を入力する前に、たとえば、何らかの品目の隣に電話を動かすことによって、非常に細かい解像度レベルで品目を見つけるのにも使われ得る。これは、食器棚、キャビネット、保管室などの中の品目を位置特定するのに有用であり得る。一例として、スタンドアロンモードにおいて使われるとき、位置特定システムは、ユーザが家の中の数十または数百もの個人的品目のロケーションを記憶する(および後で見つける)ことを可能にし得、これらのロケーションは通常、ユーザが(たとえば、数年ごとの)全体の片づけおよび清掃を実施するまで忘れられている場合がある。位置特定システムは、一定のレベルの求められるロケーションの正確さを想定してよく、またはレベルは、ユーザによって定義されてよい。品目のロケーションに関連した情報がユーザのために秘密にされるか、それとも公にされるかは、ユーザの全体的ロケーションに基づいてよい。たとえば、ユーザが、個人の住宅において位置特定されると決定された場合、品目のロケーションは、クラウドソーシングに使われなくてよく、秘密にされてよい。ユーザが、店舗やモールなどの公共ロケーションにいると決定された場合、品目ロケーション情報はクラウドソーシングに使われ得る。
品目のカテゴリ
[0091]いくつかの実施形態では、ユーザは、具体的な品目教示よりも、全般的教示を有用と思う場合がある。たとえば、ユーザは、ユーザが店舗で入手することを望む様々なタイプの果物をインプットするのではなく、ユーザは、「果物」のロケーションを要求するだけの場合がある。そのような状況は、ユーザが多くのタイプの果物を探しており、各々を個々に入力することを希望せず、または適度に熟し、入手可能であり、および/またはセール中であるものに基づいて果物を選ぼうとしている場合にもよく起こり得る。ユーザは、一般に店舗内の同様のロケーションにすべてが保たれる果物の全般的ロケーションを、ユーザが欲する果物をすべて見つけるのに使うことができ得る。さらに、位置特定システム(たとえば、位置特定システムをサポートするサーバシステム)は、ユーザによって要求された具体的な品目のロケーションが未知であるとき、品目の全般的カテゴリのロケーションをユーザに与えればよい。たとえば、ユーザが「バナナ」のロケーションを要求し、位置特定システムが、記憶された、バナナについての具体的なロケーションは有していないが、果物についてのロケーションを全般的に、またはバナナ以外の特定のタイプの果物についての1つもしくは複数のロケーションを有している場合、ユーザは、可能性としては、1つのロケーションまたは複数のロケーションが完全に正確であり信頼でき得るとは限らないという助言により、果物についての1つのロケーションもしくは複数のロケーションに全般的に、または他のタイプの果物についての1つのロケーションもしくは複数のロケーションに向けられ得る。
[0092]より全般的には、位置特定システムは、品目のカテゴリに関連した、ユーザに対する方向をサポートし、ほぼ同じロケーションにある同じカテゴリに属す品目を位置特定するための店舗の全般的傾向を利用し得る。たとえば、りんご、オレンジおよびみかんは果物の具体的な例であり、芋、ネギおよびピーマンは野菜の具体的な例であり、果物および野菜は生鮮食品の具体的な例である。ユーザが、スーパーマーケットにいるときに、たとえば「果物」と入力すると、位置特定システムは、ユーザからの具体的な品目を照会し得るが、システムは、全体として果物部門への、または果物のロケーションが未知であるが生鮮食品のロケーションがわかっている場合は生鮮食品部門への方向を与えればよい。位置特定システムは、前もって品目のカテゴリについての情報(たとえば、特定のカテゴリに属す特定の品目に関係する情報)を有して構成されてよく、この情報を、位置特定システムによって特定の店舗用に作成されるデータベースを展開し、および/または最初にシードするのに使うことができ得る。たとえば、特定のスーパーマーケットでは、りんごはロケーションAにおいて、オレンジはロケーションBにおいて、梨はロケーションCにおいて見つけられることを、位置特定システムが学習した場合、位置特定システムは、果物(および可能性としては生鮮食品)は、ロケーションA、BおよびCの近辺で見つけられ得ると推論してよく、これらは互いにかなり接近していると仮定する。さらに、位置特定システムは、果物または果物の特定の例(りんごや梨など)が、スーパーマーケットにおいて、ロケーションXの付近で見つけられ得ることを学習した場合、位置特定システムがオレンジのロケーションに関係する前の情報をもっていないとしても、オレンジもロケーションXの近くで見つけられ得ると仮定し得る。
[0093]品目のカテゴリ化も、ユーザインプットから部分的に推論されてよく、たとえば、ユーザが日曜大工店において「銅管」と入力し、位置特定システムが、「銅管」という名称を認識しないか、または特定の店舗における銅管のロケーションを知らない場合、位置特定システムは、ユーザに、異なるが関連する名称を入力するよう促せばよい。ユーザが次いで、「配管」と入力した場合、位置特定システムは、2つの名称(すなわち、「銅管」および「配管」)をそのデータベース中で、その店舗に対して、または複数の店舗に対してリンクすることができる。他の具体的な品目の名称(たとえば、「蛇口」、「温水タンク」、「止水栓」)に関連した、他のユーザによる、「配管」という名称の後続入力は、位置特定システムを、「配管」という名称があるカテゴリの品目であると推論するように導くことができ得、このカテゴリに属す特定の品目の名称を位置特定システムに与えることができ得る。
[0094]品目のカテゴリは、位置特定システムのいくつかの実施形態では、カテゴリの属性のうちのいくつかのみを共有する品目を含むように拡張され得る。たとえば、そのようなカテゴリは、「教材」、「5学年開始時の教材」、「自動車修理品目」、「ファストフード」などを含んでよい。位置特定システムは、どの品目がそのようなカテゴリに属すかを最初は知らなくてよく、最初は、どの品目が普通にはこれらのカテゴリに属すかを、ユーザが位置特定システムに教えることに依拠してよい。たとえば、数人のユーザが、秋の学期の開始の数週間前に、学校で5学年が始まろうとしている子供のために必要とする品目のリストをもって店舗を訪れる場合がある。ユーザは、必要とする品目のいくつかをすでに知っている場合があり、(たとえば、適切な店舗に入った後)位置特定システムに、「5学年開始時の教材」への方向を照会し得る。最初、位置特定システムは、「5学年開始時の教材」カテゴリに属すどの品目についても名称を知らない場合があるので、ユーザに、個々の品目についての名称を入力するよう促し得る。これは、最初はユーザをあまり助けることにならない場合があるが、そのような照会の数日後、位置特定システムは、「5学年開始時の教材」のコンテキストにおいて、ユーザによって最も共通して照会された品目のリストを構築することができ得る。その時点で、位置特定システムは、そのような品目のリストを、学校の5学年開始時の品目を照会するユーザに提示し、ユーザに、必要とする品目をリストから選択してもらえばよい。位置特定システムは、これらの品目への方向をユーザに与え、方向を何らかの最適な順序で(たとえば、歩行を最小限にするために)与え、可能性としてはこれらの品目の、他のユーザに対する人気度を示すこともできる。
ロケーション自己学習実施形態
[0095]図8は、品目のロケーションを決定するための方法700の実施形態を表す。方法700は、図6のシステム500によって、または品目のロケーションを決定し、可能性としては、そのようなロケーションをユーザに与えるように構成された何らかの他のシステム(たとえば、位置特定システム)によって実施され得る。方法700の各ブロックは、図6のサーバシステム530または図1のサーバ50などのリモートアクセス可能コンピュータシステムによって実施され得る。そのようなサーバシステムは、複数のユーザの複数のモバイルデバイスと、たとえば、図1のモバイルデバイス10、図6のモバイルデバイス510または図7のモバイルデバイス600と通信していてよい。いくつかの実施形態では、各ブロックがリモートコンピュータサーバによって実施されるのではなく、モバイルデバイス(たとえば、図1のモバイルデバイス10、図6のモバイルデバイス510または図7のモバイルデバイス600)が、本明細書において後で詳述されるようにスタンドアロンモードで動作し、方法700の各ブロックを実施してよい。図12のコンピュータシステム1100が、方法700の各ブロックを実施するのに使われ得る。したがって、方法700の各ブロックを実施するための手段は、図6のシステム500および図12のコンピュータシステム1100との関係で詳述される構成要素の一部または全部など、コンピュータ化ハードウェアの1つまたは複数の事例を含み得る。
[0096]ブロック710において、第1のユーザの第1のモバイルデバイスから、第1のモバイルデバイスによって訪問された第1の複数のロケーションを示す第1のロケーション履歴が受信され得る。ロケーション履歴は、店舗の中でとられる経路を示し得る。ロケーション履歴は、第1のモバイルデバイスの個々の別個のロケーション、または第1のモバイルデバイスのロケーションの連続的セットを備え得る。ロケーション履歴は、ロケーション履歴中の各ロケーションについて、時間、日時または時間の範囲をさらに備え得る。ロケーション履歴は、追加または代替として、第1のモバイルデバイスが少なくとも閾時間期間は動くのを(近似的に)止めた、および/またはモバイルデバイスのユーザが品目を見つけ、もしくは入手することに一致する動きをしていた(たとえば、品目をショッピングカートに入れていた)とモバイルデバイス上のセンサーが決定したロケーションを示し得る。ブロック720において、特定の第1のタイプの品目が第1のモバイルデバイスのユーザによって見つけられたことを示す第1の指示が受信され得る。ブロック710において受信されたロケーション履歴は、品目がユーザによって見つかったと示されるのに先立って決定されたロケーション履歴にすぎなくてもよく、品目がユーザによって見つかったと示されるのに先立って、およびその後で決定されたロケーション履歴であってもよい。いくつかの実施形態では、品目が見つかるのに先立つ、およびそれに続くロケーション履歴は、ユーザによる前の品目の発見と、ユーザによって後続品目を見つけることとの間、または品目に対する方向をユーザに与えることと、次の品目に対する方向を与えることとの間の時間期間に制限され得る。ブロック710および720を実施するための手段は、モバイルデバイス、1つまたは複数のネットワーク、および/または図6のサーバシステム530などのコンピュータサーバシステムを含み得る。ブロック710および720を実施するための手段は、図12のコンピュータシステム1100の構成要素の1つまたは複数の事例など、様々なコンピュータ化構成要素を含み得る。
[0097]ブロック730において、第2のユーザの第2のモバイルデバイスから、第2のモバイルデバイスによって訪問された第2の複数のロケーションを示す第2のロケーション履歴が受信され得る。ただし、いくつかの実施形態では、第2のモバイルデバイスは第1のモバイルデバイスであってよく、第2のユーザは第1のユーザであってよい。第2のロケーション履歴は、第2のユーザによって同じ店舗の中でとられる第2の経路を示し得る。第2のロケーション履歴は、追加または代替として、第2のモバイルデバイスが(近似的に)少なくとも閾時間期間は動くのを止めたロケーションを示し得る。第2のロケーション履歴は、第1のロケーション履歴と少なくとも部分的に重複し得る。追加または代替として、サーバまたは他のコンピュータシステムが、第1および/または第2のロケーション履歴が特定の店舗に関連付けられていると決定し得る。ブロック740において、第1のタイプの品目が第2のモバイルデバイスのユーザによって見つけられたことを示す第2の指示が受信され得る。これは、ブロック720において第1のユーザによって位置特定された品目のタイプと同じタイプの品目であってよい。ブロック730において転送され、またはその品目に該当すると示されたロケーション履歴は、品目が第2のユーザによって見つかったと示されるのに先立って決定されたロケーション履歴にすぎなくてもよく、品目がユーザによって見つかったと示されるのに先立って、およびその後で決定されたロケーション履歴であってもよい。いくつかの実施形態では、品目が見つかるのに先立つ、およびそれに続くロケーション履歴は、ユーザによる前の品目の発見と、ユーザによって後続品目を見つけることとの間、または品目に対する方向をユーザに与えることと、次の品目に対する方向を与えることとの間の時間期間に制限され得る。追加または代替として、第1の指示および/または第2の指示は、第1のタイプの品目を発見したそれぞれの第1および第2の時間、ならびに/または第1のタイプの品目を見つけたことに対応する、第1および/もしくは第2の複数のロケーション中のそれぞれのロケーションを含み得る。ブロック730および740を実施するための手段は、モバイルデバイス、1つまたは複数のネットワーク、および/または図6のサーバシステム530などのコンピュータサーバシステムを含み得る。ブロック730および740を実施するための手段は、図12のコンピュータシステム1100の構成要素の1つまたは複数の事例など、様々なコンピュータ化構成要素を含み得る。
[0098]第1および/もしくは第2のユーザが、複数の品目を位置特定し、品目が位置特定されたという関連指示を与えた場合、ならびに/またはブロック710および/もしくは730に対応する追加ロケーション履歴が受信された場合、ブロック710〜740の各々は繰り返され得る。ユーザが店舗内を動き続けるとき、ユーザのモバイルデバイスは、ロケーション履歴を作成し続けてよい。
[0099]ブロック750において、第1のタイプの品目のロケーションが、第1および第2のロケーション履歴からの第1の複数のロケーションおよび第2の複数のロケーションに基づいて決定され得る。たとえば、決定は、図2〜図4に関連して本明細書において先に説明したように起こり得る。いくつかの実施形態では、2人より多いユーザに関連付けられたデータが、品目のロケーションを決定するのに使われる。品目のロケーションを決定するために、ユーザの2つのロケーション履歴が比較されてよい。比較されるロケーション履歴の部分は、品目が見つかったとユーザが示すのに先立って集められたロケーション履歴の部分のみであってよい。いくつかの実施形態では、品目の発見に続くロケーション履歴の部分が比較されてよく、いくつかの実施形態では、比較されるロケーション履歴は、各ユーザについて、前の品目を見つけたことに続いて、および後続品目を見つけるのに先立って出現したロケーションに制限され得る。次いで、存在する場合は共通するロケーションが、決定され得る。そのようなロケーションは、ロケーション履歴が少なくとも近似的に交差する場所、および/またはモバイルデバイスが閾時間期間だけ近似的に止まった、共通する近似的場所であってよい。共通するロケーションが、ロケーションが決定されている特定の品目以外の任意の品目に対応し得るかどうかも決定されてよく、その場合、そのようなロケーションは比較から除かれてよい。そうである場合、品目が見つかったことを伴う、他のユーザについての追加ロケーション履歴からの情報は、品目のロケーションを正確に決定するのに必要であり得る。第1の指示および/または第2の指示が、第1のタイプの品目を発見したそれぞれの第1および/または第2の時間を含む場合、第1のタイプの品目のロケーションの決定は、品目タイプを発見した第1および/または第2の時間にさらに基づき得る。第1および/または第2の複数のロケーションは、(i)それぞれの第1および/もしくは第2の発見時間によって閾時間期間内にそれぞれの第1および/もしくは第2のモバイルデバイスによって訪問されたロケーションのみをそれぞれの大多数に含めること、ならびに/または(ii)それぞれの第1および/もしくは第2のモバイルデバイスが、それぞれの第1および/もしくは第2のモバイルデバイスによって、静止している、実質的に静止している、もしくは第1のタイプの品目を入手することに一致する動きをしていると決定されたロケーションおよび時間のみをそれぞれの大多数に含めることによって、それぞれの第1および/または第2の発見時間にさらに基づいてよい。前に示したように、いくつかの実施形態では、第1の複数のロケーション中のロケーションは、第1の複数のロケーションの各ロケーションが、第1のモバイルデバイスがそのロケーションに存在するのと第1の発見時間との間に経過した時間に基づいて重み付けされるように、発見時間への時間的近接度に従って重み付けされてよく、ここにおいて、ロケーションの重みは、経過する時間が削減されると増す。同様の重み付けが、第2のモバイルデバイスおよび第2の発見時間に関して、第2の複数のロケーションについて実施され得る。本明細書の他の箇所で示されるように、第1のタイプの品目のロケーションが決定されると、実施形態は、コンピュータシステムが、第1のタイプの品目を、決定されたロケーションに基づいて、特定の店舗のマップまたは内装レイアウト上のロケーションに関連付ける情報を作成することを可能にし得る。さらに、いくつかの実施形態では、コンピュータシステムは、第1のタイプの品目のロケーションについての要求を受信し、第1のタイプの品目のロケーションを与えることによって応答することができ、ここで、与えられるロケーションは、決定されたロケーションである。ロケーションは相対語で与えられてよく、ここで、与えられるロケーションは、基準ロケーションと、基準ロケーションに相対したロケーションとを備える。いくつかの実施形態では、コンピュータシステムは、与えられたロケーションへの経路を与えるようにさらに装備され得る。いくつかの実施形態では、コンピュータシステムは、第2のタイプの品目についてのロケーションを決定することができ得、第1のタイプの品目および第2のタイプの品目がカテゴリの一部であると決定することができ得、そのカテゴリに対応するエリアを、第1のタイプの品目の決定されたロケーションおよび第2のタイプの品目の決定されたロケーションに基づいて決定することができ得る。いくつかの実施形態では、第1のロケーション履歴および/または第2のロケーション履歴は基準ロケーションを含み、ここで、基準ロケーションは、第1のタイプの品目のロケーション、第2のタイプの品目のロケーションまたは既知のロケーション(たとえば、店舗内の、エントランスのロケーション、特定のエレベーターもしくは特定の清算ポイントなど、既知の場所のロケーション)に対応する。これらの実施形態において、ブロック750における第1のタイプの品目の決定は、基準ロケーションに部分的に基づき得る。ブロック750を実施するための手段は、図6のサーバシステム530などのサーバシステムを含み得る。たとえば、ブロック750は、ソフトウェアと、ファームウェアと、ハードウェアとを使って実装され得る相関エンジン531によって実施され得る。ブロック750を実施するための手段は、図12のコンピュータシステム1100の構成要素の1つまたは複数の事例など、様々なコンピュータ化構成要素を含み得る。
ロケーション支援実施形態
[0100]図8の方法は、品目のロケーションを決定することに焦点を当てているが、図9の方法800は、品目がどこで位置特定されたかという指示をユーザに与えることに焦点を当てている。したがって、図9は、品目のロケーションを与えるための方法の実施形態を示す。方法800は、図6のシステム500、または品目のロケーションを決定し、可能性としては、そのようなロケーションをユーザに与えるように構成された何らかの他のシステム(たとえば、位置特定システム)によって実施され得る。方法800の各ブロックは、図6のサーバシステム530または図1のサーバ50などのリモートアクセス可能コンピュータシステムによって実施され得る。そのようなサーバシステムは、複数のユーザの複数のモバイルデバイスと通信している場合がある。いくつかの実施形態では、各ブロックがリモートコンピュータセベア(remote computer sever)によって実施されるのではなく、モバイルデバイスが、前に詳述されたようにスタンドアロンモードで動作し、方法800の各ブロックを実施し得る。図12のコンピュータシステム1100が、方法800の各ブロックを実施するのに使われ得る。したがって、方法800の各ブロックを実施するための手段は、図6のシステム500、図7のモバイルデバイス600、および図12のコンピュータシステム1100との関係で詳述される構成要素の一部または全部など、コンピュータ化ハードウェアの1つまたは複数の事例を含み得る。
[0101]方法800は、ユーザによって(たとえば、特定の店舗に入るとき)手動で呼び出されてもよく、ユーザのロケーションがいくつかの指定された場所(たとえば、いくつかの店舗)に一致するとき、ユーザによって、自動的にアクティブ化するようにセットアップされてもよい。位置特定システムは、個人クラウドソーシングサービスに登録することによってデータを共有し、受信するために、特定のソーシャルネットワークに関連して提供されてもよい。位置特定システムは、追加商品情報を提供することもでき、たとえば、ユーザは、商品が(ユーザによって)見つけられた、または見つけられなかった最後のときはいつだったかと、いくつかの品目(たとえば、品目のいくつかのブランド)がどれだけ人気があるかと、好まれる品目が見つからないとき、代替的な同様の品目が入手可能であり得るかどうかとを見つけることができる。この追加情報は、好まれる品目が見つからなかったとき、ユーザに、置換え品目を入力させることによって、全体的または部分的に組み立てられる可能性がある追加システムインテリジェンス(たとえば、同様の品目の間の関係についての知識)を必要とする場合がある。
[0102]ブロック810において、店舗内の1つまたは複数の品目のロケーション(または他の形のロケーション)の指示が記憶され得る。そのようなロケーションを決定するために、方法700が、前に詳述されたように使われてよい。
[0103]ブロック820において、品目のロケーションについての要求が受信され得る。そのような要求は、ユーザが自分のモバイルデバイスに、ユーザが入手し、またはそうなければ見つけることを望む品目をインプットしたことに応答してよい。要求は、ユーザが品目を位置特定することを望む店舗(または他のエリアもしくは場所)を示しても示さなくてもよい。たとえば、店舗(または他のエリアもしくは場所)は、ユーザのロケーションまたはユーザが普段どこで買物するかに基づいて選択され得る。いくつかの実施形態では、ユーザは特定の店舗を指定し得る。いくつかの実施形態では、店舗(または他のエリアもしくは場所)は、見つけられる必要があるとユーザによって示された1つまたは複数の品目に基づいて選択され得る。ブロック820を実施するための手段は、図6のルックアップエンジン532を含んでよく、エンジン532は、ユーザが買物しているか、もしくは買物する予定である(または品目を探しているか、もしくは探す予定である)店舗(または他のエリアもしくは場所)内での品目のロケーションを決定するために、品目/店舗データベース535にアクセスすればよい。ブロック820を実施するための手段は、図12のコンピュータシステム1100の1つまたは複数のコンピュータ化構成要素をさらに含む。
[0104]ブロック820において受信された要求に応答して、品目のロケーションの指示が、ブロック830においてユーザのモバイルデバイスに与えられ得る。品目のこのロケーションは、図8の方法700のクラウドソーシングを使って決定されている場合がある。ユーザに対して示される品目のロケーションは、店舗のマップ(または他のエリアもしくは場所)に重ねられたロケーションおよび/あるいは進路変更ごとの方向の形であってよい。ブロック830を実施するための手段は、図6のサーバシステム530を含んでよく、システム530は、ネットワーク520など、1つまたは複数のネットワークを介してモバイルデバイスと通信することができ得る。
[0105]ユーザが店舗内で複数の品目を位置特定することを望む実施形態など、いくつかの実施形態では、ユーザを品目から品目へと導く経路が有用であり得る。ブロック840において、その品目と、やはりユーザによって見つけられることが所望される、既知のロケーションを有する任意の他の品目とを取り出すための、店舗内の経路が決定され得る。経路は、通路、エントランス、出口、商品スタンド、フリーザーケース、およびディスプレイがどこで位置特定されるかなど、店舗の内部構成に少なくとも部分的に基づき得る。そのような障害物のロケーションは、マップデータベース536へ記憶されている店舗のマップを通して取得されてよく、および/または図10の方法900に従って決定されてよい。経路は、ユーザが棚および他の障害物を通ることを期待されないように構成されるべきである。前に詳述されたように、経路は、ユーザによって移動される距離、ユーザが重い品目を運ぶ可能性がある時間量、冷蔵品目がユーザの手にある時間量などを最小限にするように最適化され得る。ブロック840を実施するための手段は、図6の経路エンジン533を含み得る。経路エンジン533は、店舗内の品目のロケーションを求めて品目/店舗データベース535に、および店舗のマップにアクセスするためにマップデータベース536にアクセスするように構成され得る。ブロック840を実施するための手段は、図12のコンピュータシステム1100の1つまたは複数のコンピュータ化構成要素をさらに含み得る。
[0106]ブロック850において、経路がユーザに与えられ得る。これは、経路がユーザのモバイルデバイスに送信され、モバイルデバイスのディスプレイを介してユーザに提示されることを伴い得る。ブロック850を実施するための手段は、サーバシステムと、1つまたは複数のネットワークと、モバイルデバイスとを含んでよく、そのような構成要素は、コンピュータ化されるとともに、図12のコンピュータシステム1100の1つまたは複数の構成要素を含み得る。
マップ用データの作成
[0107]店舗の内部のマップを取得するために、マップが作成され、またはそうでなければ取得される必要があり得る。いくつかの事例では、店舗運営者が、店舗の正確なマップを提供し得る。他の実施形態では、マップは、ロケーション履歴中で障害物のロケーションを定義するために、信頼でき得るユーザを、様々な障害物の辺りを歩かせることによって作成されてよい。ユーザのロケーション履歴は、図8の方法700の一部として集められてよく、ロケーションについてのマップを作成するのにも使われ得る。図10は、複数のロケーション履歴を使って、店舗または他のエリアもしくは場所のマップを作成または更新するための方法900の実施形態を示す。方法900は、図6のシステム500またはロケーションをマップするように構成された何らかの他のシステム(たとえば、位置特定システム)によって実施され得る。方法900の各ブロックは、図6のサーバシステム530などのリモートアクセス可能コンピュータシステムによって実施され得る。そのようなサーバシステムは、複数のユーザの複数のモバイルデバイスと通信している場合がある。いくつかの実施形態では、各ブロックがリモートコンピュータセベアによって実施されるのではなく、モバイルデバイスが、前に詳述されたようにスタンドアロンモードで動作し、方法900の各ブロックを実施し得る。図12のコンピュータシステム1100が、方法900の各ブロックを実施するのに使われ得る。したがって、方法900の各ブロックを実施するための手段は、図6のシステム500、図7のモバイルデバイス600、および図12のコンピュータシステム1100との関係で詳述される構成要素の一部または全部など、コンピュータ化ハードウェアの1つまたは複数の事例を含み得る。
[0108]ブロック910において、第1のモバイルデバイスについての第1のロケーション履歴が受信され得る。この第1のロケーション履歴は、ユーザが店舗を通って自分のモバイルデバイスとともにとった、不連続ポイントまたは連続的経路を含み得る。方法700を参照すると、ブロック910において受信されたロケーション履歴は、ブロック710において受信された同じロケーション履歴を表し得る。したがって、第1のロケーション履歴は、ユーザのモバイルデバイスによって集められ、ユーザが店舗を立ち去った後、またはユーザが店舗内にいる間に、リモートサーバシステムに送信され得る。同様に、ブロック920において、第2のモバイルデバイスについての第2のロケーション履歴が、同じ店舗について受信され得る。(いくつかの実施形態では、第2のモバイルデバイスは、ユーザによる、店舗への異なる訪問中は第1のモバイルデバイスであってよい)。この第2のロケーション履歴は、ユーザが店舗を通って自分のモバイルデバイスとともにとった、不連続ポイントまたは連続的経路を含み得る。方法700を参照すると、ブロック920において受信されたロケーション履歴は、ブロック730において受信された同じロケーション履歴を表し得る。したがって、第2のロケーション履歴は、ユーザのモバイルデバイスによって集められ、ユーザが店舗を立ち去った後、またはユーザが店舗内にいる間に、リモートサーバシステムに送信され得る。ブロック910および920を実施するための手段は、1つまたは複数のモバイルデバイスと、1つまたは複数の通信用ネットワークと、サーバシステムとを含み得る。方法900は、モバイルデバイス用に2つのロケーション履歴が集められることについて開示しているが、より多くのロケーション履歴が、店舗(または他のエリアもしくは場所)の正確なマップを作成するのに使われてよいことを理解されたい。ブロック910および920を実施するための手段は、1つまたは複数のモバイルデバイスと、1つまたは複数の通信ネットワークと、リモートサーバとを含み得る。ブロック910および920を実施するための手段は、図12のコンピュータシステム1100の1つまたは複数のコンピュータ化構成要素をさらに含み得る。
[0109]たとえば、図4を参照すると、2つの図示されるロケーション履歴110が受信され得る。これらのロケーション履歴は、2人のユーザが店舗内でどこに移動したかを示す。ユーザは、障害物が存在する所を通らず、登らず、または他のかたちで動かなかったと(たとえば、位置特定システムによって)仮定され得る。たとえば、図4の例では、両方のユーザが商品棚140の辺りを動いている。商品棚140のロケーションは、どのユーザロケーションも出現しないか、または出現する傾向がない、店舗内の領域に基づいて、システムによって確かめられ得る。たとえば、ロケーション履歴110のうちのどれも、商品棚140と重複しない場合がある。商品棚140のロケーションおよび/または形状を正確に決定するために、多くのロケーション履歴が、位置特定システムによって、商品棚140の近似的形状とロケーションとを決定するために分析され得る。
[0110]ブロック930において、前に示したように、あるタイプの品目を、店舗(または他のエリアもしくは場所)の既存のマップ上のロケーションに関連付ける情報が作成され得る。この情報は、既存のマップへの意味情報として、または注釈として与えられ得る。追加または代替として、新たなマップが作成されてよく、あるいはユーザが移動することができた店舗(または他のエリアもしくは場所)内の領域と、ユーザが移動しなかった領域とを分析することによって、既存のマップが妥当性検証され、訂正または更新されてよい(たとえば、店舗の内部レイアウトが変わった場合)。百または千など、あらかじめ規定された数のロケーション履歴が、あるロケーションを通過しなかった場合、障害物が存在すると想定され得る。ブロック930において作成または更新されたどのマップも、すべてまたはほとんどのロケーション履歴がどの障害物も通らないように、障害物によってカバーされるエリア、または他のアクセス不可能領域を示し得る。どのロケーション履歴も、またはほとんどどのロケーション履歴も通らない、少なくともあらかじめ規定されたサイズのエリアまたはボリュームは、商品棚などの障害物であると決定され得る。たとえば、図4の商品棚140のロケーションは、第1のロケーション履歴および第2のロケーション履歴に基づいて決定され得る。ブロック930を実施するための手段は、図6のマップ作成エンジン534を含み得る。マップ作成エンジン534は、1つまたは複数のモバイルデバイスからロケーション履歴を受信し、情報を作成し、更新し、またはマップデータベース536へ記憶されているマップに追加し得る。ブロック930を実施するための手段は、図12のコンピュータシステム1100の1つまたは複数のコンピュータ化構成要素をさらに含み得る。
[0111]いくつかの実施形態では、店舗内の特定のタイプのロケーションは、ユーザがそのロケーションをいつ訪れたかに基づいて識別され得る。たとえば、ユーザが少なくともある程度の閾時間期間(たとえば、10〜30秒)だけ静止しているか、またはほぼ静止している最後のロケーションは通常、キャッシャー(cashier)であり得る。店舗の清算領域(たとえば、図2〜図4の例における清算領域150)は、ユーザが、店舗を出る前に少なくとも閾時間期間だけ立ち止まる傾向があるロケーションに基づいて決定され得る。店舗のエントランスおよび/または出口(たとえば、図2〜図4の例におけるエントランスおよび出口160)は、ロケーション履歴が店舗内においてどこで始まり、および/または終わるかに基づいて、位置特定システムによって確かめられ得る。位置特定システムは、店舗の境界と、したがって、ユーザがいつ店舗に入ったか、または出たかとを、既存のマップデータ(たとえば、店舗の建物の全周を描写するのに十分な解像度を与える衛星画像)から、および/またはユーザによって与えられた、ユーザが店舗の内または外にいるという確認から決定することができ得る。たとえば、位置特定システムは、ユーザが、自分が物理的に店舗の中にいると確認するまで、店舗内の品目への方向をユーザに与えなくてよい。代替として、または追加として、位置特定システムは、店舗など、どの建物も、少数のエントランスと出口とを有するということを利用してよい。すべてのユーザロケーション履歴が少数の狭いエリア(各狭いエリアは、エントランスおよび/または出口に対応する)を通ることを確かめることによって、位置特定システムは、狭いエリアの各々がエントランスおよび/または出口に対応すると決定してよい。さらに、ユーザが、想定された店舗エントランスを通過した後で、リスト上の第1の品目を常に探し始め、店舗への想定された出口を通過する前に、リスト上の最後の品目を常に探し終える場合、位置特定システムは、店舗への想定されたエントランスと出口とを検証することができ得る。店舗エントランスまたは出口を通過する際の、ユーザの動きの全体的方向(たとえば、エントランスを通過する際の、西から東への全体的方向、および出口を通過する際の、東から西への全体的方向)がさらに記録される場合、位置特定システムは、エントランスおよび出口が同じ狭いエリアまたは空間を占め得るときでも、ユーザが店舗の中にいるとき(エントランスについての、あらかじめ記録された全体的方向にエントランスを通過したことにより)と、ユーザが店舗を立ち去ったとき(出口について記録された全体的方向で出口を通過したことにより)とを決定することができ得る。
[0112]図10のブロック930において作成されたマップは、1人または複数のユーザから追加ロケーション履歴が収集されると、洗練され得る。作成されたマップは、ユーザが店舗内で品目を位置特定する予定である場合、ユーザのモバイルデバイスに与えられ得る。店舗内の品目のロケーションは、マップ上で示され得る。このマップは、ユーザが品目から品目へと移動するための経路を決定するためにも使われ得る。そのようなマップは、図2〜図4の店舗マップと同様であり得る。このマップは、ユーザによって所望される品目がどこで位置特定されるかを示すために、モバイルデバイスを介してユーザに提示され得る。提案される経路も示されてよい。提案される経路は、前に詳述されたように、最も短い、および/またはそうでなければ最も効率的な経路となるように、位置特定システムによって決定され得る。
[0113]図11は、品目ロケーションに基づいて、カテゴリロケーションを決定するための方法1000の実施形態を示す。方法1000は、図6のシステム500またはロケーションをマップするように構成された何らかの他のシステム(たとえば、位置特定システム)によって実施され得る。方法1000の各ブロックは、図6のサーバシステム530などのリモートアクセス可能コンピュータシステムによって実施され得る。そのようなサーバシステムは、複数のユーザの複数のモバイルデバイスと通信している場合がある。いくつかの実施形態では、各ブロックがリモートコンピュータセベアによって実施されるのではなく、モバイルデバイスが、前に詳述されたようにスタンドアロンモードで動作し、方法1000の各ブロックを実施し得る。図12のコンピュータシステム1100が、方法1000の各ブロックを実施するのに使われ得る。したがって、方法1000の各ブロックを実施するための手段は、図6のシステム500、図7のモバイルデバイス600、および図12のコンピュータシステム1100との関係で詳述される構成要素の一部または全部など、コンピュータ化ハードウェアの1つまたは複数の事例を含み得る。
[0114]ブロック1010において、第1の品目の第1のロケーションまたは第1の品目のタイプが、店舗内で決定され得る。ブロック1010は、方法700のブロック750に対応し得る。例として、第1の品目は、コーンフレークなど、あるタイプのシリアルであってよい。ブロック1020において、第2の品目の第2のロケーションまたは第2の品目のタイプが、店舗内で決定され得る。ブロック1020は、方法700のブロック750に対応し得る(同じ店舗内の異なる品目について実施される)。例として、第2の品目も、シュレッドウィート(shredded wheat)など、あるタイプのシリアルであってよい。
[0115]ブロック1030において、第1の品目および第2の品目は同じカテゴリの一部であると決定され得る。方法1000を実施するサーバシステムは、様々な全般的カテゴリにカテゴリ化されている様々な具体的な品目を定義する情報を有して構成されていてよい。たとえば、情報は、それぞれ、特定のタイプの果物および野菜について構成され、果物および野菜の全般的カテゴリに関連付けられてよい。同様に、情報は、特定のタイプのシリアルについて構成され、シリアルおよび/または朝食用食品の全般的カテゴリに関連付けられてよい。代替として、方法1000を実施するサーバシステムは、ユーザインプットから、いくつかの具体的な品目名が品目のいくつかのカテゴリに属すと決定することができ得る。たとえば、ユーザが、最初に具体的な品目名を、次いで、最初に入力された名称について詳しく述べるよう、サーバシステムによって依頼されたとき、全般的カテゴリの名称を入力すると(または逆もまた同様)、サーバシステムは2つの名称を関連付けることができる。他のユーザからのインプットにより、関連付けが繰り返され、拡張された場合、サーバシステムは、いくつかの品目名が、いくつかまたは多くの他の品目名に関連付けられていることにより、品目カテゴリに対応すると認識し得る。ブロック1030において、サーバシステムによって記憶されたカテゴリは、第1および第2の品目が同じカテゴリの一部であると決定するのに使われ得る。前の例を参照すると、コーンフレークおよびシュレッドウィートは両方とも、直列のタイプである。
[0116]ブロック1040において、店舗内のあるエリアが、第1の品目の第1のロケーションおよび第2の品目の第2のロケーションに基づいて、ブロック1030において決定されたカテゴリに対応すると決定され得る。たとえば、このエリアは、第1および第2のロケーションを備えてもよく、第1および第2のロケーションを囲んでもよい。前の例を参照すると、シリアルに関連付けられた店舗内の全般的領域は、コーンフレークについて決定されたロケーションおよびシュレッドウィートについて決定されたロケーションに基づいて決定され得る。この例はただ2つのタイプのシリアルを伴うが、そのような決定は、より多くのタイプのシリアルおよび/または他のタイプの朝食用食品のロケーションに基づいてよいことを理解されたい。いくつかの実施形態では、特定の品目が店舗の通路内で見つかった場合、店舗の通路は、その特定の品目に対応する品目の全般的カテゴリに対応すると仮定され得る。
[0117]品目の特定のカテゴリについて店舗内の領域が決定されると、カテゴリの領域は、品目の具体的なロケーションが未知の場合、このカテゴリの一部であるどの具体的な品目についての全般的ロケーションもユーザに与えるのに使われ得る。さらに、ユーザは、全般的カテゴリについてのロケーションを、このカテゴリに属す具体的な品目をインプットすることなく要求することが可能であり得る。
[0118]ある態様では、位置特定システムは、店と、レストランと、オフィスビルと、ホテルと、街または都市の中の他の場所とを、そのような情報が他のかたちで欠けているときに位置特定するための粗いロケーション粒度で使われる場合がある。たとえば、インターネットサービスまたはソーシャルネットワークが、そのユーザを、そのようなデータを集めるのに利用し、他のユーザに与える場合がある。
[0119]カテゴリを扱うのに加え、複数のエリアにおいて、および/または異なるレベルのロケーション確度で品目を位置特定する位置特定システムは、対象となっている品目または場所への方向をユーザに与えるのに先立って、コンテキスト情報を利用すればよい。たとえば、位置特定システムは、特定の街、街の中の1つまたは複数のショッピングモールの中、および各ショッピングモール内の一部または全部の店舗の中のいくつかの場所および品目のロケーションについてのデータを有し得る。ユーザが偶然、街の中の特定のショッピングモール内の特定のガーデニング関連店舗の近くにいて、位置特定システムに「ガーデンツール」への方向を与えるよう依頼した場合、位置特定システムは、(i)方向を近くのガーデニング店舗に制限し、(ii)ガーデンツールを有し得る、モール内の他の店舗への方向を与え、(iii)モールの外の他の店舗を伴う方向を与え、または(iv)「ガーデンツール」という言葉を店名の一部として、たとえば、「ガーデンツールアウトレット」もしくは「ガーデンツールおよび家具」のように使うどの店舗(モール内もしくは他のどこかにある)も伴う方向を与えればよい。これらの異なる代替法は、位置特定システムが、ユーザに方向を与える際に、どの代替法を使うか、たとえば、ガーデンツールに関する前の例における代替法(i)、(ii)、(iii)または(iv)を使うかを知るために追加情報を取得しなければならないことを意味し得る。追加情報は、(a)ユーザによる明示的インプット、(b)位置特定システムの、ユーザへの照会、それに続くユーザ応答、または(c)ユーザのロケーションによる、特定のユーザについての、もしくは異なるコンテキストを優先させ得る(たとえば、前の例における代替法(i)、(ii)、(iii)および(iv)の中で優先させ得る)、概してユーザについての、位置特定システムによって前に確立された慣習によって取得されてよい。たとえば、上の代替法(c)のケースにおいて、位置特定システムは、ある特定のユーザまたは複数のユーザが概して、要求された品目を含むか、または含み得る、ユーザが現時点でその中またはその近くに位置特定されている最も狭いエリア内の、要求された品目に向けられることを好むことを発見し得る。この発見は、代替法(a)および(b)が使われるときに情報が受信された結果として起きてもよく、(ユーザをより遠い店舗に向けることを伴うなど)他の慣習を使って与えられたとき、ユーザが方向を拒否した結果として起きてもよい。
[0120]位置特定システムはさらに、会場において、最初に知られているよりもはるかに細かい詳細レベルでロケーション情報をマップし、与えるのに使われてよい。たとえば、ショッピングモールの所有者または運営者は、ロケーションを含む、ショッピングモールのレイアウトと、モール内の各店舗の全体的レイアウトとを知っていてよい。ただし、所有者または運営者は、(たとえば、定期的に変わり得る)各店舗の正確なフロアプラン、または品目の特定のグループおよび個々の品目の、各店舗内でのロケーション、たとえば、大型百貨店の中で、化粧品や宝飾品が正しくはどこで位置特定され得るかを知らない場合がある。そのような情報を集めるのに位置特定システムを使うことによって、ショッピングモールの運営者または所有者は、(たとえば、品目の大多数のグループが、各店舗においてどこで正確に見つけられ得るかを示す)ユーザへの強化マップデータと、ユーザを特定の品目に案内するための能力の両方を提供することが可能であり得る。さらに、これらの方向は、ユーザがショッピングモールに入るとき、ならびにユーザが特定の店舗に入るときに与えられ得る。同じ能力が、博物館、アートギャラリー、病院、空港など、他のタイプの会場に当てはまり得る。
例示的コンピュータシステム
[0121]図12は、コンピュータシステムの例を表す。図12に示したコンピュータシステムは、図6のサーバシステム530、図1のサーバ50、図1のモバイルデバイス10および図7のモバイルデバイス600など、前に説明したコンピュータ化デバイスの一部として組み込まれ得る。図12は、様々な実施形態によって提供される方法の様々なステップを実施することができるコンピュータシステム1100の一実施形態の概略図を提供する。図12は、様々な構成要素の一般化された図を提供するものにすぎず、それらの構成要素のいずれかまたはすべてが適宜に利用され得ることに留意されたい。図12は、したがって、個々のシステム要素が、比較的分離された方法または比較的より統合された方法で、どのように実装され得るかを概括的に示している。
[0122]バス1105を介して電気的に結合され得る(または、適宜に、他の方法で通信中であり得る)ハードウェア要素を備えるコンピュータシステム1100が示されている。ハードウェア要素は、限定はしないが1つもしくは複数の汎用プロセッサおよび/または(デジタル信号処理チップ、グラフィックスアクセラレーションプロセッサ、ビデオデコーダなどのような)1つもしくは複数の専用プロセッサを含む1つまたは複数のプロセッサ1110と、限定はしないがマウス、キーボード、リモートコントロール、タッチスクリーン、マイクロフォンなどを含み得る1つまたは複数のインプットデバイス1115と、限定はしないがディスプレイデバイス、プリンタ、ラウドスピーカーなどを含み得る1つまたは複数のアウトプットデバイス1120とを含み得る。
[0123]コンピュータシステム1100は、限定はしないがローカルおよび/もしくはネットワークアクセス可能なストレージを備え得、ならびに/または、限定はしないがディスクドライブ、ドライブアレイ、光記憶デバイス、プログラム可能、フラッシュ更新可能などであり得るランダムアクセスメモリ(「RAM」)および/もしくは読取り専用メモリ(「ROM」)のような固体記憶デバイスを含み得る、1つまたは複数の非一時的記憶デバイス1125をさらに含み得る(および/またはそれと通信中であり得る)。そのような記憶デバイスは、限定はしないが、様々なファイルシステム、データベース構造などを含む、任意の適切なデータストアを実装するように構成される場合がある。
[0124]コンピュータシステム1100はまた、限定はしないが、モデム、ネットワークカード(ワイヤレスもしくはワイヤード)、赤外線通信デバイス、(Bluetoothデバイス、802.11デバイス、WiFiデバイス、WiMax(登録商標)デバイス、セルラー通信デバイスなどの)ワイヤレス通信デバイスおよび/またはチップセットなどを含み得る、通信サブシステム1130を含み得る。通信サブシステム1130は、データが、(一例を挙げると、図6のネットワーク520などの)ネットワーク、他のコンピュータシステム、および/または本明細書で説明される任意の他のデバイスと交換されることを可能にし得る。多くの実施形態では、コンピュータシステム1100は、上記で説明されたようなRAMまたはROMデバイスを含み得る作業メモリ1135をさらに備えることになる。
[0125]コンピュータシステム1100は、現在作業メモリ1135内に位置付けられて示されている、オペレーティングシステム1140、デバイスドライバ、実行可能ライブラリ、および/または1つもしくは複数のアプリケーションプログラム1145などの他のコードを含むソフトウェア要素を備えることもでき、1つまたは複数のアプリケーションプログラム1145は、様々な実施形態によって提供されるコンピュータプログラムを備えることができ得る、ならびに/または本明細書に記載するように、他の実施形態によって提供される方法を実施し、および/もしくはシステムを構成するように設計されることが可能である。ある実施形態では、アプリケーションプログラム1145のうちの1つまたは複数は、コンピュータシステム1100が図1のモバイルデバイス10または図7のモバイルデバイス600などのモバイルデバイスに対応するケースでは位置特定システムをサポートするアプリケーションであってよく、またはそれらのアプリケーションをサポートしてよい。単なる例として、上記で説明された方法に関して説明された1つまたは複数のプロシージャは、コンピュータ(および/またはコンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装され得、一態様では、次いで、そのようなコードおよび/または命令は、説明された方法に従って1つまたは複数の動作を実施するように汎用コンピュータ(または他のデバイス)を構成するためおよび/または適応させるために使用され得る。
[0126]これらの命令および/またはコードのセットは、上記で説明された非一時的記憶デバイス1125などの非一時的コンピュータ可読記憶媒体上に記憶され得る。場合によっては、記憶媒体は、コンピュータシステム1100などのコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体は、記憶媒体がそれに記憶された命令/コードを用いて汎用コンピュータをプログラムし、構成し、および/または適合させるのに使用され得るように、コンピュータシステムとは別々(たとえば、コンパクトディスクなどの取外し可能媒体)とされ、および/またはインストールパッケージ内で提供され得る。これらの命令は、コンピュータシステム1100によって実行可能である実行可能コードの形態をとる場合があり、ならびに/または、(たとえば、様々な一般に利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを使用して)コンピュータシステム1100上でコンパイルおよび/もしくはインストールしたときに実行可能コードの形態をとる、ソースコードおよび/もしくはインストール可能コードの形態をとる場合がある。
[0127]実質的な変形形態が、特定の要件に従って製作され得ることが当業者には明らかであろう。たとえば、カスタマイズされたハードウェアも使用され得、および/または、特定の要素が、ハードウェア、(アプレットなどのポータブルソフトウェアを含む)ソフトウェア、もしくは両方で実装され得る。さらに、ネットワークインプット/アウトプットデバイスなど、他のコンピューティングデバイスへの接続が採用され得る。
[0128]上述のように、一態様では、いくつかの実施形態は、本発明の様々な実施形態による方法を実施するための(コンピュータシステム1100などの)コンピュータシステムを採用し得る。実施形態のセットによれば、そのような方法のプロシージャの一部または全部は、プロセッサ1110が、作業メモリ1135中に含まれている(オペレーティングシステム1140、および/またはアプリケーションプログラム1145などの他のコードに組み込まれ得る)1つまたは複数の命令の1つまたは複数のシーケンスを実行したことに応答して、コンピュータシステム1100によって実施される。そのような命令は、非一時的記憶デバイス1125のうちの1つまたは複数など、別のコンピュータ可読媒体から作業メモリ1135に読み込まれ得る。単なる例として、作業メモリ1135に含まれる命令のシーケンスの実行は、プロセッサ1110に、本明細書で説明されている方法の1つまたは複数のプロシージャを実施させることができる。
[0129]「機械可読媒体」、「コンピュータ可読記憶媒体」、および「コンピュータ可読媒体」という用語は、本明細書で使用されるとき、機械を特定の方法で動作させるデータを提供することに関与する任意の媒体を指す。これらの媒体は、非一時的であり得る。コンピュータシステム1100を使用して実装される一実施形態では、様々なコンピュータ可読媒体は、実行のためにプロセッサ1110に命令/コードを与えることに関与し得、ならびに/またはそのような命令/コードを記憶および/もしくは搬送するために使用され得る。多くの実装形態では、コンピュータ可読媒体は、物理的および/または有形の記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとり得る。不揮発性媒体は、たとえば、非一時的記憶デバイス1125などの光ディスクおよび/または磁気ディスクを含む。揮発性媒体は、限定はしないが、作業メモリ1135などのダイナミックメモリを含む。
[0130]物理的および/または有形のコンピュータ可読媒体の一般的な形態は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気媒体、CD−ROM、任意の他の光媒体、マークのパターンをもつ任意の他の物理媒体、RAM、PROM、EPROM、FLASH−EPROM、任意の他のメモリチップもしくはカートリッジ、またはコンピュータが命令および/もしくはコードを読み取ることができる任意の他の媒体を含む。
[0131]コンピュータ可読媒体の様々な形態は、実行のためにプロセッサ1110に1つまたは複数の命令の1つまたは複数のシーケンスを搬送することに関与することができ得る。単なる例として、命令は、最初に、リモートコンピュータの磁気ディスクおよび/または光ディスク上に担持され得る。リモートコンピュータは、命令をそのダイナミックメモリにロードし、命令を、コンピュータシステム1100によって受信および/または実行されるように、伝送媒体を介して信号として送ることができる。
[0132]通信サブシステム1130(および/またはその構成要素)が、概して信号を受信し、次いで、バス1105が、信号(および/またはその信号によって搬送されるデータ、命令など)を作業メモリ1135に搬送してよく、プロセッサ1110が、作業メモリ1135から命令を取り出し、実行する。作業メモリ1135によって受信された命令は、場合によっては、プロセッサ1110による実行の前または後のいずれかに非一時的記憶デバイス1125に記憶され得る。
[0133]コンピュータシステム1100の構成要素がネットワークにわたって分散され得ることをさらに理解されたい。たとえば、何らかの処理が、第1のプロセッサを使用してあるロケーションにおいて実施され得るが、一方で、他の処理が、第1のプロセッサからリモートである別のプロセッサによって実施され得る。コンピュータシステム1100の他の構成要素は、同様に分散され得る。コンピュータシステム1100は、したがって、複数のロケーションにおいて処理を実施する分散コンピューティングシステムとして解釈され得る。場合によっては、コンピュータシステム1100は、文脈に応じて、別個のラップトップ、デスクトップコンピュータ、モバイルデバイスなど、単一のコンピューティングデバイスとして解釈され得る。
[0134]図13は、モバイルデバイスにおいて品目を位置特定するための方法1200の実施形態を表す。方法1200は、モバイルデバイス(図1のモバイルデバイス10、図5の400、図6の510、および図7の600などによって、または品目のロケーションを決定し、可能性としては、そのようなロケーションをユーザに与えるように構成された何らかの他の装置によって実施され得る。方法1200の各ブロックは、図6のサーバシステム530または図1のサーバ50などのリモートアクセス可能コンピュータシステムと通信しているモバイルデバイスによって実施され得る。そのようなサーバシステムは、複数のユーザの複数のモバイルデバイスと、たとえば、図1のモバイルデバイス10、図6のモバイルデバイス510または図7のモバイルデバイス600と通信していてよい。図7のモバイルデバイス600は、方法1200の各ブロックを実施するために使用され得る。したがって、方法1200の各ブロックを実施するための手段は、図7のモバイルデバイス600との関係で詳述された構成要素の一部または全部など、ハードウェアおよび/またはソフトウェアの任意の組合せを含み得る。
[0135]ブロック1210において、モバイルデバイスによって訪問された複数のロケーションを示すロケーション履歴が決定される。前に示されたように、モバイルデバイス上のセンサーおよび/またはGNSS衛星および/または地上APおよび/または基地局から受信された信号の、モバイルデバイスによる測定が、どの時間においてもモバイルデバイスについてのロケーションを決定するのに使われてよく、したがって、モバイルデバイスのユーザが様々なロケーションにいたときを決定し得る。したがって、いくつかの実施形態では、ロケーション履歴は、モバイルデバイス(およびしたがって、通常はモバイルデバイスのユーザ)が特定のロケーションにあったときを示す、複数のロケーションの各々に対応する時間を含み得る。モバイルデバイスのロケーション履歴は、他のモバイルデバイスのロケーション履歴と、様々な程度まで重複し得る。
[0136]ブロック1220において、第1のタイプの品目がモバイルデバイスのユーザによって見つけられたという指示が受信される。前に論じたように、そのような指示は、様々な形で届き得る。いくつかの事例では、たとえば、ユーザは、ユーザインターフェース(たとえば、タッチ、オーディオ、視覚、および/またはモーションインプットなど)を使って第1のタイプの品目が見つけられたと示し得る。状況、所望の機能性、および/または他の要因によって、指示が受信されたときと、品目が実際に見つかったときとの間の時間は変わり得る。
[0137]ブロック1230において、ロケーション履歴およびそのタイプの品目が見つかったという第2の指示がコンピュータシステムに送られる。この第2の指示は、ロケーション履歴とは違ってよく、および/またはロケーション履歴に組み込まれてよい。いくつかの実施形態では、第2の指示は、ブロック1220における第1の指示が受信された時間、および/または第1の指示が受信されたときのモバイルデバイスのロケーションに対応する、第1の複数のロケーション中のロケーションであり得る。いくつかの実施形態では、ロケーション履歴中の複数のロケーションは、ブロック1220における、第1の指示が受信された時間、および/またはモバイルデバイスが、モバイルデバイスによって、静止している、実質的に静止している、もしくは第1のタイプの品目を入手することに一致する動きをしていると決定されたロケーションおよび時間から閾時間期間内にモバイルデバイスによって訪問されたロケーションを含み得る。前に論じたように、ロケーション履歴(または複数のロケーション)は、1つまたは複数のロケーションの各々が、第1のタイプの品目が見つかったロケーションである見込みを示す、1つまたは複数のロケーションの重み付けを含み得る。いくつかの実施形態では、ユーザが位置特定された品目の指示を与えるのと、モバイルデバイスがロケーション履歴のロケーションに存在していたときとの間に経過した時間量が短いほど、ロケーションが、品目の現実のロケーションに対応すると見なされ得る可能性が高くなる。したがって、より短い経過時間に関連付けられたロケーションに、より大きい重みが割り当てられ得る。他の実施形態は、ロケーションを、異なるように重み付けし得る。ロケーション履歴中の各ロケーションの重みは、コンピュータシステムに送られるロケーション履歴中に、および/またはそれとともに含まれ得る。いくつかの実施形態では、特定の店舗の指示(たとえば、店舗の名称および/または住所)もコンピュータシステムに送られてよい。コンピュータシステムは、いくつかのタイプの品目がどこにあるかを示す情報を有し得る。およびしたがって、実施形態は、モバイルデバイスが、(たとえば、モバイルデバイスのユーザが第1のタイプの品目を見つけるのを支援するために)第1のタイプの品目のロケーションについての要求をコンピュータシステムに送ることと、第1のタイプの品目のロケーションまたは第1のタイプの品目についての経路のうちの少なくとも1つを、コンピュータシステムから受信することと、ロケーションおよび経路のうちの少なくとも1つに基づいて、モバイルデバイスのユーザに方向を(たとえば、ディスプレイ、オーディオアウトプットなどを介してだが、これは、モバイルデバイスの能力に依存し得る)与えることとを含み得る。本明細書において前に示したように、いくつかの実施形態では基準ロケーションが使われ得る。たとえば、コンピュータシステムによってモバイルデバイスに与えられる第1のタイプの品目のロケーションは、基準ロケーションと、基準ロケーションに相対したロケーションとを含み得る。追加または代替として、ブロック1210において決定されたロケーション履歴は基準ロケーションを含んでよく、ここで、基準ロケーションは、ブロック1220において第1の指示が受信されたときのモバイルデバイスのロケーション、モバイルデバイスのユーザによる、第2のタイプの品目が見つかったという指示が受信されたか、あるいは既知のロケーション(たとえば、店舗へのエントランスまたは店舗内の特定のエレベーターもしくは清算ポイントのロケーション)がユーザによって見つけられたという指示が受信されたときのモバイルデバイスのロケーションのうちの少なくとも1つに対応する。ブロック1210、1220および1230を実施するための手段は、図7のモバイルデバイス600のロケーションセンサー620、通信インターフェース630、処理モジュール610、および/またはデータベース660、670、680など、様々なコンピュータ化構成要素を含み得る。
[0138]上で議論された方法、システム、およびデバイスは、例である。様々な構成は、適宜に様々なプロシージャまたは構成要素を省略、置換、または追加し得る。たとえば、代替構成では、本方法は、説明した順序とは異なる順序で実施され得、ならびに/または様々な段階が追加、省略、および/もしくは組み合わせられ得る。また、いくつかの構成に関して説明した特徴は、様々な他の構成において組み合わせられ得る。構成の異なる態様および要素が、同様にして組み合わせられ得る。また、技術は発展し、したがって、要素の多くは例であり、本開示または特許請求の範囲を限定しない。
[0139]説明では、(実装形態を含む)例示的な構成の完全な理解を与えるように、具体的な詳細が与えられる。しかしながら、構成はこれらの具体的な詳細を伴わずに実践され得る。たとえば、構成を不明瞭にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不要な詳細を伴わずに示されている。この説明は、例示的な構成を与えるにすぎず、特許請求の範囲の範囲、適用性、または構成を限定しない。そうではなく、構成の上記の説明は、説明された技法を実装することを可能にする説明を当業者に与えるものである。本開示の趣旨および範囲から逸脱することなく、要素の機能および構成において様々な変更が行われ得る。
[0140]また、構成は、流れ図またはブロック図として示されるプロセスとして説明されることがある。各々は動作を順次プロセスとして記述することができ得るが、動作の多くは並行して、または同時に実施され得る。加えて、動作の順序は、並べ替えられ得る。プロセスは、図に含まれていない追加のステップを有することができ得る。さらに、本方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実施するためのプログラムコードまたはコードセグメントは、記憶媒体などの非一時的コンピュータ可読媒体に記憶され得る。プロセッサは、説明されたタスクを実施することができ得る。
[0141]いくつかの例示的な構成について説明してきたが、様々な修正、代替構成、および均等物は、本開示の趣旨から逸脱することなしに使用され得る。たとえば、上記の要素は、より大きいシステムの構成要素であり得、ここにおいて、他のルールが、本発明の適用例よりも優先するかまたはさもなければ本発明の適用例を変更し得る。また、上記の要素が考慮される前に、考慮されている間に、または考慮された後に、いくつかのステップが行われ得る。