(57)【要約】【課題】  必要なときに、任意に選択したメンバからなるグループで情報を共有する。【解決手段】  端末１０〜１２で行った共有オブジェクトに対する操作やメンバ追加やグループ作成などのグループの制御を、端末１０〜１２の同期制御情報管理部５、オブジェクト情報管理部６及び招待部７にて記憶部２に対して反映し、その処理内容をグループを構成する他の端末にメッセージ制御部３にて通知し、通知を受けた端末は同様にしてそれを反映することにより、任意に選択したメンバからなるグループで情報を共有する。【選択図】図１
2006164234.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末間にて情報を共有するための情報共有空間提供システムであって、
前記複数の端末のそれぞれは、
共有対象となるオブジェクト情報と、端末を保持するユーザが所属するグループのグループ情報やグループの構成メンバのメンバ情報を含む同期制御情報とを保持する記憶手段と、
グループを構成する他の端末とのメッセージの送受信を定期的に行うメッセージ制御手段と、
通知を依頼されたコマンドを一時的に保管し、保管したコマンド及びグループを構成する他の端末から通知されたコマンドの実行制御を行う分散同期管理手段と、
共有情報を利用する機能をユーザに提供し、ユーザとのやりとりを行うツールに対して、同期制御情報の制御ＡＰＩを提供し、同期制御情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を前記分散同期管理手段に依頼する同期制御情報管理手段と、
前記ツールに対して、オブジェクト情報の制御ＡＰＩを提供し、オブジェクト情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を前記分散同期管理手段に依頼するオブジェクト情報管理手段と、
前記ツールに対して、グループのメンバ追加に関する制御ＡＰＩを提供し、グループのメンバ追加に関する制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、当該コマンドのグループを構成する他の端末への通知を前記メッセージ制御手段に依頼する招待手段と、
グループを構成する端末間の情報のやりとりを行う通信手段とを有し、
前記分散同期管理手段は、前記同期制御情報管理手段及び前記オブジェクト情報管理手段から通知を依頼されたコマンドを一時的に保管する情報共有空間提供システム。
【請求項２】
請求項１に記載の情報共有空間提供システムにおいて、
前記記憶手段は、グループを構成する他の端末と共通の前記オブジェクト情報を記憶するオブジェクト情報記憶部と、
ロ−カルの端末で行われた操作を反映した前記オブジェクト情報を記憶するオブジェクト情報一時記憶部と、
グループを構成する他の端末と共通の前記同期制御情報を記憶する同期制御情報記憶部と、
ロ−カルの端末で行われた操作を反映した前記同期制御情報を記憶する同期制御情報一時記憶部とを有することを特徴とする情報共有空間提供システム。
【請求項３】
請求項２に記載の情報共有空間提供システムにおいて、
前記競合対応処理は、前記同期制御情報記憶部または前記オブジェクト情報記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンと、前記同期制御情報一時記憶部または前記オブジェクト情報一時記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンとを比較することによって行うことを特徴とする情報共有空間提供システム。
【請求項４】
請求項１乃至３のいずれか１項に記載の情報共有空間提供システムにおいて、
前記メッセージ制御手段は、前記同期制御情報管理手段または前記オブジェクト情報管理手段にてグループを構成する他の端末からのメッセージの受信と受信メッセージの反映処理の後、ロ−カルの端末で生成したコマンドの反映処理及び競合対応処理が行われた結果、競合と判定されなかったコマンドのみをグループを構成する他の端末に通知を行うことを特徴とする情報共有空間提供システム。
【請求項５】
請求項１乃至４のいずれか１項に記載の情報共有空間提供システムにおいて、
前記同期制御情報管理手段における同期制御情報の制御ＡＰＩが呼び出されたときの処理及び前記オブジェクト情報管理手段におけるオブジェクト情報の制御ＡＰＩが呼び出されたときの処理が、前記メッセージ制御手段にてグループを構成する他の端末との間で定期的に行われるメッセージ送受信処理と非同期に行われることを特徴とする情報共有空間提供システム。
【請求項６】
請求項１乃至５のいずれか１項に記載の情報共有空間提供システムにおいて、
前記メッセージ制御手段は、前記端末がグループを構成する他の端末とのメッセージの送受信ができない期間はメッセージ送受信を行わず、前記同期制御情報管理手段が提供する同期制御情報の制御ＡＰＩの呼び出し及び前記オブジェクト情報管理手段が提供するオブジェクト情報の制御ＡＰＩの呼び出しに対応して作成されるコマンドを前記分散同期管理手段に記録し続け、他の端末とのメッセージ送受信が可能になったときに、記録したコマンドの通知を行うことを特徴とする情報共有空間提供システム。
【請求項７】
請求項１乃至６のいずれか１項に記載の情報共有空間提供システムにおいて、
前記同期制御情報が、前記オブジェクト情報と同じ仕組みで共有の対象となる情報として扱われることを特徴とする情報共有空間提供システム。
【請求項８】
請求項１乃至７のいずれか１項に記載の情報共有空間提供システムにおいて、
前記同期制御情報管理手段または前記オブジェクト情報管理手段は、競合が発生した場合、競合の原因となった２つのコマンドのうち、通知前のロ−カル端末で生成したコマンドがキャンセルされ、キャンセルされた内容をツールに通知することを特徴とする情報共有空間提供システム。
【請求項９】
請求項１乃至８のいずれか１項に記載の情報共有空間提供システムにおいて、
グループへのメンバ追加は、既に参加している端末にて作成された招待状を使って、招待元と招待先が情報をやりとりすることにより実現することを特徴とする情報共有空間提供システム。
【請求項１０】
請求項１乃至９のいずれか１項に記載の情報共有空間提供システムにおいて、
前記同期制御情報管理手段、前記オブジェクト情報管理手段及び前記招待手段が提供するＡＰＩを利用して、グループ間での情報共有を利用する任意のツールが作成されることを特徴とする情報共有空間提供システム。
【請求項１１】
請求項１乃至１０のいずれか１項に記載の情報共有空間提供システムにおいて、
互いに異なる通信プロトコルを具備する複数の通信手段を有することを特徴とする情報共有空間提供システム。
【請求項１２】
請求項１乃至１１のいずれか１項に記載の情報共有空間提供システムにおいて、
前記分散同期管理手段は、通知済みのコマンド及びグループを構成する他の端末から通知されたコマンドを、次のメッセージの処理が完了するまで保管し、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段は、グループを構成する他の端末から通知されたコマンドの反映処理時にも競合判定及び対処を行うことを特徴とする情報共有空間提供システム。
【請求項１３】
請求項１乃至１２のいずれか１項に記載の情報共有空間提供システムにおいて、
前記記憶手段は、前記オブジェクト情報を、メタ情報、ファイル情報、親子関係情報及び固有情報に分割し、それぞれバージョン情報を付加して記憶し、
前記オブジェクト情報管理手段は、前記オブジェクト情報の個々の情報を独立して処理することを特徴とする情報共有空間提供システム。
【請求項１４】
複数の端末間にて情報を共有するための情報共有空間提供システムであって、
前記複数の端末のそれぞれは、
共有対象となるオブジェクト情報と、端末を保持するユーザが所属するグループのグループ情報やグループの構成メンバのメンバ情報を含む同期制御情報とを保持する記憶手段と、
グループを構成する他の端末とのメッセージの送受信を定期的に行うメッセージ制御手段と、
通知を依頼されたコマンドを一時的に保管し、保管したコマンド及びグループを構成する他の端末から通知されたコマンドの実行制御を行う分散同期管理手段と、
共有情報を利用する機能をユーザに提供し、ユーザとのやりとりを行うツールに対して、同期制御情報の制御ＡＰＩを提供し、同期制御情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を前記分散同期管理手段に依頼する同期制御情報管理手段と、
前記ツールに対して、オブジェクト情報の制御ＡＰＩを提供し、オブジェクト情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を前記分散同期管理手段に依頼するオブジェクト情報管理手段と、
前記ツールに対して、グループのメンバ追加に関する制御ＡＰＩを提供し、グループのメンバ追加に関する制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、当該コマンドのグループを構成する他の端末への通知を前記メッセージ制御手段に依頼する招待手段と、
前記ツールに対して、ロール情報及びメンバに付加されたロールの制御ＡＰＩを提供し、ロール情報及びメンバに付加されたロールの制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、コマンドのグループを構成する他の端末への通知を前記分散同期管理手段に依頼する権限管理手段と、
グループを構成する端末間の情報のやりとりを行う通信手段とを有し、
前記分散同期管理手段は、前記同期制御情報管理手段及び前記オブジェクト情報管理手段から通知を依頼されたコマンドを一時的に保管する情報共有空間提供システム。
【請求項１５】
請求項１４に記載の情報共有空間提供システムにおいて、
前記同期制御情報管理手段、前記オブジェクト情報管理手段及び前記招待手段は、コマンドの前記記憶手段への反映時にロール情報及びメンバに付与されたロール情報を参照して、コマンドの実行権限があると判定された場合のみ反映を実行し、実行権限がなかった場合には競合と判定することを特徴とする情報共有空間提供システム。
【請求項１６】
請求項１２に記載の情報共有空間提供システムにおいて、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段は、グループを構成する他の端末から通知されたコマンドが競合すると判定された場合は、コマンドの対象であったオブジェクト情報又は同期制御情報が同期できていない状態であることを前記ツールに通知することを特徴とする情報共有空間提供システム。
【請求項１７】
請求項１２または請求項１６に記載の情報共有空間提供システムにおいて、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段は、グループを構成する他の端末から通知されたコマンドの反映処理時に、前記同期制御情報記憶部または前記オブジェクト情報記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンと、グループを構成する他の端末から通知されたコマンド内に記載されている同期制御情報またはオブジェクト情報のバージョンを比較することによって競合判定を行うことを特徴とする情報共有空間提供システム。
【請求項１８】
請求項１７に記載の情報共有空間提供システムにおいて、
前記記憶手段は、一時的に処理が保留されたコマンドを記憶する蓄積コマンド記憶部を有し、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段は、グループを構成する他の端末から通知されたコマンドの反映処理時に行う競合判定において、前記同期制御情報記憶部または前記オブジェクト情報記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンと、前記グループを構成する他の端末から通知されたコマンド内に記載されている同期制御情報またはオブジェクト情報のバージョンとを比較した際に、バージョンの増加分から通知されていないコマンドがあることを検出し、
前記分散同期管理手段は、通知されていないコマンドがあることが検出された場合、グループを構成する他の端末から通知されたコマンドを前記蓄積コマンド記憶部に記録し、前記蓄積コマンド記憶部に記録されたコマンドについて、メッセージ送受信の度に他の端末から通知されたコマンドの反映処理と同様に反映処理を行うことを特徴とする情報共有空間提供システム。
【請求項１９】
請求項１乃至１５、１６乃至１８のいずれか１項に記載の情報共有空間提供システムにおいて、
前記複数の端末のうち１つをマスタ端末と定義してグループを構成し、
グループを構成する前記マスタ端末以外の端末の分散同期管理手段は、グループに通知するメッセージを前記マスタ端末に通知し、
前記マスタ端末の分散同期管理手段は、通知された前記メッセージについて、競合判定を行い、競合しなかったメッセージを、グループを構成する全端末に通知し、競合したメッセージを、通知した端末のみに競合したことを通知することを特徴とする情報共有空間提供システム。
【請求項２０】
請求項１９に記載の情報共有空間提供システムにおいて、
前記マスタ端末以外の端末は、
グループ作成を監視し、グループ作成時に前記マスタ端末を強制的に招待するマスタ端末連携部と、
招待するための前記マスタ端末の情報を保持しておくマスタ端末情報記憶部と、
端末内で実行されたコマンドを前記マスタ端末からの通知が来るまで保管しておく仮実行コマンド記憶部とを有し、
前記マスタ端末は、前記マスタ端末以外の端末からのグループへの招待を受けてグループに参加するマスタ端末制御部を有することを特徴とする情報共有空間提供システム。
【請求項２１】
請求項１９または請求項２０に記載の情報共有空間提供システムにおいて、
前記マスタ端末以外の端末は、グループで共有する情報について、前記マスタ端末が保持するグループで共有する情報と等しいかどうかを定期的にチェックし、等しくない情報が存在した場合は、前記マスタ端末の情報をコピーする同期チェック部を有し、
前記マスタ端末は、同期チェック要求を受けて、グループの同期制御情報とグループで保持するオブジェクト情報の比較用情報を取得し、同期チェック要求を通知した端末宛に返答する同期チェック処理部を有することを特徴とする情報共有空間提供システム。
【請求項２２】
請求項２１に記載の情報共有空間提供システムにおいて、
前記マスタ端末以外の端末の同期チェック部は、グループで共有する情報について、マスタ端末が保持するグループで共有する情報と等しいかを定期的にチェックし、等しくない情報が存在した場合は、マスタ端末の情報をコピーし、
前記マスタ端末の同期チェック処理部は、同期チェック要求を受けて、グループの同期制御情報とグループで保持するオブジェクト情報の比較用情報を取得し、同期チェック要求を通知した端末宛に返答することを特徴とする情報共有空間提供システム。
【請求項２３】
複数の端末間にて情報を共有するための情報共有空間提供方法であって、
共有対象となるオブジェクト情報と、端末を保持するユーザが所属するグループのグループ情報やグループの構成メンバのメンバ情報を含む同期制御情報とを前記端末内の記憶手段に記憶させる処理と、
前記端末内のメッセージ制御手段によってグループを構成する他の端末とのメッセージの送受信を定期的に行う処理と、
前記端末内の同期制御情報管理手段によって、共有情報を利用する機能をユーザに提供し、ユーザとのやりとりを行うツールに対して、同期制御情報の制御ＡＰＩを提供し、同期制御情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記端末内のオブジェクト情報管理手段によって、前記ツールに対して、オブジェクト情報の制御ＡＰＩを提供し、オブジェクト情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記端末内の招待手段によって、前記ツールに対して、グループのメンバ追加に関する制御ＡＰＩを提供し、グループのメンバ追加に関する制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、当該コマンドのグループを構成する他の端末への通知を前記メッセージ制御手段に依頼する処理と、
前記端末内の分散同期管理手段によって、前記同期制御情報管理手段及び前記オブジェクト情報管理手段から通知を依頼されたコマンドを一時的に保管し、保管したコマンド及びグループを構成する他の端末から通知されたコマンドの実行制御を行う処理とを有する情報共有空間提供方法。
【請求項２４】
請求項２３に記載の情報共有空間提供方法において、
グループを構成する他の端末と共通の前記オブジェクト情報をオブジェクト情報記憶部に記憶させる処理と、
ロ−カルの端末で行われた操作を反映した前記オブジェクト情報をオブジェクト情報一時記憶部に記憶させる処理と、
グループを構成する他の端末と共通の前記同期制御情報を同期制御情報記憶部に記憶させる処理と、
ロ−カルの端末で行われた操作を反映した前記同期制御情報を同期制御情報一時記憶部に記憶させる処理とを有することを特徴とする情報共有空間提供方法。
【請求項２５】
請求項２４に記載の情報共有空間提供方法において、
前記同期制御情報記憶部または前記オブジェクト情報記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンと、前記同期制御情報一時記憶部またはオブジェクト情報一時記憶部に記録されている同期制御情報または前記オブジェクト情報のバージョンとを比較することによって前記競合対応処理を行うことを特徴とする情報共有空間提供方法。
【請求項２６】
請求項２３乃至２５のいずれか１項に記載の情報共有空間提供方法において、
前記メッセージ制御手段によって、グループを構成する他の端末からのメッセージの受信と受信メッセージの反映処理の後、ロ−カルの端末で生成したコマンドの反映処理及び競合対応処理が行われた結果、競合と判定されなかったコマンドのみをグループを構成する他の端末に通知を行うことを特徴とする情報共有空間提供方法。
【請求項２７】
請求項２３乃至２６のいずれか１項に記載の情報共有空間提供方法において、
前記同期制御情報管理手段における同期制御情報の制御ＡＰＩが呼び出されたときの処理及び前記オブジェクト情報管理手段におけるオブジェクト情報の制御ＡＰＩが呼び出されたときの処理を、前記メッセージ制御手段にてグループを構成する他の端末との間で定期的に行われるメッセージ送受信処理と非同期に行うことを特徴とする情報共有空間提供方法。
【請求項２８】
請求項２３乃至２７のいずれか１項に記載の情報共有空間提供方法において、
前記メッセージ制御手段によって、前記端末がグループを構成する他の端末とのメッセージの送受信ができない期間はメッセージ送受信を行わず、前記同期制御情報管理手段が提供する同期制御情報の制御ＡＰＩの呼び出し及び前記オブジェクト情報管理手段が提供するオブジェクト情報の制御ＡＰＩの呼び出しに対応して作成されるコマンドを前記分散同期管理手段に記録し続け、他の端末とのメッセージ送受信が可能になったときに、記録したコマンドの通知を行うことを特徴とする情報共有空間提供方法。
【請求項２９】
請求項２３乃至２８のいずれか１項に記載の情報共有空間提供方法において、
前記同期制御情報を、前記オブジェクト情報と同じ仕組みで共有の対象となる情報として扱うことを特徴とする情報共有空間提供方法。
【請求項３０】
請求項２３乃至２８のいずれか１項に記載の情報共有空間提供方法において、
前記同期制御情報管理手段または前記オブジェクト情報管理手段によって、競合が発生した場合、競合の原因となった２つのコマンドのうち、通知前のロ−カル端末で生成したコマンドがキャンセルされ、キャンセルされた内容をツールに通知することを特徴とする情報共有空間提供方法。
【請求項３１】
請求項２３乃至３０のいずれか１項に記載の情報共有空間提供方法において、
グループへのメンバ追加を、既に参加している端末にて作成された招待状を使って、招待元と招待先が情報をやりとりすることにより実現することを特徴とする情報共有空間提供方法。
【請求項３２】
請求項２３乃至３１のいずれか１項に記載の情報共有空間提供方法において、
前記同期制御情報管理手段、前記オブジェクト情報管理手段及び前記招待手段が提供するＡＰＩを利用して、グループ間での情報共有を利用する任意のツールを作成することを特徴とする情報共有空間提供方法。
【請求項３３】
請求項２３乃至３２のいずれか１項に記載の情報共有空間提供方法において、
互いに異なる通信プロトコルを具備する複数の通信手段のうち、利用する通信プロトコルに応じた通信手段を選択することを特徴とする情報共有空間提供方法。
【請求項３４】
請求項２３乃至３３のいずれか１項に記載の情報共有空間提供方法において、
前記分散同期管理手段によって、通知済みのコマンド及びグループを構成する他の端末から通知されたコマンドを、次のメッセージ制御が完了するまで保管する処理と、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段によって、グループを構成する他の端末から通知されたコマンドの反映処理時にも競合判定及び対処を行う処理とを有することを特徴とする情報共有空間提供方法。
【請求項３５】
請求項２３乃至３４のいずれか１項に記載の情報共有空間提供方法において、
前記オブジェクト情報を、メタ情報、ファイル情報、親子関係情報及び固有情報に分割し、それぞれバージョン情報を付加して前記記憶手段に記憶させ、前記オブジェクト情報管理手段によって、前記オブジェクト情報の個々の情報を独立して処理することを特徴とする情報共有空間提供方法。
【請求項３６】
複数の端末間にて情報を共有するための情報共有空間提供方法であって、
共有対象となるオブジェクト情報と、端末を保持するユーザが所属するグループのグループ情報やグループの構成メンバのメンバ情報を含む同期制御情報とを前記端末内の記憶手段に記憶させる処理と、
前記端末内のメッセージ制御手段によってグループを構成する他の端末とのメッセージの送受信を定期的に行う処理と、
前記端末内の同期制御情報管理手段によって、共有情報を利用する機能をユーザに提供し、ユーザとのやりとりを行うツールに対して、同期制御情報の制御ＡＰＩを提供し、同期制御情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記端末内のオブジェクト情報管理手段によって、前記ツールに対して、オブジェクト情報の制御ＡＰＩを提供し、オブジェクト情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記端末内の招待手段によって、前記ツールに対して、グループのメンバ追加に関する制御ＡＰＩを提供し、グループのメンバ追加に関する制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、当該コマンドのグループを構成する他の端末への通知を前記メッセージ制御手段に依頼する処理と、
前記端末内の権限管理手段によって、前記ツールに対して、ロール情報及びメンバに付加されたロールの制御ＡＰＩを提供し、ロール情報及びメンバに付加されたロールの制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記端末内の分散同期管理手段によって、前記同期制御情報管理手段及び前記オブジェクト情報管理手段から通知を依頼されたコマンドを一時的に保管し、保管したコマンド及びグループを構成する他の端末から通知されたコマンドの実行制御を行う処理とを有する情報共有空間提供方法。
【請求項３７】
請求項３６に記載の情報共有空間提供方法において、
前記同期制御情報管理手段、前記オブジェクト情報管理手段及び前記招待手段によって、コマンドの前記記憶手段への反映時にロール情報及びメンバに付与されたロール情報を参照して、コマンドの実行権限があると判定された場合のみ反映を実行し、実行権限がなかった場合には競合と判定することを特徴とする情報共有空間提供方法。
【請求項３８】
請求項３４に記載の情報共有空間提供方法において、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段によって、グループを構成する他の端末から通知されたコマンドが競合すると判定された場合は、コマンドの対象であったオブジェクト情報又は同期制御情報が同期できていない状態であることを前記ツールに通知することを特徴とする情報共有空間提供方法。
【請求項３９】
請求項３４または請求項３８に記載の情報共有空間提供方法において、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段によって、グループを構成する他の端末から通知されたコマンドの反映処理時に、前記同期制御情報記憶部または前記オブジェクト情報記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンと、グループを構成する他の端末から通知されたコマンド内に記載されている同期制御情報またはオブジェクト情報のバージョンを比較することによって競合判定を行うことを特徴とする情報共有空間提供方法。
【請求項４０】
請求項３９に記載の情報共有空間提供方法において、
一時的に処理が保留されたコマンドを蓄積コマンド記憶部に記憶させ、
前記同期制御情報管理手段及び前記オブジェクト情報管理手段によって、グループを構成する他の端末から通知されたコマンドの反映処理時に行う競合判定において、前記同期制御情報記憶部または前記オブジェクト情報記憶部に記録されている同期制御情報またはオブジェクト情報のバージョンと、前記グループを構成する他の端末から通知されたコマンド内に記載されている同期制御情報またはオブジェクト情報のバージョンとを比較した際に、バージョンの増加分から通知されていないコマンドがあることを検出し、
前記分散同期管理手段によって、通知されていないコマンドがあることが検出された場合、グループを構成する他の端末から通知されたコマンドを前記蓄積コマンド記憶部に記録し、前記蓄積コマンド記憶部に記録されたコマンドについて、メッセージ送受信の度に他の端末から通知されたコマンドの反映処理と同様に反映処理を行うことを特徴とする情報共有空間提供方法。
【請求項４１】
請求項２３乃至３７、３８乃至４０のいずれか１項に記載の情報共有空間提供方法において、
前記複数の端末のうち１つをマスタ端末と定義してグループを構成し、
グループを構成する前記マスタ端末以外の端末の分散同期管理手段によって、グループに通知するメッセージを前記マスタ端末に通知し、
前記マスタ端末の分散同期管理手段によって、通知された前記メッセージについて、競合判定を行い、競合しなかったメッセージを、グループを構成する全端末に通知し、競合したメッセージを、通知した端末のみに競合したことを通知することを特徴とする情報共有空間提供方法。
【請求項４２】
請求項４１に記載の情報共有空間提供方法において、
前記マスタ端末以外の端末は、
マスタ端末連携部によって、グループ作成を監視し、グループ作成時に前記マスタ端末を強制的に招待し、
招待するための前記マスタ端末の情報をマスタ端末情報記憶部に保持し、
端末内で実行されたコマンドを前記マスタ端末からの通知が来るまで仮実行コマンド記憶部に保管し、
前記マスタ端末は、前記マスタ端末以外の端末からのグループへの招待を受けてグループに参加するマスタ端末制御部を有することを特徴とする情報共有空間提供方法。
【請求項４３】
請求項４１または請求項４２に記載の情報共有空間提供方法において、
前記マスタ端末以外の端末は、同期チェック部によって、グループで共有する情報について、前記マスタ端末が保持するグループで共有する情報と等しいかどうかを定期的にチェックし、等しくない情報が存在した場合は、前記マスタ端末の情報をコピーし、
前記マスタ端末は、同期チェック要求を受けて、グループの同期制御情報とグループで保持するオブジェクト情報の比較用情報を取得し、同期チェック要求を通知した端末宛に返答する同期チェック処理部を有することを特徴とする情報共有空間提供方法。
【請求項４４】
請求項４３に記載の情報共有空間提供方法において、
前記マスタ端末以外の端末の同期チェック部によって、グループで共有する情報について、マスタ端末が保持するグループで共有する情報と等しいかを定期的にチェックし、等しくない情報が存在した場合は、マスタ端末の情報をコピーし、
前記マスタ端末の同期チェック処理部によって、同期チェック要求を受けて、グループの同期制御情報とグループで保持するオブジェクト情報の比較用情報を取得し、同期チェック要求を通知した端末宛に返答することを特徴とする情報共有空間提供方法。
【請求項４５】
共有対象となるオブジェクト情報と、端末を保持するユーザが所属するグループのグループ情報やグループの構成メンバのメンバ情報などの同期制御情報とを記憶手段に記憶させる処理と、
グループを構成する他の端末とのメッセージの送受信を定期的に行う処理と、
共有情報を利用する機能をユーザに提供し、ユーザとのやりとりを行うツールに対して、同期制御情報の制御ＡＰＩを提供し、同期制御情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記ツールに対して、オブジェクト情報の制御ＡＰＩを提供し、オブジェクト情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記ツールに対して、グループのメンバ追加に関する制御ＡＰＩを提供し、グループのメンバ追加に関する制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記通知を依頼されたコマンドを一時的に保管し、保管したコマンド及びグループを構成する他の端末から通知されたコマンドの実行制御を行う処理とをコンピュ−タに実行させるコンピュータプログラム。
【請求項４６】
請求項４５に記載のコンピュータプログラムにおいて、
グループを構成する他の端末と共通の前記オブジェクト情報とグループを構成する他の端末と共通の前記同期制御情報とを前記記憶手段に記憶させる処理と、
ロ−カルの端末で行われた操作を反映した前記オブジェクト情報とロ−カルの端末で行われた操作を反映した前記同期制御情報とを前記記憶手段に一時的に記憶させる処理とをコンピュ−タに実行させることを特徴とするコンピュータプログラム。
【請求項４７】
共有対象となるオブジェクト情報と、端末を保持するユーザが所属するグループのグループ情報やグループの構成メンバのメンバ情報などの同期制御情報とを記憶手段に記憶させる処理と、
グループを構成する他の端末とのメッセージの送受信を定期的に行う処理と、
共有情報を利用する機能をユーザに提供し、ユーザとのやりとりを行うツールに対して、同期制御情報の制御ＡＰＩを提供し、同期制御情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記ツールに対して、オブジェクト情報の制御ＡＰＩを提供し、オブジェクト情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記ツールに対して、グループのメンバ追加に関する制御ＡＰＩを提供し、グループのメンバ追加に関する制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、当該コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記ツールに対して、ロール情報及びメンバに付加されたロールの制御ＡＰＩを提供し、ロール情報及びメンバに付加されたロールの制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを記憶手段に反映し、反映時に競合対応処理を行い、コマンドのグループを構成する他の端末への通知を依頼する処理と、
前記通知を依頼されたコマンドを一時的に保管し、保管したコマンド及びグループを構成する他の端末から通知されたコマンドの実行制御を行う処理とをコンピュ−タに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の端末間で情報を共有する情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムに関し、特に、必要なときに、任意に選択したメンバからなるグループで情報を共有する空間を生成でき、更にその空間で共有する情報はいつでも利用でき、更にその空間を利用するツールが容易にかつ自由に実装できる情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
図３０は、特定した複数のユーザ間で情報を共有する従来の電子情報共有システムの一例を示す図である。
【０００３】
図３０に示すように本例においては、ファイル共有管理システム１０１において、ネットワーク１０３に接続されたユーザ端末１０２ａ〜１０２ｄが保持するファイル一覧や、コミュニティ情報が管理されており、ユーザ端末１０２ａ〜１０２ｄの要求に応じて、そのユーザ端末の利用ユーザが所属しているコミュニティで参照できるファイル一覧が配信される。例えば、要求を出したユーザ端末１０２ａにおいて、ファイル共有管理システム１０１にて管理されるファイル一覧から取得したいファイルが選択されると、選択されたファイルを保持するユーザ端末１０２ｃにファイル共有管理システム１０１からその旨が通知され、ユーザ端末１０２ｃからユーザ端末１０２ａにファイルが送信されることによって、同じコミュニティに属するユーザ端末間で情報が共有されることになる（例えば、特許文献１参照。）。
【０００４】
図３１は、特定した複数のユーザ間で情報を共有する従来のコンピュータシステムの他の例を示す図である。
【０００５】
図３１に示すように、本例においては、メモリ２０６に共有データのコピ−が保持されており、ツール２０３−１において、ユーザが行った操作に基づいてデータ変更要求が生成され、ダイナミックマネ−ジャ２０４において、ツールから通知されたデータ変更要求とリモ−トデバイス２０２から通知されたデータ変更要求が選択されてデータ変更エンジン２０３−２にて実行される（例えば、特許文献２参照。）。また、通信マネ−ジャ２０６を介してデータ変更要求が互いに通知されることによって、同じコミュニティに属するデバイス間で情報が共有される。
【０００６】
ここで、上述したような形態の情報共有システムでは、共有文書を同時に複数のデバイスで編集した場合に正しく処理することができず、各デバイスが同じ状態を保てなくなる虞れがある。そこで、デルタと呼ばれるデータ変更要求を順番を保ちながら保持する仕組みと、矛盾が発生したデルタをキャンセルする仕組みと、不要になったデルタを削除する仕組みとによって各デバイスが同じ状態を保つ技術が考えられている（例えば、特許文献３，４参照。）。
【特許文献１】特開２００４−１７２８１８号公報
【特許文献２】特表２００３−５０５７６０号公報
【特許文献３】特表２００３−５２６８３７号公報
【特許文献４】特開２００４−１５２２８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したような従来の技術の情報共有システムにおいては、以下に記載するような問題点がある。
【０００８】
（１）共有ファイル一覧とそれを保管する端末、グループを構成する端末一覧などの情報がサーバにて管理されているために、サーバへのアクセス権限を持ったユーザでなくてはグループ作成やメンバ追加ができないとともに、サーバにて管理されているメンバしかグループに参加させることができず、そのため、ユーザが、必要なときに、任意に選択したメンバからなるグループで情報を共有することができない。
【０００９】
（２）共有ファイル一覧とそれを保管する端末、グループを構成する端末一覧などの情報がサーバにて管理されているために、サーバにアクセスできる環境でなければ共有情報が取得することができず、そのため、ネットワ−クに接続していない状態では、共有する情報を参照したり編集したりすることができない。
【００１０】
（３）端末間通信の仲介を行うためにはリレーサーバが必要となるため、システム専用の２４時間運用できるサーバを用意できない場合、情報共有を利用することができない。
【００１１】
（４）新しいツールを実現する場合、対応するデータ変更エンジンも追加で実装する必要があり、また、データ変更エンジンには、すべての処理をロールバックできる仕組みを用意しなくてはならないため、新しいツールの実装に工数がかかってしまう。
【００１２】
（５）複数の端末で情報を共有することによって発生する矛盾の対処を目的として、各端末にデータ変更要求情報を長期間保持しておく必要があるため、端末のメモリを圧迫してしまう。
【００１３】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、必要なときに、任意に選択したメンバからなるグループで情報を共有することができる情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムを提供することを目的とする。
【００１４】
また、ネットワ−クに接続していない状態でも共有する情報を参照したり編集したりすることができる情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムを提供することを目的とする。
【００１５】
また、端末間の通信手段を、システムを適用するインフラの状況に応じて選択することができる情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムを提供することを目的とする。
【００１６】
また、共有情報を利用するツールを、容易に、かつ自由に実装することができる情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムを提供することを目的とする。
【００１７】
また、情報共有実現に際して必須となる競合対処機能のために、端末のリソ−スを圧迫せず、ツールの実装に制約を設けない情報共有空間提供システム、情報共有空間提供方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記目的を達成するために本発明は、
複数の端末間にて情報を共有するための情報共有空間提供システムであって、
前記複数の端末のそれぞれは、
共有対象となるオブジェクト情報と、端末を保持するユーザが所属するグループのグループ情報やグループの構成メンバのメンバ情報を含む同期制御情報とを保持する記憶手段と、
グループを構成する他の端末とのメッセージの送受信を定期的に行うメッセージ制御手段と、
通知を依頼されたコマンドを一時的に保管し、保管したコマンド及びグループを構成する他の端末から通知されたコマンドの実行制御を行う分散同期管理手段と、
共有情報を利用する機能をユーザに提供し、ユーザとのやりとりを行うツールに対して、同期制御情報の制御ＡＰＩを提供し、同期制御情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を前記分散同期管理手段に依頼する同期制御情報管理手段と、
前記ツールに対して、オブジェクト情報の制御ＡＰＩを提供し、オブジェクト情報の制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、反映時に競合対応処理を行い、当該コマンドのグループを構成する他の端末への通知を前記分散同期管理手段に依頼するオブジェクト情報管理手段と、
前記ツールに対して、グループのメンバ追加に関する制御ＡＰＩを提供し、グループのメンバ追加に関する制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを前記記憶手段に反映し、当該コマンドのグループを構成する他の端末への通知を前記メッセージ制御手段に依頼する招待手段と、
グループを構成する端末間の情報のやりとりを行う通信手段とを有し、
前記分散同期管理手段は、前記同期制御情報管理手段及び前記オブジェクト情報管理手段から通知を依頼されたコマンドを一時的に保管する。
【００１９】
上記のように構成された本発明においては、各端末で行った共有オブジェクトに対する操作やメンバ追加やグループ作成などのグループの制御を各端末がそれぞれの記憶手段に対して反映し、その処理内容をグループを構成する他の端末に通知し、通知を受けた端末はそれを反映することにより、任意に選択したメンバからなるグループで情報を共有することができる。
【００２０】
また、記憶手段に共有情報の一時記憶部を設け、グループを構成する他の端末に通知していない処理は一時記憶部に反映し、端末がネットワ−クにアクセスできない場合はアクセスできるようになるまでその処理内容を保管しておくことにより、ネットワークに接続していない状態でも共有する情報を参照したり編集したりすることができる。
【００２１】
また、通信手段がメッセージ制御手段からメッセージの送信機能及び受信機能が呼び出せる形態で実装されていれば、使う通信プロトコルを自由に選択することができ、それにより、端末間の通信手段を、システムを適用するインフラの状況に応じて選択することができる。
【００２２】
また、ツールが共通で必要とする機能（オブジェクト情報操作、同期制御情報操作及び招待処理）を利用できるＡＰＩをツールに対して提供することにより、端末のリソースを圧迫せず、ツールの実装に制約が生じてしまうことがなくなる。
【００２３】
また、ツールからのＡＰＩ呼び出しによって行われた共有情報の変更をまず記憶手段の一時記憶部に反映し、他端末からの通知による共有情報の変更を記憶部に反映後に、一時記憶部に記録された共有情報の変更を記憶部に反映させる。その際に、共有情報に付加されているバージョン情報を比較することで競合を判定し、判定後は速やかに一時記憶部の情報を削除することによっても、端末のリソースを圧迫せず、ツールの実装に制約が生じてしまうことがなくなる。
【発明の効果】
【００２４】
本発明は、以下に記載するような効果を奏する。
【００２５】
（１）グループの制御機能の実現にサーバを介さず、端末上の処理と処理内容の端末間のやりとりで行われるため、グループの作成や変更などのグループ構成の制御機能について、各端末がサーバの能力などによる制限をうけることなく利用することができ、ユーザが、必要なときに、任意に選択したメンバからなるグループで情報を共有できる。
【００２６】
（２）共有する情報が各端末の記憶手段に保持され、更に共有情報を一時的に記憶する一時記憶部を有しているため、端末がネットワ−クに繋がっていない状態でも共有情報の参照および編集ができ、その編集内容はネットワ−クが繋がった時に速やかにグループを構成する他の端末に反映することができる。
【００２７】
（３）通信機能が、メッセージ制御機能からメッセージの送信機能及び受信機能が呼び出せる形態で実装されているため、端末間の通信手段を、システムを適用するインフラの状況に応じて選択することができる。
【００２８】
（４）ツールが共通で必要とする機能（オブジェクト情報操作、同期制御情報操作及び招待処理）を利用できるＡＰＩを、ツールに対して提供しているため、共有情報を利用するツールを容易に、かつ自由に実装することができる。
【００２９】
（５）記憶手段に一時記憶部を設けて、ツールからのＡＰＩ呼び出しによって行われた共有情報の変更はまず一時記憶部に反映し、他端末からの通知による共有情報の変更を記憶部に反映後に、一時記憶部に記録された共有情報の変更を記憶部に反映させる際に、共有情報に付加されているバージョン情報を比較することで競合を判定し、判定後は速やかに一時記憶部の情報を削除することで、多くの情報を保持せずに競合対処が実現できるため、各端末が競合対処のための情報でメモリが圧迫されることがない。
【発明を実施するための最良の形態】
【００３０】
以下に、本発明の実施の形態について図面を参照して説明する。
【００３１】
（第１の実施の形態）
図１は、本発明の情報共有空間提供システムの実施の一形態を示す図である。
【００３２】
図１に示すように本形態においては、端末１０内に、情報を記憶する記憶部２と、プログラム制御により動作するデータ処理部１と、グループを構成する端末間の情報のやりとりを実現する１つ以上の通信部８ａ〜８ｃとが設けられている。
【００３３】
記憶部２は、端末を保持するユーザが所属する１つ以上のグループのグループ情報や、そのグループを構成するメンバのメンバ情報などの同期制御情報を記憶する同期制御情報記憶部２ａと、ツール９ａ〜９ｃからの指示により更新された同期制御情報を一時的に記憶する同期制御情報一時記憶部２ｂと、端末を保持するユーザが所属するグループで共有するオブジェクト情報を記憶するオブジェクト情報記憶部２ｃと、ツール９ａ〜９ｃからの指示により更新されたオブジェクト情報を一時的に記憶するオブジェクト情報一時記憶部２ｄとから構成されている。
【００３４】
データ処理部１は、グループを構成する他の端末とのメッセージの送受信を定期的に行うメッセージ制御部３と、通知を依頼されたコマンドを一時的に保管し、保管したコマンドと、グループを構成する他の端末からメッセージ制御部３を介して通知されたコマンドとの実行制御を行う分散同期管理部４と、同期制御情報の制御用ＡＰＩ（Application Program Interface）をツール９ａ〜９ｃに提供し、同期制御情報の制御ＡＰＩが呼び出された際に、処理内容を表現するコマンドの生成と、コマンドの同期制御情報記憶部２ａ及び同期制御情報一時記憶部２ｂへの反映及びそれに伴う競合対応処理を行い、コマンドのグループを構成する他の端末への通知を分散同期管理部４に依頼する同期制御情報管理部５と、グループで共有するオブジェクト情報の制御ＡＰＩをツール９ａ〜９ｃに提供し、オブジェクト情報の制御ＡＰＩによるコマンドの生成と、コマンドのオブジェクト情報記憶部２ｃ及びオブジェクト情報一時記憶部２ｄへの反映と、それに伴う競合対応処理を行い、コマンドのグループを構成する他の端末への通知を分散同期管理部４に依頼するオブジェクト情報管理部６と、グループのメンバ追加に関する制御ＡＰＩをツール９ａ〜９ｃに提供し、グループのメンバ追加に関する制御ＡＰＩの呼び出しに対応したコマンドを生成し、生成したコマンドとグループを構成する他の端末から通知されたコマンドを記憶部２に反映し、コマンドをグループを構成する他の端末への通知をメッセージ制御部３に依頼する招待部７とから構成され、同期制御情報管理部５とオブジェクト情報管理部６から通知を依頼されたコマンドが分散同期管理部４に一時的に保管される。
【００３５】
通信部８ａ〜８ｃは、メッセージの送信及び受信メッセージの提供機能を提供するモジュ−ルである。メッセージ制御部３からメッセージの送信機能及び受信機能が呼び出せる形態で実装されていれば、利用する通信プロトコルは不問である。図１に示すように、互いに異なる通信プロトコルを用いた通信機能を有する３つの通信部８ａ〜８ｃを実装することで、グループやメンバごとに異なる通信プロトコルを使うことも可能である。通信プロトコルの識別情報は、グループ情報やメンバ情報の情報通知先情報内に含まれる。
【００３６】
本形態の運用の際には、本形態に、共有情報を利用する機能をユーザに提供し、ユーザ操作の受付や共有情報の状態のユーザへの伝達を行う１つ以上のツール９ａ〜９ｃを組み合わせる。ツール９ａ〜９ｃは本形態が提供するＡＰＩを利用して作成できる。
【００３７】
本形態及びツール９ａ〜９ｃは、端末１０内のシステムとして実装される。グループを構成するメンバは同じ本形態及びツール９ａ〜９ｃが実装された端末１１，１２を１つ以上保持している。以降、端末１０を単に端末又はロ−カル端末、また、端末１１，１２をリモ−ト端末と呼んで区別することにする。
【００３８】
図２は、図１に示した同期制御情報記憶部２ａにて記憶されている同期制御情報の構成例を示す図である。
【００３９】
図２に示すように、グループ情報３０１は、システムでユニ−クなグループ識別子、競合検出で利用するバージョン、グループ名、グループ宛の情報通知先と、１つ以上の参加メンバ識別子などが記述されている。なお、グループ宛ての情報通知先はなくてもよい。また、メンバ情報３０２は、システムでユニ−クなメンバ識別子と、競合検出で利用するバージョン、メンバ宛の情報通知先などが記述されている。グループ情報３０１の参加メンバ識別子は、グループメンバ情報３０２のメンバ識別子と対応づけられている。ここで示した構成例では共有に必要な最低限の情報だけを示しており、これらに加えて、グループ情報３０１には、グループ作成者やグループの説明などグループの付加情報を記述して共有することができるし、メンバ情報３０２には、グループメンバの所属情報などの付加情報を記述して共有することができる。
【００４０】
図３は、図１に示したオブジェクト情報管理部２ｃにて記憶されているオブジェクト情報の構成例を示す図である。
【００４１】
図３に示すように、オブジェクト情報４０１は、グループでユニ−ク、またはシステムでユニ−クなオブジェクト識別子と、競合検出で利用するバージョン、オブジェクト名、ファイルやスケジュ−ルまたは掲示板のメッセージなどオブジェクトの種別を示すオブジェクトタイプと、オブジェクトタイプ別に決まったフォ−マットでオブジェクトの内容が記述される固有情報によって構成される。固有情報はＸＭＬ形式で記述されていてもよい。ここで示した構成例では、最低限の情報だけを示しており、これらに加えてオブジェクト作成者や作成日時、最終更新日時など付加情報を記述して共有することができる。
【００４２】
これら同期制御情報とオブジェクト情報とは、同じ仕組みで共有の対象となる情報として扱われる。
【００４３】
同期制御情報管理部５がツール９ａ〜９ｃに提供するＡＰＩには、同期制御情報の参照・編集などがある。また、オブジェクト情報管理部６が提供するＡＰＩには、オブジェクト情報の新規登録、参照、編集、削除などがある。招待部７が提供するＡＰＩには、グループ新規作成、招待状作成、招待状読み込み、グループ退会などがある。
【００４４】
また、同期制御情報管理部５は、発生した同期制御情報の更新及び競合発生などの同期制御情報に関するイベントをツール９ａ〜９ｃに通知するＡＰＩも提供する。同様にオブジェクト情報管理部６は、発生したオブジェクト情報の新規登録、更新、削除、及び競合発生などのオブジェクト情報に関するイベントをツール９ａ〜９ｃに通知するＡＰＩも提供する。同様に、招待部７は、招待状読み込み、グループ参加要求メッセージ取得などの招待処理に関するイベントをツールに通知するＡＰＩも提供する。
【００４５】
ツール９ａ〜９ｃはこれらのＡＰＩを使って実現されている、グループで共有するファイルを操作するツールや、スケジュ−ルを共有するツール、掲示板などのツールである。
【００４６】
図４は、図１に示したメッセージ制御部３が扱うメッセージの構成例を示す図である。
【００４７】
図４に示すように、メッセージとは端末間でやりとりされる情報のまとまりであり、１つ以上のコマンドが含まれる。まず、メッセージのあて先情報を示し、対応する通信機能の識別も含む情報通知先情報と、コマンドの対象識別情報（グループ識別子又はユーザ識別子）と、コマンドの対象ごとに割り振られる数値で、メッセージ受信時の整列に使われるメッセージシーケンス番号と、コマンドを処理する機能を区別するコマンド生成識別（同期制御情報管理５、オブジェクト情報管理部６、招待部７のいずれかを示すデータ）と、コマンドデータで成り立つ。
【００４８】
図５は、図１に示したオブジェクト情報管理部６が生成するコマンドの構成例を示す図である。
【００４９】
図５に示すように、コマンドは、ツール経由でユーザが行った処理の内容を記述するデータであり、その構成はコマンドを生成する機能によって異なり、処理の対象となる対象オブジェクト識別子と、新規作成や更新、削除などの作業種別と、処理後の最新のオブジェクト情報と、作業を行ったユーザ識別と、作業日時などが含まれている。
【００５０】
以下に、本形態における動作についてフローチャートを参照して説明する。なお、以下の説明では、「オブジェクト編集対応」と「メッセージの反映・通知」の２種類の処理を説明する。本形態に基づくシステムが動作している端末では、この２つの処理がそれぞれ独立して非同期に動作することで、グループに所属する端末間での情報共有が実現する。すなわち、同期制御情報管理部５における同期制御情報の制御ＡＰＩが呼び出されたときの処理及びオブジェクト情報管理部６におけるオブジェクト情報の制御ＡＰＩが呼び出されたときの処理が、メッセージ制御部３にてグループを構成する他の端末との間で定期的に行われるメッセージ送受信処理と非同期に行われている。
【００５１】
まず、図１に示した情報共有空間提供システムにおいて、ある端末のツール上で行われたオブジェクト編集がグループの他の端末に反映される手順について説明する。なお、ここではオブジェクト編集について説明するが、オブジェクト新規追加、オブジェクト削除についても同様の手順で処理内容が他の端末に反映される。
【００５２】
図６は、図１に示した情報共有空間提供システムにおけるオブジェクト編集対応処理を説明するためのフローチャートである。
【００５３】
ユーザからオブジェクト編集が入力されたツールは、入力された情報を設定してオブジェクト情報管理部６が提供するＡＰＩを呼び出す（ステップ５０１）。
【００５４】
次に、オブジェクト情報管理部６は、オブジェクトの編集内容をオブジェクト情報一時記憶部２ｄに反映させる（ステップ５０２）。
【００５５】
次に、オブジェクト情報管理部６は、今回行った処理内容を図５に示したコマンド８０２に変換し、分散同期管理部４に登録する（ステップ５０３）。以上でオブジェクト編集時の処理は終了する。
【００５６】
次に、図１に示した情報共有空間提供システムにおけるメッセージの反映・通知処理について説明する。この処理は、端末がネットワ−クに繋がっている間は、一定間隔で繰り返し実行されている。ネットワ−クに繋がっていない場合は、定期的にネットワ−クに繋がっているか否か判定し、繋がっている状態になっていることが判明した場合に、メッセージの反映・通知処理を開始する。すなわち、メッセージ制御部３は、端末がグループを構成する他の端末とのメッセージの送受信ができない期間はメッセージ送受信を行わず、同期制御情報管理部５が提供する同期制御情報の制御ＡＰＩの呼び出し及びオブジェクト情報管理部６が提供するオブジェクト情報の制御ＡＰＩの呼び出しに対応して作成されるコマンドを分散同期管理部４に記録し続け、他の端末とのメッセージ送受信が可能になったときに、記録したコマンドの通知を行う。
【００５７】
図７は、図１に示した情報共有空間提供システムにおけるメッセージの反映・通知処理を説明するためのフローチャートである。
【００５８】
まず、メッセージ制御部３が、実装されている通信部８ａ〜８ｃに対して、メッセージの取得を指示し、取得したメッセージをメッセージに記述されている情報を利用して整列する（ステップ５０４）。
【００５９】
整列は、しばらくメッセージの反映・通知処理を行っていなかった端末において、処理対象が同じ（つまり、メッセージに記述されるコマンド対象識別が同じ）複数の処理を複数のメッセージとして取得した場合に、処理が発生した順番どおりに反映を行うために行われる。整列は、同じコマンド対象識別を持つメッセージに対して、メッセージシーケンス番号で並び替えを行うことで実現する。グループごと、またはユーザごとの最新のメッセージシーケンス番号は、グループ、ユーザごとに記録しておき、各端末がメッセージ通知する際には、最新のメッセージシーケンス番号をインクリメントしてメッセージに記述する。メッセージ取得時には、取得したメッセージに記述されたメッセージシーケンス番号で、記録しているメッセージシーケンス番号を書き換える。シーケンス番号が同じメッセージが複数発生する場合があるが、この場合はどちらを先に処理しても良い。
【００６０】
次に、それぞれのメッセージの処理を行う。メッセージが同期制御用メッセージか招待用メッセージかを、コマンド生成機能識別を参照して判断し（ステップ５０５）、招待用のメッセージであればメッセージは招待部７に通知され、招待機能がメッセージをコマンドに変換し（ステップ５０６）、コマンドに対応する処理を実行する（ステップ５０７）。
【００６１】
一方、メッセージが同期制御用メッセージであった場合は、メッセージが分散同期管理部４に通知され、分散同期管理部４がメッセージをコマンドに変換する（ステップ５０８）。分散同期管理部４は、同期制御情報管理部５及びオブジェクト情報管理部６のうち、コマンドに対応する構成要素にコマンドの実行を依頼する（ステップ５０９）。対応する機能は、コマンドの対象データの種別（同期制御情報かオブジェクト情報か）によって定まる。通知を受けた同期制御情報管理部５又はオブジェクト情報管理部６はコマンドに記述されている内容を同期制御情報記憶部２ａ又はオブジェクト情報記憶部２ｃに反映する（ステップ５１０）。ここで、反映する対象は一時記憶部ではない。ステップ５０４で取得した全てのメッセージについて処理が完了すると、次の処理に進む（ステップ５１１）。
【００６２】
全ての取得メッセージの処理が完了すると、ステップ５０３で登録された０個以上のコマンドについて処理が行われる。まず、分散同期管理４に登録されたそれぞれのコマンドについて、対応する同期制御情報管理部５、オブジェクト情報管理部６のいずれかの機能にコマンドの内容の記憶部２への反映を依頼する（ステップ５１２，５１３）。ここではオブジェクト編集コマンドと想定するため、依頼対象はオブジェクト情報管理部６となる。
【００６３】
オブジェクト情報管理部６は、コマンドに含まれ、オブジェクト情報一時記憶部２ｄに記憶されたオブジェクト情報のバージョンと、オブジェクト情報記憶部２ｃに記憶されているオブジェクト情報のバージョンとを比較する。バージョンが一致するか、コマンドに含まれるオブジェクト情報のバージョンが小さな場合は競合と判定される（ステップ５１４）。
【００６４】
競合していなかった場合は、分散同期管理部４がコマンドをメッセージに変換し、メッセージ制御部３にコマンドの通知を依頼する（ステップ５１５）。
【００６５】
メッセージ制御部３は、対象オブジェクトを共有するグループの通知先を同期制御情報記憶部２ａから取得し、通知先へのメッセージ通知を、通知先に対応する通信部８ａ〜８ｃを選択して依頼する。
【００６６】
一方、競合していた場合は、オブジェクト情報管理部６が蓄積コマンドの内容、及びそれがキャンセルされたことをツールに通知する（ステップ５１７）。
【００６７】
次に、分散同期管理部４で処理済みの登録コマンドを削除する（ステップ５１８）。
【００６８】
以上の処理は、分散同期管理部４に登録されているコマンド全てに対して行われる（ステップ５１９）。
【００６９】
すべてのコマンドの処理が完了した後、メッセージ制御部３はオブジェクト情報一時記憶部２ｂ及び同期制御情報一時記憶部２ｄのデータを廃棄させる（ステップ５２０）。
【００７０】
以上が定期的に行われるメッセージの反映・通知処理である。
【００７１】
図２に示したグループ情報３０１及びメンバ情報３０２の編集についてもほぼ同様の処理でグループの他の端末に反映される。異なる点は、ステップ５０２にて処理を反映する対象が同期情報一時記憶部２ｂであることと、ステップ５１３にて処理を反映する対象が同期情報記憶部２ａであることと、ステップ５０２，５０３，５１３，５１７にて処理を行うモジュ−ルがオブジェクト情報管理部６ではなく同期制御情報管理部５であることである。
【００７２】
以上で述べた、情報同期手順が実現できるためには、グループを構成する各端末が、所属するグループの情報、グループのメンバ情報（これらをまとめて同期制御情報と呼ぶ）の最新の情報を保持していなくてはならない。従って、グループへの新しいメンバの追加や削除を支援する機能が提供されていないと、処理の度に各端末上の同期制御情報を人手で変更しなくてはならず、現実的ではない。
【００７３】
以下に、図１に示した情報共有空間提供システムにおけるグループの新規作成及びグループへの招待手順について説明する。
【００７４】
図８は、図１に示した情報共有空間提供システムにおけるグループの新規作成及びグループへの招待手順を説明するためのフローチャートである。
【００７５】
まず、招待元端末が、同期制御情報管理部５が提供するＡＰＩを利用して新規グループ情報を同期制御情報記憶部２ａに登録する（ステップ６０１）。
【００７６】
次に、同期制御情報管理部５が提供するＡＰＩを利用して、作成したグループの参加者として自分自身を加える。具体的には、グループ情報の参加メンバ識別子に端末を保持するユーザのユーザ識別子が書き加えられる（ステップ６０２）。以上で新規グループ作成処理は完了する。
【００７７】
次に、招待部７が提供するＡＰＩを利用して、グループへの招待状を作成する。招待状はファイルなどユーザが扱える形で作成される（ステップ６０３）。
【００７８】
図９は、図１に示した情報共有空間提供システムにて作成される招待状の構成例を示す図である。
【００７９】
図９に示すように、招待状は、グループ識別子と、グループの説明情報（グループ名やグループの目的など）と、招待元のメンバ情報（同期制御情報記憶部２ａに記憶されているもの）とで構成されている。ここで、同期制御情報記憶部２ｂに記憶されているグループ情報自体は含まれていない理由は、グループへの参加が確定しているわけではないユーザに対して、参加メンバ情報など詳細情報を渡さないことで、セキュリティを高めるためである。
【００８０】
次に、このようにして作成した招待状を招待先端末に配布する（ステップ６０４）。配布は人手で行う。たとえば、メ−ルに添付して配布したり、フロッピ−などの物理的な媒体を経由して配布したりする。
【００８１】
招待先端末では取得した招待状を招待部７が提供するＡＰＩを利用してシステムに読み込ませる（ステップ６０５）。
【００８２】
招待部７は、正常に招待状を読み込めるとイベントをツールに通知し、ツールはユーザに対してグループへの参加の有無を問い合わせる。参加／非参加は招待部７が提供するＡＰＩによってシステムに伝達され、参加しない場合は、招待部７は取り込んだ招待状情報を破棄し、処理は終了する（ステップ６０６）。
【００８３】
一方、参加する場合は、招待状に含まれる招待元メンバ情報を同期制御情報記憶部２ａに記録した後、参加要求メッセージを作成する（ステップ６０７）。
【００８４】
その後、メッセージ制御部３に招待元端末への参加要求メッセージの通知を依頼し、同期制御情報記憶部２ａに記録されたメンバ情報を利用して、参加要求メッセージが招待元端末に通知される（ステップ６０８）。
【００８５】
図１０は、図１に示した情報共有空間提供システムにて端末に通知される参加要求メッセージの構成例を示す図である。
【００８６】
図１０に示すように、参加要求メッセージは、参加を希望するグループのグループ識別子と、参加を要求する端末保持ユーザのメンバ情報とで構成されている。
【００８７】
招待元端末では、ステップ６０８によって通知された参加要求メッセージをメッセージ制御部３が取得し、招待部７に通知する（ステップ６０９）。
【００８８】
招待部７は、参加要求メッセージ取得イベントをツールに通知する。ツールは通常、招待したユーザに対して、参加要求メッセージを通知したユーザを参加させてよいか確認するダイアログを出し、参加許可／不許可を招待部７が提供するＡＰＩを利用してシステムに通知する（ステップ６１０）。
【００８９】
参加が不許可であった場合は処理が終了する（または、不許可であったことを招待先端末に伝達してもよい）。
【００９０】
また、参加が許可された場合は、グループを構成する全端末宛にメンバ追加を通知する。メンバ追加通知には、追加するメンバのメンバ情報（参加要求メッセージ７０２に記載）が含まれる（ステップ６１１）。
【００９１】
通知を受けた各端末は、それぞれの同期制御情報管理部５において、同期制御情報記憶部２ａに対してメンバ情報を追加し、グループ情報の参加メンバ識別子に、参加要求メッセージに記載されていたメンバ情報のメンバ識別子を追加する（ステップ６１２）。
【００９２】
次に、招待元の端末の招待部７は、招待先の端末に対して参加を許可したグループのグループ情報、グループ構成メンバのメンバ情報、グループで共有するオブジェクト情報を通知するようにメッセージ制御部３に依頼する（ステップ６１３）。
【００９３】
招待先端末では、通知されたグループ情報、メンバ情報、オブジェクト情報を同期制御情報管理部５及びオブジェクト情報管理部６によって同期制御情報記憶部２ａ及びオブジェクト情報記憶部２ｃに記録する（ステップ６１４）。
【００９４】
招待部７がメッセージ制御部３に通知を依頼するメッセージについては、速やかに招待処理が進行するために、メッセージ制御部３が定期的に行っているメッセージの反映・通知処理の中でメッセージ通知を行うのではなく、別途依頼の都度メッセージ通知が行われるようにメッセージ制御部３内で制御される。
【００９５】
以上の処理で、グループに新メンバを登録することができる。
【００９６】
以下に、本形態の効果について説明する。
【００９７】
本形態では、共有する情報が各端末の記憶部に記憶され、共有情報を一時的に記憶する一時記憶部が存在することで、端末がネットワ−クにつながっていない状態でも共有情報の参照、編集が可能である。更に、ネットワ−クにつながっていない状態で行った編集内容は、ネットワ−クにつながったときに速やかに反映しグループを構成する端末と同じ状態に保つことができる。
【００９８】
また、本形態では、共有する情報がサーバなど物理的に任意のユーザがアクセスできる環境ではなく、グループを構成する端末のみに配布されるため、悪意あるユーザの攻撃や設定ミスなどにより共有情報がグループ外に漏れる可能性が低い。
【００９９】
また、本形態では、グループの作成、変更なども全て端末上の処理と端末間のやりとりで行われるため、グループの管理機能についてサーバの能力による制限や運用上の制限が発生しない。
【０１００】
また、本形態では、図７に示したメッセージの反映・通知処理によって、共有情報の更新が端末に自動的に伝達されているため、ユーザが取得処理を行わなくても常に最新情報を端末が把握していることができる。
【０１０１】
また、本形態では、メッセージの送信及び受信メッセージの取得機能を提供する通信部は、メッセージ制御部からメッセージの送信機能及び受信機能が呼び出せる形態で実装されていれば、利用する通信プロトコルは不問であるため、２４時間運用できるサーバが用意できない場合は、サーバを必要としない通信プロトコルを利用することで情報共有機能を利用することができる。
【０１０２】
また、本形態では、ツールはデータ処理装置が提供する共通のＡＰＩを利用して実装することができるため、新しいツール実装のたびにデータ処理装置の更新が発生することはなくツールの実装が容易である。
【０１０３】
また、本形態では、共有のためのメッセージ通知及び反映処理と、ロ−カル端末上でのユーザ操作処理が非同期に動作するため、ユーザに対する処理の反応性が高い。つまり、ユーザにとっては、競合が発生することがある点を除けば、共有していることを意識せずにツールを利用することができる。
【０１０４】
また、本形態では、記憶部に一時記憶部を持たせて、ツールからのＡＰＩ呼び出しによって行われた共有情報の変更はまず一時記憶部に反映し、他端末からの通知による共有情報の変更を記憶部に反映後に、一時記憶部に記録された共有情報の変更を記憶部に反映させる際に、共有情報に付加されているバージョン情報を比較することで競合を判定し、判定後は速やかに一時記憶部の情報を削除することで、多くの情報を保持せずに競合対処が実現できるため、各端末が競合対処のための情報でメモリが圧迫されることがない。
【０１０５】
（第２の実施の形態）
本形態では、同一の共有する情報に対して複数の端末が同時に編集の反映処理を行ってしまった場合でも、グループを構成する各端末が共有情報を同じ状態に保つことを可能とする。
【０１０６】
例えば、第１の実施の形態では、端末Ａと端末Ｂがファイルαに対する編集をほぼ同時に行い、同じタイミングでメッセージの反映・取得処理を行った場合、端末Ａが、端末Ｂの編集内容の記述したメッセージを取得する前に端末Ａの編集内容を送信し、端末Ｂが、端末Ａの編集内容を記述したメッセージを取得する前に端末Ｂの編集内容を送信してしまうことがあり得る。第１の実施の形態では、この場合に端末Ａと端末Ｂとが異なるファイルαを持つことになってしまうが、本形態では、この場合でも端末Ａ，Ｂ、及びグループを構成する他の端末が全て、ファイルαについて同じ状態を保つことができる。また、このような問題を解決するためには、端末Ａと端末Ｂの処理を行った時間を保持しておき、先に行われた処理を優先すると判定することが考えられるが、このような対処を行うためには、統一時刻を管理するサーバが必要となる。本形態では、統一時刻を管理するサーバが無い状態で、各端末の状態を同じ状態に保つ。
【０１０７】
本形態では、リモ−ト端末で行った操作に対応するコマンドの反映時にも競合判定及び対処を行うことで上述の機能を実現する。構成においては第１の実施の形態と変わらないが、オブジェクト情報管理部６、同期制御情報管理部５及び分散同期管理部４の動作が一部異なっている。
【０１０８】
図１１は、図１に示した情報共有空間提供システムにおけるメッセージ反映・通知処理の他の例を説明するためのフローチャートである。以下に、第１の実施の形態と異なる処理ステップのみ説明する。
【０１０９】
ステップ７０１〜７０４の処理は、図７に示したステップ５０４〜５０７の処理と同様である。
【０１１０】
ステップ７０５において、分散同期管理部４は、取得メッセージをコマンドに変換すると同時に、通知済みのコマンドとして記録する。
【０１１１】
その後、分散同期管理部４が、コマンドに対応するオブジェクト情報管理部６または同期制御情報管理部５に対してコマンドの実行を依頼すると（ステップ７０６）、オブジェクト情報管理部６または同期制御情報管理部５は、オブジェクト情報記憶部２ｄまたは同期制御情報記憶部２ａからコマンド対象となる共有情報のバージョンを取得し、コマンドに含まれる共有情報のバージョンと比較する。バージョンが一致するか、コマンドに含まれる共有情報のバージョンが小さな場合は競合と判定される（ステップ７０７）。
【０１１２】
競合していないと判定された場合は、対応する記憶部にコマンドの内容を反映させるが（ステップ７０８）、競合していると判定された場合は、オブジェクト情報管理部６または同期制御情報管理部５は、今回扱ったコマンドの処理対象オブジェクトと同じオブジェクトを対象としているコマンドを、分散同期管理部４が記録している通知済みのコマンドから取り出す（ステップ７１０）。
【０１１３】
次に、取得したコマンドと今回処理を行ったコマンドから競合内容（コマンドを発生させたメンバと、コマンドの内容）をツールに通知する（ステップ７１１）。
【０１１４】
更に、競合したオブジェクトを同期エラ−状態に変更する（ステップ７１２）。
【０１１５】
これらの処理は、同時に操作内容が通知された場合、どちらを優先すべきかは自動で判定できないため、人間に状態を通知して対処を依頼することを意味している。
【０１１６】
図１２は、図１に示したオブジェクト情報記憶部２ｃにて記憶されているオブジェクト情報の他の構成例を示す図である。
【０１１７】
図１２に示すように本形態では、オブジェクト情報は同期エラ−状態が記述できる形式で、オブジェクト情報記憶部に記録されている。同期エラ−状態のオブジェクトは、参照・削除はできるが編集はできないようにオブジェクト情報管理部６において制御される。
【０１１８】
その後のステップ７１３〜７１８の処理は、図７に示したステップ５１２〜５１７の処理と同様である。
【０１１９】
分散同期管理部４に記録された未通知のコマンド処理時の処理内容が一部異なる。これらのコマンドについて通知が完了すると、分散同期管理部４は処理したコマンドを通知済みコマンドとして再登録する（ステップ７１９）。更に、１つ前のメッセージ反映・通知処理で処理した通知済みコマンドを削除する（ステップ７２０）。
【０１２０】
このようにして、定期的に行うメッセージの反映・通知処理の前回に処理したコマンドを記録しておくことにより、競合が検出された際の競合内容の把握を可能にする。ただし、端末間でやりとりされるメッセージが通信経路のどこかで遅延した場合などは、競合対象となるコマンドは前回のコマンド内に含まれていないこともある。この場合は競合内容が正しく把握できないとすることになるが、更に古いコマンドを記録しておき、競合内容が正しく把握できるようにすることもできる。
【０１２１】
以下に、本形態の効果について説明する。
【０１２２】
本形態では、通知済みのコマンド及びリモ−ト端末から通知されたコマンドを次のメッセージ反映・通知処理が完了するまで保管し、リモ−ト端末で行った操作の反映時にも競合判定及び対処を行うため、同一の共有する情報に対して複数の端末が同時に編集の反映処理を行ってしまった場合でも、統一時刻を管理するサーバを利用せずに、グループを構成する各端末が共有情報を同じ状態に保つことが可能である。
【０１２３】
（第３の実施の形態）
本形態を利用して実現するツールは、ツールごとに共有する情報の種類が異なるが、各ツールで扱う共有情報はオブジェクト情報という共通の枠の中で表現する。例えば、スケジュ−ル管理ツールであれば、スケジュ−ル情報（例：１０:００から会議室でプロジェクト会議を行う）が１つのオブジェクト情報として定義される。ファイル管理ツールであれば、ファイル情報（例：ファイルサイズやファイルタイプ、階層構造など）とファイルのデータがスケジュ−ル情報とはオブジェクトタイプが異なるオブジェクト情報として定義される。
【０１２４】
ここで、競合判定処理を考える。第１及び第２の実施の形態では、競合判定処理を行う単位はオブジェクト情報であった。この場合、以下のような問題が発生することがある。
【０１２５】
・ファイル名の変更とファイル内容の編集が競合と判定されてしまう
・ファイルの移動とファイル内容の編集が競合と判定されてしまう
・ファイルの付加情報（コメント）の変更と、ファイルの編集が競合してしまう
いずれも、２つの処理は競合と判定するべきではない。これらの問題は全て、オブジェクト情報で表現される内容はいくつかのパ−トに分けられて、互いの内容が干渉しあわないにも関わらず、システム上では１つのオブジェクト情報として扱っていることを原因としている。
【０１２６】
図１３は、図１に示したオブジェクト情報記憶部２ｃにて記憶されているオブジェクト情報の他の構成例を示す図である。
【０１２７】
図１３に示すように本形態では、オブジェクト情報は、オブジェクト識別子以外は４つのパ−トに分けられる。メタ情報部４０３ａ、ファイル情報部４０３ｂ、親子関係情報部４０３ｃ、固有情報部４０３ｃである。メタ情報部４０３ａには、メタ情報バージョン、オブジェクト名、オブジェクトタイプ、同期エラ−状態が含まれている。これらに加えて、最終更新日や更新者情報などの付加情報が含まれていてもよい。メタ情報部４０３ａに含まれる情報が変更されるとメタ情報バージョンがインクリメントされる。ファイル情報部４０３ｂは、ファイルが含まれるオブジェクトの場合にのみ記述され、ファイルの内容が編集されるとファイル情報バージョンがインクリメントされる。ファイル識別子とは、ファイルデータがオブジェクト情報とは別に保持されている場合にファイルデータの所在を示す値である。親子関係情報部４０３ｃには、親子関係バージョンと親オブジェクトのデータが含まれている。これらに加えて、親子関係に関する付加情報が含まれていてもよい。親子関係情報部４０３ｃに含まれる情報が変更されると、親子関係バージョンがインクリメントされる。固有情報部４０３ｄには、固有情報バージョンと固有情報が含まれており、固有情報部に含まれる情報が変更されると、固有情報バージョンがインクリメントされる。
【０１２８】
オブジェクト情報管理部６は、ツールに対して、情報部ごとの編集ＡＰＩを提供する。各編集ＡＰＩに対応するコマンドの処理では、情報部ごとにバージョンを比較して競合判定を行う。これによって同じオブジェクトであっても、対象とする情報部が異なる編集処理同士は競合しないこととなる。
【０１２９】
このオブジェクト表現を、例えばファイルに適用すると、ファイル名はメタ情報部に記述され、ファイルデータはファイル情報部、親フォルダの情報は親子関係情報部、コメントなど付加情報は固有情報部に記述されることになる。これによって、ロ−カル端末におけるファイル名の変更が、ファイルデータの編集やファイルの移動、ファイルのコメントの編集と競合することはなくなる。
【０１３０】
以下に、本形態の効果について説明する。
【０１３１】
本形態では、オブジェクト表現をメタ情報、ファイル情報、親子関係情報、固有情報に分割してバージョン管理することにより、無駄な競合を発生させないことができる。また、オブジェクト表現及び競合対応処理を汎用的に実現することにより、ツール毎に異なる競合対応処理を実装する必要が無くなる。
【０１３２】
（第４の実施の形態）
本形態では、グループの各メンバの権限制御が実現できる。例えば、ユーザＡに対して、ファイルの参照は許すが編集は許さない、などの制御を、サーバを利用せずに実現する。
【０１３３】
図１４は、本発明の情報共有空間提供システムの他の実施の形態を示す図である。
【０１３４】
本形態は図１４に示すように、第１〜第３の実施の形態と比べて、権限管理部２０が追加されている点が異なるものである。この権限管理部２０は、ツール９ａ〜９ｃに対して、ロールと呼ばれる権限情報の制御（新規登録、編集、削除）と、メンバへのロールの付加、削除を行うＡＰＩを提供する。また、発生したロール情報の制御やメンバへのロール付加・削除などのイベントをツール９ａ〜９ｃに通知するＡＰＩも提供する。更に、同期制御情報記憶部２ａ及び同期制御情報一時記憶部２ｂに対して、ロール情報及びグループ情報の変更及びそれに伴う競合対処処理を行う。
【０１３５】
図１５は、図１４に示した同期制御情報記憶部２ａ及び同期制御情報一時記憶部２ｂにて記憶されるロール情報及びグループ情報の構成例を示す図である。
【０１３６】
図１５に示すように、ロール情報６０１は、グループごとに定義できるようになっており、識別するための情報として、グループ識別子とロール識別子を持つ。ロール識別子はグループでユニ−クな値である。また、競合対応処理のために利用されるバージョン、ロール名、及び許可コマンドの一覧又は禁止コマンドの一覧で構成される（許可コマンドが記述されている場合記述されていないコマンドは禁止されていることを示す。禁止コマンドが記述されている場合、記述されていないコマンドは許可されていることを示す）。また、グループ情報６０２には、参加メンバ識別子ごとに、参加メンバに与えられたロール識別子が記述される。
【０１３７】
以下に、本形態における動作について説明する。
【０１３８】
図１６は、図１５に示した情報共有空間提供システムにおけるオブジェクト編集対応処理を説明するためのフローチャートである。
【０１３９】
ツール９ａ〜９ｃからオブジェクト編集が入力された後（ステップ８０１）、オブジェクト情報管理部６によって対象の処理が許可されたものかどうか、ロール情報６０１及びグループ情報６０２を参照して判定する（ステップ８０２）。
【０１４０】
許可されていない処理であった場合、オブジェクト情報管理部６がツール９ａ〜９ｃに実行失敗を通知して（ステップ８０３）、終了する。許可されたものである場合は、第１〜３の実施の形態におけるステップ５０２，５０３と同じ処理が実行される（ステップ８０４，８０５）。
【０１４１】
メッセージの反映・通知処理は図１１に示したフローと基本的に同じであるが、競合判定時の処理内容が異なる。ステップ７０７で、リモ−ト端末から通知されたコマンドの処理時に競合判定する場合、同期制御情報管理部５、オブジェクト情報管理部６及び招待部７は、通知したリモ−ト端末に対応するユーザに通知されたコマンド処理が許可されているかどうか、ロール情報及びグループ情報を参照して判定する。許可されていない場合、すなわち、コマンドの実行権限がないと判定された場合は、そのコマンドは競合したものと判定される。ステップ７１０では、権限管理の競合の場合は端末保持ユーザのロールを変更したコマンド、または端末保持ユーザのロール情報を変更したコマンドが競合コマンドと判定される。
【０１４２】
また、ステップ７１５で、ロ−カル端末で発生したコマンドの処理時に競合判定する場合にも、ロ−カル端末保持メンバが対象の処理を許可されているか再判定する。ここで許可されていないと判定された場合は、競合と判定される。
【０１４３】
一方、コマンドの実行権限があると判定された場合は、反映が実行される。
【０１４４】
図１７は、図１５に示した情報共有空間提供システムにおけるロール編集対応処理を説明するためのフローチャートである。
【０１４５】
オブジェクト編集対応処理と同じで、オブジェクト情報管理部６の処理を権限管理部２０が行うところのみが異なる。
【０１４６】
メンバへのロール付加・削除処理手順は、メンバ追加・削除などの同期制御情報編集処理と同じであるため説明は省略する。
【０１４７】
以下に、本形態の効果について説明する。
【０１４８】
本形態では、グループを構成する各メンバの権限情報をロール情報と、グループ情報に記載するメンバごとのロール識別子とで表現し、構成にツールに対してロール情報の制御と、メンバへのロールの付加、削除を行うＡＰＩ、また、発生したロール情報の制御やメンバへのロール付加・削除などのイベントをツールに通知するＡＰＩを提供し、同期制御情報記憶部２ａ及び同期制御情報一時記憶部２ｂに対して、ロール情報及びグループ情報の変更及びそれに伴う競合対処処理を行う権限管理部２０を加え、オブジェクト情報管理部６及び同期制御情報管理部５におけるコマンド処理時にコマンドの実行権限を確認し、権限がない場合はコマンドの実行をキャンセルしたり、競合と判定することで、管理サーバが無い状態でもグループの各メンバの権限制御が実現できる。
【０１４９】
（第５の実施の形態）
メッセージの送受信に利用するプロトコルによっては、メッセージの遅延が発生することがある。同一オブジェクトへの更新メッセージが複数個通知された場合に、遅延によってメッセージの発生順序が前後して端末に処理されてしまうと、図１１のステップ７０７における競合判定において、間違って競合と判断されてしまう。本形態では、メッセージの遅延が発生しても誤って競合と判定しない構成について説明する。
【０１５０】
図１８は、本発明の情報共有空間提供システムの他の実施の形態を示す図である。
【０１５１】
本形態は図１８に示すように、図１４に示したものに対して、記憶部２に蓄積コマンド記憶部２ｅが追加されて構成されている。
【０１５２】
図１９は、図１８に示した情報共有空間提供システムにおけるメッセージ反映・通知処理を説明するためのフローチャートである。
【０１５３】
以下に、第２の実施の形態と異なる処理ステップのみを説明する。
【０１５４】
メッセージの競合判定（ステップ７０７）において、オブジェクト情報管理部６または同期制御情報管理部５は、オブジェクト情報記憶部２ｄまたは同期制御情報記憶部２ａからコマンド対象となる共有情報のバージョンを取得し、コマンドに含まれる共有情報のバージョンと比較する。この際に、コマンドに含まれる共有情報のバージョンが記憶部のバージョンよりも大きく、バージョンの差から届いていないコマンドがあると判断される場合（例えば、情報更新の度にバージョンを１加算している場合には、バージョンの差が２以上ある場合は届いていないコマンドがあると判断できる）、処理対象のコマンドは蓄積すると判断される。
【０１５５】
蓄積を判断されたコマンドは、分散同期管理部４によって蓄積コマンド記憶部２ｅに保持される（ステップ９０１）。
【０１５６】
すべての取得メッセージの処理が完了した後（ステップ７０９）、分散同期管理部４は蓄積コマンド記憶部２ｅに記録されているコマンドの有無を確認する。
【０１５７】
蓄積コマンドが存在する場合は、蓄積コマンド記憶部２ｅから蓄積コマンドを１つ取り出し、コマンドに対応する機能にコマンド実行を依頼する。以降は、メッセージから取得したコマンドの実行処理と同様のステップを踏む。登録コマンドの処理の前に、すべての蓄積コマンドの処理を行う（ステップ９０２）。
【０１５８】
このように、バージョンによって遅延メッセージの存在を判別し、遅延メッセージが届くまで次のメッセージを蓄積しておくことで、メッセージの遅延が発生したときでも、誤って競合と判定されてしまうことが無くなる。
【０１５９】
（第６の実施の形態）
端末を余分に一台用意できる場合は、以下で説明する構成で実施することによって、情報共有の信頼度を高めることができる。この端末を以降はマスタ端末と呼ぶ。マスタ端末は常時起動していることが望ましい。
【０１６０】
図２０は、システム全体の一構成例を示す図である。
【０１６１】
図２０に示すように、ネットワークで相互にメッセージ交換が可能な、グループを構成する複数の端末の中に、必ずマスタ端末が存在している。
【０１６２】
グループにはいくつかのマスタ端末以外の端末（以降、一般端末と呼ぶ）に加えて、必ずマスタ端末が参加している状態にする。
【０１６３】
図２１は、図２０に示した一般端末の一構成例を示す図であり、図２２は、図２０に示したマスタ端末の一構成例を示す図である。
【０１６４】
本形態における一般端末は図２１に示すように、第１の実施の形態における端末の構成（図１）に加えて、マスタ端末連携部８１１が実装されている。また、分散同期管理部４の動作が一部異なる。また、記憶部２には、マスタ端末情報記憶部２ｆと、仮実行コマンド記憶部２ｇとが実装される。
【０１６５】
図２３は、図２１に示したマスタ端末情報記憶部２ｆに記憶されるマスタ端末情報を示す図である。
【０１６６】
マスタ端末情報記憶部２ｆに記憶されるマスタ端末情報は図２３に示すように、マスタ端末識別子とマスタ端末への情報通知先などが記述されている。マスタ端末情報は複数登録されている場合は、グループ作成時にどのマスタ端末を参加させるかをユーザが選択できる。又、同期制御情報記憶部２ａに記憶されるグループ情報が一部異なる。図２３に示すように、グループ情報にグループのマスタ端末の識別子が加わる（８２２）。
【０１６７】
本形態におけるマスタ端末は図２２に示すように、一般端末と構成はほとんど同じであるが、第１の実施の形態における端末の構成（図１）に加えて、マスタ端末制御部８１２が実装されている。また、分散同期管理部４の動作が一部異なる。
【０１６８】
マスタ端末と一般端末はほとんどが同じ動作を行うため、分散同期管理部４で自分がマスタ端末であるかに応じて動作を切り替えるように実装することで、同一のモジュールで一般端末とマスタ端末を実現することができる。
【０１６９】
本形態では、グループ作成時の動作、メッセージの反映・通知処理時の動作が他の実施の形態と一部異なる。
【０１７０】
図２４は、図２０に示したシステムにおけるグループ作成時の動作を示すフローチャートである。
【０１７１】
一般端末のマスタ端末連携部８１１は、同期制御情報管理部５における、ユーザからの指示によるグループ作成処理を監視している。グループ作成が発生すると（ステップ９０１，９０２）、マスタ端末連携部８１１は、そのグループがマスタ端末の参加が必要か否かを判定する（ステップ９０３）。連携の有無は、グループの属性などでグループ作成時に作成者が指定する。連携が必要な場合はグループの参加者情報にマスタ端末を追加し（ステップ９０４）、マスタ端末を強制招待するメッセージの通知を、メッセージ処理部３に依頼する（ステップ９０５）。マスタ端末を強制招待するメッセージには、グループ情報や参加メンバ情報が通知される。
【０１７２】
マスタ端末は強制招待するメッセージを受け取り、マスタ端末制御部８１２が同期制御情報管理部５に通知して、指定されたグループにマスタ端末を参加状態にする。具体的には、強制招待するメッセージに含まれる、グループ情報、グループのメンバ情報を、同期制御情報管理部５が同期制御情報記憶部２ａに登録する。
【０１７３】
さらに、マスタ端末のマスタ端末制御部８１２は、参加処理結果を招待端末に通知する（ステップ９０７）。この通知を受け、マスタ端末の参加が成功している場合は処理終了となる。参加失敗時は、マスタ端末連携部８１１は、グループの参加者からマスタ端末を削除し（ステップ９０９）、マスタ端末参加失敗をツールに通知する（ステップ９１０）。
【０１７４】
図２５は、図２０に示したマスタ端末におけるメッセージの反映・通知処理を説明するフローチャートである。
【０１７５】
マスタ端末におけるメッセージの反映・通知処理は、他の実施の形態における一般端末のメッセージの反映・通知処理と異なる点は２点である。１点目は、取得メッセージの競合判定において、競合と判定されたときに、分散同期管理部５が、通知元のノードに対してキャンセルメッセージを通知する事である（ステップ９２１）。キャンセルメッセージには、競合となったメッセージの内容がすべて記載され、更に競合の原因となった情報（たとえば、記憶部に最終の編集内容を記憶していた場合、競合となった処理を行ったメンバなどを取得できる）などを記載することもできる。
【０１７６】
もう１点は、競合とならなかったコマンドを本反映した後、そのコマンドをメッセージに変換して全参加端末に通知することである（ステップ９２２）。
【０１７７】
図２６は、図２０に示した一般端末におけるメッセージの反映・通知処理を説明するフローチャートである。
【０１７８】
取得メッセージが同期制御用メッセージであった場合に、キャンセルメッセージか否かを判定する（ステップ９２３）。キャンセルメッセージであった場合は、分散同期管理部４がメッセージをコマンドに変換し（ステップ９２４）、対応するオブジェクト情報管理６または同期制御情報管理５に対して、キャンセルメッセージに含まれるコマンドから対応する一時記憶部のデータを削除させ（ステップ９２５）、キャンセル内容をツールに通知させる（ステップ９２６）。キャンセルメッセージでない場合は、通常の同期制御用メッセージとして処理される。
【０１７９】
更に、キャンセルメッセージでない同期制御用メッセージは、分散同期管理部４によってコマンドに変換され（ステップ７０５）、対応するオブジェクト情報管理部６又は同期制御情報管理部５によってコマンドの内容を対応する記憶部に反映させられる（ステップ７０８）。ここで、マスタ端末が競合するメッセージの対処を行っているため、一般端末では競合判定を行う必要がない。
【０１８０】
また、コマンドを記憶部に本反映（ステップ７０８）後、分散同期管理部４は、コマンドが自ノードが送信したコマンドかどうかを判定する（ステップ９２８）。自ノードが送信したコマンドであった場合は、オブジェクト情報管理部６または同期制御情報管理部５に対して、コマンドに対応する一時記憶部、及び仮実行コマンド記憶部２ｇの情報を削除させる（ステップ９２９）。つまり、端末で発生した編集処理は、自端末から通知したメッセージがマスタ端末から通知された時に初めて本反映されることになる。
【０１８１】
更に、取得メッセージの処理完了後、分散同期管理部４は、登録コマンドに対応する機能に対して記憶部への競合判定のみを依頼する（ステップ９３０）（先に述べたように、本反映はマスタ端末からの通知を受けて行うため、このタイミングでは実行されない）。依頼されたオブジェクト情報管理部６または同期制御情報管理部５は競合判定を行い、競合していない場合はメッセージ処理部３に通知を依頼し（ステップ７１６）、仮実行コマンド記憶部２ｇにコマンド情報を記録する（ステップ９３２）。ここで、仮実行コマンド記憶部２ｇには、コマンドの内容と保管限度時刻が記録される。依頼されたメッセージ処理部３はグループを構成する全ノードにメッセージを通知するのではなく、マスタ端末に通知を行う（ステップ９３３）。通知先のマスタ端末はグループ情報（８２２）に記載されている。
【０１８２】
更に、コマンド処理後、１つ前に処理した登録コマンドは削除せず、すべての登録コマンドの処理終了後も一時記憶部のデータは破棄しない。これらのデータは自端末が通知したメッセージをマスタ端末から通知された際に削除される（ステップ９２９）。
【０１８３】
更に、すべての登録コマンドの処理完了後、分散同期管理部４は、仮実行コマンド記憶部に保管限度時刻を過ぎたコマンドがないか確認する（ステップ９３４）。保管限度時刻を過ぎているコマンドが存在していた場合は、対応するオブジェクト情報管理部６または同期制御情報管理部５に一時記憶部のデータを削除させ（ステップ９３５）、キャンセル内容をツールに通知させる（ステップ９３６）。つまり、保管限度時刻までマスタ端末から通知がないコマンドは、キャンセルされたものとして扱われる。
【０１８４】
このようにマスタ端末と一般端末が動作し、通知済みのメッセージにおける競合の対処がマスタ端末によって行われることで、第２の実施の形態で示したような、複数ノードが同時に同じオブジェクトを編集したとしても、一般端末でオブジェクトや同期制御情報が同期エラー状態になることは無くなる。従って、各ノードにおいてユーザが同期エラー状態のオブジェクト、同期制御情報について手動で同期回復処理をする必要が無くなる。
【０１８５】
（第７の実施の形態）
本形態では、第６の実施の形態で説明したマスタ端末を更に機能強化することによって、情報共有の信頼度を更に高める。
【０１８６】
通信部を実装するプロトコルによっては、メッセージが紛失するという事態が発生しうる。メッセージが紛失してしまうと、今までの実施の形態では、グループ内で同期状態を保つことは困難である。
【０１８７】
第６の実施の形態では、一般端末からマスタ端末へ通知したメッセージが紛失した場合は、マスタ端末から通知が返ってこないため、仮実行コマンドの保管限度時刻を超えてしまい、キャンセルと判定される（ステップ９３４〜９３６）。従って、一般端末からマスタ端末への通知メッセージの紛失が発生しても、同期状態を保つことが可能である。しかし、マスタ端末から一般端末への通知が紛失した場合は、一般端末の状態が古い状態となり、共有状態は崩れてしまう。
【０１８８】
第６の実施の形態で説明したように、マスタ端末には最新の共有状態が保持されている。従って、定期的に一般端末がマスタ端末の状態と自端末の状態を比較し、ずれがある場合にマスタ端末の状態をコピーすることで、メッセージ紛失が発生した場合にも同期状態を保てるようにする。
【０１８９】
図２７は、図２０に示した一般端末の他の構成例を示す図であり、図２８は、図２０に示したマスタ端末の他の構成例を示す図である。
【０１９０】
図２７に示すように、本形態における一般端末には同期チェック部８１３が実装され、また、図２８に示すように、本形態におけるマスタ端末には同期チェック処理部８１４が実装される。
【０１９１】
本形態では、一般端末が定期的に同期回復処理を伴う同期チェック処理を実行する。
【０１９２】
図２９は、同期回復処理を伴う同期チェック処理の動作を説明するためのフローチャートである。
【０１９３】
一般端末では、同期チェック部８１３が定期的にマスタ端末に対して同期チェック要求通知を行う（実際は、メッセージ処理部３経由で通知する）（ステップ９４１）。同期チェック要求には、メッセージ識別と、同期チェック対象グループの識別子と、通知元端末の情報が記述されている。
【０１９４】
マスタ端末はメッセージ処理部３と分散同期管理部４経由で、同期チェック処理部８１４が同期チェック要求を受信する（ステップ９４２）。同期チェック処理部８１４は、同期チェック要求に記載されているグループ識別子に対応するグループの同期制御情報とオブジェクト情報を同期制御情報管理部５、オブジェクト情報管理部６から取得する（ステップ９４３）。取得した情報から、グループの同期制御情報とオブジェクト情報の比較用情報（例えば、全情報の識別子とバージョン）をまとめて、同期チェック要求を通知した端末宛に同期チェックの返答として通知する（ステップ９４４）。
【０１９５】
一般端末の同期チェック部８１３は、同期チェックの返答を受信し、対応するグループの同期制御情報とオブジェクト情報を同期制御情報管理部５、オブジェクト情報管理部６から取得し、受信した比較用情報と比較する（ステップ９４６）。例えば、全情報の識別子を比較し、存在していない情報が無いか、バージョンが合致しない情報がないかを比較する。情報が合致している場合は、同期状態が保たれているということで同期チェック処理は終了する。合致していなかった場合は、合致していない情報ごとに、同期回復処理を実行する。
【０１９６】
同期回復処理は、同期チェックの返答にて通知されている比較用情報で十分な情報がある場合は（ステップ９４８）、その情報に置き換えるように同期制御情報管理部５又はオブジェクト情報管理部６に依頼する（ステップ９５４）。同期チェックの返答にて通知されている情報では不十分な場合は、同期チェック部８１３はマスタ端末に対して、合致していない情報の取得要求を通知する（ステップ９４９）。マスタ端末の同期チェック処理部８１４は、情報取得要求を受けて（ステップ９５０）、対応する情報を同期制御情報管理部５又はオブジェクト情報管理部６から取得し、要求した一般端末宛に通知する（ステップ９５２）。この通知を受けた一般端末の同期チェック部８１３は、情報の置き換えを同期制御情報管理部５又はオブジェクト情報管理部６に依頼する（ステップ９５４）。
このように動作することで、メッセージ紛失が発生した場合でも、グループ参加端末間の同期を維持することが可能となり、情報共有の信頼度を高めることが可能となる。
【産業上の利用可能性】
【０１９７】
本発明は、グループでの共同作業を支援するプログラムの基盤、特に、固定的ではないグループの共同作業を支援するプログラム基盤といった用途に適用できる。固定的ではないグループとは、例えば組織の異なるメンバで構成される製品開発プロジェクトや、企業の異なるメンバで構成される標準化策定ワ−クチ−ムなどである。共同作業を支援するプログラムとは例えば、ファイルを共有するツールや、スケジュ−ルを共有するツール、タスクを共有管理するツールなどである。
【図面の簡単な説明】
【０１９８】
【図１】本発明の情報共有空間提供システムの実施の一形態を示す図である。
【図２】図１に示した同期制御情報記憶部にて記憶されている同期制御情報の構成例を示す図である。
【図３】図１に示したオブジェクト情報管理部にて記憶されているオブジェクト情報の構成例を示す図である。
【図４】図１に示したメッセージ制御部が扱うメッセージの構成例を示す図である。
【図５】図１に示したオブジェクト情報管理部が生成するコマンドの構成例を示す図である。
【図６】図１に示した情報共有空間提供システムにおけるオブジェクト編集対応処理を説明するためのフローチャートである。
【図７】図１に示した情報共有空間提供システムにおけるメッセージの反映・通知処理を説明するためのフローチャートである。
【図８】図１に示した情報共有空間提供システムにおけるグループの新規作成及びグループへの招待手順を説明するためのフローチャートである。
【図９】図１に示した情報共有空間提供システムにて作成される招待状の構成例を示す図である。
【図１０】図１に示した情報共有空間提供システムにて端末に通知される参加要求メッセージの構成例を示す図である。
【図１１】図１に示した情報共有空間提供システムにおけるメッセージ反映・通知処理の他の例を説明するためのフローチャートである。
【図１２】図１に示したオブジェクト情報記憶部にて記憶されているオブジェクト情報の他の構成例を示す図である。
【図１３】図１に示したオブジェクト情報記憶部にて記憶されているオブジェクト情報の他の構成例を示す図である。
【図１４】本発明の情報共有空間提供システムの他の実施の形態を示す図である。
【図１５】図１４に示した同期制御情報記憶部及び同期制御情報一時記憶部にて記憶されるロール情報及びグループ情報の構成例を示す図である。
【図１６】図１５に示した情報共有空間提供システムにおけるオブジェクト編集対応処理を説明するためのフローチャートである。
【図１７】図１５に示した情報共有空間提供システムにおけるロール編集対応処理を説明するためのフローチャートである。
【図１８】本発明の情報共有空間提供システムの他の実施の形態を示す図である。
【図１９】図１８に示した情報共有空間提供システムにおけるメッセージ反映・通知処理を説明するためのフローチャートである。
【図２０】システム全体の一構成例を示す図である。
【図２１】図２０に示した一般端末の一構成例を示す図である。
【図２２】図２０に示したマスタ端末の一構成例を示す図である。
【図２３】図２１に示したマスタ端末情報記憶部に記憶されるマスタ端末情報を示す図である。
【図２４】図２０に示したシステムにおけるグループ作成時の動作を示すフローチャートである。
【図２５】図２０に示したマスタ端末におけるメッセージの反映・通知処理を説明するフローチャートである。
【図２６】図２０に示した一般端末におけるメッセージの反映・通知処理を説明するフローチャートである。
【図２７】図２０に示した一般端末の他の構成例を示す図である。
【図２８】図２０に示したマスタ端末の他の構成例を示す図である。
【図２９】同期回復処理を伴う同期チェック処理の動作を説明するためのフローチャートである。
【図３０】特定した複数のユーザ間で情報を共有する従来の電子情報共有システムの一例を示す図である。
【図３１】特定した複数のユーザ間で情報を共有する従来のコンピュータシステムの他の例を示す図である。
【符号の説明】
【０１９９】
１    データ処理部
２    記憶部
３    メッセージ制御部
４    分散同期管理部
５    同期制御情報管理部
６    オブジェクト情報管理部
７    招待部
８ａ〜８ｃ    通信部
９ａ〜９ｃ    ツール
１０〜１２    端末
２０    権限管理部
３０１，６０２    グループ情報
３０２    メンバ情報
４０１，４０２，４０３ａ〜４０３ｄ    オブジェクト情報
６０１    ロール情報
８０１    メッセージ
８０２    コマンド
【図１】
2006164234.tif 000003
【図２】
2006164234.tif 000004
【図３】
2006164234.tif 000005
【図４】
2006164234.tif 000006
【図５】
2006164234.tif 000007
【図６】
2006164234.tif 000008
【図７】
2006164234.tif 000009
【図８】
2006164234.tif 000010
【図９】
2006164234.tif 000011
【図１０】
2006164234.tif 000012
【図１１】
2006164234.tif 000013
【図１２】
2006164234.tif 000014
【図１３】
2006164234.tif 000015
【図１４】
2006164234.tif 000016
【図１５】
2006164234.tif 000017
【図１６】
2006164234.tif 000018
【図１７】
2006164234.tif 000019
【図１８】
2006164234.tif 000020
【図１９】
2006164234.tif 000021
【図２０】
2006164234.tif 000022
【図２１】
2006164234.tif 000023
【図２２】
2006164234.tif 000024
【図２３】
2006164234.tif 000025
【図２４】
2006164234.tif 000026
【図２５】
2006164234.tif 000027
【図２６】
2006164234.tif 000028
【図２７】
2006164234.tif 000029
【図２８】
2006164234.tif 000030
【図２９】
2006164234.tif 000031
【図３０】
2006164234.tif 000032
【図３１】
2006164234.tif 000033