(57)【特許請求の範囲】
【請求項１】
1つまたは複数のコンピューティングデバイスによって、ターゲット目的地へのナビゲーション指示の要求を取得するステップと、
前記1つまたは複数のコンピューティングデバイスによって、最初の場所から前記ターゲット目的地までの往路ルートを決定するステップであって、前記往路ルートに関する情報が、推定往路所要時間を備える、ステップと、
前記1つまたは複数のコンピューティングデバイスによって、1つまたは複数の機械学習モデルによって実行された1つまたは複数の動作に基づいて、復路ルートを決定するステップであって、前記復路ルートが、前記ターゲット目的地から帰り目的地までのルートを備え、前記復路ルートに関する情報が、推定復路所要時間を備える、ステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記推定往路所要時間と前記推定復路所要時間とを比較するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記推定往路所要時間と前記推定復路所要時間とを比較した結果、1つまたは複数の所定の基準が満たされていると決定された場合に、前記復路ルートに関する通知を生成するステップであって、前記復路ルートに関する前記通知が、前記推定往路所要時間と前記推定復路所要時間との間の時間差を備える、ステップとを含む、
コンピュータで実行される方法。
【請求項２】
前記コンピュータで実行される方法は、
前記1つまたは複数のコンピューティングデバイスによって、ユーザが前記ターゲット目的地において費やす推定時間を示す推定目的地時間を決定するステップをさらに含み、
前記推定復路所要時間を決定するための復路開始時間が、前記推定往路所要時間と前記推定目的地時間に基づく、
請求項１に記載のコンピュータで実行される方法。
【請求項３】
前記推定往路所要時間および前記推定復路所要時間を決定するステップが、
現在の交通状況または過去の交通状況のうちの1つまたは複数に基づく、
請求項１に記載のコンピュータで実行される方法。
【請求項４】
前記復路ルートに関する前記通知が、前記推定復路所要時間の識別を備える、
請求項１に記載のコンピュータで実行される方法。
【請求項５】
前記復路ルートに関する前記通知が、前記復路ルート上で予想される交通に関する警告を備える、
請求項１に記載のコンピュータで実行される方法。
【請求項６】
前記復路ルートに関する前記通知が、前記推定往路所要時間、推定目的地時間、または前記推定復路所要時間のうちの1つまたは複数が決定される方法のコンテキスト説明を備える、
請求項１に記載のコンピュータで実行される方法。
【請求項７】
前記コンピュータで実行される方法は、
前記1つまたは複数のコンピューティングデバイスによって、前記推定往路所要時間および前記推定復路所要時間よりも短い推定代替往路所要時間および推定代替復路所要時間を有する別のターゲット目的地を決定するステップをさらに含む、
請求項１に記載のコンピュータで実行される方法。
【請求項８】
前記1つまたは複数のコンピューティングデバイスによって、前記帰り目的地を決定するステップをさらに含む、
請求項１に記載のコンピュータで実行される方法。
【請求項９】
前記帰り目的地の決定が、ナビゲーション指示の前記要求が受信されるユーザコンピューティングデバイスに関連付けられる現在の場所に基づく、
請求項８に記載のコンピュータで実行される方法。
【請求項１０】
前記帰り目的地の決定が、ナビゲーション指示の前記要求が受信されるユーザコンピューティングデバイスに関連付けられる以前に訪れた場所の履歴に基づく、
請求項８に記載のコンピュータで実行される方法。
【請求項１１】
前記1つまたは複数のコンピューティングデバイスによって、表示するために、前記往路ルートおよび前記復路ルートを示すマップを提供するステップをさらに含む、
請求項１に記載のコンピュータで実行される方法。
【請求項１２】
前記1つまたは複数のコンピューティングデバイスによって、前記ターゲット目的地から前記帰り目的地までの前記復路ルートを決定するステップが、前記往路ルートが対応する復路に関連付けられるという決定された尤度が閾値よりも大きいときに生じる、
請求項１に記載のコンピュータで実行される方法。
【請求項１３】
ディスプレイデバイスと、
1つまたは複数のプロセッサと、
ユーザコンピューティングデバイスの前記1つまたは複数のプロセッサに以下の動作を実行させるための命令を記憶する少なくとも1つのコンピュータ可読記憶媒体とを備えた、
ユーザコンピューティングデバイスであって、前記動作が、
ターゲット目的地へのナビゲーション指示の要求を受信するステップと、
最初の場所から前記ターゲット目的地までの往路ルートを決定するステップであって、前記往路ルートに関する情報が、推定往路所要時間を備える、ステップと、
1つまたは複数の機械学習モデルによって実行された1つまたは複数の動作に基づいて、復路ルートを決定するステップであって、前記復路ルートが、前記ターゲット目的地から帰り目的地までのルートを備え、前記復路ルートに関する情報が、推定復路所要時間を備え、ステップと、
前記推定往路所要時間と前記推定復路所要時間とを比較した結果、1つまたは複数の所定の基準が満たされていると決定された場合に、前記復路ルートに関する通知を受信するステップであって、前記復路ルートに関する前記通知が、前記推定往路所要時間と前記推定復路所要時間との間の時間差とを備える、ステップと、
前記ディスプレイデバイスに表示するための前記復路ルートに関する前記通知を提供するステップとを含む、
ユーザコンピューティングデバイス。
【請求項１４】
前記推定復路所要時間に関する前記通知が、前記推定復路所要時間の識別を備える、
請求項１３に記載のユーザコンピューティングデバイス。
【請求項１５】
前記推定復路所要時間に関する前記通知が、前記復路ルート上で予想される交通に関する警告を備える、
請求項１３に記載のユーザコンピューティングデバイス。
【請求項１６】
前記推定復路所要時間に関する前記通知が、前記推定往路所要時間、推定目的地時間、または前記推定復路所要時間のうちの1つまたは複数が決定される方法のコンテキスト説明を備える、
請求項１３に記載のユーザコンピューティングデバイス。
【請求項１７】
前記動作が、
表示するために、前記推定往路所要時間に関連付けられる往路ルートと、前記推定復路所要時間に関連付けられる復路ルートとを示すマップを提供するステップをさらに含む、
請求項１３に記載のユーザコンピューティングデバイス。
【請求項１８】
1つまたは複数のプロセッサに以下の動作を実行させるためのコンピュータ実行可能命令を記憶しているコンピュータ可読記憶媒体であって、前記動作が、
ターゲット目的地へのナビゲーション指示の要求を取得するステップと、
最初の場所から前記ターゲット目的地までの往路ルートを決定するステップであって、前記往路ルートに関する情報が推定往路所要時間を備える、ステップと、
1つまたは複数の機械学習モデルによって実行された1つまたは複数の動作に基づいて、復路ルートを決定するステップであって、前記復路ルートが、前記ターゲット目的地から帰り目的地までのルートを備え、前記復路ルートに関する情報が、推定復路所要時間を備える、ステップと、
前記推定往路所要時間と前記推定復路所要時間とを比較するステップと、
前記推定往路所要時間と前記推定復路所要時間とを比較した結果、1つまたは複数の所定の基準が満たされていると決定された場合に、前記復路ルートに関する通知を生成するステップであって、前記復路ルートに関する前記通知が、前記推定往路所要時間と前記推定復路所要時間との間の時間差とを備える、
ステップとを含む、
コンピュータ可読記憶媒体。
【請求項１９】
推定目的地時間が、複数のユーザが前記ターゲット目的地において費やす平均時間、または前記ユーザが前記ターゲット目的地において費やす平均時間の1つまたは複数に基づく、
請求項１８に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記推定復路所要時間に関する前記通知が、前記推定復路所要時間の識別を備える、
請求項１８に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にナビゲーションシステムに関する。より具体的には、本開示は、復路ルートの態様を説明するルート情報を生成することに関する。
【背景技術】
【０００２】
様々なナビゲーションシステムがユーザに進路変更ごとの指示を提供する。これらのシステムは、ハンドヘルドGPSデバイスまたはモバイル電話、車載デバイス、あるいはマッピングアプリケーションにアクセスできるインターネットベースのコンピュータを含むことができる。ユーザは1つまたは複数の場所を入力し、ルートと進路変更ごとの指示を受信する。通常、これらのシステムは、ルートに沿って移動するための最短推定時間に基づいて最速のルートを選択することができる。いくつかのシステムは、たとえば渋滞のレポートなどの交通状況をこの計算に組み込むことができる。いくつかのシステムは、1つまたは複数の場所への推定移動時間を含むルート情報を提供することができる。
【０００３】
ユーザは、計画のために、ナビゲーションシステムおよび/またはマッピングアプリケーションによって提供される情報を評価することができる。たとえば、目的地の場所までの推定移動時間を含むルート情報は、ユーザが出発時間を計画するのに役立つ。より具体的には、ライブ交通情報を考慮して食料品店への推定移動時間を確認するために、ユーザは地元の食料品店を目的地の場所として選択することができる。場合によっては、ユーザは、このナビゲーション情報に基づいて、所望の目的地について決定する場合がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の実施形態の態様および利点は、以下の説明に部分的に記載されるか、説明から学習することができ、または実施形態の実施を通じて学習することができる。
【０００５】
本開示の例示的な一態様は、コンピュータで実行される方法を対象とする。本方法は、1つまたは複数のコンピューティングデバイスによって、ターゲット目的地へのナビゲーション指示の要求を取得するステップを含む。本方法はまた、1つまたは複数のコンピューティングデバイスによって、最初の場所からターゲット目的地までの往路ルートを決定するステップであって、往路ルートが推定往路所要時間を含む、ステップを含む。本方法はまた、1つまたは複数のコンピューティングデバイスによって、ターゲット目的地から帰り目的地までの復路ルートを決定するステップであって、復路ルートが推定復路所要時間を含む、ステップを含む。本方法はまた、1つまたは複数のコンピューティングデバイスによって、推定往路所要時間と推定復路所要時間とを比較するステップを含む。本方法はまた、1つまたは複数のコンピューティングデバイスによって、推定往路所要時間と推定復路所要時間とを比較した結果、1つまたは複数の所定の基準が満たされていると決定された場合に、復路ルートに関する通知を生成するステップを含む。
【０００６】
本開示の別の例示的な態様は、ユーザコンピューティングデバイスを対象とする。ユーザコンピューティングデバイスは、ディスプレイデバイスと、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると、ユーザコンピューティングデバイスに動作を実行させる命令を記憶する少なくとも1つの有形の非一時的コンピュータ可読媒体とを含む。本動作は、ターゲット目的地へのナビゲーション指示の要求を受信するステップを含む。本動作はまた、最初の場所からターゲット目的地まで移動するための推定往路所要時間と、ターゲット目的地から帰り目的地まで移動するための推定復路所要時間の決定を開始するステップを含む。推定往路所要時間および推定復路所要時間は、現在の交通状況または過去の交通状況のうちの1つまたは複数から少なくとも部分的に決定される。本動作はまた、推定往路所要時間と推定復路所要時間とを比較した結果、1つまたは複数の所定の基準が満たされていると決定された場合に、復路所要時間に関する通知を受信するステップを含む。本動作はまた、ディスプレイデバイスに表示するための通知を提供するステップを含む。
【０００７】
本開示の別の例示的な態様は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作を実行させるコンピュータ実行可能命令を記憶する1つまたは複数の有形の非一時的コンピュータ可読媒体を対象とする。本動作は、ターゲット目的地へのナビゲーション指示の要求を取得するステップを含む。本動作は、最初の場所からターゲット目的地までの往路ルートを決定するステップであって、往路ルートが推定往路所要時間を含む、ステップを含む。往路ルートを決定するステップは、現在の交通状況または過去の交通状況のうちの1つまたは複数に少なくとも部分的に基づく。本動作はまた、ターゲット目的地から帰り目的地までの復路ルートを決定するステップであって、復路ルートが、推定往路所要時間と推定目的地時間から決定された復路開始時刻について、現在の交通状況または過去の交通状況のうちの1つまたは複数から少なくとも部分的に決定された推定復路所要時間を含む、ステップを含む。本動作はまた、推定往路所要時間と推定復路所要時間とを比較するステップを含む。本動作はまた、推定往路所要時間と推定復路所要時間とを比較した結果、1つまたは複数の所定の基準が満たされていると決定された場合に、復路ルートに関する通知を生成するステップを含む。
【０００８】
本開示の他の態様は、様々なシステム、装置、コンピュータプログラム製品、非一時的コンピュータ可読媒体、ユーザインターフェース、および電子デバイスを対象とする。
【０００９】
本開示の様々な実施形態のこれらおよび他の特徴、態様、および利点は、以下の説明および添付の特許請求の範囲を参照してよりよく理解されるであろう。本明細書に組み込まれ、その一部を構成する添付の図面は、本開示の例示的な実施形態を示し、説明とともに、関連する原理を説明するのに役立つ。
【００１０】
当業者を対象とする実施形態の詳細な議論が本明細書に記載されており、以下の添付の図面を参照する。
【図面の簡単な説明】
【００１１】
【図１】本開示の例示的な実施形態による、例示的なコンピューティングシステムのブロック図である。
【図２】本開示の例示的な実施形態による、復路通知を伴う例示的なユーザインターフェースを示す図である。
【図３】本開示の例示的な実施形態による、復路通知を実装するための例示的な通信概略図を示す図である。
【図４】本開示の例示的な実施形態による第1の例示的な方法のフローチャートである。
【図５】本開示の例示的な実施形態による第2の例示的な方法のフローチャートである。
【発明を実施するための形態】
【００１２】
一般に、本開示は、往路と復路の両方の態様を説明するルート情報を生成するためのシステムおよび方法を対象とする。たとえば、最初の場所からターゲット目的地までの往路を決定することができ、推定往路所要時間を含むことができる。ターゲット目的地から帰り目的地までの帰り目的地のルートも決定することができ、推定復路所要時間を含むことができる。帰り目的地は、最初の場所でもよく、別の場所でもよい(「帰り」は、往路がターゲット目的地へ向かい、復路がターゲット目的地から離れるという意味で使用される)。往路所要時間と復路所要時間の時間の比較に基づいて、1つまたは複数の通知をマッピングアプリケーションユーザに提供することができる。復路通知は、たとえば、推定復路所要時間、往路所要時間と復路所要時間の推定差、予め定められたルートファクタの警告などを含むことができる。ユーザが出発地または別の帰り目的地に帰るまでにかかる時間に関連付けられる復路通知を提供することによって、そのようなユーザは、より包括的で価値のある旅行計画情報を提供される。これは、推定復路所要時間が推定往路所要時間と著しく異なる場合に特に役立つことができ、これは、ルートの両側で交通が完全に異なる場合に生じる可能性がある。そのような情報は、出発時にユーザにとって非常に役立つ可能性があるため、ユーザは現地の移動についてより多くの情報に基づいた決定を下すことができる。
【００１３】
より具体的には、いくつかの実装形態では、ユーザコンピューティングデバイス(たとえば、スマートフォンまたは他のモバイルデバイスなどのモバイルコンピューティングデバイス、ナビゲーションシステム、ラップトップ、タブレットなど)は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサによって実行されると、ユーザコンピューティングデバイスに動作を実行させる命令を記憶する少なくとも1つの有形の非一時的コンピュータ可読媒体とを含むことができる。ユーザコンピューティングデバイスはまた、通信インターフェース、ディスプレイデバイス、ユーザ入力デバイス、地理的位置コンポーネント、および加速度計を含むことができる。ユーザコンピューティングデバイスはまた、マッピングアプリケーションへのアクセスを含むか、さもなければ取得することができる(たとえば、サーバコンピューティングデバイスを介して)。
【００１４】
いくつかの実装形態では、ユーザコンピューティングデバイスの通信インターフェースは、ネットワークを介して1つまたは複数のリモートコンピューティングデバイス(たとえば、1つまたは複数のサーバコンピューティングデバイス)とのワイヤレス通信を確立するように構成することができる。いくつかの実装形態では、ネットワークを介して通信可能に結合されたユーザコンピューティングデバイスおよびリモートコンピューティングデバイスは、それぞれネットワークを介してデバイス間でマップコンテンツおよびナビゲーション情報が共有されることを可能にするマッピングプラットフォームを含む。通信インターフェースは、たとえば、送信機、受信機、ポート、コントローラ、アンテナ、または他の適切なコンポーネントを含む、1つまたは複数のネットワークとインターフェースをとるための任意の適切なハードウェアおよび/あるいはソフトウェアコンポーネントを含むことができる。ネットワークは、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、またはそれらの組合せなどの、任意のタイプの通信ネットワークであってよく、任意の数のワイヤードまたはワイヤレスリンクを含むことができる。一般に、ネットワークを介した通信は、様々な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、エンコードまたは形式(たとえば、HTML、XML)、および/あるいは保護スキーム(たとえば、VPN、セキュアHTTP、SSL)を使用して、任意のタイプのワイヤードおよび/またはワイヤレス接続を介して搬送することができる。
【００１５】
いくつかの実装形態では、ユーザコンピューティングデバイスのディスプレイデバイスは、ユーザコンピューティングデバイスのユーザに表示するために様々なユーザインターフェースを提供するように構成することができる。たとえば、マッピングアプリケーションに関連付けられるマップを、ディスプレイデバイスを介して表示するために提供することができる。マッピングアプリケーションは、マップ内の様々な道路セグメントに沿った往路ルートおよび/または復路ルート、往路距離、往路所要時間、復路距離、復路所要時間、目的地時刻、復路通知、旅行計算に関するコンテキスト情報などを含むがこれらに限定されない、ディスプレイデバイスを介して表示するために提供できる追加データを生成することができる。
【００１６】
いくつかの実装形態では、ユーザコンピューティングデバイスのユーザ入力デバイスは、ユーザから命令を受信するように構成することができる。たとえば、ユーザ入力デバイスは、ディスプレイデバイスに関連付けられるタッチスクリーン、キーボード、視標追跡デバイス、マウス、ジョイスティック、リモートコントロール、またはユーザコンピューティングデバイスに入力を提供できる任意の他のデバイスであり得る。いくつかの実装形態では、ユーザ入力デバイスは、ナビゲーション指示の要求に関連付けられるターゲット目的地を示す命令を受信するように構成される。いくつかの実装形態では、ユーザ入力デバイスは、ナビゲーション指示の要求に関連付けられる最初の場所を示す命令を受信するように構成される。いくつかの実装形態では、ユーザ入力デバイスは、ナビゲーション指示の要求に関連付けられる帰り目的地を示す命令を受信するように構成される。いくつかの実装形態では、ユーザ入力デバイスは、ナビゲーション指示の要求に関連付けられる少なくとも1つの旅行パラメータを修正する命令を受信するように構成される。
【００１７】
いくつかの実装形態では、地理的位置コンポーネントは、ユーザコンピューティングデバイスの地理的な場所および向きを決定するように構成されたハードウェアおよび/またはソフトウェアを含むことができる。たとえば、地理的位置コンポーネントは、ユーザコンピューティングデバイスの緯度、経度、高度の位置を決定するためのGPS受信機を含むことができる。別の例では、地理的位置コンポーネントはまた、クライアントデバイスがセルラー電話である場合、1つまたは複数のセルラー電話の中継塔からセルラー電話のアンテナにおいて受信した信号などの、ユーザコンピューティングデバイスにおいて受信した他の信号に基づいてデバイスの位置を決定するためのソフトウェアを含むことができる。別の例では、地理的位置コンポーネントは、周辺のすべてのWi-Fiネットワークを検出することと、それらのネットワークからの信号の強度を測定することと、ユーザコンピューティングデバイスの地理的位置を三角測量するためにWi-Fiアクセスポイントの場所のテーブルを使用することとが可能である。任意の数の地理的測位システムを単独または組み合わせて使用できることが理解されよう。
【００１８】
いくつかの実装形態では、ユーザコンピューティングデバイスの加速度計(または、ジャイロスコープなどの他の代替デバイス)は、ユーザコンピューティングデバイスが向けられている方向を決定するように構成されたハードウェアおよび/またはソフトウェアを含むことができる。ほんの一例として、デバイスは、重力の方向またはそれに垂直な平面に対するピッチ、ヨー、またはロール(または、それらの変化)を決定することができる。その点に関して、本明細書に記載の位置および方向データの提供は、ユーザコンピューティングデバイス、サーバコンピューティングデバイス、またはその両方に自動的に提供できることが理解されよう。
【００１９】
本開示の一態様によれば、マッピングアプリケーションは、往路ルートジェネレータ、帰り目的地予測子、復路ルートジェネレータ、旅行時間アナライザ、および/または復路通知ジェネレータのうちの1つまたは複数を含むことができる。マッピングアプリケーションおよびその様々なコンポーネントは、所望の機能を提供するために利用されるコンピュータロジックを含むことができる。マッピングアプリケーションは、汎用プロセッサを制御するハードウェア、ファームウェア、および/またはソフトウェアにおいて実装することができる。たとえば、一部の実装形態では、マッピングアプリケーションは、ストレージデバイスに記憶され、メモリにロードされ、1つまたは複数のプロセッサによって実行されるプログラムファイルを含むことができる。他の実装形態では、マッピングアプリケーションは、RAMハードディスクあるいは光学または磁気媒体などの有形のコンピュータ可読ストレージ媒体に記憶される、コンピュータプログラム製品および/または、コンピュータ実行可能命令の1つまたは複数のセットを含む。
【００２０】
本開示は、マッピングアプリケーションを実装するためのコンピュータ実行可能命令を備えるコンピュータプログラム製品をさらに提供する。コンピュータプログラム製品は、RAMハードディスクあるいは光学または磁気媒体などの有形のコンピュータ可読ストレージ媒体に記憶されてもよく、あるいは代替で、有形のコンピュータ可読ストレージ媒体に必ずしも記憶されずに、通信ネットワークを介して信号としてダウンロード可能であってもよい。
【００２１】
本開示のさらなる態様では、たとえば、リモートサーバなどの別のコンピュータで実行されているマッピングアプリケーションと相互作用するためにユーザデバイスのプロセッサによって実行可能な命令の形のコンピュータプログラム製品(コンピュータ可読ストレージ媒体に記憶されるかどうかにかかわらず)が提供される。たとえば、命令は、マッピングアプリケーションによって使用される命令を受信し、別個のコンピュータに中継することと、および/または別個のコンピュータによって生成された通知をユーザに提示することとを行うためのユーザインターフェースを生成するために実装され得る。
【００２２】
より具体的には、往路ルートジェネレータは、最初の場所からターゲット目的地までの往路ルートを決定するように構成することができる。いくつかの実装形態では、ターゲット目的地は、たとえば、特定の場所へのナビゲーション指示の要求の一部として、ユーザコンピューティングデバイスのユーザから受信した命令から識別される。いくつかの実装形態では、最初の場所はまた、ユーザコンピューティングデバイスのユーザから受信した命令から識別される。他の実装形態では、最初の場所は、たとえば、ユーザコンピューティングデバイス内の地理的位置コンポーネントによって決定されるように、ユーザコンピューティングデバイスの現在の場所に対応するように決定される。ターゲット目的地、最初の場所などを識別する命令は、住所、興味がある場所、GPS座標などを含む任意の数の形式で提供することができる。
【００２３】
いくつかの実装形態では、往路ルートジェネレータは、最初の場所とターゲット目的地との間の複数の候補の往路ルートを決定することができる。各候補の往路ルートは、1つまたは複数のルートセグメントを含むことができる。候補の往路ルートのルートセグメントごとに、予想される交通状況(たとえば、往路開始時刻に対して決定される現在の交通状況および/または過去の交通状況)に基づいて、ルートセグメントの推定運転時間を計算することができる。たとえば、往路ルート生成プロセスは、ユーザがすぐに(または、他の何らかの指定された往路開始時刻に)ターゲット目的地に向かって現在/最初の場所を離れると推定することから開始できる。したがって、ユーザは、現時点では所与の往路ルートセグメントに沿って移動する。往路ルートジェネレータは、所与の往路ルートセグメントに関連付けられる時間期間情報から、現時点の所与の往路ルートセグメントに沿って配置されている、または配置されると予想される車両の推定数を決定することができる。車両の推定数とキャパシティインデックスを使用して、往路ルートジェネレータは、所与の往路ルートセグメントに沿ったおおよその移動時間を決定することができる。
【００２４】
往路ルートジェネレータは、前の往路ルートセグメントのおおよその移動時間に基づいて、次の往路ルートセグメントに沿ったおおよその移動時間を決定することができる。たとえば、第1の往路ルートセグメントに沿って移動し、第2の往路ルートセグメントに到達するまでに約2分かかると決定された場合に、往路ルートジェネレータは、第1の往路ルートセグメントに関連付けられる時間期間情報から、現時点から2分で第2の往路ルートセグメントに沿って配置される車両の推定数を決定する。車両の推定数とキャパシティインデックスを使用して、往路ルートジェネレータは、第2の往路ルートセグメントに沿ったおおよその移動時間を決定することができる。往路ルートジェネレータは、ターゲット目的地に到着するまで、後続の往路ルートセグメントに対してこのプロセスを繰り返すことができる。
【００２５】
往路ルートジェネレータが往路ルートのルートセグメントごとの推定移動時間を決定すると、往路ルートジェネレータは、往路ルートセグメントごとの推定移動時間の合計を決定することによって、往路ルート全体の推定往路所要時間を決定することができる。いくつかの実装形態では、往路ルートジェネレータは、複数の候補ルートの推定往路所要時間を比較することによって、最速のルートを選択することができる。いくつかの実装形態では、往路ルートジェネレータはまた、決定された往路ルートに基づいて進路変更ごとの指示を生成し、そのような指示を表示するためにユーザコンピューティングデバイスに提供することができる。
【００２６】
本開示の別の態様によれば、帰り目的地予測子は、ユーザがターゲット目的地に移動した後に帰ると予測される帰り目的地を決定するように構成することができる。いくつかの実装形態では、帰り目的地は、往路ルートが生成される最初の場所に対応すると予測することができる。いくつかの実装形態では、帰り目的地は、ナビゲーション指示の要求が受信されるユーザコンピューティングデバイスに関連付けられる現在の場所に基づくことができる。いくつかの実装形態では、帰り目的地は、ナビゲーション指示の要求が受信されるユーザコンピューティングデバイスから受信される入力に基づいて決定することができる。たとえば、ユーザは、マッピングアプリケーション内で提供されるユーザインターフェースを介して特定の帰り目的地を指定することができる。
【００２７】
いくつかの実装形態では、帰り目的地予測子は、ナビゲーション指示の要求が受信されるユーザコンピューティングデバイスが訪れた場所の履歴に基づいて帰り目的地を決定することができる。たとえば、ユーザの場所履歴は、予測される帰り目的地の決定に役立つ1つまたは複数の一般的な旅パターンを示すことができる。たとえば、一般的な旅パターンは、ユーザが、ターゲット目的地に対応する第2の場所(たとえば、食料品店)に移動するために特定の時刻(たとえば、営業時間近く)に第1の場所(たとえば、職場)を出発して、帰り目的地は、通常第3の場所(たとえば、自宅)に対応することを示すことができる。あるいは、一般的な旅パターンは、ユーザが、ターゲット目的地に対応する第2の場所(たとえば、子供の学校)に移動するために特定の時刻(たとえば、開校時間の近く)に第1の場所(たとえば、自宅)を出発して、帰り目的地は、通常第1の場所(たとえば、自宅)に対応することを示すことができる。
【００２８】
いくつかの実装形態では、帰り目的地予測子は、ターゲット目的地に関連付けられるカテゴリに基づいて帰り目的地を決定することができる。たとえば、ユーザが「CafeABC」などの特定の興味がある場所へのナビゲーション指示を要求すると、帰り目的地予測子は、「CafeABC」というターゲット目的地に関連付けられる「レストラン」のカテゴリを決定することができる。ターゲット目的地に関連付けられるこのカテゴリは、帰り目的地を識別するために役立つ一般的な旅パターンを識別するために、ユーザの場所履歴を分析する際に使用することができる。たとえば、ユーザの場所履歴が、ユーザが特定の時刻(たとえば、昼休み)に最初の場所(たとえば、「職場」)から特定のカテゴリに関連付けられる1つまたは複数の様々なターゲット目的地(たとえば、様々なレストラン)にしばしば移動し、またユーザが昼休み前後にCafeXYZへのナビゲーション指示を要求することを示すと、「職場」の帰り目的地を予測することができる。
【００２９】
帰り目的地がユーザによって指定されるか、さもなければ帰り目的地予測子によって決定されると、復路ルートを復路ルートジェネレータによって生成することができる。
【００３０】
より具体的には、復路ルートジェネレータは、ターゲット目的地から帰り目的地までの復路ルートを決定するように構成することができる。いくつかの実装形態では、帰り目的地が最初の場所と同じである場合、復路ルートは、往路ルートと同じ道路セグメントの一部またはすべてをたどることができる。しかしながら、道路セグメントに沿ったある方向に向かう交通と別の方向(たとえば、反対方向)に向かう交通は、そのような道路セグメントに沿った異なる車線で生じるため、復路ルートに関連付けられる交通状況および対応する移動時間は、同じ道路セグメントの往路ルートとは異なる場合がある。いくつかの実装形態では、復路ルートは、往路ルートとは異なる道路セグメントのセットの一部またはすべてをたどる。これは、たとえば、帰り目的地が最初の場所と異なる場合に生じる可能性がある。たとえ帰り目的地が最初の場所と同じ場合でも、車線パターン、交通状況、または他の要因により、往路ルートに対応する復路ルートとは異なる復路ルートの方が早い場合、異なる道路セグメントを通過することができる。
【００３１】
いくつかの実装形態では、復路ルートジェネレータは、ターゲット目的地と帰り目的地との間の複数の候補の復路ルートを決定することができる。各候補の復路ルートは、1つまたは複数のルートセグメントを含むことができる。候補の復路ルートのルートセグメントごとに、ルートセグメントの推定運転時間は、予想される交通状況(たとえば、復路開始時刻に関連して決定される現在の交通状況および/または過去の交通状況)に基づいて計算することができる。復路開始時刻は、推定往路所要時間と推定目的地時間の合計として決定することができる。推定目的地時間は、ユーザがターゲット目的地において費やすと予測される時間に対応することができる。いくつかの実装形態では、推定目的地時間は、複数のユーザがターゲット目的地において費やす平均時間を示す履歴データに基づいて決定することができる。たとえば、平均的なユーザが特定の日および時間枠の間にStore ABCで20分間買い物をすると、目的地時間は20分と推定することができる。追加的または代替的に、推定目的地時間は、ユーザがターゲット目的地において費やす平均時間を示す履歴データに基づいて決定することができる。たとえば、平均的なユーザが特定の曜日および時間枠の間に子供の学校において迎えに10分間費やす場合、目的地時間は10分と推定することができる。
【００３２】
より具体的には、復路ルート生成プロセスは、ユーザが推定往路所要時間と推定目的地時間の合計に等しい復路開始時刻にターゲット目的地から出発すると決定することによって開始することができる。復路ルートジェネレータは、所与の復路ルートセグメントに関連付けられる時間期間情報から、復路開始時刻に所与の復路ルートセグメントに沿って配置される、または配置されると推定される車両の推定数を決定することができる。車両の推定数およびキャパシティインデックスを使用して、復路ルートジェネレータは、所与の復路ルートセグメントに沿ったおおよその移動時間を決定することができる。
【００３３】
復路ルートジェネレータは、前の復路ルートセグメントのおおよその移動時間に基づいて、次の復路ルートセグメントに沿ったおおよその移動時間を決定することができる。たとえば、第1の復路ルートセグメントに沿って移動し、第2の復路ルートセグメントに到達するまでに約2分かかると決定された場合に、復路ルートジェネレータは、第1の復路ルートセグメントに関連付けられる時間期間情報から、復路開始時刻から2分で第2の復路ルートセグメントに沿って配置される車両の推定数を決定する。車両の推定数およびキャパシティインデックスを使用して、復路ルートジェネレータは、第2の復路ルートセグメントに沿ったおよその移動時間を決定することができる。復路ルートジェネレータは、帰り目的地に到着するまで、後続のルートセグメントに対してこのプロセスを繰り返すことができる。
【００３４】
復路ルートジェネレータが、復路ルートのルートセグメントごとの推定移動時間を決定すると、復路ルートジェネレータは、復路ルートセグメントごとの推定移動時間の合計を決定することによって、復路ルート全体の推定復路所要時間を決定することができる。いくつかの実装形態では、復路ルートジェネレータは、複数の候補ルートの推定復路所要時間を比較することによって、最速のルートを選択することができる。いくつかの実装形態では、復路ルートジェネレータはまた、決定された復路ルートに基づいて進路変更ごとの指示を生成し、そのような指示を表示するためにユーザコンピューティングデバイスに提供することができる。
【００３５】
本開示の別の態様によれば、旅行時間アナライザは、推定往路所要時間と推定復路所要時間とを比較するように構成することができる。いくつかの実装形態では、旅行時間アナライザは、推定往路所要時間と推定復路所要時間との比較の結果、1つまたは複数の所定の基準が満たされているといつ決定するかを決定することができる。たとえば、所定の基準のうちの1つは、推定往路所要時間よりも長い推定復路所要時間に対応することができる。別の例では、所定の基準のうちの1つは、推定往路所要時間よりも長い推定復路所要時間と何らかの予め定められた閾値(たとえば、特定の予め定められた時間の増分、または推定往路所要時間の予め定められた割合)との合計に対応することができる。別の例では、所定の基準のうちの1つは、予想される典型的な旅行時間よりも長い推定復路所要時間に対応することができる。
【００３６】
旅行時間アナライザによって決定されたように様々な基準が満たされたときに復路通知が生成され、最終的にユーザコンピューティングデバイス上に表示するために提供されるように、旅行時間アナライザの態様を復路通知ジェネレータの態様と結合することができる。たとえば、推定往路所要時間と推定復路所要時間とを比較した結果、1つまたは複数の所定の基準が満たされていると決定された場合に、旅行時間アナライザによって評価されたように、復路通知を生成および/または提供することができる(たとえば、サーバコンピューティングデバイスからユーザコンピューティングデバイスへ)。
【００３７】
いくつかの実装形態では、復路通知ジェネレータによって提供される通知は、ユーザインターフェース上で提供される警告アイコンに対応することができる。いくつかの実装形態では、復路通知ジェネレータによって提供される通知は、推定復路所要時間の識別に対応することができる。いくつかの実装形態では、復路通知ジェネレータによって提供される通知は、推定往路所要時間と推定復路所要時間との間の時間差に対応することができる。いくつかの実装形態では、復路通知ジェネレータによって提供される通知は、復路ルートの予想交通量に関する警告に対応することができる。他の形式の警告および/またはテキストによるアドバイスを、復路通知ジェネレータを介して提供することができることが理解されるべきである(たとえば、「復路の交通を避けるために今すぐ出発する」など)。
【００３８】
いくつかの実装形態では、復路通知ジェネレータを介して提供される通知は、推定往路所要時間、予測される帰り目的地、推定目的地時間、および/または推定復路所要時間のうちの1つまたは複数が決定される方法のコンテキスト説明に対応することができる。これらのコンテキスト説明はまた、復路ルートに関連付けられる予測された態様の精度を向上させるためにユーザが特定の推定条件を変更することができる、ユーザインターフェース機能と結合することができる。より具体的には、少なくとも1つの旅行パラメータを修正する命令を受信するために、ユーザインターフェース機能を提供することができる。たとえば、旅行パラメータは、往路ルートジェネレータ、帰り目的地予測子、復路ルートジェネレータ、旅行時間アナライザまたは復路通知ジェネレータ(たとえば、予測される帰り目的地、推定目的地時間など)のいずれかによって、ナビゲーション指示の要求に応じて生成されたパラメータであり得る。
【００３９】
いくつかの実装形態では、復路通知ジェネレータを介して提供される通知は、ナビゲーション指示の要求に最初に関連付けられるターゲット目的地とは別のターゲット目的地を含むことができる。たとえば、別のターゲット目的地(たとえば、第2の食料品店)が、推定往路所要時間よりも短い別の推定往路所要時間および別の推定復路所要時間と、第1の食料品店への移動に関連付けられる推定復路所要時間とを有する場合、復路通知は、別のターゲット目的地を選択するための提案を含むことができる。別のターゲット目的地は、別のターゲット目的地の推定往路所要時間および推定復路所要時間を含む情報とともにマップまたは他のユーザインターフェースに表示するために提供することができる。いくつかの実装形態では、別のターゲット目的地は、ユーザの場所履歴に少なくとも部分的に基づいて決定することができる。所与のユーザが実際に以前に訪れた別のターゲット目的地を決定することによって、マッピングアプリケーションは、ユーザごとに所望の別のターゲット目的地を決定する可能性を高めることができる。
【００４０】
本明細書で説明されるシステムおよび方法は、多くの技術的効果および利点を提供することができる。たとえば、開示された技法は、ナビゲーションシステムによって提供される移動情報の包括性に関する問題を有利に解決することができる。往路に関連付けられる移動情報を提供することに加えて、開示された技法はまた、復路に関連付けられる移動情報を提供することができる。そのため、マッピングアプリケーションは、ユーザがターゲット目的地で費やした時間、ならびにユーザが最初の場所または次の目的地に帰ることを含むために、ユーザがターゲット目的地に到達した後に行うことを超えて分析するより包括的なナビゲーション情報を生成することができる。ユーザが出発地または別の帰り目的地に帰るまでにかかる時間に関連付けられる復路通知を提供することによって、ユーザは、より包括的で価値のある旅行計画情報を提供される。これは、推定復路所要時間が推定往路所要時間と著しく異なる場合に特に役立つことができ、これは、ルートの両側で交通が完全に異なる場合に生じる可能性がある。そのような情報は、出発時にユーザにとって非常に役立つ可能性があるため、ユーザは現地の移動についてより多くの情報に基づいた決定を下すことができる。
【００４１】
本開示の別の例示的な技術的効果および利益は、復路に関連付けられる上述の移動情報を生成することが適切である、またはそうでなければ所望されるときを決定するための、開示されたシステムおよび方法の能力にある。ユーザがターゲット目的地にいると予想される目的地時間が閾値の時間期間(たとえば、数時間または数日)を超える場合など、復路移動情報を常に生成することは適切ではない場合がある。そのため、いくつかの実装形態では、開示された技術は、ターゲット目的地に関連付けられるカテゴリを決定するための、推定目的地時間を決定するための、および/または予測される帰り目的地を決定するための機能を提供する。復路通知の生成は、ターゲット目的地に関連付けられるカテゴリ、推定目的地時間、予測される帰り目的地、および/または推定復路所要時間のうちの1つまたは複数に基づいて決定することができる。また、元のターゲット目的地に関連付けられる移動時間が通常より長い場合に、別のターゲット目的地、往路ルート、および/または復路ルートを決定するのが適切である、または望ましい場合に決定するための機能も提供することができる。
【００４２】
本開示のさらなる技術的効果および利点は、マッピングアプリケーションのユーザに提供されるナビゲーション指示の全体的な包括性および有効性を改善するためにユーザにとって利用可能な、可能な通知のカスタマイズ可能な性質である。より具体的には、マッピングアプリケーションのユーザに表示するために、様々な種類のユーザインターフェースと関連付けられる通知を提供することができる。たとえば、いくつかの実装形態では、往路と復路の両方のルートを示すマップを提供することができる。いくつかの実装形態では、通知は、推定復路所要時間の識別、推定往路所要時間と推定復路所要時間との間の時間差、および/または復路ルート上で予想される交通に関する警告を含むことができる。さらに、通知は、推定往路所要時間、推定目的地時間、または推定復路所要時間の1つまたは複数が決定される方法に関するコンテキスト説明を含むことができる。ユーザが様々な移動時間の計算に関するコンテキスト説明および仮定に関連付けられるデータ変数のうちの1つまたは複数を変更できるユーザインターフェース機能を提供することができる。そのため、移動時間の推定および復路通知は、マッピングアプリケーションのユーザによってさらにカスタマイズおよび改善することができる。
【００４３】
次に、図面を参照して、本開示の例示的な実施形態をさらに詳細に説明する。
【００４４】
図1は、ユーザコンピューティングデバイス110(たとえば、スマートフォンまたは他のモバイルデバイスなどのモバイルコンピューティングデバイス、ナビゲーションシステム、ラップトップ、タブレットなど)を含む例示的なシステム100のブロック図である。ユーザコンピューティングデバイス100は、1つまたは複数のプロセッサ112および少なくとも1つのメモリ114を含むことができる。1つまたは複数のプロセッサ112は、任意の適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であり得、動作可能に接続されている1つのプロセッサまたは複数のプロセッサであり得る。メモリ114は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなどの1つまたは複数の非一時的コンピュータ可読ストレージ媒体を含むことができる。メモリ114は、ユーザコンピューティングデバイス110に動作を実行させるためにプロセッサ112によって実行されるデータおよび命令を記憶することができる。ユーザコンピューティングデバイス110はまた、1つまたは複数のネットワーク(たとえば、ネットワーク180)を介する通信を可能にする通信インターフェース118、ならびにディスプレイデバイス120、ユーザ入力デバイス122、地理的位置コンポーネント124、および加速度計126を含むことができる。ユーザコンピューティングデバイス110はまた、マッピングアプリケーション128へのアクセスを含むか、さもなければ取得することができる(たとえば、サーバコンピューティングデバイス150を介して)。
【００４５】
いくつかの実装形態では、ユーザコンピューティングデバイス110の通信インターフェース118は、ネットワーク180を介して1つまたは複数のリモートコンピューティングデバイス(たとえば、1つまたは複数のサーバコンピューティングデバイス150)とのワイヤレス通信を確立するように構成することができる。いくつかの実装形態では、ネットワーク180を介して通信可能に結合されたユーザコンピューティングデバイス110およびサーバコンピューティングデバイス150は、それぞれネットワーク180を介してデバイス間でマップコンテンツおよびナビゲーション情報が共有されることを可能にするマッピングプラットフォームを含む。通信インターフェース118は、たとえば、送信機、受信機、ポート、コントローラ、アンテナ、または他の適切なコンポーネントを含む、1つまたは複数のネットワークとインターフェースをとるための任意の適切なハードウェアおよび/あるいはソフトウェアコンポーネントを含むことができる。
【００４６】
ネットワーク180は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、またはそれらの組合せなどの、任意のタイプの通信ネットワークであってよく、任意の数のワイヤードまたはワイヤレスリンクを含むことができる。一般に、ネットワーク180を介した通信は、様々な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、エンコードまたは形式(たとえば、HTML、XML)、および/あるいは保護スキーム(たとえば、VPN、セキュアHTTP、SSL)を使用して、任意のタイプのワイヤードおよび/またはワイヤレス接続を介して搬送することができる。
【００４７】
いくつかの実装形態では、ユーザコンピューティングデバイス110のディスプレイデバイス120は、ユーザコンピューティングデバイス110のユーザに表示するために様々なユーザインターフェースを提供するように構成することができる。たとえば、マッピングアプリケーション128に関連付けられるマップを、ディスプレイデバイス120を介して表示するために提供することができる。マッピングアプリケーション128は、マップ内の様々な道路セグメントに沿った往路ルートおよび/または復路ルート、往路距離、往路所要時間、復路距離、復路所要時間、目的地時刻、復路通知、旅行計算に関するコンテキスト情報などを含むがこれらに限定されない、ディスプレイデバイス120を介して表示するために提供できる追加データを生成することができる。
【００４８】
いくつかの実装形態では、ユーザコンピューティングデバイス110のユーザ入力デバイス122は、ユーザから命令を受信するように構成することができる。たとえば、ユーザ入力デバイス122は、ディスプレイデバイス120に関連付けられるタッチスクリーン、キーボード、視標追跡デバイス、マウス、ジョイスティック、リモートコントロール、またはユーザコンピューティングデバイス110に入力を提供できる任意の他のデバイスであり得る。いくつかの実装形態では、ユーザ入力デバイス122は、ナビゲーション指示の要求に関連付けられるターゲット目的地を示す命令を受信するように構成される。いくつかの実装形態では、ユーザ入力デバイス122は、ナビゲーション指示の要求に関連付けられる最初の場所を示す命令を受信するように構成される。いくつかの実装形態では、ユーザ入力デバイス122は、ナビゲーション指示の要求に関連付けられる帰り目的地を示す命令を受信するように構成される。いくつかの実装形態では、ユーザ入力デバイス122は、ナビゲーション指示の要求に関連付けられる少なくとも1つの旅行パラメータを修正する命令を受信するように構成される。
【００４９】
いくつかの実装形態では、地理的位置コンポーネント124は、ユーザコンピューティングデバイス110の地理的な場所および向きを決定するように構成されたハードウェアおよび/またはソフトウェアを含むことができる。たとえば、地理的位置コンポーネント124は、ユーザコンピューティングデバイス110の緯度、経度、高度の位置を決定するためのGPS受信機を含むことができる。別の例では、地理的位置コンポーネント124はまた、ユーザコンピューティングデバイス110がセルラー電話である場合、1つまたは複数のセルラー電話の中継塔からセルラー電話のアンテナにおいて受信した信号などの、ユーザコンピューティングデバイス110において受信した他の信号に基づいてユーザコンピューティングデバイス110の位置を決定するためのソフトウェアを含むことができる。別の例では、地理的位置コンポーネント124は、周辺のすべてのWiFiネットワークを検出することと、それらのネットワークからの信号の強度を測定することと、ユーザコンピューティングデバイスの地理的位置を三角測量するためにWi-Fiアクセスポイントの場所のテーブルを使用することとが可能である。任意の数の地理的測位システムを単独または組み合わせて使用できることが理解されよう。
【００５０】
いくつかの実装形態では、ユーザコンピューティングデバイス110の加速度計126(または、ジャイロスコープなどの他の代替デバイス)は、ユーザコンピューティングデバイス110が向けられている方向を決定するように構成されたハードウェアおよび/またはソフトウェアを含むことができる。ほんの一例として、デバイスは、重力の方向またはそれに垂直な平面に対するピッチ、ヨー、またはロール(または、それらの変化)を決定することができる。その点に関して、本明細書に記載の位置および方向データの提供は、ユーザコンピューティングデバイス110、サーバコンピューティングデバイス150、またはその両方に自動的に提供できることが理解されよう。
【００５１】
本開示の一態様によれば、マッピングアプリケーション128は、往路ルートジェネレータ130、帰り目的地予測子132、復路ルートジェネレータ134、旅行時間アナライザ136、および/または復路通知ジェネレータ138のうちの1つまたは複数を含むことができる。マッピングアプリケーション128およびその様々なコンポーネントは、所望の機能を提供するために利用されるコンピュータロジックを含むことができる。マッピングアプリケーション128は、汎用プロセッサを制御するハードウェア、ファームウェア、および/またはソフトウェアにおいて実装することができる。たとえば、一部の実装形態では、マッピングアプリケーション128は、ストレージデバイスに記憶され、メモリにロードされ、1つまたは複数のプロセッサによって実行されるプログラムファイルを含むことができる。他の実装形態では、マッピングアプリケーション128は、RAMハードディスクあるいは光学または磁気媒体などの有形のコンピュータ可読ストレージ媒体に記憶されるコンピュータ実行可能命令の1つまたは複数のセットを含む。
【００５２】
より具体的には、往路ルートジェネレータ130は、最初の場所からターゲット目的地までの往路ルートを決定するように構成することができる。いくつかの実装形態では、ターゲット目的地は、たとえば、特定の場所へのナビゲーション指示の要求の一部として、ユーザコンピューティングデバイス110のユーザから受信した命令から識別される。いくつかの実装形態では、最初の場所はまた、ユーザコンピューティングデバイス110のユーザから受信した命令から識別される。他の実装形態では、最初の場所は、たとえば、ユーザコンピューティングデバイス110内の地理的位置コンポーネント124によって決定されるように、ユーザコンピューティングデバイス110の現在の場所に対応するように決定される。ターゲット目的地、最初の場所などを識別する命令は、住所、興味がある場所、GPS座標などを含む任意の数の様々な形式で提供することができる。
【００５３】
いくつかの実装形態では、往路ルートジェネレータ130は、最初の場所とターゲット目的地との間の複数の候補の往路ルートを決定することができる。各候補の往路ルートは、1つまたは複数のルートセグメントを含むことができる。候補の往路ルートのルートセグメントごとに、予想される交通状況(たとえば、往路開始時刻に対して決定される現在の交通状況および/または過去の交通状況)に基づいて、ルートセグメントの推定運転時間を計算することができる。いくつかの実装形態では、マッピングデータベース164の一部として提供される交通情報166から交通状況を決定することができる。
【００５４】
たとえば、往路ルート生成プロセスは、ユーザがすぐに(または、他の何らかの指定された往路開始時刻に)ターゲット目的地に向かって現在/最初の場所を離れると推定することから開始できる。したがって、ユーザは、現時点では所与の往路ルートセグメントに沿って移動する。往路ルートジェネレータは、所与の往路ルートセグメントに関連付けられる時間期間情報から、現時点の所与の往路ルートセグメントに沿って配置されている、または配置されると予想される車両の推定数を決定することができる。車両の推定数とキャパシティインデックスを使用して、往路ルートジェネレータ130は、所与の往路ルートセグメントに沿ったおおよその移動時間を決定することができる。
【００５５】
往路ルートジェネレータ130は、前の往路ルートセグメントのおおよその移動時間に基づいて、次の往路ルートセグメントに沿ったおおよその移動時間を決定することができる。たとえば、第1の往路ルートセグメントに沿って移動し、第2の往路ルートセグメントに到達するまでに約2分かかると決定された場合に、往路ルートジェネレータ130は、第1の往路ルートセグメントに関連付けられる時間期間情報から、現時点から2分で第2の往路ルートセグメントに沿って配置される車両の推定数を決定する。車両の推定数とキャパシティインデックスを使用して、往路ルートジェネレータ130は、第2の往路ルートセグメントに沿ったおおよその移動時間を決定することができる。往路ルートジェネレータ130は、ターゲット目的地に到着するまで、後続の往路ルートセグメントに対してこのプロセスを繰り返すことができる。
【００５６】
往路ルートジェネレータ130が往路ルートのルートセグメントごとの推定移動時間を決定すると、往路ルートジェネレータ130は、往路ルートセグメントごとの推定移動時間の合計を決定することによって、往路ルート全体の推定往路所要時間を決定することができる。いくつかの実装形態では、往路ルートジェネレータ130は、複数の候補ルートの推定往路所要時間を比較することによって、最速のルートを選択することができる。いくつかの実装形態では、往路ルートジェネレータ130はまた、決定された往路ルートに基づいて進路変更ごとの指示を生成し、そのような指示を表示するためにユーザコンピューティングデバイス110に提供することができる(たとえば、ディスプレイデバイス120を介して)。
【００５７】
本開示の別の態様によれば、マッピングアプリケーション118は、往路ルートジェネレータ130によって決定された往路ルートに関連付けられる復路情報をいつ生成することが適切であるか、あるいは望ましいかを決定するための機能を含むことができる。復路移動情報を生成することが常に適切であるとは限らない。これは、ターゲット目的地の特定のカテゴリ(たとえば、ターゲット目的地は、ユーザが移動のために駐車する予定の空港に対応する)および/またはユーザがターゲット目的地にいると予想される目的地時間が閾値の時間期間(たとえば、数時間または数日)を超える場合であり得る。そのため、マッピングアプリケーション118は、所与の往路が対応する復路に関連付けられる(すなわち、ユーザが往復旅行に出かける可能性が高いかどうか)可能性(たとえば、信頼スコアまたは他の定量化可能な値)を決定するように構成することができる。この決定された尤度が閾値を超えると、マッピングアプリケーション118は、帰り目的地予測子132、復路ルートジェネレータ134、旅行時間アナライザ136、および/または復路通知ジェネレータ138を含む他のシステム機能を続行するように構成することができる。
【００５８】
本開示の別の態様によれば、帰り目的地予測子132は、ユーザがターゲット目的地に移動した後に帰ると予測される帰り目的地を決定するように構成することができる。いくつかの実装形態では、帰り目的地は、往路ルートが生成される最初の場所に対応すると予測することができる。いくつかの実装形態では、帰り目的地は、ナビゲーション指示の要求が受信されるユーザコンピューティングデバイス110に関連付けられる現在の場所に基づくことができる。いくつかの実装形態では、帰り目的地は、ナビゲーション指示の要求が受信されるユーザコンピューティングデバイス110から受信される入力に基づいて決定することができる。たとえば、ユーザは、マッピングアプリケーション内で提供されるユーザインターフェースを介して特定の帰り目的地を指定することができる。
【００５９】
いくつかの実装形態では、帰り目的地予測子132は、ナビゲーション指示の要求が受信されるユーザコンピューティングデバイス110が訪れた場所の履歴に基づいて帰り目的地を決定することができる。いくつかの実装形態では、マッピングデータベース164の一部としてユーザの場所履歴168を提供することができる。たとえば、ユーザの場所履歴168は、予測される帰り目的地の決定に役立つ1つまたは複数の一般的な旅パターンを示すことができる。たとえば、一般的な旅パターンは、ユーザが、ターゲット目的地に対応する第2の場所(たとえば、食料品店)に移動するために特定の時刻(たとえば、営業時間近く)に第1の場所(たとえば、職場)を出発して、帰り目的地は、通常第3の場所(たとえば、自宅)に対応することを示すことができる。あるいは、一般的な旅パターンは、ユーザが、ターゲット目的地に対応する第2の場所(たとえば、子供の学校)に移動するために特定の時刻(たとえば、開校時間の近く)に第1の場所(たとえば、自宅)を出発して、帰り目的地は、通常第1の場所(たとえば、自宅)に対応することを示すことができる。
【００６０】
いくつかの実装形態では、帰り目的地予測子132は、ターゲット目的地に関連付けられるカテゴリに基づいて帰り目的地を決定することができる。カテゴリは、それぞれが宛先データベースにおいて1つまたは複数の可能な目的地の対応するセットに関連付けられている、複数の予め定義されたカテゴリの1つであってよい。たとえば、ユーザが「CafeABC」などの特定の興味がある場所へのナビゲーション指示を要求すると、帰り目的地予測子は、「CafeABC」というターゲット目的地に関連付けられる「レストラン」のカテゴリを決定することができる。ターゲット目的地に関連付けられるこのカテゴリは、帰り目的地を識別するために役立つ一般的な旅パターンを識別するために、ユーザの場所履歴を分析する際に使用することができる。たとえば、ユーザの場所履歴が、ユーザが特定の時刻(たとえば、昼休み)に最初の場所(たとえば、「職場」)から特定のカテゴリに関連付けられる1つまたは複数の様々なターゲット目的地(たとえば、様々なレストラン)にしばしば移動し、またユーザが昼休み前後にCafeXYZへのナビゲーション指示を要求することを示すと、「職場」の帰り目的地を予測することができる。
【００６１】
帰り目的地がユーザによって指定されるか、さもなければ帰り目的地予測子132によって決定されると、復路ルートを復路ルートジェネレータ134によって生成することができる。より具体的には、復路ルートジェネレータ134は、ターゲット目的地から帰り目的地までの復路ルートを決定するように構成することができる。いくつかの実装形態では、帰り目的地が最初の場所と同じである場合、復路ルートは、往路ルートと同じ道路セグメントの一部またはすべてをたどることができる。しかしながら、道路セグメントに沿ったある方向に向かう交通と別の方向(たとえば、反対方向)に向かう交通は、そのような道路セグメントに沿った異なる車線で生じるため、復路ルートに関連付けられる交通状況および対応する移動時間は、同じ道路セグメントの往路ルートとは異なる場合がある。いくつかの実装形態では、復路ルートは、往路ルートとは異なる道路セグメントのセットの一部またはすべてをたどることができる。これは、たとえば、帰り目的地が最初の場所と異なる場合に生じる可能性がある。たとえ帰り目的地が最初の場所と同じ場合でも、車線パターン、交通状況、または他の要因により、往路ルートに対応する復路ルートとは異なる復路ルートの方が早い場合、異なる道路セグメントを通過することができる。
【００６２】
いくつかの実装形態では、復路ルートジェネレータ134は、ターゲット目的地と帰り目的地との間の複数の候補の復路ルートを決定することができる。各候補の復路ルートは、1つまたは複数のルートセグメントを含むことができる。候補の復路ルートのルートセグメントごとに、ルートセグメントの推定運転時間は、予想される交通状況(たとえば、復路開始時刻に関連して決定される現在の交通状況および/または過去の交通状況)に基づいて計算することができる。復路開始時刻は、推定往路所要時間と推定目的地時間の合計として決定することができる。推定目的地時間は、ユーザがターゲット目的地において費やすと予測される時間に対応することができる。いくつかの実装形態では、推定目的地時間は、複数のユーザがターゲット目的地において費やす平均時間を示す履歴データに基づいて決定することができる。たとえば、平均的なユーザが特定の日および時間枠の間にStore ABCで20分間買い物をすると、目的地時間は20分と推定することができる。追加的または代替的に、推定目的地時間は、ユーザがターゲット目的地において費やす平均時間を示す履歴データに基づいて決定することができる。推定目的地時間の決定は、ターゲット目的地への推定到着時間を使用してもよい。たとえば、平均的なユーザが特定の曜日および時間枠の間に子供の学校において迎えに10分間費やす場合、推定到着予定時刻がその曜日および時間枠に対応する場合、目的地時間は10分と推定することができる。
【００６３】
より具体的には、復路ルート生成プロセスは、ユーザが推定往路所要時間と推定目的地時間の合計に等しい復路開始時刻にターゲット目的地から出発すると決定することによって開始することができる。復路ルートジェネレータ134は、所与の復路ルートセグメントに関連付けられる時間期間情報から、復路開始時刻に所与の復路ルートセグメントに沿って配置される、または配置されると推定される車両の推定数を決定することができる。車両の推定数およびキャパシティインデックスを使用して、復路ルートジェネレータ134は、所与の復路ルートセグメントに沿ったおおよその移動時間を決定することができる。
【００６４】
復路ルートジェネレータ134は、前の復路ルートセグメントのおおよその移動時間に基づいて、次の復路ルートセグメントに沿ったおおよその移動時間を決定することができる。たとえば、第1の復路ルートセグメントに沿って移動し、第2の復路ルートセグメントに到達するまでに約2分かかると決定された場合に、復路ルートジェネレータ134は、第1の復路ルートセグメントに関連付けられる時間期間情報から、復路開始時刻から2分で第2の復路ルートセグメントに沿って配置される車両の推定数を決定する。車両の推定数およびキャパシティインデックスを使用して、復路ルートジェネレータ134は、第2の復路ルートセグメントに沿ったおよその移動時間を決定することができる。復路ルートジェネレータ134は、帰り目的地に到着するまで、後続のルートセグメントに対してこのプロセスを繰り返すことができる。
【００６５】
復路ルートジェネレータ134が、復路ルートのルートセグメントごとの推定移動時間を決定すると、復路ルートジェネレータ134は、復路ルートセグメントごとの推定移動時間の合計を決定することによって、復路ルート全体の推定復路所要時間を決定することができる。いくつかの実装形態では、復路ルートジェネレータ134は、複数の候補ルートの推定復路所要時間を比較することによって、最速のルートを選択することができる。いくつかの実装形態では、復路ルートジェネレータ134はまた、決定された復路ルートに基づいて進路変更ごとの指示を生成し、そのような指示を表示するためにユーザコンピューティングデバイス110に提供することができる(たとえば、ディスプレイデバイス120を介して)。
【００６６】
本開示の別の態様によれば、旅行時間アナライザ136は、推定往路所要時間と推定復路所要時間とを比較するように構成することができる。いくつかの実装形態では、旅行時間アナライザ136は、推定往路所要時間と推定復路所要時間との比較の結果、1つまたは複数の所定の基準が満たされているといつ決定するかを決定することができる。たとえば、所定の基準のうちの1つは、推定往路所要時間よりも長い推定復路所要時間に対応することができる。別の例では、所定の基準のうちの1つは、推定往路所要時間よりも長い推定復路所要時間と何らかの予め定められた閾値(たとえば、特定の予め定められた時間の増分、または推定往路所要時間の予め定められた割合)との合計に対応することができる。別の例では、所定の基準のうちの1つは、予想される典型的な旅行時間よりも長い推定復路所要時間に対応することができる。
【００６７】
旅行時間アナライザ136によって決定されたように様々な基準が満たされたときに復路通知が生成され、最終的にユーザコンピューティングデバイス110上に表示するために(たとえば、ディスプレイデバイス120を介して)提供されるように、旅行時間アナライザの態様を復路通知ジェネレータ138の態様と結合することができる。たとえば、推定往路所要時間と推定復路所要時間とを比較した結果、1つまたは複数の所定の基準が満たされていると決定された場合に、旅行時間アナライザ136によって評価されたように、復路通知を生成および/または提供することができる(たとえば、サーバコンピューティングデバイス150からユーザコンピューティングデバイスへ110)。
【００６８】
いくつかの実装形態では、復路通知ジェネレータ138によって提供される通知は、ユーザインターフェース上で提供される警告アイコンに対応することができる。いくつかの実装形態では、復路通知ジェネレータ138によって提供される通知は、推定復路所要時間の識別に対応することができる。いくつかの実装形態では、復路通知ジェネレータ138によって提供される通知は、推定往路所要時間と推定復路所要時間との間の時間差に対応することができる。いくつかの実装形態では、復路通知ジェネレータ138によって提供される通知は、復路ルートの予想交通量に関する警告に対応することができる。他の形式の警告および/またはテキストによるアドバイスを、復路通知ジェネレータ138を介して提供することができることが理解されるべきである(たとえば、「復路の交通を避けるために今すぐ出発する」など)。
【００６９】
いくつかの実装形態では、復路通知ジェネレータ138を介して提供される通知は、推定往路所要時間、予測される帰り目的地、推定目的地時間、および/または推定復路所要時間のうちの1つまたは複数が決定される方法のコンテキスト説明に対応することができる。これらのコンテキスト説明はまた、復路ルートに関連付けられる予測された態様の精度を向上させるためにユーザが特定の推定条件を変更することができる、ユーザインターフェース機能と結合することができる。より具体的には、少なくとも1つの旅行パラメータ(たとえば、予測される帰り目的地、推定目的地時間など)を修正する命令を受信するために、ユーザインターフェース機能を提供することができる。
【００７０】
いくつかの実装形態では、復路通知ジェネレータ138を介して提供される通知は、ナビゲーション指示の要求に最初に関連付けられるターゲット目的地とは別のターゲット目的地を含むことができる。たとえば、別のターゲット目的地(たとえば、第2の食料品店)が、推定往路所要時間よりも短い別の推定往路所要時間および別の推定復路所要時間と、第1の食料品店への移動に関連付けられる推定復路所要時間とを有する場合、復路通知は、別のターゲット目的地を選択するための提案を含むことができる。別のターゲット目的地は、別のターゲット目的地の推定往路所要時間および推定復路所要時間を含む情報とともにマップまたは他のユーザインターフェースに表示するために提供することができる。いくつかの実装形態では、別のターゲット目的地は、ユーザの場所履歴(たとえば、ユーザの場所履歴168)に少なくとも部分的に基づいて決定することができる。所与のユーザが実際に以前に訪れた別のターゲット目的地を決定することによって、マッピングアプリケーションは、ユーザごとに所望の別のターゲット目的地を決定する可能性を高めることができる。
【００７１】
サーバコンピューティングデバイス150は、ユーザコンピューティングデバイス110に対して遠隔に位置する単一または複数のコンピューティングデバイスを備えるシステムであり得る。サーバコンピューティングデバイス150は、1つまたは複数のプロセッサ152および少なくとも1つのメモリ154を含むことができる。1つまたは複数のプロセッサ152は、任意の適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であり得、動作可能に接続されている1つのプロセッサまたは複数のプロセッサであり得る。メモリ154は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなどの1つまたは複数の非一時的コンピュータ可読ストレージ媒体を含むことができる。メモリ154は、サーバコンピューティングデバイス150に動作を実行させるためにプロセッサ152によって実行されるデータ156および命令158を記憶することができる。
【００７２】
サーバコンピューティングデバイス150はまた、1つまたは複数のネットワーク(たとえば、ネットワーク180)を介する通信を可能にする通信インターフェース160、ならびにマッピングアプリケーション162およびマッピングデータベース164を含むことができる。サーバコンピューティングデバイス150の通信インターフェース160は、ユーザコンピューティングデバイス110の通信インターフェース118に関して説明したのと同様の機能を含むことができる。サーバコンピューティングデバイスのマッピングアプリケーション162はまた、往路ルートジェネレータ、帰り目的地予測子、復路ルートジェネレータ、旅行時間アナライザ、および復路通知ジェネレータを含む、ユーザコンピューティングデバイス110に関して示されたマッピングアプリケーション128と同じ機能を含むことができる。
【００７３】
いくつかの実装形態では、往路ルートジェネレータ、帰り目的地予測子、復路ルートジェネレータ、旅行時間アナライザ、および復路通知ジェネレータを含むマッピングアプリケーション128/162の1つまたは複数の機能を、1つまたは複数の機械学習モデルを使用して実装することができる。そのような機械学習モデルは、推論機能の精度を向上させるモデルのフレームワークを提供するグラウンドトゥルースサンプルを含むトレーニングデータの大きなコーパス上でトレーニングすることができる。例示的な機械学習モデルは、1つまたは複数のニューラルネットワーク(たとえば、ディープニューラルネットワーク)、サポートベクトルマシン、決定木、アンサンブルモデル、k最近傍モデル、ベイジアンネットワーク、あるいは線形モデルおよび/または非線形モデルを含む他のタイプのモデルを含むことができるが、これらに限定されない。例示的なニューラルネットワークは、フィードフォワードニューラルネットワーク、畳み込みニューラルネットワーク、リカレントニューラルネットワーク(たとえば、長期短期記憶(LSTM)リカレントニューラルネットワーク、ゲートリカレントユニット(GRU)ニューラルネットワーク)、または他の形式のニューラルネットワークを含むことができる。
【００７４】
マッピングデータベース164は、マッピングアプリケーション162によってアクセスすることができ、開示された技術に従って決定する際に利用することができるデータの様々な部分を含むことができる。たとえば、マッピングデータベースは、交通情報166、ユーザの場所履歴168、および/またはマップ情報170のうちの1つまたは複数を含むことができる。
【００７５】
交通情報166は、現在の交通状況および/または過去の交通状況を決定する際に使用するための情報を含むことができる。交通情報は、マップ内の異なる道路セグメントに関連して定義することができる。各ルートセグメントは、1つまたは複数の地理的な場所に関連付けることができる。場所間の所与のルートは、複数のルートセグメントを備えることができる。ルートセグメントは、交差点間の道路のストレッチ、道路名の変更、特定の決定されたルートの方向転換命令、または任意の他の有用な方法に基づくことができる。たとえば、場所Aと場所Cとの間のルートが場所Bにおいて方向転換する必要がある場合、ルートはセグメントA-BとセグメントB-Cの2つのルートセグメントで構成される。
【００７６】
交通情報166はまた、道路セグメントごとの車両キャパシティインデックスデータを含むことができる。たとえば、各ルートセグメントは、他のルートセグメントに対するルートセグメントのキャパシティを表すキャパシティインデックスに関連付けることができる。キャパシティインデックスは、特定のルートセグメントに沿った交通の速度が、任意の所与の時間におけるルートセグメント上の車の量に応じて、他のルートセグメントと比較してどのように変化するかを示すことができる。たとえば、2車線の高速道路では、1車線の高速道路のキャパシティインデックスの約2倍になる場合がある。これは、2車線の高速道路に1台の車両を追加すると、たとえば、1車線の高速道路に1台の車両を追加する場合の約半分の速度に交通速度を落とすことによって、影響を与えることを示すことができる。別の例では、交通信号が移動中の交通においてより効率的であると仮定すると、一時停止標識のある幹線道路は、交通信号のある幹線道路よりも低いキャパシティインデックスを有することができる。したがって、キャパシティインデックスはルートセグメントの属性であり、道路上の車の数とは無関係である。
【００７７】
上述の例は、各道路に割り当てられた線形キャパシティインデックスを示す簡略化された例である。しかしながら、実際の実装形態では、キャパシティインデックスは、交通量を相対速度に変換するために高度な計算を必要とする可能性が高いことが理解されよう。別の例では、たとえば、車線の数などのルートセグメントの属性が変更された場合、または交通信号のタイミングが変更された場合、キャパシティインデックスは経時的に変化することができる。
【００７８】
特定のルートセグメントのキャパシティインデックスは、特定のルートセグメントの経時的な観察に基づいて決定することができる。たとえば、追加の人々がルートセグメント上で交通に参加しようとするときの交通速度への影響を観察することと、交通速度を道路で運転している観測されたユーザ数と相関するルートセグメントごとにモデルを構築することとによって、キャパシティインデックスを決定することができる。そのような観測を通じて、追加の車両が交通の流れに出入りするたびに特定のルートセグメントの交通速度への影響を予測するために、キャパシティインデックスを使用することができる。
【００７９】
交通情報166はまた、各ルートセグメントに関連付けられる車両量データを含むことができる。たとえば、車両量データは、指定された時間期間内に特定のルートセグメント上にあると予想される車両の数の現在の推定値を含む、表、データベース、または他のデータ配置を含むことができる。時間期間は、たとえば1分後または5分後などの時間間隔として定義することができる。時間期間データは、サーバコンピューティングデバイス150が情報を送受信するときに継続的に更新することができる。将来のある時点で車両が道路セグメントを移動するのに必要な時間を推定するために、表、キャパシティインデックス、および車両量データを使用することができる。交通情報は、建設データ、道路閉鎖を識別するデータ、天気データ、あるいは1つまたは複数の道路セグメントの交通に影響を与える可能性のある他の要因をさらに考慮することができる。
【００８０】
ユーザによって許可されている場合、ユーザの場所履歴168は、場所データ(たとえば、地理的位置コンポーネントから)およびユーザコンピューティングデバイス110によって記録された対応するタイムスタンプに基づいて、ユーザがいた特定の場所および/またはユーザが移動したルートの履歴を含むことができる。ユーザの場所履歴168は、指定されたターゲット目的地へのナビゲーション指示の要求に関連付けられる、予測される帰り目的地の決定に役立ち得る1つまたは複数の一般的な旅パターンを決定するために役立ち得る。
【００８１】
マップ情報170は、開示された技術の態様に従って、1つまたは複数のマップ、ルート、進路変更ごとの指示などを表示するために、ユーザコンピューティングデバイスによって使用されるマップデータを含むことができる。たとえば、マップ情報170はマップタイルを含むことができ、各タイルは特定の地理的領域のマップ画像を備える。ある単一のタイルは、州などの地域全体を比較的に概略的にカバーすることができ、別のタイルは少数の道路のみを詳細にカバーすることができる。その点で、単一の地理的ポイントを複数のタイルに関連付けることができ、ズームの所望のレベルに基づいて送信用にタイルを選択することができる。マップ情報170は、任意の特定の形式に限定されない。たとえば、画像は道路マップ、衛星画像、またはこれらの組合せを備えることができ、ベクトル(特に、道路マップに関して)またはビットマップ(特に、衛星画像に関して)として記憶することができる。マップ情報170内に含まれるマップタイルは、サーバコンピューティングデバイス150および/またはユーザコンピューティングデバイス110が1つまたは複数の地理的な場所の受信に応じて1つまたは複数のタイルを選択、取得、送信、または表示できるように、様々な地理的な場所に関連付けることができる。
【００８２】
マッピングアプリケーション128/162およびマップ情報170は、緯度/経度の位置、住所、通りの交差点、マップの端に対するx-y座標(ユーザがマップをクリックしたときのピクセル位置など)、建物およびランドマークの名前、ならびに地理的な場所を識別できる他の参照システム内の他の情報(たとえば、調査マップ上のロットおよびブロック番号)などの、多くの異なる形式の所情報を処理することができる。マッピングアプリケーション128/162は、場所をある参照システムから別の参照システムにさらに変換することができる。たとえば、ユーザコンピューティングデバイス110は、ある参照システムに従って識別された場所(たとえば、「1600アンフィシアターパークウェイ、マウンテンビュー、カリフォルニア州」などの住所)を別の参照システムに従って識別された場所(たとえば、37.423021度、122.083939度などの緯度/経度座標)に変換するために、ジオコーダを使用またはアクセスすることができる。その点に関して、住所などの1つの参照システムにおいて表現された場所の交換または処理はまた、他の参照システムにおいても受信または処理できることが理解されよう。
【００８３】
次に図2を参照すると、マッピングアプリケーション(たとえば、図1のマッピングアプリケーション128/162)に関連付けられる例示的なユーザインターフェース200が示されている。図2の例では、ユーザインターフェース200は、ユーザが最初の場所202(たとえば、あなたの現在の場所)および/またはターゲット目的地204(たとえば、スティーブンリースーパーマーケット)を指定できる対話型テキスト入力部分を含む。ユーザインターフェース200は、最初の場所からターゲット目的地までの往路ルート206と、ターゲット目的地から帰り目的地までの復路ルート208(この例では、最初の場所に対応する)を示すように構成することができる。ユーザインターフェース200は、推定往路所要時間210と、往路ルート206に関連付けられる推定往路距離212とを含むことができる。ユーザインターフェースはまた、1つまたは複数の復路通知、たとえば、推定復路所要時間214、および/または推定往路所要時間210と推定復路所要時間214との間の遅延に対応する推定時間差216を含むことができる。図2のユーザインターフェース200は、例としてのみ提供されていることが理解されるべきである。代替のユーザインターフェースは、必ずしもマップを含まなくてもよく、および/または図2に示されたものではない追加または代替の復路通知を含んでもよい。
【００８４】
次に図3を参照すると、本開示の例示的な実施形態による復路通知を提供するための通信概略図300が示されている。通信概略図300は、復路マッピング通信を実施するために、ユーザコンピューティングデバイス110とサーバコンピューティングデバイス150との間で生じ得る異なるシグナリングを含む。たとえば、ユーザコンピューティングデバイス110からサーバコンピューティングデバイス150に通信される信号302は、ターゲット目的地へのナビゲーション指示の要求を含むことができる。信号302は、最初の場所がユーザコンピューティングデバイス110の現在の場所と異なる場合、少なくともターゲット目的地と、任意で最初の場所とを含むことができる。
【００８５】
サーバコンピューティングデバイス150からユーザコンピューティングデバイス110に通信される信号304は、最初の場所からターゲット目的地までの決定された往路ルートを含むことができる。信号304は、往路ルートに関連付けられる推定往路所要時間を含むことができる。信号304はまた、往路ルートに関連付けられるマップおよび/または進路変更ごとの指示を含むことができる。
【００８６】
サーバコンピューティングデバイス150からユーザコンピューティングデバイス110に通信される信号306は、ターゲット目的地から帰り目的地までの決定された復路ルートを含むことができる。信号306は、復路ルートに関連付けられる推定復路所要時間を含むことができる。信号306はまた、復路ルートに関連付けられるマップおよび/または進路変更ごとの指示を含むことができる。
【００８７】
サーバコンピューティングデバイス150からユーザコンピューティングデバイス110に通信される信号308は、本明細書に記載されるような1つまたは複数の復路通知を含むことができる。図5には信号304、306、および308が別個の信号として示されているが、往路、復路、および復路通知を含む関連データは、サーバコンピューティングデバイス150からユーザコンピューティングデバイス110への単一の送信において通信できることが理解されるべきである。
【００８８】
いくつかの実装形態では、信号308を介して通信された1つまたは複数の復路通知は、推定往路所要時間、予測される帰り目的地、推定目的地時間、および/または推定復路所要時間のうちの1つまたは複数が決定される方法のコンテキスト説明を含むことができる。これらのコンテキスト説明はまた、復路ルートに関連付けられる予測された態様の精度を向上させるためにユーザが特定の推定条件を変更することができる、ユーザインターフェース機能と結合することができる。より具体的には、少なくとも1つの旅行パラメータ(たとえば、予測される帰り目的地、推定目的地時間など)を修正する命令を受信するために、ユーザインターフェース機能を提供することができる。次いで、これらの命令は、信号312を介して、ユーザコンピューティングデバイス110からサーバコンピューティングデバイス150に戻して提供することができる。それに応じて、調整された復路通知(および、任意で、調整された往路ルートおよび/または復路ルート)は、サーバコンピューティングデバイス150からユーザコンピューティングデバイス110への信号314を介して提供することができる。
【００８９】
図4は、本開示の例示的な実施形態による第1の例示的な方法400のフローチャートを示している。
【００９０】
402において、1つまたは複数のコンピューティングデバイス(たとえば、1つまたは複数のユーザコンピューティングデバイスおよび/あるいは1つまたは複数のサーバコンピューティングデバイス)は、ターゲット目的地へのナビゲーション指示の要求を取得することができる。いくつかの実装形態では、ターゲット目的地は、ユーザ入力として受信された命令によって(たとえば、ユーザコンピューティングデバイスへ)提供される。
【００９１】
404において、1つまたは複数のコンピューティングデバイスは、最初の場所からターゲット目的地までの往路ルートを決定することができ、往路ルートは推定往路所要時間を含む。いくつかの実装形態では、404における推定往路所要時間を決定するステップは、現在の交通状況または過去の交通状況のうちの1つまたは複数に少なくとも部分的に基づく。
【００９２】
406において、1つまたは複数のコンピューティングデバイスは、予測された帰り目的地を決定することができる。いくつかの実装形態では、406において帰り目的地を決定するステップは、402においてナビゲーション指示の要求が受信されるユーザコンピューティングデバイスから受信される入力に基づいて決定することができる。いくつかの実装形態では、406において帰り目的地を決定するステップは、402においてナビゲーション指示の要求が受信されるユーザコンピューティングデバイスに関連付けられる現在の場所に基づくことができる。いくつかの実装形態では、406において帰り目的地を決定するステップは、ナビゲーション指示の要求が受信されるユーザコンピューティングデバイスに関連付けられる以前に訪れた場所の履歴に基づくことができる。
【００９３】
408において、1つまたは複数のコンピューティングデバイスは、ユーザがターゲット目的地において費やす推定時間を示す推定目的地時間を決定することができる。いくつかの実装形態では、408において決定された推定目的地時間は、複数のユーザがターゲット目的地において費やす平均時間に基づくことができる。いくつかの実装形態では、408において決定された推定目的地時間は、ユーザがターゲット目的地において費やす平均時間に基づくことができる。推定復路所要時間を決定するための復路開始時間を決定するのに役立つために、408において決定された推定目的地時間ならびに404において決定された推定往路所要時間を一緒に使用することができる。
【００９４】
より具体的には、410において、1つまたは複数のコンピューティングデバイスは、ターゲット目的地から帰り目的地までの復路ルートを決定することができ、復路ルートは推定復路所要時間を含む。いくつかの実装形態では、410における推定復路所要時間を決定するステップは、現在の交通状況または過去の交通状況のうちの1つまたは複数に少なくとも部分的に基づく。
【００９５】
412において、1つまたは複数のコンピューティングデバイスは、推定往路所要時間と推定復路所要時間とを比較することができる。414において、1つまたは複数のコンピューティングデバイスは、412において推定往路所要時間と推定復路所要時間とを比較して、1つまたは複数の所定の基準が満たされていることを識別すると、復路ルートに関する通知を生成することができる。いくつかの実装形態では、414において生成された通知は、推定復路所要時間の識別を含むことができる。いくつかの実装形態では、414において生成された通知は、推定往路所要時間と推定復路所要時間との間の時間差を含むことができる。いくつかの実装形態では、414において生成された通知は、復路ルート上で予想される交通に関する警告を含むことができる。いくつかの実装形態では、414において生成された通知は、推定往路所要時間、推定目的地時間、または推定復路所要時間のうちの1つまたは複数が決定される方法のコンテキスト説明を含むことができる。いくつかの実装形態では、414において生成された通知は、別のターゲット目的地を含むことができる。そのような場合、方法400はまた、404において決定された推定往路所要時間、および410において決定された推定復路所要時間よりも短い推定代替往路所要時間および推定代替復路所要時間を有する別のターゲット目的地を決定するステップを含むことができる。
【００９６】
416において、1つまたは複数のコンピューティングデバイスは、表示するために、414において生成された1つまたは複数の復路通知を提供することができる。たとえば、ユーザコンピューティングデバイスに関連付けられるディスプレイデバイス上に表示するために、1つまたは複数の復路通知を提供することができる。
【００９７】
418において、1つまたは複数のコンピューティングデバイスは、表示するために、往路ルートおよび復路ルートを表し、任意で往路ルートおよび復路ルートの進路変更ごとの指示を含むマップを提供することができる。いくつかの実装形態では、416において表示するために提供される復路通知は、418において表示するために提供されるマップおよび/または指示の一部であり得る。
【００９８】
図5は、本開示の例示的な実施形態による第2の例示的な方法500のフローチャートである。いくつかの実装形態では、方法500は、図1のユーザコンピューティングデバイス110などのユーザコンピューティングデバイスの1つまたは複数のプロセッサによって実装される。
【００９９】
502において、ユーザコンピューティングデバイスは、ターゲット目的地へのナビゲーション指示の要求を受信することができる。いくつかの実装形態では、502において受信したナビゲーション指示の要求は、ユーザ入力デバイス(たとえば、タッチスクリーン、キーボードなど)を介して命令として提供することができる。
【０１００】
504において、ユーザコンピューティングデバイスは、最初の場所からターゲット目的地まで移動するための推定往路所要時間と、ターゲット目的地から帰り目的地まで移動するための推定復路所要時間の決定を開始することができる。いくつかの実装形態では、ユーザコンピューティングデバイスがそのようなルートの決定を開始するが、実際の決定はサーバコンピューティングデバイスによって実装され、その1つまたは複数の態様をユーザコンピューティングデバイスに返すことができる。いくつかの実装形態では、推定往路所要時間と推定復路所要時間は、現在の交通状況または過去の交通状況のうちの1つまたは複数から少なくとも部分的に決定することができる。
【０１０１】
506において、推定往路所要時間と推定復路所要時間とを比較した結果、1つまたは複数の所定の基準が満たされていると決定された場合に、ユーザコンピューティングデバイスは、復路所要時間に関する通知を受信することができる。
【０１０２】
508において、ユーザコンピューティングデバイスは、ユーザコンピューティングデバイスに関連付けられるディスプレイデバイス上に表示するために、506において受信された通知を提供することができる。510において、往路ルートおよび/または復路ルートを示すマップも表示するために提供することができる。いくつかの実装形態では、508において表示するために提供される復路所要時間に関する通知は、510において表示するために提供されるマップの一部であり得る。
【０１０３】
本明細書で説明する技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびにそのようなシステムとの間で行われるアクションおよび送信される情報を参照する。コンピュータベースのシステムの固有の柔軟性により、コンポーネント間でのタスクと機能の非常に多様な可能な構成、組合せ、および分割が可能になる。たとえば、本明細書で説明するプロセスは、単一のデバイスまたはコンポーネント、または組み合わせて作動する複数のデバイスまたはコンポーネントを使用して実装することができる。データベースとアプリケーションは、単一のシステムに実装することも、複数のシステムに分散することもできる。分散コンポーネントは、順次または並行して動作することができる。
【０１０４】
本主題が、その様々な特定の例示的な実施形態に関して詳細に説明されてきたが、各例は、本開示の限定ではなく説明として提供される。当業者は、上記の理解を達成すると、そのような実施形態の変更、変形、および等価物を容易に生成することができる。したがって、主題の開示は、当業者に容易に明らかであるように、本主題へのそのような修正、変形、および/または追加の包含を排除しない。たとえば、さらなる実施形態を生み出すために、一実施形態の一部として例示または説明される特徴を別の実施形態とともに使用することができる。したがって、本開示は、そのような変更、変形、および同等物をカバーすることが意図されている。
【０１０５】
具体的には、図3〜図5は、例示および説明の目的で特定の順序で実行されるステップをそれぞれ示しているが、本開示の方法は、特定の例示された順序または配置に限定されない。方法/構成300、400、および500の様々なステップは、本開示の範囲から逸脱することなしに、様々な方法で省略、再配置、組合せ、および/または適合させることができる。
【符号の説明】
【０１０６】
100  システム
110  ユーザコンピューティングデバイス
112  プロセッサ
114  メモリ
118  通信インターフェース
120  ディスプレイデバイス
122  ユーザ入力デバイス
124  地理的位置コンポーネント
126  加速度計
128  マッピングアプリケーション
130  往路ルートジェネレータ
132  帰り目的地予測子
134  復路ルートジェネレータ
136  旅行時間アナライザ
138  復路通知ジェネレータ
150  サーバコンピューティングデバイス
152  プロセッサ
154  メモリ
156  データ
158  命令
160  通信インターフェース
162  マッピングアプリケーション
164  マッピングデータベース
166  交通情報
168  ユーザの場所履歴
170  マップ情報
180  ネットワーク
200  ユーザインターフェース
202  最初の場所
204  ターゲット目的地
206  往路ルート
208  復路ルート
210  推定往路所要時間
212  推定往路距離
214  推定復路所要時間
216  推定時間差
300  通信概略図
302  信号
304  信号
306  信号
308  信号
312  信号
314  信号
400  方法
500  方法
【図１】
0006784854.tif 000002
【図２】
0006784854.tif 000003
【図３】
0006784854.tif 000004
【図４】
0006784854.tif 000005
【図５】
0006784854.tif 000006