(57)【特許請求の範囲】
【請求項１】
ナビゲーション・データを提供するための方法であって、
複数の地理的領域を含むグリッドを識別するステップであって、各地理的領域が道路レベルのマッピング・データを含むナビゲーション・データ・セットを有する、ステップと、
各地理的領域ごとに、その地理的領域の境界を画定し、境界を共有する少なくとも１つの他の地理的領域を指定するリンク参照を規定するステップと、
複数の地理的ナビゲーション・バンドルを識別するステップであって、各地理的ナビゲーション・バンドルが前記地理的領域の１つに対応し、各地理的ナビゲーション・バンドルが関連する地理的領域のための前記ナビゲーション・データ・セットを含み、各地理的ナビゲーション・バンドルが他の地理的ナビゲーション・バンドルに対するリンク参照を含むマニフェスト・ファイルを含む、ステップと、
前記地理的ナビゲーション・バンドルを利用して複数のナビゲーション・タスクを実行するステップと、
全地球測位システム（ＧＰＳ）を搭載したデバイスが、ＧＰＳ座標を利用して、前記地理的領域のどれに前記ＧＰＳ搭載デバイスが位置するかを自動的に判定するステップと、
前記ＧＰＳ搭載デバイスが、前記判定した地理的領域に対応する前記地理的ナビゲーション・バンドルの選択されたものを動的にインストールするステップと、
前記ＧＰＳ搭載デバイスが異なる地理的領域に入ろうとしていることを、前記ＧＰＳ搭載デバイスが自動的に予測するステップと、
前記異なる地理的領域に入る前に、前記ＧＰＳ搭載デバイスが前記異なる地理的領域のための異なる地理的ナビゲーション・バンドルを受信するステップと、
前記異なる地理的ナビゲーション・バンドルをインストールし活性化するステップと、
前記異なる地理的領域内に位置する間、前記ＧＰＳ搭載デバイスが、前記異なる地理的ナビゲーション・バンドルに関連付けた前記領域のナビゲーション・データ・セットに基づいて少なくとも１つのナビゲーション・プロセスを実行するステップとを含み、
前記ＧＰＳ搭載デバイスが複数のインストールされ活性化された地理的ナビゲーション・バンドルを含み、前記予測ステップの前に、前記異なる地理的ナビゲーション・バンドルが前記複数のインストールされ活性化された地理的ナビゲーション・バンドル内に含まれず、
前記予測ステップに応答して、前記ＧＰＳ搭載デバイスが前記複数の地理的ナビゲーション・バンドルの１つを停止し除去して、前記異なる地理的ナビゲーション・バンドルのためにリソースを解放するステップを更に含み、
少なくとも１つのＧＰＳデバイスが、前記ＧＰＳ搭載デバイスの単一の仮想マシン内で複数の地理的ナビゲーション・バンドルをインストールし活性化するように構成され、
前記複数の地理的ナビゲーション・バンドルのための前記マニフェスト・ファイルがバージョンおよび日付を含み、
前記ＧＰＳ搭載デバイスが前記地理的ナビゲーション・バンドルの現在インストールされているものに対する更新について遠隔位置のサーバを自動的にチェックするステップと、
更新が利用可能である場合、前記ＧＰＳ搭載デバイスが前記遠隔位置のサーバによって前記インストールされた地理的ナビゲーション・バンドルの少なくとも１つを動的に更新するステップと、
を更に含む、
方法。
【請求項２】
前記インストールされた地理的ナビゲーション・バンドルが、対応する地理的領域内の道路についてのほぼ現在のトラヒック情報を含む、請求項１に記載の方法。
【請求項３】
前記インストールされた地理的ナビゲーション・バンドルが、対応する地理的領域内に位置する会社に固有の宣伝情報を含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ナビゲーション・デバイスの分野に関し、更に具体的には、地理的ナビゲーション・バンドル（navigation bundle）の予測取得および利用に関する。
【背景技術】
【０００２】
様々なデバイスにおいて、ナビゲーションの目的のため、全地球測位システム（ＧＰＳ：Global Positioning System）がますます利用されるようになっている。これらのデバイスの多くは、個人または乗り物のナビゲーションのために設計された携帯用デバイスである。ナビゲーションのために用いる場合、ＧＰＳを搭載したデバイスは、局所的な地形あるいは道路情報またはその両方のマッピング・データを含まなければならない。この情報を充分に小さい粒度（granularity）（道路レベルのマップを含む粒度等）で提供して、ナビゲーションに役立てるためには、相当な量のデータが必要となる可能性がある。ＧＰＳデバイスにこのデータをストアするには、デバイスに大きなデータ・ストレージ空間を設けなければならない。データ・ストレージ空間は、携帯用デバイスでは乏しいリソースである場合がある。通常、携帯用デバイスのストレージ空間のサイズを大きくすると、関連するデバイスのサイズあるいはコストまたはその両方が比例して増大することになる。
【０００３】
一般的に、携帯用ＧＰＳデバイスは、既知の地理的領域における一度の旅行のためのマッピング・データあるいは地形データまたはその両方を含むのに充分である適度なサイズのストレージ空間を備えている。旅行の前に、ＧＰＳデバイスをもっと大きなデータ・ストアに接続して、そこから旅行の具体的な情報を取得することができる。そして、旅行のためのマッピング・データをＧＰＳデバイスにダウンロードする。この解決策は、旅行者にとっていくぶん面倒であり、当初の旅行計画に変更が生じた場合にＧＰＳデバイスの有用性が下がってしまう恐れがある。
【０００４】
多くの場合、ＧＰＳデバイスが最も必要とされるのは、交通渋滞地域を避けるために旅行計画を変更する場合等、地形データの変更が生じた場合であることは認められよう。このため、ＧＰＳデバイスは、最も必要とされる時に充分に役立てることができない。
【０００５】
先に述べたように、サイズあるいは費用またはその両方の制約のために、多くの場合、携帯用デバイスは、あらゆる実行可能な旅行または起こり得る旅行の変更のためのデータをストアすることができない。例えば、ほとんどのナビゲーション・デバイスは、米国内の全道路の情報を含む道路レベルのマッピング・データを含まない。携帯用デバイスがこのデータ全てを含むことができたとしても、このデータの大部分は、まれにしか利用されない。このため、携帯用デバイスに非常に大きなストレージ空間を備えるコストは、デバイスのコストを増大させるものの、このコスト増大を正当化するための充分な利益は得られない。更に、小さいレベルの粒度の情報は変更されやすく、従って、ほとんどの用途について間欠的に更新する必要がある。
【０００６】
一部のＧＰＳデバイスは、無線通信機構を含み、旅行中にマッピング・データを更新することができる。ただし、ユーザは、ＧＰＳデバイスから明示的に更新をトリガしなければならず、これにはＧＰＳデバイスがデータ更新機構およびインタフェースを有することが必要であり、デバイスの複雑さあるいはデバイスのコストまたはその両方が増大する。多くの場合、これらのインタフェースは、デバイス上の入力／出力インタフェース・コンポーネントの量が限られているため利用が難しく、これらのインタフェース・コンポーネントは、基本デバイス機能を提供するためにすでに負担がかかりすぎていることが多い。更に、多くの地理的領域は無線通信有効範囲外である。ＧＰＳデバイスがかかる領域内にある場合、データを取得することができない。
【０００７】
利用されているあるＧＰＳ技術は、マッピング方向をストリームするための常時通信接続を必要とする。この技術により、ごく限られたリソースを有する極めて小型軽量のクライアント（thin client）を用いて、ＧＰＳに基づいたマッピングを行うことができる。この技術を用いて、ＧＰＳデバイスは遠隔サーバにＧＰＳ座標を連続的に送信することができ、遠隔サーバにおいてマッピング方向を決定し、デバイスに流して提示することができる。この技術は、完全に常時通信接続に依存しているが、これは利用できないことが多い。更に、この技術には、１つ以上のＧＰＳデバイスからの絶え間ないマッピング要求を処理することができるサーバが存在することが必要である。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従って、無線通信接続に依存せずに動作することができ、旅行中にマッピング・データを更新することができるＧＰＳデバイスが要望されている。好ましくは、このＧＰＳデバイスは、明示的なユーザのインタラクションなしに、自動的にこれらの更新を実行することができるものである。
【課題を解決するための手段】
【０００９】
本発明は、マッピング・データのためのデータ・ストア、予測アルゴリズム、および通信機構を含む、独立したナビゲーション動作を行うことができるＧＰＳデバイスを開示する。予測アルゴリズムは、データ・ストア内のナビゲーション・データをいつ更新するかを自動的に決定する。データ・ストア内のナビゲーション・データは、１つ以上の異なる地理的領域にグループ化することができる。ＧＰＳデバイスが異なる領域間を移動すると、データ・ストア内に含まれるナビゲーション・データを動的に更新して、ＧＰＳデバイスが位置する現在の地理的領域のために適切なデータを含ませることができる。予測アルゴリズムによって、ＧＰＳデバイスがデータを実際に必要とする時点よりも前に、データ・ストア内に適切なデータを確実にロードすることができる。
【００１０】
予測アルゴリズムは、充分に早い時期にデータを検索するように任意に構成して、デバイスを用いるいくつかの地理的領域において無線接続を利用しなくても問題にならないことを保証することができる。例えば、ＧＰＳデバイスを４０マイルの更新バッファ領域を用いて構成して、規定したバッファ領域内の全てのナビゲーション・データが間欠的な更新によって常にデバイス内に含まれるようにすることができる。無線接続を利用しない領域が更新バッファ領域よりも小さい限り、ＧＰＳデバイスは中断することなく機能し、適切なナビゲーション・データによって動作することができる。デバイスの機能、所望の「安全」ウインドウ、デバイスを利用する地理的領域、および他のかかるファクタに依存して、異なる更新バッファ領域サイズでマッピング・データを構成することができる。
【００１１】
予測アルゴリズムは、動的ルート変更を処理するために特に有用であり得ることに留意すべきである。例えば、ＧＰＳデバイスのユーザが運転中に間違った進路変更をしたか、またはいずれかの理由で計画した旅行経路から予想外の変更を行った後に、予測アルゴリズムは、予期しない領域のためのナビゲーション情報を自動的に取得することができる。従来のＧＰＳデバイスおよびアルゴリズムは、多くの場合、所定のルートに頼り、この所定のルートに対する変更に自動的に適合しない。従来のＧＰＳデバイスがルート変更に適合しないことが多いのに対して、最先端技術における問題は、ＧＰＳユーザが追加の詳細なデータ・バンドルを必要とし得る程度の変更を予想しないならば、データが利用可能でないために、動的に変更したルート情報をデバイス上に表示できないことである。本明細書中で詳述する本発明のＧＰＳデバイスは、これらの問題を克服し、極めて柔軟で、直感的、かつ緻密なナビゲーション・システムを提供して、予測したマッピング・バンドルが必要とされる時点またはその前にそれらをデバイスに送出し、デバイス・ユーザが手動でデータをデバイスにダウンロードしなければならない負担を取り除く。
【００１２】
一実施形態において、開示するＧＰＳデバイスは、ＯＳＧｉ（登録商標）フレームワークに合致したアプリケーションを実行することができる。更に、異なる地理的領域のためのナビゲーション・データを、ＯＳＧｉ（登録商標）フレームワークに合致したバンドル内に含ませることができる。すなわち、ナビゲーション・データのためにＯＳＧｉ（登録商標）フレームワークを適合させることができる。従来のＯＳＧｉ（登録商標）に合致したアプリケーション・バンドル内に含まれる従来のアプリケーション依存性の代わりに、相互接続地理的グリッドに基づいて、地理的領域データを含むバンドルを相互にリンクさせることができる。すなわち、地理的情報の各バンドル（地理的ナビゲーション・バンドルと称する）は、他の地理的ナビゲーション・バンドルにリンクさせるか、または、他の地理的ナビゲーション・バンドルに対するリンク依存性を有することができる。このため、２つの地理的に近接または隣接した領域を相互にリンクすることができる。
【００１３】
本発明は、本明細書中に提示する要素に適合する範囲の様々な態様に従って実施することができる。例えば、本発明の一態様は、ナビゲーション・データを提供し利用するための方法を含むことができる。この方法は、複数の地理的領域を含むグリッドを識別するステップを含むことができる。各地理的領域は、道路レベルのマッピング・データを含む関連するナビゲーション・データ・セットを有することができる。各地理的領域ごとに、リンク参照を規定することができる。ＯＳＧｉ（登録商標）に合致するフレームワークに従う地理的ナビゲーション・バンドルを識別することができる。各バンドルは地理的領域の１つに対応し、ナビゲーション・データ・セットおよびマニフェスト・ファイルを含むことができる。マニフェスト・ファイルは、バージョン、日付、およびリンク参照を含むことができる。ＧＰＳ搭載デバイスは、地理的ナビゲーション・バンドルを動的にインストールし活性化することができる。ＧＰＳ搭載デバイスは、ナビゲーション・データ・セットに基づいて、少なくとも１つのナビゲーション・プロセスを実行することができる。ＧＰＳデバイスは、新しいナビゲーション・データが必要となる時を予測し、これらの予測に応答して適切な地理的ナビゲーション・バンドルを自動的に取得することができる。
【００１４】
本発明の他の態様は、ナビゲーション・データを取得するための方法を含む。この方法は、動的アプリケーション・フレームワークに従って構成されたＧＰＳ搭載デバイスを識別するステップを含むことができる。フレームワークは、ポリシー・フリーのフレームワークであり、その内部で複数のバンドルを展開可能である。バンドルの特定のものにアプリケーションを含ませることができる。フレームワークは、実行時に動的にバンドルをインストールし、更新し、除去することができる。また、フレームワークは、バンドル間の依存性を管理することができる。ＧＰＳ搭載デバイスは、ＧＰＳ搭載デバイスが提供するＧＰＳ座標によって求められるＧＰＳ搭載デバイスが位置する地理的領域のためのナビゲーション情報を提示することができる。提示されたナビゲーション情報は、地理的領域に固有の地理的ナビゲーション・バンドルに基づいたものとすることができる。地理的ナビゲーション・バンドルは、動的アプリケーション・フレームワーク内で展開可能なバンドルである。ＧＰＳ搭載デバイスによって、異なる地理的領域に対応する異なる地理的ナビゲーション・バンドルを利用することができる。
【００１５】
本発明の更に別の態様は、ＧＰＳ搭載デバイスにデータを送出するための方法を含むことができる。複数の地理的ナビゲーション・バンドルを含むサーバを識別することができる。地理的ナビゲーション・バンドルは、異なる地理的領域についてのナビゲーション情報を含むことができる。各地理的ナビゲーション・バンドルは、動的アプリケーション・フレームワークに合致するバンドルとすることができる。複数の遠隔位置のコンピューティング・デバイスから地理的ナビゲーション・バンドルの選択されたものについての要求を受信することができる。この要求に応答して、地理的ナビゲーション・バンドルの選択されたものを、要求側のコンピューティング・デバイスに送出することができる。コンピューティング・デバイスは、地理的ナビゲーション・バンドル内に含まれる情報を利用してナビゲーション・タスクを実行するナビゲーション・コンポーネントを含むことができる。
【００１６】
本発明の様々な態様は、コンピューティング設備を制御して本明細書中に記載する機能を実施するためのプログラム、またはコンピューティング設備が本明細書中に開示するステップに対応するプロセスを実行することを可能とするプログラムとして実施可能であることに留意すべきである。このプログラムは、磁気ディスク、光ディスク、半導体メモリ、または他のいずれかの記録媒体にプログラムをストアすることによって提供することができる。またプログラムは、搬送波によって伝達されるデジタル符号化信号として提供することも可能である。記載するプログラムは、単一のプログラムとすることができ、または多数のサブプログラムとして実施することができる。サブプログラムの各々は、単一のコンピューティング・デバイス内でインタラクトするか、またはネットワーク空間に分散してインタラクトする。
【００１７】
また、本明細書中に詳述する方法は、少なくとも部分的にサービス・エージェントによって、あるいはサービス要求に応答してサービス・エージェントが操作する機械によって、またはその両方によって、実行可能であることに留意すべきである。
【００１８】
図面において、現在好適である実施形態を示すが、本発明は、図示した構成および手段のみに限定されるものではないことは理解されよう。
【発明を実施するための最良の形態】
【００１９】
図１は、システム１００の概略図である。これは、本明細書中に開示する本発明の構成の一実施形態に従って地理的領域に固有のナビゲーション・データを含むバンドルをロードする予測アルゴリズムを有するＧＰＳ搭載デバイスを含む。システム１００は、バンドル・サーバ１５０を含み、これは、ネットワーク１４０上を介して、１つ以上の全地球測位システム（ＧＰＳ）搭載デバイス１１０と通信可能にリンクされている。システム１５０は、複数の地理的ナビゲーション・バンドル１５４を含むデータ・ストア１５２にアクセスすることができる。サーバ１５０は、連続的にバンドル１５４を更新して、各バンドル１５４が正確な情報を含むことを保証することができる。
【００２０】
地理的ナビゲーション・バンドル１５４は、画定された地理的領域に対応し、その地理的領域のためのナビゲーション・データ・セットを含む。ナビゲーション・データ・セットは、道路レベル・マッピング、地形および高度情報、および領域内の対象地点等、比較的静的な情報を含むことができる。また、ナビゲーション・データ・セットは、交通状況データ、天気データ、宣伝情報等、動的情報も含むことができる。各地理的バンドル１５４は、フレームワーク１３０に合致し、従って、フレームワーク１３０に合致するいずれかのデバイス１１０によって利用することができる。  
【００２１】
これ以降ＧＰＳデバイス１１０と称するＧＰＳ搭載デバイス１１０は、１つ以上のナビゲーション・タスクを実行可能なコンピューティング・デバイスとすることができる。ＧＰＳデバイス１１０は、車両内ナビゲーション・システム、歩行者ナビゲーション・デバイス、荷物追跡デバイス、移動電話、パーソナル・データ・アシスタント（ＰＤＡ）、ウェアラブル・コンピュータ（wearable computer）、ノートブック・コンピュータ、および他のそのようなコンピューティング・デバイスを含むことができる。車両内ナビゲーション・システムは、自動車、大型船、航空機等を含む様々な乗り物と共に使用可能である。
【００２２】
一実施形態において、ＧＰＳデバイス１１０は、外部サーバに対する連続的なネットワーク接続を必要とすることなく、単独でナビゲーション・タスクを実行することができる。独立した動作を行うことができるが、ＧＰＳデバイス１１０は、任意に、通信接続が利用可能である場合にサーバ１５０から情報を受信することができる。受信した情報は、現在の地理的領域のための更新情報、および、ＧＰＳデバイス１１０が今後入ると予想される地理的領域のための情報を含むことができる。
【００２３】
ＧＰＳデバイス１１０は、データ・ストア１２０を含む。これは、ナビゲーション情報、機械読み取り可能コード等をストアすることができるローカル・ストレージ空間である。また、ＧＰＳデバイス１１０は、提示部１１２、無線送受信装置１１４、ナビゲーション・プロセッサ１１６、ＧＰＳ部１１８、明示的に図示しない他の構成要素（入力部等）を含むことができる。
【００２４】
提示部１１２は、マップ画像あるいはテキスト情報またはそれら両方を提示する視覚ディスプレイを含むことができる。また、提示部１１２は、音声プロンプトおよびナビゲーション命令を提示することができる音声出力（ポートまたはスピーカ）を含むことができる。
【００２５】
無線送受信装置１１４は、ＧＰＳデバイス１１０がサーバ１５０からネットワーク１４０を介してデータを無線で受信することを可能とする様々な構成要素のいずれかとすることができる。無線送受信装置１４０は、移動電話コンポーネント、双方向無線コンポーネント、ネットワーキング・コンポーネントの８０２．１１ファミリ、ＢＬＵＥＴＯＯＴＨ（登録商標）コンポーネント、赤外線コンポーネント等を含むことができる。
【００２６】
ＧＰＳ部１１８は、ＧＰＳデバイス１１０のための位置情報を決定することができる。ＧＰＳ部１１８は、この情報をＧＰＳ衛星および地上の中継局から取得することができる。通常のＧＰＳ部１１８は、緯度、経度、および高度の識別子を生成し、これらが標準的な座標系を用いてＧＰＳデバイス１１０の絶対的な位置を決定することができる。一実施形態では、絶対位置識別子に加えてまたはそれらの代わりに、相対位置識別子をＧＰＳ部によって求めて、ナビゲーションのために用いることができる。
【００２７】
例えば、相対位置識別子は、精密なＧＰＳ座標を有する既知の目標物について提供することができ、ＧＰＳ衛星入力と組み合わせて、極めて正確な位置情報を得ることができる。別の例では、建物内にある場合、ＧＰＳデバイス１１０は、ＧＰＳデバイス１１０に近接した建物内の物体あるいは部屋またはその両方の位置情報を受信することができる。更に別の例では、ＧＰＳデバイス１１０は、局所的な物体検出コンポーネントを用いて、ユーザがＧＰＳデバイス１１０に近接した道路の障害物を避けるのに役立てることができる。
【００２８】
ナビゲーション・プロセッサ１１６は、中央演算処理装置、ランダム・アクセス・メモリ（ＲＡＭ）、およびその他の構成要素を含み、ＧＰＳデバイス１１０はそれらを用いて、マッピング・データ、ＧＰＳ部１１８からのデータ、およびＧＰＳデバイス１１０内に含まれる内部アルゴリズムに基づいて、ナビゲーション命令を発生することができる。ナビゲーション・プロセッサ１１６が用いるアルゴリズムは、予測アルゴリズムを含み、ナビゲーション情報が必要になる前に、この情報をサーバ１５０から自動的に取得することができる。
【００２９】
ＧＰＳデバイス１１０は、動的アプリケーション・フレームワークとすることができるフレームワーク１３０の規格に合致させることができる。更に具体的には、フレームワーク１３０は、バンドル１３２を展開することができるポリシー・フリー（policy free）・フレームワークとすることができる。アプリケーションは、バンドル１３２の特定のものに含ませることができる。フレームワーク１３０は、実行時に動的にバンドル１３２をインストールし、更新し、除去することができる。また、フレームワーク１３０は、バンドル１３２間の依存性を管理することができる。フレームワーク１３０のもとで、単一の仮想マシン内で多数のバンドル１３２を活性化し実行することができる。一実施形態では、フレームワーク１３０は、ＯＳＧｉ（登録商標）に合致したフレームワークまたはその派生物とすることができる。
【００３０】
フレームワーク１３０において、バンドル１３２は、規定されたサービス１３４を用いて互いに通信を行うことができる。バンドル１３２の少なくとも一部は、地理的ナビゲーション・バンドル１５３であり、サーバ１５０から取得することができる。一実施形態では、バンドル１３２は、ＧＰＳデバイス１１０のためのアプリケーション・タスクを実行する際に用いるアプリケーション・バンドルを含むことができる。このタスクは、ナビゲーション・タスクを含む場合がある。
【００３１】
データ・ストア１２０および１５２は、デジタル情報をストアするように構成された物理的または仮想的なストレージ空間とすることができる。データ・ストア１２０および１５２は、磁気ディスク、光ディスク、半導体メモリ、デジタル符号化プラスチック・メモリ、ホログラフィ・メモリ、または他のいずれかの記録媒体を含むがこれらには限定されない、いずれかの種類のハードウェア内で物理的に実施可能である。データ・ストア１２０および１５２は、単独のストレージ・ユニット、および、複数の物理デバイスから形成した複数のストレージ・ユニットとすることができる。更に、データ・ストア１２０および１５２内に、様々な方法で情報をストアすることができる。例えば、情報は、データベース構造内にストアすることができ、または、ファイル・ストレージ・システムの１つ以上のファイル内にストアすることができ、この場合、各ファイルに情報検索目的のためインデクスを付ける場合もあるし付けない場合もある。更に、データ・ストア１２０および１５２は、１つ以上の暗号化機構を用いて、不正なアクセスからストアした情報を保護することができる。
【００３２】
ネットワーク１４０は、搬送波内で符号化されたデータを伝達するために必要ないずれかのハードウェア／ソフトウェア／およびファームウェアを含むことができる。データは、アナログまたはデジタル信号内に含ませ、データまたは音声チャネルを介して伝達することができる。ネットワーク１４０は、コンピューティング・デバイス・コンポーネント間および統合されたデバイス・コンポーネントと周辺デバイスとの間で通信を交換するために必要なローカル・コンポーネントおよびデータ経路を含むことができる。また、ネットワーク１４０は、インターネット等のデータ・ネットワークを共に形成するルータ、データ・ライン、ハブ、および中間サーバ等のネットワーク設備を含むことができる。また、ネットワーク１４０は、回路に基づいた通信コンポーネント、および、電話スイッチ、モデム、セルラー式通信タワー等の移動通信コンポーネントを含むことができる。ネットワーク１４０は、ラインに基づいたあるいは無線のまたはその両方の通信経路を含むことができる。
【００３３】
図２は、本明細書中に開示する本発明の構成の一実施形態に従って地理的ナビゲーション・バンドルを処理することができるフレームワーク環境２００の概略図である。環境２００は、フレームワーク１３０の考えられる一実施形態とすることができる。フレームワーク１３０は、環境２００に限定されるものと解釈すべきではなく、本明細書中で規定するような地理的ナビゲーション・バンドルをサポートし管理することができるいかなる構成も含むように解釈するものとする。
【００３４】
フレームワーク２００は、アプリケーション・バンドルおよび地理的ナビゲーション・バンドルのためのバンドル・レイヤ２１０を含むことができる。サービス・インタフェース２１５は、（バンドル・レイヤ２１５内の）バンドルによってインポートおよびエクスポートして、フレームワーク・レイヤ２２０とのデータ交換を容易にすることができる。フレームワーク・レイヤ２２０は、ＪＡＶＡ（登録商標）仮想マシン等の仮想マシン２３０内で動作することができる。仮想マシン２３０と１つ以上のドライバ２４０との間で、オペレーティング・システム・レイヤ２３５を確立することができる。ドライバ１４０は、オペレーティング・システム・レイヤ２３５とハードウェア・レイヤ２４５との間のインタフェースとなることができる。
【００３５】
図３は、動的アプリケーション・フレームワーク内の地理的ナビゲーション・バンドルが情報を交換することを可能とする協同モデル３００の概略図である。モデル３００は、バンドル１３２が通信を行うための機構として考えられる一例である。モデル３００は、環境２００と組み合わせて使用可能である。
【００３６】
モデル３００は、フレームワーク３１０を含むことができる。これは、地理的ナビゲーション・バンドルをサポートするように構成された動的アプリケーション・フレームワークとすることができる。バンドル３２０および３２２は、サービス・オブジェクトあるいはパッケージ３２６またはその両方を共有することで協同することができる。サービス・レジストリ３２４によって、バンドル３２０および３２２はサービス・オブジェクトを発見し追跡することができる。フレームワーク３１０は、バンドル３２０とバンドル３２２との間の協同を完全に管理することができる。バンドル３２０および３２２は、ＪＡＶＡ（登録商標）環境３３０内で動作することができる。オペレーティング・システム３３５は、ＪＡＶＡ（登録商標）環境３３０とバンドル３２０および３２２を利用するＧＰＳデバイスのハードウェア３４０との間のインタフェースとなることができる。
【００３７】
図４は、地理的領域のグリッド４０２を例示するシステム４００の概略図である。各領域は地理的ナビゲーション・バンドル４２０に関連付けられている。ナビゲーションの目的のためのグリッドの一般的な利用は周知であるが、本明細書中に述べるように、データ「バンドル」をグリッド・ゾーンに結合することは新規である。更に具体的には、ナビゲーション情報および他の地理的ナビゲーション・バンドルのためのリンク参照を提供するためのバンドル４２０を関連付けて利用することにより、結果として、新しいグリッド・ゾーンを有効に予測し、ゾーンに基づいたナビゲーション情報をＧＰＳデバイスに自動的に送出し、取得したグリッドに固有の情報を管理し利用することができる。
【００３８】
グリッド４０２は、それぞれＡ、Ｂ、Ｃ、Ｄ、およびＥと標示した列４０５を含む。グリッド４０２は、１、２、および３と標示した行４１０を含む。グリッド４０２は単純な矩形のグリッドとして表すが、個々のグリッドはいかなる形状またはサイズとすることも可能であることは認められよう。異なるグリッドが異なるサイズを有する場合がある。また、グリッドは、二次元領域でなく三次元の地理的ボリュームとして構成することができる。
【００３９】
グリッド４０２内、具体的にはグリッド・ゾーンＢ２内に、ＧＰＳデバイス４１５を含むことができる。ＧＰＳデバイス４１５は、グリッド４０２内で１つのグリッド・ゾーンから別のゾーンへと移動可能である。新しいグリッド・ゾーンに入る前に、ＧＰＳデバイス４１５の予測アルゴリズムは、新しいゾーンに入ることを予想することができる。例えば、ＧＰＳデバイス４１５が東方向に動いている場合（グリッド・ゾーンＢ２からグリッド・ゾーンＡ２へ）、予測アルゴリズムは、グリッド・ゾーンＡ２に入ろうとしていることを自動的に判定することができる。この予測は、充分に早い時期に行って、グリッド・ゾーンＡ２のためのナビゲーション情報を必要な場合に確実に利用可能とする。
【００４０】
予測アルゴリズムによって、道路接続等のナビゲーション情報を使用可能であることに留意されたい。例えば、ＧＰＳデバイス４１５が道路上を走っている車両内デバイスである場合、予測アルゴリズムは車道の進路を考慮することができる。従って、ナビゲーション情報によって現在の道路が実際に南に湾曲することが示され、このため車両がグリッド・ゾーンＡ２でなくグリッド・ゾーンＢ３に入る可能性が高い場合、予測アルゴリズムはグリッド・ゾーンＢ３に入りそうだということを予測することができ、関連した地理的ナビゲーション・バンドルを取得することができる。
【００４１】
予測したグリッド・ゾーンのための地理的ナビゲーション・バンドル４２０は、必要な場合、遠隔に位置するサーバから取得し、ＧＰＳデバイス４１５にローカルなデータ・ストア内に配置することができる。バンドル４２０は、ＧＰＳデバイス４１５によってインストールし活性化することができる。地理的ナビゲーション・バンドル４２０のダウンロード、インストール、および活性化は、異なる時点で実行可能であることに留意すべきである。
【００４２】
地理的ナビゲーション・バンドル４２０は、ナビゲーション・データ・セット４２５およびマニフェスト・ファイル４３０を含むことができる。ナビゲーション・データ・セット４２５は、ＧＰＳデバイス４１５が位置するいくつかの地理的領域のためのマッピング・データ等、ＧＰＳデバイス４１５がナビゲーション・タスクを実行する際に用いるデータを含むことができる。
【００４３】
マニフェスト・ファイル４３０は、バンドル名、バージョン、日付、リンク参照、およびその他のかかる情報を含むことができる。リンク参照は、どのように１つのグリッド・ゾーンまたは地理的ナビゲーション・バンドル４２０を他のグリッド・ゾーンまたは地理的ナビゲーション・バンドルに関連付けるかまたは接続するかを示すことができる。更に、マニフェスト・ファイル４３０は、バンドルを相互に通信可能として他の各バンドルが必要となる可能性が高い時を示すためのヒント、アルゴリズム、および発見的方法を含むことができる。従って、活性化したバンドル４２０を有するＧＰＳデバイスの予測処理は、２つ以上の異なるバンドル４２０間に分散した予測情報の合成に基づいて行うことができる。
【００４４】
図５は、本明細書中に開示する本発明の構成の一実施形態に従って地理的ナビゲーション・バンドルを発生するための方法５００のフローチャートを含む。一実施形態において、方法５００は、データ・ストア１５２内に含まれフレームワーク１３０内で利用される地理的バンドルのために利用可能である。更に、方法５００を用いて、バンドル・レイヤ２２０においてバンドルを発生させること、あるいはバンドル３２０または３２２を発生させること、またはその両方を行うことができる。しかしながら、方法５００は、これらの例示した実施形態に限定されず、地理的ナビゲーション・バンドルの管理あるいは使用またはその両方を行ういかなるシステムのためにも利用可能である。
【００４５】
方法５００は、ステップ５０５において開始し、このステップで、ナビゲーション・データを多数の地理的領域にセグメント化することができる。セグメント化の後、特定の地理的領域のためのナビゲーション・データは、その地理的領域のためのナビゲーション・データ・セットと呼ぶことができる。ステップ５１０において、選択した地理的領域と境界を共有する他の各地理的領域を決定することができる。
【００４６】
ステップ５１５において、各地理的領域ごとに、地理的ナビゲーション・バンドルを発生させることができる。各地理的ナビゲーション・バンドルは、ＯＳＧｉ（登録商標）に合致するフレームワークに従ったバンドルとすることができる。ステップ５２０において、ナビゲーション・データ・セットを、各地理的ナビゲーション・バンドル内に含ませることができる。ナビゲーション・データ・セットは、ＧＰＳ搭載デバイスが対応する地理的領域内でナビゲーションを実行可能とするために必要な情報を全て含むことができる。
【００４７】
一実施形態において、ナビゲーション・データ・セットは、道路レベルのマッピング・データを含み、ＧＰＳデバイスが対応する地理的領域内で車道によって車両を案内することを可能とする。ＧＰＳデバイスは、いったんある領域のためのナビゲーション・データ・セットを与えられると、遠隔サーバに対するネットワーク接続を必要とすることなく単独で機能することができる。ＧＰＳデバイスがある地理的領域から別の領域に移動すると、遠隔サーバに対して一時的なネットワーク接続を行って、新しい地理的ナビゲーション・バンドルを取得することができる。
【００４８】
ステップ５２５において、各地理的ナビゲーション・バンドルは、ＯＳＧｉ（登録商標）に合致したフレームワークに従ったマニフェスト・ファイルも含むことができる。マニフェスト・ファイルは、境界を共有する領域に関連付けられたバンドルに対するリンク参照を含むことができる。例えば、Ｂ２と標示する地理的領域は、Ａ２と標示する地理的領域と地理的境界を共有することができ、Ｂ３と標示する地理的領域と境界を共有することができる。Ｂ２のバンドルに対するリンク参照は、領域Ａ２およびＢ３に関連したバンドルにリンクすることができる。Ｂ２内に位置するＧＰＳデバイスがＡ２の方向に移動している場合、いったん構成可能条件が満足されると、リンク参照はＧＰＳデバイスをトリガして、Ａ２のためのバンドルを自動的にロードすることができる。同様に、条件が満足されると、リンク参照はＧＰＳデバイスをトリガして、Ｂ３のためのバンドルを自動的にロードすることができる。この条件は、移動速度、境界Ａ２までの距離、バンドルを活性化するための推定時間、ＧＰＳデバイスの利用可能リソース等のファクタを含むことができる。各地理的ナビゲーション・バンドルは、バンドルに固有のリンク参照を含むことができる。
【００４９】
また、マニフェスト・ファイルは、バンドルの更新を容易にするために使用可能な日付およびバージョン標識を含むことができる。すなわち、ＧＰＳデバイスに、同一の地理的ナビゲーション・バンドルの２つの異なるバージョンを設け、一方が他方の更新バージョンを表すようにすることができる。ＧＰＳデバイスは、日付およびバージョン標識から、どのバージョンがより新しいかを判定することができる。
【００５０】
地理的ナビゲーション・バンドルは、関連するナビゲーション・データ・セット内の情報が変更されると更新可能であることは認められよう。例えば、地理的ナビゲーション・バンドルは、地理的領域内に新しい道路が建設された場合には更新しなければならない。一実施形態では、ナビゲーション・バンドルは、含まれる道路のトラヒック状況等の動的データを含むことができるが、このため、動的データを頻繁に更新する必要があり得る。地理的領域のためのナビゲーション・データ・セットが静的データおよび動的データの双方を含む場合、２つの異なる地理的ナビゲーション・バンドル、すなわち静的データを含むものおよび動的データを含むものを使用可能である。
【００５１】
充分な頻度で更新を行うことで、ＧＰＳデバイスは確実にほぼ現在のナビゲーション情報を含むことができる。ほぼ現在のナビゲーション情報は、ナビゲーション目的のためにこの情報に頼るユーザが誤解したり混乱したりしないような充分に新しいナビゲーション情報として定義することができる。例えば、道路情報がほぼ現在のものである場合、ＧＰＳデバイスを用いてナビゲーションを行う運転者は、もはや存在しない道路に沿って走るように導かれることはない。同様に、ほぼ現在のトラヒック情報は、充分に新しい情報であり、ＧＰＳデバイスによって運転者が渋滞および他の道路問題を回避するのを支援する。
【００５２】
図６は、本明細書中に開示する本発明の構成の一実施形態に従ってＧＰＳデバイスが地理的ナビゲーション・バンドルを利用するための方法６００のフローチャートである。一実施形態において、この方法６００が利用可能である。
【００５３】
この方法６００は、ＧＰＳデバイスが起動または活性化された場合にステップ６０５において開始することができる。ステップ６１０において、ＧＰＳデバイスは、その現在の位置の座標を求めることができる。ステップ６１５において、ＧＰＳデバイスのローカル・データ・ストアが、デバイスが位置する領域の地理的ナビゲーション・バンドルを含むかどうかについて、判定を行うことができる。ローカル・データ・ストアが適切なバンドルを含む場合、方法はステップ６２５に進む。かかるバンドルがローカルにストアされていない場合、方法はステップ６１５からステップ６２０に進むことができる。ステップ６２０において、ＧＰＳデバイスはバンドル・サーバに無線で接続し、適切な地理的ナビゲーション・バンドルを取得することができる。取得したバンドルは、ローカル・データ・ストアにストアすることができる。
【００５４】
ステップ６２５において、ＧＰＳデバイスは、現在の利用可能リソースを任意に決定することができる。ステップ６３０において、リソースが乏しいか、または現在必要でない地理的ナビゲーション・バンドルによって消費されている場合、必要でないバンドルの停止あるいは除去またはその両方を行うことができる。例えば、ＧＰＳデバイスの現在の位置ではロードしたバンドルを必要とする可能性が低い場合（構成したパラメータおよび閾値によって決定される）、そのバンドルの除去あるいは停止またはその両方を行うことができる。ステップ６３５において、デバイスの現在位置のための地理的ナビゲーション・バンドルをインストールし活性化することができる。
【００５５】
ステップ６４０において、活性化した地理的ナビゲーション・バンドルに含まれたナビゲーション・データを用いて、１つ以上のナビゲーション・タスクを実行することができる。ステップ６４５において、ＧＰＳデバイスは、１つ以上の予測ファクタおよびＧＰＳデバイスの予測アルゴリズムを利用して、ＧＰＳデバイスが新しい地理的領域に近付いているかを予測することができる。新しい地理的領域が予測されると、方法はステップ６４５からステップ６１５に進む。
【００５６】
その他の場合、方法はステップ６５０に進み、ＧＰＳデバイスは任意に、現在利用しているナビゲーション・データを取得したバンドル等、ローカルにストアした地理的ナビゲーション・バンドルについて、更新が存在するか否かを判定することができる。ステップ６５０では、ＧＰＳデバイスが無線ネットワークを介して遠隔位置のバンドル・サーバに問い合わせを送信する必要があり得る。更新が必要である場合、方法はステップ６２０に進み、バンドル・サーバからバンドル更新をダウンロードすることができる。更新が必要でない場合、方法はステップ６４０に進み、追加のナビゲーション・タスクを実行可能である。
【００５７】
本発明は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせにおいて実現することができる。本発明は、１つのコンピュータ・システムにおいて集中し、あるいは、いくつかの相互接続されたコンピュータ・システム間で異なる要素を分散させた分散形態で、実現可能である。本明細書中で記載した方法を実行するために適合したいかなる種類のコンピュータ・システムまたは他の装置も適切である。ハードウェアおよびソフトウェアの典型的な組み合わせは、汎用コンピュータ・システム、および、ロードされて実行されるとコンピュータ・システムを制御して本明細書中に記載した方法を実行するようにするコンピュータ・プログラムとすることができる。
【００５８】
また、本発明は、本明細書中に記載した方法の実施を可能とする全ての機構を含み、コンピュータ・システムにロードされるとこれらの方法を実行することができるコンピュータ・プログラムにおいて埋め込むことができる。本文脈におけるコンピュータ・プログラムとは、１組の命令のいずれかの言語、コード、または表記におけるいずれかの表現を意味し、情報処理機能を有するシステムに、直接、または、ａ）別の言語、コード、または表記への変換、ｂ）異なる材料形態における再生、のいずれかまたは双方の後に、特定の機能を実行させるように意図されている。
【００５９】
本発明は、その精神および本質的な属性から逸脱することなく、他の形態において具現化可能である。従って、本発明の範囲を示すものとして、前述の明細書ではなく特許請求の範囲を参照すべきものとする。
【図面の簡単な説明】
【００６０】
【図１】本明細書中に開示する本発明の構成の一実施形態に従った、地理的領域に固有のナビゲーション・データを含むバンドルをロードする予測アルゴリズムを有するＧＰＳ搭載デバイスを含むシステムの概略図である。
【図２】本明細書中に開示する本発明の構成の一実施形態に従った、地理的ナビゲーション・バンドルを処理することができるフレームワーク環境の概略図である。
【図３】動的アプリケーション・フレームワーク内の地理的ナビゲーション・バンドルが情報を交換することを可能とする協同モデルの概略図である。
【図４】地理的領域のグリッドを示すシステムの概略図であり、各領域が地理的ナビゲーション・バンドルに関連付けられている。
【図５】本明細書中に開示する本発明の構成の一実施形態に従って地理的ナビゲーション・バンドルを発生するための方法のフローチャートを含む。
【図６】本明細書中に開示する本発明の構成の一実施形態に従ってＧＰＳデバイスが地理的ナビゲーション・バンドルを利用するための方法のフローチャートである。
【符号の説明】
【００６１】
１００  システム
１１０  ＧＰＳデバイス
１１２  提示部
１１４  無線送受信装置
１１６  ナビゲーション・プロセッサ
１１８  ＧＰＳ部
１３０  フレームワーク
１３２  バンドル
１３４  サービス
１５０  サーバ
２００  フレームワーク環境
２１０  バンドル
２１５  インタフェース
２２０  フレームワーク
２３０  仮想マシン
２３５  オペレーティング・システム
２４５  ドライバ
２４５  ハードウェア
３００  協同モデル
３１０  フレームワーク
３２０、３２２  バンドル
３３５  オペレーティング・システム
３４０  ハードウェア
４００  システム
４２０  バンドル
４２５  データ・セット
４３０  マニフェスト・ファイル
【図１】
0005348835.tif 000002
【図２】
0005348835.tif 000003
【図３】
0005348835.tif 000004
【図４】
0005348835.tif 000005
【図５】
0005348835.tif 000006
【図６】
0005348835.tif 000007