以下、サーバ装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、イベントの発起人である幹事から送信されたイベントの開催情報を参加候補者に送信し、参加候補者はイベントへの参加を表明し、参加者の間におけるイベントのグループを構成する情報システムについて説明する。なお、イベントに関するグループは、イベントグループと言う。また、イベントグループは、通常、一時的なグループである。また、イベントとは、飲み会、花見、ハイキング、登山、スポーツの実施等である。
また、本実施の形態において、予め決められた条件を満たす場合に、イベントグループの情報が生成される。なお、予め決められた条件とは、例えば、イベント参加募集の終了、幹事からイベントを行う旨の情報の受信等である。また、イベント参加募集の終了は、幹事の入力、または自動的等によりにより判断される。自動的な判断は、例えば、設定した時間の経過、参加情報の送信から所定の時間が経過したこと、設定した参加人数に参加者が達したこと等により行われる。
また、本実施の形態において、イベントグループ情報が生成された以後、イベントグループの中でコミュニケーションが可能となる情報システムについて説明する。
また、本実施の形態において、イベントグループ情報の生成後、イベントグループに対して、幹事、または参加者はイベント関連情報をサーバ装置にアップできる。なお、イベント関連情報は、イベントに関する写真や感想等のコメント等である。また、サーバ装置にアップされたイベント関連情報は、サーバ装置にイベント識別子に対応付けて蓄積される。
また、本実施の形態において、イベント参加募集期間は、幹事と参加候補者間のみ通信可能である情報システムについて説明する。つまり、情報システムにおいて、イベント参加募集期間は、幹事と一の参加候補者との間のみ通信可能で、2以上の参加候補者間では情報交換はされない構成でも良い。
また、本実施の形態において、情報システムは、参加候補者を自動取得しても良い。本実施の形態において、情報システムは、幹事の位置情報と所定の関係にある位置情報の参加候補者のみを自動抽出することは好適である。
また、本実施の形態において、情報システムは、イベントグループの統合が可能であることは好適である。
また、本実施の形態において、情報システムは、既に存在するイベントグループの情報を元に、新たなグループを生成したり、イベント参加者が投稿した写真を用いて、イベントのアルバムを生成したりできることは好適である。
さらに、情報システムにおいて、予め決められた条件を満たした場合、イベントグループを自動削除することは好適である。
図1は、情報システムの構成を説明する概念図である。情報システムは、サーバ装置1、1以上の第一端末装置2、および1以上の第二端末装置3を備える。第一端末装置2、および第二端末装置3は、通常、携帯端末、携帯電話等である。携帯端末は、例えば、いわゆるスマートフォン、携帯用パソコン等である。また、第一端末装置2は、イベントを企画した幹事の端末装置であり、第二端末装置3は、イベントの参加者の端末装置である。また、第一端末装置2と第二端末装置3とは、総称して端末装置と言う。さらに、第一端末装置2は第二端末装置3になり得、第二端末装置3は第一端末装置2になり得る。
図2は、本実施の形態における情報システムのブロック図である。情報システムを構成するサーバ装置1は、ユーザ情報格納部10、対話関連情報格納部11、イベントグループ情報格納部12、受信部13、送信先決定部14、送信部15、生成部16、蓄積部17、イベント統合部18、削除部19、および処理部20を備える。また、受信部13は、解析手段131を具備しても良い。
第一端末装置2は、第一受付部21、第一送信部22、第一受信部23、第一処理部24、および第一出力部25を備える。
第二端末装置3は、第二受付部31、第二送信部32、第二受信部33、第二処理部34、および第二出力部35を備える。
サーバ装置1を構成するユーザ情報格納部10は、1以上のユーザ情報を格納し得る。ユーザ情報は、送信先識別子を有する。送信先識別子は、イベントへの参加を促す情報を送信する送信先を識別する情報であり、メールアドレス、電話番号、IPアドレス、送信先の端末装置のMACアドレス等である。また、ユーザ情報は、ユーザの属性を示す1以上のユーザ属性値を有することは好適である。ユーザ属性値は、頻繁には変化しない固定的な属性値である静的属性値、または動的な属性値である動的属性値である。静的属性値は、ユーザの性別、年齢、年齢帯(例えば、20代、30歳〜49歳等)、ユーザの職業等である。動的属性値は、ユーザが保持している端末装置の位置を示す位置情報、ユーザが居る場所の天気、気温、季節、日時、時間、曜日、イベント識別子と参加または不参加を示す情報、イベントの参加率、イベントの種類ごとのイベントの参加率、イベント識別子と当該イベントに参加しなか否かを示す情報(参加/不参加を示す情報)、ユーザの状態等である。ユーザ属性値は、ユーザの属性、特性を示す情報であれば何でも良い。なお、ユーザの状態とは、ユーザの状態とは、例えば、暇か否かを示す情報、現在空いているか否かを示す情報、現在イベントに参加可能であるか否かを示す情報等である。
対話関連情報格納部11は、1以上の対話関連情報を格納し得る。対話関連情報は、イベントの幹事と、イベントの参加候補者の対話である1以上の対話に関する情報である。対話関連情報は、イベントの幹事またはイベントの参加候補者であるユーザにより入力された対話情報を含む。対話情報は、通常、イベントに参加する前の情報であり、通常、テキストであるが、静止画や動画や音声等であっても良い。また、対話情報は、文字列や画像であり、通常、対話の情報である。対話の情報とは、イベントへの参加を促す文章、イベントへ参加を表明する文章、イベントに参加しない旨を示す文章、イベントの詳細情報を示す情報、イベントに関する質問を示す文章等である。また、対話関連情報は、イベントを識別するイベント識別子、ユーザを識別するユーザ識別子を有する。ユーザ識別子は、送信先識別子と同一でも良い。ユーザ識別子は、後述する第一識別子または第二識別子でも良い。ユーザ識別子は、対話情報を入力したユーザの識別子である。また、対話関連情報は、また、対話情報の種類を示す情報種類識別子を有しても良い。情報種類識別子は、例えば、イベント開催情報(例えば、「1」)、参加情報(例えば、「2」)、不参加情報(例えば、「3」)、その他(例えば、「4」)があり得る。イベント開催情報は、イベントの開催を知らせ、参加者を募る情報であり、通常、テキストを有する。参加情報は、イベントへの参加を知らせる情報であり、通常、テキストを有する。不参加情報は、イベントへの参加しないことを知らせる情報であり、通常、テキストを有する。
イベントグループ情報格納部12は、1以上のイベントグループ情報を格納し得る。イベントグループ情報は、イベントグループに関する情報である。イベントグループとは、1以上のイベント参加者を含むグループである。1以上のイベント参加者とは、通常、幹事を含む。なお、幹事は、イベント開催情報を送信した者である。イベントグループ情報は、通常、イベント識別子、イベント関連情報を含む。イベント識別子は、イベントを識別する情報であり、例えば、サーバ装置1が生成したユニークな情報であるが、幹事の端末装置が送信してきた情報等でも良い。また、イベント識別子は、イベントグループ情報に含まれる、と考えても良い。イベントグループ情報は、例えば、イベントの種類を示すイベント種類識別子を有する。イベント種類識別子は、例えば、「飲み会」「フットサル」「ゴルフ」等を示す情報である。イベントグループ情報は、例えば、例えば、イベントの内容を示すイベント内容情報を含む。イベント内容情報は、例えば、イベントの内容を示す情報、イベント開催時日、イベントが行われる場所、参加数制限情報などを有する。参加数制限情報とは、イベントへの参加数の制限に関する情報である。参加数制限情報は、幹事を含んでも含まなくても良い。また、イベントグループ情報は、例えば、イベント関連情報を含む。イベント関連情報は、イベントに関連する情報である。また、イベント関連情報は、イベント参加者が送信した情報を含むことは好適である。イベント参加者が送信した情報とは、イベントの写真、イベントに対するコメント等の文字列、イベントの動画等である。また、イベントグループ情報は、通常、イベントの参加者を識別する2以上の参加者情報を含む。参加者情報は、例えば、第一識別子、および1以上の第二識別子を有する。第一識別子は、イベントへの参加を呼びかけるユーザの第一端末装置2を識別する情報である。第二識別子は、イベントへの参加者であるユーザの第二端末装置3を識別する情報である。第一識別子とは、第一端末装置2のユーザを識別する情報でも良い。第一識別子は、例えば、第一端末装置2の電話番号、IPアドレス、メールアドレス、MACアドレス、第一端末装置2のユーザID等である。また、第二識別子とは、第二端末装置3のユーザを識別する情報でも良い。第二識別子は、例えば、第二端末装置3の電話番号、IPアドレス、メールアドレス、MACアドレス、第二端末装置3のユーザID等である。また、イベントグループ情報格納部12は、各イベントグループ情報に対応付けて、イベントの参加募集の終了のフラグ等を保持しても良い。
受信部13は、第一端末装置2または第二端末装置3から、情報や指示等を受信する。
受信部13は、イベント開催情報と第一識別子とを第一端末装置2から受信する。受信部13は、イベント開催情報と第一識別子と共に、イベント開催情報を送信する送信先を示す1以上の第二識別子を有しても良い。なお、かかる1以上の第二識別子は、参加候補者の識別子であり、例えば、幹事が選択した参加候補者の第二識別子である。また、受信部13は、イベント開催情報と第一識別子と共に、イベント種類識別子を受信しても良い。イベント種類識別子は、通常、参加候補者を決定するために使用される。また、イベント種類識別子は、例えば、「飲み会」「ゴルフ」「カラオケ」「フットサル」等のイベントの内容から分類される種類である。また、イベント種類識別子は、例えば、今から行うイベントか、開催までは時間的な猶予があるイベントかを示す情報であっても良い。かかる場合、イベント種類識別子は、イベントの開催時刻に基づいて分類される種類である。また、イベント種類識別子は、イベントの内容から分類される情報と、イベントの開催時刻に基づいて分類される情報の両方を含んでも良い。また、受信部13は、イベント開催情報と情報種類識別子と第一識別子とを第一端末装置2から受信しても良い。かかる場合の情報種類識別子は、ここでは、受信された情報がイベント開催情報であることを示す情報である。なお、情報種類識別子は、受信された情報の種類を示す情報であり、特に、受信された対話情報の種類を示す情報である。また、イベント開催情報は、文字列でも良いが、タグ等により構造化された情報でも良い。構造化された情報とは、例えば、「<内容>飲み会 <場所>○○店 <日時>12月5日 20:00 <コメント>飲みに行かない?」である。また、受信部13は、イベント開催情報と第一識別子とに加えて、イベントへの参加募集の終期の情報を受信しても良い。また、イベント開催情報が有するイベントの場所は、店舗名でも良いし、位置情報(例えば、(経度,緯度)の情報)でも良いし、待ち合わせ場所を示す場所情報(駅名、ランドスケープ等)等でも良い。また、受信部13は、イベント開催情報と第一識別子とに加えて、イベント開始日時を受信しても良い。
また、受信部13は、イベントに参加する旨の情報を含む参加情報と第二識別子とを第二端末装置3から受信する。参加情報は、参加を示すフラグだけでも良いし、参加を示すフラグとコメントでも良いし、参加の意思が記載されたコメント等でも良い。また、受信部13は、イベントに参加しない旨の情報を含む不参加情報と第二識別子とを第二端末装置3から受信する。不参加情報は、不参加を示すフラグだけでも良いし、不参加を示すフラグとコメントでも良いし、不参加の意思が記載されたコメント等でも良い。なお、参加を示すフラグは、例えば、第二端末装置3のユーザが、イベントに参加することを意味するボタンの押下やメニュー項目の選択を行うこと等により、第二端末装置3に入力された情報である。また、同様に、不参加を示すフラグは、例えば、第二端末装置3のユーザが、イベントに参加しないことを意味するボタンの押下やメニュー項目の選択を行うこと等により、第二端末装置3に入力された情報である。また、受信部13は、参加情報または不参加情報、情報種類識別子、および第二識別子を第二端末装置3から受信しても良い。かかる場合の情報種類識別子は、ここでは、受信された情報が参加情報または不参加情報であることを示す情報である。
また、受信部13は、生成部16がイベントグループ情報を生成した後、イベント参加者の第一識別子または第二識別子で識別される第一端末装置2または第二端末装置3から、イベント識別子とイベント関連情報とを受信しても良い。受信部13は、イベント参加者のみ(イベント参加者とは、イベント参加者の端末装置と同意義)から、イベント識別子とイベント関連情報とを受信することは好適である。イベント参加者の端末装置は、イベント開催情報を送信した送信先識別子で識別される第一端末装置2および参加情報を送信した第二識別子で識別される1以上の第二端末装置3とからなる。なお、イベント関連情報は、イベントに関連する情報であり、例えば、イベントの写真や文字列(イベントの感想等)である。なお、受信部13は、生成部16がイベントグループ情報を生成する前でも、イベント参加者の第一識別子または第二識別子で識別される第一端末装置2または第二端末装置3から、イベント識別子とイベント関連情報とを受信しても良い。
また、受信部13は、第一端末装置2または第二端末装置3から、端末装置の位置情報と端末装置の識別子(第一識別子または第二識別子)とを受信しても良い。
また、受信部13は、2以上のイベントグループ情報を統合する指示であるイベント統合指示を受信する。イベント統合指示は、2以上のイベントグループ情報を識別するイベント識別子を有する。また、イベント統合指示は、2以上のイベントグループ情報が有するイベント関連情報を一括して扱えるための指示である。イベント関連情報を一括して扱うとは、一の指示により、2以上のイベントグループ情報が有するイベント関連情報をダウンロードしたり、編集したり、削除したりできることである。
また、受信部13は、イベントグループ情報を削除する削除指示を受信しても良い。削除指示は、イベント識別子を有する。
また、受信部13は、イベントに関するアルバムを構成するアルバム作成指示を受信しても良い。アルバム作成指示は、イベント識別子を有する。
また、受信部13は、既存のイベントグループ情報を元にして、新たなイベントグループ情報を生成する指示であるイベントグループ生成指示を受信しても良い。イベントグループ生成指示は、既存のイベントグループ情報を識別する既存のイベント識別子を有する。イベントグループ生成指示は、新しいイベント識別子を生成し、既存のイベントグループ情報が有する2以上の参加者識別子を利用して、新たなイベントグループ情報を生成する指示である。
また、受信部13は、第一識別子または第二識別子と、位置情報とを受信しても良い。この位置情報は、第一識別子または第二識別子で識別されるユーザ(端末装置)が存在する位置を示す情報である。位置情報は、通常、(緯度,経度)の情報であるが、他のデータ構造の情報でも良い。
また、受信部13は、通常、予め決められた条件を満たした以降は、参加情報を受信しない。つまり、通常、イベントには、当該イベントへの参加募集の期間が存在する。予め決められた条件とは、イベント開催情報が有するイベント参加募集終了期間が経過したこと、イベントの参加者がイベントへの参加募集数に到達したこと等である。なお、ここで受信部13は参加情報を受信しても、参加情報を参加情報として扱わなければ、受信していないものとする。
また、受信部13は、ユーザの状態を受信しても良い。ユーザの状態とは、例えば、暇か否かを示す情報、現在空いているか否かを示す情報、現在イベントに参加可能であるか否かを示す情報等である。なお、ユーザの状態も、ユーザの属性値の一種である、と考えても良い。
また、上記のユーザの状態は、イベント種類識別子に対応付いている情報であり、当該イベント種類識別子で識別されるイベントへの参加希望を示す情報であっても良い。また、ユーザの状態は、イベント種類識別子そのものであっても良い。かかる場合、ユーザは、イベント種類識別子で識別されるイベントに参加したい、という状態である。
受信部13を構成する解析手段131は、受信部13が受信した情報の種類を示す情報種類識別子を取得する。情報の種類とは、例えば、イベント開催情報、参加情報、不参加情報、イベント関連情報、イベント統合指示、削除指示、アルバム作成指示等である。
受信部13が受信する情報が情報種類識別子を有する場合、解析手段131は、かかる情報種類識別子を取得する。
また、解析手段131は、受信されたテキストである情報を解釈し、当該情報がイベント開催情報、参加情報、不参加情報等のうちのいずれの種類であるかを判断しても良い。なお、情報の種類を判断するために、解析手段131は、情報種類識別子に対応付けて、1以上の用語を有する用語辞書を保持していても良い。かかる場合、解析手段131は、例えば、受信されたテキストに含まれる1以上の用語が含まれるか用語辞書を決定し、当該用語辞書に対応する情報種類識別子を取得する。さらに、解析手段131は、受信部13が受信した情報の中で、イベント識別子を有さない情報は、イベント開催情報である、と判断しても良い。
送信先決定部14は、受信部13がイベント開催情報を受信した場合、イベント開催情報を送信する送信先の1以上の送信先識別子を、ユーザ情報格納部10から取得する。例えば、送信先決定部14は、イベント開催情報を送信してきた第一端末装置2の第一識別子に対応する1以上の送信先識別子を、ユーザ情報格納部10から取得する。
また、送信先決定部14は、受信部13がイベント開催情報と1以上の第二識別子とを受信した場合、当該1以上の第二識別子を取得する。なお、かかる1以上の第二識別子は、参加候補者の識別子である。また、かかる場合、送信先決定部14は、受信部13が受信した1以上の第二識別子のうち、ユーザの状態が「忙しい」を示す状態のユーザに対応する第二識別子を除いて、1以上の第二識別子を取得することは好適である。
送信先決定部14は、1以上のユーザ属性値を用いて、イベント開催情報を送信する送信先の1以上の送信先識別子を、選択的に取得しても良い。例えば、送信先決定部14は、第一端末装置2の位置情報に対して、予め決められた条件を満たす位置情報に対応する1以上の送信先識別子を取得することは好適である。なお、予め決められた条件は、第一端末装置2の位置情報と比較して、位置情報が閾値より近い第二端末装置3であること、同一の都道府県であること等である。
また、送信先決定部14は、ユーザ情報が有するユーザの状態をも用いて、イベント開催情報を送信する送信先の1以上の送信先識別子を取得することは好適である。つまり、例えば、送信先決定部14は、ユーザの状態が「忙しい」を示す情報である場合、当該ユーザの状態に対応する送信先識別子は取得しない。また、例えば、イベント種類識別子「ゴルフ」で識別されるイベントのイベント開催情報が受信された場合、送信先決定部14は、
イベント種類識別子「ゴルフ」で識別されるイベントへの参加希望を示すユーザの状態に対応する送信先識別子を、優先的に取得することは好適である。
また、送信先決定部14は、対応するイベントのイベント種類識別子が「今から行うイベント」を示す情報である場合に、ユーザの状態をも用いて、イベント開催情報を送信する送信先の1以上の送信先識別子を取得しても良い。つまり、イベント種類識別子が「今から行うイベント」を示す情報であり、かつユーザの状態が「忙しい」を示す情報である場合、送信先決定部14は、当該ユーザの状態に対応する送信先識別子は取得しない。
また、送信先決定部14は、参加情報、不参加情報、またはイベント関連情報等の送信先を決定しても良い。参加情報、不参加情報、またはイベント関連情報等の送信先の送信先識別子として、送信先決定部14は、イベントの参加候補者全員の送信先識別子を取得しても良いし、参加を表明している者の送信先識別子のみを取得しても良いし、幹事の送信先識別子のみを取得しても良い。送信先決定部14は、参加情報、不参加情報等の第二端末装置3から受信した情報に対する送信先識別子として、幹事の送信先識別子のみを取得することは好適である。幹事の送信先識別子は、第一端末装置2の送信先識別子であり、第一識別子、または第一識別子と対になる送信先識別子である。
送信部15は、送信先決定部14が取得した1以上の送信先識別子が示す送信先に、受信部13が受信した情報の全部または一部を送信する。
送信部15は、第一端末装置2および第二端末装置3から受信した情報を送信する。送信部15は、受信部13が情報を受信した場合に、情報に対応するイベントの参加者の端末装置であり、少なくとも情報を送信した端末装置を除くすべての端末装置に、受信部13が受信した情報を送信することは好適である。
送信部15は、第二端末装置3から受信した情報を、第一端末装置2にのみに送信することは好適である。なお、かかる情報は、イベント参加募集の期間において、送受信される情報であり、通常、参加情報、不参加情報、またはその他の情報である。その他の情報とは、例えば、参加候補者が参加するか否かについて幹事に相談する文章等である。
送信部15は、受信部13がイベント開催情報を受信した場合、1以上の送信先識別子が示す送信先である参加候補者(参加候補者の第二端末装置3と同意義である。)にイベント開催情報を送信する。なお、送信部15が送信するイベント開催情報は、受信したイベント開催情報の一部でも良い。送信部15は、受信部13がイベント関連情報を受信した場合に、イベント参加者の端末装置のみに、イベント関連情報を送信することは好適である。つまり、イベント関連情報は、イベント参加者しか閲覧できず、イベントの参加候補者でイベントに参加しなかった者は閲覧できないことは好適である。なお、かかる場合、イベント関連情報の送信先として、イベント関連情報を送信した端末装置を除いても良いことは言うまでもない。
送信部15は、受信部13が参加情報を受信した場合、当該参加情報を、第一識別子で識別される第一端末装置2に送信する。なお、予め決められた条件を満たした以降は、送信部15は受信部13が受信した参加情報を送信しない。予め決められた条件を満たした以降とは、例えば、イベントの参加募集期間の終了以降である。
生成部16は、予め決められた条件を満たした場合、イベント開催情報を用いて、イベントグループ情報を生成する。
生成部16は、受信部13が受信したイベント識別子で識別されるイベントの1以上の参加者を識別する第一識別子および1以上の第二識別子を有するイベントグループ情報を生成する。なお、生成部16がイベントグループ情報を生成した段階では、イベントグループ情報は、イベントグループ情報の一部の情報のみを有しても良い。つまり、生成部16がイベントグループ情報を生成した段階では、イベントグループ情報の一部の情報がNULL(空)でも良い。
なお、ここで予め決められた条件とは、受信部13がイベント開催情報を受信したこと、イベントへの参加の募集の終了等である。イベントへの参加の募集の終了とは、受信部13がイベントへの参加の募集の終了の指示を受信したこと、イベント開催情報の受信から予め決められた期間が経過したこと、イベント開催情報に含まれるイベントへの参加募集期間の情報が示す期間が終了したこと、イベント開催情報に含まれるイベント開催日時になったこと、イベントの参加数の制限に、参加者が到達したこと等である。
なお、処理部20は、受信部13が受信した参加情報の数を用いて、イベント開催情報が有する参加数制限情報が示すイベントへの参加数の制限に到達したか否かを判断し、当該参加数の制限に到達したと判断した場合に、生成部16は、イベントグループ情報を生成しても良い。
蓄積部17は、生成部16が生成したイベントグループ情報をイベントグループ情報格納部12に蓄積する。また、蓄積部17は、受信部13が受信したイベント関連情報を、受信部13が受信したイベント識別子に対応するイベントグループ情報の中に蓄積する。
また、蓄積部17は、イベント開催情報が有するイベント内容情報をイベント識別子に対応するイベントグループ情報の中に蓄積しても良い。なお、イベント内容情報とは、イベントの内容を示す情報であり、イベントの内容を示す文字列、場所、日時等の情報を含む。
また、受信部13がイベント関連情報とイベント識別子とを受信した場合、蓄積部17は、当該イベント識別子に対応付けて、イベント関連情報をイベントグループ情報格納部12に蓄積する。
また、受信部13がイベント開催情報を受信した場合、蓄積部17は、当該イベント開催情報を、生成部16が生成したイベント識別子に対応付けて、対話関連情報格納部11に蓄積する。また、受信部13がイベント識別子と参加情報、またはイベント識別子と不参加情報を受信した場合、蓄積部17は、受信されたイベント識別子に対応付けて、参加情報またはイベント識別子と不参加情報を対話関連情報格納部11に蓄積する。
蓄積部17は、後述する処理部20がイベントへの参加募集の終了を決定した後は、参加情報を蓄積しないことは好適である。
また、蓄積部17は、後述する処理部20が取得した統計情報を、ユーザ情報格納部10に蓄積しても良い。なお、統計情報は、例えば、各ユーザのイベントの参加率(後述するJoin率)である。また、統計情報は、例えば、イベントの種類毎の参加率でも良い。
また、蓄積部17は、受信部13が受信したユーザの状態を、ユーザ情報格納部10に蓄積しても良い。
イベント統合部18は、2以上のイベント識別子で識別されるイベントのイベントグループ情報を統合する。イベント統合部18は、受信部13が、2以上のイベントグループ情報のイベント統合指示を受信した場合に、当該2以上のイベントグループ情報を統合する。なお、かかるイベント統合指示は、2以上のイベントグループ情報を識別する2以上のイベント識別子を有する。イベントグループ情報の統合とは、例えば、イベントグループ情報が有するイベント関連情報を一括して処理できるようにすることである。イベントグループ情報の統合とは、例えば、統合されるイベントグループ情報の2以上のイベント識別子を対応付けることである。
削除部19は、生成部16が生成したイベントグループ情報を削除する。受信部13が削除指示を受信した場合に、削除部19は、削除指示が有するイベント識別子で識別されるイベントグループ情報を削除しても良い。
また、削除部19は、予め決められた条件を満たした場合、生成部16が生成したイベントグループ情報を削除することは好適である。予め決められた条件とは、例えば、イベントグループ情報の生成から予め決められた期間(例えば、1年等)が経過したこと、イベント終了から予め決められた期間(例えば、6ヶ月等)が経過したことなどである。
処理部20は、予め決められた条件を満たした場合に、イベントへの参加募集の終了を決定する。処理部20は、受信部13が受信した参加情報の数を用いて、イベント開催情報が有する参加数制限情報が示すイベントへの参加数の制限に到達したか否かを判断し、当該参加数の制限に到達したと判断した場合に、イベントへの参加募集の終了を決定する。つまり、予め決められた条件は、イベントへの参加者の数がイベントへの参加数の制限に到達したことである。また、予め決められた条件は、イベントへの参加募集の期間が終了したことでも良い。かかる場合、イベント開催情報がイベントへの参加募集の終期の情報を保持しており、処理部20は、かかる終期の情報が示す時期になったことを、図示しない時計を用いて判断する。
ユーザ情報が有するユーザの状態が、あるイベント種類識別子で識別されるイベントへの参加希望を示す情報である場合、処理部20は、当該ユーザが参加するものとして、当該ユーザの人数分を引いた数を参加数制限情報に設定しても良い。つまり、例えば、イベント種類識別子「ゴルフ」で識別されるイベント「ゴルフ」がしたいユーザが2名存在する場合(ユーザ情報格納部10において「ユーザの状態=イベント種類識別子「ゴルフ」がしたい」が2ユーザである場合)、処理部20は、受信された「参加数制限情報=4」であるところ、「参加数制限情報=2(=4−2)」として処理を行う。
また、ユーザ情報が有するユーザの状態が、あるイベント種類識別子で識別されるイベントへの参加希望を示す情報であり、当該ユーザから当該イベント種類識別子で識別されるイベントに対する参加情報を受信部13が受信した場合、処理部20は、参加数制限情報に対応するイベントであっても、当該ユーザの参加を優先的に決定することは好適である。かかる場合、受信部13が受信した参加情報の数が、参加数制限情報が示す数を超えても受信部13が受信する。そして、処理部20は、受信された参加情報に対応するユーザ識別子のうち、前記ユーザの状態(あるイベント種類識別子で識別されるイベントへの参加希望を示す情報)に対応する1以上のユーザ識別子を優先的に取得する。そして、例えば、送信部15は、処理部20が取得した1以上のユーザ識別子で識別される端末装置に、参加者である旨を送信しても良い。また、蓄積部17は、当該1以上のユーザ識別子をイベントグループ情報中の参加者識別子として、当該イベントのイベント識別子と対応付けてイベントグループ情報格納部12に蓄積する。
処理部20は、受信部13が受信した情報、またはイベントグループ情報格納部12の情報を統計処理し、統計情報を取得する。統計情報は、例えば、各人のイベントの参加率である。また、統計情報は、例えば、各人の、イベントの種類ごとの参加率である。
また、処理部20は、受信部13がアルバム構成指示を受信した場合、アルバム構成指示に含まれるイベント識別子で識別されるイベントグループ情報から、1以上の写真を取得し、アルバムを構成する。アルバムを構成する処理とは、例えば、予め決められた構造を有するデータであるアルバムに1以上の写真を配置する処理である。なお、アルバムを構成する処理は、公知技術であり、上述した処理とは異なる処理でも良い。
第一端末装置2を構成する第一受付部21は、第一端末装置2のユーザから各種の情報や指示等を受け付ける。各種の情報は、例えば、イベント開催情報である。第一受付部21は、イベント開催情報に加えて、1以上の第二識別子、イベント開催情報を示す情報種類識別子、参加数制限情報、イベントへの参加募集の終期の情報、イベントの内容情報、イベント開始日時等を受け付けても良い。なお、イベントの内容情報は、例えば、イベントの内容、場所、予算等を示す情報を含む。また、1以上の第二識別子は、参加候補者の識別子である。また、指示とは、例えば、イベント統合指示や削除指示やアルバム作成指示やイベントグループ生成指示等である。情報や指示等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。第一受付部21は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
第一送信部22は、第一受付部21が受け付けた情報や指示を、サーバ装置1に送信する。なお、第一送信部22は、通常、第一識別子と共に、第一受付部21が受け付けた情報や指示をサーバ装置1に送信する。なお、第一送信部22は、第一処理部24が構成した情報をサーバ装置1に送信しても良い。また、第一送信部22は、予め格納されている第一識別子を読み出して、第一識別子を送信する。また、第一送信部22は、メモリ等に存在するイベント識別子と共に、情報や指示をサーバ装置1に送信しても良い。
第一受信部23は、サーバ装置1から情報を受信する。受信する情報は、例えば、参加情報、不参加情報、アルバム等である。
第一処理部24は、各種の処理を行う。第一処理部24は、例えば、第一受付部21が受け付けた情報や指示と、第一識別子とを用いて、サーバ装置1に送信する情報を構成する。
第一出力部25は、第一受信部23が受信した情報を出力する。また、第一出力部25は、第一処理部24が処理を行って取得した情報を出力しても良い。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
第二端末装置3を構成する第二受付部31は、第二端末装置3のユーザから各種の情報や指示等を受け付ける。各種の情報は、例えば、参加情報である。参加情報は、参加の旨を示すフラグ、または参加の旨を示すフラグとコメント、参加を表明する文を含むコメント等である。なお、参加の旨を示すフラグは、例えば、ユーザが「JOIN」ボタンを押下することにより入力された情報である。各種の情報は、例えば、不参加情報である。不参加情報は、参加しない旨を示すフラグ、または参加しない旨を示すフラグとコメント、参加しないことを示す文を含むコメント等である。また、各種の情報は、例えば、ユーザの状態である。ユーザの状態は、上述したように、例えば、空いている(例えば、「1」)、忙しい(例えば、「0」)等である。ユーザの状態は、例えば、参加を希望するイベント種類識別子(例えば、「ゴルフ」「飲み会」など)であっても良い。なお、ユーザは、例えば、状態ボタン(例えば、「暇」ボタン、「FREE」ボタン、「BUSY」ボタン)の押下により、ユーザの状態を入力する。
また、第二受付部31が受け付ける指示は、例えば、イベント統合指示や削除指示等である。情報や指示等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。第一受付部21は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
第二送信部32は、第二受付部31が受け付けた情報や指示を、サーバ装置1に送信する。なお、第二送信部32は、通常、第二識別子と共に、第二受付部31が受け付けた情報や指示をサーバ装置1に送信する。なお、第二送信部32は、第二処理部34が構成した情報をサーバ装置1に送信しても良い。また、第二送信部32は、予め格納されている第二識別子を読み出して、第二識別子を送信する。また、第二送信部32は、メモリ等に存在するイベント識別子と共に、情報や指示をサーバ装置1に送信しても良い。
第二受信部33は、サーバ装置1から情報を受信する。受信する情報は、例えば、イベント開催情報、アルバム等である。
第二処理部34は、各種の処理を行う。第二処理部34は、例えば、第二受付部31が受け付けた情報や指示と、第二識別子とを用いて、サーバ装置1に送信する情報を構成する。
第二出力部35は、第二受信部33が受信した情報を出力する。また、第二出力部35は、第二処理部34が処理を行って取得した情報を出力しても良い。
ユーザ情報格納部10、対話関連情報格納部11、およびイベントグループ情報格納部12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。ユーザ情報格納部10等にユーザ情報等が記憶される過程は問わない。例えば、記録媒体を介してユーザ情報等がユーザ情報格納部10等で記憶されるようになってもよく、通信回線等を介して送信されたユーザ情報等がユーザ情報格納部10等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたユーザ情報等がユーザ情報格納部10等で記憶されるようになってもよい。
受信部13、第一受信部23、および第二受信部33は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
送信先決定部14、生成部16、蓄積部17、イベント統合部18、削除部19、処理部20、解析手段131、第一処理部24、および第二処理部34は、通常、MPUやメモリ等から実現され得る。送信先決定部14等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
送信部15、第一送信部22、および第二送信部32は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
第一出力部25、および第二出力部35は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。第一出力部25は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報システムの動作について説明する。まず、図3、図4のフローチャートを用いて、サーバ装置1の動作について説明する。
(ステップS301)受信部13は、情報を受信したか否かを判断する。情報を受信すればステップS302に行き、情報を受信しなければステップS301に戻る。
(ステップS302)解析手段131は、ステップS301で受信された情報を解析し、情報の種類を示す情報種類識別子を取得する。なお、ステップS301で受信された情報が情報種類識別子を含む場合、解析手段131は、ステップS301で受信された情報に含まれる情報種類識別子を取得する。
(ステップS303)解析手段131は、ステップS302で取得した情報種類識別子がイベント開催情報を示す情報であるか否かを判断する。イベント開催情報を示す情報である場合はステップS304に行き、イベント開催情報を示す情報でない場合はステップS305に行く。
(ステップS304)生成部16等は、イベント開催処理を行う。イベント開催処理について、図5のフローチャートを用いて説明する。ステップS301に戻る。
(ステップS305)解析手段131は、ステップS302で取得した情報種類識別子が参加情報を示す情報であるか否かを判断する。参加情報を示す情報である場合はステップS306に行き、参加情報を示す情報でない場合はステップS310に行く。
(ステップS306)蓄積部17は、ステップS301で受信された情報の中からイベント識別子を取得する。
(ステップS307)蓄積部17は、ステップS306で取得したイベント識別子に対応付けて、参加情報を対話関連情報格納部11に蓄積する。
(ステップS308)送信先決定部14は、参加情報を送信する先の1以上の送信先識別子を取得する。送信先決定部14は、例えば、幹事の送信先識別子を取得する。なお、送信先決定部14は、例えば、イベント識別子およびイベント開催情報を示す情報種類識別子と対になるユーザ識別子(第一識別子)を対話関連情報格納部11から取得し、当該ユーザ識別子と対になる送信先識別子をユーザ情報格納部10から取得する。
(ステップS309)送信部15は、ステップS308で決定した1以上の送信先識別子で識別される送信先に、参加情報の処理結果を送信する。ステップS301に戻る。なお、参加情報の処理結果とは、例えば、参加情報が受け付けられた旨、参加情報を送信した送信者のユーザ情報、参加情報そのもの等である。
(ステップS310)解析手段131は、ステップS302で取得した情報種類識別子が不参加情報を示す情報であるか否かを判断する。不参加情報を示す情報である場合はステップS311に行き、不参加情報を示す情報でない場合はステップS315に行く。
(ステップS311)蓄積部17は、ステップS301で受信された情報の中からイベント識別子を取得する。
(ステップS312)蓄積部17は、ステップS311で取得したイベント識別子に対応付けて、不参加情報を対話関連情報格納部11に蓄積する。
(ステップS313)送信先決定部14は、参加情報を送信する先の1以上の送信先識別子を取得する。送信先決定部14は、例えば、幹事の送信先識別子を取得する。
(ステップS314)送信部15は、ステップS313で決定した1以上の送信先識別子で識別される送信先に、不参加情報の処理結果を送信する。ステップS301に戻る。なお、不参加情報の処理結果とは、例えば、不参加情報が受け付けられた旨、不参加情報を送信した送信者のユーザ情報、不参加情報そのもの等である。ステップS301に戻る。
(ステップS315)解析手段131は、ステップS302で取得した情報種類識別子がイベント関連情報を示す情報であるか否かを判断する。イベント関連情報を示す情報である場合はステップS316に行き、イベント関連情報を示す情報でない場合はステップS318に行く。
(ステップS316)蓄積部17は、ステップS301で受信された情報の中からイベント識別子を取得する。
(ステップS317)蓄積部17は、ステップS316で取得したイベント識別子に対応付けて、イベント関連情報をイベントグループ情報格納部12に蓄積する。ステップS301に戻る。なお、ここで、送信部15は、イベント関連情報が受け付けられた旨、またはイベント関連情報等を、イベント参加者を識別する1以上の送信先識別子で識別される送信先に送信しても良い。かかる場合、送信先決定部14は、参加者を識別する2以上の送信先識別子を取得する。また、送信部15は、幹事および参加候補者のすべての端末装置に、イベント関連情報が受け付けられた旨、またはイベント関連情報等を送信しても良い。かかる場合、送信先決定部14は、幹事および参加候補者を識別する2以上の送信先識別子を取得する。
(ステップS318)解析手段131は、ステップS302で取得した情報種類識別子がイベント統合指示を示す情報であるか否かを判断する。イベント統合指示を示す情報である場合はステップS319に行き、イベント統合指示を示す情報でない場合はステップS322に行く。
(ステップS319)イベント統合部18は、ステップS301で受信された情報の中から2以上のイベント識別子を取得する。
(ステップS320)イベント統合部18は、ステップS319で取得した2以上のイベント識別子で識別されるイベントのイベントグループ情報を統合する。
(ステップS321)送信部15は、1以上の送信先識別子で識別される送信先に、イベント統合の処理結果を送信する。ステップS301に戻る。なお、イベント統合の処理結果とは、イベントグループ情報が統合された旨、統合された後のイベントグループ情報、統合されたイベントグループ情報が有するイベント関連情報等である。なお、かかる場合、通常、送信先決定部14は、イベント統合の処理結果を送信する先の1以上の送信先識別子を取得しており、送信部15は、かかる1以上の送信先識別子で識別される送信先にイベント統合の処理結果を送信する。また、かかる1以上の送信先識別子は、統合されるイベントグループ情報に対応する2以上のイベントの参加者の送信先識別子である。
(ステップS322)解析手段131は、ステップS302で取得した情報種類識別子が削除指示を示す情報であるか否かを判断する。削除指示である場合はステップS323に行き、削除指示でない場合はステップS326に行く。
(ステップS323)削除部19は、ステップS301で受信された情報の中からイベント識別子を取得する。
(ステップS324)削除部19は、ステップS323で取得されたイベント識別子に対応するイベントグループ情報を、イベントグループ情報格納部12から削除する。なお、かかる処理をイベント削除の処理とも言う。
(ステップS325)送信部15は、1以上の送信先識別子で識別される送信先に、イベント削除の処理結果を送信する。ステップS301に戻る。なお、イベント削除の処理結果とは、イベントグループ情報が削除された旨等である。なお、かかる場合、通常、送信先決定部14は、イベント削除の処理結果を送信する先の1以上の送信先識別子を取得しており、送信部15は、かかる1以上の送信先識別子で識別される送信先にイベント削除の処理結果を送信する。また、かかる1以上の送信先識別子は、削除されるイベントグループ情報に対応するイベントの参加者の送信先識別子である。
(ステップS326)解析手段131は、ステップS302で取得した情報種類識別子がアルバム作成指示であるか否かを判断する。アルバム作成指示である場合はステップS327に行き、アルバム作成指示でない場合はステップS330に行く。
(ステップS327)処理部20は、ステップS301で受信された情報の中から1または2以上のイベント識別子を取得する。
(ステップS328)処理部20は、ステップS327で取得した1または2以上のイベント識別子に対応する1以上の写真をイベントグループ情報格納部12から取得し、アルバムを構成する。なお、処理部20は、2以上のイベント識別子に対応する2以上の写真をイベントグループ情報格納部12から取得し、アルバムを構成しても良い。なお、アルバムは1以上の写真を有し、そのデータ構造は問わない。
(ステップS329)送信部15は、1以上の送信先識別子で識別される送信先に、アルバム作成の処理結果を送信する。ステップS301に戻る。なお、アルバム作成の処理結果とは、アルバムが作成された旨、アルバムにアクセスするためのURL、アルバム自体等である。なお、かかる場合、通常、送信先決定部14は、アルバム作成の処理結果を送信する先の1以上の送信先識別子を取得しており、送信部15は、かかる1以上の送信先識別子で識別される送信先にアルバム作成の処理結果を送信する。また、かかる1以上の送信先識別子は、ステップS327で取得されたイベント識別子に対応するイベントの参加者の送信先識別子である。
(ステップS330)生成部16は、イベントグループの生成タイミングであるか否かを判断する。イベントグループの生成タイミングである場合はステップS331に行き、イベントグループの生成タイミングでない場合はステップS339に行く。イベントグループの生成タイミングは、例えば、受信部13がイベント開催情報を受信した場合、イベントの参加募集期間が終了した場合、受信部13がユーザからのイベントグループの生成指示を受信した場合等である。
(ステップS331)生成部16は、カウンタiに1を代入する。
(ステップS332)生成部16は、i番目のイベント識別子であり、イベントグループ情報が生成されていないイベントのイベント識別子が存在するか否かを判断する。イベント識別子が存在すればステップS333に行き、存在しなければステップS301に戻る。イベントグループ情報が生成されていないイベントのイベント識別子は、例えば、対話関連情報格納部11に存在するイベント識別子であり、イベントグループ情報格納部12に存在しないイベント識別子である。
(ステップS333)生成部16は、i番目のイベント識別子に対応するイベントについて、イベントグループ情報の生成条件に合致するか否かを判断する。生成条件に合致する場合はステップS334に行き、生成条件に合致しない場合はステップS338に行く。なお、イベントグループ情報の生成条件は、例えば、イベントへの参加の募集の終了、受信部13がイベント開催情報を受信したこと等である。
(ステップS334)生成部16は、i番目のイベント識別子に対応するイベントのイベントグループ情報を蓄積するための領域を、イベントグループ情報格納部12に確保する。なお、領域の確保とは、例えば、イベントグループ情報を管理するイベントグループ情報管理表のレコードを生成すること、イベントグループ情報を格納する領域のアロックすること等である。
(ステップS335)生成部16は、i番目のイベント識別子に対応するイベントの参加者を識別する第一識別子、および1以上の第二識別子を取得する。なお、ここでの第一識別子は、受信部13がイベント開催情報と対で受信した第一識別子である。また、ここでの第二識別子は、受信部13が参加情報と対で受信した1以上の第二識別子である。なお、かかる第一識別子および1以上の第二識別子は、例えば、イベント識別子に対応付けて対話関連情報格納部11に格納されている。
(ステップS336)生成部16は、i番目のイベント識別子、ステップS335で取得した第一識別子、および1以上の第二識別子を有するイベントグループ情報を構成する。かかる段階で、イベントグループ情報は、イベント種類識別子やイベント内容情報等の他の情報を有しても良い。
(ステップS337)蓄積部17は、ステップS336で構成されたイベントグループ情報をイベントグループ情報格納部12に蓄積する。
(ステップS338)生成部16は、カウンタiを1、インクリメントする。ステップS332に戻る。
(ステップS339)処理部20は、統計処理のタイミングであるか否かを判断する。統計処理のタイミングである場合はステップS340に行き、統計処理のタイミングでない場合はステップS301に戻る。
(ステップS340)処理部20は、カウンタiに1を代入する。
(ステップS341)処理部20は、i番目の未処理のユーザ情報がユーザ情報格納部10に存在するか否かを判断する。i番目の未処理のユーザ情報が存在すればステップS342に行き、未処理のユーザ情報が存在しなければステップS301に戻る。
(ステップS342)処理部20は、i番目の未処理のユーザ情報に対応する統計処理を行い、統計処理の結果を蓄積する。統計処理の結果の蓄積先は、例えば、ユーザ情報格納部10である。処理部20は、例えば、i番目の未処理のユーザ情報が有するユーザ識別子と対になる参加情報、不参加情報を対話関連情報格納部11から取得する。そして、処理部20は、i番目の未処理のユーザ識別子で識別されるユーザのイベントへの参加率を更新する。なお、例えば、イベントの参加率は、ユーザ情報格納部10が有するユーザ情報の中に存在し得る、とする。ここで、参加情報、不参加情報と対応付けて、イベント種類情報が存在する場合、処理部20は、ユーザ毎、イベント種類情報毎に、イベントの参加率を算出しても良い。
(ステップS343)処理部20は、カウンタiを1、インクリメントする。ステップS332に戻る。
なお、図3、図4のフローチャートにおいて、受信部13が受信したイベント開催情報が参加数制限情報を含む場合、処理部20は、当該参加数制限情報が示す参加数の上限に、参加者が届いたことを検知し、イベントへの参加募集の終了を決定する。そして、蓄積部17は、処理部20がイベントへの参加募集の終了を決定した後は、参加情報を蓄積しない。なお、処理部20がイベントへの参加募集の終了を決定した後は、受信部13が参加情報を受信しないこととしても良い。また、処理部20がイベントへの参加募集の終了を決定した後は、第二端末装置3において、参加情報を入力または送信できないようにしても良い。
また、図3、図4のフローチャートにおいて、受信部13がイベントグループ生成指示を受信した場合、処理部20または生成部16は、新しいイベント識別子を生成し、既存のイベントグループ情報が有する2以上の参加者識別子を含む新たなイベントグループ情報を生成する。なお、既存のイベントグループ情報は、イベントグループ生成指示が有するイベント識別子と対になるイベントグループ情報である。
また、図3、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS304のイベント開催処理について、図5のフローチャートを用いて説明する。
(ステップS501)生成部16は、ユニークなイベント識別子を生成する。例えば、生成部16は、現在日時を取得し、当該現在日時を用いて、ユニークなイベント識別子を生成する。また、生成部16は、最も大きな数値のイベント識別子に、1を加えて、ユニークなイベント識別子を生成しても良い。なお、生成部16のイベント識別子の生成アルゴリズムは問わない。
(ステップS502)生成部16は、ステップS501で生成したイベント識別子、受信されたイベント開催情報、受信された第一識別子を用いて、対話関連情報を構成する。
(ステップS503)蓄積部17は、ステップS502で構成した対話関連情報を対話関連情報格納部11に蓄積する。
(ステップS504)送信先決定部14は、1以上の送信先識別子を取得する。送信先識別子取得処理について、図6のフローチャートを用いて、説明する。
(ステップS505)送信部15は、ステップS504で取得された1以上の送信先識別子が示す1以上の送信先に、受信されたイベント開催情報を送信する。
なお、図5のフローチャートにおいて、送信先決定部14は、受信部13が受信した情報が有する1以上の送信先識別子を取得しても良い。また、送信先決定部14は、受信部13が受信した情報が有するイベント識別子に対応する幹事の送信先識別子等を取得しても良い。
次に、ステップS504の送信先識別子取得処理について、図6のフローチャートを用いて、説明する。
(ステップS601)送信先決定部14は、幹事の位置情報を取得する。なお、幹事とは、イベント開催情報を送信してきた者である。送信先決定部14は、イベント開催情報と対に受信された第一識別子をバッファに格納しており、当該第一識別子と対に受信された位置情報を取得する。
(ステップS602)送信先決定部14は、カウンタiに1を代入する。
(ステップS603)送信先決定部14は、ユーザ情報格納部10にi番目の送信先識別子の候補(送信先候補とも言う。)が存在するか否かを判断する。i番目の送信先候補が存在すればステップS604に行き、存在しなければ上位処理にリターンする。なお、送信先候補は、第一識別子と対応付けて、ユーザ情報格納部10で管理されている、とする。また、送信先候補は、幹事が送信してきた情報であり、1以上の第二識別子であっても良い。また、送信先候補は、幹事の第一識別子と対応付けて管理されている1以上の第二識別子であっても良い。さらに、送信先候補は、受信部13が受信したイベント種類識別情報および第一識別子と対になる1以上の第二識別子等であっても良い。
(ステップS604)送信先決定部14は、i番目の送信先候補の位置情報を取得する。なお、送信先候補の位置情報は、動的な現在の位置情報でも良いし、送信先候補の、静的な住所や居所等でも良い。送信先候補の位置情報が動的な現在の位置情報である場合、通常、受信部13は、第二端末装置3から第二識別子と位置情報を、定期的または頻度高く受信している。
(ステップS605)送信先決定部14は、ステップS601で取得した位置情報と、ステップS604で取得した位置情報とが、予め決められた条件を満たすか否かを判断する。予め決められた条件を満たす場合はステップS606に行き、予め決められた条件を満たさない場合はステップS607に行く。なお、予め決められた条件は、閾値以内の距離であること、同一の都道府県内の位置であること等である。
(ステップS606)送信先決定部14は、i番目の送信先識別子を取得し、図示しないバッファに追記する。
(ステップS607)送信先決定部14は、カウンタiを1、インクリメントする。ステップS603に戻る。
なお、図6のフローチャートにおいて、図示しないバッファに格納された1以上の送信先識別子が、情報を送付する送信先の識別子である。
次に、第一端末装置2の動作について説明する。第一受付部21は、第一端末装置2のユーザから各種の情報や指示等を受け付けた場合、第一送信部22は、当該情報や指示をサーバ装置1に送信する。なお、第一送信部22は、サーバ装置1と通信するための情報(サーバ装置1のIPアドレス、MACアドレス、メールアドレス等)を予め保持している、とする。また、第一受付部21が受け付けた指示や情報を第一処理部24が処理し、当該処理結果を第一送信部22がサーバ装置1に送信しても良い。
また、第一受信部23がサーバ装置1から情報を受信した場合、第一出力部25は、当該情報を出力する。なお、第一受信部23がサーバ装置1から情報を受信した場合、第一処理部24が当該情報を処理し、第一出力部25は当該処理結果を出力しても良い。
次に、第二端末装置3の動作について説明する。第二端末装置3の動作は、第一端末装置2の動作と同様である。なお、第一端末装置2と第二端末装置3とは、構成要素名は異なる。
以下、本実施の形態における情報システムの具体的な動作について説明する。情報システムの概念図は図1である。
今、サーバ装置1のユーザ情報格納部10は、図7に示す構造を有するユーザ情報管理表を保持している。ユーザ情報管理表は、「ID」「ユーザ情報」を有するレコードを1以上格納している。「ID」は、レコードを識別する情報である。「ユーザ情報」は「ユーザ識別子」「送信先識別子」「ユーザ静的属性」「ユーザ動的属性」「候補者グループ識別子」「参加者候補識別子」を有する。「ユーザ静的属性」は「名前」「性別」「年齢」「職業」「住所」等を有する。また、「ユーザ動的属性」は「位置情報」「参加回数」「不参加回数」等を有する。また、「候補者グループ識別子」は、イベント開催情報を送信するグループである候補者グループを識別する情報である。「候補者グループ識別子」は、NULL「−」であっても良い。「候補者グループ識別子」がNULL「−」である場合、対応するユーザが送信したイベント開催情報は、常に一のグループのメンバーに送信されることとなる。また、「参加者候補識別子」は、参加候補者として、イベント開催情報が送信されるべき者の識別子である。なお、図7において、ユーザ識別子「001」のユーザが、イベント種類「飲み」のイベントを開催するイベント開催情報を送信した場合、イベント種類識別子「飲み」と対になるユーザ識別子「002,003,・・・」のユーザに、イベント開催情報が送信される。
また、対話関連情報格納部11は、図8に示す構造の対話関連情報管理表を保持している。対話関連情報管理表は、「ID」「対話関連情報」を有するレコードを1以上格納している。「対話関連情報」は、「イベント識別子」「ユーザ識別子」「対話情報」「情報種類識別子」「日時」「曜日」「天気」「気温」を有する。「イベント識別子」はイベントの識別子である。「ユーザ識別子」は、対話情報を送信したユーザの識別子である。「対話情報」は対話情報であり、イベント開催情報、参加情報、不参加情報等であり、通常、イベント参加募集の期間中に行われた対話の情報である。「情報種類識別子」は対話情報の種類を識別する情報であり、ここでは、イベント開催情報「1」、参加情報「2」、不参加情報「3」、その他「4」があり得る。また、「日時」は、対話情報が受信された日時であり、サーバ装置1が図示しない時計から取得した日時である。また、「曜日」は、対話情報が受信された日の曜日であり、サーバ装置1が図示しない時計から取得した日の曜日である。また、「天気」は、対話情報が受信された日時の、送信された位置情報で示される位置の天気であり、外部のサーバ装置から取得された情報である。さらに、「気温」は、対話情報が受信された日時の、送信された位置情報で示される位置の気温であり、外部のサーバ装置から取得された情報である。
また、イベントグループ情報格納部12は、図9に示す構造のイベントグループ情報管理表を保持している。イベントグループ情報管理表は、「ID」「イベントグループ情報」を有するレコードを1以上格納している。「イベントグループ情報」は「イベント識別子」「幹事識別子」「参加者識別子」「イベント種類識別子」「イベント内容情報」「イベント関連情報」を有する。「イベント識別子」は、イベントを識別する情報であり、ここでは、生成部16が生成したユニークな情報である。「幹事識別子」は、イベントの幹事を識別する情報であり、イベント開催情報を送信したユーザの識別子(上述した第一識別子)である。「参加者識別子」は、イベントに参加表明をしたユーザの識別子であり、参加情報を送信したユーザの識別子(上述した第二識別子)である。「イベント種類識別子」は、イベントの種類を識別する識別子であり、例えば、「飲み会(例えば、値が「1」)」「フットサル(例えば、値が「2」)」「ゴルフ(例えば、値が「3」)」「カラオケ(例えば、値が「4」)」「釣り(例えば、値が「5」)」等である。
かかる状況において、以下の5つの具体例について説明する。
(具体例1)
具体例1において、幹事であるユーザ識別子「001」のユーザが、飲み会のイベントの開催を提案し、イベントグループ情報が生成される場合である。
まず、ユーザ識別子「001」のユーザが、図10に示すような、第一端末装置2の画面に、イベント開催情報「今から飲みにいける人いない?」を入力した、とする(図10の1001参照)。また、本ユーザは、図10の1002に示す画像も入力した、とする。次に、本ユーザは、イベント開催情報と画像の送信指示を、第一端末装置2に入力した、とする。なお、送信指示の入力は、画面上の「送信」ボタンの押下である。
次に、第一端末装置2の第一受付部21は、ユーザ識別子「001」のユーザから、1001のイベント開催情報、および1002の画像を受け付ける。また、第一受付部21は、送信指示を受け付ける。次に、第一送信部22は、第一端末装置2に格納されているユーザ識別子「001」を読み出す。なお、ユーザ識別子「001」は第一識別子である。次に、第一送信部22は、第一受付部21が受け付けたイベント開催情報(1001)と画像(1002)と第一識別子「001」とを、サーバ装置1に送信する。
次に、サーバ装置1の受信部13は、イベント開催情報(1001)と画像(1002)と第一識別子「001」とを受信する。なお、ここで、受信部13は、候補者グループ識別子をも受信しても良い。かかる場合、幹事のユーザは、候補者グループ識別子(例えば、「飲み」)を選択し、第一送信部22は、かかる候補者グループ識別子を送信した、とする。また、ここで、受信部13は、1以上の送信識別子、または1以上の第二識別子を受信しても良い。かかる場合、幹事のユーザは、1以上の送信識別子等を入力した、とする。
次に、解析手段131は、受信された情報が予め決められた指示ではなく、かつイベント識別子を有さないので、イベント開催情報を受信したと判断し、イベント開催情報を示す情報種類識別子「1」を取得する。
次に、生成部16等は、イベント開催処理を行う。つまり、生成部16は、ユニークなイベント識別子「A001」を生成する。
次に、生成部16は、イベント開催情報が受信された日時「12月5日 19:30」、曜日「水」、天気「晴」、気温「8℃」を取得する。そして、生成部16は、生成したイベント識別子「A001」、受信されたイベント開催情報「今から飲みにいける人いない?」、受信された第一識別子「001」、日時「12月5日 19:30」、曜日「水」、天気「晴」、気温「8℃」を用いて、対話関連情報を構成する。
次に、蓄積部17は、構成した対話関連情報を図8の対話関連情報管理表に蓄積する。なお、ここで蓄積された対話関連情報は、図8の「ID=1」のレコードである。
次に、解析手段131は、イベント開催情報「今から飲みにいける人いない?」を解析し、候補者グループ識別子「飲み」を取得する。なお、ここでは、解析手段131は、候補者グループ識別子に対応付けて、1以上の用語を格納しており、イベント開催情報から取得される用語が含まれる1以上の用語と対応付いている候補者グループ識別子を取得する、とする。なお、受信部13が候補者グループ識別子を受信している場合、解析手段131は上記の処理を行わない。
次に、送信先決定部14は、ユーザ識別子「001」、および取得された候補者グループ識別子「飲み」と対になる参加者候補識別子「002,003,・・・・」を取得する。次に、送信先決定部14は、参加者候補識別子「002,003,・・・・」に対応する送信先識別子「080−5432−1234,090−9876−5432,・・・・」を取得する。
また、送信部15は、ユーザ識別子「001」と対になるユーザ属性値(例えば、名前「関山」)を取得する。
次に、送信部15は、取得された各送信先識別子「080−5432−1234,090−9876−5432,・・・・」が示す複数の送信先に、受信されたイベント開催情報「今から飲みにいける人いない?」と名前「関山」とイベント識別子「A001」とを送信する。
次に、第二端末装置3の第二受信部33は、サーバ装置1からイベント開催情報「今から飲みにいける人いない?」と名前「関山」とイベント識別子「A001」とを受信する。そして、第二出力部35は、イベント開催情報「今から飲みにいける人いない?」と名前「関山」等を出力する。
次に、ユーザ識別子「008」で識別されるユーザ(名前「鳴島」)が、自分の第二端末装置3に出力されたイベント開催情報「今から飲みにいける人いない?」と名前「関山」等を見て、「20:00ぐらいなら行けますよ〜!」と画像(後述する図11の1102)とを入力し、「送信」ボタンを押下した、とする。
次に、ユーザ識別子「008」で識別されるユーザの第二端末装置3の第二受付部31は、文字列「20:00ぐらいなら行けますよ〜!」と画像(1102)と「送信」ボタンの押下とを受け付ける。
次に、第二送信部32は、ユーザ識別子「008」を読み出す。また、第二送信部32は、イベント識別子「A001」を取得する。そして、第二送信部32は、文字列「20:00ぐらいなら行けますよ〜!」と画像(1102)とユーザ識別子「008」とイベント識別子「A001」とをサーバ装置1に送信する。
次に、サーバ装置1の受信部13は、文字列「20:00ぐらいなら行けますよ〜!」と画像(1102)とユーザ識別子「008」とイベント識別子「A001」とを受信する。
次に、解析手段131は、イベント識別子「A001」を有すること、および受信された情報「20:00ぐらいなら行けますよ〜!」が用語「行けます」を有することから、情報種類識別子「参加情報」を取得する。なお、解析手段131は、情報種類識別子「参加情報」と対応付けて、用語「行けます,行く,行きます,参加,参加します,・・・・」を保持している、とする。また、情報種類識別子「不参加情報(値は「2」)」と対応付けて、用語「行けません,行かない,参加できません,不参加,参加しない,・・・・」を保持している、とする。
次に、蓄積部17は、受信された情報の中からイベント識別子「A001」とユーザ識別子「008」とを取得する。また、蓄積部17は、情報が受信された日時「12月5日 19:35」、曜日「水」、天気「晴」、気温「8℃」を取得する。
次に、蓄積部17は、取得したイベント識別子「A001」に対応付けて、ユーザ識別子「008」、参加情報「20:00ぐらいなら行けますよ〜!」、日時「12月5日 19:35」、曜日「水」、天気「晴」、気温「8℃」等を対話関連情報管理表に蓄積する。なお、かかる参加情報は、図8の対話関連情報管理表の「ID=2」のレコードである。
また、ここで、蓄積部17は、イベント識別子「A001」に対応付けて、ユーザ識別子「008」を参加者識別子として、図9のイベントグループ管理表に蓄積しても良い(図9の「ID=1」のレコード参照)。
次に、送信先決定部14は、参加情報を送信する先の1以上の送信先識別子を取得する。なお、ここで、送信先決定部14は、幹事であるユーザ識別子「001」の送信先識別子のみを取得しても良いし、幹事であるユーザ識別子「001」の送信先識別子とすべての参加者候補識別子「002,003,・・・・」に対応する送信先識別子「080−5432−1234,090−9876−5432,・・・・」を取得しても良い。なお、ここでは、送信先決定部14は、幹事であるユーザ識別子「001」の送信先識別子のみを取得した、とする。
次に、送信部15は、ユーザ識別子「008」で識別されるユーザの名前「鳴島」、およびイベント識別子「A001」を、図7のユーザ情報管理表から取得する。そして、送信部15は、決定した幹事の送信先識別子「090−1234−5678」で識別される送信先に、参加情報「20:00ぐらいなら行けますよ〜!」と画像(1102)とユーザの名前「鳴島」とイベント識別子「A001」等を送信する。
次に、第一端末装置2の第一受信部23がサーバ装置1から参加情報「20:00ぐらいなら行けますよ〜!」と画像(1102)とユーザの名前「鳴島」とイベント識別子「A001」等を受信する。
次に、第一出力部25は、参加情報「20:00ぐらいなら行けますよ〜!」(図11の1101)とユーザの名前「鳴島」と画像(1102)を出力する(図11参照)。
次に、例えば、第一端末装置2のユーザ(ユーザ識別子「001」のユーザ)が、文字列「じゃ、三宮のいつものお店に20:15集合。他の人も参加ヨロシク!」を入力した、とする。また、ユーザ識別子「001」のユーザは、「送信」ボタンを押下した、とする。
次に、第一端末装置2の第一受付部21は、文字列「じゃ、三宮のいつものお店に20:15集合。他の人も参加ヨロシク!」と送信指示を受け付ける。次に、第一送信部22は、イベント識別子「A001」、ユーザ識別子「001」を取得する。そして、第一送信部22は、文字列「じゃ、三宮のいつものお店に20:15集合。他の人も参加ヨロシク!」、イベント識別子「A001」、ユーザ識別子「001」をサーバ装置1に送信する。
次に、サーバ装置1の受信部13は、文字列「じゃ、三宮のいつものお店に20:15集合。他の人も参加ヨロシク!」、イベント識別子「A001」、ユーザ識別子「001」を受信する。
次に、解析手段131は、受信された情報が予め決められた指示ではなく、かつイベント識別子「A001」を有し、参加情報でも不参加情報でもない、と判断する。そして、解析手段131は、情報種類識別子「4」(その他の情報)を取得する。
次に、蓄積部17は、受信された情報の中からイベント識別子「A001」とユーザ識別子「001」とを取得する。また、蓄積部17は、情報が受信された日時「12月5日 19:40」、曜日「水」、天気「晴」、気温「7℃」を取得する。
次に、蓄積部17は、取得したイベント識別子「A001」に対応付けて、ユーザ識別子「001」、対話情報「じゃ、三宮のいつものお店に20:15集合。他の人も参加ヨロシク!」、日時「12月5日 19:40」、曜日「水」、天気「晴」、気温「7℃」等を対話関連情報管理表に蓄積する。なお、かかる参加情報は、図8の対話関連情報管理表の「ID=3」のレコードである。
次に、送信先決定部14は、参加情報を送信する先の1以上の送信先識別子を取得する。なお、ここで、幹事であるユーザ識別子「001」の送信先識別子とすべての参加者候補識別子「002,003,・・・・」に対応する送信先識別子「080−5432−1234,090−9876−5432,・・・・」を取得することが好適である。
次に、送信部15は、ユーザ識別子「001」で識別されるユーザの名前「関山」、およびイベント識別子「A001」を、図7のユーザ情報管理表から取得する。そして、送信部15は、決定した1以上の送信先識別子で識別される送信先に、対話情報「じゃ、三宮のいつものお店に20:15集合。他の人も参加ヨロシク!」とユーザの名前「関山」とイベント識別子「A001」等を送信する。
次に、例えば、第二端末装置3の第二受信部33がサーバ装置1から対話情報「じゃ、三宮のいつものお店に20:15集合。他の人も参加ヨロシク!」とユーザの名前「関山」とイベント識別子「A001」とユーザ識別子「008」の鳴島さんの参加が決定された旨等を受信する。
次に、第二出力部35は、対話情報「じゃ、三宮のいつものお店に20:15集合。他の人も参加ヨロシク!」(図12の1201)を出力する(図12参照)。
次に、ユーザ識別子「008」で識別されるユーザ(名前「鳴島」)が、イベントへの参加を決定するために、第二端末装置3の画面上の「Join」ボタン(図10の1003)を押下した、とする。
すると、第二端末装置3の第二受付部31は、イベントへの参加を示す参加情報を受け付ける。次に、第二送信部32は、イベント識別子「A001」、および第二識別子「008」を取得し、参加情報とイベント識別子「A001」と第二識別子「008」とを有する情報をサーバ装置1に送信する。
次に、サーバ装置1の受信部13は、参加情報とイベント識別子「A001」と第二識別子「008」とを受信する。
そして、蓄積部17は、イベント識別子「A001」とユーザ識別子「008」を取得する。そして、蓄積部17は、イベント識別子「A001」に対応するイベントグループ情報の属性「参加者識別子」に、ユーザ識別子「008」を追記する。
また、送信先決定部14は、参加情報を送信する先の1以上の送信先識別子を取得する。ここでは、例えば、送信先決定部14は、イベント識別子「A001」で識別されるイベントの参加候補者のすべての送信識別子を取得した、とする。
次に、送信部15は、決定した1以上の送信先識別子で識別される送信先に、参加情報の処理結果を送信する。ここで、参加情報の処理結果は、ユーザ識別子「008」のユーザ(名前「鳴島」)が、イベントへの参加することが決まった旨である。
次に、例えば、第一端末装置2の第一受信部23は、参加情報の処理結果を受信する。そして、第一出力部25は、参加情報の処理結果を出力する。この参加情報の処理結果は、例えば、図12の1202である。なお、ここで、参加情報の処理結果を受信した第二端末装置3も第一端末装置2と同様の動作を行う。
次に、イベント識別子「A001」のイベントの第一の参加者は、例えば、図12の画面を端末装置に出力している際に、撮影した写真「写真1.jpg」をサーバ装置1に送信した、とする。そして、サーバ装置1の受信部13は、写真「写真1.jpg」とイベント識別子「A001」とを受信する。そして、蓄積部17は、受信された情報の中からイベント識別子「A001」を取得する。次に、蓄積部17は、取得したイベント識別子「A001」に対応付けて、写真「写真1.jpg」のファイル名をイベントグループ情報格納部12に蓄積する。また、蓄積部17は、写真「写真1.jpg」の実体をイベントグループ情報格納部12に蓄積する。なお、写真「写真1.jpg」は、イベント関連情報の一種である。
また、第二の参加者は、例えば、撮影した写真「写真2.jpg」とイベント識別子「A001」とをサーバ装置1に送信した、とする。そして、サーバ装置1の受信部13は、写真「写真2.jpg」とイベント識別子「A001」とを受信する。そして、蓄積部17は、受信された情報の中からイベント識別子「A001」を取得する。次に、蓄積部17は、取得したイベント識別子「A001」に対応付けて、写真「写真2.jpg」のファイル名をイベントグループ情報格納部12に蓄積する。また、蓄積部17は、写真「写真2.jpg」の実体をイベントグループ情報格納部12に蓄積する。
さらに、第三の参加者は、例えば、イベントに対するコメント「楽しかったねえ。・・・」とイベント識別子「A001」とをサーバ装置1に送信した、とする。そして、サーバ装置1の受信部13は、コメント「楽しかったねえ。・・・」とイベント識別子「A001」とを受信する。そして、蓄積部17は、受信された情報の中からイベント識別子「A001」を取得する。次に、蓄積部17は、取得したイベント識別子「A001」に対応付けて、コメント「楽しかったねえ。・・・」のファイル名「コメント1.txt」をイベントグループ情報格納部12に蓄積する。また、蓄積部17は、ファイル「コメント1.txt」の実体(コメント「楽しかったねえ。・・・」)をイベントグループ情報格納部12に蓄積する。なお、コメント「コメント1.txt」は、イベント関連情報の一種である。
以上の処理により、図9の「ID=1」の属性「イベント関連情報」に、「写真1.jpg」「写真2.jpg」「コメント1.txt」が蓄積される。なお、イベントグループ情報格納部12は、別途、ファイル「写真1.jpg」「写真2.jpg」「コメント1.txt」の実体を保持することとなる。
なお、具体例1において、第二端末装置3のユーザが参加を示す旨のフラグを入力し(「Join」ボタンを押下し)、第二端末装置3からサーバ装置1に参加情報が送信されても良いし、解析手段131が受信された情報を解析することにより、参加情報であることを決定しても良い。
(具体例2)
具体例2において、第一端末装置2の幹事が参加者候補を選択する場合について説明する。また、具体例2において、イベント開催情報が参加数制限情報を有する場合について説明する。
ここで、第一端末装置2の図示しない第一格納部には、図13に示すような1以上の参加候補者の情報を有する、いわゆる連絡帳が格納されている、とする。連絡帳には、1以上の参加候補者情報が格納されている、とする。参加候補者情報は、ここでは、第二識別子(ユーザ識別子)、送信先識別子、ユーザの写真、名前、Join率、1以上のグループ属性を有する。グループ属性とは、参加候補者情報をグループ分けするための情報であり、図13では、「飲み」「女友だち」「フットサル」「ゴルフ」「会社」である。一の参加候補者情報が複数のグループ属性を有しても良い。
なお、Join率とは、お誘いを受けた場合に参加情報を送信した率(つまり、イベントへの参加率)である。Join率は、サーバ装置1の処理部20が取得した情報である。処理部20は、受信部13が受信した情報、またはイベントグループ情報格納部12の情報を統計処理し、各ユーザのJoin率を算出する。処理部20は、例えば、各イベント毎に、イベント開催情報が送信された第二識別子を一時格納しておく。また、各イベント毎に、参加情報を受信したユーザの第二識別子を一時格納しておく。そして、処理部20は、各ユーザについて、「Join率=(参加情報を受信した回数×100)/イベント開催情報が送信された回数」を算出する。次に、例えば、処理部20は、各ユーザのJoin率をユーザ情報格納部10に蓄積する。また、ユーザ情報格納部10に格納されているjoin率は、予め決められたタイミング、または端末装置からの指示等に応じて、端末装置に送信されることは好適である。
今、ユーザ識別子「008」のユーザが、第一端末装置2に対して、「仕事が終わってからカラオケ行きたいな・・・」を入力した、とする。また、本ユーザが、図13に示す連絡帳を第一格納部から呼び出し、第一端末装置2に表示させた、とする。次に、本ユーザが、図13に示す連絡帳から10名の参加候補者を選択した、とする。また、本ユーザが、「5」の参加数制限情報を入力した、とする。そして、本ユーザが、「送信」ボタンを押下した、とする。
次に、第一端末装置2の第一受付部21は、文字列「仕事が終わってからカラオケ行きたいな・・・」、10名の参加候補者の情報、参加数制限情報「5」、および送信指示を受け付ける。参加候補者の情報は、連絡帳に格納されている情報であり、例えば、参加候補者の第二識別子である。
次に、第一送信部22は、第一端末装置2のユーザ識別子である第一識別子「008」を、第一端末装置2から読み出す。また、第一端末装置2は、図示しない位置情報取得手段(例えば、GPS受信機)により、現在の位置情報を取得する。そして、第一送信部22は、文字列「仕事が終わってからカラオケ行きたいな・・・」、10名の参加候補者の情報、参加数制限情報「5」、第一識別子「008」、および位置情報をサーバ装置1に送信する。
次に、サーバ装置1の受信部13は、文字列「仕事が終わってからカラオケ行きたいな・・・」、10名の参加候補者の情報、参加数制限情報「5」、第一識別子「008」、および位置情報を受信する。そして、解析手段131は、受信された情報がイベント識別子を有さないことから、情報種類識別子「1」を取得する。なお、情報種類識別子「1」は、イベント開催情報を示す。
次に、生成部16等は、以下のようなイベント開催処理を行う。つまり、生成部16は、ユニークなイベント識別子「A002」を生成する。次に、生成部16は、生成したイベント識別子「A002」、受信されたイベント開催情報「仕事が終わってからカラオケ行きたいな・・・」、受信された第一識別子「008」、情報種類識別子「1」、日時「12月6日 13:00」、曜日「木」、天気「曇り」、気温「9℃」を用いて、対話関連情報を構成する。なお、日時「12月6日 13:00」、曜日「木」、天気「曇り」、気温「9℃」は、図示しない時計、外部の装置から取得された、とする。日時と曜日は、イベント開催情報が受信された日時と曜日である。天気と気温は、第一端末装置2の位置情報を用いて、外部の装置から取得された情報である。
次に、蓄積部17は、構成された対話関連情報を対話関連情報管理表に蓄積する。なお、蓄積された対話関連情報は、図8の「ID=25」のレコードである。
次に、送信先決定部14は、受信部13が受信した10の第一識別子に対応する送信先識別子を取得する。なお、例えば、送信先決定部14は、受信部13が受信した10の各第一識別子と対になる送信先識別子を、図7のユーザ情報管理表から取得する。
次に、送信部15は、取得された10の送信先識別子が示す1以上の送信先に、受信されたイベント開催情報「仕事が終わってからカラオケ行きたいな・・・」、イベント開催情報を送信したユーザの名前「鳴島」、イベント識別子「A002」等を送信する。
そして、第二端末装置3の第二受信部33は、イベント開催情報「仕事が終わってからカラオケ行きたいな・・・」、名前「鳴島」、イベント識別子「A002」等を受信する。そして、第二出力部35は、第二受信部33が受信したイベント開催情報「仕事が終わってからカラオケ行きたいな・・・」、名前「鳴島」を出力する。
以上により、10のユーザがイベント開催情報「仕事が終わってからカラオケ行きたいな・・・」、名前「鳴島」を見ることとなる。
そして、一の第二端末装置3のユーザが「Join」ボタン(図10の1003)を押下した、とする。すると、第二受付部31は、参加情報を受け付ける。そして、第二送信部32は、参加情報、イベント識別子「A002」、および第二識別子を用いて送信する情報を構成する。そして、第二送信部32は、参加情報を含む情報をサーバ装置1に送信する。
次に、サーバ装置1の受信部13は、参加情報を含む情報を受信する。次に、蓄積部17は、イベント識別子「A002」に対応付けて、参加情報(例えば、「行きましょう。」という文字列)を対話関連情報格納部11に蓄積する。また、蓄積部17は、参加情報を送信した第二識別子(ユーザ識別子)を、イベント識別子「A002」のイベントグループ情報に書き込む。ここで、図9のイベントグループ情報管理表の「ID=2」のレコードの属性「参加者識別子」に一の第二識別子が書き込まれる。なお、また、蓄積部17は、図示しないバッファに、イベント識別子「A002」に対応付けて、参加情報の数「1」を格納しても良い。
次に、送信先決定部14は、参加情報を送信する先の送信先識別子(ここでは幹事の送信先識別子)を取得する。次に、送信部15は、幹事の送信先識別子で識別される送信先に、参加情報の処理結果(例えば、一のユーザから参加情報の送信があった旨の情報)を送信する。
また、さらに4名の参加候補者から、参加情報を含む情報が、サーバ装置1に送信された、とする。そして、サーバ装置1等は、上述した処理を行い、図9のイベントグループ情報管理表の「ID=2」のレコードの属性「参加者識別子」の第二識別子の数が「5」になった、とする。なお、ここで、図示しないバッファの参加情報の数が「5」になっても良い。
次に、処理部20は、参加数制限情報「5」と、属性「参加者識別子」の第二識別子の数「5」とが等しいことを検知し、イベントへの参加募集の終了を決定する。
そして、蓄積部17は、イベント識別子「A002」のイベントグループ情報に対応付けて、イベントへの参加募集の終了のフラグを蓄積する。
そして、例えば、一のユーザが、自分が参加候補者となったイベントのイベント開催情報の取得指示を、自分の第二端末装置3に入力した、とする。すると、第二端末装置3を構成する第二受付部31は、イベント開催情報の取得指示を受け付ける。次に、第二送信部32は、第二識別子とイベント開催情報の取得指示とをサーバ装置1に送信する。
次に、サーバ装置1の受信部13は、第二識別子とイベント開催情報の取得指示とを受信する。そして、処理部20は、イベント開催情報の取得指示に応じて、受信された第二識別子が参加者識別子の中に含まれる1以上のイベント識別子、およびイベントへの参加募集の終了のフラグを対応付けて、イベントグループ情報管理表から取得する。そして、処理部20は、取得した1以上のイベント識別子に対応する対話情報であり、情報種類識別子「1」と対になる対話情報(イベント開催情報)を、図8の対話関連情報管理表から取得する。次に、送信部15は、処理部20が取得した情報を、取得指示を送信してきた第二端末装置3に送信する。
次に、第二端末装置3の第二受信部33は、1以上のイベント識別子、イベントへの参加募集の終了のフラグ、およびイベント開催情報を受信する。そして、第二出力部35は、第二受信部33が受信した情報を出力する。ここで、第二出力部35の出力例を図14に示す。なお、図14において、イベントへの参加募集の終了のフラグは、「Close」のアイコン(1401)に示されている。また、「+1」「+2」「+3」のアイコンは、第二端末装置3のユーザが読んでいない対話情報(参加情報や不参加情報等)やコメント等の数を示す。つまり、「+1」のアイコン(1402)は、第二端末装置3のユーザが読んでいない対話情報等の数が「1」であることを示す。なお、イベントへの参加募集が終了したイベントに関して、図15の1501に示すように、イベントのメッセージをグレイアウトして、イベントへの参加募集中のメッセージの表示とは異なる態様でメッセージを表示しても良い。
(具体例3)
具体例3において、第一端末装置2の幹事が居る位置情報を用いて、参加者候補を自動選択する場合について説明する。
今、サーバ装置1の受信部13は、多数の端末装置から、位置情報とユーザ識別子(第一識別子または第二識別子)とを受信している、とする。
そして、一のユーザが第一端末装置2にイベント開催情報「東京に来てるんだけど、誰か飲みに行かない?」を入力し、「送信」ボタンを押下した、とする。
次に、第一端末装置2の第一受付部21は、イベント開催情報を受け付ける。次に、第一送信部22は、予め格納されている第一識別子を読み出す。次に、第一端末装置2の図示しない位置情報取得手段は位置情報(x1,y1)を取得する。そして、第一送信部22は、イベント開催情報「東京に来てるんだけど、誰か飲みに行かない?」、第一識別子、および位置情報(x1,y1)をサーバ装置1に送信する。
次に、サーバ装置1の受信部13は、イベント開催情報「東京に来てるんだけど、誰か飲みに行かない?」、第一識別子、および位置情報(x1,y1)を受信する。
次に、解析手段131は、受信された情報を解析し、イベント識別子を有さないので、イベント開催情報(情報種類識別子が「1」)である、と判断する。
次に、生成部16は、ユニークなイベント識別子を生成する。また、生成部16は、生成したイベント識別子、受信されたイベント開催情報、受信された第一識別子等を用いて、対話関連情報を構成する。次に、蓄積部17は、構成した対話関連情報を対話関連情報管理表に蓄積する。
次に、送信先決定部14は、幹事の位置情報(x1,y1)を取得する。次に、送信先決定部14は、幹事の第一識別子と対になる1以上の参加候補者識別子を図7のユーザ情報管理表から取得する。そして、送信先決定部14は、取得した1以上の各参加候補者識別子と対になる位置情報であり、受信部13が受信した位置情報を取得する。そして、送信先決定部14は、幹事の位置情報(x1,y1)と予め決められた条件を満たすほど近い位置を示す位置情報と対になる1以上の参加候補者識別子を取得する。次に、送信先決定部14は、取得した1以上の各参加候補者識別子と対になる1以上の送信先識別子をユーザ情報管理表から取得する。
次に、送信部15は、取得された1以上の送信先識別子が示す1以上の送信先に、受信されたイベント開催情報「東京に来てるんだけど、誰か飲みに行かない?」等を送信する。
以後の処理は、具体例1等で説明した処理と同様である。
(具体例4)
具体例4において、イベントグループ情報が統合される場合について説明する。ここで、イベントグループ情報は、統合するイベント識別子を有する、とする。ここで、統合とは、複数のイベントグループ情報が有するイベント関連情報がシームレスに扱われることである、とする。シームレスに扱われることは、一緒に端末装置にダウンロードされること、同時に削除され得ること等である。
ここで、一のユーザが第一端末装置2に、イベント識別子「A001」とイベント識別子「A005」とを有するイベント統合指示を入力した、とする。すると、第一端末装置2の第一受付部21は、イベント識別子「A001」とイベント識別子「A005」とを有するイベント統合指示を受け付ける。次に、第一送信部22は、イベント識別子「A001」とイベント識別子「A005」とを有するイベント統合指示をサーバ装置1に送信する。
次に、サーバ装置1の受信部13は、イベント識別子「A001」とイベント識別子「A005」とを有するイベント統合指示を受信する。
次に、サーバ装置1のイベント統合部18は、受信されたイベント識別子「A001」「A005」を取得する。次に、イベント統合部18は、取得した2つのイベント識別子で識別されるイベントのイベントグループ情報を統合する。
つまり、例えば、ここで、イベントグループ情報は、属性「統合するイベント識別子」を有する、とする。また、イベント統合部18は、イベント識別子「A001」で識別されるイベントグループ情報の属性「統合するイベント識別子」に、イベント識別子「A005」を書き込む。また、イベント統合部18は、イベント識別子「A005」で識別されるイベントグループ情報の属性「統合するイベント識別子」に、イベント識別子「A001」を書き込む。
なお、例えば、イベント識別子「A001」で識別されるイベントのイベントグループ情報が有する「統合するイベント識別子」が「A005」である場合、イベント識別子「A001」で識別されるイベントのイベントグループ情報とイベント識別子「A005」で識別されるイベントのイベントグループ情報とは統合されていることを示す。つまり、イベント識別子「A001」と対になるイベント関連情報「写真1.jpg」「写真2.jpg」「コメント1.txt」「写真a.jpg」「写真b.jpg」は、一括して、端末装置にダウンロードされ得る。
かかる状況において、一のユーザが第一端末装置2に、イベント識別子「A001」を含むイベント関連情報の取得指示を入力し、サーバ装置1に送信された場合、サーバ装置1の受信部13は当該イベント関連情報の取得指示を受信する。そして、処理部20は、イベント識別子「A001」を用いて、統合するイベント識別子「A005」を取得する。そして、処理部20は、イベント識別子「A001」と「A005」と対になるイベント関連情報「写真1.jpg」「写真2.jpg」「コメント1.txt」「写真a.jpg」「写真b.jpg」を取得する。
次に、送信部15は、イベント関連情報の取得指示を送信した第一端末装置2に、イベント関連情報「写真1.jpg」「写真2.jpg」「コメント1.txt」「写真a.jpg」「写真b.jpg」を送信する。
次に、第一端末装置2はイベント関連情報「写真1.jpg」「写真2.jpg」「コメント1.txt」「写真a.jpg」「写真b.jpg」を受信し、出力する。
(具体例5)
具体例5において、イベントグループ情報からアルバムが生成される場合について説明する。
一のユーザが第一端末装置2に、イベント識別子「A001」を有するアルバム作成指示を入力した、とする。すると、第一端末装置2の第一受付部21は、イベント識別子「A001」を有するアルバム作成指示を受け付ける。次に、第一送信部22は、イベント識別子「A001」を有するアルバム作成指示をサーバ装置1に送信する。
次に、サーバ装置1の受信部13は、イベント識別子「A001」を有するアルバム作成指示を受信する。そして、処理部20は、受信された情報の中からイベント識別子「A001」を取得する。処理部20は、取得したイベント識別子「A001」に対応する写真「写真1.jpg」「写真2.jpg」をイベントグループ情報管理表から取得し、アルバムを構成する。なお、1以上の写真からアルバムを構成する技術は公知技術である。
次に、送信部15は、アルバム作成指示を送信した第一端末装置2に、構成したアルバムを送信する。そして、第一端末装置2は、アルバムを受信し、出力する。
以上、本実施の形態によれば、イベントの開催、イベント参加候補者間でのコミュニケーション、イベントに関する記録、思い出作り等を支援できる。
なお、第一端末装置2または第二端末装置3のユーザは、例えば、図16に示す画面を用いて、イベント開催情報や参加情報等を入力する。図16に示す画面において、1601は、文字列を入力する領域である。また、ユーザが図16の1602のボタンを押下した場合、例えば、図13の連絡帳が画面に表示され、ユーザは当該連絡帳から、参加候補者を選択する。また、ユーザが図16の1603のボタンを押下した場合、例えば、イベントの開始時刻を入力する画面に切り替わり、ユーザはイベントの開始時刻を入力できる。さらに、ユーザが図16の1604のボタンを押下した場合、例えば、地図が出力され、ユーザは当該地図上の一の位置を指示することにより、イベントが開催される場所を入力できる。
また、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるサーバ装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータがアクセス可能な記録媒体は、イベントへの参加を促す情報を送信する送信先を識別する送信先識別子を有する1以上のユーザ情報を格納し得るユーザ情報格納部と、1以上のイベント参加者を含むグループであり、イベントへの参加を呼びかけるユーザの第一端末装置を識別する第一識別子またはイベントへの参加者であるユーザの第二端末装置を識別する第二識別子で識別される1以上の参加者を含むグループであるイベントグループに関する情報である1以上のイベントグループ情報を格納し得るイベントグループ情報格納部とを具備し、コンピュータを、イベントの開催を示すイベント開催情報と第一識別子とを第一端末装置から受信し、かつイベントに参加する旨の情報を含む参加情報と第二識別子とを第二端末装置から受信する受信部と、前記受信部がイベント開催情報を受信した場合、当該イベント開催情報を、前記1以上の送信先識別子のうちの1以上の送信先識別子が示す送信先である参加候補者に送信し、前記受信部が参加情報を受信した場合、当該参加情報を、前記第一識別子で識別される第一端末装置に送信する送信部と、予め決められた条件を満たした場合、前記イベント開催情報を用いて、イベントグループ情報を生成する生成部と、前記生成部が生成したイベントグループ情報をイベントグループ情報格納部に蓄積する蓄積部として機能させるためのプログラムであって、予め決められた条件を満たした以降は、前記受信部は参加情報を受信しない、または前記送信部は前記受信部が受信した参加情報を送信しないものとして、コンピュータを機能させるためのプログラム。
また、上記プログラムにおいて、前記生成部は、前記イベントへの参加の募集を終了した場合に、前記イベント開催情報を用いて、イベントグループ情報を生成するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記イベントグループ情報は、イベントに関する情報であるイベント関連情報を含み、前記受信部は、前記生成部がイベントグループ情報を生成した後、前記イベント参加者の第一識別子または第二識別子で識別される第一端末装置または第二端末装置から、イベントを識別するイベント識別子とイベント関連情報とを受信し、前記蓄積部は、前記受信部が受信したイベント関連情報を、前記イベント識別子に対応するイベントグループ情報の中に蓄積するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記受信部は、前記イベント開催情報を送信した送信先識別子で識別される第一端末装置および前記参加情報を送信した前記第二識別子で識別される1以上の第二端末装置とからなるイベント参加者の端末装置のみから、イベント識別子とイベント関連情報とを受信するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記送信部は、前記受信部がイベント関連情報を受信した場合に、前記イベント参加者の端末装置にのみ、前記受信部が受信したイベント関連情報を送信するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記送信部が前記1以上の送信先識別子が示す送信先にイベント開催情報を送信したイベント参加募集開始時から、イベント参加募集終了時までのイベント参加募集期間において、前記受信部は、前記第一端末装置および前記第二端末装置から情報を受信し、前記送信部は、前記第一端末装置および前記第二端末装置から受信した情報を送信するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記送信部は、前記第二端末装置から受信した情報を、前記第一端末装置にのみ送信するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、予め決められた条件を満たした場合に、前記イベントへの参加募集の終了を決定する処理部をさらに具備し、前記蓄積部は、前記処理部が前記イベントへの参加募集の終了を決定した後は、参加情報を蓄積しないものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記イベント開催情報は、前記イベントへの参加数の制限に関する情報である参加数制限情報を有し、前記処理部は、前記受信部が受信した参加情報の数を用いて、参加数制限情報が示す前記イベントへの参加数の制限に到達したか否かを判断し、当該参加数の制限に到達したと判断した場合に、前記イベントへの参加募集の終了を決定するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記ユーザ情報は、送信先識別子とユーザの属性を示す1以上のユーザ属性値とを有し、前記受信部がイベント開催情報を受信した場合、前記1以上のユーザ属性値を用いて、イベント開催情報を送信する送信先の1以上の送信先識別子を取得する送信先決定部をさらに具備し、前記送信部は、前記送信先決定部が取得した1以上の送信先識別子が示す送信先に前記イベント開催情報を送信するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記ユーザ属性値は、位置情報であり、前記受信部は、第一端末装置から、当該第一端末装置の位置情報を受信し、前記送信先決定部は、前記第一端末装置の位置情報に対して、予め決められた条件を満たす位置情報に対応する1以上の送信先識別子を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記イベントグループ情報は、イベントを識別するイベント識別子を有する、またはイベント識別子と対応付いており、2以上のイベント識別子で識別されるイベントのイベントグループ情報を統合するイベント統合部をさらに具備するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記受信部は、イベント識別子を有するイベント開催情報と第一識別子とを受信し、前記生成部は、前記受信部が受信したイベント識別子で識別されるイベントの1以上の参加者を識別する第一識別子および1以上の第二識別子を有するイベントグループ情報を生成するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、予め決められた条件を満たした場合、前記生成部が生成したイベントグループ情報を削除する削除部をさらに具備するものとして、コンピュータを機能させるプログラムであることは好適である。
また、図17は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態のサーバ装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図17は、このコンピュータシステム300の概観図であり、図18は、システム300のブロック図である。
図17において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図18において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、MPU3013、CD−ROMドライブ3012に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態のサーバ装置の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態のサーバ装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。