(57)【要約】ロードマップを生成するシステムおよび方法が提供される。この方法は、ナビゲーション端末のためのナビゲーションルートと、ナビゲーション端末の現在のロケーションを含む。方法はさらに、ナビゲーションルートとナビゲーション端末の現在のロケーションに基づいてナビゲーション端末の現在のロケーションに関連づけられたロードネットワークデータを取得することをさらに含む。ロードネットワークデータは、複数のリンクと複数のノードを含む。各ノードは、少なくとも１つのタイプのリンクを含む１つ以上のリンクに接続される。方法はさらに、各ノードに関するレベルを決定することを含む。この方法は、さらに、ノードのレベルに基づいてノードに接続された少なくとも１つのタイプのリンクに関する１つ以上のターゲットリンクを決定することを含む。方法はさらに、ターゲットリンクに基づいてロードマップを生成することを含む。【選択図】図６
2021515894.tif 000002
【特許請求の範囲】
【請求項１】
ナビゲーション端末と通信するように構成されたリモートナビゲーションデバイスにおいて、
ロードマップを生成するための命令のセットを含む少なくとも１つの記憶媒体と、
前記記憶媒体と通信している少なくとも１つのプロセッサであって、前記命令のセットを実行しているとき、前記少なくとも１つのプロセッサは、
前記ナビゲーション端末に関するナビゲーションルートと、前記ナビゲーション端末の現在のロケーションを取得し、
前記ナビゲーション端末の前記ナビゲーションルートと前記現在のロケーションに基づいて、前記ナビゲーション端末の前記現在のロケーションに関連づけられたロードネットワークデータを取得し、前記ロードネットワークデータは、複数のリンクと複数のノードを含み、前記複数のノードの各々は、１つまたは複数のリンクに接続され、前記１つまたは複数のリンクは、少なくとも１つのタイプのリンクを含み、
前記複数のノードの各々に関するレベルを決定し、
前記複数のノードの各々に関して、前記ノードのレベルに基づいて、前記ノードに接続された前記少なくとも１つのタイプのリンクに関する１つまたは複数のターゲットリンクを決定し、
前記ターゲットリンクに基づいてロードマップを生成する、
ように指示される、リモートナビゲーションデバイス。
【請求項２】
前記複数のノードの各々に関する前記レベルを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記複数のノードから前記ナビゲーションルート上の複数のノードを取得し、
前記ナビゲーションルート上の前記複数のノードから１つのノードを基準ノードとして指定し、
前記ナビゲーションルート上の前記複数のノードの各々に関して、前記ノードと前記基準ノードとの間の距離に基づいて前記ノードのレベルを決定し、
前記複数のノードから前記ナビゲーションルート上に無い複数のノードを取得し、
前記ナビゲーションルート上に無い複数のノードに関して、前記ナビゲーションルート上の前記ノードの前記レベル、および前記複数のノードに関係するトポロジー関係に基づいて前記ノードのレベルを決定する、
ようにさらに指示される、請求項１に記載のリモートナビゲーションデバイス。
【請求項３】
前記ナビゲーションルート上の複数のノードの各々に関して、前記ノードと前記基準ノードとの間の前記距離に基づいて前記ノードの前記レベルを決定するために、前記少なくとも１つのプロセッサは、
前記ノードと前記基準ノードとの間の前記距離が、第１のしきい値よりも大きいかどうかを判断し、
前記ノードと前記基準ノードとの間の前記距離が、前記第１のしきい値以下であると判断したことに応答して、前記ノードの前記レベルを第１の値として決定し、
前記ノードと前記基準ノードとの間の前記距離が、前記第１のしきい値より大きいと判断することに応答して前記ノードの前記レベルを第２の値として決定する、
ようにさらに指示される、請求項２に記載のリモートナビゲーションデバイス。
【請求項４】
内部リンク、ラウンドアバウトリンクまたはショートリンクにより接続された前記複数のノードの内の２つのノードの前記レベルは、同じである、請求項１に記載のリモートナビゲーションデバイス。
【請求項５】
前記ノードの前記レベルに基づいて、前記ノードに接続された１つのタイプのリンクに関する前記１つまたは複数のターゲットリンクを決定するために、前記少なくとも１つのプロセッサはさらに、
前記ノードの前記レベルが前記第１の値かどうかを判断し、
前記ノードの前記レベルが前記第１の値であるとの判断に応答して、前記ノードに接続された前記タイプのリンクのすべてを決定する、
ようにさらに指示される、請求項１に記載のリモートナビゲーションデバイス。
【請求項６】
前記ノードの前記レベルに基づいて前記ノードに接続された１つのタイプのリンクの１つまたは複数のターゲットリンクを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記ノードの前記レベルが前記第１の値であるかどうかを判断し、
前記ノードの前記レベルが前記第１の値ではないという前記判断に応答して、前記タイプを有する唯一のリンクがあるかどうかを判断し、
前記タイプを有する唯一のリンクがあるとの判断に応答して、前記リンクを前記タイプの前記ターゲットリンクとして指定し、
前記タイプを有する唯一のリンクが無いとの判断に応答して、前記ノードに接続された前記タイプのリンクの各々に関するスコアを決定し、
前記ノードに接続された前記タイプのリンクに関連するスコアに基づいてターゲットリンクを決定する、
ようにさらに指示される、請求項１に記載のリモートナビゲーションデバイス。
【請求項７】
前記タイプのリンクに関連する前記スコアに基づいて前記ターゲットリンクを決定するために、前記少なくとも１つのプロセッサは、
前記スコアのうちの最も高いスコアが、第２のしきい値より大きいかどうかを判断し、
前記最も高いスコアが、前記第２のしきい値よりも大きいとの判断に応答して、前記最も高いスコアを有するリンクを前記ターゲットリンクとして指定する、
ようにさらに指示される、請求項６に記載のリモートナビゲーションデバイス。
【請求項８】
リンクのタイプに関連する前記スコアに基づいて前記ターゲットリンクを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記最も高いスコアが、前記スコアしきい値以下であるとの判断に応答して、前記第２のしきい値より大きいスコアを有するシミュレートされたリンクを生成し、
前記シミュレートされたリンクを前記ターゲットリンクとして指定する、
ようにさらに指示される、請求項７に記載のリモートナビゲーションデバイス。
【請求項９】
前記ターゲットリンクに基づいて、前記ロードマップを生成するために、前記少なくとも１つのプロセッサは、さらに、
前記ナビゲーション端末の前記現在のロケーションに関連づけられた転送マトリクスを決定し、
前記転送マトリクスおよび前記ターゲットリンクに基づいて、前記ロードマップを生成する、
ようにさらに指示される、請求項１に記載のリモートナビゲーションデバイス。
【請求項１０】
前記少なくとも１つのプロセッサは、さらに、
前記ナビゲーション端末の前記ロケーションおよび前記転送マトリクスに基づいて、前記ロードマップ上の前記ナビゲーション端末の識別ロケーションを決定し、前記ナビゲーション端末の識別は、前記識別ロケーション上に設定される、請求項１に記載のリモートナビゲーションデバイス。
【請求項１１】
少なくとも１つのプロセッサと、少なくとも１つの記憶媒体と、ネットワークに接続された通信プラットフォームを有するコンピューティングデバイス上にインプリメントされたロードマップを生成する方法において、
ナビゲーション端末のためのナビゲーションルートと前記ナビゲーション端末の現在のロケーションを取得するステップと、
前記ナビゲーションルートと、前記ナビゲーション端末の前記現在のロケーションとに基づいて、前記ナビゲーション端末の前記現在のロケーションに関連づけられたロードネットワークデータを取得するステップであって、前記ロードネットワークデータは、複数のリンクと複数のノードを含み、前記複数のノードの各々は、１つまたは複数のリンクに接続され、前記１つまたは複数のリンクは、少なくとも１つのタイプのリンクを含む、取得するステップと、
前記複数のノードの各々に関するレベルを決定するステップと、
前記複数のノードの各々に関して、前記ノードの前記レベルに基づいて、前記ノードに接続された少なくとも１つのタイプのリンクに関する１つまたは複数のターゲットリンクを決定するステップと、
前記ターゲットリンクに基づいてロードマップを生成するステップと、
を備えた、ロードマップを生成する方法。
【請求項１２】
前記複数のノードの各々に関する前記レベルを決定するステップは、
前記複数のノードから前記ナビゲーションルート上の複数のノードを取得するステップと、
前記ナビゲーションルート上の前記複数のノードから１つのノードを基準ノードとして指定するステップと、
前記ナビゲーションルート上の前記複数のノードの各々に関して、前記ノードと前記基準ノードとの間の距離に基づいて、前記ノードのレベルを決定するステップと、
前記複数のノードから前記ナビゲーションルート上に無いノードを取得するステップと、
前記ナビゲーションルート上に無い前記複数のノードの各々に関して、前記ナビゲーションルート上の前記ノードの前記レベルと、前記複数のノードに関連するトポロジー関係に基づいて、前記ノードのレベルを決定するステップと、
を含む、請求項１１に記載の方法。
【請求項１３】
前記ナビゲーションルート上の前記ノードの各々に関して、前記ノードと前記基準ノードとの間の前記距離に基づいて、前記ノードの前記レベルを決定するステップは、
前記ノードと前記基準ノードとの間の前記距離が、第１のしきい値より大きいかどうかを判断するステップと、
前記ノードと前記基準ノードとの間の前記距離が、前記第１のしきい値以下との判断に応答して、前記ノードの前記レベルを第１の値として決定するステップと、
前記ノードと前記基準ノードとの間の前記距離が、前記第１のしきい値より大きいとの判断に応答して、前記ノードの前記レベルを第２の値として決定するステップと、
を含む、請求項１２に記載の方法。
【請求項１４】
前記ノードの前記レベルに基づいて、前記ノードに接続された１つのタイプのリンクに関連する、前記１つまたは複数のターゲットリンクを決定するステップは、
前記ノードの前記レベルが、前記第１の値であるかどうかを判断するステップと、
前記ノードの前記レベルが、前記第１の値であるとの判断に応答して、前記ノードに接続されたすべてのタイプの前記リンクを決定するステップと、
を含む、請求項１１に記載の方法。  
【請求項１５】
前記ノードの前記レベルに基づいて、前記ノードに接続された１つのタイプのリンクに対して、前記１つまたは複数のターゲットリンクを決定するステップは、
前記ノードの前記レベルが、前記第１の値かどうかを判断するステップと、
前記ノードの前記レベルが、前記第１の値ではないとの判断に応答して、前記タイプを有する唯一のリンクがあるかどうかを判断するステップと、
前記タイプを有する唯一のリンクがあるとの判断に応答して、前記リンクを前記タイプに関する前記ターゲットリンクとして指定するステップと、
前記タイプを有する唯一のリンクが無いとの判断に応答して、前記ノードに接続された前記タイプのリンクの各々に関するスコアを決定するステップと、
前記ノードに接続された前記タイプのリンクに関係する前記スコアに基づいてターゲットリンクを決定するステップと、
を含む、請求項１１に記載の方法。
【請求項１６】
前記タイプのリンクに関連する前記スコアに基づいて、前記ターゲットリンクを決定するステップは、
前記スコアのうちの最も高いスコアが、第２のしきい値よりも大きいかどうか判断するステップと、
前記最も高いスコアが、前記第２のしきい値より大きいとの判断に応答して前記最も高いスコアに対応する前記リンクを前記ターゲットリンクとして指定するステップと、
を含む、請求項１５に記載の方法。
【請求項１７】
タイプのリンクに関連する前記スコアに基づいて前記ターゲットリンクを決定するステップは、
前記最も高いスコアが、前記スコアしきい値以下であるとの判断に応答して、前記第２のしきい値より大きいスコアを有するシミュレートされたリンクを生成するステップと、
前記シミュレートされたリンクを前記ターゲットリンクとして指定するステップと、
を含む、請求項１６に記載の方法。
【請求項１８】
前記ターゲットリンクに基づいて、前記ロードマップを生成するステップは、
前記ナビゲーション端末の前記現在のロケーションに関連づけられた転送マトリクスを決定するステップと、
前記転送マトリクスおよび前記ターゲットリンクに基づいて前記ロードマップを生成するステップと、を含む、請求項１１に記載の方法。
【請求項１９】
前記方法はさらに、
前記ナビゲーション端末の前記ロケーションと前記転送マトリクスに基づいて、前記ロードマップ上の前記ナビゲーション端末の識別ロケーションを決定するステップであって、前記ナビゲーション端末の識別は、前記識別ロケーションに設定される、ステップと、をさらに含む、請求項１１に記載の方法。
【請求項２０】
ロードマップを生成するための命令の少なくとも１つのセットを備え、コンピューティングデバイスの少なくとも１つのプロセッサにより実行されると、前記命令の少なくとも１つのセットは、前記少なくとも１つのプロセッサに、
ナビゲーション端末のためのナビゲーションルートと、前記ナビゲーション端末の現在のロケーションを取得し、
前記ナビゲーションルートと前記ナビゲーション端末の前記現在のロケーションとに基づいて、前記ナビゲーション端末の前記現在のロケーションに関連づけられたロードネットワークデータを取得し、前記ロードネットワークデータは、複数のリンクと複数のノードを含み、前記複数のノードの各々は、１つまたは複数のリンクに接続され、前記１つまたは複数のリンクは、少なくとも１つのタイプのリンクを含み、
前記複数のノードの各々に関するレベルを決定し、
前記複数のノードの各々に関して、前記ノードの前記レベルに基づいて、前記ノードに接続された少なくとも１つのタイプのリンクに関する１つまたは複数のターゲットリンクを決定し、
前記ターゲットリンクに基づいてロードマップを生成する、ように指示される、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、一般に、オンデマンドサービスを提供するためのシステムおよび方法に関し、特に、ロードマップを生成するためのシステムおよび方法に関する。
【背景技術】
【０００２】
ウェブマッピングサービスおよびナビゲーションサービスのような多くのロケーションベースのサービスおよび／またはアプリケーションは、ロードマップ、特に電子ロードマップを必要とする。しかしながら、ユーザがナビゲーションのために電子ロードマップをアクセスすると、時々、マップは、ユーザがナビゲーション結果を正しく処理することから気を散らす可能性のある無関係なロードのような何らかの干渉情報を含む過度の情報を示す場合がある。従って、完全性、妥当性、間欠性の包括的な考察に基づいてロードマップを生成するためのシステムおよび方法を提供することが望ましい。
【発明の概要】
【０００３】
この発明の一態様によれば、ナビゲーション端末と通信するように構成されたリモートナビゲーションデバイスは、少なくとも、ロードマップを生成するための命令のセットを含む少なくとも１つの記憶媒体と、前記記憶媒体と通信している少なくとも１つのプロセッサを含むことができ、前記少なくとも１つのプロセッサは、前記ナビゲーション端末のためのナビゲーションルートと、前記ナビゲーション端末の現在のロケーションを取得し、前記ナビゲーションルートと前記ナビゲーション端末の前記現在のロケーションに基づいて前記ナビゲーションの前記現在ロケーションと関連付けられたロードネットワークデータを取得し、前記ロードネットワークデータは、複数のリンクと複数のノードを含み、前記複数のノードの各々は、１つまたは複数のリンクに接続され、前記１つまたは複数のリンクは、少なくとも１つのタイプのリンクを含む、前記複数のノードの各々に関するレベルを決定し、前記複数のノードの各々に関して、前記ノードに接続された１つまたは複数のロードリンクを決定し、前記複数のノードの各々に関して、前記ノードの前記レベルに基づいて、記ノードに接続された前記少なくとも１つのタイプのリンクに関して、記１つまたは複数のターゲットリンクを決定し、前記ターゲットリンクに基づいてロードマップを生成するように指示されることができる。
【０００４】
この発明の他の態様によれば、ロードマップを生成する方法は、少なくとも１つのプロセッサと、少なくとも１つのコンピュータ可読媒体と、ネットワークに接続された通信プラットフォームを有するコンピューティングデバイス上でインプリメントすることができる。この方法は、１つまたは複数の以下の動作を含むことができる。ナビゲーション端末のためのナビゲーションルートと、前記ナビゲーション端末の現在のロケーションを取得するステップと、前記ナビゲーションルートと、前記ナビゲーション端末の前記現在のロケーションとに基づいて、記ナビゲーション端末の前記現在のロケーションに関連付けられたロードネットワークデータを取得するステップであって、前記ロードネットワークデータは、複数のリンクと複数のノードを含み、前記複数のノードの各々は、１つまたは複数のリンクに接続され、前記１つまたは複数のリンクは、少なくとも１つのタイプのリンクを含む、前記複数のノードの各々に対するレベルを決定するステップと、前記複数のノードの各々に関して、前記ノードのレベルに基づいて、記ノードに接続された前記少なくとも１つのタイプのリンクに関する１つまたは複数のリンクを決定するステップと、前記ターゲットリンクに基づいてロードマップを生成するステップ。
【０００５】
この開示のさらに他の態様によれば、非一時的コンピュータ可読媒体が提供される。非一時的コンピュータ可読媒体は、ロードマップを生成するための少なくとも１つの命令セットを含むことができ、コンピュータデバイスの少なくとも１つのプロセッサにより実行されると、前記少なくとも１つの命令セットは、前記少なくとも１つのプロセッサに、前記ナビゲーション端末のためのナビゲーションルートと、前記ナビゲーション端末の現在の位置を取得し、前記ナビゲーションルートと、前記ナビゲーション端末の前記現在のロケーションと、に基づいて前記ナビゲーション端末の前記現在のロケーションに関連づけられたロードネットワークデータを取得し、前記ロードネットワークデータは、複数のリンクと複数のノードを含み、前記複数のノードの各々は、１つまたは複数のリンクに接続され、前記１つまたは複数のリンクは、少なくとも１つのタイプのリンクを含む、前記複数のノードの各々に関するレベルを決定し、前記複数のノードの各々に関して、前記ノードに接続された１つまたは複数のロードリンクを決定し、前記複数のノードの各々に関して、前記ノードの前記レベルに基づいて前記ノードに接続された、記少なくとも１つのタイプのリンクに関する１つまたは複数のターゲットリンクを決定し、前記ターゲットリンクに基づいてロードマップを生成する、ように指示する。
【０００６】
いくつかの実施形態において、前記複数のノードの各々に対するレベルを決定することは、前記複数のノードから前記ナビゲーションルート上の複数のノードを取得することと、前記ナビゲーションルート上の前記複数のノードから１つのノードを基準ノードとして指定することと、前記ナビゲーションノード上の前記複数のノードの各々に関して、前記ノードと前記基準ノードとの間の距離に基づいて前記ノードのレベルを決定することと、前記複数のノードから前記ナビゲーションルート上でないノードを取得することと、前記ナビゲーションルート上でない前記ノードの各々に関して前記ナビゲーションルート上の前記ノードの前記レベルと、前記複数のノードに関連するトポロジーとに基づいて前記ノードのレベルを決定することと、を含むことができる。
【０００７】
いくつかの実施形態において、前記ナビゲーションルート上の前記ノードの各々に関して、前記ノードと前記基準ノードとの間の距離に基づいて前記ノードの前記レベルを決定することは、前記ノードと前記基準ノードとの間の前記距離が、１のしきい値より大きいか否かを判断することと、前記ノードと前記基準ノードとの間の前記距離が、記第１のしきい値以下であると判断することに応答して、前記ノードの前記レベルを第１の値であると判断することと、前記ノードと前記基準ノードとの間の前記距離が、記第１のしきい値より大きいと判断することに応答して、記ノードの前記レベルを第２の値であると判断することと、を含むことができる。
【０００８】
いくつかの実施形態において、内部リンク、ラウンドアバウトリンク（roundabout link）、ショートリンクにより接続された前記複数のノードの２つのノードの前記レベルは、同じである。いくつかの実施形態において、前記ノードの前記レベルに基づいて前記ノードに接続された１つのタイプのリンクに関する前記１つまたは複数のターゲットリンクを決定することは、前記ノードの前記レベルが前記第１の値かどうかを判断することと、前記ノードの前記レベルが前記第１の値であるとの判断に応答して、前記ノードに接続されたすべてのタイプのリンクをターゲットリンクとして判断することと、を含むことができる。
【０００９】
いくつかの実施形態において、前記ノードの前記レベルに基づいて、記ノードに接続された１つのタイプのリンクに関する、前記１つまたは複数のターゲットリンクを決定することは、前記ノードの前記レベルが、前記第１の値であるかどうかを判断することと、前記のノードの前記レベルが、前記第１の値ではないとの判断に応答して、前記タイプを有する１つのみのリンクがあるかどうかを判断することと、前記タイプを有する１つのみのリンクがあるとの判断に応答して、前記リンクを前記タイプのターゲットリンクとして指定することと、前記タイプを有するリンクが１つでないとの判断に応答して、前記ノードに接続された前記リンクのタイプの各々のスコアを決定することと、前記ノードに接続された前記リンクのタイプに関連する前記スコアに基づいて１つのターゲットリンクを決定することと、を含むことができる。
【００１０】
いくつかの実施形態において、前記リンクの前記タイプに関連する前記スコアに基づいて前記ターゲットリンクを決定することは、前記複数のスコアのうちの最も高いスコアが、第２のしきい値より大きいかどうかを判断することと、前記最も高いスコアが前記第２のしきい値より大きいと判断することに応答して、前記最も高いスコアに対応する前記リンクを前記ターゲットリンクと指定することと、を含むことができる。
【００１１】
いくつかの実施形態において、リンクのタイプに関連したスコアに基づいて前記ターゲットリンクを決定することは、前記最も高いスコアが、前記スコアしきい値以下であるとの判断に応答して、前記第２のしきい値より大きいスコアを有するシミュレートされたリンクを生成することと、前記シミュレートされたリンクを、前記ターゲットリンクとして指定することと、を含むことができる。
【００１２】
いくつかの実施形態において、前記ターゲットリンクに基づいて、前記ロードマップを生成することは、前記ナビゲーション端末の前記現在のロケーションに関連づけられた転送マトリクスを決定することと、前記転送マトリクスと前記ターゲットリンクとに基づいて、前記ロードマップを生成することと、を含むことができる。
【００１３】
いくつかの実施形態において、前記方法はさらに、前記ナビゲーション端末の前記ロケーションおよび前記転送マトリクスに基づいて、前記ロードマップ上の前記ナビゲーション端末の識別ロケーションを決定し、前記ナビゲーション端末の識別は、前記識別ロケーション上に設定される。この開示はさらに例示実施形態の観点からさらに記載される。この開示の実施形態の以下のおよび他の態様は、添付図面とともに以下の詳細な記述を読むとき、さらに明らかとなる。
【図面の簡単な説明】
【００１４】
【図１】この開示のいくつかの実施形態に従う例示オンデマンドサービスシステムを示す概略図である。
【図２】この開示のいくつかの実施形態に従うコンピューティングデバイスの例示ハードウェアおよび／またはソフトウェアコンポーネントを図示する概略図である。
【図３】この開示のいくつかの実施形態に従うモバイルデバイスの例示ハードウェアおよび／またはソフトウェアコンポーネントを図示する概略図である。
【図４】この開示のいくつかの実施形態に従う例示処理エンジンを図示するブロック図である。
【図５】この開示のいくつかの実施形態に従うクライアントとサーバとの間の例示通信プロセスを図示する概略図である。
【図６】この開示のいくつかの実施形態に従うロードマップを生成するための例示プロセスおよび／または方法のフローチャートである。
【図７】この開示のいくつかの実施形態に従うノードのレベルを決定するための例示プロセスおよび／または方法のフローチャートである。
【図８】この開示のいくつかの実施形態に従う、ノードのための１つまたは複数のターゲットリンクを決定するための例示プロセスおよび／または方法のフローチャートである。
【図９】この開示のいくつかの実施形態に従うノードのための１つまたは複数のターゲットリンクを決定するための他の例示プロセスおよび／または方法のフローチャートである。
【図１０Ａ】この開示のいくつかの実施形態に従うモジュールを生成する例示ロードマップを図示するブロック図である。
【図１０Ｂ】この開示のいくつかの実施形態に従うロードマップを生成するための例示プロセスおよび／または方法のフローチャートである。
【図１１】この開示のいくつかの実施形態に従う例示ロードネットワークデータを図示する。
【図１２Ａ】この開示のいくつかの実施形態に従う例示内部リンク、例示ラウンドアバウトリンク、および例示ショートリンクを図示する。
【図１２Ｂ】この開示のいくつかの実施形態に従う例示内部リンク、例示ラウンドアバウトリンク、および例示ショートリンクを図示する。
【図１２Ｃ】この開示のいくつかの実施形態に従う例示内部リンク、例示ラウンドアバウトリンク、および例示ショートリンクを図示する。
【図１３Ａ】この開示のいくつかの実施形態に従う例示ロードネットワークを図示する。
【図１３Ｂ】この開示のいくつかの実施形態に従う例示ロードネットワークを図示する。
【図１４】この開示のいくつかの実施形態に従う例示ロードマップを図示する。
【発明を実施するための形態】
【００１５】
以下の記述は、任意の当業者がこの開示を制作し使用することを可能にするために提供され、特定のアプリケーションおよびその要件のコンテキストにおいて提供される。開示された実施形態の種々の変更は、当業者に容易に明白であり、ここに定義される一般的原理は、この開示の精神と範囲から逸脱することなく他の実施形態およびアプリケーションに適用可能である。したがって、この開示は、図示実施形態に限定されず、特許請求の範囲に一致する最も広い範囲が与えられるべきである。
【００１６】
ここに使用される用語は、特定の例示実施形態の目的のためだけであり、限定することを意図したものではない。ここに使用されるように、単数形の「一つ（a)」、「一つ（an）」、および「その（the）」は、そうではないことをコンテキストが明白に示していないかぎり、複数形も含むことを意図している。さらに、用語「備える（comprising）」、「含む（includes）」、および／または「含む（including）」は、明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、エレメントおよび／またはコンポーネントの存在を規定するが、１つまたは複数の他の特徴、整数、ステップ、動作、エレメント、コンポーネントおよび／またはそれらのグループの存在または追加を排除するものではない。
【００１７】
この開示のこれらのおよび他の特徴および特性、並びに、動作の方法および構造の関連するエレメントの機能、およびパーツの組み合わせおよび製造の経済性は、すべてがこの明細書の一部を形成する添付図面（複数の場合もある）を参照して以下の記述を考慮すると、より明白になり得る。しかしながら、図面（複数の場合もある）は、例示および記述の目的のためであり、この開示の範囲を限定することを意図したものではないことは、明白に理解される。図面は、縮尺どおりではないことが理解される。
【００１８】
この開示で使用されるフローチャートは、この開示のいくつかの実施形態に従うシステムがインプリメントする動作を例示する。フローチャートの動作は、順番どおりでなくともインプリメントすることができる。反対に、動作は、逆の順番であるいは同時にインプリメントすることができる。さらに、１つまたは複数の他の動作は、フローチャートに追加することができる。１つまたは複数の動作は、フローチャートから取り除くことができる。
【００１９】
さらに、この開示のシステムと方法は、主に、オンラインカーヘイリングサービス（online car hailing service）に関して記載するけれども、これは、１つの例示実施形態にすぎないことに留意する必要がある。この開示のシステムおよび方法は、任意の他の種類のオンデマンドサービスに適用することができる。例えば、この開示のシステムまたは方法は、陸上、海洋、宇宙等またはそれらの任意の組み合わせを含む異なる輸送システムに適用可能である。輸送システムの乗り物は、タクシー、プライベートカー、ヒッチ、バス、列車、新幹線、高速鉄道、地下鉄、船、飛行機、宇宙船、熱気球、無人乗り物等、またはそれらに任意の組み合わせを含むことができる。輸送システムは、また、管理および／または配送を適用する任意の輸送システム、例えば、エクスプレスを送信および／または受信するためのシステムを含むことができる。この開示のシステムまたは方法のアプリケーションシナリオは、ウェブページ、ブラウザのプラグイン、クライアント端末、カスタムシステム（custom system）、内部解析システム、人工知能ロボット等、またはそれらの任意の組み合わせを含むことができる。
【００２０】
この開示における「ノード」という用語は、ロードネットワーク内の複数のロードの接続または結合を表すポイントを指すことができる。例えば、ロードＡは、交差点でロードＢと交差し、その交差点に対応するポイントは、ロードネットワーク内のノードとして指定することができる。この開示における「リンク」という用語は、ロードネットワークにおけるロードまたはロードの一部を表すラインを指すことができる。リンクは、異なるノードを接続することができる。例えば、ロードＡは、ロードＢと交差点Ｃで交差し、ロードＤと交差点Ｅで交差する。交差点ＣとＥの間のロードＡのセクションに対応するラインは、リンクとして指定することができる。この開示における「ターゲットリンク」という用語は、ユーザがノードに接続された、１つまたは複数のリンクに基づいて、自分のナビゲーション中に、判断するのに有用であると判断したリンクを指すことができる。この開示の「シミュレートされたリンク」という用語は、現実のロードネットワークに存在せず、この開示のシステムによりシミュレートされたリンクを指すことができる。例えば、ノードに接続された複数のリンクの各々が、評価後に要件を満足しない場合、「シミュレートされたリンク」を生成することができ、ターゲットリンクとして指定することができる。
【００２１】
この開示のロケーションは、ナビゲーション端末に埋め込まれた測位技術により獲得することができる。本開示で使用される測位技術には、全地球測位システム（GPS）、全地球航法衛星システム（GLONASS）、コンパス航法システム（COMPASS）、ガリレオ測位システム、準天頂衛星システム（QZSS）、 無線忠実度（Ｗｉ−Ｆｉ（商標））測位技術など、またはそれらの任意の組み合わせを含むことができる。上述した測位技術の１つまたは複数は、この開示において交換可能に使用することができる。
【００２２】
この開示の一態様は、ロードマップを生成するシステムおよび方法に関する。この開示によれば、システムは、ナビゲーション端末の現在のロケーションに基づいて複数の交差点（ノード）の各々に関するレベルを決定し、次に前記交差点に関連づけられたターゲットロードセグメント（リンク）を決定することができる。次にシステムは、ターゲットロードセグメントに基づいてロードマップを生成し、ナビゲーションサービスを提供することができる。ターゲットリンクは、リンクのレベルに基づいて決定されるので、サービス要求者により正確なロードマップを提供することができる。いくつかの実施形態において、ユーザがノードに近づくと、ターゲットリンクのみがユーザに表示される。そのような、さらにフォーカスされたナビゲーションサービスは、ユーザの注意散漫を防ぎ、ユーザによる意思決定を改善することができる。
【００２３】
オンラインオンデマンドサービスは、ポストインタネット時代に根付いた新興サービスであることに留意する必要がある。それは、ポストインタネット時代に成長する可能性のあるサービス要求者に、技術的ソリューションを提供する。インターネット以前の時代では、ナビゲーションルートをサービス要求者に提供することは不可能であり、特に、複数のノードのレベルに基づいて正確なロードマップを、サービス要求者に提供することは不可能である。それゆえ、このソリューションは、ポストインタネット時代に生じた問題のみに、深く根ざすとともに、解決することを目的としている。
【００２４】
図１は、この開示のいくつかの実施形態に従うロードマップを生成する例示システム１００のブロック図である。例えば、システム１００は、ルートナビゲーション、カーヘイリングサービス（car hailing service）、運転手サービス（chauffeur services）、車両配達サービス、カープーリングサービス、バスサービス、ドライバ採用サービス（driver hiring services）、およびシャトルサービス等のような輸送サービスのためのオンライン輸送サービスプラットフォームであり得る。システム１００は、サーバ１１０、ナビゲーション端末１２０、ストレージデバイス１３０、ネットワーク１４０、情報ソース１５０を含むことができる。サーバ１１０は、処理エンジン１１２を含むことができる。
【００２５】
サーバ１１０は、ナビゲーション端末１２０からの要求、例えば、マップ表示要求に関する情報および／またはデータを処理するように構成することができる。例えば、サーバ１１０は、ナビゲーション端末１２０から要求を受信し、その要求を処理してナビゲーション端末１２０に関するロードマップを生成することができる。いくつかの実施形態において、サーバ１１０は、単一サーバまたはサーバグループであり得る。サーバグループは、中央制御、または分散制御であってよい（例えば、サーバ１１０は、分散システムであり得る）。いくつかの実施形態において、サーバ１１０は、ローカルまたはリモートであってよい。例えば、サーバ１１０は、ネットワーク１４０を介してナビゲーション端末１２０および／またはストレージデバイス１３０に記憶された情報および／またはデータをアクセスすることができる。他の例として、サーバ１１０は、ナビゲーション端末１２０および／またはストレージデバイス１３０に直接接続することができ、記憶された情報および／またはデータをアクセスすることができる。いくつかの実施形態において、サーバ１１０は、クラウドプラットフォームにインプリメントすることができる。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散クラウド、インタークラウド、マルチクラウド等またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、サーバ１１０は、この開示の図２に示す、１つまたは複数のコンポーネントを有するコンピューティングデバイス上に、インプリメントすることができる。
【００２６】
いくつかの実施形態において、サーバ１１０ｊは、処理エンジン１１２を含むことができる。処理エンジン１１２は、要求に関する情報および／またはデータを処理し、この開示に記載した１つまたは複数の機能を実行することができる。例えば、処理エンジン１１２は、ナビゲーション端末１２０から要求を取得し、ロードマップを生成することができる。いくつかの実施形態において、処理エンジン１１２は、１つまたは複数の処理エンジン（例えば、シングルコア処理エンジン（複数の場合もある）またはマルチコアプロセッサ（複数の場合もある））を含むことができる。単なる例示として、処理エンジン１１２は、中央処理装置（ＣＰＵ）、特定用途集積回路（ＡＳＩＣ）、特定用途命令セットプロセッサ（ＡＳＩＰ）、グラフィクス処理ユニット（ＧＰＵ）、物理処理ユニット（ＰＰＵ）、デジタルシグナルプロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルロジックデバイス（ＰＬＤ）、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ（ＲＩＳＣ）、マイクロプロセッサ等、またはそれらの任意の組み合わせを含むことができる。
【００２７】
いくつかの実施形態において、ナビゲーション端末１２０は、その要求に直接関係する個人、ツール、または他のエンティティであり得る。いくつかの実施形態において、ナビゲーション端末１２０は、モバイルデバイス１２０−１、タブレットコンピュータ１２０−２、ラップトップコンピュータ１２０−３、および自動車の内蔵デバイス１２０−４等、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、モバイルデバイス１２０−１は、スマートホームデバイス、ウェアラブルデバイス、スマートモバイルデバイス、バーチャルリアリティデバイス、オーグメンテッドリアリティデバイス等、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、スマートホームデバイスは、スマート照明デバイス、インテリジェント電気装置の制御デバイス、スマートモニタリングデバイス、スマートテレビジョン、スマートビデオカメラ、インターフォン等、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、ウェアラブルデバイスは、スマートブレスレット、スマート履物、スマートメガネ、スマートヘルメット、スマートウォッチ、スマート衣服、スマートバックパック、スマートアクセサリ等、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、スマートモバイルデバイスは、スマートフォン、パーソナルデジタルアシスタンス（ＰＤＡ）、ゲームデバイス、ナビゲーションデバイス、ポイントオブセール（ＰＯＳ）デバイス等、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、バーチャルリアリティデバイスおよび／またはオーグメンテッドリアリティデバイスは、バーチャルリアリティヘルメット、バーチャルリアリティメガネ、バーチャリリアリティパッチ、オーグメンテッドリアリティヘルメット、オーグメンテッドリアリティメガネ、オーグメンテッドリアリティパッチ等、またはそれらの任意の組み合わせを含むことができる。例えば、バーチャルリアリティデバイスおよび／またはオーグメンテッドリアリティデバイスは、グーグルグラス、オキュラスリフト、ホロレンズ、ギアＶＲ等を含むことができる。いくつかの実施形態において、自動車１２０−４の内蔵デバイスは、オンボードコンピュータ、オンボードテレビジョン等を含むことができる。いくつかの実施形態において、ナビゲーション端末１２０は、ユーザおよび／またはナビゲーション端末１２０の位置をつきとめるための測位技術を有したデバイスであり得る。いくつかの実施形態において、ナビゲーション端末１２０は、他の測位デバイスと通信してユーザおよび／またはナビゲーション端末１２０の位置を決定することができる。いくつかの実施形態において、ナビゲーション端末１２０は、サーバ１１０に位置情報を送信することができる。
【００２８】
ストレージデバイス１３０は、要求に関連したデータおよび／または命令を記憶することができる。いくつかの実施形態において、ストレージデバイス１３０は、ナビゲーション端末１２０から取得／獲得したデータを記憶することができる。いくつかの実施形態において、ストレージデバイス１３０は、この開示で記載した例示方法を実行するためにサーバ１１０が実行または使用することができるデータおよび／命令を記憶することができる。いくつかの実施形態において、ストレージデバイス１３０は、マスストレージ、リムーバブルストレージ、ボラタイルリードアンドライトメモリ、リードオンリメモリ（ＲＯＭ）等またはそれらの組み合わせを含むことができる。例示マスストレージは、磁気ディスク、光学ディスク、ソリッドステートドライブ等を含むことができる。例示リムーバブルストレージは、フラッシュドライブ、フロッピーディスク、光学ディスク、メモリカード、ジップディスク、磁気テープ等を含むことができる。例示ボラタイルリードオンリメモリは、ランダムアクセスメモリ（ＲＡＭ）を含むことができる。例示ＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデートレート同期ダイナミックＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、サイリスタＲＡＭ（Ｔ−ＲＡＭ）、およびゼロキャパシタＲＡＭ（Ｚ−ＲＡＭ）等を含むことができる。例示ＲＯＭは、マスクＲＯＭ（ＭＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、イレーザブルプログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、およびデジタルバーサタイルディスクＲＯＭ等を含むことができる。いくつかの実施形態において、ストレージデバイス１３０は、クラウドプラットフォーム上にインプリメントすることができる。単なる例示として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散クラウド、インタークラウド、マルチクラウド等、またはそれらの任意の組み合わせを含むことができる。
【００２９】
いくつかの実施形態において、ストレージデバイス１３０は、ネットワーク１４０に接続され、システム１００内の１つまたは複数のコンポーネント（例えば、サーバ１１０、ナビゲーションターミナル１２０）と通信することができる。システム１００内の１つまたは複数のコンポーネントは、ネットワーク１４０を介してストレージデバイス１３０に記憶されたデータまたは命令にアクセスすることができる。いくつかの実施形態において、ストレージデバイス１３０は、システム１００内の１つまたは複数のコンポーネント（例えば、サーバ１１０、ナビゲーション端末１２０）に直接接続するか、または通信することができる。いくつかの実施形態において、ストレージデバイス１３０は、サーバ１１０の一部であり得る。
【００３０】
ネットワーク１４０は、情報および／またはデータの交換を容易にすることができる。いくつかの実施形態において、システム１００の１つまたは複数のコンポーネント（例えば、サーバ１１０、ナビゲーション端末１２０、およびストレージデバイス１３０）はネットワーク１４０を介してシステム１００内の他のコンポーネント（複数の場合もある）から／へ情報および／またはデータを送信および／または受信することができる。例えば、サーバ１１０は、ネットワーク１４０を介してナビゲーション端末１２０からサービス要求を取得／獲得することができる。いくつかの実施形態において、ネットワーク１４０は、任意の種類の優先または無線ネットワーク、またはそれらの任意の組み合わせであり得る。単なる例示として、ネットワーク１４０は、ケーブルネットワーク、有線ネットワーク、光ファイバネットワーク、遠隔通信ネットワーク、イントラネット、インターネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ローカルエリアネットワーク（ＷＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、公衆電話交換網（ＰＳＴＮ）、ブルートゥース（登録商標）ネットワーク、ZigBee（登録商標）ネットワーク、近距離無線通信（ＮＦＣ）ネットワーク、モバイル通信のグローバルシステム（ＧＳＭ）ネットワーク、符号分割多重アクセス（ＣＤＭＡ）ネットワーク、時分割多重アクセス（ＴＤＭＡ）ネットワーク、汎用パケット無線サービス（ＧＰＲＳ）ネットワーク、ＧＳＭイボリューションのエンハンスとデータレート（ＥＤＧＥ）ネットワーク、ワイドバンド符号分割多重アクセス（ＷＣＤＭＡ（登録商標））ネットワーク、高速ダウンリンクパケットアクセス（ＨＳＤＰＡ）ネットワーク、ロングタームイボリューション（ＬＴＥ）ネットワーク、ユーザデータグラムプロトコル（ＵＤＰ）ネットワーク、送信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）ネットワーク、ショートメッセージサービス（ＳＭＣ）ネットワーク、無線アプリケーションプロトコル（ＷＡＰ）ネットワーク、ウルトラワイドバンド（ＵＷＢ）ネットワーク、赤外線等またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、システム１００は、１つまたは複数のネットワークアクセスポイントを含むことができる。例えば、システム１１０は、システム１００の１つまたは複数のコンポーネントがネットワーク１４０に接続されてデータおよび／または情報を交換することができる基地局および／または無線アクセスポイント１４０−１、１４０−２、・・・のような有線または無線ネットワークアクセスポイントを含むことができる。
【００３１】
情報ソース１５０は、システム１００のための他の情報を提供するように構成されたソースであり得る。情報ソース１５０は、システム１００に、道路名、道路の幅情報、道路の長さ情報、道路の方向、レーン情報等のようなマップおよび／またはロード情報を提供することができる。情報ソース１５０は、単一の中央サーバ、通信リンクを介して接続された複数のサーバ、または複数のパーソナルデバイスでインプリメントすることができる。情報ソース１５０が複数のパーソナルデバイスでインプリメントされると、パーソナルデバイスは、例えば、テキスト、音声、イメージ、またはビデオをクラウドサーバにアップロードすることにより、（例えば、「ユーザ生成コンテンツ」と呼ばれる）コンテンツを生成することができる。情報ソース１５０は、複数のパーソナルデバイスおよび／またはクラウドサーバにより生成することができる。
【００３２】
図２は、この開示のいくつかの実施形態によって、サーバ１１０、ナビゲーション端末１２０、ストレージデバイス１３０、および／または、情報ソース１５０をインプリメントすることができるコンピューティングデバイス２００の例示ハードウェアおよびソフトウェアコンポーネントを図示する概略図である。特定のシステムは、機能ブロック図を用いて１つまたは複数のユーザインタフェースを含むハードウェアプラットフォームを説明することができる。コンピュータは、汎用または特定機能を備えたコンピュータであり得る。両方のタイプのコンピュータは、この開示のいくつかの実施形態に従って任意の特定のシステムをインプリメントするように構成することができる。コンピューティングデバイス２００は、この開示に開示された１つまたは複数の機能を実行する任意のコンポーネントをインプリメントするように構成することができる。例えば、コンピューティングデバイス２００は、ここに記載するようにシステム１００の任意のコンポーネントをインプリメントすることができる。図１および２において、単に便宜的のために、ただ一つのそのようなコンピュータデバイスが示されている。この出願の出願時において、当業者は、ここに記載するようなオンデマンドサービスに関するコンピュータ機能は、処理負荷を分散させるために、多数の類似のプラットフォーム上に分散する態様でインプリメントすることができることを理解するであろう。
【００３３】
コンピューティングデバイス２００は、例えば、データ通信を容易にするために、ネットワークへ／から接続されたＣＯＭポート２５０を含むことができる。コンピューティングデバイス２００は、またプログラム命令を実行するために、１つまたは複数のプロセッサ（例えば、ロジック回路）の形態の、プロセッサ（例えば、プロセッサ２２０）を含むことができる。例えば、プロセッサは、インタフェース回路と処理回路を含むことができる。インタフェース回路は、バス２１０から電気信号を受信するように構成することができ、電気信号は、処理回路が処理するための構造化データおよび／または命令を符号化する。処理回路は、論理計算を行い、その後、結論、結果および／または電気信号として符号化された命令を決定することができる。次に、インタフェース回路は、バス２１０を介して処理回路から電子信号を送信することができる。
【００３４】
例示コンピューティングデバイスは、コンピューティングデバイスにより処理および／または送信される種々のデータファイルのための、内部通信バス２１０、プログラムストレージ、および、例えば、ディスク２７０、リードオンリメモリ（ＲＯＭ）２３０、またはランダムアクセスメモリ（ＲＡＭ）２４０を含む、異なる形態のデータストレージを含むことができる。例示コンピューティングデバイスは、またプロセッサ２２０により実行される、ＲＯＭ２３０、ＲＡＭ２４０、および／または他の種類の非一時的記憶媒体に記憶されたプログラム命令を含むことができる。この開示の方法および／または処理は、プログラム命令としてインプリメントすることができる。コンピューティングデバイス２００は、コンピュータと他のコンポーネントとの間の入出力をサポートするＩ／Ｏコンポーネント２６０を含む。コンピューティングデバイス２００は、ネットワーク通信を介してプログラミングおよびデータを受信することができる。
【００３５】
単に例示のために、ただ一つのＣＰＵおよび／またはプロセッサが図２に示されている。複数のＣＰＵ及び／又はプロセッサも考えられ、従って、この開示で記載した１つのＣＰＵおよび／またはプロセッサにより実行される動作および／またはステップは、または複数のＣＰＵおよび／またはプロセッサにより一緒にまたは別個に実行することもできる。例えば、この開示において、コンピューティングデバイス２００のＣＰＵおよび／またはプロセッサがステップＡおよびステップＢの両方を実行する場合、ステップＡとステップＢはまた、コンピューティングデバイス２００において２つの異なるＣＰＵｓおよび／またはプロセッサを一緒にまたは別個にして実行することもできる（例えば、第１のプロセッサがステップＡを実行し、第２のプロセッサがステップＢを実行するか、あるいは、第１と第２のプロセッサが一緒にステップＡとステップＢを実行する）。
【００３６】
図３は、この開示のいくつかの実施形態に従って、ナビゲーション端末１２０をインプリメントすることができる例示モバイルデバイス３００の例示ハードウェアおよび／またはソフトウェアコンポーネントを図示する概略図である。図３に示すように、モバイルデバイス３００は、通信プラットフォーム３１０、ディスプレイ３２０，グラフィクス処理ユニット（ＧＰＵ）３３０、中央処理装置（ＣＰＵ）３４０、Ｉ／Ｏ３５０、メモリ３６０、及びストレージ３９０を含むことができる。ＣＰＵ３４０は、インタフェース回路とプロセッサ２２０に類似した処理回路を含むことができる。いくつかの実施形態において、これに限定されないが、システムバス又はコントローラ（図示せず）を含む任意の他の適切なコンポーネントもモバイルデバイス３００に含めることができる。いくつかの実施形態において、モバイルオペレーティングシステム３７０（例えば、ｉＯＳ（登録商標）、アンドロイド（登録商標）において、ウインドウズフォーン（登録商標））および１つまたは複数のアプリケーション３８０は、ＣＰＵ３４０により実行されるようにストレージ３９０からメモリ３６０にロードすることができる。アプリケーション３８０は、モバイルデバイス３００上のサービス提供システムに基づくロケーションからのサービス要求、または他の情報に関する情報を受信およびレンダリングするためのブラウザまたは任意の他の適切なモバイルアプリケーションを含むことができる。情報ストリームとのユーザ対話は、Ｉ／Ｏ３５０を介して達成され、ネットワーク１４０を介してシステム１００の処理エンジン１１２および／または他のコンポーネントに提供することができる。
【００３７】
上述した種々のモジュール、ユニットおよびそれらの機能をインプリメントするために、コンピュータハードウェアプラットフォームは、１つまたは複数のエレメント（例えば、図２のサーバ１１０のモジュール）のハードウェアプラットフォームとして使用することができる。これらのハードウェアエレメント、オペレーティングシステム、およびプログラム言語は、一般的であるため、当業者は、これらの技術に精通しており、この開示に記載した技術に従ってルート計画に必要な情報を提供することができるとみなすことができる。ユーザインタフェースを有するコンピュータは、パーソナルコンピュータ（ＰＣ）、または他のタイプのワークステーションまたは端末デバイスとして使用することができる。適切にプログラムされた後、ユーザインタフェースを有するコンピュータは、サーバとして使用することができる。当業者は、また、この種のコンピュータデバイスの構造、プログラム、または汎用動作に精通していると考えることができる。従って、図面に対する追加の説明は記載しない。
【００３８】
図４は、いくつかの実施形態に従う例示プロセッサ２２０を図示するブロック図である。プロセッサ２２０は、情報取得モジュール４１０、レベル決定モジュール４２０、ターゲットリンク決定モジュール４３０、およびロードマップ生成モジュール４４０を含むことができる。モジュールは、プロセッサ２２０のすべてまたは一部のハードウェア回路であり得る。モジュールは、処理エンジンにより読まれ、または実行されるアプリケーション、または命令のセットとしてインプリメントすることもできる。さらに、モジュールは、ハードウェア回路およびアプリケーション／命令の任意の組み合わせであり得る。例えば、モジュールは、プロセッサがアプリケーション／命令のセットを実行しているとき、プロセッサ２２０の一部であり得る。
【００３９】
情報取得モジュール４１０は、ナビゲーション端末１２０のナビゲーションルートと、ナビゲーション端末１２０の現在ロケーション、およびナビゲーションルートとナビゲーション端末１２０の現在のロケーションに基づいて、ナビゲーション端末１２０の現在ロケーションに関連づけられたロードネットワークデータ等、またはそれらの任意の組み合わせを取得することができる。ロードネットワークデータは、複数のリンクと複数のノードを含む。複数のノードの各々は、１つまたは複数のリンクに接続することができる。リンクは、先行リンク（preceding link）と後続リンク（succeeding link）を含むことができる。ここでは、ナビゲーション端末１２０を記載したが、他のネットワーク化されたナビゲーションデバイスもこの発明に使用することができることに留意する必要がある。
【００４０】
レベル決定モジュール４２０は、ロードネットワークデータに含まれる複数のノードの各々に関するレベルを決定することができる。いくつかの実施形態において、レベル決定モジュール４２０は、ロードネットワークデータに関連づけられた複数のノードからナビゲーションルート上のノードを取得することができ、複数のノードから１つのノードを基準ノードとして指定することができる。ナビゲーションルート上のノードのレベルは、ノードと基準ノードとの間の距離に基づいて決定することができる。レベル決定モジュール４２０は、複数のノードからのビゲーションルート上に無いノードを取得することができ、ナビゲーションルート上のノードおよび複数のノードに関連するトポロジー関係に基づいてノードのレベルを決定することができる。
【００４１】
ターゲットリンク決定モジュール４３０は、ノードに接続されたリンクに基づいて１つまたは複数のターゲットリンクを決定することができる。いくつかの実施形態において、ターゲットリンク決定モジュール４３０は、ノードのレベルに基づいて、１つまたは複数のターゲットリンクを決定することができる。いくつかの実施形態において、ターゲットリンク決定モジュール４３０は、ノードに接続されたリンクの各々のスコアを決定し、リンクのスコアに基づいて、１つまたは複数のターゲットリンクを決定することができる。いくつかの実施形態において、ターゲットリンク決定モジュール４３０は、シミュレートされたリンクを生成し、シミュレートされたリンクをターゲットリンクとして指定することができる。
【００４２】
ロードマップ生成モジュール４４０は、ロードマップを生成することができる。いくつかの実施形態において、ロードマップ生成モジュール４４０は、ナビゲーション端末１２０の現在のロケーションに関連づけられた転送マトリクスを決定することができる。いくつかの実施形態において、ロードマップ生成モジュール４４０は、転送マトリクスおよびターゲットリンクに基づいてロードマップを生成することができる。
【００４３】
プロセッサ２２０内のモジュールは、有線接続または無線接続を介して互いに通信するように接続することができる。有線接続は、金属ケーブル、光ケーブル、ハイブリッドケーブル等、またはそれらの任意の組み合わせであり得る。無線接続は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ブルートゥース（登録商標）、ＺｉｇＢｅｅ（登録商用）、近距離無線通信（ＮＦＣ）等、またはそれらの任意の組み合わせを含むことができる。２以上のモジュールは、１つのモジュールとして結合することができ、これらのモジュールのいずれか１つを、２以上のユニットに分割することができる。例えば、ターゲットリンク決定モジュール４３０は、ノードのレベルを決定することと、レベルに基づいてノードのターゲットリンクを決定することの両方を行う１つのモジュールとして、レベル決定モジュール４２０内に統合することができる。他の例として、レベル決定モジュール４２０は、それぞれ、レベル決定モジュール４２０の機能をインプリメントするためのルートノードレベル決定ユニットと、非ルートノードレベル決定ユニットの２つのユニットに分割することができる。
【００４４】
図５は、この開示のいくつかの実施形態に従うクライアントとサーバとの間の例示処理プロセスを図示する概略図である。いくつかの実施形態において、クライアント５１０（例えば、ナビゲーション端末１２０）は、ナビゲーション要求を開始することができる。ナビゲーション要求は、クライアント５１０および／またはクライアント５１０のユーザに関連づけられたオリジナルデータを含むことができる。例えば、オリジナルデータは、ナビゲーション要求の要求時間、出発ロケーション、目的地等、またはそれらの任意の組み合わせを含むことができる。サーバ５２０（例えば、サーバ１１０）は、有線又は無線ネットワーク（例えば、ネットワーク１４０）を介してナビゲーション要求を取得することができる。ナビゲーション要求を取得した後、サーバ５２０は、種々の既存の技術によりナビゲーション要求に基づいて１つまたは複数のナビゲーションルートを決定することができる。例えば、１つまたは複数のナビゲーションルートは、Stanford Research Institute Problem Solver(STRIPS)言語、Action Description Language(ADL)、Planning Domain Definition Language(PDDL)等またはそれらの任意の組み合わせに基づいて決定することができる。他の例として、１つまたは複数のナビゲーションルートは、マシンラーニング技術、人工知能技術、テンプレートアプローチ技術、人工ポテンシャルフィールド技術、二重方向Ａ技術、Ａスターアルゴリズム、サンプルアルゴリズム等またはそれらの任意の組み合わせを含む、ルートプランニングアルゴリズムおよび／またはアルゴリズムに基づいて決定することができる。いくつかの実施形態において、サーバ５２０は、１つまたは複数のナビゲーションルートの各々を解析し、ナビゲーションルート上に位置する交差点の数を取得することができる。交差点毎に、サーバ５２０は、交差点に関連付けられたロードマップを生成するのに必要な種々のデータ、例えば、転送マトリクス、交差点に接続された複数のロードセグメント等を取得することができる。処理した後、サーバ５２０は、ユニフォームリソースロケータ（ＵＲＬ）をクライアント５１０に生成することができる。条件が満足されると（例えば、ナビゲーション端末１２０の現在のロケーションが交差点から所定の距離であるとき）、クライアント５１０は、要求（例えば、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）要求）をＵＲＬに基づいてサーバ５２０に送信することができる。所定の距離は、１メートル乃至１００メートル、例えば、１０メートル、２０メートル、３０メートル、４０メートル、５０メートル、６０メートル、７０メートル、８０メートル、または９０メートルであり得る。いくつかの実施形態において、要求は、ロードマップ生成要求であり得る。サーバ５２０は次に、この開示のどこかに記載した、例えば、図６乃至１１、およびその記述の動作を実行することにより、種々のデータに基づいてロードマップを生成することができる。ロードマップは、クライアント５１０のユーザに提示するためにクライアント５１０に送信することができる。
【００４５】
図６は、この開示のいくつかの実施形態に従うロードマップを生成するための例示プロセスおよび／または方法６００のフローチャートである。いくつかの実施形態において、プロセスおよび／または方法６００内の１つまたは複数のステップは、図１に示すシステム１００にインプリメントすることができる。例えば、プロセスおよび／または方法６００内の１つまたは複数のステップは、命令の形態として、ストレージデバイス１３０および／またはストレージ（例えば、ＲＯＭ２３０、ＲＡＭ２４０）に記憶することができ、サーバ１１０（例えば、サーバ１１０内の処理エンジン１１２、またはサーバ１１０内の処理エンジン１１２のプロセッサ２２０）により起動および／または実行することができる。６１０において、プロセッサ２２０（例えば、情報取得モジュール４１０）は、ナビゲーション端末１２０に関するナビゲーションルートおよびナビゲーション端末１２０の現在のロケーションを取得することができる。
【００４６】
いくつかの実施形態において、ナビゲーション端末１２０は、ユーザ（例えば、ドライバ）により使用される端末（例えば、スマートフォンのような無線端末）を含むことができる。ナビゲーションルートは、ナビゲーション端末１２０のユーザが所望のロケーション（例えば、ユーザによる旅行の目的地）に到達することができる１つまたは複数のナビゲーションオプションを含むことができる。いくつかの実施形態において、ユーザが交通状況に不慣れなとき、ナビゲーションルートは、ユーザを補助して旅行を達成することができる。いくつかの実施形態において、ナビゲーションルートは、移動方向を含むことができる。例えば、ナビゲーション端末１２０は、ナビゲーション端末１２０のユーザに、ナビゲーションルートに基づいて特定の方向に行くように思い出させることができる。
【００４７】
現在のロケーションは、ナビゲーション端末１２０の測位ロケーションを含むことができる。いくつかの実施形態において、ナビゲーション端末１２０は、測位システムとの通信を介してナビゲーション端末１２０のロケーションを取得することができるアプリケーションを用いてインプリメントすることができる。ナビゲーション端末１２０は、ナビゲーション端末１２０の現在ロケーションを、ネットワーク１４０を介してプロセッサ２２０に送信することができる。測位技術は、全地球測位システム（ＧＰＳ）技術、北斗航法システム技術、全地球航法衛星システム（ＧＬＯＮＡＳＳ）技術、ガリレオ測位システム（Ｇａｌｉｌｅｏ）技術、準天頂衛星システム（ＱＡＺＺ）技術、基地局測位技術、Ｗｉ−Ｆｉ測位技術等、またはそれらの任意の組み合わせを含むことができる。ステップ６２０において、プロセッサ２２０（例えば、情報取得モジュール４１０）は、ナビゲーションルートおよびナビゲーション端末１２０の現在のロケーションに基づいてナビゲーション端末１２０の現在のロケーションに関連づけられたロードネットワークデータを取得することができる。
【００４８】
いくつかの実施形態において、プロセッサ２２０（例えば、情報取得モジュール４１０）は、ナビゲーション端末１２０の現在のロケーションと、ナビゲーションルート全部または一部を含むロードネットワークのロードネットワークデータを取得することができる。ここで使用されるように、「ロードネットワーク」という用語は、エリアよび１つまたは複数の接続された、または非接続のロードを指す。いくつかの実施形態において、ロードネットワークは、任意のサイズを有することができる。例えば、ロードネットワークは、５００メートル×５００メートルの正方形形状のロードネットワーク、３００メートル×４００メートルの方形形状のロードネットワーク、または５００メートルの直径を有する円形形状のロードネットワーク等であり得る。ロードネットワークのサイズは、アプリケーションシナリオに従って変更することができ、この開示の範囲を限定することを意図していない。いくつかの実施形態において、プロセッサ２２０（例えば、情報取得モジュール４１０）は、ナビゲーション端末１２０の現在のロケーションまたはナビゲーション端末１２０の現在のロケーションに最も近いノードを、任意のサイズを有するロードネットワークのロードネットワークデータを取得するための中心として指定することができる。
【００４９】
いくつかの実施形態において、ロードネットワークデータは、複数のリンクと複数のノードを含むことができる。複数のノードの各々は、１つ又は複数のリンクに接続することができる。ノードは、ロードネットワークにおけるロードの接続又は結合を表すポイントを指すことができる。例えば、ノードは、交差点を指すことができる。リンクは、ロードネットワーク内の異なるノードを接続する相互接続ラインを指すことができる。１つまたは複数のリンクは、少なくとも１つのタイプ、例えば、先行リンク、後続リンクを含むことができる。いくつかの実施形態において、ノードは、１種類のリンクにのみ関連付けることができる。例えば、ノードは、１つまたは複数の先行リンクにのみ関連付けることができる。他の例として、ノードは、１つまたは複数の後続リンクにのみ関連づけることができる。いくつかの実施形態において、ノードは、２以上の種類のリンクに関連づけることができる。例えば、ノードは、１つまたは複数の先行リンクに関連づけるだけでなく、１つまたは複数の後続リンクにも関連づけることができる。
【００５０】
先行リンクおよび／または後続リンクは、ノードに接続されるリンクの属性であり得る。特定のノードに関して、先行リンクは、１つのノードから基準方向に沿った特定ノードへのリンクを指し、後続リンクは特定ノードから基準方向に沿った別のノードへのリンクを指すことができる。特定リンクの場合、特定リンクは、１つのノードの先行リンクであると同時に、他のノードの後続リンクでもあり得る。属性は、ナビゲーションルートに関する移動方向に基づいて決定することができる。例えば、図１１は、この開示のいくつかの実施形態に従う例示ロードネットワークデータを図示する。
【００５１】
図１１に示すように、ナビゲーションルートは、リンクＬ１、Ｌ２、Ｌ３およびＬ４を含むことができる。ナビゲーションルートの移動方向は、Ｌ１、Ｌ２、Ｌ３、L4であり得る。いくつかの実施形態において、移動方向は、基準方向として指定することができる。ノード１１２０は、ロードネットワークの中心であり得る。実質的にナビゲーションルートに関連する移動方向に沿ってサーチすると、ノード１１３０は、ノード１１２０からリンクＬ３を介して取得することができ、ノード１１５０は、ノード１１２０からリンクＬ７を介して取得することができる。リンクＬ３は、ノード１１２０の後続リンクであり、ノード１１３０の先行リンクであり得る。リンクＬ７は、ノード１１２０の後続リンクであり、ノード１１５０の先行リンクであり得る。同様に、リンクＬ４は、ノード１１３０の後続リンクであり、別のノード（図１１には図示されず）の先行リンクであり得、リンクＬ８は、ノード１１５０の後続リンクであり、別のノード（図１１には図示されず）の先行リンクであり得る。実質的にナビゲーションルートに関連する逆移動方向に沿ってサーチすると、ノード１１１０は、ノード１１２０からリンクＬ２を介して取得することができる。リンクＬ２は、ノード１１２０の先行リンクであり、ノード１１１０の後続リンクであり得る。同様に、リンクＬ１とＬ６は、ノード１１１０の先行リンクであり得る。リンクＬ１は、別のノード（図１１に図示せず）の後続リンクであり得る。リンクＬ６は、ノード１１４０の後続リンクであり得る。リンクＬ５は、ノード１１４０の先行リンクであり、別のノード（図１１に図示せず）の後続リンクであり得る。ステップ６３０において、プロセッサ２２０（例えば、レベル決定モジュール４２０）は、複数のノードの各々のレベルを決定することができる。
【００５２】
ノードのレベルは、ノードがユーザに影響を与えることができる度合いを反映することができる。異なるレベルを有するノードは、ユーザへの影響度が異なるノードを表すことができる。ユーザがノードに関連して決定する際にノードが重要である場合、（例えば、右折、左折、直進）、ノードに関連した、より詳細な情報（例えば、ノードに接続されたリンク）を包括的にユーザに提示することができる。レベルは任意のフォーマットで提示することができる。いくつかの実施形態において、レベルは、数字、例えば、０、１、２、３で提示することができる。例示目的のために、ノードがユーザにとって重要であればあるほど、ノードのレベルはより高くなる。レベル０を有するノードが、ユーザにとって、レベル１を有するノードよりも重要である場合、レベル０はレベル１よりも高く、逆もまた同様である。プロセッサ２２０は、レベル１を有するノードよりも、レベル０を有するノードに関連づけられた、より詳細な情報を決定することができる。例えば、レベル０を有するノードに直接接続されたすべてのリンクは、ユーザに提示することができ、レベル１を有するノードに直接接続されたリンクの一部のみをユーザに提示することができる。いくつかの実施形態において、レベルは、文字フォーマット、例えば、Ａ、Ｂ、Ｃ、Ｄで提示することができる。レベルＡを有するノードがレベルＢを有するノードよりもユーザにとってより重要である場合、レベルＡは、レベルＢよりも高く、逆もまた同様である。
【００５３】
いくつかの実施形態において、プロセッサ２２０（例えば、レベル決定モジュール４２０）は、最初にナビゲーションルート上のノードのレベルを決定することができる。いくつかの実施形態において、プロセッサ２２０は、最初に基準ノードを決定し、次に、プロセッサは、ノードと基準ノードとの間のルートに沿った距離に基づいてナビゲーションルート上のノードのレベルを決定することができる。ナビゲーションルート上のすべてのノードのレベルが決定された後で、プロセッサ２２０（例えば、レベル決定モジュール４２０）は、ナビゲーションルート上のノードのレベルと、複数のノードに関連するトポロジー関連性に基づいてナビゲーションルート上に無いノードのレベルを決定することができる。複数のノードの各々のレベルの決定は、この開示の図７および図１１、およびそれらの記述に見出すことができる。
【００５４】
ステップ６４０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、ノードのレベルに基づいてノードの各々に関する少なくとも１つのタイプのリンクのための１つまたは複数のターゲットリンクを決定することができる。
【００５５】
いくつかの実施形態において、異なるレベルのノードのターゲットリンクの決定のために異なる戦略を適用することができる。いくつかの実施形態において、高レベルノードの場合、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、そのノードに接続されたすべてのリンクをターゲットリンクとして決定することができる。いくつかの実施形態において、低レベルノードの場合、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、ノードに接続されたリンクの数および／またはそのノードに接続されたリンクに対して決定されたスコアに基づいて、そのノードに関する１つまたは複数のターゲットリンクを決定することができる。ターゲットリンクの決定は、この開示の図９およびその記述に見出すことができる。ステップ６５０において、プロセッサ２２０（例えば、ロードマップ生成モジュール４４０）は、ターゲットリンクに基づいてロードマップを生成することができる。
【００５６】
ロードマップを用いてユーザのナビゲーションニーズ（例えば、ナビゲーションルートに沿ってユーザが自分の車を運転するのを助ける）を満足させることができる。ロードマップは、２次元イメージ、３次元イメージ等であり得る。ロードマップは、複数のノードに対応する複数の交差点、およびターゲットリンクに対応する複数のロードセグメントを含むことができる。いくつかの実施形態において、ロードマップは、またナビゲーション端末１２０の現在のロケーションに対応することができるナビゲーション端末１２０の識別ロケーションを含むこともできる。いくつかの実施形態において、プロセッサ２２０（例えば、ロードマップ生成モジュール４４０）は、最初にナビゲーションルートの現在のロケーションに関連した転送マトリクスを決定することができる。例えば、転送マトリクスは、変換マトリクス、スケーリングマトリクス、回転マトリクス、対称マトリクス等、またはそれらの任意の組み合わせを含むことができる。次に、プロセッサ２２０（例えば、ロードマップ生成モジュール４４０）は、転送マトリクスおよびターゲットリンクに基づいてロードマップを生成することができる。ロードマップの生成は、この開示の図１０およびその記述に見出すことができる。
【００５７】
プロセッサ６００のすべてまたは一部は、リアルタイムで反復して実行することができる。例えば、プロセッサ２２０は、ナビゲーション端末１２０の現在のロケーションを取得し、規則的な時間間隔（例えば、５秒、１０秒、１５秒）または不規則な時間間隔でプロセス６００の後続の動作を実行することができる。ノードのレベルとノード毎のターゲットリンク（複数の場合もある）は、時間に対して変更することができる。図１３Ａおよび１３Ｂは、この開示のいくつかの実施形態に従う例示ロードネットワークを図示する。図１３Ａに示すように、ノード１３１０は、基準ノードとして指定することができ、ノード１３２０と１３３０のレベルは、それぞれ、基準ノード１３１０とノード１３２０／１３３０の間の距離に基づいて決定することができる。ある時間間隔の後、図１３Ｂに示すように、ノード１３５０（ノード１３５０は、ノード１３２０と同じ交差点を表すことができる）は基準ノードとして指定することができ、ノード１３４０（ノード１３４０は、ノード１３１０と同じ交差点を表すことができる）と１３６０（ノード１３６０は、ノード１３３０と同じ交差点を表すことができる）は、基準ノード１３５０とノード１３４０／１３６０との間の距離に基づいて決定することができる。ノードのレベルは、新しい距離に基づいて再決定することができる。いくつかの実施形態において、ノードのレベルに基づいて決定されたノードのターゲットリンク（複数の場合もある）も、変更することができる。図１３Ａおよび１３Ｂに示すように、実線により表されるラインは、ノードのターゲットリンクとして決定することができる。同じノードのターゲットリンク（複数の場合もある）は、異なる時間期間で異ならせることができ、ターゲットリンク（複数の場合もある）に基づいて生成されたロードマップは、それに対応して変更することができる。
【００５８】
上述した記述は、単に、例示目的で提供されこの開示の範囲を限定することを意図していないことに留意する必要がある。当業者には、この開示の教示に基づいて複数の変形および変更を行うことができる。しかしながら、これらの変形および変更は、この開示の範囲から逸脱しない。例えば、１つまたは複数の他のオプションのステップ（例えば、記憶ステップ、事前処理ステップ）を例示プロセス／方法６００のどこかに追加することができる。他の例として、例示プロセス／方法６００のすべてのステップは、命令のセットを含むコンピュータ可読記憶媒体にインプリメントすることができる。命令は、電流または電子信号の形態で送信することができる。
【００５９】
図７は、この開示のいくつかの実施形態に従うノードのレベルを決定するための例示プロセスおよび／または方法７００のフローチャートである。いくつかの実施形態において、プロセスおよび／または方法７００は、プロセスおよび／または方法６００におけるステップ６３０において複数のノードの各々のレベルを決定するために使用することができる。いくつかの実施形態において、プロセスおよび／または方法７００の１つまたは複数のステップは、図１に示すシステム１００においてインプリメントすることができる。例えば、プロセスおよび／または方法７００の１つまたは複数のステップは、ストレージデバイス１３０および／またはストレージ（例えば、ＲＯＭ２３０、ＲＡＭ２４０）に、命令の形態として記憶することができ、サーバ１１０（例えば、サーバ１１０内の処理エンジン１１２、またはサーバ１１０内の処理エンジン１１２のプロセッサ２２０）により起動および／または実行することができる。
【００６０】
ステップ７１０において、処理２２０（例えば、レベル決定モジュール４２０）は、ロードネットワークデータに関連した複数のノードからナビゲーションルート上のノードを取得することができる。いくつかの実施形態において、ナビゲーションルート上のノードは、ナビゲーションルートのリンクを接続するノードを指す事ができる。例えば、図１１に示すように、ナビゲーションルート上のノードは、ノード１１１０、１１２０、および１１３０を含むことができる。ステップ７２０において、プロセッサ２２０（例えば、レベル決定モジュール４２０）は、ナビゲーションルート上の複数のノードから１つのノードを基準ノードとして指定することができる。
【００６１】
いくつかの実施形態において、プロセッサ２２０は、ナビゲーション端末１２０の現在のロケーションに近いノードを基準ノードとして指定することができる。図１１に示すように、番号１１６０は、ナビゲーション端末１１２０の現在のロケーションを表し、ノード１２０は、ナビゲーション端末１２０の現在のロケーションに近いノードである。プロセッサ２２０は、ノード１１２０を基準ノードとして指定することができる。いくつかの実施形態において、プロセッサ２２０は、ナビゲーション端末１２０に対する距離並びにナビゲーション端末１２０が移動している方向に基づいてノードを基準ノードとして指定することができる。例えば、ある実施形態において、旅行中にナビゲーション端末１２０が通過しなかった最も近いノードのみが基準ノードとして指定されるであろう。ステップ７３０において、プロセッサ２２０（例えば、レベル決定モジュール４２０）は、ナビゲーションルート上のノード毎にノードと基準ノードとの間の距離が第１のしきい値より大きいかどうかを判断することができる。
【００６２】
いくつかの実施形態において、距離は、ノードに対応する交差点と、現実世界における基準ノードに対応する交差点との間のナビゲーションルートに沿った実際の距離を含むことができる。プロセッサ２２０は、測位システムと通信し、測位システムにより直接決定された距離を取得することができるか、あるいは、プロセッサ２２０は、ネットワーク１４０を介してストレージデバイス１３０、ＲＯＭ２３０、および／またはＲＡＭ２４０に記憶されたロードネットワークの長さ情報をアクセスすることにより、距離を取得することができる。第１のしきい値は、システムに記憶された事前設定された距離値、例えば、５０メートルであり得るか、あるいは、異なるアプリケーションシナリオに従って決定された距離値であり得る。ノードと基準ノードとの間の距離が第１のしきい値以下の場合、プロセス７００は、ステップ７４０に進む。ノードと基準ノードとの間の距離が第１のしきい値より大きい場合、プロセス７００は、ステップ７５０に進むことができる。いくつかの実施形態において、距離は、ナビゲーションルートに沿った時空間距離を含むことができ、それは、ナビゲーションルートに沿った、現実世界の距離だけでなく、そのような距離を移動するのに必要な、推定時間も考慮に入れる。現実世界の距離の重みと、推定移動時間の重みは、システムにより事前に決定することができるか、あるいは、ユーザの好みに応じて変化させることができる。
【００６３】
ステップ７４０において、プロセッサ２２０（例えば、レベル決定モジュール４２０）は、ノードのレベルを第１の値として決定することができる。ノードのレベルは、ノードがユーザに影響を与える可能性のある度合いを反映させることができる。異なるレベルを有する複数のノードは、ユーザに影響を与える異なる度合いを有するノードを表すことができる。ユーザがノードに関連して判断するためにノードが重要である場合（例えば、右折、左折、直進）、ノード（例えば、ノードに接続されたリンク）に関連する、より詳細な情報をユーザに包括的に提示することができる。第１の値は、ノードがユーザに影響を与える最も高い度合いを指すことができる。ノード（例えば、ノードに接続されたすべてのリンク）に関連したすべての情報をユーザに提示することができる。いくつかの実施形態において、第１の値は、数字の形態で、例えば、０で提示することができる。いくつかの実施形態において、第１の値は、文字フォーマット、例えば、Ａで提示することができる。第１の値は任意のフォーマットでよく、上記記載により限定されるものでは無いことに留意する必要がある。
【００６４】
ステップ７５０において、プロセッサ２２０（例えば、レベル決定モジュール４２０）は、ノードのレベルを第２の値として決定することができる。いくつかの実施形態において、第２の値は、第１の値に比べて、ノードがユーザに影響を与える度合いが低いことを指す。いくつかの実施形態において、第２の値は、第１の値と同じフォーマットを有することができる。例えば、第１の値が０の場合、第２の値は、１、２等、０の後ろにランクされた数値形式になる。他の例として、第１の値がＡの場合、第２の値は、Ｂ、Ｃまたはその他の文字のような、Ａの後ろにランクされた文字であり得る。図示目的のために、この開示のどこかに記載したノードのレベルは、数値フォーマットであり得る。
【００６５】
ステップ７６０において、プロセッサ２２０（例えば、レベル決定モジュール４２０）は、複数のノードから、ナビゲーションルート上に無いノードを取得することができる。例えば、図１１に示すように、ナビゲーションルート上に無いノードは、ノード１１４０および１１５０を含むことができる。ナビゲーションルート上のノードのレベルを決定した後、プロセッサ２２０は、ナビゲーションルート上に無いノードのレベルを決定することができる。ステップ７７０において、プロセッサ２２０（例えば、レベル決定モジュール４２０）は、ナビゲーションルート上のノードのレベルおよび複数のノードに関連するトポロジー関係に基づいて、ナビゲーションルート上に無いノードのレベルを決定することができる。
【００６６】
複数のノードに関連するトポロジー関係は、サーチアルゴリズムに関連する可能性がある複数のノードの構造を指すことができる。プロセッサ２２０（例えば、レベル決定モジュール４２０）は、サーチの開始点として指定されたノードのレベルに基づいてノードのレベルを決定することができる。例えば、図１１に示すように、プロセッサ２２０は、実質的に、基準ノード１１２０からのナビゲーションルートに関連する移動方向に沿ってサーチすることができ、プロセッサ２２０は、リンクＬ３を介してナビゲーションルート上に無いノード１１５０を取得することができる。ノード１１５０のレベルは、基準ノード１１２０のレベルに基づいて決定することができる。次に、ノード１１５０は、サーチを継続するための新しい開始点として指定することができる。実質的に、移動方向に沿って、他のノード（図１１に図示せず）は、ノード１１５０からリンクＬ８を介して取得することができる。プロセッサ２２０は、ノード１１５０のレベルに基づいて他のノードのレベルを決定することができる。同様に、実質的に、ナビゲーションルートに関連する逆の移動方向に沿って、ノード１１４０は、ノード１１１０からリンクＬ６を介して取得することができ、他のノード（図１１には図示せず）は、ノード１１４０からリンクＬ６を介して取得することができる。プロセッサ２２０は、ノード１１１０のレベルに基づいて、ノード１１４０のレベルを決定することができる。プロセッサ２２０は、ノード１１４０のレベルに基づいて、他のノードのレベルを決定することができる。サーチアルゴリズムは、深さ優先サーチアルゴリズム、幅優先サーチアルゴリズム、双方向幅優先サーチアルゴリズム、Ａスターアルゴリズム、列挙アルゴリズム、バックトラッキングアルゴリズム、モンテカルロツリーサーチアルゴリズム、ハッシュ関数等、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、ノードのレベルがｉ（例えば、０、１、２、３）であり、他のノードがナビゲーションルート上になく、サーチアルゴリズムに基づいてノードから直接取得することができる場合、他のノードのレベルは、ｉ＋１として決定することができる。例えば、ノードＡのレベルが１であり、ノードＢは、ナビゲーションルート上に無く、サーチアルゴリズムに基づいてノードＡから直接取得でき、ノードＣがナビゲーションルート上になく、サーチアルゴリズムに基づいてノードＢから取得できる場合、ノードＢのレベルは、２として決定することができ、ノードＣのレベルは、３として決定することができる。例としてのみ提示され、ここでは、より大きな数は、より低いレベルを表す。
【００６７】
いくつかの実施形態において、内部リンク、ラウンドアバウトリンク、またはショートリンクにより接続された複数のノードのうちの２つのノードのレベルは、同じである。いくつかの実施形態において、内部リンクは、交差点を表す複数のノードに接続されたリンクを指すことができる。いくつかの実施形態において、１つのリンクは１つロード、または１つのロードセグメントを表すことができる。ロードの交差点は、１つのノードにより表すことができる。ロードの長手方向に沿って障害物があり、その障害物がロードを２つの部分に分断し、各部分は、乗り物または歩行者が特定の方向にのみ移動可能である場合、ロードは２つのリンクで表すことができ、各リンクは、ロードの１つの部分を表すことができる。そのような他のノード（複数の場合もある）とのロード交差点は、２以上のノードを生成することができ、交差点は、２以上のノードにより表すことができる。図１２Ａを参照すると、図１２Ａは、この開示のいくつかの実施形態に従う、例示内部リンクを図示する。図１２Ａに示すように、交差点は、４つのノード１２１０−１、１２１０−２、１２１０−３、１２１０−４により表すことができる。いくつかの実施形態において、４つのノードの内の任意の２つのノードを接続するリンクは、内部リンクと呼ぶことができ、４つのノードのレベルは、同じに指定することができる。いくつかの実施形態において、内部リンクを有するノードは、ロードネットワークの完全性を保証することができる。いくつかの実施形態において、環状交差点リンクは、環状交差点の入り口および／または出口に対応する２つのノードに接続されたリンクを指すことができる。図１２Ｂを参照すると、図１２Ｂは、この開示のいくつかの実施形態に従う、例示環状交差点リンクを図示する。図１２Ｂに示すように、環状交差点は、入り口および／または出口に対応するノード、例えば、ノード１２２０−１、１２２０−２、１２２０−３、２２０−４により４つのリンクに分割されている。４つのリンクは、環状交差点リンクと呼ぶことができる。いくつかの実施形態において、４つのノードのレベルは、同じに指定することができる。いくつかの実施形態において、ショートリンクは、しきい値の長さ未満の長さを有するロードセグメントに対応するリンクを指すことができる。しきい値の長さは、システムに記憶された事前設定された値の長さ、例えば、５メートル、１０メートル、または異なるアプリケーションシナリオに従って決定された長さの値であり得る。ロードセグメントの長さがしきい値の長さ未満である場合、ロードセグメントに対応するリンクは、ショートリンクと呼ぶことができる。図１２Ｃを参照すると、図１２Ｃは、この開示のいくつかの実施形態に従う例示ショートリンクを図示する。図１２Ｃに示すように、ノード１２３０−１およびノード１２３０−２に接続されたリンクに対応するロードセグメントが閾値長さ未満である場合、リンクは、ショートリンクと呼ぶことができる。
【００６８】
上記記載は、単に、例示目的のために提供され、この開示の範囲を限定することを意図していないことに留意する必要がある。当業者の場合、この開示の教示の下で複数の変形および変更が可能である。しかしながら、これらの変形および変更は、この開示の範囲から逸脱しない。他の例として、１つまたは複数のオプションのステップ（例えば、記憶ステップ、事前処理ステップ）を例示プロセス／方法７００のどこかに追加することができる。さらに、他の例として、例示プロセス／方法７００のすべてのステップは、命令のセットを含むコンピュータ可読媒体にインプリメントすることができる。命令は、電流または電子信号の形態で送信することができる。
【００６９】
図８は、この開示のいくつかの実施形態に従う複数のノードの各々に関する１つ以上のターゲットリンクを決定するためのプロセスおよび／または方法８００のフローチャートである。いくつかの実施形態において、プロセスおよび／または方法８００の１つ以上のステップは、図１に示すシステム１００にインプリメントすることができる。例えば、プロセスおよび／または方法８００の１つ以上のステップは、命令の形態として、ストレージデバイス１３０および／またはストレージ（例えば、ＲＯＭ２３０、ＲＡＭ２４０）に記憶することができ、サーバ１１０（例えば、サーバ１１０内の処理エンジン１１２、またはサーバ１１０内の処理エンジン１１２のプロセッサ２２０）により起動および／または実行することができる。
【００７０】
ステップ８１０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、ノードのレベルを取得することができる。プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、レベル決定モジュール４２０からノードのレベルを取得することができる。
【００７１】
ステップ８２０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、ノードのレベルが第１の値（例えば、レベル０）かどうかを判断することができる。プロセッサ２２０が、ノードのレベルが第１の値であると判断した場合、プロセッサ８００は、ステップ８３０に進む。そうでなければ、プロセッサ２２０がノードのレベルが第１の値ではないと判断した場合、プロセッサおよび／または方位８００は、ステップ８４０に進む。
【００７２】
第１の値に対応するレベルを有するノードは、ユーザに与える影響が最も高いので、ステップ８３０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、第１の値のレベルを有するノードに接続された１つ以上のすべてのリンクをターゲットリンクとして決定することができる。
【００７３】
第１の値のレベルでないノードの場合、第１の値のレベルを有するノードに比べてユーザに与える影響が相対的に低いので、ステップ８４０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、第１の値ではないレベルのノードに接続された１つまたは複数のリンクに基づいて１つまたは複数のターゲットリンクを決定することができる。ノードに関連づけられた情報の一部をユーザに提示することができる。いくつかの実施形態において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、第１の値ではないレベルのノードに接続された１つまたは複数のリンクの各々に関するスコアを決定することができ、ノードに接続されたリンクの数および／又はノードに接続されたリンクのスコアに基づいて、ノードに関する１つまたは複数のリンクを決定することができる。第１の値ではないレベルのノードに関連づけられたターゲットリンクの決定は、この開示の図９およびその記述に見出すことができる。
【００７４】
上述した記述は、単に例示目的のために提供されたものであり、この開示の範囲を限定することを意図したものではないことに留意する必要がある。当業者には、この開示の教示の下で複数の変形及び変更を行うことができる。しかしながら、これらの変形および変更は、この開示の範囲から逸脱しない。他の例として、１つまたは複数の他のオプションのステップ（例えば、記憶ステップ、事前処理ステップ）は、例示プロセス／方法８００のどこかに追加することができる。さらに他の例として、例示プロセス／方法８００のすべてのステップは、命令のセットを含むコンピュータ可読媒体にインプリメントすることができる。命令は、電流または電子信号の形態で送信することができる。
【００７５】
図９は、この開示のいくつかの実施形態に従う、第１の値ではないレベルのノードに関するターゲットリンクを決定するための例示プロセスおよび／または方法９００のフローチャートである。いくつかの実施形態において、プロセスおよび／または方法９００は、プロセスおよび／または方法８００のステップ８４０においてターゲットリンクを決定するために使用することができる。いくつかの実施形態において、プロセスおよび／方法９００の１つまたは複数のステップは、図１に示すシステム１００にインプリメントすることができる。例えば、プロセスおよび／または方法９００の１つまたは複数のステップは、ストレージデバイス１３０および／またはストレージ（例えば、RM２３０、ＲＡＭ２４０）に、命令の形態として記憶することができ、サーバ１１０（例えば、サーバ１１０内の処理エンジン１１２または、サーバ１１０内の処理エンジン１１２のプロセッサ２２０）により起動および／または実行することができる。
【００７６】
ステップ９１０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、ノードの少なくとも１つのタイプのリンクを取得することができる。いくつかの実施形態において、リンクのタイプは、先行リンクおよび後続リンクを含むことができる。プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、情報取得モジュール４１０からノードの少なくとも１つのタイプのリンクを取得することができる。
【００７７】
ステップ９２０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、そのタイプを有する唯一のリンクがあるかどうかを決定することができる。タイプ毎に、第１の値ではないレベルのノードに接続されたタイプを有する唯一のリンクがある場合、プロセッサおよび／または方法９００は、ステップ９３０に進む。ステップ９３０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、その一つのリンクをそのタイプのターゲットリンクとして指定することができる。例えば、ノードのレベルが第１の値（例えば、ノードのレベルがレベル１）ではなく、そのノードに接続された唯一の先行リンクがある場合、プロセッサ２２０は、その先行リンクをそのタイプのリンク（ここでは、「ターゲット先行リンク」とも呼ぶ）として指定することができる。そうでなければ、第１の値ではないレベルのノードに接続されたタイプを有する２以上のリンクがある場合、プロセスおよび／または方法９００は、ステップ９４０に進むことができる。ステップ９４０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、そのノードに接続された、そのタイプの各リンクに対するスコアを決定することができる。例えば、ノードのレベルが第１の値（例えば、ノードのレベルがレベル１）ではなく、そのノードに接続された２以上の先行リンク（例えば、３つの先行リンク）がある場合、プロセッサ２２０は、３つの先行リンクに対する各々のスコアを決定し、２つの先行リンクのスコアに基づいて、ターゲット先行リンクを決定することができる。いくつかの実施形態において、スコアは、リンクに関する評価値であり得る。スコアが高ければ高いほど、そのスコアに対応するリンクがターゲットリンクに決定される確率は高くなる。いくつかの実施形態において、プロセッサ２２０は、リンクと基準リンクとの間の関係に基づいて、リンクのスコアを決定することができる。基準リンクは、ノードに関連したターゲットリンクであると決定されたリンクを指すことができる。第１の値ではないレベルのノードのターゲット後続リンクを決定するために、プロセッサ２２０は、複数基準リンクとしてノードのターゲットリンク（ターゲット先行リンク）であると決定された先行リンクを決定することができる。いくつかの実施形態において、プロセッサ２２０は、リンクに対応するロードまたはロードセグメントの内部属性（例えば、ロードの名前、ロードのレベル、ロードの幅）、および／またはリンクと基準リンクとの間の角度に基づいて、リンクのスコアを決定することができる。例えば、図１１を参照すると、ノード１１５０の場合、２つの後続リンクＬ８およびＬ９が有り、１つの先行リンクＬ７が有り、ノード１１２０のレベルは、第１の値であり、ノード１１５０のレベルは、第１の値ではなく、プロセッサ２２０は、リンクＬ３とＬ７をノード１１２０に関連づけられたターゲット後続リンクとして決定する。それゆえ、リンクＬ８とＬ９のスコアを決定するために、プロセッサ２２０は、リンクＬ７を基準リンクとして決定することができる。
【００７８】
ノードの先行リンクのスコアの決定は、ノードの後続リンクのスコアの決定と同様である。図示目的のために、ノードの後続リンクのスコアの決定を例にとる。いくつかの実施形態において、プロセッサ２２０は、式（１）に従うノードに接続された後続リンクに関するスコアＰを決定することができる。
P＝１００＋ｎ×ｌ×レベル重み＋ｗ×幅重み−|角度１|−|角度２|     (1)
但し、ｎは０または１であり得る値を示す。後続リンクに対応するロードセグメントの名前が、基準リンクに対応する基準ロードセグメントの名前と同じである場合、ｎは、１として決定することができる。さもなければ、ｎは０として決定することができる。ｌは、０または１であり得る値を示す。後続リンクに対応するロードセグメントのレベルが、基準リンクに対応する基準ロードセグメントのレベルと同じである場合、ｌは１として決定することができる。そうでなければ、ｌは０として決定することができる。ロードセグメントのレベルは、これに限定されないが、高速道路、都市高速道路、国道、州道、田舎道（country road）、タウンシップロード（township road）、９級ロード（nine grade road）、フェリー、歩行者道等またはそれらの任意の組み合わせのようなロードセグメントの内部属性であり得る。レベル重みは、後続リンクに対応するロードセグメントの名前とレベルの重み付けされた値を示す。ｗは０または１であり得る値を示す。後続リンクに対応するロードセグメントの幅が基準リンクに対応する基準ロードセグメントの幅と同じである場合、ｗは、１として決定することができる。そうでなければ、ｗは０として決定することができる。幅重みは、後続リンクに対応するロードセグメントの幅の重み付けされた値を示す。角度１は、後続リンクと基準リンクとの間の幾何学的角度値を示す。角度２は、後続リンクおよび基準リンクに接続されたノードからある距離（例えば、１０、２０、５０または１００メートル）遡った後の後続リンクと基準リンクとの間の幾何学的角度値を示す。
【００７９】
いくつかの実施形態において、レベル重みおよび／または幅重みの値は、０と１００の間の値であり得る。レベル重みと幅重みの合計は１００であり得る。プロセッサ２２０は、後続リンクに対応するロードまたはロードセグメントおよび基準リンクに対応する基準ロードセグメントの名前、レベルおよび／または幅に基づいてレベル重みおよび／または幅重みに関する値を割り当てることができる。例えば、リンクに対応するロードセグメントの名前、レベルおよび幅と、基準リンクに対応する基準ロードセグメントの名前、レベル、および幅がそれぞれ同じである場合、レベル重みと幅重みの値は、それぞれ、５０ずつ割り当てることができる。他の例として、リンクに対応するロードセグメントの名前またはレベルが、基準リンクに対応する基準ロードセグメントの名前またはレベルと異なり、リンクに対応するロードセグメントの幅が基準リンクに対応する基準ロードセグメントの幅と同じである場合、レベル重みと幅の重みの値は、それぞれ２０と８０に割り当てることができる。さらに他の例として、リンクに対応するロードセグメントの名前とレベルが、基準リンクに対応する基準ロードセグメントの名前とレベルにそれぞれ同じであり、リンクに対応するロードセグメントの幅と、基準リンクに対応する基準ロードセグメントの幅が異なる場合、レベル重みと幅重みの値は、それぞれ、３０と７０に割り当てることができる。レベル重みと幅重みの値は、システムの異なる状況に従って調節することができ、類似の変更は、この開示の範囲内である。
【００８０】
ステップ９５０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、ステップ９４０からのスコアのうちの最も高いスコアが第２のしきい値を超えるかどうかを判断することができる。いくつかの実施形態において、プロセッサ２２０は、降べきの順、あるいは昇べきの順にスコアをランク付することができ、ランク結果に基づいて、最も高いスコアを決定することができる。第２のしきい値は、システムに記憶された事前設定されたスコアの値、例えば５０であるか、または異なるアプリケーションシナリオに従って決定することができる。いくつかの実施形態に従って、最も高いスコアが第２のしきい値を超える場合、プロセスおよび／または方法９００は、ステップ９６０に進むことができる。最も高いスコアが、第２のしきい値より大きくない場合、プロセッサ２２０は、そのノードに関するタイプを有するターゲットリンクを決定することができないか、あるいは、プロセスおよび／または方法９００は、ステップ９７０に進むことができる。
【００８１】
ステップ９６０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、最も高いスコアに対応するリンクをターゲットリンクとして指定することができる。いくつかの実施形態において、最も高いスコアを有する１つ以上のリンクがあり得る。プロセッサ２２０は、１つ以上のリンクのすべてまたは一部を、ターゲットリンクとして指定することができる。
【００８２】
いくつかの実施形態において、最も高いスコアが第２のしきい値より大きくない場合、基準リンクとノードの先行リンク、または後続リンクの任意の１つとの間に大きな差異（difference）（例えば、大きな角度）があることを意味することができる。プロセッサ２２０は、スコアに基づいてノードに関するターゲットリンクを決定することはできない。いくつかの実施形態において、ロードマップをユーザに完全におよび／または美しく提示するために、ステップ９７０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、第２のしきい値より大きいスコアを有するシミュレートされたリンクを生成することができる。
【００８３】
いくつかの実施形態において、シミュレートされたリンクは、シミュレートされたリンクのスコアが第２のしきい値より大きいことを保証する属性を有するロードセグメント（ここでは、シミュレートされたロードセグメントとも呼ぶ）に対応させることができる。シミュレートされたリンクに対応するシミュレートされたロードセグメントは、実際には、現実世界には存在し得ない。プロセッサ２２０は、基準リンクに対応する基準ロードセグメントと同じ名前、レベル、および／または幅を有するシミュレートされたリンクに対応するシミュレートされたロードセグメントを構築することができる。シミュレートされたリンクに対応するシミュレートされたロードセグメントは、基準リンクに対応する基準ロートセグメントと同じ直線上に位置することができる。いくつかの実施形態において、プロセッサ２２０は、ノードの基準リンクの方向に沿ってシミュレートされたリンクを生成することができ、シミュレートされたリンクに対応するシミュレートされたロートセグメントの属性は、式（１）に従って決定されたスコアが、第２のしきい値より大きいことを保証するためにのみ任意に調節可能である。ステップ９８０において、プロセッサ２２０（例えば、ターゲットリンク決定モジュール４３０）は、シミュレートされたリンクをターゲットリンクとして指定することができる。
【００８４】
上述した記載は、単に、例示目的のために提供され、この開示の範囲を限定することを意図したものではないことに留意する必要がある。当業者であれば、この開示の教示の下で、複数の変形および変更を行うことができる。しかしながら、これらの変形および変更は、この開示の範囲から逸脱しない。他の例として、１つまたは複数のオプショのステップ（例えば、格納ステップ、事前処理ステップ）は、例示プロセス／方法９００のどこかに追加することができる。さらに他の例として、例示プロセス／方法９００のすべてのステップは、命令のセットを含むコンピュータ可読媒体にインプリメントすることができる。命令は、電流または電子信号の形態で送信することができる。
【００８５】
図１０Ａは、いくつかの実施形態に従う例示ロードマップ生成モジュール４４０を図示するブロック図である。ロードマップ生成モジュール４４０は、転送マトリクス決定ユニット１０１０、ロードマップ生成ユニット１０２０、および識別ロケーション決定ユニット１０３０を含むことができる。これらのユニットは、ロードマップ生成モジュール４４０ｂのすべてまたは一部のハードウェア回路であり得る。これらのユニットはまた、処理エンジンに読み取られ、実行されるアプリケーションまたは命令セットとしてインプリメントすることもできる。さらに、これらのユニットは、ハードウェア回路とアプリケーション／命令の任意の組み合わせであり得る。例えば、ユニットは、処理エンジンがアプリケーション／命令セットを実行しているとき処理エンジン１１２の一部であり得る。
【００８６】
転送マトリクス決定ユニット１０１０は、転送マトリクスを決定することができる。
いくつかの実施形態において、転送マトリクスは、ナビゲーション端末１２０の現在のロケーションに関係づけることができる。ある実施形態において、転送マトリクス決定モジュール１０１０は、マップマッチングアルゴリズムにより転送マトリクスを決定することができる。マップマッチングアルゴリズムは、決定性マップマッチングアルゴリズムおよび／または非決定性マップマッチングアルゴリズムを含むことができる。決定性マップマッチングアルゴリズムは、プロジェクションマッチングアルゴリズム等を含むことができる。非決定性マップマッチングアルゴリズムは、確率論的統計アルゴリズム、ファジーロジックアルゴリズム、相関分析アルゴリズム、Ｄ−Ｓベースの証拠推論アルゴリズム（D-S based evidence reasoning algorithm）等、またはそれらの任意の組み合わせを含むことができる。ロードマップ生成ユニット１０２０は、ロードマップを生成することができる。いくつかの実施形態において、ロードマップ生成ユニット１０２０は、転送マトリクスおよびノードのターゲットリンクに基づいて、ロードマップを生成することができる。
【００８７】
識別ロケーション決定ユニット１０３０は、ロードマップ上のナビゲーション端末１２０の識別ロケーションを決定することができる。いくつかの実施形態において、識別ロケーション決定モジュール１０３０は、ナビゲーション端末１２０の現在のロケーションと転送マトリクスに基づいて識別ロケーションを決定することができる。いくつかの実施形態において、識別ロケーション決定ユニット１０３０は、識別ロケーション上のナビゲーション端末１２０の識別を設定することができる。
【００８８】
図１０Ｂは、この開示のいくつかの実施形態に従う、ロードマップを生成するための例示プロセスおよび／または方法１０００のフローチャートである。いくつかの実施形態において、プロセスおよび／または方法１０００の１つまたは複数のステップは、図１に示すシステム１００にインプリメントすることができる。例えば、プロセスおよび／方法１０００の１つまたは複数のステップは、ストレージデバイス１３０および／またはストレージ（例えば、ＲＯＭ２３０、ＲＡＭ２４０）に命令の形態として記憶することができ、サーバ１１０（例えば、サーバ１１０内の処理エンジン１１２、またはサーバ１１０内の処理エンジン１１２のプロセッサ２２０）により起動し、実行することができる。ステップ１０４０において、プロセッサ２２０（例えば、ロードマップ生成モジュール４４０の転送マトリクス決定ユニット１０１０）は、ナビゲーション端末の現在のロケーションに関連づけられた転送マトリクスを決定することができる。
【００８９】
いくつかの実施形態において、転送マトリクスは、立体空間と画像座標のマッピング関係を示すマトリクスであり得る。転送マトリクスは、変換マトリクス、スケーリングマトリクス、回転マトリクス、対称マトリクス等、またはそれらの任意の組合せを含むことができる。いくつかの実施形態において、ノードの各々は、転送マトリクスに関連付けることができる。転送マトリクスは、ノードと、関連するオブジェクトに対応する交差点（例えば、ノードのターゲットリンクに対応するターゲットロードセグメント）をロードマップに変換するために使用することができる。
【００９０】
いくつかの実施形態において、転送マトリクスは、前もってシステム１００のストレージデバイス１３０に記憶することができる。プロセッサ２２０は、ネットワーク１４０を介してストレージデバイス１３０をアクセスすることにより転送マトリクスを取得することができる。いくつかの実施形態において、転送マトリクスは、ノードおよびマップマッチングアルゴリズムに対応する交差点の実際のシナリオに基づいて決定することができる。例えば、マップマッチングアルゴリズムは、決定性マップマッチングアルゴリズムおよび／または非決定性マップマッチングアルゴリズムを含むことができる。決定性マップマッチングアルゴリズムは、プロジェクションマッチングアルゴリズム等を含むことができる。非決定性マップマッチングアルゴリズムは、確率論的統計アルゴリズム、ファジーロジックアルゴリズム、相関解析アルゴリズム、Ｄ−Ｓベース証拠推論アルゴリズム等、またはそれらの任意の組み合わせを含むことができる。ステップ１０５０において、プロセッサ２２０（例えば、ロードマップ生成モジュール４４０のロードマップ生成ユニット１０３０）は、転送マトリクスおよびターゲットリンクに基づいてロードマップを生成することができる。
【００９１】
ロードマップは、ユーザが、自分の乗り物をナビゲーションルートに沿って運転するのを助けるために使用することができる。ロードマップは、２次元画像、３次元画像等であり得る。ロードマップは、複数のノードに対応する複数の交差点、ターゲットリンクに対応する複数のロードセグメントを含むことができる。いくつかの実施形態において、プロセッサ２２０は、ノードおよび関連するオブジェクト（例えば、ノードのターゲットリンクに対応するターゲットロードセグメント）に対応する交差点の空間座標を取得し、さらに、空間座標に関連づけられた空間マトリクスを決定することができる。いくつかの実施形態において、空間マトリクスの各エレメントは、ロードネットワークの１つのポイントに対応する。次にプロセッサ２２０は、空間マトリクスおよび転送マトリクスに基づいてロードマップを決定することができる。例えば、プロセッサ２２０は、転送マトリクスと空間マトリクスを乗算してロードマップを決定することがえきる。図１４を参照すると、図１４は、この開示のいくつかの実施形態に従う例示ロードマップを図示する。図１４に示すように、ロードマップ１４４０は、ノード１４２０，ノード１４３０，ノード１４２０のターゲットリンクおよびノード１４３０のターゲットリンク（例えば、リンクＬ２’）を含むことができる。リンクＬ１‘は、非ターゲットリンクとして決定されるので、リンクＬ１’は、ロードマップ１４４０には提示しなくてもよい。ステップ１０６０において、プロセッサ２２０（例えば、ロードマップ生成モジュール４４０の識別ロケーション決定ユニット１０３０）は、ナビゲーション端末１２０の現在のロケーションと転送マトリクスに基づいてロードマップ上のナビゲーション端末１２０の識別ロケーションを決定することができる。
【００９２】
いくつかの実施形態において、識別ロケーションを用いてナビゲーション端末１２０のロケーションをロードマップに正確に反映させることができる。プロセッサ２２０は、ナビゲーション端末１２０のロケーションの空間座標を転送マトリクスと乗算することによりロードマップ内の識別ロケーションを決定することができる。いくつかの実施形態において、ナビゲーション端末１２０の識別ロケーションは、リアルタイムに変更することができる。プロセッサ２２０は、ナビゲーション端末１２０のロケーションを取得し、規則的な時間間隔、例えば、０．５秒、１秒、２秒、３秒、４秒または５秒でロケーションの空間座標を更新することができる。プロセッサ２２０（例えば、ロードマップ生成モジュール４４０の識別ロケーション決定ユニット１０３０）は、規則的な時間間隔の後で識別ロケーションを再決定することができる。いくつかの実施形態において、ナビゲーション端末１２０の識別は、識別ロケーションに設定することができる。識別は、アイコン、ドット、矢印等のような任意のフォーマットでよい。図１４に示すように、識別１４５０は、ナビゲーション端末１４１０を表すために、ナビゲーション端末１４１０のロケーションに対応する、識別ロケーションに設定することができる。
【００９３】
上述した記述は、単に例示目的のためであり、この開示の範囲を限定することを意図していないことに留意する必要がある。当業者であれば、この開示の教示の下で複数の変形および変更を行うことができる。しかしながら、これらの変形および変更は、この開示の範囲から逸脱しない。例えば、１つまたは複数のオプションのステップ（例えば、記憶ステップ、事前処理ステップ）をプロセス１０００内のどこかに追加することができる。他の例として、プロセス１０００内のすべてのステップは、命令セットを含むコンピュータ可読媒体にインプリメントすることができる。命令は、電流または電子信号の形態で送信することができる。
【００９４】
以上基本コンセプトについて記載したが、当業者には、この詳細な記述を読んだ後で、上述の詳細な開示は、例示による提示に過ぎず限定するものではないことは、明白である。ここには、明瞭に記載していないけれども、種々の変更、改良および修正を行うことができ、当業者を対象としている。これらの変更、改良、及び修正は、この開示により示唆されることが意図され、この開示の例示実施形態の精神及び範囲内である。
【００９５】
さらに、この開示の実施形態を記載するのに、ある用語を用いた。例えば、「１つの実施形態（one embodiment）」、「１つの実施形態（an embodiment）」、および／または「いくつかの実施形態」という用語は、実施形態に関連して記載した特定の特徴、構造、または特性がこの開示の少なくとも１つの実施形態に含まれることを意味する。それゆえ、この明細書の種々の部分において、「１つの実施形態（an embodiment）」、「１つの実施形態（one embodiment)」、または「代替実施形態」は、必ずしも同じ実施形態を指しているわけではない。さらに、特定の特徴、構造または特性は、この開示の１つまたは複数の実施形態に適するように組み合わせることができる。
【００９６】
さらに、当業者に明らかなように、この開示の態様は、新規かつ有用なプロセス、機械、製造、または物質の組成またはそれらの任意の新規で有用な改良を含むいくつかの特許可能なクラスまたはコンテキストのいずれかで図示および記載することができる。従って、この開示の態様は、全体をハードウェアで、全体を（ファームウェア、レジデントソフトウェア、マイクロコード等を含む）ソフトウェアで、または本明細書では、一般的に「ブロック」、「モジュール」、「エンジン」、「ユニット」、「コンポーネント」または「システム」と呼ぶことができるソフトウェアとハードウェアの組み合わせをインプリメントすることができる。さらに、この開示の態様は、コンピュータ読み取り可能プログラムコードが埋め込まれた１つまたは複数のコンピュータ可読媒体に具現化されたコンピュータプログラムプロダクトの形態を取ることができる。
【００９７】
コンピュータ可読信号媒体は、コンピュータ可読プログラムコードが、例えばベースバンドまたは搬送波の一部として具現化された伝搬データ信号を含むことができる。そのような伝搬信号は、電磁気、光学等、またはそれらの任意の組み合わせを含む種々の形態のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置またはデバイスによって、または関連して使用するためのプログラムを通信し、伝搬し、または転送することができる、任意のコンピュータ可読媒体であり得る。コンピュータ可読信号媒体は、無線、有線、光ファイバケーブル、ＲＦ等、またはそれらの任意の組み合わせを含む任意の適切な媒体を用いて送信することができる。
【００９８】
この開示の態様の動作を時刻するためのコンピュータプログラムコードは、Ｊａｖａ、Ｓｃａｌａ、Ｓｍａｌｌｔａｌｋ、Ｅｉｆｆｅｌ、ＪＡＤＥ、Ｅｍｅｒａｌｄ、Ｃ＋＋、Ｃ＃、ＶＢ、ＮＥＴ、Ｐｙｔｈｏｎ等のようなオブジェクト指向プログラミング言語、「Ｃ」プログラミング言語、Ｖｉｓｕａｌ  Ｂａｄｉｃ、Ｆｏｒｔｒａｎ１７０３、Ｐｅｒｌ、ＣＯＢＯＬ１７２０、ＰＨＰ、ＡＢＡＰのような汎用プログラミング言語、Ｐｙｔｈｏｎ、Ｒｕｂｙ、およびＧｒｏｏｖｙのようなダイナミックプログラミング言語、または他のプログラミング言語を含む１つまたは複数のプログラミング言語の任意の組み合わせで書くことができる。プログラムコードは、完全にユーザのコンピュータ上で実行してもよいし、一部をスタンドアロンソフトウェアパッケージとしてユーザのコンピュータ上で実行し、一部をリモートコンピュータ上で実行してもよいし、あるいは完全にリモートコンピュータ上で実行してもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザコンピュータに接続することができ、あるいは接続は、外部コンピュータ（例えば、インターネットサービスプロバイダを用いたインターネットを介して）と行ってもよいし、あるいはクラウドコンピューティング環境で、または、サービスとしてのソフトウェア（ＳａａＳ）のようなサービスとして提供されてもよい。
【００９９】
さらに、処理エレメントまたはシーケンスの順番、または、番号、文字または他の指定の使用は、請求されたプロセスおよび方法を請求項で指定される場合を除いて、任意の順番に限定することを意図していない。上記の開示は、本開示の様々な有用な実施形態であると現在考えられるものを様々な例を通して説明しているが、そのような詳細は、単にその目的のためであり、添付の特許請求の範囲は、開示された実施形態に限定されないことを理解されたい。 しかし、反対に、開示された実施形態の精神および範囲内にある修正および同等の配置をカバーすることを意図している。例えば、上述した種々のコンポーネントのインプリメンテーションは、ハードウェアデバイスに具現化することができるが、ソフトウェアのみのソリューション、例えば、既存のサーバまたはモバイルデバイス上のインストレーションとしてインプリメントすることも可能である。
【０１００】
同様に、本開示の実施形態の前述の説明では、様々な特徴が、単一の実施形態、図、またはその説明にまとめられることがあり、開示を簡素化して、1つまたは複数の様々な実施形態の１つまたは複数の理解を助けることを目的とする。しかしながら、この開示の方法は、請求される主題が、各請求項で明示的に列挙されるよりも多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、請求される主題は、前述の単一の開示された実施形態のすべての特徴より少ない場合がある。
【図１】
2021515894.tif 000003
【図２】
2021515894.tif 000004
【図３】
2021515894.tif 000005
【図４】
2021515894.tif 000006
【図５】
2021515894.tif 000007
【図６】
2021515894.tif 000008
【図７】
2021515894.tif 000009
【図８】
2021515894.tif 000010
【図９】
2021515894.tif 000011
【図１０Ａ】
2021515894.tif 000012
【図１０Ｂ】
2021515894.tif 000013
【図１１】
2021515894.tif 000014
【図１２Ａ】
2021515894.tif 000015
【図１２Ｂ】
2021515894.tif 000016
【図１２Ｃ】
2021515894.tif 000017
【図１３Ａ】
2021515894.tif 000018
【図１３Ｂ】
2021515894.tif 000019
【図１４】
2021515894.tif 000020
【手続補正書】
【提出日】令和2年9月28日(2020.9.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ナビゲーション端末と通信するように構成されたリモートナビゲーションデバイスにおいて、
ロードマップを生成するための命令のセットを含む少なくとも１つの記憶媒体と、
前記記憶媒体と通信している少なくとも１つのプロセッサであって、前記命令のセットを実行しているとき、前記少なくとも１つのプロセッサは、
前記ナビゲーション端末に関するナビゲーションルートと、前記ナビゲーション端末の現在のロケーションを取得し、
前記ナビゲーション端末の前記ナビゲーションルートと前記現在のロケーションに基づいて、前記ナビゲーション端末の前記現在のロケーションに関連づけられたロードネットワークデータを取得し、前記ロードネットワークデータは、複数のリンクと複数のノードを含み、前記複数のノードの各々は、１つまたは複数のリンクに接続され、前記１つまたは複数のリンクは、少なくとも１つのタイプのリンクを含み、
前記複数のノードの各々に関するレベルを決定し、
前記複数のノードの各々に関して、前記ノードのレベルに基づいて、前記ノードに接続された前記少なくとも１つのタイプのリンクに関する１つまたは複数のターゲットリンクを決定し、
前記ターゲットリンクに基づいてロードマップを生成する、
ように指示される、リモートナビゲーションデバイス。
【請求項２】
前記複数のノードの各々に関する前記レベルを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記複数のノードから前記ナビゲーションルート上の複数のノードを取得し、
前記ナビゲーションルート上の前記複数のノードから１つのノードを基準ノードとして指定し、
前記ナビゲーションルート上の前記複数のノードの各々に関して、前記ノードと前記基準ノードとの間の距離に基づいて前記ノードのレベルを決定し、
前記複数のノードから前記ナビゲーションルート上に無い複数のノードを取得し、
前記ナビゲーションルート上に無い複数のノードに関して、前記ナビゲーションルート上の前記ノードの前記レベル、および前記複数のノードに関係するトポロジー関係に基づいて前記ノードのレベルを決定する、
ようにさらに指示される、請求項１に記載のリモートナビゲーションデバイス。
【請求項３】
前記ナビゲーションルート上の複数のノードの各々に関して、前記ノードと前記基準ノードとの間の前記距離に基づいて前記ノードの前記レベルを決定するために、前記少なくとも１つのプロセッサは、
前記ノードと前記基準ノードとの間の前記距離が、第１のしきい値よりも大きいかどうかを判断し、
前記ノードと前記基準ノードとの間の前記距離が、前記第１のしきい値以下であると判断したことに応答して、前記ノードの前記レベルを第１の値として決定し、
前記ノードと前記基準ノードとの間の前記距離が、前記第１のしきい値より大きいと判断することに応答して前記ノードの前記レベルを第２の値として決定する、
ようにさらに指示される、請求項２に記載のリモートナビゲーションデバイス。
【請求項４】
前記ノードの前記レベルに基づいて、前記ノードに接続された１つのタイプのリンクに関する前記１つまたは複数のターゲットリンクを決定するために、前記少なくとも１つのプロセッサはさらに、
前記ノードの前記レベルが前記第１の値かどうかを判断し、
前記ノードの前記レベルが前記第１の値であるとの判断に応答して、前記ノードに接続された前記タイプのリンクのすべてを決定する、
ようにさらに指示される、請求項３に記載のリモートナビゲーションデバイス。
【請求項５】
前記ノードの前記レベルに基づいて前記ノードに接続された１つのタイプのリンクの１つまたは複数のターゲットリンクを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記ノードの前記レベルが前記第１の値であるかどうかを判断し、
前記ノードの前記レベルが前記第１の値ではないという前記判断に応答して、前記タイプを有する唯一のリンクがあるかどうかを判断し、
前記タイプを有する唯一のリンクがあるとの判断に応答して、前記リンクを前記タイプの前記ターゲットリンクとして指定し、
前記タイプを有する唯一のリンクが無いとの判断に応答して、前記ノードに接続された前記タイプのリンクの各々に関するスコアを決定し、
前記ノードに接続された前記タイプのリンクに関連するスコアに基づいてターゲットリンクを決定する、
ようにさらに指示される、請求項３に記載のリモートナビゲーションデバイス。
【請求項６】
前記タイプのリンクに関連する前記スコアに基づいて前記ターゲットリンクを決定するために、前記少なくとも１つのプロセッサは、
前記スコアのうちの最も高いスコアが、第２のしきい値より大きいかどうかを判断し、
前記最も高いスコアが、前記第２のしきい値よりも大きいとの判断に応答して、前記最も高いスコアを有するリンクを前記タイプの前記ターゲットリンクとして指定する、
ようにさらに指示される、請求項５に記載のリモートナビゲーションデバイス。
【請求項７】
前記タイプのリンクに関連する前記スコアに基づいて前記ターゲットリンクを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記最も高いスコアが、前記第２のしきい値以下であるとの判断に応答して、前記第２のしきい値より大きいスコアを有するシミュレートされたリンクを生成し、
前記シミュレートされたリンクを前記タイプの前記ターゲットリンクとして指定する、
ようにさらに指示される、請求項６に記載のリモートナビゲーションデバイス。
【請求項８】
前記ターゲットリンクに基づいて、前記ロードマップを生成するために、前記少なくとも１つのプロセッサは、さらに、
前記ナビゲーション端末の前記現在のロケーションに関連づけられた転送マトリクスを決定し、
前記転送マトリクスおよび前記ターゲットリンクに基づいて、前記ロードマップを生成する、
ようにさらに指示される、請求項１乃至７のいずれか一項に記載のリモートナビゲーションデバイス。
【請求項９】
前記少なくとも１つのプロセッサは、さらに、
前記ナビゲーション端末の前記現在のロケーションおよび前記転送マトリクスに基づいて、前記ロードマップ上の前記ナビゲーション端末の識別ロケーションを決定し、前記ナビゲーション端末の識別は、前記識別ロケーション上に設定される、請求項８に記載のリモートナビゲーションデバイス。
【請求項１０】
少なくとも１つのプロセッサと、少なくとも１つの記憶媒体と、ネットワークに接続された通信プラットフォームを有するコンピューティングデバイス上にインプリメントされたロードマップを生成する方法において、
ナビゲーション端末のためのナビゲーションルートと前記ナビゲーション端末の現在のロケーションを取得するステップと、
前記ナビゲーションルートと、前記ナビゲーション端末の前記現在のロケーションとに基づいて、前記ナビゲーション端末の前記現在のロケーションに関連づけられたロードネットワークデータを取得するステップであって、前記ロードネットワークデータは、複数のリンクと複数のノードを含み、前記複数のノードの各々は、１つまたは複数のリンクに接続され、前記１つまたは複数のリンクは、少なくとも１つのタイプのリンクを含む、取得するステップと、
前記複数のノードの各々に関するレベルを決定するステップと、
前記複数のノードの各々に関して、前記ノードの前記レベルに基づいて、前記ノードに接続された少なくとも１つのタイプのリンクに関する１つまたは複数のターゲットリンクを決定するステップと、
前記ターゲットリンクに基づいてロードマップを生成するステップと、
を備えた、ロードマップを生成する方法。
【請求項１１】
前記複数のノードの各々に関する前記レベルを決定するステップは、
前記複数のノードから前記ナビゲーションルート上の複数のノードを取得するステップと、
前記ナビゲーションルート上の前記複数のノードから１つのノードを基準ノードとして指定するステップと、
前記ナビゲーションルート上の前記複数のノードの各々に関して、前記ノードと前記基準ノードとの間の距離に基づいて、前記ノードのレベルを決定するステップと、
前記複数のノードから前記ナビゲーションルート上に無いノードを取得するステップと、
前記ナビゲーションルート上に無い前記複数のノードの各々に関して、前記ナビゲーションルート上の前記ノードの前記レベルと、前記複数のノードに関連するトポロジー関係に基づいて、前記ノードのレベルを決定するステップと、
を含む、請求項１０に記載の方法。
【請求項１２】
前記ナビゲーションルート上の前記ノードの各々に関して、前記ノードと前記基準ノードとの間の前記距離に基づいて、前記ノードの前記レベルを決定するステップは、
前記ノードと前記基準ノードとの間の前記距離が、第１のしきい値より大きいかどうかを判断するステップと、
前記ノードと前記基準ノードとの間の前記距離が、前記第１のしきい値以下との判断に応答して、前記ノードの前記レベルを第１の値として決定するステップと、
前記ノードと前記基準ノードとの間の前記距離が、前記第１のしきい値より大きいとの判断に応答して、前記ノードの前記レベルを第２の値として決定するステップと、
を含む、請求項１１に記載の方法。
【請求項１３】
前記ノードの前記レベルに基づいて、前記ノードに接続された１つのタイプのリンクに関連する、前記１つまたは複数のターゲットリンクを決定するステップは、
前記ノードの前記レベルが、前記第１の値であるかどうかを判断するステップと、
前記ノードの前記レベルが、前記第１の値であるとの判断に応答して、前記ノードに接続されたすべてのタイプの前記リンクを決定するステップと、
前記ノードの前記レベルが前記第１の値ではないとの決定に応答して、
前記タイプを有する唯一のリンクがあるかどうかを判断するステップと、
前記タイプを有する唯一のリンクがあるとの判断に応答して、
前記リンクを前記タイプのターゲットリンクとして指定するステップと、
前記タイプを有する唯一のリンクが無いとの判断に応答して、
前記ノードに接続された前記タイプのリンクの各々に関するスコアを決定するステップと、
前記ノードに接続された前記タイプのリンクに関連する前記スコアに基づいてターゲットリンクを決定するステップと、
を含む、請求項１２に記載の方法。  
【請求項１４】
前記ターゲットリンクに基づいて、前記ロードマップを生成するステップは、
前記ナビゲーション端末の前記現在のロケーションに関連づけられた転送マトリクスを決定するステップと、
前記転送マトリクスおよび前記ターゲットリンクに基づいて前記ロードマップを生成するステップと、を含む、請求項１０乃至１３のいずれか一項に記載の方法。
【請求項１５】
ロードマップを生成するための命令の少なくとも１つのセットを備え、コンピューティングデバイスの少なくとも１つのプロセッサにより実行されると、前記命令の少なくとも１つのセットは、前記少なくとも１つのプロセッサに、
ナビゲーション端末のためのナビゲーションルートと、前記ナビゲーション端末の現在のロケーションを取得し、
前記ナビゲーションルートと前記ナビゲーション端末の前記現在のロケーションとに基づいて、前記ナビゲーション端末の前記現在のロケーションに関連づけられたロードネットワークデータを取得し、前記ロードネットワークデータは、複数のリンクと複数のノードを含み、前記複数のノードの各々は、１つまたは複数のリンクに接続され、前記１つまたは複数のリンクは、少なくとも１つのタイプのリンクを含み、
前記複数のノードの各々に関するレベルを決定し、
前記複数のノードの各々に関して、前記ノードの前記レベルに基づいて、前記ノードに接続された少なくとも１つのタイプのリンクに関する１つまたは複数のターゲットリンクを決定し、
前記ターゲットリンクに基づいてロードマップを生成する、ように指示される、非一時的コンピュータ可読媒体。
【国際調査報告】
2021515894.tif 000021
2021515894.tif 000022