説明

地理的ナビゲーション・バンドルを利用するGPS搭載デバイス

【課題】無線通信接続に依存せずに動作し、旅行中にマッピング・データを更新するための方法を提供する。
【解決手段】複数の地理的領域を含むグリッドを識別し、各地理的領域は道路レベルのマッピング・データを含むナビゲーション・データ・セットを有し、各地理的領域ごとにリンク参照を規定し、OSGiに合致するフレームワークに従う地理的ナビゲーション・バンドルを識別し、各バンドルは地理的領域の1つに対応し、該データ・セットおよびマニフェスト・ファイルを含み、マニフェスト・ファイルは、バージョン、日付及びリンク参照を含む。GPS搭載デバイスは、該バンドルを動的にインストールし活性化することができ、そのデータ・セットに基き、少なくとも1つのナビゲーション・プロセスを実行し、新しいナビゲーション・データが必要となる時を予測し、これらの予測に応答して適切な地理的ナビゲーション・バンドルを自動的に取得する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ナビゲーション・デバイスの分野に関し、更に具体的には、地理的ナビゲーション・バンドル(navigation bundle)の予測取得および利用に関する。
【背景技術】
【0002】
様々なデバイスにおいて、ナビゲーションの目的のため、全地球測位システム(GPS:Global Positioning System)がますます利用されるようになっている。これらのデバイスの多くは、個人または乗り物のナビゲーションのために設計された携帯用デバイスである。ナビゲーションのために用いる場合、GPSを搭載したデバイスは、局所的な地形あるいは道路情報またはその両方のマッピング・データを含まなければならない。この情報を充分に小さい粒度(granularity)(道路レベルのマップを含む粒度等)で提供して、ナビゲーションに役立てるためには、相当な量のデータが必要となる可能性がある。GPSデバイスにこのデータをストアするには、デバイスに大きなデータ・ストレージ空間を設けなければならない。データ・ストレージ空間は、携帯用デバイスでは乏しいリソースである場合がある。通常、携帯用デバイスのストレージ空間のサイズを大きくすると、関連するデバイスのサイズあるいはコストまたはその両方が比例して増大することになる。
【0003】
一般的に、携帯用GPSデバイスは、既知の地理的領域における一度の旅行のためのマッピング・データあるいは地形データまたはその両方を含むのに充分である適度なサイズのストレージ空間を備えている。旅行の前に、GPSデバイスをもっと大きなデータ・ストアに接続して、そこから旅行の具体的な情報を取得することができる。そして、旅行のためのマッピング・データをGPSデバイスにダウンロードする。この解決策は、旅行者にとっていくぶん面倒であり、当初の旅行計画に変更が生じた場合にGPSデバイスの有用性が下がってしまう恐れがある。
【0004】
多くの場合、GPSデバイスが最も必要とされるのは、交通渋滞地域を避けるために旅行計画を変更する場合等、地形データの変更が生じた場合であることは認められよう。このため、GPSデバイスは、最も必要とされる時に充分に役立てることができない。
【0005】
先に述べたように、サイズあるいは費用またはその両方の制約のために、多くの場合、携帯用デバイスは、あらゆる実行可能な旅行または起こり得る旅行の変更のためのデータをストアすることができない。例えば、ほとんどのナビゲーション・デバイスは、米国内の全道路の情報を含む道路レベルのマッピング・データを含まない。携帯用デバイスがこのデータ全てを含むことができたとしても、このデータの大部分は、まれにしか利用されない。このため、携帯用デバイスに非常に大きなストレージ空間を備えるコストは、デバイスのコストを増大させるものの、このコスト増大を正当化するための充分な利益は得られない。更に、小さいレベルの粒度の情報は変更されやすく、従って、ほとんどの用途について間欠的に更新する必要がある。
【0006】
一部のGPSデバイスは、無線通信機構を含み、旅行中にマッピング・データを更新することができる。ただし、ユーザは、GPSデバイスから明示的に更新をトリガしなければならず、これにはGPSデバイスがデータ更新機構およびインタフェースを有することが必要であり、デバイスの複雑さあるいはデバイスのコストまたはその両方が増大する。多くの場合、これらのインタフェースは、デバイス上の入力/出力インタフェース・コンポーネントの量が限られているため利用が難しく、これらのインタフェース・コンポーネントは、基本デバイス機能を提供するためにすでに負担がかかりすぎていることが多い。更に、多くの地理的領域は無線通信有効範囲外である。GPSデバイスがかかる領域内にある場合、データを取得することができない。
【0007】
利用されているあるGPS技術は、マッピング方向をストリームするための常時通信接続を必要とする。この技術により、ごく限られたリソースを有する極めて小型軽量のクライアント(thin client)を用いて、GPSに基づいたマッピングを行うことができる。この技術を用いて、GPSデバイスは遠隔サーバにGPS座標を連続的に送信することができ、遠隔サーバにおいてマッピング方向を決定し、デバイスに流して提示することができる。この技術は、完全に常時通信接続に依存しているが、これは利用できないことが多い。更に、この技術には、1つ以上のGPSデバイスからの絶え間ないマッピング要求を処理することができるサーバが存在することが必要である。
【発明の開示】
【発明が解決しようとする課題】
【0008】
従って、無線通信接続に依存せずに動作することができ、旅行中にマッピング・データを更新することができるGPSデバイスが要望されている。好ましくは、このGPSデバイスは、明示的なユーザのインタラクションなしに、自動的にこれらの更新を実行することができるものである。
【課題を解決するための手段】
【0009】
本発明は、マッピング・データのためのデータ・ストア、予測アルゴリズム、および通信機構を含む、独立したナビゲーション動作を行うことができるGPSデバイスを開示する。予測アルゴリズムは、データ・ストア内のナビゲーション・データをいつ更新するかを自動的に決定する。データ・ストア内のナビゲーション・データは、1つ以上の異なる地理的領域にグループ化することができる。GPSデバイスが異なる領域間を移動すると、データ・ストア内に含まれるナビゲーション・データを動的に更新して、GPSデバイスが位置する現在の地理的領域のために適切なデータを含ませることができる。予測アルゴリズムによって、GPSデバイスがデータを実際に必要とする時点よりも前に、データ・ストア内に適切なデータを確実にロードすることができる。
【0010】
予測アルゴリズムは、充分に早い時期にデータを検索するように任意に構成して、デバイスを用いるいくつかの地理的領域において無線接続を利用しなくても問題にならないことを保証することができる。例えば、GPSデバイスを40マイルの更新バッファ領域を用いて構成して、規定したバッファ領域内の全てのナビゲーション・データが間欠的な更新によって常にデバイス内に含まれるようにすることができる。無線接続を利用しない領域が更新バッファ領域よりも小さい限り、GPSデバイスは中断することなく機能し、適切なナビゲーション・データによって動作することができる。デバイスの機能、所望の「安全」ウインドウ、デバイスを利用する地理的領域、および他のかかるファクタに依存して、異なる更新バッファ領域サイズでマッピング・データを構成することができる。
【0011】
予測アルゴリズムは、動的ルート変更を処理するために特に有用であり得ることに留意すべきである。例えば、GPSデバイスのユーザが運転中に間違った進路変更をしたか、またはいずれかの理由で計画した旅行経路から予想外の変更を行った後に、予測アルゴリズムは、予期しない領域のためのナビゲーション情報を自動的に取得することができる。従来のGPSデバイスおよびアルゴリズムは、多くの場合、所定のルートに頼り、この所定のルートに対する変更に自動的に適合しない。従来のGPSデバイスがルート変更に適合しないことが多いのに対して、最先端技術における問題は、GPSユーザが追加の詳細なデータ・バンドルを必要とし得る程度の変更を予想しないならば、データが利用可能でないために、動的に変更したルート情報をデバイス上に表示できないことである。本明細書中で詳述する本発明のGPSデバイスは、これらの問題を克服し、極めて柔軟で、直感的、かつ緻密なナビゲーション・システムを提供して、予測したマッピング・バンドルが必要とされる時点またはその前にそれらをデバイスに送出し、デバイス・ユーザが手動でデータをデバイスにダウンロードしなければならない負担を取り除く。
【0012】
一実施形態において、開示するGPSデバイスは、OSGiフレームワークに合致したアプリケーションを実行することができる。更に、異なる地理的領域のためのナビゲーション・データを、OSGiフレームワークに合致したバンドル内に含ませることができる。すなわち、ナビゲーション・データのためにOSGiフレームワークを適合させることができる。従来のOSGiに合致したアプリケーション・バンドル内に含まれる従来のアプリケーション依存性の代わりに、相互接続地理的グリッドに基づいて、地理的領域データを含むバンドルを相互にリンクさせることができる。すなわち、地理的情報の各バンドル(地理的ナビゲーション・バンドルと称する)は、他の地理的ナビゲーション・バンドルにリンクさせるか、または、他の地理的ナビゲーション・バンドルに対するリンク依存性を有することができる。このため、2つの地理的に近接または隣接した領域を相互にリンクすることができる。
【0013】
本発明は、本明細書中に提示する要素に適合する範囲の様々な態様に従って実施することができる。例えば、本発明の一態様は、ナビゲーション・データを提供し利用するための方法を含むことができる。この方法は、複数の地理的領域を含むグリッドを識別するステップを含むことができる。各地理的領域は、道路レベルのマッピング・データを含む関連するナビゲーション・データ・セットを有することができる。各地理的領域ごとに、リンク参照を規定することができる。OSGiに合致するフレームワークに従う地理的ナビゲーション・バンドルを識別することができる。各バンドルは地理的領域の1つに対応し、ナビゲーション・データ・セットおよびマニフェスト・ファイルを含むことができる。マニフェスト・ファイルは、バージョン、日付、およびリンク参照を含むことができる。GPS搭載デバイスは、地理的ナビゲーション・バンドルを動的にインストールし活性化することができる。GPS搭載デバイスは、ナビゲーション・データ・セットに基づいて、少なくとも1つのナビゲーション・プロセスを実行することができる。GPSデバイスは、新しいナビゲーション・データが必要となる時を予測し、これらの予測に応答して適切な地理的ナビゲーション・バンドルを自動的に取得することができる。
【0014】
本発明の他の態様は、ナビゲーション・データを取得するための方法を含む。この方法は、動的アプリケーション・フレームワークに従って構成されたGPS搭載デバイスを識別するステップを含むことができる。フレームワークは、ポリシー・フリーのフレームワークであり、その内部で複数のバンドルを展開可能である。バンドルの特定のものにアプリケーションを含ませることができる。フレームワークは、実行時に動的にバンドルをインストールし、更新し、除去することができる。また、フレームワークは、バンドル間の依存性を管理することができる。GPS搭載デバイスは、GPS搭載デバイスが提供するGPS座標によって求められるGPS搭載デバイスが位置する地理的領域のためのナビゲーション情報を提示することができる。提示されたナビゲーション情報は、地理的領域に固有の地理的ナビゲーション・バンドルに基づいたものとすることができる。地理的ナビゲーション・バンドルは、動的アプリケーション・フレームワーク内で展開可能なバンドルである。GPS搭載デバイスによって、異なる地理的領域に対応する異なる地理的ナビゲーション・バンドルを利用することができる。
【0015】
本発明の更に別の態様は、GPS搭載デバイスにデータを送出するための方法を含むことができる。複数の地理的ナビゲーション・バンドルを含むサーバを識別することができる。地理的ナビゲーション・バンドルは、異なる地理的領域についてのナビゲーション情報を含むことができる。各地理的ナビゲーション・バンドルは、動的アプリケーション・フレームワークに合致するバンドルとすることができる。複数の遠隔位置のコンピューティング・デバイスから地理的ナビゲーション・バンドルの選択されたものについての要求を受信することができる。この要求に応答して、地理的ナビゲーション・バンドルの選択されたものを、要求側のコンピューティング・デバイスに送出することができる。コンピューティング・デバイスは、地理的ナビゲーション・バンドル内に含まれる情報を利用してナビゲーション・タスクを実行するナビゲーション・コンポーネントを含むことができる。
【0016】
本発明の様々な態様は、コンピューティング設備を制御して本明細書中に記載する機能を実施するためのプログラム、またはコンピューティング設備が本明細書中に開示するステップに対応するプロセスを実行することを可能とするプログラムとして実施可能であることに留意すべきである。このプログラムは、磁気ディスク、光ディスク、半導体メモリ、または他のいずれかの記録媒体にプログラムをストアすることによって提供することができる。またプログラムは、搬送波によって伝達されるデジタル符号化信号として提供することも可能である。記載するプログラムは、単一のプログラムとすることができ、または多数のサブプログラムとして実施することができる。サブプログラムの各々は、単一のコンピューティング・デバイス内でインタラクトするか、またはネットワーク空間に分散してインタラクトする。
【0017】
また、本明細書中に詳述する方法は、少なくとも部分的にサービス・エージェントによって、あるいはサービス要求に応答してサービス・エージェントが操作する機械によって、またはその両方によって、実行可能であることに留意すべきである。
【0018】
図面において、現在好適である実施形態を示すが、本発明は、図示した構成および手段のみに限定されるものではないことは理解されよう。
【発明を実施するための最良の形態】
【0019】
図1は、システム100の概略図である。これは、本明細書中に開示する本発明の構成の一実施形態に従って地理的領域に固有のナビゲーション・データを含むバンドルをロードする予測アルゴリズムを有するGPS搭載デバイスを含む。システム100は、バンドル・サーバ150を含み、これは、ネットワーク140上を介して、1つ以上の全地球測位システム(GPS)搭載デバイス110と通信可能にリンクされている。システム150は、複数の地理的ナビゲーション・バンドル154を含むデータ・ストア152にアクセスすることができる。サーバ150は、連続的にバンドル154を更新して、各バンドル154が正確な情報を含むことを保証することができる。
【0020】
地理的ナビゲーション・バンドル154は、画定された地理的領域に対応し、その地理的領域のためのナビゲーション・データ・セットを含む。ナビゲーション・データ・セットは、道路レベル・マッピング、地形および高度情報、および領域内の対象地点等、比較的静的な情報を含むことができる。また、ナビゲーション・データ・セットは、交通状況データ、天気データ、宣伝情報等、動的情報も含むことができる。各地理的バンドル154は、フレームワーク130に合致し、従って、フレームワーク130に合致するいずれかのデバイス110によって利用することができる。
【0021】
これ以降GPSデバイス110と称するGPS搭載デバイス110は、1つ以上のナビゲーション・タスクを実行可能なコンピューティング・デバイスとすることができる。GPSデバイス110は、車両内ナビゲーション・システム、歩行者ナビゲーション・デバイス、荷物追跡デバイス、移動電話、パーソナル・データ・アシスタント(PDA)、ウェアラブル・コンピュータ(wearable computer)、ノートブック・コンピュータ、および他のそのようなコンピューティング・デバイスを含むことができる。車両内ナビゲーション・システムは、自動車、大型船、航空機等を含む様々な乗り物と共に使用可能である。
【0022】
一実施形態において、GPSデバイス110は、外部サーバに対する連続的なネットワーク接続を必要とすることなく、単独でナビゲーション・タスクを実行することができる。独立した動作を行うことができるが、GPSデバイス110は、任意に、通信接続が利用可能である場合にサーバ150から情報を受信することができる。受信した情報は、現在の地理的領域のための更新情報、および、GPSデバイス110が今後入ると予想される地理的領域のための情報を含むことができる。
【0023】
GPSデバイス110は、データ・ストア120を含む。これは、ナビゲーション情報、機械読み取り可能コード等をストアすることができるローカル・ストレージ空間である。また、GPSデバイス110は、提示部112、無線送受信装置114、ナビゲーション・プロセッサ116、GPS部118、明示的に図示しない他の構成要素(入力部等)を含むことができる。
【0024】
提示部112は、マップ画像あるいはテキスト情報またはそれら両方を提示する視覚ディスプレイを含むことができる。また、提示部112は、音声プロンプトおよびナビゲーション命令を提示することができる音声出力(ポートまたはスピーカ)を含むことができる。
【0025】
無線送受信装置114は、GPSデバイス110がサーバ150からネットワーク140を介してデータを無線で受信することを可能とする様々な構成要素のいずれかとすることができる。無線送受信装置140は、移動電話コンポーネント、双方向無線コンポーネント、ネットワーキング・コンポーネントの802.11ファミリ、BLUETOOTHコンポーネント、赤外線コンポーネント等を含むことができる。
【0026】
GPS部118は、GPSデバイス110のための位置情報を決定することができる。GPS部118は、この情報をGPS衛星および地上の中継局から取得することができる。通常のGPS部118は、緯度、経度、および高度の識別子を生成し、これらが標準的な座標系を用いてGPSデバイス110の絶対的な位置を決定することができる。一実施形態では、絶対位置識別子に加えてまたはそれらの代わりに、相対位置識別子をGPS部によって求めて、ナビゲーションのために用いることができる。
【0027】
例えば、相対位置識別子は、精密なGPS座標を有する既知の目標物について提供することができ、GPS衛星入力と組み合わせて、極めて正確な位置情報を得ることができる。別の例では、建物内にある場合、GPSデバイス110は、GPSデバイス110に近接した建物内の物体あるいは部屋またはその両方の位置情報を受信することができる。更に別の例では、GPSデバイス110は、局所的な物体検出コンポーネントを用いて、ユーザがGPSデバイス110に近接した道路の障害物を避けるのに役立てることができる。
【0028】
ナビゲーション・プロセッサ116は、中央演算処理装置、ランダム・アクセス・メモリ(RAM)、およびその他の構成要素を含み、GPSデバイス110はそれらを用いて、マッピング・データ、GPS部118からのデータ、およびGPSデバイス110内に含まれる内部アルゴリズムに基づいて、ナビゲーション命令を発生することができる。ナビゲーション・プロセッサ116が用いるアルゴリズムは、予測アルゴリズムを含み、ナビゲーション情報が必要になる前に、この情報をサーバ150から自動的に取得することができる。
【0029】
GPSデバイス110は、動的アプリケーション・フレームワークとすることができるフレームワーク130の規格に合致させることができる。更に具体的には、フレームワーク130は、バンドル132を展開することができるポリシー・フリー(policy free)・フレームワークとすることができる。アプリケーションは、バンドル132の特定のものに含ませることができる。フレームワーク130は、実行時に動的にバンドル132をインストールし、更新し、除去することができる。また、フレームワーク130は、バンドル132間の依存性を管理することができる。フレームワーク130のもとで、単一の仮想マシン内で多数のバンドル132を活性化し実行することができる。一実施形態では、フレームワーク130は、OSGiに合致したフレームワークまたはその派生物とすることができる。
【0030】
フレームワーク130において、バンドル132は、規定されたサービス134を用いて互いに通信を行うことができる。バンドル132の少なくとも一部は、地理的ナビゲーション・バンドル153であり、サーバ150から取得することができる。一実施形態では、バンドル132は、GPSデバイス110のためのアプリケーション・タスクを実行する際に用いるアプリケーション・バンドルを含むことができる。このタスクは、ナビゲーション・タスクを含む場合がある。
【0031】
データ・ストア120および152は、デジタル情報をストアするように構成された物理的または仮想的なストレージ空間とすることができる。データ・ストア120および152は、磁気ディスク、光ディスク、半導体メモリ、デジタル符号化プラスチック・メモリ、ホログラフィ・メモリ、または他のいずれかの記録媒体を含むがこれらには限定されない、いずれかの種類のハードウェア内で物理的に実施可能である。データ・ストア120および152は、単独のストレージ・ユニット、および、複数の物理デバイスから形成した複数のストレージ・ユニットとすることができる。更に、データ・ストア120および152内に、様々な方法で情報をストアすることができる。例えば、情報は、データベース構造内にストアすることができ、または、ファイル・ストレージ・システムの1つ以上のファイル内にストアすることができ、この場合、各ファイルに情報検索目的のためインデクスを付ける場合もあるし付けない場合もある。更に、データ・ストア120および152は、1つ以上の暗号化機構を用いて、不正なアクセスからストアした情報を保護することができる。
【0032】
ネットワーク140は、搬送波内で符号化されたデータを伝達するために必要ないずれかのハードウェア/ソフトウェア/およびファームウェアを含むことができる。データは、アナログまたはデジタル信号内に含ませ、データまたは音声チャネルを介して伝達することができる。ネットワーク140は、コンピューティング・デバイス・コンポーネント間および統合されたデバイス・コンポーネントと周辺デバイスとの間で通信を交換するために必要なローカル・コンポーネントおよびデータ経路を含むことができる。また、ネットワーク140は、インターネット等のデータ・ネットワークを共に形成するルータ、データ・ライン、ハブ、および中間サーバ等のネットワーク設備を含むことができる。また、ネットワーク140は、回路に基づいた通信コンポーネント、および、電話スイッチ、モデム、セルラー式通信タワー等の移動通信コンポーネントを含むことができる。ネットワーク140は、ラインに基づいたあるいは無線のまたはその両方の通信経路を含むことができる。
【0033】
図2は、本明細書中に開示する本発明の構成の一実施形態に従って地理的ナビゲーション・バンドルを処理することができるフレームワーク環境200の概略図である。環境200は、フレームワーク130の考えられる一実施形態とすることができる。フレームワーク130は、環境200に限定されるものと解釈すべきではなく、本明細書中で規定するような地理的ナビゲーション・バンドルをサポートし管理することができるいかなる構成も含むように解釈するものとする。
【0034】
フレームワーク200は、アプリケーション・バンドルおよび地理的ナビゲーション・バンドルのためのバンドル・レイヤ210を含むことができる。サービス・インタフェース215は、(バンドル・レイヤ215内の)バンドルによってインポートおよびエクスポートして、フレームワーク・レイヤ220とのデータ交換を容易にすることができる。フレームワーク・レイヤ220は、JAVA仮想マシン等の仮想マシン230内で動作することができる。仮想マシン230と1つ以上のドライバ240との間で、オペレーティング・システム・レイヤ235を確立することができる。ドライバ140は、オペレーティング・システム・レイヤ235とハードウェア・レイヤ245との間のインタフェースとなることができる。
【0035】
図3は、動的アプリケーション・フレームワーク内の地理的ナビゲーション・バンドルが情報を交換することを可能とする協同モデル300の概略図である。モデル300は、バンドル132が通信を行うための機構として考えられる一例である。モデル300は、環境200と組み合わせて使用可能である。
【0036】
モデル300は、フレームワーク310を含むことができる。これは、地理的ナビゲーション・バンドルをサポートするように構成された動的アプリケーション・フレームワークとすることができる。バンドル320および322は、サービス・オブジェクトあるいはパッケージ326またはその両方を共有することで協同することができる。サービス・レジストリ324によって、バンドル320および322はサービス・オブジェクトを発見し追跡することができる。フレームワーク310は、バンドル320とバンドル322との間の協同を完全に管理することができる。バンドル320および322は、JAVA環境330内で動作することができる。オペレーティング・システム335は、JAVA環境330とバンドル320および322を利用するGPSデバイスのハードウェア340との間のインタフェースとなることができる。
【0037】
図4は、地理的領域のグリッド402を例示するシステム400の概略図である。各領域は地理的ナビゲーション・バンドル420に関連付けられている。ナビゲーションの目的のためのグリッドの一般的な利用は周知であるが、本明細書中に述べるように、データ「バンドル」をグリッド・ゾーンに結合することは新規である。更に具体的には、ナビゲーション情報および他の地理的ナビゲーション・バンドルのためのリンク参照を提供するためのバンドル420を関連付けて利用することにより、結果として、新しいグリッド・ゾーンを有効に予測し、ゾーンに基づいたナビゲーション情報をGPSデバイスに自動的に送出し、取得したグリッドに固有の情報を管理し利用することができる。
【0038】
グリッド402は、それぞれA、B、C、D、およびEと標示した列405を含む。グリッド402は、1、2、および3と標示した行410を含む。グリッド402は単純な矩形のグリッドとして表すが、個々のグリッドはいかなる形状またはサイズとすることも可能であることは認められよう。異なるグリッドが異なるサイズを有する場合がある。また、グリッドは、二次元領域でなく三次元の地理的ボリュームとして構成することができる。
【0039】
グリッド402内、具体的にはグリッド・ゾーンB2内に、GPSデバイス415を含むことができる。GPSデバイス415は、グリッド402内で1つのグリッド・ゾーンから別のゾーンへと移動可能である。新しいグリッド・ゾーンに入る前に、GPSデバイス415の予測アルゴリズムは、新しいゾーンに入ることを予想することができる。例えば、GPSデバイス415が東方向に動いている場合(グリッド・ゾーンB2からグリッド・ゾーンA2へ)、予測アルゴリズムは、グリッド・ゾーンA2に入ろうとしていることを自動的に判定することができる。この予測は、充分に早い時期に行って、グリッド・ゾーンA2のためのナビゲーション情報を必要な場合に確実に利用可能とする。
【0040】
予測アルゴリズムによって、道路接続等のナビゲーション情報を使用可能であることに留意されたい。例えば、GPSデバイス415が道路上を走っている車両内デバイスである場合、予測アルゴリズムは車道の進路を考慮することができる。従って、ナビゲーション情報によって現在の道路が実際に南に湾曲することが示され、このため車両がグリッド・ゾーンA2でなくグリッド・ゾーンB3に入る可能性が高い場合、予測アルゴリズムはグリッド・ゾーンB3に入りそうだということを予測することができ、関連した地理的ナビゲーション・バンドルを取得することができる。
【0041】
予測したグリッド・ゾーンのための地理的ナビゲーション・バンドル420は、必要な場合、遠隔に位置するサーバから取得し、GPSデバイス415にローカルなデータ・ストア内に配置することができる。バンドル420は、GPSデバイス415によってインストールし活性化することができる。地理的ナビゲーション・バンドル420のダウンロード、インストール、および活性化は、異なる時点で実行可能であることに留意すべきである。
【0042】
地理的ナビゲーション・バンドル420は、ナビゲーション・データ・セット425およびマニフェスト・ファイル430を含むことができる。ナビゲーション・データ・セット425は、GPSデバイス415が位置するいくつかの地理的領域のためのマッピング・データ等、GPSデバイス415がナビゲーション・タスクを実行する際に用いるデータを含むことができる。
【0043】
マニフェスト・ファイル430は、バンドル名、バージョン、日付、リンク参照、およびその他のかかる情報を含むことができる。リンク参照は、どのように1つのグリッド・ゾーンまたは地理的ナビゲーション・バンドル420を他のグリッド・ゾーンまたは地理的ナビゲーション・バンドルに関連付けるかまたは接続するかを示すことができる。更に、マニフェスト・ファイル430は、バンドルを相互に通信可能として他の各バンドルが必要となる可能性が高い時を示すためのヒント、アルゴリズム、および発見的方法を含むことができる。従って、活性化したバンドル420を有するGPSデバイスの予測処理は、2つ以上の異なるバンドル420間に分散した予測情報の合成に基づいて行うことができる。
【0044】
図5は、本明細書中に開示する本発明の構成の一実施形態に従って地理的ナビゲーション・バンドルを発生するための方法500のフローチャートを含む。一実施形態において、方法500は、データ・ストア152内に含まれフレームワーク130内で利用される地理的バンドルのために利用可能である。更に、方法500を用いて、バンドル・レイヤ220においてバンドルを発生させること、あるいはバンドル320または322を発生させること、またはその両方を行うことができる。しかしながら、方法500は、これらの例示した実施形態に限定されず、地理的ナビゲーション・バンドルの管理あるいは使用またはその両方を行ういかなるシステムのためにも利用可能である。
【0045】
方法500は、ステップ505において開始し、このステップで、ナビゲーション・データを多数の地理的領域にセグメント化することができる。セグメント化の後、特定の地理的領域のためのナビゲーション・データは、その地理的領域のためのナビゲーション・データ・セットと呼ぶことができる。ステップ510において、選択した地理的領域と境界を共有する他の各地理的領域を決定することができる。
【0046】
ステップ515において、各地理的領域ごとに、地理的ナビゲーション・バンドルを発生させることができる。各地理的ナビゲーション・バンドルは、OSGiに合致するフレームワークに従ったバンドルとすることができる。ステップ520において、ナビゲーション・データ・セットを、各地理的ナビゲーション・バンドル内に含ませることができる。ナビゲーション・データ・セットは、GPS搭載デバイスが対応する地理的領域内でナビゲーションを実行可能とするために必要な情報を全て含むことができる。
【0047】
一実施形態において、ナビゲーション・データ・セットは、道路レベルのマッピング・データを含み、GPSデバイスが対応する地理的領域内で車道によって車両を案内することを可能とする。GPSデバイスは、いったんある領域のためのナビゲーション・データ・セットを与えられると、遠隔サーバに対するネットワーク接続を必要とすることなく単独で機能することができる。GPSデバイスがある地理的領域から別の領域に移動すると、遠隔サーバに対して一時的なネットワーク接続を行って、新しい地理的ナビゲーション・バンドルを取得することができる。
【0048】
ステップ525において、各地理的ナビゲーション・バンドルは、OSGiに合致したフレームワークに従ったマニフェスト・ファイルも含むことができる。マニフェスト・ファイルは、境界を共有する領域に関連付けられたバンドルに対するリンク参照を含むことができる。例えば、B2と標示する地理的領域は、A2と標示する地理的領域と地理的境界を共有することができ、B3と標示する地理的領域と境界を共有することができる。B2のバンドルに対するリンク参照は、領域A2およびB3に関連したバンドルにリンクすることができる。B2内に位置するGPSデバイスがA2の方向に移動している場合、いったん構成可能条件が満足されると、リンク参照はGPSデバイスをトリガして、A2のためのバンドルを自動的にロードすることができる。同様に、条件が満足されると、リンク参照はGPSデバイスをトリガして、B3のためのバンドルを自動的にロードすることができる。この条件は、移動速度、境界A2までの距離、バンドルを活性化するための推定時間、GPSデバイスの利用可能リソース等のファクタを含むことができる。各地理的ナビゲーション・バンドルは、バンドルに固有のリンク参照を含むことができる。
【0049】
また、マニフェスト・ファイルは、バンドルの更新を容易にするために使用可能な日付およびバージョン標識を含むことができる。すなわち、GPSデバイスに、同一の地理的ナビゲーション・バンドルの2つの異なるバージョンを設け、一方が他方の更新バージョンを表すようにすることができる。GPSデバイスは、日付およびバージョン標識から、どのバージョンがより新しいかを判定することができる。
【0050】
地理的ナビゲーション・バンドルは、関連するナビゲーション・データ・セット内の情報が変更されると更新可能であることは認められよう。例えば、地理的ナビゲーション・バンドルは、地理的領域内に新しい道路が建設された場合には更新しなければならない。一実施形態では、ナビゲーション・バンドルは、含まれる道路のトラヒック状況等の動的データを含むことができるが、このため、動的データを頻繁に更新する必要があり得る。地理的領域のためのナビゲーション・データ・セットが静的データおよび動的データの双方を含む場合、2つの異なる地理的ナビゲーション・バンドル、すなわち静的データを含むものおよび動的データを含むものを使用可能である。
【0051】
充分な頻度で更新を行うことで、GPSデバイスは確実にほぼ現在のナビゲーション情報を含むことができる。ほぼ現在のナビゲーション情報は、ナビゲーション目的のためにこの情報に頼るユーザが誤解したり混乱したりしないような充分に新しいナビゲーション情報として定義することができる。例えば、道路情報がほぼ現在のものである場合、GPSデバイスを用いてナビゲーションを行う運転者は、もはや存在しない道路に沿って走るように導かれることはない。同様に、ほぼ現在のトラヒック情報は、充分に新しい情報であり、GPSデバイスによって運転者が渋滞および他の道路問題を回避するのを支援する。
【0052】
図6は、本明細書中に開示する本発明の構成の一実施形態に従ってGPSデバイスが地理的ナビゲーション・バンドルを利用するための方法600のフローチャートである。一実施形態において、この方法600が利用可能である。
【0053】
この方法600は、GPSデバイスが起動または活性化された場合にステップ605において開始することができる。ステップ610において、GPSデバイスは、その現在の位置の座標を求めることができる。ステップ615において、GPSデバイスのローカル・データ・ストアが、デバイスが位置する領域の地理的ナビゲーション・バンドルを含むかどうかについて、判定を行うことができる。ローカル・データ・ストアが適切なバンドルを含む場合、方法はステップ625に進む。かかるバンドルがローカルにストアされていない場合、方法はステップ615からステップ620に進むことができる。ステップ620において、GPSデバイスはバンドル・サーバに無線で接続し、適切な地理的ナビゲーション・バンドルを取得することができる。取得したバンドルは、ローカル・データ・ストアにストアすることができる。
【0054】
ステップ625において、GPSデバイスは、現在の利用可能リソースを任意に決定することができる。ステップ630において、リソースが乏しいか、または現在必要でない地理的ナビゲーション・バンドルによって消費されている場合、必要でないバンドルの停止あるいは除去またはその両方を行うことができる。例えば、GPSデバイスの現在の位置ではロードしたバンドルを必要とする可能性が低い場合(構成したパラメータおよび閾値によって決定される)、そのバンドルの除去あるいは停止またはその両方を行うことができる。ステップ635において、デバイスの現在位置のための地理的ナビゲーション・バンドルをインストールし活性化することができる。
【0055】
ステップ640において、活性化した地理的ナビゲーション・バンドルに含まれたナビゲーション・データを用いて、1つ以上のナビゲーション・タスクを実行することができる。ステップ645において、GPSデバイスは、1つ以上の予測ファクタおよびGPSデバイスの予測アルゴリズムを利用して、GPSデバイスが新しい地理的領域に近付いているかを予測することができる。新しい地理的領域が予測されると、方法はステップ645からステップ615に進む。
【0056】
その他の場合、方法はステップ650に進み、GPSデバイスは任意に、現在利用しているナビゲーション・データを取得したバンドル等、ローカルにストアした地理的ナビゲーション・バンドルについて、更新が存在するか否かを判定することができる。ステップ650では、GPSデバイスが無線ネットワークを介して遠隔位置のバンドル・サーバに問い合わせを送信する必要があり得る。更新が必要である場合、方法はステップ620に進み、バンドル・サーバからバンドル更新をダウンロードすることができる。更新が必要でない場合、方法はステップ640に進み、追加のナビゲーション・タスクを実行可能である。
【0057】
本発明は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせにおいて実現することができる。本発明は、1つのコンピュータ・システムにおいて集中し、あるいは、いくつかの相互接続されたコンピュータ・システム間で異なる要素を分散させた分散形態で、実現可能である。本明細書中で記載した方法を実行するために適合したいかなる種類のコンピュータ・システムまたは他の装置も適切である。ハードウェアおよびソフトウェアの典型的な組み合わせは、汎用コンピュータ・システム、および、ロードされて実行されるとコンピュータ・システムを制御して本明細書中に記載した方法を実行するようにするコンピュータ・プログラムとすることができる。
【0058】
また、本発明は、本明細書中に記載した方法の実施を可能とする全ての機構を含み、コンピュータ・システムにロードされるとこれらの方法を実行することができるコンピュータ・プログラムにおいて埋め込むことができる。本文脈におけるコンピュータ・プログラムとは、1組の命令のいずれかの言語、コード、または表記におけるいずれかの表現を意味し、情報処理機能を有するシステムに、直接、または、a)別の言語、コード、または表記への変換、b)異なる材料形態における再生、のいずれかまたは双方の後に、特定の機能を実行させるように意図されている。
【0059】
本発明は、その精神および本質的な属性から逸脱することなく、他の形態において具現化可能である。従って、本発明の範囲を示すものとして、前述の明細書ではなく特許請求の範囲を参照すべきものとする。
【図面の簡単な説明】
【0060】
【図1】本明細書中に開示する本発明の構成の一実施形態に従った、地理的領域に固有のナビゲーション・データを含むバンドルをロードする予測アルゴリズムを有するGPS搭載デバイスを含むシステムの概略図である。
【図2】本明細書中に開示する本発明の構成の一実施形態に従った、地理的ナビゲーション・バンドルを処理することができるフレームワーク環境の概略図である。
【図3】動的アプリケーション・フレームワーク内の地理的ナビゲーション・バンドルが情報を交換することを可能とする協同モデルの概略図である。
【図4】地理的領域のグリッドを示すシステムの概略図であり、各領域が地理的ナビゲーション・バンドルに関連付けられている。
【図5】本明細書中に開示する本発明の構成の一実施形態に従って地理的ナビゲーション・バンドルを発生するための方法のフローチャートを含む。
【図6】本明細書中に開示する本発明の構成の一実施形態に従ってGPSデバイスが地理的ナビゲーション・バンドルを利用するための方法のフローチャートである。
【符号の説明】
【0061】
100 システム
110 GPSデバイス
112 提示部
114 無線送受信装置
116 ナビゲーション・プロセッサ
118 GPS部
130 フレームワーク
132 バンドル
134 サービス
150 サーバ
200 フレームワーク環境
210 バンドル
215 インタフェース
220 フレームワーク
230 仮想マシン
235 オペレーティング・システム
245 ドライバ
245 ハードウェア
300 協同モデル
310 フレームワーク
320、322 バンドル
335 オペレーティング・システム
340 ハードウェア
400 システム
420 バンドル
425 データ・セット
430 マニフェスト・ファイル

