複数の図面にわたって繰り返される参照番号は、様々な実装形態において同じ構成要素または特徴を特定することが意図される。
本開示の例示的な態様は、交通状況情報を決定するための方法およびシステムを対象とする。具体的には、地理情報サービスは、通過領域内の複数の物体(たとえば、自動車、自転車、歩行者など)と関連付けられる交通(たとえば、乗り物交通、自転車交通、歩行者交通など)を示す交通サンプルデータを取得することができる。地理情報サービスは、交通サンプルデータに基づいて通過領域と関連付けられる1つまたは複数の平均交通速度(たとえば、通過領域内の交通の1つまたは複数の平均交通速度)を決定することができ、地理情報サービスは、各平均交通速度を複数の交通タイプのうちの少なくとも1つと関連付けることができる。複数の交通タイプは、たとえば、普通の交通、高速な交通(たとえば、規定人数以上が乗車している車両(HOV)交通、有料車線交通)、ある種類の乗り物(たとえば、ある交通車線を使用することが必要とされ得るトラックまたはバス)に関する交通などを含み得る。地理情報サービスは、複数の交通タイプおよび関連付けられる平均交通速度に基づいて、通過領域に対する交通状況情報を決定することができる。交通状況情報に対する要求に応答して、地理情報サービスは、交通状況情報を示す地図データを決定し、複数の交通タイプのうちの少なくとも1つに対応する地図データを、要求しているエンティティに送信することができる。
本開示の態様によれば、交通状況情報は、たとえば、通過領域内の1つまたは複数の交通タイプに対応する交通と関連付けられる1つまたは複数の交通速度を示すデータ、通過領域の概略的な通過所要時間、および/または、通過領域における移動と関連付けられる他の情報を含み得る。
いくつかの実装形態では、通過領域は1つまたは複数の道路セグメントを含み得る。各道路セグメントは1つまたは複数の交通車線を含んでもよく、各交通車線は、交通タイプ(たとえば、普通の交通、高速な交通、特定の種類の乗り物の交通など)、交通の方向、および/または基準交通速度(たとえば、速度制限)と関連付けられてもよい。交通サンプルデータは、道路セグメント上の速度および交通の方向を含み得る。いくつかの実装形態では、交通サンプルデータは、道路セグメント上の交通と関連付けられる交通車線および/または交通タイプを含み得る。交通状況情報は、道路セグメントと関連付けられる交通の1つまたは複数の方向の各々における、道路セグメント上の交通の1つまたは複数の交通速度(たとえば、平均交通速度)を含み得る。交通状況情報は、道路セグメント上の交通に対する1つまたは複数の通過所要時間(たとえば、交通速度に基づく、道路セグメントの第1の端から道路セグメントの第2の端まで移動するのにかかる時間)も含み得る。
いくつかの実装形態では、第1の位置から第2の位置への通過経路は、1つまたは複数の通過領域を含み得る。交通状況情報は、通過経路の中の1つまたは複数の通過領域の各道路セグメント上の交通の1つまたは複数の交通速度(たとえば、1つまたは複数の平均交通速度)を含み得る。1つまたは複数の交通速度は、異なる交通タイプに対応する交通と各々関連付けられ得る。交通状況情報は、各道路セグメント上の交通に対する1つまたは複数の通過所要時間(たとえば、第1の端から第2の端まで移動するのにかかる時間)も含み得る。1つまたは複数の通過所要時間は、異なる交通タイプに対応する交通と各々関連付けられ得る。いくつかの実装形態では、交通状況情報は、通過経路全体に対する1つまたは複数の交通速度(たとえば、1つまたは複数の異なる交通タイプに対応する交通に対する、道路セグメントと関連付けられる距離により重み付けられる各道路セグメント上の交通の平均交通速度)、および/または、通過経路全体に対する1つまたは複数の通過所要時間(たとえば、1つまたは複数の異なる交通タイプに対応する交通に対する、通過経路を介して第1の位置から第2の位置まで移動するのにかかる時間)を含み得る。
いくつかの実装形態では、交通状況情報は、1つまたは複数の交通速度に対する数値などの識別子を含み得る。代替的に、交通状況情報は、所定の範囲の交通速度に対応する識別子(たとえば、色分けされた識別子)を含み得る。識別子は、交通状況情報をユーザに提供するためのグラフィカルユーザインターフェース(GUI)に関連して使用され得る。たとえば、GUIは、各道路セグメントと関連付けられる色分けされた識別子に基づいて表示される、複数の道路セグメントの地図を含み得る。地図の中の各道路セグメントは、道路セグメントと関連付けられる色分けされた識別子に対応する、色、影、または他の視覚的特性を用いて表示され得る。色分けされた識別子の使用は、例としてのみ与えられる。あらゆるタイプの視覚的な、可聴の、または他の識別子が、交通速度を区別するためにグラフィカルユーザインターフェースに関連して与えられ得ることが理解されるであろう。
ある例として、道路セグメントに対する交通速度が、通過領域に対する速度制限を少なくとも第1の閾値の量だけ超えている場合、交通状況情報は、道路セグメントと関連付けられる第1の識別子(たとえば、「緑色」である色分けされた識別子)を含み得る。道路セグメントに対する交通速度が、速度制限に等しいか、または第1の閾値の量より少ない量だけ速度制限を超えている場合、交通状況情報は、道路セグメントと関連付けられる第2の識別子(たとえば、「黄色」である色分けされた識別子)を含み得る。道路セグメントに対する交通速度が道路セグメントに対する速度制限より低い場合、交通状況情報は、道路セグメントと関連付けられる第3の色分けされた識別子(たとえば、「赤色」である色分けされた識別子)を含み得る。
別の例として、道路セグメントに対する交通速度が、道路セグメントに対する速度制限を少なくとも第1の閾値の量だけ下回っている場合、交通状況情報は、道路セグメントと関連付けられる第1の識別子(たとえば、「赤色」である色分けされた識別子)を含み得る。道路セグメントに対する交通速度が、道路セグメントに対する速度制限を第1の閾値の量より少ない量だけ下回っている場合、道路セグメントと関連付けられる第2の識別子(たとえば、「黄色」である色分けされた識別子)を含み得る。交通状況情報は、道路セグメントに対する交通速度が道路セグメントに対する速度制限以上である場合、道路セグメントと関連付けられる第3の識別子(たとえば、「緑色」である色分けされた識別子)を含み得る。
別の例として、道路セグメント上の平均交通速度が50mphである場合、交通状況情報は、道路セグメントに対して50mphを示すデータを含み得る。代替的に、道路セグメント上の普通の交通の平均交通速度が40mphであり、道路セグメント上の高速な交通の平均交通速度が60mphである場合、交通状況情報は、道路セグメント上の普通の交通に対応する40mphを示すデータ、および/または道路セグメント上の高速な交通に対応する60mphを示すデータを含み得る。
別の例として、50mphである道路セグメントに対する平均交通速度、40mphである道路セグメントと関連付けられる速度制限、および5mphである第1の閾値を考える。この例では、道路セグメントに対する交通速度は、少なくとも5mphという第1の閾値の量だけ速度制限を超える。したがって、交通状況情報は、道路セグメントに対して「緑色」の色分けされた識別子を含み得る。代替的に、道路セグメントと関連付けられる速度制限が45mphであり、第1の閾値が10mphである場合、道路セグメントに対する交通速度は、10mphという第1の閾値の量より少ない量だけ速度制限を超えており、交通状況情報は、道路セグメントに対して「黄色」の色分けされた識別子を含み得る。代替的に、道路セグメントと関連付けられる速度制限が55mphである場合、道路セグメントに対する交通速度は速度制限未満であり、交通状況情報は「赤色」の色分けされた識別子を含み得る。
例示的な実施形態によれば、アプリケーションプログラミングインターフェース(API)が与えられ得る。たとえば、APIは、クライアントコンピューティングシステム上で実行される1つまたは複数のアプリケーションがサーバとインターフェースをとり交通と関連付けられるデータを交換することを可能にするために、地理情報サービスの一部としてサーバコンピューティングシステムによって提供され得る。サーバコンピューティングシステムは、1つまたは複数のコンピューティングデバイス(たとえば、コンピュータ、サーバ、メインフレーム、仮想コンピューティングプラットフォームなど)を含み得る。クライアントコンピューティングシステムは、共通の(または同じ)ユーザと関連付けられる、1つまたは複数のコンピューティングデバイス(たとえば、コンピュータ(たとえば、デスクトップコンピュータ、ラップトップコンピュータなど)、モバイルコンピューティングデバイス(たとえば、タブレットコンピュータ、スマートフォンなど)、ウェアラブルコンピューティングデバイス(たとえば、スマートウォッチなど)など、ビークルコンピューティングデバイス(たとえば、ビークルコンピューティングシステム、ナビゲーションシステムなど))を含み得る。いくつかの例では、APIは、クライアントコンピューティングシステム上で実行される1つまたは複数のアプリケーションがサーバコンピューティングシステムとデータを交換することを可能にするために、地理情報サービスの一部としてクライアントコンピューティングシステムにおいて提供され得る。いくつかの実装形態では、単一のコンピューティングシステムは、サーバコンピューティングシステムおよびクライアントコンピューティングシステムを含み得る。いくつかの実装形態では、クライアントコンピューティングシステムは、APIを利用してサーバコンピューティングシステムと通信し、通過領域についての交通状況情報を取得することができる。たとえば、APIは、1つまたは複数の通過領域(たとえば、1つまたは複数の道路セグメント)についての交通状況情報を要求する、アプリケーションのうちの1つからの呼び出しを受信することができる。APIを通じて受信された呼び出しに応答して、サーバコンピューティングシステムは、APIを通じて、要求しているアプリケーションに交通状況情報を返すことができる。
本開示の態様によれば、通過領域についての交通状況情報を要求するためのAPI呼び出しは、たとえば、通過領域を示すデータ(たとえば、通過領域に対応する識別子)を含み得る。いくつかの実装形態では、APIは、1つまたは複数の道路セグメントについての交通状況情報を要求する、アプリケーションからのAPI呼び出しを受信することができる(たとえば、API呼び出しは、1つまたは複数の道路セグメントに対応する1つまたは複数の識別子を含み得る)。いくつかの実装形態では、APIは、第1の位置と第2の位置との間の通過経路についての交通状況情報を要求する、アプリケーションからのAPI呼び出しを受信することができる。いくつかの実装形態では、API呼び出しは交通タイプ(たとえば、普通の交通、高速な交通、特定の種類の乗り物の交通など)を含み得る。
例として、1つまたは複数の道路セグメントを示すデータを含むAPI呼び出しに応答して、地理情報サービスは、たとえば、道路セグメント上の交通の1つまたは複数の交通速度(たとえば、交通の方向と関連付けられる1つまたは複数の平均交通速度)、および/または道路セグメント上の交通に対する通過所要時間などの、道路セグメントについての交通状況情報を(たとえば、サーバコンピューティングシステムを介して)決定することができる。1つまたは複数の交通速度の各々は、異なる交通タイプに対応する交通と関連付けられ得る。地理情報サービスは、APIを介して、要求しているアプリケーションに交通状況情報を返すことができる。
別の例として、1つまたは複数の道路セグメントおよび交通タイプを示すデータを含むAPI呼び出しに応答して、地理情報サービスは、たとえば、交通タイプに対応する交通と関連付けられる交通速度、および/または交通タイプに対応する交通と関連付けられる通過所要時間などの、交通タイプに基づく道路セグメントについての交通状況情報を(たとえば、サーバコンピューティングシステムを介して)決定することができる。地理情報サービスは、たとえば、交通タイプに対応する交通と関連付けられる交通速度および道路セグメントと関連付けられる距離に基づいて、道路セグメントに対する交通タイプに対応する交通と関連付けられる通過所要時間を決定することができる。地理情報サービスは、要求しているアプリケーションに交通状況情報を返すことができる。
別の例として、第1の位置および第2の位置を示すデータを含むAPI呼び出しに応答して、地理情報サービスは、第1の位置から第2の位置への1つまたは複数の通過経路を(たとえば、サーバコンピューティングシステムを介して)決定することができる。通過経路は、第1の位置と第2の位置との間の1つまたは複数の道路セグメントを含み得る。いくつかの実装形態では、2つ以上の通過経路は各々、1つまたは複数の道路セグメントを共通で含み得る。地理情報サービスは、たとえば、上で説明されたように、道路セグメント上の交通の1つまたは複数の交通速度、および/または道路セグメント上の交通に対する1つまたは複数の通過所要時間などの、通過経路の中の道路セグメントについての交通状況情報を決定することができる。追加または代替として、交通状況情報は、上で説明されたように、通過経路全体に対する1つまたは複数の交通速度、および/または、通過経路全体に対する1つまたは複数の通過所要時間を含み得る。地理情報サービスは、要求しているアプリケーションに交通状況情報を返すことができる。
別の例として、第1の位置、第2の位置を示すデータ、および交通タイプを示すデータを含むAPI呼び出しに応答して、地理情報サービスは、第1の位置から第2の位置への1つまたは複数の通過経路を(たとえば、サーバコンピューティングシステムを介して)決定することができる。通過経路は、第1の位置と第2の位置との間の1つまたは複数の道路セグメントを含み得る。いくつかの実装形態では、2つ以上の通過経路は各々、1つまたは複数の道路セグメントを共通で含み得る。地理情報サービスは、たとえば、道路セグメント上の交通タイプに対応する交通と関連付けられる交通速度、および/または道路セグメント上の交通タイプに対応する交通と関連付けられる通過所要時間などの、通過経路の中の道路セグメントについての交通状況情報を決定することができる。地理情報サービスは、要求しているアプリケーションに交通状況情報を返すことができる。
別の例として、第1の位置、第2の位置を示すデータ、および交通タイプを示すデータを含むAPI呼び出しに応答して、地理情報サービスは、交通タイプに基づいて、第1の位置から第2の位置への1つまたは複数の通過経路を(たとえば、サーバコンピューティングシステムを介して)決定することができる。たとえば、交通タイプがHOV交通である場合、地理情報サービスは、通過経路の中の各道路セグメントがHOV交通と関連付けられる少なくとも1つの交通車線を含むように、1つまたは複数の通過経路を決定することができ、交通タイプが特定の種類の乗り物に関する交通である場合、地理情報サービスは、通過経路の中の各道路セグメントが特定の種類の乗り物に関する交通と関連付けられる少なくとも1つの交通車線を含むように、1つまたは複数の通過経路を決定することができる、などである。地理情報サービスは、上で説明されたように、1つまたは複数の決定された通過経路の各々の中の道路セグメントについての交通状況情報(たとえば、1つまたは複数の交通速度および/または1つまたは複数の通過所要時間)を決定し、要求しているアプリケーションに交通状況情報を返すことができる。
経路計画のための自動化されたプロセスは、たとえば、ユーザへの提案として提示するために、または自動運転車において実施するために、複数の通過経路候補の各々に対するそれぞれのスコアを決定するステップと、それぞれのスコアに基づいて通過経路候補を選択するステップとを含み得る。各通過経路候補は、特定の交通タイプに対応する交通と各々関連付けられる1つまたは複数の道路セグメントを含み得る。たとえば、第1の通過経路が第1の道路セグメントを含み、第1の道路セグメントが第1の交通タイプおよび第2の交通タイプに対応する交通と関連付けられる場合、第1の通過経路は(第1の交通タイプに対応する交通と関連付けられる)第1の通過経路候補および(第2の交通タイプに対応する交通と関連付けられる)第2の通過経路候補を含み得る。各通過経路候補に対するスコアは、交通タイプに対する対応する交通状況情報を使用して、たとえば、通過経路候補に対する交通タイプと関連付けられる交通速度または通過所要時間を使用して決定され得る。
本開示の態様によれば、APIは、通過領域についての交通状況情報を取得するために、サーバコンピューティングシステムとの通信を促進することができる。サーバコンピューティングシステムは、1つまたは複数の通過領域の中の1つまたは複数の道路セグメント上の交通(たとえば、乗り物交通、歩行者交通、他の交通など)を示す交通サンプルデータを取得することができる。交通サンプルデータは少なくとも、1つまたは複数の道路セグメント上の1つまたは複数の物体(たとえば、乗り物、歩行者など)の第1の時間における場所、および第2の時間における場所を含み得る。サーバコンピューティングシステムは、たとえば、人、交通センサのネットワーク、および/または、複数の物体からの1つまたは複数の物体(たとえば、人が持っているまたは乗り物の中にあるスマートフォン)と関連付けられる1つまたは複数のモバイルデータソースによって提供される観察結果などの、1つまたは複数のデータソースから交通サンプルを取得することができる。サーバコンピューティングシステムは、交通サンプルデータに基づいて複数の物体の各々と関連付けられる移動速度を決定し、移動速度に基づいて複数の物体に対応する1つまたは複数の交通タイプ(たとえば、普通の交通、高速な交通、特定の種類の乗り物の交通など)を決定することができる。いくつかの実装形態では、サーバコンピューティングシステムは、交通サンプルデータに基づいて、1つまたは複数の道路セグメントが1つまたは複数の交通タイプと関連付けられると決定することができる。たとえば、道路セグメント上の交通が1つまたは複数の交通タイプに対応する交通を含むことを、交通サンプルデータが示す場合、サーバコンピューティングシステムは、道路セグメントが1つまたは複数の交通タイプと関連付けられること(たとえば、道路セグメントが1つまたは複数の交通タイプと関連付けられる1つまたは複数の交通車線を含むこと)を決定することができる。
いくつかの実装形態では、サーバコンピューティングシステムは、道路セグメント上の交通を示す交通サンプルデータを取得することができ、交通サンプルデータは、道路セグメント上の1つまたは複数の物体の移動速度を示す。サーバコンピューティングシステムは、交通サンプルデータに基づいて、道路セグメントと関連付けられる1つまたは複数の交通速度を決定することができる。サーバコンピューティングシステムは、道路セグメントと関連付けられる交通の各方向に対する1つまたは複数の交通速度を決定することができる。
例として、サーバコンピューティングシステムは、交通サンプルデータ(たとえば、道路セグメントと関連付けられる交通の各方向に対する、道路セグメント上の複数の物体の各々と関連付けられる平均移動速度)に基づいて、道路セグメント上の交通の平均交通速度を決定することができる。
別の例として、サーバコンピューティングシステムは、道路セグメント上の複数の物体と関連付けられる複数の移動速度の分布を決定することができる。サーバコンピューティングシステムは、分布の全体的なピークに基づいて、道路セグメントに対する交通速度を決定することができる。代替的に、サーバコンピューティングシステムは、分布の第1の局所的なピークに基づいて、道路セグメントに対する第1の交通速度を決定し、分布の第2の局所的なピークに基づいて、道路セグメントに対する第2の交通速度を決定することができる。サーバコンピューティングシステムは、分布における移動速度の第1のクラスタに基づいて第1の局所的なピークを決定し、分布における移動速度の第2のクラスタに基づいて第2の局所的なピークを決定することができる。このようにして、サーバコンピューティングシステムは、分布の複数の局所的なピークに基づいて、道路セグメントに対する複数の交通速度を決定することができる。
「ピーク」という用語は、所定のピーク定義基準などのピーク定義基準に従って定義され得る。「全体的なピーク」という用語は、分布が最高の頻度値を有するピークを指し得る。「局所的なピーク」は、全体的なピーク以外のピークを指し得る。
一例では、クラスタリングアルゴリズムが、移動速度における2つ(またはそれより多く)のクラスタを適応的に特定するために複数の移動速度に適用されてもよく、それらの各々がそれぞれのピークとして特定される。クラスタの数は、クラスタリング統計的有意性基準に基づいて特定され得る。クラスタリングアルゴリズムはさらに、各クラスタと関連付けられる速度のそれぞれの範囲を示す、各クラスタに対する拡散値を特定してもよく、移動速度は、対応する範囲内にある場合、クラスタのうちの1つと関連付けられるものとして見なされてもよい。
代替的に、分布が、等しい速度範囲にわたり得る複数の連続する速度範囲(たとえば、重複しない速度範囲)の各々に対するそれぞれの割合値に関して定義され、各割合値は、それぞれの速度範囲内の速度で移動する物体の割合を示し、ピーク定義基準は、所与の速度範囲に対する割合値が隣のより下の速度範囲に対する割合値および隣のより高い速度範囲に対する割合値より大きい場合、その速度範囲はピークを構成するというものであり得る。
いくつかの実装形態では、サーバコンピューティングシステムは、道路セグメント上の交通を示す交通サンプルデータを取得することができ、交通サンプルデータは、道路セグメント上の1つまたは複数の物体の移動速度を示す。サーバコンピューティングシステムは、交通サンプルデータに基づいて、道路セグメントと関連付けられる1つまたは複数の交通タイプを決定することができる。サーバコンピューティングシステムは、道路セグメントと関連付けられる交通の各方向に対する1つまたは複数の交通タイプを決定することができる。
例として、サーバコンピューティングシステムは、上で説明されたように、交通サンプルデータに基づいて道路セグメントに対する1つまたは複数の交通速度を決定することができる。サーバコンピューティングシステムが道路セグメントに対して単一の交通速度を決定する場合、サーバコンピューティングシステムは、単一の交通速度が単一の交通タイプに対応する交通と関連付けられることと、道路セグメントが単一の交通タイプと関連付けられる(たとえば、道路セグメントが、普通の交通などの単一の交通タイプと関連付けられる1つまたは複数の交通車線を含む)こととを決定することができる。サーバコンピューティングシステムが道路セグメントに対して2つ以上の交通速度を決定する場合、サーバコンピューティングシステムは、2つ以上の交通速度が2つ以上の交通タイプに対応する交通と関連付けられることと、道路セグメントが2つ以上の交通タイプと関連付けられる(たとえば、道路セグメントが2つ以上の交通タイプと関連付けられる1つまたは複数の交通車線を含む)こととを決定することができる。このようにして、サーバコンピューティングシステムは、道路セグメントに対する複数の交通速度に基づいて、道路セグメントと関連付けられる複数の交通タイプを決定することができる。
いくつかの実装形態では、サーバコンピューティングシステムは、道路セグメント上の交通を示す交通サンプルデータを取得することができ、交通サンプルデータは、道路セグメント上の1つまたは複数の物体の移動速度および交通タイプを示す。サーバコンピューティングシステムは、交通サンプルデータに基づいて、道路セグメントと関連付けられる1つまたは複数の交通タイプを決定することができる。
例として、交通サンプルデータが道路セグメント上の高速な交通に対応する交通を示す場合、サーバコンピューティングシステムは、道路セグメントが高速な交通と関連付けられる(たとえば、道路セグメントが高速な交通と関連付けられる1つまたは複数の交通車線を含む)ことを決定することができる。別の例として、交通サンプルデータがある種類の乗り物に関する交通に対応する交通を示す場合、サーバコンピューティングシステムは、道路セグメントがその種類の乗り物に関する交通と関連付けられる(たとえば、道路セグメントがその種類の乗り物に関する交通と関連付けられる1つまたは複数の交通車線を含む)ことを決定することができる。別の例として、交通サンプルデータが道路セグメント上の複数の異なる交通タイプに対応する交通を示す場合、サーバコンピューティングシステムは、道路セグメントが複数の異なる交通タイプと関連付けられる(たとえば、道路セグメントが複数の異なる交通タイプと関連付けられる1つまたは複数の交通車線を含む)ことを決定することができる。
いくつかの実装形態では、サーバコンピューティングシステムは、通過領域の中の道路セグメントと関連付けられる1つまたは複数の属性を示すデータ(たとえば、道路セグメント属性データ)を取得することができる。1つまたは複数の属性は、たとえば、道路セグメントと関連付けられる距離、1つまたは複数の交通タイプに対応する交通のために指定される道路セグメントにおける1つまたは複数の交通車線(たとえば、普通の交通、高速な交通、および/またはある種類の乗り物に関する交通などのために指定される交通車線)を含み得る。サーバコンピューティングシステムは、道路セグメント属性データに基づいて、道路セグメントと関連付けられる1つまたは複数の交通タイプを決定することができる。
例として、サーバコンピューティングシステムは、上で説明されたように、道路セグメント上の交通を示す交通サンプルデータに基づいて、道路セグメント上の交通と関連付けられる第1の交通速度および第2の交通速度を決定することができる。道路セグメントと関連付けられる道路セグメント属性データが、道路セグメントが普通の交通のために指定される1つまたは複数の交通車線を含むことを示す場合、サーバコンピューティングシステムは、第1の交通速度と第2の交通速度の両方が普通の交通に対応することと、道路セグメントが普通の交通と関連付けられることとを決定することができる。代替的に、道路セグメントと関連付けられる道路セグメント属性データが、道路セグメントが普通の交通のために指定される少なくとも1つの交通車線および高速な交通のために指定される少なくとも1つの交通車線を含む場合、サーバコンピューティングシステムは、第1の交通速度が普通の交通に対応し第2の交通速度が高速な交通に対応することと、道路セグメントが普通の交通および高速な交通と関連付けられることとを決定することができる。
いくつかの実装形態では、サーバコンピューティングシステムは、道路セグメント上の交通を示す交通サンプルデータを取得し、交通サンプルデータが道路セグメント上の1つまたは複数の物体の移動および交通車線を示し、1つまたは複数の指定された交通車線を示す道路セグメントと関連付けられる道路セグメント属性データを取得することができる。サーバコンピューティングシステムは、交通サンプルデータおよび道路セグメント属性データに基づいて、交通に対応する1つまたは複数の交通タイプを決定することができる。
例として、道路セグメントと関連付けられる道路セグメント属性データが、道路セグメントがHOV交通のために指定される第1の交通車線を含むことを示し、交通サンプルデータが、道路セグメントの第1の交通車線上の交通を示す場合、サーバコンピューティングシステムは、第1の交通車線上の交通がHOV交通に対応することを決定することができる。サーバコンピューティングシステムは、第1の交通車線上の交通の平均移動速度を決定して、道路セグメント上のHOV交通に対応する交通の平均交通速度を決定することができる。代替的に、道路セグメントと関連付けられる道路セグメント属性データが、道路セグメントがHOV交通のために指定される複数の交通車線を含むことを示し、交通サンプルデータが、道路セグメントの複数の交通車線上の交通を示す場合、サーバコンピューティングシステムは、複数の交通車線上の交通の平均移動速度を決定し、道路セグメント上のHOV交通に対応する交通の平均交通速度を決定することができる。
本開示の態様によれば、アプリケーションは、APIを介して、通過領域についての交通状況情報を要求することができる。いくつかの実装形態では、アプリケーションはユーザインターフェース(たとえば、グラフィカルユーザインターフェース)を含み得る。ユーザは、通過領域についての交通状況情報を要求して取得するために、ユーザインターフェースを介してアプリケーションと対話することができる。
例として、ユーザは、ユーザインターフェースを介して、アプリケーションから第1の通過領域についての交通状況情報を要求することができる。アプリケーションは、第1の通過領域を示すデータ(たとえば、第1の通過領域と関連付けられる識別子)を含むAPI呼び出しをサーバコンピューティングシステムに送信することができる。API呼び出しに応答して、サーバコンピューティングシステムは、第1の通過領域に対する交通状況情報を示す地図データを決定し、APIを通じて地図データをアプリケーションに提供することができる。アプリケーションは、ユーザインターフェースを介して地図データをユーザに提供することができる。
別の例として、ユーザは、ユーザインターフェースを介して、アプリケーションから第1の通過領域についての交通状況情報を要求することができる。要求に応答して、アプリケーションは交通タイプに対するプロンプトを(たとえば、ユーザインターフェースを介して)ユーザに示すことができ、ユーザは交通タイプを示すことができる。たとえば、ユーザは、ユーザが単独で移動する場合、交通タイプに対する普通の交通を示すことができ、または、ユーザは、ユーザが1つまたは複数の追加の乗員とともに移動する場合、交通タイプに対して高速な交通を示すことができる。追加または代替として、ユーザは、交通タイプに対するある種類の乗り物を示すことができる。アプリケーションは、ユーザによって示される第1の通過領域および交通タイプを示すデータを含むAPI呼び出しをサーバコンピューティングシステムに送信することができる。API呼び出しに応答して、サーバコンピューティングシステムは、第1の通過領域に対する示された交通タイプに対応する交通と関連付けられる交通状況情報を示す地図データを決定し、APIを通じて地図データをアプリケーションに提供することができる。アプリケーションは、ユーザインターフェースを介して地図データをユーザに提供することができる。
別の例として、ユーザは、ユーザインターフェースを介して、アプリケーションから第1の通過領域についての交通状況情報を要求することができる。要求に応答して、アプリケーションは、乗員の数に対するプロンプトを(たとえば、ユーザインターフェースを介して)ユーザに示すことができる。ユーザが単独で移動する場合、ユーザは単一の乗員を示すことができる。ユーザが1人または複数の追加の乗員とともに移動する場合、ユーザは、乗員の数について2人以上の乗員を示すことができる。アプリケーションは、乗員の数に対応する交通タイプを決定することができる(たとえば、単一の乗員の指示は普通の交通に対応してもよく、2人以上の乗員の指示はHOV交通に対応してもよい)。アプリケーションは、第1の通過領域および決定された交通タイプを示すデータを含むAPI呼び出しをサーバコンピューティングシステムに送信することができる。API呼び出しに応答して、サーバコンピューティングシステムは、第1の通過領域に対する決定された交通タイプに対応する交通と関連付けられる交通状況情報を示す地図データを決定し、APIを通じて地図データをアプリケーションに提供することができる。アプリケーションは、ユーザインターフェースを介して、地図データをユーザに提供することができる。
いくつかの実装形態では、交通状況情報に対するユーザ要求に応答して、アプリケーションは、要求と関連付けられる交通タイプを示すユーザデータを取得することができる。
例として、ユーザは、ユーザインターフェースを介して、アプリケーションから第1の通過領域についての交通状況情報を要求することができ、ユーザは、情報に対するプロンプトをアプリケーションから受け取る前に、交通タイプまたは乗員の数の指示を要求に含めることができる。アプリケーションは、ユーザによって示される通過領域および交通タイプを示すデータを含むAPI呼び出しをサーバコンピューティングシステムに送信することができる。API呼び出しに応答して、サーバコンピューティングシステムは、通過領域に対する交通タイプと関連付けられる交通状況情報を示す地図データを決定し、APIを通じて地図データをアプリケーションに提供することができる。アプリケーションは、ユーザインターフェースを介して地図データをユーザに提供することができる。
別の例として、ユーザは、ユーザインターフェースを介して、アプリケーションから第1の通過領域についての交通状況情報を要求することができる。要求に応答して、アプリケーションは、第1の通過領域についての交通状況情報に対する要求と関連付けられる交通タイプを示すユーザデータを取得することができる。ユーザデータは、たとえば、ユーザが、普通の交通と関連付けられる交通状況情報を見ることを好むか、HOV交通と関連付けられる交通状況情報を見ることを好むか、有料車線交通と関連付けられる交通状況情報を見ることを好むか、または他の交通タイプと関連付けられる交通状況情報を見ることを好むかなどの、ユーザの1つまたは複数の好みを含み得る。
別の例として、ユーザは、ユーザインターフェースを介して、アプリケーションから第1の通過領域についての交通状況情報を要求することができる。要求に応答して、アプリケーションは、第1の通過領域についての交通状況情報に対する要求と関連付けられる交通タイプを示すユーザデータを取得することができる。ユーザデータは、アプリケーションが要求と関連付けられる交通タイプを決定するために使用できるユーザのコンテキスト情報を含み得る。たとえば、アプリケーションがユーザのスケジュールを含むコンテキスト情報を取得し、その要求がユーザの毎日の単独の通勤と同じ時間に発生することを、アプリケーションがスケジュールに基づいて決定する場合、アプリケーションは、要求が普通の交通に対応する交通状況情報に対するものであることを決定することができる。アプリケーションが、ユーザのスケジュールを含むコンテキスト情報を取得し、その要求がユーザの毎日の相乗り通勤と同じ時間に発生することを、アプリケーションがスケジュールに基づいて決定する場合、アプリケーションは、要求がHOV交通に対応する交通状況情報に対するものであることを決定することができる。アプリケーションが、1人または複数の他のユーザと共有される予定を含むコンテキスト情報を取得し、その予定の位置が第1の通過領域を含むことをアプリケーションが決定する場合、アプリケーションは、要求がHOV交通に対応する交通状況情報に対するものであることを決定することができる。アプリケーションは、アプリケーションによって決定される第1の通過領域および交通タイプを示すデータを含むAPI呼び出しを、サーバコンピューティングシステムに送信することができる。API呼び出しに応答して、サーバコンピューティングシステムは、第1の通過領域に対する交通タイプと関連付けられる交通状況情報を示す地図データを決定し、APIを通じて地図データをアプリケーションに提供することができる。アプリケーションは、ユーザインターフェースを介して、地図データをユーザに提供することができる。スケジュールまたは予定の使用は、例としてのみ与えられる。交通タイプを示すあらゆるタイプのコンテキスト情報(たとえば、位置履歴、移動履歴/旅行日程、購入履歴(たとえば、HOV交通車線で移動することを許可されている電気自動車の購入)など)が、交通状況情報に対する要求と関連付けられる交通タイプを決定するために使用され得ることが理解されるであろう。
いくつかの実装形態では、交通状況情報に対するユーザ要求に応答して、アプリケーションは、要求と関連付けられる乗り物(たとえば、ユーザによって所有される乗り物、要求の時にユーザが使用している乗り物など)を決定することができる。アプリケーションは、要求と関連付けられる交通タイプを決定するために、乗り物と関連付けられる乗り物データを取得することができる。
例として、ユーザは、ユーザインターフェースを介して、アプリケーションから第1の通過領域についての交通状況情報を要求することができる。要求に応答して、アプリケーションは、要求と関連付けられる乗り物の具体的な種類を示す乗り物データを取得することができる。乗り物データは、乗り物の形式/モデル、乗り物の重量、乗り物の寸法、乗り物のタイプ(たとえば、トラック、乗用車など)、乗り物のエンジンタイプ(たとえば、電気、ガソリン、ディーゼルなど)、乗り物の排出ガスデータ、または乗り物の具体的な種類を示す他の情報を含み得る。アプリケーションは、乗り物と関連付けられる1つまたは複数のコンピューティングデバイス(たとえば、車載コンピューティングデバイス、車載メモリなど)から乗り物データを取得することができる。これは、乗り物の車載システムとの直接のインターフェースを介したものであってもよく、またはワイヤレスインターフェース(たとえば、Bluetooth(登録商標))を介したものであってもよい。その具体的な種類の乗り物が、そのような具体的な種類に対応する交通のために指定された交通車線のみを移動することが求められることを、アプリケーションが決定する場合、アプリケーションは、ユーザ要求がその具体的な種類の乗り物に対応する交通タイプと関連付けられることを決定することができる。アプリケーションは、アプリケーションによって決定される第1の通過領域および交通タイプを示すデータを含むAPI呼び出しを、サーバコンピューティングシステムに送信することができる。API呼び出しに応答して、サーバコンピューティングシステムは、第1の通過領域に対する交通タイプと関連付けられる交通状況情報を示す地図データを決定し、APIを通じて地図データをアプリケーションに提供することができる。アプリケーションは、ユーザインターフェースを介して地図データをユーザに提供することができる。
別の例として、アプリケーションは、乗り物の中の乗員の数を示す乗り物データを取得することができる。乗り物データは、乗り物の中の1つまたは複数の座席センサまたはシートベルトセンサの状態を含み得る。単一の座席センサまたはシートベルトセンサのみが作動していることをアプリケーションが決定する場合、アプリケーションは、乗り物が単一の乗員を含むと決定することができる。1つより多くの座席センサまたはシートベルトセンサが作動していることをアプリケーションが決定する場合、アプリケーションは、乗り物が1人より多くの乗員を含むことと、ユーザ要求がHOV交通に対応する交通タイプと関連付けられることとを決定することができる。アプリケーションは、アプリケーションによって決定される第1の通過領域および交通タイプを示すデータを含むAPI呼び出しを、サーバコンピューティングシステムに送信することができる。API呼び出しに応答して、サーバコンピューティングシステムは、第1の通過領域に対する交通タイプと関連付けられる交通状況情報を示す地図データを決定し、APIを通じて地図データをアプリケーションに提供することができる。アプリケーションは、ユーザインターフェースを介して地図データをユーザに提供することができる。
別の例として、アプリケーションは、乗り物の中の料金支払デバイスを示す乗り物データを取得することができる。乗り物データは、料金支払デバイスの状態(たとえば、作動している、または作動していない)を含み得る。料金支払デバイスが作動していることをアプリケーションが決定する場合、アプリケーションは、ユーザ要求が有料車線交通に対応する交通タイプと関連付けられることを決定することができる。アプリケーションは、アプリケーションによって決定される第1の通過領域および交通タイプを示すデータを含むAPI呼び出しを、サーバコンピューティングシステムに送信することができる。API呼び出しに応答して、サーバコンピューティングシステムは、第1の通過領域に対する交通タイプと関連付けられる交通状況情報を示す地図データを決定し、APIを通じて地図データをアプリケーションに提供することができる。アプリケーションは、ユーザインターフェースを介して地図データをユーザに提供することができる。
別の例として、アプリケーションは、乗り物がいる交通車線を示す乗り物データを取得することができる。アプリケーションは、たとえば、1つまたは複数の前面カメラから乗り物データを取得することができる。アプリケーションは、1つまたは複数の前面カメラにより得られたデータに基づいて、乗り物が一番左の車線にいるか、中央の車線にいるか、一番右の車線にいるか、一番左/一番右の車線からある数だけ左側/右側の車線にいるかなどを決定することができる。アプリケーションは、1つまたは複数の機械学習モデル(たとえば、ニューラルネットワーク)のカメラデータへの適用を通じて、乗り物がどの交通車線を占めているかを決定し得る。アプリケーションは、アプリケーションによって決定される第1の通過領域および交通車線を示すデータを含むAPI呼び出しを、サーバコンピューティングシステムに送信することができる。API呼び出しに応答して、サーバコンピューティングシステムは、第1の通過領域に対する交通車線と関連付けられる交通状況情報(たとえば、交通車線と関連付けられる交通タイプに対応する交通と関連付けられる交通状況情報)を示す地図データを決定し、APIを通じて地図データをアプリケーションに提供することができる。アプリケーションは、ユーザインターフェースを介して地図データをユーザに提供することができる。
本明細書で説明されるシステムおよび方法は、いくつかの技術的な効果および利点を提供することができる。たとえば、サーバコンピューティングシステムが通過領域に対する1つまたは複数の交通タイプと関連付けられる複数の交通速度を決定することを可能にすることによって、コンピューティングシステムは、現実世界の物理系(すなわち、道路上を通過している物体)の状態を特徴付ける有用データを取得することができる。このデータから、サーバコンピュータシステムは、ユーザの交通タイプに対応する通過領域に対する交通状況情報を提供することができる。クライアントコンピューティングシステムは、交通タイプの指示を含む交通状況情報に対する要求を送信し、ユーザにより関連のある交通状況情報をクライアントコンピューティングシステムがユーザに提供できるように、示された交通タイプに対応する交通状況情報を受信することができる。具体的には、たとえば複数の交通車線により、通過領域が同じ方向に移動する複数の交通タイプと関連付けられる場合、通過領域に対する平均交通速度は誤解を生むものになり得る。たとえば、通過領域は、渋滞している普通の交通車線と、空いている高速な交通車線とを含み得る。通過領域に対する1つまたは複数の交通タイプと関連付けられる複数の交通速度を決定することによって、複数の交通速度を含む交通状況情報は、平均交通速度より信頼性が高くなり得る。したがって、この情報は、(たとえば、夜に)ユーザが遭遇し得る交通状況の、より信頼性のある高度な情報をユーザに提供することによって、安全性を高め得る。
加えて、上で述べられたように、交通状況情報は、指定された第1の位置と指定された第2の位置との間の通過経路を提案するための自動通過経路提案モジュールなどによる、通過経路の計画のために使用され得る。経路計画の改善はユーザの時間を節約し、燃料消費と汚染の減少をもたらし得る。一例では、本開示は、自動通過経路提案モジュールを利用する自動運転車を制御するための方法およびシステムを提供し得る。
上記に加えて、本明細書で説明されるシステムおよび方法は、交通状況情報に対する要求に適用可能な交通タイプを決定することができる。たとえば、乗り物またはユーザデータが、要求に当てはまる交通状況情報のタイプを決定するために取得され得る。これにより、より正確な交通状況情報の取得が可能になる。
さらに、本明細書で説明されるシステムおよび方法を利用するコンピューティングシステムは、より関連の薄い情報の送信を減らし、それにより帯域幅の要件を下げることができる。
ここで図面を参照して、本開示の例示的な実施形態がさらに詳しく論じられる。
図1は、本開示の例示的な実施形態による例示的なコンピューティング環境を示す。図1を参照すると、環境100は、クライアントコンピューティングシステム102、サーバコンピューティングシステム106、ならびに、システム102および106とインターフェースすることができる1つまたは複数のネットワーク104(たとえば、1つまたは複数の有線および/またはワイヤレスネットワークなど)を含み得る。
システム102は、共通の(または同じ)ユーザと関連付けられる、1つまたは複数のコンピューティングデバイス(たとえば、コンピュータ(たとえば、デスクトップコンピュータ、ラップトップコンピュータなど)、モバイルコンピューティングデバイス(たとえば、タブレットコンピュータ、スマートフォンなど)、ウェアラブルコンピューティングデバイス(たとえば、スマートウォッチなど)など)を含み得る。システム102は、乗り物の内部コンピューティングシステムに直接接続され得る(またはその一部を形成し得る)、乗り物に内蔵されたナビゲーションシステムであり得る。システム102は、1つまたは複数のプロセッサ108、1つまたは複数のセンサ110、1つまたは複数の通信インターフェース112、およびメモリ114を含み得る。
センサ110は、システム102の1つまたは複数のコンピューティングデバイス(たとえば、全地球測位システム(GPS)受信機、通信インターフェース112を介して受信される信号、信号識別子、信号強度などに基づいて位置を決定するように構成される回路など)の地理的位置を示すデータ、乗員の数を示すデータ(たとえば、座席センサ、シートベルトセンサなど)、および/またはシステム102の1つまたは複数のコンピューティングデバイス(たとえば、カメラ)と関連付けられる交通車線を示すデータを、決定および/または受信するように構成される構成要素(たとえば、回路など)を含み得る。
通信インターフェース112は、システム102(たとえば、システム102の1つまたは複数のコンピューティングデバイス)が環境100の1つまたは複数の他のコンピューティングデバイス(たとえば、システム106、システム106の1つまたは複数のコンピューティングデバイスなど)と(たとえば、ネットワーク104などを介して)通信することを可能にするように構成される、1つまたは複数のインターフェース(たとえば、ネットワークインターフェース、有線インターフェース、ワイヤレスインターフェースなど)を含み得る。
メモリ114は命令116を含んでもよく、命令116は、プロセッサ108によって実行されると、システム102(たとえば、システム102の1つまたは複数のコンピューティングデバイス)に本明細書で説明される1つまたは複数の動作を実行させることができる。たとえば、メモリ114は、1つまたは複数のアプリケーション118(たとえば、アプリケーションプログラムなど)、アプリケーションプログラミングインターフェース(API)120、ユーザデータ132、および乗り物データ124を含み得る。ユーザデータ132は、交通タイプを示すユーザ選好情報および/またはコンテキスト情報を含み得る。乗り物データ124は、たとえば、乗り物の形式/モデル、乗り物の重量、乗り物の寸法、または乗り物の具体的な種類を示す他の情報などの、交通状況情報に対するユーザ要求と関連付けられる乗り物を示すデータ、乗り物の中の1つまたは複数の座席センサもしくはシートベルトセンサの状態、乗り物と関連付けられる料金支払デバイスの状態、および/または、乗り物がいる交通車線を含み得る。
本開示の実施形態によれば、API120は、交通状況情報を取得するために、アプリケーション118とシステム106との間の通信を促進するように構成され得る。いくつかの実施形態では、アプリケーション118は、ユーザがそのようなデータの使用に同意する事例において、ユーザから交通状況情報に対する要求と関連付けられる交通タイプを決定するために、ユーザデータ132にアクセスし、ユーザ選好情報および/またはコンテキスト情報を取り出すことができる。いくつかの実施形態では、アプリケーション118は、ユーザから交通状況情報に対する要求と関連付けられる交通タイプを決定するために、乗り物データ134をアクセスすることができる。
システム106は、システム102から離れて位置し得る(たとえば、システム102が位置する地理的位置から離れた地理的位置に位置し得る)。システム106は、1つまたは複数のコンピューティングデバイス(たとえば、コンピュータ、サーバ、メインフレーム、仮想コンピューティングプラットフォームなど)を含み得る。システム106は、1つまたは複数のプロセッサ122、1つまたは複数の通信インターフェース124、およびメモリ126を含み得る。通信インターフェース124は、システム106(たとえば、システム106の1つまたは複数のコンピューティングデバイス)が環境100の1つまたは複数の他のコンピューティングデバイス(たとえば、システム102、システム102の1つまたは複数のコンピューティングデバイスなど)と(たとえば、ネットワーク104などを介して)通信することを可能にするように構成される、1つまたは複数のインターフェース(たとえば、ネットワークインターフェース、有線インターフェース、ワイヤレスインターフェースなど)を含み得る。メモリ126は命令128を含んでもよく、命令128は、プロセッサ122によって実行されると、システム106(たとえば、システム106の1つまたは複数のコンピューティングデバイス)に本明細書で説明される1つまたは複数の動作を実行させることができる。メモリ126はまた、複数の物体と関連付けられる交通を示す交通サンプルデータ130を含み得る(たとえば、記憶、ホストなどを行い得る)。
図2A~図2Dは、本開示の例示的な実施形態による例示的なイベント系列を示す。図2Aを参照すると、(208)において、ユーザ202(たとえば、システム102と関連付けられるユーザ)は、1つまたは複数のアプリケーション118(たとえば、システム102の1つまたは複数のコンピューティングデバイスで実行されるアプリケーション)から通過領域についての交通状況情報を要求することができる。(210)において、アプリケーション118は、通過領域についての交通状況情報を要求するために、API120を使用して呼び出しを行い得る(たとえば、データの通信などを行い得る)。たとえば、API呼び出しは、リモートシステム106から交通状況情報を要求するために、アプリケーション118から出され得る。
(212)において、システム102は(たとえば、ネットワーク104から下方に延びる線上の陰影を付けられたボックスにより示されるように、ネットワーク104を介して、など)API120を使用してシステム106にデータに対する要求を通信することができる。たとえば、要求は通過領域についての交通状況情報に対するものであり得る。システム106は、たとえば、交通サンプルデータ130に基づいて(たとえば、通過領域内の1つまたは複数の道路セグメント上の1つまたは複数の物体の移動速度を示すデータに基づいて)、要求されたデータ(またはその一部など)を決定することができ、(214)において、システム106は、API120を使用して要求されたデータ(その一部など)をシステム102に通信することができ、システム102は、システム106から要求されたデータ(その一部など)を受信することができる。たとえば、データは、通過領域についての交通状況情報を示す地図データを含み得る。
(216)において、交通状況情報は、API120を使用してアプリケーション118(たとえば、(202)において呼び出しを行ったアプリケーション)に返され得る。
(218)において、アプリケーション118は、交通状況情報をユーザに提供することができる。たとえば、アプリケーションは、通過領域の地図を表示し、通過領域の中の1つまたは複数の道路セグメントを、地図データに含まれる道路セグメントと関連付けられる色分けされた識別子に対応する色、影、または他の視覚的な特性を用いて表示することができる。
いくつかの実装形態では、(208)において、ユーザ202は、交通タイプまたは乗員の数の指示を、アプリケーション118から通過領域についての交通状況情報に対する要求とともに含め得る。この場合、(210)において、アプリケーション118は、交通タイプと関連付けられる通過領域についての交通状況情報を要求するために、API120を使用して呼び出しを行い得る(たとえば、データの通信などを行い得る)。交通状況情報を要求するAPI呼び出しは、アプリケーション118から受信され得る。(212)において、システム102は、交通タイプと関連付けられる通過領域についての交通状況情報に対する要求をシステム106に通信することができる。システム106は、要求されたデータを決定することができ、(214)において、システム106は、要求されたデータをシステム102に通信することができる。(216)において、交通タイプと関連付けられる交通状況情報は、API120を使用してアプリケーション118に返され得る。(218)において、アプリケーション118は、交通状況情報をユーザに提供することができる。
図2Bを参照すると、(208)において、ユーザ202(たとえば、システム102と関連付けられるユーザ)は、1つまたは複数のアプリケーション118(たとえば、システム102の1つまたは複数のコンピューティングデバイス上で実行されるアプリケーション)から通過領域についての交通状況情報を要求することができる。(220)において、アプリケーション118は、交通タイプに対するプロンプトをユーザに示すことができる。ユーザ202は、交通タイプを示すデータをアプリケーション118に提供することができる。たとえば、ユーザ202は、アプリケーション118のユーザインターフェースを介して、交通タイプの所定のリストから1つまたは複数の交通タイプを選択することができ、ユーザ202は、要求された交通状況情報が単一の乗員に対するものであるか、または複数の乗員に対するものであるかを示すことができ、かつ/または、ユーザ202は、要求と関連付けられる乗り物の具体的な種類を示すことができる。アプリケーション118は、プロンプトに応答してユーザ202によって提供されるデータに基づいて交通タイプを決定することができる。たとえば、ユーザ202が第1の交通タイプを選択する場合、アプリケーション118は、交通タイプを第1の交通タイプとして決定することができる。別の例として、ユーザ202が乗員の数の指示を提供する場合、アプリケーション118は、乗員の数に対応する交通タイプを決定することができる。
(210)において、アプリケーション118は、交通タイプと関連付けられる通過領域についての交通状況情報を要求するために、API120を使用して呼び出しを行う(たとえば、データの通信などを行う)ことができる。たとえば、API呼び出しは、リモートシステム106から交通状況情報を要求するために、アプリケーション118から出され得る。
(212)において、システム102は(たとえば、ネットワーク104から下方に延びる線上の陰影を付けられたボックスにより示されるように、ネットワーク104を介して、など)API120を使用してシステム106にデータに対する要求を通信することができる。たとえば、要求は、交通タイプと関連付けられる通過領域についての交通状況情報に対するものであり得る。システム106は、たとえば、交通サンプルデータ130に基づいて(たとえば、通過領域内の1つまたは複数の道路セグメント上の1つまたは複数の物体の移動速度を示すデータに基づいて)、要求されたデータ(またはその一部など)を決定することができ、(214)において、システム106は、API120を使用して要求されたデータ(その一部など)をシステム102に通信することができ、システム120は、システム106から要求されたデータ(その一部など)を受信することができる。たとえば、データは、交通タイプと関連付けられる通過領域についての交通状況情報を示す地図データを含み得る。
(216)において、交通状況情報は、API120を使用してアプリケーション118(たとえば、(202)において呼び出しを行ったアプリケーション)に返され得る。
(218)において、アプリケーション118は、交通状況情報をユーザに提供することができる。たとえば、アプリケーションは、通過領域の地図を表示し、通過領域の中の1つまたは複数の道路セグメントを、地図データに含まれる道路セグメントと関連付けられる色分けされた識別子に対応する色、影、または他の視覚的な特性を用いて表示することができる。
図2Cを参照すると、(208)において、ユーザ202(たとえば、システム102と関連付けられるユーザ)は、アプリケーション118(たとえば、システム102の1つまたは複数のコンピューティングデバイス上で実行されるアプリケーション)から通過領域についての交通状況情報を要求することができる。(224)において、アプリケーション118は、通過領域についての交通状況情報に対する要求に対応する交通タイプを決定するために、メモリ114の中のユーザデータ132にアクセスすることができる。(226)において、アプリケーション118は、ユーザデータ132から交通タイプを示すデータを取り出すことができる。
図2Dを参照すると、(208)において、ユーザ202(たとえば、システム102と関連付けられるユーザ)は、アプリケーション118(たとえば、システム102の1つまたは複数のコンピューティングデバイス上で実行されるアプリケーション)から通過領域についての交通状況情報を要求することができる。(228)において、アプリケーション118は、通過領域についての交通状況情報に対する要求に対応する交通タイプを決定するために、メモリ114の中の乗り物データ134にアクセスすることができる。(230)において、アプリケーション118は、乗り物データ134から交通タイプを示すデータを取り出すことができる。
図3Aから図3Cは、本開示の例示的な実施形態による交通状況情報の視覚化を示す。図3Aを参照すると、位置Aから位置Bへの通過経路302、および位置Bから位置Aへの通過経路304がある。通過経路302および304は各々、複数の通過領域311、312、313、314、315、316、および317を含み得る。通過領域311、312、313、314、315、316、および317の各々は、1つまたは複数の道路セグメントを含み得る。たとえば、通過領域311は道路セグメント331および341を含み、通過領域312は道路セグメント332および342を含み、通過領域313は道路セグメント333および343を含み、通過領域314は道路セグメント334および344を含み、通過領域315は道路セグメント335および345を含み、通過領域316は道路セグメント336および346を含む。
本開示の例示的な実施形態によれば、通過経路302は、第1の交通タイプに対応する第1の交通速度および第2の交通タイプに対応する第2の交通速度と関連付けられ得る。たとえば、第1の交通速度は通過経路302と関連付けられる速度制限より速いことがあり、第2の交通速度は通過経路302と関連付けられる速度制限より遅いことがある。
図3Bに示されるように、ユーザが第1の交通タイプと関連付けられる通過経路302についての交通状況情報を要求する場合、システム106は、第1の交通タイプと関連付けられる第1の交通速度を示す地図データを決定することができる。第1の交通速度を示す地図データは、通過経路302の各道路セグメントと関連付けられる第1の色分けされた識別子(薄い灰色で示される)を含み得る。
図3Cに示されるように、ユーザ要求が第2の交通タイプと関連付けられる通過経路302についての交通状況情報を要求する場合、システム106は、第2の交通タイプと関連付けられる第2の交通速度を示す地図データを決定することができる。第2の交通速度を示す地図データは、通過経路302の各道路セグメントと関連付けられる第2の色分けされた識別子(濃い灰色で示される)を含み得る。
図4A~図4Bは、本開示の例示的な実施形態による、道路セグメント上の移動速度の例示的な分布を示す。道路セグメント上の移動速度の分布は、道路セグメント上の複数の物体(たとえば、乗り物、歩行者など)と関連付けられる複数の移動速度を示す交通サンプルデータ130に基づき得る。システム106は、たとえば、人により提供される観察結果、交通センサのネットワーク、および/または複数の物体からの1つまたは複数の物体と関連付けられる1つまたは複数のモバイルデータソース(たとえば、人が持っているまたは乗り物の中にあるスマートフォン)などの、1つまたは複数のデータソースから交通サンプルデータ130を取得することができる。交通サンプルデータ130は、道路セグメント上の複数の物体の第1の時間における位置および第2の時間における位置を少なくとも含み得る。システム106は、交通サンプルデータに基づいて、複数の物体の各々と関連付けられる移動速度を決定することができる。代替的に、システム106は、複数の物体と関連付けられる複数の移動速度を含む交通サンプルデータ130を取得することができる。
図4Aに示されるように、第1の道路セグメント上での移動速度の分布は単一の全体的なピークを含むことがあり、地理情報サービスは、その分布に基づいて、第1の道路セグメントが単一の交通速度と関連付けられると決定することができる。地理情報サービスは、交通タイプを単一の交通速度(たとえば、普通の交通)と関連付け、道路セグメントを交通タイプと関連付けることができる。
図4Bに示されるように、第1の道路セグメント上での移動速度の分布は、第1の局所的なピークおよび第2の局所的なピークを含むことがある。地理情報サービスは、その分布に基づいて、第1の道路セグメントが第1の局所的なピークに対応する第1の交通速度および第2の局所的なピークに対応する第2の交通速度と関連付けられることを決定することができる。地理情報サービスは、第1の交通タイプを第1の交通速度と関連付け、第2の交通タイプを第2の交通速度と関連付けることができる。
図5は、本開示の例示的な実施形態による、交通状況情報を決定するための方法500の流れ図を示す。(501)において、方法500は、第1の道路セグメント上の交通の第1の方向と関連付けられる交通サンプルデータを取得するステップを含み得る。たとえば、システム106は、第1の道路セグメント上の交通の第1の方向と関連付けられる交通サンプルデータ130を取得することができる。交通サンプルデータ130は、複数の物体と関連付けられる複数の移動速度を示すデータを含み得る。
(502)において、方法500は、交通の第1の方向に対する複数の平均交通速度を決定するステップを含み得る。たとえば、システム106は、交通サンプルデータ130の中の複数の移動速度に少なくとも部分的に基づいて、第1の道路セグメント上の交通の第1の方向に対する複数の平均交通速度を決定することができる。複数の平均交通速度の各々は、第1の道路セグメントの1つまたは複数の車線と関連付けられ得る。具体的には、システム106は、複数の移動速度の分布を決定し、複数の移動速度の分布に基づいて複数のピークを特定することができる。複数のピークからの各ピークは、複数の移動速度のサブセットと関連付けられ得る。システム106は、複数のピークから第1のピークを、第1のピークの周りに分布する複数の移動速度の第1のクラスタに少なくとも部分的に基づいて特定し、複数のピークから第2のピークを、第2のピークの周りに分布する複数の移動速度の第2のクラスタに少なくとも部分的に基づいて特定することができる。第1のピークと関連付けられる複数の移動速度のサブセットは第1のクラスタに対応してもよく、第2のピークと関連付けられる複数の移動速度のサブセットは第2のクラスタに対応してもよい。システム106は、ピークと関連付けられる移動速度のサブセットの平均に少なくとも部分的に基づいて、複数のピークからの各ピークに対する平均交通速度を決定することができる。システム106は、複数のピークからの各ピークに対する平均交通速度を、複数の交通タイプからの異なる交通タイプと関連付けることができる。
(503)において、方法500は、複数の平均交通速度を複数の平均交通タイプと関連付けるステップを含み得る。たとえば、システム106は、複数の平均交通速度の各々を複数の交通タイプのうちの少なくとも1つと関連付けることができる。具体的には、システム106は、複数の平均交通速度からのある平均交通速度を、複数の交通タイプから複数の交通タイプからのある交通タイプと、複数の平均交通速度に対する相対的なその平均交通速度の値に少なくとも部分的に基づいて関連付けることができる。システム106は、複数の平均交通速度の中で値が最低の平均交通速度を複数の交通タイプからの第1の交通タイプと関連付け、複数の平均交通速度の中で値が最高の平均交通速度を複数の交通タイプからの第2の交通タイプと関連付けることができる。
(504)において、方法500は、複数の交通タイプおよび関連付けられる平均交通速度に基づいて地図データを決定するステップを含み得る。たとえば、システム106は、複数の交通タイプおよび関連付けられる平均交通速度に少なくとも部分的に基づいて地図データを決定することができる。
(505)において、方法500は、地図データを送信することを含み得る。たとえば、システム106は、要求に応答して、複数の交通タイプのうちの少なくとも1つに対応する地図データをシステム102に送信することができる。具体的には、システム106は、第1の交通タイプと関連付けられる第1の平均速度に対応する第1の経路指定選択肢と、第2の交通タイプと関連付けられる第2の平均速度に対応する第2の経路指定選択肢とを少なくとも含む、複数の経路指定またはナビゲーションの選択肢を送信することができる。いくつかの実装形態では、要求は第1の交通タイプを含んでもよく、地図データは第1の交通タイプに対応してもよい。地図データは複数の交通タイプのうちの2つ以上に対応してもよく、地図データは、第1の交通タイプと複数の交通タイプからの少なくとも第2の交通タイプとの比較を含んでもよい。いくつかの実装形態では、要求は経路指定要求であり、送信される地図データは、第1の平均速度に基づく第1の経路指定データおよび第2の平均速度に基づく第2の経路指定データを含み得る。
図6は、本開示の例示的な実施形態による、複数の交通速度をある交通タイプと関連付けるための方法600の例示的な流れ図を示す。(601)において、方法600は、複数の移動速度の分布を決定するステップを含み得る。たとえば、システム106は、交通サンプルデータ130に基づいて、複数の移動速度の分布を決定することができる。
(602)において、方法600は、分布に基づいて複数のピークを特定するステップを含み得る。たとえば、システム106は、複数の移動速度の分布に基づいて複数のピークを特定することができる。複数のピークからの各ピークは、複数の移動速度のサブセットと関連付けられ得る。システム106は、複数のピークから第1のピークを、第1のピークの周りに分布する複数の移動速度の第1のクラスタに少なくとも部分的に基づいて特定し、複数のピークから第2のピークを、第2のピークの周りに分布する複数の移動速度の第2のクラスタに少なくとも部分的に基づいて特定することができる。第1のピークと関連付けられる複数の移動速度のサブセットは第1のクラスタに対応してもよく、第2のピークと関連付けられる複数の移動速度のサブセットは第2のクラスタに対応してもよい。
(603)において、方法600は、ピークと関連付けられる移動速度に基づいて、各ピークに対する平均交通速度を決定するステップを含み得る。たとえば、システム106は、ピークと関連付けられる移動速度のサブセットの平均に少なくとも部分的に基づいて、複数のピークからの各ピークに対する平均交通速度を決定することができる。
(604)において、方法600は、各ピークに対する平均交通速度を交通タイプと関連付けるステップを含み得る。たとえば、システム106は、複数のピークからの各ピークに対する平均交通速度を、複数の交通タイプからの異なる交通タイプと関連付けることができる。
図7は、本開示の例示的な実施形態による、交通状況情報を決定するための方法700の例示的な流れ図を示す。(701)において、方法700は、交通状況情報に対する要求を受信するステップを含み得る。たとえば、アプリケーション118は、ユーザ202から交通状況情報に対する1つまたは複数の要求を受信することができる。ユーザ202からの1つまたは複数の要求は、第1の位置、第2の位置、および交通タイプを示すデータを含み得る。アプリケーションは、API120を介して要求をシステム106に提供することができる。
(702)において、方法700は、第1の通過経路を決定するステップを含み得る。たとえば、システム106は、第1の位置から第2の位置への第1の通過経路を決定することができる。第1の通過経路は、複数の交通タイプからの第1の交通タイプと関連付けられる1つまたは複数の通過領域を含み得る。
(703)において、方法700は、第1の通過経路と関連付けられる1つまたは複数の交通タイプに対応する1つまたは複数の通過所要時間を決定するステップを含み得る。たとえば、システム106は、複数の交通タイプからの2つ以上の交通タイプと関連付けられる第1の通過経路の第1の通過領域を特定することができる。2つ以上の交通タイプは、複数の交通タイプからの第1の交通タイプおよび第2の交通タイプを含み得る。システム106は、第1の交通タイプと関連付けられる交通速度に対応する、第1の通過経路に対する第1の通過所要時間を決定することができる。具体的には、システム106は、通過領域に対する第1の交通タイプと関連付けられる平均交通速度に少なくとも部分的に基づいて、1つまたは複数の通過領域の各々に対する交通速度を決定することができる。システム106は、1つまたは複数の通過領域の各々に対する平均交通速度に少なくとも部分的に基づいて、第1の通過経路に対する第1の通過所要時間を決定することができる。いくつかの実装形態では、システム106は、複数の交通タイプからの第2の交通タイプと関連付けられる交通速度に対応する、第1の通過経路に対する第2の通過所要時間を決定することができる。
(704)において、方法700は、要求と関連付けられる交通タイプに基づいて地図データを決定するステップを含み得る。たとえば、システム106は、ユーザ202から受信された交通タイプを示すデータに少なくとも部分的に基づいて、第1の交通タイプをユーザ202と関連付け、第1の通過経路に対する第1の通過所要時間を示す地図データを決定することができる。具体的には、システム106は、1つまたは複数の通過領域の各々に対する速度制限を示すデータを取得し、差に基づいて1つまたは複数の通過領域の各々に対する色分けされた識別子を関連付け、1つまたは複数の通過領域の各々と関連付けられる色分けされた識別子に基づいて地図データを決定することができる。いくつかの実装形態では、システム106は、第2の通過所要時間が第1の通過所要時間より短い場合、第1の通過経路に対する第2の通過所要時間を示す地図データを決定することができる。
(705)において、方法700は地図データを送信するステップを含み得る。たとえば、システム106は、交通状況情報に対する要求に応答して、API120を介して地図データをアプリケーション118に提供することができる。
図8は、本開示の例示的な実施形態による、交通状況情報を決定するための方法800の例示的な流れ図を示す。(801)において、方法800は、交通状況情報に対する要求を受信するステップを含み得る。たとえば、アプリケーション118は、ユーザ202から交通状況情報に対する1つまたは複数の要求を受信することができる。ユーザ202からの1つまたは複数の要求は、第1の位置、第2の位置、および交通タイプを示すデータを含み得る。アプリケーションは、API120を介して要求をシステム106に提供することができる。いくつかの実装形態では、システム106は、交通タイプを選択するためのプロンプトをユーザ202に提供し、プロンプトに応答してユーザ202から交通タイプを示すデータを受信することができる。
(802)において、方法800は、第1の交通タイプと関連付けられる第1の通過経路および第2の交通タイプと関連付けられる第2の通過経路を決定するステップを含み得る。たとえば、システム106は、第1の位置から第2の位置への第1の通過経路を決定することができる。第1の通過経路は、複数の交通タイプからの第1の交通タイプと関連付けられる1つまたは複数の通過領域を含み得る。システム106はまた、第1の位置から第2の位置への第2の通過経路を決定することができる。第2の通過経路は、複数の交通タイプからの第2の交通タイプと関連付けられる少なくとも1つの通過領域を含み得る。いくつかの実装形態では、第1の通過経路および第2の通過経路はともに、複数の交通タイプからの2つ以上の交通タイプと関連付けられる第1の通過領域を含み得る。2つ以上の交通タイプは、第1の交通タイプおよび第2の交通タイプを含む。
(803)において、方法800は、第1の交通タイプに対応する第1の通過所要時間および第2の交通タイプに対応する第2の通過所要時間を決定するステップを含み得る。たとえば、システム106は、第1の交通タイプと関連付けられる交通速度に対応する、第1の通過経路に対する第1の通過所要時間を決定することができる。システム106はまた、第2の交通タイプと関連付けられる交通速度に対応する、第2の通過経路に対する第2の通過所要時間を決定することができる。
(804)において、方法800は、第1および第2の通過所要時間に基づいて地図データを決定するステップを含み得る。たとえば、システム106は、第1の通過所要時間および第2の通過所要時間に少なくとも部分的に基づいて、複数の交通タイプからの第1の交通タイプをユーザ202と関連付けることができる。具体的には、システム106は、第1の通過所要時間が第2の通過所要時間より短い場合、第1の交通タイプをユーザ202と関連付けることができる。代替的に、システム106は、第2の通過所要時間が第1の通過所要時間より短い場合、複数の交通タイプからの第2の交通タイプをユーザ202と関連付けることができる。
(805)において、方法800は、地図データを送信するステップを含み得る。たとえば、システム106は、交通状況情報に対する要求に応答して、API120を介して地図データをアプリケーション118に提供することができる。
図9は、本開示の例示的な実施形態による、交通状況情報を表示するための方法900の例示的な流れ図を示す。(901)において、方法900は、交通状況情報を要求するステップを含み得る。たとえば、アプリケーション118は、ユーザ202から交通状況情報に対する要求を受信することができる。要求は、1つまたは複数の道路セグメント(たとえば、通過経路、通過領域など)を示すデータを含み得る。いくつかの実装形態では、要求は、ユーザによって提供される要求と関連付けられる交通タイプ(たとえば、選択された交通タイプを示すデータ、乗員の数、ある種類の乗り物など)を含み得る。
(902)において、方法900は、要求が交通タイプを示すデータを含まない場合、要求と関連付けられる交通タイプを決定するステップを含み得る。たとえば、いくつかの実装形態では、アプリケーション118は、交通タイプ、乗員の数、および/またはある種類の乗り物を選択するためのプロンプトをユーザ202に提供することができる。アプリケーション118は、プロンプトに応答して、ユーザ202から交通タイプを示すデータを受信することができる。いくつかの実装形態では、アプリケーション118は、(たとえば、乗り物に内蔵されたセンサおよびメモリなどのコンピューティングシステムから)要求と関連付けられる交通タイプを決定するために、ユーザデータ132および/または乗り物データ134を取り出すことができる。ユーザデータ132は、ユーザ202と関連付けられる1つまたは複数の好みおよび/またはユーザ202と関連付けられるコンテキスト情報を含み得る。乗り物データ134は、乗り物の形式/モデル、乗り物の重量、乗り物の寸法、乗り物のタイプ(たとえば、トラック、乗用車など)、乗り物のエンジンタイプ(たとえば、電気、ガソリン、ディーゼルなど)、乗り物の排出ガスデータ、もしくは要求と関連付けられる特定の種類の乗り物を示す他の情報、乗り物の中の1つまたは複数の座席センサもしくはシートベルトセンサの状態、料金支払デバイスの状態、および/または、乗り物がいる交通車線を示すデータを含み得る。アプリケーション118は、ユーザデータ132および/または乗り物データ134に基づいて要求と関連付けられる交通タイプを決定することができる。いくつかの実装形態では、アプリケーション118は、要求と関連付けられる交通タイプを決定するために、API120を介してユーザデータ132および/または乗り物データ134(またはその一部)をシステム106に提供することができる。たとえば、アプリケーション118は、API120を介して乗り物の交通車線を示すデータをシステム106に提供することができ、システム106は、交通車線と関連付けられる交通タイプを示す道路セグメント属性データに基づいて、交通車線と関連付けられる交通タイプを決定することができる。
(903)において、方法900は、要求と関連付けられる交通タイプに基づいて地図データを決定するステップを含み得る。たとえば、アプリケーション118は、API120を介してシステム106から道路セグメントに対する交通状況情報を要求することができる。アプリケーション118は、要求と関連付けられる決定された交通タイプを示すデータをシステム106に提供することができる。いくつかの実装形態では、アプリケーション118は、上で説明されたように、API120を介してユーザデータ132および/または乗り物データ134(またはその一部)をシステム106に提供することができる。システム106は、要求と関連付けられる交通タイプに対応する道路セグメントに対する交通状況情報を示す地図データ(たとえば、道路セグメント上の交通タイプに対応する交通と関連付けられる交通速度および/または通過所要時間)を決定することができる。地図データは、複数の道路セグメントからの各道路セグメントと関連付けられる色分けされた識別子を含み得る。システム106は、決定された地図データをアプリケーション118に提供することができる。
(904)において、方法900は、地図データを表示するステップを含み得る。たとえば、アプリケーション118は、道路セグメントの地図を含むグラフィカルユーザインターフェースを表示することができる。セグメントは、複数の道路セグメントからの各道路セグメントと関連付けられる色分けされた識別子に基づいて表示され得る。
本明細書で論じられる技術は、サーバ、データベース、ソフトウェアアプリケーション、および/または他のコンピュータベースのシステム、ならびに、とられる行動およびそのようなシステムへ、かつ/またはそのようなシステムから送信される情報に言及する。コンピュータベースのシステムに内在する柔軟性により、多種多様な可能な構成、組合せ、ならびに/または、構成要素間でのタスクおよび/もしくは機能の分割が可能になる。たとえば、本明細書で論じられるプロセスは、単一のデバイスもしくは構成要素を使用して、かつ/または組合せで動作する複数のデバイスもしくは構成要素を使用して実施され得る。データベースおよび/またはアプリケーションは、単一のシステムで実施されてもよく、かつ/または複数のシステムにわたって分散していてもよい。分散している構成要素は、逐次的に、かつ/または並列に動作することができる。
要素間の様々な接続が上の説明で論じられる。これらの接続は一般的であり、別段指定されない限り、直接的であっても、かつ/または間接的であってもよく、有線であっても、かつ/またはワイヤレスであってもよい。これに関して、明細書は限定することを意図していない。
図示および/または説明されたステップは、説明のためのものにすぎず、省略され、組み合わされ、かつ/または、図示および/もしくは説明されるものとは異なる順序で実行されてもよい。図示されるステップの数字は、参照を簡単にするためのものにすぎず、特定の順序が必要である、または好ましいことを示唆するものではない。本明細書で説明される機能および/またはステップは、本明細書で説明される1つまたは複数の機能を実行するために1つまたは複数のコンピュータおよび/または他のデバイスによって実行される、コンピュータ使用可能データおよび/またはコンピュータ実行可能命令において具現化され得る。一般に、そのようなデータおよび/または命令は、コンピュータおよび/または他のデータ処理デバイスの中の1つまたは複数のプロセッサによって実行されると、特定のタスクを実行する、かつ/または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。コンピュータ実行可能命令は、ハードディスク、光学ディスク、リムーバブルストレージメディア、ソリッドステートメモリ、読み取り専用メモリ(RAM)などの、コンピュータ可読媒体に記憶され得る。理解されるように、そのような命令の機能は、望み通りに組み合わされてもよく、かつ/または分散していてもよい。加えて、機能は、ファームウェア、および/または、集積回路、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などのハードウェア等価物において、全体もしくは一部が具現化され得る。本開示の1つまたは複数の態様をより効果的に実装するために、特定のデータ構造を使用することができ、そのようなデータ構造は、本明細書で説明されるコンピュータ実行可能命令および/またはコンピュータ使用可能データの範囲内にあることが企図される。
必須ではないが、本明細書で説明される様々な態様は、方法、システム、装置、および/またはコンピュータ実行可能命令を記憶する1つまたは複数のコンピュータ可読媒体として具現化され得ることを、当業者は理解するであろう。したがって、態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、完全にファームウェアの実施形態、ならびに/または、ソフトウェア、ハードウェア、および/もしくはファームウェアの態様を任意の組合せで組み合わせる実施形態の形態をとることができる。
本明細書で説明されるように、1つまたは複数のコンピューティングデバイスおよび/またはネットワークにわたって、様々な方法および活動が有効であり得る。機能は、任意の方式で分散されてもよく、または単一のコンピューティングデバイス(たとえば、サーバ、クライアントコンピュータ、ユーザデバイスなど)に位置していてもよい。
本開示の態様は、それらの説明のための実施形態に関して説明されてきた。添付の特許請求の範囲および趣旨内にある多数の他の実施形態、修正、および/または変形が、本開示の検討から当業者に想起され得る。たとえば、図示および/もしくは説明されるステップが、記載された順序以外で実行されてもよいこと、ならびに/または、1つまたは複数の示されるステップが、任意選択であってもよく、および/もしくは組み合わされてもよいことを、当業者は理解することができる。以下の特許請求の範囲におけるあらゆるすべての特徴が、任意の可能な方法で組み合わされ、かつ/または並べ替えられてもよい。本主題は、それらの様々な特定の例示的な実施形態に関して詳しく説明されたが、各々の例は、本開示の限定ではなく説明のために与えられる。当業者は、前述の理解に達すると、そのような実施形態の変更、変形、および/または均等物を容易に作り出すことができる。したがって、主題の開示は、当業者には容易に明らかであるように、本主題のそのような修正、変形、および/または追加の包含を排除しない。たとえば、ある実施形態の一部として図示および/または説明される特徴は、さらなる実施形態を生み出すために別の実施形態とともに使用され得る。したがって、本開示は、そのような変更、変形、および/または均等物を包含することが意図される。
上の説明に付け加えると、本明細書で説明されるシステム、アプリケーション、または特徴がユーザ情報(たとえば、ユーザの好み、ユーザの現在地、ユーザのソーシャルネットワークについてのコンテキスト情報、社会的な行動、活動、または職業)の収集を可能にし得るかどうか、およびいつ可能にし得るかの両方について、ならびに、ユーザ情報に基づいてサーバからコンテンツまたは通信をユーザが送信されるかどうかについての選択をユーザが行うことを可能にする、制御手段をユーザが与えられてもよい。加えて、個人を特定可能な情報が削除されるように、あるデータは、記憶または使用される前に1つまたは複数の方法で扱わされ得る。たとえば、ユーザの識別情報は、ユーザについて個人を特定可能な情報を決定できないように、または、ユーザの具体的な位置を決定できないように位置情報が取得されるユーザの地理的位置が(たとえば、都市、郵便番号、または州レベルに)一般化され得るように扱われてもよい。したがって、ユーザは、ユーザについてのどの情報が収集されるか、その情報がどのように使用されるか、およびどの情報がユーザに提供されるかについて、管理することができる。