(57)【特許請求の範囲】
【請求項１】
検索対象を検索するための検索情報の連続的な入力を受け付ける検索情報受付部と、
前記検索情報に基づいてローカルデータベースを検索するローカル検索部と、
通信を利用して前記検索情報に基づいて外部データベースを検索する外部検索部と、
前記外部データベースの検索結果が取得されなかった場合、前記ローカルデータベースの検索結果をディスプレイに表示し、前記外部データベースの検索結果が取得された場合、前記外部データベースの検索結果をディスプレイに表示する検索結果表示部と、
前記検索情報が追加された場合、前記外部データベースの検索結果が取得されなかった原因が前記通信のエラーであったならば、前記外部検索部に前記通信を利用した前記外部データベースの検索を行わせず、追加された前記検索情報に基づいて前記ローカル検索部に前記ローカルデータベースの検索を行わせ、前記外部データベースの検索結果が取得されなかった原因が検索結果の不存在であったならば、追加された前記検索情報に基づいて前記外部検索部に前記通信を利用した前記外部データベースの検索を行わせる検索データベース選択部と、
を備える検索システム。
【請求項２】
前記検索情報受付部は、
前記検索対象に対応づけられた検索ワードと、前記検索対象を検索する検索条件とを受け付けることが可能である、
請求項１に記載の検索システム。
【請求項３】
コンピュータを、
検索対象を検索するための検索情報の連続的な入力を受け付ける検索情報受付部、
前記検索情報に基づいてローカルデータベースを検索するローカル検索部、
通信を利用して前記検索情報に基づいて外部データベースを検索する外部検索部、
前記外部データベースの検索結果が取得されなかった場合、前記ローカルデータベースの検索結果をディスプレイに表示し、前記外部データベースの検索結果が取得された場合、前記外部データベースの検索結果をディスプレイに表示する検索結果表示部、
前記検索情報が追加された場合、前記外部データベースの検索結果が取得されなかった原因が前記通信のエラーであったならば、前記外部検索部に前記通信を利用した前記外部データベースの検索を行わせず、追加された前記検索情報に基づいて前記ローカル検索部に前記ローカルデータベースの検索を行わせ、前記外部データベースの検索結果が取得されなかった原因が検索結果の不存在であったならば、追加された前記検索情報に基づいて前記外部検索部に前記通信を利用した前記外部データベースの検索を行わせる検索データベース選択部、
として機能させる検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索システムおよび検索プログラムに関する。
【背景技術】
【０００２】
従来、入力した文字列に対応する情報をローカルのデータベースとセンターのデータベースとから検索する技術が知られている（例えば、特許文献１）。また、１文字ずつ入力した文字列に部分一致する文字列を検索する技術が知られている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許４３０８６７９号公報
【特許文献２】特開２０１１−２３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
入力した文字列に対応する情報をローカルのデータベースとセンターのデータベースとから検索する技術において、外部に存在するセンターのデータベースを参照する場合、通信を行ってローカル側からセンター側にアクセスする必要がある。当該通信によってセンターから検索結果が得られなかった場合、通信完了までの待機時間が発生することを防止するなどのため、その後の文字列の追加の際にセンターとの通信を行わずに検索を行う構成を採用し得る。しかし、ローカルのデータベースとセンターのデータベースとでは、センターのデータベースの方が価値の高い情報が蓄積されていることが多く、通信によってセンターから検索結果が得られなかった後、一律にセンターのデータベースの参照を停止すると、価値の高い情報を有効活用することができない。一方、通信障害等によってセンターとの通信が不可能な状況である場合に、文字列の追加の度に通信を行うと、タイムアウトまでの待機時間が毎回発生するなどして極めてレスポンスの悪いシステムとなってしまう。
本発明は、前記課題にかんがみてなされたもので、レスポンスの高速化と外部データベースの有効利用とを両立させることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するため、検索システムは、検索対象を検索するための検索情報の連続的な入力を受け付ける検索情報受付部と、検索情報に基づいてローカルデータベースを検索するローカル検索部と、通信を利用して検索情報に基づいて外部データベースを検索する外部検索部と、外部データベースの検索結果が取得されなかった場合、ローカルデータベースの検索結果をディスプレイに表示し、外部データベースの検索結果が取得された場合、外部データベースの検索結果をディスプレイに表示する検索結果表示部と、検索情報が追加された場合、外部データベースの検索結果が取得されなかった原因が通信のエラーであったならば、外部検索部に通信を利用した外部データベースの検索を行わせず、追加された検索情報に基づいてローカル検索部にローカルデータベースの検索を行わせ、外部データベースの検索結果が取得されなかった原因が検索結果の不存在であったならば、追加された検索情報に基づいて外部検索部に通信を利用した外部データベースの検索を行わせる検索データベース選択部と、を備える。
【０００６】
さらに、上記の目的を達成するため、コンピュータを、検索対象を検索するための検索情報の連続的な入力を受け付ける検索情報受付部、検索情報に基づいてローカルデータベースを検索するローカル検索部、通信を利用して検索情報に基づいて外部データベースを検索する外部検索部、外部データベースの検索結果が取得されなかった場合、ローカルデータベースの検索結果をディスプレイに表示し、外部データベースの検索結果が取得された場合、外部データベースの検索結果をディスプレイに表示する検索結果表示部、検索情報が追加された場合、外部データベースの検索結果が取得されなかった原因が通信のエラーであったならば、外部検索部に通信を利用した外部データベースの検索を行わせず、追加された検索情報に基づいてローカル検索部にローカルデータベースの検索を行わせ、外部データベースの検索結果が取得されなかった原因が検索結果の不存在であったならば、追加された検索情報に基づいて外部検索部に通信を利用した外部データベースの検索を行わせる検索データベース選択部、として機能させる検索プログラムが構成される。
【０００７】
すなわち、検索システム、検索プログラムにおいては、検索情報を連続して入力することが可能であり、検索情報に基づいて検索が行われた後に検索情報が追加され得る。検索は外部データベース、ローカルデータベースの少なくとも一方に基づいて行われ、外部データベースの検索結果が取得されなかった場合にローカルデータベースの検索結果がディスプレイに表示される。
【０００８】
検索結果が一旦表示された状態で検索情報が追加されると、追加された検索情報に基づいて再度検索が行われるが、この際、外部データベースの検索結果が取得されなかった原因によって参照先のデータベースが切り替えられる。具体的には、外部データベースの検索結果が取得されなかった原因が通信のエラーであったならば、外部検索部に通信を利用した外部データベースの検索は行われず、ローカルデータベースの検索が行われる。一方、外部データベースの検索結果が取得されなかった原因が検索結果の不存在であったならば、外部データベースの検索が行われる。
【０００９】
すなわち、外部データベースの検索結果が取得されなかった原因が通信のエラーであった場合、通信のエラーが解消しない状態で再度通信が行われると再度の通信のエラーを誘発し、待機時間を過度に増加させてしまう。一方、外部データベースの検索結果が取得されなかった原因が検索結果の不存在であったなら、追加前の検索情報と異なる検索情報で検索が行われることにより検索結果が存在する状態になり得る。そこで、前者の場合には外部データベースを参照しない構成とすることで、レスポンスの高速化が可能である。また、後者の場合に外部データベースを参照する構成とすることで、外部データベースの有効利用を実現することが可能になる。この結果、レスポンスの高速化と外部データベースの有効利用とを両立させることが可能である。
【図面の簡単な説明】
【００１０】
【図１】ナビゲーションシステムを示すブロック図である。
【図２】検索処理を示すフローチャートである。
【図３】図３Ａ，図３Ｂは、施設検索を行うためのインタフェースの例を示す図である。
【発明を実施するための形態】
【００１１】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）ナビゲーションシステムの構成：
（２）検索処理：
（３）他の実施形態：
【００１２】
（１）ナビゲーションシステムの構成：
図１は、本発明の一実施形態であるナビゲーションシステム１０の構成を示すブロック図である。ナビゲーションシステム１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ等を備える制御部２０を備えており、制御部２０は、当該ＲＯＭやローカル記録媒体３０に記録された所望のプログラムを実行することができる。本実施形態においては、このプログラムの一つとしてナビゲーションプログラムを実行可能である。当該ナビゲーションプログラムは、ディスプレイに現在地と現在地周辺の地図を表示する機能と目的地までの経路を探索して案内する機能を制御部２０に実現させることができる。
【００１３】
また、ナビゲーションプログラムは、検索プログラムを含んでおり、制御部２０は、検索プログラム２１の処理により、利用者が指示した検索情報に基づいて施設を検索する機能を実行する。本実施形態において施設は、目的地や目印等として利用可能であり、施設を示す情報は、ナビゲーションシステム１０と外部システム５０とに記録されている。すなわち、ナビゲーションシステム１０が備えるローカル記録媒体３０には、ローカルデータベース３０ａが記録されている。また、外部システム５０は外部データベース５０ａが記録された図示しない外部記録媒体を備えている。施設を示す情報は、これらのローカルデータベース３０ａと外部データベース５０ａとに記録されている。
【００１４】
ナビゲーションシステム１０が使用される車両は、ＧＰＳ受信部４１と車速センサ４２とジャイロセンサ４３とユーザＩ／Ｆ部４４と通信部４５とを備えている。ＧＰＳ受信部４１は、ＧＰＳ衛星からの電波を受信し、図示しないインタフェースを介して車両の現在地を算出するための信号を出力する。車速センサ４２は、車両が備える車輪の回転速度に対応した信号を出力する。制御部２０は、図示しないインタフェースを介してこの信号を取得し、車速を取得する。ジャイロセンサ４３は、車両の水平面内の旋回についての角加速度を検出し、車両の向きに対応した信号を出力する。
【００１５】
制御部２０は、この信号を取得して車両の進行方向を取得する。制御部２０は、車速センサ４２およびジャイロセンサ４３等の出力信号に基づいて車両の走行軌跡を特定することで車両の現在地を取得する。ＧＰＳ受信部４１の出力信号は、車速センサ４２およびジャイロセンサ４３等から特定される車両の現在地を補正するなどのために利用される。
【００１６】
ユーザＩ／Ｆ部４４は、利用者に種々の情報を提供し、また、利用者から種々の入力を受け付けるためのインタフェース部であり、図示しないディスプレイや操作入力部、スピーカー、マイク等を備えている。制御部２０は、ナビゲーションプログラムの機能により、当該車両の現在地周辺の地図や経路、施設の検索結果等をディスプレイに表示することができる。また、制御部２０は、検索プログラム２１の機能により施設検索を行うことができ、施設検索を行うためのインタフェースをディスプレイに表示させ、当該インタフェースを介して施設検索を行うために行った利用者の入力操作を特定することができる。
【００１７】
通信部４５は、外部システム５０と無線通信するための回路を備えており、制御部２０と外部システム５０の間では、通信部４５を介して任意の情報が授受される。本実施形態において、制御部２０は、検索対象を検索するための検索情報（検索ワードや検索条件等）を、通信部４５を介して外部システム５０に対して送信することができる。また、制御部２０は、通信部４５を介して検索対象を取得することができる。
【００１８】
外部システム５０は図示しない外部記録媒体を備えており、当該外部記録媒体には外部データベース５０ａが記録されている。外部システム５０が、制御部２０から検索情報を取得すると、外部システム５０は、外部データベース５０ａに基づいて当該検索情報が示す検索条件に合致した検索結果や、当該検索情報が示す検索ワードを含む検索結果を取得する。検索情報に対応した検索対象は検索結果としてナビゲーションシステム１０に対して送信される。制御部２０は、通信部４５を介して、当該検索結果を受信することができる。
【００１９】
ローカル記録媒体３０には、ローカルデータベース３０ａが記録されている。ローカルデータベース３０ａには、現在地の特定や施設の検索、地図の描画等に利用される地図情報が含まれている。具体的には、ローカルデータベース３０ａは、道路上に設定されたノードの位置等を示すノードデータ，ノード間の道路の形状を特定するための形状補間点データ，ノード同士の連結を示すリンクデータ，道路やその周辺に存在する施設の位置、属性および名称等を示す施設データ等を含んでいる。従って、施設データは、複数個の施設のそれぞれに関するレコードによって構成され、各レコードに対して位置、属性、名称等の複数の項目毎の情報が対応づけられたデータである。なお、本実施形態において各施設の属性には、施設の種類、例えば、レストラン、コンビニエンスストア、公共施設等を示す情報が対応づけられている。
【００２０】
なお、外部システム５０が備える外部データベース５０ａにも施設データが含まれている。ただし、外部データベース５０ａに含まれる施設データは、ローカルデータベース３０ａに含まれる施設データと比較して情報量が多く、また情報が新しい可能性が高い。本実施形態において外部システム５０は、一台または少数台で多数のナビゲーションシステム１０からの検索要求を受け付ける。そして、ローカルデータベース３０ａは、ナビゲーションシステム１０の販売段階でローカル記録媒体３０に記録されている。
【００２１】
本実施形態において、外部データベース５０ａおよびローカルデータベース３０ａは、ともに更新され得る。ローカルデータベース３０ａは各ナビゲーションシステム１０の利用者の操作や設定、利用者の意図等に従って更新され得るが、外部データベース５０ａは外部システム５０の管理者によって管理、更新され得る。従って、外部データベース５０ａの更新は複数の利用者が利用する全てのローカルデータベース３０ａの更新よりも容易である。このため、外部データベース５０ａにおいては、ローカルデータベース３０ａよりも早く、施設データに対して付加される情報（おすすめ度合いを示す属性情報等）や、新設された施設データを示す情報等が追加される可能性が高い。
【００２２】
そこで、本実施形態において、制御部２０は、外部データベース５０ａから取得された検索結果を優先的に表示する。具体的には、制御部２０は、検索の過程で検索結果が外部データベース５０ａから取得された場合に、外部データベース５０ａから取得された情報をユーザＩ／Ｆ部４４のディスプレイに表示させ、ローカルデータベース３０ａから取得された情報は表示させない。
【００２３】
このような検索を行うために、検索プログラム２１は、検索情報受付部２１ａとローカル検索部２１ｂと外部検索部２１ｃと検索結果表示部２１ｄと検索データベース選択部２１ｅとを備えている。検索情報受付部２１ａは、検索対象を検索するための検索情報の連続的な入力を受け付ける機能を制御部２０に実現させるプログラムモジュールである。すなわち、制御部２０は、ユーザＩ／Ｆ部４４に制御信号を出力して施設検索を行うためのインタフェースをディスプレイに表示させる。また、制御部２０は、当該ユーザＩ／Ｆ部４４を利用した利用者の入力を受け付ける。
【００２４】
本実施形態におけるインタフェースには、一文字ずつ検索情報を示す文字を入力することが可能であり、利用者は、文字が入力された後の所望のタイミングで文字を追加入力することができる。従って、本実施形態におけるインタフェースは、検索情報の連続的な入力が可能であり、制御部２０は、入力された文字によって構成される文字列を検索情報として取得する。なお、検索情報は、検索対象を検索するための情報であれば良く、本実施形態において利用者は、検索ワードと検索条件とのいずれかまたは双方を検索情報として入力することが可能である。
【００２５】
ローカル検索部２１ｂは、検索情報に基づいてローカルデータベースを検索する機能を制御部２０に実現させるプログラムモジュールである。すなわち、制御部２０は、ナビゲーションシステム１０が備えるローカルデータベース３０ａを参照し、検索情報に基づいて検索対象を検索する。すなわち、検索情報が検索ワードであれば、制御部２０は、当該検索ワードに一部一致する施設をローカルデータベース３０ａから検索する。検索情報が検索条件（例えば、指定属性の施設検索等）であれば、制御部２０は、当該検索条件に合致する施設をローカルデータベース３０ａから検索する。検索情報が検索ワードおよび検索条件であれば、制御部２０は、当該検索ワードに一部一致し、かつ、検索条件に合致する施設をローカルデータベース３０ａから検索する。
【００２６】
外部検索部２１ｃは、通信を利用して検索情報に基づいて外部データベース５０ａを検索する機能を制御部２０に実現させるプログラムモジュールである。すなわち、制御部２０は、通信部４５を介して検索情報を外部システム５０に送信する。この結果、外部システム５０は、外部データベース５０ａを参照し、検索情報に基づいて検索対象を検索する。検索対象が取得されると、外部システム５０は、ナビゲーションシステム１０に対して当該検索対象を検索結果として送信する。制御部２０は、通信部４５を介して当該検索結果を取得する。
【００２７】
なお、外部システム５０における検索は制御部２０における検索と同様のアルゴリズムで実行される。また、検索情報に対応する検索対象が外部データベース５０ａに存在しない場合、外部システム５０は検索結果が０件であることを示す情報をナビゲーションシステム１０に対して送信する。この結果、制御部２０は、検索結果が０件であることを特定することができる。
【００２８】
外部データベース５０ａの参照において制御部２０は、通信部４５を介して外部システム５０と通信を行う。従って、制御部２０は、通信エラーによって検索結果を取得できない場合がある。すなわち、通信部４５による無線通信においては、電波障害による通信障害や、外部システム５０がビジーであることによる通信のタイムアウト等が発生し得る。この場合、制御部２０は、通信エラーにより外部システム５０から検索結果を取得することができない。
【００２９】
なお、本実施形態において、制御部２０は、ローカル検索部２１ｂおよび外部検索部２１ｃの処理により、検索情報が１文字追加されるたびに検索情報に基づく検索を行う。ただし、１文字目の入力後、他の文字の追加によって検索情報が追加された場合、制御部２０は、追加された後の検索情報に基づいてローカルデータベース３０ａおよび外部データベース５０ａの少なくとも一方を参照して検索を行う。ここでは、当該２文字目以降の検索を再検索と呼ぶ。
【００３０】
検索結果表示部２１ｄは、ユーザＩ／Ｆ部４４のディスプレイに検索結果を表示させるプログラムモジュールである。具体的には、外部データベース５０ａの検索結果が取得されなかった場合、制御部２０はユーザＩ／Ｆ部４４に制御信号を出力し、ローカルデータベース３０ａの検索結果をディスプレイに表示する。
【００３１】
すなわち、通信エラーが発生した場合、外部データベース５０ａから検索結果が取得されないが、ローカルデータベース３０ａからは通信部４５における無線通信の状況にかかわらず検索結果が得られる。そこで、外部データベース５０ａの検索結果が取得されなかった場合、制御部２０がローカルデータベース３０ａの検索結果をディスプレイに表示する構成を採用することで、確実に検索結果を表示する（エラーにより検索結果不明とならない）ことが可能である。むろん、検索結果が不存在の場合、検索情報に対応した検索結果は表示されないが、この場合でも検索結果が０件であるという情報は表示される。
【００３２】
一方、外部データベース５０ａの検索結果が取得された場合、制御部２０はユーザＩ／Ｆ部４４に制御信号を出力し、外部データベース５０ａの検索結果をディスプレイに表示する。この場合、本実施形態において制御部２０は、ローカルデータベース３０ａの検索結果を表示しない。すなわち、外部データベース５０ａの検索結果が取得された場合において制御部２０は、更新される頻度が高いと推定され、新しく、価値の高い情報が蓄積されている可能性が高い外部データベース５０ａの検索結果を、優先的にディスプレイに表示する。この結果、高い価値の情報を優先的に表示することができる。
【００３３】
検索データベース選択部２１ｅは、外部データベース５０ａの検索結果が取得されなかった原因に応じて再検索の際に参照先となるデータベースを切り替える機能を制御部２０に実現させるプログラムモジュールである。すなわち、外部データベース５０ａの検索結果が取得されなかった原因が通信のエラーであったならば、すぐに通信を行っても再度エラーになる可能性が高いと推定される。そこで、この場合、制御部２０は、ローカルデータベース３０ａを参照先として選択し、通信を利用した外部データベース５０ａの検索を行わせない。すなわち、制御部２０は、再検索の際にローカル検索部２１ｂの機能による検索を実行し、外部検索部２１ｃの機能による検索は実行しない。
【００３４】
一方、外部データベース５０ａの検索結果が取得されなかった原因が検索結果の不存在であった場合（検索結果が０件であった場合）、検索情報の追加によって検索情報が変化すると、外部データベース５０ａから検索情報に対応した検索対象が取得される可能性がある。すなわち、本実施形態において検索情報は、検索ワードと検索条件との少なくとも一方であり、検索情報を１文字ずつ連続的に入力することができる。従って、本実施形態においては、例えば、検索ワードの少なくとも一部を入力した後に、検索条件の入力を行うなどの入力態様で入力が可能である。
【００３５】
このような入力態様で入力が行われる構成において、例えば、検索ワードの一部を一文字ずつ入力した後に検索条件を一文字ずつ入力した場合に、検索条件の入力がある程度進むまで検索結果が不存在となるが、検索条件の入力がある程度進んだ場合に検索結果が１件以上になるなどの状況が発生し得る。例えば、検索ワードの後に「ある住所の近く」という検索条件を入力する場合、検索条件の入力当初には検索結果が不存在となり、検索条件の入力が進むと（または完了すると）検索結果が１件以上になるという状況が発生し得る。
【００３６】
このため、外部データベース５０ａの検索結果が取得されなかった原因が検索結果の不存在であり、検索結果が存在しない状況が発生した後に外部データベース５０ａとの通信を禁止する構成であると、検索ワードに続けて検索条件の入力が行われた場合に高い価値の情報が記録されている可能性の高い外部データベース５０ａを参照できない。しかし、本実施形態において制御部２０は、外部データベース５０ａの検索結果が取得されなかった原因が検索結果の不存在であっても、外部データベース５０ａを再検索の際の参照先とする。
【００３７】
すなわち、制御部２０は、外部検索部２１ｃの機能により、通信部４５を介して再検索のための検索情報を外部システム５０に送信して外部データベース５０ａの検索を行い、検索結果を取得する。従って、検索ワードに続けて検索条件の入力が行われた場合に高い価値の情報が記録されている可能性の高い外部データベース５０ａを参照することができる。なお、本実施形態においては、外部データベース５０ａの検索結果が取得されなかった原因が検索結果の不存在である場合、制御部２０は、ローカルデータベース３０ａの検索も実行する。すなわち、制御部２０は、ローカル検索部２１ｂの機能により、再検索のための検索情報に基づいてローカルデータベース３０ａの検索を行う。
【００３８】
なお、再検索によって検索結果が取得されると、制御部２０は、検索結果表示部２１ｄの機能により、ユーザＩ／Ｆ部４４に制御信号を出力し、ディスプレイに検索結果を表示させる。また、再検索の前に外部データベース５０ａの検索結果が取得されていた場合、制御部２０は、検索データベース選択部２１ｅの機能により、再検索の際に、外部データベース５０ａとローカルデータベース３０ａとの双方を参照するように設定する。
【００３９】
以上のように無線通信によって外部データベース５０ａを参照する本実施形態にかかる構成において、外部データベース５０ａの検索結果が取得されなかった原因が通信のエラーであった場合、通信のエラーが解消しない状態で再度外部データベース５０ａが参照されると、再度の通信のエラーを誘発し、待機時間を過度に増加させてしまう。そこで、本実施形態においては、再検索が行われる場合、再検索前に外部データベース５０ａの検索結果が取得されなかった原因が通信のエラーであったならば、外部データベース５０ａの検索は行われず、ローカルデータベース３０ａの検索が行われる。この結果、レスポンスの高速化が可能である。
【００４０】
一方、外部データベース５０ａの検索結果が取得されなかった原因が検索結果の不存在であった場合、追加前の検索情報と異なる検索情報で検索が行われることにより検索結果が存在する状態になり得る。そこで、本実施形態においては、再検索が行われる場合、再検索前に外部データベース５０ａの検索結果が取得されなかった原因が検索結果の不存在であったならば、外部データベース５０ａとローカルデータベース３０ａによって検索が行われる。この結果、外部データベース５０ａの有効利用を実現することが可能になる。以上のような本実施形態によれば、レスポンスの高速化と外部データベース５０ａの有効利用とを両立させることが可能である。
【００４１】
（２）検索処理：
次に、制御部２０が実行する検索処理を説明する。検索処理は、検索プログラム２１に記述された処理の一部であり、検索プログラム２１の実行が開始されると、制御部２０は、一定期間毎（例えば、１００ｍｓ毎）に図２に示す検索処理を実行する。検索処理が開始されると、制御部２０は、検索情報受付部２１ａの処理により、入力を受け付ける（ステップＳ１００）。すなわち、制御部２０は、ユーザＩ／Ｆ部４４に制御信号を出力して施設検索を行うためのインタフェースをディスプレイに表示させる。また、制御部２０は、当該ユーザＩ／Ｆ部４４を利用した利用者の入力を受け付ける。
【００４２】
図３Ａ，図３Ｂは、施設検索を行うためのインタフェースの例を示している。これらの例において利用者は、英語の文字を１文字ずつ入力することにより、検索ワードや検索条件を順次特定していくことができる。むろん、言語は英語に限定されず、他の言語であってもよい。図３Ａは、ステップＳ１００において表示されるインタフェースの例である。
【００４３】
同図３Ａにおいては、文字入力部４５ａに下線を付したアルファベットが１文字ずつ表示されており、利用者は、任意の１文字を選択することによって入力する文字を指示することができる。制御部２０は、当該指示された文字を特定し、ユーザＩ／Ｆ部４４に対して制御信号を出力することで、文字が入力された順にこれらの文字を検索情報表示部４５ｂに表示する。
【００４４】
なお、検索情報表示部４５ｂには、初期状態で「どこへ行きたいですか？」という趣旨の質問文が表示されているが、文字入力部４５ａによる入力が開始されると質問文は消去され、入力された文字が表示される。図３Ｂは、検索ワードとしての文字Ａ，Ａ，ｓが順番に入力された場合の例を示している。本実施形態においては、検索ワード以外に検索条件を文字入力することも可能である。例えば、検索ワードとしての「ＡＡｓｈｏｐ」の後に「ｎｅａｒ  ＢＢＣｉｔｙ」などの検索条件を入力することができる。また、図３Ａ，図３Ｂに示すインタフェースは、空白を入力するための空白入力部４５ｃ、検索情報表示部４５ｂに入力された検索情報での検索を指示する検索指示部４５ｄ、検索開始前の状態に戻るための指示を行う指示部４５ｅを備えている。
【００４５】
次に制御部２０は、検索データベース選択部２１ｅの処理により、通信失敗フラグがＯＮであるか否かを判定する（ステップＳ１０５）。通信失敗フラグは新たな検索の開始とともにＯＦＦに初期化され（検索完了またはキャンセルまで再度初期化されない）、通信のエラーによって通信が失敗した場合にＯＮに設定される。制御部２０は、当該通信失敗フラグがＯＮになっているか否かを判定することにより、検索開始後に外部システム５０との通信が通信障害や通信タイムアウト等のエラーによって失敗していたか否かを判定する。
【００４６】
ステップＳ１０５において、通信失敗フラグがＯＮになっていると判定されない場合、すなわち、通信のエラーが発生していなかった場合、制御部２０は、ローカルデータベース３０ａおよび外部データベース５０ａを参照して検索情報に対応した検索対象を検索する（ステップＳ１１０）。具体的には、制御部２０は、検索データベース選択部２１ｅの処理により、ローカルデータベース３０ａおよび外部データベース５０ａを参照先に設定する。この設定を受けて、制御部２０は、ローカル検索部２１ｂの処理により、ローカルデータベース３０ａを参照し、入力済の検索情報（検索ワードや検索条件）に合致する施設を検索する。検索結果として施設が１件以上得られた場合、制御部２０は、得られた施設を検索結果として取得する。
【００４７】
また、制御部２０は、外部検索部２１ｃの処理により、入力済の検索情報を、通信部４５を介して外部システム５０に対して送信する。外部システム５０は、外部データベース５０ａを参照し、入力済の検索情報に合致する施設を検索する。検索結果として施設が１件以上得られた場合、外部システム５０は当該施設を示す情報をナビゲーションシステム１０に対して送信する。制御部２０は、通信部４５を介して当該施設を検索結果として取得する。
【００４８】
一方、ステップＳ１０５において、通信失敗フラグがＯＮになっていると判定された場合、すなわち、通信がエラーによって失敗していた場合、制御部２０は、ローカルデータベース３０ａを参照して検索対象を検索する（ステップＳ１１５）。具体的には、制御部２０は、検索データベース選択部２１ｅの処理により、ローカルデータベース３０ａを参照先に設定する。また、制御部２０は、ローカル検索部２１ｂの処理により、ローカルデータベース３０ａを参照し、入力済の検索情報（検索ワードや検索条件）に合致する施設を検索する。検索結果として施設が１件以上得られた場合、制御部２０は、得られた施設を検索結果として取得する。この場合、制御部２０は、通信を行わず、外部データベース５０ａを参照しない。
【００４９】
ステップＳ１１０またはＳ１１５において検索対象が検索されると、制御部２０は、検索データベース選択部２１ｅの処理により、外部データベース５０ａから検索結果が取得されたか否かを判定する（ステップＳ１２０）。すなわち、ステップＳ１１０の処理において外部データベース５０ａから１件以上の施設が検索結果として取得された場合に、制御部２０は、外部データベース５０ａから検索結果が取得されたと判定する。
【００５０】
ステップＳ１２０において、外部データベース５０ａから検索結果が取得されたと判定された場合、制御部２０は、検索結果表示部２１ｄの処理により、外部データベース５０ａから取得された検索結果を表示する（ステップＳ１２５）。すなわち、制御部２０は、ユーザＩ／Ｆ部４４に制御信号を出力し、ステップＳ１１０で取得された検索結果の中で、外部データベース５０ａから取得された検索結果を抽出し、インタフェース上にリスト表示させる。
【００５１】
一方、ステップＳ１２０において、外部データベース５０ａから検索結果が取得されたと判定されない場合、制御部２０は、検索結果表示部２１ｄの処理により、ローカルデータベース３０ａから取得された検索結果を表示する（ステップＳ１３０）。すなわち、ステップＳ１１０において外部データベース５０ａの検索結果の不存在であった場合や新たな通信エラーの発生等により外部データベース５０ａから検索結果が取得されなかった場合やステップＳ１１５が実行された場合には、制御部２０がステップＳ１３０を実行する。
【００５２】
この場合、外部データベース５０ａから検索結果は取得されていないため、制御部２０は、ユーザＩ／Ｆ部４４に制御信号を出力し、ステップＳ１１０またはＳ１１５においてローカルデータベース３０ａから取得された検索結果をインタフェース上にリスト表示させる。なお、図３Ｂにおいては、ステップＳ１２５またはステップＳ１３０において、検索結果がユーザＩ／Ｆ部４４のディスプレイ上のリスト表示部４５ｆに表示された例を示している。
【００５３】
図３Ｂにおいては、検索情報として文字列ＡＡｓが入力済である状態が想定されており、これらの文字列が検索ワードとなって施設が検索された結果、「ＡＡｓｈｉｐ」、「ＡＡｓｈｏｐ」，「ＡＡｓｔｏｒｅ」という名称の施設が検索結果として取得された例が示されている。なお、リスト表示部４５ｆにおける表示態様は、種々の態様を採用可能であり、同一名称の施設が複数個検索された場合、１個の選択肢として表示されてもよいし、各施設が複数個の選択肢として表示されてもよい。また、同一名称の施設が複数個検索された場合において、他の検索条件が付加された場合に、当該検索条件に合致する施設が複数個の選択肢として表示されてもよい。
【００５４】
ステップＳ１２５が実行されると、制御部２０は、検索処理を終了する。ステップＳ１３０が実行されると、制御部２０は、検索データベース選択部２１ｅの処理により、通信タイムアウトが発生したか否かを判定する（ステップＳ１３５）。すなわち、本実施形態において制御部２０は、通信部４５を介して通信が行った場合に、予め決められた期間以上外部システム５０から応答がなければ通信タイムアウトと見なして通信を中断する。そこで、ステップＳ１３５において制御部２０は、ステップＳ１１０において実行した外部システム５０との通信において通信タイムアウトが発生したか否かを判定する。
【００５５】
ステップＳ１３５において、通信タイムアウトが発生したと判定されない場合、制御部２０は、検索処理を終了する。この場合、外部システム５０の外部データベース５０ａには、検索情報に対応した検索対象が記録されていなかった状態であるため、制御部２０は、通信失敗フラグをＯＦＦからＯＮに切り替えることなく（既にＯＮである場合はＯＮを維持）、検索処理を終了する。ステップＳ１３５において、通信タイムアウトが発生したと判定された場合、通信のエラーが発生していたと見なし、制御部２０は、検索データベース選択部２１ｅの処理により、通信失敗フラグをＯＮに設定する（ステップＳ１４０）。
【００５６】
なお、利用者が検索指示部４５ｄを選択した場合、制御部２０は、検索情報表示部４５ｂに入力されている文字列を検索情報としてローカルデータベース３０ａおよび外部データベース５０ａから検索対象を検索する。検索結果が得られた場合、ディスプレイに表示させる。従って、本実施形態において、利用者は、任意のタイミングでローカルデータベース３０ａおよび外部データベース５０ａを参照先とした検索を指示することができる。
【００５７】
（３）他の実施形態：
以上の実施形態は本発明を実施するための一例であり、外部データベースの検索結果が取得されなかった原因に応じて再検索の際の参照先のデータベースを切り替える限りにおいて、他にも種々の実施形態を採用可能である。例えば、ナビゲーションシステム１０とともに移動する移動体は任意であり、車両であっても良いし、歩行者であっても良く、種々の例が想定される。また、検索システムは、車両等に搭載された装置であっても良いし、可搬型の端末によって実現される装置であっても良いし、複数の装置（例えば、クライアントとサーバ）によって実現されるシステムであっても良い。
【００５８】
さらに、検索システムを構成する検索情報受付部２１ａ、ローカル検索部２１ｂ、外部検索部２１ｃ、検索結果表示部２１ｄ、検索データベース選択部２１ｅの少なくとも一部が複数の装置に分かれて存在していても良い。むろん、上述の実施形態の一部の構成が省略されてもよいし、処理の順序が変動または省略されてもよい。
【００５９】
検索情報受付部は、検索対象を検索するための検索情報の連続的な入力を受け付けることができればよい。検索情報は、検索対象を検索するための情報であれば良く、検索対象の絞込に寄与する情報が検索情報となりえる。検索情報の態様は、種々の態様を採用可能であり、例えば、検索対象に対応づけられた文字等の情報（検索ワード）や検索条件が検索情報となり得る。検索情報は、連続的な入力が可能であれば良く、入力済の検索情報に対して他の情報を追加して入力可能であれば良い。
【００６０】
ローカル検索部は、検索情報に基づいてローカルデータベースを検索することができればよい。すなわち、ローカル検索部は、検索システムが備えるローカルデータベースを参照し、検索情報に基づいて検索対象を検索することができればよい。なお、ローカルデータベースの参照においては、検索システムの外部との通信（電波障害等のエラーが発生し得る通信）は発生しない。
【００６１】
外部検索部は、通信を利用して検索情報に基づいて外部データベースを検索することができればよい。すなわち、外部検索部は、検索システムの外部に存在する外部データベースを参照し、検索情報に基づいて検索対象を検索することができればよい。なお、外部データベースの参照においては、検索システムの外部との通信が発生するが、この通信においては通信障害や外部の装置の不応答等のエラーが発生し得る。
【００６２】
ローカル検索部および外部検索部は、検索情報に基づいて検索を行うが、検索情報が追加された場合、ローカル検索部および外部検索部の少なくとも一方が追加された後の検索情報に基づいて検索を行う。従って、検索情報受付部において検索情報の連続的な入力が受け付けられると、検索情報の追加に伴って再検索が行われる。なお、再検索が行われる頻度は任意であり、予め決められた頻度で、例えば、検索情報に対して追加された情報量が既定の量以上である場合に、再検索が行われる構成等であってよい。
【００６３】
検索結果表示部は、外部データベースの検索結果が取得されなかった場合、ローカルデータベースの検索結果をディスプレイに表示し、外部データベースの検索結果が取得された場合、外部データベースの検索結果をディスプレイに表示することができればよい。すなわち、複数の検索システムからアクセスされ得る装置（サーバ等）が備える外部データベースは、当該装置の管理者によって管理、更新され得るが、ローカルデータベースは各検索システムの所有者によって管理、更新され得る。従って、一元的な管理が行われる外部データベースの更新はローカルデータベースの更新よりも容易であり、外部データベースにおいては、ローカルデータベースよりも早く、情報が追加される可能性が高いため、一般的には外部データベースの方がローカルデータベースよりも価値の高い情報が記録されている。
【００６４】
そこで、外部データベースの検索結果が取得された場合、検索結果表示部が、外部データベースの検索結果をディスプレイに表示することで、高い価値の情報を表示することができる。なお、この場合、ローカルデータベースの検索結果は、表示されて無くてもよいし、表示されてもよい。後者の場合、外部データベースの検索結果が優先的に表示される構成とすることができる。
【００６５】
一方、通信の状況によっては外部データベースの検索結果が得られない場合があるが、ローカルデータベースからは通信の状況にかかわらず検索結果が得られる。そこで、外部データベースの検索結果が取得されなかった場合、ローカルデータベースの検索結果をディスプレイに表示することで、確実に検索結果を表示する（エラーにより検索結果不明とならない）ことが可能である。むろん、検索結果が不存在の場合、検索情報に対応した検索結果は表示されないが、この場合でも検索結果が０件であるという情報は表示される。
【００６６】
検索データベース選択部は、外部データベースの検索結果が取得されなかった原因に応じて再検索の際に参照先となるデータベースを切り替える事ができればよい。すなわち、外部データベースの検索結果が取得されなかった原因が通信のエラーであったならば、すぐに通信を行っても再度エラーになる可能性が高いと推定される。そこで、この場合、検索データベース選択部は、ローカルデータベースを参照先として選択し、通信を利用した外部データベースの検索を行わせない。すなわち、検索データベース選択部は、ローカル検索部に検索を行わせ、外部検索部には検索を行わせない。
【００６７】
一方、外部データベースの検索結果が取得されなかった原因が検索結果の不存在であった場合、検索情報の追加によって検索情報が変化すると、外部データベースから検索情報に対応した検索結果が取得される可能性がある。そこで、検索データベース選択部は、通信を利用した外部データベースの検索を行わせる。すなわち、検索データベース選択部は、外部検索部に検索を行わせる。この場合、検索データベース選択部は、ローカル検索部に検索を行わせてもよいし、行わせなくてもよい。
【００６８】
なお、再検索の前に外部データベースの検索結果が取得されていた場合、検索データベース選択部は、検索によって価値の高い情報が得られるように、再検索の際に外部データベースが参照されることが好ましい。また、以上のようにして再検索が行われた場合、検索結果表示部は、再検索で取得された検索結果をディスプレイに表示する。
【００６９】
さらに、検索情報受付部は、検索対象に対応づけられた検索ワードと、検索対象を検索する検索条件とを受け付けることが可能である構成であってもよい。すなわち、検索情報受付部は、連続的な入力によって、検索ワードと検索条件とを受け付けることが可能である。この構成においては、検索ワードの少なくとも一部を入力した後に、検索条件の入力を行うなどの入力態様で入力が可能である。
【００７０】
従って、例えば、検索情報を一文字ずつ入力する構成において、検索ワードの一部を一文字ずつ入力した後に検索条件を一文字ずつ入力した場合に、検索条件の入力がある程度進むまで検索結果が不存在となるが、検索条件の入力がある程度進んだ場合に検索結果が１件以上になるなどの状況が発生し得る。このため、外部データベースの検索結果が取得されなかった原因が検索結果の不存在であり、検索結果が存在しない状況が発生した後に外部データベースとの通信を禁止する構成であると、検索ワードに続けて検索条件の入力が行われた場合に高い価値の情報が記録されている可能性の高い外部データベースを参照できない。しかし、外部データベースの検索結果が取得されなかった原因が検索結果の不存在である場合に、再検索の際の参照先が外部データベースとされる構成であれば、検索ワードに続けて検索条件の入力が行われた場合に高い価値の情報が記録されている可能性の高い外部データベースを参照することができる。
【００７１】
さらに、本発明のように、外部データベースの検索結果が取得されなかった原因に応じて再検索の際の参照先のデータベースを切り替える手法は、プログラムや方法としても適用可能である。また、以上のようなシステム、プログラム、方法は、単独の装置として実現される場合や、複数の装置によって実現される場合が想定可能であり、各種の態様を含むものである。例えば、以上のような手段を備えたナビゲーションシステムや方法、プログラムを提供することが可能である。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、システムを制御するプログラムの記録媒体としても発明は成立する。むろん、そのソフトウェアの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【符号の説明】
【００７２】
１０…ナビゲーションシステム、２０…制御部、２１…検索プログラム、２１ａ…検索情報受付部、２１ｂ…ローカル検索部、２１ｃ…外部検索部、２１ｄ…検索結果表示部、２１ｅ…検索データベース選択部、３０…ローカル記録媒体、３０ａ…ローカルデータベース、４１…ＧＰＳ受信部、４２…車速センサ、４３…ジャイロセンサ、４４…ユーザＩ／Ｆ部、４５…通信部、４５ａ…文字入力部、４５ｂ…検索情報表示部、４５ｃ…空白入力部、４５ｄ…検索指示部、４５ｅ…指示部、４５ｆ…リスト表示部、５０…外部システム、５０ａ…外部データベース
【図１】
0006610426.tif 000002
【図２】
0006610426.tif 000003
【図３】
0006610426.tif 000004