(57)【要約】【課題】グループ内のユーザ間でメッセージを送受信する際の利便性を向上させることができるサーバ装置を提供する。【解決手段】サーバ装置は、複数のユーザと当該複数のユーザが属するグループとを対応付けて管理する管理部と、グループに属する複数のユーザのそれぞれの端末装置から送信されたメッセージを受信する受信部と、受信部が受信したメッセージを、当該メッセージを送信したユーザが属するグループに属する他のユーザの端末装置に送信する送信部と、第１グループ及び第１グループとは異なる第２グループのそれぞれに属するユーザと対応付けた第３グループを生成して管理部に管理させるグループ生成部と、を備える。【選択図】図３
2014115946.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザと当該複数のユーザが属するグループとを対応付けて管理する管理部と、
グループに属する複数のユーザのそれぞれの端末装置から送信されたメッセージを受信する受信部と、
前記受信部が受信したメッセージを、当該メッセージを送信したユーザが属するグループに属する他のユーザの端末装置に送信する送信部と、
第１グループ及び前記第１グループとは異なる第２グループのそれぞれに属するユーザと対応付けた第３グループを生成して前記管理部に管理させるグループ生成部と、
を備えることを特徴とするサーバ装置。
【請求項２】
前記グループ生成部は、
前記端末装置からの要求に応じて、前記第３グループを生成する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記グループ生成部は、
前記第１グループに属するユーザと、前記第２グループに属するユーザとを区別して対応付けた前記第３グループを生成し、
前記送信部は、
前記第３グループに対応付けられた前記第１グループのユーザと前記第２グループのユーザとを識別する情報を端末装置へ送信する
ことを特徴とする請求項１または２に記載のサーバ装置。
【請求項４】
前記グループ生成部は、
前記第１グループに属するユーザと、前記第２グループに属するユーザとを区別して対応付けた前記第３グループを生成し、
前記送信部は、
前記受信部が受信したメッセージを、当該メッセージを送信したユーザが属するグループが前記第１グループである場合には前記第２グループに属するユーザの端末装置に対して送信する処理を禁止し、当該メッセージを送信したユーザが属するグループが前記第２グループである場合には前記第１グループに属するユーザの端末装置に送信する処理を禁止し、当該メッセージを送信したユーザが属するグループが前記第１グループと前記第２グループとの両方である場合には前記第１グループに属するユーザ及び前記第２グループに属するユーザのうち当該メッセージを送信したユーザを除くユーザの端末装置に送信する処理を禁止しない
ことを特徴とする請求項１から３のいずれか一項に記載のサーバ装置。
【請求項５】
複数のユーザと当該複数のユーザが属するグループとを対応付けて管理する管理部と、グループに属する複数のユーザのそれぞれの端末装置から送信されたメッセージを受信する受信部と、前記受信部が受信したメッセージを、当該メッセージを送信したユーザが属するグループに属する他のユーザの端末装置に送信する送信部と、第１グループ及び前記第１グループとは異なる第２グループのそれぞれに属するユーザと対応付けた第３グループを生成して前記管理部に管理させるグループ生成部と、を備えるサーバ装置と、
前記サーバ装置を介して送受信するメッセージを表示部に表示する端末装置と、
を備えることを特徴とするメッセージ共有システム。
【請求項６】
サーバ装置の制御方法であって、
複数のユーザと当該複数のユーザが属するグループとを対応付けて管理する手順と、
グループに属する複数のユーザそれぞれの端末装置から送信されたメッセージを受信する手順と、
受信したメッセージを、当該メッセージを送信したユーザが属するグループに属する他のユーザの端末装置に送信する手順と、
第１グループ及び前記第１グループとは異なる第２グループのそれぞれに属するユーザと対応付けた第３グループを生成して管理させる手順と、
を備えることを特徴とする制御方法。
【請求項７】
コンピュータに、
複数のユーザと当該複数のユーザが属するグループとを対応付けて管理させるステップと、
グループに属する複数のユーザそれぞれの端末装置から送信されたメッセージを受信させるステップと、
受信したメッセージを、当該メッセージを送信したユーザが属するグループに属する他のユーザの端末装置に送信させるステップと、
第１グループ及び前記第１グループとは異なる第２グループのそれぞれに属するユーザと対応付けた第３グループを生成して管理させるステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置、メッセージ共有システム、制御方法、およびプログラムに関する。
【背景技術】
【０００２】
電子メールやチャット等において入力されたメッセージを、複数のユーザ端末がインターネット等のネットワークを介して送受信して表示するアプリケーションが提供されている。（チャットアプリケーションとして、例えば、特許文献１参照）。例えば、チャットアプリケーションにおいては、複数のチャット相手とグループをつくり、グループ内のユーザ間でメッセージを送受信するグループチャットを行うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４７８２８２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、グループ内のユーザ間でメッセージを送受信するには、例えば、グループをつくりたいユーザがグループを作成し、グループに参加するユーザをその作成したグループに登録する。しかしながら、予め所定の関係（例えば友達関係）になっているユーザをグループに登録することができたとしても、所定の関係になっていないユーザを任意にグループに登録することができない場合があった。
【０００５】
本発明は、このような状況に鑑みてなされたもので、グループ内のユーザ間でメッセージを送受信する際の利便性を向上させることができるサーバ装置、メッセージ共有システム、制御方法、およびプログラムを提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明の一態様は、複数のユーザと当該複数のユーザが属するグループとを対応付けて管理する管理部（２４２）と、グループに属する複数のユーザのそれぞれの端末装置（１００）から送信されたメッセージを受信する受信部（２５１）と、前記受信部が受信したメッセージを、当該メッセージを送信したユーザが属するグループに属する他のユーザの端末装置に送信する送信部（２５２）と、第１グループ及び前記第１グループとは異なる第２グループのそれぞれに属するユーザと対応付けた第３グループを生成して前記管理部に管理させるグループ生成部（２５３）と、を備えることを特徴とするサーバ装置（２００）である。
【０００７】
また、本発明の一態様は、上記のサーバ装置において、前記グループ生成部が、前記端末装置からの要求に応じて、前記第３グループを生成することを特徴とする。
【０００８】
また、本発明の一態様は、上記のサーバ装置において、前記グループ生成部が、前記第１グループに属するユーザと、前記第２グループに属するユーザとを区別して対応付けた前記第３グループを生成し、前記送信部が、前記第３グループに対応付けられた前記第１グループのユーザと前記第２グループのユーザとを識別する情報を端末装置へ送信することを特徴とする。
【０００９】
また、本発明の一態様は、上記のサーバ装置において、前記グループ生成部が、前記第１グループに属するユーザと、前記第２グループに属するユーザとを区別して対応付けた前記第３グループを生成し、前記送信部が、前記受信部が受信したメッセージを、当該メッセージを送信したユーザが属するグループが前記第１グループである場合には前記第２グループに属するユーザの端末装置に対して送信する処理を禁止し、当該メッセージを送信したユーザが属するグループが前記第２グループである場合には前記第１グループに属するユーザの端末装置に送信する処理を禁止し、当該メッセージを送信したユーザが属するグループが前記第１グループと前記第２グループとの両方である場合には前記第１グループに属するユーザ及び前記第２グループに属するユーザのうち当該メッセージを送信したユーザを除くユーザの端末装置に送信する処理を禁止しないことを特徴とする。
【００１０】
また、本発明の一態様は、複数のユーザと当該複数のユーザが属するグループとを対応付けて管理する管理部と、グループに属する複数のユーザのそれぞれの端末装置から送信されたメッセージを受信する受信部と、前記受信部が受信したメッセージを、当該メッセージを送信したユーザが属するグループに属する他のユーザの端末装置に送信する送信部と、第１グループ及び前記第１グループとは異なる第２グループのそれぞれに属するユーザと対応付けた第３グループを生成して前記管理部に管理させるグループ生成部と、を備えるサーバ装置と、前記サーバ装置を介して送受信するメッセージを表示部に表示する端末装置と、を備えることを特徴とするメッセージ共有システム（１）である。
【００１１】
また、本発明の一態様は、サーバ装置の制御方法であって、複数のユーザと当該複数のユーザが属するグループとを対応付けて管理する手順と、グループに属する複数のユーザそれぞれの端末装置から送信されたメッセージを受信する手順と、受信したメッセージを、当該メッセージを送信したユーザが属するグループに属する他のユーザの端末装置に送信する手順と、第１グループ及び前記第１グループとは異なる第２グループのそれぞれに属するユーザと対応付けた第３グループを生成して管理させる手順と、を備えることを特徴とする制御方法である。
【００１２】
また、本発明の一態様は、コンピュータに、複数のユーザと当該複数のユーザが属するグループとを対応付けて管理させるステップと、グループに属する複数のユーザそれぞれの端末装置から送信されたメッセージを受信させるステップと、受信したメッセージを、当該メッセージを送信したユーザが属するグループに属する他のユーザの端末装置に送信させるステップと、第１グループ及び前記第１グループとは異なる第２グループのそれぞれに属するユーザと対応付けた第３グループを生成して管理させるステップと、を実行させるためのプログラムである。
【発明の効果】
【００１３】
以上説明したように、本発明によれば、グループ内のユーザ間でメッセージを送受信する際の利便性を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態によるチャットシステムの構成を示す概略ブロック図である。
【図２】チャットシステムにおけるメッセージの送受信の基本的な動作の一例を示すフローチャートである。
【図３】第１の実施形態によるサーバ装置の構成を示す概略ブロック図である。
【図４】第１の実施形態によるグループ情報の一例を示す図である。
【図５】第１の実施形態によるグループ生成処理の第１の例を示すフローチャートである。
【図６】第１の実施形態によるグループ情報の第２の例を示す図である。
【図７】第１の実施形態によるグループ情報の第３の例を示す図である。
【図８】第２の実施形態によるメッセージ画面の第１の例を示す図である。
【図９】第２の実施形態によるユーザ端末の構成を示す概略ブロック図である。
【図１０】第２の実施形態による自ユーザのユーザ情報の例を示す図である。
【図１１】第２の実施形態による他ユーザのユーザ情報の例を示す図である。
【図１２】第２の実施形態によるメッセージ画面の第２の例を示す図である。
【図１３】第２の実施形態によるメッセージ画面の第３の例を示す図である。
【図１４】第２の実施形態によるメッセージ画面の第４の例を示す図である。
【図１５】第３の実施形態によるメッセージの送信処理の一例を示すフローチャートである。
【図１６】第３の実施形態によるメッセージ画面の第１の例を示す図である。
【図１７】第３の実施形態によるメッセージ画面の第２の例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について、図面を参照して説明する。
＜第１の実施形態＞
図１は、本発明の第１の実施形態によるチャットシステム１の構成を示す概略ブロック図である。チャットシステム１は、複数のユーザ端末１００−Ｎ（Ｎは正の整数。ユーザ端末１００−１、ユーザ端末１００−２、ユーザ端末１００−３、・・・）と、サーバ装置２００とのコンピュータ装置を備えており、これらのコンピュータ装置はネットワーク５を介して接続されている。ここで、複数のユーザ端末１００−Ｎは同様の構成であるので、特に区別しない場合には、「−１」、「−２」等の記載を省略してユーザ端末１００として説明する。ここでは３台のユーザ端末１００を明示しているが、チャットシステム１は、２台又は４台以上の任意の台数のユーザ端末１００を備えていてもよい。
【００１６】
ユーザ端末１００は、ユーザが利用するコンピュータ装置であり、サーバ装置２００を介して他のユーザ端末１００との間で送受信したメッセージを表示する表示装置である。ユーザ端末１００としては、例えばＰＣ（Personal Computer）、タブレットＰＣ、スマートフォン、ゲーム機器等の、表示デバイスを具備し情報通信ネットワークに接続可能な装置が適用できる。ここでは、ユーザ端末１００はスマートフォンであるとして説明する。また、ネットワーク５は、インターネット、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、専用回線、電話回線（キャリアの通信網）、またはこれらの組み合わせによって構成される情報通信ネットワークである。
【００１７】
チャットシステム１は、チャットを行うために複数のユーザが登録されたグループ（即ち、グループチャットを行うためのグループ）内において、複数のユーザのユーザ端末１００間でメッセージを送受信するメッセージ共有システムの一例であって、そのグループ内のユーザ間に限定したコミュニケーションを支援する。チャットシステム１としては、例えば、チャットアプリケーションによりグループ内の複数のユーザのユーザ端末１００間で日時情報が対応付けられたメッセージを送受信して日時情報に基づいて時系列に並べて表示するコンピュータシステムが適用できる。本実施形態では、チャットアプリケーションにより送受信された複数のメッセージをユーザ端末１００が表示する例を説明する。なお、以下の説明では、ユーザ端末１００においてチャットアプリケーション上で実行する処理を、単に、ユーザ端末１００が実行する処理として説明する。
【００１８】
（チャットシステム１の概要）
まず、チャットにおけるメッセージの送受信処理の概要を説明する。グループ内の複数のユーザ間でチャットを行う場合、自ユーザのユーザ端末１００（自装置）は、自ユーザからの操作に応じて、他のユーザ端末１００に送信したメッセージと、相手側のユーザ（チャット相手）である他ユーザのユーザ端末１００（他装置）から送信されたメッセージとを記憶する。ユーザ端末１００は、記憶した複数のメッセージを、そのメッセージが送信または受信された日時に基づいて時系列に並べた画面情報（メッセージ画面）を生成し、ユーザが一覧できるように表示する。
【００１９】
つまり、グループには、チャットシステム１において、複数のユーザ端末１００のそれぞれを利用する自ユーザと一または複数の他ユーザとが登録されている。そして、ユーザ端末１００は、このグループにおいて、自ユーザの操作に応じて自ユーザのユーザ端末１００から送信するメッセージと、他ユーザの操作に応じて他ユーザのユーザ端末１００から送信されたメッセージと、を時系列に並べたメッセージ画面を表示する。
【００２０】
以下、ユーザ端末１００−１を利用するユーザをユーザＡとし、ユーザ端末１００−２を利用するユーザをユーザＢとし、ユーザ端末１００−３を利用するユーザをユーザＣとして説明する。ここで、それぞれのユーザが利用する各ユーザ端末１００には、ユーザを識別するユーザＩＤ（Identifier）が設定されている。なお、この各ユーザのユーザＩＤは、それぞれのユーザ端末１００において、チャットアプリケーション上で設定されたものである。各ユーザがそれぞれのユーザ端末１００において、チャットアプリケーションにログインしているときに、それぞれのユーザ端末１００に対して各ユーザのユーザＩＤが固有に設定される。また、ユーザＡと、ユーザＢと、ユーザＣと、がグループチャットを行うための同じグループに登録されているものとする。
【００２１】
図２は、チャットシステム１におけるメッセージの送受信の基本的な動作の一例を示すフローチャートである。この図２では、ユーザＢからの操作に応じて、ユーザ端末１００−２が送信したメッセージＭを、ユーザＡのユーザ端末１００−１とユーザＣのユーザ端末１００−３とが受信する処理の例を示している。
まず、ユーザ端末１００−２において、ユーザＢは、送信するメッセージとしてのテキストを入力する（ステップＳ１００）。そこで、ユーザ端末１００−２は、ユーザＢからの操作に応じて入力された（作成された）メッセージＭを記憶するとともにメッセージ画面に表示する（ステップＳ１１０）。ここで、メッセージＭには、ユーザＩＤと、グループＩＤとが対応付けられている。ここで、グループＩＤは、グループを一意に識別する情報であって、このメッセージＭの宛先を示す情報である。続いて、ユーザ端末１００−２は、メッセージＭをサーバ装置２００に送信する（ステップＳ１２０）。
【００２２】
次に、サーバ装置２００は、ユーザ端末１００−２からメッセージＭをネットワーク５を介して受信し、受信したメッセージＭを一時的に記憶する（ステップＳ１３０）。このとき、サーバ装置２００は、このメッセージＭを受信したときの受信日時をユーザ端末１００−２へ受信完了通知と共に返信し、この受信日時をメッセージＭがユーザ端末１００−２から送信された日時情報（送信日時情報と称する）とする。受信完了通知を受信したユーザ端末１００−２は、当該受信完了通知に含まれる送信日時情報を取得してメッセージＭと対応付ける。また、ユーザ端末１００−２は、既にメッセージ画面に表示しているメッセージＭに対応付けて送信日時を表示する（ステップＳ１３５）。
【００２３】
続いて、サーバ装置２００は、受信して記憶したメッセージＭを、グループＩＤに基づいて、グループに登録されているユーザのユーザ端末１００（ユーザＡのユーザ端末１００−１及びユーザＣのユーザ端末１００−３）に対して送信する（ステップＳ１４０）。次に、ユーザ端末１００−１は、サーバ装置２００から送信されたメッセージＭを、ネットワーク５を介して受信する（ステップＳ１５０）。また、ユーザ端末１００−３は、サーバ装置２００から送信されたメッセージＭを、ネットワーク５を介して受信する（ステップＳ１７０）。それぞれで受信したメッセージＭには、送信日時情報（サーバ装置での受信日時）と、ユーザＩＤ（ユーザＢ）と、グループＩＤとが対応付けられている。
【００２４】
続いて、ユーザ端末１００−１は、受信したメッセージＭを記憶するとともに、対応付けられている送信日時情報に基づいてメッセージＭを時系列に並べてメッセージ画面に表示する（ステップＳ１６０）。また、ユーザ端末１００−３は、受信したメッセージＭを記憶するとともに、対応付けられている送信日時情報に応じてメッセージＭを時系列に並べてメッセージ画面に表示する（ステップＳ１８０）。このとき、ユーザ端末１００は、メッセージを一画面に表示しきれない場合には、そのメッセージを時系列に並べたうちの一部をスクロール可能に表示する。ここで、ユーザ端末１００−１及びユーザ端末１００−３は、メッセージＭを時系列に並べて表示する際に、メッセージＭに対応付けられているユーザＩＤに基づいて、メッセージＭを送信したユーザを示す情報をメッセージＭに対応付けて表示する。なお、ユーザ端末１００−１及びユーザ端末１００−３は、自ユーザが送信したメッセージには、そのメッセージを送信した自ユーザを示す情報を対応付けて表示せずに、他ユーザが送信したメッセージにのみ、そのメッセージを送信した他ユーザを示す情報を対応付けて表示してもよい。
【００２５】
このように、チャットシステム１においては、グループ内のいずれかのユーザのユーザ端末１００から送信されたメッセージは、サーバ装置２００を介して、グループ内の他のユーザ（当該メッセージを送信したユーザ以外のユーザ）のユーザ端末１００に送信される。これにより、チャットシステム１においては、複数のユーザ（チャット相手）が属するグループにおいてメッセージを送受信するチャット（グループチャット）を行うことができる。つまり、グループチャットに参加しているユーザが送信（投稿）したメッセージは、その送信時間（投稿時間）に基づいて時系列に並べられてメッセージ画面にて表示される。
【００２６】
ところで、グループチャットを行う際には、ユーザはまずグループを作成する必要がある。例えば、グループをつくりたいユーザがグループを作成し、グループチャットに参加するユーザをその作成したグループに登録する。ここで、グループをつくりたい場合には、グループを作成するたびに参加するユーザをユーザ単位で登録する必要がある。しかしながら、予め所定の関係（例えば友達関係）になっているユーザをグループに登録することができたとしても、所定の関係になっていないユーザを任意にグループに登録することができない場合があった。そこで、本実施形態のチャットシステム１では、グループを作成する際に、そのグループに参加するユーザを、そのユーザと所定の関係があるか否かにかかわらず、グループ単位で登録することができるように構成した。
【００２７】
以下、本実施形態によるチャットシステム１の構成について詳しく説明する。
ここで、以下の説明では、ユーザＡと、ユーザＢと、ユーザＣと、ユーザＤと、ユーザＥの５ユーザが含まれるチャットシステム１において、各ユーザがそれぞれのユーザ端末１００を用いてチャットを行うものとして説明する。
【００２８】
（サーバ装置２００の構成）
まず、図３を参照して、サーバ装置２００の構成について説明する。図３は、本実施形態によるサーバ装置２００の構成を示す概略ブロック図である。
サーバ装置２００は、サーバ通信部２３０と、サーバ記憶部２４０と、サーバ制御部２５０と、を備えている。サーバ通信部２３０は、ネットワーク５を介して複数のユーザ端末１００―Ｎと通信する。
【００２９】
サーバ記憶部２４０は、チャットシステム１における各種情報を記憶して管理する管理部であって、ユーザに関する情報を記憶して管理するユーザ情報記憶部２４１と、グループに関する情報を記憶して管理するグループ情報記憶部２４２と、メッセージ情報を一時的に記憶して管理するメッセージ情報一時記憶部２４３とを備えている。
【００３０】
ユーザ情報記憶部２４１は、チャットシステム１において、チャットを行うユーザに関するユーザ情報を記憶する。具体的には、サーバ装置２００を介してメッセージを送受信する複数のユーザ端末１００それぞれに固有に設定されたユーザＩＤをユーザ情報として記憶する。ユーザＩＤは、ユーザを識別する情報であって、チャットシステム１において、ユーザが利用する端末を一意に識別する情報である。このユーザＩＤは、例えば、ユーザ端末１００が最初にチャットシステム１に登録されたときに、サーバ装置２００において発行される。例えば、ユーザＡ、ユーザＢ、ユーザＣ、ユーザＤ、ユーザＥのそれぞれのユーザＩＤが、「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」、「Ｅ」として、それぞれのユーザが利用する各ユーザ端末１００に設定される。
【００３１】
なお、ユーザ情報記憶部２４１は、単にユーザＩＤが記憶されている構成としてもよいし、このユーザＩＤに対応付けて、各種のユーザに関する情報（ユーザ名やユーザ画像等）を記憶してもよい。
【００３２】
グループ情報記憶部２４２は、チャットを行うユーザのグループに関する情報を記憶する。具体的には、グループ情報記憶部２４２は、複数のユーザと当該複数のユーザが属するグループとを対応付けて記憶する。図４は、グループ情報記憶部１４２に記憶されるグループ情報の一例を示す図である。ひとつのグループには２以上のユーザが属する。例えば、ユーザＡとユーザＢとユーザＣとがチャットを行う場合、ユーザＡとユーザＢとユーザＣとが属するグループに関するグループ情報がグループ情報記憶部１４２に記憶される。グループ情報には、グループＩＤと、グループ名と、グループに属するユーザ（グループメンバー）としてのユーザＩＤとを対応付けた情報が含まれる。グループＩＤは、サーバ装置２００で生成されるグループを一意に識別する情報である。グループ名は、グループの名称であり、グループが作成される際にユーザにより設定される。なお、ユーザがグループを作成する際にグループ名を設定しない場合には、サーバ装置２００によって自動的に付与され、事後的にユーザにより設定できる。ユーザＩＤは、そのグループに属するユーザを識別する情報である。
ここでは、グループＩＤが「Ｇ１」であるグループには、グループ名として「グループＡ」が設定され、ユーザＡとユーザＢとユーザＣとの３ユーザが属している。グループＩＤが「Ｇ２」であるグループには、グループ名として「グループＢ」が設定され、ユーザＤとユーザＥとの２ユーザが属している。ここで、上述のグループＩＤが「Ｇ１」であるグループと、グループＩＤが「Ｇ２」であるグループとは、それぞれのグループに属するユーザがユーザ単位で登録されて生成されたグループである。
【００３３】
一方、グループＩＤが「Ｇ３」であるグループは、既に生成されているグループがグループ単位で登録されて生成されたグループである。グループ単位で登録されて生成されたグループのグループＩＤの場合には、当該グループの生成前に各ユーザが属していたグループ（以下、旧グループとも称する）のグループＩＤがユーザＩＤのエイリアス（別名）として対応付けられている。ここでは、グループＩＤが「Ｇ３」であるグループＣのグループ情報は、グループＩＤが「Ｇ１」であるグループＡと、グループＩＤが「Ｇ２」であるグループＢとがグループ単位で登録されて生成されたグループのグループ情報であって、グループＩＤ「Ｇ３」には、グループＩＤ「Ｇ１」と、グループＩＤ「Ｇ２」とがグループメンバーとして対応付けられている。ここで、グループＩＤ「Ｇ１」とグループＩＤ「Ｇ２」とは、ユーザＩＤを示すエイリアスの情報であって、それぞれのグループに属するユーザのユーザＩＤの代わりに対応付けられている。即ち、グループＩＤが「Ｇ３」であるグループには、グループ名として「グループＣ」が設定され、グループＩＤ「Ｇ１」に属するユーザであるユーザＡ、ユーザＢ、及びユーザＣと、グループＩＤ「Ｇ２」に属するユーザであるユーザＤ、及びユーザＥとの５ユーザが属していることを示している。つまり、グループＣは、既に生成されている複数のグループ（グループＡとグループＢと）をまとめたグループ（合同グループ）である。
【００３４】
なお、グループ情報記憶部２４２は、複数のグループがグループ単位で登録されて生成されたグループに属する各ユーザを、旧グループに基づいて区別可能なように記憶してもよい。この図４に示す例では、グループＣのグループ情報には、グループＡのグループＩＤとグループＢのグループＩＤとがそれぞれ、第１グループメンバーのユーザＩＤのエイリアスと第２グループメンバーのユーザＩＤのエイリアスとして区別されてグループＩＤに対応付けられている。
【００３５】
メッセージ情報一時記憶部２４３は、各ユーザ端末１００から受信したメッセージ情報を一時的に記憶する。ここで、メッセージ情報には、グループＩＤと、ユーザＩＤと、送信日時情報と、メッセージとを対応付けした情報が含まれる。グループＩＤは、メッセージが送受信されたグループを識別する情報である。ユーザＩＤは、メッセージを送信したユーザを識別する情報である。送信日時情報は、メッセージが送信された日時を示す情報である。本実施形態では、ユーザ端末１００の計時機能が示す時間情報が相違しているユーザ間や、時差のある地域のユーザ間で互いに送信したメッセージが正しく時系列に並ぶようにユーザ端末１００から送信されたメッセージ情報をサーバ装置２００で受信した受信時間を当該メッセージが送信された日時を示す送信日時情報としている。送信日時情報には、年、月、日、時、分、秒（ＹＹＹＹ／ＭＭ／ＤＤ  ＨＨ：ＭＭ：ＳＳ）の情報が含まれる。メッセージは、他ユーザとの間で送受信したメッセージを示す文字列（テキスト）である。
例えば、メッセージ情報一時記憶部２４３は、受信したメッセージ情報が、宛先（送信先）のユーザのユーザ端末１００に対して送信されるまでの間、受信したメッセージ情報を一時的に記憶する。
【００３６】
なお、サーバ記憶部２４０が備えている各記憶部のそれぞれは、サーバ装置２００の内部に備えられていてもよいし、サーバ装置２００の外部に備えられていてもよい。例えば、上述のチャットシステム１における各種情報を記憶して管理する管理部をサーバ装置２００が備え、その管理部がサーバ装置２００の外部に備えられた記憶部に対して各種情報を記憶させて管理してもよい。
【００３７】
図３に戻り、サーバ制御部２５０は、受信部２５１と、送信部２５２と、グループ生成部２５３とを備えている。ここで、受信部２５１及び送信部２５２は、サーバ通信部２３０を介して、ユーザ端末１００と通信する。
【００３８】
受信部２５１は、ユーザ端末１００からグループＩＤを宛先として送信されたメッセージ情報を受信すると、受信したメッセージ情報をメッセージ情報一時記憶部２４３に一時的に記憶させる。また、受信部２５１は、ユーザ端末１００からグループを生成する要求信号を受信してグループ生成部２５３に供給する。
【００３９】
送信部２５２は、受信部２５１が受信してメッセージ情報一時記憶部２４３に記憶させたメッセージ情報を、当該メッセージ情報に含まれるグループＩＤ（メッセージ情報の宛先であるグループＩＤ）に対応付けられたユーザＩＤを特定し、当該特定したユーザＩＤが示すユーザ端末１００のうち、メッセージ情報を送信したユーザのユーザＩＤが示すユーザ端末１００以外のユーザ端末１００に送信する。即ち、送信部２５２は、グループ内のユーザから送信されて受信部２５１が受信したメッセージ情報を、グループ内の他のユーザ（送信したユーザを除いたグループ内のユーザ）に送信（転送）する。また、送信部２５２は、受信部２５１が、ユーザ端末１００からグループＩＤを宛先として送信されたメッセージ情報を受信すると、当該ユーザ端末１００に対して、受信したときの受信日時を受信完了通知と共に送信する。
【００４０】
グループ生成部２５３は、グループチャットを行う際のグループを生成する。例えば、グループ生成部２５３は、受信部２５１が、ユーザ端末１００からグループを生成する要求信号を受信した場合、そのユーザ端末１００からの要求に応じて、参加するユーザがユーザ単位又はグループ単位で登録されるグループを生成する。
【００４１】
具体的には、ユーザ端末１００からユーザ単位で登録されるグループを生成する要求を受け付けた場合、グループ生成部２５３は、新規にグループＩＤを発行し、当該発行したグループＩＤと、当該生成するグループに登録するユーザのユーザＩＤとを対応付けたグループ情報を生成してグループ情報記憶部２４２に記憶させる。
【００４２】
例えば、サーバ装置２００がユーザ端末１００からユーザＡ、ユーザＢ、及びユーザＣのそれぞれがユーザ単位で登録されるグループＡを生成する要求を受け付けたとする。その要求に応じて、グループ生成部２５３は、グループＡのグループＩＤ「Ｇ１」を新規に発行し、グループＩＤ「Ｇ１」と、グループＡに登録するユーザ（グループメンバー）のユーザＩＤ（ユーザＡ、ユーザＢ、及びユーザＣの各ユーザＩＤ）とを対応付けたグループ情報を生成してグループ情報記憶部２４２に記憶させる（図４参照）。また、サーバ装置２００がユーザ端末１００からユーザＣ及びユーザＤのそれぞれがユーザ単位で登録されるグループＢを生成する要求を受け付けたとする。その要求に応じて、グループ生成部２５３は、グループＢのグループＩＤ「Ｇ２」を新規に発行し、グループＩＤ「Ｇ２」と、グループＢに登録するユーザ（グループメンバー）のユーザＩＤ（ユーザＤ及びユーザＥの各ユーザＩＤ）とを対応付けたグループ情報を生成してグループ情報記憶部２４２に記憶させる（図４参照）。
【００４３】
また、ユーザ端末１００からグループ単位で登録されるグループを生成する要求を受け付けた場合、グループ生成部２５３は、新規にグループＩＤを発行し、当該発行したグループＩＤと、当該生成するグループに登録するグループ（旧グループ）のグループＩＤに対応付けられているユーザＩＤとを対応付けたグループ情報を生成してグループ情報記憶部２４２に記憶させる。
【００４４】
例えば、サーバ装置２００がユーザ端末１００からグループＡ及びグループＢがグループ単位で登録されるグループＣを生成する要求を受け付けたとする。その要求に応じて、グループ生成部２５３は、グループＣのグループＩＤ「Ｇ３」を新規に発行し、グループＩＤ「Ｇ３」と、グループＣに登録するユーザ（グループメンバー）であるグループＡ及びグループＢに属していたユーザのユーザＩＤ（ユーザＡ、ユーザＢ、ユーザＣ、ユーザＤ、及びユーザＥの各ユーザＩＤ）とを対応付けたグループ情報を生成してグループ情報記憶部２４２に記憶させる（図４参照）。
【００４５】
ここで、グループ生成部２５３は、例えば、グループＡ又はグループＢに属するユーザのユーザ端末１００からの要求に応じて、グループＡ及びグループＢがグループ単位で登録されるグループＣを生成する。即ち、グループ生成部２５３は、複数のグループがグループ単位で登録されるグループを生成する要求が、その登録される複数のグループの何れかに属するユーザのユーザ端末１００からの要求の場合のみ、その要求に応じてグループを生成する。これにより、サーバ装置２００は、ユーザ自身が属するグループと他のグループとをまとめたグループ（合同グループ）を生成することができるようにするとともに、グループに属していない関係のないユーザからの要求の場合には、このグループ単位で登録されるグループの生成を行わないようにすることができる。
【００４６】
また、グループ単位で登録されるグループを生成する要求を受け付けた場合、グループ生成部２５３は、当該生成するグループとして新規に発行したグループＩＤに、旧グループそれぞれに属するユーザ（ユーザＩＤ）を区別して対応付けたグループ情報を生成してもよい。
【００４７】
例えば、上述のグループＣを生成する場合、グループ生成部２５３は、旧グループがグループＡ（第１グループ）であるユーザのユーザＩＤ（ユーザＡ、ユーザＢ、及びユーザＣの各ユーザＩＤ）と旧グループがグループＢ（第２グループ）であるユーザのユーザＩＤ（ユーザＤ及びユーザＥの各ユーザＩＤ）とがそれぞれ、第１グループメンバーのユーザＩＤと第２グループメンバーのユーザＩＤとして区別して、グループＩＤ「Ｇ３」に対応付けたグループ情報を生成してもよい。
【００４８】
なお、グループ生成部２５３は、ユーザ端末１００からの要求に応じて、グループの名称（グループ名）をグループＩＤに対応付けて記憶してもよい。また、グループ生成部２５３は、ユーザ端末１００からグループの名称（グループ名）を登録する要求がない場合には、グループ生成する際に予め定められた名称を自動的に付与してもよい。
【００４９】
また、グループ生成部２５３がグループ情報を生成すると、送信部２５２は、生成されたグループ情報をユーザ端末１００に対して送信する。具体的には、送信部２５２は、グループに属するユーザとしてグループＩＤと対応付けられているユーザＩＤが示すユーザ端末１００に対して、当該グループのグループ情報を送信する。即ち、グループが生成されると、送信部２５２は、その生成されたグループに属する（登録された）ユーザのユーザ端末１００に対して、その生成されたグループのグループ情報を送信する。
【００５０】
例えば、送信部２５２は、上述のグループＣのグループ情報を送信する場合、グループＣのグループＩＤ「Ｇ３」と、グループＩＤ「Ｇ３」に対応付けられた（グループＣに属する）ユーザのユーザＩＤ（ユーザＡ、ユーザＢ、ユーザＣ、ユーザＤ、及びユーザＥの各ユーザＩＤ）とを含むグループ情報をユーザ端末１００に対して送信する。また、送信部２５２は、グループＣのグループＩＤ「Ｇ３」にグループＡのユーザＩＤとグループＢのユーザＩＤとを区別して対応付けたグループ情報を、旧グループがグループＡのユーザと旧グループがグループＢのユーザとを識別する情報としてユーザ端末１００に対して送信する。
【００５１】
具体的には、送信部２５２は、グループ生成部２５３がグループ情報を生成してグループ情報記憶部２４２に記憶させると、グループ情報記憶部２４２を参照して、グループ情報に含まれるグループに属するユーザのユーザＩＤが示すユーザ端末１００に対して、当該グループのグループ情報を送信する。また、送信部２５２は、グループ生成部２５３がグループ情報記憶部２４２に記憶させたグループ情報を更新した場合（例えば、グループメンバーの追加や削除をした場合）にも、グループ情報に含まれるグループに属するユーザのユーザＩＤが示すユーザ端末１００に対して、当該グループのグループ情報を送信する。
【００５２】
これにより、ユーザ端末１００は、受信したグループ情報に含まれるグループのグループＩＤとそのグループに属するユーザのユーザＩＤとを取得する。また、ユーザ端末１００は、受信したグループ情報に含まれるグループがグループ単位で登録されて生成されたグループの場合には、当該グループのグループＩＤに対応付けられた旧グループそれぞれに属するユーザ（ユーザＩＤ）を識別する情報を取得する。
【００５３】
なお、送信部２５２がグループ情報をユーザ端末１００に送信するタイミングは、グループ情報が生成されたタイミングに限られるものではなく、例えば、ユーザ端末１００からの要求に基づくタイミング（例えば、ユーザ端末１００においてチャットアプリケーションが起動されたとき、ログインされたとき）であってもよい。
【００５４】
（グループ生成処理の動作）
次に、図５を参照して、サーバ装置２００がグループを生成する処理の動作について説明する。図５は、本実施形態によるグループ生成処理の一例を示すフローチャートである。
【００５５】
まず、サーバ装置２００は、ユーザ端末１００からグループを生成する要求を示す要求信号を受け取る（ステップＳ２１０）。例えば、ユーザ端末１００に対してユーザからグループを登録する操作がされると、その操作に応じてユーザ端末１００は、グループを生成する要求を示す要求信号（例えば、登録するユーザを示す情報やグループ名を示す情報等を含む要求信号）をサーバ装置２００に対して送信する。サーバ装置２００のグループ生成部２５３は、グループを生成する要求を示す要求信号を受信部２５１を介して受信する。
【００５６】
グループ生成部２５３は、グループを生成する要求を示す要求信号を受信部２５１を介して受信すると、当該グループを生成する要求が、グループ単位で登録されるグループを生成する要求であるか否か（グループ単位であるか、又は、ユーザ単位であるか）を判定する（ステップＳ２２０）。
【００５７】
ステップＳ２２０において、グループ単位で登録されるグループを生成する要求であると判定された場合（ステップＳ２２０：ＹＥＳ）、グループ生成部２５３は、グループ生成部２５３は、新規に発行したグループＩＤに、グループ単位でユーザＩＤを対応付けてグループ情報を生成する。具体的には、グループ生成部２５３は、新規にグループＩＤを発行し、当該発行したグループＩＤと、当該生成するグループに登録するグループ（旧グループ）のグループＩＤに対応付けられているユーザＩＤとを対応付けたグループ情報を生成してグループ情報記憶部２４２に記憶させる（ステップＳ２３０）。なお、グループ生成部２５３は、当該生成するグループとして新規に発行したグループＩＤに、旧グループそれぞれに属するユーザ（ユーザＩＤ）を区別して対応付けたグループ情報を生成してもよい。そして、グループ生成部２５３は、生成したグループ情報をグループ情報記憶部２４２に記憶させてグループ生成処理を終了する（ステップＳ２５０）。
【００５８】
一方、ステップＳ２２０において、ユーザ単位で登録されるグループを生成する要求であると判定された場合（ステップＳ２２０：ＮＯ）、グループ生成部２５３は、新規に発行したグループＩＤに、ユーザ単位でユーザＩＤを対応付けてグループ情報を生成する。具体的には、グループ生成部２５３は、新規にグループＩＤを発行し、当該発行したグループＩＤと、当該生成するグループに登録するユーザのユーザＩＤとを対応付けたグループ情報を生成してグループ情報記憶部２４２に記憶させる（ステップＳ２４０）。そして、グループ生成部２５３は、生成したグループ情報をグループ情報記憶部２４２に記憶させてグループ生成処理を終了する（ステップＳ２５０）。
【００５９】
このように、サーバ装置２００は、ユーザ単位又はグループ単位でグループを生成する処理を行う。
【００６０】
なお、図４にグループ情報記憶部２４２に記憶されるグループ情報の例を示したが、これに限られるものではなく、例えば図６又は図７に示すようなグループ情報が記憶されるようにしてもよい。
【００６１】
図６は、グループ情報記憶部１４２に記憶されるグループ情報の一例を示す図であって、図４に示すエイリアス情報として対応付けたグループＩＤが各ユーザＩＤに展開されたグループ情報の例を示している。グループ情報記憶部１４２には、グループ単位で登録されて生成されたグループのグループＩＤの場合には、登録された旧グループに属するそれぞれのユーザのユーザＩＤが対応付けられたグループ情報が記憶される。ここでは、グループＩＤが「Ｇ３」であるグループのグループ情報は、グループＩＤが「Ｇ１」であるグループＡと、グループＩＤが「Ｇ２」であるグループＢとがグループ単位で登録されて生成されたグループのグループ情報であって、グループＩＤ「Ｇ３」には、ユーザＡとユーザＢとユーザＣとユーザＤとユーザＥとの５ユーザのそれぞれのユーザＩＤが対応付けられている。即ち、グループＩＤが「Ｇ３」であるグループＣには、登録された２つのグループのそれぞれに属するユーザをあわせた、ユーザＡとユーザＢとユーザＣとユーザＤとユーザＥとの５ユーザが属している。
【００６２】
また、グループＣのグループ情報には、旧グループがグループＡ（第１グループ）であるユーザのユーザＩＤと旧グループがグループＢ（第２グループ）であるユーザのユーザＩＤとがそれぞれ、第１グループメンバーのユーザＩＤと第２グループメンバーのユーザＩＤとして区別されてグループＩＤに対応付けられている。
従って、この図６に示すグループ情報においても、複数のユーザと当該複数のユーザが属するグループとの対応付けが、図４に示すグループ情報と同様にされている。
【００６３】
図７は、グループ情報記憶部１４２に記憶されるグループ情報の一例を示す図であって、ユーザＩＤにグループＩＤを対応付けしたグループ情報の例を示している。つまり、図４及び図６に示すグループ情報の例では、グループ毎に、グループＩＤに対して各グループに属するユーザのユーザＩＤを対応付けした例を示しているが、この図７では、ユーザ毎に、ユーザＩＤに対してそのユーザが属するグループのグループＩＤを対応付けした例を示している。
【００６４】
ここでは、各ユーザのユーザＩＤに対して、そのユーザが属するグループのグループＩＤと、グループ名とが対応付けられている。また、ユーザＩＤに対して、グループ単位で登録されて生成されたグループ（ここでは、グループＣ）のグループＩＤが対応付けられている場合には、さらに旧グループ（ここでは、グループＡ又はグループＢ）のグループＩＤが対応付けられている。
従って、この図７に示すグループ情報においても、複数のユーザと当該複数のユーザが属するグループとの対応付けが、図４に示すグループ情報と同様にされている。
【００６５】
なお、図４、図５、及び図６に示すグループ情報において、グループ単位で登録されたグループのグループ情報に、そのグループに属する各ユーザの旧グループを区別可能な情報が含まれる例を示したが、これは一例であって、この旧グループを区別可能な情報が含まれない構成としてもよい。
【００６６】
以上説明してきたように、本実施形態によるサーバ装置２００は、複数のユーザと当該複数のユーザが属するグループとを対応付けて管理するグループ情報記憶部２４２（管理部）と、グループに属する複数のユーザのそれぞれのユーザ端末１００（端末装置）から送信されたメッセージを受信する受信部２５１と、受信部２５１が受信したメッセージを、当該メッセージを送信したユーザが属するグループに属する他のユーザのユーザ端末１００（端末装置）に送信する送信部２５２とを備えている。また、サーバ装置２００は、チャットを行う際のグループを生成するグループ生成部２５３を備えている。グループ生成部２５３は、生成されたグループのうち、例えばグループＡ（第１グループ）及びグループＢ（第１グループとは異なる第２グループ）のそれぞれに属するユーザと対応付けたグループＣ（第３グループ）を生成してグループ情報記憶部２４２（管理部）に記憶させて管理させる。
【００６７】
これにより、サーバ装置２００は、既に生成されている複数のグループに属するユーザを、グループ単位でまとめて対応付けた新たなグループを生成することができる。つまり、サーバ装置２００は、既に生成されているグループをまとめたグループ（合同グループ）を生成することができる。よって、サーバ装置２００は、例えば、グループに登録したいユーザが所定の関係（例えば友達関係）になっていないユーザであっても、そのユーザが登録されているグループをグループ単位で登録することができるため、所定の関係になっていないユーザを任意にグループに登録することができる。従って、本実施形態によれば、グループ内のユーザ間でメッセージを送受信する際の利便性を向上させることができる。
【００６８】
また、例えば、自身が参加しているグループに属するユーザの全てを、他の参加したいグループに加えたいような場合（例えば、自身が参加するグループと他のグループとを合流させたい場合）に、ユーザ単位でそれぞれのユーザを参加したいグループに登録するのは煩わしく不便なことがある。このような場合にも、本実施形態のチャットシステム１によれば、グループに属するユーザの全てをグループ単位で容易に登録することができるという利点がある。
【００６９】
また、グループ生成部２５３は、ユーザ端末１００（端末装置）からの要求に応じて、上述のグループＣ（第３グループ）を生成する。つまり、グループ生成部２５３は、ユーザ端末１００からの要求に応じて、既に生成されているグループをまとめたグループ（合同グループ）を生成する。
これにより、サーバ装置２００は、ユーザのユーザ端末１００に対する操作に応じて、例えば、グループＡ及びグループＢのそれぞれに属するユーザと対応付けたグループＣ（合同グループ）を生成することができる。つまり、サーバ装置２００は、ユーザのユーザ端末１００に対する操作に応じて、既に生成されているグループをまとめたグループ（合同グループ）を生成することができる。よって、本実施形態のチャットシステム１によれば、ユーザは、ユーザ端末１００に対する操作により、既に生成されている複数のグループに属するユーザを、グループ単位でまとめて対応付けた新たなグループを作成し、作成したグループでチャットを行うことができる。
【００７０】
ここで、グループ生成部２５３は、複数のグループがグループ単位で登録されるグループを生成する場合には、その登録される複数のグループの何れかに属するユーザのユーザ端末１００からのみ、当該グループを生成する要求を行うことができるようにする。よって、サーバ装置２００は、ユーザ自身が属するグループと他のグループとをまとめたグループ（合同グループ）を生成することができるようにするとともに、グループに属していない関係のないユーザからの要求では、このグループ単位でのグループの生成を行わないようにすることができる。
【００７１】
なお、グループ生成部２５３は、複数のグループがグループ単位で登録されるグループを生成する場合に、登録されるグループ以外のグループに属するユーザのユーザ端末１００から当該グループを生成する要求を行うことができるようにしてもよい。即ち、グループ生成部２５３は、複数のグループがグループ単位で登録されるグループを生成する場合に、登録されるグループ以外のグループに属するユーザのユーザ端末１００からの要求に応じて、グループを生成してもよい。
また、グループ生成部２５３は、ユーザ端末１００からの要求に限らず、サーバ装置２００の制御に応じて、複数のグループがグループ単位で登録されるグループを生成してもよい。ここで、サーバ装置２００の制御とは、例えば、チャットシステム１上でメッセージを共有して行われる各種イベントの運営側の意図により、複数のグループをまとめたグループを生成するような場合に行われる制御である。
【００７２】
また、グループ生成部２５３は、例えば、上述のグループＡ（第１グループ）に属するユーザと、グループＢ（第２グループ）に属するユーザとを区別して対応付けたグループＣ（第３グループ）を生成する。そして、送信部２５２は、グループＣ（第３グループ）に対応付けられたグループＡ（第１グループ）のユーザとグループＢ（第２グループ）のユーザとを識別する情報をユーザ端末１００（端末装置）へ送信する。具体的には、送信部２５２は、例えば、このグループＣ（第３グループ）に対応付けられたグループＡ（第１グループ）のユーザとグループＢ（第２グループ）のユーザとを識別する情報、即ち、このグループＣに属する各ユーザの旧グループを区別可能な情報が含まれるグループ情報をユーザ端末１００に送信する。
【００７３】
これにより、サーバ装置２００は、グループＣに属するユーザのそれぞれが、グループＡ又はグループＢのうちのいずれのグループに属していたユーザであるかをユーザ端末１００において識別可能（区別可能）にすることができる。即ち、サーバ装置２００は、既に生成されている複数のグループに属するユーザを、グループ単位でまとめて対応付けた新たなグループを生成する場合、生成前にいずれのグループ（旧グループ）に属していたユーザであるかをユーザ端末１００において識別可能（区別可能）にすることができる。
よって、ユーザ端末１００は、新たなグループにおいて各ユーザから送信されたメッセージを、当該メッセージを送信したユーザが、生成前にいずれのグループ（旧グループ）に属していたユーザであるかに基づいて、区別して表示させることも可能である。このユーザ端末１００におけるメッセージ画面の表示例については、第２の実施形態において後述する。
【００７４】
なお、上記実施形態では、サーバ装置２００が、グループＡ及びグループＢのそれぞれに属するユーザと対応付けたグループＣを新たに生成する場合に、新たに生成したグループＣのグループ情報をグループ情報記憶部２４２に追加して記憶させる例を説明した。この場合には、チャットシステム１において、既に生成されているグループＡ及びグループＢは、グループＣの生成後も継続してチャットを行うグループとして利用できるという利点がある。
【００７５】
一方、サーバ装置２００は、グループＡ及びグループＢのそれぞれに属するユーザと対応付けたグループＣを新たに生成する場合に、生成前に各ユーザが属していたグループＡとグループＢとのグループ情報をグループ情報記憶部２４２から削除してもよい。つまり、チャットシステム１において、このグループＣが生成された後では、グループＡとグループＢとはチャットを行うグループとして利用できないようにしてもよい。この場合には、ユーザ自身が現在属している最新のグループ（合同グループ）がいずれのグループであるかが分かりやすいという利点がある。
【００７６】
例えば、サーバ装置２００は、グループを生成してから所定の期間が経過すると、そのグループに対して他の既に生成されているグループが追加されるようにしてもよい。このとき、サーバ装置２００は、既に生成されているグループのグループ情報を削除して新たなグループのグループ情報を生成してもよいし、既に生成されているグループのうちの一方のグループのグループ情報に他方のグループのグループＩＤを追加してもよい。
【００７７】
このように、本実施形態のサーバ装置２００によれば、グループ内のユーザ間でメッセージを送受信する際の利便性を向上させることができる。また、サーバ装置２００と、サーバ装置２００を介して送受信するメッセージを表示部１１０に表示する複数のユーザ端末１００とを備えたチャットシステム１（メッセージ共有システム）によれば、グループ内のユーザ間でメッセージを送受信する際の利便性を向上させることができる。
【００７８】
＜第２の実施形態＞
次に、本発明の第２の実施形態を説明する。本実施形態では、チャットシステム１におけるユーザ端末１００による表示処理について説明する。
まず、図８を参照して、グループ単位で登録されて生成されたグループにおいて行われるチャットのメッセージ画面について説明する。
【００７９】
（メッセージ画面の表示例）
図８は、本実施形態によるユーザ端末１００が表示するメッセージ画面の一例を示す図である。この図８は、上述のグループＣのグループチャットのメッセージ画面であって、グループＣに属するユーザ（例えば、ユーザＡ）のユーザ端末１００が表示部１１０に表示するメッセージ画面の一例を示している。符号１１０ａは、メッセージ画面が表示されている領域の全体を示している。このメッセージ画面は、送受信された複数のメッセージのうちの一部分が表示されている。ユーザ端末１００は、例えばタッチパネルである画面の任意の箇所において行われるスクロール操作に応じて、メッセージを上下にスクロール表示させることによって、この一画面内に表示しきれていないメッセージを表示可能である。符号１１０ｂの領域には、グループ名（ここでは、グループＣ）が表示される。
【００８０】
符号１１０ｃの領域には、そのグループに属するユーザ（グループメンバー）を示す情報が表示される。ここでは、グループＣに属するユーザ（ユーザＡ、Ｂ、Ｃ、Ｄ、Ｅ）のそれぞれを示すアイコンが表示される。これらのアイコンは、例えば、それぞれのユーザによって予め登録された画像（例えば、プロフィール画像）でもよいし、チャットシステム１が予め用意した画像でもよい。ここでは、それぞれのアイコンは、それぞれのユーザを示すプロフィール画像である。
【００８１】
符号１１０ｄの領域には、そのグループにおいて送信されたメッセージが、そのメッセージが送信された日時に基づいて昇順（新しいメッセージが符号１１０ｄの領域の下側）に表示されるように表示コンポーネントが配置される。また、符号１１０ｄの領域には、メッセージを送信したユーザの属していた旧グループがいずれのグループであるかに基づいて、当該メッセージがメッセージ画面の左側からの吹き出しと右側からの吹き出しとのいずれかに区別して表示される。ここでは、旧グループがグループＡであるユーザ（ユーザＡ、Ｂ、Ｃ）から送信されたメッセージは、メッセージ画面の左側からの吹き出しに表示される。一方、旧グループがグループＢであるユーザ（ユーザＤ、Ｅ）から送信されたメッセージは、メッセージ画面の右側からの吹き出しに表示される。
【００８２】
左側からの吹き出しＫ３には、旧グループがグループＡであるユーザ（ここではユーザＡ）から送信されたメッセージが表示される。アイコンＫ１は、吹き出しＫ３に表示されたメッセージを送信したユーザを示すアイコンであって、ここでは、ユーザＡを示すプロフィール画像である。ユーザ名ラベルＫ２には、アイコンＫ１に対応するユーザのユーザ名が表示される。ここでは、ユーザＡのユーザ名を「ｎａｍｅＡ」とし、ユーザＡのユーザ名が表示される。時間ラベルＫ４には、吹き出しＫ３に表示されたメッセージの送信時間が表示される。
【００８３】
一方、右側からの吹き出しＫ１３には、旧グループがグループＢであるユーザ（ここではユーザＤ）から送信されたメッセージが表示される。アイコンＫ１１は、吹き出しＫ１３に表示されたメッセージを送信したユーザを示すアイコンであって、ここではユーザＤを示すプロフィール画像である。ユーザ名ラベルＫ１２には、アイコンＫ１１に対応するユーザのユーザ名が表示される。ここでは、ユーザＤのユーザ名を「ｎａｍｅＤ」とし、ユーザＤのユーザ名が表示される。時間ラベルＫ１４には、吹き出しＫ１３に表示されたメッセージの送信時間が表示される。
【００８４】
符号１１０ｅの領域には、ユーザ端末１００からメッセージを入力するための表示コンポーネントが配置される。テキストボックスＫ２１には、ユーザから入力されるメッセージが表示される。なお、具体的には、ユーザは、例えば、テキストボックスＫ２１と対で表示されるソフトウェアキーボードに対する操作により、テキストボックスＫ２１にテキストを入力する。ここで、テキストボックスＫ２１に入力されるテキストには、文字、記号、絵文字、等が含まれる。送信ボタンＫ２２は、テキストボックスＫ２１に入力されたメッセージを他のユーザに送信するための操作子である。
【００８５】
このように、ユーザ端末１００は、グループ単位で登録されて生成されたグループのチャットのメッセージ画面において、それぞれのユーザから送信されたメッセージを、それぞれのユーザの属していた旧グループがいずれのグループであるかが判別可能なように区別して表示することができる。
【００８６】
次に、上述したメッセージ画面の表示処理を行う構成について詳しく説明する。本実施形態のサーバ装置２００の構成は、第１の実施形態と同様でありその説明を省略する。以下、図９を参照して、ユーザ端末１００の構成について詳しく説明する。
【００８７】
（ユーザ端末１００の構成）
図９は、本実施形態によるユーザ端末１００の構成を示す概略ブロック図である。ユーザ端末１００は、表示部１１０と、操作受付部１２０と、通信部１３０と、記憶部１４０と、制御部１５０とを備えている。なお、図１に示す複数のユーザ端末１００−Ｎは、同様の各部を備えるものとする。
【００８８】
表示部１１０は、画像や文字等の情報を表示する表示デバイスである。表示部１１０の情報を表示する領域を画面といい、表示部１１０の画面に表示される情報を画面情報という。なお、この画面情報には一画面では表示しきれない情報も含まれる。例えば、表示部１１０は、グループ内のユーザ間で送受信したメッセージを時系列に表示するメッセージ画面を表示する。ここで、表示部１１０が表示するこれらの画面は、ユーザからの操作に応じて制御部１５０によって制御される。
【００８９】
操作受付部１２０は、ユーザからの操作に応じてユーザの指示を受付けて、指示内容に応じた入力指示を生成する入力デバイスである。操作受付部１２０には、例えば、キーボードやボタン、タッチパネル等が適用できる。本実施形態では、操作受付部１２０と表示部１１０とは一体に構成されてユーザからの操作入力を受け付けるタッチパネルを適用した例を説明する。
通信部１３０は、ネットワーク５を介してサーバ装置２００と通信する。
【００９０】
記憶部１４０は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュＲＯＭ、ＨＤＤ（Hard Disk Drive）等の記録媒体またはこれらの組合せを用いて構成され、ユーザ端末１００が備える各部を制御するためのプログラムや各種情報を記憶する。また、記憶部１４０は、ユーザ端末１００に装着するメモリカードであってもよい。記憶部１４０は、ユーザ情報記憶部１４１と、グループ情報記憶部１４２と、メッセージ情報記憶部１４３と、画面情報記憶部１４４とを備えている。
【００９１】
ユーザ情報記憶部１４１は、チャットを行うユーザに関するユーザ情報を記憶する。図１０及び図１１は、ユーザ情報記憶部１４１に記憶されるユーザ情報の例を示す図である。ユーザ情報には、ユーザＩＤと、ユーザ名と、ユーザ画像とを対応付けた情報が含まれる。ユーザＩＤは、ユーザを識別する情報であって、サーバ装置２００のユーザ情報記憶部２４１に記憶されているユーザＩＤと同様の情報である。ユーザ名は、そのユーザの名称である。ユーザ画像は、そのユーザのプロフィール画像である。具体的には、ユーザ画像のデータを識別する情報が、ユーザＩＤと、ユーザ名と対応付けられており、ユーザ情報記憶部１４１は、上述のユーザ情報と、ユーザ画像の実データとをそれぞれ記憶する。
【００９２】
ここで、図１０に示すユーザ情報は、自ユーザのユーザ情報の例であって、ユーザＡのユーザ端末１００−１に記憶されているユーザＡのユーザ情報の例である。また、図１１に示すユーザ情報は、チャット相手として登録可能な他ユーザのユーザ情報の例であって、ユーザＡのユーザ端末１００−１に記憶されている他ユーザのユーザ情報（ユーザＢ、ユーザＣ、ユーザＤ、及びユーザＥのユーザ情報を含むユーザ情報）の例である。この図１１に示す他ユーザのユーザ情報は、他ユーザそれぞれのユーザ端末１００−Ｎでそのユーザ自身で登録したものである。この図１０に示す、ユーザＡのユーザ端末１００−１に記憶されている他ユーザのユーザ情報は、チャット相手として登録可能なユーザ関係になるとき、又は、チャット相手として登録されたときに、サーバ装置２００を介して他ユーザそれぞれのユーザ端末１００−Ｎから取得して記憶する。
【００９３】
なお、ユーザ端末１００が備えるユーザ情報記憶部１４１には、そのユーザ自身に関連する情報（例えば、ユーザ自身のユーザ情報、及び、ユーザ自身と同じグループに登録可能な他ユーザのユーザ情報）のみが記憶されている。これに対し、サーバ装置２００が備えるユーザ情報記憶部２４１には、サーバ装置２００を介してメッセージの送受信を行う全てのユーザに関する情報が記憶されている。
【００９４】
グループ情報記憶部１４２は、チャットを行うユーザのグループに関する情報を記憶する。例えば、グループ情報記憶部１４２は、サーバ装置２００から供給（送信）されたグループ情報を受信して、サーバ装置２００のグループ情報記憶部２４２に記憶されているグループ情報と同様の情報を記憶する。
【００９５】
なお、ユーザ端末１００が備えるグループ情報記憶部１４２には、そのユーザ自身に関連するグループのグループ情報（例えば、ユーザ自身が属するグループのグループ情報）のみが記憶される。これに対し、サーバ装置２００が備えるグループ情報記憶部２４２とには、サーバ装置２００を介してメッセージの送受信を行う全てのユーザに関するグループのグループ情報が記憶される。
【００９６】
メッセージ情報記憶部１４３は、自ユーザが属するグループにおいて送受信されたメッセージに関するメッセージ情報を記憶する。このメッセージ情報には、サーバ装置２００のメッセージ情報一時記憶部２４３に一時的に記憶されるメッセージ情報と同様に、グループＩＤと、ユーザＩＤと、送信日時情報と、メッセージとを対応付けした情報が含まれる。
【００９７】
図９に戻り、画面情報記憶部１４４は、上述したような複数のメッセージを時系列に並べて表示するメッセージ画面の画面情報を一時的に記憶する。また、画面情報記憶部１４４は、ユーザが登録したスケジュールを一覧表示するスケジュール画面の画面情報を一時的に記憶する。
【００９８】
制御部１５０は、ユーザ端末１００の制御中枢として機能するＣＰＵ（Central Processing Unit）等の情報処理装置を備えており、ユーザ端末１００が備える各部を制御する。制御部１５０は、メッセージ送信指示部１５１と、メッセージ送受信部１５２と、グループ登録部１５３と、表示制御部１５４とを備えている。
【００９９】
メッセージ送信指示部１５１は、操作受付部１２０に対するユーザからの操作に応じて生成された入力指示に基づいて、チャットにおけるメッセージの送信指示を示す送信指示情報を生成する。具体的には、メッセージ送信指示部１５１は、グループチャットのメッセージ画面において（例えば、図８に示すテキストボックスＫ２１に）メッセージが入力され、その入力されたメッセージを送信する操作（例えば、図８に示す送信ボタンＫ２２に対するタップ操作）がされると、入力されたメッセージに、そのメッセージが入力されたメッセージ画面のチャットのグループを識別するグループＩＤと、メッセージを入力したユーザである自ユーザを識別するユーザＩＤと、を対応付けたメッセージ情報を含む送信指示情報を生成する。
【０１００】
メッセージ送受信部１５２は、メッセージ送信指示部１５１が、操作受付部１２０に対する操作に応じて送信指示情報を生成すると、メッセージが入力されたメッセージ画面のグループＩＤをグループ情報記憶部１４２から読み出し、読み出したグループＩＤを宛先として、メッセージ送信指示部１５１によって生成された送信指示情報に含まれるメッセージ情報を、サーバ装置２００に送信する。このとき、メッセージ情報に含まれるグループＩＤ、ユーザＩＤ（自ユーザ）、及びメッセージを、新たなレコード（１メッセージ分のデータ）としてメッセージ情報記憶部１４３に記憶させる。なお、メッセージ送受信部１５２は、送信したメッセージ情報に対応して受信するサーバ装置２００から受信完了通知と共に送信日時情報（サーバ装置２００がこのメッセージを受信したときの受信日時情報）を取得し、対応するメッセージのレコードの送信日時情報を更新する。また、メッセージ送受信部１５２は、他のユーザ端末１００から、自ユーザが属するグループＩＤを宛先として送信されたメッセージ情報を、サーバ装置２００から受信し、メッセージ情報に含まれるグループＩＤ、ユーザＩＤ（他ユーザ）、送信日時情報、及びメッセージを、新たなレコードとしてメッセージ情報記憶部１４３に記憶させる。
【０１０１】
グループ登録部１５３は、チャットを行う際のグループを登録する。例えば、グループ登録部１５３は、チャットのグループを構成するユーザをユーザ単位又はグループ単位で登録する。具体的には、グループ登録部１５３は、ユーザ単位でグループを登録する場合、ユーザからの操作に応じて、グループ名とグループに登録する複数のユーザのユーザＩＤとを示す情報を含む要求信号をサーバ装置２００に対して送信する。また、グループ登録部１５３は、グループ単位でグループを登録する場合、ユーザからの操作に応じて、グループ名とグループに登録する複数のグループのグループＩＤとを示す情報を含む要求信号をサーバ装置２００に対して送信する。これらの要求信号（グループを生成する要求）に応じて、サーバ装置２００のグループ生成部２５３は、第１の実施形態で説明したように、ユーザ単位で登録されるグループのグループ情報、又は、グループ単位で登録されるグループ（合同グループ）のグループ情報を生成してグループ情報記憶部２４２に記憶させる。
【０１０２】
また、グループ登録部１５３は、サーバ装置２００のグループ生成部２５３が生成したグループ情報のうちの自ユーザに関連するグループのグループ情報（例えば、自ユーザ自身が属するグループのグループ情報）を取得して、グループ情報記憶部１４２に記憶させる。これにより、ユーザ端末１００のグループ情報記憶部１４２には、サーバ装置２００のグループ情報記憶部２４２に記憶されたグループ情報のうちの自ユーザに関連するグループのグループ情報（例えば、自ユーザ自身が属するグループのグループ情報）が記憶される。
【０１０３】
ここで、グループ単位で登録されるグループ（合同グループ）を作成する際のユーザ端末１００におけるユーザの操作例を説明する。まず、ユーザは、ユーザ端末１００の表示部１１０に対して、ユーザ自身が属する自グループが一覧表示されて選択可能な画面（自グループ選択画面）を表示させる操作を行う。この操作に応じて、ユーザ端末１００は、自グループ選択画面を表示部１１０に表示する。この自グループ選択画面において、ユーザは、自グループのなかからグループ単位でユーザを合同グループに登録したいグループを選択する操作を行う。この操作に応じて、ユーザ端末１００は、選択されたグループにおける処理が実行可能なグループ画面を表示する。このグループ画面内には、グループ単位でユーザを合同グループに登録する他のグループを検索する検索画面を表示部１１０に表示する操作子（検索ボタン）が表示される。ユーザが、この検索ボタンに対して操作すると、ユーザ端末１００は、他のグループを検索する検索画面を表示部１１０に表示する。この検索画面において、ユーザは、グループ単位でユーザを合同グループに登録したい他のグループを検索して選択する操作を行う。この操作がされると、ユーザ端末１００（グループ登録部１５３）は、選択された自グループと他のグループとがグループ単位で登録される合同グループを生成する要求信号をサーバ装置２００に対して送信する。
このような操作により、ユーザは、ユーザ自身が属する自グループと他のグループとを選択し、これら選択したグループがグループ単位で登録される合同グループを作成することができる。なお、上述の操作例は一例であってこれに限られるものではない。
【０１０４】
表示制御部１５４は、自ユーザの操作に応じて自ユーザのユーザ端末１００から送信するメッセージと、一又は複数の他ユーザの操作に応じて他のユーザ端末１００から送信されたメッセージとを、時系列に並べて表示部１１０に表示させる。また、表示制御部１５４は、表示させるメッセージに当該メッセージを送信したユーザを示す情報（例えば、ユーザ名やプロフィール画像）を対応付けて表示させる（例えば、図８参照）。具体的には、表示制御部１５４は、メッセージ情報記憶部１４３に記憶されている複数のメッセージ情報を読み出し、読み出した複数のメッセージ情報それぞれに含まれるメッセージを、それぞれに対応付けられた送信日時情報に基づいて時系列に並べたメッセージ画面の画面情報を生成して画面情報記憶部１４４に記憶させる。そして、表示制御部１５４は、生成した画面情報のうちの一部を表示部１１０に表示させる。
【０１０５】
ここで、表示制御部１５４は、生成した画面情報のうちの一部を表示部１１０に表示させる。例えば、表示制御部１５４は、画面情報のうち、ユーザからの操作によって指定されたメッセージを含む箇所を、表示部１１０に表示させる。初期段階で表示部１１０に表示させる画面情報の一部は、例えば、読み出した複数のメッセージのうち、最も新しい送信日時情報が対応付けられたメッセージ（最新のメッセージ）が含まれる箇所とすることができる。
【０１０６】
また、表示制御部１５４は、グループ単位で登録されて生成されたグループにおけるチャットのメッセージ画面では、メッセージを送信したユーザの属していた旧グループがいずれのグループであるかに基づいて、当該メッセージを区別して表示させる。例えば、表示制御部１５４は、メッセージを送信したユーザの属していた旧グループがいずれのグループであるかに基づいて、当該メッセージがメッセージ画面の左側からの吹き出しと右側の吹き出しとのいずれかに区別して表示させる。一例としては、表示制御部１５４は、図８に示すように、グループＣのグループチャットにおいて、旧グループがグループＡであるユーザ（ユーザＡ、ユーザＢ、又はユーザＣ）から送信されたメッセージをメッセージ画面の左側からの吹き出しに表示させ、旧グループがグループＢであるユーザ（ユーザＤ又はユーザＥ）から送信されたメッセージをメッセージ画面の右側からの吹き出しに表示させる。
【０１０７】
このように、ユーザ端末１００は、メッセージを送信したユーザの属していた旧グループがいずれのグループであるかに基づいて、当該メッセージを区別して表示させる。具体的には、ユーザ端末１００は、グループ情報記憶部１４２に記憶されているグループ情報を参照して、ユーザの属していた旧グループがいずれのグループであるかを示す情報に基づいて、ユーザの属していた旧グループ毎に区別してメッセージを表示させる。例えば、ユーザ端末１００は、図８に示すように、ユーザの属していた旧グループ毎に区別して、メッセージ画面の左側からの吹き出しと右側の吹き出しとのいずれかにメッセージを表示させる。
【０１０８】
これにより、ユーザ端末１００は、グループ単位で登録されて生成されたグループにおけるチャットのメッセージ画面では、ユーザの属していた旧グループ毎に区別してメッセージを表示させることができる。よって、ユーザは、メッセージ画面において表示されるメッセージを送信したユーザの属していた旧グループがいずれのグループであるかを容易に判別することができる。
即ち、サーバ装置２００は、ユーザ端末１００に対して、グループ単位で登録されて生成されたグループにおけるチャットのメッセージ画面において、ユーザの属していた旧グループ毎に区別してメッセージを表示させるようにすることができる。
【０１０９】
（メッセージ画面の別の表示例）
なお、図８を参照して、メッセージを送信したユーザの属していた旧グループがいずれのグループであるかに基づいて、当該メッセージがメッセージ画面の左側からの吹き出しと右側の吹き出しとのいずれかに区別して表示させる例を説明したが、区別して表示させる方法は他の方法であってもよい。
以下、図１２から図１４を参照して、図８に示す例（第１の例）とは異なるメッセージ画面の例（第２から第４の例）を説明する。なお、図１２から図１４において、図８の各部に対応する部分に同一の符号を付けており、その説明を省略する。
【０１１０】
図１２は、ユーザ端末１００が表示するメッセージ画面の第２の例を示す図である。この図では、メッセージを送信したユーザの属していた旧グループがいずれのグループであるかに基づいて、当該メッセージが表示される吹き出しの形態を異ならせて表示する例を示している。
【０１１１】
ここでは、旧グループがグループＡであるユーザ（ユーザＡ、ユーザＢ、又はユーザＣ）から送信されたメッセージは、１本の実線（１本の太い実線）で囲まれる吹き出しに表示される。例えば、吹き出しＫ５には、旧グループがグループＡであるユーザＡから送信されたメッセージが表示される。一方、旧グループがグループＢであるユーザ（ユーザＤ又はユーザＥ）から送信されたメッセージは、１本の白抜き線（２本の細い線）で囲まれる吹き出し（例えば、吹き出しＫ１５）に表示される。例えば、吹き出しＫ１５には、旧グループがグループＢであるユーザＤから送信されたメッセージが表示される。このように、ユーザ端末１００は、吹き出しの形態を互いに異ならせることにより、旧グループがグループＡであるユーザと、旧グループがグループＢであるユーザとのそれぞれから送信されたメッセージを区別して表示してもよい。
【０１１２】
なお、旧グループがいずれのグループであるかに基づいて互いに異ならせる吹き出しの形態は、上述したように、吹き出しを囲む枠線の種類が異なるようしてもよいが、枠線の色が異なるようしてもよい。また、吹き出しの形、吹き出しの背景の色、吹き出しに表示されるメッセージの色、大きさ、フォント等の形態が異なるようしてもよい。
【０１１３】
図１３は、ユーザ端末１００が表示するメッセージ画面の第３の例を示す図である。この図では、メッセージを送信したユーザの属していた旧グループがいずれのグループであるか示す情報を表示する例を示している。
【０１１４】
ここでは、旧グループがグループＡであるユーザ（ここではユーザＡ）から送信されたメッセージが表示される吹き出しＫ３に対応して、ユーザ名ラベルＫ６には、ユーザＡのユーザ名「ｎａｍｅＡ」と、旧グループを示す「グループＡ」とが表示される。一方、旧グループがグループＢであるユーザ（ここではユーザＤ）から送信されたメッセージが表示される吹き出しＫ１３に対応して、ユーザ名ラベルＫ１６には、ユーザＤのユーザ名「ｎａｍｅＤ」と、旧グループを示す「グループＢ」とが表示される。このように、ユーザ端末１００は、メッセージが表示される吹き出しに対応して旧グループを示す情報（グループ名）を表示することにより、旧グループがグループＡであるユーザと、旧グループがグループＢであるユーザとのそれぞれから送信されたメッセージを区別して表示してもよい。
【０１１５】
図１４は、ユーザ端末１００が表示するメッセージ画面の第４の例を示す図である。この図では、グループに属するユーザ（グループメンバー）を示す情報を、ユーザの属していた旧グループがいずれのグループであるかに基づいて区別して表示する例を示している。
【０１１６】
ここでは、符号１１０ｃの領域に表示される、グループＣに属するユーザ（ユーザＡ、Ｂ、Ｃ、Ｄ、Ｅ）のそれぞれを示すアイコン（ここでは、プロフィール画像）が、それぞれのユーザの属していた旧グループがいずれのグループであるかに基づいて区別して表示されている。旧グループがグループＡであるユーザ（ユーザＡ、Ｂ、Ｃ）を示すアイコンに対応付けて（下側に）１本の実線（符号Ｋ３１参照）が表示され、旧グループがグループＢであるユーザ（ユーザＤ、Ｅ）を示すアイコンに対応付けて（下側に）１本の白抜き線（符号Ｋ３２参照）が表示されている。これは、上述した図１２に示す吹き出しを囲む枠線の種類に対応して表示させている例である。このように、ユーザ端末１００は、グループに属するユーザ（グループメンバー）を示す情報（例えば、アイコン）が、旧グループ毎に区別可能なように表示されてもよい。
【０１１７】
なお、ユーザ端末１００は、符号１１０ｃの領域において、１本の実線（符号Ｋ３１参照）と１本の白抜き線（符号Ｋ３２参照）とにより区別して表示することに代えて、吹き出しを囲む枠の色、吹き出しの背景の色、又は吹き出しに表示されるメッセージの色と対応した互いに異なる色により区別して表示してもよい。例えば、ユーザ端末１００は、符号１１０ｃの領域において、ユーザを示すアイコンに対応付けて旧グループ毎に互いに異なる色の線を表示してもよいし、旧グループ毎に色分けされた背景の領域に区別してユーザを示すアイコンを表示してもよい。
【０１１８】
なお、上述したように、この符号１１０ｃの領域において区別して表示する形態と、符号１１０ｄの領域において各メッセージが表示される吹き出しの形態とを対応する形態としてもよいし、又は対応しない形態としてもよい。
【０１１９】
このように、図１２から図１４に示すメッセージ画面の表示例としても、ユーザ端末１００は、メッセージを送信したユーザの属していた旧グループがいずれのグループであるかを区別可能に表示することができる。
【０１２０】
なお、図１２から図１４に示すメッセージ画面では、旧グループ毎に区別して、メッセージ画面の左側からの吹き出しと右側の吹き出しとのいずれかにメッセージが表示されているが、このような吹き出しの表示とする必要はない。つまり、この図１２から図１４に示すメッセージ画面では、吹き出しの表示される位置によらずに旧グループ毎に区別可能なように表示されるため、表示制御部１５４は、旧グループ毎に区別して、メッセージ画面の左側からの吹き出しと右側の吹き出しとのいずれかにメッセージを表示しなくともよい。
【０１２１】
また、表示制御部１５４は、メッセージを時系列に並べて表示部１１０に表示させる場合、昇順（新しいメッセージが下側）に表示させる構成に限られるものではなく、降順に表示させる構成としてもよい。また、表示制御部１５４は、メッセージを上下方向に時系列に並べて表示させる構成に限られるものではなく、左右方向に時系列に並べて表示させる構成としてもよい。
【０１２２】
また、表示制御部１５４は、他ユーザのユーザ端末１００から送信されたメッセージに対しては当該メッセージを送信した他ユーザを示す情報を対応付けて表示させ、自ユーザのユーザ端末１００から送信するメッセージに対しては自ユーザを示す情報を対応付けずに表示させてもよい。
【０１２３】
このように、本実施形態のサーバ装置２００、ユーザ端末１００、及び、サーバ装置２００と複数のユーザ端末１００とを備えたチャットシステム１（メッセージ共有システム）によれば、グループ内のユーザ間でメッセージを送受信する際の利便性を向上させることができる。
【０１２４】
＜第３の実施形態＞
次に、本発明の第３の実施形態を説明する。本実施形態のチャットシステム１の構成は、第１又は第２の実施形態と同様であるので、本実施形態において特徴的な処理について説明する。第２の実施形態では、メッセージを送信したユーザの属していた旧グループ毎に区別してメッセージを表示させる処理について説明した。本実施形態では、ユーザの属していた旧グループ毎に、他の旧グループに属していたユーザにはメッセージが表示されないようにする処理を説明する。
【０１２５】
例えば、グループ単位で登録されて生成されたグループにおいて行われるチャットにおいて、ユーザは、生成前に属していたグループのユーザ（旧グループのグループメンバー）のみとチャットを行いたいような場合がある。そこで、本実施形態によるサーバ装置２００は、グループ単位で登録されて生成されたグループにおいて送信されるメッセージを、当該メッセージを送信したユーザと旧グループで同じメンバーであったユーザのユーザ端末１００においてのみ表示されるように、当該旧グループで同じメンバーであったユーザのユーザ端末１００にのみ送信することが可能である。例えば、サーバ装置２００は、グループ単位で登録されて生成されたグループにおいて受信したメッセージ情報を、当該メッセージ情報を送信したユーザの旧グループに属するユーザのみを対象として送信する。
【０１２６】
なお、このグループ単位で登録されて生成されたグループにおいて、そのグループの生成前にユーザが属していた旧グループのグループメンバーのみとチャットを行う処理は、例えば、グループＣのチャットを実行中のメッセージ画面に対して、所定の第１の操作が行われることにより開始され、所定の第２の操作が行われることにより終了するように構成されてもよい。ここで、上述の所定の第１の操作と所定の第２の操作とは、例えば、メッセージ画面内の所定の領域に対して操作がされることにより表示部１１０にポップアップ画面が表示され、そのポップアップ画面内に表示される操作子（旧グループのグループメンバーのみとチャットを行う処理の開始を選択可能な操作子又は終了を選択可能な操作子）に対する操作であってもよい。また、このグループ単位で登録されて生成されたグループにおいて、そのグループの生成前にユーザが属していた旧グループのグループメンバーのみとチャットを行う処理は、例えば、グループＣのチャットを実行中のメッセージ画面において、新たに送信するメッセージを入力した際に、そのメッセージの送信前に、グループＣに属するユーザ全てを対象としたチャットとするか、又は、旧グループ（グループＡ及びグループＢの何れか一方）のメンバーのみを対象としたチャットとするかを選択可能なように構成されてもよい。
【０１２７】
図１５は、本実施形態によるメッセージの送信処理の一例を示すフローチャートである。この図１５を参照して、本実施形態によるメッセージ情報の送信処理の動作について説明する。ここでは、グループＣにおいて行われるチャットのメッセージの送信処理であって、メッセージ情報を送信したユーザが属していた旧グループのグループメンバーのみとチャットが行われる場合の処理の動作の一例を説明する。
【０１２８】
まず、グループＣに属するユーザのうちのいずれかのユーザのユーザ端末１００において、グループＣのグループチャットが開始され、このユーザ端末１００が、グループＣのチャットのメッセージ画面において入力されたメッセージのメッセージ情報を送信する（ステップＳ３１０）。
【０１２９】
サーバ装置２００の受信部２５１は、グループＣに属するユーザのうちのいずれかのユーザのユーザ端末１００から送信されたメッセージ情報を受信し、受信したメッセージ情報をメッセージ情報一時記憶部２４３に一時的に記憶させる（ステップＳ３２０）。
【０１３０】
送信部２５２は、受信部２５１が受信してメッセージ情報一時記憶部２４３に記憶させたメッセージ情報を読み出して、当該メッセージ情報を送信したユーザがグループＡに属していたユーザであるか否か（旧グループがグループＡであるか否か）を判定する（ステップＳ３３０）。
【０１３１】
ステップＳ３３０において、メッセージ情報を送信したユーザがグループＡに属していたユーザである（旧グループがグループＡである）と判定された場合（ステップＳ３３０：ＹＥＳ）、送信部２５２は、メッセージ情報を送信したユーザがグループＢに属していたユーザであるか否か（旧グループがグループＢであるか否か）を判定する（ステップＳ３４０）。
【０１３２】
ステップＳ３４０において、メッセージ情報を送信したユーザがグループＢに属していたユーザである（旧グループがグループＢである）と判定された場合（ステップＳ３４０：ＹＥＳ）、即ち、メッセージ情報を送信したユーザがグループＡとグループＢとの両方に属していたユーザである場合には、送信部２５２は、グループＣに属するユーザ（グループＡに属していたユーザ及びグループＢに属していたユーザ）のうち、当該メッセージ情報を送信したユーザを除くユーザのユーザ端末１００に対して、当該メッセージ情報を送信する（ステップＳ３５０）。
【０１３３】
一方、ステップＳ３４０において、メッセージ情報を送信したユーザがグループＢに属していたユーザではない（旧グループがグループＢではない）と判定された場合（ステップＳ３４０：ＮＯ）、送信部２５２は、グループＣに属するユーザのなかで、グループＡに属していたユーザ（旧グループがグループＡであるユーザ）のうち、当該メッセージ情報を送信したユーザを除くユーザのユーザ端末１００に対して、当該メッセージ情報を送信する（ステップＳ３６０）。即ち、メッセージ情報を送信したユーザがグループＡに属していたユーザ（且つ、グループＢには属していないユーザ）である場合には、送信部２５２は、グループＣに属するユーザのなかで、グループＢに属していたユーザ（旧グループがグループＢであるユーザ）へ当該メッセージ情報を送信する処理を禁止する。
【０１３４】
また、ステップＳ３３０において、メッセージ情報を送信したユーザがグループＡに属していたユーザではない（旧グループがグループＡではない）と判定された場合（ステップＳ３３０：ＮＯ）、送信部２５２は、メッセージ情報を送信したユーザがグループＢに属していたユーザであるか否か（旧グループがグループＢであるか否か）を判定する（ステップＳ３７０）。
【０１３５】
ステップＳ３７０において、メッセージ情報を送信したユーザがグループＢに属していたユーザである（旧グループがグループＢである）と判定された場合（ステップＳ３７０：ＹＥＳ）、送信部２５２は、グループＣに属するユーザのなかで、グループＢに属していたユーザ（旧グループがグループＢであるユーザ）のうち、当該メッセージ情報を送信したユーザを除くユーザのユーザ端末１００に対して、当該メッセージ情報を送信する（ステップＳ３８０）。即ち、メッセージ情報を送信したユーザがグループＢに属していたユーザ（且つ、グループＡには属していないユーザ）である場合には、送信部２５２は、グループＣに属するユーザのなかで、グループＡに属していたユーザ（旧グループがグループＡであるユーザ）へ当該メッセージ情報を送信する処理を禁止する。
【０１３６】
なお、ステップＳ３７０において、メッセージ情報を送信したユーザがグループＢに属していたユーザではない（旧グループがグループＢではない）と判定された場合（ステップＳ３７０：ＮＯ）、即ち、メッセージ情報を送信したユーザがグループＡ及びグループＢのいずれにも属していないユーザである場合には、送信部２５２は、当該メッセージ情報を送信しないで処理を終了する。
【０１３７】
このように、サーバ装置２００は、グループ単位で登録されて生成されたグループにおいて送信されるメッセージ情報を、当該メッセージ情報を送信したユーザと旧グループで同じメンバーであったユーザのユーザ端末１００においてのみ表示されるように、当該旧グループで同じメンバーであったユーザのユーザ端末１００にのみ送信することができる。よって、チャットシステム１は、グループ単位で登録されて生成されたグループにおいてチャットを行っている途中に、ユーザ自身がかつて属していた旧グループのグループメンバーのみとチャットを行うことができる。
【０１３８】
例えば、グループＣにおいて行われるグループチャットにおいて、旧グループがグループＢであるグループメンバーのみとのチャットが開始されたとする。この場合には、旧グループがグループＢであるユーザ（ユーザＤ及びユーザＥ）から送信されたメッセージは、旧グループがグループＢであるユーザのユーザ端末１００においてのみ表示される。この場合にユーザ端末１００が表示するメッセージ画面の例を、図１６及び図１７を参照して説明する。なお、図１６及び図１７において、図８の各部に対応する部分に同一の符号を付けており、その説明を省略する。
【０１３９】
図１６は、本実施形態によるユーザ端末１００が表示するメッセージ画面の一例を示す図であって、旧グループがグループＢであるユーザのユーザ端末１００が表示するメッセージ画面の一例を示している。この図に示すように、旧グループがグループＢであるユーザのユーザ端末１００は、グループＣにおけるチャットのメッセージをメッセージ画面に表示するとともに、旧グループがグループＢであるグループメンバーのみとのチャットのメッセージをメッセージ画面に表示する。吹き出しＫ１７には、ユーザＤから送信されたメッセージであって、旧グループがグループＢであるグループメンバーのみとのチャットのメッセージが表示されている。ここで吹き出しＫ１７は、旧グループがグループＢであるグループメンバーのみとのチャットのメッセージが表示されていることが分かるように、グループＣに属する全ユーザとのチャットのメッセージが表示される吹き出しＫ３とは異なる形状の吹き出しとして表示されている。
【０１４０】
図１７は、本実施形態によるユーザ端末１００が表示するメッセージ画面の一例を示す図であって、旧グループがグループＡであるユーザのユーザ端末１００が表示するメッセージ画面の一例を示している。この図に示すように、旧グループがグループＢであるグループメンバーのみとのチャットのメッセージは、旧グループがグループＡであるユーザ（ユーザＡ、ユーザＢ、及びユーザＣ）のユーザ端末１００には表示されない。
【０１４１】
以上説明したように、本実施形態のサーバ装置２００において、グループ生成部２５３は、例えば、上述のグループＡ（第１グループ）に属するユーザと、グループＢ（第２グループ）に属するユーザとを区別して対応付けたグループＣ（第３グループ）を生成する。そして、送信部２５２は、受信部２５１が受信したメッセージを、当該メッセージを送信したユーザが属するグループがグループＡ（第１グループ）である場合にはグループＢ（第２グループ）に属するユーザのユーザ端末１００（端末装置）に対して送信する処理を禁止する。また、送信部２５２は、受信部２５１が受信したメッセージを、当該メッセージを送信したユーザが属するグループがグループＢ（第２グループ）である場合にはグループＡ（第１グループ）に属するユーザのユーザ端末１００（端末装置）に送信する処理を禁止する。ここで、グループＡ（第１グループ）とグループＢ（第２グループ）とは、グループＣ（第３グループ）に属するユーザの旧グループである。
【０１４２】
これにより、サーバ装置２００は、グループ単位で登録されて生成されたグループにおいて送信されるメッセージを、当該メッセージを送信したユーザが属していた旧グループのメンバーであったユーザのユーザ端末１００にのみ送信することができる。即ち、サーバ装置２００は、グループ単位で登録されて生成されたグループにおいて送信されるメッセージを、当該メッセージ情報を送信したユーザが属していた旧グループのメンバーであったユーザのユーザ端末１００にのみ表示されるようにすることができる。
よって、ユーザ端末１００は、グループ単位で登録されて生成されたグループにおいて送信されるメッセージのうち、当該メッセージ情報を送信したユーザと旧グループで同じメンバーであったユーザから送信されたメッセージのみ表示することができる。従って、チャットシステム１は、グループ単位で登録されて生成されたグループにおいてチャットを行っている途中に、ユーザ自身がかつて属していた旧グループのグループメンバーのみとチャットを行うことができる。
【０１４３】
なお、送信部２５２は、受信部２５１が受信したメッセージを、当該メッセージを送信したユーザが属するグループがグループＡ（第１グループ）とグループＢ（第２グループ）との両方である場合には、グループＡに属するユーザ及びグループＢに属するユーザのうち、当該メッセージを送信したユーザを除くユーザのユーザ端末１００（端末装置）に送信する処理を禁止しなくともよい。即ち、送信部２５２は、グループＡとグループＢとの両方に属するユーザ（旧グループがグループＡとグループＢの両方であるユーザ）も、旧グループのグループメンバーのみとチャットを行うことが可能である。例えば、送信部２５２は、グループＡとグループＢとの両方に属するユーザ（旧グループがグループＡとグループＢの両方であるユーザ）から送信されたメッセージを、グループＡに属するユーザ及びグループＢに属するユーザのうち、当該メッセージを送信したユーザを除くユーザのユーザ端末１００に送信してもよい。また、送信部２５２は、グループＡに属するユーザから送信されたメッセージとグループＢに属するユーザから送信されたメッセージとの両方を、グループＡとグループＢとの両方に属するユーザ（旧グループがグループＡとグループＢの両方であるユーザ）のユーザ端末１００に送信してもよい。
【０１４４】
ここで、グループＣに属するユーザのうち、グループＡとグループＢとの両方に属するユーザ（旧グループがグループＡとグループＢの両方であるユーザ）とは、グループＡとグループＢとをグループ単位で登録して生成されたグループＣにおいて行われるチャットにおいて、例えば、司会や運営側の立場として参加しているユーザである。
【０１４５】
なお、本実施形態では、サーバ装置２００が、メッセージ情報を送信したユーザが属する旧グループのメンバーであったユーザにのみ当該メッセージ情報を送信する処理、即ち、サーバ装置２００が送信先を制限する処理を説明したが、これに限られるものではない。例えば、サーバ装置２００が送信先を制限せずに、ユーザ端末１００が、サーバ装置２００から受信したメッセージ情報を、当該メッセージ情報を送信したユーザが旧グループで自ユーザと同じメンバーであった場合にのみ表示するようにしてもよい。
【０１４６】
このように、本実施形態のサーバ装置２００、ユーザ端末１００、及び、サーバ装置２００と複数のユーザ端末１００とを備えたチャットシステム１（メッセージ共有システム）によれば、グループ内のユーザ間でメッセージを送受信する際の利便性を向上させることができる。
【０１４７】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の第１から第３の実施形態において説明した各機能は、任意に組み合わせることができる。
【０１４８】
なお、上述の実施形態では、複数のグループをグループ単位でまとめたグループを生成する例として、グループＡとグループＢとの２つのグループをグループ単位でまとめたグループＣを生成する例を説明したが、３つ以上のグループをグループ単位でまとめたグループを生成してもよい。また、既にグループ単位でまとめて生成されたグループを含む複数のグループをグループ単位でまとめて新たなグループを生成してもよい。
【０１４９】
また、上述の実施形態では、日時情報が対応付けられたメッセージが送受信される例を説明したが、日時情報が対応付けられていないメッセージが送受信される構成としてもよい。例えば、送受信されるメッセージに日時情報が対応付けられていない構成の場合、ユーザ端末１００は、メッセージを受信した日時に基づいて、その受信したメッセージを時系列に並べて表示してもよい。
【０１５０】
また、上述の実施形態では、ユーザＩＤが複数のユーザ端末１００それぞれに固有に設定される構成を例に説明したが、これに限られるものではない。例えば、ユーザＩＤは、ユーザ毎に固有に設定される構成としてもよく、同一のユーザが複数の端末を利用する際に、それぞれの端末に同一のユーザＩＤを設定可能な構成としてもよい。なお、ユーザ端末１００それぞれに固有に設定される情報として、ユーザＩＤに代えて、端末ＩＤや電話番号等を用いてもよい。
【０１５１】
また、上述の実施形態では、操作受付部１２０と表示部１１０とは一体に構成されてユーザからの操作入力を受け付けるタッチパネルを適用した例を説明したが、操作受付部１２０と表示部１１０とが別に構成され、操作受付部１２０としてキーボードやボタンを適用してもよい。また、操作受付部１２０を、音声認識により操作入力可能な操作入力部として構成してもよい。また、上述の実施形態では、ユーザ端末１００において表示部１１０が一体として構成された例を説明したが、これに限らず、外部の表示部（表示装置）と有線又は無線により接続される構成としてもよい。
【０１５２】
また、上述の実施形態では、チャットアプリケーションにおける制御の例を示したが、上述したように、送信されたメッセージをグループ内のユーザに対して送信する電子メールによるメーリングリスト、電子掲示板、タイムライン、ミニブログ（マイクロブログ、つぶやきブログ）チャット等における制御にも上述の実施形態を適用することができる。ここで、電子メールとは、携帯電話等によるショートメッセージサービス等により送受信されるメールであってもよい。なお、ユーザ間で送受信されるメッセージの表示の即時性という観点では、チャットアプリケーションにおける制御がより好適である。
また、上述の実施形態では、ユーザ端末１００間で送受信するメッセージは文字列であるとしたが、メッセージには、絵文字や写真等の画像情報や、音声等の情報が含まれていてもよい。
【０１５３】
また、本発明の実施形態は、上述の例に限るものではなく、本発明の範囲内で様々な形態をとることができる。例えば、上述したチャットシステム１が備える各構成は、任意のコンピュータ装置に分散または集約して配置することができる。例えば、サーバ装置２００は、クラウド環境やネットワーク環境、ユーザ数の規模、チャットシステム１を構成するために用意されたハードウェアの数やスペック等に応じて、任意のコンピュータ装置に分散または集約して配置することができる。
また、例えば、複数のユーザ端末１００間で送受信されるメッセージの全てをサーバ装置２００が記憶しておき、ユーザ端末１００からの任意の要求に応じてメッセージを送信し、ユーザ端末１００に表示させるようにしてもよい。
また、上述の実施形態では、複数のユーザ端末１００はサーバ装置２００を介してメッセージを送受信する例を示したが、サーバ装置２００を介さずに、複数のユーザ端末１００同士が直接メッセージを送受信してもよい。
【０１５４】
なお、上述の制御部１５０又はサーバ制御部２５０の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述の制御部１５０又はサーバ制御部２５０の処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１５５】
また、上述した機能の一部または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【０１５６】
１  チャットシステム、５  ネットワーク、１００  ユーザ端末、１１０  表示部、１２０  操作受付部、１３０  通信部、１４０  記憶部、１４１  ユーザ情報記憶部、１４２  グループ情報記憶部、１４３  メッセージ情報記憶部、１４４  画面情報記憶部、１５０  制御部、１５１  メッセージ送信指示部、１５２  メッセージ送受信部、１５３  グループ登録部、１５４  表示制御部、２００  サーバ装置、２３０  サーバ通信部、２４０  サーバ記憶部、２４１  ユーザ情報記憶部、２４２  グループ情報記憶部、２４３  メッセージ情報一時記憶部、２５０  サーバ制御部、２５１  受信部、２５２  送信部、２５３  グループ生成部
【図１】
2014115946.tif 000003
【図２】
2014115946.tif 000004
【図３】
2014115946.tif 000005
【図４】
2014115946.tif 000006
【図５】
2014115946.tif 000007
【図６】
2014115946.tif 000008
【図７】
2014115946.tif 000009
【図８】
2014115946.tif 000010
【図９】
2014115946.tif 000011
【図１０】
2014115946.tif 000012
【図１１】
2014115946.tif 000013
【図１２】
2014115946.tif 000014
【図１３】
2014115946.tif 000015
【図１４】
2014115946.tif 000016
【図１５】
2014115946.tif 000017
【図１６】
2014115946.tif 000018
【図１７】
2014115946.tif 000019