以下に添付図面を参照して、この発明にかかる情報提供プログラム、情報提供装置および情報提供方法の実施の形態を詳細に説明する。
(実施の形態1)
図1は、実施の形態1にかかる情報提供方法の一実施例を示す説明図である。図1において、利用者は、通常、使用するクライアント端末(たとえばオフィス用PC)100に、メールプログラム101、チャットプログラム102およびSNS(Social Networking Service)プログラム103をインストールして、メール、チャットおよびSNSを利用している。
ここで、チャットとは、複数の利用者がメッセージを設定されているチャンネルに書き込むことにより情報の伝達をおこなうコミュニケーションツールである。また、SNSとは、限定的なネットワークの中で情報交換をおこなうサービスであり、SNSを用いることによって、利用者同士のコミュニティを広げていくことができる。
また、通常使用するクライアント端末100とは別のクライアント端末(たとえばモバイル用ノートPC)150には、メールプログラム151のみをインストールしている。この場合、クライアント端末150では、メールの送受信はできるが、チャットのチャンネル文やSNSメッセージの送受信をすることはできない。
そこで、実施の形態1では、メールプログラム151のみインストールされているクライアント端末150においても、チャットのチャンネル文やSNSメッセージの内容であって利用者に関連するものを、メールとして通常のメールと同様に後述するメールDB270に記憶させることによって、通常のメールと同じようにメールプログラム151を用いて表示させることができるので、クライアント端末150においても、クライアント端末100と同様にチャットのチャンネル文やSNSメッセージの内容を確認することができる。
(メールシステム200のシステム構成例)
つぎに、実施の形態1にかかるメールシステム200のシステム構成例について説明する。図2は、実施の形態1にかかるメールシステム200のシステム構成例を示す説明図である。図2において、メールシステム200は、情報提供装置201と、複数のクライアント端末202(図面では3台)と、を含む。
メールシステム200において、情報提供装置201および複数のクライアント端末202は、有線または無線のネットワーク210を介して相互に通信可能に接続されている。ネットワーク210は、たとえば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
ここで、情報提供装置201は、利用者認証DB(データベース)220、チャット利用者DB230、SNS利用者DB240、設定DB250、ログイン履歴DB260、メールDB270、チャンネル文DB280、SNSメッセージDB290を有し、メールシステム200内のメールの送受信をおこなうコンピュータである。情報提供装置201は、たとえば、メールサーバである。なお、利用者認証DB220、チャット利用者DB230、SNS利用者DB240、設定DB250、ログイン履歴DB260、メールDB270、チャンネル文DB280およびSNSメッセージDB290については、図5〜図12を用いて後述する。
クライアント端末202は、メールの表示、作成、送受信をおこなうコンピュータである。クライアント端末202は、たとえば、メールシステム200のユーザが使用するPC(パーソナル・コンピュータ)、ノートPC、携帯電話、PDA(Personal Digital Assistant)、スマートフォン、タブレット型端末などである。メールは、たとえば、クライアント端末202のブラウザにより表示、作成、送受信されるウェブメールである。
(情報提供装置201のハードウェア構成例)
図3は、実施の形態1にかかる情報提供装置201のハードウェア構成例を示すブロック図である。図3において、情報提供装置201は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、I/F(Interface)304と、磁気ディスクドライブ305と、磁気ディスク306と、光ディスクドライブ307と、光ディスク308と、入力装置309と、を有している。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、情報提供装置201の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。I/F304は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して、クライアント端末202などの他の装置に接続される。そして、I/F304は、ネットワーク210と内部のインターフェースを司り、他の装置からのデータの入出力を制御する。I/F304には、たとえば、モデムやLANアダプタなどを採用することができる。
磁気ディスクドライブ305は、CPU301の制御にしたがって磁気ディスク306に対するデータのリード/ライトを制御する。磁気ディスク306は、磁気ディスクドライブ305の制御で書き込まれたデータを記憶する。光ディスクドライブ307は、CPU301の制御にしたがって光ディスク308に対するデータのリード/ライトを制御する。光ディスク308は、光ディスクドライブ307の制御で書き込まれたデータを記憶したり、光ディスク308に記憶されたデータをコンピュータに読み取らせたりする。
入力装置309は、文字、数字、各種指示などのデータの入力をおこなう。入力装置309は、たとえば、入力のためのキーを有するキーボードやタッチパネル式の入力パッドなどである。なお、情報提供装置201は、上述した構成部の他に、データを表示するディスプレイを有することにしてもよい。また、情報提供装置201は、たとえば、上述した構成部のうち光ディスクドライブ307および光ディスク308を有さないことにしてもよい。
(クライアント端末202のハードウェア構成例)
図4は、実施の形態1にかかるクライアント端末202のハードウェア構成例を示すブロック図である。図4において、クライアント端末202は、CPU401と、ROM402と、RAM403と、磁気ディスクドライブ404と、磁気ディスク405と、光ディスクドライブ406と、光ディスク407と、ディスプレイ408と、I/F409と、キーボード410と、マウス411と、スキャナ412と、プリンタ413と、を有している。また、各構成部はバス400によってそれぞれ接続されている。
ここで、CPU401は、クライアント端末202の全体の制御を司る。ROM402は、ブートプログラムなどのプログラムを記憶している。RAM403は、CPU401のワークエリアとして使用される。磁気ディスクドライブ404は、CPU401の制御にしたがって磁気ディスク405に対するデータのリード/ライトを制御する。磁気ディスク405は、磁気ディスクドライブ404の制御で書き込まれたデータを記憶する。
光ディスクドライブ406は、CPU401の制御にしたがって光ディスク407に対するデータのリード/ライトを制御する。光ディスク407は、光ディスクドライブ406の制御で書き込まれたデータを記憶したり、光ディスク407に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ408は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ408は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイなどを採用することができる。
I/F409は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して情報提供装置201などの他の装置に接続される。そして、I/F409は、ネットワーク210と内部のインターフェースを司り、他の装置からのデータの入出力を制御する。I/F409には、たとえば、モデムやLANアダプタなどを採用することができる。
キーボード410は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス411は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、タッチパネル、トラックボールやジョイスティックなどであってもよい。
スキャナ412は、画像を光学的に読み取り、クライアント端末202内に画像データを取り込む。なお、スキャナ412は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ413は、画像データや文書データを印刷する。プリンタ413には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。なお、クライアント端末202は、たとえば、上述した構成部のうち、光ディスクドライブ406、光ディスク407、スキャナ412、プリンタ413などを有さないことにしてもよい。
(各種DB220、230、240、250、260、270、280、290の記憶内容)
つぎに、図5〜図12を用いて、情報提供装置201が有する各種DB220、230、240、250、260、270、280、290の記憶内容について説明する。各種DB220、230、240、250、260、270、280、290は、たとえば、図3に示した情報提供装置201のRAM303、磁気ディスク306、光ディスク308などの記憶装置により実現される。
<利用者認証DB220の記憶内容>
図5は、実施の形態1にかかる利用者認証DB220の記憶内容の一例を示す説明図である。図5において、利用者認証DB220は、少なくとも、「利用者ID」、「パスワード」のフィールドを有し、各フィールドに情報を設定することで、各利用者の認証情報(たとえば、認証情報500−1〜500−3)をレコードとして記憶している。
ここで、利用者IDは、メールシステム200の利用者の識別子である。パスワードは、メールシステム200の利用者を認証する符号である。たとえば、認証情報500−1は、利用者ID「yamada@xxx.ww」の利用者のパスワード「kljkfapdojaf」を示している。本実施の形態においては、利用者ID「yamada@xxx.ww」は、後述するメールDB270の「メッセージID」および「宛先」としても用いられる。
<チャット利用者DB230の記憶内容>
図6は、実施の形態1にかかるチャット利用者DB230の記憶内容の一例を示す説明図である。図6において、チャット利用者DB230は、少なくとも、「利用者ID」、「チャットID」、「自動JOINチャンネル」、「現在JOINチャンネル」のフィールドを有し、各フィールドに情報を設定することで、各チャット利用者情報(たとえば、チャット利用者情報600−1〜600−5)を記憶している。
ここで、利用者IDは、図5に示した利用者認証DB220と同様に、メールシステム200の利用者の識別子である。チャットIDは、チャットにおける利用者の識別子であり、利用者IDと1対1で対応する。自動JOINチャンネルは、後述する連携アプリデータ記録処理においてチャンネル文DB280から自動的にメッセージ(発言)を取得するために、利用者IDに対応させてあらかじめ登録しているチャンネルである。
現在JOINチャンネルは、現在、利用者IDにかかる利用者が参加しているチャンネルに関する情報である。したがって、利用者は、現在JOINチャンネルの中から、自動的にメッセージをメールとして取得したいチャンネルを自動JOINチャンネルとして登録している。
たとえば、チャット利用者情報600−1は、利用者ID「yamada@xxx.ww」の利用者のチャットIDが「yamada」であり、自動JOINチャンネルが「健康管理」であり、現在JOINチャンネルが「健康管理、平成22年会」であることを示している。自動JOINチャンネル、現在JOINチャンネルの全部または一部は、各利用者の所定の操作によって、追加、変更、削除することができる。
<SNS利用者DB240の記憶内容>
図7は、実施の形態1にかかるSNS利用者DB240の記憶内容の一例を示す説明図である。図7において、SNS利用者DB240は、少なくとも「利用者ID」、「ニックネーム」、「アイコン」、「登録コミュニティ」のフィールドを有し、各フィールドに情報を設定することで、各SNS利用者情報(たとえば、SNS利用者情報700−1〜700−5)を記憶している。
ここで、利用者IDは、図5に示した利用者認証DB220、図6に示したチャット利用者DB230と同様に、メールシステム200の利用者の識別子である。ニックネームは、SNSにおける利用者の識別情報であり、利用者IDと1対1で対応する。アイコンは、利用者のメッセージに付与される画像(イラスト、写真など)であって、利用者のメッセージと他の利用者のメッセージとを容易に視覚的に区別可能にするものである。
登録コミュニティは、チャット利用者DB230の自動JOINチャンネルと同様に、後述する連携アプリデータ記録処理において、SNSメッセージDB290から自動的にメッセージ(発言)を取得するために、利用者IDに対応させてあらかじめ登録しているチャンネルである。
たとえば、SNS利用者情報700−1は、利用者ID「yamada@xxx.ww」の利用者のニックネームが「やまだ」であり、アイコンは男性のイラスト画像であり、登録コミュニティが「教育コミュニティ」であることを示している。登録コミュニティの全部または一部は、各利用者の所定の操作によって、追加、変更、削除することができる。
<設定DB250の記憶内容>
図8は、実施の形態1にかかる設定DB250の記憶内容の一例を示す説明図である。図8において、設定DB250は、少なくとも「アプリ(アプリケーション)名」、「チャンネル名/コミュニティ名」、「設定時間」のフィールドを有し、各フィールドに情報を設定することで、各利用者ごとの設定情報(たとえば、設定情報800−1〜800−7)を記憶している。ここで、設定情報800−1〜800−4が、チャットのチャンネルに関する設定であり、設定情報800−5〜800−7が、SNSのコミュニティに関する設定である。
設定時間は、後述する連携アプリデータ取得処理において、チャンネル文DB280またSNSメッセージDB290から自動的にメッセージ(発言)を取得する際に取得の可否を決定するための時間である。したがって、CPU301は、前回の取得してからの時間が、この設定時間を経過している場合に、チャンネル文DB280またはSNSメッセージDB290から取得し、この設定時間を経過していない場合は取得しない。設定時間の設定は、分単位、時間単位に限らず、日単位、週単位などでもおこなうことができる。
設定時間は、同じチャンネル、コミュニティであっても、利用者ごとに設定することができ、また、利用者または管理者の所定の操作によって変更することができる。したがって、各チャンネル、コミュニティにおいて、設定時間を短く設定することで、利用者はメッセージを頻繁にチェックすることが可能となる。また、設定時間を長く設定することで、利用者がメールとして頻繁にメール一覧表示画面に他のメールと同様に表示される煩わしさを解消することができる。
<ログイン履歴DB260>
図9は、実施の形態1にかかるログイン履歴DB260の記憶内容の一例を示す説明図である。図9において、ログイン履歴DB260は、「ログイン日時」、「ログアウト日時」のフィールドを有し、各フィールドに日時情報を設定することで、各利用者のメールシステム200へのログイン履歴情報を記憶している。図9においては、このログイン履歴DB260は、各利用者ごとに設けられているように示している。また、図9において、図示を省略する「利用者ID」のフィールドをさらに設けて、利用者ごとに管理できるようにしてもよい。
図9において、ログイン履歴情報900−1からは、利用者が「2012/2/10 8:34:23」(2012年2月10日8時34分23秒)にメールシステム200へログインし、「2012/2/10 20:23:24」(2012年2月10日20時23分24秒)にメールシステム200からログアウトしたことがわかる。また、ログイン履歴情報900−3では、利用者が「2012/2/20 15:32:01」(2012年2月20日15時32分01秒)にメールシステム200へログインしたことがわかり、「ログアウト日時」のフィールドに日時情報が記憶されていない。このことから、利用者が現在ログイン中であることがわかる。
<メールDB270の記憶内容>
図10は、実施の形態1にかかるメールDB270の記憶内容の一例を示す説明図である。図10において、メールDB270は、少なくとも「送受信情報」、「メッセージID」、「発信者ID」、「発信日時」、「宛先」、「件名」、「連携アプリ(アプリケーション)名」、「チャンネル名/コミュニティ名」、「本文」、「連携ID」のフィールドを有する。各フィールドに情報を設定することで、メール情報(たとえば、メール情報1000−1〜1000−7)が記憶されている。
図10のメールDB270において、メール情報のうち、メール情報1000−1、1000−4、1000−5は通常のメールであり、メール情報1000−2、1000−3、1000−6、1000−7は連携アプリである。
図10において、メールDB270は、各利用者ごとに設けられているように示しているが、複数の利用者について、共通のデータベースにおける「発信者ID」および「宛先」などのフィールド、あるいは図示を省略する他に設けられたフィールドから、利用者ごとに区別して管理できるようにしてもよい。したがって、図10は、「発信者ID」および「宛先」のフィールドから利用者IDである『yamada@xxx.ww』に該当する情報のみをメールDB270から収集したものであるとすることもできる。
送受信情報は、受信メール(『受信』)か送信メール(『送信』)かを区別する情報である。メッセージIDは、メールシステム200にて送受信されたメールを一意に識別する識別子である。通常は全体としてユニークな文字列となればよいが、一般的に、@マークの右側をドメイン名とし、左側は発信日時や利用者IDなどを使い、何らかの規則で作成した文字列とすることで、全体としてユニークな文字列となるようにしている。本実施例では、メールを識別しやすいような文字列としている。
図10のメールDB270において、メール情報1000−2、1000−3、1000−5、1000−6、1000−7が受信メールであり、メール情報1000−1、1000−4が送信メールである。
発信者IDは、メールの送信元の識別子であり、たとえば、送信元となるユーザの利用者IDである。発信日時は、メールの発信日時である。宛先は、メールの宛先であり、たとえば、メールの送信先となるユーザのメールアドレスである。宛先は、たとえば、CC(Carbon Copy)やBCC(Blind Carbon Copy)を含む。
件名は、メールの件名である。件名は、後述する図13に示す一覧表示画面1300にメールの概要情報の一部として表示される。連携アプリ(アプリケーション)名は、連携する他のメッセージ提供システムに関する情報である。具体的には、『チャット』はチャット提供システム(チャットアプリケーション)であり、チャット利用者DB230、チャンネル文DB280を参照したことを示しており、『SNS』はSNS提供システム(SNSアプリケーション)であり、SNS利用者DB240、SNSメッセージDB290を参照したことを示している。図10のメールDB270において、連携アプリのメール情報1000−3、1000−6、1000−7がチャットである。また、連携アプリのメール情報1000−2がSNSである。
チャンネル名/コミュニティ名は、チャット利用者DB230において自動JOINチャンネルに記憶されているチャンネル名またはSNS利用者DB240において登録コミュニティに記憶されているコミュニティ名である。本文は、メールの本文情報として記述されたメッセージである。連携アプリの場合は、定型文(たとえば『チャット:○○コミュニティからの連携です。hh:mm−HH:MMまでの○件です。』、『SNS:○○コミュニティからの連携です。hh:mm−HH:MMまでの○件です。』)の後に、チャンネル文DB280またはSNSメッセージDB290から抽出された発言内容が本文情報となる。
連携IDは、後述するチャンネル文DB280、SNSメッセージDB290から抽出された連携IDと一致する。連携IDの内容については、後述する。
このように、「連携アプリ名」、「チャンネル名/コミュニティ名」、「連携ID」は、アプリ連携のメールにのみデータが記憶され、連携アプリではない通常のメールには、「連携アプリ名」、「チャンネル名/コミュニティ名」、「連携ID」は記憶されない。
たとえば、メール情報1000−1は、利用者IDが『yamada@xxx.ww』のユーザの送信メールに関する情報である。メールの「送受信情報」は『送信』、「メッセージID」は『system2@xxx.ww』、「発信者ID」は『yamada@xxx.ww』、「発信日時」は『2011/2/20 16:39:29』、「宛先」は『tanaka@xxx.ww』、「件名」は『○○システムの障害』、「本文」は『山田です。・・・』である。そして、このメール情報1000−1は、通常のメールなので、「連携アプリ名」、「チャンネル名/コミュニティ名」および「連携ID」の各フィールドには情報は入っていない。
また、メール情報1000−2は、利用者IDが『yamada@xxx.ww』のユーザの受信メールに関する情報である。メールの「送受信情報」は『受信』、「メッセージID」は『apprenkei3@xxx.ww』、「発信者ID」は『アプリ連携』、「発信日時」は『2011/2/20 16:32:32』、「宛先」は『yamada@xxx.ww』、「件名」は『SNS:教育コミュニティ』、「連携アプリ名」は『SNS』、「チャンネル名/コミュニティ名」は『教育』、「本文」は『SNS:教育コミュニティからの連携です。・・・』、「連携ID」は『SNS00001』である。
また、メール情報1000−3も、利用者IDが『yamada@xxx.ww』のユーザの受信メールに関する情報である。メールの「送受信情報」は『受信』、「メッセージID」は『apprenkei2@xxx.ww』、「発信者ID」は『アプリ連携』、「発信日時」は『2011/2/20 16:32:07』、「宛先」は『yamada@xxx.ww』、「件名」は『チャット:健康管理チャンネル』、「連携アプリ名」は『チャット』、「チャンネル名/コミュニティ名」は『健康管理』、「本文」は『チャット:健康管理チャンネルからの連携です。・・・』、「連携ID」は『CH00002』である。
<チャンネル文DB280の記憶内容>
図11は、実施の形態1にかかるチャンネル文DB280の記憶内容の一例を示す説明図である。図11において、チャンネル文DB280は、チャットにおけるチャンネル文情報を記憶するデータベースであり、少なくとも「チャンネル名」、「発信日時」、「チャットID」、「発言内容」、「連携ID」のフィールドを有し、各フィールドに情報を設定することで、チャンネル文情報(たとえば、チャンネル文情報1100−1〜1100−13)をレコードとして記憶している。チャンネル文情報は、図11に示すように、各チャンネル名ごとに管理してもよい。
発信日時は、発言の発信日時である。チャットIDは、チャットにおける利用者の識別子である。チャットIDのフィールドの情報は、チャット利用者DB230のチャットIDのフィールドの情報と対応する。これによって、チャンネル文情報の利用者IDを特定することができる。発言内容は、利用者が発言したメッセージの内容である。
連携IDは、アプリ連携としてチャンネル文情報が抽出される際に、付与される識別子である。複数のチャンネル文情報が同時に抽出される場合は、同時に抽出される複数のチャンネル文情報に同一の連携IDがそれぞれに付与され、記憶される。この連携IDが付与されているか否かによって、チャンネル文がすでに抽出されたか未抽出であるかを判断することができる。また、連携IDの違いによって、チャンネル文がどのタイミングで抽出されたかを判断することができる。連携IDは、アプリ連携のメール情報としてメールDB270「連携ID」のフィールドに記憶される。
<SNSメッセージDB290の記憶内容>
図12は、実施の形態1にかかるSNSメッセージDB290の記憶内容の一例を示す説明図である。図12において、SNSメッセージDB290は、SNSにおけるSNSメッセージ情報を記憶するデータベースであり、少なくとも「コミュニティ名」、「発信日時」、「SNSニックネーム」、「発言内容」、「連携ID」のフィールドを有し、各フィールドに情報を設定することで、SNSメッセージ情報(たとえば、メッセージ情報1200−1〜1200−3)をレコードとして記憶している。SNSメッセージ情報は、図12に示すように、各コミュニティ名ごとに管理してもよい。
発信日時は、発言の発信日時である。SNSニックネームは、SNSにおける利用者の識別情報である。SNSニックネームのフィールドの情報は、SNS利用者DB240のニックネームのフィールドの情報と対応する。これによって、SNSメッセージ情報の利用者IDを特定することができる。発言内容は、利用者が発言したメッセージの内容である。
連携IDは、アプリ連携としてSNSメッセージ情報が抽出される際に、付与される識別子である。複数のSNSメッセージ情報が同時に抽出される場合は、同時に抽出される複数のSNSメッセージ情報に同一の連携IDがそれぞれに付与され、記憶される。この連携IDが付与されているか否かによって、SNSメッセージがすでに抽出されたか未抽出であるかを判断することができる。また、連携IDの違いによって、SNSメッセージがどのタイミングで抽出されたかを判断することができる。連携IDは、アプリ連携のメール情報としてメールDB270の「連携ID」のフィールドに記憶される。
(メール一覧表示画面の画面例)
つぎに、図4に示したクライアント端末202のディスプレイ408に表示されるメール一覧表示画面について説明する。メール一覧表示画面の画面情報は、たとえば、情報提供装置201で作成され、クライアント端末202に送信される。
図13は、実施の形態1にかかるメール一覧表示画面の画面例を示す説明図である。利用者がメール一覧表示画面の表示要求をすると、ディスプレイ408に図13に示すメール一覧表示画面1300が表示される。図13において、メール一覧表示画面1300には、利用者ID「yamada@xxx.ww」の利用者宛に送信されたメールおよび利用者ID「yamada@xxx.ww」の利用者が送信したメールの概要情報(たとえば、概要情報1300−1〜1300−7)が表示されている。
また、メール一覧表示画面1300には、「メッセージ作成」ボタンB1と、「アプリ連携最新受信」ボタンB2と、「ログアウト」ボタンB3とが備えられている。「メッセージ作成」ボタンB1がクリックされると、新規メールを作成するメッセージ作成画面の表示要求が情報提供装置201に送信された結果、図示を省略するメッセージ作成画面がディスプレイ408に表示される。
「アプリ連携最新受信」ボタンB2は、後述する図21のフローチャートのステップS2101に対応し、「アプリ連携最新受信」ボタンB2がクリックされると、後述する図20のフローチャートのステップS2008の連携アプリ記録処理(後述する図23のフローチャート参照)が実行され、アプリ連携の最新情報を含む、更新されたメール一覧表示画面1300がディスプレイ408に表示される。「ログアウト」ボタンB3がクリックされると、ログアウト要求が情報提供装置201に送信された結果、メール一覧表示画面1300の表示が終了する。
図13において、メール一覧表示画面1300には、利用者ID「yamada@xxx.ww」のユーザ宛に送信されたメールおよび利用者ID「yamada@xxx.ww」が差出人となっているメールの概要情報(たとえば、概要情報1300−1〜1300−7)が表示されている。
概要情報は、メールの差出人、発信日時および件名を示す情報である。ここでは、メールの差出人として、メールの発信者IDが示されている。また、メールの件名として、メールのタイトルが示されている。たとえば、概要情報1300−1は、メールの差出人「yamada@xxx.ww」、発信日時「2011/2/20 16:39:29」および件名「○○システムの障害」を示している。
また、たとえば、概要情報1300−2は、メールの差出人「アプリ連携」、発信日時「2011/2/20 16:32:32」および件名「SNS:教育コミュニティ」を示している。また、たとえば、概要情報1300−3は、メールの差出人「アプリ連携」、発信日時「2011/2/20 16:32:07」および件名「チャット:健康管理チャンネル」を示している。
各概要情報は、図13に示すように、通常のメール、チャットのアプリ連携、SNSのアプリ連携ごとに表示の仕方、たとえば文字色やフォントを変えたり、背景色を変えるなどすることにより、それぞれを容易に区別できるようにしてもよい。また、図示を省略するが、通常のメール、チャットのアプリ連携、SNSのアプリ連携ごとに並べ替えができるようにしてもよい。
メール一覧表示画面1300において、図4に示したキーボード410やマウス411を用いたユーザの操作入力により、メール一覧表示画面1300に表示される図示を省略するカーソルを移動させていずれかの概要情報がクリックされると、該概要情報に対応するメールが選択された状態となる。
(メッセージ表示画面の画面例)
つぎに、クライアント端末202のディスプレイ408に表示されるメッセージ表示画面について説明する。図14〜図16は、実施の形態1にかかるメッセージ表示画面の画面例を示す説明図である。
図13のメール一覧表示画面1300において、利用者が概要情報1300−2の表示要求をすると、ディスプレイ408に図14に示すSNSのメッセージ表示画面1400が表示される。
図14において、「メール一覧に戻る」ボタンB4は、後述する図22のフローチャートのステップS2204に対応している。「メール一覧に戻る」ボタンB4がクリックされると、ステップS2107の連携アプリデータ取得処理(後述する図24のフローチャート参照)が実行され、更新されたメール一覧表示画面1300がディスプレイ408に表示される。
「前の教育コミュニティメッセージ」の矢印ボタンB5および「次の教育コミュニティメッセージ」の矢印ボタンB6は、後述する図22のフローチャートのステップS2203に対応している。矢印ボタンB5またはB6がクリックされると、ステップS2205によって前/後の連携IDをメールDB270から取得して、取得された連携IDが付与されたメッセージを含むメッセージ表示画面1400(図示省略)がディスプレイ408に表示される。
図13のメール一覧表示画面1300において、利用者が概要情報1300−7の表示要求をすると、ディスプレイ408に図15に示すチャットのメッセージ表示画面1500が表示される。
図15において、「メール一覧に戻る」ボタンB7は、図14に示した「メール一覧に戻る」ボタンB4と同じ機能を有する。「前の健康管理チャンネルメッセージ」の矢印ボタンB8、「次の健康管理チャンネルメッセージ」の矢印ボタンB9も、「前の教育コミュニティメッセージ」の矢印ボタンB5、「次の教育コミュニティメッセージ」の矢印ボタンB6と同様の機能を有する。
図15のメッセージ表示画面1500において、利用者が「次の健康管理チャンネルメッセージ」の矢印ボタンB9を押下すると、ディスプレイ408に図16に示すSNSのメッセージ表示画面1600が表示される。図13のメール一覧表示画面1300において、利用者が概要情報1300−3の表示要求をしても同様に、ディスプレイ408に図16に示すチャットのメッセージ表示画面1600が表示される。
図16において、「メール一覧に戻る」ボタンB7、「前の健康管理チャンネルメッセージ」の矢印ボタンB8、「次の健康管理チャンネルメッセージ」の矢印ボタンB9のそれぞれのボタンは、図15におけるメッセージ表示画面1500と同様の機能を有する。
また、図14〜図16のメッセージ表示画面1400〜1600には、図13に示したメール一覧表示画面1300において設けた「ログアウト」ボタンB3が設けられてはいないが、それぞれのメッセージ表示画面1400〜1600において、「ログアウト」ボタンB3と同様の「ログアウト」ボタンを設けるようにしてもよい。そうすることで、メッセージ表示画面1400〜1600から、一端、メール一覧表示画面1300へ戻らなくても、直接ログアウトすることができる。
(情報提供装置201の機能的構成例)
図17は、実施の形態1にかかる情報提供装置201の機能的構成例を示すブロック図である。図17において、情報提供装置201は、受付部1701と、メッセージ抽出部1702と、メール作成部1703と、メール記憶部1704と、一覧表示画面作成部1705と、出力部1706と、メール抽出部1707と、を含む。受付部1701〜メール抽出部1707は、制御部となる機能であり、具体的には、たとえば、図3に示したROM302、RAM303、磁気ディスク306、光ディスク308などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F304により、その機能を実現する。
受付部1701は、所定のアドレス宛に送信されたメールあるいは所定のアドレスから送信されたメールの表示要求を受け付ける機能を有する。ここで、所定のアドレスとは、メールシステム200にてメールを送受信する際にユーザを特定するための文字列であり、たとえば、ユーザのメールアドレスである。所定のアドレスは、1ユーザに対して複数存在していてもよい。
また、メールの表示要求には、たとえば、要求元となるユーザの利用者IDと、表示要求の対象となるメールのメッセージIDとが含まれている。利用者IDは、たとえば、ユーザのメールアドレスである。
具体的には、たとえば、受付部1701が、対象となる利用者を差出人または宛先としたメールの表示要求をクライアント端末202から受信することにより、当該メールの表示要求を受け付ける。また、受付部1701が、たとえば、図3に示した入力装置309を用いたユーザの操作入力により、当該メールの表示要求を受け付けることにしてもよい。
また、受付部1701は、利用者認証処理をおこなうようにしてもよい。具体的には、たとえば、図示を省略する利用者ID、パスワード入力画面の画面情報をクライアント端末202に送信し、利用者IDおよびパスワードを受信した場合に、図5に示した利用者認証DB220を参照して、利用者IDおよびパスワードが一致するか否かを判断することによって、利用者の認証処理を実行する。そして、受付部1701は、利用者が認証された場合には、図9に示したログイン履歴DB260にログイン日時を記憶する。
メッセージ抽出部1702は、受付部1701によって受け付けられたメールの表示要求にかかるアドレスに対応する利用者の識別情報に基づいて、他のメッセージ提供システムに記憶されているメッセージを抽出する。具体的には、メッセージ抽出部1702は、たとえば、利用者の識別情報に基づいて、他のメッセージ提供システムに記憶されているメッセージのうち、当該利用者が参加しているグループにおけるメッセージのみを抽出する。
より具体的には、たとえば、メッセージ抽出部1702は、図6に示したチャット利用者DB230から、ここで、利用者IDに対応する自動JOINチャンネルを抽出する。利用者IDが「yamada@xxx.ww」であれば、自動JOINチャンネル「健康管理」が抽出される。そして、メッセージ抽出部1702は、抽出された「健康管理」に該当するチャンネル名「健康管理」のチャンネル文情報をチャンネル文DB280から抽出する。
その際、メッセージ抽出部1702は、前回の抽出後にチャンネル文DB280に記憶されたメッセージのみを抽出するようにするとよい。具体的には、メッセージ抽出部1702は、たとえば、チャンネル文DB280における、抽出された「健康管理」に該当するチャンネル名「健康管理」のチャンネル文情報の中から、連携IDが設定されていないチャンネル文情報のみを抽出するようにしてもよい。
また、メッセージ抽出部1702は、前回の抽出後から今回の表示要求までの時間が、あらかじめ設定された設定時間を経過している場合に、他のメッセージ提供システムに記憶されているメッセージを抽出するようにしてもよい。具体的には、メッセージ抽出部1702は、たとえば、図8に示した、設定DB250から、設定時間を取得し、前回の抽出後から今回の表示要求までの時間と当該設定時間とを比較して、前回の抽出後から今回の表示要求までの時間が当該設定時間を超えている場合にのみ、メッセージを抽出するようにしてもよい。
より具体的には、メッセージ抽出部1702は、チャンネル名「健康管理」の設定時間は「1時間」であるので、前回の抽出から1時間経過後になっている場合にのみ、上記メールの抽出処理をおこなうようにしてもよい。
また、同様に、メッセージ抽出部1702は、図7に示したSNS利用者DB240から、利用者IDに対応する登録コミュニティを抽出する。ここで、利用者IDが「yamada@xxx.ww」であれば、登録コミュニティ「教育コミュニティ」が抽出される。そして、メッセージ抽出部1702は、抽出された「教育コミュニティ」に該当するコミュニティ名「教育コミュニティ」のSNSメッセージ情報をSNSメッセージDB290から抽出する。
その際、メッセージ抽出部1702は、前回の抽出後にSNSメッセージDB290に記憶されたメッセージのみを抽出するようにするとよい。具体的には、メッセージ抽出部1702は、たとえば、SNSメッセージDB290における、抽出された「教育コミュニティ」に該当するコミュニティ名「教育コミュニティ」のSNSメッセージ情報の中から、連携IDが設定されていないSNSメッセージ情報のみを抽出するようにしてもよい。
また、メッセージ抽出部1702は、前回の抽出後から今回の表示要求までの時間が、あらかじめ設定された設定時間を経過している場合に、他のメッセージ提供システムに記憶されているメッセージを抽出するようにしてもよい。具体的には、メッセージ抽出部1702は、たとえば、図8に示した、設定DB250から、設定時間を取得し、前回の抽出後から今回の表示要求までの時間と当該設定時間とを比較して、前回の抽出後から今回の表示要求までの時間が当該設定時間を超えている場合にのみ、メッセージを抽出するようにしてもよい。
より具体的には、メッセージ抽出部1702は、コミュニティ名「教育コミュニティ」の設定時間は「1時間」であるので、前回の抽出から1時間が経過している場合にのみ、上記メールの抽出処理をおこなうようにしてもよい。
メール作成部1703は、抽出されたメッセージの内容を含む、利用者を宛先としたメール(連携アプリデータ)を作成する。具体的には、メール作成部1703は、メッセージIDをあらたに作成し、メールDB270に対して、作成されたメッセージIDを記憶し、宛先に当該利用者の宛先を設定(記憶)し、件名に提携の文書を設定(記憶)し、連携アプリ名を記憶し、チャンネル名/コミュニティ名を記憶し、本文に抽出されたメッセージの内容を登録(記憶)し、連携IDを記憶する。このようにすることによって、連携アプリデータが、通常のメールと同様に、メールDB270に記憶される。
メール記憶部1704は、前記利用者を差出人または宛先としたメールが記憶される。メール記憶部1704は、たとえば、図10に示したメールDB270によってその機能を実現することができる。
一覧表示画面作成部1705は、メール記憶部1704に記憶されているメールの内容に基づいて、当該メールの概要情報からなる前記利用者用のメールの一覧表示画面を作成する。具体的には、たとえば、メールDB270から、発信者ID、発信日時、件名を抽出し、所定のフォーマットによりメール情報を一覧表示する画面(具体的には、たとえば図13に示したメール一覧表示画面1300)を作成する。
出力部1706は、一覧表示画面作成部1705によって作成された一覧表示画面を出力する。具体的には、クライアント端末202へ一覧表示画面の情報を送信して、図4に示したクライアント端末202のディスプレイ408に当該一覧表示画面を表示する。
また、受付部1701は、出力部1706によって出力された一覧表示画面に一覧で表示された概要情報にかかるメールの選択要求を受け付ける。具体的には、メール一覧表示画面1300において、図4に示したキーボード410やマウス411を用いたユーザの操作入力により、メール一覧表示画面1300に表示される図示を省略するカーソルを移動させていずれかの概要情報がクリックされることによって、該概要情報に対応するメールが選択され、その情報をクライアント端末202から受信することによってメールの選択要求を受け付ける。
メール抽出部1707は、受け付けられた選択要求にかかるメールの内容をメール記憶部1704から抽出する。具体的には、たとえば、受け付けた選択要求にかかるメッセージIDのメール情報をメールDB270から抽出する。また、出力部1706は、抽出されたメールの内容を出力する。具体的には、クライアント端末202へメッセージ表示画面(具体的には、たとえば図14に示したメッセージ表示画面1400、図15に示したメッセージ表示画面1500)の情報を送信して、クライアント端末202のディスプレイ408に当該一覧表示画面を表示する。
(情報提供装置201の情報提供処理手順)
つぎに、実施の形態1にかかる情報提供装置201の情報提供処理手順について説明する。図18は、実施の形態1にかかる情報提供装置201の情報提供処理(チャットプログラム)手順の一例を示すフローチャートである。
図18のフローチャートにおいて、まず、CPU301により、自動JOINチャンネル名に参加している他の参加者のチャットIDを、図6に示したチャット利用者DB230から取得する(ステップS1801)。そして、CPU301により、自動JOINチャンネルに参加者を含めた画面を作成し、クライアント端末202へ送信する(ステップS1802)。
つぎに、CPU301により、新規チャンネル名称とチャンネル作成要求をクライアント端末202から受信したか否かを判断する(ステップS1803)。ここで、CPU301により、新規チャンネル名称とチャンネル作成要求を受信しなかった場合(ステップS1803:No)は、ステップS1808へ移行する。一方、CPU301により、新規チャンネル名称とチャンネル作成要求をクライアント端末202から受信した場合(ステップS1803:Yes)は、図11に示したチャンネル文DB280に、新規チャンネル名に対応する欄を追加する(ステップS1804)。
そして、CPU301により、チャット利用者DB230におけるその利用者IDの現在JOINチャンネルにその新規チャンネル名を記憶し(ステップS1805)、新規作成したチャンネルを、チャット画面に追加する(ステップS1806)。その後、CPU301により、そのチャット画面(図示省略)をクライアント端末202へ送信する(ステップS1807)。
つぎに、CPU301により、チャンネルへの参加要求をクライアント端末202から受信したか否かを判断する(ステップS1808)。ここで、チャンネルへの参加要求を受信しなかった場合(ステップS1808:No)は、ステップS1812へ移行する。一方、CPU301により、チャンネルへの参加要求を受信した場合(ステップS1808:Yes)は、CPU301により、チャット利用者DB230におけるその利用者IDの現在JOINチャンネルに当該チャンネル名を記憶し(ステップS1809)、当該チャンネルを、チャット画面に追加する(ステップS1810)。その後、CPU301により、そのチャット画面(図示省略)をクライアント端末202へ送信する(ステップS1811)。
つぎに、CPU301により、あるチャンネル宛へのメッセージをクライアント端末202から受信したか否かを判断する(ステップS1812)。ここで、メッセージを受信しなかった場合(ステップS1812:No)は、ステップS1817へ移行する。一方、CPU301により、当該チャンネル宛へのメッセージを受信した場合(ステップS1812:Yes)は、当該チャンネルに対応するチャンネル文DB280に発言者とメッセージを記憶する(ステップS1813)。
そして、CPU301により、チャット利用者DB230から、当該チャンネルを現在JOINチャンネルとして持つチャットIDを検出する(ステップS1814)。つぎに、CPU301により、検出したチャットIDに対応するチャット画面の、当該チャンネル欄にメッセージを追加する(ステップS1815)。その後、CPU301により、そのチャット画面(図示省略)をクライアント端末202へ送信する(ステップS1816)。
つぎに、CPU301により、終了要求をクライアント端末202から受信したか否かを判断する(ステップS1817)。ここで、終了要求を受信しなかった場合(ステップS1817:No)は、ステップS1803へ移行する。一方、終了要求を受信した場合(ステップS1817:Yes)は、本フローチャートの一連の処理を終了する。
図19は、実施の形態1にかかる情報提供装置201の情報提供処理(SNSプログラム)手順の一例を示すフローチャートである。図19のフローチャートにおいて、まず、CPU301により、図7に示したSNS利用者DB240から、利用者の登録コミュニティを取得する(ステップS1901)。そして、CPU301により、図12に示したSNSメッセージDB290の、取得されたコミュニティに対応するメッセージを取得してコミュニティ画面を作成し、作成されたコミュニティ画面(図示省略)をクライアント端末202へ送信する(ステップS1902)。
つぎに、CPU301により、コミュニティへの参加要求をクライアント端末202から受信したか否かを判断する(ステップS1903)。ここで、コミュニティへの参加要求を受信しなかった場合(ステップS1903:No)は、ステップS1906へ移行する。一方、CPU301により、コミュニティへの参加要求を受信した場合(ステップS1903:Yes)は、利用者のSNS利用者DB240の登録コミュニティに、指定されたコミュニティ名を記憶し(ステップS1904)、SNSメッセージDB290の、当該コミュニティに対応するメッセージを取得してコミュニティ画面を作成し、作成されたコミュニティ画面(図示省略)をクライアント端末202へ送信する(ステップS1905)。
つぎに、CPU301により、あるコミュニティ宛へのメッセージをクライアント端末202から受信したか否かを判断する(ステップS1906)。ここで、メッセージを受信しなかった場合(ステップS1906:No)は、ステップS1908へ移行する。一方、CPU301により、当該コミュニティ宛へのメッセージを受信した場合(ステップS1906:Yes)は、SNSメッセージDB290の、当該コミュニティに対応する欄に発言者とメッセージを記憶する(ステップS1907)。
つぎに、CPU301により、終了要求をクライアント端末202から受信したか否かを判断する(ステップS1908)。ここで、終了要求を受信しなかった場合(ステップS1908:No)は、ステップS1903へ移行する。一方、終了要求を受信した場合(ステップS1908:Yes)は、本フローチャートの一連の処理を終了する。
図20〜図22は、実施の形態1にかかる情報提供装置201の情報提供処理手順の一例を示すフローチャートである。図20のフローチャートにおいて、まず、CPU301により、メール表示要求をクライアント端末202から受信したか否かを判断する(ステップS2001)。ここで、CPU301により、メール表示要求を受信するのを待つ(ステップS2001:No)。そして、CPU301により、メール表示要求を受信した場合(ステップS2001:Yes)は、利用者ID、パスワード入力画面(図示省略)の画面情報をクライアント端末202に送信する(ステップS2002)。つぎに、CPU301により、利用者ID、パスワードをクライアント端末202から受信したか否かを判断する(ステップS2003)。
ここで、CPU301により、利用者IDおよびパスワードを受信するのを待つ(ステップS2003:No)。そして、CPU301により、利用者IDおよびパスワードを受信した場合(ステップS2003:Yes)は、図5に示した利用者認証DB220を参照して、利用者の認証処理を実行する(ステップS2004)。
具体的には、たとえば、CPU301が、利用者認証DB220を参照して、受信した利用者IDに対応するパスワードを特定する。そして、CPU301が、受信したパスワードと、特定したパスワードとの一致判定をおこなう。この結果、CPU301は、パスワードが一致する場合、CPU301が利用者を認証する。一方、パスワードが不一致の場合、CPU301が利用者を認証しない。
つぎに、CPU301により、利用者が認証されたか否かを判断する(ステップS2005)。ここで、ユーザが認証されなかった場合(ステップS2005:No)は、CPU301により、認証エラー画面(図示省略)の画面情報をクライアント端末202に送信して(ステップS2006)、本フローチャートによる一連の処理を終了する。
一方、ステップS2005において、ユーザが認証された場合(ステップS2005:Yes)は、CPU301により、図9に示したログイン履歴DB260のログイン欄に認証された時刻を記録する(ステップS2007)。そして、CPU301により、連携アプリデータ記録処理を実行する(ステップS2008)。ステップS2008の連携アプリデータ記録処理の内容については、図23を用いて後に説明する。
その後、図10に示した受信した利用者IDのメールDB270に基づいて、図13に示したメール一覧表示画面1300を作成する(ステップS2009)。具体的には、「発信者ID」、「宛先」の少なくともいずれかのフィールドの情報が利用者IDの情報と一致するメール情報を抽出し、抽出したメール情報に基づいて、メール一覧表示画面の画面情報を作成する。この際、CPU301が、メールの発生日時が新しい順にソートされたメール一覧表示画面の画面情報を作成することにしてもよい。
そして、CPU301により、メール一覧表示画面の画面情報をクライアント端末202に送信する(ステップS2010)。このクライアント端末202は、ステップS2001において受信されたメール一覧表示画面の表示要求の要求元のクライアント端末202である。
その後、CPU301により、表示終了要求をクライアント端末202から受信したか否かを判断する(ステップS2011)。表示終了要求は、たとえば、図13に示したメール一覧表画面1300の「ログアウト」ボタンB3を利用者が押下することによっておこなうことができる。ここで、終了要求を受信しなかった場合(ステップS2011:No)は、図21のフローチャートのステップS2101へ移行する。一方、終了要求を受信した場合(ステップS2011:Yes)は、CPU301により、図9に示したログイン履歴DB260のログアウト欄に終了要求を受信した時刻を記録し(ステップS2012)、一連の処理を終了する。
つぎに、図21のフローチャートにおいて、CPU301により、アプリ連携最新受信要求をクライアント端末202から受信したか否かを判断する(ステップS2101)。アプリ連携最新受信要求は、たとえば、図13に示したメール一覧表示画面1300の「アプリ連携最新受信」ボタンB2を利用者が押下することによっておこなうことができる。ここで、アプリ連携最新受信要求を受信した場合(ステップS2101:Yes)は、図20のフローチャートのステップS2008へ移行し、ステップS2008以降の処理を繰り返し実行する。
ステップS2101において、アプリ連携最新受信要求を受信しなかった場合(ステップS2101:No)は、つぎに、CPU301により、メール選択情報、すなわち図13に示したメール一覧表示画面1300に一覧表示されている概要情報の中の所定のメッセージの表示要求をクライアント端末202から受信したか否かを判断する(ステップS2102)。ここで、CPU301により、メール選択情報を受信していない場合(ステップS2102:No)は、ステップS2106へ移行する。
一方、CPU301により、メール選択情報を受信した場合(ステップS2102:Yes)、選択されたメールがアプリ連携メールか否かを判断する(ステップS2103)。選択されたメールがアプリ連携メールか否かは、図10に示したメールDB270の「連携アプリ名」のフィールドに『SNS』または『チャット』の情報が記憶されているか否かで判断する。メールDB270の「連携アプリ名」のフィールドに『SNS』または『チャット』の情報が記憶されていれば、アプリ連携メールであると判断し、いずれの情報も記録されていなければ、アプリ連携メールでない(すなわち、通常のメールである)と判断する。
ステップS2103において、選択されたメールがアプリ連携メールである場合(ステップS2103:Yes)は、図22のフローチャートのステップS2201へ移行する。一方、CPU301により、選択されたメールがアプリ連携メールでない場合(ステップS2103:No)は、選択されたメールの本文、発信日時などをメールDB270から取得する(ステップS2104)。そして、CPU301により、本文、発信日時などを含めたメッセージ表示画面(図示省略)を作成し、作成したメッセージ表示画面の画面情報をクライアント端末202に送信する(ステップS2105)。
その後、CPU301により、一覧表示画面の表示要求をクライアント端末202から受信するのを待って(ステップS2106:No)、CPU301により、一覧表示画面の表示要求を受信した場合(ステップS2106:Yes)は、連携アプリデータ取得処理を実行する(ステップS2107)。ステップS2106の連携アプリデータ取得処理の内容については図24を用いて後に説明する。そして、ステップS2107の連携アプリデータ取得処理の後に、図20のフローチャートのステップS2009へ移行し、ステップS2009以降の処理を繰り返し実行する。
引き続き、ステップS2103において、選択されたメールがアプリ連携メールである場合(ステップS2103:Yes)の処理の手順を説明する。図22のフローチャートにおいて、CPU301により、選択されたメールの連携IDを図10に示したメールDB270から取得する(ステップS2201)。
そして、取得された連携IDに対する図11に示したチャンネル文DB280の情報または図12に示したSNSメッセージDB290の情報を用いて、図14または図15に示すようなメッセージの表示画面を作成し、CPU301によりクライアント端末202へ送信する(ステップS2202)。
つぎに、CPU301により、クライアント端末202から、前/後のチャンネル/コミュニティのメッセージ表示要求を受信したか否かを判断する(ステップS2203)。前のチャンネルのメッセージ表示要求は、たとえば図15の「前の健康管理チャンネルメッセージ」の矢印ボタンB8を利用者が押下することによっておこなうことができる。また、後のチャンネルのメッセージ表示要求は、たとえば図15の「次の健康管理チャンネルメッセージ」の矢印ボタンB9を利用者が押下することによっておこなうことができる。
同様に、前のコミュニティのメッセージ表示要求は、たとえば図14の「前の教育コミュニティメッセージ」の矢印ボタンB5を利用者が押下することによっておこなうことができる。また、後のコミュニティのメッセージ表示要求は、たとえば図14の「次の教育コミュニティメッセージ」の矢印ボタンB6を利用者が押下することによっておこなうことができる。
ステップS2203において、CPU301により、クライアント端末202から、前/後のチャンネル/コミュニティのメッセージ表示要求を受信した場合(ステップS2203:Yes)は、前/後の連携IDをメールDB270から取得し(ステップS2205)、ステップS2202へ戻り、以後ステップS2202以降の処理を繰り返し実行する。
具体的には、図10のメールDB270において、連携IDが「CH00001」に対するチャンネル文DB280の情報を用いてメッセージの表示画面が作成されていた場合に、前のチャンネルのメッセージ表示要求を受信した場合は、連携IDが「CH00000」に対するチャンネル文DB280の情報を用いたメッセージの表示画面が作成され、後のチャンネルのメッセージ表示要求を受信した場合は、連携IDが「CH00002」に対するチャンネル文DB280の情報を用いたメッセージの表示画面が作成されることになる。
ステップS2203において、前/後のチャンネル/コミュニティのメッセージ表示要求を受信しなかった場合(ステップS2203:No)は、CPU301により、クライアント端末202から、一覧表示画面の表示要求を受信したか否かを判断する(ステップS2204)。ここで、一覧表示画面の表示要求を受信しなかった場合(ステップS2204:No)は、ステップS2203へ戻る。一方、一覧表示画面の表示要求を受信した場合(ステップS2204:Yes)は、図21に示したステップS2107へ移行する。
これにより、利用者からの各種表示要求に対して、メール一覧表示画面、メッセージ作成画面およびメッセージ表示画面の画面情報をクライアント端末202に提供することができる。
(連携アプリデータ記録処理)
つぎに、図20のステップS2008における連携アプリデータ記録処理の手順について説明する。図23は、実施の形態1にかかる連携アプリデータ記録処理の具体的処理手順の一例を示すフローチャートである。図23のフローチャートにおいて、CPU301により、利用者IDのチャット利用者DB230から、自動JOINチャンネルを取得する(ステップS2301)。
自動JOINチャンネルが複数あれば、それらすべての自動JOINチャンネルを取得する。たとえば利用者IDが「yamada@xxx.ww」であれば、自動JOINチャンネルとして「健康管理」を取得し、利用者IDが「Tanaka@xxx.ww」であれば、自動JOINチャンネルとして「テニスクラブ」、「特許相談」、「健康管理」の3つを取得する。
同様にして、CPU301により、利用者IDのSNS利用者DB240から、登録コミュニティを取得する(ステップS2302)。登録コミュニティが複数あれば、それらすべての登録コミュニティを取得する。たとえば利用者IDが「yamada@xxx.ww」であれば、登録コミュニティとして「教育コミュニティ」を取得し、利用者IDが「suzuki@xxx.ww」であれば、自動JOIN登録コミュニティとして「教育コミュニティ」、「特許コミュニティ」の2つを取得する。
つぎに、CPU301により、今までの自動JOINチャンネルでの発言のうち、連携IDが付与されていない発言を、チャンネル文DB280から取得して、新しい連携IDを割り振り(ステップS2303)、割り振られた新しい連携IDをチャンネル文DB280に記録する(ステップS2304)。
そして、CPU301により、メッセージIDを作成して、現在日時と、件名と、連携アプリ名と、チャンネル名と、本文と、連携IDとを利用者のメールDB270に記録する(ステップS2305)。ここで、件名には、たとえばチャットであること、およびチャンネル名を記憶する。また本文には、たとえばチャットであること、チャンネル名、メッセージを受信した時刻、メッセージの件数などを記録する。
また、CPU301により、今までの登録コミュニティでの発言のうち、連携IDが付与されていない発言を、SNSメッセージDB290から取得して、新しい連携IDを割り振り(ステップS2306)、割り振られた新しい連携IDをSNSメッセージDB290に記録する(ステップS2307)。
そして、CPU301により、メッセージIDを作成して、現在日時と、件名と、連携アプリ名と、コミュニティ名と、本文と、連携IDとを利用者のメールDB270に記録する(ステップS2308)。ここで、件名には、たとえばSNSであること、およびコミュニティ名を記憶する。また本文には、たとえばSNSであること、コミュニティ名、メッセージを受信した時刻、メッセージの件数などを記録する。これにより、ステップS2008の連携アプリデータ記録処理を終了する。
(連携アプリデータ取得処理)
つぎに、図21のステップS2107における連携アプリデータ取得処理の手順について説明する。図24は、実施の形態1にかかる連携アプリデータ取得処理の具体的処理手順の一例を示すフローチャートである。図24のフローチャートにおいて、CPU301により、利用者IDのチャット利用者DB230から取得した自動JOINチャンネルの設定時間、利用者IDのSNS利用者DB240から取得した登録コミュニティの設定時間を、図8に示した設定DB250から取得する(ステップS2401)。
つぎに、CPU301により、前の取得時から設定時間を経過しているチャンネル、コミュニティが存在するか否かを判断する(ステップS2402)。ここで、設定時間を超えていない場合(ステップS2402:No)は、何もせずに、一連の処理を終了する。一方、設定時間を超えている場合(ステップS2402:Yes)は、チャットであるかあるいはSNSであるかを判断する(ステップS2403)。
ステップS2403で、チャットである場合(ステップS2403:「チャット」)は、CPU301により、今までの自動JOINチャンネルでの発言のうち、連携IDが付与されていない発言を、チャンネル文DB280から取得して、新しい連携IDを割り振り(ステップS2404)、割り振られた新しい連携IDをチャンネル文DB280に記録する(ステップS2405)。
そして、CPU301により、メッセージIDを作成して、現在日時と、件名と、連携アプリ名と、チャンネル名と、本文と、連携IDとを利用者のメールDB270に記録し(ステップS2406)、一連の処理を終了する。ここで、件名には、たとえばチャットであること、およびチャンネル名を記憶する。また本文には、たとえばチャットであること、チャンネル名、メッセージを受信した時刻、メッセージの件数などを記録する。
一方、ステップS2403で、SNSである場合(ステップS2403:「SNS」)は、CPU301により、今までの登録コミュニティでの発言のうち、連携IDが付与されていない発言を、SNSメッセージDB290から取得して、新しい連携IDを割り振り(ステップS2407)、割り振られた新しい連携IDをSNSメッセージDB290に記録する(ステップS2408)。
そして、CPU301により、メッセージIDを作成して、現在日時と、件名と、連携アプリ名と、コミュニティ名と、本文と、連携IDとを利用者のメールDB270に記録する(ステップS2409)。ここで、件名には、たとえばSNSであること、およびコミュニティ名を記憶する。また本文には、たとえばSNSであること、コミュニティ名、メッセージを受信した時刻、メッセージの件数などを記録する。これにより、ステップS2107の連携アプリデータ取得処理を終了する。
このように、ステップS2008の連携アプリデータ記録処理においては、新しい連携IDが付与されていないすべてのメッセージを取得して新しいIDを割り振り、メールDB270に記録するが、これに対してステップS2107の連携アプリデータ取得処理においては、新しい連携IDが付与されていないもののうち、設定時間を超えている場合にのみ、メッセージを取得して新しいIDを割り振り、メールDB270に記録する。
したがって、設定時間を超えていない場合は、たとえメッセージが存在しても新しい連携IDは割り振られず、メールDB270に記録されることはない。これによって、チャットまたはSNSのメッセージを受信するたびに頻繁にメールの対象となることを回避することができる。
(クライアント端末202の情報処理手順)
つぎに、実施の形態1にかかるクライアント端末202の情報処理手順について説明する。図25および図26は、実施の形態1にかかるクライアント端末202の情報処理手順の一例を示すフローチャートである。図25のフローチャートにおいて、まず、CPU401により、キーボード410やマウス411を用いたユーザの操作入力により、メール表示要求を受け付けたか否かを判断する(ステップS2501)。
ここで、CPU401により、メール表示要求を受け付けるのを待つ(ステップS2501:No)。そして、CPU401により、メール表示要求を受け付けた場合(ステップS2501:Yes)は、メール表示要求を情報提供装置201に送信する(ステップS2502)。
つぎに、CPU401により、情報提供装置201から利用者ID、パスワードの入力画面(図示省略)の画面情報を受信したか否かを判断する(ステップS2503)。ここで、CPU401により、利用者ID、パスワードの入力画面の画面情報を受信するのを待つ(ステップS2503:No)。
そして、CPU401により、利用者ID、パスワードの入力画面の画面情報を受信した場合(ステップS2503:Yes)は、受信した画面情報に基づいて、ディスプレイ408に利用者ID、パスワードの入力画面を表示する(ステップS2504)。つぎに、CPU401により、ユーザの操作入力により利用者IDおよびパスワードの入力を受け付けたか否かを判断する(ステップS2505)。
ここで、CPU401により、利用者IDおよびパスワードの入力を受け付けるのを待つ(ステップS2505:No)。そして、CPU401により、利用者IDおよびパスワードの入力を受け付けた場合(ステップS2505:Yes)は、利用者IDおよびパスワードを情報提供装置201に送信する(ステップS2506)。
つぎに、CPU401により、認証エラー画面(図示省略)の画面情報を受信したか否かを判断する(ステップS2507)。ここで、CPU401により、認証エラー画面の画面情報を受信した場合(ステップS2507:Yes)は、受信した画面情報に基づいて、ディスプレイ408に認証エラー画面を表示して(ステップS2508)、本フローチャートによる一連の処理を終了する。
ステップS2507において、CPU401により、認証エラー画面の画面情報を受信していない場合(ステップS2507:No)、メール一覧表示画面の画面情報を受信したか否かを判断する(ステップS2509)。ここで、CPU401により、メール一覧表示画面の画面情報を受信していない場合(ステップS2509:No)、ステップS2507へ戻る。
一方、CPU401により、メール一覧表示画面の画面情報を受信した場合(ステップS2509:Yes)、受信した画面情報に基づいて、ディスプレイ408にメール一覧表示画面を表示する(ステップS2510)。つぎに、CPU401により、アプリ連携最新受信要求を受け付けたか否かを判断する(ステップS2511)。
ステップS2511において、CPU401により、アプリ連携最新受信要求を受け付けた場合(ステップS2511:Yes)は、アプリ連携最新受信要求を情報提供装置201へ送信し(ステップS2512)、ステップS2509へ移行する。一方、アプリ連携最新受信要求を受け付けなかった場合(ステップS2511:No)は、図26に示すステップS2601へ移行する。
図26のフローチャートにおいて、まず、CPU401により、ユーザの操作入力によりメール選択情報、すなわちメール一覧表示画面の中から対象メールの選択を受け付けたか否かを判断する(ステップS2601)。ここで、対象メールの選択を受け付けていない場合(ステップS2601:No)、ステップS2605へ移行する。
一方、CPU401により、メール選択情報を受け付けた場合(ステップS2601:Yes)、メール選択情報を情報提供装置201に送信する(ステップS2602)。この表示要求には、たとえば、クライアント端末202のユーザの利用者IDと、対象メールのメッセージIDとが含まれている。
つぎに、CPU401により、メッセージ表示画面の画面情報を受信したか否かを判断する(ステップS2603)。ここで、CPU401により、メッセージ表示画面の画面情報を受信するのを待つ(ステップS2603:No)。そして、CPU401により、メッセージ表示画面の画面情報を受信した場合(ステップS2603:Yes)は、受信した画面情報に基づいて、ディスプレイ408にメッセージ表示画面を表示する(ステップS2604)。
つぎに、CPU401により、アプリ連携のメッセージ表示画面にて、前あるいは後の同アプリ、同チャンネル/コミュニティのメッセージの表示要求を受け付けたか否かを判断する(ステップS2605)。ここで、メッセージ作成画面の表示要求を受け付けていない場合(ステップS2605:No)、ステップS2609へ移行する。
一方、CPU401により、前あるいは後の同アプリ、同チャンネル/コミュニティのメッセージの表示要求を受け付けた場合(ステップS2605:Yes)、前あるいは後の同アプリ、同チャンネル/コミュニティのメッセージの表示要求を情報提供装置201に送信する(ステップS2606)。
つぎに、CPU401により、メッセージ表示画面の画面情報を受信したか否かを判断する(ステップS2607)。ここで、CPU401により、メッセージ表示画面の画面情報を受信するのを待つ(ステップS2607:No)。そして、CPU401により、メッセージ表示画面の画面情報を受信した場合(ステップS2607:Yes)は、受信した画面情報に基づいて、ディスプレイ408にメッセージ表示画面を表示し(ステップS2608)、ステップS2605へ戻る。
つぎに、ステップS2609において、CPU401により、一覧表示画面の表示要求があったか否か、具体的には、ユーザの操作入力により図14のメッセージ表示画面1400の「メール一覧に戻る」ボタンB4または図15のメッセージ表示画面1500、図16のメッセージ表示画面1600の「メール一覧に戻る」ボタンB7が押下されたか否かを判断する(ステップS2609)。ここで、CPU401により、一覧表示画面の表示要求があった場合(ステップS2609:Yes)は、一覧表示画面の表示要求を情報提供装置201へ送信し(ステップS2610)、図25のフローチャートのステップS2509へ移行する。
そして、CPU401により、ユーザの操作入力により表示終了要求、具体的には、ユーザの操作入力により図13のメール一覧表示画面1300の「ログアウト」ボタンB3が押下されたか否かを判断する(ステップS2611)。ここで、表示終了要求を受け付けていない場合(ステップS2611:No)、ステップS2601へ戻る。一方、CPU401により、表示終了要求を受け付けた場合(ステップS2611:Yes)、表示終了要求を情報提供装置201に送信して(ステップS2612)、本フローチャートによる一連の処理を終了する。
以上説明したように、実施の形態1にかかる情報提供装置201によれば、他のメッセージ提供システムに記憶されているメッセージをメールと同様に表示されるので、メールを閲覧するだけで、他のメッセージ提供システムに記憶されているメッセージを確認し損なうことを回避することができ、複数のコミュニケーションツールであるメッセージ提供システムを電子メールを用いて効率よく利用することができる。
また、実施の形態1にかかる情報提供装置201によれば、メッセージの取得間隔に関する可否について設定時間を定めることができるので、設定時間を短く設定することで、利用者はメッセージを頻繁にチェックすることが可能となる。また、設定時間を長く設定することで、利用者がメールとして頻繁にメール一覧表示画面に他のメールと同様に表示される煩わしさを解消することができる。
(実施の形態2)
つぎに、実施の形態2にかかる情報提供方法について説明する。実施の形態2では、実施の形態1で説明した情報提供方法において、図8に示した設定DB250に代えて、図27に示す設定DB255を用いることによって実現する。なお、実施の形態1で説明した箇所と同様の箇所については図示および説明を省略する。
図27は、実施の形態2にかかる設定DB255の記憶内容の一例を示す説明図である。実施の形態1の設定DB250と、実施の形態2の設定DB255とは、「設定時間」のフィールドと「設定量」のフィールドの違いのみである。設定DB255の「設定量」のフィールドには、チャンネル文の発言内容またはSNSメッセージの発言内容の量、具体的には、行数、メッセージ数などを記憶する。
そして、図示を省略するが、図24のフローチャートのステップS2401において、記憶されている発言内容の量を取得し、ステップS2402において、取得された発言内容の量と設定量と比較し、当該設定量を超えているか否かを判断し、発言内容の量が当該設定量を超えている場合に、ステップS2403へ移行する。発言内容の量が当該設定量を超えてない場合には、何もせずに連携アプリデータ取得処理を終了する。その他は、実施の形態1と同じである。
また、実施の形態2にかかる設定量と、実施の形態1にかかる設定時間とを、利用者が自由に選択して設定することができる。また、設定量と設定時間の両方を設定条件(たとえばAND条件、OR条件、NOT条件など)として設定するようにしてもよい。
以上説明したように、実施の形態2にかかる情報提供方法によれば、実施の形態1と同様に、複数のコミュニケーションツールであるメッセージ提供システムを電子メールを用いて効率よく利用することができる。
さらに、実施の形態2にかかる情報提供方法によれば、メッセージ(発言)の内容が、ある程度まとまった時点で、メールとしてメール一覧表示画面に表示されるので、メッセージが登録されるごとにメールとして頻繁に一覧表示画面に他のメールと同様に表示される煩わしさを解消することができる。また、前回取得されてからの時間に関係なく所定量が貯まった場合にメール一覧表示画面に表示されるので、グループ(たとえばチャンネル、コミュニティ)に対する参加者の参加状況に応じた適切なタイミングで、メッセージの内容を確認することができ、利用者に煩わしさから来るストレスを軽減することができる。
なお、本実施の形態で説明した情報提供方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報提供プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報提供プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
利用者を差出人または宛先とした電子メールの表示要求を受け付け、
受け付けられた電子メールの表示要求にかかる利用者の識別情報に基づいて、他のメッセージ提供システムに記憶されているメッセージを抽出し、
抽出されたメッセージの内容を含む、前記利用者を宛先とした電子メールを作成して、前記利用者を差出人または宛先とした電子メールが記憶されている記憶部に記憶し、
前記記憶部に記憶されている電子メールの内容に基づいて、当該電子メールの概要情報を一覧で表示するための一覧表示画面を作成し、
作成された一覧表示画面を出力し、
出力された一覧表示画面に一覧で表示された概要情報にかかる電子メールの選択要求を受け付け、
受け付けられた選択要求にかかる電子メールの内容を前記記憶部から抽出し、
抽出された電子メールの内容を出力する、
処理を実行させることを特徴とする情報提供プログラム。
(付記2)前記メッセージを抽出する処理は、前回の抽出後に前記他のメッセージ提供システムに記憶されたメッセージを抽出することを特徴とする付記1に記載の情報提供プログラム。
(付記3)前記メッセージを抽出する処理は、前回の抽出後から今回の表示要求までの時間が、あらかじめ設定された設定時間を経過している場合に、前記他のメッセージ提供システムに記憶されているメッセージを抽出することを特徴とする付記1または2に記載の情報提供プログラム。
(付記4)前記メッセージを抽出する処理は、前回の抽出後に前記他のメッセージ提供システムに記憶されたメッセージの量が所定値を超えている場合に、当該他のメッセージ提供システムに記憶されているメッセージを抽出することを特徴とする付記1または2に記載の情報提供プログラム。
(付記5)前記メッセージを抽出する処理は、前記他のメッセージ提供システムに記憶されているメッセージのうち、前記利用者の識別情報に基づいて、前記利用者が登録されているグループにおけるメッセージを抽出することを特徴とする付記1〜4のいずれか一つに記載の情報提供プログラム。
(付記6)前記他のメッセージ提供システムが、チャンネルごとにメッセージを記憶するチャット提供システムであり、
前記メッセージを抽出する処理は、
前記チャット提供システムに記憶されているメッセージのうち、前記利用者の識別情報に基づいて、前記利用者が登録されているチャンネルにおけるメッセージを抽出することを特徴とする付記5に記載の情報提供プログラム。
(付記7)前記他のメッセージ提供システムが、コミュニティごとにメッセージを記憶するSNS(Social Networking Service)提供システムであり、
前記メッセージを抽出する処理は、
前記SNS提供システムに記憶されているメッセージのうち、前記利用者の識別情報に基づいて、前記利用者が登録されているコミュニティにおけるメッセージを抽出することを特徴とする付記5に記載の情報提供プログラム。
(付記8)利用者を差出人または宛先とした電子メールの表示要求を受け付ける表示要求受付部と、
前記表示要求受付部によって受け付けられた電子メールの表示要求にかかる利用者の識別情報に基づいて、他のメッセージ提供システムに記憶されているメッセージを抽出する抽出部と、
前記抽出部によって抽出されたメッセージの内容を含む、前記利用者を宛先とした電子メールを作成する電子メール作成部と、
前記電子メール作成部によって作成された前記利用者を差出人または宛先とした電子メールを記憶する記憶部と、
前記記憶部に記憶されている電子メールの内容に基づいて、当該電子メールの概要情報を一覧で表示するための一覧表示画面を作成する一覧表示画面作成部と、
前記一覧表示画面作成部によって作成された一覧表示画面を出力する一覧表示画面出力部と、
前記一覧表示画面出力部によって出力された一覧表示画面に一覧で表示された概要情報にかかる電子メールの選択要求を受け付ける選択要求受付部と、
前記選択要求受付部によって受け付けられた選択要求にかかる電子メールの内容を前記記憶部から抽出する電子メール抽出部と、
前記電子メール抽出部によって抽出された電子メールの内容を出力する内容出力部と、
を有することを特徴とする情報提供装置。
(付記9)コンピュータが、
利用者を差出人または宛先とした電子メールの表示要求を受け付け、
受け付けられた電子メールの表示要求にかかる利用者の識別情報に基づいて、他のメッセージ提供システムに記憶されているメッセージを抽出し、
抽出されたメッセージの内容を含む、前記利用者を宛先とした電子メールを作成して、前記利用者を差出人または宛先とした電子メールが記憶されている記憶部に記憶し、
前記記憶部に記憶されている電子メールの内容に基づいて、当該電子メールの概要情報を一覧で表示するための一覧表示画面を作成し、
作成された一覧表示画面を出力し、
出力された一覧表示画面に一覧で表示された概要情報にかかる電子メールの選択要求を受け付け、
受け付けられた選択要求にかかる電子メールの内容を前記記憶部から抽出し、
抽出された電子メールの内容を出力する、
処理を実行することを特徴とする情報提供方法。