(57)【特許請求の範囲】
【請求項１】
地理情報にアクセスするためのシステムであって、該システムは、
（ａ）２つ以上の地理的に分散されたサーバ（１０６）と、
（ｂ）シンクライアント（１０２）と
を含み、
サーブレット（１０８）は、該サーバ（１０６）のうちの１つのサーバ上で実行され、該サーブレット（１０８）は、複数のプラットフォーム上で使用される単一コードストリームによってインプリメントされ、
該サーブレットは、
（ｉ）該２つ以上のサーバ（１０６）から地理的に分散されたマップデータにアクセスすることであって、該マップデータは、ベクトルベースのマップ層データに対する層定義の形式のメタデータを含む、ことと、
（ｉｉ）該２つ以上のサーバ（１０６）から地理的に分散された属性データ（１２８）にアクセスすることと、
（ｉｉｉ）該マップデータおよび該属性（１２８）データをデクラッタリングすることと、
（ｉｖ）該マップデータおよび該属性（１２８）データを圧縮およびコード化することと、
（ｖ）ネットワーク（１１８）を介して、該圧縮およびコード化されたマップデータおよび属性（１２８）データを、該シンクライアント（１０２）にアクセス可能なロケーションに配置することと
を該サーブレットが実行されている該サーバに行わせ、
アプリケーション（１３０）は、該シンクライアント（１０２）上で実行され、
該アプリケーション（１３０）は、
（ｉ）該ネットワーク（１１８）を介して、該圧縮およびコード化されたマップデータおよび属性（１２８）データを該ロケーションから取得することと、
（ｉｉ）該圧縮およびコード化されたマップデータおよび属性（１２８）データを表示することと
を該シンクライアント（１０２）に行わせる、システム。
【請求項２】
前記アプリケーション（１３０）は、前記サーブレット（１０８）が実行されている前記サーバに割当てを送信することを該シンクライアント（１０２）にさらに行わせ、該サーブレット（１０８）は、該割当のために前記圧縮およびコード化されたマップデータおよび属性（１２８）データを送信することを該サーブレットが実行されている該サーバにさらに行わせる、請求項１に記載のシステム。
【請求項３】
前記シンクライアント（１０２）上で実行されている前記アプリケーション（１３０）は、
該シンクライアント（１０２）上に表示される前記マップデータをマークアップするためにスタイラスを利用するユーザから、マークアップエンティティに関するピクセルデータを含むマークアップデータの入力を受け取ること、
該マークアップデータを含むファイルを生成することと、
該マークアップデータのファイルを該シンクライアント（１０２）から前記サーバ（１０６）にアップロードすることと
を該シンクライアントにさらに行わせる、請求項１に記載のシステム。
【請求項４】
前記シンクライアント上で実行されている前記アプリケーション（１３０）は、
ソケット接続を取得することと、
常駐マップセットのインベントリを取得することと、
該常駐マップセットと関連付けられたマークアップデータを検索することと、
全ての常駐マークアップデータを該サーバ（１０６）にアップロードすることと
によって、前記マークアップデータのファイルをサーバ（１０６）にアップロードすることを該シンクライアントに行わせる、請求項３に記載のシステム。
【請求項５】
前記マークアップエンティティはレッドラインであり、
前記シンクライアント上で実行されている前記アプリケーション（１３０）は、
新しいレッドラインオブジェクトが選択されたのはいつかを決定することと、
スタイラスが前記シンクライアント（１０２）の画面と接触した状態にある間に、レッドラインオブジェクトを取得することと
によって、該マークアップデータの入力をユーザから受け取ることを該シンクライアントに行わせる、請求項３に記載のシステム。
【請求項６】
前記マークアップデータはメモ書きであり、
前記シンクライアント上で実行されている前記アプリケーション（１３０）は、
新しいメモ書きオブジェクトが選択されたのはいつかを決定することと、
前記シンクライアント（１０２）上のマップの表示内のアンカーポイントのユーザ選択を受け取ることと、
該シンクライアント（１０２）上にテキスト入力画面を表示することと、
ユーザが該テキスト入力画面に入力したテキストを受け取ることと、
該アンカーポイントにおけるメモ書きを表すアイコンを表示することと
によって、該マークアップデータの入力をユーザから受け取ることを該シンクライアントに行わせる、請求項３に記載のシステム。
【請求項７】
前記サーバ（１０６）上で実行されている前記サーブレットは、
前記マップデータおよび前記属性（１２８）データに関するマークアップデータを含むファイルを前記シンクライアントから取得することであって、該マップデータは、地理データのコード化および空間的に付けされたベクトル表示を含む、ことと、
該マークアップデータを座標データに変換することと、
該座標データを用いて、空間データファイル（ＳＤＦ）を取得することであって、該空間データファイル（ＳＤＦ）は、該マークアップデータを該マップデータおよび該属性（１２８）データ上に重ねるために用いることが可能である、ことと
を該サーバに行わせる、請求項１に記載のシステム。
【請求項８】
（ａ）前記マップデータは、
（１）複数のラスタタイルと、
（２）該マップデータのオブジェクトに関するベクトルオブジェクトデータと
を含み、
（ｂ）前記サーバ（１０６）上で実行されている前記サーブレット（１０８）は、
（１）該ベクトルオブジェクトデータの一部をフィルタリング除去することによって前記オブジェクトの形状を一般化することと、
（２）前記オブジェクトが配置される該ラスタタイルの起点について該オブジェクトのロケーションのオフセットをコード化することによって、該オブジェクトのロケーションを差別的にコード化することと、
（３）該オブジェクトの境界をコード化することによって、該ベクトルオブジェクトデータを空間的にインデックス付けすることと
によって、デクラッタ、圧縮、およびコード化を実行することを該サーバに行わせる、請求項１に記載のシステム。
【請求項９】
前記シンクライアント上で実行されている前記アプリケーション（１３０）は、
１つ以上のラスタタイルの境界を評価して、該ポイントを含む前記ラスタタイルを決定することと、
該ポイントを含む該ラスタタイル内のオブジェクトの境界を評価して、該ポイントを含むのはどのオブジェクトかを決定することと
によって、ポイントによって識別されるオブジェクトを決定することを該シンクライアントに行わせる、請求項８に記載のシステム。
【請求項１０】
前記ラスタタイルは、ロウメジャーフォーマットで格納され、該フォーマットは、各ラスタタイルに関するインデックスによって追随され、該ラスタタイルのそれぞれは、該ラスタファイルのストレージに対応する順序で格納され、該インデックスは、
前記一般化されたベクトルオブジェクトデータを含む記録に対する参照と、
各ラスタタイルに関する前記オフセットおよび前記境界と
を含む、請求項８に記載のシステム。
【請求項１１】
前記サーバ上で実行されている前記サーブレット（１０８）は、シンクライアント（１０２）からの前記マップデータに関するリクエストを受け取る前に、該マップデータを取得することを該サーバに行わせる、請求項１に記載のシステム。
【請求項１２】
前記サーバ上で実行されている前記サーブレット（１０８）は、シンクライアント（１０２）から該マップデータに関するリクエストを受け取る前に、
マップセットに含まれる１つ以上のマップを識別することと、
前記１つ以上のマップに関するマップデータを取得することと、
該マップデータから構成されるマップセットを生成することと
を実行することによって、該マップデータを取得することを該サーバに行わせる、請求項１に記載のシステム。
【請求項１３】
前記サーバ上で実行されている前記サーブレット（１０８）は、作業命令に関連するリクエストを受信することに応答して、前記識別する工程と、前記取得する工程と、前記生成する工程とを実行することを前記サーバに行わせる、請求項１２に記載のシステム。
【請求項１４】
前記サーバ上で実行されている前記サーブレット（１０８）は、
マップセット中の１つ以上のマップを識別することと、
複数の中央処理ユニット上の別個のスレッドをインスタンス化して、該１つ以上のマップに関するマップデータを並列取得することと、
該マップデータを含むデータベースを組み立てることと、
該データベースを用いて、該マップデータを含むマップセットを生成することと
によって、該マップデータを取得することを該サーバに行わせる、請求項１に記載のシステム。
【発明の詳細な説明】
【０００１】
（関連出願についての相互参照）
本出願は、以下の係属中および同一人に譲渡された米国仮特許出願第１１９条（ｅ）の利益を主張し、そしてそれを主張し、その内容は、参考として本明細書中で援用される。
【０００２】
Ｎｅｍｍａｒａ  Ｃｈｉｔｈａｍｂａｒａｍらの「ＭＡＰＧＵＩＤＥ  ＰＥＲＳＯＮＡＬ  ＤＩＧＩＴＡＬ  ＡＳＳＩＳＴＡＮＴ」という名称の米国特許出願シリアルナンバー第６０／１５９，０６９号（１９９９年１０月１２日出願、アトーニードケット番号３０５６６．９６ＵＳＰ１）。
【０００３】
Ｎｅｍｍａｒａ  Ｃｈｉｔｈａｍｂａｒａｍらの「ＳＨＡＲＡＢＬＥ  ＳＥＲＶＥＲ  ＵＰＬＯＡＤＡＢＬＥ  ＲＥＤＬＩＮＩＮＧ  ＦＯＲ  ＰＥＲＳＯＮＡＬ  ＤＩＧＩＴＡＬ  ＡＳＳＩＳＴＡＮＴ（ＰＤＡ）ＭＡＰＳ」という名称の米国特許出願シリアルナンバー第６０／１９３，１４１号（２０００年３月２９日出願、アトーニードケット番号３０５６６．９７ＵＳＰ１）。
【０００４】
Ｎｅｍｍａｒａ  Ｃｈｉｔｈａｍｂａｒａｍらの「ＩＮＤＥＸＥＤ  ＲＡＳＴＥＲ  ＶＥＣＴＯＲ  ＳＣＨＥＭＡ  ＦＯＲ  ＰＥＲＳＯＮＡＬ  ＤＩＧＩＴＡＬ  ＡＳＳＩＳＴＡＮＴ（ＰＤＡ）  ＤＡＴＡＢＡＳＥＳ」という名称の米国特許出願シリアルナンバー第６０／１９３，１５３号（２０００年３月２９日出願、アトーニードケット番号３０５６６．１０９ＵＳＰ１）。
【０００５】
Ｎｅｍｍａｒａ  Ｃｈｉｔｈａｍｂａｒａｍらの「ＩＮＴＥＲＰＲＯＣＥＳＳ  ＡＰＩ  ＡＮＤ  ＧＲＡＰＨＩＣＡＬ  ＵＳＥＲ  ＩＮＴＥＲＦＡＣＥ  ＦＯＲ  ＰＥＲＳＯＮＡＬ  ＤＩＧＩＴＡＬ  ＡＳＳＩＳＴＡＮＴ（ＰＤＡ）ＤＥＶＩＣＥＳ  ＡＰＰＬＩＣＡＴＩＯＮＳ」という名称の米国特許出願シリアルナンバー第６０／１９３，１４２号（２０００年３月２９日出願、アトーニードケット番号３０５６６．１１０ＵＳＰ１）。
【０００６】
Ｎｅｍｍａｒａ  Ｃｈｉｔｈａｍｂａｒａｍらの「ＭＡＰＧＵＩＤＥ  ＦＯＲ  ＭＯＢＩＬＥ  ＤＥＶＩＣＥＳ  ＳＥＲＶＥＲ」という名称の米国特許出願シリアルナンバー第６０／１９３，８６２号（２０００年３月３０日、アトーニードケット番号３０５６６．１１２ＵＳＰ１）。
【０００７】
本出願は、以下の同時係属中および同一譲渡人の米国特許出願の一部継続出願であり、これらの出願は、参考のためその全体を本明細書中で援用する。
【０００８】
Ｎｅｍｍａｒａ  Ｃｈｉｔｈａｍｂａｒａｍらの「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＰＲＯＶＩＤＩＮＧ  ＡＣＣＥＳＳ  ＴＯ  ＭＡＰＳ  ＯＮ  Ａ  ＰＥＲＳＯＮＡＬ  ＤＩＧＩＴＡＬ  ＡＳＳＩＮＳＴＡＮＴ（ＰＤＡ）」という名称の米国特許出願シリアルナンバー第０９／６２９，１１５号（２０００年７月３１日出願、アトーニードケット番号３０５６６．９６ＵＳＵ１）である。
【０００９】
Ｅｄｗａｒｄ  Ｊ．Ｃｏｎｎｏｒらの「ＧＥＯＧＲＡＰＨＩＣＡＬ  ＤＡＴＡ  ＭＡＲＫＵＰ  ＯＮ  Ａ  ＰＥＲＳＯＮＡＬ  ＤＩＧＩＴＡＬ  ＡＳＳＩＳＴＡＮＴ（ＰＤＡ）という名称の米国特許出願シリアルナンバー第０９／６２８，８５１号（２０００年７月３１日出願、アトーニードケット番号３０５６６．９７ＵＳＵ１）、
Ｎｅｍｍａｒａ  Ｃｈｉｔｈａｍｂａｒａｍらの「ＧＥＮＥＲＡＬＩＺＥＤ，ＤＩＦＦＥＲＥＮＴＩＡＬＬＹ  ＥＮＣＯＤＥＤ，ＩＮＤＥＸＥＤ  ＲＡＳＴＥＲ  ＶＥＣＴＯＲ  ＤＡＴＡ  ＡＮＤ  ＳＣＨＥＭＡ  ＦＯＲ  ＭＡＰＳ  ＯＮ  Ａ  ＰＥＲＳＯＮＡＬ  ＤＩＧＩＴＡＬ  ＡＳＳＩＳＴＡＮＴ」（２０００年７月３１日出願、アトーニードケット番号３０５６６．９８ＵＳＵ１）、および  Ｈｏｗａｒｄ  Ｍａｒａｎｔｚらの「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＯＢＴＡＩＮＩＮＧ  Ａ  ＳＥＴ  ＯＦ  ＭＡＰＳ」という名称の米国特許出願シリアルナンバー第０９／６２９，１１７号（２０００年７月３１日出願、アトーニードケット番号３０５６６．１１２ＵＳＵ１）。
【００１０】
本出願は、以下の同時係属中および同一譲渡人の米国特許出願に関連し、この出願は、参考のためにその全体を本明細書中で援用する。
【００１１】
Ｇｒｅｇｏｒｙ  Ａ．Ｒｏｙらの「ＶＥＣＴＯＲ−ＢＡＳＥＤ  ＧＥＯＧＲＡＰＨＩＣ  ＤＡＴＡ」という名称の米国特許出願シリアルナンバー第０９／４１１，５０６号（１９９９年１０月４日出願、アトーニードケット番号３０５６６．１７ＵＳＣ１）であり、この出願は、Ｇｒｅｇｏｒｙ  Ａ．Ｒｏｙらの「ＶＥＣＴＯＲ−ＢＡＳＥＤ  ＧＥＯＧＲＡＰＨＩＣ  ＤＡＴＡ」という名称の米国特許第５，９６６，１３５号（１９９９年１０月１２日発行）（米国特許出願シリアルナンバー第０８／７５７，７０６号（１９９６年１０月３０日出願））の継続出願である。
【００１２】
（発明の背景）
（１．発明の分野）
本発明は、概して、電子マップおよび地理情報、特に、パーソナル携帯情報端末（ＰＤＡ）上のマップおよび地理データへのアクセスを提供するための方法、装置、および製造品に関する。
【００１３】
（２．関連技術の説明）
コンピュータ実行地理情報システム（ＧＩＳ）は、当該分野において公知である。そのようなＧＩＳは、地理情報（例えば、マップ等）の取り出し、かつ表示を提供する。ＧＩＳは、ソフトウェアのシステム、ハードウェアのシステム、および地理データ（市街マップ、所有地の境界、送電線等）を任意の関連する属性情報とともに送達するデータのシステムである。ＧＩＳは、どこに通りがあるかを示し、さらに、通りの名前、最後に舗装されたのはいつか、一方通行かどうか、等を教示し得る。ＧＩＳを用いて、ユーザは、どれほど多くの人々が通りの近くに居住しているか、それらの人々の所得層は何か、どのような区画規則であるのか等の事項を発見するために複合クエリ（ウェブブラウザからサーバまで）を実行し得る。ＧＩＳは、ネットワーク／インターネット上で動作し得、地理情報はサーバに格納され、クライアント／ユーザに伝送され、そこで情報（マップ画面および他のデータ）はウェブブラウザ上に表示される。
【００１４】
クライアントが地理情報を正しく表示するために、適切な処理能力、ソフトウェア、およびメモリを有するコンピュータシステムが必要とされる。例えば、クライアントは、インターネットエクスプローラまたはネットスケープナビゲータ等のウェブブラウザを有するコンピュータを利用し、使用可能なメモリを最低１０メガバイト有することを必要とされ得る。さらに、ユーザがデータを取りだし、ロードするのに、過剰な時間待つ必要がないように地理データを表示するために、適切なインターネット接続（例えば、２８．８Ｋｂｐｓ（毎秒キロビット）モデム）および有効な処理能力を有するコンピュータシステム（例えば、最低速度が１００メガヘルツ）が必要とされ得る。
【００１５】
ガス会社の従業員、販売員、配管工、保険の支払額査定人等の現場／公益事業技術者、または様々な場所に移動する必要がある任意のタイプの職業は、マップおよび地理情報を頻繁に利用するか、またはこれにアクセスすることを必要とする。さらに、そのような技術者は、関連情報を取得するために、マップと対話することを頻繁に必要とする。例えば、配管工／建築請負人は、通りのどこに主要ガス管または水道管が配置されるかを決定することを所望し得る。しかしながら、現場において、技術者は、多くの場合、ネットワーク接続を有さず、ラップトップコンピュータまたはデスクトップコンピュータを運搬することは、厄介であり、かつ非実用的である。従って、地理情報をオンラインおよびオフラインの両方で表示および対話する能力を有する小型（ハンドヘルド）携帯型計算処理デバイスを有することが所望される。
【００１６】
従来技術のハンドヘルド計算処理デバイス（パームＰＣ、または携帯情報端末（ＰＤＡ）とも呼ばれる）は、多くの場合、個人情報へのアクセス、および個人情報を利用するために用いられる。多くのハンドヘルド計算処理デバイスは、今日の市場において取得可能である。通常、ハンドヘルド計算処理デバイスは、人の手のひらの大きさよりもわずかにのみ大きく（従って、名称がパームＰＣ）、多くのアイテムを見るための小型の表示画面を有する。ソフトウェアは、拡張された機能を提供するためにＰＤＡ上にインストールされ得る。例えば、パーソナルプロダクティビティツールは、カレンダー、連絡先、電子メール、インターネットブラウジング、オーディオブック、およびオーディオ記録能力へのアクセスを提供するためにインストールされ得る。さらなるメモリ、または他の機能（例えば、モデム等）を提供するために、カードスロットも使用可能であり得る。さらに、いくつかのＰＤＡは、通信のための赤外線ポート（ＩＲ）を有する。
【００１７】
しかしながら、ＰＤＡ環境は、地理情報システムのために、メモリ、ストレージ、処理速度、ワイヤレス伝送レート、および表示属性に関して、様々な挑戦を投げかける。例えば、ＰＤＡは、通常、９６Ｋよりも少ないメモリ、２Ｍｂ（メガバイト）または、それより少ないストレージ、１３ＭＨｚの処理速度、ならびに白黒およびグレースケール表示メカニズムのみを維持する。さらに、ＰＤＡを使用する現場技術者は、表示されたマップを見て、そしてマップと対話する。ワイヤレス伝送サービスによって提供され、低速プロセッサと接続される低帯域幅は、容認できないダウンロード時間を生じさせる。さらに、多くの場合技術者は、サーバ（オフラインでの使用を必要とする）との接続を確立することが不可能な溝または他の場所において作業する。
【００１８】
従って、ＰＤＡ等の携帯型ハンドヘルド電子デバイスにおける上述の欠陥を克服する地理情報システムが必要である。
【００１９】
本発明の実施形態をより良く理解することを支援するために、従来技術の地理情報システムにおいて利用されるデータを説明することは有用である。従来技術の地理情報システムは、ラスタデータを用いて生成されるマップ画像を表示する。ラスタデータは、マップ画像をグリッド状態の点で表す。例えば、Ｘ−Ｙ軸上には、Ｘ方向に１０００個の点、およびＹ方向に１６０個の点が存在し得る。これらの点のそれぞれは色を表す。例えば、いくつかのコンピュータシステムは、それぞれの点が８色のうちの１つを表すことを可能にする。マップ画像は、その後、グリッド状態のそれぞれの点に対して色を決定することによって生成される。
【００２０】
それぞれのマップ画像はマップ画像の部分は相互に独立して変化し得ないという点でマップ画像の部分において静的である。つまり、マップ画像の部分は、マップ画像を見る間、変更され得ない。従って、マップイメージは、様々な情報の層を含んでもよいが、情報は、生データを有しない画像に過ぎない。マップ画像の部分が変更されるべきか、クエリされるか、または任意のＧＩＳ分析を実行する場合、ブラウザは、主要サーバからより多くのデータをリクエストしなければならず、マップ画像の全体が置換される。例えば、米国（ＵＳ）を代表するマップ画像等、それぞれ
のマップ画像は、州、郡、および通り等のいくつもの情報の層を含み得る。ユーザが米国のマップ画像を見て、そして特定の州における郡を見ることを所望すると、マップ画像は、追加的情報を含む別のマップ画像と置換される。通常、追加的情報は、サーバコンピュータに格納され、マップ画像は、クライアントコンピュータにおいて表示される。表示されるマップ画像が変更されるべきである場合、追加的情報は、サーバコンピュータからダウンロードされる。この追加的情報はラスタデータの形態であるので、この情報は、通常、ダウンロードするのに時間を費やす。
【００２１】
さらに、いくつかのコンピュータシステムは、コンピュータ支援設計（ＣＡＤ）ファイルにおけるベクトルベースのデータから生成される模式図を表示する。ベクトルベースのデータは、模式図を製作するための模式図の要素の記述を用いる。例えば、模式図が線分を含む場合、ＣＡＤファイルは、終点および長さを有する線分を記述する。さらに、これらのコンピュータシステムは、ユーザがインターネットおよびイントラネットからのＣＡＤファイルにおけるデータを見ることを可能にする。例えば、コンピュータシステムにおけるユーザが模式図を見ることを所望すると、コンピュータシステムは、インターネットを介して、データ格納デバイスからの模式図のためのＣＡＤファイルにおけるすべてのデータをダウンロードする。ＣＡＤファイルは、通常、模式図の設計の異なったレベルに対応するデータを含む。いくつかの場合において、ユーザは、例えば、模式図の設計の最高レベルのみ等、ファイルにおけるデータのいくつかのみを見ることを所望し得る。この場合、データの１部のみがユーザによって必要とされる概略の表示が必要とされるにもかかわらず、コンピュータシステムは、すでにＣＡＤファイルにおけるすべてのデータをダウンロードしている。すべてのデータをダウンロードするには時間を費やすので、ユーザのリクエストを満たすためにデータの１部分のみが必要とされるときに、すべてのデータをダウンロードすることは非能率的である。さらに、データのすべて、またはデータの１部でさえも、ＰＤＡ上にダウンロードすることは可能ではあり得ない。
【００２２】
（発明の要旨）
本発明の１つ以上の実施形態は、パーソナル携帯情報端末（ＰＤＡ）上のインタラクティブな地理情報システムを提供する。このシステムは、ＰＤＡ上の地理情報を見ること、およびこれとの対話を可能にする。このような情報は、ＰＤＡがネットワークと接続されている間（すなわち、オンライン）、および切断されている間（すなわち、オフライン）に使用可能である。
【００２３】
ＰＤＡは、通常、完全なコンピュータシステムから構成される、標準クライアントにおいて、使用可能な機能を維持する。例えば、ＰＤＡは、多ズームレベルのためにラスタマップを提供し、複数のタイルを含むそれぞれのズームレベルは、マップ上を横断する「バーチャル移動」を可能にする。ＰＤＡは、さらに、選択可能なベクトルジオメトリ（ユーザオブジェクトとの対話および強調表示）、マップナビゲーションのための地理参照情報、層定義（視認性、表示属性等）の形態のメタデータ、データベースにおけるオブジェクトの属性へのリンク、企業のウェブサーバ、アップロード可能で共有可能なレッドライニングデータ（フィールド上のメモ書きから生成される）ＰＤＡ上のオフラインアクセス、およびコンパクトＰＤＡデータベースによって生成されるオブジェクトレポートへのリンクを提供する。
【００２４】
従って、ＰＤＡ上で見ることができ、かつクエリされ得るインタラクティブマップおよびビジネスオブジェクトは、オンラインおよびオフラインの両方のモードで提供される。
【００２５】
次に、全体に渡って、関連符号は対応する部分を表す図面を参照する。
【００２６】
（好適な実施形態の詳細な説明）
以下の説明において、本明細書の一部を形成し、図示によって、本発明のいくつかの実施形態によって示される添付の図面が参照される。他の任意の実施形態は、本発明の範囲から逸脱することなく、利用され得、構造的変更がなされ得ることが理解される。
【００２７】
（概要）
本発明の１つ以上の実施形態は、（本発明の譲受人によって使用可能な）パーソナル携帯情報端末（ＰＤＡ）上のマップガイド地理情報システムの使用を提供する。ＰＤＡ上のソフトウェアは、そのような機能を提供することが可能にされる。さらに、拡張サーバ機能を提供するサーブレットは、必要とされる任意の追加的処理を収容するために、ウェブサーバとＰＤＡとの間でインターフェイスをとる。
【００２８】
ラスタマップは、マップ上を横断する「バーチャル移動」を可能にする複数のタイルを含むそれぞれのズームレベルを有する多ズームレベルを提供する。さらに、（ユーザオブジェクトとの対話および強調表示のための）選択可能なベクトルジオメトリ、マップナビゲーションのための地理参照情報、層定義の形態のメタデータ（視認性、表示属性等）、データベースにおけるオブジェクトの属性へのリンク、企業のウェブサーバ、（フィールド上のメモ書きから生成される）アップロード可能で共有可能なレッドライニングデータによって生成されるオブジェクトレポートへのリンク、およびＰＤＡ上でのオンラインおよびオフラインの両方における地理情報へのアクセスが提供される。従って、ユーザは、オフラインの間、およびネットワークまたはサーバに接続されていない間、マップおよび他の地理情報にアクセスする能力を維持する。
【００２９】
（一般的アーキテクチャ）
（ハードウェア環境）
本発明の譲受人によって現在使用可能な変更されたマップガイドＧＩＳのＰＤＡ上での使用が提供される。既存のマップガイド  ＧＩＳは、Ｇｒｅｇｏｒｙ  Ａｎｄｒｅｗ  Ｒｏｙらの「ＶＥＣＴＯＲ−ＢＡＳＥＤ  ＧＥＯＧＲＡＰＨＩＣ  ＤＡＴＡ」という名称の同時係属中の米国特許出願シリアルナンバー第０９／４１１，５０６号（１９９９年１０月４日出願、アトーニードケット番号３０５６６．１７ＵＳＣ１）において、より完全に記載され、この出願は、１９９９年１０月１２日発行されたＧｒｅｇｏｒｙ  Ａｎｄｒｅｗ  Ｒｏｙらの「ＶＥＣＴＯＲ−ＢＡＳＥＤ  ＧＥＯＧＲＡＰＨＩＣ  ＤＡＴＡ」という名称の米国特許第５，９６６，１３５号（米国特許出願シリアルナンバー第０８／７５７，７０６号、１９９６年１０月３０日出願）の１部継続特許出願である。
【００３０】
図１は、本発明の１つ以上の実施形態によるアーキテクチャのためのハードウェア環境およびソフトウェア環境を模式的に図示する。通常の分散コンピュータシステム１００は、シン（ｔｈｉｎ）クライアント１０２（例えば、ＰＤＡ、ＷＩＮＣＥまたはＰＡＬＭデバイス）またはシッククライアント１０４（例えば、ブラウザを動作させるコンピュータシステム）等のクライアントを利用する技術者を、サーバコンピュータ１０６に接続するネットワーク／インターネット１１８を用いる。
【００３１】
既存のマップガイドＧＩＳにおいて利用されるようなシッククライアント１０４は、データを取り出すために（例えば、ラスタデータ、空間データフォーマット（ＳＤＦ）データ１２６、属性データ１２８等）、マップガイドサーバ１２０と通信するウェブサーバ１１０と接続されたウェブブラウザ（プラグインまたはビューアで拡張された）を有するコンピュータを含み得る。
【００３２】
シンクライアントは、ハンドヘルドパーソナルコンピュータ（ＨＰＣ）、パームのパーソナルコンピュータ（ＰＰＣまたはＰＤＡ）、およびスマートフォンの３つの等級のデバイスを含む。これらのデバイスを用いて、シンクライアント１０２は、シッククライアント１０４のような全処理およびメモリ能力を提供し得ない。例えば、上記のように、ＰＤＡに関して、シンクライアント１０２は、しばしば、１００Ｋより少ないメモリ、２〜４ＭＢより少ないストレージ、１３ＭＨｚの処理速度、および制限された表示属性を有する。従って、さらなるサーバ１０６の側方支援（例えば、より一般化された表示データ、簡易化されたプロジェクトファイル、デクラッタリング（ｄｅ−ｃｌｕｔｔｅｒｉｎｇ）サービス、および、おそらくユーザ状態のサーバ管理）が利用され得る。典型的なリソースの組み合わせは、インターネット、ＬＡＮ、ＷＡＮ、ＳＮＡネットワーク等を含むネットワーク／インターネット１１８、ＰＤＡ、パーソナルコンピュータまたはワークステーションであるクライアント１０２およびクライアント１０４、およびパーソナルコンピュータ、ワークステーション、ミニコンピュータ、または主要フレームであるサーバ１０６を含み得る。
【００３３】
ネットワーク／インターネット１１８は、適切なソフトウェアアプリケーション１３０を実行するクライアントコンピュータ１０２およびクライアントコンピュータ１０４を、ウェブサーバ１１０、マップガイドサーバ１２０、およびサーブレット１０８を実行するサーバコンピュータ１０６に接続する。マップガイドサーバ１２０およびサーブレット１０８は、ウェブサーバ１１０内か、またはウェブサーバの部分において配置され得る。サーバ１０６およびその構成要素は、バックオフィスシステムとも呼ばれる。そのようなバックオフィスシステムは、企業のデータベース、同期ユーティリティ等へのアクセスを維持する。ウェブサーバ１１０は、通常、ＩＢＭ社のハイパーテキスト転送プロトコル（ＨＴＴＰ）サーバまたはマイクロソフト社のインターネット情報サーバである。サーブレット１０８は、ウェブサーバ１１０を介して、シンクライアント１０２によって必要とされる任意の追加的処理が、サーブレット１０８によって実行され得るように、シンクライアント１０２と通信する。サーブレット１０８は、必要とされるマップデータ／情報を取得するために、マップガイドサーバ１２０と通信する。さらに、サーブレット１０８は、関連するデータを取得するために、マップウィンドウズ（Ｒ）ファイル（ＭＷＦ）１２４にアクセスする。サーバ１０６も、共通ゲートウェイインターフェース（ＣＧＩ）１１２（またはネットスケープアプリケーションプログラミングインターフェース（ＮＳＡＰＩ）、インターネットサーバアプリケーションプログラミングインターフェース（ＩＳＡＰＩ）等）をインプリメントし得、これらは、ウェブサーバ１１０と、関連する地理データ（ＳＤＦデータ、ラスタデータ、オープンデータベースコネクティビティ（ＯＤＢＣ）データ等）をデータベース１１６から取り出すのに利用され得るデータベース管理システム（ＤＢＭＳ）１１４との間を接続する。
【００３４】
通常、構成要素１０８〜１１６および１２０〜１３０は、すべて、デバイス（例えば、データストレージデバイス、データ通信デバイス、リモートコンピュータ、またはネットワークを介して、または別のデータ通信デバイス等を介してコンピュータに結合されるデバイス）、媒体、信号、またはキャリアにおいて実施されるか、あるいはこれらから取り出され得る論理および／またはデータを含む。
【００３５】
従って、本発明の実施形態は、ソフトウェア、ファームウェア、ハードウェアまたはこれらの任意の組み合わせを製作するための、方法、装置、または標準のプログラミング技術および／または工業技術を用いる製造品として実施され得る。本明細書中で使用される「製造品」（または代替的に「コンピュータプログラム製品」）という用語は、コンピュータ読取り可能デバイス、キャリアまたは媒体からアクセス可能な論理および／またはデータを包含することが意図される。
【００３６】
当業者は、この例示的環境に対して、本発明の範囲から逸脱することなく多数の変更がなされることを認識する。例えば、当業者は、上記の構成要素、または、異なった論理、データ、異なった周辺装置、および異なったデバイスを含む、任意の数の異なった構成要素の任意の組み合わせは、同様の機能が果たされる限り、本発明を実施するために用いられ得ることを認識する。特に、当業者は、本発明が任意のデータベース、関連するデータベース管理システム、または周辺デバイスに適用され得ることを認識する。
【００３７】
（ソフトウェアの実施形態）
ハードウェアの説明に従って、シッククライアント１０４は、ウェブブラウザおよび全処理能力を有する完全なコンピュータシステムである。しかしながら、ＰＤＡデバイスのハードウェア制限は、ソフトウェア制限を強いる。従って、ＰＤＡ上で地理情報システムを可能にするために、アプリケーション１３０を実行するシンクライアント１０２が提供される。シンクライアントを収容するために、サーバ１０６上の支援が利用され得る。例えば、サーバ１０６は、より一般化された表示データ、簡易化されたプロジェクトファイル、デクラッタリングサービス、および、おそらくユーザ状態のサーバ管理を提供し得る。
【００３８】
本発明のアーキテクチャは、良好な表示およびダウンロード性能を提供するために、静的ラスタ層（多重層のための静的ラスタデータ）を生ベクトルオブジェクトと組み合わせるデータモデルを含み、さらに、相互に選択可能なオブジェクトを提供する。
【００３９】
ベクトルベースのマップ（「マップ層データ」とも呼ばれ、１つ以上の層のための地理情報／データから構成される）は、サーブレット１０８によって機能され、かつコード化された、地理データの空間的にインデックス付けされたベクトル表現である。そのようなベクトルマップは、クライアント１０２上でフレキシブルなズームを有する、より「インタラクティブ」な表示、強調表示等を提供する。あるいは、ワールドワイドウェブコンソーシアム（Ｗ３Ｃ）によって提示されるようなスケーラブルベクトルグラフィック（ＳＶＧ）表示が利用され得る。ＳＶＧは、ベクトルグラフィック形状（例えば、直線および曲線から構成される経路）、イメージおよびテキストの３タイプのグラフィックオブジェクトを可能にする。グラフィカルオブジェクトは、グループ化され、様式化され、転換され、前に付与されたオブジェクトに合成され得る。
【００４０】
グラフィックデータおよび表示層の表示背景（すなわちラスタベース）は、ラスタタイルの多重ライブラリとして管理される。ラスタ層は、サーブレット１０８上の複数のベクトル層から構成され、結果として、より良好なダウンロードおよび表示性能をもたらす。ＰＤＡ上のラスタマップは、パン（バーチャルローミングパラダイム）、および多重層を横断するズーミングを可能にする。シンクライアント１０２上のスマートキャッシュは、データベースからメモリへのコンパクトタイルのスワッピングを、デバイスに適切な方法で可能にする。マップごとの単一の作業スペースは、シンクライアント１０２上の層のためにマップの定義および表示属性を提供する。
【００４１】
ＰＤＡユーザ（例えば、技術者等）は、紙および鉛筆のメタファ（ｍｅｔａｐｈｏｒ）を用いて、マップ上にメモ書きおよび注釈を作成し得る。そのようなマークアップを収容するために、実施形態は、幾何学的メモ書き（点、線、多角形、記号）、ＧＰＳ（グローバルポジショニングシステム）入力座標、注釈（フォント情報等とともに位置付けられる）、および、マークアップオブジェクトがサーバ１０６を用いる空間データベース１１６に統合され、他のマップ上で表示されるべきマークアップオブジェクトを可能にする地理参照システムから構成されるマークアップオブジェクトを提供する。マークアップシステムは、ユーザ入力をキャプチャし、マークアップオブジェクトがサーバ１０６にアップロードされることを可能にする。さらに、サーバ１０６側における共有レベルは構成可能である（例えば、個人用、集団、グローバル等）。
【００４２】
（アーキテクチャの詳細）
（シンクライアント１０２）
ＰＤＡ等のシンクライアント１０２のユーザは、アプリケーション１３０を用いる地理情報（例えば、マップ等）を表示する。本発明のアーキテクチャは、ウィンドウズ（Ｒ）ＣＥ２．ｘデバイス、および、ビットマップグラフィック（例えば、ＳＹＭＢＩＡＮ、ＭＯＴＯＲＯＬＡ、ＮＯＫＩＡ、ＰＳＩＯＮ）を含むスマートフォンのような様々なシンクライアント１０２を収容する。ＰＤＡ上のＧＩＳのための起動時間は、ＰＤＡ上の他のアプリケーションと比較可能である。さらに、シンクライアント１０２（およびアプリケーション１３０）は、アップロード、または、メジャーリレーショナルデータベース管理システム（ＲＤＢＭＳ）ベンダへのアップロード、またはこれと同期化するために適切なフォーマットでのＧＩＳアプリケーション内から集められた非空間データを格納することが可能にされる。
【００４３】
シンクライアント１０２は、多様なネットアクセスパターンを支援する。例えば、シンクライアント１０２は、バックオフィスシステム（例えば、サーバ１０６）への接続を周期的に（例えば、始動時および／または終了時）、オンデマンド（例えば、ワイヤレスモデムによって）または連続的に有し得る。
【００４４】
図２Ａおよび図２Ｂは、シンクライアント１０２と、サーブレット１０８と、さらなる構成要素との間の対話を図示する。シンクライアント１０２は、ＰＤＡ上のマップモデルを見ること、ＰＤＡ上のマップモデルをナビゲーションすること、およびＰＤＡ上のマップモデルをクエリすることを可能にするサブ構成要素を含むアプリケーション１３０から構成される。シンクライアント１０２およびアプリケーション１３０は、さらに、ビジネス属性１２８の管理、サーブレット１０８との通信、および持続的管理を可能にするサービスを含む。従って、アプリケーション１３０は、シンクライアント１０２上のサブ構成要素（すなわち、サブ構成要素２０２〜２２２および２３８）をまとめて参照する。
【００４５】
適切なマップデータを有するＰＤＡシンクライアント１０２を初期化するために、ユーザは、同期アプリケーション２３８を起動する。同期アプリケーション２３８は、関連するマップデータを有するＰＤＡシンクライアント１０２上のデータベース２２０に格納された同期情報およびマップデータに対して応答可能なＰＤＡシンクライアント１０２上のアプリケーションである。同期アプリケーション２３８は、サーブレット１０８と（ウェブサーバ１１０によって）通信するために、および関連するマップデータを取得するために、ネットサービス２１８を利用する。ネットサービス構成要素２１８は、サーブレット１０８（すなわち図２Ｂのリンクに続いて）との二方向通信（およびデータの交換）のためのサービスを提供する。従って、同期アプリケーション２３８は、マップデータのロケーションを取得するために、サーブレット１０８と通信し得る。従って、同期アプリケーション２３８は、識別されたロケーションからマップデータを取りだす／取得する。
【００４６】
同期アプリケーション２３８においてマップデータを受信すると、持続的サービス２０８は、ＰＤＡカタログデータベース２２０におけるデータ（様々なＩ／Ｏ動作を実行することによって）格納するのに利用される。その後、同期化プロセスは完了する。そのような同期化は、ＰＤＡシンクライアント１０２の構成に依存して、所望される頻度で実行され得る。例えば、シンクライアント１０２がワイヤレスモデムを有する場合、同期化動作は、所望されるときにはいつでも実行され得る。しかしながら、直接接続が必要とされる場合、同期化は、シンクライアント１０２がネットワーク１１８に（またはサーバ１０６に）接続されている間にのみ起こり得る。
【００４７】
マップガイドＰＤＡ構成要素２０２は、ユーザインターフェース（ＵＩ）２０４を提供し、イベントに応答する主要アプリケーションである。ユーザインターフェース構成要素２０４は、ＰＤＡ専用のユーザインターフェース制御のためのプレースホルダである。従って、関連マップデータが、同期アプリケーション２３８を用いて取り出された場合、マップガイドＰＤＡアプリケーション２０２は、ユーザによって初期化され／始動され得る。
【００４８】
マップガイドＰＤＡ構成要素２０２は、動作状態の作業スペース２０６をロードすることを持続的サービス構成要素２０８にリクエストする。動作状態の作業スペース２０６は、マップモデル２１０の定義を提供する／生成する。従って、動作状態の作業スペース２０６は、ＰＤＡ１０２のための従来のマップファイル（マップウィンドウファイル（ＭＷＦ）と呼ばれる）の最小化されたバージョンとして見なされ得る。マップモデル２１０は、マップ層およびマップオブジェクトを維持することおよび操作することに関連するサービスを提供する。
【００４９】
持続的サービス構成要素２０８は、ローカルＰＤＡデータベース（ＰＤＡカタログＤＢ２２０）を用いるデータベース管理サービス（ＯＤＢＭＳ）に基づくオブジェクトを提供することによって、作業スペース２０６をロードする。ＰＤＡカタログＤＢ２２０は、ＰＤＡ上に常駐する地理情報のローカルデータベースである。従って、ＰＤＡカタログＤＢは、ローカルＰＤＡカタログデータベースを収容し、記録操作するためのアプリケーションプログラミングインターフェース（ＡＰＩ）を提供する。
【００５０】
ビュー構成要素２１２は、マップモデル２１０における変更に従い、必要に応じてマップ表示を更新する。ビジネス属性サービス／マネージャー構成要素２１４は、非空間ビジネス属性に関連するサービスを提供する。
【００５１】
クライアント常駐ビューアサービス２１６は、マップモデル構成要素２１０と対話する。クライアント常駐ビューアサービス構成要素２１６は、ビューアサービス構成要素がクライアント１０２またはサーブレット１０８上に常駐することを可能にするフレキシブルアーキテクチャを提供する。これらのサービスは、図２Ａのクライアント常駐ビューアサービス構成要素２１６、および図２Ｂのサーブレット常駐ビューアサービス構成要素２３２の２つの構成要素によって表され得る。クライアント常駐ビューアサービス２１６、およびサーブレット常駐ビューアサービス２３２によって果たされるサービスは、組み合わされ、クライアント１０２またはサーバ１０６上に完全に常駐し得る。すべてのクライアント１０２の構成要素は、ビューアサービスに関するリクエストをクライアント常駐ビューアサービス２１６に送信する。クライアント常駐ビューアサービス構成要素２１６は、必要とされる構成要素がクライアント１０２上で局在的に使用可能である場合にサービスを実行する。必要とされる構成要素がクライアント１０２上で局在的に使用可能でない場合、リクエストは、同期アプリケーション２３８によってサーブレット常駐ビューアサービス２３２に委任され得る。例えば、所与のクライアント構成に関して、ポリライン作図システムがクライアント１０２上で使用可能であり得、バッファリングサービスがサーブレット１０８上で使用可能であり得る。
【００５２】
図３は、本発明の１つ以上の実施形態に従った、ＰＤＡ上のマップガイドアプリケーション２０２等のアプリケーション１３０の起動に関するマップの表示を示すフローチャートである。ステップ３００において、マップガイドＰＤＡ２０２は、起動することを要求される。ステップ３０２において、マップガイドＰＤＡ２０２は、持続的サービス２０８に動作状態の作業スペース２０６をロードする（ローカルＰＤＡデータベース２２０から）ことをリクエストする。ステップ３０４において、作業スペース２０６は、マップ定義を用いて新しいマップモデル２１０を生成する。マップモデル２１０は、ステップ３０６のモデルにおいて層を占有する。ステップ３０６の占有は、持続的サービス２０８を用いることによって、データをステップ３０６ＡにおけるローカルＰＤＡデータベース２２０から取得し、および／またはステップ３０６Ｂにおけるクライアント常駐ビューアサービス２１６へリクエストを伝達することによって実行され得る。クライアント常駐ビューアサービス２１６は、サービスがサーブレット常駐ビューアサービス２３２を必要とすることを決定する場合、クライアント常駐ビューアサービス２１６は、ステップ３０８において、そのリクエストを、同期アプリケーション２３８によってネットサービス２１８に委任する。
【００５３】
ステップ３１０において、任意のダウンロードデータは、ローカルデータベース２２０において持続的サービス２０８を用いて選択的にキャッシュされ得る。モデル２１０は、ステップ３１２における変更を聴取器（ｌｉｓｔｎｅｒ）（ビュー２１２を含む）に通知する。ビュー２１２は、作業スペース２０６から表示属性を取得することによって、かつステップ３１４においてマップ表示を更新することによって、ビューとしてそれ自体を更新する。
【００５４】
マップを見た後、シンクライアント１０２上のユーザは、スタイラスを用いてマップ（すなわち、マップおよび属性データ）を所望のようにマークアップし、またはレッドラインし得る。マークアップデータは、マークアップエンティティに関するピクセルデータを含む。アプリケーション１３０は、ユーザインターフェース２０４を介してユーザからマークアップデータを取得する能力を提供する。アプリケーション１３０は、その後、マークアップデータから構成されるファイルを生成し、ファイルをシンクライアント１０２からサーバ１０６へのアップロードを提供する。ファイルは、ソケット接続を取得し、常駐マップセットのインベントリを取得し、シンクライアント１０２上の常駐マップセットと関連付けられたマークアップデータをサーチし、およびすべての常駐マップデータをサーバ１０６にアップロードすることによって、サーバ１０６にアップロードされる。
【００５５】
上述のように、マークアップエンティティは、マップにマークアップするための様々なメカニズムを提供するマークアップオブジェクトを含み得る。例えば、ユーザは、レッドライン線を描き得、マークアップオブジェクトは、レッドラインオブジェクトである。レッドライン線を描くために、アプリケーション１３０は、新しいレッドラインオブジェクトが選択されたのはいつかを決定し、スタイラスがシンクライアント１０２の画面と接触したままである間、レッドラインオブジェクトにおけるスタイラスの動きをキャプチャする。
【００５６】
別の例において、マークアップデータはメモ書きであり、アプリケーション１３０は、メモ書きブジェクトにおけるマークアップデータを取得するように構成される。メモ書きを挿入する／描くために、アプリケーション１３０は、新しいメモ書きオブジェクトが選択されたのはいつかを決定し、シンクライアント１０２上のマップの表示におけるユーザによるアンカーポイントの選択を受け入れ、シンクライアント１０２上でテキスト入力画面２０４を表示し、ユーザがテキスト入力画面２０４に入力したテキストを受け入れ、そしてアンカーポイントにおいてメモ書きを表すアイコンを表示する。
【００５７】
サーバ１０６上のマークアップデータを収容するために、サーバ１０６は、マップデータおよび属性１２８のデータのためのマークアップデータから構成されるファイルを取得するように構成され、マークアップデータを座標データに変換し、この座標データを用いて、標準データフォーマット（ＳＤＦ）ファイルを取得し、この標準データフォーマット（ＳＤＦ）ファイルは、マークアップデータをマップデータと属性１２８のデータに重ねるために用いられ得る。サーブレット１０８を含むサーバ１０６上の任意の構成要素は、そのような機能を提供する。
【００５８】
（サーブレット１０８）
サーブレット１０６は、ＰＤＡシンクライアント１０２およびアプリケーション１３０によって必要とされる任意の追加的処理に適応する。既存のウェブサーバ１１０の技術およびサーブレット技術を有利に利用するために、サーブレット１０８は、Ｊａｖａ（Ｒ）プログラミング言語を用いて実行され得る。あるいは、Ｊａｖａ（Ｒ）サーブレットのような機能を果たす／提供する任意のプログラミング言語が利用され得る。従って、単一コードストリームは、複数のプラットフォーム上でサーブレット１０８を実行するのに利用される。ウェブサーバ１１０およびサーブレット１０８フレームワークによって提供される制約を超える制約の最小のセットは、スケーラビリティを提供する。例えば、それぞれのクライアント１０２リクエストは、サーブレット１０８の異なったインスタンシエーションによって応答されるという点で自給され得る。
【００５９】
サーブレット１０８は、ウェブサーバ１１０において常駐し得、複数のシンクライアント１０２からマップオブジェクトと関連する空間データおよび属性データのリクエストに、応答する。サーブレット１０８はリクエストを処理し、視覚化およびコード化を実行し、シンクライアント１０２にアクセス可能なロケーションにその結果を配置する。さらに、サーブレット１０８は、マップセットに含まれる１つ以上のマップを識別し得、サーバ１０６から識別された１つ以上のマップのマップデータを取得し、クライアント１０２からのマップデータのリクエストを受信する前にマップデータから構成されるマップセットを生成する。そのようなマップデータの取り出しおよびマップセットの生成は、作業命令（例えば、変更についてのリクエスト、デリート、または作業命令の追加）に関連するリクエストを受信することに応答して、サーブレット１０８によって実行され得る。
【００６０】
さらに、サーブレット１０８は、複数の中央処理ユニットを並列使用して、マップセット（すなわちマップデータ）の取り出しおよび生成を支援し得る。そのような並列処理支援を提供するために、サーブレット１０８は、マップセットにおける１つ以上のマップを識別し、１つ以上のマップデータをサーバ１０６から並列で取得するように、複数の中央処理ユニット上の別個のスレッドを具体化し、マップデータから構成される非常駐のデータベースを構築し、そしてマップデータから構成されるマップセットを非常駐のデータベースを用いて生成する。
【００６１】
図２Ｂは、サーブレット１０８のサブ構成要素を図示する。リクエストブローカ２２４は、複数のクライアント１０２からの（すなわち図２Ａからの）リクエストを認知し、調整し、そのリクエストをクエリプロセッサ２３０に伝達する。クエリプロセッサ２３０は、サーブレット常駐ビューアサービス構成要素２３２によって提供されるサービスを用いて、クエリプログラムを処理する。クエリプロセッサ２３０も、ビジュアライザ構成要素２２８およびエンコーダ構成要素２２６を用いて、クライアント１０２によって送信されるべきか、または取り出されるべきデータのマップ製作デクラッタリングおよびそのコード化を実行する。
【００６２】
サーバ１０６上のマップデータは、マップデータのオブジェクトのための複数のラスタタイルおよびベクトルオブジェクトデータから構成される。ビジュアライザ構成要素２２８は、シンクライアント１０２の表示に対して適切な方法で、データの構成可能なデクラッタリングを実行する。従って、ビジュアライザ２２８は、ベクトルオブジェクトの形状を、ベクトルオブジェクトデータの一部をフィルタリング除去することによって一般化する。エンコーダ構成要素２２６はシンクライアント１０２によって取り出されたオブジェクトを圧縮し、かつコード化する。エンコーダ構成要素２２６は、オブジェクトが配置されるラスタタイルの起点についてオブジェクトのロケーションのオフセットをコード化することによって、オブジェクトのロケーションを差別的にコード化する。さらに、エンコーダ構成要素２２６は、オブジェクトの境界をコード化することによって、空間的に、ベクトルオブジェクトデータをインデックス付けする。
【００６３】
ラスタタイルは、主に横列を用いたフォーマットで格納される。主に横列を用いたフォーマットは、各ラスタタイルに関するインデックスによって追随され、ラスタタイルは、ラスタファイルの格納状態に対応する順序で格納される。インデックスは、一般化されたベクトルオブジェクトデータを含む記録への参照および各ラスタタイルに対するオフセットおよび束縛を含む。
【００６４】
マップデータを一般化し、コード化し、かつ空間的に索引化することによって、シンクライアント１０２は、ポイントによって識別されるオブジェクトを決定し、得、１つ以上のラスタタイルを評価することによってポイントを含むラスタタイルを決定し、ポイントを含むラスタタイル内のオブジェクトの境界を評価して、どのオブジェクトがポイントを含むかを決定する。
【００６５】
サーブレット常駐ビューアサービス構成要素２３２は、ビューアサービスのサーブレット常駐部分を（図２Ａを参照して上述されたように）表し、マップガイドサーバ１２０と通信する。マップガイドサーバ１２０は、ウェブサーバ１１０またはサーバ１０６の構成要素であり得る。
【００６６】
図４は、ネットサービス２１８によって受信されたリクエストに対して、サーブレット１０８がどのように応答するかを図示するフローチャートである。ステップ４００において、ネットサービス２１８は、サーブレット１０８上のリクエストブローカ２２４が新しい層（動的データについての）をダウンロードすることをリクエストする。ステップ４０２において、リクエストブローカ２２４は（必要に応じて、他のクライアント１０２からのリクエストを調整した後）、そのリクエストをクエリプロセッサ２３０に伝達する。クエリプロセッサ２３０は、クエリをサーブレット常駐ビューアサービス２３２に伝達し、ステップ４０４においてその結果を取得する。その結果は、ステップ４０６においてビジュアライザ２２８を用いてデクラッタされ（使用が指定された場合）、ステップ４０８においてエンコーダ２２６を用いて圧縮するためにコード化される。その結果（視覚化およびコード化の後）、または結果が取得され得るロケーションは、ステップ４１０においてクライアントネットサービス２１８に送信される。
【００６７】
図５は、クライアント１０２およびサーブレット１０８が、レポート（例えば、マップ）を示すというリクエストにどのように応答するかをさらに図示するフローチャートである。ステップ５００において、ユーザには、選択されたマップオブジェクトの内容を変更する機会が与えられる。ステップ５０２において、選択されたオブジェクトのキーは、ＰＤＡデータベース２２０に保存される。マップガイドＰＤＡ２０２の状態は、ステップ５０４においてＰＤＡデータベース２２０に保存される。レポートアプリケーション（マップガイドＰＤＡアプリケーション２０２等）が、起動され、選択されたオブジェクトのキーはステップ５０６においてＰＤＡデータベース２２０から読み返される。
【００６８】
ローカルレポートのために、選択されたオブジェクトのビジネス属性は、ステップ５１０においてＰＤＡデータベース２２０から読み出され、レポートはステップ５１２においてフォーマットされ、表示される。より広範なフォーマットサービス（例えば、ＣＯＬＤ  ＦＵＳＩＯＮ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒ）を必要とするか、またはローカルＰＤＡデータベース２２０に格納されないデータを必要とするレポートのために、レポートは、ネットサービス２１８に発信され（同期アプリケーション２３８によって）ステップ５０８においてレポートを取得する。
【００６９】
ユーザがレポートを見終わった後、そしてそのレポートとリンクされたおそらく他のレポートを見終わった後、マップガイドＰＤＡアプリケーション２０２は、ステップ５１４において再起動され、この時、アプリケーション２０２はそれ自体を、最後にセーブされた状態に再記憶する。
【００７０】
（例示的実施）
図６〜図８は、本発明の１つ以上の実施形態による様々な実施／状態を図示する。図６〜図８の実施において、現場で事故（例えば、故障事故）が生じ、現場技術者６０２は、故障事故が起きた場所で修復／作業するために割当て情報を取り出す。技術者６０２は、パーソナル携帯情報端末上の故障が生じた場所のマップデータおよび地理データを取り出し、マップおよび地理データと対話し、更新する。
【００７１】
（現場技術者によるオフィスでの作業）
図６を参照して、故障通知６０６は、バックオフィスシステム６０４のための故障通知イベントを生成する。従って、通知器６００は、故障が発生している現場の場所（例えば、給水主管または街路燈）の損傷発生現場をバックオフィスシステム６０４に通知し、その際、その損傷事故は、処理対象として記録される。故障通知システム６０６は、技術者６０２の活動によって非同期で動作する。
【００７２】
図６は、現場技術者６０２がオフラインで作業する実施を図示し、オフラインで作業され、技術者は１日の始動時および終了時にのみネットアクセスを有する。１日の始動時において、技術者は、ＰＤＡ１０２上の同期アプリケーション２３４を用いるバックオフィスシステム６０４と通信することによって、技術者の割当て情報６０８に関してオフィス６０４でチェックする。割当て情報は、サーブレット１０８に伝達される。サーブレット１０８は、割当て情報について関連情報を取得する。それぞれの割当て情報のために、サーブレット１０８は、バックオフィスシステム６０４からダウンロードされるべき（６１６）マップおよび属性データを取得する。その後、データは（サーブレット１０８によって）ＰＤＡクライアント１０２にアクセス可能なロケーションに配置される。ＰＤＡクライアント１０２は、データをダウンロードし、ローカルＰＤＡデータベース２２０にデータを格納する（図４を参照して説明されるように）。
【００７３】
必要な情報を取得した後、技術者６０２は、ネットワーク１１８から切断する。必要に応じて、技術者６０２は、マップガイドＰＤＡ２０２にアクセスし、１つ以上の層を含む地理情報を取得し、表示する（６１０）。従って、技術者６０２は、関心のある領域のマップを見ることによって、および関連属性データを見ることによって、故障事故６１０（すなわち、水道管の破損等、システムが故障した場合）を位置確認し、検査し得る。従って、技術者６０２は、ＰＤＡアプリケーション２０２を起動し、既存の割当て情報を特定する。応答において、アプリッケーション２０２は、関心のある領域のマップを表示する（すなわち、図５を参照して説明されるように）。マップ上の任意の変更を注意するために、または、割当て情報の状態を更新するために、ＰＤＡアプリケーション２０２は、技術者６０２からの割当て情報と関連する状態情報をキャプチャし、情報をローカルＰＤＡデータベース２２０に格納する（すなわち、更新状態局在的構成要素６１２）。
【００７４】
１日の終了時、ＰＤＡ２０２がオンラインになり、ネットワーク１１８に接続されると、技術者６０２は、同期アプリケーション２３８を用いて、バックオフィスシステム６０４を有するＰＤＡ２０２を同期化し得る。換言すると、技術者６０２は、１日の割当て情報と関連する状態情報を、ネットワーク１１８（すなわち、構成要素６１４）を介して、ローカルＰＤＡデータベース２２０からバックオフィスシステム６０４に転送する。
【００７５】
（ネットワークアクセスを用いる現場技術者）
図７は、現場技術者６０２が、バックオフィスシステム６０４へのオンデマンドネットワーク１１８アクセスを維持する実施を図示する。図６の実施と同様に、故障通知６０６は、バックオフィスシステム６０４のために故障通知イベントを生成する。故障が生じている現場の場所（例えば、給水管または街路燈の破損通知が受信される）に対して、通知器６００は、故障事故がどこであるかをバックオフィスシステム６０４に通知し、これは処理対象として記録され得る。故障通知システム６０６は、技術者６０２の活動によって非同期的に動作する。
【００７６】
技術者６０２を提供するための次の場所（単数または複数）または仕事（単数または複数）を決定する（すなわち、構成要素７０４において）ために、技術者は、ネットワーク１１８を用いて（同期アプリケーション２３８を用いて）バックオフィスシステム６０４と通信し、割当て情報を取得し、それらをＰＤＡ２０２上のＰＤＡカタログ２２０に格納する（図４を参照して説明されるように）。従って、技術者６０２は、同期アプリケーション２３８を用いてバックオフィスシステム６０４と通信することによって、その日の次の割当て情報を取り出す。割当て情報は、サーブレット１０８に伝達される。サーブレット１０８は、割当てについての情報を受信し、バックオフィスシステム６０４からの割当てのために必要なすべてのマップおよび属性データをダウンロードする（すなわち、マップガイドサーバ１２０にアクセスすることによって）（７１０）。ダウンロードされたデータは、その後、ＰＤＡ１０２にアクセス可能なロケーションに配置され、データのロケーションは、同期アプリケーション２３８に提供される。その後、データは、取り出され、ローカルＰＤＡデータベース２２０に格納される。
【００７７】
図６において説明される実施と同様に、故障位置決定構成要素７０６は、関心のある領域のマップを見るため、関連属性データを見るため、および故障事故の位置確認するために利用される。従って、技術者６０２は、マップガイドＰＤＡアプリケーション２０２を起動し、現在の割当て情報を特定する。応答して、アプリケーション２０２は関心のある領域のマップを表示する（図５を参照して説明されるように）。位置決定故障７０６機能をオンライン技術者６０２に提供するために、本発明の実施形態は、ネットワーク１１８を介して取得されたローカルリソースと、リソースの組み合わせを利用する。
【００７８】
マップ（および他の関連データ）を見ることを完了すると、構成要素７０８は、技術者６０２からの割当てに関連する状態情報をキャプチャする性能を提供し、同期アプリケーション２３８を用いて、情報をバックオフィスシステム６０４に転送する（すなわち、状態は、ネットワーク１１８を介して動的に更新される）。従って、故障は、バックオフィスシステム６０４を用いて動的に更新され、同期化され、潜在的に解決される。
【００７９】
（レポートの表示）
図８は、現場技術者６０２が、ＰＤＡ２０２におけるマップ上で選択されたオブジェクトのためにレポートが表示される（８０２）ことをリクエストする実施を図示する（すなわち、図５において説明されるステップ）。レポートリクエストに応答して、ＰＤＡアプリケーション２０２は、選択されたオブジェクト（図５のステップ５０２）の識別番号（ＩＤ）、およびＰＤＡアプリケーション２０２の状態（図５のステップ５０４）をＰＤＡデータベース２２０に保存する。その後、ＰＤＡアプリケーション２０２は、レポートアプリケーション８０４を起動する（図５のステップ５０６）。レポートアプリケーション８０４は、データベース２２０から、選択されたオブジェクトの識別番号を読み出す。
【００８０】
レポートアプリケーション８０４は、その後、ローカル属性を用いて、および性能をフォーマットして、オブジェクトに関するレポートを生成する。バックオフィスシステム６０４にアクセスするネットワーク１１８が無い場合、レポートは、ローカルデータベース２２０におけるビジネス属性に基づいて局在的に確立され、生成される（８０６）（例えば、図５のステップ５１０および５１２）。しかしながら、バックオフィスシステム６０４へのネットワーク１１８のアクセスが使用可能である場合、レポートアプリケーション８０４は、レポートアプリケーションサーバと通信する８０８（例えば、サーブレット常駐ビューアサービス２３２と対話するリクエストブローカを用いて）（すなわち、図５のステップ５０８）。レポートアプリケーションサーバは、動的にフォーマットされたレポート、または、非局在的属性データに基づくレポートのためのネットワーク１１８を横断してクエリを提供する。
【００８１】
リクエストされたレポートを取得すると、レポートアプリケーション８０４は、マップガイドＰＤＡアプリケーション２０２を再起動し、マップガイドＰＤＡアプリケーション２０２は、ＰＤＡデータベース２２０から状態を読み出した後、その前の状態を再記憶する（すなわち、図５のステップ５１４）。
【００８２】
（結論）
ここでは、本発明の１つ以上の実施形態の説明を結論する。以下の記載は、本発明を完成するためのいくつかの代替的実施形態を説明する。
【００８３】
例えば、メインフレーム、ミニコンピュータ、もしくはパーソナルコンピュータ等のパーソナル携帯情報端末の任意のタイプまたはコンピュータ、あるいは、時間共有メインフレーム、ローカルエリアネットワーク、スタンドアロンパーソナルコンピュータ、ＷＩＮＣＥデバイス等のコンピュータ構成は、本発明を用いて使用され得る。
【００８４】
要約すれば、パーソナル携帯情報端末上の地理情報システムが提供され、これは、オンラインおよびオフラインの両方で利用され得る。
【００８５】
本発明の１つ以上の実施形態の上記の説明は、図示および説明する目的のために提供されてきた。網羅的であること、または本発明を開示された厳密な形態に制限することは意図されていない。複数の変更および変形は、上述の教示に照らして可能である。本発明の範囲が、この詳細な説明によって制限されるのではなく、むしろ添付の請求項によって制限されることが意図される。
【図面の簡単な説明】
【図１】  図１は、本発明の１つ以上の実施形態に従った、アーキテクチャのためのハードウェアおよびソフトウェアの環境を模式的に示す図である。
【図２Ａ】  図２Ａは、本発明の１つ以上の実施形態に従った、シンクライアント、サーブレット、およびさらなる構成要素間の対話を示す図である。
【図２Ｂ】  図２Ｂは、本発明の１つ以上の実施形態に従った、シンクライアント、サーブレット、およびさらなる構成要素間の対話を示す図である。
【図３】    図３は、本発明の１つ以上の実施形態に従った、ＰＤＡ上のマップガイドアプリケーションの起動に基づくマップの表示を示すフローチャートである。
【図４】  図４は、本発明の１つ以上の実施形態に従った、クライアントネットサービスからのリクエストにサーブレットがどのように応答するかを示すフローチャートである。
【図５】  図５は、本発明の１つ以上の実施形態に従った、クライアントおよびサーブレットがレポート（例えば、マップ）の表示リクエストにどのように応答するかを示すフローチャートである。
【図６】  図６は、本発明の１つ以上の実施形態に従った、現場技術者はオフラインで作業する実施を示す図であり、技術者は、１日の始動時および終了時においてのみネットアクセスを有する。
【図７】  図７は、本発明の１つ以上の実施形態に従った、現場技術者がバックオフィスシステムへのオンデマンドネットワークアクセスを維持する実施を示す図である。
【図８】  図８は、本発明の１つ以上の実施形態に従った、現場技術者がＰＤＡにおけるマップ上で選択されたオブジェクトに関してレポートが表示されることをリクエストする実施を示す図である。
【図１】
0004810038.tif 000002
【図２Ａ】
0004810038.tif 000003
【図２Ｂ】
0004810038.tif 000004
【図３】
0004810038.tif 000005
【図４】
0004810038.tif 000006
【図５】
0004810038.tif 000007
【図６】
0004810038.tif 000008
【図７】
0004810038.tif 000009
【図８】
0004810038.tif 000010