(57)【要約】【課題】既読に関する情報の処理負荷を低減すること。【解決手段】情報処理装置が、第１ユーザと、第２ユーザとを含むグループ宛てのコンテンツのうち、最も新しいコンテンツの識別情報を、前記第１ユーザの端末から受信するステップと、前記グループにおける前記第１ユーザの既読情報の少なくとも一部として、前記最も新しいコンテンツの識別情報を管理するステップと、前記グループに含まれる第２ユーザの端末に、前記グループにおける前記第１のユーザの既読情報を送信するステップと、を実行する。【選択図】図２
2018116569.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が、
第１ユーザと、第２ユーザとを含むグループ宛てのコンテンツのうち、最も新しいコンテンツの識別情報を、前記第１ユーザの端末から受信するステップと、
前記グループにおける前記第１ユーザの既読情報の少なくとも一部として、前記最も新しいコンテンツの識別情報を管理するステップと、
前記グループに含まれる第２ユーザの端末に、前記グループにおける前記第１ユーザの既読情報を送信するステップと、を実行する情報処理方法。
【請求項２】
前記グループ宛てのコンテンツのうち、前記最も新しいコンテンツ以前のコンテンツを既読として第２のユーザの端末に表示させるステップと、を実行する請求項１記載の情報処理方法。
【請求項３】
前記表示させるステップは、前記グループ宛てのコンテンツについて、既読のユーザと未読のユーザとのうち、ユーザの数が少ない方のユーザの情報を、第２のユーザの端末に表示させる、請求項２記載の情報処理方法。
【請求項４】
第１ユーザと、第２ユーザとを含むグループ宛てのコンテンツのうち、最も新しいコンテンツの識別情報を、前記第１ユーザの端末から受信する受信部と、
前記グループにおける前記第１ユーザの既読情報の少なくとも一部として、前記最も新しいコンテンツの識別情報を管理する管理部と、
前記グループに含まれる第２ユーザの端末に、前記グループにおける前記第１ユーザの既読情報を送信する通知部と、を備える情報処理装置。
【請求項５】
情報処理装置に、
第１ユーザと、第２ユーザとを含むグループ宛てのコンテンツのうち、最も新しいコンテンツの識別情報を、前記第１ユーザの端末から受信するステップと、
前記グループにおける前記第１ユーザの既読情報の少なくとも一部として、前記最も新しいコンテンツの識別情報を管理するステップと、
前記グループに含まれる第２ユーザの端末に、前記グループにおける前記第１ユーザの既読情報を送信するステップと、を実行させるプログラム。
【請求項６】
情報処理端末に、
第１ユーザと、第２ユーザとを含むグループ宛てのコンテンツを表示するステップと、
前記グループ宛てのコンテンツのうち、最も新しいコンテンツの識別情報を含む既読通知を送信するステップと、
前記グループの識別情報、前記第２ユーザの識別情報、所定のコンテンツの識別情報を含む既読情報を受信するステップと、
前記第２ユーザについて、前記グループ宛てのコンテンツのうち、前記所定のコンテンツ以前に前記第１ユーザにより送信されたコンテンツが既読であることを表示するステップと、を実行させるプログラム。
【請求項７】
情報処理端末が、
第１ユーザと、第２ユーザとを含むグループ宛てのコンテンツを表示するステップと、
前記グループ宛てのコンテンツのうち、最も新しいコンテンツの識別情報を含む既読通知を送信するステップと、
前記グループの識別情報、前記第２ユーザの識別情報、所定のコンテンツの識別情報を含む既読情報を受信するステップと、
前記第２ユーザについて、前記グループ宛てのコンテンツのうち、前記所定のコンテンツ以前に前記第１ユーザにより送信されたコンテンツが既読であることを表示するステップと、を実行する情報処理方法。
【請求項８】
第１ユーザと、第２ユーザとを含むグループ宛てのコンテンツを表示する制御部と、
前記グループ宛てのコンテンツのうち、最も新しいコンテンツの識別情報を含む既読通知を送信する既読通知部と、
前記グループの識別情報、前記第２ユーザの識別情報、所定のコンテンツの識別情報を含む既読情報を受信すると、前記第２ユーザについて、前記グループ宛てのコンテンツのうち、前記所定のコンテンツ以前に前記第１ユーザにより送信されたコンテンツが既読であることを表示する表示部と、を備える情報処理端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法、プログラム、情報処理装置、及び情報処理端末に関する。
【背景技術】
【０００２】
従来、端末の間で送受信された電子メールやＳＮＳ（Social Network Service）のコンテンツ等について、一のユーザが既読したことを他のユーザに通知する技術が知られている。例えば、受信者の端末にて一のコンテンツ等が表示されると、受信者の端末から、サーバを介して、送信者の端末に、当該一のコンテンツに対する既読通知が送信される（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２１６０７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、コンテンツが表示される度に、既読通知がサーバに送信されるため、サーバにて管理する既読通知のデータ量が大きくなるという問題があった。
【０００５】
本開示は、上記問題に鑑みてなされたものであり、既読に関する情報の処理負荷を低減することが可能な情報処理方法、プログラム、情報処理装置、及び情報処理端末を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示の一実施形態に係る情報処理装置は、第１ユーザと、第２ユーザとを含むグループ宛てのコンテンツのうち、最も新しいコンテンツの識別情報を、前記第１ユーザの端末から受信するステップと、前記グループにおける前記第１ユーザの既読情報の少なくとも一部として、前記最も新しいコンテンツの識別情報を管理するステップと、前記グループに含まれる第２ユーザの端末に、前記グループにおける前記第１のユーザの既読情報を送信するステップと、を実行する。
【発明の効果】
【０００７】
本開示によれば、既読に関する情報の処理負荷を低減することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る通信システムの構成の一例を示す図である。
【図２】第１の実施形態に係る通信システムの処理のシーケンスの一例を示す図である。
【図３】実施形態に係るトークルーム管理テーブルの一例を示す図である。
【図４】実施形態に係る既読情報管理テーブルの一例を示す図である。
【図５】第１の実施形態に係るイベント管理テーブルの一例を示す図である。
【図６】第１の実施形態に係るイベント管理テーブルを更新する処理の一例を示すフローチャートである。
【図７】実施形態に係る既読の情報を表示する処理の一例を示すフローチャートである。
【図８】実施形態に係る端末の既読情報の表示画面の一例を示す図である。
【図９】第２の実施形態に係る通信システムの構成の一例を示す図である。
【図１０】第２の実施形態に係る通信システム１の処理のシーケンスの一例を示す図である。
【図１１】第２の実施形態に係る第２のイベント管理テーブル１０５４の一例を示す図である。
【図１２】第２の実施形態の変形例に係る第２のイベント管理テーブル１０５４の一例を示す図である。
【図１３】第３の実施形態に係る通信システムの構成の一例を示す図である。
【図１４】第３の実施形態に係る通信システム１の処理のシーケンスの一例を示す図である。
【発明を実施するための形態】
【０００９】
［実施形態の概要］
＜通信の秘密の遵守＞
本明細書に記載の開示を実施する場合は、通信の秘密に係る法的事項を遵守の上で実施されるものであることに留意されたい。
【００１０】
本開示の実施形態について、図面を参照して説明する。
【００１１】
＜システム構成＞
図１は、本開示の一態様における通信システム１の構成を示す図である。図１に示すように、通信システム１では、ネットワーク２を介してサーバ１０（サーバ１０Ａ、サーバ１０Ｂ）と、端末２０（端末２０Ａ，端末２０Ｂ，端末２０Ｃ）とが接続される。サーバ１０は、ネットワーク２を介してユーザが使用する端末２０に、端末２０間でのコンテンツの送受信を実現するサービスを提供する。なお、ネットワーク２に接続されるサーバ１０および端末２０の数は限定されない。
【００１２】
ネットワーク２は、１以上の端末２０と、１以上のサーバ１０とを接続する役割を行う。すなわち、ネットワーク２は、端末２０がサーバ１０に接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。
【００１３】
例えば、ネットワーク２のうちの１つまたは複数の部分は、有線ネットワークや無線ネットワークであってもよい。ネットワーク２は、アドホック・ネットワーク（ad hoc network）、イントラネット、エクストラネット、仮想プライベート・ネットワーク（virtual private network：ＶＰＮ）、ローカル・エリア・ネットワーク（local area network：ＬＡＮ）、ワイヤレスＬＡＮ（wireless LAN：ＷＬＡＮ）、広域ネットワーク（wide area network：ＷＡＮ）、ワイヤレスＷＡＮ（wireless WAN：ＷＷＡＮ）、大都市圏ネットワーク（metropolitan area network：ＭＡＮ）、インターネットの一部、公衆交換電話網（Public Switched Telephone Network：ＰＳＴＮ）の一部、携帯電話網、ＩＳＤＮｓ（integrated service digital networks）、無線ＬＡＮｓ、ＬＴＥ（long term evolution）ＣＤＭＡ（code division multiple access）、ブルートゥース（Bluetooth（登録商標））、衛星通信など、または、これらの２つ以上の組合せを含むことができる。ただし、本開示において、ネットワーク２は、これらに限定されない。また、ネットワーク２は、１つまたは複数のネットワーク２を含むことができる。
【００１４】
端末２０（端末２０Ａ，端末２０Ｂ，端末２０Ｃ）は、各実施形態において記載する機能を実現できる情報処理端末であればどのような端末であってもよい。端末２０は、代表的にはスマートフォンであり、その他に携帯電話（例えば、フィーチャーフォン）、コンピュータ（例えば、デスクトップ、ラップトップ、タブレットなど）、メディアコンピュータプラットホーム（例えば、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ）、ハンドヘルドコンピュータデバイス（例えば、ＰＤＡ（personal digital assistant）、電子メールクライアントなど）、ウェアラブル端末（メガネ型デバイス、時計型デバイスなど）、または他種のコンピュータ、またはコミュニケーションプラットホームを含む。ただし、本開示において、端末２０は、これらに限定されない。また、端末２０は情報処理端末２０と表現されても良い。
【００１５】
端末２０Ａ、端末２０Ｂおよび端末２０Ｃの構成は基本的には同一であるため、以下の説明において、端末２０と記載し、必要に応じて端末２０Ａを自端末２０Ａとし、端末２０Ｂを他端末２０Ｂとし、端末２０Ｃを他端末２０Ｃとして説明する。
【００１６】
サーバ１０は、端末２０に対して、所定のサービスを提供する機能を備える。サーバ１０は、各実施形態において記載する機能を実現できる情報処理装置であればどのような装置であってもよい。サーバ１０は、代表的にはサーバ装置であり、その他にコンピュータ（例えば、デスクトップ、ラップトップ、タブレットなど）、メディアコンピュータプラットホーム（例えば、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ）、ハンドヘルドコンピュータデバイス（例えば、ＰＤＡ、電子メールクライアントなど）、あるいは他種のコンピュータ、またはコミュニケーションプラットホームを含む。ただし、本開示において、サーバ１０は、これらに限定されない。また、サーバ１０は情報処理装置と表現されても良い。
【００１７】
＜ハードウェア（HW）構成＞ 
図１を用いて、通信システム１に含まれる各装置のHW構成について説明する。
【００１８】
（１）端末のHW構成
端末２０は、制御装置（ＣＰＵ：central processing unit（中央処理装置））２０７、記憶装置２０８、通信Ｉ／Ｆ（インタフェース）２０１、入出力装置２０２、表示装置２０３、マイク２０４、スピーカ２０５、カメラ２０６を備える。端末２０のHWの各構成要素は、例えば、バスBを介して相互に接続される。
【００１９】
通信Ｉ／Ｆ２０１は、ネットワーク２を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信Ｉ／Ｆ２０１は、ネットワーク２を介して、サーバ１０との通信を実行する機能を有する。通信Ｉ／Ｆ２０１は、各種データを制御装置２０７からの指示に従って、サーバ１０に送信する。また、通信Ｉ／Ｆ２０１は、サーバ１０から送信された各種データを受信し、制御装置２０７に伝達する。
【００２０】
入出力装置２０２は、端末２０に対する各種操作を入力する装置、および、端末２０で処理された処理結果を出力する装置を含む。入出力装置２０２は、入力装置と出力装置が一体化していても良いし、入力装置と出力装置に分離していてもよい。
【００２１】
入力装置は、ユーザからの入力を受け付けて、当該入力に係る情報を制御装置２０７に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入力装置は、代表的にはタッチパネルなどにより実現され、ユーザの指やスタイラスなどの指示具による接触とその接触位置を検出し、当該接触位置の座標を制御装置２０７に伝達する。一方で、入力装置は、タッチパネル以外の入力装置により実現されてもよい。入力装置は、例えば、キーボード等に代表されるハードウェアキーや、マウス等のポインティングデバイス、カメラ（動画像を介した操作入力）、マイク（音声による操作入力）を含む。ただし、本開示において、入力装置は、これらに限定されない。
【００２２】
出力装置は、制御装置２０７で処理された処理結果を出力することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力装置は、代表的には、タッチパネルなどにより実現される。一方で、出力装置はタッチパネル以外の出力装置により実現されても良い。例えば、スピーカ（音声出力）、レンズ（例えば３D（three dimensions）出力や、ホログラム出力）、プリンターなどを含むことができる。ただし、本開示において、出力装置は、これらに限定されない。
【００２３】
表示装置２０３は、フレームバッファに書き込まれた表示データに従って、表示することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。表示装置２０３は、代表的にはモニタ（例えば、液晶ディスプレイやOELD（organic electroluminescence display））で実現される。表示装置２０３は、ヘッドマウントディスプレイ（ＨＤＭ：Head Mounted Display）であってもよい。また、表示装置２０３は、プロジェクションマッピング、ホログラム、空気中など（真空であってもよい）に画像やテキスト情報等を表示可能な装置により実現されてもよい。なお、これらの表示装置２０３は、３Dで表示データを表示可能であってもよい。ただし、本開示において、表示装置２０３は、これらに限定されない。
【００２４】
入出力装置２０２がタッチパネルの場合、入出力装置２０２と表示装置２０３とは、略同一の大きさおよび形状で対向して配置されていても良い。
【００２５】
制御装置２０７は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、例えば、ハードウェアに内蔵されたデータ処理装置により実現される。
【００２６】
制御装置２０７は、代表的には中央処理装置（ＣＰＵ）、であり、その他にマイクロプロセッサ（microprocessor）、プロセッサコア（processor core）、マルチプロセッサ（multiprocessor）、ＡＳＩＣ（application-specific integrated circuit）、ＦＰＧＡ（field programmable gate array）であってもよい。ただし、本開示において、制御装置２０７は、これらに限定されない。
【００２７】
記憶装置２０８は、端末２０が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶装置＃は、ＨＤＤ（hard disk drive）、ＳＳＤ（solid state drive）、フラッシュメモリ、ＲＡＭ（random access memory）、ＲＯＭ（read only memory）など各種の記憶媒体により実現される。ただし、本開示において、記憶装置２０８は、これらに限定されない。
【００２８】
端末２０は、プログラムを記憶装置２０８に記憶し、このプログラムを実行することで、制御装置２０７が、制御装置２０７に含まれる各部としての処理を実行する。つまり、記憶装置２０８に記憶されるプログラムＰは、端末２０に、制御装置２０７が実行する各機能を実現させる。
【００２９】
マイク２０４は、音声データの入力に利用される。スピーカ２０５は、音声データの出力に利用される。カメラ２０６は、動画像データの取得に利用される。
（２）サーバのHW構成 
サーバ１０は、制御装置（ＣＰＵ）１０４、記憶装置１０５、通信Ｉ／Ｆ（インタフェース）１０３、入出力装置１０１、ディスプレイ１０２を備える。サーバ１０のＨＷの各構成要素は、例えば、バスＢを介して相互に接続される。
【００３０】
制御装置１０４は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、例えば、ハードウェアに内蔵されたデータ処理装置により実現される。
【００３１】
制御装置１０４は、代表的には中央処理装置（ＣＰＵ）、であり、その他にマイクロプロセッサ、プロセッサコア、マルチプロセッサ、ＡＳＩＣ、ＦＰＧＡであってもよい。ただし、本開示において、制御装置１０４は、これらに限定されない。
【００３２】
記憶装置１０５は、サーバ１０が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶装置１０５は、ＨＤＤ、ＳＳＤ、又はフラッシュメモリなどの各種の記憶媒体により実現される。ただし、記憶装置１０５は、これらに限定されない。
【００３３】
通信Ｉ／Ｆ１０３は、ネットワーク２を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信Ｉ／Ｆ１０３は、ネットワーク２を介して、端末＃との通信を実行する機能を有する。通信Ｉ／Ｆ１０３は、各種データを制御装置１０４からの指示に従って、端末２０に送信する。また、通信Ｉ／Ｆ１０３は、端末２０から送信された各種データを受信し、制御装置１０４に伝達する。
【００３４】
入出力装置１０１は、サーバ１０に対する各種操作を入力する装置により実現される。入出力装置１０１は、ユーザからの入力を受け付けて、当該入力に係る情報を制御装置１０４に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入出力装置１０１は、代表的にはキーボード等に代表されるハードウェアキー、又はマウス等のポインティングデバイスで実現される。なお、入出力装置１０１は、例えば、タッチパネルやカメラ（動画像を介した操作入力）、マイク（音声による操作入力）を含んでいてもよい。ただし、本開示において、入出力装置１０１は、これらに限定されない。
【００３５】
ディスプレイ１０２は、代表的にはモニタ（例えば、液晶ディスプレイやOELD（organic electroluminescence display））で実現される。なお、ディスプレイ１０２は、ヘッドマウントディスプレイ（ＨＤＭ）などであってもよい。なお、これらのディスプレイ１０２は、３Dで表示データを表示可能であってもよい。ただし、本開示において、ディスプレイ１０２は、これらに限定されない。
【００３６】
サーバ１０は、プログラムＰを記憶装置１０５に記憶し、このプログラムＰを実行することで、制御装置１０４が、制御装置１０４に含まれる各部としての処理を実行する。つまり、記憶装置１０５に記憶されるプログラムＰは、サーバ１０に、制御装置１０４が実行する各機能を実現させる。
【００３７】
本開示の各実施形態においては、端末２０および／またはサーバ１０のＣＰＵがプログラムＰを実行することにより、実現するものとして説明する。
【００３８】
なお、端末２０および／またはサーバ１０において、制御装置（１０４、２０７）は、ＣＰＵだけでなく、集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成された論理回路（ハードウェア）や専用回路によって各処理を実現してもよい。また、これらの回路は、１または複数の集積回路により実現されてよく、各実施形態に示す複数の処理を１つの集積回路により実現されることとしてもよい。また、ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称されることもある。
【００３９】
また、本開示の各実施形態のプログラムＰ(ソフトウェアプログラム/コンピュータプログラム)は、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。 記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。
【００４０】
記憶媒体は適切な場合、１つまたは複数の半導体ベースの、または他の集積回路（ＩＣ）（例えば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）または特定用途向けＩＣ（ＡＳＩＣ）など）、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスクドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ（ＦＤＤ）、磁気テープ、固体ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切な記憶媒体、またはこれらの２つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムＰを記憶可能であれば、どのようなデバイスまたは媒体であってもよい。
【００４１】
サーバ１０および／または端末２０は、例えば、記憶媒体に記憶されたプログラムＰを読み出し、読み出したプログラムＰを実行することによって、各実施形態に示す複数の機能部の機能を実現することができる。
【００４２】
また、本開示のプログラムＰは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、サーバ１０および／または端末２０に提供されてもよい。
サーバ１０および／または端末２０は、例えば、インターネット等を介してダウンロードしたプログラムを実行することにより、各実施形態に示す複数の機能部の機能を実現する。
【００４３】
また、本開示の各実施形態は、プログラムＰが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。 
なお、本開示のプログラムＰは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。ただし、本開示は、これらに限定されない。
【００４４】
［第１の実施形態］
第１の実施形態は、端末２０は、トークルームの画面を表示した際、当該トークルームにおける最も新しいコンテンツのＩＤをサーバ１０に通知する。そして、サーバ１０は、端末２０から受信した、各トークルーム宛てのコンテンツのうち最も新しいコンテンツのＩＤを用いて、各受信ユーザの各トークルームにおけるコンテンツの既読を管理する。
【００４５】
＜機能構成＞
（１）端末の機能構成 
図１を用いて端末２０の機能構成について説明する。端末２０は、通信部２１０、表示部２２０、既読通知部２３０、及び制御部２４０を有する。これらの機能は、記憶装置２０８に格納された１以上のプログラムを読み出して制御装置２０７が実行することにより実現される。
【００４６】
通信部２１０は、ネットワーク２を介して、サーバ１０との通信を実行する機能を有する。通信部２１０は、各種データを制御部２４０からの指示に従って、サーバ１０に送信する。また、通信部２１０は、サーバ１０から送信された各種データを受信し、制御部２５０に通知する。
【００４７】
表示部２２０は、制御部２４０の指示を受けて表示データを生成し、表示装置２０３を介して表示する。
【００４８】
既読通知部２３０は、ユーザの操作により、トークルームの画面が表示された際、当該トークルームにおける最も新しいコンテンツの識別情報をサーバ１０に通知する。なお、トークルームの画面とは、例えば図８のように、複数のユーザを含む所定のグループにおいて送受信されたメッセージの一覧を表示する画面である。
【００４９】
制御部２４０は、端末２０の全体の制御を実行する。制御装置２０７の各機能は、制御部２４０の指示を受けて処理を実行する。例えば、制御部２４０は、ＳＮＳアプリケーションの制御を行う。
（２）サーバの機能構成
図１を用いて、サーバ１０の機能構成について説明する。サーバ１０は、受信部１１０、管理部１２０、通知部１３０、表示制御部１４０、及び処理部１５０を有する。これらの機能は、記憶装置１０５に格納された１以上のプログラムを読み出して、制御装置１０４（ＣＰＵ）が実行することによって実現される。
【００５０】
受信部１１０は、トークルーム宛てに送受信された、コンテンツ（メッセージやスタンプ等）のうち、最も新しいコンテンツの識別情報（コンテンツＩＤ）を、端末２０から受信する。
【００５１】
管理部１２０は、受信部１１０により受信されたコンテンツＩＤを、当該端末２０の第１のユーザの当該トークルームにおける既読情報として管理する。
【００５２】
通知部１３０は、当該トークルームに含まれる第１のユーザ以外の第２のユーザの端末２０に、第１のユーザの当該トークルームにおける既読情報を通知する。
【００５３】
表示制御部１４０は、当該トークルーム宛てに送受信されたコンテンツのうち、受信部１１０により受信されたコンテンツＩＤに係るコンテンツ以前のコンテンツを、既読として第２のユーザの端末に表示させる。
【００５４】
処理部１５０は、トークルーム宛てに送信されたコンテンツを第２のユーザの端末２０から受信し、当該トークルームに含まれる第１のユーザの端末２０に送信する。
【００５５】
また、サーバ１０は、トークルーム管理テーブル１０５１、既読情報管理テーブル１０５２、及びイベント管理テーブル１０５３を有する。これらのテーブルは、例えば、記憶装置１０５により実現される。トークルーム管理テーブル１０５１、既読情報管理テーブル１０５２、及びイベント管理テーブル１０５３の詳細については後述する。
【００５６】
＜処理＞
次に、図２を参照し、第１の実施形態に係る通信システム１の処理について説明する。図２は、第１の実施形態に係る通信システム１の処理のシーケンスの一例を示す図である。
【００５７】
図２では、端末２０Ａ、端末２０Ｂ、端末２０Ｃの各々の「ユーザＡ」（「第１のユーザ」の一例）、「ユーザＢ」（「第２のユーザ」の一例）、「ユーザＣ」を含むグループで、ＳＮＳのメッセージングサービスを用いてグループチャットがされている場合に、端末２０Ａからの既読通知が、端末２０Ｂに送信される場合の動作シーケンスを示している。
【００５８】
ステップＳ１において、端末２０Ｂの制御部２４０は、「ユーザＡ」、「ユーザＢ」、「ユーザＣ」を含むグループのトークルーム宛てのコンテンツをサーバ１０に送信する。このコンテンツには、当該トークルームのＩＤ、及び端末２０Ｂのユーザである「ユーザＢ」のＩＤが付加されている。
【００５９】
続いて、ステップＳ２において、サーバ１０の処理部１５０は、受信したコンテンツに対してコンテンツＩＤを生成し、受信したトークルームのＩＤ、生成したコンテンツＩＤ、及び受信した「ユーザＢ」のＩＤを、トークルーム管理テーブル１０５１に記憶させる。ここで、コンテンツＩＤは、生成された順が分かるように生成される。例えば、受信した順を示す数値や、受信した時刻を含むコンテンツＩＤが生成される。
【００６０】
図３は、実施形態に係るトークルーム管理テーブル１０５１の一例を示す図である。トークルーム管理テーブル１０５１では、トークルームＩＤ、コンテンツＩＤ、及び送信ユーザＩＤが対応付けて記憶される。トークルームＩＤは、トークルームＩＤのＩＤである。コンテンツＩＤは、コンテンツのＩＤである。送信ユーザＩＤは、コンテンツを送信した端末２０のユーザのＩＤである。図３の例では、「トークルームＡ」宛てに「ユーザＢ」から送信されたコンテンツには、「１０１」の数値がＩＤとして記憶されている。また、コンテンツＩＤが「１０２」のコンテンツは、コンテンツＩＤが「１０１」のコンテンツよりも後に受信されたことを示している。
【００６１】
続いて、ステップＳ３−１、ステップＳ３−２において、サーバ１０の処理部１５０は、当該トークルームに含まれるユーザの端末２０Ａ、端末２０Ｃに、当該コンテンツを転送する。このコンテンツには、端末２０Ｂのユーザである「ユーザＢ」のＩＤ、当該トークルームのＩＤ、及びコンテンツＩＤが付加されている。ここで、サーバ１０は、当該コンテンツを送信したユーザの端末２０Ｂに、コンテンツ送信要求への応答等して、当該コンテンツに対して生成したコンテンツＩＤを通知する。
【００６２】
続いて、ステップＳ４において、端末２０Ｃの制御部２４０は、当該トークルーム宛てのコンテンツをサーバ１０に送信する。このコンテンツには、当該トークルームのＩＤ及び端末２０Ｃのユーザである「ユーザＣ」のＩＤが付加されている。
【００６３】
続いて、ステップＳ５において、サーバ１０の処理部１５０は、受信したコンテンツに対してコンテンツＩＤを生成し、受信したトークルームのＩＤ、生成したコンテンツＩＤ、及び受信した「ユーザＢ」のＩＤを、トークルーム管理テーブル１０５１に記憶させる。
【００６４】
続いて、ステップＳ６−１、ステップＳ６−２において、サーバ１０の処理部１５０は、当該トークルームに含まれるユーザの端末２０Ａ、端末２０Ｂに、当該コンテンツを転送する。このコンテンツには、端末２０Ｃのユーザである「ユーザＣ」のＩＤ、当該トークルームのＩＤ、及びコンテンツＩＤが付加されている。ここで、サーバ１０は、当該コンテンツを送信したユーザの端末２０Ｃに、コンテンツ送信要求への応答等して、当該コンテンツに対して生成したコンテンツＩＤを通知する。
【００６５】
続いて、ステップＳ７において、端末２０Ａの制御部２４０は、ユーザＡからの当該トークルームを指定した押下等の操作により、当該トークルーム宛てに送受信されたコンテンツの一覧を表示する。
【００６６】
続いて、ステップＳ８において、端末２０Ａの既読通知部２３０は、「ユーザＡ」のＩＤ、及び当該トークルーム宛てのコンテンツのうち最も新しいコンテンツのコンテンツＩＤを含む既読通知をサーバ１０に送信する。
【００６７】
続いて、ステップＳ９において、サーバ１０の管理部１２０は、受信部１１０により受信された「ユーザＡ」のＩＤ、当該トークルームのＩＤ、及び当該コンテンツのＩＤを、既読情報管理テーブル１０５２に記憶させる。なお、当該トークルームのＩＤは、例えば、トークルーム管理テーブル１０５１を参照することにより、当該コンテンツＩＤに対応付けられたトークルームＩＤを取得してもよい。または、ステップＳ８にて、端末２０Ａが送信する既読通知に当該トークルームのＩＤを含めるようにしてもよい。
【００６８】
図４は、実施形態に係る既読情報管理テーブル１０５２の一例を示す図である。既読情報管理テーブル１０５２では、受信ユーザＩＤ、トークルームＩＤ、及び最終既読コンテンツＩＤが対応付けて記憶される。受信ユーザＩＤは、既読通知を送信した端末２０のユーザのＩＤである。トークルームＩＤは、トークルームのＩＤである。最終既読コンテンツＩＤは、当該トークルーム宛てのコンテンツのうち、端末２０において当該トークルームＩＤに係るトークルームが表示されたときの、最も新しいコンテンツのＩＤである。図４の例では、「ユーザＡ」は、「トークルームＡ」において、コンテンツＩＤが「１００」であるコンテンツまでが送受信されたときに、「トークルームＡ」のコンテンツの一覧の少なくとも一部を表示したことが示されている。
【００６９】
続いて、ステップＳ１０において、サーバ１０の管理部１２０は、トークルーム管理テーブル１０５１及び既読情報管理テーブル１０５２に基づいて、イベント管理テーブル１０５３を更新する。
【００７０】
図５は、第１の実施形態に係るイベント管理テーブル１０５３の一例を示す図である。イベント管理テーブル１０５３では、送信ユーザＩＤ、トークルームＩＤ、受信ユーザＩＤ、及び最終既読コンテンツＩＤが対応付けて記憶される。図５の例では、「ユーザＢ」に対応付けて、「トークルームＡ」等に含まれる他のユーザである「ユーザＡ」、「ユーザＣ」等に応じた、「トークルームＡ」等における最終既読コンテンツＩＤが記憶されている。
【００７１】
ステップＳ１０の処理により、ステップＳ８で端末２０Ａから通知された「トークルームＡ」に含まれる他の端末２０Ｂ及び端末２０Ｃの各々のユーザＢ及びユーザＣに対応付けられた受信ユーザＩＤ及び既読コンテンツＩＤの項目に、「ユーザＡ」及び「１００」がそれぞれ記録される。
【００７２】
続いて、ステップＳ１１において、端末２０Ｂの制御部２４０は、既読情報の要求をサーバ１０に送信する。この要求には、端末２０ＢのユーザであるユーザＢのＩＤが含まれている。なお、端末２０Ｂは、例えば、ＳＮＳのメッセージングサービスのアプリケーションが起動されている間等において定期的に既読情報の要求を送信してもよい。また、当該アプリケーションが起動された際に、既読情報の要求を送信してもよい。なお、端末２０から既読情報の要求をサーバ１０に送信する代わりに、サーバ１０がステップＳ８にて、端末２０から既読通知を受信した際に、当該既読通知に関するトークルームに含まれる他の各ユーザに対し、後述するステップＳ１２以降の処理を行うようにしてもよい。
【００７３】
続いて、ステップＳ１２において、サーバ１０の通知部１３０は、イベント管理テーブル１０５３から、「ユーザＢ」のＩＤに対応付けられた、トークルームＩＤ、受信ユーザＩＤ、最終既読コンテンツＩＤの各データを既読情報として抽出する。
【００７４】
続いて、ステップＳ１３において、サーバ１０の通知部１３０は、抽出した既読情報を端末２０Ｂに送信する。
【００７５】
続いて、ステップＳ１４において、端末２０Ｂの表示部２２０は、受信した既読情報に基づいて、既読の情報を表示する。
【００７６】
次に、図６を参照し、ステップＳ９及びステップＳ１０により、イベント管理テーブル１０５３を更新する処理について説明する。図６は、実施形態に係るイベント管理テーブル１０５３を更新する処理の一例を示すフローチャートである。
【００７７】
ステップＳ１０１において、サーバ１０の管理部１２０は、端末２０Ａから受信した既読通知に含まれるコンテンツＩＤを取得する。
【００７８】
続いて、ステップＳ１０２において、サーバ１０の管理部１２０は、当該コンテンツＩＤに対応するトークルームＩＤを抽出する。例えば、トークルーム管理テーブル１０５１から、当該コンテンツＩＤに対応付けられたトークルームＩＤが抽出される。
【００７９】
続いて、ステップＳ１０３において、サーバ１０の管理部１２０は、抽出したトークルームＩＤに係るトークルームに含まれる、端末２０Ａのユーザ以外の各ユーザのＩＤを抽出する。例えば、既読情報管理テーブル１０５２から、当該トークルームＩＤに対応付けられた各受信ユーザＩＤのうち、端末２０ＡのユーザのＩＤ以外のユーザＩＤが抽出される。
【００８０】
続いて、ステップＳ１０４において、サーバ１０の管理部１２０は、抽出した各ユーザＩＤに対応付けて、当該トークルームＩＤ、端末２０ＡのユーザのＩＤ、当該コンテンツＩＤを、イベント管理テーブル１０５３に記録する。ここで、抽出した各ユーザＩＤは、イベント管理テーブル１０５３の送信ユーザＩＤの項目に記憶され、端末２０ＡのユーザのＩＤは、受信ユーザＩＤの項目に記憶される。
【００８１】
次に、図７を参照し、ステップＳ１４の、端末２０Ｂが既読の情報を表示する処理について説明する。図７は、実施形態に係る既読の情報を表示する処理の一例を示すフローチャートである。なお、以下では、端末２０Ｂのユーザが含まれる各トークルームのうちの一のトークルーム（以下で「処理対象のトークルーム」と称する。）についての処理を説明する。そのため、図７の処理は、端末２０Ｂのユーザが含まれる各トークルームに対して行われる。なお、図７の処理は、サーバ１０の表示制御部１４０にて行い、トークルームに含まれる各ユーザが既読か未読かを判定し、判定結果に基づいて、端末２０の表示部２２０に表示させてもよい。
【００８２】
ステップＳ２０１において、端末２０Ｂの制御部２４０は、処理対象のトークルーム宛てに送信した各コンテンツのコンテンツＩＤをそれぞれ抽出する。なお、端末２０Ｂが送信した各コンテンツのコンテンツＩＤは、例えば、送信した際等においてサーバ１０から通知されたものを、端末２０Ｂにて記憶しておいてもよい。
【００８３】
続いて、ステップＳ２０２において、端末２０Ｂの制御部２４０は、サーバ１０から受信した既読情報から、処理対象のトークルームに含まれる一のユーザの最終既読コンテンツＩＤを抽出する。
【００８４】
続いて、ステップＳ２０３において、端末２０Ｂの制御部２４０は、処理対象のトークルーム宛てに送信した各コンテンツのうち、コンテンツＩＤが最終既読コンテンツＩＤよりも古いまたはと同じであるコンテンツについて、当該一のユーザが既読であると判定する。
【００８５】
続いて、ステップＳ２０４において、端末２０Ｂの制御部２４０は、処理対象のトークルーム宛てに送信した各コンテンツのうち、コンテンツＩＤが最終既読コンテンツＩＤよりも新しいコンテンツについて、当該一のユーザが未読であると判定する。
【００８６】
なお、ステップＳ２０３及びステップＳ２０４の処理は、処理対象のトークルームに含まれる、端末２０Ｂのユーザ以外の全てのユーザについて行われる。
【００８７】
図５の例では、「ユーザＢ」が「トークルームＡ」宛てに送信したコンテンツＩＤが「１０１」のコンテンツについて、「ユーザＡ」の「トークルームＡ」における最終既読コンテンツＩＤが「１００」であるため未読であると判定される。また、同様に、「ユーザＣ」の「トークルームＡ」における最終既読コンテンツＩＤが「１０８」であるため既読であることが判定される。
【００８８】
図８は、実施形態に係る端末２０の既読情報の表示画面の一例を示す図である。図８（Ａ）に示すトークルームが表示された画面（トークルームの画面）では、「トークルームＡ」宛てに送受信されたコンテンツが、送受信された時刻の時系列に従って上から順に表示されている。また、当該端末２０のユーザにより送信されたコンテンツ５０１Ａ、５０３Ａが右に寄せて表示され、他の端末２０のユーザにより送信されたコンテンツ５０２Ａ、５０４Ａが左に寄せて表示されている。アイコン５０２Ｂ、アイコン５０４Ｂは、５０２Ａ、５０４Ａを送信したユーザに応じたアイコンである。図８（Ａ）では、当該端末２０のユーザにより送信されたコンテンツ５０１Ａ、５０３Ａに対応付けて、コンテンツ５０１Ａ、５０３Ａのそれぞれに対する既読のユーザの総数が既読数として領域５５１、領域５５２に表示されている。図８（Ｂ）では、当該端末２０のユーザにより送信されたコンテンツ５０１Ａ、５０３Ａに対応付けて、コンテンツ５０１Ａ、５０３Ａのそれぞれに対する既読のユーザの情報、及び未読のユーザの情報が領域５６１、領域５６２に表示されている。ここで、ユーザの情報とは、例えば、ユーザの表示用のニックネーム等でもよい。
【００８９】
なお、端末２０は、既読及び未読のうちのいずれか一方のユーザの情報のみを表示してもよい。端末２０は、各トークルームに含まれるユーザの情報を別途表示できるため、例えば既読のユーザが表示された場合は、トークルームに含まれる他のユーザが未読であることを知ることができる。
【００９０】
図８（Ｃ）の例では、当該端末２０のユーザにより送信されたコンテンツ５０１Ａ、５０３Ａに対応付けて、コンテンツ５０１Ａ、５０３Ａのそれぞれに対する既読のユーザの情報、または未読のユーザの情報が領域５７１、領域５７２に表示されている。ここで、端末２０は、例えば、既読のユーザ、及び未読のユーザのうち、数が少ない方のユーザの情報のみを表示してもよい。この場合、例えば、１０名のユーザのうち、３名が未読であり、７名のユーザが既読である場合、数が少ない方である未読のユーザの情報を、図８（Ｃ）の領域５７１のように表示する。また、例えば、１０名のユーザのうち、６名が未読であり、４名のユーザが既読である場合、数が少ない方である既読のユーザの情報を、図８（Ｃ）の領域５７２のように表示する。これにより、画面に表示される情報が少なくなるため、ユーザにとって比較的容易に既読及び未読のユーザを知ることができる。ここで、ユーザの情報はユーザ名でも良いし、ユーザが設定する画像などのコンテンツであっても良い。表示されるユーザの情報は、未読と、既読とで表示態様が異なるように表示されても良い。例えば、未読の場合は画像をグレーアウトして表示し、既読の場合はフルカラーで表示してもよい。
【００９１】
＜効果＞
従来のように、トークルームごと、かつコンテンツごとに既読通知を受信し、既読か未読かの情報を管理するとする。この場合、トークルームの数をＣ、各トークルームに含まれるユーザ数をＰ、各トークルームにおけるコンテンツの数をＭとすると、サーバ１０にて管理する既読に関するデータの量は、Ｃ×Ｐ×Ｍのオーダーとなる。ここで、各ユーザがそれぞれ一の端末のみを使用する場合であれば、既に端末に通知した既読情報は破棄してもよい。しかし、例えば、各ユーザがスマートフォン及びタブレット等の複数の端末を利用可能とするマルチデバイス環境を実現する場合、他の端末にも後から既読情報を通知できるようにするため、データを保持し続ける必要がある。また、従来技術では、端末においても、Ｃ×Ｐ×Ｍのオーダーの既読情報を処理する必要があるため、当該処理に比較的時間がかかるという問題もある。
【００９２】
上述した第１の実施形態によれば、ステップＳ８の既読通知の数をＮとすれば、Ｃ×Ｐ×Ｎのオーダーの既読情報を処理すればよい。この場合、例えば、１０個の未読コンテンツが存在するトークルームを開いた場合であれば、従来の１／１０程度の量の既読情報を処理するだけで済ませることができる。
【００９３】
［第２の実施形態］
次に、第２の実施形態について説明する。第１の実施形態では、サーバ１０が、トークルームに含まれる一のユーザの端末２０からの既読通知を、当該トークルームに含まれる他のユーザの端末２０に通知する例について説明した。
【００９４】
第２の実施形態では、サーバ１０が、トークルーム毎に、当該トークルームに含まれる各ユーザの既読情報を管理しておき、端末２０に、当該トークルーム毎の既読情報を通知する例について説明する。第２の実施形態によれば、特定のトークルームにおける全ユーザの既読情報を取得する処理を、比較的少ない処理量で実行できる。
【００９５】
なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。以下では、第１の実施形態と共通する部分については説明を省略し、異なる部分についてのみ説明する。なお、第２の実施形態に記載の内容は、第１の実施形態にも適用可能である。
【００９６】
＜機能構成＞
図９は、第２の実施形態に係る通信システムの構成の一例を示す図である。図９に示すように、第２の実施形態に係るサーバ１０は、第２のイベント管理テーブル１０５４を有する。第２のイベント管理テーブル１０５４は、例えば、記憶装置１０５により実現される。第２のイベント管理テーブル１０５４の詳細については後述する。なお、第２の実施形態に係るサーバ１０は、第１の実施形態に係るサーバ１０と比較し、トークルーム管理テーブル１０５１、及びイベント管理テーブル１０５３を有しない点で異なる。
【００９７】
第２の実施形態に係る管理部１２０は、トークルームに対応付けられた、当該トークルームに含まれる各ユーザの最も新しいコンテンツの識別情報を、第２のイベント管理テーブル１０５４にて管理する。
【００９８】
第２の実施形態に係る通知部１３０は、第２のイベント管理テーブル１０５４にて管理されている、所定のトークルームに含まれる各ユーザの最も新しいコンテンツの識別情報を含む既読情報を、当該所定のトークルームに含まれるユーザの端末２０に通知する。
【００９９】
＜処理＞
次に、図１０を参照し、第２の実施形態に係る通信システム１の処理について説明する。図１０は、第２の実施形態に係る通信システム１の処理のシーケンスの一例を示す図である。
【０１００】
図１０では、図２と同様に、端末２０Ａ、端末２０Ｂ、端末２０Ｃの各々の「ユーザＡ」、「ユーザＢ」、「ユーザＣ」を含むグループで、ＳＮＳのメッセージングサービスを用いてグループチャットがされている場合に、端末２０Ａからの既読通知が、端末２０Ｂに送信される場合の動作シーケンスを示している。
【０１０１】
図１０のステップＳ１００１乃至ステップＳ１００７の処理は、ステップＳ１、ステップＳ３、ステップＳ４、ステップＳ６乃至ステップＳ９の処理とそれぞれ同様である。第２の実施形態においては、例えば、端末２０Ａが送信する既読通知に当該トークルームのＩＤを含めるようにし、トークルーム管理テーブル１０５１を有さない例について説明する。この場合、図２のステップＳ２及びステップＳ５の処理は不要となる。
【０１０２】
ステップＳ１００８において、サーバ１０の管理部１２０は、既読情報管理テーブル１０５２に基づいて、第２のイベント管理テーブル１０５４を更新する。
【０１０３】
図１１は、第２の実施形態に係る第２のイベント管理テーブル１０５４の一例を示す図である。第２のイベント管理テーブル１０５４では、トークルームＩＤ、受信ユーザＩＤ、既読開始コンテンツＩＤ、及び既読終了コンテンツＩＤが対応付けて記憶される。
【０１０４】
既読開始コンテンツＩＤは、受信ユーザＩＤに係るユーザが、トークルームＩＤに係るトークルームに参加した時点における最新のコンテンツのＩＤである。当該ユーザが当該トークルームに参加した時点におけるコンテンツは、例えば、サーバ１０から当該トークルームに含まれる他のユーザの端末２０への、トークルームに当該ユーザが参加した旨を通知するメッセージでもよい。
【０１０５】
既読終了コンテンツＩＤは、第１の実施形態に係る最終既読コンテンツＩＤと同様であり、当該トークルーム宛てのコンテンツのうち、端末２０においてトークルームＩＤに係るトークルームが表示されたときの、最も古いコンテンツのＩＤである。図１１の例では、「トークルームＡ」に含まれるユーザである「ユーザＡ」は、コンテンツＩＤが「２５」の時点で「トークルームＡ」に参加したことを示している。また、「ユーザＡ」が最後に「トークルームＡ」の画面を表示した時点では、「トークルームＡ」においてコンテンツＩＤが「１００」のコンテンツが最新であったことを示している。
【０１０６】
第２のイベント管理テーブル１０５４の既読開始コンテンツＩＤは、受信ユーザＩＤに係るユーザが、トークルームＩＤに係るトークルームに参加した時点で、サーバ１０により記憶されてもよい。
【０１０７】
続いて、ステップＳ１００９において、端末２０Ｂの制御部２４０は、既読情報の要求をサーバ１０に送信する。この要求には、端末２０ＢのユーザであるユーザＢのＩＤが含まれている。なお、ステップＳ１００９の処理は、図２のステップＳ１１の処理と同様でもよい。
【０１０８】
続いて、ステップＳ１０１０において、サーバ１０の通知部１３０は、受信した「ユーザＢ」のＩＤに対応付けられた各トークルームのＩＤを、トークルーム管理テーブル１０５１から取得する。
【０１０９】
続いて、ステップＳ１０１１において、サーバ１０の通知部１３０は、当該各トークルームのＩＤに対応付けられた受信ユーザＩＤ、既読開始コンテンツＩＤ、及び既読終了コンテンツＩＤの組を、第２のイベント管理テーブル１０５４から既読情報として抽出する。
【０１１０】
続いて、ステップＳ１０１２において、サーバ１０の通知部１３０は、抽出した既読情報を端末２０Ｂに送信する。
【０１１１】
続いて、ステップＳ１０１３において、端末２０Ｂの表示部２２０は、受信した既読情報に基づいて、既読の情報を表示する。なお、ステップＳ１０１３の処理は、図２のステップＳ１４の処理と同様でもよい。
【０１１２】
＜変形例＞
図１２は、第２の実施形態の変形例に係る第２のイベント管理テーブル１０５４の一例を示す図である。変形例に係る第２のイベント管理テーブル１０５４では、トークルームＩＤ、及び受信ユーザＩＤに対応付けて、既読開始コンテンツＩＤ及び既読終了コンテンツＩＤの組が複数記憶される。図１２の例では、「トークルームＡ」に含まれるユーザである「ユーザＡ」は、コンテンツＩＤが「２５」の時点で「トークルームＡ」に参加したことを示している。また、「ユーザＡ」が「トークルームＡ」から脱退する以前において、最後に「トークルームＡ」の画面を表示した時点では、「トークルームＡ」においてコンテンツＩＤが「２９」のコンテンツが最新であったことを示している。また、「ユーザＡ」は、コンテンツＩＤが「６８」の時点で「トークルームＡ」に再度参加したことを示している。すなわち、「ユーザＡ」は「トークルームＡ」において、コンテンツＩＤが「３０」乃至「６７」のコンテンツは既読ではないことを示している。
【０１１３】
サーバ１０の通知部１３０は、ユーザが所定のトークルームに参加する度に、当該所定のトークルームのトークルームＩＤ、及び当該ユーザのユーザＩＤに対応付けて、既読開始コンテンツＩＤを第２のイベント管理テーブル１０５４に記録する。また、ステップＳ１００６で、端末２０から既読通知を受信する度に、受信した既読通知に含まれるコンテンツＩＤを、最も新しい既読開始コンテンツＩＤ及び既読終了コンテンツＩＤの組における既読終了コンテンツＩＤに記億させる。
【０１１４】
これにより、各ユーザがそれぞれ異なるタイミングで参加や脱退を繰り返し実行できるトークルームにおいて、一のユーザが当該トークルームに参加していない間に当該トークルーム宛てに送受信されたコンテンツを、当該一のユーザが未読であることを判定できる。
【０１１５】
＜効果＞
従来のように、トークルームごと、かつコンテンツごとに既読通知を受信し、既読か未読かの情報を管理するとする。この場合、トークルームの数をＣ、各トークルームに含まれるユーザ数をＰ、各トークルームにおけるコンテンツの数をＭとすると、サーバ１０にて管理する既読に関するデータの量は、Ｃ×Ｐ×Ｍのオーダーとなる。各トークルームにおけるコンテンツに関する情報を、当該コンテンツが送受信された後、所定期間を経過した際に削除する場合であっても、比較的大量のデータをサーバ１０にて保存しておく必要がある。
【０１１６】
一方、上述した第２の実施形態によれば、既読情報を抽出するための第２のイベント管理テーブル１０５４のデータ量は、トークルームの数をＣ、各トークルームに含まれるユーザ数をＰとすると、Ｃ×Ｐのオーダーとなる。また、このデータ量は、コンテンツの数と無関係であるため、当該コンテンツが送受信された後、上記の所定期間を経過した際においても、第２のイベント管理テーブル１０５４のデータは削除する必要はないため、上述したマルチデバイス環境下にて、ユーザから普段は使用されていない端末２０（サブデバイス）から既読情報を同期する場合に、特に適している。
【０１１７】
［第３の実施形態］
次に、第３の実施形態について説明する。第３の実施形態では、上述の第１の実施形態及び第２の実施形態を組み合わせた場合の例について説明する。例えば、上述したマルチデバイス環境下にて、ユーザから普段使用されている端末２０（メインデバイス）から既読情報を同期する場合は、上述の第１の実施形態の処理を行い、サブデバイスから既読情報を同期する場合は、上述の第２の実施形態の処理を行う。これにより、例えば、上述したマルチデバイス環境下においても、イベント管理テーブル１０５３から抽出され、端末２０に送信された既読情報は、当該既読情報に含まれるコンテンツＩＤに係るコンテンツが送受信された後、所定期間を経過した際等において、イベント管理テーブル１０５３から削除することができる。そのため、比較的最近に送信されたコンテンツに対する既読情報を取得する場合に特に適している第１の実施形態に係る処理と、当該所定期間を経過した際等においても所定のトークルームに含まれる各ユーザの既読情報を一括で取得する第２の実施形態に係る処理とを組み合わせて実行することができる。
【０１１８】
なお、第３の実施形態は一部を除いて第１の実施形態または第２の実施形態と同様であるため、適宜説明を省略する。以下では、第１の実施形態または第２の実施形態と共通する部分については説明を省略し、異なる部分についてのみ説明する。
【０１１９】
＜機能構成＞
図１３は、第３の実施形態に係る通信システムの構成の一例を示す図である。図１３に示すように、第３の実施形態に係るサーバ１０は、第１の実施形態に係るサーバ１０と比較し、第２のイベント管理テーブル１０５４をさらに有する。
【０１２０】
第３の実施形態に係る通知部１３０は、端末２０に応じて、第２のイベント管理テーブル１０５４にて記憶されている既読情報、及びイベント管理テーブル１０５３にて記憶されている既読情報のうち、いずれを通知するか決定する。そして、第３の実施形態に係る通知部１３０は、決定した方の既読情報を、当該端末２０に通知する。
【０１２１】
第３の実施形態に係る管理部１２０は、通知部１３０により、イベント管理テーブル１０５３にて記憶されている既読情報が端末２０に通知された場合、イベント管理テーブル１０５３から、当該既読情報を削除する。
【０１２２】
＜処理＞
次に、図１４を参照し、第３の実施形態に係るサーバ１０の処理について説明する。図１４は、第３の実施形態に係る通信システム１の処理のシーケンスの一例を示す図である。ステップＳ３００１乃至ステップＳ３０１０の処理は、図２のステップＳ１乃至ステップＳ１０の処理と同様である。ステップＳ３０１１の処理は、図１０のステップＳ１００８の処理と同様である。
【０１２３】
ステップＳ３０１２において、端末２０Ｂの制御部２４０は、既読情報の要求をサーバ１０に送信する。既読情報の要求には、端末２０ＢのユーザであるユーザＢのＩＤが含まれている。
【０１２４】
なお、既読情報の要求には、端末２０ＢがユーザＢのメインデバイスであるか否かを示す情報が含まれていてもよい。この場合、端末２０Ｂは、例えば、ＳＮＳのメッセージングサービスのアプリケーションが初めて起動された、または前回起動されてから所定期間以上経過している場合に、メインデバイスでないことを示す情報を既読情報の要求に含めてもよい。
【０１２５】
あるいは、サーバ１０の管理部１２０にて、端末２０の端末ＩＤと、端末２０からの既読情報の要求を受信した日時とを対応付けて記憶しておき、当該記憶している情報に基づいて、端末２０ＢがユーザＢのメインデバイスであるか否かを判定してもよい。この場合、例えば、サーバ１０の管理部１２０は、端末２０から初めて既読情報の要求を受信した場合、または端末２０から前回に既読情報の要求を受信してから所定期間以上経過している場合、当該端末２０がメインデバイスでないと判定する。また、サーバ１０の管理部１２０は、端末２０から前回に既読情報の要求を受信してから当該所定期間以上経過していない場合、当該端末２０がメインデバイスであると判定する。
【０１２６】
メインデバイスである端末２０からの既読情報の要求である場合、サーバ１０の通知部１３０は、ステップＳ３０１３以降の処理において、図２のステップＳ１２以降の処理と同様の処理を行う。これにより、イベント管理テーブル１０５３を用いた既読情報の通知が行われる。この場合、管理部１２０は、通知部１３０により通知された既読情報を、イベント管理テーブル１０５３から削除する。
【０１２７】
一方、メインデバイスではないサブデバイスの端末２０からの既読情報の要求である場合、サーバ１０の通知部１３０は、ステップＳ３０１３以降の処理において、図１０のステップＳ１０１１以降の処理と同様の処理を行う。これにより、第２のイベント管理テーブル１０５４を用いた既読情報の通知が行われる。当然に、メインデバイスかサブデバイスかの実態に関わらず、上述の条件によって、どの実施形態を適用するかを決定してもよい。具体的には、サーバ１０の管理部１２０は、端末２０から前回に既読情報の要求を受信してから当該所定期間以上経過していない場合には第１の実施形態を適用し、端末２０から前回に既読情報の要求を受信してから当該所定期間以上経過している場合には第２の実施形態を適用するようにしてもよい。
【０１２８】
また、メインデバイスとサブデバイスの設定をユーザに入力させるようにしてもよい。
【０１２９】
＜その他＞
サーバ１０は、情報処理装置の一例である。端末２０は、情報処理端末の一例である。
【０１３０】
上述した実施の形態の機能を実現するソフトウエアのプログラムコードを記憶した記憶媒体を、端末２０及びサーバ１０に供給してもよい。そして、端末２０及びサーバ１０が、記憶媒体に格納されたプログラムコードを読み出し実行することによっても、上述の実施形態が、達成されることは言うまでもない。この場合、記憶媒体には、上述した配信方法及び受信方法を、端末２０及びサーバ１０に実行させるプログラムが記憶される。
【０１３１】
端末２０及びサーバ１０における処理の少なくとも一部は、１以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
【０１３２】
また、端末２０における処理の少なくとも一部を、サーバ１０により行う構成としてもよい。この場合、例えば、端末２０の制御部２４０の処理のうち少なくとも一部の処理を、サーバ１０により行う構成としてもよい。
【０１３３】
本開示において、判定は必須でなく、判定条件を満たした場合に所定の処理が動作されたり、判定条件を満たさない場合に所定の処理がされたりしても良いことは当然である。
【０１３４】
本開示の実施形態を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本開示の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を１つに組み合わせたり、或いは分割したりすることが可能である。また、各実施形態に示す構成を適宜組み合わせることとしてもよい。
【符号の説明】
【０１３５】
１  通信システム
１０  サーバ
１０３  通信Ｉ／Ｆ
１０４  制御装置
１０５  記憶装置
１１０  受信部
１２０  管理部
１３０  通知部
１４０  表示制御部
１５０  処理部
１０５１  トークルーム管理テーブル
１０５２  既読情報管理テーブル
１０５３  イベント管理テーブル
１０５４  第２のイベント管理テーブル
２０  端末
２１０  通信部
２２０  表示部
２３０  既読通知部
２４０  制御部
【図１】
2018116569.tif 000003
【図２】
2018116569.tif 000004
【図３】
2018116569.tif 000005
【図４】
2018116569.tif 000006
【図５】
2018116569.tif 000007
【図６】
2018116569.tif 000008
【図７】
2018116569.tif 000009
【図８】
2018116569.tif 000010
【図９】
2018116569.tif 000011
【図１０】
2018116569.tif 000012
【図１１】
2018116569.tif 000013
【図１２】
2018116569.tif 000014
【図１３】
2018116569.tif 000015
【図１４】
2018116569.tif 000016