以下、本発明による端末装置等の実施の形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。また、本実施の形態において説明する各情報の形式、内容などは、あくまで例示であり、各情報の持つ意味を示すことができれば、形式、内容などは問わない。
(実施の形態1)
本実施の形態において、2以上の端末装置11と、サーバ装置12とを備える情報システム1について説明する。
端末装置11は、メッセージを受け付ける。そして、端末装置11は、受け付けたメッセージに、端末装置11の現在の位置を示す位置情報を対応付けて、他の1以上の端末装置11に送信する。当該送信は、通常、間接的な送信である。当該間接的な送信とは、サーバ装置12を経由しての送信である。また、当該送信は、例えば、直接的な送信であってもよい。そして、メッセージを受信した端末装置11は、受信したメッセージを出力する。このとき、当該端末装置11は、例えば、受信したメッセージに対応付いている位置情報が示す地図上の位置に、当該メッセージが表示されるように、地図情報と共に、受信したメッセージを出力する。
また、サーバ装置12は、一の端末装置11から、位置情報が対応付いたメッセージを受信する。そして、サーバ装置12は、当該メッセージを、当該一の端末装置11とは異なる1以上の端末装置11に送信する。
図1は、本実施の形態における情報システム1の概念図である。図1において、2以上の各端末装置11と、サーバ装置12とは、通信手段13を介して通信が可能である。また、一の端末装置11は、他の端末装置11と、通信手段14を介して通信が可能である。端末装置11は、例えば、スマートフォン、携帯電話、PDA、タブレット型PCなどである。また、通信手段13、通信手段14は、通常、無線の通信回線である。当該無線の通信回線は、例えば、インターネット、イントラネット、LAN、公衆電話回線網などである。また、通信手段13と通信手段14とは、異なる通信手段であってもよいし、異なる通信手段であってもよい。
また、図2は、本実施の形態における端末装置11およびサーバ装置12のブロック図である。端末装置11は、格納部111、現在位置情報取得部112、受付部113、送信部114、受信部115、出力部116を備える。また、サーバ装置12は、サーバ格納部121、サーバ受信部122、サーバ取得部123、サーバ送信部124を備える。
格納部111には、地図情報が格納される。地図情報とは、地図に関する情報である。また、地図情報により示される地図の種類、地図情報のデータ形式などは、問わない。当該地図の種類は、例えば、地形図、地勢図、地質図、土地利用図、住宅地図、路線図、道路地図、ガイドマップ、航空写真、衛星写真などである。また、当該データ形式は、例えば、ラスタデータ、ベクタデータ、KIWIフォーマットなどである。
また、地図情報は、通常、1以上の道路情報を有する。道路情報とは、地図上の道路に関する情報である。当該地図上の道路は、通常、地図上の道路を構成する区間(以下、適宜、道路の区間とする)である。また、道路情報は、例えば、道路を識別する情報、道路の種類を示す情報、道路の両端の位置を示す情報などを有する。道路を識別する情報は、通常、道路の名称を示す情報である。また、道路を識別する情報は、例えば、道路のIDであってもよい。また、道路情報は、例えば、道路のスコア、道路の車線数、道路の進行方向などを示す情報などを有する。当該スコアは、通常、経路探索時に用いるコストである。
また、地図情報は、通常、1以上の地点情報を有する。地点情報とは、地図上の地点に関する情報である。地点情報は、例えば、地点の位置を示す情報を有する。また、地点情報は、例えば、地点を識別する情報、地点の種類を示す情報などを有していてもよい。地点を識別する情報は、通常、地点の名称を示す情報である。また、地点の種類は、問わない。地点の種類は、例えば、交差点、休憩地点、観光名所、駅、飲食店、各種販売店などである。休憩地点は、例えば、ガソリンスタンド、いわゆるコンビニなどである。また、地点は、例えば、道路の端点であってもよい。
また、上記の位置を示す情報を、以下、適宜、位置情報とする。位置情報が示す位置は、通常、経緯度である。また、当該位置は、例えば、地図上の座標であってもよい。また、当該位置は、例えば、高さ(高度)を含んでもよい。
また、格納部111には、例えば、1または2以上のユーザ識別情報が格納される。ユーザ識別情報とは、ユーザを識別する情報である。ユーザ識別情報は、例えば、IPアドレス、MACアドレス、個体識別番号などである。また、ユーザ識別情報は、例えば、いわゆるID、ユーザ名、メールアドレス、電話番号などであってもよい。なお、本実施の形態において、ユーザ識別情報は、端末装置11を識別する情報である。また、格納部111に格納されるユーザ識別情報は、通常、自身の端末装置11を識別する情報である。当該ユーザ識別情報を、以下、適宜、送信元識別情報とする。また、格納部111に格納されるユーザ識別情報は、例えば、自身とは異なる他の端末装置11を識別する情報であってもよい。当該ユーザ識別情報を、以下、適宜、送信先識別情報とする。
また、格納部111には、例えば、1または2以上のグループ管理情報が格納されてもよい。グループ管理情報とは、グループを管理するための情報である。また、グループ管理情報は、通常、グループを識別する情報(以下、適宜、グループ識別情報とする)と、2以上のユーザ識別情報とが対応付いた情報である。グループ識別情報は、例えば、グループの名称、いわゆるIDなどである。また、グループ管理情報は、例えば、2以上のユーザ識別情報を有する情報であってもよい。
現在位置情報取得部112は、現在位置情報を取得する。現在位置情報とは、現在の位置を示す位置情報である。また、当該現在の位置は、端末装置11の現在の位置である。また、現在位置情報取得部112は、通常、自動的に現在位置情報を取得する。また、現在位置情報を取得するタイミングは、問わない。現在位置情報取得部112は、例えば、定期的(予め決められた期間が経過するたび)に現在位置情報を取得する。また、現在位置情報取得部112は、例えば、ユーザからの指示があるたびに、現在位置情報を取得する。
現在位置情報取得部112は、通常、衛星航法システム(GPS受信機など)、移動体通信用の基地局から位置情報を受信する装置などから、現在位置情報を取得する。この場合、現在位置情報取得部112は、これらの装置を有していてもよいし、これらの装置で実現され得てもよい。また、現在位置情報取得部112の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。
受付部113は、メッセージを受け付ける。当該メッセージは、いわゆるメールなどでやり取りする文面である。つまり、当該メッセージは、文字(テキスト)である。また、受付部113が受け付けるメッセージには、通常、グループ識別情報が対応付いている。また、受付部113が受け付けるメッセージには、例えば、ユーザ識別情報が対応付いていてもよい。当該ユーザ識別情報は、送信先識別情報である。
また、受け付けとは、タッチパネル、キーボードなどの入力デバイスから入力された情報の取得、光ディスクや磁気ディスク、半導体メモリなどの記録媒体に格納されている情報の読み出し、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。
受付部113における情報や指示などの入力手段は、メニュー画面によるもの、キーボードなど、何でもよい。受付部113は、メニュー画面の制御ソフトウェア、キーボード等の入力手段のデバイスドライバなどで実現され得る。
送信部114は、受付部113が受け付けたメッセージを送信する。当該送信は、通常、サーバ装置12への送信である。また、当該送信は、例えば、他の端末装置11への送信であってもよい。また、送信部114は、送信元識別情報および現在位置情報を、当該メッセージに対応付けて、当該メッセージを送信する。当該送信元識別情報は、格納部111に格納されている送信元識別情報である。また、当該現在位置情報は、現在位置情報取得部112が取得した現在位置情報である。なお、送信部114が、サーバ装置12または他の端末装置11にメッセージを送信する方法や手順などは、例えば、以下のとおりである。
(1)例えば、受付部113が、グループ識別情報が対応付いたメッセージを受け付けた場合、送信部114は、現在位置情報取得部112に、現在位置情報を取得する旨を指示する。そして、送信部114は、当該指示により現在位置情報取得部112が取得した現在位置情報を取得する。そして、送信部114は、取得した現在位置情報と、送信元識別情報とを、メッセージに対応付ける。そして、送信部114は、グループ識別情報、現在位置情報、送信元識別情報が対応付いたメッセージを、サーバ装置12に送信する。
(2)例えば、受付部113が、グループ識別情報が対応付いたメッセージを受け付けた場合、送信部114は、格納部111に格納されているグループ管理情報から、メッセージに対応付いているグループ識別情報に対応する1以上の送信先識別情報を取得する。また、送信部114は、現在位置情報取得部112に、現在位置情報を取得する旨を指示する。そして、送信部114は、当該指示により現在位置情報取得部112が取得した現在位置情報を取得する。そして、送信部114は、メッセージに対応付いているグループ識別情報に代えて、取得した1以上の送信先識別情報と、取得した現在位置情報と、送信元識別情報とを、メッセージに対応付ける。そして、送信部114は、1以上の送信先識別情報、現在位置情報、送信元識別情報が対応付いたメッセージを、サーバ装置12に送信する。
(3)例えば、受付部113が、1以上の送信先識別情報が対応付いたメッセージを受け付けた場合、送信部114は、現在位置情報取得部112に、現在位置情報を取得する旨を指示する。そして、送信部114は、当該指示により現在位置情報取得部112が取得した現在位置情報を取得する。そして、送信部114は、取得した現在位置情報と、送信元識別情報とを、メッセージに対応付ける。そして、送信部114は、1以上の送信先識別情報、現在位置情報、送信元識別情報が対応付いたメッセージを、サーバ装置12に送信する。
(4)例えば、受付部113が、グループ識別情報が対応付いたメッセージを受け付けた場合、送信部114は、格納部111に格納されているグループ管理情報から、メッセージに対応付いているグループ識別情報に対応する1以上の送信先識別情報を取得する。また、送信部114は、現在位置情報取得部112に、現在位置情報を取得する旨を指示する。そして、送信部114は、当該指示により現在位置情報取得部112が取得した現在位置情報を取得する。そして、送信部114は、メッセージに対応付いているグループ識別情報に代えて、取得した現在位置情報と、送信元識別情報とを、メッセージに対応付ける。そして、送信部114は、現在位置情報、送信元識別情報が対応付いたメッセージを、取得した1以上の各送信先識別情報により識別される端末装置11に送信する。
(5)例えば、受付部113が、1以上の送信先識別情報が対応付いたメッセージを受け付けた場合、送信部114は、現在位置情報取得部112に、現在位置情報を取得する旨を指示する。そして、送信部114は、当該指示により現在位置情報取得部112が取得した現在位置情報を取得する。そして、送信部114は、メッセージに対応付いている1以上の送信先識別情報に代えて、取得した現在位置情報と、送信元識別情報とを、メッセージに対応付ける。そして、送信部114は、現在位置情報、送信元識別情報が対応付いたメッセージを、メッセージに対応付いていた1以上の各送信先識別情報により識別される端末装置11に送信する。
なお、上記において、「メッセージに対応付いているグループ識別情報に対応する1以上の送信先識別情報」とは、当該グループ識別情報に対応する2以上のユーザ識別情報のうち、格納部111に格納されている送信元識別情報とは異なる1以上のユーザ識別情報である。また、当該1以上の送信先識別情報は、例えば、当該グループ識別情報に対応する2以上のユーザ識別情報のうち、格納部111に格納されている送信元識別情報以外の1以上のユーザ識別情報であるとも言える。
受信部115は、メッセージを受信する。当該受信は、通常、サーバ装置12からの受信である。また、当該受信は、例えば、他の端末装置11からの受信であってもよい。また、当該他の端末装置11からの受信は、例えば、同一のグループに属する1または2以上のメンバーからの受信であるとも言える。また、受信部115が受信したメッセージには、位置情報が対応付いている。当該位置情報は、送信先の端末装置11において取得された現在位置情報である。また、受信部115が受信したメッセージには、例えば、送信元識別情報が対応付いていてもよい。また、受信部115が受信したメッセージを、以下、適宜、受信メッセージとする。
また、受信メッセージは、例えば、予め決められた記憶領域に蓄積されてもよい。当該予め決められた記憶領域は、例えば、格納部111であってもよい。また、当該蓄積は、例えば、図示しない蓄積部が行ってもよい。
出力部116は、受信メッセージに対応する情報を出力する。「受信メッセージに対応する情報」とは、受信メッセージおよび受信メッセージに対応するアイコンのいずれか一方または両方である。つまり、出力部116は、例えば、受信メッセージを出力する。また、出力部116は、例えば、受信メッセージに対応するアイコンを出力する。
また、アイコンは、図柄、絵柄、記号、文字などを表現したものである。アイコンは、通常、いわゆる画像であるが、当該画像の形式は問わない。つまり、当該画像は、ラスタデータであってもよいし、ベクタデータであってもよいし、その他のデータであってもよい。また、アイコンは、アイコンの属性を示す1以上の属性情報を有していてもよい。当該属性は、例えば、色、大きさ、形状などである。また、アイコンは、アイコンを識別するアイコン識別子を有していてもよい。
また、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。なお、送信や蓄積、処理結果の引渡しについては、出力対象が最終的にユーザに提示されるものとする。
なお、出力部116が受信メッセージなどを出力する方法や手順などは、例えば、以下のとおりである。
(1)出力部116は、例えば、受信部115が受信した一の受信メッセージに対応付いている位置情報が示す地図上の位置に、当該受信メッセージが表示されるように、地図情報および当該受信メッセージを出力する。当該地図情報は、格納部111に格納されている地図情報である。また、このとき、出力部116は、例えば、受信メッセージに代えて、アイコンを出力してもよい。当該アイコンは、例えば、受信メッセージに対応付いている位置情報が示す地図上の位置を指し示すアイコンである。また、当該アイコンは、例えば、出力部116が予め保持している。また、当該アイコンは、例えば、格納部111に格納されていてもよい。また、この場合、出力部116は、例えば、ユーザにより出力しているアイコンが選択された場合に、当該アイコンに対応する受信メッセージを出力する。
(2)出力部116は、例えば、受信部115が受信した2以上の各受信メッセージに対応付いている位置情報が示す地図上の位置に、当該2以上の各受信メッセージが表示されるように、地図情報および当該2以上の受信メッセージを出力する。このとき、出力部116は、例えば、当該地図上の2以上の位置のすべてが、出力領域に含まれるように、当該地図情報および当該2以上の受信メッセージを出力する。当該地図情報の出力は、例えば、当該2以上の位置のすべてが出力領域に含まれる縮尺の地図を示す地図情報を出力することである。また、当該地図情報の出力は、例えば、縮尺の小さい地図を示す地図情報を出力することである。また、当該地図情報の出力は、例えば、出力している地図情報が示す地図の縮尺を、当該縮尺よりも小さい縮尺に変更することである。また、当該縮尺の変更は、例えば、地図の縮尺の自動的な変更である。また、出力部116は、例えば、当該地図上の2以上の位置の一部が、出力領域に含まれるように、当該地図情報および当該2以上の受信メッセージを出力する。当該地図情報の出力は、例えば、当該2以上の位置の一部が出力領域に含まれる縮尺の地図を示す地図情報を出力することである。また、当該地図情報の出力は、例えば、縮尺の大きい地図を示す地図情報を出力することである。また、当該地図情報の出力は、例えば、出力している地図情報が示す地図の縮尺を、当該縮尺よりも大きい縮尺に変更することである。また、当該縮尺の変更は、例えば、地図の縮尺の自動的な変更である。また、出力部116は、例えば、受信メッセージに代えて、アイコンを出力してもよい。この場合、出力部116は、例えば、ユーザにより出力しているアイコンが選択された場合に、当該アイコンに対応する受信メッセージを出力する。
(3)出力部116は、例えば、受信部115が受信した1または2以上の受信メッセージを出力する。当該出力の態様は、問わない。出力部116は、例えば、当該1または2以上の受信メッセージを、一覧にて出力する。そして、出力部116は、例えば、ユーザにより出力している受信メッセージが選択された場合に、当該受信メッセージに対応付いている位置情報が示す地図上の位置に、当該受信メッセージに対応するアイコンが表示されるように、地図情報および当該アイコンを出力する。
また、出力部116は、ディスプレイやスピーカーなどの出力デバイスを含むと考えてもよいし、含まないと考えてもよい。出力部116は、出力デバイスのドライバソフトまたは、出力デバイスのドライバソフトと出力デバイスなどで実現され得る。
サーバ格納部121には、1または2以上のグループ管理情報が格納される。
サーバ受信部122は、端末装置11から、メッセージを受信する。当該メッセージには、例えば、グループ識別情報、1以上の送信先識別情報、位置情報、送信元識別情報などが対応付いている。当該位置情報は、メッセージを送信してきた端末装置11において取得された現在位置情報である。
サーバ取得部123は、サーバ格納部121に格納されているグループ管理情報から、サーバ受信部122が受信したメッセージに対応付いているグループ識別情報に対応する1以上の送信先識別情報を取得する。当該「メッセージに対応付いているグループ識別情報に対応する1以上の送信先識別情報」とは、当該グループ識別情報に対応する2以上のユーザ識別情報のうち、サーバ受信部122が受信したメッセージに対応付いている送信元識別情報とは異なる1以上のユーザ識別情報である。また、当該1以上の送信先識別情報は、例えば、当該グループ識別情報に対応する2以上のユーザ識別情報のうち、サーバ受信部122が受信したメッセージに対応付いている送信元識別情報以外の1以上のユーザ識別情報であるとも言える。
また、サーバ取得部123は、通常、MPUやメモリ等から実現され得る。また、サーバ取得部123などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。なお、サーバ取得部123などは、ハードウェア(専用回路)で実現されてもよい。
サーバ送信部124は、サーバ受信部122が受信したメッセージを、端末装置11に送信する。例えば、サーバ取得部123が1以上の送信元識別情報を取得した場合、サーバ送信部124は、当該1以上の各送信元識別情報により識別される端末装置11に、当該メッセージを送信する。また、例えば、サーバ受信部122が受信したメッセージに、1以上の送信先識別情報が対応付いている場合、サーバ送信部124は、当該1以上の各送信元識別情報により識別される端末装置11に、当該メッセージを送信する。
また、サーバ送信部124は、通常、サーバ受信部122が受信したメッセージに対応付いている情報のうち、位置情報を対応付けて、当該メッセージを送信する。また、サーバ送信部124は、例えば、サーバ受信部122が受信したメッセージに対応付いている情報のうち、位置情報と送信元識別情報とを対応付けて、当該メッセージを送信する。
なお、格納部111、サーバ格納部121は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。また、格納部111、サーバ格納部121に所定の情報が記憶される過程は、問わない。例えば、当該所定の情報は、記録媒体、通信回線、入力デバイスなどを介して格納部111、サーバ格納部121に記憶されてもよい。
また、送信部114、サーバ送信部124は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されてもよい。
また、受信部115、サーバ受信部122は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されてもよい。
次に、情報システム1の全体動作について、フローチャートを用いて説明する。なお、所定の情報におけるi番目の情報は、「情報[i]」と記載するものとする。まず、端末装置11の全体動作について、図3のフローチャートを用いて説明する。
(ステップS301)端末装置11は、受付部113が電源ONの指示を受け付けたか否かを判断する。受け付けた場合は、ステップS302に進み、そうでない場合は、ステップS301に戻る。
(ステップS302)端末装置11は、電源ONの処理を行う。
(ステップS303)送信部114は、受付部113が、メッセージを受け付けたか否かを判断する。当該メッセージには、グループ識別情報、または、1または2以上の送信先識別情報が対応付いている。そして、受け付けた場合は、ステップS304に進み、そうでない場合は、ステップS313に進む。
(ステップS304)送信部114は、現在位置情報取得部112に、現在位置情報を取得する旨を指示する。そして、送信部114は、当該指示に応じて現在位置情報取得部112が取得した現在位置情報を取得する。
(ステップS305)送信部114は、ステップS303で受け付けたメッセージに、ステップS304で取得した現在位置情報を対応付ける。
(ステップS306)送信部114は、ステップS303で受け付けたメッセージに、格納部111に格納されている送信元識別情報を対応付ける。
(ステップS307)送信部114は、メッセージの送信先が、サーバ装置12、他の端末装置11のいずれであるかを判断する。当該判断は、例えば、送信先がサーバ装置12であるか他の端末装置11であるかを示す情報が予め決められた記憶領域に格納されており、当該判断を用いて行う。そして、サーバ装置12である場合は、ステップS308に進み、他の端末装置11である場合は、ステップS310に進む。
(ステップS308)送信部114は、ステップS303で受け付けたメッセージを、当該メッセージに対応付いている情報と共に、サーバ装置12に送信する。
(ステップS309)送信部114は、ステップS303で受け付けたメッセージに、グループ識別情報が対応付いているか否かを判断する。対応付いている場合は、ステップS310に進み、そうでない場合は、ステップS311に進む。
(ステップS310)送信部114は、ステップS303で受け付けたメッセージに対応付いているグループ識別情報に対応する1または2以上の送信先識別情報を、格納部111に格納されているグループ管理情報から取得する。この処理の詳細は、図4のフローチャートを用いて説明する。
(ステップS311)送信部114は、ステップS303で受け付けたメッセージを、端末装置11に送信する。例えば、ステップS309において、グループ識別情報が対応付いていると判断した場合、送信部114は、ステップS303で受け付けたメッセージを、当該メッセージに対応付いている情報のうち、グループ識別情報以外の情報と共に、ステップS310で取得した1または2以上の各送信先識別情報により識別される1または2以上の各端末装置11に送信する。また、例えば、ステップS309において、グループ識別情報が対応付いていないと判断した場合、送信部114は、ステップS303で受け付けたメッセージを、当該メッセージに対応付いている情報のうち、送信先識別情報以外の情報と共に、当該メッセージに対応付いている1または2以上の各送信先識別情報により識別される1または2以上の各端末装置11に送信する。
(ステップS312)出力部116は、受信部115がメッセージを受信したか否かを判断する。受信した場合は、ステップS313に進み、そうでない場合は、ステップS314に進む。
(ステップS313)出力部116は、ステップS312で受信したメッセージに対応付いている位置情報が示す地図上の位置に、当該メッセージが表示されるように、地図情報と共に、当該メッセージを出力する。このとき、出力部116は、例えば、当該メッセージに代えて、アイコンを出力してもよい。
(ステップS314)端末装置11は、受付部113が電源OFFの指示を受け付けたか否かを判断する。受け付けた場合は、ステップS315に進み、そうでない場合は、ステップS303に戻る。
(ステップS315)端末装置11は、電源OFFの処理を行う。そして、ステップS301に戻る。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
図4は、図3のフローチャートのステップS310の送信先識別情報の取得処理を示すフローチャートである。なお、図4のフローチャートにおいて、格納部111には、m個のグループ管理情報が格納されているものとする。また、一のグループ管理情報においては、一のグループ識別情報と、2以上のユーザ識別情報(以下、適宜、ユーザ識別情報群とする)とが対応付いているものとする。
(ステップS401)送信部114は、カウンタiに1をセットする。
(ステップS402)送信部114は、グループ管理情報[i]が有するグループ識別情報であるグループ識別情報[i]が、受付部113が受け付けたメッセージに対応付いているグループ識別情報である送信先グループ識別情報と同一であるか否かを判断する。同一である場合は、ステップS403に進み、そうでない場合は、ステップS404に進む。
(ステップS403)送信部114は、グループ管理情報[i]が有するユーザ識別情報群であるユーザ識別情報群[i]を取得する。
(ステップS404)送信部114は、iがmであるか否かを判断する。mである場合は、ステップS406に進み、そうでない場合は、ステップS405に進む。
(ステップS405)送信部114は、iを1インクリメントする。そして、ステップS402に戻る。
(ステップS406)送信部114は、カウンタiに1をセットする。ここで、送信部114は、ステップS403において、n個のユーザ識別情報から構成されるユーザ識別情報群を取得したものとする。
(ステップS407)送信部114は、取得したユーザ識別情報群が有するユーザ識別情報[i]が、受付部113が受け付けたメッセージに対応付いている送信元識別情報と同一であるか否かを判断する。同一である場合は、ステップS409に進み、そうでない場合は、ステップS408に進む。
(ステップS408)送信部114は、取得したユーザ識別情報群が有するユーザ識別情報[i]を取得する。当該ユーザ識別情報[i]は、送信先識別情報である。
(ステップS409)送信部114は、iがnであるか否かを判断する。nである場合は、上位処理にリターンし、そうでない場合は、ステップS410に進む。
(ステップS410)送信部114は、iを1インクリメントする。そして、ステップS407に戻る。
次に、サーバ装置12の全体動作について、図5のフローチャートを用いて説明する。
(ステップS501)サーバ送信部124は、サーバ受信部122がメッセージを受信したか否かを判断する。当該メッセージには、位置情報と、送信元識別情報とが対応付いている。また、当該メッセージには、グループ識別情報、または、1または2以上の送信先識別情報も対応付いている。そして、受信した場合は、ステップS502に進み、そうでない場合は、ステップS501に戻る。
(ステップS502)サーバ送信部124は、ステップS501で受信したメッセージに、グループ識別情報が対応付いているか否かを判断する。対応付いている場合は、ステップS503に進み、そうでない場合は、ステップS504に進む。
(ステップS503)サーバ取得部123は、ステップS501で受信したメッセージに対応付いているグループ識別情報に対応する1または2以上の送信先識別情報を、サーバ格納部121に格納されているグループ管理情報から取得する。この処理の詳細は、図4のフローチャートと同様であるので、説明を省略する。
(ステップS504)サーバ送信部124は、ステップS501で受信したメッセージを、端末装置11に送信する。例えば、ステップS502において、グループ識別情報が対応付いていると判断した場合、サーバ送信部124は、ステップS501で受信したメッセージを、当該メッセージに対応付いている情報のうち、グループ識別情報以外の情報と共に、ステップS503で取得した1または2以上の各送信先識別情報により識別される1または2以上の各端末装置11に送信する。また、例えば、ステップS502において、グループ識別情報が対応付いていないと判断した場合、サーバ送信部124は、ステップS501で受信したメッセージを、当該メッセージに対応付いている情報のうち、送信先識別情報以外の情報と共に、当該メッセージに対応付いている1または2以上の各送信先識別情報により識別される1または2以上の各端末装置11に送信する。そして、ステップS501に戻る。
なお、図5のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
なお、上記で説明した情報システム1の全体動作は、あくまで一例である。つまり、情報システム1の全体動作は、上記の説明に限定されるものではない。
(具体例)
次に、情報システム1の動作の具体例について説明する。なお、本具体例において、端末装置11は、スマートフォン(以下、適宜、スマホとする)であるものとする。また、サーバ装置12は、メッセージの送受信を行うサーバ装置(以下、適宜、サーバとする)であるものとする。
(例1)
本例において、一の端末装置11が、サーバ装置12を介して、他の1以上の端末装置11にメッセージを送信する例などについて説明する。なお、本例において、サーバ格納部121には、図6に示すグループ管理情報が格納されているものとする。当該グループ管理情報は、レコードを一意に特定するためのIDと、グループ識別情報(項目名:グループ)と、2以上のユーザ識別情報(項目名:IPアドレス1、IPアドレス2、・・・、IPアドレスn)とを有する。当該ユーザ識別情報は、端末装置11を識別するIPアドレスである。
まず、ユーザAが、スマホAを所持しているとする。当該スマホAの格納部111には、図7に示すグループ管理情報が格納されている。図7のグループ管理情報の構成は、図6のグループ管理情報の構成と同様であるので、説明を省略する。また、図7のグループ管理情報は、図6のグループ管理情報の一部である。言い換えると、図6のグループ管理情報は、図7のグループ管理情報を含む2以上のグループ管理情報から構成される。また、スマホAの格納部111には、スマホAを識別するユーザ識別情報であるIPアドレス「202.22.18.111」が格納されているものとする。当該IPアドレスは、送信元識別情報である。
次に、ユーザAが、スマホAに対し、図7の「ID=011」のグループ管理情報により特定されるグループに属するメンバーに、メッセージを送信するための操作を行ったとする。当該操作は、例えば、グループの一覧からのグループの選択、および、当該選択の結果、表示される入力フィールドのメッセージの入力などである。すると、受付部113は、グループ識別情報「G11」が対応付いたメッセージを受け付ける。
次に、現在位置情報取得部112は、現在位置情報を取得する。そして、送信部114は、受付部113が受け付けたメッセージに、当該現在位置情報と、格納部111に格納されている送信元識別情報であるIPアドレス「202.22.18.111」を対応付ける。そして、送信部114は、受付部113が受け付けたメッセージであり、グループ識別情報、現在位置情報、送信元識別情報が対応付いたメッセージを、サーバに送信する。
次に、サーバのサーバ受信部122は、グループ識別情報、位置情報、送信元識別情報が対応付いたメッセージを、スマホAから受信する。そして、サーバ取得部123は、当該グループ識別情報「G11」に対応するユーザ識別情報であり、当該送信元識別情報であるIPアドレス「202.22.18.111」以外のユーザ識別情報を、送信先識別情報として、図6のグループ管理情報から取得する。この結果、サーバ取得部123は、図6の「ID=011」の「IPアドレス2」から「IPアドレスn」までの1以上のIPアドレスを、送信先識別情報として取得する。
次に、サーバ送信部124は、サーバ取得部123が取得した1以上の各IPアドレスにより識別されるスマホに、サーバ受信部122が受信したメッセージを送信する。このとき、サーバ送信部124は、当該メッセージに対応付いていたグループ識別情報、現在位置情報、送信元識別情報を対応付けたままで、当該メッセージを送信する。ここで、サーバ取得部123が取得した1以上の各IPアドレスにより識別される1以上のスマホのうちの一のスマホを、スマホBとする。
次に、スマホBの受信部115は、グループ識別情報、位置情報、送信元識別情報が対応付いたメッセージを、サーバから受信する。そして、出力部116は、当該メッセージに対応付いている位置情報が示す地図上の位置に、当該メッセージが表示されるように、地図情報と共に、当該メッセージを出力する。当該出力の例は、図8である。
(例2)
本例において、一の端末装置11が、受信した2以上の各メッセージに対応付いている位置情報が示す地図上の位置に、アイコンが表示されるように、地図情報とアイコンとを出力する例などについて説明する。なお、当該端末装置11の格納部111には、図7のグループ管理情報が格納されているものとする。
まず、スマホ(受信部115)が、サーバから、グループ識別情報、位置情報、送信元識別情報が対応付いたメッセージを受信したとする。ここで、スマホの蓄積部(図示せず)は、当該メッセージを、例えば、格納部111に蓄積するものとする。すると、蓄積部は、現在の日時を示す日時情報を取得する。日時情報とは、日時を示す情報である。そして、蓄積部は、当該日時情報を、受信部115が受信したメッセージに対応付ける。そして、蓄積部は、当該メッセージを、当該メッセージに対応付いているグループ識別情報、位置情報、送信元識別情報、日時情報と共に、格納部111に蓄積する。当該蓄積により格納部111に蓄積されたメッセージは、例えば、図9である。図9において、メッセージには、レコードを一意に特定するためのIDと、グループ識別情報(項目名:グループ)と、位置情報(項目名:位置)と、送信元識別情報であるIPアドレス(項目名:送信元)と、日時情報(項目名:日時)とが対応付いている。
ここで、受信部115が、図9の「ID=025」のメッセージを受信し、蓄積部が、当該メッセージを蓄積した直後であるものとする。また、格納部111には、スマホを識別するユーザ識別情報であるIPアドレス「202.22.18.111」が格納されているものとする。当該IPアドレスは、送信元識別情報である。
次に、取得部(図示せず)は、図9の「ID=025」のメッセージに対応付いているグループ識別情報「G41」を取得する。そして、取得部は、当該グループ識別情報「G41」に対応するユーザ識別情報であり、当該送信元識別情報であるIPアドレス「202.22.18.111」以外のユーザ識別情報を、送信先識別情報として、図7のグループ管理情報から取得する。この結果、取得部は、図7の「ID=014」の「IPアドレス2」のIPアドレスを含む1以上のIPアドレスを取得する。ここで、取得部は、7個のIPアドレスを取得したものとする。
次に、取得部は、取得した7個の各IPアドレスに対して、当該IPアドレスと、グループ識別情報「G41」とが対応付いた位置情報を、図9の情報から取得する。このとき、取得部は、例えば、メッセージと共に、位置情報を取得する。また、取得部は、同一のIPアドレスとグループ識別情報が対応付いている位置情報のうち、対応付いている日時情報が示す日時により最新であることが示される一の位置情報を取得する。つまり、例えば、IPアドレス「202.24.18.114」とグループ識別情報「G01」とが対応付いている位置情報が2つ存在する場合、取得部は、当該2つの位置情報のうち、対応付いている日時情報が示す日時により最新であることが示される一の位置情報を取得する。ここで、取得部は、7個の位置情報を、当該7個の各位置情報に対応付いているメッセージと共に取得したものとする。
次に、出力部116は、取得部が取得した7個の各位置情報が示す地図上の位置に、アイコンが表示されるように、地図情報とアイコンとを出力する。当該出力の例は、図10である。このとき、出力部116は、例えば、アイコンを、メッセージを対応付けて出力する。そして、例えば、受付部113が、出力しているアイコンのうちのいずれか1つの選択を受け付けた場合、出力部116は、当該選択されたアイコンに対応するメッセージが、当該アイコンが表示されている位置に表示されるように、当該メッセージを出力する。
以上、本実施の形態による情報システム1によれば、受信したメッセージの送信相手の位置を、地図上に表示することができる。また、本実施の形態による情報システム1によれば、同一のグループに属するユーザの位置を、受信したメッセージに対応付いている位置情報に基づき、地図上に表示することができる。これにより、ユーザは、例えば、メッセージの送信相手に、自身の現在位置を容易に知らせることができる。
なお、本実施の形態において、情報システム1は、サーバ装置12を備えていなくてもよい。この場合、情報システム1は、2以上の端末装置11を備える。また、送信部114は、受付部113が受け付けたメッセージを、他の端末装置11に送信する。また、受信部115は、他の端末装置11から、メッセージを受信する。
また、本実施の形態において、出力部116は、上記具体例でも説明したように、受信部115が受信したメッセージ以外に、当該メッセージを送信した端末装置11(ユーザ)と同一のグループに属する端末装置11(ユーザ)の位置が、地図上に表示されるように、地図情報と共に、メッセージまたはアイコンを出力してもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されてもよいことは言うまでもない。
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
また、上記各実施の形態における端末装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、地図に関する情報である地図情報が格納される格納部にアクセス可能なコンピュータを、位置を示す情報が対応付いたメッセージを受信する受信部、前記受信部が受信したメッセージに対応付いている位置情報が示す地図上の位置に、当該メッセージに対応する情報が表示されるように、前記地図情報および当該メッセージに対応する情報を出力する出力部として機能させるためのプログラムである。
また、上記各実施の形態におけるサーバ装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、一の端末装置から、位置情報が対応付いたメッセージを受信するサーバ受信部、サーバ受信部が受信したメッセージを、前記一の端末装置とは異なる他の端末装置に送信するサーバ送信部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。
また、上記プログラムは、サーバなどからダウンロードされることによって実行されてもよいし、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、上記プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。つまり、集中処理を行ってもよいし、あるいは分散処理を行ってもよい。
また、図11は、前述のプログラムを実行して、前述の実施の形態の端末装置等を実現するコンピュータシステム9の概観図である。前述の実施の形態は、コンピュータハードウェア、およびその上で実行されるコンピュータプログラムで実現され得る。
図11において、コンピュータシステム9は、CD−ROMドライブ9011を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図12は、コンピュータシステム9のブロック図である。図12において、コンピュータ901は、CD−ROMドライブ9011に加えて、MPU9012と、ブートアッププログラム等のプログラムを記憶するためのROM9013と、MPU9012に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM9014と、アプリケーションプログラム、システムプログラム、およびデータを記憶するためのハードディスク9015と、CD−ROMドライブ9011、MPU9012等を相互に接続するバス9016とを備える。ここでは図示しないが、コンピュータ901は、さらに、LANへの接続を提供するネットワークカードを備えていてもよい。
コンピュータシステム9に、前述の実施の形態の端末装置等の機能を実行させるプログラムは、CD−ROM9101に記憶されて、CD−ROMドライブ9011に挿入され、さらにハードディスク9015に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク9015に記憶されてもよい。プログラムは実行の際にRAM9014にロードされる。プログラムは、CD−ROM9101またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、前述の実施の形態の端末装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいればよい。コンピュータシステム9がどのように動作するかは周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。