(57)【特許請求の範囲】
【請求項１】
複数の携帯端末と通信可能に接続され、前記携帯端末間のメッセージを転送するメッセージ転送装置であって、
前記携帯端末の現在位置を取得する位置情報取得部と、
前記携帯端末のユーザごとに、前記現在位置、及び現在時刻を含む移動履歴情報を記憶する移動履歴記憶部と、
一のユーザに対応する前記移動履歴情報に含まれる前記現在位置の変化に基づいて当該一のユーザが移動しているか否かを判定する移動判定部と、
前記一のユーザが移動していると判定した場合に、前記移動履歴記憶部を参照して、前記第１のユーザと所定時間以上所定の距離を保っている他の一又は複数のユーザである近隣ユーザを特定する近隣ユーザ特定部と、
前記近隣ユーザの一覧を前記一のユーザに対応する前記携帯端末に送信する近隣ユーザ送信部と、
を備えることを特徴とするメッセージ転送装置。
【請求項２】
請求項１に記載のメッセージ転送装置であって、
前記位置情報取得部は、前記携帯端末から送信されるＧＰＳ情報を前記位置情報として取得すること、
を特徴とするメッセージ転送装置。
【請求項３】
請求項１に記載のメッセージ転送装置であって、
前記近隣ユーザ特定部は、
前記一のユーザに対応する第１の移動履歴情報を前記現在時刻の新しい順に前記移動履歴記憶部から読み出し、
前記第１の移動履歴情報のそれぞれについて、前記第１の移動履歴情報に含まれる前記現在時刻に対応する第２の移動履歴情報をユーザごとに取得し、
最新の前記第１の移動履歴情報に含まれる前記現在位置と、対応する前記第２の移動履歴情報に含まれる前記現在位置との間の距離である最新距離を算出し、
前記一のユーザとは異なる他のユーザごとに、２番目に新しい前記第１の移動履歴情報から順に、前記第１の移動履歴情報に含まれる前記現在位置と、対応する前記第２の移動履歴情報に含まれる前記現在位置との間の距離を算出し、算出した前記距離と前記最新距離との差が前記所定の誤差を超えるか否かを判定し、前記差が前記誤差を超えた前記第１の移動履歴情報に含まれる前記現在時刻から、前記最新の第１の移動履歴情報に含まれる前記現在時刻までの時間である共通移動時間を算出し、
前記共通移動時間が前記所定時間以上である前記ユーザを前記近隣ユーザとして特定すること、
を特徴とするメッセージ転送装置。
【請求項４】
請求項１に記載のメッセージ転送装置であって、
施設ごとに、前記施設が存在する領域を示す領域情報を記憶する領域情報記憶部と、
前記一のユーザが移動していないと判定した場合に、前記一のユーザに対応する最新の前記移動履歴情報を前記移動履歴記憶部から取得し、取得した前記移動履歴情報に含まれる前記現在位置を含む前記領域を示す前記領域情報である所属領域情報を前記領域情報記憶部から取得する領域情報取得部と、
前記一のユーザとは異なる他のユーザのそれぞれについて、前記他のユーザに対応する最新の前記移動履歴情報を前記移動履歴記憶部から取得し、取得した前記移動履歴情報に含まれる前記現在位置が、前記所属領域情報が示す前記領域の中か否かを判定する共存判定部と、
を備え、
前記近隣ユーザ特定部は、前記所属領域情報が示す前記領域の中に最新の前記現在位置が含まれる前記他のユーザを前記近隣ユーザとして特定すること、
を特徴とするメッセージ転送装置。
【請求項５】
複数の携帯端末と、前記複数の携帯端末と通信可能に接続され、前記携帯端末間のメッセージを転送するメッセージ転送装置とを含むメッセージ転送システムであって、
前記メッセージ転送装置は、
前記携帯端末の現在位置を取得する位置情報取得部と、
前記携帯端末のユーザごとに、前記現在位置、及び現在時刻を含む移動履歴情報を記憶する移動履歴記憶部と、
一のユーザに対応する前記移動履歴情報に含まれる前記現在位置の変化に基づいて当該一のユーザが移動しているか否かを判定する移動判定部と、
前記一のユーザが移動していると判定した場合に、前記移動履歴記憶部を参照して、前記一のユーザと所定時間以上所定の距離を保っている他の一又は複数のユーザである近隣ユーザを特定する近隣ユーザ特定部と、
前記近隣ユーザの一覧を前記一のユーザに対応する前記携帯端末に送信する同一環境メンバー送信部と、
を備え、
前記携帯端末は、
前記近隣ユーザの一覧を受信する近隣ユーザ受信部と、
前記近隣ユーザの一覧を出力する近隣ユーザ出力部と、
出力した前記近隣ユーザから、メッセージの送信先となるユーザの指定を受け付ける送信先受付部と、
前記メッセージの入力を受け付けるメッセージ入力部と、
前記メッセージに、指定された前記近隣ユーザをあて先として付帯させて前記メッセージ転送装置に送信するメッセージ送信部と、
を備え、
前記メッセージ転送装置は、
前記携帯端末から送信される前記メッセージを受信するメッセージ受信部と、
前記メッセージに付帯された前記近隣ユーザに対応する前記携帯端末に前記メッセージを転送するメッセージ転送部と、
を備えることを特徴とするメッセージ転送システム。
【請求項６】
携帯端末によるメッセージの送信を支援する方法であって、
複数の携帯端末間と通信可能に接続され、前記携帯端末間のメッセージを転送するメッセージ転送装置が、
前記携帯端末の現在位置を取得し、
前記携帯端末のユーザごとに、前記現在位置、及び現在時刻を含む移動履歴情報をメモリに記憶し、
一のユーザに対応する前記移動履歴情報に含まれる前記現在位置の変化に基づいて当該一のユーザが移動しているか否かを判定し、
前記一のユーザが移動していると判定した場合に、前記移動履歴記憶部を参照して、前記第１のユーザと所定時間以上所定の距離を保っている他の一又は複数のユーザである近隣ユーザを特定し、
前記近隣ユーザの一覧を前記一のユーザに対応する前記携帯端末に送信すること、
を特徴とするメッセージ送信支援方法。
【請求項７】
携帯端末によるメッセージの送信を支援するプログラムであって、
複数の携帯端末間と通信可能に接続され、前記携帯端末間のメッセージを転送するメッセージ転送装置に、
前記携帯端末の現在位置を取得するステップと、
前記携帯端末のユーザごとに、前記現在位置、及び現在時刻を含む移動履歴情報をメモリに記憶するステップと、
一のユーザに対応する前記移動履歴情報に含まれる前記現在位置の変化に基づいて当該一のユーザが移動しているか否かを判定するステップと、
前記一のユーザが移動していると判定した場合に、前記移動履歴記憶部を参照して、前記第１のユーザと所定時間以上所定の距離を保っている他の一又は複数のユーザである近隣ユーザを特定するステップと、
前記近隣ユーザの一覧を前記一のユーザに対応する前記携帯端末に送信するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッセージ転送装置、メッセージ転送システム、メッセージ送信支援方法、及びプログラムに関する。
【背景技術】
【０００２】
インターネットの普及に伴い、コンピュータ間でのメッセージを交換することによりコミュニケーションがとられるようになってきている。メッセージを交換するサービスとしては、例えば、電子メールサービスやメッセンジャーサービスが知られている。電子メールサービスとメッセンジャーサービスとを組み合わせる仕組みも提案されている。
【特許文献１】特許第３６７５７４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
電子メールサービスやメッセンジャーサービスでは、ユーザは予めメッセージの送信先を指定してメッセージを送信する必要がある。  
しかしながら、例えば、電車やバスなどでの移動中や、デパートや公園での待ち合わせ中などには、見知らぬ他人であっても、同じ乗り物に乗車中あるいは同じ場所にいる他人であれば、その乗り物や場所についての話題についてコミュニケーションを取りたいというニーズがある。
【０００４】
本発明は、このような背景を鑑みてなされたものであり、メッセージの交換によるコミュニケーションを活発化することのできる、メッセージ転送装置、メッセージ転送システム、メッセージ送信支援方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するための本発明のうち請求項１に記載の発明は、複数の携帯端末と通信可能に接続され、前記携帯端末間のメッセージを転送するメッセージ転送装置であって、前記携帯端末の現在位置を取得する位置情報取得部と、前記携帯端末のユーザごとに、前記現在位置、及び現在時刻を含む移動履歴情報を記憶する移動履歴記憶部と、一のユーザに対応する前記移動履歴情報に含まれる前記現在位置の変化に基づいて当該一のユーザが移動しているか否かを判定する移動判定部と、前記一のユーザが移動していると判定した場合に、前記移動履歴記憶部を参照して、前記第１のユーザと所定時間以上所定の距離を保っている他の一又は複数のユーザである近隣ユーザを特定する近隣ユーザ特定部と、前記近隣ユーザの一覧を前記一のユーザに対応する前記携帯端末に送信する近隣ユーザ送信部と、を備えることとする。
【０００６】
本発明のメッセージ転送装置によれば、第１の携帯端末を操作するユーザ（メッセージの発信者）に対して、発信者と所定の距離を保って移動している他のユーザ（メッセージの送信先の候補者）を、発信者に提示することができる。発信者と候補者とが所定の距離を保って移動している状況とは、例えば、発信者と候補者とが、同じ電車やバスなどの移動手段に乗り合わせているような状況である。ここで、例えば、同じ電車に乗っているユーザ同士であれば、その電車の混み具合や運行状況、広告の内容、車窓からの景色など、身近な話題を共有することが可能となる。このように、同じ環境におかれたユーザ間では、話題の共通性から、コミュニケーションが取り易いことが知られている。そこで、本発明のメッセージ転送装置によれば、発信者に対して、発信者と同じ環境におかれた候補者を提示することができるので、発信者は提示された候補者に対してメッセージを送信する動機付けがなされる。また、発信者は、同じ環境内において候補者と共有している話題についてのコミュニケーションをとることができる。したがって、同じ環境内におかれているユーザ間のコミュニケーションを活性化することが可能となる。
【０００７】
また、本発明のうち請求項２に記載の発明は、請求項１に記載のメッセージ転送装置であって、前記位置情報取得部は、前記携帯端末から送信されるＧＰＳ情報を前記位置情報として取得することとする。
【０００８】
また、本発明のうち請求項３に記載の発明は、請求項１に記載のメッセージ転送装置であって、前記近隣ユーザ特定部は、前記一のユーザに対応する第１の移動履歴情報を前記現在時刻の新しい順に前記移動履歴記憶部から読み出し、前記第１の移動履歴情報のそれぞれについて、前記第１の移動履歴情報に含まれる前記現在時刻に対応する第２の移動履歴情報をユーザごとに取得し、最新の前記第１の移動履歴情報に含まれる前記現在位置と、対応する前記第２の移動履歴情報に含まれる前記現在位置との間の距離である最新距離を算出し、前記一のユーザとは異なる他のユーザごとに、２番目に新しい前記第１の移動履歴情報から順に、前記第１の移動履歴情報に含まれる前記現在位置と、対応する前記第２の移動履歴情報に含まれる前記現在位置との間の距離を算出し、算出した前記距離と前記最新距離との差が前記所定の誤差を超えるか否かを判定し、前記差が前記誤差を超えた前記第１の移動履歴情報に含まれる前記現在時刻から、前記最新の第１の移動履歴情報に含まれる前記現在時刻までの時間である共通移動時間を算出し、前記共通移動時間が前記所定時間以上である前記ユーザを前記近隣ユーザとして特定することとする。
【０００９】
また、本発明のうち請求項４に記載の発明は、請求項１に記載のメッセージ転送装置であって、施設ごとに、前記施設が存在する領域を示す領域情報を記憶する領域情報記憶部と、前記一のユーザが移動していないと判定した場合に、前記一のユーザに対応する最新の前記移動履歴情報を前記移動履歴記憶部から取得し、取得した前記移動履歴情報に含まれる前記現在位置を含む前記領域を示す前記領域情報である所属領域情報を前記領域情報記憶部から取得する領域情報取得部と、前記一のユーザとは異なる他のユーザのそれぞれについて、前記他のユーザに対応する最新の前記移動履歴情報を前記移動履歴記憶部から取得し、取得した前記移動履歴情報に含まれる前記現在位置が、前記所属領域情報が示す前記領域の中か否かを判定する共存判定部と、を備え、前記近隣ユーザ特定部は、前記所属領域情報が示す前記領域の中に最新の前記現在位置が含まれる前記他のユーザを前記近隣ユーザとして特定することとする。
【００１０】
この場合、発信者に対して同じ場所に静止している候補者を提示することができる。したがって、発信者は、移動手段に乗っていない場合でも、例えば、同じ施設内にいる候補者に対してメッセージを送信する動機付けがなされる。同じ場所にいるユーザ間では、やはり話題の共通性が期待されるので、同じ場所におけるユーザ間のコミュニケーションを活性化することができる。
【００１１】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【００１２】
本発明によれば、メッセージの交換によるコミュニケーションを活発化することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態に係るメッセージ交換システムについて説明する。  
本実施形態では、サーバにログインしているユーザ間でリアルタイムにメッセージが送受信されるメッセンジャーサービスにおいて、同じ環境に置かれたユーザによりコミュニティが形成されることを前提としている。本実施形態のメッセージ交換システムは、コミュニティに参加しているユーザ（以下、コミュニティメンバーという。本発明の近隣ユーザに該当する。）間でのメッセージのやり取りを支援するものである。
【００１４】
なお、複数のユーザが同じ環境に置かれている場合とは、複数のユーザが同一の施設の敷地内に位置している場合や、同一の乗り物に乗って移動している場合である。同じ環境に置かれたユーザ間では、その環境に特化した話題の受発信のニーズが高いので、同じ環境に置かれた他のユーザを提供することで、ユーザ間のコミュニケーションを促進することができる。
【００１５】
図１は本発明の一実施形態に係るメッセージ交換システムの全体構成を示す図である。同図に示すように、本実施形態のメッセージ交換システムは、複数の携帯端末１０とサーバ２０とを含んで構成される。
【００１６】
携帯端末１０とサーバ２０とは通信ネットワーク３０を介して互いに通信可能に接続される。本実施形態では、通信ネットワーク３０は、インターネットを想定する。なお、通信ネットワーク３０は、各種のＬＡＮ（Local Area Network）やＶＡＮ（Value Added Network）などとすることもできる。通信ネットワーク３０は、例えば、イーサネット（登録商標）や公衆電話回線網、無線通信網などにより構築される。携帯端末１０及びサーバ２０の間では、ＴＣＰ／ＩＰのプロトコルに従って通信が行われる。
【００１７】
携帯端末１０は、携帯電話やＰＤＡ（Personal Digital Assistance）、ノートブック型のパーソナルコンピュータなどの可搬型のコンピュータである。携帯端末１０では、メッセンジャーを実現するアプリケーションプログラムが実行され、ユーザが携帯端末１０に入力したメッセージがサーバ２０に送信される。
【００１８】
サーバ２０は、メッセンジャーサービスを提供する、例えば、パーソナルコンピュータやワークステーションなどのコンピュータである。サーバ２０はある携帯端末１０から送信されるメッセージを他の携帯端末１０に転送する。なお、メッセンジャーサービスは公知の技術であり、本実施形態では説明を省略する。
【００１９】
図２は、携帯端末１０のハードウェア構成を示す図である。同図に示すように、携帯端末１０はＣＰＵ１０１、メモリ１０２、記憶装置１０３、通信インタフェース１０４、入力装置１０５、出力装置１０６、ＧＰＳレシーバ１０７を備えている。
【００２０】
記憶装置１０３は、メッセンジャープログラム１１、起動支援プログラム１２その他各種のプログラムや各種のデータを記憶する。記憶装置１０３は、例えばハードディスクドライブやフラッシュメモリ、ＣＤ−ＲＯＭドライブなどである。
【００２１】
メッセンジャープログラム１１は、メッセンジャーサービスを利用するためのメッセンジャーの機能を実現するためのプログラムである。  
起動支援プログラム１２は、サーバ２０からコミュニティメンバーを取得し、取得したコミュニティメンバーを表示し、そこから指定されたコミュニティメンバーをあて先としたメッセージを送信するように、メッセンジャープログラム１１を起動するためのプログラムである。
【００２２】
ＣＰＵ１０１は記憶装置１０３に記憶されているメッセンジャープログラム１１や起動支援プログラム１２などのプログラムをメモリ１０２に読み出して実行することにより各種の機能を実現する。
【００２３】
通信インタフェース１０４は、通信ネットワーク３０に接続するためのインタフェースである。通信インタフェース１０４は、例えば、イーサネット（登録商標）に接続するためのアダプタや、公衆電話回線網に接続するためのモデム、無線通信を行うための無線通信器などである。
【００２４】
入力装置１０５は、情報の入力を受け付ける、例えば、ボタンやタッチパネル、キーボード、マイクロフォンなどである。出力装置１０６は、情報を出力する、例えば、液晶ディスプレイやタッチパネルディスプレイ、スピーカなどである。
【００２５】
ＧＰＳレシーバ１０７は、ＧＰＳ衛星からの電波を受信して携帯端末１０の現在位置を算出する。なお、ＧＰＳレシーバ１０７に限らず、例えば、ジャイロ装置など、携帯端末１０の位置を算出可能な装置であればよい。
【００２６】
図３は、携帯端末１０のソフトウェア構成を示す図である。同図に示すように、携帯端末１０は、ＧＰＳ情報取得部１１１、コミュニティメンバー取得要求送信部１１３、コミュニティメンバー受信部１１４、コミュニティメンバー出力部１１５、メッセンジャー起動部１１６、及びメッセンジャー処理部１１７を備えている。
【００２７】
なお、ＧＰＳ情報取得部１１１、コミュニティメンバー取得要求送信部１１３、コミュニティメンバー受信部１１４、コミュニティメンバー出力部１１５、及びメッセンジャー起動部１１６は、携帯端末１０が備えるＣＰＵ１０１が記憶装置１０３に記憶されている起動支援プログラム１２をメモリ１０２に読み出して実行することにより実現され、メッセンジャー処理部１１７は、ＣＰＵ１０１が記憶装置１０３に記憶されているメッセンジャープログラム１１を実行することにより実現される。
【００２８】
ＧＰＳ情報取得部１１１は、ＧＰＳレシーバ１０７が算出した、携帯端末１０の現在位置を示す情報（以下、ＧＰＳ情報という。）を取得する。ＧＰＳ情報は、携帯端末１０の現在位置を示す位置情報である。本実施形態では、位置情報は緯度及び経度で表現されるものとする。なお、ＧＰＳレシーバ１０７が位置の算出をせず、ＧＰＳ情報取得部１１１が、ＧＰＳレシーバ１０７が受信した信号に基づいて、携帯端末１０の現在位置を算出するようにしてもよい。
【００２９】
コミュニティメンバー取得要求送信部１１３は、コミュニティに参加しているコミュニティユーザを取得するためのコマンド（以下、コミュニティメンバー取得要求という。）をサーバ２０に送信する。コミュニティメンバー取得要求には、携帯端末１０を操作しているユーザを識別する情報（以下、ユーザＩＤという。）と、携帯端末１０の現在位置を示す位置情報とが含まれる。コミュニティメンバー取得要求送信部１１３は、所定の時間間隔（例えば、１秒、３秒、５秒など）ごとに、ＧＰＳ情報取得部１１１が取得したＧＰＳ情報とユーザＩＤとを含むコミュニティメンバー取得要求をサーバ２０に送信する。
【００３０】
コミュニティメンバー受信部１１４は、コミュニティ参加要求に応じてサーバ２０から送信されるコミュニティメンバーの一覧が記述されたデータ（以下、一覧データという。）を受信する。一覧データは、コミュニティメンバーを表す情報が、例えば、ＣＶＳやＸＭＬなどの形式で記述される。
【００３１】
コミュニティメンバー出力部１１５は、コミュニティメンバー受信部１１４が受信したコミュニティメンバーの一覧を出力装置１０６に出力する。  
メッセンジャー起動部１１６は、ユーザからコミュニティメンバーの選択を受け付け、受け付けたコミュニティメンバーにメッセージを送信するようにメッセンジャープログラム１１を起動する。メッセンジャー起動部１１６は、例えば、選択されたコミュニティメンバーを示すユーザＩＤを引数としてメッセンジャープログラム１１を起動する。なお、ユーザＩＤは指定してもよい。
【００３２】
なお、本実施形態では、一覧データには、ユーザＩＤの一覧が記述されていることを想定するが、例えば、ニックネームとユーザＩＤとの一覧が記述されていてもよい。この場合、コミュニティメンバー出力部１１５はニックネームの一覧を表示し、メッセンジャー起動部１１６は、選択されたニックネームに対応するユーザＩＤを引数としてメッセンジャープログラム１１を起動するようにすることができる。
【００３３】
メッセンジャー処理部１１７は、メッセージの送受信処理など、メッセンジャーとしての機能を提供する。メッセンジャー処理部１１７は、メッセンジャー起動部１１６によりメッセンジャープログラム１１が起動されることにより実現される、一般的なメッセンジャーの機能である。メッセンジャー処理部１１７は、携帯端末１０のユーザからメッセージの入力を受け付け、受け付けたメッセージを、引数として指定されたユーザを相手先としてサーバ２０に送信する。
【００３４】
図４は、サーバ２０のハードウェア構成を示す図である。同図に示すように、サーバ２０は、ＣＰＵ２０１、メモリ２０２、記憶装置２０３、通信インタフェース２０４を備えている。
【００３５】
記憶装置２０３は、コミュニティメンバー抽出プログラム２１やメッセンジャープログラム２２など各種のプログラムやデータを記憶する、例えば、ハードディスクドライブやフラッシュメモリ、ＣＤ−ＲＯＭドライブなどである。コミュニティメンバー抽出プログラム２１は、コミュニティに参加しているユーザを検索するためのプログラムである。メッセンジャープログラム２２は、サーバ２０にログインしているユーザ間でのメッセージのやり取りを行うメッセンジャーサービスを提供するためのプログラムである。なお、記憶装置２０３は、例えばＮＡＳ（Network Attached Storage）のように、他のコンピュータが提供する記憶領域とすることもできる。
【００３６】
ＣＰＵ２０１は、記憶装置２０３に記憶されている各種のプログラムをメモリ２０２に読み出して実行することにより各種の機能を実現する。通信インタフェース２０４は、通信ネットワーク３０に接続するためのインタフェースである。通信インタフェース２０４は、例えば、イーサネット（登録商標）に接続するためのアダプタや通信電話回線網に接続するためのモデム、無線通信を行うための無線通信器などである。
【００３７】
図５は、サーバ２０のソフトウェア構成を示す図である。同図に示すように、サーバ２０は、コミュニティメンバー取得要求受信部２１２、コミュニティメンバー抽出部２１３、コミュニティメンバー送信部２１４、メッセンジャー処理部２１５、移動履歴データベース２５１、及びロケーションデータベース２５２を備えている。
【００３８】
なお、コミュニティメンバー取得要求受信部２１２、コミュニティメンバー抽出部２１３、及びコミュニティメンバー送信部２１４は、サーバ２０が備えるＣＰＵ２０１が記憶装置２０３に記憶されているコミュニティメンバー抽出プログラム２１を実行することにより実現され、メッセンジャー処理部２１５は、ＣＰＵ２０１が記憶装置２０３に記憶されているメッセンジャープログラム２２をメモリ２０２に読み出して実行することにより実現される。また、移動履歴データベース２５１及びロケーションデータベース２５２は、サーバ２０が備えるメモリ２０２や記憶装置２０３が提供する記憶領域として実現される。なお、移動履歴データベース２５１やロケーションデータベース２５２は、サーバ２０に内蔵する形態に限らず、他のデータベースサーバが管理するデータにアクセスするようにしてもよい。
【００３９】
移動履歴データベース２５１は、各ユーザの携帯端末１０の現在位置の履歴（以下、移動履歴情報という。）を記憶する。図６は、移動履歴データベース２５１に記憶される移動履歴情報の構成例を示す図である。同図に示すように、移動履歴情報には、ユーザＩＤ、位置情報、及び日時が含まれている。
【００４０】
コミュニティメンバー取得要求受信部２１２は、携帯端末１０から送信されるコミュニティメンバー取得要求を受信し、受信したコミュニティメンバー取得要求に含まれているユーザＩＤ及びＧＰＳ情報と、現在日時とを含む移動履歴情報を生成し、生成した移動履歴情報を移動履歴データベース２５１に登録する。
【００４１】
ロケーションデータベース２５２は、施設が存在する地図上の領域に関する情報（以下、ロケーション情報という。）を記憶する。なお、本実施形態では、施設には、単独の建物のみでなく、所定の建物群を含んだ複合施設や、公園なども含み、さらには花火会場や海水浴場など任意に定められた会場なども含む。図７は、ロケーションデータベース２５２に記憶されるロケーション情報の構成例を示す図である。同図に示すように、ロケーション情報には、領域情報とロケーション名とが含まれている。領域情報は、ある場所を画定する領域（以下、ロケーション領域という。）を示す情報である。本実施形態では、ロケーション領域は、施設や建物の敷地を囲む多角形の各頂点の座標（緯度及び経度）のリストとして表現される。サーバ２０は、携帯端末１０から受信するＧＰＳ情報に含まれる位置情報が示す位置が、ロケーション領域に含まれるかどうかを判定することで、携帯端末１０を携帯するユーザがどの場所に存在しているかを判定することができる。
【００４２】
コミュニティメンバー抽出部２１３（本発明の近隣ユーザ特定部に該当する。）は、コミュニティ参加要求に含まれるユーザＩＤ（以下、発信者ＩＤという。）に対応する移動履歴情報を移動履歴データベース２５１から取得し、取得した移動履歴情報に基づいてユーザの現在位置を把握するとともに、発信者ＩＤが示すユーザが参加しているコミュニティを特定する。上述したように、本実施形態では、コミュニティはユーザが置かれる環境ごとに形成されることを想定しており、ユーザが同じ環境に置かれる場合とは、同一の場所に位置している場合か、同じ乗り物に乗って移動している場合である。そこで、コミュニティメンバー抽出部２１３は、移動履歴情報に基づいてユーザが移動しているかどうかを判定し、移動していると判定した場合には、発信者ＩＤが示すユーザ（以下、発信者という。）と一定の距離を保って移動している他のユーザをコミュニティメンバーとして抽出し、移動していないと判定した場合には、ユーザの現在位置が含まれるロケーション領域をロケーションデータベース２５２から検索して、同じロケーション領域内に位置している他のユーザをコミュニティメンバーとして抽出する。なお、コミュニティメンバー抽出部２１３によるコミュニティメンバーの抽出処理の詳細については後述する。
【００４３】
コミュニティメンバー送信部２１４（本発明の近隣ユーザ送信部に該当する。）は、コミュニティメンバー抽出部２１３が抽出したコミュニティメンバーの一覧を記述したデータを作成し、作成した画面データを携帯端末１０に送信する。  
メッセンジャー処理部２１５は、携帯端末１０から送信されるメッセージを他の携帯端末１０に転送する、いわゆるメッセンジャーサービスを提供する。
【００４４】
以下、本実施形態のメッセージ交換システムにおける処理について説明する。本実施形態のメッセージ交換システムにおける処理の流れを図８に示す。
【００４５】
携帯端末１０は、まずユーザからの指示を受け付ける画面を表示する（Ｓ４０１）。携帯端末１０が表示する画面５１の一例を図９に示す。画面５１のボタン５１１が押下されると、携帯端末１０は、定期的にＧＰＳ情報を取得し（Ｓ４０２）、取得したＧＰＳ情報とユーザＩＤとを含むコミュニティメンバー取得要求をサーバ２０に送信する（Ｓ４０３）。
【００４６】
サーバ２０は、コミュニティメンバー取得要求を受信すると、受信したコミュニティメンバー取得要求に含まれるユーザＩＤ及び位置情報と、現在日時とを含む移動履歴情報を移動履歴データベース２５１に登録する（Ｓ４０４）。サーバ２０は、コミュニティメンバーの抽出処理により、同じ環境に存在しているコミュニティメンバーを検索する（Ｓ４０４）。
【００４７】
図１０は、コミュニティメンバーの抽出処理の流れを示す図である。また、図１１は、コミュニティメンバーの抽出処理に用いられる、作業テーブル６１の構成例を示す図である。図１１に示すように、作業テーブル６１に登録されるレコード（以下、候補者情報という。）には、発信者ＩＤ、ロケーションＩＤ、候補者ＩＤ、同一環境時間、及び可否が含まれる。候補者ＩＤは、コミュニティメンバーの候補となる発信者以外のユーザ（以下、候補者という。）の識別情報である。同一環境時間（本発明の共通移動時間に該当する。）は、発信者と候補者とが同一の環境下に存在したと考えられる時間である。可否は、候補者をコミュニティメンバーとして発信者に提示するか否かを示すフラグ値である。
【００４８】
図１０の処理では、まずサーバ２０は、コミュニティメンバー取得要求に含まれている発信者ＩＤをキーとして、作業テーブル６１から候補者情報を削除する（Ｓ５０１）。次に、サーバ２０は、発信者ＩＤを引数として、図１２に示す移動判定処理を実行し、携帯端末１０が移動しているかどうかを判定する（Ｓ５０２）。
【００４９】
図１２の処理では、サーバ２０は、ユーザの現在位置の変化によりユーザが移動中であるかどうかを判定する。すなわち、サーバ２０は、引数として指定されたユーザＩＤに対応する移動履歴情報のうち、現在日時から過去所定時間（例えば、１分や３分など）内の日時のものを、日時順に、移動履歴データベース２５１から読み出す（Ｓ５２１）。サーバ２０は、読み出した移動履歴情報のそれぞれについて、移動履歴情報に含まれている第１の位置情報と、その移動履歴情報の次の移動履歴情報に含まれている第２の位置情報との間の距離を算出する（Ｓ５２２）。サーバ２０は、各移動履歴情報について算出した距離の合計を全移動距離として（Ｓ５２３）、全移動距離が所定の閾値を超えていれば（Ｓ５２４：ＹＥＳ）、移動中と判定し（Ｓ５２５）、全移動距離が所定の閾値以下であれば（Ｓ５２４：ＮＯ）、静止中と判定する（Ｓ５２６）。
【００５０】
サーバ２０は、上記移動判定処理により移動中と判定した場合には（Ｓ５０３：ＹＥＳ）、図１３に示す移動中のコミュニティメンバーの検索処理を行う（Ｓ５０４）。  
図１３の処理では、サーバ２０は、発信者ＩＤに対応する移動履歴情報を日時の新しい順に移動履歴データベース２５１から読み出してＬとする（Ｓ６０１）。サーバ２０は、Ｌの先頭の移動履歴情報の日時をＴ１とする（Ｓ６０２）。サーバ２０は、移動履歴データベース２５１に登録されている候補者ＩＤのそれぞれについて、以下の処理を行う。
【００５１】
サーバ２０は、他のユーザＩＤを引数として、上述した図１２の移動判定処理を行い（Ｓ６０３）、移動中と判定した場合には（Ｓ６０４：ＹＥＳ）、図１４に示す、移動中の候補者の同一環境時間Ｔの算出処理を行う（Ｓ６０５）。  
図１４の処理では、サーバ２０はまず、Ｄ１に「−１」を設定する（Ｓ６２１）。次に、サーバ２０は、Ｌに含まれる各移動履歴情報について、移動履歴情報をＲ１として以下の処理を行う。
【００５２】
サーバ２０は、Ｒ１に含まれる日時をＴ２とする（Ｓ６２２）。サーバ２０は、候補者ＩＤに対応する移動履歴情報のうち、日時がＴ２に最も近いものを移動履歴データベース２５１から取得しＲ２とする（Ｓ６２３）。サーバ２０は、Ｒ２に含まれる位置情報とＲ１に含まれる位置情報とから距離Ｄを算出する（Ｓ６２４）。  
サーバ２０は、Ｄが０以上であり、かつ、Ｄ１とＤ２との差が所定の誤差以下である場合には（Ｓ６２５：ＮＯ）、Ｄ１をＤ２とする（Ｓ６２６）。  
一方、サーバ２０は、Ｄ１が０以上であり、かつ、Ｄ１とＤ２との差が所定の誤差より大きい場合（Ｓ６２５：ＹＥＳ）、または、Ｌに含まれる全ての移動履歴情報について以上の処理を繰り返した場合には、Ｔ１からＴ２までの時間をＴとして算出する（Ｓ６２７）。  
以上のようにして、サーバ２０は、発信者の移動履歴情報を遡って、候補者の位置が所定の誤差以下であった時間をＴとして算出することができる。
【００５３】
次に図１３に戻り、サーバ２０は、Ｔが所定時間（例えば、１分や３分などの定数である。）以上であれば（Ｓ６０６：ＹＥＳ）、コミュニティメンバーとして提示するか否かを示す可否を「○」とし（Ｓ６０７）、Ｔが所定時間より短ければ（Ｓ６０６：ＮＯ）、可否を「×」として（Ｓ６０８）、発信者ＩＤ、「移動手段」、候補者ＩＤ、Ｔ、可否を含む候補者情報を生成して作業テーブル６１に登録する（Ｓ６０９）。
【００５４】
サーバ２０は以上の処理を各候補者ＩＤについて繰り返して、移動中の候補者が、発信者と所定の距離を所定の誤差内に保っている時間を、同一環境時間Ｔとして算出し、候補者についての候補者情報を作業テーブル６１に登録することができる。すなわち、発信者と所定の距離（±誤差）を保って移動している候補者について、所定の距離を保ち続けている時間を同一環境時間Ｔとして算出することが可能となり、この時間Ｔに基づいて、候補者が、コミュニティに参加しているか否かを判定することができる。したがって、例えば、発信者が乗っている電車が、電車の外にいる候補者の側をたまたま走っていた場合に、そのような候補者は、コミュニティに参加していないと判定することができる。
【００５５】
図１０に戻り、サーバ２０は、静止中と判定した場合には（Ｓ５０３：ＮＯ）、図１５に示す、同一ロケーションのコミュニティメンバーの検索処理を行う（Ｓ５０５）。
【００５６】
図１５に示すコミュニティメンバーの検索処理ではまず、サーバ２０は、発信者ＩＤに対応する移動履歴情報のうち、日時が最も新しいものを移動履歴データベース２５１から読み出してＲ１とする（Ｓ７０１）。サーバ２０は、ロケーションデータベース２５２に登録されているロケーション情報のそれぞれについて、ロケーション情報に含まれる領域情報により画定されるロケーション領域にＲ１の現在位置が含まれるか否かを判定し、ロケーション領域にＲ１の現在位置が含まれると判定したロケーション情報のロケーション名をＬ１とする（Ｓ７０２）。
【００５７】
サーバ２０は、移動履歴情報に登録されている候補者ＩＤのそれぞれについて以下の処理を行う。  
サーバ２０は、候補者ＩＤに対応する移動履歴情報（以下、候補者移動履歴情報という。）を日時の新しい順に取得し（Ｓ７０３）、先頭の候補者移動履歴情報をＲ２とする（Ｓ７０４）。
【００５８】
サーバ２０は、Ｒ１の日時とＲ２の日時との差の時間が所定の閾値（例えば、１分や３分、５分など）未満であれば（Ｓ７０５）、ロケーションデータベース２５２に登録されているロケーション情報のそれぞれについて、ロケーション情報に含まれる領域情報により画定されるロケーション領域にＲ２の現在位置が含まれるか否かを判定し、ロケーション領域にＲ２の現在位置が含まれると判定したロケーション情報のロケーション名をＬ２とする（Ｓ７０６）。  
サーバ２０は、Ｌ１とＬ２とが一致する場合（Ｓ７０７：ＹＥＳ）、図１６に示す静止中の候補者の同一環境時間Ｔの算出処理を行う（Ｓ７０８）。
【００５９】
図１６の処理では、サーバ２０は、Ｔ１に上記Ｒ２の日時を設定するとともに（Ｓ７２１）、Ｔ２にも上記Ｒ２の日時を設定する（Ｓ７２２）。サーバ２０は、ステップＳ７０３で取得した各候補者移動履歴情報について以下の処理を行う。
【００６０】
サーバ２０は、移動履歴データベース２５１から、発信者ＩＤに対応する移動履歴情報のうち、日時が、候補者移動履歴情報の日時±上記所定の閾値であるものを検索する（Ｓ７２３）。サーバ２０は、この移動履歴情報が検索できた場合には（Ｓ７２４：ＹＥＳ）、ロケーションデータベース２５２に登録されているロケーション情報のそれぞれについて、ロケーション情報に含まれる領域情報により画定されるロケーション領域に、候補者移動履歴情報の現在位置が含まれるかどうかを判定し、ロケーション領域に候補者移動履歴情報の現在位置が含まれると判定したロケーション情報のロケーション名をＬ３とする（Ｓ７２３）。サーバ２０は、Ｌ３とＬ２とが一致する場合（Ｓ７２４：ＹＥＳ）、候補者移動履歴情報の日時をＴ２に設定する（Ｓ７２５）。
【００６１】
サーバ２０は、以上の処理を繰り返して、候補者が発信者と同じロケーション領域内に連続して存在していた最も古い時刻をＴ２として取得し、Ｔ２からＴ１までの時間を、同一環境時間Ｔとして算出する（Ｓ７２６）。  
図１５に戻り、サーバ２０は、Ｔが所定時間以上であれば（Ｓ７０９：ＹＥＳ）、可否を「○」とし（Ｓ７１０）、Ｔが所定時間未満であれば（Ｓ７０９：ＮＯ）、可否を「×」とする（Ｓ７１１）。  
サーバ２０は、発信者ＩＤ、Ｌ１、候補者ＩＤ、Ｔ、及び可否を設定した候補者情報を生成して作業テーブル６１に登録する（Ｓ７１２）。
【００６２】
サーバ２０は、以上の処理を各候補者ＩＤについて繰り返して、発信者と同じロケーション領域内に位置している候補者についての候補者情報を作業テーブル６１に登録することができる。
【００６３】
以上のようにして作業テーブル６１に候補者情報が登録された後、図１０に戻り、サーバ２０は、発信者ＩＤに対応し、可否が「○」である候補者情報に含まれる候補者ＩＤを作業テーブル６１から取得する（Ｓ５０６）。サーバ２０は、取得した候補者ＩＤの一覧を記述した一覧データを生成する（Ｓ５０７）。
【００６４】
以上が図８のステップＳ４０５における処理である。サーバ２０は、コミュニティメンバーを一覧データとして抽出すると（Ｓ４０５）、一覧データを携帯端末１０に送信する（Ｓ４０６）。
【００６５】
携帯端末１０は、サーバ２０から受信した一覧データを表示する（Ｓ４０７）。コミュニティメンバーの一覧を表示する画面５２の一例を図１７示す。同図に示すように、画面５２のリストボックス５２１には、コミュニティメンバーのユーザＩＤの一覧が表示される。リストボックス５２１からユーザＩＤが選択されると、携帯端末１０は、選択されたユーザＩＤとの間でメッセージの送受信をするようにメッセンジャープログラム１１を起動し、メッセンジャー処理部１１７により、コミュニティメンバーとの間でのメッセージのやり取りが行われる。
【００６６】
図１８に示す。画面５３にはメッセージのやり取りを行っているコミュニティメンバーのユーザＩＤの表示欄５３１と、メッセージの表示欄５３２、メッセージの入力欄５３３を備えている。メッセンジャー処理部１１７は、入力欄５３３にメッセージが入力されて、ボタン５３４が押下されると、入力欄５３３に入力されたメッセージに、表示欄５３１に表示しているユーザＩＤをあて先として付帯させてサーバ２０に送信する（図８のＳ４０８）。
【００６７】
サーバ２０は、携帯端末１０から送信されるメッセージを受信すると、受信したメッセージに付帯されているユーザＩＤに対応する携帯端末１０にメッセージを転送する（Ｓ４０９）。なお、このようなメッセージの転送処理は、一般的なメッセンジャーサービスにおいて用いられている処理である。
【００６８】
以上説明したように、本実施形態のメッセージ転送システムによれば、携帯端末１０が測定したＧＰＳ情報による位置の履歴から、ユーザが移動しているか否かを判定し、移動していると判定した場合には、発信者と所定時間以上、所定の距離（±誤差）を保って移動している候補者を、コミュニティメンバーとして抽出し、携帯端末１０に提示することができる。例えば、電車やバスなどの移動手段に複数のユーザが同乗している場合、そのユーザ間の距離は一定のまま、全ユーザが移動することになるので、本実施形態のメッセージ転送システムでも、そのように移動している複数のユーザを特定している。また、発信者が移動していない場合には、同じ場所にいる候補者のうち、発信者の近く（所定の距離内）にいる人をコミュニティメンバーとして特定している。
【００６９】
このように、本実施形態のメッセージ転送システムによれば、発信者と、同じ移動手段に乗り合わせていたり、同じ場所にい合わせていたりして、同じ環境におかれている候補者をコミュニティメンバーとして発信者に提示することができる。同じ環境におかれたユーザ間では、その環境に関する話題を共有することになるので、コミュニケーションがとりやすい。例えば、同じ電車に乗り合わせているユーザ間では、電車の運行状況や混み具合、車内広告の内容、車窓の風景などを共有しているので、これらを話題としてコミュニケーションがとり易い状況が形成されている。本実施形態のメッセージ転送システムでは、発信者の携帯端末１０に、話題を共有するコミュニティメンバーの一覧が表示されるので、発信者には、コミュニティメンバーとのコミュニケーションを取ろうとする動機付けがなされる。したがって、メッセージ転送システムにおけるコミュニケーションの活発化を図ることができる。
【００７０】
なお、本実施形態では、サーバ２０は、コミュニティメンバー取得要求を受信する度にコミュニティメンバーの抽出処理を行うものとしたが、これに限らず、例えば、初回のコミュニティメンバー取得要求の受信時にのみコミュニティメンバーの抽出処理を行い、その後は、コミュニティメンバー取得要求とは非同期に一覧データを携帯端末１０に送信するようにしてもよい。また、作業テーブル６１に登録されている候補者については、サーバ２０は、候補者が現在も同じ場所にいるかどうかを判定して、同じ場所にいれば、同一環境時間をインクリメントし、可否を判定するようにし、作業テーブル６１に登録されていない候補者については、上述した本実施形態の処理を行うようにしてもよい。
【００７１】
また、本実施形態では、サーバ２０を介してメッセージが転送されるものとしたが、これに限らず、例えば、サーバ２０からはコミュニティメンバーの一覧のみを取得し、その後は、携帯端末１０間で直接メッセージを送受信するようにしてもよい。
【００７２】
また、本実施形態では、携帯端末１０は可搬型のコンピュータを想定しているが、一定の場所や移動手段に設置された、例えばデスクトップ型のパーソナルコンピュータやワークステーションなどを利用してもよい。
【００７３】
また、本実施形態では、携帯端末１０の位置情報は携帯端末１０がＧＰＳ衛星から取得するものとしたが、これに限らず、サーバ２０が、例えば、通信事業者から携帯端末１０の位置情報を取得するようにしてもよい。
【００７４】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００７５】
例えば、本実施形態では、メッセンジャーは１人のコミュニティメンバーとのメッセージをやり取りするものとしたが、例えば、複数のコミュニティメンバー間で、例えば、チャット形式でメッセージのやり取りを行うようにすることも容易にできる。
【００７６】
また、本実施形態のサーバ２０は、ロケーション情報に対応付けて広告情報を記憶しておき、携帯端末１０に対して一覧データに付帯させて、発信者が属しているロケーション領域に対応する広告情報を携帯端末１０に送信するようにしてもよい。
【図面の簡単な説明】
【００７７】
【図１】本発明の一実施形態に係るメッセージ交換システムの全体構成を示す図である。
【図２】携帯端末１０のハードウェア構成を示す図である。
【図３】携帯端末１０のソフトウェア構成を示す図である。
【図４】サーバ２０のハードウェア構成を示す図である。
【図５】サーバ２０のソフトウェア構成を示す図である。
【図６】移動履歴データベース２５１に記憶される移動履歴情報の構成例を示す図である。
【図７】ロケーションデータベース２５２に記憶されるロケーション情報の構成例を示す図である。
【図８】メッセージ交換システムにおける処理の流れを示す図である。
【図９】携帯端末１０が表示する画面５１の一例を示す図である。
【図１０】コミュニティメンバーの抽出処理の流れを示す図である。
【図１１】コミュニティメンバーの抽出処理に用いられる作業テーブル６１の構成例を示す図である。
【図１２】携帯端末が移動中であるか否かを判定する移動判定処理の流れを示す図である。
【図１３】移動中のコミュニティメンバーの検索処理の流れを示す図である。
【図１４】候補者が発信者から所定範囲内にいた時間Ｔを算出する処理の流れを示す図である。
【図１５】同一ロケーションのコミュニティメンバーの検索処理の流れを示す図である。
【図１６】静止中の候補者の同一環境時間Ｔの算出処理の流れを示す図である。
【図１７】コミュニティメンバーの一覧を表示する画面５２の一例を示す図である。
【図１８】メッセンジャー処理部１１７がメッセージの送受信に用いる画面５３の一例を示す図である。
【符号の説明】
【００７８】
１０    携帯端末
２０    サーバ
３０    通信ネットワーク
１０１  ＣＰＵ
１０２  メモリ
１０３  記憶装置
１０４  通信インタフェース
１０５  入力装置
１０６  出力装置
１０７  ＧＰＳレシーバ
１１１  ＧＰＳ情報取得部
１１３  コミュニティメンバー取得要求送信部
１１４  コミュニティメンバー受信部
１１５  コミュニティメンバー出力部
１１６  メッセンジャー起動部
１１７  メッセンジャー処理部
２０１  ＣＰＵ
２０２  メモリ
２０３  記憶装置
２０４  通信インタフェース
２１２  コミュニティメンバー取得要求受信部
２１３  コミュニティメンバー抽出部
２１４  コミュニティメンバー送信部
２１５  メッセンジャー処理部
２５１  移動履歴データベース
２５２  ロケーションデータベース
５１    画面
５２    画面
５３    画面
【図１】
0004594978.tif 000002
【図２】
0004594978.tif 000003
【図３】
0004594978.tif 000004
【図４】
0004594978.tif 000005
【図５】
0004594978.tif 000006
【図６】
0004594978.tif 000007
【図７】
0004594978.tif 000008
【図８】
0004594978.tif 000009
【図９】
0004594978.tif 000010
【図１０】
0004594978.tif 000011
【図１１】
0004594978.tif 000012
【図１２】
0004594978.tif 000013
【図１３】
0004594978.tif 000014
【図１４】
0004594978.tif 000015
【図１５】
0004594978.tif 000016
【図１６】
0004594978.tif 000017
【図１７】
0004594978.tif 000018
【図１８】
0004594978.tif 000019