(57)【要約】【課題】ユーザがなじみのない地域や道路を旅行している場合でも目的を推定可能とする。【解決手段】本方法は、位置データを取得するステップと、前記位置データに基づいて、ユーザに関連付いた現在の経路を決定するステップと、一つまたは複数のクラウドソース人気要因を決定するステップと、前記一つまたは複数のクラウドソース人気要因に基づいて前記現在の経路に沿った一つまたは複数の推定目的地を推定するステップと、前記一つまたは複数の推定目的地をユーザに提供するステップと、を含む【選択図】図３
2015081919.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実行される方法であって、
位置データを取得するステップと、
前記位置データに基づいて、ユーザに関連付いた現在の経路を決定するステップと、
一つまたは複数のクラウドソース人気要因を決定するステップと、
前記一つまたは複数の人気要因に基づいて前記現在の経路に沿った一つまたは複数の推定目的地を推定するステップと、
前記一つまたは複数の推定目的地をユーザに提供するステップと、
を含む、方法。
【請求項２】
請求項１に記載の方法であって、
前記一つまたは複数のクラウドソース人気要因を決定するステップは、
潜在的目的地のセットを表すデータを取得するステップと、
各潜在的目的地について全体人気度を決定するステップと、
各潜在的目的地について可変人気度を決定するステップと、
各潜在的目的地について目的地飽和レベルを決定するステップと、
前記ユーザに関連付いたスケジュールデータに基づいてスケジュール人気度を決定するステップと、
を含む、方法。
【請求項３】
請求項２に記載の方法であって、
前記潜在的目的地のセットに含まれるある特定の潜在的目的地の全体人気度は、前記セット内の他の潜在的目的地と比較した、前記特定の潜在的目的地への総訪問数に少なくとも部分的に基づいて決定される、
方法。
【請求項４】
請求項２または３に記載の方法であって、
前記可変人気度は、時刻、曜日、天気条件、日付、イベントスケジュールの一つまたは複数に少なくとも部分的に基づいて決定される、
方法。
【請求項５】
請求項２〜４のいずれか１項に記載の方法であって、
ある特定の潜在的目的地の前記目的地飽和レベルは、当該特定の潜在的目的地が収容可能な全体人数と当該特定の潜在的目的地にいる実際の人数との比較に少なくとも部分的に基づいて決定される、
方法。
【請求項６】
請求項２〜５のいずれか１項に記載の方法であって、
前記一つまたは複数のクラウドソース人気要因に基づいて一つまたは複数の推定目的地を推定するステップは、
前記全体人気度、前記可変人気度、前記目的地飽和レベル、および前記スケジュール人気度の一つまたは複数に少なくとも部分的に基づいて、それぞれの潜在的目的地について人気スコアを決定するステップと、
前記潜在的目的地のセットの人気スコアに基づいて、前記潜在的目的地のセットから一つまたは複数の推定目的地を決定するステップと、
を含む、方法。
【請求項７】
請求項１〜６のいずれか１項に記載の方法であって、
前記一つまたは複数の推定目的地を決定するステップは、一つまたは複数の人気目的地
を一つまたは複数の目的地地域にクラスタリングするステップを含む、
方法。
【請求項８】
請求項７に記載の方法であって、
前記ユーザが前記一つまたは複数の目的地地域のうちの第１の目的地地域に向かって旅行しているか決定するステップと、
前記一つまたは複数のクラウドソース人気要因に基づいて、第１の目的地地域内の一つまたは複数の詳細目的地を推定するステップと、
前記一つまたは複数の詳細目的をユーザに提供するステップと、
を更に含む、方法。
【請求項９】
請求項１〜８のいずれか１項に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１０】
プロセッサと、請求項９に記載のプログラムを格納したメモリとを備える、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、旅行目的地の推定に関する。特に、本明細書は、一つまたは複数のクラウドソース人気要因に基づく旅行目的地の推定に関する。
【背景技術】
【０００２】
ユーザが旅行を始めるときに、既存の技術はユーザの旅行目的地を推定することができる。たとえば、既存の技術は、機械学習技術を用いて、ユーザが頻繁に行うトリップに基づいて、ユーザの旅行目的地を推定することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、ユーザがなじみのない地域や経路を旅行している場合には、既存の技術ではユーザの旅行目的地の推定に失敗することがある。
【０００４】
本発明は上記課題を考慮してなされたものであり、ユーザがなじみのない地域や道路を旅行している場合でも目的地を推定可能とする目的地推定技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一態様は、
コンピュータによって実行される方法であって、
位置データを取得するステップと、
前記位置データに基づいて、ユーザに関連付いた現在の経路を決定するステップと、
一つまたは複数のクラウドソース人気要因を決定するステップと、
前記一つまたは複数のクラウドソース人気要因に基づいて前記現在の経路に沿った一つまたは複数の推定目的地を推定するステップと、
前記一つまたは複数の推定目的地をユーザに提供するステップと、
を含む。
【０００６】
本発明の一態様は、上記の方法の各ステップをコンピュータに実行させるためのコンピュータプログラムである。
【０００７】
本発明の一態様は、プロセッサと上記記載のプログラムを格納したメモリとを備える、コンピュータシステムである。
【発明の効果】
【０００８】
本開示は、いくつかの点で特に有利である。たとえば、ユーザがなじみのない経路や地域を旅行する場合であっても、本技術は旅行目的地を推定することができ、また、本技術は、ユーザの現在位置および／または一つまたは複数のクラウドソーシングによって近くの目的地に関連づけられた人気度に基づいて、ユーザの旅行目的地をインタラクティブに推定することができる。前述の利点が例証として提供されることを理解すべきである、そして、本開示はその他の多数の利点と利益を有する。
【図面の簡単な説明】
【０００９】
以下の説明および添付の図面は本発明を説明するための例示であり、本発明を限定するものではない。図面においては、同様の要素には同一の参照符号を付してある。
【００１０】
【図１】図１は、クラウドソース人気要因に基づいて旅行目的地を推定するためのシステムの例を示すブロック図である。
【図２】図２は、例示的なナビゲーションアプリケーションを有するコンピュータの例を示すブロック図である。
【図３】図３は、クラウドソース人気要因に基づいて旅行目的地を推定する例示的な方法のフローチャートである。
【図４Ａ】図４Ａは、クラウドソース人気要因に基づいて旅行目的地を推定する例示的な方法のフローチャートである。
【図４Ｂ】図４Ｂは、クラウドソース人気要因に基づいて旅行目的地を推定する例示的な方法のフローチャートである。
【図４Ｃ】図４Ｃは、クラウドソース人気要因に基づいて旅行目的地を推定する例示的な方法のフローチャートである。
【図４Ｄ】図４Ｄは、クラウドソース人気要因に基づいて旅行目的地を推定する例示的な方法のフローチャートである。
【図５Ａ】図５Ａは、クラウドソース人気要因に基づいて目的地地域を推定する例示的な方法のフローチャートである。
【図５Ｂ】図５Ｂは、クラウドソース人気要因に基づいて目的地地域を推定する例示的な方法のフローチャートである。
【図６Ａ】図６Ａは、クラウドソース人気要因に基づいて詳細目的地を推定する例示的な方法のフローチャートである。
【図６Ｂ】図６Ｂは、クラウドソース人気要因に基づいて詳細目的地を推定する例示的な方法のフローチャートである。
【図７】図７は、一つまたは複数のクラウドソース人気要因を決定する例示的な方法のフローチャートである。
【図８Ａ】図８Ａは、潜在的目的地の人気スコアを決定する例示的な方法のフローチャートである。
【図８Ｂ】図８Ｂは、潜在的目的地の人気スコアを決定する例示的な方法のフローチャートである。
【図８Ｃ】図８Ｃは、潜在的目的地の人気スコアを決定する例示的な方法のフローチャートである。
【図９】図９は、旅行目的地を推定するための例示的なプロセスを示す図式表示である。
【発明を実施するための形態】
【００１１】
＜システム概要＞
図１は、ある実施形態にかかるクラウドソースの人気要因（ｃｒｏｗｄ−ｓｏｕｒｃｅｄ  ｐｏｐｕｌａｒｉｔｙ  ｆａｃｔｏｒ。以下「クラウドソース人気要因」と称する）に基づいて旅行目的地を推定するため例示的なシステム１００のブロック図を示す。図示のシステム１００は、サーバ１０１、モバイルコンピュータシステム１３５、クライアント装置１１５、電子メールサーバ１２４、地図サーバ１２２、スケジュールサーバ１２０、サードパーティサーバ１２８とソーシャルネットワークサーバ１３０を含む。システム１００の各構成要素は、ネットワーク１０５を介して通信可能に結合される。
【００１２】
ネットワーク１０５は、有線ネットワークであっても無線ネットワークであっても良く、また、スター型、トークンリング型や当業者に知られているその他の構成を取ることができる。さらにまた、ネットワーク１０５は、一つまたは複数のローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（例えば、インターネット）、公衆ネットワーク、プライベートネットワーク、仮想ネットワーク、および／または、複数の装置が通信可能に相互接続されたデータパスを含んでもよい。ある実施形態では、ネットワーク１０５は、ピアツーピアネットワークであってもよい。ネットワーク１０５は、
複数の異なる通信プロトコルでデータ送信するための通信ネットワークと接続されたり、このような通信ネットワークを含んだりしても良い。ある実施形態では、ネットワーク１０５は、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信ネットワークや携帯電話通信ネットワークを含み、ＳＭＳ（ショートメッセージサービス）、ＭＭＳ（マルチメディアメッセージサービス）、ＨＴＴＰ（ハイパーテキスト転送プロトコル）、直接データ接続、ＷＡＰ、電子メールなどのデータを送受信する。図１では、サーバ１０１、モバイルコンピュータシステム１３５、クライアント装置１１５、電子メールサーバ１２４、地図サーバ１２２、スケジュールサーバ１２０、サードパーティサーバ１２８、およびソーシャルネットワークサーバ１３０に結合されるネットワークとして、１つのネットワーク１０５のみを示しているが、実際には、一つまたは複数のネットワーク１０５がこれらの要素に接続することができる。
【００１３】
ある実施形態では、ナビゲーションアプリケーション１０９ａは、サーバ１０１上で実行可能であり、サーバ１０１は、信号線１０４を介してネットワーク１０５に結合される。サーバ１０１は、プロセッサ、メモリ、ネットワーク通信機能を含むハードウェアサーバーである。ある実施形態では、サーバ１０１は、電子メールサーバ１２４、ソーシャルネットワークサーバ１３０、スケジュールサーバ１２０、クライアント装置１１５、地図サーバ１２２、およびモバイルコンピュータシステム１３５の少なくとも一つ以上と、データを送受信することができる。図１では、一つのサーバ１０１のみを例示するが、システム１００は一つまたは複数のサーバ１０１を含むことができる。
【００１４】
ある実施形態では、ナビゲーションアプリケーション１０９ｂは、クライアント装置１１５上で実行可能であり、クライアント装置１１５は、信号線１０８を介してネットワーク１０５に接続される。ある実施形態では、クライアント装置１１５は、サーバ１０１、ソーシャルネットワークサーバ１３０、スケジュールサーバ１２０、地図サーバ１２２、電子メールサーバ１２４、およびモバイルコンピュータシステム１３５の少なくとも一つ以上と、データを送受信することができる。クライアント装置１１５は、メモリとプロセッサを含むコンピュータであり、例えば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話、個人情報端末（ＰＤＡ）、移動電子メール装置、情報処理やネットワーク１５５へのアクセスが可能なその他の電子機器などである。ある実施形態では、ユーザ１２５はクライアント装置１１５と対話することができる。図１には、１台のクライアント装置１１５のみが示されているが、システム１００は一つまたは複数のクライアント装置１１５を含むことができる。
【００１５】
ある実施例では、ナビゲーションアプリケーション１０９ｂは、部分的にはクライアント装置１１５上に格納されるシンクライアントアプリケーションとして機能してもよく、また、部分的にはサーバ１０１およびモバイルコンピュータシステム１３５の一つ以上に格納される構成要素として機能してもよい。たとえば、サーバ１０１は、ユーザ向けに推定された旅行目的地を格納し、推定された旅行目的地を表示するユーザインタフェースを提供するためのグラフィカルデータを生成することができる。ナビゲーションアプリケーション１０９ｂは、クライアント装置１１５に結合された表示装置（不図示）にユーザインタフェースを提供するための指示を、ナビゲーションアプリケーション１０９ｂに含まれたりクライアント装置１１５にインストールされたりするブラウザ（不図示）に対して送ることができる。
【００１６】
ある実施形態では、ナビゲーションアプリケーション１０９ｃは、モバイルコンピュータシステム１３５上で実行可能であり、モバイルコンピュータシステム１３５は、信号線１３４を介してネットワーク１０５に接続される。ある実施形態では、モバイルコンピュータシステム１３５は、サーバ１０１、ソーシャルネットワークサーバ１３０、スケジュールサーバ１２０、地図サーバ１２２、電子メールサーバ１２４、およびクライアント装
置１１５の少なくとも一つ以上と、データを送受信することができる。モバイルコンピュータシステム１３５は、メモリとプロセッサを含む任意のコンピュータであってよい。ある実施形態において、モバイルコンピュータシステム１３５は、非一時的なコンピュータ電子機器（例えば、プロセッサや、メモリや、非一時的なコンピュータ電子機器の任意の組合せ）を有する、車両、自動車、バス、生体埋込型装置（ｂｉｏｎｉｃ  ｉｍｐｌａｎｔ）や、その他のモバイルシステムであってよい。ある実施形態において、モバイルコンピュータシステム１３５は、ネットワーク１０５にアクセス可能な、ラップトップコンピュータ、タブレットコンピュータ、携帯電話や、その他のモバイル機器を含む。ユーザ１２５は、モバイルコンピュータシステム１３５と対話することができる。ある実施例では、ユーザ１２５は、車両を運転するドライバーであったり、座席に座っている乗客であったりする。図１には、１台のモバイルコンピュータシステム１３５のみが示されているが、システム１００は一つまたは複数のモバイルコンピュータシステム１３５を含むことができる。
【００１７】
ナビゲーションアプリケーション１０９は、推定された旅行目的地をユーザに提供するための論理回路を含むことができる。ある実施形態では、ナビゲーションアプリケーション１０９は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、コンピュータ装置のプロセッサで実行可能ソフトウェア、ハードウェアとソフトウェアの組合せなどを含むハードウェアを用いて実装できる。ある実施形態では、ナビゲーションアプリケーション１０９は、クライアント装置とサーバの両方に格納され配布されてもよいし、クライアント装置とサーバのいずれかのみに格納され配布されてもよい。ナビゲーションアプリケーション１０９については、図２−図８Ｃを参照して、以下で更に詳細に説明する。
【００１８】
一つまたは複数のセンサ１４０ａ〜１４０ｎは、モバイルコンピュータシステム１３５に結合される。たとえば、センサ１４０ａは、信号線１４１を介してモバイルコンピュータシステム１３５に通信可能に結合される。センサ１４０ｎは、信号線１４３を介してモバイルコンピュータシステム１３５と通信可能に結合される。センサ１４０は、一つ以上の物理的および／または動的なパラメータを測定することができる装置である。たとえば、センサ１４０は、現在の燃費、車両におけるエンジンのオン／オフ、パーキングブレーキ、速度、時刻、位置（例えば、位置の緯度・経度・高度）、車両に関するシステム安全パラメータ（例えば、エアバッグシステム、アンチロックブレーキングシステムなど）、車両から他の物体（例えば、沿道の構造物、交通信号機など）までの距離、車両から近くの車両までの距離、車両の加速度、旅行の方向、燃料残量レベル、バッテリー充電レベル、温度、湿気、車両に関連するその他の物理的パラメータ、の少なくとも一つまたは複数を測定することができる。ある実施形態では、センサ１４０は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）センサ、カメラ、ＯＢＤ（Ｏｎ−Ｂｏａｒｄ  Ｄｉａｇｎｏｓｔｉｃｓ）システム、エンジン制御装置（ＥＣＵ、ＰＣＭなど）や、他のタイプの任意のセンサのうちの１台でありえる。ある実施形態では、センサ１４０は、車両のようなモバイルコンピュータシステム１３５に取り付けられるセンサでありえる。
【００１９】
ソーシャルネットワークサーバ１３０は、プロセッサ、メモリ、ネットワーク通信機能を含むハードウェアや仮想サーバである。ソーシャルネットワークサーバ１３０は、信号線１３１を介してネットワーク１０５に結合されている。ある実施形態では、ソーシャルネットワークサーバ１３０は、クライアント装置１１５、サーバ１０１、モバイルコンピュータシステム１３５、スケジュールサーバ１２０、地図サーバ１２２、および電子メールサーバ１２４の少なくとも一つ以上と、データを送受信することができる。ソーシャルネットワークサーバ１３０は、ソーシャルネットワークアプリケーション１３２を含む。ソーシャルネットワークは、ユーザ同士が共通の特徴によってつながることができる一種
の社会構造でありうる。共通の特徴は、例えば、友人、家族、仕事、関心などの関係や繋がりである。ある実施例では、共通の特徴は、明示的に定義される関係と、他のオンラインユーザとの社会的繋がりによって暗示される関係とを含む。ある実施例では、ソーシャルネットワーク内のユーザの関係は、ソーシャルネットワーク内でのユーザのマッピングやソーシャルネットワーク内で各ユーザがどのように関係しているかを示す、ソーシャルグラフやその他のデータの集合を用いて表すこともできる。
【００２０】
図１は、ソーシャルネットワークサーバ１３０とソーシャルネットワークアプリケーション１３２によって提供されるソーシャルネットワークを１つのみ含むが、システム１００は、他のソーシャルネットワークサーバや他のソーシャルネットワークアプリケーションによって提供される複数のソーシャルネットワークを含んでもよい。
【００２１】
スケジュールサーバ１２０は、プロセッサ、メモリ、ネットワーク通信機能を含むハードウェアや仮想サーバでる。ある実施形態では、スケジュールサーバ１２０は、ユーザのカレンダースケジュールや連絡先などを表すスケジュールデータを管理および同期することができる。たとえば、スケジュールサーバ１２０は、ウェブベースのカレンダーサービス（例えば、Ｇｏｏｇｌｅ  Ｃａｌｅｎｄａｒ（登録商標））を提供することができる。ある実施形態では、スケジュールサーバ１２０は、サーバ１０１、クライアント装置１１５、モバイルコンピュータシステム１３５の一つ以上から、ユーザのカレンダースケジュールを求める要求を表すデータを受信することができる。スケジュールサーバ１２０は、ユーザからの許可を受けて、スケジュールサーバ１２０と関連した記憶装置（不図示）からユーザのカレンダースケジュールを表すデータを取得することができる。スケジュールサーバ１２０は、ネットワーク１０５を介して、サーバ１０１、クライアント装置１１５、モバイルコンピュータシステム１３５の一つ以上に、ユーザのカレンダースケジュールを送ることができる。ある実施形態では、スケジュールサーバ１２０は、信号線１２１を介してネットワーク１０５に通信可能に結合される。図１は、１台のスケジュールサーバ１２０のみを含むが、システム１００は一つまたは複数のスケジュールサーバ１２０を含むことができる。さらに、図１ではスケジュールサーバ１２０および電子メールサーバ１２４を単一のエンティティとして示しているが、別の実施形態では、これらのエンティティの種々の構造、動作および／または機能は、同一の計算装置および／またはシステムに結合および／または統合することができる。たとえば、スケジュールサーバ１２０および電子メールサーバ１２４は、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｈａｎｇｅ  Ｓｅｒｖｅｒとすることができる。
【００２２】
地図サーバ１２２は、プロセッサ、メモリ、ネットワーク通信機能を含むハードウェアや仮想サーバである。ある実施形態では、地図サーバ１２２は、サーバ１０１、ソーシャルネットワークサーバ１３０、クライアント装置１１５、モバイルコンピュータシステム１３５の少なくとも一つ以上と、データを送受信することができる。たとえば、地図サーバ１２２は、地図を表すデータをナビゲーションアプリケーション１０９に送信できる。地図データは、場合によっては、ナビゲーションアプリケーション１０９にプッシュ通知されても良いし、要求に応じてナビゲーションアプリケーション１０９に提供されてもよい。地図データは、ナビゲーションアプリケーション１０９によって地図が生成される領域に基づいて地図サーバ１２２から逐次提供されても良いし、全体がまとめて提供されても良い。地図サーバ１２２は、信号線１２３を介してネットワーク１０５と通信可能に結合されている。図１では、１台の地図サーバ１２２のみが示されているが、システム１００は一つまたは複数の地図サーバ１２２を含むことができる。
【００２３】
電子メールサーバ１２４は、プロセッサ、メモリ、ネットワーク通信機能を含むハードウェアや仮想サーバである。ある実施形態では、電子メールサーバ１２４は、サーバ１０１、クライアント装置１１５、モバイルコンピュータシステム１３５の少なくとも一つ以
上と、データを送受信することができる。たとえば、電子メールサーバ１２４は、ユーザからの許可を受けて、ユーザの電子メールの内容をナビゲーションアプリケーション１０９に送ることができ、ナビゲーションアプリケーション１０９は電子メールの内容に基づいてユーザのスケジュールを決定することができる。たとえば、電子メールサーバ１２４は、ウェブメールサーバ、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｈａｎｇｅ（登録商標）サーバなど含むことができる。ある場合には、電子メールサーバ１２４は、標準のプロトコルやプロプライエタリなプロトコルを用いて電子メールデータを提供することができる。たとえば、電子メールサーバ１２４は、ＰＯＰ３、ＩＭＡＰ、ＷｅｂＤａｖ、ＭＡＰＩなどを介して電子メールデータを提供することができる。電子メールサーバ１２４は、信号線１２７を介してネットワーク１０５と通信可能に結合されている。図１では、１台の電子メールサーバ１２４のみが示されているが、システム１００は一つまたは複数の電子メールサーバ１２４を含むことができる。
【００２４】
サードパーティサーバ１２８は、プロセッサ、メモリ、ネットワーク通信機能を含むハードウェアや仮想サーバである。サードパーティサーバ１２８は、信号線１２９を介してネットワーク１０５と通信可能に結合されている。ある実施形態では、サードパーティサーバ１２８は、サーバ１０１、クライアント装置１１５、モバイルコンピュータシステム１３５の少なくとも一つ以上と、データを送受信することができる。たとえば、サードパーティサーバ１２８は、種々の場所に関連付けられた天気情報や交通情報を収集することができる。ナビゲーションアプリケーション１０９から情報を求める要求を受信すると、サードパーティサーバ１２８は、ユーザの場所に関連付けられた天気情報や交通情報を、ナビゲーションアプリケーション１０９に提供することができる。サードパーティサーバ１２８がその他の情報をナビゲーションアプリケーション１０９に提供可能であることを理解すべきである。
【００２５】
＜ナビゲーションアプリケーションの例＞
図２を参照して、例示的なナビゲーションアプリケーション１０９を有している例示的なコンピュータ２００について、更に詳細に説明する。図２は、ある実施形態にかかる、ナビゲーションアプリケーション１０９、プロセッサ２３５、メモリ２３７、通信ユニット２４１、入出力装置２４３、記憶装置２４５、センサ１４０を含むコンピュータ２００のブロック図である。コンピュータ２００の各構成要素は、バス２２０を介して通信可能に結合される。バス２２０は、コンピュータの構成要素間およびコンピュータ間でデータを転送するための任意の種類の従来の通信バスである。実施形態では、コンピュータ２００は、サーバ１０１、クライアント装置１１５、またはモバイルコンピュータシステム１３５でありうる。
【００２６】
プロセッサ２３５は、算術論理回路、マイクロプロセッサ、汎用制御装置や、計算を実行し電子表示信号をディスプレイ装置へ提供するその他のプロセッサアレイなどを含みうる。プロセッサ２３５は、データ信号を処理することができ、複合命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、またはこれらの命令セットの組合せを実装するアーキテクチャを含む種々の計算アーキテクチャを含みうる。図２には１つのプロセッサ２３５だけが示されるが、複数のプロセッサ２３５が含まれてもよい。上記以外のプロセッサ、オペレーティングシステム、センサ、表示装置、あるいは物理的構成も採用可能である。
【００２７】
メモリ２３７は、プロセッサ２３５によって実行可能な命令やデータを格納する一つまたは複数の非一時的なコンピュータ可読媒体を含むことができる。格納される命令やデータは、ここに表される技術を実行するためのコードを含む。ある実施形態では、メモリ２３７は、ナビゲーションアプリケーション１０９を格納することができる。メモリ２３７は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）装置、スタティックＲＡＭ（ＳＲ
ＡＭ）装置、組込メモリ、フラッシュメモリ、その他のメモリ装置を含むことができる。ある実施形態においては、メモリ２３７は、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置や情報記憶の分野において既知のその他の大容量記憶装置などの、非一時的（ｎｏｎ−ｖｏｌａｔｉｌｅ）メモリや永久記憶装置を含んでも良い。
【００２８】
通信ユニット２４１は、ナビゲーションアプリケーション１０９が格納されている場所（装置）に応じて、サーバ１０１、モバイルコンピュータシステム１３５、クライアント装置１１５の一つまたは複数との間でデータの送受信を行う。通信ユニット２４１は、ネットワークに（有線あるいは無線により）結合され、ネットワーク１０５を構成する他のエンティティと通信を行う。ある実施形態では、通信ユニット２４１は、ネットワーク１０５や他の通信チャネルと直接に物理的接続するための一つまたは複数のポートを含むことができる。たとえば、通信ユニット２４１は、クライアント装置１１５との有線通信のためのＵＳＢ、ＳＤ、ＣＡＴ−５または類似のポートを含むことができる。ある実施形態では、通信ユニット２４１は、ＩＥＥＥ  ８０２．１１、ＩＥＥＥ  ８０２．１６、ＢＬＵＥＴＯＯＴＨ（登録商標）、ＤＳＲＣ（Ｄｅｄｉｃａｔｅｄ  Ｓｈｏｒｔ−Ｒａｎｇｅ
Ｃｏｍｍｕｎｉｃａｔｉｏｎ）または他の適切な無線通信方式を含む一つまたは複数の無線通信方式を用いて、クライアント装置１１５や他の通信チャネルとデータを交換するための無線送受信部を含むことができる。
【００２９】
ある実施形態では、通信ユニット２４１は、携帯電話ネットワークを介して、ショートメッセージサービス（ＳＭＳ）、マルチメディアメッセージサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接的データ接続、ＷＡＰ、電子メールやその他の適切な種類の電子的通信を含むデータを送信するための携帯無線送受信機を含む。ある実施形態では、通信ユニット２４１は、有線ポートと無線送受信部を含む。通信ユニット２４１はまた、ファイルやメディアオブジェクトをＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ、ＳＭＴＰなどを含む標準ネットワークプロトコルを用いて配布するために、ネットワーク１０５に対するその他の従来の接続を提供する。
【００３０】
記憶装置２４５は、本明細書で記載される機能を提供するためのデータを格納する非一時的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）な記憶装置である。ある実施形態では、記憶装置２４５は、データを格納したりデータへのアクセスを提供したりするデータベース管理システム（ＤＢＭＳ）を含むことができる。記憶装置２４５は、ソリッドステートメモリ（たとえば、フラッシュメモリ、ＲＡＭなど）、ハードディスクドライブ、テープシステム、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、および情報を格納するためのその他の大容量記憶装置を含んでもよい。
【００３１】
ある実施形態では、記憶装置２４５は、ソーシャルネットワークデータ、位置データ、ユーザのスケジュールを表すデータ、ユーザの嗜好を表すデータ、クラウドソース人気要因、人気スコア、一つまたは複数の人気のある目的地（人気目的地）、一つまたは複数の詳細目的地、一つまたは複数の目的地までの旅行提案、の一つまたは複数を格納できる。記憶装置２４５に格納されるデータについては、以下で更に詳細に説明する。ある実施形態では、記憶装置２４５は、本明細書で説明される構造、作用、機能を提供するためのその他のデータを格納することもできる。
【００３２】
ある実施形態では、ナビゲーションアプリケーション１０９は、通信モジュール２０２、位置モジュール２０４、機械学習モジュール２０６、人気度決定モジュール２０８、推定モジュール２１０、提案モジュール２１２、ユーザインタフェースモジュール２１４を
含む。ナビゲーションアプリケーション１０９のこれらの構成要素は、バス２２０を介して通信可能に結合される。
【００３３】
通信モジュール２０２は、ナビゲーションアプリケーション１０９とコンピュータ２００の他の構成要素との間で通信を処理するためのソフトウェアや論理回路である。ある実施形態では、通信モジュール２０２は、プロセッサ２３５で実行可能な命令の組合せであり、ナビゲーションアプリケーション１０９とコンピュータ２００の他の要素との間の通信を処理するために、下記の構造、作用、機能を提供する。ある実施形態では、通信モジュール２０２は、コンピュータ２００のメモリ２３７に格納され、プロセッサ２３５によってアクセスおよび実行可能である。通信モジュール２０２は、プロセッサ２３５やコンピュータ２００の他の構成要素との協調および通信に適合される。
【００３４】
通信モジュール２０２は、ナビゲーションアプリケーション１０９の格納場所に応じて、クライアント装置１１５、ソーシャルネットワークサーバ１３０、サーバ１０１、スケジュールサーバ１２０、地図サーバ１２２、電子メールサーバ１２４、モバイルコンピュータシステム１３５の少なくとも一つ以上と、通信ユニット２４１を介して、データを送受信することができる。たとえば、通信モジュール２０２は、通信ユニット２４１を介して、スケジュールサーバ１２０からスケジュールデータを受信し、人気度決定モジュール２０８にスケジュールデータを送ることができる。別の例では、通信モジュール２０２は、ユーザに対してユーザインタフェースを提供するためのグラフィックデータをユーザインタフェースモジュール２１４から受信し、このグラフィックデータをクライアント装置１１５やコンピュータシステム１３５に送って、クライアント装置１１５やコンピュータシステム１３５にユーザに対するユーザインタフェースを表示させる。
【００３５】
ある実施形態では、通信モジュール２０２は、ナビゲーションアプリケーション１０９の他の構成要素からデータを受信して、データを記憶装置２４５に格納する。たとえば、通信モジュール２０２は、ユーザインタフェースモジュール２１４からグラフィックデータを受信して、このグラフィックデータを記憶装置２４５に格納する。ある実施形態では、通信モジュール２０２は、データを記憶装置２４５から取得して、取得したデータをナビゲーションアプリケーション１０９の他の構成要素に送る。たとえば、通信モジュール２０２は、記憶装置２４５から潜在的目的地の人気スコアを表すデータを取得して、取得したデータを推定モジュール２１０に送る。
【００３６】
位置モジュール２０４は、ユーザと関連した現在の経路を決定するためのソフトウェアや論理回路である。ある実施形態では、位置モジュール２０４は、プロセッサ２３５によって実行可能な命令の組合せであって、ユーザに関連した現在の経路を決定するための以下で述べる構造、作用、機能を提供するものである。ある実施形態では、位置モジュール２０４は、コンピュータ２００のメモリ２３７に格納され、プロセッサ２３５によってアクセスおよび実行可能である。位置モジュール２０４は、プロセッサ２３５やコンピュータ２００の他の構成要素との協調および通信に適合される。
【００３７】
位置モジュール２０４は、一つまたは複数のセンサ１４０や記憶装置２４５から位置データを受信し、この位置データに基づいてユーザに関連した現在位置を決定することができる。たとえば、位置モジュール２０４は、ＧＰＳセンサやＧＰＳアプリケーションからＧＰＳデータを受信し、このＧＰＳデータに基づいてユーザのコンピュータの位置を決定することができる。別の例では、位置データは、コンピュータに関連したＩＰアドレス、コンピュータと携帯ネットワークの間で送信されるシグナル情報や、その他の位置に関連したデータを含み、位置モジュール２０４は、この位置データを用いておおよその地理的位置（ｇｅｏｌｏｃａｔｉｏｎ）を決定することができる。たとえば、位置モジュール２０４は、ＩＰアドレスを、インターネットサービスプロバイダのデータベースやインター
ネットレジストリなどのその他の情報ソースと相互参照して、地理的位置を決定してもよいし、位置モジュール２０４は、地理的位置を決定するためにマルチラテレーション（ｍｕｌｔｉｌａｔｅｒａｔｉｏｎ）や三角測量などを用いてもよい。
【００３８】
位置モジュール２０４は、位置データに基づいて、ユーザに関連する現在の旅行方向を決定することもできる。たとえば、位置モジュール２０４は、位置データ（例えば、ＧＰＳデータ、シグナル情報など）に基づいて、ユーザが北方向に旅行していると決定することができる。別の例では、位置モジュール２０４は、ユーザが道路の交差点で右折したと決定することができる。
【００３９】
位置モジュール２０４は、ユーザの現在位置、ユーザの現在の旅行方向、センサ１４０やコンピュータ２００や記憶装置２４５から受信したその他の位置情報などに基づいて、ユーザに関連した現在の経路を決定することができる。たとえば、ユーザの現在位置が高速道路上であり、現在の旅行方向が北に向かっている場合には、位置モジュール２０４は、ユーザの現在の経路が、２つの所定の出口の間の高速道路を北に向かって旅行しているものと決定することができる。ある実施形態では、現在の経路は、ユーザの現在位置、現在の旅行方向、旅行始点からユーザの現在位置までのルートを含むことができる。
【００４０】
ある実施形態では、位置モジュール２０４は、センサ１４０やコンピュータ２００や記憶装置２４５などから受信した位置データに基づいて、ユーザがある目的地地域あるいは目的地地域内のより詳細化された（ｒｅｆｉｎｅｄ）目的地（以下、詳細目的地とも称する）に向かって旅行していると決定することができる。たとえば、位置モジュール２０４は、ＧＰＳ装置から受信したＧＰＳデータやコンピュータ２００上の携帯送受信機から受信したシグナル情報などに基づいて、ユーザがある特定の目的地地域あるいは特定の目的地地域内のより詳細化された目的地に向かって旅行していると決定することができる。目的地地域および詳細目的地については、以下で更に詳細に説明する。
【００４１】
ある実施形態では、位置モジュール２０４は、機械学習モジュール２０６、人気度決定モジュール２０８、推定モジュール２１０、提案モジュール２１２、ユーザインタフェースモジュール２１４などにユーザの現在の経路を表わすデータを送ることができる。別の実施形態では、位置モジュール２０４は、ユーザの現在の経路を表すデータを、記憶装置２４５に格納できる。
【００４２】
機械学習モジュール２０６は、機械学習技術を用いてユーザの目的地を推定するためのソフトウェアや論理回路である。ある実施形態では、機械学習モジュール２０６は、プロセッサ２３５で実行可能な命令の組合せであり、機械学習技術を用いてユーザの目的地を推定するための下記の構造や作用や機能を提供する。ある実施形態では、機械学習モジュール２０６は、コンピュータ２００のメモリ２３７に格納され、プロセッサ２３５によってアクセスおよび実行可能である。機械学習モジュール２０６は、プロセッサ２３５やコンピュータ２００の他の構成要素との協調および通信に適合される。
【００４３】
機械学習モジュール２０６は、通信モジュール２０２や通信ユニット２４１を介して、モバイルコンピュータシステム１３５やクライアント装置１１５から、ユーザの旅行履歴を表わすデータを取得することができる。ユーザと関連した旅行履歴は、以前にユーザによって行われた過去の旅行、過去の旅行の頻度（例えば、ユーザが特定の旅行を毎日・毎週・毎月行うなど）、旅行始点、旅行終点、旅行開始時刻、旅行終了時刻、旅行継続期間（ｄｕｒａｔｉｏｎ）、旅行経路、旅行中の他の乗客など、の一つまたは複数を表すデータを含むことができる。更なる実施形態では、ユーザと関連した旅行履歴は、ユーザの旅行と関連した他のデータを含むことができる。
【００４４】
機械学習モジュール２０６は、ユーザの旅行履歴に基づく機械学習技術を用いて、ユーザの旅行目的地を推定することができる。例えば、機械学習モジュール２０６は、旅行の開始時に、過去の旅行の頻度、時刻、曜日、ユーザの現在位置などに基づいてユーザの旅行目的地を推定するために、機械学習技術を適用することができる。機械学習技術の例として、ニューラルネットワーク、ベイズネットワーク、決定木学習などが挙げられるが、これらに限定されない。
【００４５】
人気度決定モジュール２０８は、潜在的目的地の一つまたは複数の人気要因や人気スコアを決定するためのソフトウェアや論理回路である。ある実施形態では、人気度決定モジュール２０８は、プロセッサ２３５で実行可能な命令の組合せであり、潜在的目的地の一つまたは複数の人気要因や人気スコアを決定するための下記の構造や作用や機能を提供する。ある実施形態では、人気度決定モジュール２０８は、コンピュータ２００のメモリ２３７に格納され、プロセッサ２３５によってアクセスおよび実行可能である。人気度決定モジュール２０８は、プロセッサ２３５やコンピュータ２００の他の構成要素との協調および通信に適合される。
【００４６】
人気度決定モジュール２０８は、位置モジュール２０４や記憶装置２４５からユーザの現在の経路を表わすデータを受信することができる。人気度決定モジュール２０８は、現在の経路に基づく一組の潜在的目的地（潜在的目的地のセット、とも称する）を決定することができる。たとえば、人気度決定モジュール２０８は、ユーザの現在の経路に沿って一組の潜在的目的地を決定することができる。人気度決定モジュール２０８は、以下で更に詳細に説明するように、潜在的目的地ごとに、一つまたは複数のクラウドソース人気要因を決定することができる。
【００４７】
クラウドソース人気要因は、目的地の人気を決定するために用いられるデータである。目的地のクラウドソース人気要因の例は、当該目的地を訪れた人の数、アプリケーションを用いて当該目的地にチェックインした人の数、当該目的地におけるイベントカレンダー、目的地に現在いる人の数（例えば、位置データやスケジュールデータやメッセージデータなどに基づいて把握できる）、当該目的地の容量（例えば、当該目的地が収容可能な人の数）、時刻、曜日、休日かどうか、天気などであるが、これらには限られない。上記以外の人気要因も採用可能である。
【００４８】
ある実施形態では、人気度決定モジュール２０８は、その他の目的地（例えば、所定の近さにある目的地や、一般的な目的地など）への訪問数と比較した潜在的目的地への訪問数に基づいて、当該潜在的目的地の全体人気度（ｏｖｅｒａｌｌ  ｐｏｐｕｌａｒｉｔｙ）を決定することができる。全体人気度は、異なるユーザ間での潜在的目的地の人気の概要を表すといえる。人気度決定モジュール２０８は、一つまたは複数の一時的な変数（例えば、時刻、曜日、日付、休日であるか否かなど）およびその他の変数（例えば、天気、目的地でイベントがあるか否かなど）の関数として、潜在的目的地の可変人気度（ｖａｒｉａｂｌｅ  ｐｏｐｕｌａｒｉｔｙ）を決定することもできる。
【００４９】
ある実装例では、サーバ１０１は、携帯電話事業者、ネットワーク事業者、解析サービス、ナビゲーションアプリケーション１０９のインスタンス、クライアント装置１１５、モバイルコンピュータ装置などから、地理的位置データ（ｇｅｏｌｏｃａｔｉｏｎ  ｄａｔａ）を連続的あるいは繰り返し収集する。収集された地理的位置データは、人気度決定モジュール２０８やシステム１００のその他の構成要素によって、ある目的地に現在訪問者が何人いるかを表すリアルタイムデータを含む、種々の場所について時間ごとの訪問者の傾向を決定する。ある場合には、人気度の決定は、レビュー、旅行、ソーシャルネットワーキングや、ネットワークに結合されたコンピュータ装置（例えば、ソーシャルネットワークサーバ１３０、サードパーティサーバ１２８など）によってホストされるサービス
から収集される、種々の目的地についてのレーティング、意見などを表すデータに少なくとも部分的に基づくことができる。代表なサービスには、ＴｒｉｐＡｄｖｉｓｏｒ、Ｆｒｏｍｍｅｒｓ、Ｙｅｌｐ、Ｇｏｏｇｌｅ＋、Ｅｘｐｅｄｉａ、ＦａｃｅＢｏｏｋ、Ｔｗｉｔｔｅｒなどが含まれるが、これに限られるわけではない。人気度決定モジュール２０８は、このデータを用いて、どの場所が流行っているかや、どの場所の人気が下がっているかを決定したり、全体人気スコア（ｏｖｅｒａｌｌ  ｓｃｏｒｅ）を生成したりできる。
【００５０】
人気度決定モジュール２０８は、潜在的目的地の目的地飽和レベルを決定することができる。飽和レベルは、ある時点において目的地が有する残余収容量を定量化するものである。ある実装例では、飽和レベルは、（１）時刻、および／または、（２）潜在的目的地に現在いる実際の人数と比較した潜在的目的地の容量（例えば、目的地が収容可能な全体人数）、の関数として人気度決定モジュール２０８によって決定されることができる。たとえば、スタジアムでのスポーツイベント開始の３０分前であると仮定する。そのスタジアムに現在いる人数がスタジアムの最大収容人数にほぼ達している場合は、人気度決定モジュール２０８は、スタジアムの目的地飽和レベルはほぼ最大であり、そのスタジアムに旅行するその他のユーザはあまり多くないと決定する。そのスタジアムに現在いる人数がスタジアムの容量の４０％にしか達していなければ、人気度決定モジュール２０８は、スタジアムの目的地飽和レベルは低く、その他の多数のユーザがスタジアムに旅行するかもしれないと決定する。
【００５１】
人気度決定モジュール２０８は、ユーザの明示的および／または黙示的なスケジュールデータに基づいて、潜在的目的地のスケジュール人気度を決定することができる。例えば、現在の時刻が午後６時３０分であり、ユーザのスケジュールデータによると、ユーザは午後７時から午後９時にかけて自宅で夕食の約束があると仮定する。人気度決定モジュール２０８は、ユーザの現在の経路に沿った潜在的目的地のスケジュール人気度を、「自宅」目的地よりも低く生成することができる。しかしながら、もしユーザのスケジュールデータから、ユーザが午後６時３０分以降に予定がないことが分かるなら、人気度決定モジュール２０８は、ユーザの現在の経路に沿ったレストランのスケジュール人気度を、ユーザの現在の経路に沿ったその他の目的地よりも高く生成する。
【００５２】
ある実施形態では、人気度決定モジュール２０８は、一つまたは複数のクラウドソース人気要因に基づいて、潜在的目的地の人気スコアを決定することができる。たとえば、人気度決定モジュール２０８は、（１）潜在的目的地の全体人気度（ｏｖｅｒａｌｌ  ｐｏｐｕｌａｒｉｔｙ）、（２）潜在的目的地の可変人気度（ｖａｒｉａｂｌｅ  ｐｏｐｕｌａｒｉｔｙ）、（３）潜在的目的地の目的地飽和レベル（ｄｅｓｔｉｎａｔｉｏｎ  ｓａｔｕｒａｔｉｏｎ  ｌｅｖｅｌ）、（４）潜在的目的地のスケジュール人気度（ｓｃｈｅｄｕｌｅ  ｐｏｐｕｌａｒｉｔｙ）、の少なくともいずれかに基づいて、潜在的目的地の人気スコアを決定することができる。更なる例では、全体人気度、可変人気度、スケジュール人気度などが他よりも高い潜在的目的地の人気スコアを高く決定する。別の例では、潜在的目的地の目的地飽和レベルから、この目的地に現在いる人数が目的地の収容可能人数にほぼ達していることが分かるならば、人気度決定モジュール２０８は、この潜在的目的地の人気スコアを高く決定する。しかしながら、以下で説明するように、推定モジュール２１０は、この潜在的目的地を人気目的地の推定結果としては選択しない。なぜならば、これ以上はあまり多くのユーザはその目的地に旅行しないからである。
【００５３】
さらに別の例では、人気度決定モジュール２０８は、潜在的目的地の人気スコアを、位置データ、スケジュールデータ、人度気関連データ（例えば、クラウドから提供されるデータ）、天気データ、交通データ、およびその他の利用可能なデータを用いて、（１）目的地の場所に訪れたことのある人数、（２）目的地の場所にチェックインしたことのある人数、（３）目的地の場所におけるイベントの予定、（４）目的地の場所に現在いる人数
、（５）時刻、（６）曜日、（７）休日か否か、（８）天気条件、（９）交通情報、（１０）ユーザの明示的なスケジュールデータ（例えば、ユーザのカレンダー上のイベント）、（１１）ユーザの黙示的なスケジュールデータ（例えば、飛行機・電車・バス・船などのチケットの電子メール確認書）、（１２）ユーザのソーシャルネットワークデータ（例えば、投稿、承認、コメント、シェアなど）、（１３）ユーザの嗜好、などの少なくとも一つに基づいて決定する。
【００５４】
たとえば、人気度決定モジュール２０８は、朝のラッシュアワーにはオフィス複合施設の人気スコアを他の目的地よりも高く生成するが、人気度決定モジュール２０８は、ラッシュアワーの後では、オフィス複合施設の人気スコアを他の目的地よりも低く生成する。別の例では、人気度決定モジュール２０８は、昼食時や夕食時にはユーザの現在の経路に沿ったレストランの人気スコアを、ユーザの現在の経路に沿った他の目的地よりも高くするが、人気度決定モジュール２０８は、食事に適した時刻ではない場合には、レストランの人気スコアを他の目的地よりも低く生成する。
【００５５】
ある実施形態では、ユーザの現在の経路のそれぞれの交差点において、人気度決定モジュール２０８は、各潜在的目的地について到達確率を推定し、クラウドから提供される一つまたは複数の潜在的目的地の人気要因にしたがって到達確率を重み付けする。交差点から潜在的目的地への到達確率は、ユーザが当該交差点から当該潜在的目的地まで旅行する確率を表す。たとえば、人気度決定モジュール２０８は、時刻、曜日、天気条件、潜在的目的地に移動する人の数、潜在的目的地におけるイベントの予定、潜在的目的地の目的地飽和レベル（例えば、潜在的目的地の収容可能人数に対する潜在的目的地の現在いる人の数の比）などに基づいて、潜在的目的地への到達確率を推定および重み付けする。潜在的目的地と関連した到達確率は、潜在的目的地と関連した人気を定量化している人気スコアに含めてもよい。
【００５６】
ある実施形態では、人気度決定モジュール２０８は、一つまたは複数の潜在的目的地の一つまたは複数の人気スコアを表すデータを、推定モジュール２１０に送る。別のある実施形態では、人気度決定モジュール２０８は、一つまたは複数の人気スコアを表すデータを、記憶装置２４５に格納する。
【００５７】
推定モジュール２１０は、ユーザのために一つまたは複数の目的地を推定するためのソフトウェアや論理回路でありえる。以下では、推定される目的地を推定目的地と称する。ある実施形態では、推定モジュール２１０は、プロセッサ２３５で実行可能な一組の命令であり、ユーザのために一つまたは複数の推定目的地を決定するための下記の構造や作用や機能を提供する。ある実施形態では、推定モジュール２１０は、コンピュータ２００のメモリ２３７に格納され、プロセッサ２３５によってアクセスおよび実行可能である。推定モジュール２１０は、プロセッサ２３５やコンピュータ２００の他の構成要素との協調および通信に適合される。
【００５８】
目的地の推定は、ユーザが受け取ることに興味を持っているであろう旅行目的地の推定でありえる。推定目的地は、目的地地域、特定の目的地地域の中の詳細化された目的地地域（詳細目的地地域）や、特定の人気目的地を含むことができる。他の変形例も可能であることは明らかであろう。ユーザは、種々の理由、例えば、その人気度（例えば、悪評、好評、公衆の関心、好ましさ、面白さ、ユニークさ、価値など）、その利用可能性、利便性、ユーザの嗜好と合致するかどうか、また、これらの組合せなどによって、目的地に興味を持つ。
【００５９】
推定モジュール２１０は、人気度決定モジュール２０８や記憶装置２４５から、潜在的目的地のセットと関連した、人気スコア、飽和レベル、ユーザの嗜好などを表すデータを
受信することができる。人気スコア、飽和レベルやユーザの嗜好に基づいて、推定モジュール２１０は、潜在的目的地のセットのうちユーザの現在の経路に沿った目的地のいずれが、ユーザにとって、人気があり興味深いかを推定することができる。たとえば、推定モジュール２１０は、予め定められた閾値より大きな人気スコアを有する人気目的地を決定することができる。
【００６０】
ある実施形態では、推定モジュール２１０は、目的地の人気スコアに少なくとも部分的に基づいて、ユーザの目的地を推定することができる。たとえば、近くの目的地でイベントが開催中あるいは近々開催される場合に、ユーザの友人の全てあるいは多くがこのイベントに参加すると話していることを、人気スコアに（例えば、ユーザのソーシャルデータに基づいて）反映させることができる。人気スコア（例えばクラウドソース人気要因の一つ以上）に基づいて、推定モジュール２１０は、この目的地を推定目的地として含ませることができる。
【００６１】
ある実施形態では、推定モジュール２１０は、目的地の人気スコアとユーザの嗜好に少なくとも部分的に基づいて、ユーザの目的地を決定することができる。たとえば、近くの場所で人気のあるコンサートが開催されているならば、人気度決定モジュール２０８は、他の目的地と比較してこの近くの場所の人気スコアを高く生成することができる。しかし、ユーザのプロファイルがユーザはこのコンサートに興味がないことを指示したり、ユーザが明示的にそのことを（たとえば、ナビゲーションアプリケーション１０９によって提供されるプロンプトを用いて）指示しているならば、推定モジュール２１０は、この近くの場所をユーザの目的地として決定しない。別の例では、たとえ近くのレストランの人気スコアが他のレストランより低かったとしても、ユーザのプロフィールによってユーザがこのレストランによって提供される料理の種類が好きであったり、過去にこのレストランに頻繁に行っていると（たとえば、記憶装置２４５に格納されるプロフィールデータに基づいて）分かる場合や、ユーザが明示的にこのレストランに関心があることを（たとえば、ナビゲーションアプリケーション１０９によって提供されるプロンプトを用いて）指示している場合は、推定モジュール２１０は、この近くのレストランをユーザの目的地として決定する。
【００６２】
ある実施形態では、推定モジュール２１０は、人気スコアと目的地飽和レベルに少なくとも部分的に基づいて、ユーザの目的地を推定することができる。場合によっては、目的地の人気スコアと飽和レベルが所定の閾値の条件を満たすならば、推定モジュール２１０は、この目的地を推定目的地として選ぶ。たとえば、特定の会場（例えば野球の試合）は、参加人数が多いことを理由として、近くの他の目的地と比較して高い人気スコアを持つことができる。したがって、会場の飽和レベルは、会場が満員であったりほぼ満員であることを反映するかもしれない。推定モジュール２１０は、目的地がほぼ飽和している場合は、この潜在的目的地を推定目的地から除外することができる。あるいは、推定モジュール２１０は、人気スコアや飽和レベルに基づいて、潜在的目的地（たとえば、ナイトクラブ）がユーザの友人の全員またはほぼ全員が集まって入店しようとする場所である場合は、この潜在的目的地を推定目的地に含めることができる。さらなる例では、人気スコアが、長期間にわたる訪問者数に基づいて特定のアトラクションが常に人気があることを反映し、飽和レベルが、その場所が他の日や他の時刻と比較して混雑していない（たとえば、旅行者が多くない）ことを反映するかもしれない。この場合、推定モジュール２１０は、このアトラクションを推定目的地として含めてもよい。本明細書で説明される全ての例や実施形態と同様に、上記の実施形態は例示として提供されたものであり、推定についての数多くのその他の可能性や組み合わせが採用可能かつ考慮可能であることを、理解すべきである。
【００６３】
ある実施形態では、ユーザの現在の経路の各々の交差点で、推定モジュール２１０は、
ユーザの現在の経路に沿った潜在的目的地のセットについての到達確率を表わすデータを受信することができる。推定モジュール２１０は、潜在的目的地の到達確率に少なくとも部分的に基づいて、潜在的目的地の中から、人気のある目的地や、興味深い目的地などを決定することができる。たとえば、推定モジュール２１０は、予め定められた閾値を満たしている（例えば、閾値より大きい）到達確率を有する目的地を人気目的地として決定することができる。別の例では、推定モジュール２１０は、すべての目的地のうちで最も高い到達確率を有する目的地を人気目的地として決定することができる。
【００６４】
ある実施形態では、推定モジュール２１０は、一つまたは複数の人気目的地を、ユーザの現在の経路に沿った一つまたは複数の目的地地域（ｄｅｓｔｉｎａｔｉｏｎ  ｒｅｇｉｏｎ）にクラスタリングする。目的地地域は、一つまたは複数の人気目的地を含む地理的地域でありえる。ある実施形態では、同じ目的地地域にクラスタリングされる人気目的地は、距離制約を満たす。たとえば、ある目的地地域の中の任意の２つの人気目的地は、その間の距離があらかじめ定められた距離値よりも小さい距離を有する。別の例では、各々の人気目的地と目的地地域の中心点との間の距離が、予め定められた距離値よりも小さい。上記以外の例示的な距離制約も採用可能である。例示的な目的地地域は、少なくとも図９を参照して例示される。
【００６５】
ある実施形態では、推定モジュール２１０は、位置モジュール２０４や記憶装置２４５から、ユーザがある特定の目的地地域に向かって旅行していることを表すデータを受信することができる。推定モジュール２１０は、人気スコア（例えば、クラウドソース人気要因）に基づいて、目的地地域内の一つまたは複数の詳細目的地を推定することができる。たとえば、推定モジュール２１０は、人気度決定モジュール２０８に対して、（１）目的地地域の中の潜在的目的地のセット、および（２）上記潜在的目的地のセットについての人気スコア、を決定するように指示することができる。人気スコアは、クラウドソース人気要因に少なくとも部分的に基づいて決定可能である。人気スコアを用いて、推定モジュール２１０は、潜在的目的地のセットから、目的地地域内の一つまたは複数の人気目的地を決定することができ、目的地地域内の一つまたは複数の人気目的地から、一つまたは複数の詳細目的地を推定することができる。
【００６６】
ある実施形態では、一つまたは複数の詳細目的地は、特定の人気スコア（例えば、地域内で最高であり、かつ、所定の閾値より大きい）を有する、目的地地域内の一つまたは複数の人気目的地である。
【００６７】
ある実施形態では、一つまたは複数の詳細目的地は、一つまたは複数の詳細目的地地域でありえる。詳細目的地地域は、特定の目的地地域の小区域であり、その中に一つまたは複数の人気目的地を含む小区域とすることもできる。たとえば、推定モジュール２１０は、特定の目的地地域内の人気目的地を一つまたは複数の詳細目的地地域にクラスタリングすることができ、この際、それぞれの詳細目的地地域を、上記特定の目的地地域内の小区域であり、その中に一つまたは複数の人気目的地を含む小区域とすることができる。
【００６８】
ある実施形態では、推定モジュール２１０、ユーザがある経路に沿って進行する（例えば、旅行する）にしたがって、旅行目的地を累進的に（再）推定したり詳細化（ｒｅｆｉｎｅ）したりすることができる。たとえば、推定モジュール２１０は、まず最初に、ユーザの経路に基づいて、一つまたはユーザの複数の目的地地域を推定する。ユーザが経路に沿って進んだり経路を変えると、推定モジュール２１０は、目的地地域とユーザの近さやユーザの旅行方向（例えば、目的地地域に向かって旅行しているのか離れて旅行しているのか）に基づいて、一つまたは複数の旅行目的地地域の粒度（ｇｒａｎｕｌａｒｉｔｙ）を調整する。もしユーザが一つまたは複数の目的地地域に向かって旅行しているならば、推定モジュール２１０は、その目的地地域内にありユーザが興味を持つであろうより具体
的な目的地や小区域を特定することによって、予測・推定を詳細化させることができる。さらなる例では、ユーザの旅行行程の経過に基づいて、推定モジュール２１０は、ユーザの旅行目的地を次のように逐次的に推定することができる。すなわち、（１）ユーザはサンフランシスコに旅行している、（２）ユーザはサンフランシスコのノースビーチに旅行している、（３）ユーザはサンフランシスコ、ノースビーチのワシントンスクエアに旅行している、（４）ユーザはサンフランシスコ、ノースビーチ、ワシントンスクエアの聖ペテロパウロ教会に良好している、というように逐次的な推定をすることができる。もしユーザが予測された一つまたは複数の地域から離れて旅行している場合や、別の目的地が指定された場合には、推定モジュール２１０は、これらの地域などを提案から除外したり、提案された地域や場所を隣接する地域と組み合わせたりすることができる。
【００６９】
ある実施形態において、推定モジュール２１０は、一つまたは複数の推定目的地（例えば、人気がある目的地、目的地地域、詳細目的地地域、または詳細目的地など）を記載するデータを提案モジュール２１２に送ることができる。さらにある実施形態では、推定モジュール２１０は、一つまたは複数の推定目的地を記憶装置２４５に保存することができる。
【００７０】
提案モジュール２１２は、旅行の提案をユーザに提供するためのソフトウェアや論理回路である。ある実施形態では、提案モジュール２１２は、プロセッサ２３５によって実行可能な命令の組合せであって、当該モジュールに関して本明細書で説明される構造や動作や機能等を提供するものである。ある実施形態では、提案モジュール２１２は、コンピュータ２００のメモリ２３７に格納され、プロセッサ２３５によってアクセスおよび実行可能である。提案モジュール２１２は、プロセッサ２３５やコンピュータ２００の他の構成要素との協調および通信に適合される。
【００７１】
ある実施形態では、提案モジュール２１２は、推定モジュール２１０や記憶装置２４５から一つまたは複数の推定目的地を記載するデータを受けとり、一つまたは複数の推定目的地に基づいてユーザへの旅行提案を生成することができる。たとえば、提案モジュール２１２は、人気目的地のいずれかに旅行することをユーザに勧める旅行提案を生成することができる。旅行提案は、ユーザの現在の位置から人気目的地までの運転案内、人気目的地についての関連情報、その人気目的地がなぜユーザに提案されたのかを説明する根拠などを含むことができる。ユーザは、ユーザインタフェースや音声コマンドなどを介して、提案されている人気目的地の中の一つの目的地に旅行するという選択をすることができ、そうすると、ナビゲーションアプリケーション１０９は、その目的地への行き方についてのターンバイターン式の指示や、目的地についての追加的な情報（たとえば、ユーザのレビュー、そこに訪れた友人、写真や動画、仮想的な旅行ガイドなど）を自動的に提供することができる。
【００７２】
ある実施形態では、提案モジュール２１２は、推定モジュール２１０や記憶装置２４５から、一つ以上の推定された目的地地域を表すデータを受け取ることができ、一つまたは複数の推定された目的地地域に基づいてユーザへの旅行提案を生成することができる。旅行提案は、ユーザの現在の位置からそれぞれの目的地地域までの運転案内、目的地地域内の人気目的地、推定された目的地地域がなぜユーザに推奨されたのかを説明する根拠などを含むことができる。ユーザは、ユーザインタフェースや音声コマンドなどを介して、提案されている目的地地域の中の一つの目的地地域に旅行するという選択をすることができ、そうすると、ナビゲーションアプリケーション１０９は、その地域への行き方についてのターンバイターン式の指示や、ユーザが興味を持つかもしれない特定のアトラクションなどのその地域について追加的な情報を自動的に提供することができる。
【００７３】
ある実施形態では、提案モジュール２１２は、推定モジュール２１０や記憶装置２４５
から、一つまたは複数の詳細目的地を表わすデータを受信することができ、一つまたは複数の詳細目的地に基づいてユーザへの旅行提案を生成することができる。旅行提案は、ユーザの現在の位置からそれぞれの詳細目的地までの運転案内、それぞれの詳細目的地についての簡単な紹介、その詳細目的地がなぜユーザに推薦されたのかを説明する根拠などを含むことができる。ユーザは、ユーザインタフェースや音声コマンドなどを介して、提案されている詳細目的地の中の一つの詳細目的地に旅行するという選択をすることができ、すると、ナビゲーションアプリケーション１０９は、その目的地への行き方についてのターンバイターン式の指示や、少なくとも上記で説明した目的地についてのその他の情報を自動的に提供することができる。
【００７４】
ある実施形態では、提案モジュール２１２は、音声や電子メッセージを介してユーザに旅行提案を提供することができる。たとえば、提案モジュール２１２は、クライアント装置１１５またはモバイルコンピュータシステム１３５に、旅行提案を説明する音声メッセージを再生したり電子メッセージを表示するように指示することができる。さらにある実施形態では、提案モジュール２１２は、クライアント装置１１５またはモバイルコンピュータシステム１３５に結合された表示装置上に提示されるユーザインタフェースを介して、ユーザに旅行提案を提供することができる。たとえば、提案モジュール２１２は、ユーザに対してユーザインタフェースを提示するためのグラフィカルデータを生成するようにユーザインタフェースモジュール２１４に指示し、ユーザが選択できるように旅行提案を表示することができる。
【００７５】
ユーザインタフェースモジュール２１４は、ユーザインタフェースをユーザに提供するためにグラフィックデータを生成するためのソフトウェアや論理回路でありえる。ある実施形態では、ユーザインタフェースモジュール２１４は、プロセッサ２３５によって実行可能な命令の組合せであって、当該モジュールに関して本明細書で説明される構造や動作や機能等を提供するものである。ある実施形態では、ユーザインタフェースモジュール２１４は、コンピュータ２００のメモリ２３７に格納され、プロセッサ２３５によってアクセスおよび実行可能である。ユーザインタフェースモジュール２１４は、プロセッサ２３５やコンピュータ２００の他の構成要素との協調および通信に適合される。
【００７６】
ある実施形態では、ユーザインタフェースモジュール２１４は、人気目的地、目的地地域、詳細目的地の一つまたは複数をユーザに提示するためのユーザインタフェースを提供するためのグラフィックデータを生成することができる。ある分散方式の実施形態では、ユーザインタフェースモジュール２１４は、グラフィックデータをクライアント装置１１５やモバイルコンピュータシステム１３５に送信し、クライアント装置１１５やモバイルコンピュータシステム１３５が表示装置上にユーザに対するユーザインタフェースを提示させるようにすることもできる。ある実施形態では、ユーザインタフェースモジュール２１４は、旅行提案をユーザに提供するユーザインタフェースを提供するためのグラフィックデータを生成することができる。さらにある実施形態では、ユーザインタフェースモジュール２１４は、目的地を選択したり、目的地についての追加的な情報を探したり、目的地を評価したり、目的地についてのフィードバックを提供したりすること、などをユーザが行えるようにするユーザインタフェースを提供するためのグラフィックデータを生成することができる。ユーザインタフェースモジュール２１４は、ユーザに対するその他のユーザインタフェースを提供するためのグラフィックデータを生成してもよいことを理解すべきである。
【００７７】
＜方法＞
図３は、クラウドソース人気要因に基づいて旅行目的地を推定する例示的な方法３００のフローチャートである。ある実施形態では、方法３００は、人気目的地をユーザに提案するかどうかを決定する（３０１）。方法３００が人気目的地をユーザに提案すると決定
したならば、方法３００はブロック３０２に進む。そうでなければ、方法３００は、ブロック３０１の処理を繰り返してもよいし、他の処理に進んでもよいし、処理を終了してもよい。
【００７８】
ブロック３０２で、通信モジュール２０２は、センサ１４０や記憶装置２４５から位置データを受信する。位置モジュール２０４は、その位置データに基づいて、ユーザと関連した現在の経路を決定する（３０４）。たとえば、位置モジュール２０４は、ＧＰＳセンサから受信されるＧＰＳデータに基づいて現在の経路を決定することができる。人気度決定モジュール２０８は、一つまたは複数のクラウドソース人気要因を決定する（３０６）。クラウドソース人気要因を決定する例示的な方法３０６は、少なくとも図７を参照して以下で説明される。推定モジュール２１０は、一つまたは複数のクラウドソース人気要因に基づいて、現在の経路に沿った一つまたは複数の推定目的地を決定する（３０８）。一つまたは複数の推定目的地は、一つまたは複数の目的地地域、詳細目的地地域、目的地地域の中の詳細目的地、一つまたは複数の特定の人気ある目的地などでありえる。提案モジュール２１２は一つまたは複数の推定目的地をユーザに提案し（３１０）、方法３００はブロック３０１に戻る。
【００７９】
図４Ａ−図４Ｄは、クラウドソース人気要因に基づいて旅行目的地を推定するさらに例示的な方法４００のフローチャートである。図４Ａを参照すると、方法４００は、旅行が開始されるかどうかを決定する（４０２）。旅行が始まらないならば、方法４００は終了してもよいし繰り返してもよい。旅行が始まるならば、方法はブロック４０４へ進む。ブロック４０４で、方法４００は、旅行のための目的地が入力されているかいなかを決定する。目的地がすでに入力されているならば、方法４００は終了してもよいし繰り返してもよい。そうでなければ、方法４００はブロック４０６に進むことができる。ブロック４０６で、機械学習モジュール２０６は、機械学習技術を用いて旅行の目的地を推定する。方法４００は、ユーザが推定された目的地に向かって旅行しているかどうか決定する（４０８）。ユーザが推定された目的地に向かって旅行しているならば、方法４００はブロック４１０に進む。そうでなければ、方法４００は図４Ｂ中のブロック４１４に進む。ブロック４１０で、方法４００は推定された目的地に向かうユーザの旅行経路を確認する。たとえば、方法４００は推定された目的地に向かうユーザの経路をハイライト表示することができる。方法４００は、旅行が終了するかどうか決定する（４１２）。旅行が終了するならば、方法４００は終了してもよいし繰り返してもよい。そうでなければ、方法４００はブロック４０８に進む。
【００８０】
図４Ｂを参照すると、方法４００は、ユーザがなじみのある経路上を旅行しているかどうかを決定する（４１４）。たとえば、方法４００は、ユーザが以前に通った経路上を移動しているかどうかを決定することができる。別の例では、方法４００はユーザがなじみのある地域を旅行しているかどうかを決定することができる。ユーザがなじみのある経路上を移動しているならば、方法４００はブロック４１６に進む。そうでなければ、方法４００はブロック４１９に進む。ブロック４１６で、方法４００はユーザの旅行経路を確認する。たとえば、方法４００はユーザが旅行しているなじみのある経路をハイライト表示することができる。方法４００は、旅行が終了したかどうか決定する（４１８）。旅行が終了したならば、方法４００は終了してもよいし繰り返してもよい。そうでなければ、方法４００はブロック４０８に進む。
【００８１】
ブロック４１９で、通信モジュール２０２はセンサ１４０や記憶装置２４５から位置データを受信する。位置モジュール２０４は、その位置データに基づいて、ユーザと関連した現在位置および現在の方向を決定する（４２０）。位置モジュール２０４は、現在位置および現在の方向に基づいて、ユーザと関連した現在の経路を決定する（４２１）。推定モジュール２１０は、一つまたは複数のクラウドソース人気要因に基づいて、現在の経路
に沿った一つまたは複数の目的地地域を推定する（４２２）。一つまたは複数の目的地地域を推定する例示的な方法は、少なくとも図５Ａおよび図５Ｂを参照して説明される。提案モジュール２１２は、一つまたは複数の目的地地域に基づいてユーザに旅行推定を提供する（４２４）。方法４００は、ユーザが一つまたは複数の目的地地域の中のいずれかの目的地地域に向かって旅行しているかどうかを決定する（４２６）。ユーザがある目的地地域に向かって旅行しているならば、方法は図４Ｃ中のブロック４３０に進む。そうでなければ、方法４００はブロック４２８に進む。ブロック４２８で、方法４００は旅行が終了したかどうか決定することができる。旅行が終了したならば、方法４００は終了するか繰り返す。そうでなければ、方法４００はブロック４１９に進む。
【００８２】
図４Ｃを参照すると、方法４００は、一つまたは複数の目的地地域の中のある目的地地域に向かうユーザの旅行経路を確認すること（４３０）。通信モジュール２０２は、センサ１４０や記憶装置２４５から位置データを受信する（４３１）。位置モジュール２０４は、位置データに基づいて、ユーザと関連する現在位置および現在の方向を決定する（４３２）。位置モジュール２０４は、現在位置および現在の方向に基づいて、ユーザと関連した現在の経路を決定する（４３３）。推定モジュール２１０は、一つまたは複数のクラウドソース人気要因に基づいて、現在の経路に沿った目的地地域の中の一つまたは複数の詳細目的地を推定する（４３４）。一つまたは複数の詳細目的地を推定する例示的な方法は、少なくとも図６Ａおよび図６Ｂを参照して説明される。提案モジュール２１２は、一つまたは複数の詳細目的地に基づいて、旅行提案をユーザに提供する（４３６）。
【００８３】
図４Ｄを参照すると、方法４００は、詳細目的地のうちの１つに向かってユーザが旅行しているかどうかを決定する（４３８）。詳細目的地のうちの１つに向かってユーザが旅行しているならば、方法４００はブロック４４０に進む。そうでなければ、方法４００は図４Ｂ中のブロック４１９に進む。ブロック４４０で、方法４００は詳細目的地に向かうユーザの旅行経路を確認する。方法４００は、詳細目的地をユーザが通過したかどうかを決定する（４４２）。詳細目的地をユーザが既に通過したならば、方法４００はブロック４４４に進む。そうでなければ、方法４００はブロック４３８に進む。ブロック４４４で、方法４００は更なる詳細目的地があるかどうかを決定する。少なくともさらに１つの詳細目的地があるならば、方法４００はブロック４３８に進む。そうでなければ、方法４００は図４Ｂ中のブロック４１９に進む。ある実施形態では、本明細書の別の箇所で説明されるように、ブロック４３８−４４４の処理は、推定モジュール２１０がナビゲーションアプリケーション１０９の一つまたは複数のその他のモジュール（例えば位置モジュール２０４）と協働して実行することができる。
【００８４】
図５Ａおよび図５Ｂは、クラウドソース人気要因に基づいて目的地地域を推定する例示的な方法４２２のフローチャートである。図５Ａを参照すると、人気度決定モジュール２０８は位置モジュール２０４や記憶装置２４５からユーザと関連した現在の経路を表すデータを受信する（５０２）。人気度決定モジュール２０８は、現在の経路に基づいて潜在的目的地のセットを決定する（５０４）。通信モジュール２０２は、ソーシャルネットワークサーバ１３０や記憶装置２４５からユーザと関連したソーシャルネットワークデータを受信する（５０６）。通信モジュール２０２は、スケジュールサーバ１２０や記憶装置２４５からユーザスケジュールを表すデータを受信する（５０８）。通信モジュール２０２は、ソーシャルネットワークサーバ１３０や記憶装置２４５などから一つまたは複数のユーザの嗜好を表すデータを受信する（５１０）。人気度決定モジュール２０８は、一つまたは複数のクラウドソース人気要因を決定する（５１２）。一つまたは複数のクラウドソース人気要因を決定する例示的な方法は、少なくとも図７を参照して例示される。
【００８５】
図５Ｂを参照すると、人気度決定モジュール２０８は、一つまたは複数のクラウドソース人気要因、ソーシャルネットワークデータ、スケジュールデータ、メッセージデータ、
ユーザ嗜好などに基づいて、それぞれの潜在的目的地についての人気スコアを決定する（５１４）。人気スコアを決定する例示的な方法は、少なくとも図８Ａ−８Ｃを参照して説明される。推定モジュール２１０は、人気スコアに基づいて潜在的目的地のセットから一つまたは複数の人気がある目的地を決定する（５１６）。たとえば、推定モジュール２１０は、一つまたは複数の人気がある目的地を、最も高い人気スコアを有している一つまたは複数の目的地として決定することができる。別の例では、推定モジュール２１０は、一つまたは複数の人気がある目的地を、人気スコアが所定の閾値を越える一つまたは複数の目的地として決定することができる。推定モジュール２１０は、一つまたは複数の人気目的地を一つまたは複数の目的地地域にクラスタリングする（５１８）。
【００８６】
図６Ａおよび図６Ｂは、クラウドソース人気要因に基づいて詳細目的地を推定する例示的な方法４３４のフローチャートである。図６Ａを参照すると、人気度決定モジュール２０８は位置モジュール２０４や記憶装置２４５からユーザと関連した現在の経路を表すデータを受信する（６０２）。人気度決定モジュール２０８は、ユーザがそこに向かって旅行している目的地地域を表すデータを、推定モジュール２１０や記憶装置２４５から受信する（６０４）。人気度決定モジュール２０８は、現在の経路に基づいて目的地地域内の潜在的目的地のセットを決定する（６０６）。通信モジュール２０２は、ソーシャルネットワークサーバ１３０や記憶装置２４５からユーザと関連したソーシャルネットワークデータを受信する（６０８）。通信モジュール２０２は、スケジュールサーバ１２０や記憶装置２４５からユーザスケジュールを表すデータを受信する（６１０）。通信モジュール２０２は、ソーシャルネットワークサーバ１３０や記憶装置２４５から一つまたは複数のユーザ嗜好を表すデータを受信する（６１２）。人気度決定モジュール２０８は、一つまたは複数のクラウドソース人気要因を決定する（６１４）。一つまたは複数のクラウドソース人気要因を決定する例示的な方法は、少なくとも図７を参照して説明される。
【００８７】
図６Ｂを参照すると、人気度決定モジュール２０８は、一つまたは複数のクラウドソース人気要因、ソーシャルネットワークデータ、スケジュールデータ、ユーザ嗜好などに基づいて、目的地地域内の潜在的目的地のそれぞれについての人気スコアを決定する（６１６）。人気スコアを決定する例示的な方法は、少なくとも図８Ａ−８Ｃを参照して説明される。推定モジュール２１０は、人気スコアに基づいて潜在的目的地のセットから、目的地地域の中の一つまたは複数の人気がある目的地を決定する（６１８）。たとえば、推定モジュール２１０は、一つまたは複数の人気がある目的地を、最も高い人気スコアを有している一つまたは複数の目的地として決定することができる。別の例では、推定モジュール２１０は、一つまたは複数の人気がある目的地を、人気スコアが所定の閾値を満たす一つまたは複数の目的地として決定することができる。推定モジュール２１０は、目的地地域の中の一つまたは複数の詳細目的地を推定する（６２０）。たとえば、推定モジュール２１０は、一つまたは複数の詳細目的地として、すべての人気がある目的地のうちで最も高い人気スコアを有する一つまたは複数の人気目的地を選ぶことができる。別の例では、推定モジュール２１０は、目的地地域の中の全ての人気目的地を一つまたは複数の詳細目的地地域にクラスタリングすることができ、それぞれの詳細目的地地域は目的地地域の小区域であり少なくとも一つの人気目的地を含む。
【００８８】
図７は、一つまたは複数のクラウドソース人気要因を決定する例示的な方法３０６のフローチャートである。人気度決定モジュール２０８は、記憶装置２４５から潜在的目的地を表すデータを受信する（７０２）。人気度決定モジュール２０８は、潜在的目的地についてのクラウドソース人気データが利用できるかどうかを決定する（７０４）。クラウドソース人気データが利用できるならば、方法３０６はブロック７０６に進む。そうでなければ、方法３０６は終了するか繰り返す。ブロック７０６で、人気度決定モジュール２０８は、他の目的地と比較した潜在的目的地への訪問総数に基づいて、潜在的目的地の全体的な人気を決定する。
【００８９】
人気度決定モジュール２０８は、時刻、日付、気象状況や潜在目的地でのイベントスケジュールなどの関数として、潜在的目的地の可変人気度を決定する（７０８）。人気度決定モジュール２０８は、時刻や当該位置に現在実際にいる人数に対する当該場所が収容可能な総人数などの関数として、潜在的目的地の目的地飽和レベルを決定する（７１０）。人気度決定モジュール２０８は、ユーザの明示的なおよび／または黙示的なスケジュールデータに基づいて、スケジュール人気度を決定する（７１２）。
【００９０】
図８Ａ−図８Ｃは、潜在的目的地の人気スコアを決定する例示的な方法５１４または６１６のフローチャートである。図８Ａを参照すると、人気度決定モジュール２０８は記憶装置２４５から潜在的目的地を表すデータを受信する（８０２）。人気度決定モジュール２０８は、ＧＰＳログが潜在的目的地について利用できるかどうかを決定する（８０４）。ＧＰＳログは、潜在的目的地まで行われた過去の旅行を表すものである。ＧＰＳログが利用できるならば、方法はブロックに進む。そうでなければ、方法はブロック８０８に進む。ブロック８０６で、人気度決定モジュール２０８は、ＧＰＳログを用いて当該位置へ訪問した人数に少なくとも部分的に基づいて、潜在的目的地の人気スコアを決定する。
【００９１】
ブロック８０８で、方法は、オンラインチェックインデータが潜在的目的地について利用できるかどうか決定する。チェックインデータが利用できるならば、方法はブロック８１０に進む。そうでなければ、方法はブロック８１２に進む。ブロック８１０で、人気度決定モジュール２０８は、クラウドソースアプリケーションプログラムを用いて当該場所にチェックインした人数に少なくとも部分的に基づいて、潜在的目的地の人気スコアを決定する。
【００９２】
ブロック８１２で、方法は、潜在的目的地についてイベントカレンダーを表すデータが利用できるかどうかを決定する。イベントカレンダーを表すデータが利用できるならば、方法はブロック８１４に進む。そうでなければ、方法はブロック８１６に進む。ブロック８１４で、人気度決定モジュール２０８は、当該位置でのイベントカレンダーに少なくとも部分的に基づいて、潜在的目的地の人気スコアを決定する。
【００９３】
ブロック８１６で、方法は、潜在的目的地に人がいるかどうかを決定する。当該位置に人がいるならば、方法はブロック８１８に進む。そうでなければ、方法は図８Ｂ中のブロック８２０に進む。ブロック８１８で、人気度決定モジュール２０８は、当該位置に現在いる人の数に少なくとも部分的に基づいて、または当該潜在目的地に関連した目的地飽和レベルに少なくとも部分的に基づいて、潜在的目的地の人気スコアを決定する。
【００９４】
図８Ｂを参照すると、方法は、時刻を表すデータが利用できるかどうかを決定する（８２０）。時刻を表すデータが利用可能であれば、方法はブロック８２２に進む。そうでなければ、方法はブロック８２４に進む。ブロック８２２で、人気度決定モジュール２０８は、時刻に少なくとも部分的に基づいて潜在的目的地の人気スコアを決定する。
【００９５】
ブロック８２４で、方法は、曜日を表わすデータが利用できるかどうかを決定する（８２４）。曜日を表すデータが利用可能であれば、方法はブロック８２６に進む。そうでなければ、方法はブロック８２８に進む。ブロック８２６で、人気度決定モジュール２０８は、曜日に少なくとも部分的に基づいて潜在的目的地の人気スコアを決定する。
【００９６】
ブロック８２８で、方法は、休日であるかどうか決定する（８２８）。休日であるならば、方法はブロック８３０に進む。そうでなければ、方法はブロック８３２に進む。ブロック８３０で、人気度決定モジュール２０８は、休日であるかどうかに部分的に基づいて、潜在的目的地の人気スコアを決定する。
【００９７】
ブロック８３２で、方法は、天気情報が利用できるかどうか決定する。天気情報が利用可能であれば、方法はブロック８３４に進む。そうでなければ、方法はブロック８３６に進む。ブロック８３４で、人気度決定モジュール２０８は、天気情報に少なくとも部分的に基づいて、潜在的目的地の人気スコアを決定する。
【００９８】
図８Ｃを参照すると、方法は、ユーザの現在の経路に関連付いた交通情報が利用できるかどうかを決定する（８３６）。交通情報が利用可能であれば、方法はブロック８３８に進む。そうでなければ、方法はブロック８４０に進む。ブロック８３８で、人気度決定モジュール２０８は、交通情報に少なくとも部分的に基づいて、潜在的目的地の人気スコアを決定する。
【００９９】
ブロック８４０で、方法は、ユーザと関連したスケジュールデータが利用できるかどうかを決定する。スケジュールデータが利用可能であれば、方法はブロック８４２に進む。そうでなければ、方法はブロック８４４に進む。ブロック８４２で、人気度決定モジュール２０８は、ユーザの明示的および／または黙示的なスケジュールデータに少なくとも部分的に基づいて、潜在的目的地の人気スコアを決定する。
【０１００】
ブロック８４４で、方法は、ユーザと関連したソーシャルネットワークデータが利用できるかどうかを決定する。ソーシャルネットワークデータが利用可能であれば、方法はブロック８４６に進む。そうでなければ、方法はブロック８４８に進む。ブロック８４６で、人気度決定モジュール２０８は、ソーシャルネットワークデータに少なくとも部分的に基づいて、潜在的目的地の人気スコアを決定する。
【０１０１】
ブロック８４８で、方法は、ユーザの嗜好を表すデータが利用できるかどうかを決定する。ユーザの嗜好を表すデータが利用可能であれば、方法はブロック８５０に進む。そうでなければ、方法は終了してもよいし、繰り返してもよい。ブロック８５０で、人気度決定モジュール２０８は、ユーザの嗜好に少なくとも部分的に基づいて、潜在的目的地の人気スコアを決定する。
【０１０２】
方法８００によって決定される人気スコアは、ＧＰＳログを用いて当該場所に訪れた人の数、クラウドソースアプリケーションプログラムを用いて当該場所にチェックインした人の数、当該場所でのイベントカレンダー、当該場所に現在いる人の数、時刻、曜日、休日であるか否か、天気情報、交通情報、ユーザの明示的および／または黙示的なスケジュールデータ、ソーシャルネットワークデータ、および／またはユーザの嗜好などのいずれか一つのみに基づいて決定されてもよいし、これらの要因のうちの２つまたはそれ以上を組み合わせて決定されてもよく、その際は複数の要因を同じ重みで重み付けしてもよいし異なる重みで重み付けしてもよい。
【０１０３】
＜グラフィカル表現＞
図９は、旅行目的地を推定する例示的な方法を示しているグラフィカル表現９００である。例示的なグラフィカル表現９００において、ユーザは、ナビゲーションアプリケーション１０９を備えている車両を用いて、道路上のある経路（例えば、推定された経路、あらかじめ定められた経路など）を旅行している。矢印９０８によって示される第１の交差点にユーザが近づく際に、推定モジュール２１０は、目的地地域９０２，９０４，９０６をユーザのために推定する。目的地地域９０２は、１つの人気目的地を含む。目的地地域９０４は、４つの人気目的地を含む。目的地地域９０６は、６つの人気目的地を含む。推定モジュール２１０は、各目的地地域をユーザに対する提案として提供することができ、ユーザが特定の目的地地域に近づく際に、ユーザに対する提案をさらに詳細化させてもよい。ユーザがある特定の目的地地域から離れてさらに旅行する際には、推定モジュール２
１０は、推定目的地地域を更新したり詳細化させたりしてもよい。
【０１０４】
矢印９０８によって示される第１の交差点において、ユーザは、左折して目的地地域９０４へ向かう、右折して目的地地域９０２へ向かう、あるいは、現在の道路の走行を続行して目的地地域９０６へ向かうことができる。ユーザが現在の道路の走行を続行して、矢印９１０によって示される第２の交差点に接近すると仮定する。ユーザは、左折して目的地地域９０６へ向かうか、右折して特定の人気目的地がない地域に向かうことができる。ユーザが第２の交差点で左折するならば、推定モジュール２１０は、目的地地域９０６内のユーザの目的地の予測を詳細化することができる。ユーザが第２の交差点で右折するならば、推定モジュール２１０は、ナビゲーションアプリケーション１０９の他の構成要素と協働して、ユーザの旅行推定目的地を更新することができる。
【０１０５】
上記の説明では、本発明を十分に理解できるように、多くの詳細について説明した。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表した。たとえば、本実施形態は、ユーザインタフェースと特定のハードウェアを主に参照して以下の一実施形態で示される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
【０１０６】
本明細書における「一実施形態」または「実施形態」への言及は、その実施形態に関連して述べられる特定の特徴、構造、または特性が少なくとも１つの実施形態に含まれることを意味する。本明細書における様々な箇所での語句「一実施形態では」の表記は、必ずしも全て同じ実施形態を表すとは限らない。
【０１０７】
以下の詳細な説明の一部は、有形（非一時的）なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において（また一般に）アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である。
【０１０８】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算（処理）」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的（電子的）量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【０１０９】
本発明は本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のための特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータ可読記憶媒体に格納されてもよい。コンピュータ可読記憶媒体は、コンピュータのシステムバスに接続可能な、フロッピー（登録商標）ディスク・光ディスク・ＣＤ−ＲＯＭ・磁気ディスク
、読み込み専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、光学式カード、非一時的なメモリを有するＵＳＢキーを含むフラッシュメモリ、電子的命令を格納するのに適したその他の任意のメディア媒体を含むが、これらに限定される訳ではない。
【０１１０】
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実装例は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。
【０１１１】
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【０１１２】
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも１つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
【０１１３】
入力／出力（Ｉ／Ｏ）装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはＩ／Ｏコントローラを介して直接あるいは間接的にシステムに接続される。
【０１１４】
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット（登録商標）は、現在利用可能なネットワークアダプタのほんの一例である。
【０１１５】
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがってプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以下の説明において明らかにされる。さらに、本発明は、任意の特定のプログラミング言語と関連づけられるものではない。本明細書で説明される内容を実装するために、種々のプログラミング言語を利用できることは明らかであろう。
【０１１６】
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。さらに、当業者であれば、モジュー
ル・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
【符号の説明】
【０１１７】
１００    システム
１０１    サーバ
１０５    ネットワーク
１０９    ナビゲーションアプリケーション
１１５    クライアント装置
１２０    スケジュールサーバ
１２２    地図サーバ
１２４    電子メールサーバ
１２８    サードパーティサーバ
１３０    ソーシャルネットワークサーバ
１３２    ソーシャルネットワークアプリケーション
１３５    モバイルコンピュータシステム
１４０    センサ
２００    コンピュータ
２０２    通信モジュール
２０４    位置モジュール
２０６    機械学習モジュール
２０８    人気度決定モジュール
２１０    推定モジュール
２１２    提案モジュール
２１４    ユーザインタフェースモジュール
２２０    バス
２３５    プロセッサ
２３７    メモリ
【図１】
2015081919.tif 000003
【図２】
2015081919.tif 000004
【図３】
2015081919.tif 000005
【図４Ａ】
2015081919.tif 000006
【図４Ｂ】
2015081919.tif 000007
【図４Ｃ】
2015081919.tif 000008
【図４Ｄ】
2015081919.tif 000009
【図５Ａ】
2015081919.tif 000010
【図５Ｂ】
2015081919.tif 000011
【図６Ａ】
2015081919.tif 000012
【図６Ｂ】
2015081919.tif 000013
【図７】
2015081919.tif 000014
【図８Ａ】
2015081919.tif 000015
【図８Ｂ】
2015081919.tif 000016
【図８Ｃ】
2015081919.tif 000017
【図９】
2015081919.tif 000018