(57)【要約】衛星信号に加えて追跡デバイスに内蔵されたセンサのデータを用いて、追跡デバイスの位置の特定を向上させるシステム、方法及びコンピュータ可読媒体を提供する。一態様では、本方法は、サーバが誤差の大きいゾーンにおける追跡デバイスの存在を検出するステップと、誤差の大きいゾーンにおける追跡デバイスの現在の位置についての地理座標が、現在の位置について登録されている地理座標の基準内にあるかどうかを判定するステップと、地理座標が基準内にない場合、追跡デバイスに内蔵された少なくとも１つのセンサを起動するステップと、追跡デバイスの移動情報を追跡デバイスから受信するステップと、現在の位置と移動情報とに基づき、追跡デバイスの更新された位置を特定するステップと、更新された位置に基づき、追跡デバイスが向かっている目的地に対して到着アラートを提供するステップとを含む。【選択図】図４
2021524179.tif 000002
【特許請求の範囲】
【請求項１】
位置を特定するためのコンピュータ実施方法であって、
サーバが誤差の大きいゾーンにおける追跡デバイスの存在を検出するステップと、
前記誤差の大きいゾーンにおける前記追跡デバイスの現在の位置についての地理座標が、前記現在の位置について登録されている地理座標の基準内にあるかどうかを判定するステップと、
前記地理座標が前記基準内にない場合に、前記追跡デバイスに内蔵された少なくとも１つのセンサを起動するステップと、
前記追跡デバイスの移動情報を前記追跡デバイスから受信するステップと、
前記現在の位置と前記移動情報とに基づいて、前記追跡デバイスの更新された位置を特定するステップと、
前記更新された位置に基づいて、前記追跡デバイスが向かっている目的地に対して到着アラートを提供するステップと
を含むコンピュータ実施方法。
【請求項２】
前記誤差の大きいゾーンは、あるエリアであって、前記エリア内の報告された位置の地理座標における平均誤差が閾値よりも大きいエリアである、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記少なくとも１つのセンサは、前記追跡デバイスの加速度計とジャイロスコープと磁力計とのうちの１つ以上である、請求項１に記載のコンピュータ実施方法。
【請求項４】
前記地理座標は、前記現在の位置の緯度及び経度を含み、
前記現在の位置について登録されている地理座標は、前記現在の位置について登録されている緯度及び経度を含む、
請求項１に記載のコンピュータ実施方法。
【請求項５】
前記追跡デバイスの現在の位置についての地理座標が、前記現在の位置について登録されている地理座標の基準内にあるかどうかを判定するステップは、
前記現在の位置の緯度を、対応して登録されている緯度と比較するステップと、
前記現在の位置の経度を、対応して登録されている経度と比較するステップと、
前記現在の位置の緯度及び経度を、対応して登録されている緯度及び経度と比較するステップと
のうちの少なくともいずれかを含む、請求項４に記載のコンピュータ実施方法。
【請求項６】
前記到着アラートを提供するステップは、前記追跡デバイスの更新された位置が、前記追跡デバイスが前記目的地に着くまでの残り時間が基準時間に等しいことを示す場合に、前記到着アラートを提供するステップを含む、請求項１に記載のコンピュータ実施方法。
【請求項７】
コンピュータ可読命令が記憶されているメモリと、
１つ以上のプロセッサと
を備えるサーバであって、
前記１つ以上のプロセッサは、前記コンピュータ可読命令を実行して、
誤差の大きいゾーンにおける追跡デバイスの存在を検出し、
前記誤差の大きいゾーンにおける前記追跡デバイスの現在の位置についての地理座標が、前記現在の位置について登録されている地理座標の基準内にあるかどうかを判定し、
前記地理座標が前記基準内にない場合、前記追跡デバイスに内蔵された少なくとも１つのセンサを起動し、
前記追跡デバイスの移動情報を前記追跡デバイスから受信し、
前記現在の位置と前記移動情報とに基づき、前記追跡デバイスの更新された位置を特定し、
前記更新された位置に基づき、前記追跡デバイスが向かっている目的地に対して到着アラートを提供する、
サーバ。
【請求項８】
前記コンピュータ可読命令を実行し前記地理座標が前記基準内にないと判定する前に、前記１つ以上のプロセッサは、前記コンピュータ可読命令を実行して、
前記基準内にある前記追跡デバイスの過去の地理座標に基づいて最新の基準点を特定し、
前記最新の基準点と前記移動情報とに基づき、前記更新された位置を特定する、
請求項７に記載のサーバ。
【請求項９】
前記誤差の大きいゾーンは、あるエリアであって、前記エリア内の報告された位置の地理座標における平均誤差が閾値よりも大きいエリアである、請求項７に記載のサーバ。
【請求項１０】
前記少なくとも１つのセンサは、前記追跡デバイスの加速度計とジャイロスコープと磁力計とのうちの１つ以上である、請求項７に記載のサーバ。
【請求項１１】
前記地理座標は、前記現在の位置の緯度及び経度を含み、
前記現在の位置について登録されている地理座標は、前記現在の位置について登録されている緯度及び経度を含む、
請求項７に記載のサーバ。
【請求項１２】
前記追跡デバイスの現在の位置についての地理座標が、前記現在の位置について登録されている地理座標の基準内にあるかどうかを判定する前記命令は、
前記現在の位置の緯度を、対応して登録されている緯度と比較するステップと、
前記現在の位置の経度を、対応して登録されている経度と比較するステップと、
前記現在の位置の緯度及び経度を、対応して登録されている緯度及び経度と比較するステップと
のうちの少なくともいずれかを行う命令を含む、請求項１１に記載のサーバ。
【請求項１３】
前記１つ以上のプロセッサは、前記追跡デバイスの更新された位置が、前記追跡デバイスが前記目的地に着くまでの残りの時間が基準時間に等しいことを示す場合に、前記到着アラートを提供するべく前記コンピュータ可読命令を実行する、請求項７に記載のサーバ。
【請求項１４】
コンピュータ可読命令が記憶されている１つ以上の非一時的なコンピュータ可読媒体であって、前記コンピュータ可読命令は、１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに対し、
誤差の大きいゾーンにおける追跡デバイスの存在を検出するステップと、
前記誤差の大きいゾーンにおける前記追跡デバイスの現在の位置についての地理座標が、前記現在の位置について登録されている地理座標の基準内にあるかどうかを判定するステップと、
前記地理座標が前記基準内にない場合に、前記追跡デバイスに内蔵された少なくとも１つのセンサを起動するステップと、
前記追跡デバイスの移動情報を前記追跡デバイスから受信するステップと、
前記現在の位置と前記移動情報とに基づいて、前記追跡デバイスの更新された位置を特定するステップと、
前記更新された位置に基づいて、前記追跡デバイスが向かっている目的地に対して到着アラートを提供するステップと
を実行させる、１つ以上の非一時的なコンピュータ可読媒体。
【請求項１５】
前記コンピュータ可読命令を実行し前記地理座標が前記基準内にないと判定する前に、前記コンピュータ可読媒体の実行により、前記１つ以上のプロセッサに対し、
前記基準内にある前記追跡デバイスの過去の地理座標に基づいて最新の基準点を特定するステップと、
前記最新の基準点と前記移動情報とに基づき、前記更新された位置を特定するステップと
を実行させる、請求項１４に記載の１つ以上の非一時的なコンピュータ可読媒体。
【請求項１６】
前記誤差の大きいゾーンは、あるエリアであって、前記エリア内の報告された位置の地理座標における平均誤差が閾値よりも大きいエリアである、請求項１４に記載の１つ以上の非一時的なコンピュータ可読媒体。
【請求項１７】
前記少なくとも１つのセンサは、前記追跡デバイスの加速度計とジャイロスコープと磁力計とのうちの１つ以上である、請求項１４に記載の１つ以上の非一時的なコンピュータ可読媒体。
【請求項１８】
前記地理座標は、前記現在の位置の緯度及び経度を含み、
前記現在の位置について登録されている地理座標は、前記現在の位置について登録されている緯度及び経度を含む、
請求項１４に記載の１つ以上の非一時的なコンピュータ可読媒体。
【請求項１９】
前記追跡デバイスの現在の位置についての地理座標が、前記現在の位置について登録されている地理座標の基準内にあるかどうかを判定する前記コンピュータ可読命令は、
前記現在の位置の緯度を、対応して登録されている緯度と比較するステップと、
前記現在の位置の経度を、対応して登録されている経度と比較するステップと、
前記現在の位置の緯度及び経度を、対応して登録されている緯度及び経度と比較するステップと
のうちの少なくともいずれかを行うコンピュータ可読命令を含む、請求項１８に記載の１つ以上の非一時的なコンピュータ可読媒体。
【請求項２０】
前記１つ以上のプロセッサによる前記コンピュータ可読命令の実行により、前記１つ以上のプロセッサに対し、前記追跡デバイスの更新された位置が、前記追跡デバイスが前記目的地に着くまでの残りの時間が基準時間に等しいことを示す場合に、前記到着アラートを提供するステップを実行させる、請求項１８に記載の１つ以上の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、追跡デバイスの位置の特定を向上させるシステム及び方法に関し、より具体的には、追跡デバイスの位置の特定を向上させるために、衛星信号に加えて追跡デバイスに内蔵されているセンサのデータを利用することに関する。
【０００２】
［関連出願の相互参照］
本願は、２０１８年５月３日に出願された米国仮出願第６２／６６６，４１６号と、２０１８年５月３日に出願された米国仮出願第６２／６６６，４５１号と、２０１９年５月３日に出願された米国非仮出願第１６／４０２，３６８号とに基づく優先権を主張するものである。これらの出願の全内容は、引用することにより本明細書の一部をなすものとする。
【背景技術】
【０００３】
到着アラートを提供する従来のサービスは、多くの場合、動いている対象（例えば、車両）の目的地（例えば、店舗）への到着をその目的地に通知するタイミングを可能な限り正確に決定するために、動いている対象から継続して位置更新を受信することに依拠している。例えば、ユーザが注文品を受け取るために或る店舗の位置に向かって車を運転している場合、システムの目的は、店舗の担当者が、ユーザが到着したときにユーザの注文品を渡す準備ができていることを確実なものとすることができるように、担当者に対して正確な事前アラート（到着アラート）を提供することである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
動いている対象に関連する追跡デバイス（例えば、モバイルデバイス）からの位置更新の、サーバへの斯かる継続的な送信が必要であることから、サーバは、正確な位置情報（例えば、追跡デバイスからの全地球測位システム（ＧＰＳ）信号の正確な測定値）を取得することが必要である。しかし、追跡デバイスの周囲の領域（例えば、繁華街エリア、橋の下、厳重警備の建物内、モール内など）に多くの構造物及び建造物が存在するため、追跡デバイスが正確なＧＰＳ信号を取得することができない可能性のある地理的エリアが多くある。これは、追跡デバイスからサーバへ提供される測定値に悪影響を与える可能性があり、それはさらに、到着アラートを目的地に送信するタイミングに悪影響を与える可能性がある。
【０００５】
追跡デバイスの位置の特定を改善するために、衛星信号に加えて追跡デバイスの内蔵センサのデータを用いる例としての実施形態を提供する。
【課題を解決するための手段】
【０００６】
１つの態様において、本方法は、
サーバが誤差の大きいゾーンにおける追跡デバイスの存在を検出するステップと、
前記誤差の大きいゾーンにおける前記追跡デバイスの現在の位置の地理座標が、前記現在の位置について登録されている地理座標の基準内にあるかどうかを判定するステップと、
前記地理座標が前記基準内にない場合、前記追跡デバイスに内蔵された少なくとも１つのセンサを起動するステップと、
前記追跡デバイスの移動情報を前記追跡デバイスから受信するステップと、
前記現在の位置と前記移動情報とに基づき、前記追跡デバイスの更新された位置を特定するステップと、
前記更新された位置に基づき、前記追跡デバイスが向かっている目的地に対して到着アラートを提供するステップと
を含む。
【０００７】
１つの態様において、サーバは、コンピュータ可読命令が記憶されているメモリと、１つ以上のプロセッサとを備える。１つ以上のプロセッサは、
誤差の大きいゾーンにおける追跡デバイスの存在を検出し、
前記誤差の大きいゾーンにおける前記追跡デバイスの現在の位置の地理座標が、前記現在の位置について登録されている地理座標の基準内にあるかどうかを判定し、
前記地理座標が前記基準内にない場合、前記追跡デバイスに内蔵された少なくとも１つのセンサを起動し、
前記追跡デバイスの移動情報を前記追跡デバイスから受信し、
前記現在の位置と前記移動情報とに基づき、前記追跡デバイスの更新された位置を特定し、
前記更新された位置に基づき、前記追跡デバイスが向かっている目的地に対して到着アラートを提供する
ための前記コンピュータ可読命令を実行する。
【０００８】
１つの態様において、１つ以上の非一時的なコンピュータ可読媒体には、コンピュータ可読命令が記憶されている。前記命令は、１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに対し、
誤差の大きいゾーンにおける追跡デバイスの存在を検出するステップと、
前記誤差の大きいゾーンにおける前記追跡デバイスの現在の位置の地理座標が、前記現在の位置について登録されている地理座標の基準内にあるかどうかを判定するステップと、
前記地理座標が前記基準内にない場合、前記追跡デバイスに内蔵された少なくとも１つのセンサを起動するステップと、
前記追跡デバイスの移動情報を前記追跡デバイスから受信するステップと、
前記現在の位置と前記移動情報とに基づき、前記追跡デバイスの更新された位置を特定するステップと、
前記更新された位置に基づき、前記追跡デバイスが向かっている目的地に対して到着アラートを提供するステップと
を実行させる。
【０００９】
本技術の上述の利点及び特徴並びに他の利点及び特徴は、添付図面に示す具体的な実施態様を参照することによって明らかになる。当業者であれば、これらの図面は、本技術のいくつかの例を示しているにすぎず、本技術の範囲がこれらの例に限定されるものではないことを理解するであろう。さらに、当業者であれば、添付図面を用いて更に具体的、且つ詳細に記載及び説明されている本技術の原理を理解するであろう。
【図面の簡単な説明】
【００１０】
【図１】本開示の１つの態様によるシステムの例を示す図である。
【図２】本開示の１つの態様によるシステムの例を示す図である。
【図３】本開示の１つの態様による目的地別モデルを作成する方法の例を示す図である。
【図４】本開示の１つの態様による誤差の大きいゾーンにおける位置特定の方法の例を示す図である。
【図５】本開示の１つの態様による本技術を実施するシステムの一例を示す図である。
【発明を実施するための形態】
【００１１】
本技術の様々な例を以下に詳細に述べる。具体的な実施態様を説明するが、これは例示を目的として行われるものにすぎないことが理解されるべきである。当業者であれば、本技術の趣旨及び範囲から逸脱することなく別の要素及び構成を用いることができることを認識するであろう。
【００１２】
開示対象の技術は、ＧＰＳ信号だけでは精度が十分ではない可能性がある場合に、センサデータを利用して追跡デバイスの位置の正確な測定値を取得するという、本技術分野における必要性に対処するものである。さらに、この改善された位置特定の手法により、サービス提供者から目的地（例えば、業者）に提供される、動いている対象（例えば、ユーザ又は顧客）の目的地への間近に迫った到着を目的地に対して通知する到着アラートの精度を向上させることができる。
【００１３】
本開示を、本明細書に記載の概念を実施することができるいくつかのシステムの例の説明から始める。
【００１４】
図１に、本開示の１つの態様によるシステムの例を示す。図１に示すように、システム１００は、追跡デバイス１０４（ユーザデバイス１０４又は顧客デバイス１０４）に関連するユーザ１０２を含む。図１には示していないものの、ユーザ１０２及び追跡デバイス１０４は、車、バス、バイク、公共交通車両等（これらに限られない）を含む移動体に関連付けることができる。追跡デバイス１０４は、ユーザ１０２（及び関連する移動体）の動きを追跡し、その動きを、セルラネットワーク又はＷｉＦｉ接続によるもの等、有線及び／又は無線の通信プラットフォームによってサーバ１１２に伝えることができる、任意の既知の、又は今後開発される電子デバイスとすることができる。追跡デバイス１０４の例としては、限定されないが、携帯電話、携帯情報端末（ＰＤＡ）、ラップトップ、タブレット、リストバンド型追跡物体（wristband tracking object）等が挙げられる。１つの例では、追跡デバイス１０４は、位置サービス１０５を有する。位置サービス１０５は、いかなる時点においても追跡デバイス１０４の地理座標（例えば、緯度及び経度）を記録することができる全地球測位システム（ＧＰＳ）デバイス等、任意の既知の又は今後開発される内蔵センサ、デバイス及び／又は位置特定コンポーネントとすることができる。
【００１５】
図１には示していないが、追跡デバイス１０４、サーバ１１２、及びシステム１００の他の任意のコンポーネントは、送受信部等の、他のコンポーネントとの通信を可能にする別のコンポーネントを有する。
【００１６】
システム１００は、目的地１０６を更に含む。目的地１０６は、目的地１０６の担当者に対してユーザ１０２の目的地１０６への到着のタイミングを通知する到着アラートをサーバ１１２から受信する、対象となる目的地とすることができる。例えば、目的地１０６は、オンライン上ではない実際の店舗とすることができ、ユーザ１０２は、購入するべくその店舗に（複数の）商品を注文しており、その店舗から注文品を受け取る途中である。目的地１０６の他の例としては、限定されないが、レストラン、デパート、ドライクリーニングサービス等の他のタイプのサービス提供者、図書館等が挙げられる。したがって、ユーザ１０２が目的地１０６に到着したときに（複数の）注文品の用意ができていることを確実にするために、ユーザ１０２の到着の閾値時間前（例えば、ユーザの目的地１０６への到着の８分前）に、サーバ１１２が目的地１０６に到着アラートを提供することが重要である。したがって、到着アラートは、ユーザ１０２及び／又は目的地１０６の担当者が感じる不便さ（例えば、到着後の或る時間、（複数の）注文品の準備ができるのを待つこと）を回避し又は低減できるように、可能な限り正確である必要がある。
【００１７】
目的地１０６は、従業員等の、目的地１０６に関連する担当者１０８を有することができる。さらに、目的地１０６は、コンピューティングデバイス１１０を有することができ、担当者１０８は、コンピューティングデバイス１１０を用いて、到着アラートを受信し、識別情報をサーバ１１２及び／又は追跡デバイス１０４との間で送受信し、注文の確認、キャンセル、調整などを行う。コンピューティングデバイス１１０は、目的地１０６によって使用され、ＷｉＦｉ接続等、有線及び／又は無線接続によりサーバ１１２と通信することができる、任意の既知の又は今後開発されるデバイスとすることができる。コンピューティングデバイス１１０の例としては、限定されないが、タブレット、据置型コンピュータデバイス、モバイルデバイス、他の任意の既知の又は今後開発される販売時点情報管理（ＰＯＳ：Point of Sale）デバイス等が挙げられる。
【００１８】
システム１００はサーバ１１２をも有する。サーバ１１２は、メモリ１１６等の１つ以上のメモリに記憶されるコンピュータ可読命令の１つ以上の組を実施することができるプロセッサ１１４等の、１つ以上のプロセッサを有することができる。これらの命令の組のうちの任意の１つ以上の実行により、サーバ１１２は、図３〜図５を参照して後述する方法の機能を実施することができる。これらの機能としては、限定されないが、機械学習を用いて、後に到着予測サービスを提供するために用いることができる目的地別モデル（destination specific model）を構築すること、位置の更新を受信した位置に対するスマートシグナリングを定めること等が挙げられる。
【００１９】
図１に示すように、サーバ１１２は、（移動履歴データベース１１８とも呼ぶことができる）データベース１１８をも有することができる。データベース１１８に記憶されたデータは、後述するように、サーバ１１２により目的地別モデルを構築し到着予測サービスを実行するために実施される機械学習アルゴリズムにより使用される。
【００２０】
システム１００は、経路エンジン１２０をも含むことができる。経路エンジン１２０は、一般に地図作成アプリケーションに関連するもの等の、従来の任意の経路エンジンとすることができる。こうした経路エンジンは、サーバ１１２に推定到着時間を提供する際に、目的地までの距離及び制限速度、並びに場合によっては、現在の交通状況、天候状況及び時刻状況を考慮することができ、推定到着時間は、サーバ１１２及びサーバ１１２で実施されるロジックにより、到着アラートの精度を高め、修正し、目的地１０６に提供するために使用される。さらに、経路エンジン１２０は、サーバ１１２において目的地に応じて目的地別モデルを生成するために、目的地までの最も可能性の高い経路、可能性の高い途中の立寄り、及び他の任意の学習されたファクタ等の、他の、位置に応じたファクタを考慮する場合もあれば考慮しない場合もある。
【００２１】
サーバ１１２及びルーチンエンジン１２０は、物理的に同じ場所に配置し、又は、有線及び／又は無線ネットワークで通信するように構成することができる。さらに、システム１００内に示されている各コンポーネントは、システム１００内の別のコンポーネントと、及び／又は、現時点で既知の又は今後開発されるセルラ及び／又は無線通信技術及びプラットフォームを使用して、他の任意の外部コンポーネントと通信することができる。
【００２２】
図２に、本開示の１つの態様によるシステム例を示す。図２のシステム２００は、図１のシステム１００と同じであるが、図１に示したように注文された（複数の）商品、（複数の）サービスを受けるためにユーザ１０２が目的地１０６に移動するのではなく、目的地１０６等の目的地が、配送サービス（例えば、運転手の配送サービス）を利用して、ユーザ１０２の（複数の）注文品をユーザ１０２に配送する点で異なる。したがって、図１の要素と同じ符号を有するシステム２００内の要素については、簡単のため、これ以上説明しない。
【００２３】
図２に示すシステム２００においては、目的地１０６及びその対応する要素の代わりに、関連する追跡デバイス２０８を有する運転手２０６が示されている。図２の状況では、運転手２０６及び関連する追跡デバイス２０８は、ユーザ１０２に向かって動いているが（図１のユーザ１０２及び追跡デバイス１０４と同様）、ユーザ１０２は移動していない（図１の目的地１０６と同様）。したがって、図２の状況では、ユーザ１０２に対して、運転手２０６の到着をユーザ１０２に通知する到着アラートが提供される。したがって、追跡デバイス２０８の位置を特定し、ユーザ１０２への到着を推定するために、本明細書に記載の位置特定のための様々なタイプの計算が行われる。
【００２４】
運転手２０６及び追跡デバイス２０８は、運転手２０６が運転する車両等の、移動体に関連付けることができる。追跡デバイス２０８は、運転手２０６（及び関連する移動体）の動きを追跡することができる、任意の既知の又は今後開発される電子デバイスであり、セルラネットワーク又はＷｉＦｉ接続による等の、有線及び／又は無線通信プラットフォームによりサーバ１１２に追跡結果を伝えることができる。追跡デバイス２０８の例としては、限定されないが、携帯電話、携帯情報端末（ＰＤＡ）、ラップトップ、タブレット、リストバンド型追跡物体等が挙げられる。追跡デバイス２０８の位置サービス２１０は、図１を参照して上述した追跡デバイス１０４（図２において顧客デバイス１０４として示されている）の位置サービス１０５と同じとすることができる。
【００２５】
図１及び図２に、様々な要素が示され記載されているが、本発明の概念はそれらに限定されない。例えば、ユーザ、デバイス、目的地、サーバ等の数は、記載されている数に限定されず、それより多い場合も少ない場合もある。さらに、両システム１００及び２００に対し、一般的で、及び／又はそれらの適切な動作に必要であり、したがって本開示の範囲内にある追加のコンポーネント、アーキテクチャ及び／又は機能を関連付けることができる。
【００２６】
簡単に述べたように、サーバ１１２は、目的地１０６の担当者１０８が、ユーザが目的地１０６に到着したときにユーザ１０２が受け取る（複数の）注文品を準備し整えることができるよう、ユーザ１０２の目的地１０６への到着の閾値時間前に目的地１０６へアラートを提供するために、ユーザ１０２に関連する移動体を追跡するという処理が課せられる。斯かる閾値時間は、担当者１０８のフィードバック、ユーザ１０２のフィードバック、過去の目的地１０６への移動に基づく自動的なシステムの決定等、様々なファクタに基づいて決められる設定可能なパラメータとすることができる。例えば、担当者１０８は、ユーザ１０２が自己の（複数の）注文品を受け取るべく目的地１０６に到着するまであと８分となると、サーバ１１２が担当者１０８にアラートを提供するよう、要求することができる。したがって、サーバ１１２は、ユーザ１０２が目的地１０６に着くまであと８分となると、目的地１０６の担当者１０８に到着アラートを可能な限り正確に提供するために、ユーザの位置に関する正確な情報を得る必要がある。
【００２７】
サーバ１１２は、目的地１０６に提供される到着アラートの精度を向上させる様々な方法を実施する。例えば、サーバ１１２は、目的地１０６に対する（複数の）目的地別モデルを作成するために、様々な統計的データに対して機械学習を適用する。様々な統計的データとしては、限定されないが、ユーザが目的地１０６に向かって過去に行った移動、ユーザ１０２が過去に行った移動、交通状況、交通手段、ユーザ１０２（及び／又は図２の運転手２０６）に関連する移動体のタイプ、天候状況、時刻、目的地１０６への途中又は目的地１０６にて発生する事象、移動体の速度、任意の建設工事、通行止め及び道路整備等を挙げることができる。統計的データはデータベース１１８に記憶することができる。
【００２８】
例えば、或る特定の、オンライン上ではない実際の店舗が、交通状況が時刻に応じて大きく変化する繁華街のエリアに位置する場合がある。サーバ１１２は、この情報を考慮して、繁華街エリアに位置する実店舗に対する目的地別モデルを構築する。この実店舗のある繁華街の場所へのユーザ１０２の到着の予測の際に、サーバ１１２は、時刻に応じて、対応する目的地別モデルを用いて、その予測を高め、到着予測を向上させることができる。
【００２９】
図３に、本開示の１つの態様による目的地別モデルを作成する方法の例を示す。図１を参照して図３について説明する。しかし、記載される概念は、図２のシステムにも同様に適用可能である。図３に示す方法は、（複数の）注文品を受け取るための、目的地１０６へのユーザ１０２の到着予測に関する１つ以上の通知が、目的地のコンピューティングデバイス１１０に提供された（又は、目的地１０６までの１回以上の移動が行われた）後に開始する。サーバ１１２は、データの集合体をデータベース１１８に記憶することができる。データは、上述の、提供されている統計的データの例のうちの任意の１つ以上とすることができる。さらに、サーバ１１２は、過去の通知の質及び過去の通知の識別子に関する情報を記憶することができる。例えば、サーバ１１２は、ユーザ１０２が８分後に到着するということを示す到着アラートを目的地１０６に提供する度に、この推定到着時間を、ユーザ１０２が目的地１０６に到着するまでにかかった実際の時間と比較する。例えば、サーバ１１２が、時刻Ｔ０において、ユーザ１０２が目的地１０６に８分後に到着するであろうと予測したが、実際には、ユーザ１０２が目的地１０６に到着するのにかかる時間はＴ０から６分である可能性がある。これは、予測誤差が２５％であるということを示す。サーバ１１２は、この予測誤差をデータベース１１８に記憶する。次回、予測を行って到着アラートを提供する際に、サーバ１１２は、到着アラートを提供する前にその予測を２５％調整する（例えば、上述した特定の例では、サーバ１１２は、Ｔ０にて到着アラートを提供するのではなく、今回はＴ０より２分早いＴ１にて到着アラートを提供する）。
【００３０】
Ｓ３０２において、サーバ１１２は、最近提供した到着アラートの質を評価するために目的地１０６のコンピューティングデバイス１１０に対して問合せを行う。目的地のコンピューティングデバイス１１０を操作している担当者１０８は、この問合せに応答することができる。サーバ１１２は、この応答を受信すると、Ｓ３０６において評価を記憶する。評価についてコンピューティングデバイス１１０に問い合わせることに加え、問合せと同時に、又は問合せの代わりに、Ｓ３０４において、サーバ１１２は、上述したように、到着アラートに関する評価又は予測誤差を計算することができる。同様に、計算された評価はＳ３０６にて受信される。
【００３１】
Ｓ３０８において、サーバ１１２は、Ｓ３０２及びＳ３０４につき、受信した（複数の）評価を、通知の識別情報（ＩＤ）に関連付けてデータベース１１８に記録することができる。このＩＤは、ユーザ１０２と目的地１０６の業者との間の特定の取引の識別情報とすることができるか、ユーザ１０２に関連する識別情報とすることができるか、目的地１０６に関連する識別情報とすることができるか、又はそれらの任意の組合せとすることができる。
【００３２】
サーバ１１２は、最近なされた目的地１０６までの移動に関連してユーザ１０２が取った経路に関する情報と、通知をもたらした移動に関係する他の任意のデータとをデータベース１１８に記憶することもできる。ユーザ１０２が取った経路は、ユーザ１０２及び関連するコンピューティングデバイス１０４が目的地１０６まで移動する間に位置サービス１０５によりサーバ１１２へ報告されたデータから学習することができる。いくつかの例では、この経路情報から、サーバ１１２は、ユーザ１０２が目的地１０６へ行くまでの間に、何らかの立寄りを行ったかどうかを判定することができる。サーバ１１２は、通知に関する時刻、曜日及び日付もデータベース１１８に記録することもできる。サーバ１１２は、多くのユーザによる移動について上記データを集めることができる。
【００３３】
Ｓ３１０において、サーバ１１２は、データベース１１８に記憶されている目的地１０６に応じた履歴データに対して（複数の）機械学習アルゴリズムを適用する。Ｓ３１２において、サーバ１１２は、記憶されたデータに対してＳ３１０にて適用した（複数の）機械学習アルゴリズムに基づいて、目的地１０６に対する目的地別モデルを生成する。１つの例では、質が優れているとみなされた通知に関連するファクタと、質が不十分とみなされた通知に関連するファクタとを分析することにより、目的地別モデルを作成し又はトレーニングすることができる。目的地別モデルは機械学習を通じて生成されるため、目的地別モデルのいくつかの特徴は、セマンティックな意味を有しない場合がある一方で、いくつかの特徴はセマンティックな重要性を有する場合がある。例えば、セマンティックな意味を有する特徴としては、ユーザが経路に沿って別の立寄りを行う可能性、ユーザが経路に沿って渋滞に遭遇する可能性、目的地への最も可能性の高い経路等を挙げることができる。
【００３４】
いくつかの例では、機械学習を、目的地に関わらずデータベース１１８内の全てのデータに対して最初にトレーニングして、位置に基づかないモデルを得ることができる。こうした例では、目的地別モデルは、位置に基づかないモデルを、特定の目的地１０６に関連するファクタについて調整した結果とすることができる。
【００３５】
これまでの説明から分かるように、サーバ１１２は、ユーザ１０２の現在の位置を特定するにあたり、追跡デバイス１０４から受信した位置更新に依拠し、現在の位置は、その後、目的地１０６のコンピューティングデバイス１１０に到着アラートを送るタイミングを決定、推定するために用いられる。
【００３６】
追跡デバイス１０４から受信される位置更新は、追跡デバイス１０４に組み込まれたＧＰＳ追跡デバイスによって得られるＧＰＳ信号（衛星信号）の測定値とすることができる。
【００３７】
サーバ１１２は、公開されているデータベース等の、外部データ源から得られるデータに依拠することにより、任意の所与の地理的位置の正確な地理座標（緯度値及び経度値）の記録を有することができる。こうした正確な地理座標は、所与の地理的位置の登録された地理座標又は単に登録された座標と呼ぶことができる。したがって、サーバ１１２は、追跡デバイスからＧＰＳ信号の測定値を受信する度に、対応する地理的位置の緯度値及び経度値を示す、受信したＧＰＳ測定値を、同じ位置の登録された地理座標と比較することができる。受信した緯度値及び経度値並びに登録された緯度値及び経度値の２つのうちの任意の２つの差が閾値以内（例えば、５メートル未満、１０メートル未満、５％未満、１０％未満の誤差の範囲内等）にある場合、サーバ１１２は、受信した座標を「正確」であるとみなす。
【００３８】
上記に基づき、且つ時間とともに、サーバ１１２は、追跡デバイスから受信したＧＰＳ信号の測定値の平均誤差が「正確」ではない地理的エリアのデータベースを構築する可能性がある。このような地理的エリアは、サーバ１１２に記憶することができ、誤差の大きいゾーンと呼ぶことができる。その後、追跡デバイスが誤差の大きいゾーン内に位置するときはいつでも、後述するように、上記追跡デバイスから受信されるいかなるわずかな、「正確な」ＧＰＳ測定値も基準点として使用することができ、その後、追跡デバイスの動き、したがって位置の特定を、追跡デバイスの内蔵センサ及び移動若しくは位置の計算（情報）を用いて強化することができる。これにより、サーバ１１２が受信した追跡デバイスの位置更新を改善することができ、さらに、例えば、サーバ１１２が目的地１０６に提供すべき到着アラートのタイミングが改善される。
【００３９】
追跡デバイスの内蔵センサからのデータによりＧＰＳ信号の測定値を強化することにより、上述した利点が提供されるだけでなく、追跡デバイスに対してより的を絞ったコンテンツを送信するとともに、経時的にユーザの動きを追跡して、コンテンツのコンバージョン率を求めるため等にも、上記データを用いることができる。
【００４０】
図４に、本開示の１つの態様による、誤差の大きいゾーンにおける位置特定の方法の例を示す。図４は、サーバ１１２の観点から、且つ図１〜図３を参照して説明する。しかし、当業者であれば、サーバ１１２のプロセッサ１１４等の１つ以上のプロセッサが、メモリ１１６等の１つ以上のメモリに記憶されたコンピュータ可読命令を実行して、後述する機能を実施することが理解されよう。
【００４１】
Ｓ４００にて、サーバ１１２は、追跡デバイス１０４が誤差の大きいゾーンにあることを検出する。１つの例では、サーバ１１２は、上述したように、最新の位置更新（又は、追跡デバイス１０４から最近受信した所定数の位置更新の平均）が、サーバ１１２により誤差の大きいゾーンとして特定された１つ以上の地理的エリアに対応しているとの判断に基づいて、誤差の大きいゾーンにおける追跡デバイス１０４の存在を検出する。
【００４２】
Ｓ４０２において、サーバ１１２は、追跡デバイス１０４から、追跡デバイス１０４の現在の位置（地理座標）を示し得る位置更新（例えば、ＧＰＳ信号の測定値）を受信する。
【００４３】
Ｓ４０４にて、サーバ１１２は、誤差の大きいゾーンにおける追跡デバイス１０４の存在を検出した後に、Ｓ４０２において追跡デバイス１０４から受信した位置更新（ＧＰＳ信号）が、正確であるかどうかを判定する。１つの例では、この正確性の判定は、受信した位置更新に示されている追跡デバイスの現在の位置の座標を、サーバ１１２における同じ位置の登録された座標と比較することに基づいてなされる。受信した座標（経度値若しくは緯度値のいずれか又は両方の組合せ）が、登録された座標の閾値内にある（例えば、１％、２％、５％等の閾値未満である誤差、又は５メートル／マイル、１０メートル／マイル未満等の差である）場合に、サーバ１１２は、位置更新が正確であると判定する。
【００４４】
サーバ１１２は、Ｓ４０４にて、最近受信した位置更新が正確であると判定した場合に、Ｓ４０６において、受信した現在の位置を使用して追跡デバイス１０４の現在の位置の記録を更新し、現在の位置を「最新の正確な位置」又は「最新の基準点」として登録（記憶）する。これに続いて、サーバ１１２は、目的地１０６に送信すべき到着アラートのタイミングを決定するために、更新された位置を用いてユーザ１０２及び追跡デバイス１０４を追跡することができる。その後、処理はＳ４０２に戻る。
【００４５】
その後、Ｓ４０８において、サーバ１１２は、目的地１０６に到着アラートを提供すべきかどうかを判定する。この判定は、（Ｓ４０４において特定された「最新の基準点」に基づく）追跡デバイスの特定された位置と関連する残りの時間とが、到着アラートが目的地１０６に提供されるべき到着閾値（例えば、上述した８分の地点の例）と一致するかどうかに基づく。言い換えれば、この判定は、追跡デバイス１０４の現在の位置が、サーバ１１２が到着アラートを提供することで目的地１０６に通知すべきとなるべく、追跡デバイス１０４及びユーザ１０２が目的地１０６まで８分の地点（到着閾値の例）にいることを示すかどうかを判定することである。
【００４６】
サーバ１１２は、Ｓ４０８にて到着アラートを提供すべきと判定した場合、Ｓ４１０において、任意の既知の又は今後開発される通信方式を使用して、到着アラートを目的地１０６へ（例えば、目的地１０６に関連するコンピューティングデバイス１１０へ）送信する。
【００４７】
しかし、Ｓ４０８において、サーバ１１２が、到着アラートを提供すべきではないと判定した場合、プロセスはＳ４０２に戻り、Ｓ４０２、Ｓ４０６、Ｓ４０８、Ｓ４１０、Ｓ４１２、Ｓ４１４及びＳ４１６が、適切に、且つ適宜、繰り返される。
【００４８】
再びＳ４０４を参照する。サーバ１１２は、Ｓ４０４にて、受信した位置更新が正確ではないと判定した場合、Ｓ４１２において、追跡デバイス１０４に対し、追跡デバイス１０４の動きを追跡するために使用できるよう内蔵センサをオンにする（起動する）コマンドを送信する。こうした内蔵センサの例としては、限定されないが、ジャイロスコープ、加速度計、磁力計等が挙げられる。追跡デバイス１０４は、コマンドに応じて、上記センサを有効とし、センサ起動後の追跡デバイス１０４の移動の量を特定するために、動き及び位置のデータを収集してデバイス内で計算を行うことができる。これらの計算は、任意の既知の又は今後開発される方法に従って行うことができる。
【００４９】
Ｓ４１４にて、且つ追跡デバイス１０４が次の位置更新を提供した時点で、サーバ１１２は、追跡デバイス１０４にて行われた計算結果（移動情報と呼ぶことができる）をも受信する。
【００５０】
Ｓ４１６にて、サーバ１１２は、（例えば、上述したＳ４０６にて記憶された）「最新の基準点」を取得し、それを、Ｓ４１０において受信した移動情報を用いて更新する。１つの例では、図４のプロセスがＳ４１６に達する前にＳ４０６に達していない場合、サーバ１１２は、Ｓ４０６の「最新の基準点」の代わりにＳ４０２の位置更新を使用し、Ｓ４１０にて受信した移動情報を用いてＳ４０２の位置更新の更新処理を行う。
【００５１】
１つの例では、更新処理は、図３のプロセスにつきサーバ１１２が目的地１０６に対して生成している可能性がある、目的地１０６に対する目的地別モデルにも基づいて行うことができる。例えば、目的地１０６に応じた目的地モデルは、ユーザ１０２及び追跡デバイス１０４が目的地１０６に向かって移動している現在の経路における交通量（例えば、平均速度及び時間）と時刻との相関関係に関する情報を含むことができる。したがって、ある特定の時間（例えば、午後４時〜午後６時の午後のラッシュアワー）が現在の経路における１０％低速の走行に関連し、（ユーザ１０２が目的地１０６まで移動している際の）現在時刻が斯かる時間内にある場合、サーバ１１２は、「最新の基準点」を、移動情報、及び／又は比較的低速の走行による１０％追加のファクタを用いて更新することができる。
【００５２】
その後、プロセスはＳ４０８に戻り、サーバ１１２は、上述したように図４のステップを連続的に繰り返すことができる。１つの例では、新たな、且つ「正確な」位置情報が受信される度に、サーバ１１２は、「最新の基準点」を更新することができ、その後、追跡デバイス１０４にて計算された移動データを用いて基準を更新することができる。
【００５３】
図４の方法を実施することによって、追跡デバイス１０４での移動の計算によりＧＰＳ信号の測定値を強化することで、追跡デバイス１０４からより適切かつより正確な位置更新が得られるように、誤差の大きいゾーンにおけるＧＰＳ信号の精度の不備が改善される。
【００５４】
別の例となる実施形態では、誤差の大きいゾーンは、必ずしも、繁華街エリア、又はＧＰＳ信号を遮断する建造物があるエリアではない可能性がある。むしろ、誤差の大きいゾーンは、ＧＰＳ信号の信号受信及び強度が強度の閾値量よりも弱いか又は小さい地理的エリアである可能性がある（野原又は辺境地である可能性がある）。したがって、図４のプロセスは、誤差の大きいゾーンのこうした辺境又は野原の例に等しく適用可能である。
【００５５】
図５に、本開示の１つの態様に従って本技術を実施するシステムの一例を示す。図５は、システムのコンポーネントが接続部５０５を用いて互いに通信するコンピューティングシステム５００の一例を示している。接続部５０５は、バスを介した物理接続とすることもできるし、チップセットアーキテクチャ等におけるプロセッサ５１０内への直接接続とすることもできる。接続部５０５は、仮想接続、ネットワーク接続、又は論理接続とすることもできる。
【００５６】
いくつかの例では、コンピューティングシステム５００は、本開示において説明した機能を、１つのデータセンタ、複数のデータセンタ、ピアネットワーク等内に分散させることができる分散システムである。いくつかの実施形態では、説明したシステムコンポーネントのうちの１つ以上は、多くのそのようなコンポーネントを表し、各コンポーネントは、そのコンポーネントが説明されている機能の一部又は全てを実行する。いくつかの実施形態では、コンポーネントは、物理デバイス又は仮想デバイスとすることができる。
【００５７】
例示のシステム５００は、少なくとも１つの処理ユニット（ＣＰＵ又はプロセッサ）５１０と、リードオンリメモリ（ＲＯＭ）及びランダムアクセスメモリ（ＲＡＭ）等のシステムメモリ５１５を含む様々なシステムコンポーネントをプロセッサ５１０に接続する接続部５０５とを備える。コンピューティングシステム５００は、高速メモリキャッシュ５１２を備えることができる。このキャッシュは、プロセッサ５１０と直接接続されているか、プロセッサ５１０に近接して配置されているか、又はプロセッサ５１０の一部として統合されている。
【００５８】
プロセッサ５１０は、任意の汎用プロセッサと、プロセッサ５１０を制御するように構成され、記憶デバイス５３０に記憶されたサービス５３２、５３４、及び５３６等のハードウェアサービス又はソフトウェアサービスとを含むことができ、加えて、ソフトウェア命令が実際のプロセッサ設計内に組み込まれた専用プロセッサを含むこともできる。プロセッサ５１０は、本質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュ等を収容する完全自立型のコンピューティングシステムとすることができる。マルチコアプロセッサは、対称型又は非対称型とすることができる。
【００５９】
ユーザとのインタラクションを可能にするため、コンピューティングシステム５００は、入力デバイス５４５を備える。この入力デバイスは、音声用のマイクロフォン、ジェスチャ入力又はグラフィカル入力用のタッチ画面、キーボード、マウス、モーション入力、音声等の任意の数の入力メカニズムを表すことができる。コンピューティングシステム５００は、出力デバイス５３５も備えることができる。この出力デバイスは、当業者に既知の複数の出力メカニズムのうちの１つ以上とすることができる。いくつかの場合には、マルチモードシステムは、ユーザが、コンピューティングシステム５００と通信する複数のタイプの入出力を提供することを可能にすることができる。コンピューティングシステム５００は、一般にユーザ入力及びシステム出力を制御及び管理することができる通信インタフェース５４０を備えることができる。特定のハードウェア構成上で動作することに対する制限はなく、したがって、ここでの基本的な特徴は、展開されているような改良されたハードウェア構成又はファームウェア構成に容易に取り替えることができる。
【００６０】
記憶デバイス５３０は、不揮発性メモリデバイスとすることができ、ハードディスク、又は、コンピュータによってアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体とすることができる。このコンピュータ可読媒体は、例えば、磁気カセット、フラッシュメモリカード、固体メモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、及び／又はこれらのデバイスの或る組み合わせである。
【００６１】
記憶デバイス５３０は、ソフトウェアサービス、サーバ、サービス等を含むことができ、これらは、そのようなソフトウェアを規定するコードがプロセッサ５１０によって実行されると、システムに機能を実行させるものである。いくつかの実施形態では、特定の機能を実行するハードウェアサービスは、この機能を実行するプロセッサ５１０、接続部５０５、出力デバイス５３５等の必要なハードウェアコンポーネントに関連してコンピュータ可読媒体に記憶されたソフトウェアコンポーネントを含むことができる。
【００６２】
説明を理解しやすくするために、いくつかの場合には、本技術は、デバイス、デバイスコンポーネント、ソフトウェアで具現化される方法におけるステップ若しくはルーチン、又はハードウェア及びソフトウェアの組み合わせを備えた機能ブロックを含む個別の機能ブロックを含むものとして提示される場合がある。
【００６３】
本明細書において説明したステップ、動作、機能、又はプロセスのいずれも、ハードウェアサービス及びソフトウェアサービス又はサービスの組み合わせによって、単独で、又は他のデバイスとの組み合わせによって実行又は実施することができる。いくつかの実施形態では、サービスは、コンテンツ管理システムのクライアントデバイス及び／又は１つ以上のサーバのメモリに存在するソフトウェアとすることができ、プロセッサがこのサービスに関連付けられたこのソフトウェアを実行すると、１つ以上の機能を実行することができる。いくつかの実施形態では、サービスは、特定の機能を実行するプログラム又はプログラムの集合体である。いくつかの実施形態では、サービスはサーバとみなすことができる。メモリは非一時的なコンピュータ可読媒体とすることができる。
【００６４】
いくつかの実施形態では、コンピュータ可読記憶デバイス、媒体及びメモリは、ケーブル、又はビットストリーム等を含む無線信号を含むことができる。しかし、言及される場合、非一時的なコンピュータ可読記憶媒体は、エネルギー、キャリア信号、電磁波、及び信号それ自体等の媒体を、明示的に除外する。 
【００６５】
上述の例による方法は、コンピュータ可読媒体に記憶された、又は別の方法でコンピュータ可読媒体から利用可能な、コンピュータ実行可能命令を使用して実施することができる。そのような命令は、例えば、汎用コンピュータ、専用コンピュータ、又は専用処理デバイスに、或る特定の機能又は機能のグループを実行させるか、又は別の方法で或る特定の機能又は機能のグループを実行するように汎用コンピュータ、専用コンピュータ、又は専用処理デバイスを構成する、命令及びデータを含むことができる。使用されるコンピュータリソースの一部は、ネットワークを介してアクセス可能であってもよい。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語等の中間フォーマットの命令、ファームウェア、又はソースコードであってよい。命令、使用される情報、及び／又は説明された例による方法の実行中に作成された情報を記憶するために使用することができるコンピュータ可読媒体の例には、磁気又は光学ディスク、固体メモリデバイス、フラッシュメモリ、不揮発性メモリが設けられたＵＳＢデバイス、ネットワーク接続型記憶デバイス等が含まれる。 
【００６６】
これらの開示による方法を実施するデバイスは、ハードウェア、ファームウェア及び／又はソフトウェアを備えることができるとともに、種々のフォームファクタのいずれかを取ることができる。そのようなフォームファクタの典型例には、サーバ、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、携帯情報端末等が含まれる。本明細書で説明された機能は、周辺機器又はアドインカードにおいて具現化することもできる。そのような機能は、更なる例として、単一のデバイスで達成する異なるチップ間又は異なるプロセス間の回路ボード上で実施することもできる。
【００６７】
命令、そのような命令を搬送する媒体、それらを実行するコンピューティングリソース、及びそのようなコンピューティングリソースをサポートする他の構造は、これらの開示において説明された機能を提供する手段である。
【００６８】
添付の特許請求の範囲に含まれる態様を説明するために種々の例及び他の情報を用いたが、当業者であれば多種多様な実施態様を導くためにこれらの例を使用できるため、そのような例における特定の特徴又は構成に基づいて特許請求の範囲が限定されるべきではない。さらに、構造的な特徴及び／又は方法のステップの例に応じた表現でいくつかの主題が説明されている場合があるが、添付の特許請求の範囲に規定された主題は、それらの説明された特徴又は動作に必ずしも限定されないことが理解される。例えば、そのような機能は、別々に分散されてもよいし、本明細書で特定したコンポーネントとは別のコンポーネントで実行されてもよい。むしろ、上述の特徴及びステップは、添付の特許請求の範囲に含まれるシステム及び方法のコンポーネントの例として示したものである。
【図１】
2021524179.tif 000003
【図２】
2021524179.tif 000004
【図３】
2021524179.tif 000005
【図４】
2021524179.tif 000006
【図５】
2021524179.tif 000007
【国際調査報告】
2021524179.tif 000008