以下、本発明による情報処理装置等の実施の形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。また、本実施の形態において説明する各情報の形式、内容などは、あくまで例示であり、各情報の持つ意味を示すことができれば、形式、内容などは問わない。
(実施の形態1)
本実施の形態において、情報処理装置11と、1または2以上のナビゲーション装置12とを備える情報システム1について説明する。
情報処理装置11は、1または2以上の各ナビゲーション装置12から、走行履歴情報を受信し、蓄積する。また、情報処理装置11は、1または2以上の各ナビゲーション装置12から、現在位置情報、目的地情報、経路情報のうちのいずれか1以上の情報を受信する。そして、情報処理装置11は、受信した情報に対応する走行履歴情報を、蓄積している走行履歴情報の中から取得する。そして、情報処理装置11は、取得した走行履歴情報を、ナビゲーション装置12に送信する。
また、ナビゲーション装置12は、現在位置情報、目的地情報、経路情報のうちのいずれか1以上の情報を、情報処理装置11に送信する。そして、ナビゲーション装置12は、送信した情報に対応する走行履歴情報を、情報処理装置11から受信する。
図1は、本実施の形態における情報システム1の概念図である。図1において、情報処理装置11と、1または2以上の各ナビゲーション装置12とは、通信手段13を介して通信が可能である。
情報処理装置11は、通常、いわゆるサーバ装置である。当該サーバ装置の種類は、問わない。当該サーバ装置は、例えば、いわゆるクラウドサーバであってもよい。
また、ナビゲーション装置12は、通常、移動体に設定されている。移動体は、例えば、自動車、バイク、自転車などである。つまり、ナビゲーション装置12は、通常、カーナビゲーションシステム、バイク用のナビゲーションシステム、自転車用のナビゲーションシステムなどである。また、移動体には、例えば、人が含まれてもよい。つまり、ナビゲーション装置12は、例えば、ナビゲーション機能を有する携帯端末であってもよい。当該携帯端末は、例えば、スマートフォン、携帯電話、PDA、タブレット型PCなどである。
また、通信手段13は、無線または有線の通信回線である。通信手段13は、例えば、インターネット、イントラネット、LAN、公衆電話回線網などである。
また、図2は、本実施の形態における情報処理装置11およびナビゲーション装置12のブロック図である。情報処理装置11は、走行履歴情報格納部111、受信部112、蓄積部113、受付部114、走行履歴情報取得部115、走行時間算出部116、走行距離算出部117、出力部118を備える。また、ナビゲーション装置12は、ナビ受付部121、ナビ処理部122、ナビ送信部123、ナビ受信部124、ナビ出力部125を備える。
情報処理装置11を構成する走行履歴情報格納部111には、1または2以上の走行履歴情報が格納される。走行履歴情報とは、移動体の走行の履歴を示す情報である。また、走行履歴情報は、例えば、移動体が走行した経路(以下、適宜、走行経路とする)を示す情報であるとも言える。また、当該移動体は、ナビゲーション装置12が設置されている移動体である。
走行履歴情報は、例えば、1以上の位置情報を有する。位置情報とは、位置を示す情報である。また、当該位置は、通常、経緯度であるが、高度(高さ)を含んでもよい。また、当該位置情報は、例えば、移動体が走行により通過した位置を示す情報である。また、走行履歴情報は、例えば、1以上の道路情報を有する。当該道路情報は、例えば、移動体が走行した道路に関する情報である。また、走行履歴情報は、例えば、1以上の地域情報を有する。当該地域情報は、例えば、移動体が走行により通過した地域に関する情報である。また、走行履歴情報は、例えば、1以上の地点情報を有する。当該地点情報は、例えば、移動体が走行により通過した地点に関する情報である。また、上記「通過」には、例えば、「到達」、「到着」、「滞在」、「停車」、「駐車」などを含み、広く解する。また、走行履歴情報が有する位置情報、道路情報、地域情報、地点情報などを、以下、適宜、走行履歴構成情報とする。
また、道路情報とは、地図上の道路に関する情報である。当該地図上の道路は、通常、地図上の道路を構成する区間(以下、適宜、道路の区間とする)である。また、道路情報は、例えば、道路を識別する情報、道路の種類を示す情報、道路の両端の位置を示す情報などを有する。道路を識別する情報は、通常、道路の名称を示す情報である。また、道路を識別する情報は、例えば、道路のIDであってもよい。また、道路情報は、例えば、道路のスコア、道路の車線数、道路の進行方向などを示す情報などを有していてもよい。当該スコアは、通常、経路の探索に用いるコストである。
また、地域情報とは、地図上の地域に関する情報である。当該地図上の地域は、例えば、行政区画、地方区分などである。行政区画は、例えば、現代のもの(例えば、都道府県、市区町村など)であってもよいし、過去の時代のもの(例えば、令制国など)であってもよい。また、地方区分は、例えば、関東地方、近畿地方などである。また、地域情報は、通常、地域の範囲を示す情報を有する。当該範囲を示す情報は、例えば、他の地域との境界線上の位置を示す2以上の情報から構成される情報である。また、地域情報は、例えば、地域を識別する情報を有していてもよい。地域を識別する情報は、通常、地域の名称を示す情報である。また、地域を識別する情報は、例えば、地域のIDであってもよい。
また、地点情報とは、地図上の地点に関する情報である。また、地点は、例えば、交差点、道路に隣接する店舗、駅、駐車場などである。また、地点情報は、通常、地点の位置を示す情報である。また、地点情報は、例えば、地点を識別する情報を有していてもよい。地点を識別する情報は、通常、地点の名称を示す情報である。また、地点を識別する情報は、例えば、地点のIDであってもよい。
また、走行履歴情報が有する走行履歴構成情報には、通常、順序を示す情報が対応付いている。当該順序を示す情報は、通常、時刻を示す情報である。当該時刻は、例えば、日付(年月日)を有していてもよい。また、当該時刻は、例えば、移動体が道路を走行した時刻、移動体が走行により地域を通過した時刻、移動体が走行により地点を通過した時刻などを示す情報である。また、順序を示す情報は、例えば、いわゆるIDであってもよい。
また、走行履歴情報には、例えば、ユーザ識別情報が対応付いていてもよい。ユーザ識別情報とは、ユーザを識別する情報である。ユーザ識別情報は、例えば、IPアドレス、MACアドレス、個体識別番号などである。また、ユーザ識別情報は、例えば、いわゆるID、ユーザ名などであってもよい。なお、本実施の形態において、ユーザ識別情報は、例えば、ナビゲーション装置12を識別する情報であることが好適である。
また、走行履歴情報には、例えば、走行時間が対応付いていてもよい。走行時間とは、走行履歴情報により示される経路である走行経路の走行に要する時間である。また、走行経路は、例えば、走行履歴情報により特定される経路であってもよい。
また、走行履歴情報には、例えば、走行距離が対応付いていてもよい。走行距離とは、走行履歴情報により示される走行経路の距離である。
また、走行履歴情報には、例えば、属性値が対応付いていてもよい。当該属性値は、対応付いている走行履歴情報により示される走行経路の属性値である。また、属性値の内容は、問わない。属性値は、例えば、走行の目的、カテゴリ、ジャンルなどである。属性値は、例えば、「通勤」、「ドライブ」、「買い物」などである。
また、走行履歴情報格納部111は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。また、走行履歴情報格納部111などに所定の情報が記憶される過程は、問わない。例えば、当該所定の情報は、記録媒体、通信回線、入力デバイスなどを介して走行履歴情報格納部111などに記憶されてもよい。
受信部112は、1または2以上の各ナビゲーション装置12から、走行履歴情報を受信する。当該走行履歴情報には、例えば、ユーザ識別情報、走行時間、走行距離、属性値などが対応付いていてもよい。当該ユーザ識別情報は、例えば、ナビゲーション装置12を識別する情報であることが好適である。
蓄積部113は、受信部112が受信した走行履歴情報を、走行履歴情報格納部111に蓄積する。このとき、蓄積部113は、当該走行履歴情報を、当該走行履歴情報に対応付いている情報と共に蓄積する。当該走行履歴情報に対応付いている情報は、例えば、ユーザ識別情報、走行時間、走行距離、属性値などである。
また、蓄積部113は、例えば、受信部112が受信した走行履歴情報に、走行時間が対応付いていない場合に、当該走行履歴情報に対応する走行時間を取得し、当該走行時間を対応付けて、当該走行履歴情報を蓄積してもよい。なお、走行時間を取得する方法や手順については、後述の走行時間算出部116において説明する。また、当該走行時間の取得は、例えば、当該走行時間算出部116が行ってもよい。
また、蓄積部113は、例えば、受信部112が受信した走行履歴情報に、走行距離が対応付いていない場合に、当該走行履歴情報に対応する走行距離を取得し、当該走行距離を対応付けて、当該走行履歴情報を蓄積してもよい。なお、走行距離を取得する方法や手順については、後述の走行距離算出部117において説明する。また、当該走行距離の取得は、例えば、当該走行距離算出部117が行ってもよい。
また、蓄積部113は、例えば、受信部112が受信した走行履歴情報に、属性値が対応付いていない場合に、当該走行履歴情報に対応する属性値を取得し、当該属性値を対応付けて、当該走行履歴情報を蓄積してもよい。この場合、蓄積部113は、例えば、取得条件と、属性値との対応表を予め保持している。取得条件とは、属性値を取得するための条件である。また、取得条件は、例えば、時刻および曜日のいずれか一方または両方に関する条件である。そして、蓄積部113は、受信部112が走行履歴情報を受信した時刻および曜日を取得する。そして、蓄積部113は、当該取得した時刻および曜日が満たす取得条件に対応する属性値を取得する。そして、蓄積部113は、当該取得した属性値を対応付けて、受信部112が受信した走行履歴情報を蓄積する。
受付部114は、情報を受け付ける。当該情報は、例えば、現在位置情報、目的地情報、経路情報などである。現在位置情報とは、現在の位置を示す情報である。また、目的地情報とは、目的地を示す情報である。また、目的地情報は、通常、地点情報である。また、目的地情報は、例えば、位置情報であってもよい。また、経路情報とは、経路を示す情報である。また、経路情報は、通常、現在位置から、目的地までの経路を示す情報である。また、経路情報は、通常、経路の出発地、経路の目的地、経路が通過する地点などの位置を示す2以上の位置情報を有する。当該位置情報は、例えば、地点情報であってもよい。また、経路情報は、例えば、2つの地点間を結ぶ道路に関する情報を有していてもよい。当該道路に関する情報は、例えば、道路の端点の位置を示す情報、道路の名称を示す情報などを有する。また、経路情報は、例えば、属性値を有していてもよい。当該属性値は、経路情報が示す経路の属性値である。また、当該属性値は、例えば、経路情報の取得時の時刻に基づいて取得された属性値であることが好適である。また、当該属性値は、経路情報に対応付いていてもよい。
また、受け付けとは、タッチパネル、キーボードなどの入力デバイスから入力された情報の取得、光ディスクや磁気ディスク、半導体メモリなどの記録媒体に格納されている情報の読み出し、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。
なお、受付部114が行う受け付けは、例えば、受信であることが好適である。また、当該受信は、例えば、ナビゲーション装置12からの受信であることが好適である。つまり、受付部114が受信する現在位置情報は、ナビゲーション装置12の現在の位置を示す情報である。また、受付部114が受信する目的地情報は、ナビゲーション装置12において入力された目的地を示す情報である。また、受付部114が受信する経路情報は、ナビゲーション装置12において探索された経路を示す情報である。また、受付部114が受信する経路情報が有する属性値は、当該経路情報がナビゲーション装置12において取得された時刻に基づいて取得される属性値である。また、受付部114が受信した情報には、当該ナビゲーション装置12を識別するユーザ識別情報が対応付いていることが好適である。
走行履歴情報取得部115は、受付部114が受け付けた情報に対応する1または2以上の走行履歴情報を、走行履歴情報格納部111から取得する。当該走行履歴情報を取得する方法や手順などは、例えば、以下のとおりである。
(1)例えば、受付部114が現在位置情報を受け付けた場合、走行履歴情報取得部115は、例えば、当該現在位置情報が示す位置との距離が予め決められた条件を満たすほど近い位置を示す位置情報を有する1または2以上の走行履歴情報を取得する。当該「現在位置情報が示す位置との距離が予め決められた条件を満たすほど近い位置を示す位置情報」は、例えば、現在位置情報と同一の位置情報を含む。また、当該位置情報は、例えば、走行履歴情報において、地点情報が有する位置情報、道路情報が有する位置情報などである。また、当該位置情報は、例えば、走行履歴情報により示される走行経路において、出発地(始点)、経由地、目的地(終点)などの位置を示す情報である。
また、上記の取得の結果、走行履歴情報取得部115は、例えば、現在位置情報が示す位置を出発地(始点)とする走行経路、現在位置情報が示す位置を経由地とする走行経路、現在位置情報が示す位置を目的地(終点)とする走行経路、などを示す走行履歴情報を取得する。
また、受付部114が現在位置情報を受け付けた場合、走行履歴情報取得部115は、例えば、現在位置情報が示す位置を含む地域を示す地域情報を有する走行履歴情報を取得してもよい。
(2)例えば、受付部114が目的地情報を受け付けた場合、走行履歴情報取得部115は、例えば、当該目的地情報が示す地点との距離が予め決められた条件を満たすほど近い地点を示す地点情報を有する1または2以上の走行履歴情報を取得する。当該「目的地情報が示す地点との距離が予め決められた条件を満たすほど近い地点を示す地点情報」は、例えば、目的地情報と同一の地点情報を含む。また、当該地点情報は、例えば、位置情報であってもよい。また、当該地点情報は、例えば、走行履歴情報により示される走行経路において、出発地(始点)、経由地、目的地(終点)などを示す情報である。
また、上記の取得の結果、走行履歴情報取得部115は、例えば、目的地情報が示す地点を出発地(始点)とする走行経路、目的地情報が示す地点を経由地とする走行経路、目的地情報が示す地点を目的地(終点)とする走行経路、などを示す走行履歴情報を取得する。
また、受付部114が目的地情報を受け付けた場合、走行履歴情報取得部115は、例えば、目的地情報が示す地点を含む地域を示す地域情報を有する走行履歴情報を取得してもよい。
(3)例えば、受付部114が現在位置情報と目的地情報とを受け付けた場合、走行履歴情報取得部は、例えば、当該現在位置情報が示す位置との距離が予め決められた条件を満たすほど近い位置を示す位置情報、および、当該目的地情報が示す地点との距離が予め決められた条件を満たすほど近い地点を示す地点情報を有する1または2以上の走行履歴情報を取得する。当該位置情報は、例えば、走行履歴情報において、地点情報が有する位置情報、道路情報が有する位置情報などである。また、当該地点情報は、例えば、位置情報であってもよい。
また、上記の取得の結果、走行履歴情報取得部115は、例えば、現在位置情報が示す位置を出発地(始点)とし、目的地情報が示す地点を目的地(終点)とする走行経路、現在位置情報が示す位置を出発地(始点)とし、目的地情報が示す地点を経由地とする走行経路、現在位置情報が示す位置を経由地とし、目的地情報が示す地点を目的地(終点)とする走行経路、目的地情報が示す地点を出発地(始点)とし、現在位置情報が示す位置を目的地(終点)とする走行経路、目的地情報が示す地点を出発地(始点)とし、現在位置情報が示す位置を経由地とする走行経路、目的地情報が示す地点を経由地とし、現在位置情報が示す位置を目的地(終点)とする走行経路、などを示す走行履歴情報を取得する。
(4)例えば、受付部114が経路情報を受け付けた場合、走行履歴情報取得部115は、例えば、当該経路情報により示される出発地の位置との距離が予め決められた条件を満たすほど近い位置を示す位置情報、および、当該経路情報により示される目的地の位置との距離が予め決められた条件を満たすほど近い位置を示す位置情報を有する1または2以上の走行履歴情報を取得する。当該位置情報は、例えば、走行履歴情報において、地点情報が有する位置情報、道路情報が有する位置情報などである。
また、上記の取得の結果、走行履歴情報取得部115は、例えば、経路情報により示される出発地を出発地(始点)とし、経路情報により示される目的地を目的地(終点)とする走行経路、経路情報により示される出発地を出発地(始点)とし、経路情報により示される目的地を経由地とする走行経路、経路情報により示される出発地を経由地とし、経路情報により示される目的地を目的地(終点)とする走行経路、経路情報により示される目的地を出発地(始点)とし、経路情報により示される出発地を目的地(終点)とする走行経路、経路情報により示される目的地を出発地(始点)とし、経路情報により示される出発地を経由地とする走行経路、経路情報により示される目的地を経由地とし、経路情報により示される出発地を目的地(終点)とする走行経路、などを示す走行履歴情報を取得する。
(5)例えば、受付部114が経路情報を受け付けた場合、走行履歴情報取得部115は、例えば、当該経路情報が有する属性値と同一の属性値が対応付いている1または2以上の走行履歴情報を取得する。
(6)例えば、受付部114が受け付けた情報にユーザ識別情報が対応付いている場合、走行履歴情報取得部115は、例えば、当該ユーザ識別情報と同一のユーザ識別情報が対応付いている1または2以上の走行履歴情報を取得する。また、この場合、走行履歴情報取得部115は、例えば、当該ユーザ識別情報と異なるユーザ識別情報が対応付いている1または2以上の走行履歴情報を取得してもよい。
走行時間算出部116は、走行履歴情報取得部115が取得した1または2以上の各走行履歴情報に対して、走行時間を算出する。例えば、走行履歴情報が地点情報を有する場合、走行時間算出部116は、例えば、当該地点情報が有する位置情報を用いて走行時間を算出する。当該「算出」は、「取得」を含む。また、例えば、走行履歴情報が道路情報を有する場合、走行時間算出部116は、例えば、当該道路情報が有する位置情報を用いて走行時間を算出する。また、例えば、走行履歴情報が地域情報を有する場合、走行時間算出部116は、例えば、当該地域情報が示す地域の中心の位置を算出する。そして、走行時間算出部116は、当該算出した位置を示す位置情報を用いて走行時間を算出する。
なお、上記2以上の各位置情報が示す位置を順に辿ることにより構成される経路の走行に要する時間を算出する方法や手順などは、公知であるので、詳細な説明を省略する。
走行距離算出部117は、走行履歴情報取得部115が取得した1または2以上の各走行履歴情報に対して、走行距離を算出する。例えば、走行履歴情報が地点情報を有する場合、走行距離算出部117は、例えば、当該地点情報が有する位置情報を用いて走行距離を算出する。また、例えば、走行履歴情報が道路情報を有する場合、走行距離算出部117は、例えば、当該道路情報が有する位置情報を用いて走行距離を算出する。また、例えば、走行履歴情報が地域情報を有する場合、走行距離算出部117は、例えば、当該地域情報が示す地域の中心の位置を算出する。そして、走行距離算出部117は、当該算出した位置を示す位置情報を用いて走行距離を算出する。
なお、上記2以上の各位置情報が示す位置を順に辿ることにより構成される経路の距離を算出する方法や手順などは、公知であるので、詳細な説明を省略する。
出力部118は、走行履歴情報取得部115が取得した1または2以上の走行履歴情報を出力する。また、出力部118は、当該走行履歴情報を、当該走行履歴情報に対応付いている情報に基づいてソートまたはフィルタリングし、出力してもよい。当該「走行履歴情報に対応付いている情報」を、以下、適宜、出力基準情報とする。出力基準情報は、例えば、走行時間、走行距離、属性値などである。また、「ソート」は、例えば、出力基準情報の昇順または降順に走行履歴情報をソートすることである。また、「フィルタリング」は、例えば、出力基準情報が予め決められた条件(以下、適宜、出力条件とする)を満たす走行履歴情報を出力することである。また、「フィルタリング」は、例えば、出力基準情報が出力条件を満たす走行履歴情報を出力しないことであってもよい。
また、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。なお、送信や蓄積、処理結果の引渡しについては、出力対象が最終的にユーザに提示されるものとする。
なお、出力部118が行う出力は、例えば、送信であることが好適である。また、当該送信は、例えば、ナビゲーション装置12への送信であることが好適である。また、当該ナビゲーション装置12は、走行履歴情報取得部115が走行履歴情報の取得に用いた情報に対応付いているユーザ識別情報により識別されるナビゲーション装置12である。
ナビゲーション装置12を構成するナビ受付部121は、目的地情報を受け付ける。
ナビ処理部122は、経路情報を取得する。例えば、ナビ処理部122は、ナビ受付部121が目的地情報を受け付けた場合に、現在位置情報を取得する。当該現在位置情報は、ナビゲーション装置12の現在の位置を示す情報である。そして、ナビ処理部122は、当該現在位置情報と、当該目的地情報と、地図情報とを用いて、当該現在位置情報が示す位置(出発地)から、当該目的地情報が示す目的地までの経路を探索する。地図情報の詳細については、後述する。そして、当該ナビ処理部122は、当該経路を示す情報である経路情報を取得する。
なお、経路の探索には、通常、最短経路問題の解法(アルゴリズム)を用いる。「最短経路問題の解法」は、例えば、ダイクストラ法や、A*アルゴリズムなどである。また、これらの解法や、経路情報を取得する方法や手順などは、公知であるので、詳細な説明を省略する。
また、ナビ処理部122は、走行履歴情報を取得する。当該「取得」は、「作成」、「構成」などを含み、広く解する。また、当該走行履歴情報を取得する方法や手順などは、以下のとおりである。
(1)ナビ処理部122は、例えば、定期的に、現在位置情報を取得する。また、ナビ処理部122は、例えば、ユーザからの指示があるたびに、現在位置情報を取得する。そして、ナビ処理部122は、現在位置情報を取得するたびに、当該現在位置情報を、取得した順に連結し、走行履歴情報を構成する。
(2)ナビ処理部122は、例えば、現在位置情報を取得するたびに、当該現在位置情報が示す位置に対応する道路に関する道路情報を、地図情報から取得する。このとき、ナビ処理部122は、取得しようとする道路情報が、取得済みの道路情報と異なる場合に、道路情報を取得する。そして、ナビ処理部122は、取得した道路情報を、取得した順に連結し、道路情報を有する走行履歴情報を構成する。つまり、ナビ処理部122は、移動体が走行中の道路が変更するたびに、当該変更後の道路に関する道路情報を取得する。そして、ナビ処理部122は、取得した道路情報を、取得した順に連結し、道路情報を有する走行履歴情報を構成する。
(3)ナビ処理部122は、例えば、現在位置情報を取得するたびに、当該現在位置情報が示す位置に対応する地域に関する地域情報を、地図情報から取得する。このとき、ナビ処理部122は、取得しようとする地域情報が、取得済みの地域情報と異なる場合に、地域情報を取得する。そして、ナビ処理部122は、取得した地域情報を、取得した順に連結し、地域情報を有する走行履歴情報を構成する。つまり、ナビ処理部122は、移動体が走行中の地域が変更するたびに(移動体が、ある一の地域から他の地域に進入するたびに)、当該変更後の地域(進入した地域)に関する地域情報を取得する。そして、ナビ処理部122は、取得した地域情報を、取得した順に連結し、地域情報を有する走行履歴情報を構成する。
(4)ナビ処理部122は、例えば、現在位置情報を取得するたびに、当該現在位置情報が示す位置に対応する地点に関する地点情報を、地図情報から取得する。このとき、ナビ処理部122は、取得しようとする地点情報が、取得済みの地点情報と異なる場合に、地点情報を取得する。そして、ナビ処理部122は、取得した地点情報を、取得した順に連結し、地点情報を有する走行履歴情報を構成する。つまり、ナビ処理部122は、移動体が一の地点を通過するたびに、当該通過した地点に関する地点情報を取得する。そして、ナビ処理部122は、取得した地点情報を、取得した順に連結し、地点情報を有する走行履歴情報を構成する。
(5)ナビ処理部122は、上記(1)〜(4)のうちのいずれか2以上の処理を組み合わせて、走行履歴情報を取得してもよい。つまり、ナビ処理部122は、例えば、現在位置情報を取得するたびに、当該現在位置情報と、地図情報とを用いて、移動体が、現在走行中の道路から、他の道路に進入したか否かを判断する。そして、他の道路に進入した場合、ナビ処理部122は、当該進入した道路に関する道路情報を、地図情報から取得する。また、ナビ処理部122は、例えば、現在位置情報と、地図情報とを用いて、移動体が、現在走行中の地域から、他の地域に進入したか否かを判断する。そして、他の地域に進入した場合、ナビ処理部122は、当該進入した地域に関する地域情報を、地図情報から取得する。また、ナビ処理部122は、例えば、現在位置情報と、地図情報とを用いて、移動体が、地点を通過したか否かを判断する。そして、地点を通過した場合、ナビ処理部122は、当該通過した地点に関する地点情報を、地図情報から取得する。そして、ナビ処理部122は、以上のようにして取得した走行履歴情報を、取得した順に連結し、走行履歴情報を構成する。
また、ナビ処理部122は、例えば、走行履歴構成情報を取得するたびに、当該取得時の時刻を示す時刻情報を取得してもよい。この場合、ナビ処理部122は、取得した時刻情報を、取得した走行履歴構成情報に対応付ける。そして、ナビ処理部122は、走行履歴構成情報と時刻情報との組を、取得した順に連結し、走行履歴情報を構成する。
また、ナビ処理部122は、通常、移動体が、走行を開始してから、当該走行を終了するまでの間、走行履歴構成情報を取得し、当該取得した走行履歴構成情報を用いて、走行履歴情報を構成する。つまり、移動体が、走行を開始してから、当該走行を終了するまでの間に、ナビ処理部122が取得した走行履歴情報が、一の走行履歴情報である。
なお、地図情報とは、地図に関する情報である。また、地図情報により示される地図の種類、地図情報のデータ形式などは、問わない。当該地図の種類は、例えば、地形図、地勢図、地質図、土地利用図、住宅地図、路線図、道路地図、ガイドマップ、航空写真、衛星写真などである。また、当該データ形式は、例えば、ラスタデータ、ベクタデータ、KIWIフォーマットなどである。
また、地図情報は、通常、1以上の道路情報を有する。また、地図情報は、通常、1以上の地域情報を有する。また、地図情報は、通常、1以上の地点情報を有する。
また、地図情報は、例えば、ナビ処理部122が予め保持している。また、地図情報は、例えば、予め決められた記憶領域に格納されていてもよい。
また、ナビ処理部122は、例えば、取得した経路情報に対応する属性値を取得し、当該属性値を、当該経路情報に対応付けてもよい。当該属性値を取得する方法や手順などは、蓄積部113が属性値を取得する方法や手順などと同様であるので、説明を省略する。
また、ナビ処理部122は、例えば、取得した走行履歴情報に対応する走行時間、走行距離、属性値などを取得し、当該走行時間、走行距離、属性値などを、当該走行履歴情報に対応付けてもよい。当該走行時間、走行距離、属性値などを取得する方法や手順などは、蓄積部113が走行時間、走行距離、属性値などを取得する方法や手順などと同様であるので、説明を省略する。
ナビ送信部123は、情報を、情報処理装置11に送信する。当該情報は、現在位置情報、目的地情報、経路情報、走行履歴情報などである。当該現在位置情報、経路情報、走行履歴情報は、ナビ処理部122が取得した現在位置情報、経路情報、走行履歴情報である。また、当該目的地情報は、ナビ受付部121が受け付けた目的地情報である。また、ナビ送信部123は、これらの情報を、これらの情報に対応付いている情報と共に送信する。また、ナビ送信部123は、これらの情報を、ユーザ識別情報を対応付けて送信する。当該ユーザ識別情報は、例えば、ナビ送信部123が予め保持している。また、当該ユーザ識別情報は、例えば、予め決められた記憶領域に格納されていてもよい。
また、ナビ送信部123が、上記の情報を、情報処理装置11に送信するタイミングは、問わない。ナビ送信部123は、例えば、ナビ受付部121が、目的地や目的地までの経路の設定を開始する指示や操作などを受け付けた場合に、現在位置情報を送信する。また、ナビ送信部123は、例えば、ナビゲーション装置12が設置されている移動体が、経路情報が示す経路を外れた場合に、現在位置情報および目的地情報を送信する。また、ナビ送信部123は、例えば、ナビ受付部121が目的地情報を受け付けた場合に、当該目的地情報を送信する。また、ナビ送信部123は、例えば、ナビ受付部121が目的地情報を受け付けた場合に、現在位置情報および当該目的地情報を送信する。また、ナビ送信部123は、例えば、ナビ処理部122が経路情報を取得した場合に、当該経路情報を送信する。
また、ナビ送信部123は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されてもよい。
ナビ受信部124は、情報処理装置11から、走行履歴情報を受信する。
ナビ出力部125は、ナビ受信部124が受信した走行履歴情報を出力する。当該出力の態様や様式などは、問わない。
なお、受信部112、ナビ受信部124は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されてもよい。
また、蓄積部113、走行履歴情報取得部115、走行時間算出部116、走行距離算出部117、ナビ処理部122は、通常、MPUやメモリ等から実現され得る。また、蓄積部113などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。なお、蓄積部113などは、ハードウェア(専用回路)で実現されてもよい。
また、受付部114、ナビ受付部121における情報や指示などの入力手段は、メニュー画面によるもの、キーボードなど、何でもよい。受付部114は、メニュー画面の制御ソフトウェア、キーボード等の入力手段のデバイスドライバなどで実現され得る。
また、出力部118、ナビ出力部125は、ディスプレイやスピーカーなどの出力デバイスを含むと考えてもよいし、含まないと考えてもよい。出力部118は、出力デバイスのドライバソフトまたは、出力デバイスのドライバソフトと出力デバイスなどで実現され得る。
次に、情報システム1の全体動作について、フローチャートを用いて説明する。なお、所定の情報におけるi番目の情報は、「情報[i]」と記載するものとする。まず、情報処理装置11の全体動作について、図3のフローチャートを用いて説明する。
(ステップS301)蓄積部113は、受信部112が走行履歴情報を受信したか否かを判断する。受信した場合は、ステップS302に進み、そうでない場合は、ステップS303に進む。
(ステップS302)蓄積部113は、ステップS301で受信した走行履歴情報を、走行履歴情報格納部111に蓄積する。
(ステップS303)走行履歴情報取得部115は、受付部114が現在位置情報を受信したか否かを判断する。受信した場合は、ステップS304に進み、そうでない場合は、ステップS305に進む。
(ステップS304)走行履歴情報取得部115は、ステップS303で受信した現在位置情報を用いて、走行履歴情報格納部111から走行履歴情報を取得する。この処理の詳細は、図4のフローチャートを用いて説明する。
(ステップS305)走行履歴情報取得部115は、受付部114が目的地情報を受信したか否かを判断する。受信した場合は、ステップS306に進み、そうでない場合は、ステップS307に進む。
(ステップS306)走行履歴情報取得部115は、ステップS305で受信した目的地情報を用いて、走行履歴情報格納部111から走行履歴情報を取得する。この処理の詳細は、図5のフローチャートを用いて説明する。
(ステップS307)走行履歴情報取得部115は、受付部114が経路情報を受信したか否かを判断する。受信した場合は、ステップS308に進み、そうでない場合は、ステップS309に進む。
(ステップS308)走行履歴情報取得部115は、ステップS307で受信した経路情報を用いて、走行履歴情報格納部111から走行履歴情報を取得する。この処理の詳細は、図6のフローチャートを用いて説明する。
(ステップS309)出力部118は、走行履歴情報取得部115が1以上の走行履歴情報を取得したか否かを判断する。取得した場合は、ステップS310に進み、そうでない場合は、ステップS301に戻る。
(ステップS310)走行時間算出部116は、走行履歴情報取得部115が取得した1以上の各走行履歴情報に対して、走行時間を算出し、対応付ける。
(ステップS311)走行距離算出部117は、走行履歴情報取得部115が取得した1以上の各走行履歴情報に対して、走行距離を算出し、対応付ける。
(ステップS312)出力部118は、走行履歴情報取得部115が取得した1以上の走行履歴情報を、対応する走行時間および走行距離に基づきソートする。
(ステップS313)出力部118は、ソートした走行履歴情報を、ナビゲーション装置12に送信する。当該ナビゲーション装置12は、ステップS303で受信した現在位置情報またはステップS305で受信した目的地情報またはステップS307で受信した経路情報に対応付いているユーザ識別情報により識別されるナビゲーション装置12である。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
図4は、図3のフローチャートのステップS304の現在位置情報を用いた走行履歴情報の取得処理を示すフローチャートである。なお、図4のフローチャートにおいて、走行履歴情報格納部111には、m個の走行履歴情報が格納されているものとする。
(ステップS401)走行履歴情報取得部115は、カウンタiに1をセットする。
(ステップS402)走行履歴情報取得部115は、走行履歴情報[i]から、走行開始情報を取得する。走行開始情報とは、走行履歴情報が有する走行履歴構成情報における順序が最初の走行履歴構成情報である。また、走行開始情報は、例えば、位置情報であることが好適である。
(ステップS403)走行履歴情報取得部115は、ステップS402で取得した走行開始情報が、受付部114が受信した現在位置情報と同一であるか否かを判断する。同一である場合は、ステップS404に進み、そうでない場合は、ステップS405に進む。
(ステップS404)走行履歴情報取得部115は、走行履歴情報[i]を取得する。
(ステップS405)走行履歴情報取得部115は、iがmであるか否かを判断する。mである場合は、上位処理にリターンし、そうでない場合は、ステップS406に進む。
(ステップS406)走行履歴情報取得部115は、iを1インクリメントする。そして、ステップS402に戻る。
図5は、図3のフローチャートのステップS306の目的地情報を用いた走行履歴情報の取得処理を示すフローチャートである。なお、図5のフローチャートにおいて、走行履歴情報格納部111には、m個の走行履歴情報が格納されているものとする。
(ステップS501)走行履歴情報格納部111は、カウンタiに1をセットする。
(ステップS502)走行履歴情報格納部111は、走行履歴情報[i]から、走行終了情報を取得する。走行終了情報とは、走行履歴情報が有する走行履歴構成情報における順序が最後の走行履歴構成情報である。また、走行終了情報は、例えば、位置情報であることが好適である。
(ステップS503)走行履歴情報格納部111は、ステップS502で取得した走行終了情報が、受付部114が受信した目的地情報と同一であるか否かを判断する。同一である場合は、ステップS504に進み、そうでない場合は、ステップS505に進む。
(ステップS504)走行履歴情報格納部111は、走行履歴情報[i]を取得する。
(ステップS505)走行履歴情報格納部111は、iがmであるか否かを判断する。mである場合は、上位処理にリターンし、そうでない場合は、ステップS506に進む。
(ステップS506)走行履歴情報格納部111は、iを1インクリメントする。そして、ステップS502に戻る。
図6は、図3のフローチャートのステップS308の経路情報を用いた走行履歴情報の取得処理を示すフローチャートである。なお、図6のフローチャートにおいて、走行履歴情報格納部111には、m個の走行履歴情報が格納されているものとする。
(ステップS601)走行履歴情報取得部115は、受付部114が受信した経路情報から、出発地情報を取得する。出発地情報とは、経路情報が示す経路の出発地を示す情報である。また、出発地情報は、例えば、位置情報であることが好適である。
(ステップS602)走行履歴情報取得部115は、受付部114が受信した経路情報から、目的地情報を取得する。当該目的地情報は、経路情報が示す経路の目的地を示す情報である。また、当該目的地情報は、例えば、位置情報であることが好適である。
(ステップS603)走行履歴情報取得部115は、カウンタiに1をセットする。
(ステップS604)走行履歴情報取得部115は、走行履歴情報[i]から、走行開始情報を取得する。
(ステップS605)走行履歴情報取得部115は、走行履歴情報[i]から、走行終了情報を取得する。
(ステップS606)走行履歴情報取得部115は、ステップS604で取得した走行開始情報が、ステップS601で取得した出発地情報と同一であり、かつ、ステップS605で取得した走行終了情報が、ステップS602で取得した目的地情報と同一であるか否かを判断する。両方とも同一である場合は、ステップS607に進み、そうでない場合は、ステップS608に進む。
(ステップS607)走行履歴情報取得部115は、走行履歴情報[i]を取得する。
(ステップS608)走行履歴情報取得部115は、iがmであるか否かを判断する。mである場合は、上位処理にリターンし、そうでない場合は、ステップS606に進む。
(ステップS609)走行履歴情報取得部115は、iを1インクリメントする。そして、ステップS604に戻る。
次に、ナビゲーション装置12の全体動作について、図7のフローチャートを用いて説明する。
(ステップS701)ナビゲーション装置12は、ナビ受付部121が電源ONの指示を受け付けたか否かを判断する。受け付けた場合は、ステップS702に進み、そうでない場合は、ステップS701に戻る。
(ステップS702)ナビゲーション装置12は、電源ONの処理を行う。
(ステップS703)ナビ送信部123は、ナビ受付部121が目的地情報を受け付けたか否かを判断する。受け付けた場合は、ステップS704に進み、そうでない場合は、ステップS714に進む。
(ステップS704)ナビ送信部123は、ステップS703で受け付けた目的地情報を情報処理装置11に送信するか否かを判断する。当該判断は、例えば、目的地情報を送信するか否かを示す情報が予め決められた記憶領域に格納されており、当該情報を用いて行う。そして、送信する場合は、ステップS705に進み、そうでない場合は、ステップS706に進む。
(ステップS705)ナビ送信部123は、ステップS703で受け付けた目的地情報を、ユーザ識別情報を対応付けて、情報処理装置11に送信する。
(ステップS706)ナビ処理部122は、現在位置情報を取得する。
(ステップS707)ナビ送信部123は、ステップS706で取得した現在位置情報を情報処理装置11に送信するか否かを判断する。当該判断は、例えば、現在位置情報を送信するか否かを示す情報が予め決められた記憶領域に格納されており、当該情報を用いて行う。そして、送信する場合は、ステップS708に進み、そうでない場合は、ステップS709に進む。
(ステップS708)ナビ送信部123は、ステップS706で取得した現在位置情報を、ユーザ識別情報を対応付けて、情報処理装置11に送信する
(ステップS709)ナビ処理部122は、ステップS706で取得した現在位置情報と、ステップS703で受け付けた目的地情報と、予め保持している地図情報とを用いて、当該現在位置情報が示す現在位置から、当該目的地情報が示す目的地までの経路を探索し、当該経路を示す経路情報を取得する。
(ステップS710)ナビ送信部123は、ステップS709で取得した経路情報を情報処理装置11に送信するか否かを判断する。当該判断は、例えば、経路情報を送信するか否かを示す情報が予め決められた記憶領域に格納されており、当該情報を用いて行う。そして、送信する場合は、ステップS711に進み、そうでない場合は、ステップS712に進む。
(ステップS711)ナビ送信部123は、ステップS709で取得した経路情報を、ユーザ識別情報を対応付けて、情報処理装置11に送信する。
(ステップS712)ナビ出力部125は、ナビ送信部123が、ステップS705、ステップS708、ステップS711のいずれかにおいて、情報処理装置11に情報を送信したか否かを判断する。送信した場合は、ステップS713に進み、そうでない場合は、ステップS715に進む。
(ステップS713)ナビ出力部125は、ナビ受信部124が情報処理装置11から走行履歴情報を受信したか否かを判断する。受信した場合は、ステップS714に進み、そうでない場合は、ステップS713に戻る。
(ステップS714)ナビ出力部125は、ステップS713で受信した走行履歴情報を出力する。
(ステップS715)ナビ処理部122は、ナビゲーション装置12が設置されている移動体が走行を開始したか否かを判断する。走行を開始した場合は、ステップS716に進み、そうでない場合は、ステップS720に進む。なお、移動体が走行を開始したか否かを判断する方法や手順などは、公知であるので、詳細な説明を省略する。
(ステップS716)ナビ処理部122は、走行履歴構成情報を取得する。この処理の詳細は、図8のフローチャートを用いて説明する。
(ステップS717)ナビ処理部122は、構成済みの走行履歴情報または取得済みの走行履歴構成情報に、取得した走行履歴構成情報を連結し、走行履歴情報を構成する。
(ステップS718)ナビ処理部122は、ナビゲーション装置12が設置されている移動体が走行を終了したか否かを判断する。走行を終了した場合は、ステップS719に進み、そうでない場合は、ステップS716に戻る。なお、移動体が走行を終了したか否かを判断する方法や手順などは、公知であるので、詳細な説明を省略する。
(ステップS719)ナビ送信部123は、ナビ処理部122が構成した走行履歴情報を、ユーザ識別情報を対応付けて、情報処理装置11に送信する。
(ステップS720)ナビゲーション装置12は、ナビ受付部121が電源OFFの指示を受け付けたか否かを判断する。受け付けた場合は、ステップS721に進み、そうでない場合は、ステップS703に戻る。
(ステップS721)ナビゲーション装置12は、電源OFFの処理を行う。そして、ステップS701に戻る。
なお、図7のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
また、図7のフローチャートにおいて、ナビ送信部123は、目的地情報、現在位置情報、経路情報のいずれかを、情報処理装置11に送信する。
図8は、図7のフローチャートのステップS716の走行履歴構成情報の取得処理を示すフローチャートである。
(ステップS801)ナビ処理部122は、現在位置情報を取得する。
(ステップS802)ナビ処理部122は、現在の時刻を示す時刻情報を取得する。
(ステップS803)ナビ処理部122は、ステップS801で取得した現在位置情報と、予め保持している地図情報が有する道路情報とを用いて、ナビゲーション装置12が設置されている移動体が、他の道路に進入したか否かを判断する。進入した場合は、ステップS804に進み、そうでない場合は、ステップS805に進む。
(ステップS804)ナビ処理部122は、移動体が進入した道路に関する道路情報を、予め保持している地図情報から取得する。そして、ナビ処理部122は、当該道路情報に、ステップS802で取得した時刻情報を対応付ける。
(ステップS805)ナビ処理部122は、ステップS801で取得した現在位置情報と、予め保持している地図情報が有する地域情報とを用いて、ナビゲーション装置12が設置されている移動体が、他の地域に進入したか否かを判断する。進入した場合は、ステップS806に進み、そうでない場合は、ステップS807に進む。
(ステップS806)ナビ処理部122は、移動体が進入した地域に関する地域情報を、予め保持している地図情報から取得する。そして、ナビ処理部122は、当該地域情報に、ステップS802で取得した時刻情報を対応付ける。
(ステップS807)ナビ処理部122は、ステップS801で取得した現在位置情報と、予め保持している地図情報が有する地点情報とを用いて、ナビゲーション装置12が設置されている移動体が、一の地点を通過したか否かを判断する。通過した場合は、ステップS808に進み、そうでない場合は、上位処理にリターンする。
(ステップS808)ナビ処理部122は、移動体が通過した一の地点に関する地点情報を、予め保持している地図情報から取得する。そして、ナビ処理部122は、当該地点情報に、ステップS802で取得した時刻情報を対応付ける。そして、上位処理にリターンする。
なお、上記で説明した情報システム1の全体動作は、あくまで一例である。つまり、情報システム1の全体動作は、上記の説明に限定されるものではない。
(具体例)
次に、情報システム1の動作の具体例について説明する。なお、本具体例において、情報処理装置11は、サーバ装置(以下、適宜、サーバとする)であるものとする。また、ナビゲーション装置12は、自動車に設置されているカーナビゲーションシステム(以下、適宜、カーナビとする)であるものとする。
(例1)
本例において、情報処理装置11が、ナビゲーション装置12から走行履歴情報を受信し、蓄積する例などについて説明する。
まず、ユーザ(以下、適宜、ユーザAとする)が、自動車(以下、適宜、自動車Aとする)に乗り込み、当該自動車AのエンジンをONにしたとする。すると、当該自動車Aに設置されているカーナビ(以下、適宜、カーナビAとする)の電源がONになる。
次に、ユーザAが、自動車Aの運転を開始し、自動車Aが走行を開始したとする。すると、カーナビAのナビ処理部122は、現在位置情報の取得を開始する。当該取得は、定期的な取得である。また、ナビ処理部122は、必要に応じて、当該現在位置情報に対応する走行履歴構成情報を取得する。
まず、ナビ処理部122は、例えば、取得した現在位置情報と、予め保持している地図情報とを用いて、出発地を含む地域に関する地域情報を、予め保持している地図情報から取得する。そして、ナビ処理部122は、現在の時刻を示す時刻情報を取得し、取得した地域情報に対応付ける。
また、例えば、自動車Aが、出発地に面した道路に進入したとする。すると、ナビ処理部122は、取得した現在位置情報と、予め保持している地図情報とを用いて、当該進入した道路に関する道路情報を、予め保持している地図情報から取得する。当該道路情報は、例えば、道路の名称を示す情報と、道路の両端の位置を示す情報とを有する。そして、ナビ処理部122は、現在の時刻を示す時刻情報を取得し、取得した道路情報に対応付ける。
また、例えば、自動車Aが、交差点を通過したとする。すると、ナビ処理部122は、取得した現在位置情報と、予め保持している地図情報とを用いて、当該通過した交差点に関する地点情報を、予め保持している地図情報から取得する。当該地点情報は、例えば、地点の名称を示す情報と、地点の位置を示す情報とを有する。そして、ナビ処理部122は、現在の時刻を示す時刻情報を取得し、取得した地点情報に対応付ける。
また、例えば、自動車Aが、上記交差点を通過した結果、他の道路に進入したとする。すると、ナビ処理部122は、取得した現在位置情報と、予め保持している地図情報とを用いて、当該進入した道路に関する道路情報を、予め保持している地図情報から取得する。そして、ナビ処理部122は、現在の時刻を示す時刻情報を取得し、取得した道路情報に対応付ける。
また、例えば、自動車Aが、出発地を含む地域とは異なる他の地域に進入したとする。すると、ナビ処理部122は、取得した現在位置情報と、予め保持している地図情報とを用いて、当該進入した地域に関する地域情報を、予め保持している地図情報から取得する。当該地域情報は、例えば、地域の名称を示す情報と、地域の範囲を示す情報とを有する。そして、ナビ処理部122は、現在の時刻を示す時刻情報を取得し、取得した地域情報に対応付ける。
また、例えば、自動車Aが、とあるショッピングセンターの駐車場に駐車したとする。すると、ナビ処理部122は、取得した現在位置情報と、予め保持している地図情報とを用いて、当該ショッピングセンターに関する地点情報を、予め保持している地図情報から取得する。そして、ナビ処理部122は、現在の時刻を示す時刻情報を取得し、取得した地点情報に対応付ける。
また、ナビ処理部122は、走行履歴構成情報を取得するたびに、当該取得した走行履歴構成情報を、取得済みの走行履歴構成情報に連結し、走行履歴情報を構成する。例えば、ナビ処理部122が、一の走行履歴構成情報を取得したとする。ここで、例えば、ナビ処理部122は、自動車Aが走行を開始してから、1つの走行履歴構成情報も取得していないとする。すると、ナビ処理部122は、取得した一の走行履歴構成情報を、走行履歴情報とする。また、例えば、ナビ処理部122は、自動車Aが走行を開始してから、2以上の走行履歴構成情報を取得し、走行履歴情報を構成済みであるとする。すると、ナビ処理部122は、当該構成済みの走行履歴情報に、取得した一の走行履歴構成情報を連結し、新たな走行履歴情報を構成する。当該新たな走行履歴情報の構成は、例えば、構成済みの走行履歴情報の更新であるとも言える。
以上のようにして、ナビ処理部122は、自動車Aが走行を開始してから、当該走行を終了するまでに間に、1または2以上の走行履歴構成情報を取得し、一の走行履歴情報を構成する。当該走行履歴情報は、例えば、図9である。図9において、走行履歴情報は、レコードを一意に特定するためのIDと、走行履歴構成情報(項目名:名称、位置等)と、時刻情報(項目名:時刻)とを有する。また、図9において、一のレコードは、1種類の走行履歴構成情報を有する。
ここで、カーナビAの予め決められた記憶領域に、当該カーナビAを識別するユーザ識別情報であるIPアドレス「202.23.19.105」が格納されているものとする。
次に、ナビ送信部123は、ナビ処理部122が取得した図9の走行履歴情報に、IPアドレス「202.23.19.105」を対応付けて、サーバに送信する。
次に、サーバの受信部112は、ユーザ識別情報(IPアドレス)が対応付いた図9の走行履歴情報を受信する。そして、蓄積部113は、当該走行履歴情報を、対応付いているIPアドレスと共に、走行履歴情報格納部111に蓄積する。このとき、蓄積部113は、例えば、受信部112が受信した走行履歴情報を識別する情報(以下、適宜、走行履歴識別情報とする)を取得する。当該走行履歴識別情報を取得する方法や手順などは、問わない。そして、蓄積部113は、受信部112が受信した走行履歴情報を、走行履歴情報格納部111に蓄積する。また、蓄積部113は、取得した走行履歴識別情報と、受信部112が受信した走行履歴情報に対応付いているIPアドレスとを対応付けて、走行履歴情報格納部111に蓄積する。
また、ユーザAとは異なるユーザ(以下、適宜、ユーザBとする)が、ユーザAと同様に、自動車(以下、適宜、自動車Bとする)に乗り込み、当該自動車BのエンジンをONにしたとする。すると、当該自動車Bに設置されているカーナビ(以下、適宜、カーナビBとする)の電源がONになる。
次に、ユーザBが、自動車Bの運転を開始し、自動車Bが走行を開始したとする。すると、カーナビBのナビ処理部122は、上記、カーナビAのナビ処理部122と同様に、走行履歴情報の取得を開始する。そして、ナビ処理部122による走行履歴情報の取得が終了すると、ナビ送信部123は、カーナビBの予め決められた記憶領域に格納されているIPアドレスを対応付けて、ナビ処理部122が取得した走行履歴情報を、サーバに送信する。
そして、サーバの受信部112は、上記と同様に、ユーザ識別情報(IPアドレス)が対応付いた走行履歴情報を受信する。そして、蓄積部113は、当該走行履歴情報を、対応付いているIPアドレスと共に、走行履歴情報格納部111に蓄積する。
以上のようにして、走行履歴情報格納部111に蓄積された走行履歴情報は、例えば、図10である。図10は、蓄積された走行履歴情報を識別する走行履歴識別情報(項目名:走行履歴)と、ユーザ識別情報であるIPアドレス(項目名:ユーザ)との対応表である。また、当該対応表は、レコードを一意に特定するためのIDを有する。
(例2)
本例において、情報処理装置11が、走行履歴情報を取得し、ナビゲーション装置12に送信する例などについて説明する。なお、本例において、走行履歴情報格納部111には、図10の走行履歴情報が格納されているものとする。また、ナビゲーション装置12(ナビ送信部123)は、走行履歴情報の受信のために、経路情報を情報処理装置11に送信するものとする。
まず、ユーザが、自動車に乗り込み、自動車のエンジンをONにしたとする。すると、当該自動車に設置されているカーナビの電源がONになる。
次に、ユーザが、カーナビに対し、目的地までの経路を探索するための操作を行ったとする。すると、ナビ受付部121は、当該目的地を示す目的地情報を受け付ける。そして、ナビ処理部122は、現在位置情報を取得する。当該現在位置情報は、カーナビ(当該カーナビが設置されている自動車)の現在位置を示す情報である。そして、ナビ処理部122は、当該現在位置情報と、ナビ受付部121が受け付けた目的地情報と、予め保持している地図情報とを用いて、当該現在位置情報が示す現在位置から、当該目的地情報が示す目的地までの経路を探索し、当該経路を示す経路情報を取得する。当該経路情報は、例えば、図11である。当該経路情報は、レコードを一意に特定するためのIDと、道路情報を有する。当該道路情報は、道路の両端の地点の名称を示す情報(項目名:地点名1、地点名2)と、道路の両端の位置を示す情報(項目名:位置1、位置2)と、道路の名称を示す情報(道路名)とを有する。「位置1」は、「地点名1」の地点の位置である。また、「位置2」は、「地点名2」の地点の位置である。
ここで、カーナビの予め決められた記憶領域に、当該カーナビを識別するユーザ識別情報であるIPアドレス「201.22.13.104」が格納されているものとする。
次に、ナビ送信部123は、図11の経路情報に、IPアドレス「201.22.13.104」を対応付けて、サーバに送信する。
次に、サーバの受付部114は、ユーザ識別情報(IPアドレス)が対応付いた図11の経路情報を受信する。
次に、走行履歴情報取得部115は、受付部114が受信した経路情報から、出発地情報と、目的地情報とを取得する。出発地情報は、例えば、図11の「ID=001」の「位置1:(N35.1199,E135.2684)」である。また、目的地情報は、例えば、図11の「ID=009」の「位置2:(N35.2090,E135.3575)」である。
次に、走行履歴情報取得部115は、図10の各走行履歴情報から、走行開始情報と、走行終了情報とを取得する。当該走行開始情報および走行終了情報は、位置情報である。
次に、走行履歴情報取得部115は、図10の各走行履歴情報に対して、取得した走行開始情報が、取得した出発地情報と同一であり、かつ、取得した走行終了情報が、取得した目的地情報と同一であるか否かを判断する。ここで、図10の「ID=015」の走行履歴識別情報「走行履歴:DR10015」により識別される走行履歴情報から取得した走行開始情報が、取得した出発地情報と同一であり、かつ、当該走行履歴情報から取得した走行終了情報が、取得した目的地情報と同一であるとする。すると、走行履歴情報取得部115は、図10の「ID=015」の走行履歴識別情報「走行履歴:DR10015」により識別される走行履歴情報に対して、取得した走行開始情報が、取得した出発地情報と同一であり、かつ、取得した走行終了情報が、取得した目的地情報と同一であると判断する。そして、走行履歴情報取得部115は、図10の「ID=015」の走行履歴識別情報「走行履歴:DR10015」により識別される走行履歴情報を、走行履歴情報格納部111から取得する。
次に、出力部118は、走行履歴情報格納部111が取得した走行履歴情報を、上記のカーナビに送信する。当該カーナビは、受付部114が受信した経路情報に対応付いていたIPアドレス「201.22.13.104」により識別される。
次に、カーナビのナビ受信部124は、サーバから走行履歴情報を受信する。そして、ナビ出力部125は、当該走行履歴情報を出力する。当該出力の例は、図12である。また、このとき、ナビ出力部125は、例えば、ナビ処理部122が取得した経路情報が示す経路と、ナビ受信部124が受信した走行履歴情報により示される経路とが、比較できる態様にて、当該経路情報と走行履歴情報とを出力してもよい。
以上、本実施の形態による情報システム1によれば、設定した目的地等に応じて、過去の走行履歴を表示することができる。これにより、ユーザは、例えば、システムが探索した経路と、過去の走行履歴とを比較しながら、目的地までの経路を選択することができる。
なお、本実施の形態において、ナビ受信部124が受信した1または2以上の走行履歴情報は、例えば、ナビゲーションに用いられてもよい。この場合、ナビ出力部125は、例えば、ナビ処理部122が取得した経路情報が示す経路、および、ナビ受信部124が受信した1または2以上の各走行履歴情報により示される経路が、地図上に表示されるように、当該経路情報と、当該走行履歴情報と、地図情報とを出力する。そして、ナビ受付部121は、当該2または3以上の経路のいずれかを選択する指示を受け付ける。そして、当該指示により選択された経路が、走行履歴情報により示される経路である場合、ナビ処理部122は、当該選択された経路を示す走行履歴情報から、現在位置情報が示す位置から、目的地情報が示す地点までの経路を示す情報を取得する。そして、ナビ処理部122は、当該取得した情報を用いて、ナビゲーションを行う。当該ナビゲーションは、例えば、目的地までの経路の表示、進路変更などの音声案内、経路を外れた場合の経路の再探索および当該経路の表示などである。なお、ナビゲーションの内容およびナビゲーションのための処理などは、公知であるので、詳細な説明を省略する。
(実施の形態2)
本実施の形態において、1または2以上の情報処理装置21を備える情報システム2について説明する。
情報処理装置21は、走行履歴情報を取得し、蓄積する。また、情報処理装置21は、例えば、他の情報処理装置21から、走行履歴情報を受信し、蓄積してもよい。また、情報処理装置21は、現在位置情報、目的地情報、経路情報のうちのいずれか1以上の情報を受け付ける。そして、情報処理装置21は、受け付けた情報に対応する走行履歴情報を、蓄積している走行履歴情報の中から取得する。そして、情報処理装置21は、取得した走行履歴情報を出力する。
図13は、本実施の形態における情報システム2の概念図である。図13において、2以上の各情報処理装置21は、他の情報処理装置21と、通信手段23を介して通信が可能である。
情報処理装置21は、通常、ナビゲーション装置である。また、情報処理装置21は、通常、移動体に設置されている。移動体は、例えば、自動車、バイク、自転車などである。また、移動体には、例えば、人が含まれてもよい。つまり、情報処理装置21は、例えば、カーナビゲーションシステム、バイク用のナビゲーションシステム、自転車用のナビゲーションシステム、ナビゲーション機能を有する携帯端末などである。当該携帯端末は、例えば、スマートフォン、携帯電話、PDA、タブレット型PCなどである。
また、通信手段23は、通常、近距離(短距離)の無線通信手段である。通信手段23は、例えば、Wi−Fi(登録商標)、Bluetooth(登録商標)、NFC、ZigBee(登録商標)などである。また、通信手段13は、例えば、無線の通信回線であってもよい。当該無線の通信回線は、例えば、インターネット、イントラネット、LAN、公衆電話回線網などである。
また、以上より、異なる2以上の情報処理装置21間の通信は、例えば、いわゆる車車間通信である。
また、図14は、本実施の形態における情報処理装置21のブロック図である。情報処理装置21は、走行履歴情報格納部211、受信部212、処理部213、蓄積部214、送信部215、受付部216、走行履歴情報取得部217、走行時間算出部218、走行距離算出部219、出力部220を備える。
走行履歴情報格納部211には、1または2以上の走行履歴情報が格納される。当該走行履歴情報は、当該走行履歴情報に対応付いているユーザ識別情報が、情報処理装置21を識別する情報であること以外は、走行履歴情報格納部111に格納される走行履歴情報と同様であるので、説明を省略する。つまり、本実施の形態において、ユーザ識別情報は、例えば、情報処理装置21を識別する情報であることが好適である。
また、走行履歴情報格納部211は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。また、走行履歴情報格納部211などに所定の情報が記憶される過程は、問わない。例えば、当該所定の情報は、記録媒体、通信回線、入力デバイスなどを介して走行履歴情報格納部211などに記憶されてもよい。
受信部212は、他の1または2以上の各情報処理装置21から、走行履歴情報を受信する。当該走行履歴情報には、例えば、ユーザ識別情報、走行時間、走行距離、属性値などが対応付いていてもよい。
また、受信部212は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されてもよい。
処理部213は、経路情報を取得する。当該経路情報を取得する方法や手順などは、後述の受付部216が受け付けた目的地情報を用いること以外は、ナビ処理部122が経路情報を取得する方法や手順などと同様であるので、説明を省略する。また、処理部213は、走行履歴情報を取得する。当該走行履歴情報を取得する方法や手順などは、ナビ処理部122が走行履歴情報を取得する方法や手順などと同様であるので、説明を省略する。
蓄積部214は、受信部212が受信した走行履歴情報を、走行履歴情報格納部211に蓄積する。当該受信部212が受信した走行履歴情報を蓄積する方法や手順などは、蓄積部113が、受信部112が受信した走行履歴情報を蓄積する方法や手順などと同様であるので、説明を省略する。
また、蓄積部214は、処理部213が取得した走行履歴情報を、走行履歴情報格納部211に蓄積する。このとき、蓄積部214は、当該走行履歴情報を、当該走行履歴情報に対応付いている情報と共に蓄積する。当該情報は、例えば、走行時間、走行距離、属性値などである。また、蓄積部214は、当該走行履歴情報を、ユーザ識別情報を対応付けて蓄積する。当該ユーザ識別情報は、例えば、蓄積部214が予め保持している。また、当該ユーザ識別情報は、例えば、予め決められた記憶領域に格納されていてもよい。
送信部215は、処理部213が取得した走行履歴情報を、他の情報処理装置21に送信する。このとき、送信部215は、当該走行履歴情報を、当該走行履歴情報に対応付いている情報と共に送信する。また、送信部215は、当該走行履歴情報を、ユーザ識別情報を対応付けて送信する。当該ユーザ識別情報は、例えば、送信部215が予め保持している。また、当該ユーザ識別情報は、例えば、予め決められた記憶領域に格納されていてもよい。
また、送信部215は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されてもよい。
受付部216は、情報を受け付ける。当該情報は、例えば、現在位置情報、目的地情報、経路情報などである。当該現在位置情報は、処理部213が取得した現在位置情報である。また、当該経路情報は、処理部213が取得した経路情報である。
また、受付部216が、上記の情報を受け付けるタイミングは、問わない。受付部216は、例えば、ナビ受付部121が、目的地や目的地までの経路の設定を開始する指示や操作などを受け付けた場合に、現在位置情報を受け付ける。また、受付部216は、例えば、情報処理装置21が設置されている移動体が、経路情報が示す経路を外れた場合に、現在位置情報を受け付ける。また、受付部216は、例えば、ユーザが目的地情報を入力した場合に、当該目的地情報を受け付ける。また、受付部216は、例えば、目的地情報を受け付けた場合に、現在位置情報を受け付ける。また、受付部216は、例えば、処理部213が経路情報を取得した場合に、当該経路情報を受け付ける。
また、受付部216における情報や指示などの入力手段は、メニュー画面によるもの、キーボードなど、何でもよい。受付部216は、メニュー画面の制御ソフトウェア、キーボード等の入力手段のデバイスドライバなどで実現され得る。
走行履歴情報取得部217は、受付部216が受け付けた情報に対応する1または2以上の走行履歴情報を、走行履歴情報格納部211から取得する。当該走行履歴情報を取得する方法や手順などは、走行履歴情報取得部115が走行履歴情報を取得する方法や手順などと同様であるので、説明を省略する。
走行時間算出部218は、走行履歴情報取得部217が取得した1または2以上の各走行履歴情報に対して、走行時間を算出する。当該走行時間を算出する方法や手順などは、走行時間算出部116が走行時間を算出する方法や手順などと同様であるので、説明を省略する。
走行距離算出部219は、走行履歴情報取得部217が取得した1または2以上の各走行履歴情報に対して、走行距離を算出する。当該走行時間を算出する方法や手順などは、走行距離算出部117が走行距離を算出する方法や手順などと同様であるので、説明を省略する。
出力部220は、走行履歴情報取得部217が取得した1または2以上の走行履歴情報を出力する。当該走行履歴情報を出力する方法や手順などは、ナビゲーション装置12に送信しないこと以外は、出力部118が走行履歴情報を出力する方法や手順などと同様であるので、説明を省略する。
また、出力部220は、ディスプレイやスピーカーなどの出力デバイスを含むと考えてもよいし、含まないと考えてもよい。出力部220は、出力デバイスのドライバソフトまたは、出力デバイスのドライバソフトと出力デバイスなどで実現され得る。
なお、処理部213、蓄積部214、走行履歴情報取得部217、走行時間算出部218、走行距離算出部219は、通常、MPUやメモリ等から実現され得る。また、処理部213などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。なお、処理部213などは、ハードウェア(専用回路)で実現されてもよい。
次に、情報システム2の全体動作について、フローチャートを用いて説明する。なお、所定の情報におけるi番目の情報は、「情報[i]」と記載するものとする。図15は、情報処理装置21の全体動作を示すフローチャートである。
(ステップS1501)情報処理装置21は、受付部216が電源ONの指示を受け付けたか否かを判断する。受け付けた場合は、ステップS1502に進み、そうでない場合は、ステップS1501に戻る。
(ステップS1502)情報処理装置21は、電源ONの処理を行う。
(ステップS1503)処理部213は、受付部216が目的地情報を受け付けたか否かを判断する。受け付けた場合は、ステップS1504に進み、そうでない場合は、ステップS1505に進む。
(ステップS1504)走行履歴情報取得部217は、走行履歴情報格納部211から走行履歴情報を取得し、出力部220は、当該取得した走行履歴情報を出力する。この処理の詳細は、図16のフローチャートを用いて説明する。
(ステップS1505)処理部213は、情報処理装置21が設置されている移動体が走行を開始したか否かを判断する。走行を開始した場合は、ステップS1506に進み、そうでない場合は、ステップS1510に進む。なお、移動体が走行を開始したか否かを判断する方法や手順などは、公知であるので、詳細な説明を省略する。
(ステップS1506)処理部213は、走行履歴構成情報を取得する。この処理の詳細は、図8のフローチャートと同様であるので、説明を省略する。
(ステップS1507)処理部213は、構成済みの走行履歴情報または取得済みの走行履歴構成情報に、取得した走行履歴構成情報を連結し、走行履歴情報を構成する。
(ステップS1508)処理部213は、情報処理装置21が設置されている移動体が走行を終了したか否かを判断する。走行を終了した場合は、ステップS1509に進み、そうでない場合は、ステップS1506に戻る。なお、移動体が走行を終了したか否かを判断する方法や手順などは、公知であるので、詳細な説明を省略する。
(ステップS1509)蓄積部214は、処理部213が構成した走行履歴情報を、ユーザ識別情報を対応付けて、走行履歴情報格納部211に蓄積する。
(ステップS1510)蓄積部214は、受信部212が走行履歴情報を受信したか否かを判断する。受信した場合は、ステップS1511に進み、そうでない場合は、ステップS1512に進む。
(ステップS1511)蓄積部214は、受信部212が受信した走行履歴情報を走行履歴情報格納部211に蓄積する。
(ステップS1512)情報処理装置21は、受付部216が電源OFFの指示を受け付けたか否かを判断する。受け付けた場合は、ステップS1513に進み、そうでない場合は、ステップS1503に戻る。
(ステップS1513)情報処理装置21は、電源OFFの処理を行う。そして、ステップS1501に戻る。
なお、図15のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
図16は、図15のフローチャートのステップS1504の走行履歴情報の取得と出力処理を示すフローチャートである。
(ステップS1601)走行履歴情報取得部217は、走行履歴情報の取得に、目的地情報を使用するか否かを判断する。当該判断は、例えば、目的地情報を使用するか否かを示す情報が予め決められた記憶領域に格納されており、当該情報を用いて行う。そして、使用する場合は、ステップS1602に進み、そうでない場合は、ステップS1603に進む。
(ステップS1602)走行履歴情報取得部217は、受付部216が受け付けた目的地情報を用いて、走行履歴情報格納部211から走行履歴情報を取得する。この処理の詳細は、図5のフローチャートと同様であるので、説明を省略する。
(ステップS1603)処理部213は、現在位置情報を取得する。
(ステップS1604)走行履歴情報取得部217は、走行履歴情報の取得に、現在位置情報を使用するか否かを判断する。当該判断は、例えば、現在位置情報を使用するか否かを示す情報が予め決められた記憶領域に格納されており、当該情報を用いて行う。そして、使用する場合は、ステップS1605に進み、そうでない場合は、ステップS1606に進む。
(ステップS1605)走行履歴情報取得部217は、ステップS1603で取得した現在位置情報を用いて、走行履歴情報格納部211から走行履歴情報を取得する。この処理の詳細は、図4のフローチャートと同様であるので、説明を省略する。
(ステップS1606)処理部213は、ステップS1603で取得した現在位置情報と、受付部216が受け付けた目的地情報と、予め保持している地図情報とを用いて、当該現在位置情報が示す現在位置から、当該目的地情報が示す目的地までの経路を探索し、当該経路を示す経路情報を取得する。
(ステップS1607)走行履歴情報取得部217は、走行履歴情報の取得に、経路情報を使用するか否かを判断する。当該判断は、例えば、経路情報を使用するか否かを示す情報が予め決められた記憶領域に格納されており、当該情報を用いて行う。そして、使用する場合は、ステップS1608に進み、そうでない場合は、ステップS1609に進む。
(ステップS1608)走行履歴情報取得部217は、ステップS1606で取得した経路情報を用いて、走行履歴情報格納部211から走行履歴情報を取得する。この処理の詳細は、図6のフローチャートと同様であるので、説明を省略する。
(ステップS1609)出力部220は、走行履歴情報取得部217が1以上の走行履歴情報を取得したか否かを判断する。取得した場合は、ステップS1610に進み、そうでない場合は、上位処理にリターンする。
(ステップS1610)走行時間算出部218は、走行履歴情報取得部217が取得した1以上の各走行履歴情報に対して、走行時間を算出し、対応付ける。
(ステップS1611)走行距離算出部219は、走行履歴情報取得部217が取得した1以上の各走行履歴情報に対して、走行距離を算出し、対応付ける。
(ステップS1612)出力部220は、走行履歴情報取得部217が取得した1以上の走行履歴情報を、対応する走行時間および走行距離に基づきソートする。
(ステップS1613)出力部220は、ソートした走行履歴情報を出力する。そして、上位処理にリターンする。
また、図16のフローチャートにおいて、走行履歴情報取得部217は、目的地情報、現在位置情報、経路情報のいずれかを用いて、走行履歴情報を取得する。
なお、上記で説明した情報システム2の全体動作は、あくまで一例である。つまり、情報システム2の全体動作は、上記の説明に限定されるものではない。
(具体例)
次に、情報システム2の動作の具体例について説明する。なお、本具体例において、情報処理装置21は、自動車に設置されているカーナビゲーションシステム(以下、適宜、カーナビとする)であるものとする。また、実施の形態1の具体例において説明済みである動作や処理などについては、適宜、説明を省略する。
(例1)
本例において、情報処理装置21が、他の情報処理装置21から走行履歴情報を受信し、蓄積する例などについて説明する。
まず、ユーザ(以下、適宜、ユーザAとする)が、自動車(以下、適宜、自動車Aとする)に乗り込み、当該自動車AのエンジンをONにしたとする。すると、当該自動車Aに設置されているカーナビ(以下、適宜、カーナビAとする)の電源がONになる。
次に、ユーザAが、自動車Aの運転を開始し、自動車Aが走行を開始したとする。すると、カーナビAの処理部213は、走行履歴情報の取得を開始する。そして、処理部213による走行履歴情報の取得が終了すると、蓄積部214は、カーナビAの予め決められた記憶領域に格納されているIPアドレスを対応付けて、処理部213が取得した走行履歴情報を、走行履歴情報格納部211に蓄積する。当該走行履歴情報は、例えば、図9である。また、送信部215は、当該IPアドレスを対応付けて、当該走行履歴情報を、他のカーナビに送信する。当該送信は、通常、いわゆるブロードキャストである。また、当該送信は、例えば、いわゆるユニキャストであってもよい。また、当該送信は、例えば、図示しないサーバ装置への送信であってもよい。この場合、当該サーバ装置は、例えば、受信した走行履歴情報を、他のカーナビに送信する。
次に、例えば、自動車Aとは異なる自動車(以下、適宜、自動車Bとする)に、カーナビAとは異なるカーナビ(以下、適宜、カーナビB)が設置されているとする。また、自動車Bが、自動車Aの付近を走行していたとする。すると、カーナビBの受信部212は、ユーザ識別情報(IPアドレス)が対応付いた走行履歴情報を受信する。当該走行履歴情報は、例えば、カーナビAの送信部215が送信した走行履歴情報である。そして、カーナビBの蓄積部214は、当該走行履歴情報を、対応付いているIPアドレスと共に、カーナビBの走行履歴情報格納部211に蓄積する。
次に、例えば、ユーザAが、再度、自動車Aに乗り込み、自動車Aが走行を開始したとする。すると、カーナビAの処理部213は、走行履歴情報の取得を開始する。そして、処理部213による走行履歴情報の取得が終了すると、蓄積部214は、カーナビAの予め決められた記憶領域に格納されているIPアドレスを対応付けて、処理部213が取得した走行履歴情報を、走行履歴情報格納部211に蓄積する。また、送信部215は、当該IPアドレスを対応付けて、当該走行履歴情報を、他のカーナビに送信する。
次に、例えば、自動車A、自動車Bとは異なる自動車(以下、適宜、自動車Cとする)に、カーナビA、カーナビBとは異なるカーナビ(以下、適宜、カーナビC)が設置されているとする。また、自動車Cが、自動車Aの付近を走行していたとする。すると、カーナビCの受信部212は、ユーザ識別情報(IPアドレス)が対応付いた走行履歴情報を受信する。当該走行履歴情報は、例えば、カーナビAの送信部215が送信した走行履歴情報である。そして、カーナビCの蓄積部214は、当該走行履歴情報を、対応付いているIPアドレスと共に、カーナビCの走行履歴情報格納部211に蓄積する。
以上のようにして、走行履歴情報格納部211に蓄積された走行履歴情報は、例えば、図10である。
(例2)
本例において、情報処理装置21が、走行履歴情報を取得し、出力する例について説明する。なお、本例において、走行履歴情報格納部211には、図10の走行履歴情報が格納されているものとする。また、情報処理装置21は、経路情報を用いて走行履歴情報を取得するものとする。
まず、ユーザが、自動車に乗り込み、自動車のエンジンをONにしたとする。すると、当該自動車に設置されているカーナビの電源がONになる。
次に、ユーザが、カーナビに対し、目的地までの経路を探索するための操作を行ったとする。すると、受付部216は、当該目的地を示す目的地情報を受け付ける。そして、処理部213は、現在位置情報を取得する。当該現在位置情報は、カーナビ(当該カーナビが設置されている自動車)の現在位置を示す情報である。そして、処理部213は、当該現在位置情報と、受付部216が受け付けた目的地情報と、予め保持している地図情報とを用いて、当該現在位置情報が示す現在位置から、当該目的地情報が示す目的地までの経路を探索し、当該経路を示す経路情報を取得する。当該経路情報は、例えば、図11である。
次に、走行履歴情報取得部217は、処理部213が取得した経路情報から、出発地情報と、目的地情報とを取得する。出発地情報は、例えば、図11の「ID=001」の「位置1:(N35.1199,E135.2684)」である。また、目的地情報は、例えば、図11の「ID=009」の「位置2:(N35.2090,E135.3575)」である。
次に、走行履歴情報取得部217は、図10の各走行履歴情報から、走行開始情報と、走行終了情報とを取得する。当該走行開始情報および走行終了情報は、位置情報である。
次に、走行履歴情報取得部217は、図10の各走行履歴情報に対して、取得した走行開始情報が、取得した出発地情報と同一であり、かつ、取得した走行終了情報が、取得した目的地情報と同一であるか否かを判断する。ここで、図10の「ID=015」の走行履歴識別情報「走行履歴:DR10015」により識別される走行履歴情報から取得した走行開始情報が、取得した出発地情報と同一であり、かつ、当該走行履歴情報から取得した走行終了情報が、取得した目的地情報と同一であるとする。すると、走行履歴情報取得部217は、図10の「ID=015」の走行履歴識別情報「走行履歴:DR10015」により識別される走行履歴情報に対して、取得した走行開始情報が、取得した出発地情報と同一であり、かつ、取得した走行終了情報が、取得した目的地情報と同一であると判断する。そして、走行履歴情報取得部217は、図10の「ID=015」の走行履歴識別情報「走行履歴:DR10015」により識別される走行履歴情報を、走行履歴情報格納部111から取得する。
次に、出力部220は、走行履歴情報取得部217が取得した走行履歴情報を出力する。当該出力の例は、図12である。また、このとき、出力部220は、例えば、処理部213が取得した経路情報が示す経路と、走行履歴情報取得部217が取得した走行履歴情報により示される経路とが、比較できる態様にて、当該経路情報と走行履歴情報とを出力してもよい。
以上、本実施の形態による情報システム2によれば、設定した目的地等に応じて、過去の走行履歴を表示することができる。これにより、ユーザは、例えば、システムが探索した経路と、過去の走行履歴とを比較しながら、目的地までの経路を選択することができる。
なお、本実施の形態において、走行履歴情報取得部217が取得した1または2以上の走行履歴情報は、例えば、ナビゲーションに用いられてもよい。この場合、出力部220は、例えば、処理部213が取得した経路情報が示す経路、および、走行履歴情報取得部217が取得した1または2以上の各走行履歴情報により示される経路が、地図上に表示されるように、当該経路情報と、当該走行履歴情報と、地図情報とを出力する。そして、受付部216は、当該2または3以上の経路のいずれかを選択する指示を受け付ける。そして、当該指示により選択された経路が、走行履歴情報により示される経路である場合、処理部213は、当該選択された経路を示す走行履歴情報から、現在位置情報が示す位置から、目的地情報が示す地点までの経路を示す情報を取得する。そして、処理部213は、当該取得した情報を用いて、ナビゲーションを行う。当該ナビゲーションは、例えば、目的地までの経路の表示、進路変更などの音声案内、経路を外れた場合の経路の再探索および当該経路の表示などである。なお、ナビゲーションの内容およびナビゲーションのための処理などは、公知であるので、詳細な説明を省略する。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されてもよいことは言うまでもない。
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
また、上記各実施の形態における情報処理装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、移動体の過去の走行の履歴を示す情報であり、位置を示す情報である位置情報を少なくとも有する情報である1以上の走行履歴情報が格納される走行履歴情報格納部にアクセス可能なコンピュータを、現在の位置を示す情報である現在位置情報、目的地を示す情報である目的地情報、現在位置から目的地までの経路を示す情報である経路情報のうちのいずれか1以上の情報を受け付ける受付部、前記受付部が受け付けた情報に対応する走行履歴情報を、前記走行履歴情報格納部から取得する走行履歴情報取得部、前記走行履歴情報取得部が取得した走行履歴情報を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。
また、上記プログラムは、サーバなどからダウンロードされることによって実行されてもよいし、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、上記プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。つまり、集中処理を行ってもよいし、あるいは分散処理を行ってもよい。
また、図17は、前述のプログラムを実行して、前述の実施の形態の情報処理装置等を実現するコンピュータシステム9の概観図である。前述の実施の形態は、コンピュータハードウェア、およびその上で実行されるコンピュータプログラムで実現され得る。
図17において、コンピュータシステム9は、CD−ROMドライブ9011を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図18は、コンピュータシステム9のブロック図である。図18において、コンピュータ901は、CD−ROMドライブ9011に加えて、MPU9012と、ブートアッププログラム等のプログラムを記憶するためのROM9013と、MPU9012に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM9014と、アプリケーションプログラム、システムプログラム、およびデータを記憶するためのハードディスク9015と、CD−ROMドライブ9011、MPU9012等を相互に接続するバス9016とを備える。ここでは図示しないが、コンピュータ901は、さらに、LANへの接続を提供するネットワークカードを備えていてもよい。
コンピュータシステム9に、前述の実施の形態の情報処理装置等の機能を実行させるプログラムは、CD−ROM9101に記憶されて、CD−ROMドライブ9011に挿入され、さらにハードディスク9015に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク9015に記憶されてもよい。プログラムは実行の際にRAM9014にロードされる。プログラムは、CD−ROM9101またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、前述の実施の形態の情報処理装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいればよい。コンピュータシステム9がどのように動作するかは周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。