【特許請求の範囲】
【請求項1】
ナビゲーション・データを提供するための方法であって、
複数の地理的領域を含むグリッドを識別するステップであって、各地理的領域が道路レベルのマッピング・データを含む関連するナビゲーション・データ・セットを有する、ステップと、
各地理的領域ごとに、その地理的領域の境界を画定し、境界を共有する少なくとも1つの他の地理的領域を指定するリンク参照を規定するステップと、
複数の地理的ナビゲーション・バンドルを識別するステップであって、各地理的ナビゲーション・バンドルがOSGiに適合するフレームワークに従うバンドルであり、各地理的ナビゲーション・バンドルが前記地理的領域の1つに対応し、各地理的ナビゲーション・バンドルが関連する地理的領域のための前記ナビゲーション・データ・セットを含み、各地理的ナビゲーション・バンドルが他の地理的ナビゲーション・バンドルに対するリンク参照を含むマニフェスト・ファイルを含む、ステップと、
前記地理的ナビゲーション・バンドルを利用して複数のナビゲーション・タスクを実行するステップと、
を含む、方法。
【請求項2】
全地球測位システム(GPS)を搭載したデバイスが、GPS座標を利用して、前記地理的領域のどれに前記GPS搭載デバイスが位置するかを自動的に判定するステップと、
前記GPS搭載デバイスが、前記判定した地理的領域に対応する前記地理的ナビゲーション・バンドルの選択されたものを動的にインストールするステップと、
を更に含む、請求項1に記載の方法。
【請求項3】
前記GPS搭載デバイスが異なる地理的領域に入ろうとしていることを、前記GPS搭載デバイスが自動的に予測するステップと、
前記異なる地理的領域に入る前に、前記GPS搭載デバイスが前記異なる地理的領域のための異なる地理的ナビゲーション・バンドルを受信するステップと、
前記異なる地理的ナビゲーション・バンドルをインストールし活性化するステップと、
前記異なる地理的領域内に位置する間、前記GPS搭載デバイスが、前記異なる地理的ナビゲーション・バンドルに関連付けた前記領域のナビゲーション・データ・セットに基づいて少なくとも1つのナビゲーション・プロセスを実行するステップと、
を更に含む、請求項2に記載の方法。
【請求項4】
前記リンク参照が前記OSGiに適合するフレームワークによって依存性として管理されている、請求項1に記載の方法。
【請求項5】
少なくとも1つのGPSデバイスが、前記GPS搭載デバイスの単一の仮想マシン内で複数の地理的ナビゲーション・バンドルをインストールし活性化するように構成されている、請求項1に記載の方法。
【請求項6】
前記複数の地理的ナビゲーション・バンドルのための前記マニフェスト・ファイルがバージョンおよび日付を含み、前記方法が、
前記GPS搭載デバイスが前記地理的ナビゲーション・バンドルの現在インストールされているものに対する更新について遠隔位置のサーバを自動的にチェックするステップと、
更新が利用可能である場合、前記GPS搭載デバイスが前記遠隔位置のサーバによって前記インストールされた地理的ナビゲーション・バンドルの少なくとも1つを動的に更新するステップと、
を更に含む、請求項5に記載の方法。
【請求項7】
前記GPSデバイスが複数のインストールされ活性化された地理的ナビゲーション・バンドルを含み、前記予測ステップの前に、前記異なる地理的ナビゲーション・バンドルが前記複数のインストールされ活性化された地理的ナビゲーション・バンドル内に含まれず、前記方法が、
前記予測ステップに応答して、前記GPS搭載デバイスが前記複数の地理的ナビゲーション・バンドルの1つを停止し除去して、前記異なる地理的ナビゲーション・バンドルのためにリソースを解放するステップを更に含む、請求項3に記載の方法。
【請求項8】
前記インストールされた地理的ナビゲーション・バンドルが、対応する地理的領域内の道路についてのほぼ現在のトラヒック情報を含む、請求項1に記載の方法。
【請求項9】
前記インストールされた地理的ナビゲーション・バンドルが、対応する地理的領域内に位置する会社に固有の宣伝情報を含む、請求項1に記載の方法。
【請求項10】
ナビゲーション・データを取得するための方法であって、
動的アプリケーション・フレームワークに従って構成された全地球測位システム(GPS)搭載デバイスを識別するステップであって、前記フレームワークがポリシー・フリーのフレームワークであり、その内部で複数のバンドルを展開可能であり、前記バンドルの特定のものにアプリケーションを含ませることができ、前記フレームワークが、実行時に動的にバンドルをインストールし、更新し、除去するように構成され、前記フレームワークがバンドル間の依存性を管理する、ステップと、
前記GPS搭載デバイスが提供するGPS座標によって求められる前記GPS搭載デバイスが位置する地理的領域のためのナビゲーション情報を前記GPS搭載デバイスが提示するステップであって、前記提示されたナビゲーション情報が前記地理的領域に固有の地理的ナビゲーション・バンドルに基づいたものであり、前記地理的ナビゲーション・バンドルが前記動的アプリケーション・フレームワーク内で展開可能なバンドルであり、異なる地理的領域に対応する異なる地理的ナビゲーション・バンドルが前記GPS搭載デバイスによって利用される、ステップと、
を含む、方法。
【請求項11】
前記GPS搭載デバイスが異なる地理的領域に入ろうとしていることを、前記GPS搭載デバイスが自動的に予測するステップと、
前記異なる地理的領域に入る前に、前記GPS搭載デバイスが異なる地理的ナビゲーション・バンドルを受信するステップと、
前記異なる地理的ナビゲーション・バンドルをインストールするステップと、
前記異なる地理的領域内に位置する間、前記GPS搭載デバイスが、前記異なる地理的ナビゲーション・バンドルに基づいてナビゲーション情報を提示するステップと、
を更に含む、請求項10に記載の方法。
【請求項12】
前記異なる地理的ナビゲーション・バンドルが遠隔位置のサーバから無線通信チャネルを介して受信される、請求項11に記載の方法。
【請求項13】
前記地理的ナビゲーション・バンドルが遠隔位置のサーバから無線通信チャネルを介して受信され、前記地理的ナビゲーション・バンドルが道路レベルのナビゲーション情報を含み、前記地理的ナビゲーション・バンドルが前記地理的領域内に含まれる道路についてのほぼ現在のトラヒック情報も含む、請求項10に記載の方法。
【請求項14】
前記地理的ナビゲーション・バンドルが遠隔位置のサーバから無線通信チャネルを介して受信され、前記地理的ナビゲーション・バンドルが前記地理的領域内に位置する会社に固有の宣伝情報を含み、前記方法が、
前記GPS搭載デバイスが前記宣伝情報に基づいて前記会社の異なるものについての異なる宣伝を提示するステップを更に含む、請求項10に記載の方法。
【請求項15】
前記GPS搭載デバイスがナビゲーション・アプリケーションの機能を利用して前記提示ステップの前記ナビゲーション情報を発生させるナビゲーション・プロセスを実行し、前記ナビゲーション・アプリケーションが前記動的アプリケーション・フレームワーク内で展開されたバンドルに関連付けられている、請求項10に記載の方法。
【請求項16】
前記動的アプリケーション・フレームワークがOSGiに合致したフレームワークである、請求項10に記載の方法。
【請求項17】
全地球測位システム(GPS)搭載コンピューティグ・デバイスにデータを送出するための方法であって、
複数の地理的ナビゲーション・バンドルを含むサーバを識別するステップであって、前記地理的ナビゲーション・バンドルが異なる地理的領域についてのナビゲーション情報を含み、各地理的ナビゲーション・バンドルが動的アプリケーション・フレームワークに合致するバンドルであり、前記フレームワークがポリシー・フリ−のフレームワークであり、その内部で複数のバンドルを展開可能であり、前記フレームワークが、実行時に動的に前記バンドルをインストールし、更新し、アンインストールするように構成され、前記フレームワークがバンドル間の依存性を管理する、ステップと、
複数のコンピューティング・デバイスから前記地理的ナビゲーション・バンドルの選択されたものについての要求を受信するステップと、
前記要求に応答して、前記地理的ナビゲーション・バンドルの前記選択されたものを前記コンピューティング・デバイスに送出するステップであって、前記コンピューティング・デバイスが、前記地理的ナビゲーション・バンドル内に含まれる情報を利用してナビゲーション・タスクを実行するGPS搭載デバイスを含む、ステップと、
を含む、方法。
【請求項18】
前記地理的ナビゲーション・バンドルの少なくとも一部が道路レベルのナビゲーション情報を含み、更に、対応する地理的領域内に含まれる道路についてのほぼ現在のトラヒック情報を含み、トラヒック状況が変化すると前記ほぼ現在のトラヒック情報が連続的に更新される、請求項17に記載の方法。
【請求項19】
前記地理的ナビゲーション・バンドルの少なくとも一部が対応する地理的領域内に位置する会社に固有の宣伝情報を含み、前記GPS搭載デバイスが前記宣伝情報を提示するように構成されている、請求項17に記載の方法。
【請求項20】
前記動的アプリケーション・フレームワークがOSGiに合致したフレームワークである、請求項17に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2007−171165(P2007−171165A)
【公開日】平成19年7月5日(2007.7.5)
【国際特許分類】
【出願番号】特願2006−301603(P2006−301603)
【出願日】平成18年11月7日(2006.11.7)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
2.JAVA
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】