以下図面について、本発明の一実施の形態を詳述する。
(1)ハードウェア構成
本実施の形態にかかる計算機システム1は、図1に示すように、管理サーバ10と、メールサーバ20と、アプリケーションサーバ30と、クライアント40と、ネットワーク50とから構成される。
管理サーバ10とメールサーバ20とアプリケーションサーバ30とクライアント40とは、ネットワーク50を介して相互に接続されている。ネットワーク50は、各装置を相互に通信可能に接続する通信回線網であり、例えば、インターネット、電話回線網、衛星通信網等の公衆回線網や、WAN(Wide Area Network)、LAN、IP−VPN等の専用回線網などで構成されており、有線、無線を問わない。
管理サーバ10、メールサーバ20およびアプリケーションサーバ30は、物理的なコンピュータ資源が搭載された情報処理装置である。本実施形態では、管理サーバ10とメールサーバ20とアプリケーションサーバ30とを別体の装置として構成したが、かかる例に限定されず、管理サーバ10とメールサーバ20とアプリケーションサーバ30とを一体の装置として構成してもよい。
管理サーバ10は、メールサーバ20およびアプリケーションサーバ30に格納されている情報を管理する装置であって、CPU11、メモリ12、ディスク13、表示装置14、ネットワークポート15などを備えている。
CPU11は、演算処理装置および制御装置として機能し、各種プログラムに従って管理サーバ10内の動作全般を制御する。また、メモリ12は、CPU11が使用するプログラムや演算パラメータ等を記憶し、ROM(Read Only Memory)や、RAM(Random Access Memory)などから構成される。
ディスク13は、例えば、EEPROM(Electrically Erasable Programmable Read−Only Memory)、EPROM(Erasable Programmable Read Only Memory)などの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクなどから構成される。
表示装置14は、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Display)装置およびランプなどなどから構成される。
ネットワークポート15は、ネットワーク50を介してクライアント40等と接続され、各種情報をクライアント40等に送受信するためのインタフェースである。また、管理サーバ10を構成する各装置は、CPUバスなどから構成されるホストバスや、ブリッジなどのバスにより相互に接続されている。
メールサーバ20は、ネットワーク50に接続されて、クライアント40からの送受信要求にしたがって、電子メールの送信や受信を行う装置であって、CPU21、メモリ22、ディスク23、ネットワークポート24などを備えている。
CPU21は、演算処理装置および制御装置として機能し、各種プログラムに従ってメールサーバ20内の動作全般を制御する。また、メモリ22は、CPU21が使用するプログラムや演算パラメータ等を記憶し、ROM(Read Only Memory)や、RAM(Random Access Memory)などから構成される。
ディスク23は、例えば、EEPROM(Electrically Erasable Programmable Read−Only Memory)、EPROM(Erasable Programmable Read Only Memory)などの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクなどから構成される。
ネットワークポート24は、ネットワーク50を介してクライアント40等と接続され、各種情報をクライアント40等に送受信するためのインタフェースである。また、メールサーバ20を構成する各装置は、CPUバスなどから構成されるホストバスや、ブリッジなどのバスにより相互に接続されている。
アプリケーションサーバ30は、クライアント40からの要求に応じて、特定のアプリケーションを実行する装置であって、CPU31、メモリ32、ディスク33、ネットワークポート34などを備えている。本実施形態では、アプリケーションサーバ30により実行されるアプリケーションとして、グループウェアを例示して説明する。グループウェアとは、特定のグループによる強調作業を支援するアプリケーションであって、メンバ間や外部とのコミュニケーションを円滑化する電子メール機能、メンバ間の打ち合わせや特定のテーマについて議論を行うための電子会議室機能、グループ全体に公報を行う電子掲示板およびメンバ間でスケジュールを共有するスケジューラなどを提供する。
CPU31は、演算処理装置および制御装置として機能し、各種プログラムに従ってアプリケーションサーバ30内の動作全般を制御する。また、メモリ32は、CPU31が使用するプログラムや演算パラメータ等を記憶し、ROM(Read Only Memory)や、RAM(Random Access Memory)などから構成される。
ディスク33は、例えば、EEPROM(Electrically Erasable Programmable Read−Only Memory)、EPROM(Erasable Programmable Read Only Memory)などの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクなどから構成される。
ネットワークポート34は、ネットワーク50を介してクライアント40等と接続され、各種情報をクライアント40等に送受信するためのインタフェースである。また、アプリケーションサーバ30を構成する各装置は、CPUバスなどから構成されるホストバスや、ブリッジなどのバスにより相互に接続されている。
クライアント40は、例えば、PC、携帯電話またはPDA(Personal Digital Assistant)など、表示装置を備える情報処理端末である。また、クライアント40は、ネットワーク50を介して管理サーバ10、メールサーバ20およびアプリケーションサーバ30と接続されている。
クライアント40は、図示していないが、CPU、メモリ、表示装置およびネットワークポートなどを備える。各ハードウェア装置は、管理サーバ10を構成するハードウェア装置と同様のため、詳細な説明は省略する。
ここで、上記構成によって提供される本実施形態の概要について説明する。上記したアプリケーションサーバ30により提供されるグループウェアでは、ビジネスにおけるプロジェクトやチームのような参加メンバが限定されたコミュニティ内で電子メール機能や電子会議室機能やスケジューラなどの各機能により提供される情報をユーザ間で共有することができる。
コミュニティを作成する際には、コミュニティを作成しようとするユーザが、コミュニティのタイトル入力やコミュニティの参加者制限の設定など多大な労力が必要となるという問題があった。そこで、参加メンバを限定したコミュニティを生成する際に、コミュニティに参加するメンバを一人一人手動で選択しなくとも、予め登録されているユーザIDやユーザの所在場所IDなどから自動的にコミュニティのメンバを特定する技術が開示されている。しかし、当該技術では、ユーザの所在場所等によりコミュニティを生成しているため、会議等の議論の解決に有効なコミュニティを自動的に作成するとは限らないという問題があった。
また、電子メールの添付ファイルの更新情報を管理することにより、会議の議論などある一連のテーマにおける意思決定の経過を把握できる技術が開示されている。しかし、当該技術では、電子メールの情報である一連のテーマにおける意思決定の経過を把握できても、参加メンバを限定したコミュニティ内で情報を共有することができないという問題があった。
また、上記した電子メール機能や電子会議室機能などのグループウェアを利用する場合、電子メール機能でのやりとりにより会議の議論を行う場合と、電子掲示板を利用した電子会議室機能により会議の議論を行う場合とがあり、同一のコミュニティ内で両者の議論の内容を連動させたいという要求があった。
従来は、ユーザ同士が特定の議題について議論する場合には、電子メール機能を利用して複数のユーザ間で電子メールのやりとりを行うか、電子会議室機能を利用して特定のテーマ毎に議論を開始するかのいずれかを行うほかなかった。そこで、本実施の形態では、電子メールの情報をもとにコミュニティを作成し、さらに、電子メール機能と電子会議室機能とを連動させて効率的にコミュニティ内の情報を共有することを可能とした。
具体的に、本実施形態では、ユーザにより送受信された電子メールの情報をもとにコミュニティを作成する。さらに、コミュニティを作成する際に、電子メールでやり取りされていた内容を電子会議室の情報に反映させるため、電子会議室機能を利用して直ちに電子メールでやり取りされていた議論を開始することが可能となる。また、電子会議室機能を利用して行われた議論の内容が、電子メールとしてコミュニティに属するユーザに送信されるため、電子会議室機能を利用しなくとも、電子会議室で議論された内容を容易に把握することが可能となる。
本実施形態では、上記したように、電子メール機能と電子会議室機能とが連動しているため、図2に示すように、クライアント40の表示装置に、電子メールの内容を表示する電子メールの内容一覧501と、電子会議室の内容を表示する電子会議室の内容一覧502とに同様の内容が表示される。例えば、電子メール機能を利用して特定のテーマを議論した場合、電子メールの主題や送受信回数をもとに当該主題を議論するためのコミュニティが生成される。そして、当該主題を議論するための電子会議室の情報が生成され、電子メールでやり取りした内容が、電子会議室の情報に反映される。
また、コミュニティが生成された後に、電子メールに返信することにより議論に参加した場合には、当該電子メールの返信の内容が電子メールの内容一覧501だけでなく、電子会議室の内容一覧502にも反映される。したがって、電子メール機能を利用して議論に参加した場合でも、電子会議室機能を利用して議論に参加した場合のいずれでも、コミュニティ内で議論された内容のすべてを確認することができる。したがって、アプリケーションサーバ30により提供されるグループウェアを利用するユーザは、必要に応じて、電子メール機能を利用して議論に参加するか、電子会議室機能を利用して議論に参加するかを使い分けることが可能となる。
電子メール機能を利用して議論に参加した場合には、以下の利点が挙げられる。電子メール機能によりすべての業務を処理するユーザの場合には、電子会議室の情報を意識することなく業務を遂行することが可能となる。例えば、携帯端末を利用して会社の外部から利用する場合に、電子会議室機能を作動させることなく議論に参加したり議論の内容を確認したりすることが可能となる。
また、電子会議室データを利用して議論に参加した場合には、以下の利点が挙げられる。図2の電子会議室の内容一覧502に示すように、議論毎に議論の内容をまとめて閲覧することができるため、議論の経緯を容易に確認することができる。また、電子会議室で議論されている主題や議論の内容がすぐにわかるため、ユーザの目的に合った議論に容易に参加することが可能となる。さらに、議論の未決や既決状況など、過去の議論のステータスを容易に知ることが可能となる。
このように、電子メール機能を利用して議論に参加する場合と、電子会議室機能を利用して議論に参加する場合とでは、それぞれ異なる利点があるため、クライアント40のユーザは、利用場所や用途に応じて電子メール機能を利用するか、電子会議室機能を利用するかを選択することができ、効率よく電子会議の情報を収集したり、議論に参加したりすることが可能となる。
(2)ソフトウェア構成
図3に示すように、管理サーバ10のメモリ12には、各種プログラムおよび当該プログラムが利用するテーブルが格納され、例えば、メール情報監視部101、会議室同期情報テーブル103、会議室同期情報更新部104、コミュニティ作成部105、表示用メールデータ作成部106などが格納される。
メール情報監視部101は、メールサーバ20による電子メールの送信を監視して、メールサーバ20が電子メールを送信した場合に、会議室同期情報テーブル103を作成する機能を有する。具体的に、メール情報監視部101は、メールサーバ20が電子メールを送信した場合に、送信された電子メールのIDと当該電子メールの返信元の電子メールのIDとを取得する。そして、電子メールのIDと返信元の電子メールのIDと電子メールの内容とを対応付けて会議室同期情報テーブル103に格納する。
会議室同期情報テーブル103は、電子メールの情報と電子会議室の情報とを同期させるための情報であって、図4に示すように、MailID欄1031と、親MailID欄1032と、コミュニティID欄1033と、発言ID欄1034と、主題欄1035と、送信者欄1036と、To宛先欄1037と、Cc宛先欄1038と、送信日時欄1039と、本文欄1040と、添付ファイル欄1041とから構成される。
MailID欄1034には、メールサーバ20から送信された電子メールのIDが格納される。親MailID欄1032には、MailID欄1034に格納された電子メールの返信元の電子メールのIDを格納する。以降、返信元の電子メールを「親メール」と称して説明する場合がある。コミュニティID欄1033には、電子メールの情報をもとにコミュニティ作成部105により生成されるコミュニティのIDが格納される。
発言ID欄1034には、電子会議室における発言を識別するIDが格納される。主題欄1035には、議論の主題が格納される。主題欄1035には、電子メールのタイトルが格納される。送信者欄1036には、電子メールの送信者の名称が格納される。To宛先欄1037には、電子メールの宛先のうち「To」に指定された電子メールの受取人の名称が格納される。また、Cc宛先欄1038には、電子メールの宛先のうち「Cc」に指定された電子メールのカーボンコピーの受取人の名称が格納される。送信日時欄1039には、電子メールが送信された日時が格納される。本文欄1040には、電子メールの本文が格納される。また、添付ファイル欄1041には、電子メールに添付されたファイルの名称が格納される。
図3に戻り、コミュニティ作成部105は、メール情報監視部101により作成された会議室同期情報テーブル103に基づいてコミュニティを作成する。具体的に、コミュニティ作成部105は、所定の間隔で会議室同期情報テーブル103に格納されている情報を取得して、所定の条件に合う会議室同期情報テーブル103が存在する場合に、コミュニティIDを作成する。所定の条件とは、例えば、会議室同期情報テーブル103に格納されている電子メールについて、当該電信メールの返信元の電子メールであって、当該返信元の電子メールのうち最初に発信された親Mailまでの数が所定の数以上であることと、電子メールの送信先の宛先の人数が所定の数以上であることなどが挙げられる。
所定の条件は、管理サーバ10の表示装置14を介してユーザにより入力される。例えば、表示装置14に図6に示す入力画面550が表示される。ユーザにより返信回数602や宛先数603が入力される。そして、コミュニティ作成部105は、会議室同期情報テーブル103に格納されている複数の電子メールのうち、入力された返信回数以上、宛先数603以上の電子メールに基づいてコミュニティを作成する。
これらの条件により、複数人が同じテーマで電子メールをやりとりしていたことがわかり、当該テーマのコミュニティを生成して、電子会議室の情報を生成する必要があることがわかる。例えば、コミュニティ作成部105は、会議室同期情報テーブル103の主題1035をコミュニティ名とし、電子メールを送受信している送信者や送信先のメンバをコミュニティメンバとしてコミュニティを生成する。
そして、コミュニティ作成部105は、作成したコミュニティIDに電子会議室で利用可能な電子会議室の情報を対応付ける。コミュニティ作成部105は、会議室同期情報テーブル103から電子会議室の情報を会議室情報テーブル304に登録し、電子会議室の情報とコミュニティIDとを対応付ける。
ここで、会議室情報テーブル304について説明する。会議室情報テーブル304は、ユーザが電子会議室機能を利用して議論を行った場合に生成される情報であって、図5に示すように、コミュニティID欄1041と、発言ID欄3042と、親発言ID欄3043と、主題欄3044と、発言者欄3045と、回答責任者欄3046と、発言日時欄3047、本文欄3048と、添付ファイル欄3049とから構成される。
コミュニティID欄1041には、電子会議室におけるコミュニティのIDが格納される。発言ID欄3042には、電子会議室における発言を識別するIDが格納される。親発言ID欄3043には、発言IDに対応する発言の発言元を識別するIDが格納される。主題3044には、議論の主題が格納される。発言者欄3045には、発言の発言者の名称が格納される。回答責任者欄3046には、発言の回答責任者の名称が格納される。また、発言日時欄3047には、発言をした日時が格納される。本文欄3048には、発言の内容が格納される。添付ファイル欄3049には、発言とともに添付されたファイルの名称が格納される。
図3に戻り、コミュニティ作成部105は、図7に示すように、コミュニティ内に電子会議室の情報を生成する。例えば、コミュニティ作成部105は、図4に示す会議室同期情報テーブル103の電子メールのうち、MailID「0004」をトリガとしてコミュニティを作成して、図7に示す電子会議室の情報512を生成する。例えば、会議室同期情報テーブル103のMailID「0004」は親MailがMailID「0002」で、さらに、MailID「0002」の親MailがMailID「0001」である。したがって、MailID「0004」の返信回数は3回である。また、宛先数は、送信者やTo宛先、Cc宛先に格納されている情報から、「A,B,C,D」と4人であることがわかる。
例えば、コミュニティを作成する条件が、返信回数が3回以上で宛先数が4人以上の場合である場合には、コミュニティ作成部105は、図7に示すように、コミュニティ名「メール1」、コミュニティメンバ「A,B,C,D」のコミュニティを作成し、電子会議室の情報として会議室同期情報テーブル103に格納されている情報から、必要な情報を取得して会議室情報テーブル304を作成する。クライアント40を操作するユーザは、アプリケーションサーバ30により提供されるグループウェアを起動させて、電子会議室機能を立ち上げることにより、図7に示す電子会議室の情報512を閲覧することができる。
続いて、会議室同期情報更新部104は、電子会議室機能を利用した場合に生成される会議室情報テーブル304と電子メールの情報をもとに生成された会議室同期情報テーブル103とを比較して、会議室情報テーブル304と会議室同期情報テーブル103とを同期させる機能を有する。具体的に、会議室同期情報更新部104は、所定の間隔で会議室情報テーブル304に格納されている情報を会議室同期情報テーブル103に反映させる。なお、会議室同期情報更新部104は、本発明の会議室情報更新部の一例である。
会議室同期情報更新部104は、会議室情報テーブル304に格納されているすべてのレコードについて、同じコミュニティID3041が会議室同期情報テーブル103にあるか否かを判定する。同じコミュニティID3041があった場合には、同じ発言IDがあるか否かを判定する。そして、同じ、会議室情報テーブル304の発言ID3042が会議室同期情報テーブル103にないと判定された場合には、会議室同期情報更新部104は、同じ発言ID3042が会議室同期情報テーブル103になかったレコードを会議室同期情報テーブル103に登録する。これにより、電子メールの情報をもとにコミュニティが生成された場合に、当該コミュニティの電子会議室機能を利用して発言された情報を会議室同期情報テーブル103に反映させることができる。
また、会議室同期情報更新部104は、会議室同期情報テーブル103に格納されているすべてのレコードについて、コミュニティID1033が設定されているか、発言ID1034が設定されているかを判定する。会議室同期情報更新部104は、コミュニティID1033が設定され、発言ID1034が設定されていない場合に、会議室同期情報テーブル103の情報を会議室情報テーブル304に反映する。これにより、コミュニティが生成された後、電子メールを送信することにより議論に参加した場合に、当該議論の内容を会議室情報テーブル304に反映することができるため、電子メールのみを利用して電子会議に参加することが可能となる。
表示メールデータ作成部106は、会議室同期情報テーブル103に格納されている情報を電子メール機能により表示される電子メールの情報に反映させる機能を有する。具体的に、表示メールデータ作成部106は、クライアント40を操作するユーザが電子メール機能により電子メールの表示処理を行った場合に、当該ユーザの電子メールをメールサーバから取得する。
これにより、クライアント40を操作するユーザが、電子メール機能により電子会議のあるテーマについて途中から参加した場合でも、当該テーマについての過去の情報も会議室同期情報テーブル103に取り込まれる。このため、ユーザは、電子メール機能により表示させる電子メールの情報を閲覧することにより、途中参加したコミュニティ内の電子会議の情報のすべてを把握することができる。また、途中参加したコミュニティ内の電子会議の情報について、過去のすべての情報を電子メールに反映するか、途中参加した時点からの情報を電子メールに反映するかは、ユーザの入力により予め設定するようにしてもよい。
メールサーバ20にはメール情報201が格納されている。メール情報201には、例えば、クライアント40を操作するユーザ毎の電子メールの情報が格納されている。メールサーバ20は、クライアント40からの電子メールの送受信要求を受け付けて、該当するユーザの電子メールの情報をコミュニティ管理サーバ10、アプリケーションサーバ30またはクライアント40に送信する。
アプリケーションサーバ30は、上記した電子会議室機能によりコミュニティ301および電子会議室302の情報を管理する。具体的に、アプリケーションサーバ30は、コミュニティ301を動作させてコミュニティを生成したり、議論されるテーマ毎に電子会議室302を動作させて電子会議室の情報を設定したりする。例えば、コミュニティ301は、コミュニティを生成する際に、コミュニティの識別情報を設定したり、コミュニティに参加するメンバを設定したりする。また、電子会議室302は、電子会議室の情報を設定する際に、議題毎に採番したり、発言毎に採番したりする。また、電子会議室302において議論された内容を会議室情報テーブル304に格納する。また、アプリケーションサーバ30は、電子メール機能によりメール305の情報を管理する。なお、アプリケーションサーバ30の各機能はコミュニティ管理サーバ10に設けられてもよく、アプリケーションサーバ30の電子会議室302は、本発明の会議室情報登録部の一例である。
(3)計算機システムの動作の詳細
次に、計算機システム1の動作の詳細について説明する。計算機システム1では、まず、メール情報監視部101が、電子メールの情報を監視して、電子メールの情報を会議室同期情報テーブル103に格納する。そして、コミュニティ作成部105が、会議室同期情報テーブル103に格納された情報をもとに、コミュニティを作成し、当該コミュニティに対応させて電子会議室機能に利用する会議室情報テーブル304を作成する。そして、会議室同期情報更新部104が、会議室同期情報テーブル103に格納されている情報と会議室情報テーブル304に格納されている情報とを同期させる。そして、表示用メールデータ作成部106が、会議室同期情報テーブル103に格納されている情報をもとに、表示用のメールデータを作成する。
まず、メール情報監視部101の動作の詳細について説明する。図8に示すように、メール情報監視部101は、メールサーバ20の電子メールの送信を監視して、電子メールの送信を検知した場合に、本メールの情報に前メールのIDが存在するか否かを判定する(S101)。ここで、本メールとは送信された電子メールであり、前メールとは本メールの返信元の電子メールを意味する。電子メールが新たに送信されたメールではなく、他の電子メールに返信された電子メールである場合には、送信される電子メールの情報に返信元の電子メールのIDが含まれている。
ステップS101において、本メールの情報に前メールのIDが存在すると判定された場合には、メール情報監視部101は、本メールのIDをMailIDとし、前メールのIDを親MailIDとして、会議室同期情報テーブル103のMailID欄1031および親MailID欄1032にそれぞれ格納する(S102)。
そして、メール情報監視部101は、会議室同期情報テーブル103のレコードのうち、ステップS102において格納した前メールのIDに対応する会議室同期情報テーブル103のレコードにコミュニティIDが設定されているか否かを判定する(S103)。
ステップS103において、前メールのIDに対応する会議室同期情報テーブル103のレコードにコミュニティIDが設定されていないと判定された場合には、メール情報監視部101は、前メールのコミュニティIDを、本メールのコミュニティIDとして会議室同期情報テーブル103のコミュニティID欄1033に格納する(S104)。そして、メール情報監視部101は、メールサーバ20のメール情報201から、本メールの情報を削除する(S105)。そして、後述するステップS107の処理を行う。
なお、前メールのレコードにすでにコミュニティIDが設定されている場合とは、既にコミュニティIDが設定されている電子会議室の発言に対して、電子メール機能を利用して返信を行った場合である。この場合、発言に対して返信された電子メールは会議室情報テーブル304に登録されているため、メールサーバ20のメール情報201から削除する。
一方、ステップS103において、前メールのIDに対応する会議室同期情報テーブル103のレコードにコミュニティIDが設定されていると判定された場合には、本メールのID以外の情報を会議室同期情報テーブル103に格納する(S107)。
また、ステップS101において、本メールの情報に前メールのIDが存在しないと判定された場合には、メール情報監視部101は、本メールのIDをMailIDとして、会議室同期情報テーブル103のMailID欄に格納する(S106)。その後、メール情報監視部101は、上記したステップS107の処理を行う。
メール情報監視部101は、メールサーバ20からメールの送信を検知する毎に、上記したステップS101〜ステップS107の処理を実行して、会議室同期情報テーブル103に送信された電子メールの情報を格納していく。
次に、コミュニティ作成部105の動作の詳細について説明する。図9に示すように、コミュニティ作成部105は、会議室同期情報テーブル103のレコードを取得する(S201)。そして、コミュニティ作成部105は、ステップS201において取得したレコードにコミュニティIDが設定されているか否かを判定する(S202)。
ステップS202において、レコードにコミュニティIDが設定されていると判定された場合には、コミュニティ作成部105は、当該レコードの親MailIDを辿って、返信元の電子メールのうち、最初に発信された電子メールまでのレコード(一番親のレコード)数を確認する(S203)。一方、ステップS202において、レコードにコミュニティIDが設定されていないと判定された場合には、ステップS207の処理を実行する。
そして、コミュニティ作成部105は、一番親のレコードまでの数が値Xより大きいか否かを判定する(S204)。ステップS204において、一番親のレコードまでの数が所定の値Xより大きいと判定された場合には、コミュニティ作成部105は、To宛先数とCc宛先数を合計した宛先数が値Yより大きいか否かを判定する(S205)。ステップS204において、一番親のレコードまでの数が所定の値X以下であると判定された場合には、ステップS207の処理を実行する。なお、上記したXおよびYは予めユーザ入力に応じて設定された値である。例えば、返信回数を3回以上、宛先数を4人以上と設定された場合には、Xには「3」が設定され、Yには「4」が設定される。
ステップS205において、宛先数が値Yより大きいと判定された場合には、コミュニティ作成処理を実行する(S206)。ステップS205において、宛先数が値Y以下であると判定された場合には、ステップS207の処理を実行する。
コミュニティ作成部105は、ステップS206においてコミュニティ作成処理を実行した後、会議室同期情報テーブル103のすべてのレコードに対してステップS201〜ステップS206の処理を実行したか否かを判定する(S207)。ステップS207において、会議室同期情報テーブル103のすべてのレコードに対して処理を実行したと判定された場合には、処理を終了する。一方、ステップS207において、会議室同期情報テーブル103のすべてのレコードに対して処理を実行していないと判定された場合には、ステップS201からステップS207の処理を繰り返す。
次に、コミュニティ作成部105によるコミュニティ作成処理について説明する。図10に示すように、コミュニティ作成部105は、コミュニティを作成して、コミュニティIDを取得する(S211)。コミュニティIDは、アプリケーションサーバ30内でコミュニティを一意に識別可能な情報である。コミュニティ作成部105は、アプリケーションサーバ30に問い合わせて、アプリケーションサーバ30内でコミュニティを一意に識別できる番号を取得する。
そして、コミュニティ作成部105は、コミュニティ情報を設定する(S212)。具体的に、コミュニティ作成部105は、図11に示す変換表601に基づいて、会議室同期情報テーブル103からコミュニティ情報を設定する。
図11に示す変換表601によれば、会議室同期情報テーブル103の主題欄1035に格納されている情報をコミュニティ名として設定し、会議室同期情報テーブル103の送信者欄1036、To宛先欄1037、Cc宛先欄1038に格納されている情報をコミュニティメンバとして設定する。なお、コミュニティ名として設定する情報は、参照している電子メールの主題ではなく、当該電子メールの親メールの主題としてもよい。
例えば、図4に示す会議室同期情報テーブル103において、MailID「0004」のレコードが参照している電子メールであるとする。この電子メールの一番親のレコード(MailID「0001」)の主題は「メール1」であるため、「メール1」をコミュニティ名として設定する。また、MailID「004」の送信者およびすべての宛先は「A,B,C,D」であるため、これらをコミュニティメンバとして設定する。
図10に戻り、コミュニティ作成部105は、参照している電子メールの親メールのMailIDをさかのぼり、一番親のレコード(最初に発信された電子メール)までのすべてのレコードを抽出する(S213)。図4に示す会議室同期情報テーブル103では、MailID0001および0002がステップS213において抽出されるレコードとなる。
次に、コミュニティ作成部105は、参照している電子メール(自Mail)のIDを、親の電子メール(親Mail)のIDに持つレコードをチェックして、一番子のレコードまでのすべてのレコードを抽出する(S214)。
そして、コミュニティ作成部105は、ステップS213およびステップS214において抽出したレコードのすべてを会議室情報テーブル304に登録する(S215)。具体的に、コミュニティ作成部105は、図12に示す変換表に基づいて、会議室同期情報テーブル103のレコードを会議室情報テーブル304に登録する。
図12に示す変換表602によれば、会議室同期情報テーブル103の主題欄1035に格納されている情報を会議室情報テーブル304の主題欄3044に登録する。また、会議室同期情報テーブル103の送信者欄1036に格納されている情報を会議室情報テーブル304の発言者欄3045に登録し、会議室同期情報テーブル103のTo宛先欄1037の一人目の情報を回答責任者欄3046に登録する。また、会議室同期情報テーブル103の本文欄1040に格納されている情報を、会議室情報テーブル304の本文欄3048に登録し、会議室同期情報テーブル103の添付ファイル欄3049に格納されている情報を、会議室情報テーブル304の添付ファイル欄3049に登録する。
図10に戻り、コミュニティ作成部105は、コミュニティIDと発言IDとを、ステップS213において抽出した会議室同期情報テーブル103のレコードに設定する(S216)。そして、コミュニティ作成部105は、ステップS213において抽出したレコードのMailIDと同じMailIDの電子メールをメールサーバ20のメール情報201から削除する(S217)。そして、コミュニティ作成部105は、ステップS212において設定したコミュニティメンバに、コミュニティを作成したことを電子メールで通知する(S218)。
次に、会議室同期情報更新部104の動作の詳細について説明する。会議室同期情報更新部104は、会議室同期情報テーブル103と会議室情報テーブル304とを所定の間隔(例えば1分間隔)で比較して、以下に説明する同期処理を実行する。まず、電子会議室の情報を会議室同期情報テーブル103に反映する処理について説明する。
図13に示すように、まず、会議室同期情報更新部104は、会議室情報テーブル304のレコードを取得する(S301)。そして、会議室同期情報更新部104は、ステップS301において取得した会議室情報テーブル304のレコードのコミュニティID3041と同じコミュニティIDを持つレコードが会議室同期情報テーブル103に存在するか否かを判定する(S302)。
ステップS302において、同じコミュニティIDを持つレコードが存在すると判定された場合には、会議室同期情報更新部104は、同じコミュニティIDを持つレコードのうち、ステップS301において取得した会議室情報テーブル304のレコードの発言IDと同じ発言IDを持つレコードが存在するか否かを判定する(S303)。
一方、ステップS302において、同じコミュニティIDを持つレコードが存在しないと判定された場合には、会議室同期情報更新部104は、後述するステップS305の処理を実行する。
そして、ステップS303において、同じコミュニティIDを持つレコードの中に同じ発言IDのレコードが存在しないと判定された場合には、会議室同期情報更新部104は、ステップS301において取得した会議室情報テーブル304のレコードを会議室同期情報テーブル103に登録する(S304)。具体的に、会議室同期情報更新部104は、図15に示す変換表603に基づいて、会議室情報テーブル304のレコードを会議室同期情報テーブル103に登録する。
図15に示す変換表603によれば、会議室情報テーブル304の主題欄3044に格納されている情報を会議室同期情報テーブル103の主題欄1035の情報として設定する。また、会議室情報テーブル304の発言者欄3045に格納されている情報を会議室同期情報テーブル103の送信者欄1036の情報として設定し、会議室情報テーブル304の回答責任者欄3046に格納されている情報を会議室同期情報テーブル103のTo宛先欄1037の情報として設定する。また、会議室情報テーブル304のコミュニティID3041のコミュニティメンバのうち、発言者と回答責任者以外のコミュニティメンバをCc宛先欄1038の情報として設定する。そして、会議室情報テーブル304の本文欄3048、添付ファイル欄3049、コミュニティID欄3041、発言ID欄3042の情報を、それぞれ、会議室同期情報テーブル103の本文欄1040、添付ファイル欄1041、コミュニティID欄1033、発言ID欄1034の情報として設定する。
図13に戻り、ステップS303において、同じコミュニティIDを持つレコードの中に同じ発言IDのレコードが存在すると判定された場合には、会議室同期情報更新部104は、後述するステップS305の処理を実行する。
そして、会議室同期情報更新部104は、会議室情報テーブル304のすべてのレコードに対してステップS301〜ステップS304の処理を実行したか否かを判定する(S305)。ステップS305において、会議室情報テーブル304のすべてのレコードに対して処理を実行したと判定された場合には、会議室同期情報更新部104は処理を終了する。また、ステップS305において会議室情報テーブル304のすべてのレコードに対して処理を実行していないと判定された場合には、会議室同期情報更新部104はステップS301〜ステップS305の処理を繰り返す。
上記処理により、電子会議室機能を利用して、会議室情報テーブル304に投稿された発言を、会議室同期情報テーブル103に反映することができる。会議室同期情報テーブル103に反映された情報は、後述する表示用メールデータ作成部106によりすべてクライアント40の電子メールの情報に反映される。これにより、コミュニティが作成された後に、あるテーマについて電子メール機能を利用せずに電子会議室機能を利用して発言した場合でも、当該発言を電子メールの情報に反映して、電子メールの情報と電子会議室の情報とを同期させることが可能となる。
次に、会議室同期情報更新部104が、電子メールの情報をもとに作成された会議室同期情報テーブル103の情報を会議室情報テーブル304に反映する処理について説明する。
図14に示すように、まず、会議室同期情報更新部104は、会議室同期情報テーブル103のレコードを取得する(S311)。そして、会議室同期情報更新部104は、ステップS311において取得した会議室同期情報テーブル103のレコードのコミュニティID1033と同じコミュニティIDを持つレコードが会議室情報テーブル304に存在するか否かを判定する(S312)。
ステップS312において、同じコミュニティIDを持つレコードが存在すると判定された場合には、会議室同期情報更新部104は、同じコミュニティIDを持つレコードのうち、ステップS311において取得した会議室同期情報テーブル103のレコードの発言IDと同じ発言IDを持つレコードが存在するか否かを判定する(S313)。
一方、ステップS312において、同じコミュニティIDを持つレコードが存在しないと判定された場合には、会議室同期情報更新部104は、後述するステップS316の処理を実行する。
そして、ステップS313において、同じコミュニティIDを持つレコードの中に同じ発言IDのレコードが存在しないと判定された場合には、会議室同期情報更新部104は、ステップS311において取得した会議室同期情報テーブル103のレコードを会議室情報テーブル304に登録する(S314)。具体的に、会議室同期情報更新部104は、前述の図12に示す変換表602に基づいて、会議室同期情報テーブル103のレコードを会議室情報テーブル304に登録する。また、会議室同期情報更新部104が、アプリケーションサーバ30の会議室情報テーブル304に会議室同期情報テーブル103のレコードを登録する際には、登録するレコード毎に発言IDがアプリケーションサーバ30の電子会議室機能により採番される。
図12に示す変換表602によれば、会議室同期情報テーブル103の主題欄1035に格納されている情報を会議室情報テーブル304の主題欄3044に登録する。また、会議室同期情報テーブル103の送信者欄1036に格納されている情報を会議室情報テーブル304の発言者欄3045に登録し、会議室同期情報テーブル103のTo宛先欄1037の一人目の情報を回答責任者欄3046に登録する。また、会議室同期情報テーブル103の本文欄1040に格納されている情報を、会議室情報テーブル304の本文欄3048に登録し、会議室同期情報テーブル103の添付ファイル欄3049に格納されている情報を、会議室情報テーブル304の添付ファイル欄3049に登録する。
図14に戻り、会議室同期情報更新部104は、会議室同期情報304にレコードを登録する際に採番された発言IDを、会議室同期情報テーブル103の発言ID欄1034に設定する(S315)。
そして、会議室同期情報テーブル103のすべてのレコードに対してステップS311〜ステップS315の処理を実行したか否かを判定する(S316)。ステップS316において、会議室同期情報テーブル103のすべてのレコードに対して処理を実行したと判定された場合には、会議室同期情報更新部104は処理を終了する。一方、ステップS316において、会議室同期情報テーブル103のすべてのレコードに対して処理を実行していないと判定された場合には、ステップS311〜ステップS315の処理を繰り返す。
上記処理により、複数回の電子メールをやり取りすることにより議論されたテーマに対して、電子メールを返信することにより送信された発言を、会議室情報テーブル304に反映することができる。したがって、クライアント40のユーザは、電子会議室機能を利用しなくとも、電子メール機能だけを利用して、電子会議室で議論されている議題に参加することが可能となる。
会議室同期情報テーブル103は、図13に示す電子会議室の情報を会議室同期情報テーブル103に反映する処理と、図14に示す電子メールの情報をもとに作成された会議室同期情報テーブル103の情報を会議室情報テーブル304に反映する処理を定期的に繰り返すことにより、会議室同期情報テーブル103と会議室情報テーブル304とを同期させることができる。これにより、電子メール機能と電子会議室機能を連動させて、効率的にコミュニティ内の情報を共有することが可能となる。
次に、表示用メールデータ作成部106の動作の詳細について説明する。表示用メールデータ作成部106は、クライアント40のユーザが、アプリケーションサーバ30の電子メール機能を利用して、電子メールの表示操作を行った場合に、当該ユーザの電子メールをメールサーバ20から取得する。そして、図16に示す処理を実行することにより、会議室同期情報テーブル103の内容を受信メールや送信済みメールに追加する。
図16に示すように、表示用メールデータ作成部106は、会議室同期情報テーブル103のレコードを取得する(S401)。そして、表示用メールデータ作成部106は、ステップS401において取得した会議室同期情報テーブル103のレコードにコミュニティIDが設定されているか否かを判定する(S402)。
そして、ステップS402において、コミュニティIDが設定されていると判定された場合には、表示用メールデータ作成部106は、電子メールの表示操作処理を行ったユーザが、コミュニティIDに対応するコミュニティメンバに存在するか否かを判定する(S403)。具体的に、表示用メールデータ作成部106は、アプリケーションサーバ30に問い合わせることにより、コミュニティIDに対応するコミュニティメンバを取得して、当該コミュニティメンバに表示操作処理を行ったユーザが含まれているかを判定する。
一方、ステップS402において、コミュニティIDが設定されていないと判定された場合には、表示用メールデータ作成部106は、後述するステップS408の処理を実行する。
ステップS403において、処理を行ったユーザがコミュニティメンバに存在すると判定された場合には、表示用メールデータ作成部106は、電子メールの表示操作処理を行ったユーザが、会議室同期情報テーブル103の送信者1036に格納されているユーザと一致するか否かを判定する(S404)。
一方、ステップS403において、処理を行ったユーザがコミュニティメンバに存在しないと判定された場合には、表示用メールデータ作成部106は、後述するステップS408の処理を実行する。
そして、ステップS404において、電子メールの表示操作処理を行ったユーザが、会議室同期情報テーブル103の送信者欄1036に格納されているユーザと一致すると判定された場合には、表示用メールデータ作成部106は、ステップS401において取得した会議室同期情報テーブル103のレコードを、表示用メールデータの送信済みメールに追加する(S405)。
一方、ステップS404において、電子メールの表示操作処理を行ったユーザが、会議室同期情報テーブル103の送信者1036に格納されているユーザと一致しないと判定された場合には、表示用メールデータ作成部106は、電子メールの表示処理を行ったユーザが、会議室同期情報テーブル103のTo宛先欄1037またはCc宛先欄1038に格納されているユーザと一致するか否かを判定する(S406)。
ステップS406において、電子メールの表示処理を行ったユーザが、会議室同期情報テーブル103のTo宛先欄1037またはCc宛先欄1038に格納されているユーザと一致すると判定された場合には、表示用メールデータ作成部106は、ステップS401において会議室同期情報テーブル103のレコードを、表示用メールデータの受信メールに追加する(S407)。
一方、ステップS406において、電子メールの表示処理を行ったユーザが、会議室同期情報テーブル103のTo宛先欄1037またはCc宛先欄1038に格納されているユーザと一致しないと判定された場合には、表示用メールデータ作成部106は、会議室同期情報テーブル103のすべてのレコードに対してステップS401からステップS406までの処理を実行したか否かを判定する(S408)。
ステップS408において、会議室同期情報テーブル103のすべてのレコードに対して処理を実行したと判定された場合には、表示用メールデータ作成部106は処理を終了する。一方、ステップS408において、会議室同期情報テーブル103のすべてのレコードに対して処理を実行していないと判定された場合には、ステップS401からステップS406の処理を繰り返す。
表示用メールデータ作成部106により追加されたメールに対して、クライアント40のユーザが返信した場合には、当該返信メールについて、メール情報監視部101により図8のステップS103およびステップS105の処理が実行される。すなわち、返信メールについては、返信メールの前メールのレコードにコミュニティIDが設定されている(S103)。このため、返信メールが会議室同期情報テーブル103に格納され(S104)、当該返信メールがメールサーバ20から削除される(S105)。
なお、上記では、最初にメール表示操作を行ったクライアントア40のユーザのメール情報をメールサーバ20から取得しているが、かかる例に限定されず会議室同期情報テーブル103の情報のみを利用して、表示用メールデータを作成してもよい。また、先に図16に示す処理を実行した後に、メール表示操作を行ったクライアント40のユーザのメール情報をメールサーバ20から取得してもよい。
上記処理により、電子会議室機能を利用してユーザが発言を投稿した場合に、当該発言を会議室同期情報テーブル103に反映させ、当該発言が反映された会議室同期情報テーブル103から表示用のメールデータを作成する。これにより、当該発言を電子会議室の情報にだけでなく、電子メールの情報にも追加することができる。
(4)本実施の形態の効果
以上のように、本実施の形態による計算機システム1では、メールサーバ20から送信された電子メールの情報が会議室同期情報テーブル103に格納され、会議室同期情報テーブル103に格納された情報に基づいて、コミュニティIDとコミュニティの参加メンバを含むコミュニティ情報が設定され、コミュニティIDと電子会議室の投稿情報を含む電子会議室の情報とを対応づけて会議室情報テーブル304に登録される。そして、コミュニティの作成に利用された電子メールに返信された場合には、当該返信された電子メールの情報を、電子会議室の投稿情報として会議室情報テーブル304に反映する。また、電子会議室機能を利用して会議室情報テーブル304にのみ登録された投稿情報は、会議室同期情報テーブル103に反映されて電子メールとしてクライアント40に送信される。
これにより、電子メールの情報から自動的にコミュニティを作成し、コミュニティ内のメンバで共有可能な電子会議室の情報を生成して、電子メールでやり取りされていた議論を迅速に電子会議室に移行させることができる。また、電子会議室における議論に、電子メール機能のみを利用して参加したり、電子会議室機能を利用して投稿された発言を電子メールの表示機能により閲覧したりすることができる。すなわち、本実施形態によれば、電子メールの情報と電子会議室の情報とを同期させて、効率的にコミュニティ内の情報を共有することができる。
(5)他の実施の形態
なお、上述の実施形態においては、コミュニティ管理サーバ10に格納されている各種プログラムに基づいて、コミュニティ管理サーバ10のCPU11が本発明のコミュニティ作成部、会議室情報登録部および会議室情報更新部などの各種機能を実現しているが、かかる例に限定されない。例えば、CPU11をコミュニティ管理サーバ10とは別体の他の装置に設けて、当該CPUと協同して各種機能を実現するようにしてもよい。また、コミュニティ管理サーバ10に格納されている各種プログラムをコミュニティ管理サーバ10とは別体の他の装置に設けて、当該プログラムがCPU11に呼び出されることにより各種機能を実現するようにしてもよい。