本発明の一実施形態について図1から図17に基づいて説明すると以下の通りである。本実施形態のグループ生成システムは、車に同乗している複数のユーザのそれぞれが所持している携帯電話をグループ化することによって、グループ化された携帯電話間で互いの位置を容易に確認することができるようにするものである。
〔グループ生成システムの概要〕
ここでは、まず図2に基づいて上記グループ生成システムの概要について説明する。図2は、上記グループ生成システムで行われる処理の一例を示す図である。図示のように、グループ生成システムは、カーナビ、携帯電話A、携帯電話B、及びサーバで構成される。なお、グループ生成システムには、携帯電話が3台以上含まれていてもよい。
カーナビは、携帯電話Aのユーザ及び携帯電話Bのユーザが乗る車に搭載されており、携帯電話A及びBと通信可能に構成されている。カーナビと携帯電話A及びBとは、通信可能に構成されていればよく、その通信手段は特に限定されないが、ここでは、カーナビと携帯電話A及びBとは、Bluetooth(登録商標)で通信することを想定している。Bluetoothで通信を行うため、携帯電話A及びBは予めカーナビとペアリングしておく必要がある。なお、図示の例では、カーナビと携帯電話A及びBとは、既にペアリング済みである。
また、携帯電話A及びBは、一般的な携帯電話機と同様に、通話機能、メール送受信機能等を備えていると共に、自端末の現在位置を取得するGPS機能を備えている。そして、携帯電話A及びBは、サーバと通信可能に構成されている。サーバと携帯電話A及びBとは、通信可能に構成されていればよく、その通信手段は特に限定されないが、ここでは、サーバと携帯電話A及びBとは、3G(3rd Generation)網及びインターネットを介して通信することを想定している。
上記グループ生成システムでは、カーナビが、携帯電話AとBとのグループ化を行う。すなわち、図示のように、車中において携帯電話Aは、カーナビに端末情報(携帯電話Aのメールアドレス及び電話番号等)を送信し(1)、カーナビは、受信した携帯電話Aの端末情報を登録する(2)。同様に、携帯電話Bも、カーナビに端末情報(携帯電話Bのメールアドレス及び電話番号等)を送信し(3)、カーナビは、受信した携帯電話Bの端末情報を登録する(4)。
これにより、カーナビでは、携帯電話AとBとが同乗者グループとして設定される。詳細については後述するが、グループ生成システムでは、携帯電話Aの端末情報を用いることで、携帯電話Aの位置情報を取得することができるようになっており、同様に携帯電話Bの端末情報を用いることで、携帯電話Bの位置情報を取得することができるようになっている。
また、カーナビには目的地が入力され、カーナビのルートガイドに従って目的地付近(例えば目的地近隣の駐車場)までドライブが行われる。この処理は、従来の一般的なカーナビと同じである。
ここで、上記グループ生成システムでは、目的地付近において車を駐車したときに、カーナビが、目的地情報(目的地の位置情報)と携帯電話A及びBから取得した端末情報とを携帯電話A及びBにブロードキャスト配信する(5)。
目的地情報の配信を受けることによって、携帯電話A及びBでは、目的地の位置を把握することができる。また、携帯電話A及びBは、GPS機能を備えているので、携帯電話A及びBでは、現在地の位置情報と、目的地の位置情報とを取得することができる。このため、携帯電話A及びBは、目的地までのルートガイドを行うマンナビとして使用することも可能になる。また、目的地の位置情報は、カーナビから自動的に配信されるので、携帯電話A及びBのユーザは、携帯電話A及びBに目的地の位置情報を入力する必要がない。
さらに、上記グループ生成システムでは、同乗者グループを構成する各端末の端末情報もブロードキャスト配信されるので、携帯電話Aでは、携帯電話Bと同乗者グループとなったことを認識することができ、同様に携帯電話Bでは、携帯電話Aと同乗者グループとなったことを認識することができる。
そして、上記グループ生成システムでは、車を駐車して携帯電話A及びBのユーザが車から降りた後は、携帯電話A及びBから、上記同乗者グループに含まれる他の端末(携帯電話AまたはB)の位置が確認できるようになっている。すなわち、図示の例では、携帯電話Aからは携帯電話Bの位置を確認することができ、同様に携帯電話Bからは携帯電話Aの位置を確認することができる。
具体的には、携帯電話Aは、GPSによって携帯電話Aの現在地を取得する(8)と共に、携帯電話Aの電話番号と上記取得した現在地とをサーバに送信する(9)。そして、サーバは、受信した携帯電話Aの電話番号と現在地との登録を行う(10)。携帯電話Bも同様に、現在地及び電話番号をサーバに送信し、サーバは受信した電話番号と現在地とを対応付けて登録する。このようにして、同乗者グループに含まれる各端末の位置及び電話番号が、サーバに登録される。
次に、携帯電話Aは、他の同乗者の位置を送信するようにサーバに要求を行う(11)。このとき、携帯電話Aは、カーナビから受信した端末情報に含まれる電話番号(この場合、携帯電話Bの電話番号)をサーバに送信する。位置の送信要求を受けたサーバは、受信した電話番号と登録されている電話番号とを照合し、該電話番号に対応付けられている位置情報(この場合、携帯電話Bの現在地を示す位置情報)を携帯電話Aに送信する(12)。これにより、携帯電話Aには、他の同乗者(この場合、携帯電話Bのユーザ)の位置が表示される(13)。また、携帯電話Bにおいても同様にして、他の同乗者(この場合、携帯電話Aのユーザ)の位置が表示される。
このように、グループ生成システムでは、カーナビが搭載された車に同乗した各ユーザの所有する端末(この場合、携帯電話A及びB)を同乗者グループとして設定し、この同乗者グループを構成する各携帯電話から、同じ同乗者グループを構成する各携帯電話の位置を参照できるようになっている。これにより、ユーザは、何ら特別な操作を行うことなく、同乗者の位置を簡単に確認することができる。
〔位置情報の取得方法の変形例1〕
上記では、同乗者グループを構成する各端末の現在地をサーバに登録し、各端末からサーバに位置を取得したい端末の電話番号を通知することによって、当該端末の現在地を示す位置情報を取得する例について図2に基づいて説明した。しかしながら、グループ生成システムで行われる位置情報の取得方法は、同乗者グループを構成する各端末の位置情報を、該同乗者グループを構成する他の端末が取得できるものであればよく、この例に限られない。
例えば、図3に示す方法によっても、同乗者グループに含まれる各端末の位置情報を、該同乗者グループを構成する他の端末が取得することができる。図3は、上記グループ生成システムで行われる処理の一例を示す図であり、図2の例とは異なる方法で位置情報を取得する例を示す図である。
図3のグループ生成システムは、カーナビ、携帯電話A、携帯電話B、携帯電話C、及びIMS(IP Multimedia Subsystem)サーバを含む構成である。カーナビ、携帯電話A、携帯電話Bは、図2の例と同様のものであり、携帯電話Cは、携帯電話A及びBと同様のものであるから、ここではこれらの構成についての説明を省略する。
IMSサーバは、IMSを用いて携帯電話A〜Cに所定のサービスを提供するサーバである。IMSは、パケット通信を利用した携帯電話のマルチメディアサービスを実現するための技術であり、第3世代携帯電話技術の標準化を行っている団体(3GPP)で規格化されている技術である。IMSでは、SIP(Session Initiation Protocol)と呼ばれるIP電話の方式を利用することによって、通話にマルチメディア機能を追加することを可能にしている。上記IMSサーバは、IMSによる携帯電話A〜Cからのパケット送信を利用して、同乗者グループを構成する他の携帯電話に一斉に位置情報等を送信する。
図3の例においても、同乗者グループの生成方法は、図2の例と同様である。すなわち、車中において携帯電話Aはカーナビに端末情報を送信し(1)、カーナビはそれを登録する(2)。同様に、携帯電話B及びCもカーナビに端末情報を送信し、カーナビはそれを登録する(3)〜(6)。これにより、カーナビでは、携帯電話A〜Cが同乗者グループとして設定される。
そして、目的地付近において車を駐車したときには、図2の例と同様に、カーナビが、目的地情報と取得した端末情報を携帯電話A〜Cにブロードキャスト配信し、携帯電話A〜Cのそれぞれは、受信した目的地情報と端末情報リスト(同乗者グループに含まれる他の全端末の端末情報)を登録する(7)〜(10)。
ここで、図3の例では、携帯電話Aが、受信した端末情報リストに基づいてIMSグループを生成し(11)、生成したIMSグループをIMSサーバに登録する(12)。これにより、IMSサーバでは、上記IMSグループが登録される(13)。なお、IMSグループの生成、及びIMSサーバへの登録は、同乗者グループに含まれる端末の何れかが行えばよく、必ずしも携帯電話Aが行う必要はない。
IMSグループの生成、及びIMSサーバへの登録を行う端末は、どのように決定してもよい。例えば、同乗者グループの中で最も先に当該同乗者グループに登録された端末が上記の処理を行うようにしてもよい。また、同乗者グループを生成するときに、どの端末が上記の処理を行うかを自動的またはユーザ入力で決定するようにしてもよい。
ここで、車を駐車して携帯電話A〜Cのユーザが車から降りた後、携帯電話Aは、GPSによって自端末の現在地を取得し(14)、取得した現在地をIMSサーバに送信する(15)。そして、IMSサーバは、受信したデータ(この場合、携帯電話Aの現在地を示す位置情報)をIMSグループの他の端末(この場合、携帯電話B及びC)に送信する(16)。これにより、携帯電話B及びCでは、受信した位置情報に基づいて、携帯電話Aの位置が表示される(17)(18)。
このように、図3の例では、携帯電話Aが送信する携帯電話Aの位置情報が、IMSサーバによってIMSグループ(同乗者グループ)に含まれる携帯電話B及びCに送信される。これにより、携帯電話B及びCは、携帯電話Aの現在地を取得して表示することができる。また、同様にして携帯電話B及びCの位置情報も、IMSサーバを介してIMSグループ(同乗者グループ)に含まれる各端末に送信される。これにより、携帯電話A〜Cのそれぞれで、同乗者グループに含まれる他の端末の現在地を表示することができる。
ところで、図2及び図3には示していないが、上記グループ生成システムでは、生成された同乗者グループは、一定時間経過後に解消されるようになっている。同乗者グループが解消された後は、携帯電話A〜Cは、他の端末の位置情報を取得することができなくなる。つまり、上記グループ生成システムは、同じ車に乗り合わせたメンバーを一時的にグループ化し、該グループに含まれる各メンバーの位置を他のメンバーが把握できるようにするものである。
ここで、上記一定時間経過前に、同乗者グループから離脱することが好ましい場合も考えられる。例えば、同じ車に乗り合わせて目的地まで来たが、車に戻らず別のルートで途中帰宅するような場合には、帰宅途中のユーザの位置が、いつまでも他の同乗者から把握された状態とする必要はなく、このような場合には帰宅するユーザを同乗者グループから離脱させることが好ましい。そこで、上記グループ生成システムでは、同乗者グループからの途中離脱が可能な構成としている。
図3では、携帯電話Cが途中離脱を行う例を示している。途中離脱を行う携帯電話Cは、IMSサーバにグループリストからの削除依頼を送信する(19)。そして、削除依頼を受信したIMSサーバは、携帯電話Cをグループから削除すると共に、携帯電話Cをグループから削除したことを携帯電話A及びBに通知する(20)。通知を受けた携帯電話A及びBでは、携帯電話Cの端末情報が削除される(21)(22)。これにより、携帯電話Cは、同乗者グループから完全に削除されるので、以後、携帯電話A及びBから携帯電話Cの位置情報を取得することはできなくなる。
〔位置情報の取得方法の変形例2〕
図2及び図3では、サーバまたはIMSサーバを利用して、同乗者グループに含まれる各端末の位置情報を、該同乗者グループに含まれている各端末が取得できるようにした構成を示した。しかしながら、グループ生成システムでは、各端末が、サーバやIMSサーバ等の装置を経由せずに、各端末から直接に位置情報を取得するようにしてもよい。
ここでは、図4に基づいて、端末間で直接に位置情報を送受信することによって、同乗者グループを構成する各端末の位置情報を、該同乗者グループを構成する各端末が取得する例について説明する。図4は、上記グループ生成システムで行われる処理の一例を示す図であり、図2及び図3の例とは異なる方法で位置情報を取得する例を示す図である。なお、図4の(1)〜(7)の処理は、図2と同じであるから、ここではその説明を省略する。
(1)〜(7)の処理を終えて、各端末のユーザが車から降りた後、携帯電話Aは、GPSによって自端末の現在地を取得し(8)、取得した現在地を携帯電話BにEメールで送信する(9)。これにより、携帯電話Aの現在地を示す位置情報が携帯電話Bで取得され、表示される(10)。同様に、携帯電話Bも、GPSによって自端末の現在地を取得し(8)’、取得した現在地を携帯電話AにEメールで送信する(9)’。これにより、携帯電話Bの現在地を示す位置情報が携帯電話Aで取得され、表示される(10)’。
この(8)〜(10)及び(8)’〜(10)’の処理が定期的に繰り返されることによって、携帯電話Aでは、携帯電話Bの最新の現在値を確認することができ、携帯電話Bでは、携帯電話Aの最新の現在値を確認することができる。なお、図示の例では、端末が携帯電話A及びBの2台である例を示しているが、端末の数は3台以上であっても構わない。端末が3台以上の場合には、位置情報を知らせるEメールの送信先が複数になる。
また、図4の例では、携帯電話Bが途中離脱した場合の処理も示している。すなわち、携帯電話Bは、途中帰宅することを携帯電話AにEメールで通知する(11)。そして、この通知を受けた携帯電話Aは、携帯電話Bの端末情報を削除する。以降、携帯電話Aは、携帯電話Bへの位置情報の送信を行わず、携帯電話Bも携帯電話Aへの位置情報の送信を行わない(12)。
このように、端末間で直接に位置情報を送受信することによっても、同乗者グループを構成する各端末の位置情報を、該同乗者グループを構成する他の端末が取得することが可能である。また、途中離脱する処理もサーバ等を介することなく行うことができる。なお、端末間での位置情報等はEメールに限られず、任意の通信方法で伝達することができる。
〔目的地関連情報の取得〕
上述のように、グループ生成システムでは、車を駐車したときにカーナビから目的地の位置情報が、同乗者グループに含まれる各端末に送信される。グループ生成システムでは、各端末のそれぞれが、この目的地の位置情報を用いて、目的地に関連する情報である目的地関連情報を取得する。これにより、各端末のユーザは、何ら操作を行うことなく、目的地関連情報を参照することが可能になる。
ここでは、同乗者グループを構成する各端末が目的地関連情報を取得する処理の概要について、図5に基づいて説明する。図5は、グループ生成システムで行われる処理の一例を示す図であり、目的地関連情報を取得する処理の概要を示す図である。
なお、目的地関連情報は、目的地に関連する情報であれば、どのようなものであってもよい。例えば、目的地周辺の観光情報、飲食施設、交通機関、トイレ等の位置を示す情報を目的地関連情報としてもよい。これにより、各端末のユーザは、ガイドブックなどを開くことなく、目的地周辺の散策を楽しむことができる。
図5では、車が駐車場に到着した以降の、カーナビ、携帯電話、及びサービスの動作の一例を示している。なお、カーナビ及び携帯電話は、図2〜図4の例のものと同様であり、サービスは、携帯電話に地図情報及びルートガイドを提供すると共に、目的地関連情報を提供するものである。また、ここでは簡単のため携帯電話を1台のみ示しているが、携帯電話は複数台であっても構わない。
まず、車が駐車場に到着して駐車が行なわれると、カーナビは、エンジンがOFFされたことや、サイドブレーキがかけられたこと等を検出して、車が駐車されたことを判別する。なお、車が駐車されたことの判別手法は、上記の例に限られない。例えば、GPSで取得した現在地が、地図上の駐車場の位置に一致している場合に、車の移動速度がゼロになったときに車が駐車されたと判別してもよい。
そして、車が駐車されたと判別したカーナビは、携帯電話に位置情報を送信する。この位置情報には、当該カーナビに設定されている目的地の位置を示す位置情報、及び当該カーナビが搭載されている車の現在地(駐車位置)を示す位置情報が含まれている。なお、車の現在地(駐車位置)の位置情報は、携帯電話のユーザが車に戻るときに用いられる。
ここで、車を立体駐車場等のような、鉛直方向に階層を有する場所に駐車した場合には、GPSで取得した位置情報のみでは、車を駐車した場所にスムーズに到達することができないことも考えられる。例えば、2階建ての立体駐車場に駐車したときには、GPSの位置情報のみでは、1階に駐車したのか、2階に駐車したのかを判断することができない。
そこで、携帯電話は、カーナビから位置情報を受信したときに、ユーザに駐車位置の詳細情報を入力させるようにしてもよい。例えば、上記詳細情報として、駐車位置の階数や、駐車位置に付された番号等を入力しておくことにより、目的地から駐車位置まで戻ってきたときに、スムーズに車に到達することができる。
さて、ユーザが車から降りて、目的地に向かって出発すると、携帯電話は、自端末が備えるGPSによって現在地を取得し、取得した現在地をサービスに送信し、現在地周辺の地図データを送信するよう要求する。
そして、現在地を受信し、地図データの送信要求を受けたサービスは、地図データベースから、携帯電話の現在地付近の地図を検索し、検出した地図データを携帯電話に送信する。携帯電話は、この地図データを自端末に登録し、登録した地図データを表示する。これにより、携帯電話のユーザは、現在地周辺の地図を確認することができる。
また、携帯電話は、サービスに対して目的地の位置を示す位置情報を送信して、目的地関連情報の送信を要求する。そして、要求を受けたサービスは、目的地関連情報検索用のデータベースから目的地関連情報の検索を行い、検出した目的地関連情報を携帯電話に送信する。携帯電話は、この目的地関連情報を上記登録した地図データと重畳して表示する。これにより、携帯電話のユーザは、現在地周辺の地図、及び目的地関連情報を確認することができる。
なお、上記目的地関連情報検索用のデータベースは、サービスが備えていてもよいし、他のサーバ等が備えていてもよい。また、目的地関連情報を送信するサービスの提供元と、地図データを送信するサービスの提供元とは同一であってもよいし、異なっていてもよい。
〔グループ生成システム100のハードウェア構成〕
続いて、上述のような処理を実行するグループ生成システム(位置取得支援システム)100のハードウェア構成について、図6に基づいて説明する。図6は、グループ生成システム100のハードウェア構成を示すブロック図である。図示のように、グループ生成システム100は、携帯電話(通信端末)1、カーナビ(位置取得支援装置)30、及びサーバ(位置格納サーバ)50を含む構成である。なお、図6では、簡単のため、携帯電話1を1台のみ示しているが、グループ生成システム100には、複数台の携帯電話1が含まれる。
〔携帯電話1の構成〕
携帯電話1は、通話機能と電子メール(Eメール)送信機能とGPS機能とを備えた通信端末であり、カーナビ30及びサーバ50と通信可能に構成されている。図示のように、携帯電話1は、位置取得部2、電話網通信部3、音声入力部4、音声出力部5、携帯電話制御部6、一時記憶部7、携帯電話記憶部8、近距離通信部9、操作部10、及び表示部11を備えている。
位置取得部2は、携帯電話1の現在位置を取得するものである。すなわち、位置取得部2によって携帯電話1のGPS機能が実現されている。なお、位置取得部2は、携帯電話1の現在位置を検出できるようになっていればよく、必ずしもGPSを利用するものである必要はない。例えば、位置取得部2は、現在通信可能な基地局がどの基地局であるかを判断することによって、携帯電話1の現在位置を検出するものであってもよい。
電話網通信部3は、携帯電話網等を介して、他の携帯電話機や一般電話機と通話を行ったり、インターネットに接続して通信を行ったりするためのものである。グループ生成システム100では、携帯電話1が電話網通信部3を介してサーバ50と通信するようになっている。具体的には、電話網通信部3は、携帯電話網(3G)を介してインターネットに接続し、インターネット経由でサーバ50と通信を行う。なお、通話機能、インターネット接続機能、及びサーバ50との通信機能が、それぞれ別の通信部によって実現されていてもよい。
音声入力部4は、例えば通話時等において携帯電話1に音声信号を入力するためのものであり、音声出力部5は、通話時等において電話網通信部3が受信した音声信号等に基づいて音声を出力するためのものである。また、音声出力部5は、電話やメール等の着信を示す音声等も出力する。音声入力部4及び音声出力部5は、それぞれ音声の入力及び出力ができるものであればよく、従来の携帯電話機等で使用されているものを適用することもできる。
携帯電話制御部6は、携帯電話1の動作を統括して制御するものであり、例えばCPU等で構成することができる。携帯電話制御部6は、例えばRAM等で構成される一時記憶部7を作業領域として動作する。なお、携帯電話制御部6が行う処理の詳細については、後に詳しく説明する。
携帯電話記憶部8は、図示のように、プログラム及びデータを格納している。携帯電話1は、携帯電話記憶部8に格納されているプログラムを、携帯電話制御部6が一時記憶部7に読み出して実行することによって予め定められた動作を実行する。また、例えば電話網通信部3が受信したメール等のデータや、携帯電話1のユーザが記録した電話番号やメールアドレス等のデータも携帯電話記憶部8に格納されるようになっている。なお、携帯電話記憶部8は、携帯電話1の本体から着脱可能に構成されていてもよい。携帯電話記憶部8に格納されているデータの詳細については後述する。
近距離通信部9は、携帯電話1が他の装置と通信を行うためのものであり、グループ生成システム100では、近距離通信部9は、携帯電話1がカーナビ30と通信を行うために用いられる。ここで、グループ生成システム100では、カーナビ30が搭載された車に同乗している複数のユーザのそれぞれが携帯電話1を所持している場合に、カーナビ30が、各携帯電話1との通信接続を試み、通信に成功した携帯電話1を同乗者グループとして設定する。
このため、近距離通信部9は、同じ車に乗り合わせた各ユーザが所持している携帯電話1とカーナビ30との間で通信が行えるようなものとする必要がある。つまり、通信可能範囲が余りに広い通信手段を用いた場合には、車外の携帯電話1を同乗者グループに組み込んでしまう可能性があり、また逆に通信可能範囲が余りに狭い通信手段を用いた場合には、同じ車内の携帯電話1が同乗者グループに組み込まれない可能性がある。
そこで、携帯電話1では、近距離通信部9は、Bluetooth(登録商標)通信を行うものとしている。Bluetooth通信であれば、一般的な広さの乗用自動車であれば、各座席に座っているユーザが所持している携帯電話1とカーナビ30との間で通信を行うことが十分に可能である。また、通信可能範囲が広すぎるということもないので車外の携帯電話1にまで及ぶ可能性も低い。Bluetooth通信では、最大で半径100m程度の範囲内の機器と通信が可能であるが、ここでは半径20m程度の範囲内の機器と通信可能に設定されているものとする。
なお、近距離通信部9の通信方式は、Bluetooth通信に限られない。例えば、ZigBee(登録商標)、UWB(Ultra Wide Band)を適用することもできるし、Wi‐Fi(登録商標)等のIEEE802.11無線を適用することもできる。また、携帯電話1とカーナビ30とは、通信可能に構成されていればよく、有線接続されていてもよい。
操作部10は、携帯電話1のユーザが携帯電話1に操作入力を行うためのものであり、ユーザが所望の操作入力を行えるものであれば特に限定されない。なお、ここでは、操作部10は、携帯電話1の本体表面に設けられた操作キーで構成されていることを想定している。
具体的には、操作キーとして、メールに関連するメニュー画面やインターネット接続に関するメニュー画面等を表示部11に表示させる各種メニューキーや、通話の開始、終了等の入力を行うためのキー、表示部11に表示される項目を選択するための上下左右の方向キー、選択された項目を決定する決定キー、数字や文字を入力するための文字入力キー、入力する文字の切り換えを行う切換キー等を含む複数の操作キーを備えているものとする。
表示部11は、携帯電話制御部6の指示に従って画像を表示するものである。表示部11は、携帯電話制御部6の指示に従って画像を表示するものであればよく、特に限定されない。表示部11は、例えばLCD(Liquid Crystal Display)表示パネルやEL(Electro Luminescence)表示パネル等で構成することもできる。
〔カーナビ30の構成〕
カーナビ30は、一般的なカーナビと同様に、地図を表示して目的地までのルートガイドを行う機能を備えていると共に、自装置と通信可能な携帯電話1で同乗者グループを形成する機能を有している。図示のように、近距離通信部31、位置取得部32、音声入力部33、音声出力部34、カーナビ制御部35、一時記憶部36、カーナビ記憶部37、車両信号入力部38、操作部39、及び表示部40を備えている。
近距離通信部31は、携帯電話1の近距離通信部9と通信を行うためのものである。このため、近距離通信部31は、携帯電話1の近距離通信部9の通信方式と同じ通信方式で通信が行えるように構成される。ここでは、携帯電話1の近距離通信部9がBluetooth通信を行うことを想定しているので、カーナビ30の近距離通信部31もBluetooth通信を行うことができるように構成される。
位置取得部32は、GPSを利用してカーナビ30の現在位置(つまり、カーナビ30が搭載された車の現在地)を取得する。カーナビ30では、この現在地に基づいて、表示部40に、現在地付近の地図が表示され、その地図中に車の現在位置が重畳して表示される。
音声入力部33は、カーナビ30に音声入力を行うものであり、例えばマイク等で構成される。カーナビ30では、操作部39から入力操作を行うことができるようになっていると共に、音声入力部33から音声によって入力操作を行うこともできるようになっている。
音声出力部34は、カーナビ制御部35の指示に従って音声の出力を行うものであり、例えばスピーカ等で構成される。音声出力部34からは、例えばルートガイド用の音声等が出力される。
カーナビ制御部35は、カーナビ30の動作を統括して制御するものであり、例えばCPU等で構成することができる。カーナビ制御部35は、例えばRAM等で構成される一時記憶部36を作業領域として動作する。なお、カーナビ制御部35が行う処理の詳細については、後に詳しく説明する。
カーナビ記憶部37は、図示のように、プログラム及びデータを格納しており、カーナビ30は、カーナビ記憶部37に格納されているプログラムを、カーナビ制御部35が一時記憶部36に読み出して実行することによって予め定められた動作を実行する。また、例えば地図データや、音声出力を行うための音声データ等もカーナビ記憶部37に格納されている。なお、カーナビ記憶部37は、カーナビ30の本体から着脱可能に構成されていてもよい。カーナビ記憶部37に格納されているデータの詳細については後述する。
車両信号入力部38は、パーキングブレーキがかかっているか否かを検出するパーキングブレーキセンサーの検出結果、及び車の速度を検出する車速度センサーの検出結果の入力を受け付け、これらの検出結果をカーナビ制御部35に送る。カーナビ制御部35では、これらの検出結果に基づいて、車が駐車されたか否かが判断される。
操作部39は、ユーザがカーナビ30に入力操作を行うためのものであり、表示部40はカーナビ制御部35の指示に従って、目的地を設定するための入力画面、地図、目的地までのルート等を表示するものである。カーナビ30では、操作部39が表示部40への接触を入力操作として検出する、いわゆるタッチパネル方式で入力を行うものとする。なお、操作部39は、ユーザの入力操作を受け付け可能な構成となっていればよく、例えば操作部39を複数の入力ボタンで構成してもよい。
〔サーバ50の構成〕
サーバ50は、複数の携帯電話1で構成される同乗者グループにサービスを提供するものである。具体的には、サーバ50は携帯電話1への、地図及びルートガイドの提供、目的地関連情報の提供、及び位置情報の通知等のサービスを提供する。図示のように、通信部51、サーバ制御部52、一時記憶部53、サーバ記憶部54、操作部55、及び表示部56を備えている。
通信部51は、携帯電話1の電話網通信部3と通信を行うためのものである。このため、通信部51は、携帯電話1の電話網通信部3の通信方式と同じ通信方式で通信が行えるように構成される。ここでは、携帯電話1の電話網通信部3がインターネットを介して通信を行うことを想定しているので、サーバ50の通信部51もインターネットを介して通信を行うことができるように構成される。
サーバ制御部52は、サーバ50の動作を統括して制御するものであり、例えばCPU等で構成することができる。サーバ制御部52は、例えばRAM等で構成される一時記憶部53を作業領域として動作する。なお、サーバ制御部52が行う処理の詳細については、後に詳しく説明する。
サーバ記憶部54は、図示のように、プログラム及びデータを格納しており、サーバ50は、サーバ記憶部54に格納されているプログラムを、サーバ制御部52が一時記憶部53に読み出して実行することによって予め定められた動作を実行する。なお、サーバ記憶部54に格納されているデータの詳細については後述する。
操作部55は、サーバ50に入力操作を行うためのものであり、表示部56はサーバ制御部52の指示に従って画像を表示するものである。これにより、表示部56に表示される画像を確認しながら、サーバ50に入力操作を行うことができる。
以上のように、本実施形態では、携帯電話1、カーナビ30、及びサーバ50の各ブロック、特に携帯電話制御部6、カーナビ制御部35、及びサーバ制御部52を、ソフトウェアで構成する例について説明する。
すなわち、携帯電話1、カーナビ30、及びサーバ50は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。
そして、本発明の目的は、上述した機能を実現するソフトウェアである携帯電話1、カーナビ30、及びサーバ50の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記携帯電話1、カーナビ30、及びサーバ50に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、携帯電話1、カーナビ30、及びサーバ50を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
なお、携帯電話1、カーナビ30、及びサーバ50の機能は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。また、携帯電話制御部6、カーナビ制御部35、及びサーバ制御部52は、ハードウェアロジックによって構成してもよい。
〔グループ生成システム100のより詳細な構成〕
続いて、グループ生成システム100のより詳細な構成について、図1に基づいて説明する。図1は、グループ生成システム100の要部構成を示すブロック図である。なお、図6に示したように、携帯電話1とカーナビ30との間の通信は、近距離通信部9及び31を介して行なわれ、携帯電話1とサーバ50との間の通信は、電話網通信部3及び通信部51を介して行なわれるが、ここでは簡単のため、これらの構成の記載を省略している。
〔携帯電話1のより詳細な構成〕
図示のように、携帯電話1の携帯電話制御部6には、同乗者グループ登録部(位置情報登録手段、位置取得情報受信手段)20、目的地関連情報取得部(目的地関連情報取得手段)21、ルートガイド要求部(ルートガイド実行手段)22、同乗者位置表示部(位置表示手段)23、同乗者グループ離脱処理部(期限管理手段)24、及び同乗者間通信制御部(選択手段、端末間通信制御手段)25が含まれており、携帯電話記憶部8には、端末情報格納部26、同乗者グループ関連情報格納部27、及び駐車位置格納部28が含まれている。
同乗者グループ登録部20は、携帯電話1をカーナビ30が設定する同乗者グループに登録させる処理を行う。ここでは、携帯電話1とカーナビ30とがBluetooth通信を行うことを想定しているので、通信開始前に予めペアリングを行う必要がある。同乗者グループ登録部20は、このペアリング処理を行い、これにより携帯電話1がカーナビ30において、同乗者グループの候補として登録される。
また、同乗者グループ登録部20は、携帯電話1とカーナビ30とが通信可能な状態となったとき、すなわち携帯電話1のユーザがカーナビ30の搭載された車に乗り込み、カーナビ30に電流が供給されたときに、カーナビ30からの要求を受けて、携帯電話1の端末情報(位置取得情報)をカーナビ30に送信する。これにより、携帯電話1の端末情報がカーナビ30に登録されて、携帯電話1は同乗者グループの構成端末となる。
なお、詳細については後述するが、端末情報は自端末が取得した自端末の位置情報を自端末以外の端末が取得するための情報である。つまり、携帯電話1の端末情報を用いることによって、他の端末は、携帯電話1の位置情報を取得することができるようになっている。
目的地関連情報取得部21は、サーバ50から目的地関連情報を取得する処理を行う。具体的には、目的地関連情報取得部21は、カーナビ30から受信した目的地の位置情報をサーバ50に送信して、目的地に関連する情報である目的地関連情報を携帯電話1に送信させる。また、目的地関連情報取得部21は、受信した目的地関連情報を自動的に、またはユーザの入力操作に従って表示部11に表示する処理も行う。
ルートガイド要求部22は、カーナビ30から受信した携帯電話1の現在地及び目的地をサーバ50に送信し、サーバ50に上記現在地から目的地までのルートガイドを行わせる。具体的には、ルートガイド要求部22は、サーバ50から受信した目的地までの地図を表示部11に表示させると共に、同じくサーバ50から受信した目的地までの道順を示すルート情報を表示させた地図上に重畳して表示させる。
同乗者位置表示部23は、同乗者グループに含まれる他の端末の現在地を取得し、表示部11に表示する処理を行う。より詳細には、同乗者位置表示部23は、ルートガイド要求部22が表示部11に表示させた地図に上記取得した他の端末の現在地が含まれる場合に、上記地図上に当該端末の現在地を示す情報(例えば記号や文字、アイコン等)を表示する。また、ルートガイド要求部22が表示部11に表示させた地図に上記取得した他の端末の現在地が含まれない場合には、同乗者位置表示部23は、上記とは別の地図を表示して該地図上に当該端末の現在地を示す情報を表示する。
同乗者グループ離脱処理部24は、携帯電話1を同乗者グループから離脱させる処理を行う。具体的には、同乗者グループ離脱処理部24は、操作部10に対して同乗者グループを離脱する旨の入力操作が行われたとき、同乗者グループに設定されている期限を経過したとき、及び携帯電話1が目的地から所定範囲外に出たときに、携帯電話1を同乗者グループから離脱させる。
同乗者間通信制御部25は、同乗者位置表示部23が表示部11に表示させた、同乗者グループを構成する他の端末の現在地を示す情報が選択されたときに、該情報に対応する端末と通信を行う。具体的には、同乗者間通信制御部25は、上記情報が選択されたときに、該情報に対応する端末に対して、メールの送信または電話の発信を行う。
端末情報格納部26には、携帯電話1の端末情報が格納される。具体的には、端末情報格納部26には、携帯電話1の電話番号、メールアドレス、及び所有者名等が格納される。端末情報は、携帯電話1の位置情報を他の端末が取得するためのものであり、この目的を果たすことができるものであればどのようなものであってもよい。
同乗者グループ関連情報格納部27には、カーナビ30が設定した同乗者グループに関する情報が格納される。具体的には、同乗者グループ関連情報格納部27には、同乗者グループを構成する他の端末の端末情報等が格納される。
駐車位置格納部28には、カーナビ30が搭載されている車の駐車位置が格納される。ルートガイド要求部22は、ユーザが駐車位置に戻る旨の入力操作を行ったときに、駐車位置格納部28に格納されている駐車位置を用いて、現在地から駐車位置までのルートガイドを行う。グループ生成システム100では、カーナビ30が駐車位置を取得して携帯電話1に送信するので、駐車位置格納部28にはカーナビ30が送信した駐車位置が格納される。
〔カーナビ30のより詳細な構成〕
図示のように、カーナビ30のカーナビ制御部35には、端末登録部40、同乗者グループ生成部(位置取得情報取得手段)41、同乗者グループ情報配信部(位置取得情報送信手段)42、動作状態判断部43、ルートガイド実行部44が含まれており、カーナビ記憶部37には、登録端末管理テーブル45、及びカーナビ側同乗者グループ管理テーブル46が含まれている。
端末登録部40は、同乗者グループを構成する候補となる端末を登録端末管理テーブル45に登録する。具体的には、端末登録部40は、操作部39に対して所定の入力操作(ペアリング操作)が行われたことを検出したときに、携帯電話1と互いのBluetooth通信アドレスを交換するペアリング処理を行う。そして、交換したBluetooth通信アドレスを登録端末管理テーブル45に登録する。つまり、カーナビ30とペアリング済みの端末が同乗者グループを構成する候補となる端末ということになる。
同乗者グループ生成部41は、登録端末管理テーブル45に登録されている端末の中から、カーナビ30が現在通信可能な端末を検索し、検出した端末を同乗者グループとして設定する。また、同乗者グループ生成部41は、上記のようにして設定した同乗者グループをカーナビ側同乗者グループ管理テーブル46に登録する。
同乗者グループ情報配信部42は、カーナビ側同乗者グループ管理テーブル46に登録された各端末に対して、同じくカーナビ側同乗者グループ管理テーブル46に登録された他の端末の上記端末情報を配信する。
動作状態判断部43は、車両信号入力部38(図6参照)から、パーキングブレーキがかかっているか否かの検出結果、及び車の速度の検出結果を受け取り、これらの検出結果に基づいて、車が駐車されたか否かを判断する。
ルートガイド実行部44は、位置取得部32(図6参照)が取得した現在地から、ユーザによって設定された目的地までのルートガイドを行う。具体的には、ルートガイド実行部44は、上記現在地付近の地図をカーナビ記憶部37から読み出して表示部40に表示させる。そして、表示させた地図に重畳して目的地までのルートを表示すると共に、表示したルートを車が走行できるように、音声出力部34に音声ガイドを行わせる。
登録端末管理テーブル45には、カーナビ30とペアリング済みの端末のBluetooth通信アドレスが格納される。登録端末管理テーブル45にBluetooth通信アドレスが格納された端末のうち、現在カーナビ30とBluetooth通信可能な端末が同乗者グループに組み込まれることになる。
カーナビ側同乗者グループ管理テーブル46は、同乗者グループ生成部41が生成した同乗者グループを管理するテーブルであり、カーナビ側同乗者グループ管理テーブル46には、同乗者グループを構成する各端末(この場合、携帯電話1)の端末情報が含まれている。カーナビ側同乗者グループ管理テーブル46は、例えば下記の表1に示す態様とすることもできる。
表1は、カーナビ側同乗者グループ管理テーブル46の一例を示している。表1のカーナビ側同乗者グループ管理テーブル46では、ヘッダ情報に、ペアリングした携帯電話1の数、すなわち登録端末管理テーブル45に登録済みの端末の総数と、乗車した端末の数、すなわちカーナビ30と現在接続中である端末の総数とが含まれている。
そして、表1に示すように、カーナビ側同乗者グループ管理テーブル46には、登録されている各端末の端末情報が含まれている。表1の例では、端末情報に、カーナビ30に登録を行った順に付与される登録番号、Bluetoothアドレス、ユーザの氏名、電話番号、メールアドレス、及びカーナビ30との接続の有無を示す情報が含まれている。
なお、表1は、カーナビ側同乗者グループ管理テーブル46の一例を示すものであり、カーナビ側同乗者グループ管理テーブル46の態様はこの例に限られない。カーナビ側同乗者グループ管理テーブル46は、少なくとも同乗者グループを構成する各端末の位置を取得可能な情報を含むものであればよい。
〔サーバ50のより詳細な構成〕
図示のように、サーバ50のサーバ制御部52は、目的地関連情報送信部61、ルートガイド送信部62、同乗者位置送信部63、及び同乗者グループ関連情報消去部64を含み、サーバ記憶部54は、サーバ側同乗者グループ管理テーブル65を含む。
目的地関連情報送信部61は、携帯電話1から目的地の位置情報と目的地関連情報の送信要求とを受信し、受信した目的地の位置情報に基づいて、当該目的地付近の店舗、施設等を示す目的地関連情報を検索し、検出した目的地関連情報を携帯電話1に送信する。なお、目的地関連情報は、サーバ50に目的地関連情報のデータベースを設け、該データベース内から検索するようにしてもよいし、サーバ50と有線または無線通信接続された他のデータベースから検索するようにしてもよい。
ルートガイド送信部62は、携帯電話1から当該携帯電話の現在地及び目的地の位置情報と、ルートガイドの送信要求とを受信し、受信した現在地を含む範囲の地図と、現在地から目的地までのルートを示すルート情報とを携帯電話1に送信する。なお、地図は、サーバ50に地図のデータベースを設け、該データベース内から取得するようにしてもよいし、サーバ50と有線または無線通信接続された他のデータベースから取得するようにしてもよい。また、ルート情報は、ルートガイド送信部62が生成してもよいし、サーバ50と有線または無線通信接続された他の装置に生成させて取得するようにしてもよい。
同乗者位置送信部63は、携帯電話1からの指示を受けて、同乗者グループに含まれる他の携帯電話1の位置を示す位置情報を送信する。同乗者位置送信部63は、図2の例のように、携帯電話1から要求された他の端末の現在地を携帯電話1に送信するものであってもよいし、図3の例のように携帯電話1から現在地を受信したときに、携帯電話1に他の端末の現在地を送信するものであってもよい。
同乗者グループ関連情報消去部64は、同乗者グループが解消されたとき、及び同乗者グループから離脱した携帯電話1があったときに、サーバ側同乗者グループ管理テーブル65に格納されている同乗者グループ関連情報の削除を行う。なお、同乗者グループ関連情報には、同乗者グループを構成する各端末の端末情報と、同乗者グループの各端末に共通して適用できる同乗者グループ情報(例えば、目的地の位置情報等)とが含まれている。
〔グループ生成システム100における処理の流れ〕
続いて、グループ生成システム100における処理の流れについて、図7に基づいて説明する。図7は、グループ生成システム100で実行される処理の全体の流れを示すフローチャートである。なお、同図では、携帯電話1をそれぞれ所有する複数のユーザがカーナビ30を搭載した車に乗り込んだ状態からの処理の流れを示している。以下では、まず携帯電話1が実行する処理について説明し、その後でカーナビ30が実行する処理について説明する。
〔携帯電話1の処理〕
携帯電話1がカーナビ30に事前に登録(ペアリング)を行っている場合には、カーナビ30が実行する同乗者確認(S10)によって、携帯電話1が同乗者グループに登録される。具体的には、同乗者確認処理では、携帯電話1の端末情報が、カーナビ30のカーナビ側同乗者グループ管理テーブル46に登録される。
一方、携帯電話1がカーナビ30に登録されていない場合には、携帯電話1とカーナビ30とのペアリングを行う必要がある。そこで、携帯電話1の同乗者グループ登録部20は、まず登録処理を行う(S1)。登録処理では、携帯電話1とカーナビ30とのペアリングが行われ、続いて携帯電話1の端末情報がカーナビ側同乗者グループ管理テーブル46に登録される。なお、登録処理の詳細については後述する。
カーナビ30が実行する同乗者確認(S10)または登録処理(S1)によって、同乗者グループへの登録が行われると、同乗者グループ登録部20は、カーナビ30からの接続要求を待ち受ける(S2)。なお、接続要求は、カーナビ30が搭載された車が駐車したときに送信される。接続要求は、例えば下記の表2に示すようなデータ形式とすることもできる。
そして、接続要求の受信を確認した場合(S2でYES)には、同乗者グループ登録部20は、カーナビ30と接続処理を行う(S3)。接続処理を行うことによって、携帯電話1とカーナビ30との間でBluetooth通信接続が確立され、携帯電話1とカーナビ30とは、近距離通信部9及び31を介して相互に通信を行うことが可能になる。
携帯電話1とカーナビ30とのBluetooth通信接続が確立されると、カーナビ30から携帯電話1に同乗者グループ関連情報が送信されるので、携帯電話1はこれを受信する(S4)。上述のように同乗者グループ関連情報は、端末情報と同乗者グループ情報とを含む情報であり、カーナビ側同乗者グループ管理テーブル46に格納されている。同乗者グループ関連情報は、例えば表3のようなデータ形式としてもよい。
表3の例では、同乗者グループ情報として、目的地(緯度、経度)、現在地(緯度、経度)、同乗者グループの存続期限を示す終了時刻(期限情報)、及び同乗者グループが生成されたときに付与されるパスコードが含まれている。また、端末情報として、同乗者数、同乗者1〜3の氏名、電話番号、及びメールアドレスが含まれている。なお、表3の「現在地」は、カーナビ30の現在地、すなわち駐車位置を示している。また、パスコードは、サーバ50から他の端末の位置情報を取得するために用いられるものである。
続いて、同乗者グループ登録部20は、受信した同乗者グループ関連情報を同乗者グループ関連情報格納部27に格納し、受信した現在地(車の駐車位置)を駐車位置格納部28に格納する(S5)。つまり、同乗者グループ関連情報格納部27には、上記表3に示すようなデータが格納されることになる。なお、携帯電話1は、位置取得部2を備えているので、車の駐車位置は、携帯電話1が取得するようにしてもよい。
以上のようにして、同乗者グループ関連情報及び駐車位置を格納した同乗者グループ登録部20は、カーナビ30に切断要求を送信し(S6)、カーナビ30とのBluetooth通信接続を切断する(S7)。切断要求は、例えば下記の表4に示すようなデータ形式とすることもできる。
この後、ユーザは車から降り、携帯電話1を持って目的地に向かう。このときに、携帯電話1は、サーバ50との間で降車後処理を行う(S8)。なお、降車後処理の詳細については後述する。
〔カーナビ30の処理〕
車のエンジンがかけられて動作を開始したカーナビ30は、まず同乗者確認を行う(S10)。具体的には、カーナビ30の同乗者グループ生成部41は、Bluetooth通信可能な端末の検索を行う。そして、検出した端末のBluetooth通信アドレスが、登録端末管理テーブル45に格納されているBluetooth通信アドレスに一致するか否かを確認する。
そして、同乗者グループ生成部41は、Bluetooth通信アドレスが一致した端末とBluetooth通信接続を行い、該端末に端末情報の送信を要求して、該端末から受信した端末情報をカーナビ側同乗者グループ管理テーブル46に登録する。
すなわち、携帯電話1がカーナビ30に登録(ペアリング)されており、携帯電話1とカーナビ30とがBluetooth通信可能な位置関係にある場合には、同乗者グループ生成部41によって、携帯電話1が検出される。そして、カーナビ30と携帯電話1とでBluetooth通信接続が行われ、携帯電話1からカーナビ30に携帯電話1の端末情報が送信され、カーナビ側同乗者グループ管理テーブル46に登録される。なお、端末情報が登録された後、Bluetooth通信接続は、切断される。
一方、携帯電話1がカーナビ30に登録(ペアリング)されていない場合には、カーナビ30は、携帯電話1と登録処理を行う(S11)。登録処理では、携帯電話1とカーナビ30とでペアリングが行われると共に、携帯電話1の端末情報がカーナビ側同乗者グループ管理テーブル46に登録される。なお、登録処理の詳細については後述する。
次に、カーナビ30のルートガイド実行部44は、目的地設定操作の有無を確認する(S12)。ここで、目的地設定操作が行われていないと判断した場合(S12でNO)には、処理はS10に戻る。
一方、目的地設定操作が行われていると判断した場合(S12でYES)、すなわち目的地がカーナビ30に入力されている場合には、ルートガイド実行部44はルート検索を行う(S13)。目的地までのルートが検出された後は、ルートガイド実行部44は、一般的なカーナビと同様に、音声及び画像で目的地までのルートガイドを行う。また、ルートガイド実行部44は、設定された目的地を同乗者グループの目的地としてカーナビ側同乗者グループ管理テーブル46に格納する(表3参照)。
また、車のエンジンがかかっている(カーナビ30に電力が供給されている)間、動作状態判断部43は、車が停止状態となったか否かを監視し続ける(S14)。具体的には、動作状態判断部43は、車の速度がゼロとなり、かつパーキングブレーキがかけられたときに車が停止状態(駐車状態)となったと判断する。なお、動作状態判断部43は、車が駐車状態になったことを検出することができればよく、例えば車のエンジンを切る操作を検出し、該操作を検出したときに車が駐車状態になったと判断してもよい。
動作状態判断部43は、車が駐車状態となったと判断する(S14でYES)と、その旨を同乗者グループ情報配信部42に伝達する。伝達を受けた同乗者グループ情報配信部42は、カーナビ側同乗者グループ管理テーブル46に含まれる各携帯電話1に対して、同乗者グループ関連情報を配信する処理を行う(S15〜S21)。
ここで、同乗者グループ関連情報には、携帯電話1の端末情報が含まれており、端末情報には、個人情報(電話番号、メールアドレス、及び氏名等)が含まれている。携帯電話1のユーザの中にはこのような個人情報を送信することを望まない者が含まれていることも考えられるので、同乗者グループ情報配信部42は、同乗者グループ関連情報の配信前に、その配信可否をユーザに問い合わせることが好ましい。
例えば、図8に示すような画像をカーナビ30の表示部40に表示して、配信可否をユーザに問い合わせればよい。図8は、カーナビ30の表示部40に表示される画面例を示す図であり、同図の上側は端末情報の配信可否をユーザに問い合わせる画面の一例を示し、同図の下側は終了時刻の入力画面の一例を示す図である。
同図の上側に示すように、個人情報が送信されることをユーザに通知し、その可否を選択させることによって、個人情報を送信したくないユーザの意図に反して個人情報が送信されることを防ぐことができる。
ここで、処理を続行しないことが選択された場合(図中で「いいえ」が選択された場合)には、S10の処理に戻る。一方、処理を続行することが選択された場合(図中で「はい」が選択された場合)には、端末情報の配信処理が続行される。すなわち、同乗者グループ情報配信部42は、同図の下側に示すように、同乗者グループを解消する時刻である終了時刻をユーザに入力させる入力画面を表示する。これにより、ユーザは、所望の終了時刻に同乗者グループを解消することができる。
そして、処理は、図7のS15に進む。S15では、同乗者グループ情報配信部42は、同乗者グループのパスコードを生成する。このパスコードは、同乗者グループを構成する他の携帯電話1の位置情報を取得する際の認証に用いられる。同乗者グループ情報配信部42は、生成したパスコードをカーナビ側同乗者グループ管理テーブル46に格納する。
次に、同乗者グループ情報配信部42は、近距離通信部31を介して、カーナビ側同乗者グループ管理テーブル46に格納されている携帯電話1の1つに接続要求を送信する。続いて、同乗者グループ情報配信部42は、接続要求の送信に成功したか否かを判断する(S17)。具体的には、同乗者グループ情報配信部42は、送信要求に対する応答の受信を確認した場合に、接続要求の送信に成功したと判断し、一定時間を経過しても応答の受信が確認できない場合に、接続要求の送信に失敗したと判断する。
ここで、接続要求の送信に失敗したと判断した場合(S17でNO)には、同乗者グループ情報配信部42は、S16に戻って接続要求を再送信する。なお、所定回数再送信を行っても接続要求の送信成功が確認されない場合には、同乗者グループ情報配信部42は、S22の処理に進む(S17からS22に進む処理は図示していない)。
一方、接続要求の送信に成功したと判断した場合(S17でYES)には、同乗者グループ情報配信部42は、携帯電話1とBluetooth通信接続を確立するための接続処理を行う(S18)。続いて、同乗者グループ情報配信部42は、カーナビ側同乗者グループ管理テーブル46を参照して同乗者グループ関連情報(表3参照)を携帯電話1に送信する(S19)。
同乗者グループ関連情報を送信すると、該同乗者グループ関連情報を受信した携帯電話1から切断要求が送信される。同乗者グループ情報配信部42は、切断要求の受信を確認して(S20)、携帯電話1とのBluetooth通信接続を切断する(S21)。
そして、同乗者グループ情報配信部42は、カーナビ側同乗者グループ管理テーブル46を参照し、同乗者グループに含まれており、未だ接続要求を送信していない携帯電話1が存在するか否かを確認する(S22)。ここで、接続要求を送信していない携帯電話1が存在する場合(S22でYES)には、同乗者グループ情報配信部42は、S16の処理に戻ってその携帯電話1に接続要求を送信する。一方、接続要求を送信していない携帯電話1が存在しない場合(S22でNO)には、同乗者グループ情報配信部42は、同乗者グループ生成部41に指示して同乗者グループに加える携帯電話の有無を確認させる。
グループ生成システム100では、以上のように、複数の携帯電話1のそれぞれから送信された端末情報を用いて、カーナビ30が同乗者グループ関連情報を生成する。そして、カーナビ30は、生成した同乗者グループ関連情報を降車時に同乗者グループを構成する各携帯電話1に送信する。
〔登録処理の流れ〕
続いて、図7のS1及び11で行われる登録処理の流れについて、図9に基づいて説明する。図9は、登録処理の一例を示すフローチャートである。登録処理は、携帯電話1とカーナビ30とでペアリング操作が行われることによって開始される。なお、以下では、まず携帯電話1が実行する処理について説明し、その後でカーナビ30が実行する処理について説明する。
〔携帯電話1の処理〕
携帯電話1の同乗者グループ登録部20は、まず操作部10に対してペアリングを行うための入力操作(ペアリング操作)が行われたか否かを確認する(S30)。ここで、ペアリング操作が行われていることが確認されなかった場合(S30でNO)には、同乗者グループ登録部20は、登録処理を終了し、図7のS2の処理に進む。
一方、ペアリング操作が行われたことを確認した場合(S30でYES)には、同乗者グループ登録部20は、カーナビ30とペアリング処理を行う(S31)。ペアリング処理では、携帯電話1とカーナビ30とで機器認証が行なわれた上で、互いの通信アドレスが交換される。
具体的には、携帯電話1の近距離通信部9とBluetooth通信を行うための通信アドレスがカーナビ30に送信されて、カーナビ記憶部37の登録端末管理テーブル45に登録される。同様に、カーナビ30の近距離通信部31とBluetooth通信を行うための通信アドレスが携帯電話1に送信されて、携帯電話記憶部8に登録される。
以上のようにしてペアリング処理が行われると、カーナビ30から接続要求(表2参照)が送信される。同乗者グループ登録部20は、接続要求の受信を確認すると、接続処理を行ってカーナビ30とBluetooth通信接続を確立する(S32)。
そして、Bluetooth通信接続が確立されると、同乗者グループ登録部20は、端末情報格納部26から携帯電話1の端末情報を読み出して、カーナビ30に送信する(S33)。端末情報は、携帯電話1の位置を他の端末が取得可能な情報であればよく、携帯電話1の位置を取得する方法に応じて適宜設定される。ここでは、電話番号またはメールアドレスによって携帯電話1の位置を取得することを想定しているので、端末情報は、例えば下記の表5のようなデータ形式とすることもできる。
表5の端末情報には、携帯電話1の所有者の氏名、電話番号等の個人情報が含まれている。携帯電話1のユーザの中にはこのような個人情報が記録されることを望まない者が含まれていることも考えられるので、同乗者グループ登録部20は、端末情報の送信前に、その送信可否をユーザに問い合わせることが好ましい。
例えば、図10に示すような画像を携帯電話1の表示部11に表示して、送信可否をユーザに問い合わせればよい。図10は、携帯電話1の表示部11に表示される画面例を示す図であり、同図の上側は端末情報の送信可否をユーザに問い合わせる画面の一例を示し、同図の下側は送信する情報の設定画面の一例を示す図である。
同図の上側に示すように、個人情報がカーナビ30に送信されて登録されることをユーザに通知し、その可否を選択させることによって、個人情報をカーナビ30に登録したくないユーザの個人情報が登録されることを防ぐことができる。
また、携帯電話1のユーザの中には、例えば、変更が容易なメールアドレスは登録しても構わないが、変更が難しい電話番号や氏名は登録したくないといったように、一部の個人情報のみの登録を希望する者がいることも考えられる。
そこで、同図の上側の画面において、登録処理を行うことが選択された場合には、同図の下側に示すように、登録する個人情報を選択する画面を表示することが好ましい。これにより、ユーザは、登録したくない個人情報を登録せずに、同乗者グループに参加することが可能になる。
以上のようにして端末情報を送信すると、カーナビ30ではこの端末情報の登録が行われ、その後カーナビ30から携帯電話1に切断要求(表4参照)が送信される。携帯電話1では、同乗者グループ登録部20が、切断要求の受信を確認し(S34)、Bluetooth通信接続を切断する(S35)。これによって、携帯電話1の登録処理は終了する。
〔カーナビ30の処理〕
カーナビ30においても携帯電話1と同様に、まず端末登録部40によって、ペアリング操作が行われたか否かの確認が行われる(S40)。ここで、ペアリング操作が行われていることが確認されなかった場合(S40でNO)には、端末登録部40は登録処理を終了し、図7のS12の処理に進む。
一方、ペアリング操作が行われたことを確認した場合(S40でYES)には、端末登録部40は、携帯電話1とペアリング処理を行う(S41)。ペアリング処理では、携帯電話1とカーナビ30とで機器認証が行なわれた上で、互いの通信アドレスが交換される。通信アドレスの交換が終了すると、端末登録部40は、その旨を同乗者グループ生成部41に伝達する。
そして、伝達を受けた同乗者グループ生成部41は、携帯電話1に接続要求を送信し(S42)、続いて接続処理を行い(S43)携帯電話1とBluetooth通信接続を確立する。
ここで、上述のように、Bluetooth通信接続が確立されると、携帯電話1から端末情報が送信される。同乗者グループ生成部41は、端末情報の受信を確認する(S44)と、受信した端末情報をカーナビ側同乗者グループ管理テーブル46に格納する。これにより、携帯電話1は、同乗者グループを構成する端末として設定されたことになる。
端末情報の格納を終えた同乗者グループ生成部41は、携帯電話1に切断要求を送信し(S45)、Bluetooth通信接続を切断する(S46)。これによって、カーナビ30の登録処理は終了する。
登録処理では、以上のようにしてペアリングが行われ、その後、携帯電話1の端末情報がカーナビ30に送信されて格納される。なお、図7には示していないが、同乗者確認(S10)では、ペアリング処理を行う点を除いて、図9の登録処理と同様の処理が行われる。
すなわち、同乗者確認によって、登録端末管理テーブル45に格納されているアドレスと同じアドレスが検出されたときには、同乗者グループ生成部41は、そのアドレスに対して接続要求を送信してBluetooth通信接続を確立する。そして、Bluetooth通信にて端末情報を受信してカーナビ側同乗者グループ管理テーブル46に格納し、その後Bluetooth通信接続を切断する。
〔降車後処理の流れ〕
続いて、図7のS8で行われる登録処理の流れについて、図11に基づいて説明する。図11は、降車後処理の一例を示すフローチャートである。降車後処理は、カーナビ30から同乗者グループ関連情報を受信した携帯電話1とサーバ50とで行われる処理である。
なお、図11のフローチャートは、図2の「車外」の処理に対応している。つまり、図11のフローチャートでは、携帯電話1は、位置情報を取得したい端末の電話番号をサーバ50に送信することによって、該端末の位置情報を取得する。以下では、まず携帯電話1が実行する処理について説明し、その後でサーバ50が実行する処理について説明する。
〔携帯電話1の処理〕
カーナビ30から同乗者グループ関連情報を受信したことを確認すると、同乗者グループ登録部20は、受信した同乗者グループ関連情報を、同乗者グループ関連情報格納部27に格納すると共に、その旨を目的地関連情報取得部21及びルートガイド要求部22に伝達する。
伝達を受けた目的地関連情報取得部21は、サーバ50に目的地関連情報送信要求を送信する(S50)。目的地関連情報送信要求は、例えば下記の表6に示すようなデータ形式とすることもできる。なお、表6の「目的地の緯度、目的地の経度」は、同乗者グループ関連情報格納部27から読み出したものである。
ここで、目的地関連情報送信要求を送信すると、サーバ50から目的地関連情報が送信される。目的地関連情報取得部21は、目的地関連情報の受信を確認すると(S51)、受信した目的地関連情報を表示部11に表示させる。なお、目的地関連情報は、受信したときに表示させてもよいし、ユーザが操作部10に所定の入力操作を行ったときに表示させてもよい。
目的地関連情報は、ユーザが駐車位置と目的地との間で移動する間に有用な情報であればどのようなものであってもよいが、例えば下記の表7に示すようなデータ形式とすることもできる。
表7の例では、目的地関連情報に目的地の詳細な情報を示す目的地詳細情報と、目的地周辺施設の情報(グルメ、交通機関、ホテル、コンビニ)とが含まれている例を示している。
ここでは、携帯電話1がインターネット接続できることを想定しているので、表7の例では、目的地周辺施設の情報(グルメ、交通機関、ホテル、コンビニ)は、Webページのリンク(URL)としている。しかしながら、これらの情報も目的地詳細情報と同様に、画像やテキストの形式であってもよく、逆に目的地詳細情報をWebページのリンク(URL)としてもよい。つまり、目的地関連情報は、画像(静止画像または動画像)、テキスト、及びリンクの何れであってもよく、またこれら以外のデータ(音声等)であっても構わない。
また、上記のような、観光情報や施設、店舗情報以外にも、例えばルートガイド用の地図では表示されない、建物の内部構造を示す画像やテキスト等を目的地関連情報としてもよい。例えば、目的地がビルや地下街等の鉛直方向の階層を有する場所である場合には、GPSで取得した位置情報のみでは、各携帯電話1のユーザが目的地でスムーズに落ち合うことができないことも考えられる。目的地関連情報として、ビルや地下街等の内部構造を示す画像やテキスト等を送信することによって、このような問題を解決することができる。
さらに、ここでは目的地の位置情報と目的地関連情報送信要求とをサーバ50に送信する例を示しているが、目的地の位置情報に加えて、駐車位置を示す位置情報も送信するようにしてもよい。これにより、携帯電話1は、駐車位置から目的地までの間の情報を取得することが可能になる。
携帯電話1では、以上のように、同乗者グループ関連情報が同乗者グループ関連情報格納部27に格納されると、目的地関連情報取得部21が、目的地関連情報の取得を行う(S50〜S51)。
また、携帯電話1では、同乗者グループ関連情報が同乗者グループ関連情報格納部27に格納されると、ルートガイド要求部22が、サーバ50から地図と目的地までの道順を示すルート情報とを取得する。
すなわち、ルートガイド要求部22は、まず位置取得部2から携帯電話1の現在地を取得する(S52)。続いて、ルートガイド要求部22は、S52で取得した現在地と、同乗者グループ関連情報格納部27に格納されている目的地及びパスコードと、端末情報格納部26に格納されている自端末及び同乗者の電話番号とをサーバ50に送信する(S53)。ここでサーバ50に送信するデータは、例えば下記の表8に示すようなデータ形式とすることもできる。
なお、パスコード及び電話番号は、後述の同乗者位置表示処理(S56〜S58)において使用されるものである。具体的には、パスコードは、サーバ50が同乗者グループを特定するために使用され、電話番号は、サーバ50が携帯電話1を特定するために使用される。パスコード及び電話番号は、同乗者位置表示処理(S56〜S58)が行われるまでにサーバ50に送信されるようになっていればよく、ここで述べる態様に限られない。
上記のように、現在地、目的地、電話番号、及びパスコードを送信すると、サーバ50から現在地から目的地までのルート情報と地図とが送信されるので、携帯電話1はこれを受信する(S54)。ここでサーバ50に送信するデータは、例えば下記の表9に示すようなデータ形式とすることもできる。
また、ルート情報は、例えば下記の表10のようなデータ形式とすればよい。このようなルート情報を受信したルートガイド要求部22は、受信した地図を表示部11に表示すると共に、表示した地図上に、現在地と目的地とを表示する。そして、ルートガイド要求部22は、現在地、中間地点1〜3、及び目的地をこの順番で結ぶ線分を上記地図上に表示する。これにより、ユーザは、現在地、目的地、及び現在地から目的地までの道順を地図上で確認することができる。
ここまでの処理により、携帯電話1には、現在地から目的地までの地図が表示され、地図上には現在地、目的地、及び現在地から目的地までの道順が表示される。また、携帯電話1には、目的地関連情報も表示される。これらの情報は、例えば図12のようにして表示される。
図12は、携帯電話1の表示部11に表示される画像の一例を示す図であり、(a)は地図の表示例、(b)は目的地関連情報の表示例、(c)は目的地詳細情報の表示例を示している。同図(a)に示すように、携帯電話1の表示部11には、現在地と目的地とを含む地図が表示され、地図上には、現在地及び目的地が表示される。なお、同図では現在地から目的地までの道順は図示していない。
ここで、操作部10に対して所定の入力操作を行うことによって、同図(b)に示すように、目的地関連情報を選択するためのウィンドウが地図と重畳して表示される。ここでは、目的地関連情報が表7に示す態様であることを想定している。このため、目的地周辺施設の情報(グルメ、交通機関、ホテル、コンビニ)を選択した時には、ブラウザが起動して選択された情報を提示するWebページが表示部11に表示される。
一方、目的地詳細が選択された場合には、同図(c)に示すように、目的地の詳細を示す情報(表7における、目的地に関連する画像及び目的地に関連する情報を示すテキスト)が表示部11に表示される。
携帯電話1は、上記の処理に続いて、同乗者グループに含まれる他の携帯電話1の現在地を上記地図に重畳して表示する処理を行う(S56〜S58)。ここで、この処理を行う前に、同乗者グループ離脱処理部24は、携帯電話1が備える時計(図1及び図6には示していない)を参照して現在の時刻を取得し、現在の時刻が、同乗者グループ関連情報格納部27に格納されている終了時刻を越えているか否かを判断する。また、同乗者グループ離脱処理部24は、現在地が目的地から所定の範囲内に含まれているか否かを判断する(S55)。
終了時刻を越えているか、または現在地が目的地から所定の範囲外となっている場合(S55でNO)には、同乗者グループ離脱処理部24は、S62の処理に進んで携帯電話1を同乗者グループから離脱させる。一方、終了時刻を越えておらず、かつ現在地が目的地から所定の範囲内となっている場合(S55でYES)には、同乗者グループ離脱処理部24は、その旨を同乗者位置表示部23に伝達する。
終了時刻は、同乗者グループに共通に設定されている時刻であるから、S55の処理が行われることにより、終了時刻を過ぎれば、自動的に同乗者グループが解消されることになる。また、携帯電話1が目的地から所定の範囲外に位置している場合にも、携帯電話1を同乗者グループから離脱させるので、例えば携帯電話1のユーザが終了時刻前に帰宅したような場合に、帰宅途中の位置を他の携帯電話1のユーザに把握されることもない。ここでは、目的地から半径10km圏内を上記所定の範囲とするが、所定の範囲は、どのような範囲に設定してもよく、この例に限られない。
さて、同乗者グループ離脱処理部24から上記の伝達を受けた同乗者位置表示部23は、同乗者位置・地図送信要求、電話番号(自端末及び同乗者)、及びパスコードをサーバ50に送信する(S56)。ここで送信するデータは、例えば下記の表11に示すようなデータ形式とすることもできる。
上記のようなデータを送信すると、サーバ50から同乗者の現在地と該現在地を含む地図とが送信される。これらのデータは、例えば下記の表12に示すようなデータ形式であってもよい。なお、同乗者位置及び地図は、同乗者の数だけ送信される。
同乗者位置・地図送信要求を送信した同乗者位置表示部23は、同乗者位置及び地図の受信の有無を確認し(S57)、受信が確認された場合(S57でYES)には、表示部11に、上記受信した同乗者位置を示す情報及び地図が表示されるように表示を更新する(S58)。
なお、このときに受信した同乗者位置が、現在表示中の地図に含まれる(表示可能な)位置である場合には、同乗者位置表示部23は、表示中の地図上に同乗者の位置を示す情報を表示する。一方、受信した同乗者位置が、現在表示中の地図に含まれない(表示不可な)位置である場合には、同乗者位置表示部23は、受信した地図を表示し、該地図上に同乗者の位置を示す情報を表示する。
一定時間内に同乗者位置及び地図の受信が確認できない場合(S57でNO)、またはS58で表示の更新を行った後には、同乗者位置表示部23は、その旨を同乗者間通信制御部25にその旨を伝達する。そして、伝達を受けた同乗者間通信制御部25は、同乗者選択操作の有無を確認する(S59)。
ここで、S58で表示される同乗者位置を示す情報は、操作部10への入力操作によって、選択できるようになっている。すなわち、同乗者選択操作とは、地図上に表示される同乗者位置を示す情報を、操作部10への入力操作によって選択する操作である。同乗者選択操作が行われたことを確認した場合(S59でYES)には、同乗者間通信制御部25は、通話・メール処理を行う(S60)。通話・メール処理では、上記選択された情報に対応する同乗者と通話、または該同乗者に対するメール送信が行われる。なお、通話・メール処理の詳細については後述する。
一方、一定時間内に同乗者選択操作が行われたことが確認されなかった場合(S59でNO)、及び通話・メール処理の終了後には、同乗者間通信制御部25は、その旨を同乗者グループ離脱処理部24に伝達する。そして、伝達を受けた同乗者グループ離脱処理部24は、ユーザが操作部10に対して所定の終了操作を行ったか否かを確認する(S61)。
ここで、終了操作が確認されなかった場合(S61でNO)には、同乗者グループ離脱処理部24は、その旨をルートガイド要求部22に伝達し、これにより処理はS52に戻る。
一方、終了操作が確認された場合(S61でYES)には、同乗者グループ離脱処理部24は、サーバ50に終了通知を送信すると共に、終了処理を行う(S62)。終了処理では、同乗者グループ離脱処理部24は、同乗者グループ関連情報格納部27に格納されているデータを削除する。また、終了通知を受信したサーバ50は、サーバ記憶部54のサーバ側同乗者グループ管理テーブル65に格納されている携帯電話1の端末情報を削除する。このように、S62の処理が行われることによって、携帯電話1は、同乗者グループから完全に離脱する。なお、終了通知は、例えば下記の表13に示すようなデータ形式であってもよい。
終了通知の送信及び終了処理を終えた同乗者グループ離脱処理部24は、ルートガイド要求部22にその旨を伝達する。そして、伝達を受けたルートガイド要求部22は、現在地から駐車位置までのルートガイドを行う帰車処理を実行する(S63)。なお、帰車処理の終了後は、図7のS2の処理に戻る。帰車処理の詳細については後述する。この帰車処理は、図11では、終了処理(S62)の後に行っているが、このタイミングに限定されるものではない。例えば、目的地へのルートガイド中(S52〜S61)に帰車処理を行うことで、同乗者の位置情報を確認しながら、駐車位置まで戻ることも可能である。
〔サーバ50の処理〕
サーバ50では、目的地関連情報送信部61が、目的地関連情報送信要求の受信を待ち受けている(S70)。そして、目的地関連情報送信部61は、目的地関連情報送信要求の受信を確認する(S70でYES)と、目的地関連情報検索用のデータベースから目的地に関連する情報を検索し、検出した情報を目的地関連情報として携帯電話1に送信する(S71)。なお、目的地関連情報検索用のデータベースは、サーバ50が備えていてもよいし、サーバ50の外部に存在するものであってもよい。
また、携帯電話1からサーバ50に、現在地、目的地、電話番号、及びパスコード(表8参照)が送られてくるので、ルートガイド送信部62は、これらのデータを受信し(S72)、サーバ側同乗者グループ管理テーブル65に格納する(S73)。
サーバ側同乗者グループ管理テーブル65は、例えば下記の表14に示すようなデータ形式であってもよい。なお、表14では、12件の位置情報及び端末情報のうち端末情報1のみを示しているが、サーバ側同乗者グループ管理テーブル65には、同様の位置情報及び端末情報が端末件数の数だけ含まれている。この端末件数には、携帯電話1が属する同乗者グループ以外の端末が含まれている。
サーバ側同乗者グループ管理テーブル65に格納されているデータは、携帯電話1から現在地等が送信されたときに更新される。つまり、同乗者グループを構成する携帯電話1が、S53の処理によって現在地等をサーバ50に送信することにより、上記表14のようなデータが格納される。このときには、データが格納された日時が、最終更新日時として格納される。
そして、同乗者グループを構成する他の携帯電話1が、S53の処理によって現在地等をサーバ50に送信したときには、上記表14のデータに、その携帯電話1の端末情報が追加される。また、このときには、データが追加された日時が、当該携帯電話1の端末情報の最終更新日時として格納される。このようにして、同乗者グループを構成する全ての携帯電話1の端末情報がサーバ側同乗者グループ管理テーブル65に格納される。
また、同乗者グループを構成する各携帯電話1は、ユーザの終了操作、終了時刻の経過、または目的地から所定範囲から外れることにより、同乗者グループから離脱するまでの間は、S52〜S61の処理を繰り返す。このため、同乗者グループを構成する各携帯電話1は、同乗者グループに属している間は、S53の処理を定期的に行うことになる。
これにより、サーバ側同乗者グループ管理テーブル65に格納されている各携帯電話1の位置情報は、定期的に更新される。また、位置情報が更新されたときの日時が最終更新日時として格納される。
このように、サーバ側同乗者グループ管理テーブル65では、同乗者グループを構成する各携帯電話1の位置情報が更新されるので、サーバ側同乗者グループ管理テーブル65を参照することによって、各携帯電話1のおおよその現在地を把握することができる。また、最終更新日時によって、サーバ側同乗者グループ管理テーブル65に格納されている現在地が、いつの時点の現在地であるかを把握することができる。これにより、現在地の更新が滞っている携帯電話1を同乗者グループから離脱させることも可能になる。
上記のようなデータがサーバ側同乗者グループ管理テーブル65に格納されると、ルートガイド送信部62は、格納された現在地及び目的地が含まれる地図を、地図データベースから検索すると共に、現在地から目的地までのルート探索を行う(S74)。なお、地図データベースは、サーバ50が備えていてもよいし、サーバ50の外部に存在するものであってもよい。そして、ルートガイド送信部62は、検出した地図及びルート情報を携帯電話1に送信する(S75)。
ここで、既に説明したように、携帯電話1は、同乗者位置を表示するために、同乗者位置・地図送信要求、電話番号(自端末及び同乗者)、及びパスコードをサーバ50に送信する(S56)。同乗者位置送信部63は、これらのデータの受信を確認する(S76)と、受信したデータに含まれるパスコード及び同乗者位置・地図送信要求をした者の電話番号が、サーバ側同乗者グループ管理テーブル65に格納されているものと一致するか否かを確認する(S77)。
パスコード及び電話番号の何れか一方でも一致しないと判断した場合(S77でNO)には、同乗者位置送信部63は、同乗者位置の送信を行わず、処理はS70に戻る。一方、パスコード及び電話番号の両方が一致することが確認された場合(S77でYES)には、同乗者位置送信部63は、同乗者位置を送信する処理を行う(S78〜S79)。
このように、パスコード及び電話番号を用いて認証を行うことにより、同乗者グループに属さない第三者や、同乗者グループを離脱した者が、現在同乗者グループを構成している各携帯電話1の位置情報や個人情報をサーバ50から取得することを防ぐことができる。
さて、S78では、同乗者位置送信部63は、サーバ側同乗者グループ管理テーブル65を参照して同乗者の位置(現在地)を特定する。上述のように、サーバ側同乗者グループ管理テーブル65を参照することにより、各同乗者の現在地を特定することができる。
次に、同乗者位置を特定した同乗者位置送信部63は、特定した同乗者位置が含まれる地図を、地図データベースから検索し、検出した地図と上記特定した同乗者位置とを携帯電話1に送信する(S79)。ここで送信するデータは、例えば上記表12に示したようなデータ形式とすることもできる。
また、サーバ50では、一定時間(例えば30分)以上、現在地が更新されない携帯電話1が存在する場合に、当該携帯電話1を同乗者グループから離脱させる。すなわち、同乗者グループ関連情報消去部64は、サーバ側同乗者グループ管理テーブル65に格納されている最終更新日時を参照し、一定時間以上更新がない端末(携帯電話1)があるか監視する(S80)。
ここで、一定時間以上更新がない携帯電話1が検出されない場合(S80でNO)には、処理はS72に戻る。一方、一定時間以上更新がない携帯電話1が検出された場合(S80でYES)には、同乗者グループ関連情報消去部64は、サーバ側同乗者グループ管理テーブル65から、当該携帯電話1の位置情報等(位置情報及び端末情報)を削除する(S81)。
また、同乗者グループ関連情報消去部64は、携帯電話1から終了通知が送信されるのを待ち受ける(S82)。終了通知の受信が確認されない場合(S82でNO)には、処理はS72に戻る。一方、終了通知の受信が確認された場合(S82でYES)には、同乗者グループ関連情報消去部64は、サーバ側同乗者グループ管理テーブル65から、終了通知を送信した携帯電話1の位置情報等(位置情報及び端末情報)を削除して(S83)、処理はS72に戻る。
なお、以上、説明した図11のフローチャートでは、図2の例と同様に、HTTPSで同乗者グループの各携帯電話1の位置情報を取得しているが、図3の例と同様に、IMSで同乗者グループの各携帯電話1の位置情報を取得するようにしてもよい。
IMSで同乗者グループの各携帯電話1の位置情報を取得する場合には、S53の処理で携帯電話1が現在地等をサーバ50に送信したときに、同乗者グループの全ての携帯電話1から現在地の通知がPUSH型の形式で行われることになる以外は、図11のフローチャートと同様の処理が行われる。
〔通話・メール処理の流れ〕
続いて、図11のS60で行われる通話・メール処理の流れについて、図13及び図14に基づいて説明する。図13は、通話・メール処理の一例を示すフローチャートであり、図14は、通話・メール処理において携帯電話1の表示部11に表示される画面例を示す図である。
上述のように、通話・メール処理は、地図上に表示された同乗者の位置を示す情報を選択することによって開始される。地図上には、例えば図14(a)に示すように、(自端末の)現在地を示す情報(ポインタ)と、同乗者(けんちゃん)の現在地を示す情報(ポインタ)とが表示される。ここでは、けんちゃんの現在地を示す情報(ポインタ)が選択されたとする。
なお、現在地を示す情報(ポインタ)を選択する方法は、従来から一般的に用いられている方法を適用すればよい。例えば、表示部11に操作部10への入力操作で移動可能なカーソルを表示し、表示したカーソルを、現在地を示す情報(ポインタ)に合わせた状態で、操作部10に入力操作を行うことによって、当該現在地を示す情報(ポインタ)を選択するようにしてもよい。
また、現在地を示す情報(ポインタ)が選択されたときには、当該現在地を示す情報(ポインタ)が選択されたことが、ユーザに認識できるように表示することが好ましい。これにより、ユーザは、複数の同乗者の現在地を示す情報が地図上に同時に表示されている場合であっても、どの同乗者を選択したかを認識することができる。この表示方法としては、例えば、選択された現在地を示す情報の表示色を変える等、従来から一般的に用いられている方法を適用することもできる。
同乗者間通信制御部25は、地図上に表示された同乗者(けんちゃん)のポインタが選択されたことを確認すると、選択されたポインタに対応する同乗者(けんちゃん)に対して、メールを送信するか、電話をかけるかを選択させる(S90)。このときには、例えば図14(b)に示すような画像を表示してもよい。図14(b)の例では、「メール」、「発信」、「閉じる」の3つの項目が選択可能になっている。
なお、図13では示していないが、ここで「閉じる」の項目が選択された場合には、同乗者間通信制御部25は、通話・メール処理を終了する。より詳細には、「閉じる」の項目が選択された場合には、同乗者間通信制御部25は、「メール」、「発信」、「閉じる」の3つの項目を選択させるダイアログの表示を終了する。また、現在地を示す情報(ポインタ)が選択されたことを認識可能に表示していた場合には、この表示を元に戻す。これにより、表示部11に表示される画像は、図14(a)のように、地図等が表示された画像に戻る。
S90において、「メール」が選択された場合には、同乗者間通信制御部25は、表示部11に、例えば図14(c)に示すようなメール送信画面を表示する(S91)。図14(c)に示すように、メール送信画面の「宛先」の項目には、既に同乗者(けんちゃん)のメールアドレスが入力されている。
これは、「メール」が選択されたときに、同乗者間通信制御部25が、同乗者グループ関連情報格納部27から読み出して入力することによる。これにより、ユーザはメールアドレスを自ら入力することなく、簡単に同乗者(けんちゃん)にメールを送信することができる。
メール送信画面は、送信操作が行われるまで表示され(S92)、送信操作が行われたとき(S92でYES)に、同乗者間通信制御部25はメールの送信を行う(S93)。これにより、通話・メール処理は終了し、処理は図11のS61に進む。
一方、S90において、「電話」(図14(b)の例では「発信」)が選択された場合には、同乗者間通信制御部25は、同乗者グループ関連情報格納部27から選択された同乗者(けんちゃん)の電話番号を読み出して、読み出した電話番号に対して発呼処理を行う(S94)。このときには、例えば図14(d)のような画像が表示部11に表示される。
そして、同乗者(けんちゃん)が電話に出ることで通話が開始され、通話終了操作が行われるまで通話が継続する(S95)。通話が終了する(S95でYES)と通信を切断し(S96)、これにより、通話・メール処理は終了して処理は図11のS61に進む。
〔帰車処理の流れ〕
続いて、図11のS63で行われる帰車処理の流れについて、図15に基づいて説明する。図15は、帰車処理の一例を示すフローチャートである。帰車処理は、図11のS62にて、同乗者グループから離脱した携帯電話1とサーバ50との間で行われる処理であり、サーバ50が現在地から駐車位置までのルートガイドを行う処理である。なお、帰車処理は、同乗者グループから離脱していない状態で行ってもよい。この場合には、駐車位置に戻るまでの間も同乗者の位置確認を行うことができる。
〔携帯電話1側の処理〕
帰車処理では、まずルートガイド要求部22が、帰りのナビ操作が行われたか否かを確認する(S100)。なお、帰りのナビ操作は、操作部10に対して行われる所定の入力操作である。つまり、携帯電話1のユーザが駐車位置に戻るときに帰りのナビ操作を行い、これにより現在地から駐車位置までのルートガイドが行われる。
例えば、図14(a)の例では、「駐車場に戻る」という選択項目が表示されている。この場合には、ルートガイド要求部22は、この選択項目が選択されたときに、帰りのナビ操作が行われたと判断する。図14(a)の例のように、同乗者の位置を表示させているとき(同乗者グループから離脱する前)に、帰りのナビ操作を行うことができるようにした場合には、同乗者の位置を確認しながら駐車場に戻ることができる。
無論、帰りのナビ操作は、この例に限られない。携帯電話1に対して予め設定しておくことにより、任意の入力操作を帰りのナビ操作とすることが可能である。例えば、メニュー画面を表示させて、メニュー画面から帰りのナビ操作を選択できるようにしてもよい。
ここで、帰りのナビ操作が行われたことを確認した場合(S100でYES)には、ルートガイド要求部22は、駐車位置格納部28から駐車位置を読み出し(S101)、位置取得部2から現在地を取得する(S102)。そして、ルートガイド要求部22は、上記読み出した駐車位置と上記取得させた現在地とをサーバ50に送信する(S103)。送信する駐車位置と現在地とは、例えば下記の表15のようなデータ形式としてもよい。
駐車位置及び現在地を送信すると、現在地から駐車位置までのルート情報と地図とが送られてくるので、ルートガイド要求部22はこれを受信し(S104)、表示部11に表示する。なお、ルート情報及び地図は、上記表9のようなデータ形式としてもよい。
そして、ルートガイド要求部22は、操作部10に対してルートガイドを終了する旨の入力操作が行われたか否かを確認する(S105)。ここで、ルートガイドを終了する旨の入力操作が行われたことが確認されない場合(S105でNO)には、ルートガイド要求部22は、S102の処理に戻る。
すなわち、ルートガイドを終了する旨の入力操作が行われるまでの間は、S102からS104の処理が繰り返し行われる。これにより、ルートガイドを終了する旨の入力操作が行われるまでの間は、携帯電話1の現在地が定期的にサーバ50に送信され、携帯電話1の現在地に応じたルート情報と地図とが携帯電話1に返送される。
一方、ルートガイドを終了する旨の入力操作が行われたことが確認された場合(S105でYES)には、ルートガイド要求部22は、ルートガイドを終了する。これにより、帰車処理は終了し、図7のS2の処理に戻る。
〔サーバ50側の処理〕
ルートガイド送信部62は、現在地及び駐車位置の受信を待ち受け(S110)、現在地及び駐車位置の受信を確認した場合(S110でYES)には、受信した現在地及び駐車位置を記憶する(S111)。
そして、ルートガイド送信部62は、上記記憶した現在地から駐車位置までのルート探索を行い(S112)、また現在地及び駐車位置を含む地図を検索し、検出したルートを示すルート情報及び検出した地図を携帯電話1に送信する(S113)。送信後、ルートガイド送信部62は、S110の処理に戻って現在地及び駐車位置の受信を待ち受ける。
〔同乗者位置表示の別の例〕
図11では、サーバ50を利用することによって、携帯電話1に同乗者グループに含まれる他の同乗者の現在地を表示する例(図2に対応)について説明した。ここでは、携帯電話1間で直接位置情報を送受信することによって、携帯電話1に同乗者グループに含まれる他の同乗者の現在地を表示する例(図4に対応)について図16に基づいて説明する。すなわち、図16の例では、携帯電話1間で位置情報をメールで伝え合うことによって、同乗者グループを構成する各携帯電話1で、他の携帯電話1の位置情報を取得する。
図16は、降車後処理の他の例を示すフローチャートであり、携帯電話1間でメールの送受信を行うことにより、各携帯電話1が他の携帯電話1の位置情報を取得する例を示している。なお、図16には、図11と同様の処理が含まれており、このような処理については同一の参照番号を付し、詳細な説明を省略する。
図16の降車後処理は、カーナビ30から同乗者グループ関連情報を受信した各携帯電話1で行われる。なお、図16の降車後処理では、サーバ50は、ルートガイドのみに用いられ、同乗者の現在地を表示する処理には関与しない。また、サーバ50が実行する処理は、図11の例と同様であるからここでは説明を省略する。
カーナビ30から同乗者グループ関連情報を受信した携帯電話1では、目的地関連情報取得部21が、サーバ50に目的地関連情報送信要求を送信し(S50)、目的地関連情報を受信する(S51)。また、ルートガイド要求部22は、位置取得部2から携帯電話1の現在地を取得する(S52)。
ルートガイド要求部22は、図11の例と同様に、現在地及び目的地をサーバ50に送信し(S122)、ルート情報及び地図を受信し(S54)、受信したルート情報及び地図を表示部11に表示し、これによって表示が更新される(S123)。
また、ルートガイド要求部22は、現在地を取得すると、その旨を同乗者位置表示部23に伝達する。なお、図11の例では、サーバ50が携帯電話1の位置情報の送信を行っていたので、現在地及び目的地以外に、位置情報の送信に用いるパスコード等もサーバ50に送信していた。これに対し、図16の例ではサーバ50はルートガイドのみに関与するので、ルートガイドに必要な情報である現在地及び目的地のみがサーバ50に送信される。
ルートガイド要求部22から現在地を取得した旨の伝達を受けた同乗者位置表示部23は、自端末の現在地を同乗者グループの他の携帯電話1に通知することの可否をユーザに選択させる(S120)。このときには、例えば図17に示すような画像を表示部11に表示させてもよい。
図17は、自端末の現在地を同乗者グループの他の携帯電話1に通知することの可否をユーザに選択させるための表示画面の一例を示す図である。図示のように、現在地を通知する対象となる同乗者グループのメンバーの氏名を表示して、可否を選択させることにより、現在地を通知したくない相手に現在地が通知されることを防ぐことができる。
ここで、現在地を通知することを許可する旨の入力が行われたことを検出した場合(S120でYES)には、同乗者位置表示部23は、現在地通知メールを同乗者グループに属する各携帯電話1に送信する(S121)。一方、現在地を通知することを許可しない旨の入力が行われたことを検出した場合、または入力が行われないまま所定の時間(例えば3分)が経過した場合(S120でNO)には、同乗者位置表示部23は、S122の処理に進む。
現在地通知メールは、該メールの送信元を示す情報と、現在地を示す情報とを含むものであればよい。例えば、現在地通知メールは、下記の表16に示すようなデータ形式としてもよい。
現在地通知メールを送信の送信が行われた後、S122、S54、及びS123の処理によって、現在地から目的地までの地図とルート情報が表示部11に表示される。なお、現在地通知メールの送信と、S122、S54、及びS123の処理とは、同時に行ってもよいし、S122、S54、及びS123の処理を現在地通知メールの送信よりも先に行ってもよい。
以上の処理によって表示部11に地図が表示されると、同乗者位置表示部23は、新着メールの有無を確認する(S124)。ここで、新着メールがないことが確認された場合(S124でNO)には、S129の処理に進む。一方、新着メールがあることが確認された場合(S124でYES)には、同乗者位置表示部23は、新着メールの種類が、「通常」、「現在地」、及び「終了通知」の何れであるかを確認する(S125)。なお、「現在地」は、上記現在地通知メールを指し、「終了通知」は終了通知メールを指し、「通常」はこれら以外のメールを指す。
終了通知メールは、携帯電話1が同乗者グループを離脱するときに同乗者グループの他の携帯電話1に送信するメールである。終了通知メールを受信した携帯電話1が、該終了通知メールの送信元の携帯電話1を同乗者グループから削除することによって、当該携帯電話1は同乗者グループから離脱する。終了通知メールは、下記の表17に示すようなデータ形式としてもよい。
新着メールの種類が、「通常」、「現在地」、及び「終了通知」の何れであるかは、メールの「Subject」を参照することで判断できる。つまり、表16の例では「Subject」が「@LOCATION」となっていることによって、当該メールが現在地通知メールであると判断することができる。また、表17の例では、「Subject」が「@LEAVE」となっていることによって当該メールが終了通知メールであると判断することができる。そして、これらの何れにも該当しないメールを、「通常」として取り扱えばよい。
メールの種類が「終了通知」であることが確認された場合には、同乗者位置表示部23は、その旨を同乗者グループ離脱処理部24に伝達し、伝達を受けた同乗者グループ離脱処理部24は、同乗者の位置情報表示を解除する(S126)。
具体的には、同乗者グループ離脱処理部24は、同乗者グループ関連情報格納部27に格納されている端末情報を参照し、上記受信した終了通知の送信元のメールアドレスと一致するメールアドレスが含まれる端末情報を削除する。これにより、S121で現在地通知メールを送信する送信先から、上記終了通知の送信元の携帯電話1が除外されるので、該携帯電話1には、現在地通知メールが送信されなくなる。また、同乗者グループ離脱処理部24は、受信した終了通知の送信元が、既に地図上に表示されている場合には、同乗者位置表示部23に指示してその表示を中止させる。
一方、メールの種類が「現在地通知」であることが確認された場合には、同乗者位置表示部23は、受信した現在地通知メールから同乗者の位置を抽出し、位置表示を更新する(S127)。
具体的には、同乗者位置表示部23は、受信した現在地通知メール(表16参照)から緯度及び経度を読み出し、読み出した緯度及び経度で特定される地図上の位置に上記現在地通知メールの送信元の同乗者を示す情報(例えば、図14(a)のようなポインタとニックネーム等)を表示する。なお、ニックネームを表示する場合には、予め端末情報にニックネームを登録しておく。また、同乗者を示す情報は、携帯電話1のユーザが、各同乗者の地図上の位置を認識できるものであればよく、この例に限られない。例えば、同乗者の顔写真等を表示してもよい。
S126またはS127の処理を終えた後、またはS125で新着メールが「通常」であることが確認されたときには、同乗者位置表示部23は、次の新着メールの有無を確認する(S128)。ここで、次の新着メールがあることが確認された場合(S128でYES)には、同乗者位置表示部23は、S125の処理に戻る。一方、次の新着メールがないことが確認された場合(S128でNO)には、同乗者位置表示部23は、その旨を同乗者グループ離脱処理部24に伝達する。
伝達を受けた同乗者グループ離脱処理部24は、一定時間以上、現在位置通知のない同乗者の有無を確認する(S129)。具体的には、同乗者グループ離脱処理部24は、現在地通知メールを受信したときに、その受信日時を記憶しておき、最後に受信した現在地通知メールの受信日時から、予め定めた一定時間(例えば30分)以上経過している同乗者(携帯電話1)が存在するか否かを確認する。
ここで、一定時間以上、現在位置通知のない同乗者があることが確認された場合(S129でYES)には、同乗者グループ離脱処理部24は、その同乗者の位置情報表示を解除する(S130)。なお、S130の処理は、S126の処理と同様であるから説明を省略する。
以上のようにして、地図上に同乗者が表示された後は、図11の例と同様に、同乗者の選択操作の待ち受け(S59)が行われ、同乗者の選択操作があった場合には、通話・メール処理が行われる(S60)。
また、同乗者グループ離脱処理部24は、ユーザの終了操作の有無を確認し(S61
)、終了操作が確認されたとき(S61でYES)には、同乗者グループを構成する各携帯電話1に終了通知メール(表16参照)を送信すると共に、終了処理を行う(S131)。終了処理では、同乗者グループ離脱処理部24は、地図及び同乗者の現在地の表示を中止し、同乗者グループ関連情報格納部27に格納されている情報を削除する。S131の処理の後は、図11の例と同様に帰車処理が行われる(S63)。
なお、図16の例では、携帯電話1が他の携帯電話1のそれぞれに自発的に現在地通知メールを送信することによって、各携帯電話1が他の携帯電話1の現在地を取得する例を示したが、現在地通知メールが、他の携帯電話1の要求を受けて送信されるようにしてもよい。
〔変形例〕
以上のように、グループ生成システム100では、カーナビ30が複数の携帯電話1のそれぞれから、端末情報を取得し、取得した端末情報を含む同乗者グループ関連情報を複数の携帯電話1のそれぞれに送信する構成である。
この端末情報には、携帯電話1の電話番号、メールアドレス等が含まれており、これを用いることによって、携帯電話1は、他の携帯電話1の位置情報を取得することができる。つまり、端末情報は、携帯電話1が他の携帯電話1の位置情報を取得するための情報であると言える。
例えば、図11(図2)の例では、同乗者グループ関連情報に含まれている、位置情報を取得したい携帯電話1の電話番号をサーバ50に送信することによって、サーバ50に格納されている当該携帯電話1の位置情報を取得することが可能となる。
また、例えば図16(図4)の例では、同乗者グループ関連情報に含まれている、位置情報を取得したい携帯電話1のメールアドレスを用いて、現在地通知メールを送信することによって、同乗者グループを構成する各携帯電話1は、他の携帯電話1の位置情報を取得することが可能となる。
ここで、複数の端末間で互いの位置情報を容易に確認することを可能にするという本発明の目的を達成するためには、上記端末情報は、少なくとも自端末が取得した位置情報を自端末以外の端末が取得するための情報であればよい。
例えば、サーバ50から携帯電話1の位置情報を取得する場合には、同乗者グループの他の携帯電話1が、サーバ50からその位置情報を取得することができる情報が、端末情報となる。つまり、携帯電話1が自端末の位置情報と自端末のIDとをサーバ50に送信し、サーバ50が上記IDを受信したときに上記位置情報を送信する構成とした場合には、上記IDが端末情報となる。無論、このIDはどのようなものであってもよい。例えば、携帯電話1の製造ナンバーや電子メールアドレス等であってもよいし、ユーザ名、やユーザが設定したパスワード等であってもよい。
また、例えば、携帯電話1間で位置情報を送受信する場合には、他の携帯電話1に位置情報を送信するための情報が、端末情報となる。つまり、他の携帯電話1に位置情報を送信するための通信アドレスが端末情報となる。
このように、携帯電話1からカーナビ30に送信する端末情報は、位置情報の取得方法に合わせて適宜設定することができ、上記の例以外でも、少なくとも自端末が取得した位置情報を自端末以外の端末が取得するための情報を用いることにより、上記本発明の目的は達成し得る。
なお、本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。