(57)【要約】  情報共有システムは、ファイルやプロセス等の計算資源を、グループＩＤで識別される固有領域としてのコンパートメントに仮想的に割り当てて管理する。このコンパートメントを用いて、情報共有システムは、オブジェクトのファイル入力イベントを検出すると、同一コンパートメントもしくは下位のコンパートメントに属するファイル参照のみを許可する。また、この情報共有システムは、オブジェクトのファイル出力イベントを検出すると、同一コンパートメント内のみにファイルを配置させる。こうすることで、遠隔地に離れて存在するユーザグループ内部での適切な機密情報の共有と通常の広範な情報共有とを両立できるようにする。【特許請求の範囲】
【請求項１】
グループ内で情報を共有するためのコンピュータを用いた情報共有システムであって、
前記グループと当該グループに属するメンバとの対応関係を管理し、前記メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上の前記グループを識別するためのグループ識別情報を出力するグループ管理手段と、
前記グループ識別情報に基づいて、前記コンピュータ内のソフトウェア及びファイルを含む計算資源を前記グループに対応付けて割り当てるための仮想的に区画化されたグループ専用領域であり且つ前記グループ間で互いの関係が解析可能に構成されたコンパートメントを生成するコンパートメント生成手段と、
前記計算資源にアクセスするアプリケーションソフトウェアの動作を監視して、前記コンパートメントと前記アプリケーションソフトウェアとの所属関係を解析し、その解析結果に基づいて前記アプリケーションソフトウェアと前記計算資源との間の入出力処理の実行可否を制御する監視手段とを有することを特徴とする情報共有システム。
【請求項２】
前記グループ管理手段は、サーバに設けられ、
前記コンパートメント生成手段及び前記監視手段は、前記サーバに通信ネットワークを介して通信可能に接続されるユーザ端末に設けられ、
前記グループ管理手段は、前記グループを識別するためのグループ識別情報と、前記メンバを識別するためのメンバ識別情報とを対応付けて蓄積し、前記ユーザ端末から前記メンバ識別情報を受信すると、受信した前記メンバ識別情報に対応する前記グループ識別情報を抽出し、抽出した前記グループ識別情報を、前記通信ネットワークを介して前記ユーザ端末に送信し、
前記コンパートメント生成手段は、前記グループ識別情報に基づいて前記グループに対応する前記コンパートメントを生成し、
前記監視手段は、前記ユーザ端末が搭載するアプリケーションソフトウェアの動作を監視して、前記アプリケーションソフトウェアのイベントを検出したときに、前記イベントを検出したアプリケーションソフトウェアが属する前記コンパートメントを特定し、特定した前記コンパートメントに基づいて前記アプリケーションソフトウェアと前記計算資源との間の前記イベントに応じた入出力処理の実行可否を制御することを特徴とする請求項１記載の情報共有システム。
【請求項３】
前記グループ管理手段は、前記メンバ識別情報に基づいて、少なくとも１つ以上のグループＩＤと認証キーとの組を前記グループ識別情報として出力する請求項１又は請求項２記載の情報共有システム。
【請求項４】
前記監視手段は、前記入出力処理の実行可否として、ファイル入出力イベント及びネットワーク入出力イベントの少なくとも一方の実行可否を制御する請求項１から請求項３のうちのいずれか１項に記載の情報共有システム。
【請求項５】
前記コンパートメント生成手段は、前記グループ識別情報に基づいて、所定の構成情報を生成することによって前記コンパートメントを生成する請求項２から請求項４のうちのいずれか１項に記載の情報共有システム。
【請求項６】
前記グループ管理手段は、前記グループと当該グループとは別のグループとの包含関係を示す隣接行列を生成する手段を含み、
前記コンパートメント生成手段は、前記隣接行列に基づいて、生成した前記コンパートメント間に有向辺を付加することによって、前記コンパートメント間の順序関係を設定する手段を含む請求項１から請求項５のうちのいずれか１項に記載の情報共有システム。
【請求項７】
前記監視手段は、少なくとも前記コンパートメントと前記アプリケーションソフトウェアとの所属関係の情報を含むデータ構造のグラフとして、ノードとそのノード間を結ぶ辺から成るコンパートメント構成グラフを解析可能に管理する手段を含む請求項１から請求項６のうちのいずれか１項に記載の情報共有システム。
【請求項８】
前記監視手段は、前記コンパートメント構成グラフに基づいて、前記アプリケーションソフトウェアがアクセスできるファイルの範囲を、当該アプリケーションソフトウェアが属する前記コンパートメントと、当該コンパートメントに対して下位の関係にある下位コンパートメントとのいずれかに属するファイルに限定する手段を含む請求項７記載の情報共有システム。
【請求項９】
前記監視手段は、前記コンパートメント構成グラフに基づいて、前記アプリケーションソフトウェアが同一のホストコンピュータ内でメッセージを送信できる範囲を、当該アプリケーションソフトウェアが属するコンパートメントと、当該コンパートメントに対して下位の関係にある下位コンパートメントのいずれかに属するアプリケーションソフトウェアとに限定する手段を含む請求項７又は請求項８記載の情報共有システム。
【請求項１０】
前記監視手段は、前記コンパートメント構成グラフに基づいて、前記アプリケーションソフトウェアが同一のホストコンピュータ内、又はネットワークを介して接続される当該ホストコンピュータとは別のホストコンピュータにメッセージを送信できる範囲を、同一のコンパートメントに属するアプリケーションソフトウェアに限定する手段を含む請求項７から請求項９のうちのいずれか１項に記載の情報共有システム。
【請求項１１】
前記監視手段は、前記メンバを構成するユーザからの指示に応じて、前記アプリケーションソフトウェアが属する前記コンパートメントの変更、及び前記コンパートメントごとのファイル管理を行う手段を含む請求項１から請求項１０のうちのいずれか１項に記載の情報共有システム。
【請求項１２】
前記グループ管理手段は、前記グループの新規作成、前記グループの抹消、前記メンバの追加、及び前記メンバの削除の少なくとも１つを行う手段を含む請求項１から請求項１１のうちのいずれか１項に記載の情報共有システム。
【請求項１３】
グループ内で情報を共有するための情報共有システムで用いるサーバであって、
前記グループと当該グループに属するメンバとの対応関係を管理するグループ管理手段を備え、
前記グループ管理手段は、前記メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上のグループＩＤと認証キーとの組を出力することを特徴とする情報共有システムのサーバ。
【請求項１４】
前記グループ管理手段は、前記グループと当該グループとは別のグループとの包含関係を示す隣接行列を生成する手段をさらに備えた請求項１３記載の情報共有システムのサーバ。
【請求項１５】
グループ内で情報を共有するための情報共有システムで用いるユーザ端末であって、
前記グループを識別するグループＩＤと認証キーとの各組に対応して、前記ユーザ端末を構成するコンピュータ内のソフトウェア及びファイルを含む計算資源をグループに対応付けて割り当てるための仮想的に区画化されたグループ専用領域であり且つ前記グループ間で互いの関係が解析可能に構成されたコンパートメントを生成するコンパートメント生成手段と、
前記計算資源にアクセスするアプリケーションソフトウェアの動作を監視する監視手段とを備え、
前記監視手段は、前記コンパートメントと前記アプリケーションソフトウェアとの所属関係を解析し、その解析結果に基づいて、ファイル入出力イベント及びネットワーク入出力イベントの少なくとも一方の実行可否を制御することを特徴とする情報共有システムのユーザ端末。
【請求項１６】
前記グループと当該グループとは別のグループとの包含関係を示す隣接行列を生成する手段と、
前記隣接行列に基づいて、前記コンパートメント間に有向辺を付加することによって、前記コンパートメント間の順序関係を設定する手段とをさらに備えた請求項１５記載の情報共有システムのユーザ端末。
【請求項１７】
サーバと、このサーバに通信ネットワークを介して通信可能に接続されたユーザ端末とを備えた情報共有システムを用いて、グループ内で情報を共有する情報共有方法であって、
前記サーバが、前記グループと当該グループに属するメンバとの対応関係を管理し、前記メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上のグループＩＤと認証キーとの組を、前記通信ネットワークを介して前記ユーザ端末に送信するステップと、
前記ユーザ端末が、前記サーバから受信したグループＩＤと認証キーとの各組に対応して、前記コンピュータ内のソフトウェア及びファイルを含む計算資源を前記グループに対応付けて割り当てるための仮想的に区画化されたグループ専用領域であり且つ前記グループ間で互いの関係が解析可能に構成されたコンパートメントを生成するステップと、
前記ユーザ端末が、前記コンパートメント間の順序関係、前記コンパートメントとアプリケーションソフトウェアとの所属関係、及び前記コンパートメントとファイルとの所属関係の少なくとも１つの情報を含むデータ構造のグラフとして、コンパートメント構成グラフを生成するステップと、
前記ユーザ端末が、前記アプリケーションソフトウェアの動作を監視して、前記コンパートメント構成グラフに基づいて、ファイル入出力イベント及びネットワーク入出力イベントの少なくとも一方の実行可否を制御するステップとを含むことを特徴とする情報共有方法。
【請求項１８】
前記サーバが、前記メンバ識別情報を入力すると、前記グループと当該グループとは別のグループとの包含関係を示す隣接行列を生成するステップと、
前記サーバが、前記グループＩＤと認証キーとの組とともに、前記生成した隣接行列を、前記通信ネットワークを介して前記ユーザ端末に送信するステップと、
前記ユーザ端末が、前記サーバから受信したグループＩＤと認証キーとの各組及び前記隣接行列に基づいて、前記コンパートメント間の順序関係、前記コンパートメントとアプリケーションソフトウェアとの所属関係、及び前記コンパートメントとファイルとの所属関係の少なくとも１つの情報を含むデータ構造のグラフとして、ノードとそのノードを結ぶ辺から成るコンパートメント構成グラフを生成するステップと、
前記ユーザ端末が、前記アプリケーションソフトウェアの動作を監視して、前記コンパートメント構成グラフに基づいて、一のグループの前記コンパートメントに属する情報に対して、当該グループを包含する他のグループの前記コンパートメントに属するアプリケーションソフトウェアからの読み込みアクセスを許可するように、前記アプリケーションソフトウェアの実行可否を制御するステップとを含む請求項１７記載の情報共有方法。
【請求項１９】
グループ内で情報を共有するための情報共有システムで用いるプログラムであって、
コンピュータに、前記グループと当該グループに属するメンバとの対応関係を管理し、前記メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上のグループＩＤと認証キーとの組を生成する処理を実行させるためのグループ管理プログラム。
【請求項２０】
前記コンピュータに、前記グループと当該グループとは別のグループとの包含関係を示す隣接行列を生成する処理をさらに実行させる請求項１９記載のグループ管理プログラム。
【請求項２１】
グループ内で情報を共有するための情報共有システムで用いるプログラムであって、
コンピュータに、
前記グループを識別するためのグループＩＤと認証キーとの各組に対応して、前記コンピュータ内のソフトウェア及びファイルを含む計算資源を前記グループに対応付けて割り当てるための仮想的に区画化されたグループ専用領域であり且つ前記グループ間で互いの関係が解析可能に構成されたコンパートメントを生成する処理と、
前記コンパートメント間の順序関係、前記コンパートメントとアプリケーションソフトウェアとの所属関係、及び前記コンパートメントとファイルとの所属関係の少なくとも１つの情報を含むデータ構造のグラフとして、ノードとそのノードを結ぶ辺から成るコンパートメント構成グラフを生成する処理と、
前記アプリケーションソフトウェアの動作を監視して、前記コンパートメント構成グラフに基づいて、ファイル入出力イベント及びネットワーク入出力イベントの少なくとも一方の実行可否を制御する処理とを実行させるためのコンパートメント管理プログラム。
【請求項２２】
前記コンパートメント構成グラフと生成する処理は、前記グループＩＤと認証キーとの各組と共に、前記グループと当該グループとは別のグループとの包含関係を示す隣接行列を入力し、前記グループＩＤと認証キーとの各組及び前記隣接行列に基づいて前記コンパートメント構成グラフを生成する処理を含む請求項２１記載のコンパートメント管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グループ内で情報を共有するための情報共有システム及び情報共有方法に関し、特に機密漏洩を防止しながら遠隔地間でのグループ情報共有を可能とする情報共有システム及び情報共有方法に関する。また、本発明は、情報共有システムのサーバ及びユーザ端末に関する。また、本発明は、情報共有システムのサーバが搭載するグループ管理プログラム、及びユーザ端末が搭載するコンパートメント管理プログラムに関する。
【背景技術】
【０００２】
従来、複数の機密レベルをもつコンテンツの編集や参照を認めながら、機密漏洩を防止できるシステムとして、マルチレベルセキュリティ（ＭＬＳ）システムと呼ばれるシステムがある。【０００３】
例えば、特許文献１には、ＭＬＳシステムを用いた方式として、ファイルシステムのアクセス権管理制御方式が記載されている。これによれば、「アクセス権番号」と呼ばれる２段階以上の機密レベルを扱うアクセス制御方式が示されている。この方式では、サブジェクトとなりえるのはユーザだけであり、オブジェクトはデータベースのテーブル又はファイルシステム上のファイルである。また、サブジェクトとオブジェクトとの両者には予めアクセス権番号が割り当てられている。そして、あるユーザがあるファイルをアクセスしようとする時、ユーザのアクセス権番号がファイルのアクセス権番号以下である場合そのアクセスを許可し、ユーザのアクセス権番号がファイルのアクセス権番号以下でない場合そのアクセスを拒否する。【０００４】
また、特許文献２には、ＭＬＳシステムを用いた方法として、安全なデータ転送を行うための方法及び機密レベル変更選択機構が記載されている。これによれば、各ウィンドウが機密レベルをもつようなＸウインドウシステムにおけるＭＬＳベースのコピー＆ペースト制御方式が示されている。ＭＬＳベースのコピー＆ペースト制御とは、通常レベルのウィンドウから機密レベルのウィンドウへのコピー＆ペーストを認めるが、その逆に機密レベルから通常レベルのウィンドウへのコピー＆ペーストを認めないか、ペースト先を機密レベルに昇格させるようにする制御である。また、特許文献２では、独自拡張されたＸサーバを用いて、コピー＆ペーストのためのあらゆるウィンドウ間通信を所定の「選択マネージャ」で中継し、機密レベルに基づくペースト制御を一括管理する実装方式が示されている。【０００５】
また、特許文献３には、ＭＬＳシステムを用いた情報処理装置が記載されている。この情報処理装置は、オペレーティングシステム（ＯＳ）を用いて２次元の機密レベルをもつＭＬＳをサポートしている。この２次元の機密レベルは、アクセス権レベルｌとアクセス権範囲ｎとの組（ｌ，ｎ）で表される。アクセス権レベルｌは大小比較ができる値であり、アクセス権範囲ｎは同値関係だけが定義された文字列である。そして、任意のプロセスとファイルには、予め組（ｌ，ｎ）の形式の機密レベルが設定されている。例えば、機密レベル（Ｐｌ，Ｐｎ）のプロセスが、機密レベル（Ｆｌ，Ｆｎ）のファイルにアクセスしようとした場合を考える。この場合、情報処理装置は、「Ｐｌ≧Ｆｌ」且つ「Ｐｎ＝Ｆｎ」という関係が満たされた場合のみ、該プロセスから該ファイルへのアクセスを認める。【０００６】
上記の機密レベルのうち、アクセス権レベルは、例えば「機密」又は「通常」を示す値と考えてよい。一方、アクセス権範囲は、互いに性格が異なる情報のカテゴリと捉えられる。特許文献３に記載された情報処理装置では、これらアクセス権レベル及びアクセス権範囲を組み合わせた２次元の機密レベルを用いている。こうすることで、例えば、機密レベルのアクセス権範囲として「個人情報」及び「技術情報」という２つの情報カテゴリを扱う場合、それぞれの情報カテゴリ毎に独立した機密情報を管理することができる。例えば、機密レベルのアクセス権範囲が「個人情報」の情報カテゴリに該当するファイルにアクセス可能なプロセスがあったとしても、そのプロセスは機密レベルのアクセス権範囲が「技術情報」の情報カテゴリに該当するファイルに一切アクセスできない。【０００７】
【特許文献１】特開平５−１８１７３４号公報（段落００２８−００３０、図８）
【特許文献２】特開平８−２５５１３２号公報（段落００２０−００２４、図１、図４）
【特許文献３】特開２００１−３５０６６３号公報（段落００３９−００４７、図１、図７）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前述したＭＬＳシステムを用いた従来例の機密保護技術では、いずれも機密保護が各ユーザ端末内のファイル操作に限定されており、遠隔地にあるユーザ端末への機密送信等を制御することはできない。そのため、ネットワークを介して遠隔地間で情報共有を行う場合に、グループ内の機密情報の確実な保護を行うことは困難である。【０００９】
また、従来例の機密保護技術では、いずれもグループ間の包含関係と各情報の機密レベル設定との関係を同期させることができない。そのため、複数グループが存在する場合に、グループ内部で閉じた情報共有を行うことに加えて、より広範なグループとその部分グループとの間での自由な情報共有を実現しながら、無関係なグループ（例えば社外）への機密漏洩を防止することは困難である。例えば、ある企業全体で共有される情報を参照しながら、各部門で限定的に共有される情報を取り扱うことはできない。【００１０】
以上説明したように、ＭＬＳシステムを用いた従来例では、いずれも１つのユーザ端末内におけるアプリケーション（ＡＰ）によるファイル操作を制御するに留まっている。このため、遠隔地に離れて存在する複数のユーザ端末間でコンテンツへのアクセスを一貫して制御することはできない。また、ユーザのグループが複数存在するときに、グループ内部あるいはグループ間での情報共有を行っている。このために、機密レベル設定等のコンテンツアクセス制御設定を一貫して行うことはできない。【００１１】
そこで、本発明は、ネットワークを介して遠隔地間で情報共有を行う場合に、グループ内の機密情報の確実な保護を行えることを目的とする。【００１２】
また、本発明は、複数のグループが存在する場合に、グループ内部で閉じた情報共有を行うことに加えて、より広範なグループとその部分グループとの間での自由な情報共有を実現しながら、無関係なグループへの機密漏洩を防止することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明による情報共有システムは、グループ内で情報を共有するためのコンピュータを用いた情報共有システムであって、前記グループと当該グループに属するメンバとの対応関係を管理し、前記メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上の前記グループを識別するためのグループ識別情報を出力するグループ管理手段と、前記グループ識別情報に基づいて、前記コンピュータ内のソフトウェア及びファイルを含む計算資源を前記グループに対応付けて割り当てるための仮想的に区画化されたグループ専用領域であり且つ前記グループ間で互いの関係が解析可能に構成されたコンパートメントを生成するコンパートメント生成手段と、前記計算資源にアクセスするアプリケーションソフトウェアの動作を監視して、前記コンパートメントと前記アプリケーションソフトウェアとの所属関係を解析し、その解析結果に基づいて前記アプリケーションソフトウェアと前記計算資源との間の入出力処理の実行可否を制御する監視手段とを有することを特徴とする。
前記グループ管理手段は、例えば、グループ管理サーバの制御部及びグループ管理データベースによって実現される。前記計算資源は、例えば、ファイルやプロセス、ネットワークである。前記コンパートメント生成手段は、例えば、コンパートメント生成指示手段の指示に従って動作するコンパートメント構成管理手段によって実現される。前記メンバ識別情報は、例えば、メンバＩＤである。前記グループ識別情報は、例えば、グループＩＤ及び認証キーである。監視手段は、例えば、同一コンパートメント内の任意のアプリケーションソフトウェア間での入出力処理を許可し、且つ異なるコンパートメントへの入出力処理を禁止する。【００１４】
また、好適な実施態様として、前記グループ管理手段は、サーバに設けられ、前記コンパートメント生成手段及び前記監視手段は、前記サーバに通信ネットワークを介して通信可能に接続されるユーザ端末に設けられる。この構成で、前記グループ管理手段は、前記グループを識別するためのグループ識別情報と、前記メンバを識別するためのメンバ識別情報とを対応付けて蓄積し、前記ユーザ端末から前記メンバ識別情報を受信すると、受信した前記メンバ識別情報に対応するグループ識別情報を抽出し、抽出した前記グループ識別情報を、前記通信ネットワークを介して前記ユーザ端末に送信する。前記コンパートメント生成手段は、前記グループ管理手段から受信した前記グループ識別情報に基づいて前記コンパートメントを生成する。前記監視手段は、前記ユーザ端末が搭載するアプリケーションソフトウェアの動作を監視して、前記アプリケーションソフトウェアのイベントを検出し、前記イベントを検出したアプリケーションソフトウェアが属する前記コンパートメントを特定し、特定した前記コンパートメントに基づいて前記アプリケーションソフトウェアと前記計算資源との間の前記イベントに応じた入出力処理の実行可否を制御する。前記サーバは、例えば、グループ管理サーバで構成される。【００１５】
上記の構成において、前記情報共有システムは、通信ネットワークを介して相互に接続された各ユーザ端末に、アプリケーションソフトウェアによる新たな他のアプリケーションソフトウェアの起動、又はファイル入出力やネットワークアクセス等のデバイスに対する操作に関係するアプリケーション動作イベントを監視するようにしてもよい。【００１６】
また、好適な実施態様として、前記情報共有システムは、機密を有するユーザグループとそのメンバ構成とを管理するサーバを備え、同一グループに属するメンバのユーザ端末の監視手段に、前記グループ識別情報としてグループＩＤ及び認証キーの系列（グループＩＤ／認証キー系列）を予め配布する。グループＩＤ／認証キー系列の配布を受けた監視手段は、アプリケーションソフトウェアやファイル、ネットワーク等の計算資源の割り当て先として、グループＩＤで識別される固有領域であるコンパートメントを仮想的に生成する。監視手段は、各コンパートメントについて機密レベルに関する半順序関係を管理しており、アプリケーション動作を監視しながら、以下のような規則に基づいてアプリケーションソフトウェアによる計算資源へのアクセスを制御する。【００１７】
（１）コンパートメントＡに属するアプリケーションソフトウェアは、同一のコンパートメントＡに属する計算資源に読み込みや書き込みのアクセスをできる。（２）コンパートメントＡが他のコンパートメントＢよりも上位の機密レベルを有している場合、コンパートメントＡに属するアプリケーションソフトウェアは、コンパートメントＢに属する計算資源に読み込みのアクセスのみできる。（３）コンパートメントＡが他のコンパートメントＣよりも下位の機密レベルを有している場合、コンパートメントＡに属するアプリケーションソフトウェアは、コンパートメントＣに属する計算資源に書き込みのアクセスのみできる。（４）上位／下位の関係が成り立たない各コンパートメントに属する計算資源については、一切のアクセスを禁止する。【００１８】
上記（１）〜（４）までの規則に従ってアクセス制御を行うために、各ユーザ端末の監視手段は、アプリケーションソフトウェアの起動イベントを検出する度に、アプリケーションソフトウェアのプロセスもしくはウィンドウ等のオブジェクトを適切なコンパートメントに割り当てる。そして、監視手段は、オブジェクトのファイル読込イベントに対して、同一コンパートメントもしくは同一コンパートメントよりも下位のコンパートメントに属するファイル参照のみを許可する。また、監視手段は、オブジェクトのファイル書込イベントに対しては、同一コンパートメント内のみにファイルを配置させる。【００１９】
上記のようにすることによって、複数のグループに所属するユーザが同時にグループ内の機密情報を参照又は編集する際に、特定グループの機密情報が他のグループに漏洩することを防止できる。また、下位のコンパートメントにあるより広範な共有が認められたファイルが、より限定的な共有を意味する上位コンパートメントに配置された場合にも、下位コンパートメントにあるファイルを保存できる。そのため、ユーザが意図しない共有範囲の縮小を引き起こすことなく、自由な情報共有を行うことができる。【００２０】
さらに、あるユーザ端末の監視手段が、特定のコンパートメントに属するアプリケーションソフトウェアから他のユーザ端末のアプリケーションソフトウェアに対するネットワーク接続イベントを検出した際に、アプリケーションソフトウェア同士の通信処理を行う前に、双方の端末の監視手段同士で関係する２つのアプリケーションソフトウェアが特定コンパートメントに確かに属していることを認証キーを用いて相互認証した後、アプリケーションソフトウェア同士の通信処理を開始する。そのようにすることによって、遠隔地に離れて存在する同一グループのメンバ同士が、機密情報を安全に共有することができる。【００２１】
また、グループ管理手段は、メンバ識別情報に基づいて、少なくとも１以上のグループＩＤと認証キーとの組をグループ識別情報として出力するものであってもよい。【００２２】
また、監視手段は、コンパートメントとアプリケーションソフトウェアとの所属関係に基づいて、少なくともファイル入出力イベント又はネットワーク入出力イベントの実行可否を制御するものであってもよい。そのような構成によれば、アプリケーションソフトウェア間のファイルの入出力処理の可否を制御することができる。また、通信ネットワークを介したデータの送受信の可否を制御することができる。【００２３】
また、コンパートメント生成手段は、グループ識別情報に基づいて、所定の構成情報を生成することによってコンパートメントを生成するものであってもよい。そのような構成によれば、所定の構成情報を生成することによって、コンパートメントを仮想的に生成することができる。所定の構成情報は、例えば、データ構造のグラフの要素であるノードを構成するコンパートメントノードと、その属性としてのオブジェクトツリー及びファイル配置テーブルを有している。オブジェクトツリーは、アプリケーションソフトウェアに対応するオブジェクトのツリー構造を示すものである。ファイル配置テーブルは、ファイルがどの場所に格納されているかの情報を示すものである。【００２４】
また、グループ管理手段は、グループとグループとは別のグループとの包含関係を示す隣接行列を生成する手段を含み、コンパートメント生成手段は、生成した隣接行列に基づいて、生成したコンパートメント間に有向辺を付加することによって、コンパートメント間の順序関係を設定する手段を含むものであってもよい。【００２５】
上記の構成によれば、情報共有システムは、グループ管理サーバにグループ変更手段を備え、任意グループのメンバ構成の変更を管理させてもよい。また、情報共有システムは、グループ関係計算手段を備え、ユーザ端末からグループＩＤ／認証キー系列の要求を受ける度に、グループ管理データベースを参照してグループＩＤ／認証キー系列を生成してもよい。また、グループ関係計算手段は、そのグループ間の包含関係を示す隣接行列を生成して、要求元ユーザ端末に応答してもよい。【００２６】
ユーザ端末は、グループＩＤ／認証キー系列と隣接行列とを受け取ると、コンパートメント再編手段を用いて、各グループＩＤに対応するコンパートメントを作成してもよい。また、ユーザ端末は、隣接行列を参照して、より部分的なグループのコンパートメントの機密レベルが、そのコンパートメントを含むより広範なグループのコンパートメントの機密レベルよりも必ず高くなるように、機密レベルを設定してもよい。【００２７】
上記のようにすることによって、グループ内部で閉じた情報共有に加えて、より広範なグループとその部分グループ間での自由な情報共有を実現しながら、無関係なグループ（例えば社外）への機密漏洩を防止できる。例えば、ある企業全体で共有される情報を参照しながら、各部門で限定的に共有される情報を取り扱うことができる。【００２８】
また、監視手段は、コンパートメントとアプリケーションソフトウェアとの所属関係を示すデータ構造のグラフとして、ノードとそのノードを結ぶ辺から成るコンパートメント構成グラフを管理するコンパートメント構成グラフ管理手段を含むものであってもよい。この手段は、例えば、コンパートメント構成管理手段によって実現される。なお、「コンパートメント構成グラフ」を管理するとは、例えば、コンパートメント構成グラフを保持し、アプリケーションソフトウェアのイベント検出等に応じてコンパートメント構成グラフを更新することをいう。【００２９】
また、監視手段は、コンパートメント構成グラフに基づいて、アプリケーションソフトウェアがアクセスできるファイルの範囲を、アプリケーションソフトウェアが属するコンパートメントと、コンパートメントの下位コンパートメントとのいずれかに属するファイルに限定するファイルアクセス制御手段を含むものであってもよい。この手段は、例えば、コンパートメント構成管理手段によって実現される。そのような構成によれば、アプリケーションソフトウェアがファイルにアクセスする場合に、無関係なグループへの情報漏洩を防止することができる。【００３０】
また、監視手段は、コンパートメント構成グラフに基づいて、アプリケーションソフトウェアが同一のホストコンピュータ内でメッセージを送信できる範囲を、アプリケーションソフトウェアが属するコンパートメントと、コンパートメントの下位コンパートメントのいずれかに属するアプリケーションソフトウェアとに限定するメッセージング制御手段を含むものであってもよい。この手段は、例えば、コンパートメント構成管理手段によって実現される。そのような構成によれば、アプリケーションソフトウェアが同一ホスト内でメッセージ送信する場合に、無関係なグループへの情報漏洩を防止することができる。【００３１】
また、監視手段は、コンパートメント構成グラフに基づいて、アプリケーションソフトウェアが同一のホストコンピュータ内、又はネットワークを介して接続されるホストコンピュータとは別のホストコンピュータにメッセージを送信できる範囲を、同一のコンパートメントに属するアプリケーションソフトウェアに限定するネットワークアクセス制御手段を含むものであってもよい。この手段は、例えば、コンパートメント構成管理手段によって実現される。そのような構成によれば、アプリケーションソフトウェアがネットワークを介してメッセージを送信する場合に、無関係なグループへの情報漏洩を防止することができる。【００３２】
また、監視手段は、ユーザからの指示に応じて、プリケーションソフトウェアが属するコンパートメントの変更、又はコンパートメントごとのファイル管理を行うコンパートメント管理手段を含むものであってもよい。コンパートメント管理手段は、例えば、コンパートメント再編指示手段の指示に従って動作するコンパートメント構成管理手段によって実現される。そのような構成によれば、グループの変更等に伴ってコンパートメントを更新することができる。【００３３】
また、グループ管理手段は、グループの新規作成、グループの抹消、メンバの追加、又はメンバの削除を行うグループ変更手段を含むものであってもよい。【００３４】
本発明による情報共有システムのサーバは、グループ内で情報を共有するための情報共有システムにおける、グループとグループに属するメンバとの対応関係を管理するサーバ（例えば、グループ管理サーバ）であって、メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上のグループＩＤと認証キーとの組を出力するグループ管理手段を備えている。サーバは、例えば、グループ管理サーバで構成される。【００３５】
また、情報共有システムのサーバは、グループとグループとは別のグループとの包含関係を示す行列である隣接行列を生成する隣接行列生成手段を備えたものであってもよい。そのような構成によれば、複数のグループが存在する場合に、グループ内部で閉じた情報共有を行うことに加えて、より広範なグループとその部分グループとの間での自由な情報共有を実現しながら、無関係なグループへの機密漏洩を防止することができる。【００３６】
本発明による情報共有システムのユーザ端末は、グループ内で情報を共有するための情報共有システムにおけるユーザ端末であって、前記グループを識別するグループＩＤと認証キーとの各組に対応して、当該ユーザ端末を構成するコンピュータ内のソフトウェア及びファイルを含む計算資源をグループに対応付けて割り当てるための仮想的に区画化されたグループ固有領域であり且つ前記グループ間で互いの関係が解析可能に構成された区画であるコンパートメントを生成するコンパートメント生成手段と、アプリケーションソフトウェアの動作を監視し、各コンパートメントとアプリケーションソフトウェアとの所属関係に基づいて、ファイル入出力イベント及びネットワーク入出力イベントの少なくとも一方の実行可否を制御する監視手段とを備える。【００３７】
また、情報共有システムのユーザ端末は、グループとグループとは別のグループとの包含関係を示す行列である隣接行列を生成する隣接行列生成手段と、隣接行列生成手段が生成した隣接行列に基づいて、コンパートメント生成手段が生成したコンパートメント間に有向辺を付加することによって、コンパートメント間の順序関係を設定する有向辺付加手段とを備えたものであってもよい。そのような構成によれば、複数のグループが存在する場合に、グループ内部で閉じた情報共有を行うことに加えて、より広範なグループとその部分グループとの間での自由な情報共有を実現しながら、無関係なグループへの機密漏洩を防止することができる。【００３８】
本発明による情報共有方法は、サーバと、このサーバに通信ネットワークを介して通信可能に接続されたユーザ端末とを備えた情報共有システムを用いて、
グループ内で情報を共有するものであって、前記サーバが、グループとグループに属するメンバとの対応関係を管理し、メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上のグループＩＤと認証キーとの組を、通信ネットワークを介してユーザ端末に送信するステップと、前記ユーザ端末が、サーバから受信したグループＩＤと認証キーとの各組に対応して、コンピュータ内のソフトウェア及びファイルを含む計算資源を前記グループに対応付けて割り当てるための仮想的に区画化されたグループ専用領域であり且つ前記グループ間で互いの関係が解析可能に構成されたコンパートメントを生成するステップと、前記ユーザ端末が、少なくともコンパートメント間の順序関係、コンパートメントとアプリケーションソフトウェアとの所属関係、又はコンパートメントとファイルとの所属関係の情報を含むデータ構造のグラフとして、ノードとそのノードを結ぶ辺から成るコンパートメント構成グラフとを生成するステップと、前記ユーザ端末が、前記アプリケーションソフトウェアの動作を監視して、前記コンパートメント構成グラフに基づいて、ファイル入出力イベント及びネットワーク入出力イベントの少なくとも一方の実行可否を制御するステップとを含むことを特徴とする。【００３９】
また、情報共有方法は、サーバが、メンバ識別情報を入力すると、グループとグループとは別のグループとの包含関係を示す行列である隣接行列を生成するステップと、サーバが、グループＩＤと認証キーとの組とともに、生成した隣接行列を、通信ネットワークを介してユーザ端末に送信するステップと、ユーザ端末が、サーバから受信したグループＩＤと認証キーとの各組及び隣接行列に基づいて前記コンパートメント構成グラフを生成するステップと、ユーザ端末が、アプリケーションソフトウェアの動作を監視して、生成したコンパートメント構成グラフに基づいて、一のグループのコンパートメントに属する情報に対して、グループを包含する他のグループのコンパートメントに属するアプリケーションソフトウェアからの読みこみアクセスを許可するように、アプリケーションソフトウェアの実行可否を制御するステップとを含むものであってもよい。そのような構成によれば、複数のグループが存在する場合に、グループ内部で閉じた情報共有を行うことに加えて、より広範なグループとその部分グループとの間での自由な情報共有を実現しながら、無関係なグループへの機密漏洩を防止することができる。【００４０】
本発明によるグループ管理プログラムは、グループ内で情報を共有するための情報共有システムで用いるもので、コンピュータに、グループとグループに属するメンバとの対応関係を管理し、メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上のグループＩＤと認証キーとの組を生成するグループ管理処理を実行させることを特徴とする。【００４１】
また、グループ管理プログラムは、コンピュータに、グループとグループとは別のグループとの包含関係を示す行列である隣接行列を生成する隣接行列生成処理を実行させるものであってもよい。そのような構成によれば、複数のグループが存在する場合に、グループ内部で閉じた情報共有を行うことに加えて、より広範なグループとその部分グループとの間での自由な情報共有を実現しながら、無関係なグループへの機密漏洩を防止することができる。【００４２】
本発明によるコンパートメント管理プログラムは、グループ内で情報を共有するための情報共有システムで用いるもので、コンピュータに、計算資源をグループに対応付けて割り当てるための区画であるコンパートメントを管理し、グループＩＤと認証キーとの各組に対応して、前記コンピュータ内のソフトウェア及びファイルを含む計算資源を前記グループに対応付けて割り当てるための仮想的に区画化されたグループ専用領域であり且つ前記グループ間で互いの関係が解析可能に構成されたコンパートメントを生成する処理と、コンパートメント間の順序関係、コンパートメントとアプリケーションソフトウェアとの所属関係、及びコンパートメントとファイルとの所属関係の少なくとも１つの情報を含むデータ構造のグラフとして、ノードとそのノードを結ぶ辺から成るコンパートメント構成グラフを生成する処理と、アプリケーションソフトウェアの動作を監視して、コンパートメント構成グラフに基づいて、少なくともファイル入出力イベント又はネットワーク入出力イベントの実行可否を制御するアクセス制御処理とを実行させることを特徴とする。【００４３】
また、コンパートメント管理プログラムは、コンピュータに、コンパートメント生成処理で、グループＩＤと認証キーとの各組及び隣接行列に基づいて、コンパートメント間の順序関係、コンパートメントとアプリケーションソフトウェアとの所属関係、及びコンパートメントとファイルとの所属関係の少なくとも１つの情報を含むデータ構造のグラフとして、コンパートメント構成グラフを生成する処理を実行させるものであってもよい。そのような構成によれば、複数のグループが存在する場合に、グループ内部で閉じた情報共有を行うことに加えて、より広範なグループとその部分グループとの間での自由な情報共有を実現しながら、無関係なグループへの機密漏洩を防止することができる。
【発明の効果】
【００４４】
本発明によれば、コンピュータ内の計算資源を、メンバが属するグループの専用領域であり且つグループ間で互いの関係が解析可能に構成されたコンパートメントに対応付けて管理するように構成している。このため、ネットワークを介して遠隔地間で情報共有を行う場合に、グループ内の機密情報の確実な保護を行うことができる。また、複数のグループが存在する場合に、グループ内部で閉じた情報共有を行うことに加えて、より広範なグループとその部分グループとの間での自由な情報共有を実現しながら、無関係なグループへの機密漏洩を防止することもできる。
【図面の簡単な説明】
【００４５】
【図１】本発明による情報共有システムの第１の実施の形態の構成の一例を示すブロック図である。
【図２】第１の実施の形態において、グループ管理サーバ及びユーザ端末の構成の一例を示すブロック図である。
【図３】第１の実施の形態において、ユーザ端末がコンパートメントを生成するコンパートメント生成処理の一例を示す流れ図である。
【図４】第１の実施の形態において、アプリケーションの起動イベントに対しユーザ端末が行う処理の一例を示す流れ図である。
【図５】第１の実施の形態において、コンパートメント構成グラフの一例を示す説明図である。
【図６】第１の実施の形態において、第１アプリケーションから第２アプリケーションにメッセージが送信されたときに監視手段が行う処理の一例を示す流れ図である。
【図７】第１の実施の形態において、マージしたオブジェクトツリーの例を示す説明図である。
【図８】第１の実施の形態において、コンパートメント構成グラフにおけるコンパートメントのファイル配置テーブルの一例を示す説明図である。
【図９】第１の実施の形態において、アプリケーションがファイル一覧を行う際に監視手段が行う処理の一例を示す流れ図である。
【図１０】第１の実施の形態において、統合ＦＴ（ファイル配置テーブル）の例を示す説明図である。
【図１１】第１の実施の形態において、アプリケーションがファイル読み込みを行う際に監視手段が行う処理の一例を示す流れ図である。
【図１２】第１の実施の形態において、アプリケーションがファイル書込み等の変更を行う際に監視手段が行う処理の一例を示す流れ図である。
【図１３】第１の実施の形態において、ファイル配置テーブルと２次記憶デバイス上のファイル実体との関係を示す説明図である。
【図１４】第１の実施の形態において、ネットワークを介して接続された２つのユーザ端末間で通信を行う場合の処理の一例を示す流れ図である。
【図１５】第１の実施の形態による情報共有システムを適用した遠隔会議システムの実施例の具体的な構成を示すブロック図である。
【図１６】実施例において、グループ管理データベースの例を示す説明図である。
【図１７】実施例において、コンパートメントノードＮ［Ｇｒｏｕｐ−１］の登録後のコンパートメント構成グラフの例を示す説明図である。
【図１８】実施例において、コンパートメントノードＮ［Ｇｒｏｕｐ−１］とＮ［Ｇｒｏｕｐ−２］との登録後のコンパートメント構成グラフの例を示す説明図である。
【図１９】実施例において、ユーザ端末２−１でのアプリケーション実行時のオブジェクトツリーを示す説明図である。
【図２０】実施例において、動画配信時の遠隔会議システムの具体的な動作を示す説明図である。
【図２１】実施例において、ファイル新規作成時の監視手段の具体的な動作を示す説明図である。
【図２２】実施例において、ファイル配置テーブルの一具体例を示す説明図である。
【図２３】実施例において、ファイル配置テーブルをマージして生成したファイル配置テーブルの具体例を示す説明図である。
【図２４】実施例において、会議クライアントアプリケーションのファイル選択ダイアログの例を示す説明図である。
【図２５】実施例において、ファイル読み込み時の監視手段の具体的な動作を示す説明図である。
【図２６】実施例において、ファイルアップロード処理を示す説明図である。
【図２７】実施例において、ファイルダウンロード処理を示す説明図である。
【図２８】実施例において、ユーザ端末２間のファイル交換処理を示す説明図である。
【図２９】本発明による情報共有システムの第２の実施の形態において、グループ管理サーバ及びユーザ端末の構成例を示すブロック図である。
【図３０】第２の実施の形態において、グループ管理サーバが行うグループ変更処理の一例を示す流れ図である。
【図３１】第２の実施の形態において、グループ管理サーバのグループ関係計算手段がグループ間の関係を計算するグループ関係計算処理の一例を示す流れ図である。
【図３２】第２の実施の形態において、グループ関係計算手段が隣接行列を計算して求める隣接行列計算処理の一例を示す流れ図である。
【図３３】第２の実施の形態において、コンパートメント再編指示手段がコンパートメントの再編を指示する処理の一例を示す流れ図である。
【図３４】第２の実施の形態において、コンパートメントノードのコンパートメント構成グラフへの登録処理の具体例を示す流れ図である。
【図３５】第２の実施の形態において、組織の包含関係の例を示す説明図である。
【図３６】本発明による情報共有システムの第３の実施の形態において、ユーザ端末の構成例を示すブロック図である。
【図３７】第３の実施の形態において、コンパートメント切替手段がコンパートメントの切り替えを行うコンパートメント切替処理の一例を示す流れ図である。
【図３８】第３の実施の形態において、ユーザ端末が表示するコンパートメント切替ダイアログの例を示す説明図である。
【図３９】第３の実施の形態において、コンパートメント切り替えに伴うコンパートメント構成グラフの変化の例を示す説明図である。
【図４０】第３の実施の形態において、ユーザ端末が表示するコンパートメント切替ダイアログの他の例を示す説明図である。
【符号の説明】
【００４６】
１  グループ管理サーバ
２  ユーザ端末
３  ネットワーク
４  遠隔会議サーバ
１１  通信インタフェース手段
１２  グループ管理データベース
１３  グループ変更手段
１４  グループ関係計算手段
２１  アプリケーション
２２  監視手段
２３  デバイス
２２１  イベント取得手段
２２２  コンパートメント生成指示手段
２２３  コンパートメント構成管理手段
２２４  デバイス制御手段
２２５  コンパートメント再編指示手段
２２６  コンパートメント切替手段
２３１  ネットワークデバイス
２３２  １次記憶デバイス
２３３  ２次記憶デバイス
２３４  表示デバイス
２３５  入力デバイス
４１１  動画配信アプリケーション
４１２  ファイル共有アプリケーション
【発明を実施するための最良の形態】
【００４７】
以下、図面を参照しながら、本発明の実施の形態について説明する。
（実施の形態１）
まず、本発明の第１の実施の形態を図面を参照して説明する。図１は、本実施の形態による情報共有システムの構成の一例を示すブロック図である。図１に示すように、情報共有システムは、グループ管理サーバ１と、複数のユーザ端末２とを含む。また、図１に示すように、情報共有システムにおいて、少なくとも１台のグループ管理サーバ１と、少なくとも２台のユーザ端末２とが、インターネット等のネットワーク３を介して相互に通信可能に接続される。【００４８】
図１に示すように、ユーザ端末２は、機能上、各種アプリケーションソフトウェア（以下、単にアプリケーション（ＡＰ）という）２１が搭載され、監視手段２２及び各種デバイス２３を備える。ユーザ端末２は、監視手段２２を用いて、アプリケーション２１とデバイス２３との間で行われる入出力動作を監視し、グループに対応するコンパートメント（後述参照）間の不正な情報のコピーや移動、参照をブロック（阻止）する。【００４９】
図２は、グループ管理サーバ１及びユーザ端末２の構成の一例を示すブロック図である。グループ管理サーバ１は、例えば、グループ内の情報共有を管理する情報共有管理サービスを提供する情報共有管理事業者が運営するサーバである。グループ管理サーバ１は、具体的には、ワークステーションやパーソナルコンピュータ等のプログラム制御により動作するＣＰＵ（Central Processing Unit）を有するコンピュータ機からなる情報処理装置である。図２に示すように、グループ管理サーバ１は、機能上、全体制御を担う制御部（図示しない）のほか、通信インタフェース（Ｉ／Ｆ）手段１１と、グループ管理データベース（ＤＢ）１２とを備える。【００５０】
通信インタフェース手段１１は、ネットワーク３を介してデータを送受信する機能を備える。本実施の形態では、通信インタフェース手段１１は、ユーザ端末２から、ネットワーク３を介して、ユーザであるメンバを識別するためのメンバＩＤを受信する。また、グループ管理サーバ１は、メンバが属するグループを識別するためのグループＩＤ及び所定の認証キーをグループ管理データベース１２から抽出し、抽出したグループＩＤ及び認証キーをユーザ端末２に配布する機能を備える。本実施の形態では、通信インタフェース手段１１は、抽出したグループＩＤ及び認証キーを、ネットワーク３を介してユーザ端末２に送信する。【００５１】
グループ管理データベース１２は、グループＩＤ、認証キー及びメンバＩＤの関係を保持するデータベースである。本実施の形態では、グループ管理データベース１２は、グループＩＤと認証キーとメンバＩＤとを対応付けて記憶する。本実施の形態では、グループ管理サーバ１は、通信インタフェース手段１１からの要求に応じてメンバＩＤに対応するグループＩＤ及び認証キーを抽出し、通信インタフェース手段１１に返す。【００５２】
ユーザ端末２は、具体的には、パーソナルコンピュータ等のプログラム制御により動作するＣＰＵを有するコンピュータ機からなる情報処理端末である。図２に示すように、ユーザ端末２は、機能上、各種アプリケーション２１と、監視手段２２と、各種デバイス２３とを含む。デバイス２３には、少なくともネットワークデバイス２３１と、１次記憶デバイス２３２と、２次記憶デバイス２３３とが含まれる。【００５３】
監視手段２２は、具体的には、予め設定されたプログラムに従って動作するユーザ端末２のＣＰＵによって実現される。図２に示すように、監視手段２２は、その内部構成として、機能上、イベント取得手段２２１と、コンパートメント生成指示手段２２２と、コンパートメント構成管理手段２２３と、デバイス制御手段２２４とを備える。【００５４】
イベント取得手段２２１は、アプリケーション２１のイベントを検出し、検出したイベントをコンパートメント構成管理手段２２３に渡す機能を備える。例えば、イベント取得手段２２１は、アプリケーション２１による少なくともアプリケーション２１の起動やデバイス２３への入出力等に関する動作イベントを所定の方法により取得（検出）し、取得したイベントをコンパートメント構成管理手段２２３に伝達（出力）する。アプリケーション２１の動作イベントを検出する方法としては、例えば、一般にイベントフックと呼ばれる方法を用いることができる。【００５５】
コンパートメント生成指示手段２２２は、デバイス制御手段２２４及びネットワークデバイス２３１を介して、ネットワーク３に接続されている。コンパートメント生成指示手段２２２は、デバイス制御手段２２４及びネットワークデバイス２３１を介して、グループ管理サーバ１からユーザ端末２のユーザが属するグループのグループＩＤ及び認証キーを受信してその配布を受ける機能を備える。また、コンパートメント生成指示手段２２２は、受信したグループＩＤと認証キーとを持つコンパートメントの生成を、コンパートメント構成管理手段２２３に指示する機能を備える。【００５６】
なお、本明細書で用いる「コンパートメント」とは、コンピュータ内のソフトウェア及びファイルを含む計算資源をグループに対応付けて割り当てるための仮想的に区画化されたグループ専用領域であり、グループ間で互いの関係が解析可能に構成された区画に対応するものである。例えば、「コンパートメント」は、グループＩＤで識別されるグループの固有領域である。具体的には、「コンパートメント」は、情報を共有するグループ単位で作成されるファイルの区画やオブジェクトの区画であり、コンピュータ内の計算資源が仮想的に区画化された資源集合という概念を表す。コンピュータ内の計算資源としては、例えばファイル、プロセス（アプリケーション、ウィンドウ、又はオブジェクト等）、ネットワーク（共有範囲）が含まれる。本実施の形態では、後述するように、コンパートメント生成指示手段２２２の指示に従って、コンパートメント構成管理手段２２３がコンパートメントを構成する構成情報を生成する。これによって、コンパートメントが仮想的に生成される。【００５７】
コンパートメント構成管理手段２２３は、コンパートメント生成指示手段２２２からの指示に従ってコンパートメントの構成情報を生成し、生成したコンパートメントの構成情報を保持する機能を備える。また、コンパートメント構成管理手段２２３は、イベント取得手段２２１から入力した動作イベントに基づいて、オブジェクトやファイル、アプリケーションの所属するコンパートメントを特定する機能を備える。例えば、コンパートメント構成管理手段２２３は、１次記憶デバイス２３２上に配置されたオブジェクトや、２次記憶デバイス２３３上に配置されたファイル、ネットワークデバイス２３１を介して接続される他のユーザ端末２上のアプリケーション等の所属するコンパートメントを特定する。【００５８】
また、コンパートメント構成管理手段２２３は、コンパートメント間の不正なデータ流を発見し、不正なデータ流を発見すると、そのデータ流に対応する動作イベントをブロック（阻止）する機能を備える。また、コンパートメント構成管理手段２２３は、コンパートメント間のデータ流が正当なデータ流である場合、そのデータ流に対応する動作イベントをデバイス制御手段２２４に渡す機能を備える。本実施の形態では、コンパートメント構成管理手段２２３は、動作イベントによるデータ流が同一コンパートメント内のデータ流である場合、もしくは下位コンパートメントから上位コンパートメントへのデータ流である場合には、その動作イベントをデバイス制御手段２２４に伝達する。【００５９】
デバイス制御手段２２４は、コンパートメント構成管理手段２２３から伝達された動作イベントについて、コンパートメント構成管理手段２２３が保持する情報（コンパートメントの構成情報）に基づいて、デバイス２３を制御する機能を備える。本実施の形態ではデバイス制御手段２２４は、コンパートメントの構成情報に基づいて、ネットワークデバイス２３１を介したアプリケーション２１間の通信に際して、監視手段２２同士のトンネル確立及び相互認証処理を行う。また、デバイス制御手段２２４は、コンパートメントの構成情報に基づいて、１次記憶デバイス２３２が記憶するオブジェクト間のメッセージング処理を行ったり、２次記憶デバイス２３３が記憶するファイル実体への入出力処理を行ったりする。【００６０】
ネットワークデバイス２３１は、デバイス制御手段２２４の指示に従って、ネットワーク３を介してデータを送受信する機能を備える。また、１次記憶デバイス２３２は、各種オブジェクトを記憶する。また、２次記憶デバイス２３３は、各種ファイルを記憶する。【００６１】
なお、本実施の形態において、グループ管理サーバ１の記憶装置（図示せず）は、グループを管理するための各種プログラムを記憶している。例えば、グループ管理サーバ１の記憶装置は、コンピュータに、メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上のグループＩＤと認証キーとの組を生成するグループ管理処理を実行させるためのグループ管理プログラムを記憶している。【００６２】
また、本実施の形態において、ユーザ端末２の記憶装置（図示せず）は、コンパートメントを生成し管理するための各種プログラムを記憶している。ユーザ端末２の記憶装置は、コンピュータに、グループＩＤと認証キーとの各組に対応するコンパートメントと、少なくともコンパートメント間の順序関係、コンパートメントとアプリケーションソフトウェアとの所属関係、又はコンパートメントとファイルとの所属関係の情報を含むコンパートメント構成グラフを生成するコンパートメント生成処理と、アプリケーションソフトウェアの動作を監視して、コンパートメント構成グラフに基づいて、少なくともファイル入出力イベント又はネットワーク入出力イベントの実行可否を制御するアクセス制御処理とを実行させるためのコンパートメント管理プログラムを記憶している。【００６３】
次に、本実施の形態の動作について説明する。
（コンパートメントの生成動作）
まず、ユーザ端末２がコンパートメントを生成するコンパートメント生成動作を説明する。図３は、ユーザ端末２がコンパートメントを生成するコンパートメント生成処理の一例を示す流れ図である。本実施の形態では、ユーザ端末２の各ユーザは、情報共有管理サービスの提供を受けることについて、予め情報共有管理事業者と契約を締結している。また、各ユーザは、予めメンバＩＤを付与され、自分が所属するグループを予めグループ管理サーバ１に登録している。また、グループ管理サーバ１は、ユーザの登録内容に応じて、メンバＩＤとグループＩＤとを対応付けてグループ管理データベース１２に記憶している。【００６４】
なお、本実施の形態では、例えば、グループｎに対して生成されるコンパートメントをコンパートメントＣｎと表現する。また、本実施の形態では、例えば、グループｎに付与されているグループＩＤをＩＤ［Ｃｎ］と表現する。【００６５】
図３に示すように、ユーザ端末２は、ネットワーク３を介して、所定のメンバＩＤをグループ管理サーバ１に送信する（ステップＳ１１）。例えば、ユーザによってユーザ端末２の起動操作がなされると、ユーザ端末２は、メンバＩＤをネットワーク３を介してグループ管理サーバ１に送信する。この場合、ユーザ端末２のネットワークデバイス２３１が、コンパートメント生成指示手段２２２の指示に従って、メンバＩＤをグループ管理サーバ１に送信する。グループ管理サーバ１の通信インタフェース手段１１は、ユーザ端末２からネットワーク３を介してメンバＩＤを受信する。【００６６】
例えば、ユーザ端末２は、メンバＩＤとして、パスワードやユーザ証明書等任意の認証方式に基づいてユーザ端末２にログインしているユーザＩＤや、ユーザ端末２内の耐タンパデバイス（図示しない）に格納される機器ＩＤを、グループ管理サーバ１に送信する。また、例えば、ユーザ端末２がそれらユーザＩＤや機器ＩＤを併せて送信することによって、グループ管理サーバ１が多要素認証を行ってもよい。【００６７】
次いで、グループ管理サーバ１は、受信したメンバＩＤに基づいてグループ管理データベース１２を検索し、メンバＩＤに対応するグループＩＤと認証キーとを抽出する。そして、グループ管理サーバ１は、抽出したグループＩＤと認証キーとの組から成る系列を生成し、ネットワーク３を介してユーザ端末２に送信する（ステップＳ１２）。この場合、グループ管理サーバ１は、新たに所属したグループを発見すると、グループ管理データベース１２から全てのグループＩＤと認証キーとの組からなる系列（以下、グループＩＤ／認証キー系列ともいう）を抽出し、ユーザ端末２に配布する。【００６８】
次いで、ユーザ端末２のコンパートメント生成指示手段２２２は、ネットワーク３及びネットワークデバイス２３１を介して、グループＩＤ／認証キー系列を受信する。また、コンパートメント生成指示手段２２２は、各グループＩＤ（ＩＤ［Ｃｎ］）と認証キーとを属性として含むコンパートメントノードＮ［Ｃｎ］を新たに生成するように、コンパートメント構成管理手段２２３に指示する。すると、コンパートメント構成管理手段２２３は、コンパートメント生成指示手段２２２の指示に従って、コンパートメントノードＮ［Ｃｎ］を生成する（ステップＳ１３）。【００６９】
次いで、コンパートメント構成管理手段２２３は、生成したコンパートメントノードＮ［Ｃｎ］を所定のコンパートメント構成グラフＧに登録する（ステップＳ１４）。「コンパートメント構成グラフＧ」は、コンパートメント構成管理手段２２３が生成するコンパートメント間の関係及びその構成情報を示すグラフ、すなわちノードの集合およびそのノード間を結ぶ辺（有向辺および無向辺）の集合から構築されるデータ構造である。例えば、「コンパートメント構成グラフＧ」は、コンパートメントとアプリケーションソフトウェアとの所属関係を示す。コンパートメント構成グラフＧは、２次記憶デバイス２３３に格納するようにしてもよく、別途備えた耐タンパデバイスに格納するようにしてもよい。なお、コンパートメント構成管理手段２２３によるコンパートメント構成グラフＧに関する処理は、例えばコンピュータ上で動作可能なグラフアルゴリズムに基づくグラフに関する処理プログラムを用いて行うことが可能である。【００７０】
また、本実施の形態において、コンパートメント構成グラフＧは、初期値として、最低の機密レベル（すなわち、未分類（Ｕｎｃｌａｓｓｉｆｉｅｄ）レベル）をもつコンパートメントノードＮ［Ｕｎｃｌａｓｓｉｆｉｅｄ］だけから成るものとする。また、コンパートメント構成管理手段２２３は、コンパートメントノードＮ［Ｃｎ］を生成すると、新たに生成したＮ［Ｃｎ］をＮ［Ｕｎｃｌａｓｓｉｆｅｄ］から少なくとも１本の有向辺で辿れる箇所に追加することによって、生成したコンパートメントノードＮ［Ｃｎ］をコンパートメント構成グラフＧに登録する。【００７１】
次いで、コンパートメント構成管理手段２２３は、コンパートメントノードＮ［Ｃｎ］に対応するオブジェクトのツリー構造を示すオブジェクトツリーＯＴ［Ｃｎ］、及びコンパートメントノードＮ［Ｃｎ］に対応するファイルの配置（格納場所）を示すファイル配置テーブＦＴ［Ｃｎ］を新たに生成する。そして、コンパートメント構成管理手段２２３は、生成したオブジェクトツリーＯＴ［Ｃｎ］及びファイル配置テーブルＦＴ［Ｃｎ］を、コンパートメントノードＮ［Ｃｎ］の属性として、コンパートメント構成グラフＧに格納する（ステップＳ１５）。【００７２】
以上のように、ステップＳ１１〜Ｓ１５までの処理が実行されることによって、例えば、ユーザ端末２の起動時にコンパートメント生成指示手段２２２が自動的にグループ管理サーバ１に接続し、新たなユーザグループの作成に伴ってメンバのユーザ端末２内に適切なコンパートメントを生成することができる。すなわち、コンパートメント構成管理手段２２３は、コンパートメントノードＮ［Ｃｎ］やオブジェクトツリーＯＴ［Ｃｎ］、ファイル配置テーブルＦＴ［Ｃｎ］等の構成情報を生成することによって、コンパートメントＣｎを仮想的に生成する。なお、その他の動作として、新規グループの作成を通知するメールを受けて、コンパートメント生成指示手段２２２がグループ管理サーバ１に接続し、ユーザ端末２にコンパートメントを生成するようにしてもよい。【００７３】
（アプリケーションの起動イベントに対する動作）
次に、アプリケーション２１の起動イベントに対する動作を説明する。図４は、アプリケーション２１の起動イベントに対しユーザ端末２が行う処理の一例を示す流れ図である。本実施の形態では、ユーザ端末２において、既に起動されているアプリケーション（以下、「起動済アプリケーション」ともいう）が他のアプリケーション（以下、「被起動アプリケーション」ともいう）を起動する場合を説明する。なお、本実施の形態では、「アプリケーションが起動する」等の表現を用いるが、実際には、ユーザ端末２のＣＰＵが各種アプリケーションに従って処理を実行する。【００７４】
図４に示すように、既に起動されているアプリケーションが他のアプリケーションを起動するとき、イベント取得手段２２１は、被起動アプリケーションの起動イベントを取得（検出）し（ステップＳ２１）、コンパートメント構成管理手段２２３に出力する。なお、イベント取得手段２２１が取得するイベントは、少なくとも発生源となったアプリケーションのオブジェクトを識別するためのオブジェクトＩＤを属性としてもつものとする。【００７５】
次いで、コンパートメント構成管理手段２２３は、イベント取得手段２２１から入力した被起動アプリケーションの起動イベントの属性である起動済アプリケーションのオブジェクトＩＤに基づいて、コンパートメント構成グラフＧの各コンパートメントノードを探索する。そして、コンパートメント構成管理手段２２３は、起動済アプリケーションのオブジェクトノードを有するオブジェクトツリーＯＴ［Ｃｉ］を特定する（ステップＳ２２）。【００７６】
次いで、オブジェクトツリーＯＴ［Ｃｉ］を特定すると、コンパートメント構成管理手段２２３は、被起動アプリケーションのオブジェクトノードを新たに生成し、起動済アプリケーションのオブジェクトノードの子ノードとしてオブジェクトツリーＯＴ［Ｃｉ］に登録する（ステップＳ２３）。この際、コンパートメント構成管理手段２２３は、被起動アプリケーションのオブジェクトＩＤも生成して、被起動アプリケーションのオブジェクトノードの属性としてオブジェクトツリーＯＴ［Ｃｉ］に格納する。【００７７】
以上のように、ステップＳ２１〜Ｓ２３までの処理が実行されることによって、新たに起動されたアプリケーションを適切なコンパートメントに所属させることができる。また、起動する側のアプリケーションとして、所属コンパートメントを任意に選択できる特殊なランチャーを設けることによって、ユーザが複数のグループに所属する場合に、アクセスしたいコンパートメントを選択できるユーザインタフェースを設けることができる。【００７８】
（オブジェクト間のメッセージ送信イベントに対する動作）
次に、オブジェクト間のメッセージを送信するオブジェクト間メッセージ送信イベントに対する動作を説明する。図５は、コンパートメント構成グラフＧの一例を示す説明図である。本実施の形態では、ユーザ端末２が図５に示すコンパートメント構成グラフＧを記憶している場合を説明する。本実施の形態では、図５に示すように、コンパートメント構成管理手段２２３は、コンパートメント構成グラフＧに基づいて、４つのコンパートメントＣ０、Ｃ１、Ｃ２、Ｃ３を管理している。【００７９】
コンパートメントノード同士は互いに有向辺で接続されており、出次側（有向辺の矢印が無い側）のコンパートメントは、入次側（有向辺の矢印が存在する側）のコンパートメントよりも下位の関係にあることを示す。この上下関係は推移的であり、例えば、あるコンパートメントノードＮ［Ｃ］と、Ｎ［Ｃ］から複数の有向辺を順方向（有向辺の矢印の方向）に辿って到達可能な任意のコンパートメントノードＮ［Ｄ］とは、Ｎ［Ｄ］＞Ｎ［Ｃ］の関係（すなわち、コンパートメントＤがコンパートメントＣより上位である関係）にあると解釈するものとする。一方、Ｎ［Ｃ］から複数の有向辺を逆方向（有向辺の矢印とは逆方向）に辿って到達可能な任意のコンパートメントノードＮ［Ｅ］とは、Ｎ［Ｃ］＞Ｎ［Ｅ］の関係（すなわち、コンパートメントＣがコンパートメントＥより上位である関係）にあると解釈するものとする。また、コンパートメント構成グラフＧ上で有向辺を辿って到達不能なコンパートメントは「比較不能」であるものとする。【００８０】
例えば、図５に示す例では、Ｎ［Ｃ０］＜Ｎ［Ｃ１］、Ｎ［Ｃ０］＜Ｎ［Ｃ２］、Ｎ［Ｃ１］＜Ｎ［Ｃ３］、Ｎ［Ｃ２］＜Ｎ［Ｃ３］の関係にあり、Ｎ［Ｃ１］とＮ［Ｃ２］とは互いに比較不能であることが分かる。すなわち、コンパートメントＣ１及びＣ２は、コンパートメントＣ０より上位であり、コンパートメントＣ３は、コンパートメントＣ１及びＣ２より上位である関係にある。また、コンパートメントＣ１とＣ２とは互いに上下関係が比較不能である。【００８１】
本実施の形態では、２つのアプリケーション２１（第１アプリケーション及び第２アプリケーション）があり、それぞれ第１アプリケーションがコンパートメントＣ０に属し、第２アプリケーションがコンパートメントＣ１に属するものとする。この場合に、第１アプリケーションから第２アプリケーションにメッセージ（シグナル）が送信されたときの監視手段２２の動作を説明する。図６は、第１アプリケーションから第２アプリケーションにメッセージが送信されたときに監視手段２２が行う処理の一例を示す流れ図である。【００８２】
同図において、イベント取得手段２２１は、第１アプリケーションから第２アプリケーションへのメッセージ送信イベントを取得（検出）し（ステップＳ３１）、コンパートメント構成管理手段２２３に伝達（出力）する。すると、コンパートメント構成管理手段２２３は、コンパートメント構成グラフＧのうちコンパートメントノードＮ［Ｃ０］及びＮ［Ｃ１］を参照する。そして、コンパートメント構成管理手段２２３は、コンパートメントノードＮ［Ｃ０］及びＮ［Ｃ１］に基づいて、それぞれ第１アプリケーション及び第２アプリケーションが属するオブジェクトツリーＯＴ［Ｃ０］及びＯＴ［Ｃ１］を抽出する（ステップＳ３２）。【００８３】
次いで、コンパートメント構成管理手段２２３は、図７に示すように、次の処理を行う。まず、コンパートメントノードＮ［Ｃ０］及びＮ［Ｃ１］にそれぞれ対応する仮想オブジェクトＶＯ［Ｃ０］及びＶＯ［Ｃ１］を生成する。次に、その仮想オブジェクトＶＯ［Ｃ０］及びＶＯ［Ｃ１］の子として、オブジェクトツリーＯＴ［Ｃ０］及びＯＴ［Ｃ１］をそれぞれ接続する。さらに、仮想オブジェクトＶＯ［Ｃ０］とＶＯ［Ｃ１］との間に、コンパートメントノードＮ［Ｃ０］、Ｎ［Ｃ１］間と同じ方向をもつ有向辺を追加する。これによって、オブジェクトツリーＯＴ［Ｃ０］及びＯＴ［Ｃ１］を互いにマージ（結合）したツリーを生成する（ステップＳ３３）。【００８４】
次いで、コンパートメント構成管理手段２２３は、上記のようにマージしたツリー上で、第１アプリケーションが属するコンパートメントＣ０に対応する仮想オブジェクトＶＯ［Ｃ０］からその無向辺及び有向辺を順方向に辿って第２アプリケーションが属するコンパートメントＣ１に対応する仮想オブジェクトＶＯ［Ｃ１］に辿りつけるか否かを検査（判定）する（ステップＳ３４）。この場合、無向辺については、双方向に辿ることができる有向辺として扱う。【００８５】
その結果、第２アプリケーションに到達可能であると判定すると、コンパートメント構成管理手段２２３は、第１アプリケーションから第２アプリケーションへのメッセージ送信イベントの通過（出力）を許可する（ステップＳ３５）。また、第２アプリケーションに到達可能でないと判定すると、コンパートメント構成管理手段２２３は、第１アプリケーションから第２アプリケーションへのメッセージ送信イベントの通過をブロック（阻止）する（ステップＳ３６）。この場合、例えば、コンパートメント構成管理手段２２３は、第１アプリケーションから第２アプリケーションへのメッセージ送信イベントを通過させないように制御する。【００８６】
以上のように、ステップＳ３１からステップＳ３６までの処理が実行されることによって、例えば、コンパートメントＣ０に属するクリップボード（第１アプリケーション）から、コンパートメントＣ１に属するエディタ（第２アプリケーション）へのペースト操作を許可することができる。また、例えば、その逆のエディタからクリップボードへのコピー操作を禁止することができる。そのようにすることによって、コピー＆ペースト操作による下位又は比較不能な別のコンパートメントへの情報漏洩を防止することができる。【００８７】
（ファイル入出力イベントに対する動作）
次に、ファイルを入出力するファイル入出力イベントに対する動作を説明する。本実施の形態において、ファイル配置テーブルＦＴは、ファイル名と２次記憶デバイス２３３上のファイル実体とを対応付けた対応表である。また、本実施の形態では、アプリケーションからファイルアクセスする場合、ファイル配置テーブルＦＴに基づいてファイル名から配置アドレスを求めることによって、ファイル実体にアクセスできるものとする。【００８８】
図８は、図５に示したコンパートメント構成グラフＧにおけるコンパートメントＣ０及びＣ１それぞれのファイル配置テーブルＦＴ［Ｃ０］及びＦＴ［Ｃ１］の一例を示す説明図である。本実施の形態では、図８に示すファイル配置テーブルを用いて、コンパートメントＣ１に属するアプリケーションからファイル実体へアクセスするアクセス制御方法を考える。以下、（１）アプリケーションがファイル読み込み、又はファイル一覧を行う場合と、（２）アプリケーションがファイル書き込み等の変更を行う場合とに分けて、ファイル制御方法を説明する。【００８９】
（１）ファイル読込み時又はファイル一覧時の動作
まず、アプリケーションがファイル読込み、又はファイル一覧を行う場合を説明する。図９は、アプリケーションがファイル一覧を行う際に監視手段２２が行う処理の一例を示す流れ図である。同図において、イベント取得手段２２１は、アプリケーションによるファイル一覧イベントを取得（検出）し（ステップＳ４１）、コンパートメント構成管理手段２２３に伝達（出力）する。【００９０】
次いで、コンパートメント構成管理手段２２３は、入力したファイル一覧イベントに基づいて、アプリケーションがいずれのコンパートメントに属するかを判断する。本実施の形態では、アプリケーションがコンパートメントＣ１に属すると判断する。その結果、アプリケーションがコンパートメントＣ１に属することを確認すると、コンパートメントＣ１に対応するファイル配置テーブルＦＴ［Ｃ１］を抽出する（ステップＳ４２）。【００９１】
次いで、コンパートメント構成管理手段２２３は、コンパートメントＣ１の下位コンパートメントであるコンパートメントＣ０に対応するファイル配置テーブルＦＴ［Ｃ０］を抽出する。そして、コンパートメント構成管理手段２２３は、ファイル配置テーブルＦＴ［Ｃ１］とＦＴ［Ｃ０］とをマージ（結合）し（ステップＳ４３）、２つのファイル配置テーブルＦＴ［Ｃ１］及びＦＴ［Ｃ０］をマージした結合ファイル配置テーブル（結合ＦＴともいう）を生成する。この際、コンパートメント構成管理手段２２３は、同じファイル名がある場合には、上位のファイル配置テーブルＦＴのレコード（ファイル名と配置アドレスとの組）を採用して、結合ＦＴを生成する。本実施の形態では、コンパートメント構成管理手段２２３は、図１０に示す統合ＦＴを構成する。【００９２】
次いで、コンパートメント構成管理手段２２３は、入力したイベントがファイル一覧を要求するイベントであるか否かを判断する。その結果、ファイル一覧を要求する入力イベントであると判断すると、コンパートメント構成管理手段２２３は、統合ＦＴのファイル名一覧を抽出しアプリケーションに返す（ステップＳ４４）。【００９３】
図１１は、アプリケーションがファイル読み込みを行う際に監視手段２２が行う処理の一例を示す流れ図である。同図において、イベント取得手段２２１は、アプリケーションによるファイル読込イベントを取得（検出）し（ステップＳ４１ｂ）、コンパートメント構成管理手段２２３に伝達（出力）する。コンパートメント構成管理手段２２３は、ファイル一覧の場合の処理と同様に、ファイル配置テーブルＦＴ［Ｃ１］及びＦＴ［Ｃ０］を抽出し、ファイル配置テーブルＦＴ［Ｃ１］とＦＴ［Ｃ０］とをマージする（ステップＳ４２，Ｓ４３）。【００９４】
次いで、コンパートメント構成管理手段２２３は、マージしたファイル配置テーブルのファイル名のコラムを検索して、読み込み対象のファイルに対応する配置アドレスを抽出する。また、配置アドレスを得ると、コンパートメント構成管理手段２２３は、デバイス制御部２２４を介して、２次記憶デバイス２３３のファイル実体を読み込み、入力したファイル実体をアプリケーションに返す（ステップＳ４５）。【００９５】
（２）ファイル書込み等の変更時の動作
次に、アプリケーションがファイル書込み等の変更を行う場合を説明する。図１２は、アプリケーションがファイル書込み等の変更を行う際に監視手段２２が行う処理の一例を示す流れ図である。同図において、イベント取得手段２２１は、アプリケーションによるファイル出力イベントを取得（検出）し（ステップＳ５１）、コンパートメント構成管理手段２２３に伝達（出力）する。【００９６】
次いで、コンパートメント構成管理手段２２３は、アプリケーションがコンパートメントＣ１に属することを確認すると、入力イベントの処理の場合とは異なり、コンパートメントＣ１に対応するファイル配置テーブルＦＴ［Ｃ１］のみを抽出する（ステップＳ５２）。そして、コンパートメント構成管理手段２２３は、ファイル名の変更やファイルの削除等をファイル配置テーブルＦＴ［Ｃ１］のみに対して行う。また、コンパートメント構成管理手段２２３は、ファイル更新については、ファイル配置テーブルＦＴ［Ｃ１］に記載された配置アドレスをデバイス制御部２２４に入力し、更新内容を２次記憶デバイス２３３のファイル実体に書き込む（ステップＳ５３）。【００９７】
以上のように、ステップＳ５１からステップＳ５３までの処理が実行されることによって、同じファイル名でファイル書き出しを行う場合であっても、コンパートメント毎に異なるファイル実体として格納することができる。例えば、図１３に示すように、コンパートメントＣ０とＣ１とに属するそれぞれのアプリケーションが、同じファイル名「ｆｉｌｅ１」でファイル書出しを行う場合でも、２次記憶デバイス２３３上では、コンパートメント毎に異なるファイル実体として格納される。そのため、コンパートメントＣ１に属するアプリケーションから下位コンパートメントＣ０への情報漏洩を防ぐことができる。【００９８】
また、当初コンパートメントＣ１に「ｆｉｌｅ１」がない場合、コンパートメントＣ１に属するアプリケーションは、下位コンパートメントＣ０の「ｆｉｌｅ１」を読み込むことができる。その後、そのアプリケーションにより何らかの機密が追加されて、同じファイル名「ｆｉｌｅ１」で保存されたとする。この場合、更新後の「ｆｉｌｅ１」は自動的に上位コンパートメントＣ１に属するファイルとして２次記憶デバイス２３３に格納されるが、更新前の「ｆｉｌｅ１」は依然としてコンパートメントＣ０に属するファイルとして維持される。【００９９】
さらに、従来のＭＬＳシステムでは、同様の操作によって、「ｆｉｌｅ１」の機密レベル昇格、例えば、コンパートメントＣ０からＣ１への所属変更が発生した際、コンパートメントＣ０に属する「ｆｉｌｅ１」が消滅してしまい、その結果、コンパートメントＣ０に相当する広範なグループでの情報共有を妨げるおそれがあった。これに対し、本実施の形態によれば、特定グループでの限定的な機密を保護できるとともに、より広範なグループでの情報共有を妨げないようにできる。【０１００】
（ネットワークイベントに対する動作）
次に、ユーザ端末２間でネットワーク３を介して通信する際のネットワークイベントに対する動作を説明する。図１４は、ネットワーク３を介して接続された１つのユーザ端末（以下、ユーザ端末Ｕ１という）と、他のユーザ端末（以下、ユーザ端末Ｕ２という）との間で通信を行う場合の処理の一例を示す流れ図である。【０１０１】
同図において、ユーザ端末Ｕ１のアプリケーション（以下、アプリケーション（ＡＰ１）という）は、ユーザ端末Ｕ２のアプリケーション（以下、アプリケーション（ＡＰ２）という）に接続を要求する（ステップＳ６１）。すると、ユーザ端末Ｕ１のイベント取得手段２２１は、アプリケーション（ＡＰ１）によるネットワーク接続要求イベントを取得（検出）し、コンパートメント構成管理手段２２３に伝達（出力）する。【０１０２】
次いで、ユーザ端末Ｕ１のコンパートメント構成管理手段２２３は、アプリケーション（ＡＰ１）のコンパートメントがコンパートメントＣｉであることを確認する。そして、ユーザ端末Ｕ１及びユーザ端末Ｕ２双方のデバイス制御手段２２４及びネットワークデバイス２３１を介して、ユーザ端末Ｕ２のコンパートメント構成管理手段２２３にコンパートメントＣｉに属するトンネルＴＵＮ［Ｃｉ，ＡＰ２］の確立を要求する（ステップＳ６２）。【０１０３】
次いで、トンネルＴＵＮ［Ｃｉ，ＡＰ２］の確立要求を受信すると、ユーザ端末Ｕ２のコンパートメント構成管理手段２２３は、コンパートメント構成グラフからコンパートメントノードＮ［Ｃｉ］に対応するオブジェクトツリーＯＴ［Ｃｉ］を探索する。そして、アプリケーション（ＡＰ２）がコンパートメントＣｉに属するか否かを判定する（ステップＳ６３）。その結果、コンパートメントＣｉに属することを確認できなかった場合、コンパートメント構成管理手段２２３は、直ちに確立要求を拒否する（ステップＳ６４２）。【０１０４】
一方、アプリケーション（ＡＰ２）がコンパートメントＣｉに属すると判定すると、ユーザ端末Ｕ１及びユーザ端末Ｕ２のコンパートメント構成管理手段２２３は、コンパートメントＣｉの認証キーＡＫ［Ｃｉ］を持っていることを相互に認証する（ステップＳ６４ａ、Ｓ６４ｂ）。具体的には、例えば、ユーザ端末Ｕ２がユーザ端末Ｕ１に乱数ｒ１２を送信する。この場合、ユーザ端末Ｕ１がユーザ端末Ｕ２に認証メッセージＭ１２＝（ｈ［ＡＫ［Ｃｉ］］（ｒ１２），ｒ２１）を送信する。すると、ユーザ端末Ｕ２がユーザ端末Ｕ１に認証メッセージＭ２１＝（ｈ［ＡＫ［Ｃｉ］］（ｒ２１））を返す。そして、ユーザ端末Ｕ１及びユーザ端末Ｕ２それぞれがＨ［Ｒｂ］（ＡＫ［Ｃｉ］）とＨ［Ｒａ］（ＡＫ［Ｃｉ］）とを計算して、受信した認証メッセージＭ２１及びＭ１２が正しいことを検証する。なお、乱数ｒ１２と乱数ｒ２１とは異なる乱数であり、ｈ［ｋ］（ｍ）は鍵ｋによるｍの鍵付き一方向性ハッシュ関数であるものとする。【０１０５】
その結果、ユーザ端末Ｕ１及びＵ２のいずれかが他方の認証メッセージの検証に失敗すると、ユーザ端末Ｕ１及びＵ２は、共に直ちにトンネルＴＵＮ［Ｃｉ，ＡＰ２］の接続処理を中断（許否）する（ステップＳ６４１、Ｓ６４２）。【０１０６】
一方、ユーザ端末Ｕ１及びＵ２が相互認証に成功すると、ユーザ端末Ｕ２のコンパートメント構成管理手段２２３は、トンネルＴＵＮ［Ｃｉ，ＡＰ２］の確立許可をユーザ端末Ｕ１に伝える（ステップＳ６５）。この場合、ユーザ端末Ｕ２は、確立許可の通知情報を、ネットワーク３を介してユーザ端末Ｕ１に送信する。そして、ユーザ端末Ｕ１のコンパートメント構成管理手段２２３は、確立許可のアクノリッジメントをユーザ端末Ｕ２に伝えて（ステップＳ６６）、トンネルＴＵＮ［Ｃｉ，ＡＰ２］の確立処理を完了する。この場合、ユーザ端末Ｕ１は、確立許可の通知を受け取った旨の通知情報（アクノリッジメント）を、ネットワーク３を介してユーザ端末２に送信する。【０１０７】
その後、ユーザ端末Ｕ１及びＵ２は、トンネルＴＵＮ［Ｃｉ，ＡＰ２］を用いて、アプリケーション（ＡＰ１）とアプリケーション（ＡＰ２）間でアプリケーション依存の接続確立処理を行う（ステップＳ６７ａ、Ｓ６７ｂ）。そして、ユーザ端末Ｕ１及びＵ２は、トンネルＴＵＮ［Ｃｉ，ＡＰ２］上で所定のプロトコルによる通信を行う（ステップＳ６８ａ、Ｓ６８ｂ）。【０１０８】
以上のように、ステップＳ６１からステップＳ６８までの処理が実行されることによって、遠隔地にいる同一グループのメンバ同士のみで安全に機密を共有することができる。また、機密共有の通信時に、いかなる第三者サーバも利用しないので、ＩｒＤＡやブルートゥース（Ｂｌｕｅｔｏｏｔｈ）等の近接通信への親和性が高い。さらに、ＩＰカプセル化によるトンネリング手法を用いれば、アプリケーション（ＡＰ１）及びアプリケーション（ＡＰ２）間で任意のプロトコルを用いることができる。【０１０９】
以上のように、本実施の形態によれば、各メンバが用いるユーザ端末２の監視手段２２は、アプリケーションやファイルシステム、ネットワークを、メンバが属するグループ専用領域であるコンパートメントに結び付けて管理する。また、監視手段２２は、同一コンパートメント内の任意のアプリケーション間でのファイルアクセスやネットワーク転送を許可し、且つ異なるコンパートメントへのファイル書き出しやネットワーク転送を禁止する。そのため、グループ毎に遠隔地に離れて存在するメンバ間での自由な情報共有と、グループ外への情報漏洩を防止することができる。従って、ネットワークを介して遠隔地間で情報共有を行う場合に、グループ内の機密情報の確実な保護を行えるようにすることができる。【０１１０】
また、本実施の形態によれば、中央のグループ管理サーバ１は、各グループとそれらグループのメンバ構成だけを管理する。本実施の形態によれば、グループ管理サーバ１が個々の情報やユーザ端末間の通信状況を管理しなくても、各メンバのユーザ端末２の監視手段２２同士で相互にコンパートメント認証を行うことによって、情報共有及び漏洩防止を行う。従って、各グループで共有される情報の数、あるいは情報共有のための通信頻度が増大しても、情報共有システム全体を安定的に運用することができる。【０１１１】
（実施例）
次に、具体的な実施例を用いて、本実施の形態の動作を説明する。図１５は、情報共有システムを適用したシステムの具体的な構成の一例を示すブロック図である。本実施例では、情報共有システムを適用した遠隔会議システムを例に説明する。本実施例では、図１５に示すように、遠隔会議システムにおいて、グループ管理サーバ１、Ｎ台のユーザ端末２−１〜Ｎ及び遠隔会議サーバ４が、それぞれネットワーク３を介して相互に接続されている。【０１１２】
本実施例において、遠隔会議サーバ４は、図１に示すユーザ端末２と同様に、監視手段２２とデバイス２３とを備える。また、遠隔会議サーバ４は、動画配信アプリケーション４１１及びファイル共有アプリケーション４１２が搭載されている。動画配信アプリケーション４１１は、ユーザ端末２−１〜Ｎ上の任意の会議クライアントから送信される動画データを他のユーザ端末２−１〜Ｎの全ての会議クライアントに送信するためのアプリケーションである。また、ファイル共有アプリケーション４１２は、ユーザ端末２−１〜Ｎ上の任意の会議クライアントから送信される会議資料データを格納するためのアプリケーションである。【０１１３】
（Ａ）セットアップ時の動作
まず、遠隔会議システムのセットアップ時の動作を説明する。ユーザ端末２−１〜Ｎ及び遠隔会議サーバ４の各ホストの監視手段２２は、グループ管理サーバ１に、ネットワーク３を介して、それぞれユーザ端末２−１〜Ｎ及び遠隔会議サーバ４が用いるメンバＩＤを送信する（図３のステップＳ１１）。メンバＩＤの具体例としては、ＣＰＵの固有ＩＤや２次記憶デバイスの固有ＩＤ等を用いることができるが、監視手段２２だけがアクセスできる読み出し専用の耐タンパデバイスに、各ユーザ固有のメンバＩＤを格納させておくことが望ましい。本実施例では、ユーザ端末２−１〜ＮのメンバＩＤをそれぞれ「ＵＳＥＲ−１」〜「ＵＳＥＲ−Ｎ」とし、遠隔会議サーバ４のメンバＩＤを「ＣＯＮＦ−ＳＥＲＶ」とする。【０１１４】
次に、グループ管理サーバ１は、メンバＩＤを受信し、受信したメンバＩＤに基づいて適切なグループＩＤ及び認証キーの組を特定する。そして、グループ管理サーバ１は、グループＩＤ及び認証キーの組を、メンバＩＤの送信元ホストに配布（送信）する（図３のステップＳ１２）。グループＩＤ及び認証キーを特定するための具体的な方法として、例えば、図１６に示すように、グループＩＤ、認証キー及びメンバＩＤ群の対応を保持したグループ管理データベース１１を予め定義しておいてもよい。この場合、グループ管理サーバ１は、受信したメンバＩＤをキーとして、受信したＩＤをもつメンバＩＤ群を検索して特定し、特定したメンバＩＤに対応するグループＩＤ及び認証キーの組を求める。【０１１５】
なお、図１６に示す「ＣＯＮＦ−ＳＥＲＶ」や「ＵＳＥＲ−２」等のメンバＩＤのように、同じメンバＩＤが複数のエントリに重複して存在していてもよい。この場合、グループ管理サーバ１は、対応するグループＩＤ及び認証キーの組の全てを求めて、その求めた系列をメンバＩＤの送信元ホストに応答する。従って、例えば、グループ管理サーバ１は、ユーザ端末２−１（ＵＳＥＲ−１）には［（Ｇｒｏｕｐ−１，Ａ８ＢＣ０Ｆ）］を配布し、ユーザ端末２−２（ＵＳＥＲ−２）と遠隔会議サーバ４（ＣＯＮＦ−ＳＥＲＶ）とには［（Ｇｒｏｕｐ−１，Ａ８ＢＣ０Ｆ）（Ｇｒｏｕｐ−２，２１ＡＡＢ３）］という系列を配布する。【０１１６】
また、送信元ホストであるユーザ端末２−１〜Ｎのうちのいずれかの端末又は遠隔会議サーバ４の監視手段２２は、グループ管理サーバ１から配布されたグループＩＤ及び認証キーの組（又はその系列）を受信する。そして、監視手段２２は、それぞれの組を属性としてもつコンパートメントノードＮを生成する（図３のステップＳ１３）。例えば、ユーザ端末２−１はコンパートメントノードＮ［Ｇｒｏｕｐ−１］を生成し、ユーザ端末２−２及び遠隔会議サーバ４は２つのコンパートメントノードＮ［Ｇｒｏｕｐ−１］、Ｎ［Ｇｒｏｕｐ−２］を生成する。【０１１７】
そして、監視手段２２は、新たに生成したコンパートメントノードＮをコンパートメント構成グラフＧに登録し（図３のステップＳ１４）、オブジェクトツリーＯＴ及びファイル配置テーブルＦＴをＮの属性として格納する（図３のステップＳ１５）。【０１１８】
本実施例では、コンパートメント構成グラフＧの初期値として、最低の機密レベルをもつ未分類（Ｕｎｃｌａｓｓｉｆｉｅｄ）コンパートメントに相当するコンパートメントノードＮ［ＰＵＢＬＩＣ］がコンパートメント構成グラフＧに含まれるものとする。監視手段２２は、新たに生成した任意のコンパートメントノードＮを、Ｎ［ＰＵＢＬＩＣ］＜Ｎの関係を満たすようにコンパートメント構成グラフＧに登録する。そのようにすることによって、例えば、ユーザ端末２−１は、図１７に示すＮ［Ｇｒｏｕｐ−１］の登録後のコンパートメント構成グラフＧを構成する。また、例えば、ユーザ端末２−２及び遠隔会議サーバ４は、図１８に示すＮ［Ｇｒｏｕｐ−１］とＮ［Ｇｒｏｕｐ−２］との登録後のコンパートメント構成グラフＧを構成する。【０１１９】
（Ｂ）遠隔会議実施時の動作
次に、遠隔会議の実施の際の動作を説明する。本実施例では、ユーザ端末２−１とユーザ端末２−２とが、遠隔会議サーバ４を介して相互に遠隔会議を開始する場合の遠隔会議システムの動作を説明する。【０１２０】
（Ｂ−１）会議クライアントアプリケーション起動時の動作
まず、会議クライアントアプリケーションを起動する際の動作を説明する。ユーザ端末２−１を用いるユーザは、ユーザ端末２−１を操作して、会議クライアントアプリケーション２１１の起動操作を行う。この場合、ユーザ端末２−１の監視手段２２は、会議クライアントアプリケーション２１１の起動イベントを捕捉（検出）する（図４のステップＳ２１）。なお、本実施例では、アプリケーション２１の一種であるシェル２１２を用いて、会議クライアントアプリケーション２１１を起動したものとする。また、シェル２１２は、グループ（Ｇｒｏｕｐ−１）のコンパートメントに属しているものとする。【０１２１】
次いで、監視手段２２は、シェル２１２に相当するオブジェクトノードＯ［ＳＨＥＬＬ］を格納しているＧｒｏｕｐ−１コンパートメントに属するオブジェクトツリーＯＴ［Ｇｒｏｕｐ−１］を、コンパートメント構成グラフＧが含むオブジェクトツリーのうちから特定する。この場合、監視手段２２は、シェル２１２のオブジェクトＩＤをキーとして検索し、オブジェクトツリーを特定する（図４のステップＳ２２）。【０１２２】
次いで、監視手段２２は、会議クライアントアプリケーション２１１のオブジェクトノードＯ［ＣＬＩＥＮＴ］を新たに生成して、Ｏ［ＳＨＥＬＬ］の子ノードとして、オブジェクトツリーＯＴ［Ｇｒｏｕｐ−１］に登録する（図４のステップＳ２３）。【０１２３】
以上の動作によって、ユーザ端末２−１は、図１９に示すオブジェクトツリーＯＴ［Ｇｒｏｕｐ−１］を登録し、会議クライアントアプリケーション２１１の起動処理を完了する。なお、ユーザ端末２−２も、ユーザ端末２−１と同様の処理に従って、会議クライアントアプリケーション２１１の起動処理を行う。【０１２４】
（Ｂ−２）遠隔会議サーバ接続時の動作
次に、会議クライアントアプリケーションから遠隔会議サーバ４に接続する際の動作を説明する。ユーザ端末２−１は、会議クライアントアプリケーション２１１を用いて、遠隔会議サーバ４への接続を開始する。この場合、監視手段２２は、会議クライアントアプリケーション２１１からの遠隔会議サーバ４上の動画配信アプリケーション４１１への接続要求イベントを捕捉する（図１４のステップＳ６１）。【０１２５】
次いで、監視手段２２のコンパートメント構成管理手段２２３は、会議クライアントアプリケーション２１１がＧｒｏｕｐ−１コンパートメントに属することを、オブジェクトツリーＯＴ［Ｇｒｏｕｐ−１］を親ノード方向に探索することによって確認する。また、コンパートメント構成管理手段２２３は、デバイス制御手段２２４及びネットワークデバイス２３１を介して、遠隔会議サーバ４のコンパートメント構成管理手段２２３にＧｒｏｕｐ−１コンパートメントに属するトンネルＴＵＮ［Ｇｒｏｕｐ−１，Ｐ４１１］の確立を要求する（図１４のステップＳ６２）。なお、Ｐ４１１は、動画配信アプリケーション４１１がリスンしている待ち受けポートを示す。【０１２６】
次いで、ＴＵＮ［Ｇｒｏｕｐ−１，Ｐ４１１］の確立要求を受けた遠隔会議サーバ４のコンパートメント構成管理手段２２３は、コンパートメント構成グラフからコンパートメントノードＮ［Ｇｒｕｏｐ−１］のオブジェクトツリーＯＴ［Ｇｒｏｕｐ−１］を探索する。そして、動画配信アプリケーション４１１がＧｒｏｕｐ−１コンパートメントに属することを確認する（図１４のステップＳ６３）。なお、本実施例では、動画配信アプリケーション４１１は、既にＧｒｏｕｐ−１コンパートメントの下で起動しているものとする。【０１２７】
次いで、ユーザ端末２−１及び遠隔会議サーバ４の各コンパートメント構成管理手段２２３は、Ｇｒｕｏｐ−１の認証キー「Ａ８ＢＣ０Ｆ」を持っていることを相互に認証する（図１４のステップＳ６４ａ、Ｓ６４ｂ）。本実施例では、前述の（Ａ）セットアップ時の処理で、ユーザ端末２−１及び遠隔会議サーバ４双方のホストは、グループ管理サーバ１から認証キーの配布を受けているので、この相互認証を成功と判定する。【０１２８】
次いで、遠隔会議サーバ４のコンパートメント構成管理手段２２３は、ＴＵＮ［Ｇｒｏｕｐ−１，Ｐ４１１］の確立許可をユーザ端末２−１に伝える（図１４のステップＳ６５）。また、ユーザ端末２−１のコンパートメント構成管理手段２２３は、その確立許可のアクノリッジメントを遠隔会議サーバ４に伝えて、トンネルＴＵＮ［Ｇｒｏｕｐ−１，Ｐ４１１］の確立処理を完了する（図１４のステップＳ６６）。【０１２９】
以上の動作により、会議クライアントアプリケーション２１１と動画配信アプリケーション４１１との間の通信が、ＴＵＮ［Ｇｒｏｕｐ−１，Ｐ４１１］上で開始される（図１４のステップＳ６７）。また、ユーザ端末２−１及び遠隔会議サーバ４と同様の処理に従って、図２０に示すように、ユーザ端末２−２の会議クライアントアプリケーション２１１と遠隔会議サーバ４の動画配信アプリケーション４１１との間の通信が、ＴＵＮ［Ｇｒｏｕｐ−１，Ｐ４１１］上で開始される。【０１３０】
（Ｃ）遠隔会議中の資料共有時の動作
次に、遠隔会議中の資料共有を行う際の動作を説明する。本実施例では、ユーザ端末２−１で作成された会議資料ファイルを、遠隔会議サーバ４を介してユーザ端末２−２がダウンロードしてその会議資料ファイルを共有する場合の遠隔会議システムの動作を説明する。【０１３１】
（Ｃ−１）会議資料ファイルの新規作成時の動作
まず、会議資料ファイルの新規作成を行う際の動作を説明する。ユーザ端末２−１を用いるユーザは、ユーザ端末２−１を操作して、図２１に示すように、ワードプロセッサ等の編集アプリケーション２１３を用いて新たな会議資料ファイルを作成する。この場合、まず、前述の（Ｂ−１）会議クライアントアプリケーション２１１の起動と同様に、監視手段２２は、編集アプリケーション２１３をＧｒｏｕｐ−１コンパートメント内で起動する。【０１３２】
次いで、ユーザ端末２−１のユーザは、編集アプリケーション２１３を操作して、新たな会議資料ファイル（本例では、ファイル名「ＰＲＯＰＯＳＡＬ」とする）を編集し、ユーザ端末２−１内の２次記憶デバイス２３３への保存の指示操作をする。すると、編集アプリケーション２１３は、ファイル出力イベントを発行する。この場合、監視手段２２は、そのファイル出力イベントを補足し、コンパートメント構成管理手段２２３に伝達する（図１２のステップＳ５１）。【０１３３】
次いで、コンパートメント構成管理手段２２３は、編集アプリケーション２１３のオブジェクトＩＤをキーとして、オブジェクトツリーＯＴ［Ｇｒｏｕｐ−１］を根方向に探索する。そして、コンパートメント構成管理手段２２３は、コンパートメントノードＮ［Ｇｒｏｕｐ−１］を特定し、ファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１］を参照して抽出する（図１２のステップＳ５２）。【０１３４】
さらに、コンパートメント構成管理手段２２３は、ファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１］からファイル名「ＰＲＯＰＯＳＡＬ」を検索して、ファイル名「ＰＲＯＰＯＳＡＬ」のファイルのファイル配置エントリの取得を試みる。本例では、ファイル「ＰＲＯＰＯＳＡＬ」が新規ファイルであるので、コンパートメント構成管理手段２２３は、ファイル配置エントリの取得に失敗する。そのため、コンパートメント構成管理手段２２３は、新たなファイル配置エントリを作成する。【０１３５】
次いで、コンパートメント構成管理手段２２３は、会議資料ファイル「ＰＲＯＰＯＳＡＬ」のファイル配置エントリを参照して、２次記憶デバイス２３３上の論理アドレスを特定する。そして、コンパートメント構成管理手段２２３は、図２１に示すように、２次記憶デバイス２３３上のその論理アドレスで示される位置に、会議資料ファイル「ＰＲＯＰＯＳＡＬ」のファイル実体を書き出す（図１２のステップＳ５３）。【０１３６】
（Ｃ−２）会議資料ファイルのアップロード時の動作
次に、会議資料ファイルのアップロードを行う際の動作を説明する。ユーザ端末２−１のユーザは、会議クライアントアプリケーション２１１を用いてユーザ端末２−１を操作して、先に作成した会議資料ファイル「ＰＲＯＰＯＳＡＬ」の遠隔会議サーバ４へのアップロードを指示する。この場合、ユーザ端末２−１の会議クライアントアプリケーション２１１は、以下のように処理を行う。【０１３７】
（Ｃ−２−１）会議資料ファイル読み込み時の動作
まず、会議クライアントアプリケーション２１１は、会議資料ファイル「ＰＲＯＰＯＳＡＬ」を読み込む。ユーザ端末２−１のユーザは、会議クライアントアプリケーション２１１を用いてユーザ端末２−１を操作して、アップロード対象となる会議資料ファイル「ＰＲＯＰＯＳＡＬ」を指定する。この場合、会議クライアントアプリケーション２１１は、ファイル一覧イベントを発行して、２次記憶デバイス２３３に格納されたファイル一覧の取得を試みる。【０１３８】
次いで、監視手段２２は、会議クライアントアプリケーション２１１によるファイル一覧イベントを補足すると、取得したファイル一覧イベントをコンパートメント構成管理手段２２３に伝達する（図９のステップＳ４１）。【０１３９】
次いで、コンパートメント構成管理手段２２３は、編集アプリケーション２１３のオブジェクトＩＤをキーとして、オブジェクトツリーＯＴ［Ｇｒｏｕｐ−１］を根方向に探索する。そして、コンパートメントノードＮ［Ｇｒｏｕｐ−１］を特定し、ファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１］を参照して抽出する（図９のステップＳ４２）。【０１４０】
次いで、コンパートメント構成管理手段２２３は、コンパートメント構成グラフＧにおいて、Ｎ［Ｇｒｏｕｐ−１］の有向辺を逆方向に辿って、下位の機密レベルをもつＰＵＢＬＩＣコンパートメントに対応するコンパートメントノードＮ［ＰＵＢＬＩＣ］を求める。また、そのＰＵＢＬＩＣコンパートメントに対応するファイル配置テーブルＦＴ［ＰＵＢＬＩＣ］を抽出する。そして、ファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１］及びＦＴ［ＰＵＢＬＩＣ］をマージしたファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１，ＰＵＢＬＩＣ］を生成する（図９のステップＳ４３）。【０１４１】
図２２は、ファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１］及びＦＴ［ＰＵＢＬＩＣ］の一具体例を示す説明図である。本例では、図２２に示すように、ファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１］に会議資料ファイル「ＰＲＯＰＯＳＡＬ」のＦＴレコードが存在するが、その他に、例えば「ＭＩＮＵＴＥ」という名前の議事録ファイルが存在するものとする。また、ファイル配置テーブルＦＴ［ＰＵＢＬＩＣ］には、「ＰＡＰＥＲ」という名前の論文ファイルと、「ＰＲＯＰＯＳＡＬ」という名前の公開資料があるものとする。【０１４２】
図２３は、図２２に示すファイル配置テーブルをマージして生成したファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１，ＰＵＢＬＩＣ］の具体例を示す説明図である。図２３に示すように、マージ後のファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１，ＰＵＢＬＩＣ］には、会議資料ファイル「ＰＲＯＰＯＳＡＬ」と、議事録ファイル「ＭＩＮＩＵＴＥ」と、論文ファイル「ＰＡＰＥＲ」との合計３つのＦＴレコードが存在する。【０１４３】
次いで、コンパートメント構成管理手段２２３は、ファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１，ＰＵＢＬＩＣ］の各ＦＴレコードを参照する。そして、コンパートメント構成管理手段２２３は、ファイル名の一覧として「ＰＲＯＰＯＳＡＬ」、「ＭＩＮＵＴＥ」及び「ＰＡＰＥＲ」を含むファイル名一覧を抽出し、抽出したファイル名一覧を会議クライアントアプリケーション２１１に返す（図９のステップＳ４４）。【０１４４】
次いで、ファイル名一覧を得ると、会議クライアントアプリケーション２１１は、例えば、図２４に示すダイアログを表示し、ファイル名一覧をユーザ端末２−１のユーザに提示する。また、会議クライアントアプリケーション２１１は、ダイアログを表示することによって、ユーザに読み込み対象となるファイルの指定を促す。例えば、ユーザがファイル「ＰＲＯＰＯＳＡＬ」を選択指示すると、会議クライアントアプリケーション２１１は、図２５に示すように、「ＰＲＯＰＯＳＡＬ」という名前のファイルに対する読込みイベントを発行する。【０１４５】
次いで、監視手段２２は、ファイル読込イベントを捕捉すると（図１１のステップＳ４１ｂ）、ファイル一覧イベントの取得の処理と同様に、ファイル配置テーブルＦＴ［Ｃ１］を求める（図１１のステップＳ４２）。また、監視手段２２は、ファイル配置テーブルＦＴ［Ｃ０］とマージしたファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１，ＰＵＢＬＩＣ］を生成し（図１１のステップＳ４３）、「ＰＲＯＰＯＳＡＬ」というファイル名をもつＦＴレコードを特定する。【０１４６】
本例では、「ＰＲＯＰＯＳＡＬ」という名前のファイルについて、ファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１］で管理されている会議資料ファイルと、ファイル配置テーブルＦＴ［ＰＵＢＬＩＣ］で管理されている公開資料ファイルとの同名のファイルが存在する。本実施例のファイル配置テーブルのマージ方法では、監視手段２２は、より機密レベルの高いファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１］のＦＴエントリを優先する。そのため、監視手段２２は、ファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１，ＰＵＢＬＩＣ］の「ＰＲＯＰＯＳＡＬ」ファイルのＦＴレコードとして、ＦＴ［Ｇｒｏｕｐ−１］のレコードを採用しマージする。従って、監視手段２２は、ＦＴ［Ｇｒｏｕｐ−１］に由来する「ＰＲＯＰＯＳＡＬ」ファイルのＦＴレコードに記載された論理アドレスに配置されている会議資料ファイルのファイル実体を２次記憶デバイス２３３から読み込む。そして、監視手段２２は、読み込んだファイル実体を、会議クライアントアプリケーション２１１に渡す（図１１のステップＳ４５）。【０１４７】
（Ｃ−２−２）会議資料ファイル転送時の動作
次に、遠隔会議サーバ４への会議資料ファイルの転送の際の動作を説明する。会議資料ファイルを読み取ると、ユーザ端末２−１の会議クライアントアプリケーション２１１は、その会議資料ファイルを遠隔会議サーバ４のファイル共有アプリケーション４１２に転送する。この場合、ユーザ端末２−１の監視手段２２と、遠隔会議サーバ４の監視手段２２とは、前述の（Ｂ−２）遠隔会議サーバ４への接続と同様の処理に従って、図２６に示すように、トンネルＴＵＮ［Ｇｒｏｕｐ−１，Ｐ４１２］を確立する。そして、会議クライアントアプリケーション２１１は、ファイル共有アプリケーション４１２に会議資料ファイルの転送を行う。なお、Ｐ４１２は、ファイル共有アプリケーション４１２がリスンしている待ち受けポートを示す。【０１４８】
会議資料ファイルを受信すると、ファイル共有アプリケーション４１２は、受信した会議資料ファイルを遠隔会議サーバ４の２次記憶デバイス２３３に保存する。この場合、遠隔会議サーバ４の監視手段２２は、前述の（Ｃ−１）会議資料ファイルの新規作成の際の監視手段２２の処理と同様の処理に従って、Ｇｒｏｕｐ−１コンパートメントのファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１］を特定する。そして、監視手段２２は、ファイル名「ＰＲＯＰＯＳＡＬ」のＦＴレコードを生成し、アップロードされた会議資料ファイルのファイル実体を２次記憶デバイス２３３に格納する。【０１４９】
（Ｃ−３）会議資料ファイルのダウンロード時の動作
次に、会議資料ファイルのダウンロードの際の動作を説明する。ユーザ端末２−２から会議資料ファイル「ＰＲＯＰＯＳＡＬ」を参照する際、ユーザ端末２−２の会議クライアントアプリケーション２１１は、遠隔会議サーバ４のファイル共有アプリケーション４１２への接続要求を行う。また、接続要求に伴って、ユーザ端末２−２及び遠隔会議サーバ４双方の監視手段２２は、トンネルＴＵＮ［Ｇｒｏｕｐ−１，Ｐ４１２］を確立する。【０１５０】
また、会議クライアントアプリケーション２１１からのファイル一覧要求に応じて、ファイル共有アプリケーション４１２は、２次記憶デバイス２３３に対してファイル一覧イベントを発行する。この場合、遠隔会議サーバ４の監視手段２２は、前述の（Ｃ−２−１）会議資料ファイルの読み込みと同様の処理に従って、Ｇｒｏｕｐ−１コンパートメントとＰＵＢＬＩＣコンパートメントとのそれぞれに属するファイル配置テーブルをマージしたファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１，ＰＵＢＬＩＣ］を生成する。また、監視手段２２は、各ＦＴレコードに記載されているファイル名を抽出して、ファイル共有アプリケーション４１２に渡す。そして、ファイル共有アプリケーション４１２は、渡されたファイル名一覧をユーザ端末２−２の会議クライアントアプリケーション２１１に応答する。【０１５１】
なお、ファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１，ＰＵＢＬＩＣ］には、必ず「ＰＲＯＰＯＳＡＬ」ファイルが存在し、且つその「ＰＲＯＰＯＳＡＬ」ファイルのファイル実体はユーザ端末２−１からアップロードされた会議資料ファイルである。そのため、ユーザ端末２−２が「ＰＲＯＰＯＳＡＬ」というファイル名で参照できるファイル実体も会議資料ファイルである。これは、前述の（Ｃ−２−１）会議資料ファイルの読み込み動作で述べたように、ファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１］とＦＴ［ＰＵＢＬＩＣ］とに同名のファイルが存在する場合であっても、ファイル配置テーブルＦＴ［Ｇｒｏｕｐ−１，ＰＵＢＬＩＣ］には、ＦＴ［Ｇｒｏｕｐ−１］にある「ＰＲＯＰＯＳＡＬ」ファイルのＦＴレコードが引き継がれるためである。【０１５２】
従って、ユーザ端末２−２の会議クライアントアプリケーション２１１が「ＰＲＯＰＯＳＡＬ」ファイルを遠隔会議サーバ４のファイル共有アプリケーション４１２からダウンロードしたときのそのダウンロードしたファイル実体は、確実に最新の会議資料ファイルとすることができる。また、ユーザ端末２−２にダウンロードされた会議資料ファイルは、ユーザ端末２−２の監視手段２２によって、図２７に示すように、会議クライアントアプリケーション２１１と同じＧｒｏｕｐ−１コンパートメントに格納される。【０１５３】
（Ｄ）遠隔会議以外でのグループメンバ間の情報共有時の動作
次に、遠隔会議以外でのグループメンバ間の情報共有の動作を説明する。以上の（Ａ）〜（Ｃ）の処理に従って、Ｇｒｏｕｐ−１コンパートメントをもつ各ホストは、コンパートメント内のファイル実体を相互に共有できる。また、ファイル共有のための通信を行う場合、通信元及び通信先の２台のホスト間で相互認証を行うだけであり、いわゆる鍵サーバ等の第三者サーバを必要としない。【０１５４】
上記のファイル共有や相互認証の性質を利用すると、遠隔会議に参加しなかったＧｒｏｕｐ−１メンバに対して、ユーザ端末同士による直接通信を行うことによって、会議資料ファイルを配布することができる。以下、本実施例では、例えば、ユーザ端末２−３は、遠隔会議に参加しなかったＧｒｏｕｐ−１メンバが使用する端末であるものとする。【０１５５】
ユーザ端末２−２は、遠隔会議でダウンロードした会議資料ファイルを、Ｇｒｏｕｐ−１コンパートメント内に格納している。この場合、会議後に、ユーザ端末２−２を用いるユーザがユーザ端末２−３を用いるユーザと出会った際に、その会議資料ファイルを配布する場合を考える。本実施例では、ユーザ端末２−２及びユーザ端末２−３は、相互にファイル転送を行うことができるファイル交換アプリケーション２１３をインストールされている。また、ユーザ端末２−２及びユーザ端末２−３のファイル交換アプリケーション２１３は、共にＧｒｏｕｐ−１コンパートメントに属するオブジェクトとして既に起動されている。【０１５６】
まず、ユーザ端末２−２のファイル交換アプリケーション２１３は、ユーザ端末２−３のファイル交換アプリケーション２１３への接続要求イベントを発行する。この場合、ユーザ端末２−２及びユーザ端末２−３のそれぞれの監視手段２２の間で、Ｇｒｏｕｐ−１の認証キーを用いた相互認証を行い、トンネルＴＵＮ［Ｇｒｏｕｐ−１，Ｐ２１３］を確立する。なお、Ｐ２１３は、ファイル交換アプリケーション２１３がリスンしている待ち受けポートを示す。【０１５７】
また、ユーザ端末２−２のファイル交換アプリケーション２１３は、ユーザ端末２−３のファイル交換アプリケーション２１３に会議資料ファイルを転送する。そして、ユーザ端末２−３のファイル交換アプリケーション２１３は、図２８に示すように、転送された会議資料ファイルを、Ｇｒｏｕｐ−１コンパートメントに属するファイルとして、２次記憶デバイス２３３に格納する。【０１５８】
仮に、Ｇｒｏｕｐ−１に属さないユーザ端末２−４は、ユーザ端末２−２のファイル交換アプリケーション２１３から会議資料ファイルを取得しようとしても、ユーザ端末２−２及びユーザ端末２−４それぞれの監視手段２２間で相互認証に失敗する。そのため、ユーザ端末２−２のファイル交換アプリケーション２１３は、会議資料ファイルを転送できない。【０１５９】
また、ユーザ端末２−３がＧｒｏｕｐ−１とは別のグループＧｒｏｕｐ−２にも属している場合を考える。この場合、Ｇｒｏｕｐ−２だけに属するユーザ端末２−５に会議資料ファイルを転送しようとしても、ユーザ端末２−３上で会議資料ファイルにアクセス可能なアプリケーション２１は、Ｇｒｏｕｐ−１コンパートメントに属するオブジェクトに限られる。そのため、ユーザ端末２−３及びユーザ端末２−５のそれぞれの監視手段２２間で相互認証に失敗するので、ユーザ端末２−５に会議資料ファイルを転送することができない。このことは、Ｇｒｏｕｐ−１コンパートメントとＧｒｏｕｐ−２コンパートメントとで、同じファイル交換アプリケーション２１３が動作している場合にも当てはまる。【０１６０】
従って、同一グループに属するユーザ端末２同士は、その共有方法にかかわらず、自由に共有可能であるとともに、グループに属さないユーザ端末への漏洩を発生しないようにできる。【０１６１】
（実施の形態２）
次に、本発明の第２の実施の形態を図面を参照して説明する。図２９は、グループ管理サーバ１及びユーザ端末２の他の構成例を示すブロック図である。図２９に示すように、本実施の形態では、グループ管理サーバ１は、第１の実施の形態で示したグループ管理サーバ１の構成要素に加えて、グループ変更手段１３とグループ関係計算手段１４とを備える。また、本実施の形態では、ユーザ端末２の監視手段２２は、第１の実施の形態で示したコンパートメント生成手段２２１に代えて、コンパートメント再編指示手段２２５を備える。【０１６２】
グループ変更手段１３及びグループ関係計算手段１４は、具体的には、プログラムに従って動作するグループ管理サーバ１のＣＰＵによって実現される。グループ変更手段１３は、通信インタフェース手段１１がいずれかのユーザ端末２から新たなグループへの参加やグループの脱退等のグループ所属変更要求を受信すると、グループ管理データベース１２を更新して、グループ構成を変更する機能を備える。【０１６３】
グループ関係計算手段１４は、通信インタフェース手段１１がいずれかのユーザ端末２からメンバＩＤを受信すると、グループ管理データベース１２に基づいて、受信したメンバＩＤを含む全てのグループを参照する機能を備える。また、グループ関係計算手段１４は、グループ管理データベース１２から、ユーザ端末２に応答すべき全てのグループＩＤと認証キーとの系列（グループＩＤ／認証キー系列という）を抽出する機能を備える。また、グループ関係計算手段１４は、グループ間の包含関係に基づいて、グループ間の隣接関係や包含関係を示す行列であるグループ隣接行列を生成する機能を備える。また、グループ関係計算手段１４は、グループＩＤ／認証キー系列及びグループ隣接行列を、通信インタフェース手段１１及びネットワーク３を介してユーザ端末２に応答（送信）する機能を備える。【０１６４】
コンパートメント再編指示手段２２５は、グループ管理サーバ１から配布されたグループＩＤ／認証キー系列を、ネットワーク３、デバイス制御手段２２４及びネットワークデバイス２３１を介して受信する機能を備える。また、コンパートメント再編指示手段２２５は、配布されたグループＩＤ／認証キー系列及びグループ隣接行列に基づいて、コンパートメント構成グラフＧの構成変更を、コンパートメント構成管理手段２２３に指示する機能を備える。【０１６５】
なお、本実施の形態では、グループ管理サーバ１がグループ関係計算手段１４を備える場合を説明するが、ユーザ端末２がグループ関係計算手段１４を備えるようにしてもよい。この場合、ユーザ端末２は、グループ関係計算手段１４を用いてグループ隣接行例を生成し、生成したグループ隣接行列に基づいてコンパートメントを再編する。【０１６６】
次に、動作について説明する。まず、グループを変更するグループ変更処理の動作を説明する。図３０は、グループ管理サーバ１が行うグループ変更処理の一例を示す流れ図である。まず、ユーザ端末２のユーザは、グループ変更を行いたい場合、ユーザ端末２を操作してグループ管理サーバ１への接続を指示する。グループ変更を行いたいユーザのユーザ端末２は、ネットワーク３を介してグループ管理サーバ１に接続する。そして、ユーザ端末２は、変更操作の識別子（追加や削除等）と、グループＩＤと、ユーザのメンバＩＤとを少なくとも含むグループ変更要求を送信する。すると、グループ管理サーバ１は、ネットワーク３を介してグループ変更要求を受信する（ステップＳ７１）。【０１６７】
グループ変更要求は、通信インタフェース手段１１を介して、グループ変更手段１３に伝達される。グループ変更手段１３は、通信インタフェース手段１１からグループ変更要求を入力すると、グループ変更要求の操作識別子に基づいて、変更要求の種別がグループの「追加」であるか「削除」であるかを判定する（ステップＳ７２）。その結果、「追加」であるか「削除」であるかの判定結果に従って、以下のようにグループ追加又はグループ削除の変更処理に移行する。【０１６８】
（Ａ）グループ追加の変更処理
まず、グループを追加する場合の変更処理を説明する。グループ変更要求の操作識別子が「追加」である場合、グループ変更手段１３は、グループ変更要求に含まれるグループＩＤをキーとして、グループ管理データベース１２のレコードを検索する。そして、グループ変更手段１３は、グループ管理データベース１２に、グループＩＤに対応するレコードが含まれるか否かを判断する（ステップＳ７３）。【０１６９】
その結果、対応するレコードがない場合、グループ変更手段１３は、新規レコードをグループ管理データベース１２に作成する（ステップＳ７４）。この場合、グループ変更手段１３は、新規認証キーをランダムに生成し、グループ変更要求に含まれるグループＩＤ及びメンバＩＤと対応付けて、生成した新規レコードに格納する。例えば、グループ変更手段１３は、乱数を用いて、認証キーをランダムに生成する。なお、新規に認証キーを生成する際、グループ変更手段１３は、グループ管理データベース１２のいずれの認証キーとも異なるキーを生成する。【０１７０】
一方、ステップＳ７３でレコードを検索できた場合（グループＩＤに対応するレコードがあった場合）、グループ変更手段１３は、対応するレコードに、新たなメンバＩＤとして、グループ変更要求に含まれるメンバＩＤを追加し、グループ変更処理を終了する（ステップＳ７５）。【０１７１】
（Ｂ）グループ削除の変更処理
次に、グループを削除する場合の変更処理を説明する。グループ変更要求の操作識別子が「削除」である場合、グループ変更手段１３は、グループ変更要求に含まれるグループＩＤとメンバＩＤとに基づいて、グループ管理データベース１２からグループＩＤに対応するレコードを抽出する。そして、グループ変更手段１３は、グループ変更要求に含まれるメンバＩＤを、抽出したレコードから削除する（ステップＳ７６）。【０１７２】
次いで、グループ変更手段１３は、メンバＩＤ削除後のレコードにメンバＩＤが１つ以上含まれているか否かを判断する（ステップＳ７７）。その結果、１つ以上のメンバＩＤが含まれていると判断すると、グループ変更手段１３は、直ちにグループ変更処理を終了する。一方、レコードにいかなるメンバＩＤも含まれていないと判断すると、グループ変更手段１３は、レコードをグループ管理データベース１２から削除して、グループ変更処理を終了する（ステップＳ７８）。【０１７３】
次に、コンパートメントを再構成するコンパートメント再編処理の動作を説明する。以下、コンパートメント再編処理を行う際に、グループ管理サーバ１が行う処理とユーザ端末２が行う処理とに分けて説明する。【０１７４】
（Ａ）グループ管理サーバの処理
まず、グループ管理サーバ１が行う処理を説明する。図３１は、グループ管理サーバ１のグループ関係計算手段１４がグループ間の関係を計算するグループ関係計算処理の一例を示す流れ図である。同図において、ユーザ端末２のコンパートメント再編指示手段２２５は、例えばユーザ端末２の起動時等に、ネットワーク３、ネットワークデバイス２３１及びデバイス制御手段２２４を介して、メンバＩＤをグループ管理サーバ１に送信する。すると、グループ管理サーバ１の通信インタフェース手段１１は、ユーザ端末２からメンバＩＤを受信する（ステップＳ８１）。【０１７５】
次いで、通信インタフェース手段１１は、受信したメンバＩＤをグループ関係計算手段１４に伝達（出力）する。すると、グループ関係計算手段１４は、入力したメンバＩＤを含む全てのレコードを、グループ管理データベース１２から抽出する（ステップＳ８２）。また、グループ関係計算手段１４は、抽出した各レコードに基づいて、グループＩＤ／認証キー系列を生成する（ステップＳ８３）。【０１７６】
次いで、グループ関係計算手段１４は、抽出したグループＩＤ／認証キー系列に含まれるグループ間の順序関係を示す隣接行列を生成する（ステップＳ８４）。そして、グループ関係計算手段１４は、生成したグループＩＤ／認証キー系列と隣接行列とを、通信インタフェース手段１１及びネットワーク３を介して、ユーザ端末２のコンパートメント再編指示手段２２５に応答（送信）する（ステップＳ８５）。【０１７７】
ここで、ステップＳ８４において隣接行列を算出する処理を説明する。図３２は、グループ関係計算手段１４が隣接行列を計算して求める隣接行列計算処理の一例を示す流れ図である。同図において、まず、グループ関係計算手段１４は、ステップＳ８２で抽出したレコード系列のレコード数がＮである場合、Ｎ×Ｎの隣接行列を生成し、生成した行列の各値を０に初期化する（ステップＳ８４１）。すなわち、グループ関係計算手段１４は、まず隣接行列の初期行列を生成する。【０１７８】
次いで、グループ関係計算手段１４は、レコード系列中の各レコードに基づいて、それぞれのメンバＩＤ集合に含まれるＩＤ数をカウントする。そして、求めたＩＤ数の昇順にレコード系列をソートして、ソート済みレコード系列ＲＳを求める（ステップＳ８４２）。次いで、グループ関係計算手段１４は、レコード系列ＲＳのレコード数をカウントして、レコード数が０か否かをテスト（判断）する（ステップＳ８４３）。その結果、レコード系列ＲＳのレコード数が０であると判断すると、グループ関係計算手段１４は、直ちに計算処理を終了する。【０１７９】
一方、レコード系列ＲＳに少なくとも１以上のレコードが含まれると判断すると、グループ関係計算手段１４は、レコード系列ＲＳの先頭レコードＲＳ［０］を所定の変数ｒに一時退避（格納）し、先頭レコードＲＳ［０］をレコード系列ＲＳから削除する（ステップＳ８４４）。そして、グループ関係計算手段１４は、変数ｒのメンバＩＤ集合Ｍ１と、レコード系列ＲＳの各レコードＲＳ［ｉ］のメンバＩＤ集合Ｍ２とを抽出し、それらメンバＩＤ集合Ｍ１とＭ２との包含関係を以下の手順に従って比較する（ステップＳ８４５）。【０１８０】
まず、グループ関係計算手段１４は、メンバＩＤ集合Ｍ１がＭ２に「真」に含まれるか否か、すなわち、Ｍ１⊂Ｍ２であるか否かをテスト（判断）する（ステップＳ８４６）。その結果、Ｍ１⊂Ｍ２であると判断すると、グループ関係計算手段１４は、変数ｒのグループＩＤ（ｒ［Ｇ］）と、レコードＲＳ［ｉ］のグループＩＤ（ＲＳ［ｉ］［Ｇ］とについて、隣接行列中のｒ［Ｇ］行ＲＳ［ｉ］［Ｇ］列に位置する値（ｒ［Ｇ］，ＲＳ［ｉ］［Ｇ］）を１に設定し（ステップＳ８４７）、ステップＳ８４３に戻る。【０１８１】
一方、Ｍ１⊂Ｍ２でないと判断すると、グループ関係計算手段１４は、Ｍ１＝Ｍ２であるか否かをテスト（判断）する（ステップＳ８４８）。その結果、Ｍ１＝Ｍ２であると判断すると、グループ関係計算手段１４は、行列要素（ｒ［Ｇ］，ＲＳ［ｉ］［Ｇ］）と（ＲＳ［ｉ］［Ｇ］，ｒ［Ｇ］）との２つの値を１に設定し（ステップＳ８４９）、ステップＳ８４３に戻る。【０１８２】
以上のように、ステップＳ８４１〜Ｓ８４９までの処理が実行されることによって、ユーザ端末２のメンバＩＤを含む任意のグループについて、メンバ構成の包含関係及び同値関係を隣接行列として符号化することができる。【０１８３】
（Ｂ）ユーザ端末の処理
次に、ユーザ端末２が行う処理を説明する。図３３は、コンパートメント再編指示手段２２５がコンパートメントの再編を指示する処理の一例を示す流れ図である。同図において、ステップＳ８４で隣接行列を生成すると、ユーザ端末２のコンパートメント再編指示手段２２５は、グループＩＤ／認証キー系列と隣接行列とを、ネットワーク３、ネットワークデバイス２３１及びデバイス制御手段２２４を介して、グループ管理サーバ１から受信する（ステップＳ９１）。次いで、コンパートメント再編指示手段２２５は、第１の実施の形態で示したコンパートメント生成指示手段２２２と同様に、グループＩＤ／認証キー系列に含まれるそれぞれのグループＩＤと認証キーとの組に基づいて、コンパートメントノードの生成を指示する（ステップＳ９２）。【０１８４】
次いで、コンパートメント再編指示手段２２５は、生成した各コンパートメントノードを、コンパートメント構成管理手段２２３が管理するコンパートメント構成グラフＧに登録させる。この場合、コンパートメント再編指示手段２２５は、隣接行列に基づいて、登録したコンパートメントノード間の有向辺の付加を指示する（ステップＳ９３）。【０１８５】
図３４は、コンパートメントノードのコンパートメント構成グラフへの登録処理の具体例を示す流れ図である。同図において、コンパートメント再編指示手段２２５は、より具体的には、図３４に示すように、ステップＳ９２で生成したコンパートメントノードＮ［Ｃ１］の登録を、第１の実施の形態におけるコンパートメント生成指示手段２２１と同様に、コンパートメント構成管理手段２２３に指示する（ステップＳ９３１）。【０１８６】
次いで、コンパートメント再編指示手段２２５は、未登録コンパートメントノードがまだ存在するか否かを判断する（ステップＳ９３２）。その結果、未登録コンパートメントノードがないと判断すると、コンパートメント再編指示手段２２５は、直ちにステップＳ９３９の処理に遷移する。【０１８７】
一方、未登録コンパートメントが存在すると判断すると、コンパートメント再編指示手段２２５は、（２つ目以降の）未登録コンパートメントノードＮ［Ｃｎ］を、コンパートメント構成グラフＧに登録させる（ステップＳ９３３）。また、コンパートメント再編指示手段２２５は、これまでに登録した各コンパートメントノードＮ［Ｃｋ］について、隣接行列の（Ｃｎ，Ｃｋ）及び（Ｃｋ，Ｃｎ）の値を参照する（ステップＳ９３４）。【０１８８】
次いで、コンパートメント再編指示手段２２５は、（Ｃｎ，Ｃｋ）の値が１であるか否かを判断する（ステップＳ９３５）。その結果、（Ｃｎ，Ｃｋ）の値が１であると判断すると、Ｎ［Ｃｋ］からＮ［Ｃｎ］に向かう有向辺を付加させ（ステップＳ９３６）、ステップＳ９３２に戻る。一方、（Ｃｎ，Ｃｋ）の値が１でないと判断すると、（Ｃｋ，Ｃｎ）の値が１であるか否かを判断する（ステップＳ９３７）。その結果、（Ｃｋ，Ｃｎ）の値が１であると判断すると、コンパートメント再編指示手段２２５は、Ｎ［Ｃｎ］からＮ［Ｃｋ］に向かう有向辺を付加させ（ステップＳ９３８）、ステップＳ９３２に戻る。一方、（Ｃｋ，Ｃｎ）の値が１でないと判断すると、ステップＳ９３２に戻る。【０１８９】
上記のステップＳ９３２にて、未登録コンパートメントノードがないと判断すると、コンパートメント再編指示手段２２５は、その時点でのコンパートメント構成グラフＧにおいてＮ［Ｃｎ］に接続されている全ての有向辺を逐次参照し、Ｎ［Ｃｎ］に向かう有向辺の有無を判断する。有向辺がないと判断すると、コンパートメント再編指示手段２２５は、最下位レベルのコンパートメントノードＮ［Ｃ０］からＮ［Ｃｎ］への有向辺の付加を指示する（ステップＳ９３９）。【０１９０】
次いで、有向辺を追加させると、図３３に示すように、コンパートメント再編指示手段２２５は、第１の実施の形態で示したコンパートメント生成手段２２１と同様に、登録した各コンパートメントノードＮ［Ｃｎ］について、オブジェクトツリーＯＴ［Ｃｎ］とファイル配置テーブルＦＴ［Ｃｎ］とを新たに生成指示する。そして、コンパートメント再編指示手段２２５は、生成したオブジェクトツリーＯＴ［Ｃｎ］及びファイル配置テーブルＦＴ［Ｃｎ］を、コンパートメントノードＮ［Ｃｎ］の属性として登録させる（ステップＳ９４）。【０１９１】
以上のように、図３３のステップＳ９１〜Ｓ９４（図３４のステップＳ９３１〜Ｓ９３９を含む）までの処理が実行される。これによって、ユーザ端末２のコンパートメント構成管理手段２２３が管理するコンパートメント構成グラフＧの構造が、あるグループＧｎに対応するコンパートメントＣｎと、そのグループＧｎに包含されるグループＧｍに対応するコンパートメントＣｍとについて、それぞれの機密レベルがＣｎ＜Ｃｍの関係を満たすようにできる。すなわち、グループＧｎ内で共有される任意の情報はグループＧｍでも共有可能にできるが、その逆にグループＧｍ内で共有される任意の情報はグループＧｎでは共有可能にできない。これにより、グループＧｍからグループＧｎへの情報の流れを禁止できる。【０１９２】
例えば、情報共有システムを用いれば、図３５に示すように、組織の包含関係に合わせて、コンパートメント構成グラフを自動的に構築することができる。具体的には、図３５に示す例では、「○○営業部」のメンバは、「○○営業部」限定の情報を共有できるだけでなく、「営業本部」及び「会社全体」という上位組織の情報も共有することができる。しかし、「○○営業部」と「××事業部」とのように包含関係が成り立たない組織間では、例え双方の組織を兼務するメンバであっても、双方で限定的に共有される情報を漏洩させることができない。【０１９３】
以上のように、本実施の形態によれば、グループ管理サーバ１のグループ関係計算手段１４は、各ユーザが所属する任意のグループを抽出するとともに、グループ間の包含関係を計算して隣接行列を生成する。また、ユーザ端末２のコンパートメント再編手段２２５は、各グループに対応するコンパートメントを生成するとともに、隣接行列に基づいて、より部分的なグループのコンパートメントの機密レベルが、そのグループを含むより広範なグループのコンパートメントの機密レベルよりも必ず高くなるように設定する。【０１９４】
そのようにすることにより、任意の部分グループのユーザが、部分グループで限定的に共有される情報を自由に編集しながら、より広範なグループで共有される情報についても参照や編集する等して、部分グループ内へ取り込んで共有できるようにすることができる。また、包含関係を持たない無関係なグループに対しては一切情報をやり取りできないようにすることができる。従って、グループ内部で閉じた情報共有を行うことに加えて、より広範なグループとその部分グループとの間での自由な情報共有を実現しながら、無関係なグループへの機密漏洩を防止することができる。【０１９５】
（実施の形態３）
次に、本発明の第３の実施の形態を図面を参照して説明する。図３６は、ユーザ端末２の更に他の構成例を示すブロック図である。図３６に示すように、本実施の形態では、ユーザ端末２の監視手段２２は、第１の実施の形態で示した監視手段２２の構成要素に加えて、コンパートメント切替手段２２６を備える。また、ユーザ端末２は、第１の実施の形態で示した各種デバイスに加えて、デバイス２３として表示デバイス２３４及び入力デバイス２３５を含む。【０１９６】
表示デバイス２３４は、具体的には、ユーザ端末２のＣＲＴ等の表示装置である。また、入力デバイス２３５は、具体的には、キーボード・マウス等の入力装置である。表示デバイス２３４と入力デバイス２３５とは、デバイス制御部２２４を介して、コンパートメント切替手段２２６に接続されている。コンパートメント切替手段２２６は、ユーザによって入力デバイス２３５から所定の入力がなされると、デバイス制御手段２２４を介して、表示デバイス２３４にコンパートメント切替ダイアログを表示させる機能を備える。また、コンパートメント切替手段２２６は、ユーザからのコンパートメント切替操作に従って、コンパートメント構成管理手段２２３にコンパートメント切替要求を伝達（出力）する機能を備える。【０１９７】
次に、本実施の形態の動作について説明する。図３７は、本実施の形態において、コンパートメント切替手段２２６がコンパートメントの切り替えを行うコンパートメント切替処理の一例を示す流れ図である。同図において、ユーザは、ユーザ端末２の入力デバイス２３５を用いて、コンパートメント切り替えのための所定の入力指示（例えば、キー押下等）を行う。コンパートメント切替手段２２６は、ユーザの指示操作に従って、コンパートメント切替入力の要求を受け付ける（ステップＳ１０１）。すると、コンパートメント切替手段２２６は、表示デバイス２３４に、コンパートメントの切り替え操作をするためのコンパートメント切替ダイアログを表示させる（ステップＳ１０２）。【０１９８】
図３８は、ユーザ端末２が表示するコンパートメント切替ダイアログの例を示す説明図である。コンパートメント切替ダイアログには、例えば、図３８に示すように、少なくともコンパートメント構成管理手段２２３が管理する全てのコンパートメントについて、それぞれの識別子であるグループＩＤの一覧と、それぞれのコンパートメントに属するオブジェクトツリーで管理されているアプリケーション２１の一覧とが含まれる。【０１９９】
次いで、ユーザは、さらに入力デバイス２３５を操作して、コンパートメント切替の対象とするアプリケーション２１を選択指示し、切替先のコンパートメントを指定する。コンパートメント切替手段２２６は、ユーザの指示操作に従って、アプリケーション２１を選択し、切替先のコンパートメントを入力する（ステップＳ１０３）。【０２００】
なお、切替先コンパートメントの指定時に、コンパートメント切替手段２２６は、切替先コンパートメントＣｎの機密レベルがアプリケーション２１が現在属しているコンパートメントＣｍの機密レベル以上であることを判定し確認するようにすることが望ましい。そして、切替先コンパートメントＣｎの機密レベルがコンパートメントＣｍの機密レベル以上でない場合、コンパートメント切替手段２２６は、エラーメッセージを表示させて、ステップＳ１０３の処理に戻るようにすることが望ましい。この場合、コンパートメント切替手段２２６は、コンパートメント間の機密レベルの比較を、コンパートメント構成グラフＧにおいて、コンパートメントＮ［Ｃｍ］からコンパートメントノードＮ［Ｃｎ］に有向辺を辿って到達可能であるか否かを判断することにより行えばよい。【０２０１】
次いで、コンパートメント切替手段２２６は、切替対象のアプリケーション２１の選択と切替先コンパートメントとを入力すると、アプリケーション２１のオブジェクトノードの現在のオブジェクトツリーからの削除を、コンパートメント構成管理手段２２３に指示する（ステップＳ１０４）。そして、コンパートメント切替手段２２６は、切替対象アプリケーションを、切替先コンパートメントのオブジェクトツリーに登録させる（ステップＳ１０５）。【０２０２】
具体的には、図３９に示すように、監視手段２２は、アプリケーション２１のオブジェクトノードＯＮについて、現在のオブジェクトツリーＯＴ１における親ノードへのリンクを削除し、全ての子ノードを親ノードの新たな子ノードとしてＯＴ１に再登録する。そして、監視手段２２は、オブジェクトノードＯＮを、切替先コンパートメントに属するオブジェクトツリーＯＴ２の根ノードの新たな子ノードとして登録する。【０２０３】
以上のように、ステップＳ１０１〜Ｓ１０５までの処理が実行されることによって、ユーザは、現在作業中のコンパートメントを容易に把握できるとともに、アプリケーション２１毎に作業コンパートメントを明示的に指定することができる。【０２０４】
なお、ステップＳ１０２において、図４０に示すように、コンパートメント切替手段２２６は、コンパートメント切替ダイアログに、各コンパートメント毎のファイル一覧をアプリケーション２１の一覧と併せて表示させるようにしてもよい。そのようにすれば、どの情報がどのコンパートメントに属するかを、ユーザが簡単に確認することができる。
【産業上の利用可能性】
【０２０５】
本発明は、社内文書ファイルを共有するためのファイルサーバ装置や、ファイルサーバ装置をコンピュータを用いて実現するためのプログラムの用途に適用できる。また、本発明は、ネットワークを介して相互にファイルを交換／共有するファイル交換装置や、ファイル交換装置をコンピュータを用いて実現するためのプログラムの用途にも適用できる。
【図１】
2006059639.tif 000002
【図２】
2006059639.tif 000003
【図３】
2006059639.tif 000004
【図４】
2006059639.tif 000005
【図５】
2006059639.tif 000006
【図６】
2006059639.tif 000007
【図７】
2006059639.tif 000008
【図８】
2006059639.tif 000009
【図９】
2006059639.tif 000010
【図１０】
2006059639.tif 000011
【図１１】
2006059639.tif 000012
【図１２】
2006059639.tif 000013
【図１３】
2006059639.tif 000014
【図１４】
2006059639.tif 000015
【図１５】
2006059639.tif 000016
【図１６】
2006059639.tif 000017
【図１７】
2006059639.tif 000018
【図１８】
2006059639.tif 000019
【図１９】
2006059639.tif 000020
【図２０】
2006059639.tif 000021
【図２１】
2006059639.tif 000022
【図２２】
2006059639.tif 000023
【図２３】
2006059639.tif 000024
【図２４】
2006059639.tif 000025
【図２５】
2006059639.tif 000026
【図２６】
2006059639.tif 000027
【図２７】
2006059639.tif 000028
【図２８】
2006059639.tif 000029
【図２９】
2006059639.tif 000030
【図３０】
2006059639.tif 000031
【図３１】
2006059639.tif 000032
【図３２】
2006059639.tif 000033
【図３３】
2006059639.tif 000034
【図３４】
2006059639.tif 000035
【図３５】
2006059639.tif 000036
【図３６】
2006059639.tif 000037
【図３７】
2006059639.tif 000038
【図３８】
2006059639.tif 000039
【図３９】
2006059639.tif 000040
【図４０】
2006059639.tif 000041
【手続補正書】
【提出日】平成18年9月15日(2006.9.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】請求の範囲
【請求項１】  グループ内で情報を共有するためのコンピュータを用いた情報共有システムであって、
前記グループと当該グループに属するメンバとの対応関係を管理し、前記メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上の前記グループを識別するためのグループ識別情報を出力するグループ管理手段と、
前記グループ識別情報に基づいて、前記コンピュータ内のソフトウェア及びファイルを含む計算資源を前記グループに対応付けて割り当てるための仮想的に区画化されたグループ専用領域であり且つ前記グループ間で互いの関係が解析可能に構成されたコンパートメントを生成するコンパートメント生成手段と、
前記計算資源にアクセスするアプリケーションソフトウェアの動作を監視して、前記コンパートメントと前記アプリケーションソフトウェアとの所属関係を解析し、その解析結果に基づいて前記アプリケーションソフトウェアと前記計算資源との間の入出力処理の実行可否を制御する監視手段とを有し、
前記監視手段は、
少なくとも前記コンパートメントと前記アプリケーションソフトウェアとの所属関係の情報を含むデータ構造のグラフとして、ノードとそのノード間を結ぶ辺から成るコンパートメント構成グラフを解析可能に管理する手段と、
前記コンパートメント構成グラフに基づいて、ファイル配置テーブルをコンパートメントごとに独立して生成し、前記アプリケーションソフトウェアが、当該コンパートメントと下位の関係にある下位コンパートメントに属するファイルを更新するとき、下位コンパートメントではなく、当該アプリケーションソフトウェアが属するコンパートメントがもつファイル配置テーブルを更新する手段とを含むことを特徴とする情報共有システム。
【請求項２】  前記グループ管理手段は、サーバに設けられ、
前記コンパートメント生成手段及び前記監視手段は、前記サーバに通信ネットワークを介して通信可能に接続されるユーザ端末に設けられ、
前記グループ管理手段は、前記グループを識別するためのグループ識別情報と、前記メンバを識別するためのメンバ識別情報とを対応付けて蓄積し、前記ユーザ端末から前記メンバ識別情報を受信すると、受信した前記メンバ識別情報に対応する前記グループ識別情報を抽出し、抽出した前記グループ識別情報を、前記通信ネットワークを介して前記ユーザ端末に送信し、
前記コンパートメント生成手段は、前記グループ識別情報に基づいて前記グループに対応する前記コンパートメントを生成し、
前記監視手段は、前記ユーザ端末が搭載するアプリケーションソフトウェアの動作を監視して、前記アプリケーションソフトウェアのイベントを検出したときに、前記イベントを検出したアプリケーションソフトウェアが属する前記コンパートメントを特定し、特定した前記コンパートメントに基づいて前記アプリケーションソフトウェアと前記計算資源との間の前記イベントに応じた入出力処理の実行可否を制御することを特徴とする請求項１記載の情報共有システム。
【請求項３】  前記グループ管理手段は、前記メンバ識別情報に基づいて、少なくとも１つ以上のグループＩＤと認証キーとの組を前記グループ識別情報として出力する請求項１又は請求項２記載の情報共有システム。
【請求項４】  前記監視手段は、前記入出力処理の実行可否として、ファイル入出力イベント及びネットワーク入出力イベントの少なくとも一方の実行可否を制御する請求項１から請求項３のうちのいずれか１項に記載の情報共有システム。
【請求項５】  前記コンパートメント生成手段は、前記グループ識別情報に基づいて、所定の構成情報を生成することによって前記コンパートメントを生成する請求項２から請求項４のうちのいずれか１項に記載の情報共有システム。
【請求項６】  前記グループ管理手段は、前記グループと当該グループとは別のグループとの包含関係を示す隣接行列を生成する手段を含み、
前記コンパートメント生成手段は、前記隣接行列に基づいて、生成した前記コンパートメント間に有向辺を付加することによって、前記コンパートメント間の順序関係を設定する手段を含む請求項１から請求項５のうちのいずれか１項に記載の情報共有システム。
【請求項７】（削除）
【請求項８】（削除）
【請求項９】  前記監視手段は、前記コンパートメント構成グラフに基づいて、前記アプリケーションソフトウェアが同一のホストコンピュータ内でメッセージを送信できる範囲を、当該アプリケーションソフトウェアが属するコンパートメントと、当該コンパートメントに対して下位の関係にある下位コンパートメントのいずれかに属するアプリケーションソフトウェアとに限定する手段を含む請求項１又は請求項２記載の情報共有システム。
【請求項１０】  前記監視手段は、前記コンパートメント構成グラフに基づいて、前記アプリケーションソフトウェアが同一のホストコンピュータ内、又はネットワークを介して接続される当該ホストコンピュータとは別のホストコンピュータにメッセージを送信できる範囲を、同一のコンパートメントに属するアプリケーションソフトウェアに限定する手段を含む請求項１、請求項２、及び請求項９のうちのいずれか１項に記載の情報共有システム。
【請求項１１】  前記監視手段は、前記メンバを構成するユーザからの指示に応じて、前記アプリケーションソフトウェアが属する前記コンパートメントの変更、及び前記コンパートメントごとのファイル管理を行う手段を含む請求項１から請求項６、請求項９、及び請求項１０のうちのいずれか１項に記載の情報共有システム。
【請求項１２】  前記グループ管理手段は、前記グループの新規作成、前記グループの抹消、前記メンバの追加、及び前記メンバの削除の少なくとも１つを行う手段を含む請求項１から請求頃６、及び請求項９から請求項１１のうちのいずれか１項に記載の情報共有システム。
【請求項１３】  グループ内で情報を共有するための情報共有システムで用いるサーバであって、
前記グループと当該グループに属するメンバとの対応関係を管理するグループ管理手段を備え、
前記グループ管理手段は、前記メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上のグループＩＤと認証キーとの組を出力することを特徴とする情報共有システムのサーバ。
【請求項１４】  前記グループ管理手段は、前記グループと当該グループとは別のグループとの包含関係を示す隣接行列を生成する手段をさらに備えた請求項１３記載の情報共有システムのサーバ。
【請求項１５】  グループ内で情報を共有するための情報共有システムで用いるユーザ端末であって、
前記グループを識別するグループＩＤと認証キーとの各組に対応して、前記ユーザ端末を構成するコンピュータ内のソフトウェア及びファイルを含む計算資源をグループに対応付けて割り当てるための仮想的に区画化されたグループ専用領域であり且つ前記グループ間で互いの関係が解析可能に構成されたコンパートメントを生成するコンパートメント生成手段と、
前記計算資源にアクセスするアプリケーションソフトウェアの動作を監視する監視手段とを備え、
前記監視手段は、前記コンパートメントと前記アプリケーションソフトウェアとの所属関係を解析し、その解析結果に基づいて、ファイル入出力イベント及びネットワーク入出力イベントの少なくとも一方の実行可否を制御する手段と、
少なくとも前記コンパートメントと前記アプリケーションソフトウェアとの所属関係の情報を含むデータ構造のグラフとして、ノードとそのノード間を結ぶ辺から成るコンパートメント構成グラフを解析可能に管理する手段と、
前記コンパートメント構成グラフに基づいて、ファイル配置テーブルをコンパートメントごとに独立して生成し、前記アプリケーションソフトウェアが、当該コンパートメントと下位の関係にある下位コンパートメントに属するファイルを更新するとき、下位コンパートメントではなく、当該アプリケーションソフトウェアが属するコンパートメントがもつファイル配置テーブルを更新する手段とを有することを特徴とする情報共有システムのユーザ端末。
【請求項１６】  前記グループと当該グループとは別のグループとの包含関係を示す隣接行列を生成する手段と、
前記隣接行列に基づいて、前記コンパートメント間に有向辺を付加することによって、前記コンパートメント間の順序関係を設定する手段とをさらに備えた請求項１５記載の情報共有システムのユーザ端末。
【請求項１７】  サーバと、このサーバに通信ネットワークを介して通信可能に接続されたユーザ端末とを備えた情報共有システムを用いて、グループ内で情報を共有する情報共有方法であって、
前記サーバが、前記グループと当該グループに属するメンバとの対応関係を管理し、前記メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上のグループＩＤと認証キーとの組を、前記通信ネットワークを介して前記ユーザ端末に送信するステップと、
前記ユーザ端末が、前記サーバから受信したグループＩＤと認証キーとの各組に対応して、前記コンピュータ内のソフトウェア及びファイルを含む計算資源を前記グループに対応付けて割り当てるための仮想的に区画化されたグループ専用領域であり且つ前記グループ間で互いの関係が解析可能に構成されたコンパートメントを生成するステップと、
前記ユーザ端末が、前記コンパートメント間の順序関係、前記コンパートメントとアプリケーションソフトウェアとの所属関係、及び前記コンパートメントとファイルとの所属関係の少なくとも１つの情報を含むデータ構造のグラフとして、コンパートメント構成グラフを生成するステップと、
前記ユーザ端末が、前記アプリケーションソフトウェアの動作を監視して、前記コンパートメント構成グラフに基づいて、ファイル入出力イベント及びネットワーク入出力イベントの少なくとも一方の実行可否を制御するステップと、
前記ユーザ端末が、前記コンパートメント構成グラフに基づいて、ファイル配置テーブルをコンパートメントごとに独立して生成し、前記アプリケーションソフトウェアが、当該コンパートメントと下位の関係にある下位コンパートメントに属するファイルを更新するとき、下位コンパートメントではなく、当該アプリケーションソフトウェアが属するコンパートメントがもつファイル配置テーブルを更新するステップとを有することを特徴とする情報共有方法。
【請求項１８】  前記サーバが、前記メンバ識別情報を入力すると、前記グループと当該グループとは別のグループとの包含関係を示す隣接行列を生成するステップと、
前記サーバが、前記グループＩＤと認証キーとの組とともに、前記生成した隣接行列を、前記通信ネットワークを介して前記ユーザ端末に送信するステップと、
前記ユーザ端末が、前記サーバから受信したグループＩＤと認証キーとの各組及び前記隣接行列に基づいて、前記コンパートメント間の順序関係、前記コンパートメントとアプリケーションソフトウェアとの所属関係、及び前記コンパートメントとファイルとの所属関係の少なくとも１つの情報を含むデータ構造のグラフとして、ノードとそのノードを結ぶ辺から成るコンパートメント構成グラフを生成するステップと、
前記ユーザ端末が、前記アプリケーションソフトウェアの動作を監視して、前記コンパートメント構成グラフに基づいて、一のグループの前記コンパートメントに属する情報に対して、当該グループを包含する他のグループの前記コンパートメントに属するアプリケーションソフトウェアからの読み込みアクセスを許可するように、前記アプリケーションソフトウェアの実行可否を制御するステップとを含む請求項１７記載の情報共有方法。
【請求項１９】  グループ内で情報を共有するための情報共有システムで用いるプログラムであって、
コンピュータに、前記グループと当該グループに属するメンバとの対応関係を管理し、前記メンバを識別するためのメンバ識別情報を入力すると、少なくとも１以上のグループＩＤと認証キーとの組を生成する処理を実行させるためのグループ管理プログラム。
【請求項２０】  前記コンピュータに、前記グループと当該グループとは別のグループとの包含関係を示す隣接行列を生成する処理をさらに実行させる請求項１９記載のグループ管理プログラム。
【請求項２１】  グループ内で情報を共有するための情報共有システムで用いるプログラムであって、
コンピュータに、
前記グループを識別するためのグループＩＤと認証キーとの各組に対応して、前記コンピュータ内のソフトウェア及びファイルを含む計算資源を前記グループに対応付けて割り当てるための仮想的に区画化されたグループ専用領域であり且つ前記グループ間で互いの関係が解析可能に構成されたコンパートメントを生成する処理と、
前記コンパートメント間の順序関係、前記コンパートメントとアプリケーションソフトウェアとの所属関係、及び前記コンパートメントとファイルとの所属関係の少なくとも１つの情報を含むデータ構造のグラフとして、ノードとそのノードを結ぶ辺から成るコンパートメント構成グラフを生成する処理と、
前記アプリケーションソフトウェアの動作を監視して、前記コンパートメント構成グラフに基づいて、ファイル入出力イベント及びネットワーク入出力イベントの少なくとも一方の実行可否を制御する処理と、
前記コンパートメント構成グラフに基づいて、ファイル配置テーブルをコンパートメントごとに独立して生成し、前記アプリケーションソフトウェアが、当該コンパートメントと下位の関係にある下位コンパートメントに属するファイルを更新するとき、下位コンパートメントではなく、当該アプリケーションソフトウェアが属するコンパートメントがもつファイル配置テーブルを更新する処理とを実行させるためのコンパートメント管理プログラム。
【請求項２２】  前記コンパートメント構成グラフを生成する処理は、前記グループＩＤと認証キーとの各組と共に、前記グループと当該グループとは別のグループとの包含関係を示す隣接行列を入力し、前記グループＩＤと認証キーとの各組及び前記隣接行列に基づいて前記コンパートメント構成グラフを生成する処理を含む請求項２１記載のコンパートメント管理プログラム。
【国際調査報告】
2006059639.tif 000042
2006059639.tif 000043
2006059639.tif 000044
2006059639.tif 000045