地図データ処理システム
【課題】地図表示の要求が発生する以前に、地図データを転送しておくことができる地図データ処理システムを得る。
【解決手段】ネットワーク20を通じて接続されたサーバ計算機10とクライアント計算機30を備えた地図データ処理システムであって、サーバ計算機10は、地図データをメッシュ単位で登録している地図データベース11と、前記メッシュ単位の地図データに対応した利用履歴情報を登録している利用履歴データベース12と、前記利用履歴データベースに登録されている利用履歴情報を更新する利用履歴管理部14と、前記クライアント計算機から転送要求のあった地図データの周辺地図データのうち、利用履歴管理部14を介して取得した利用履歴情報に基づいて利用頻度が高く、かつ未転送の地図データを地図データベース11から取得し、非同期にクライアント計算機30へ事前転送する地図データ管理部13とを設けた。
【解決手段】ネットワーク20を通じて接続されたサーバ計算機10とクライアント計算機30を備えた地図データ処理システムであって、サーバ計算機10は、地図データをメッシュ単位で登録している地図データベース11と、前記メッシュ単位の地図データに対応した利用履歴情報を登録している利用履歴データベース12と、前記利用履歴データベースに登録されている利用履歴情報を更新する利用履歴管理部14と、前記クライアント計算機から転送要求のあった地図データの周辺地図データのうち、利用履歴管理部14を介して取得した利用履歴情報に基づいて利用頻度が高く、かつ未転送の地図データを地図データベース11から取得し、非同期にクライアント計算機30へ事前転送する地図データ管理部13とを設けた。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、地図データを管理してネットワークを通じて配信し、ユーザがブラウザを通じて地図を操作できる地図データ処理システムに関するものである。
【背景技術】
【0002】
従来のシステムでは、縮尺の異なる複数の断片画像データが画像サーバからクライアントへ伝送される場合、小縮尺の断片画像データから優先的に伝送される。これにより、小縮尺の画像から大縮尺の画像へと順次に画像が表示されていく。結果として、画像のスクロールや拡大縮小の操作をユーザが行うと速やかに画像の表示が開始され、画像のスクロールや拡大縮小を連続的に円滑に行える(例えば、特許文献1参照)。
【0003】
別の従来のシステムでは、WWWブラウザからの要求に従い、WWWサーバから地図データを転送する際に、WWWブラウザで地図データの受信、展開、表示、操作を非同期に行う(例えば、特許文献2参照)。
【0004】
【特許文献1】特許第3476805号公報(第4頁、図1)
【特許文献2】特開平11−282865号公報(第1頁、図1)
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述したような従来のシステムでは、クライアント計算機が地図表示に必要とする範囲の地図データのみを送信し、また、その送信は、クライアント計算機からの要求があって初めて行われていた。すなわち、クライアント計算機より、地図表示の要求が発生する以前に、地図データを転送しておくことができないという問題点があった。さらに、地図データのユーザの利用履歴を蓄積、利用し、ユーザ嗜好に合った地図データを事前転送することができないという問題点があった。このユーザ嗜好に合ったとは、ユーザ毎の操作の先読みをより的確に判断できるものです。
【0006】
この発明は、上述のような課題を解決するためになされたもので、その目的は、クライアント計算機より、地図表示の要求が発生する以前に、地図データを転送しておくことができ、また、地図データのユーザの利用履歴を蓄積、利用することで、ユーザ嗜好に合った地図データを事前転送することができる地図データ処理システムを得るものである。
【課題を解決するための手段】
【0007】
この発明に係る地図データ処理システムは、ネットワークを通じて接続されたサーバ計算機、及びクライアント計算機を備えた地図データ処理システムであって、前記サーバ計算機は、地図データをメッシュ単位で登録している地図データベースと、前記メッシュ単位の地図データに対応した利用履歴情報を登録している利用履歴データベースと、前記利用履歴データベースに登録されている利用履歴情報を更新する利用履歴管理部と、前記クライアント計算機から転送要求のあった地図データの周辺地図データのうち、前記利用履歴管理部を介して取得した利用履歴情報に基づいて利用頻度が高く、かつ未転送の地図データを前記地図データベースから取得し、非同期に前記クライアント計算機へ転送要求に対して事前に転送する地図データ管理部とを設けたものである。
【発明の効果】
【0008】
この発明に係る地図データ処理システムは、クライアント計算機より、地図表示の要求が発生する以前に、地図データを転送しておくことができ、また、地図データのユーザの利用履歴を蓄積、利用することで、ユーザ嗜好に合った地図データを事前転送することができるという効果を奏する。
【発明を実施するための最良の形態】
【0009】
実施の形態1.
この発明の実施の形態1に係る地図データ処理システムについて図1から図6までを参照しながら説明する。図1は、この発明の実施の形態1に係る地図データ処理システムの全体構成を示す図である。なお、各図中、同一符号は同一又は相当部分を示す。
【0010】
図1において、この実施の形態1に係る地図データ処理システムは、地図データを管理し、送信(転送)するサーバ計算機10と、インターネットなどのネットワーク20を経由して、サーバ計算機10に接続され、地図データを受信し、表示するクライアント計算機30とが設けられている。図1では、図示されていないが、複数のクライアント計算機30が設けられている。
【0011】
サーバ計算機10は、メッシュ単位の地図データを登録している地図データベース11と、ユーザ毎にメッシュ単位の利用履歴マップ(ユーザが過去にどのメッシュを転送要求したかを管理しているマップ)、転送済マップ等を登録している利用履歴データベース12と、地図データベース11から必要な地図データを取得する地図データ管理部13と、利用履歴データベース12を参照し、更新する利用履歴管理部14と、地図データをクライアント計算機30に転送する同期通信部15と、地図データをクライアント計算機30に非同期(転送要求に対する応答ではなく、ランダム)に転送する非同期通信部16とを持っている。
【0012】
地図データ管理部13と利用履歴管理部14が連携することで、利用履歴を元にした地図データの取得を行う機能を実現する。
【0013】
クライアント計算機30は、メッシュ単位の利用履歴を管理するメッシュ管理テーブル31と、メッシュ単位の地図データを登録する地図データキャッシュ32と、地図データを表示装置などのユーザインタフェースに表示する地図表示部33と、地図データを地図データキャッシュ32に登録し、読み出すキャッシュ管理部34と、サーバ計算機10からの地図データを受信する同期通信部35と、サーバ計算機10の非同期通信部16から非同期で送信される地図データを受信するとともに非同期通信部16へ非同期で利用履歴やメッシュ削除情報を送信する非同期通信部36と、表示装置上の表示領域の移動を感知する地図操作入力部37とを持っている。
【0014】
つぎに、この実施の形態1に係る地図データ処理システムの動作について図面を参照しながら説明する。
【0015】
同期通信部35で受信された地図データの一部は、地図表示部33により表示され、キャッシュ管理部34により地図データキャッシュ32に登録される。また、非同期通信部36で受信された地図データは、キャッシュ管理部34により地図データキャッシュ32に登録される。地図データキャッシュ32に登録された地図データは、地図表示部33の要求に基づきキャッシュ管理部34により読み出され、地図表示部33により表示される。転送されてきた地図データは、必ず表示装置上に表示されるわけではなく、その一部が表示される(表示装置枠外にある地図データもある)。
【0016】
図2は、この発明の実施の形態1に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を説明するための図である。また、図3は、この発明の実施の形態1に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を示すフローチャートである。
【0017】
地図データベース11に登録された地図データは、システムで決められた大きさの矩形に分割されて管理される。この矩形を『メッシュ』と呼ぶ。
【0018】
図2(a)は、クライアント計算機30(ユーザ)が過去にどのメッシュを転送要求したかを管理している利用履歴マップの一例である。各メッシュの中の数値(利用履歴ポイント)が高いほど利用頻度が高いことを表す。
【0019】
クライアント計算機30より利用履歴マップの略中央のメッシュ「a」の地図データを転送要求された場合、メッシュ「a」を中心とした周辺地図データの範囲(例えば、5×5個や、3×3個のメッシュ)に対して、地図データ管理部13は、システムで予め決められた閾値(図2(a)では5)以上のメッシュを選定する。図2(a)では、斜線部が選定された転送対象候補メッシュを表わす。図2(a)に示すように、各転送対象候補メッシュは、5以上の利用履歴ポイントを持っている。
【0020】
図2(b)は、クライアント計算機30に転送済みの地図データをメッシュ毎に管理する転送済マップである。文字「済」が記載されているメッシュが転送済みのメッシュを表わす。この転送済マップは、実際には、例えばメッシュ毎に「0」、「1」で管理し、「1」が転送済みを表わす。逆に、「0」が転送済みを表わしてもよい。なお、地図データ管理部13は、利用履歴マップ及び転送済マップを、利用履歴管理部14を通じて利用履歴データベース12から取得する。
【0021】
地図データ管理部13は、図2(a)に示す選定された転送対象候補メッシュ群から、同図(b)に示す転送済みメッシュ群を差し引き、同図(c)に示す転送対象メッシュ群の転送対象マップを生成する。この転送対象メッシュ群に対応する地図データは、利用頻度が高く、クライアント計算機30に現在、転送されていない。
【0022】
地図データ管理部13は、図2(c)に示すメッシュ「a」を除く斜線部分の転送対象メッシュ群の地図データを地図データベース11から取得し、非同期通信部16からネットワーク20を経由して非同期通信部36へ送信(転送)する。また、利用履歴管理部14は、地図データ管理部13からの転送対象メッシュ情報に基づき該当メッシュを転送済みにして転送済マップを更新する。一方、キャッシュ管理部34は、転送されてきた地図データを地図データキャッシュ32に登録し、メッシュ管理テーブル31の該当メッシュに利用履歴ポイントを加点する。
【0023】
そして、クライアント計算機30において、地図表示部33により、転送要求した地図データの周辺地図データを表示するスクロール処理を行うと、高い確率で既に転送済みとなっており、表示処理が高速に実行できる。
【0024】
従来の方式では転送要求される度に地図データを転送していたため、スクロール処理に時間がかかっていた。あるいは、スクロール処理を高速化するため、要求されたメッシュを含む余分な地図データを事前に転送していたため、無駄なネットワーク負荷が発生していた。
【0025】
図3のステップ101において、地図データ管理部13は、地図データ転送要求が発生した時点で、まずは転送要求のあった地図データをメッシュ単位で地図データベース11から取得し、同期通信部15からネットワーク20を経由して同期通信部35へ送信(転送)する。次に、転送要求のあった地図データの周辺地図データの範囲を決定する。なお、この範囲は任意に指定が可能である。
【0026】
次に、ステップ102〜106において、地図データ管理部13は、決定した周辺地図データの範囲内のメッシュについて、利用履歴データベース12に登録されている利用履歴マップ、転送済マップを、利用履歴管理部14を通じて取得し、種々の判定処理を繰返し行い、転送対象メッシュ(周辺地図データ)を決定する。そして、地図データ管理部13は、転送対象メッシュ群の地図データを地図データベース11から取得し、非同期通信部16からネットワーク20を経由して非同期通信部36へ送信(転送)する。判定の詳細は、次の通りである。
【0027】
転送要求のあったユーザについての利用履歴マップの利用履歴ポイントを参照する。次に、システムで予め決められた任意の閾値を用いて、利用履歴ポイントの判定を行い、閾値以上であれば、そのメッシュを転送対象候補とする。最後に、転送済マップを参照して、転送対象候補が、既に転送済みか否かを判定し、未転送であるメッシュを転送対象メッシュ(周辺地図データ)とする。
【0028】
ここで、クライアント計算機30のキャッシュ管理部34の動作について図4〜図6を参照しながら説明する。
【0029】
図4及び図5は、この発明の実施の形態1に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。また、図6は、この発明の実施の形態1に係る地図データ処理システムのキャッシュ管理部の動作を示すフローチャートである。
【0030】
クライアント計算機30のキャッシュ管理部34では、同期通信部15、35や非同期通信部16、36を通じてサーバ計算機10から転送され、表示されたメッシュに加点し、この総加点数、つまり利用履歴ポイントによりクライアント計算機30でのメッシュ管理やサーバ計算機10から転送する地図データを効率よく管理する。また、非同期通信部36及び16により利用履歴情報(メッシュ管理テーブル31の内容)をサーバ計算機10の利用履歴管理部14へ転送する。この利用履歴管理部14は、転送されてきた利用履歴情報に基づき利用履歴データベース12(利用履歴マップ)を更新する。
【0031】
キャッシュ管理部34による、地図データキャッシュ32内のメッシュ管理方式、つまりメッシュ管理テーブルの利用履歴ポイントの加点方式について説明する。
【0032】
図4(a)において、地図データキャッシュ32に登録されたメッシュ単位の地図データを管理するためのメッシュ管理テーブルを表わし、メッシュ管理テーブルのメッシュ全体201は、例えば9×10個のメッシュから構成される。周辺地図データの範囲202は、一例として3×3個のメッシュである。なお、作図上3×3個としたが、サーバ側が5×5個ならば、クライアント側も同じ5×5個で処理を行う。
【0033】
図4(b)において、メッシュ203(メッシュ12)は表示まで行ったもの、メッシュ204(メッシュ01〜03、11、13、21〜23)はサーバ計算機10からクライアント計算機30への転送(読み込み)だけのものを表す。
【0034】
図4(c)において、点線の範囲205は、元の領域で、横スクロール前の状態を表し、実線の範囲206は、横スクロールさせた後の状態を表わす。この時、キャッシュ管理部34は、転送して表示したメッシュに2点、転送しただけのメッシュに1点を加算する。横スクロール時の処理についても同様に各メッシュに加算する。
【0035】
図5(a)において、範囲207は、横スクロール時の加点状況である。範囲208は横スクロール時に表示されたメッシュであり、範囲208の周辺の範囲209は転送だけのメッシュを表す。利用履歴ポイントの高いメッシュは利用頻度が高いものとし、キャッシュ管理部34は利用履歴ポイントの低いメッシュの地図データから地図データキャッシュ32より削除する。例えば、図5(b)に示すように、範囲210のメッシュの地図データだけを残し、それ以外の範囲のメッシュの地図データは地図データキャッシュ32から削除する。また、キャッシュ管理部34は、削除したメッシュ名を含むメッシュ削除情報をサーバ計算機10に転送する。なお、削除のタイミングは、エンドユーザがシステム利用を終了した時や、定期的に実行する。
【0036】
図6のステップ301〜302において、クライアント計算機30から転送要求がでると、サーバ計算機10から必要メッシュの地図データを転送する。すなわち、地図表示部33から同期通信部35を通じて表示すべきメッシュの地図データの転送要求がでると、地図データ管理部13から同期通信部15を通じて必要メッシュの地図データを転送する。さらに、地図データ管理部13は、非同期通信部16を通じて必要メッシュの周辺地図データをキャッシュ管理部34へ転送する。このキャッシュ管理部34は、周辺地図データを地図データキャッシュ32に登録する。
【0037】
次に、ステップ303において、キャッシュ管理部34は、同期通信部15、35や非同期通信部16、36を通じて、転送されたメッシュについては、メッシュ管理テーブルの該当メッシュに利用履歴ポイントを1点加算する。
【0038】
次に、ステップ304において、キャッシュ管理部34は、地図表示部33により表示されたメッシュについては、メッシュ管理テーブルの該当メッシュにさらに利用履歴ポイントを1点加算し、転送されかつ表示されたメッシュは合計2点加算される。
【0039】
そして、ステップ305において、スクロール処理を行うと、転送されていないメッシュについてはクライアント計算機30よりサーバ計算機10へ転送要求がでる。この繰り返しとなる。
【0040】
また、ステップ306において、キャッシュ管理部34は、非同期通信部36及び16を通じて、メッシュ管理テーブル31の内容を、サーバ計算機10の利用履歴管理部14に転送する。なお、サーバ計算機10の利用履歴管理部14から利用履歴ポイントの提供依頼がある場合に転送してもよい。この利用履歴管理部14は、転送されてきたメッシュ管理テーブル31の内容に基づき、利用履歴データベース12の利用履歴マップを更新する。また、キャッシュ管理部34は、地図データキャッシュ32から削除したメッシュ削除情報を利用履歴管理部14に送信する。利用履歴管理部14は、メッシュ削除情報に基づき、利用履歴データベース12の転送済マップを更新する。
【0041】
実施の形態2.
この発明の実施の形態2に係る地図データ処理システムについて図7及び図8を参照しながら説明する。図7は、この発明の実施の形態2に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。また、図8は、この発明の実施の形態2に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を示すフローチャートである。なお、この発明の実施の形態2に係る地図データ処理システムの構成及び基本的動作は、上記実施の形態1と同様である。
【0042】
上記実施の形態1と異なる利用履歴ポイントの加点方式を説明する。
【0043】
この実施の形態2では、表示装置に表示された地図において、任意の方向に移動後、起点となる目標物があるメッシュや終点となる目標物があるメッシュに戻るという、スクロール動作の傾向を利用する。
【0044】
この傾向をメッシュの利用履歴に反映させることを目的として、目標物があるメッシュは通過するだけのメッシュと比較して、表示している時間が長いことに着目した利用履歴ポイントの加点方式を説明する。
【0045】
上記実施の形態1の利用履歴ポイントの加点方式は、転送の頻度をカウントするものであり、転送したメッシュが通過するだけのメッシュであるか、目標物を含むメッシュであるかの判定を実施していない。上記実施の形態1の加点方式では、図7に示すように、移動(スクロール動作)を繰り返した場合、目標物周辺の通過メッシュ(例えば、メッシュe)に利用履歴ポイント(重み)が加算され、目標物のあるメッシュ(例えば、メッシュa、g)の利用履歴ポイントが低くなる可能性がある。
【0046】
この実施の形態2では、表示時間による加点の定義として、「表示時間が1秒未満の場合は通過のみに転送したメッシュとして利用履歴ポイントを0点、表示時間が1秒以上の場合は目標物があるメッシュとして利用履歴ポイントを3点、さらに10秒以上表示した場合は、重要な目標物があるとして利用履歴ポイントを10点」とする。
【0047】
地図の用途(スクロールを多用するか否か)、キャッシュサイズ、1メッシュのデータ量などを考慮して、配点や閾値を定義する。この実施の形態2の利用履歴ポイントの加点方式を採用すると、図7に示すように、目標物を含むメッシュaやgに利用履歴ポイントが多く加点され、再び目標物のメッシュに戻ったときに高速に表示を行うことが可能となる。なお、図7では簡単のため、周辺メッシュの転送を考慮していない。また、表示時間による加点に加えて、通過した回数による加点を加算してもよい。
【0048】
システムの用途によって、目標物へ戻るような操作がない場合は上記実施の形態1の利用履歴ポイントの加点方式を採用し、目標物へ戻る操作がある場合は、本加点方式を採用するというように使い分ける必要がある。
【0049】
クライアント計算機30におけるメッシュの表示時間を利用して、クライアント計算機30に転送した(読み込んだ)メッシュに利用履歴ポイントの加点(重み付け)を行う。この利用履歴ポイントを利用して、クライアント計算機30で地図データキャッシュ32から削除するメッシュの判定、サーバ計算機10から転送する周辺地図データの判定に使用する。
【0050】
図8のステップ401において、キャッシュ管理部34は、スクロールにより新しいメッシュが表示されると、表示時間をカウントしているカウンタが1以上かの判定を行う。なお、カウント値は秒に相当する。1以上の場合、カウンタは、ひとつ前のメッシュの表示時間をカウントし、メッシュ名を保持し、ステップ402へ進む。1未満の場合には、つまり表示時間が1秒未満の場合は通過のみに転送したメッシュとして利用履歴ポイントを0点(何も加点しない。)とし、ステップ405へ進む。
【0051】
ステップ402〜404において、表示時間が1秒以上で10秒未満の場合は目標物があるメッシュとして利用履歴ポイントを3点、さらに10秒以上表示した場合は利用履歴ポイントを10点として該当メッシュへの加点を行う。メッシュ名と利用履歴ポイントはメッシュ管理テーブル31で管理する。
【0052】
次に、ステップ405において、ひとつ前のメッシュの加点が終了すると、カウンタをリセットし、新しいメッシュ名を保持してカウンタをスタートする。
【0053】
次に、ステップ406〜407において、サーバ計算機10から、利用メッシュの情報(利用履歴ポイント)の提供依頼があるかを判定する。依頼があった場合は、メッシュ管理テーブル31から情報を抽出し、サーバ計算機10へ送信する。
【0054】
次に、ステップ408において、表示処理中のメッシュが地図データキャッシュ32内にあるかを判定する。ある場合は、次に転送(読み込み)されてきたメッシュの処理を実施する。
【0055】
次に、ステップ409において、地図データキャッシュ32にない場合は、地図データキャッシュ32の空き領域をチェックする。
【0056】
次に、ステップ410において、地図データキャッシュ32に空き領域がなければ、メッシュ管理テーブル31の利用履歴ポイントを参照して、利用履歴ポイントが低いメッシュの地図データを削除する。
【0057】
そして、ステップ411において、メッシュの削除が終了した後、または、空き領域があった場合は、地図データキャッシュ32にメッシュを追加する。
【0058】
実施の形態3.
この発明の実施の形態3に係る地図データ処理システムについて図9から図13までを参照しながら説明する。図9は、この発明の実施の形態3に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。図10は、この発明の実施の形態3に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を示すフローチャートである。また、図11及び図12は、この発明の実施の形態3に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を説明するための図である。図13は、この発明の実施の形態3に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を示すフローチャートである。なお、この発明の実施の形態3に係る地図データ処理システムの構成及び基本的動作は、上記実施の形態1と同様である。
【0059】
上記実施の形態1では、地図データは、表示領域などの一定の矩形領域に含まれる地図データをメッシュ単位でメモリ上にロードし、プログラムで利用する形態であった。
【0060】
読み込み(転送)時のメッシュ範囲の判定に使用される矩形領域は、画面表示領域である矩形(もしくは一定の重みで拡大した矩形)とメッシュの矩形の包含の関係により判定したが、矩形範囲で読み込みを予測してもほとんどのメッシュが利用されず破棄される。このようなメッシュの先読みは、メッシュ境界線上のスクロール操作時にメッシュのロード・アンロードが頻発し、操作性が悪化することを防止するが、不要なメッシュ読み込みはメモリリソースを圧迫し、また不要なメッシュの読み込み処理・破棄処理のため、処理コストが増大していた。
【0061】
上記実施の形態1及び2と異なる利用履歴ポイントの加点方式を説明する。
【0062】
図9(a)〜(c)は、メッシュと画面スクロール操作時のポインタの移動方向を、周辺メッシュと直接関連付けられる8方向のベクトルに変換し、ベクトルの強さ(大きさ)に応じてメッシュ管理テーブル31に利用履歴ポイントの加点を行う処理の概要を表わす。
【0063】
まず、図10のステップ501において、キャッシュ管理部34は、地図表示部33を介して地図操作入力部37から画面表示領域変更(スクロール)に関する情報を取得する。この情報は画面表示領域の任意の始点から任意の終点へのベクトル情報(図9(a)の「ベクトル001」)として取得される。
【0064】
次に、ステップ502〜503において、表示領域移動を示す「ベクトル001」の始点が存在するメッシュをメッシュ管理テーブル31から取得する。そして、この「ベクトル001」を、「ベクトル001」の始点を含むメッシュの中心点からのベクトルに補正(平行移動)する。表示領域移動のベクトルは、たとえばメッシュの右端などで操作される可能性があり、ベクトルを単純に記録すると、始点がばらばらのベクトルが散在することとなります。このままでは複数回の表示領域移動のベクトルを集計しにくいため、メッシュ中心点からのベクトルに分解し、メッシュ中心点からの8方向の代表ベクトルと集計することで、1メッシュあたり8方向のベクトルの記録だけで済み、8方向のメッシュに対する対応付けが簡単になる。また、分解の方式は、1方向〜2方向の代表ベクトルに分解する。
【0065】
次に、ステップ504〜505において、キャッシュ管理部34は、メッシュ中心を始点とした「ベクトル002」をさらに8方向のベクトル(0度、45度、90度、135度、180度、225度、270度、315度、360度の8方向)に分解し、移動量、つまり8方向のベクトルの強さを利用履歴ポイントとしてメッシュ管理テーブル31に蓄積する。
【0066】
図9(b)は、「ベクトル002」を8方向の代表ベクトルに分解した様子(8方向の代表ベクトルの強さは、分解後、代表ベクトルと適合した方向の回数である。)を示す。
【0067】
図9(c)は、8方向のベクトルの強さ(大きさ)順に、周辺メッシュの順位付けの様子を示す。45度方向の代表ベクトルの大きさが1番なので、周辺メッシュのうち、左上隅のメッシュが第1の順位になっている。順位の高い順に利用履歴ポイントとして高い点から低い点を加点する。例えば、順位が1番(ベクトルの大きさが1番)の左上隅のメッシュには、利用履歴ポイントとして8点加点する。順位が8番のメッシュには、利用履歴ポイントとして1点加点する。
【0068】
ここで、上記実施の形態1と異なる地図データ管理部13の動作を説明する。なお、地図データ管理部13は、上記実施の形態1の動作と同じでも構わない。
【0069】
図11の(a)→(b)の遷移の場合、1世代(1スクロール操作)の単純な先読み(地図データの事前転送)だと(c)中の(1)〜(7)(丸数字の記号を使用できないため括弧の記号を使用している)までを非同期で読み込むこととなるが、その後メッシュ33を中心になるように移動した場合(d)に示す先読み範囲となり、直前に読まれた(c)の(4)〜(6)が使用されず破棄される。またこの場合、メッシュ移動毎に不要なメッシュの破棄と、新規先読み範囲の読み込みが毎回動作することとなり、処理コストが非常に高くなる。
【0070】
地図データ管理部13は、n世代(n≧1の整数)分の表示領域移動を示す第1ベクトルから第nベクトルまでを、メッシュ単位に利用世代で重みをつけ、n世代までの操作で読み込まれる可能性をメッシュに対する利用履歴情報(スコア)で表現する。この利用履歴情報に基づいて、n世代先の操作を予測した地図データを地図データベース11から取得し、非同期にクライアント計算機30へ事前転送する。地図データ管理部13は、n操作先の先読みを予測し(図12(a))、以後読み込む可能性の高いメッシュ順に非同期通信部16に対して非同期読み込みを順次実行する(図12(b))。
【0071】
まず、図13のステップ601において、地図データ管理部13は、図11(b)に示すように、画面表示領域と新規に重なったメッシュ(メッシュ32)に対して先読み方向の情報を収集する。この先読み方向の情報として、図11(c)に示すような、利用履歴マップを取得する。この利用履歴マップでは、メッシュ33が丸数字1として利用履歴ポイントが1番高いことを示す。
【0072】
次に、ステップ602〜605において、図12(a)に示すように、予測する世代数を超えない場合に、対象メッシュの先読みの順位付け情報を取得し、世代の重み付けの係数(1.0−0.1*(予測世代数))を求め、世代の重み付けの係数を掛けて先読みの順位のポイントに加算する。ステップ603で取得されるメッシュ管理情報は、ネットワーク20を経由して、クライアント計算機30のキャッシュ管理部34下で保存されているものである。また、ステップ603で取得されるメッシュ管理情報は、図10のステップ505で出力されたメッシュ管理情報だけに対応する。上記の重み付けの係数を求める式は、予測世代数として、10世代を前提にしたものです。全体m世代(m≧1且つm≦n)時のn世代(n≧1)先の予測時は、重み付けの係数は(1.0−1/m*n)となる。
【0073】
次に、ステップ606〜607において、次世代の予測は、先読みのポイント順位がトップのメッシュに対して行い、これをn(n≧1)世代分繰り返す。
【0074】
次に、ステップ608〜609において、最終的に累積されたポイントには世代の重み付けと、対象メッシュからどちらの方向へ移動するかの重みが累積されており、所定の閾値(例えば、5ポイント)以上のポイントの高い順に、非同期通信部16へ転送を行うよう指示を発行することで、n世代先の操作を予測した先読みが可能となる。なお、上記各実施の形態ではポイントの加点方式について説明したが、所定のポイントから減点していくポイントの減点方式でもよい。
【図面の簡単な説明】
【0075】
【図1】この発明の実施の形態1に係る地図データ処理システムの全体構成を示す図である。
【図2】この発明の実施の形態1に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を説明するための図である。
【図3】この発明の実施の形態1に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を示すフローチャートである。
【図4】この発明の実施の形態1に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。
【図5】この発明の実施の形態1に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。
【図6】この発明の実施の形態1に係る地図データ処理システムのキャッシュ管理部の動作を示すフローチャートである。
【図7】この発明の実施の形態2に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。
【図8】この発明の実施の形態2に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を示すフローチャートである。
【図9】この発明の実施の形態3に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。
【図10】この発明の実施の形態3に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を示すフローチャートである。
【図11】この発明の実施の形態3に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を説明するための図である。
【図12】この発明の実施の形態3に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を説明するための図である。
【図13】この発明の実施の形態3に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を示すフローチャートである。
【符号の説明】
【0076】
10 サーバ計算機、11 地図データベース、12 利用履歴データベース、13 地図データ管理部、14 利用履歴管理部、15 同期通信部、16 非同期通信部、20 ネットワーク、30 クライアント計算機、31 メッシュ管理テーブル、32 地図データキャッシュ、33 地図表示部、34 キャッシュ管理部、35 同期通信部、36 非同期通信部。
【技術分野】
【0001】
この発明は、地図データを管理してネットワークを通じて配信し、ユーザがブラウザを通じて地図を操作できる地図データ処理システムに関するものである。
【背景技術】
【0002】
従来のシステムでは、縮尺の異なる複数の断片画像データが画像サーバからクライアントへ伝送される場合、小縮尺の断片画像データから優先的に伝送される。これにより、小縮尺の画像から大縮尺の画像へと順次に画像が表示されていく。結果として、画像のスクロールや拡大縮小の操作をユーザが行うと速やかに画像の表示が開始され、画像のスクロールや拡大縮小を連続的に円滑に行える(例えば、特許文献1参照)。
【0003】
別の従来のシステムでは、WWWブラウザからの要求に従い、WWWサーバから地図データを転送する際に、WWWブラウザで地図データの受信、展開、表示、操作を非同期に行う(例えば、特許文献2参照)。
【0004】
【特許文献1】特許第3476805号公報(第4頁、図1)
【特許文献2】特開平11−282865号公報(第1頁、図1)
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述したような従来のシステムでは、クライアント計算機が地図表示に必要とする範囲の地図データのみを送信し、また、その送信は、クライアント計算機からの要求があって初めて行われていた。すなわち、クライアント計算機より、地図表示の要求が発生する以前に、地図データを転送しておくことができないという問題点があった。さらに、地図データのユーザの利用履歴を蓄積、利用し、ユーザ嗜好に合った地図データを事前転送することができないという問題点があった。このユーザ嗜好に合ったとは、ユーザ毎の操作の先読みをより的確に判断できるものです。
【0006】
この発明は、上述のような課題を解決するためになされたもので、その目的は、クライアント計算機より、地図表示の要求が発生する以前に、地図データを転送しておくことができ、また、地図データのユーザの利用履歴を蓄積、利用することで、ユーザ嗜好に合った地図データを事前転送することができる地図データ処理システムを得るものである。
【課題を解決するための手段】
【0007】
この発明に係る地図データ処理システムは、ネットワークを通じて接続されたサーバ計算機、及びクライアント計算機を備えた地図データ処理システムであって、前記サーバ計算機は、地図データをメッシュ単位で登録している地図データベースと、前記メッシュ単位の地図データに対応した利用履歴情報を登録している利用履歴データベースと、前記利用履歴データベースに登録されている利用履歴情報を更新する利用履歴管理部と、前記クライアント計算機から転送要求のあった地図データの周辺地図データのうち、前記利用履歴管理部を介して取得した利用履歴情報に基づいて利用頻度が高く、かつ未転送の地図データを前記地図データベースから取得し、非同期に前記クライアント計算機へ転送要求に対して事前に転送する地図データ管理部とを設けたものである。
【発明の効果】
【0008】
この発明に係る地図データ処理システムは、クライアント計算機より、地図表示の要求が発生する以前に、地図データを転送しておくことができ、また、地図データのユーザの利用履歴を蓄積、利用することで、ユーザ嗜好に合った地図データを事前転送することができるという効果を奏する。
【発明を実施するための最良の形態】
【0009】
実施の形態1.
この発明の実施の形態1に係る地図データ処理システムについて図1から図6までを参照しながら説明する。図1は、この発明の実施の形態1に係る地図データ処理システムの全体構成を示す図である。なお、各図中、同一符号は同一又は相当部分を示す。
【0010】
図1において、この実施の形態1に係る地図データ処理システムは、地図データを管理し、送信(転送)するサーバ計算機10と、インターネットなどのネットワーク20を経由して、サーバ計算機10に接続され、地図データを受信し、表示するクライアント計算機30とが設けられている。図1では、図示されていないが、複数のクライアント計算機30が設けられている。
【0011】
サーバ計算機10は、メッシュ単位の地図データを登録している地図データベース11と、ユーザ毎にメッシュ単位の利用履歴マップ(ユーザが過去にどのメッシュを転送要求したかを管理しているマップ)、転送済マップ等を登録している利用履歴データベース12と、地図データベース11から必要な地図データを取得する地図データ管理部13と、利用履歴データベース12を参照し、更新する利用履歴管理部14と、地図データをクライアント計算機30に転送する同期通信部15と、地図データをクライアント計算機30に非同期(転送要求に対する応答ではなく、ランダム)に転送する非同期通信部16とを持っている。
【0012】
地図データ管理部13と利用履歴管理部14が連携することで、利用履歴を元にした地図データの取得を行う機能を実現する。
【0013】
クライアント計算機30は、メッシュ単位の利用履歴を管理するメッシュ管理テーブル31と、メッシュ単位の地図データを登録する地図データキャッシュ32と、地図データを表示装置などのユーザインタフェースに表示する地図表示部33と、地図データを地図データキャッシュ32に登録し、読み出すキャッシュ管理部34と、サーバ計算機10からの地図データを受信する同期通信部35と、サーバ計算機10の非同期通信部16から非同期で送信される地図データを受信するとともに非同期通信部16へ非同期で利用履歴やメッシュ削除情報を送信する非同期通信部36と、表示装置上の表示領域の移動を感知する地図操作入力部37とを持っている。
【0014】
つぎに、この実施の形態1に係る地図データ処理システムの動作について図面を参照しながら説明する。
【0015】
同期通信部35で受信された地図データの一部は、地図表示部33により表示され、キャッシュ管理部34により地図データキャッシュ32に登録される。また、非同期通信部36で受信された地図データは、キャッシュ管理部34により地図データキャッシュ32に登録される。地図データキャッシュ32に登録された地図データは、地図表示部33の要求に基づきキャッシュ管理部34により読み出され、地図表示部33により表示される。転送されてきた地図データは、必ず表示装置上に表示されるわけではなく、その一部が表示される(表示装置枠外にある地図データもある)。
【0016】
図2は、この発明の実施の形態1に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を説明するための図である。また、図3は、この発明の実施の形態1に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を示すフローチャートである。
【0017】
地図データベース11に登録された地図データは、システムで決められた大きさの矩形に分割されて管理される。この矩形を『メッシュ』と呼ぶ。
【0018】
図2(a)は、クライアント計算機30(ユーザ)が過去にどのメッシュを転送要求したかを管理している利用履歴マップの一例である。各メッシュの中の数値(利用履歴ポイント)が高いほど利用頻度が高いことを表す。
【0019】
クライアント計算機30より利用履歴マップの略中央のメッシュ「a」の地図データを転送要求された場合、メッシュ「a」を中心とした周辺地図データの範囲(例えば、5×5個や、3×3個のメッシュ)に対して、地図データ管理部13は、システムで予め決められた閾値(図2(a)では5)以上のメッシュを選定する。図2(a)では、斜線部が選定された転送対象候補メッシュを表わす。図2(a)に示すように、各転送対象候補メッシュは、5以上の利用履歴ポイントを持っている。
【0020】
図2(b)は、クライアント計算機30に転送済みの地図データをメッシュ毎に管理する転送済マップである。文字「済」が記載されているメッシュが転送済みのメッシュを表わす。この転送済マップは、実際には、例えばメッシュ毎に「0」、「1」で管理し、「1」が転送済みを表わす。逆に、「0」が転送済みを表わしてもよい。なお、地図データ管理部13は、利用履歴マップ及び転送済マップを、利用履歴管理部14を通じて利用履歴データベース12から取得する。
【0021】
地図データ管理部13は、図2(a)に示す選定された転送対象候補メッシュ群から、同図(b)に示す転送済みメッシュ群を差し引き、同図(c)に示す転送対象メッシュ群の転送対象マップを生成する。この転送対象メッシュ群に対応する地図データは、利用頻度が高く、クライアント計算機30に現在、転送されていない。
【0022】
地図データ管理部13は、図2(c)に示すメッシュ「a」を除く斜線部分の転送対象メッシュ群の地図データを地図データベース11から取得し、非同期通信部16からネットワーク20を経由して非同期通信部36へ送信(転送)する。また、利用履歴管理部14は、地図データ管理部13からの転送対象メッシュ情報に基づき該当メッシュを転送済みにして転送済マップを更新する。一方、キャッシュ管理部34は、転送されてきた地図データを地図データキャッシュ32に登録し、メッシュ管理テーブル31の該当メッシュに利用履歴ポイントを加点する。
【0023】
そして、クライアント計算機30において、地図表示部33により、転送要求した地図データの周辺地図データを表示するスクロール処理を行うと、高い確率で既に転送済みとなっており、表示処理が高速に実行できる。
【0024】
従来の方式では転送要求される度に地図データを転送していたため、スクロール処理に時間がかかっていた。あるいは、スクロール処理を高速化するため、要求されたメッシュを含む余分な地図データを事前に転送していたため、無駄なネットワーク負荷が発生していた。
【0025】
図3のステップ101において、地図データ管理部13は、地図データ転送要求が発生した時点で、まずは転送要求のあった地図データをメッシュ単位で地図データベース11から取得し、同期通信部15からネットワーク20を経由して同期通信部35へ送信(転送)する。次に、転送要求のあった地図データの周辺地図データの範囲を決定する。なお、この範囲は任意に指定が可能である。
【0026】
次に、ステップ102〜106において、地図データ管理部13は、決定した周辺地図データの範囲内のメッシュについて、利用履歴データベース12に登録されている利用履歴マップ、転送済マップを、利用履歴管理部14を通じて取得し、種々の判定処理を繰返し行い、転送対象メッシュ(周辺地図データ)を決定する。そして、地図データ管理部13は、転送対象メッシュ群の地図データを地図データベース11から取得し、非同期通信部16からネットワーク20を経由して非同期通信部36へ送信(転送)する。判定の詳細は、次の通りである。
【0027】
転送要求のあったユーザについての利用履歴マップの利用履歴ポイントを参照する。次に、システムで予め決められた任意の閾値を用いて、利用履歴ポイントの判定を行い、閾値以上であれば、そのメッシュを転送対象候補とする。最後に、転送済マップを参照して、転送対象候補が、既に転送済みか否かを判定し、未転送であるメッシュを転送対象メッシュ(周辺地図データ)とする。
【0028】
ここで、クライアント計算機30のキャッシュ管理部34の動作について図4〜図6を参照しながら説明する。
【0029】
図4及び図5は、この発明の実施の形態1に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。また、図6は、この発明の実施の形態1に係る地図データ処理システムのキャッシュ管理部の動作を示すフローチャートである。
【0030】
クライアント計算機30のキャッシュ管理部34では、同期通信部15、35や非同期通信部16、36を通じてサーバ計算機10から転送され、表示されたメッシュに加点し、この総加点数、つまり利用履歴ポイントによりクライアント計算機30でのメッシュ管理やサーバ計算機10から転送する地図データを効率よく管理する。また、非同期通信部36及び16により利用履歴情報(メッシュ管理テーブル31の内容)をサーバ計算機10の利用履歴管理部14へ転送する。この利用履歴管理部14は、転送されてきた利用履歴情報に基づき利用履歴データベース12(利用履歴マップ)を更新する。
【0031】
キャッシュ管理部34による、地図データキャッシュ32内のメッシュ管理方式、つまりメッシュ管理テーブルの利用履歴ポイントの加点方式について説明する。
【0032】
図4(a)において、地図データキャッシュ32に登録されたメッシュ単位の地図データを管理するためのメッシュ管理テーブルを表わし、メッシュ管理テーブルのメッシュ全体201は、例えば9×10個のメッシュから構成される。周辺地図データの範囲202は、一例として3×3個のメッシュである。なお、作図上3×3個としたが、サーバ側が5×5個ならば、クライアント側も同じ5×5個で処理を行う。
【0033】
図4(b)において、メッシュ203(メッシュ12)は表示まで行ったもの、メッシュ204(メッシュ01〜03、11、13、21〜23)はサーバ計算機10からクライアント計算機30への転送(読み込み)だけのものを表す。
【0034】
図4(c)において、点線の範囲205は、元の領域で、横スクロール前の状態を表し、実線の範囲206は、横スクロールさせた後の状態を表わす。この時、キャッシュ管理部34は、転送して表示したメッシュに2点、転送しただけのメッシュに1点を加算する。横スクロール時の処理についても同様に各メッシュに加算する。
【0035】
図5(a)において、範囲207は、横スクロール時の加点状況である。範囲208は横スクロール時に表示されたメッシュであり、範囲208の周辺の範囲209は転送だけのメッシュを表す。利用履歴ポイントの高いメッシュは利用頻度が高いものとし、キャッシュ管理部34は利用履歴ポイントの低いメッシュの地図データから地図データキャッシュ32より削除する。例えば、図5(b)に示すように、範囲210のメッシュの地図データだけを残し、それ以外の範囲のメッシュの地図データは地図データキャッシュ32から削除する。また、キャッシュ管理部34は、削除したメッシュ名を含むメッシュ削除情報をサーバ計算機10に転送する。なお、削除のタイミングは、エンドユーザがシステム利用を終了した時や、定期的に実行する。
【0036】
図6のステップ301〜302において、クライアント計算機30から転送要求がでると、サーバ計算機10から必要メッシュの地図データを転送する。すなわち、地図表示部33から同期通信部35を通じて表示すべきメッシュの地図データの転送要求がでると、地図データ管理部13から同期通信部15を通じて必要メッシュの地図データを転送する。さらに、地図データ管理部13は、非同期通信部16を通じて必要メッシュの周辺地図データをキャッシュ管理部34へ転送する。このキャッシュ管理部34は、周辺地図データを地図データキャッシュ32に登録する。
【0037】
次に、ステップ303において、キャッシュ管理部34は、同期通信部15、35や非同期通信部16、36を通じて、転送されたメッシュについては、メッシュ管理テーブルの該当メッシュに利用履歴ポイントを1点加算する。
【0038】
次に、ステップ304において、キャッシュ管理部34は、地図表示部33により表示されたメッシュについては、メッシュ管理テーブルの該当メッシュにさらに利用履歴ポイントを1点加算し、転送されかつ表示されたメッシュは合計2点加算される。
【0039】
そして、ステップ305において、スクロール処理を行うと、転送されていないメッシュについてはクライアント計算機30よりサーバ計算機10へ転送要求がでる。この繰り返しとなる。
【0040】
また、ステップ306において、キャッシュ管理部34は、非同期通信部36及び16を通じて、メッシュ管理テーブル31の内容を、サーバ計算機10の利用履歴管理部14に転送する。なお、サーバ計算機10の利用履歴管理部14から利用履歴ポイントの提供依頼がある場合に転送してもよい。この利用履歴管理部14は、転送されてきたメッシュ管理テーブル31の内容に基づき、利用履歴データベース12の利用履歴マップを更新する。また、キャッシュ管理部34は、地図データキャッシュ32から削除したメッシュ削除情報を利用履歴管理部14に送信する。利用履歴管理部14は、メッシュ削除情報に基づき、利用履歴データベース12の転送済マップを更新する。
【0041】
実施の形態2.
この発明の実施の形態2に係る地図データ処理システムについて図7及び図8を参照しながら説明する。図7は、この発明の実施の形態2に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。また、図8は、この発明の実施の形態2に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を示すフローチャートである。なお、この発明の実施の形態2に係る地図データ処理システムの構成及び基本的動作は、上記実施の形態1と同様である。
【0042】
上記実施の形態1と異なる利用履歴ポイントの加点方式を説明する。
【0043】
この実施の形態2では、表示装置に表示された地図において、任意の方向に移動後、起点となる目標物があるメッシュや終点となる目標物があるメッシュに戻るという、スクロール動作の傾向を利用する。
【0044】
この傾向をメッシュの利用履歴に反映させることを目的として、目標物があるメッシュは通過するだけのメッシュと比較して、表示している時間が長いことに着目した利用履歴ポイントの加点方式を説明する。
【0045】
上記実施の形態1の利用履歴ポイントの加点方式は、転送の頻度をカウントするものであり、転送したメッシュが通過するだけのメッシュであるか、目標物を含むメッシュであるかの判定を実施していない。上記実施の形態1の加点方式では、図7に示すように、移動(スクロール動作)を繰り返した場合、目標物周辺の通過メッシュ(例えば、メッシュe)に利用履歴ポイント(重み)が加算され、目標物のあるメッシュ(例えば、メッシュa、g)の利用履歴ポイントが低くなる可能性がある。
【0046】
この実施の形態2では、表示時間による加点の定義として、「表示時間が1秒未満の場合は通過のみに転送したメッシュとして利用履歴ポイントを0点、表示時間が1秒以上の場合は目標物があるメッシュとして利用履歴ポイントを3点、さらに10秒以上表示した場合は、重要な目標物があるとして利用履歴ポイントを10点」とする。
【0047】
地図の用途(スクロールを多用するか否か)、キャッシュサイズ、1メッシュのデータ量などを考慮して、配点や閾値を定義する。この実施の形態2の利用履歴ポイントの加点方式を採用すると、図7に示すように、目標物を含むメッシュaやgに利用履歴ポイントが多く加点され、再び目標物のメッシュに戻ったときに高速に表示を行うことが可能となる。なお、図7では簡単のため、周辺メッシュの転送を考慮していない。また、表示時間による加点に加えて、通過した回数による加点を加算してもよい。
【0048】
システムの用途によって、目標物へ戻るような操作がない場合は上記実施の形態1の利用履歴ポイントの加点方式を採用し、目標物へ戻る操作がある場合は、本加点方式を採用するというように使い分ける必要がある。
【0049】
クライアント計算機30におけるメッシュの表示時間を利用して、クライアント計算機30に転送した(読み込んだ)メッシュに利用履歴ポイントの加点(重み付け)を行う。この利用履歴ポイントを利用して、クライアント計算機30で地図データキャッシュ32から削除するメッシュの判定、サーバ計算機10から転送する周辺地図データの判定に使用する。
【0050】
図8のステップ401において、キャッシュ管理部34は、スクロールにより新しいメッシュが表示されると、表示時間をカウントしているカウンタが1以上かの判定を行う。なお、カウント値は秒に相当する。1以上の場合、カウンタは、ひとつ前のメッシュの表示時間をカウントし、メッシュ名を保持し、ステップ402へ進む。1未満の場合には、つまり表示時間が1秒未満の場合は通過のみに転送したメッシュとして利用履歴ポイントを0点(何も加点しない。)とし、ステップ405へ進む。
【0051】
ステップ402〜404において、表示時間が1秒以上で10秒未満の場合は目標物があるメッシュとして利用履歴ポイントを3点、さらに10秒以上表示した場合は利用履歴ポイントを10点として該当メッシュへの加点を行う。メッシュ名と利用履歴ポイントはメッシュ管理テーブル31で管理する。
【0052】
次に、ステップ405において、ひとつ前のメッシュの加点が終了すると、カウンタをリセットし、新しいメッシュ名を保持してカウンタをスタートする。
【0053】
次に、ステップ406〜407において、サーバ計算機10から、利用メッシュの情報(利用履歴ポイント)の提供依頼があるかを判定する。依頼があった場合は、メッシュ管理テーブル31から情報を抽出し、サーバ計算機10へ送信する。
【0054】
次に、ステップ408において、表示処理中のメッシュが地図データキャッシュ32内にあるかを判定する。ある場合は、次に転送(読み込み)されてきたメッシュの処理を実施する。
【0055】
次に、ステップ409において、地図データキャッシュ32にない場合は、地図データキャッシュ32の空き領域をチェックする。
【0056】
次に、ステップ410において、地図データキャッシュ32に空き領域がなければ、メッシュ管理テーブル31の利用履歴ポイントを参照して、利用履歴ポイントが低いメッシュの地図データを削除する。
【0057】
そして、ステップ411において、メッシュの削除が終了した後、または、空き領域があった場合は、地図データキャッシュ32にメッシュを追加する。
【0058】
実施の形態3.
この発明の実施の形態3に係る地図データ処理システムについて図9から図13までを参照しながら説明する。図9は、この発明の実施の形態3に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。図10は、この発明の実施の形態3に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を示すフローチャートである。また、図11及び図12は、この発明の実施の形態3に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を説明するための図である。図13は、この発明の実施の形態3に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を示すフローチャートである。なお、この発明の実施の形態3に係る地図データ処理システムの構成及び基本的動作は、上記実施の形態1と同様である。
【0059】
上記実施の形態1では、地図データは、表示領域などの一定の矩形領域に含まれる地図データをメッシュ単位でメモリ上にロードし、プログラムで利用する形態であった。
【0060】
読み込み(転送)時のメッシュ範囲の判定に使用される矩形領域は、画面表示領域である矩形(もしくは一定の重みで拡大した矩形)とメッシュの矩形の包含の関係により判定したが、矩形範囲で読み込みを予測してもほとんどのメッシュが利用されず破棄される。このようなメッシュの先読みは、メッシュ境界線上のスクロール操作時にメッシュのロード・アンロードが頻発し、操作性が悪化することを防止するが、不要なメッシュ読み込みはメモリリソースを圧迫し、また不要なメッシュの読み込み処理・破棄処理のため、処理コストが増大していた。
【0061】
上記実施の形態1及び2と異なる利用履歴ポイントの加点方式を説明する。
【0062】
図9(a)〜(c)は、メッシュと画面スクロール操作時のポインタの移動方向を、周辺メッシュと直接関連付けられる8方向のベクトルに変換し、ベクトルの強さ(大きさ)に応じてメッシュ管理テーブル31に利用履歴ポイントの加点を行う処理の概要を表わす。
【0063】
まず、図10のステップ501において、キャッシュ管理部34は、地図表示部33を介して地図操作入力部37から画面表示領域変更(スクロール)に関する情報を取得する。この情報は画面表示領域の任意の始点から任意の終点へのベクトル情報(図9(a)の「ベクトル001」)として取得される。
【0064】
次に、ステップ502〜503において、表示領域移動を示す「ベクトル001」の始点が存在するメッシュをメッシュ管理テーブル31から取得する。そして、この「ベクトル001」を、「ベクトル001」の始点を含むメッシュの中心点からのベクトルに補正(平行移動)する。表示領域移動のベクトルは、たとえばメッシュの右端などで操作される可能性があり、ベクトルを単純に記録すると、始点がばらばらのベクトルが散在することとなります。このままでは複数回の表示領域移動のベクトルを集計しにくいため、メッシュ中心点からのベクトルに分解し、メッシュ中心点からの8方向の代表ベクトルと集計することで、1メッシュあたり8方向のベクトルの記録だけで済み、8方向のメッシュに対する対応付けが簡単になる。また、分解の方式は、1方向〜2方向の代表ベクトルに分解する。
【0065】
次に、ステップ504〜505において、キャッシュ管理部34は、メッシュ中心を始点とした「ベクトル002」をさらに8方向のベクトル(0度、45度、90度、135度、180度、225度、270度、315度、360度の8方向)に分解し、移動量、つまり8方向のベクトルの強さを利用履歴ポイントとしてメッシュ管理テーブル31に蓄積する。
【0066】
図9(b)は、「ベクトル002」を8方向の代表ベクトルに分解した様子(8方向の代表ベクトルの強さは、分解後、代表ベクトルと適合した方向の回数である。)を示す。
【0067】
図9(c)は、8方向のベクトルの強さ(大きさ)順に、周辺メッシュの順位付けの様子を示す。45度方向の代表ベクトルの大きさが1番なので、周辺メッシュのうち、左上隅のメッシュが第1の順位になっている。順位の高い順に利用履歴ポイントとして高い点から低い点を加点する。例えば、順位が1番(ベクトルの大きさが1番)の左上隅のメッシュには、利用履歴ポイントとして8点加点する。順位が8番のメッシュには、利用履歴ポイントとして1点加点する。
【0068】
ここで、上記実施の形態1と異なる地図データ管理部13の動作を説明する。なお、地図データ管理部13は、上記実施の形態1の動作と同じでも構わない。
【0069】
図11の(a)→(b)の遷移の場合、1世代(1スクロール操作)の単純な先読み(地図データの事前転送)だと(c)中の(1)〜(7)(丸数字の記号を使用できないため括弧の記号を使用している)までを非同期で読み込むこととなるが、その後メッシュ33を中心になるように移動した場合(d)に示す先読み範囲となり、直前に読まれた(c)の(4)〜(6)が使用されず破棄される。またこの場合、メッシュ移動毎に不要なメッシュの破棄と、新規先読み範囲の読み込みが毎回動作することとなり、処理コストが非常に高くなる。
【0070】
地図データ管理部13は、n世代(n≧1の整数)分の表示領域移動を示す第1ベクトルから第nベクトルまでを、メッシュ単位に利用世代で重みをつけ、n世代までの操作で読み込まれる可能性をメッシュに対する利用履歴情報(スコア)で表現する。この利用履歴情報に基づいて、n世代先の操作を予測した地図データを地図データベース11から取得し、非同期にクライアント計算機30へ事前転送する。地図データ管理部13は、n操作先の先読みを予測し(図12(a))、以後読み込む可能性の高いメッシュ順に非同期通信部16に対して非同期読み込みを順次実行する(図12(b))。
【0071】
まず、図13のステップ601において、地図データ管理部13は、図11(b)に示すように、画面表示領域と新規に重なったメッシュ(メッシュ32)に対して先読み方向の情報を収集する。この先読み方向の情報として、図11(c)に示すような、利用履歴マップを取得する。この利用履歴マップでは、メッシュ33が丸数字1として利用履歴ポイントが1番高いことを示す。
【0072】
次に、ステップ602〜605において、図12(a)に示すように、予測する世代数を超えない場合に、対象メッシュの先読みの順位付け情報を取得し、世代の重み付けの係数(1.0−0.1*(予測世代数))を求め、世代の重み付けの係数を掛けて先読みの順位のポイントに加算する。ステップ603で取得されるメッシュ管理情報は、ネットワーク20を経由して、クライアント計算機30のキャッシュ管理部34下で保存されているものである。また、ステップ603で取得されるメッシュ管理情報は、図10のステップ505で出力されたメッシュ管理情報だけに対応する。上記の重み付けの係数を求める式は、予測世代数として、10世代を前提にしたものです。全体m世代(m≧1且つm≦n)時のn世代(n≧1)先の予測時は、重み付けの係数は(1.0−1/m*n)となる。
【0073】
次に、ステップ606〜607において、次世代の予測は、先読みのポイント順位がトップのメッシュに対して行い、これをn(n≧1)世代分繰り返す。
【0074】
次に、ステップ608〜609において、最終的に累積されたポイントには世代の重み付けと、対象メッシュからどちらの方向へ移動するかの重みが累積されており、所定の閾値(例えば、5ポイント)以上のポイントの高い順に、非同期通信部16へ転送を行うよう指示を発行することで、n世代先の操作を予測した先読みが可能となる。なお、上記各実施の形態ではポイントの加点方式について説明したが、所定のポイントから減点していくポイントの減点方式でもよい。
【図面の簡単な説明】
【0075】
【図1】この発明の実施の形態1に係る地図データ処理システムの全体構成を示す図である。
【図2】この発明の実施の形態1に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を説明するための図である。
【図3】この発明の実施の形態1に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を示すフローチャートである。
【図4】この発明の実施の形態1に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。
【図5】この発明の実施の形態1に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。
【図6】この発明の実施の形態1に係る地図データ処理システムのキャッシュ管理部の動作を示すフローチャートである。
【図7】この発明の実施の形態2に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。
【図8】この発明の実施の形態2に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を示すフローチャートである。
【図9】この発明の実施の形態3に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を説明するための図である。
【図10】この発明の実施の形態3に係る地図データ処理システムのクライアント計算機のキャッシュ管理部の動作を示すフローチャートである。
【図11】この発明の実施の形態3に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を説明するための図である。
【図12】この発明の実施の形態3に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を説明するための図である。
【図13】この発明の実施の形態3に係る地図データ処理システムのサーバ計算機の地図データ管理部の動作を示すフローチャートである。
【符号の説明】
【0076】
10 サーバ計算機、11 地図データベース、12 利用履歴データベース、13 地図データ管理部、14 利用履歴管理部、15 同期通信部、16 非同期通信部、20 ネットワーク、30 クライアント計算機、31 メッシュ管理テーブル、32 地図データキャッシュ、33 地図表示部、34 キャッシュ管理部、35 同期通信部、36 非同期通信部。
【特許請求の範囲】
【請求項1】
ネットワークを通じて接続されたサーバ計算機、及びクライアント計算機を備えた地図データ処理システムであって、
前記サーバ計算機は、
地図データをメッシュ単位で登録している地図データベースと、
前記メッシュ単位の地図データに対応した利用履歴情報を登録している利用履歴データベースと、
前記利用履歴データベースに登録されている利用履歴情報を更新する利用履歴管理部と、
前記クライアント計算機から転送要求のあった地図データの周辺地図データのうち、前記利用履歴管理部を介して取得した利用履歴情報に基づいて利用頻度が高く、かつ未転送の地図データを前記地図データベースから取得し、非同期に前記クライアント計算機へ転送要求に対して事前に転送する地図データ管理部と
を有することを特徴とする地図データ処理システム。
【請求項2】
前記クライアント計算機は、
前記サーバ計算機から転送されてきた地図データをメッシュ単位で登録している地図データキャッシュと、
前記メッシュ単位の地図データに対応しポイントの変更結果である利用履歴情報を管理するメッシュ管理テーブルと、
前記サーバ計算機から転送されてきた地図データの一部を表示する地図表示部と、
前記サーバ計算機から転送されてきた地図データについては前記メッシュ管理テーブルの該当メッシュに第1のポイントで変更し、前記地図表示部により表示された地図データについては前記メッシュ管理テーブルの該当メッシュに第2のポイントで変更するとともに、前記メッシュ管理テーブルの内容である利用履歴情報を前記サーバ計算機へ転送するキャッシュ管理部と
を有することを特徴とする請求項1記載の地図データ処理システム。
【請求項3】
前記クライアント計算機は、
前記サーバ計算機から転送されてきた地図データをメッシュ単位で登録している地図データキャッシュと、
前記メッシュ単位の地図データに対応しポイントの変更結果である利用履歴情報を管理するメッシュ管理テーブルと、
前記サーバ計算機から転送されてきた地図データの一部を表示する地図表示部と、
前記地図表示部により第1の時間だけ表示された地図データについては前記メッシュ管理テーブルの該当メッシュに第1のポイントで変更し、前記地図表示部により第2の時間だけ表示された地図データについては前記メッシュ管理テーブルの該当メッシュに第2のポイントで変更するとともに、前記メッシュ管理テーブルの内容である利用履歴情報を前記サーバ計算機へ転送するキャッシュ管理部と
を有することを特徴とする請求項1記載の地図データ処理システム。
【請求項4】
前記クライアント計算機は、
前記サーバ計算機から転送されてきた地図データをメッシュ単位で登録している地図データキャッシュと、
前記メッシュ単位の地図データに対応しポイントの変更結果である利用履歴情報を管理するメッシュ管理テーブルと、
前記サーバ計算機から転送されてきた地図データの一部を表示する地図表示部と、
表示領域移動を入力する地図操作入力部と、
前記地図操作入力部から取得した表示領域移動を示す第1のベクトルを、前記第1のベクトルの始点が存在するメッシュの中心を始点とする第2のベクトルに変換し、前記第2のベクトルを上、下、右、左、右上、右下、左上、左下の8方向の第3のベクトルに分解し、前記8方向の第3のベクトルの大きさに応じて前記メッシュ管理テーブルの該当周辺メッシュに所定のポイントで変更するとともに、前記メッシュ管理テーブルの内容である利用履歴情報を前記サーバ計算機へ転送するキャッシュ管理部と
を有することを特徴とする請求項1記載の地図データ処理システム。
【請求項5】
前記地図データ管理部は、n世代(n≧1の整数)分の表示領域移動を示す第1のベクトルから第nのベクトルまでを、メッシュ単位に利用世代で重みをつけ、n世代までの操作で読み込まれる可能性をメッシュに対する利用履歴情報で表現し、前記利用履歴情報に基づいて、n世代先の操作を予測した地図データを前記地図データベースから取得し、非同期に前記クライアント計算機へ事前転送する
ことを特徴とする請求項4記載の地図データ処理システム。
【請求項1】
ネットワークを通じて接続されたサーバ計算機、及びクライアント計算機を備えた地図データ処理システムであって、
前記サーバ計算機は、
地図データをメッシュ単位で登録している地図データベースと、
前記メッシュ単位の地図データに対応した利用履歴情報を登録している利用履歴データベースと、
前記利用履歴データベースに登録されている利用履歴情報を更新する利用履歴管理部と、
前記クライアント計算機から転送要求のあった地図データの周辺地図データのうち、前記利用履歴管理部を介して取得した利用履歴情報に基づいて利用頻度が高く、かつ未転送の地図データを前記地図データベースから取得し、非同期に前記クライアント計算機へ転送要求に対して事前に転送する地図データ管理部と
を有することを特徴とする地図データ処理システム。
【請求項2】
前記クライアント計算機は、
前記サーバ計算機から転送されてきた地図データをメッシュ単位で登録している地図データキャッシュと、
前記メッシュ単位の地図データに対応しポイントの変更結果である利用履歴情報を管理するメッシュ管理テーブルと、
前記サーバ計算機から転送されてきた地図データの一部を表示する地図表示部と、
前記サーバ計算機から転送されてきた地図データについては前記メッシュ管理テーブルの該当メッシュに第1のポイントで変更し、前記地図表示部により表示された地図データについては前記メッシュ管理テーブルの該当メッシュに第2のポイントで変更するとともに、前記メッシュ管理テーブルの内容である利用履歴情報を前記サーバ計算機へ転送するキャッシュ管理部と
を有することを特徴とする請求項1記載の地図データ処理システム。
【請求項3】
前記クライアント計算機は、
前記サーバ計算機から転送されてきた地図データをメッシュ単位で登録している地図データキャッシュと、
前記メッシュ単位の地図データに対応しポイントの変更結果である利用履歴情報を管理するメッシュ管理テーブルと、
前記サーバ計算機から転送されてきた地図データの一部を表示する地図表示部と、
前記地図表示部により第1の時間だけ表示された地図データについては前記メッシュ管理テーブルの該当メッシュに第1のポイントで変更し、前記地図表示部により第2の時間だけ表示された地図データについては前記メッシュ管理テーブルの該当メッシュに第2のポイントで変更するとともに、前記メッシュ管理テーブルの内容である利用履歴情報を前記サーバ計算機へ転送するキャッシュ管理部と
を有することを特徴とする請求項1記載の地図データ処理システム。
【請求項4】
前記クライアント計算機は、
前記サーバ計算機から転送されてきた地図データをメッシュ単位で登録している地図データキャッシュと、
前記メッシュ単位の地図データに対応しポイントの変更結果である利用履歴情報を管理するメッシュ管理テーブルと、
前記サーバ計算機から転送されてきた地図データの一部を表示する地図表示部と、
表示領域移動を入力する地図操作入力部と、
前記地図操作入力部から取得した表示領域移動を示す第1のベクトルを、前記第1のベクトルの始点が存在するメッシュの中心を始点とする第2のベクトルに変換し、前記第2のベクトルを上、下、右、左、右上、右下、左上、左下の8方向の第3のベクトルに分解し、前記8方向の第3のベクトルの大きさに応じて前記メッシュ管理テーブルの該当周辺メッシュに所定のポイントで変更するとともに、前記メッシュ管理テーブルの内容である利用履歴情報を前記サーバ計算機へ転送するキャッシュ管理部と
を有することを特徴とする請求項1記載の地図データ処理システム。
【請求項5】
前記地図データ管理部は、n世代(n≧1の整数)分の表示領域移動を示す第1のベクトルから第nのベクトルまでを、メッシュ単位に利用世代で重みをつけ、n世代までの操作で読み込まれる可能性をメッシュに対する利用履歴情報で表現し、前記利用履歴情報に基づいて、n世代先の操作を予測した地図データを前記地図データベースから取得し、非同期に前記クライアント計算機へ事前転送する
ことを特徴とする請求項4記載の地図データ処理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2006−78872(P2006−78872A)
【公開日】平成18年3月23日(2006.3.23)
【国際特許分類】
【出願番号】特願2004−264125(P2004−264125)
【出願日】平成16年9月10日(2004.9.10)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成18年3月23日(2006.3.23)
【国際特許分類】
【出願日】平成16年9月10日(2004.9.10)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]