(57)【要約】【課題】  時間制約を有するアクセス制御を実現するアクセス制御システムを提供する。【解決手段】  ポリシ格納手段１０２は、ユーザ、アクセス元及びアクセス先を記述し、且つ、時刻条件を記述したアクセス制御ポリシを記憶する。ポリシ解析手段１０３は、アクセス制御ポリシを解析して、アクセス制御のルールを作成する。時刻管理手段１０５は、時刻条件に従って、アクセス制御リストの追加又は削除を指示するイベントを発生する。アクセス制御リスト設定手段１０６は、イベントに従って、ルールからアクセス制御リストを生成する。アクセス制御手段３０２は、アクセス制御リストに従ってアクセス制御を行う。【選択図】  図２７
2006053824.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ、アクセス元及びアクセス先の少なくとも１つを記述し、且つ、アクセス条件として時刻条件を記述するアクセス制御ポリシを記憶するポリシ記憶手段と、
前記アクセス制御ポリシを解析して、ユーザ、アクセス元及びアクセス先に関するアクセス制御ルールを生成するアクセス制御ルール生成手段と、
前記アクセス制御ルールに基づいて、ユーザと、アクセス元と、アクセス先とを対応させてアクセス条件を記述したアクセス制御リストを生成するアクセス制御リスト設定手段と、
前記アクセス制御リストに基づいて、アクセス制御を実行するアクセス制御手段とを備え、
前記アクセス制御リスト設定手段は、前記時刻条件に基づいて前記アクセス制御リストを更新することを特徴とするアクセス制御システム。
【請求項２】
前記時刻条件に従ってイベントを発生させる時刻管理手段を更に備え、前記アクセス制御リスト設定手段は、前記時刻管理手段が発生したイベントに応答して、前記アクセス制御リストを更新することを特徴とする、請求項１に記載のアクセス制御システム。
【請求項３】
前記時刻管理手段は、前記アクセス制御ポリシが有効となる時刻になると、前記アクセス制御リストに当該アクセス制御ポリシに対応する行の追加を指示するイベントを発生することを特徴とする、請求項２に記載のアクセス制御システム。
【請求項４】
前記時刻管理手段は、前記アクセス制御ポリシが無効となる時刻になると、前記アクセス制御リストから当該アクセス制御ポリシに対応する行の削除を指示するイベントを発生することを特徴とする、請求項２又は３に記載のアクセス制御システム。
【請求項５】
日時、場所及び参加者を含む会議開催情報に基づいて、アクセス制御ポリシを生成して前記ポリシ記憶手段に格納するポリシ生成手段を更に備えることを特徴とする、請求項１〜４の何れか一に記載のアクセス制御システム。
【請求項６】
前記ポリシ生成手段は、前記会議開催情報を電子メールから収集することを特徴とする、請求項５に記載のアクセス制御システム。
【請求項７】
前記ポリシ生成手段は、ユーザが管理するスケジュールを受信し該受信したスケジュールから前記会議開催情報を抽出することを特徴とする、請求項５に記載のアクセス制御システム。
【請求項８】
要素を名称で示す名前型オブジェクトと、要素の実体を示す実体型オブジェクトと、前記名前型オブジェクトから実体型オブジェクトへの経路に関する情報とを有するオブジェクト知識を記憶する知識データベースを更に備え、
前記アクセス制御ポリシは、前記時刻条件を名前型オブジェクトで記述しており、
前記時刻管理手段は、前記オブジェクト知識と前記アクセス制御ポリシとに基づいて、イベントを発生することを特徴とする、請求項２〜７の何れか一に記載のアクセス制御システム。
【請求項９】
前記アクセス制御ポリシは、ユーザ、アクセス元及びアクセス先の少なくとも１つを名前型オブジェクトとして記述しており、
前記アクセス制御ルール生成手段は、前記知識データベースを参照して前記アクセス制御ルールを生成することを特徴とする、請求項８に記載のアクセス制御システム。
【請求項１０】
コンピュータを用い、アクセス制御を実行するアクセス制御方法であって、
ユーザ、アクセス元及びアクセス先の少なくとも１つを記述し、且つ、アクセス条件として時刻条件を記述するアクセス制御ポリシを生成しポリシ記憶装置に記憶するステップと、
前記ポリシ記憶装置に記憶されたアクセス制御ポリシに基づいて、ユーザ、アクセス元及びアクセス先についてのアクセス制御情報を生成し、前記時刻条件で指定された時刻になると前記生成したアクセス制御情報を制御情報記憶装置に記憶するステップと、
前記制御情報記憶装置に記憶されたアクセス制御情報に基づいて、アクセス制御を実行するステップとを備えることを特徴とするアクセス制御方法。
【請求項１１】
アクセス制御をコンピュータに実行させるプログラムであって、
ユーザ、アクセス元及びアクセス先の少なくとも１つを記述し、且つ、アクセス条件として時刻条件を記述するアクセス制御ポリシを生成しポリシ記憶装置に記憶するステップと、
前記ポリシ記憶装置に記憶されたアクセス制御ポリシに基づいて、ユーザ、アクセス元及びアクセス先についてのアクセス制御情報を生成し、前記時刻条件で指定された時刻になると前記生成したアクセス制御情報を制御情報記憶装置に記憶するステップと、
前記制御情報記憶装置に記憶されたアクセス制御情報に基づいて、アクセス制御を実行するステップとを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス制御システム、アクセス制御方法、及び、プログラムに関し、更に詳しくは、ユーザ、アクセス元、アクセス先によって、アクセスの許可又は不許可を制御するアクセス制御システム、アクセス制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
セキュリティの観点から、通常、共有リソースに対しては、アクセス可能なユーザやアクセス元を制限するアクセス制御が行われる。アクセス制御に関する技術としては、特許文献１に記載された技術がある。特許文献１では、アクセス主体種別と、アクセス対象種別と、アクセス内容とを有するアクセス制御ルールを入力して、アクセス主体と主体種別とを直接に対応付ける主体種別グループ情報と、アクセス対象と対象種別とを直接に対応付ける対象種別グループ情報と、アクセス主体及びアクセス対象と組織との対応付けを単一の木構造で表現した組織構造情報とを用いて、制約条件を満足するアクセス制御リストを生成する。特許文献１では、このようにして生成したアクセス制御リストに基づいて、アクセス制御を行う。
【０００３】
アクセス制御に関する別の技術としては、特許文献２や特許文献３に記載された技術がある。特許文献２では、ストレージ装置は、ネットワーク上に置かれ、特定のユーザがいつどこにいるのかを示すスケジュール管理表により、登録された時間及び場所からのアクセスのみを許可し、それ以外からのアクセスを拒否する。また、特許文献３では、ユーザ認証結果と、送信先によって、パケットに付加されるユーザ識別情報を置き換えて、匿名通信を行う。特許文献３では、その際、ユーザ毎のＩＤとパスワードによる認証手段と、認証結果によって設定できる内容を区別する手段と、送信元と送信先の組と付加するユーザ識別情報との対応付けをユーザ識別情報送信ポリシとして管理する手段と、ユーザ識別情報送信ポリシを設定するインタフェースを提供する手段とを用いている。
【特許文献１】特開平１１−３１３１０２号公報（第６頁、図１）
【特許文献２】特開２００３−１４０９６８号公報（第３−６頁、図５）
【特許文献３】特開２００３−３１６７４２号公報（第３−６頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のアクセス制御では、アクセス制御装置が時刻属性を利用できない場合には、時間の制約を伴ったアクセス制御ポリシを用いて、指定された時刻通りにアクセス制御を実現することができないという問題があった。例えば、特許文献１及び３に記載の技術では、時間の制約を伴ったアクセス制御ポリシを扱うことができない。また、特許文献２に記載の技術では、時間の制約を伴ったアクセス制御ポリシを扱うことができるものの、実際にアクセス制御を行うためには、時間制約を解釈できる特殊なアクセス制御装置が必要である。従って、一般的なアクセス制御装置を使用する場合には、時間制約を解釈できないため、指定された時刻又は期間にのみ有効なアクセス制御を実現することはできない。
【０００５】
また、従来のアクセス制御システムでは、会議における情報共有など、複数の組織にまたがりかつ生存期間に限りがあるユーザグループによる共有リソースへの動的なアクセス制御が行えないという問題があった。例えば、特許文献１では、時間制約をもたない静的なユーザグループごとのアクセス制御を可能とするアクセス制御リスト生成方法が記載されているものの、時間制約をもつようなユーザグループによる共有リソースへの動的なアクセス制御を行う方法については記載されていない。また、特許文献２に記載の技術では、時間と場所の制約を伴ったアクセス制御ポリシを扱うことができるが、あくまで個人のスケジュールに連動したものであり、アクセス制御ポリシの管理も個人ごとに行うことが強制される。このため、ユーザグループ単位で時間や場所などの制約を伴ったアクセス制御ポリシを管理し、ユーザグループの変化・生滅に応じて、動的にアクセス制御を変更することはできない。
【０００６】
本発明は、アクセス制御装置自身が時間制約を解釈できない場合でも、時間制約を有するアクセス制御を実現できるアクセス制御装置を提供することを目的とする。
【０００７】
また、本発明は、ユーザグループが動的に変動されるような場合でも、簡易に変更後のユーザグループのメンバに対するアクセス制御を実現できるアクセス制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のアクセス制御システムは、ユーザ、アクセス元及びアクセス先の少なくとも１つを記述し、且つ、アクセス条件として時刻条件を記述するアクセス制御ポリシを記憶するポリシ記憶手段と、前記アクセス制御ポリシを解析して、ユーザ、アクセス元及びアクセス先に関するアクセス制御ルールを生成するアクセス制御ルール生成手段と、前記アクセス制御ルールに基づいて、ユーザと、アクセス元と、アクセス先とを対応させてアクセス条件を記述したアクセス制御リストを生成するアクセス制御リスト設定手段と、前記アクセス制御リストに基づいて、アクセス制御を実行するアクセス制御手段とを備え、前記アクセス制御リスト設定手段は、前記時刻条件に基づいて前記アクセス制御リストを更新することを特徴とする。
【０００９】
本発明のアクセス制御システムでは、アクセス制御ポリシには、時刻条件として、例えばそのアクセス制御ポリシが有効となる時間帯の開始時刻及び終了時刻が記述される。この場合、アクセス制御リスト設定手段は、時刻条件で指定された開始時刻となると、そのアクセス制御ポリシに対応するアクセス制御リストの行を追加して、アクセス制御リストを更新する。また、時刻条件で指定された終了時刻となると、そのアクセス制御ポリシに対応するアクセス制御リストの行を削除して、アクセス制御リストを更新する。このように、アクセス制御リストを、時刻条件に基づいて更新することにより、アクセス制御手段が、時刻条件に対応したアクセス制御を行わない一般的なアクセス制御手段として構成される場合でも、時刻条件で示される特定の時刻又は期間内に限定されたアクセス制御を実現できる。
【００１０】
本発明のアクセス制御システムでは、前記時刻条件に従ってイベントを発生させる時刻管理手段を更に備え、前記アクセス制御リスト設定手段は、前記時刻管理手段が発生したイベントに応答して、前記アクセス制御リストを更新する構成を採用できる。
【００１１】
本発明のアクセス制御システムでは、前記時刻管理手段は、前記アクセス制御ポリシが有効となる時刻になると、前記アクセス制御リストに当該アクセス制御ポリシに対応する行の追加を指示するイベントを発生する構成を採用できる。この場合、アクセス制御ポリシが有効となる時刻となると、そのアクセス制御ポリシに対応したアクセス制御を開始させることができる。
【００１２】
本発明のアクセス制御システムでは、前記時刻管理手段は、前記アクセス制御ポリシが無効となる時刻になると、前記アクセス制御リストから当該アクセス制御ポリシに対応する行の削除を指示するイベントを発生する構成を採用できる。この場合、アクセス制御ポリシが無効となる時刻となると、そのアクセス制御ポリシに対応したアクセス制御を終了させることができる。
【００１３】
本発明のアクセス制御システムでは、日時、場所及び参加者を含む会議開催情報に基づいて、アクセス制御ポリシを生成して前記ポリシ記憶手段に格納するポリシ生成手段を更に備えることが好ましい。この場合、例えば、会議が開催される時刻に合わせて、会議の参加メンバによる、会議開催場所からの共有リソースに対するアクセスを許可することができる。
【００１４】
本発明のアクセス制御システムでは、前記ポリシ生成手段は、前記会議開催情報を電子メールから収集する構成を採用できる。この場合、簡易に、会議参加メンバに対するアクセス制御を実現できる。
【００１５】
本発明のアクセス制御システムでは、前記ポリシ生成手段は、ユーザが管理するスケジュールを受信し該受信したスケジュールから前記会議開催情報を抽出する構成を採用できる。この場合、簡易に、会議参加メンバに対するアクセス制御を実現できる。
【００１６】
本発明のアクセス制御システムは、要素を名称で示す名前型オブジェクトと、要素の実体を示す実体型オブジェクトと、前記名前型オブジェクトから実体型オブジェクトへの経路に関する情報とを有するオブジェクト知識を記憶する知識データベースを更に備え、前記アクセス制御ポリシは、前記時刻条件を名前型オブジェクトで記述しており、前記時刻管理手段は、前記オブジェクト知識と前記アクセス制御ポリシとに基づいて、イベントを発生する構成を採用できる。この場合、知識データベースは、時間を示す情報として、例えば、名前型オブジェクト「午後」と、実体型オブジェクト「開始時刻１３時００分」、「終了時刻１７時３０分」とを有する。時刻条件を名前型オブジェクトで記述することで、時刻条件を直接に時刻で指定する場合に比して、時刻の指定や時間帯の変更が容易になる。
【００１７】
本発明のアクセス制御システムでは、前記アクセス制御ポリシは、ユーザ、アクセス元及びアクセス先の少なくとも１つを名前型オブジェクトとして記述しており、前記アクセス制御ルール生成手段は、前記知識データベースを参照して前記アクセス制御ルールを生成する構成を採用できる。ユーザ、アクセス元及びアクセス先についての実体型オブジェクトは、例えばユーザＩＤ、アクセス元の装置のＩＰアドレス、アクセス先のＩＰアドレス等を示す。アクセス制御ルール生成手段は、知識データベースを参照し、例えばアクセス制御ポリシ中にユーザグループ名として記述された名前型オブジェクトから、そのユーザグループに属するユーザＩＤを得て、得られたユーザＩＤを有するユーザに対するアクセス制御を実現するアクセス制御ルールを生成する。このようにすることで、ユーザグループが動的に変化するような場合でも、変化後のユーザグループに対するアクセス制御を容易に実現でき、例えば存続期間が短いアドホックグループに対するアクセス制御を簡易に実現できる。また、知識データベースでは、複数の名前型オブジェクトが１つの実体型オブジェクトへの経路を有することができるため、例えばユーザが、複数の組織に属している場合でも、そのユーザに対するアクセス制御を簡易に実現できる。
【００１８】
本発明のアクセス制御方法は、コンピュータを用い、アクセス制御を実行するアクセス制御方法であって、ユーザ、アクセス元及びアクセス先の少なくとも１つを記述し、且つ、アクセス条件として時刻条件を記述するアクセス制御ポリシを生成しポリシ記憶装置に記憶するステップと、前記ポリシ記憶装置に記憶されたアクセス制御ポリシに基づいて、ユーザ、アクセス元及びアクセス先についてのアクセス制御情報を生成し、前記時刻条件で指定された時刻になると前記生成したアクセス制御情報を制御情報記憶装置に記憶するステップと、前記制御情報記憶装置に記憶されたアクセス制御情報に基づいて、アクセス制御を実行するステップとを備えることを特徴とする。
【００１９】
本発明のプログラムは、アクセス制御をコンピュータに実行させるプログラムであって、ユーザ、アクセス元及びアクセス先の少なくとも１つを記述し、且つ、アクセス条件として時刻条件を記述するアクセス制御ポリシを生成しポリシ記憶装置に記憶するステップと、前記ポリシ記憶装置に記憶されたアクセス制御ポリシに基づいて、ユーザ、アクセス元及びアクセス先についてのアクセス制御情報を生成し、前記時刻条件で指定された時刻になると前記生成したアクセス制御情報を制御情報記憶装置に記憶するステップと、前記制御情報記憶装置に記憶されたアクセス制御情報に基づいて、アクセス制御を実行するステップとを実行させることを特徴とする。
【００２０】
本発明のアクセス制御方法及びプログラムでは、時刻条件には、例えばアクセス制御ポリシが有効となる時間帯の開始時刻及び終了時刻が記述される。この場合、アクセス制御ポリシに基づいて生成したアクセス制御情報を、時刻条件で指定された開始時刻に、制御情報記憶装置に記憶することで、アクセス制御情報自体に時刻条件を設定しなくても、時刻条件に応じたアクセス制御を実現できる。
【発明の効果】
【００２１】
本発明のアクセス制御システム、アクセス制御方法、及び、プログラムでは、アクセス制御ポリシの時刻条件に応じて、アクセス制御を実現するアクセス制御情報を変化させる。このため、時刻条件を直接に利用できないアクセス制御手段を用いた場合でも、時刻条件で示される特定の時刻又は期間内に限定されたアクセス制御を実現できる。
【００２２】
また、例えばユーザのグループを名前型オブジェクトで記述する場合には、ユーザグループのメンバが動的に変化するような場合でも、変化後のユーザグループに対するアクセス制御を容易に実現でき、例えば存続期間が短いアドホックグループに対するアクセス制御を簡易に実現できる。
【発明を実施するための最良の形態】
【００２３】
本発明の実施形態の説明に先立って、実施形態の説明に用いる用語について説明する。
【００２４】
「アクセス制御リスト」は、あるアクセス元から、あるアクセス先へのアクセスを認めるか否かを示す情報のリストである。アクセス制御リストは、各種アクセス制御装置に依存した記述形式で表される。アクセス制御リスト中にリストとして列挙される情報は、一般的には、１行毎に記述される。よって、以下では、リストとして列挙される個々の情報、つまり、あるアクセス元からあるアクセス先へのアクセスを認めるか否かを示す個々の情報を「行」と記すことにする。ただし、リストとして列挙される情報は、必ずしも行毎に記述される必要はない。
【００２５】
「アクセス制御ポリシ」は、アドホックグループにアクセス先リソースを共有させるための設定情報の集合である。「アドホックグループ」は、定められた属性を有するユーザをグループ化したものである。アドホックグループに属するユーザは、固定的に定められず、動的に変化する。例えば、あるユーザが、定められた属性を有することになったならばアドホックグループに属することとなり、その属性を失ったならばアドホックグループから外されることとなる。
【００２６】
ユーザの属性としては、例えば、ユーザが属しているユーザグループ、ユーザの位置、ユーザがリソースにアクセス可能な時刻（時間帯）等がある。ユーザグループの具体例としては、部課等の所属、プロジェクトチーム、役職等が挙げられる。ユーザの位置の具体例としては、事業所や部屋等が挙げられる。リソースの具体例としては、アクセス先となる装置、ファイル、アプリケーションソフトウェア等が挙げられる。アクセス制御ポリシの記述には、例えば、ユーザグループ、ユーザの位置、リソースの名称、ユーザがリソースにアクセス可能な時刻（時間帯）等が含まれる。
【００２７】
アドホックグループに属するための条件としては、上記した時刻等以外の属性を用いることもできる。例えば、「ユーザが何をしているところか」、又は「ユーザ自身の状況」をユーザの属性としてもよい。具体的には、「電話中」、「接客・打ち合わせ中」、「食事中」、「通勤中」、「睡眠・仮眠中」、「多忙」等をユーザの属性としてもよい。また、例えば、「ワークフロー（作業の進行状況）」をユーザの属性としてもよい。具体的には、「〜の作業を終えた」、「チェックを通過した」、「〜の段階まで進んだ」、「〜を所持・携帯している」等をユーザの属性としてもよい。また、「ユーザが使用しているシステムの環境」をユーザの属性とすることもできる。具体的には、「ＯＳの種類・バージョン」、「パッチ・ウィルスチェックの状態」、「ハードウェアやソフトウェアの構成・導入・環境」等をユーザの属性としてもよい。
【００２８】
「オブジェクト」とは、アクセス制御ポリシに記述された内容（例えば、ユーザグループ、位置、リソース等）を表すデータや、そのデータに関連付けられたデータである。「オブジェクト」のうち、ユーザグループ、位置、リソース等のアクセス制御ポリシに、名称として記述された内容を表すオブジェクトを「名前型オブジェクト」と記す。また、「オブジェクト」のうち、「名前型オブジェクト」に関連付けられたオブジェクトを「実体型オブジェクト」と記す。
【００２９】
例えば、ユーザグループの名称である「開発チーム」、「チームリーダ」等は、名前型オブジェクトに該当する。そして、「チームリーダ」という名前型オブジェクトに「i-takahashi」、「s-watanabe」等の個人のＩＤ（ユーザＩＤ）が関連付けられている場合、そのユーザＩＤが実体型オブジェクトに該当する。また、位置の名称である「本社会議室Ａ」等は、名前型オブジェクトに該当する。そして、「本社会議室Ａ」という名前型オブジェクトにアクセス元のＩＰアドレス「1.1.1.0/24」が関連付けられている場合、このアクセス元のＩＰアドレスが実体型オブジェクトに該当する。
【００３０】
また、リソースの名称である「関西オフィス共有資料サーバ」等は、名前型オブジェクトに該当する。そして、「関西オフィス共有資料サーバ」という名前型オブジェクトにアクセス先のＩＰアドレス「9.9.9.9」及びポート番号「８０」及び「４４３」が関連付けられている場合、このアクセス先のＩＰアドレス及びポート番号の組み合わせが実体型オブジェクトに該当する。
【００３１】
なお、名前型オブジェクトは、ユーザグループ、位置、リソースの名称に限定されるわけではない。同様に、実体型オブジェクトは、個人のＩＤ、アクセス元のＩＰアドレス、アクセス先のＩＰアドレスとポート番号の組み合わせに限定されるわけではない。アクセス元のＩＰアドレスやネットワークドメイン、ポート番号やプロトコルなどを、位置を表す名前型オブジェクトに関連付けられる実体型オブジェクトとしてよい。また、アクセス先のＩＰアドレスやネットワークドメイン、ポート番号やプロトコル、ＵＲＬやファイルパス、操作や権限等を、リソースを表す名前型オブジェクトに関連付けられる実体型オブジェクトとしてよい。
【００３２】
アクセス元となる位置の名前型オブジェクトには、その位置を識別可能なアクセス元識別情報が実体型オブジェクトとして関連付けられる。また、アクセス先となるリソースの名前型オブジェクトには、そのリソースを識別可能なアクセス先識別情報が実体型オブジェクトとして関連付けられる。
【００３３】
「オブジェクト知識」は、オブジェクト同士の関係を示すデータである。図１は、オブジェクト知識のデータ構造の例を示している。オブジェクト知識には、名前型オブジェクト及び実体型オブジェクトが含まれる。そして、オブジェクト知識は、オブジェクト同士の関係に関する情報、具体的には、オブジェクトから他のオブジェクトへの経路に関する情報を有する。この経路は、方向性を有する。従って、オブジェクト知識は有向グラフとして表される。
【００３４】
図１に示すように、名前型オブジェクトは、他の名前型オブジェクト又は実体型オブジェクトへの経路を０個以上有する。相互に異なる名前型オブジェクトが、それぞれ同一の名前型オブジェクト又は実体型オブジェクトへの経路を有していてもよい。実体型オブジェクトは、他のオブジェクトへの経路を持たない。このため、他のオブジェクトへの経路を有するのは、名前型オブジェクトのみである。
【００３５】
ただし、実体型オブジェクトと同一内容のオブジェクトを名前型オブジェクトに含め、その名前型オブジェクトから実体型オブジェクトへの経路を持たせることにより、実質的に、実体型オブジェクトが実体型オブジェクトへの経路を持っているのと同様のオブジェクト知識を作成することはできる。例えば、「s-watanabe」等の個人のＩＤをユーザグループの名称であるとみなして名前型オブジェクトとし、その名前型オブジェクト「s-watanabe」から実体型オブジェクト「k-satou」への経路を持たせるようにしてもよい。
【００３６】
ある名前型オブジェクトを起点として、実体型オブジェクトへ向かう経路を探索し、実体型オブジェクトの集合を得ること「展開」と記す。名前型オブジェクトを起点として実体型オブジェクトを得る過程では、名前型オブジェクトを辿ってもよい。探索の手法としては、例えば、深さ優先探索や幅優先探索を採用できる。ただし、探索手法はこれらに限定されるわけではない。
【００３７】
図２は、名前型オブジェクト「Ｅ」を基点とした展開の例を示している。名前型オブジェクト「Ｅ」は、名前型オブジェクト「Ｆ」及び「Ｇ」への経路を有している。そして、名前型オブジェクト「Ｆ」は、実体型オブジェクト「γ」、「δ」及び「ε」への経路を有し、名前型オブジェクト「Ｇ」は、実体型オブジェクト「ε」及び「ζ」への経路を有している。従って、オブジェクト知識が同図に示すような経路を有する場合、名前型オブジェクト「Ｅ」を起点とて展開を行った場合には、実体型オブジェクト「γ」、「δ」、「ε」及び「ζ」が得られる。
【００３８】
なお、展開において、既に探索した実体型オブジェクトに辿り着いた場合には、その実体型オブジェクトを重複して取得することは行わない。例えば、図２に示す例において、名前型オブジェクト「Ｆ」からの探索により実体型オブジェクト「ε」を得ていた場合、名前型オブジェクト「Ｇ」からの探索により再び実体型オブジェクト「ε」を得たとしても、「Ｇ」からの探索により得た「ε」は破棄して、「ε」を重複して取得しないようにする。また、既に通過した名前型オブジェクトに再度辿り着いた場合、その名前型オブジェクトからの探索は行わない。例えば、図２に示す例では、名前型オブジェクト「Ｆ」は、名前型オブジェクト「Ｇ」への経路を有している。既に、名前型オブジェクト「Ｅ」から「Ｇ」を辿り、実体型オブジェクト「ε」及び「ζ」を得ている場合に、名前型オブジェクト「Ｆ」から「Ｇ」に辿り着いたならば、その名前型オブジェクト「Ｇ」からの探索は行わない。
【００３９】
オブジェクト知識が変更されると、展開によって得られる実体型オブジェクトが変化する。図１に示す例において、名前型オブジェクト「Ｇ」が実体型オブジェクト「α」への経路を有するように変更されたとする。この場合には、名前型オブジェクト「Ｇ」から展開される実体型オブジェクトの集合には、「ε」及び「ζ」の他に「α」が追加される。また、名前型オブジェクト「Ｇ」を辿ることになる他の名前型オブジェクト（図１に示す例では「Ｅ」及び「Ｆ」）から展開される実体型オブジェクトの集合にも「α」が追加されることになる。このとき、経路が直接に変更された名前型オブジェクト（「Ｇ」）を、「直接更新された名前型オブジェクト」と記す。また、「直接更新された名前型オブジェクト」を辿ることになる名前型オブジェクト（「Ｅ」及び「Ｆ」）を、「間接的に更新された名前型オブジェクト」と記す。
【００４０】
図１及び図２に示すように、オブジェクト知識は木構造ではない。木構造は、起点となるルートを一つだけ有するが、オブジェクト知識は、どの名前型オブジェクトも探索の起点とすることができる。
【００４１】
図３は、オブジェクト知識の具体例を示す。同図では、名前型オブジェクトとしてユーザグループの名称を有し、実体型オブジェクトとして個人のＩＤを有するオブジェクト知識を示している。同図に示すオブジェクト知識について、名前型オブジェクト「新システム導入プロジェクトメンバ」を起点に展開する場合を説明する。「新システム導入プロジェクトメンバ」は、２つの名前型オブジェクト「システム設計折衝メンバ」及び「システム経費折衝メンバ」への経路を有している。また、この二つの名前型オブジェクトは、いずれも名前型オブジェクト「システム管理者」への経路を有している。「システム設計折衝メンバ」、「システム経費折衝メンバ」及び「システム管理者」は、それぞれ実体型オブジェクト「i-takahashi」、「s-watanabe」、「m-itou」への経路を有している。従って、「新システム導入プロジェクトメンバ」を起点に展開する場合、実体型オブジェクト「i-takahashi」、「s-watanabe」及び「m-itou」が得られる。
【００４２】
また、図示は省略するが、名前型オブジェクトとしてユーザの位置の名称を有し、実体型オブジェクトとしてアクセス元のＩＰアドレスを有するオブジェクト知識を例に、名前型オブジェクトを起点に展開する場合について説明する。この場合、例えば、名前型オブジェクト「本社オフィス会議室Ａ」を展開することで、「1.1.1.0/24」等のＩＰアドレスが得られ、「関西オフィス討議室Ｂ」を展開することで、「2.2.2.192/26」及び「3.3.3.192/26」等のＩＰアドレスが得られる。また、オブジェクト知識が、名前型オブジェクトとしてリソースの名称を有し、実体型オブジェクトとしてアクセス先のＩＰアドレスとポート番号の組み合わせを有する場合には、例えば、名前型オブジェクト「本社共有資料サーバ」を展開することで、ＩＰアドレス「7.7.7.7」とポート番号「１３８」、「１３９」との組み合わせ、及び、ＩＰアドレス「8.8.8.8」とポート番号「８０」との組み合わせが得られる。なお、ここに示した位置やリソースの名称、各ＩＰアドレス及び各ポート番号は例示である。
【００４３】
「中間言語」は、特定のアクセス制御装置に依存しない記述形式で書かれたアクセス制御の設定情報である。中間言語は、アクセス制御ポリシから生成され、その中間言語から、アクセス制御リストが生成される。図４は、アクセス制御ポリシからアクセス制御リストが生成される様子を概念的に示している。中間言語は、一つまたは複数のルールの集合として構成される。各ルールには、アクセス元とアクセス先の組み合わせが含まれる。また、同図に示すように、一つのルールからは、一つまたは複数の行が生成される。この行の集合がアクセス制御リストとなる。
【００４４】
以下、図面を参照しつつ、本発明の実施の形態について詳細に説明する。
【００４５】
第１実施形態
図５は、本発明の第１実施形態のアクセス制御システムの構成をブロック図で示している。アクセス制御システム１００は、ポリシエンジン１１と、知識データベース２１と、アクセス制御装置３１とを備える。アクセス制御システム１００は、コンピュータシステムとして構成できる。ポリシエンジン１１、知識データベース２１、及び、アクセス制御装置３１は、それぞれ別個のコンピュータシステムとして構成できる。
【００４６】
知識データベース２１は、一つ、又は、複数のデータ格納手段として構成され、オブジェクト知識を格納する。ポリシエンジン１１は、知識データベース２１を参照して、動的に変化するアドホックグループに対するアクセス制御を表現できるアクセス制御ポリシから、アクセス制御リストを生成する。アクセス制御装置３１は、ポリシエンジン１１で生成されたアクセス制御リストに基づいて、アクセス制御を行う。アクセス制御装置３１は、例えば、ファイアウォールや、ＶＰＮゲートウェイ等の認証機能を有するアクセス制御装置や、外部から記憶しているファイルへのアクセス制御を行うサーバ装置等として構成される。
【００４７】
知識データベース２１は、オブジェクト知識管理手段２０２１と、オブジェクト知識格納手段２０３１とを有する。オブジェクト知識管理手段２０２１は、例えば、プログラムに従って動作するＣＰＵ、及びポリシエンジン１１との通信インタフェースによって実現される。オブジェクト知識格納手段２０３１は、例えば、プログラムに従って動作するＣＰＵ、及び、不揮発性メモリ又はハードディスク等の記憶装置によって実現される。ここに挙げた各手段を実現するためのＣＰＵは、共通のＣＰＵであってよい。
【００４８】
オブジェクト知識格納手段２０３１は、記憶装置内に、オブジェクト知識を格納する。オブジェクト知識格納手段２０３１は、名前型オブジェクトとしてグループの名称を有するオブジェクト知識、名前型オブジェクトとして位置の名称を有するオブジェクト知識、又は、名前型オブジェクトとしてリソースの名称を有するオブジェクト知識を格納する。これら各オブジェクト知識は、それぞれ別個の記憶装置内に格納することもできる。また、オブジェクト知識格納手段２０３１は、これらオブジェクト知識以外のオブジェクト知識を格納していてもよい。オブジェクト知識管理手段２０２１は、オブジェクト知識格納手段２０３１を参照して、オブジェクト知識の検索、参照を行う機能を有する。
【００４９】
ポリシエンジン１１は、ポリシ編集手段１０１１と、ポリシ格納手段１０２１と、ポリシ解析手段１０３１と、アクセス制御リスト設定手段１０６１とを備える。ポリシ編集手段１０１１は、例えば、プログラムに従って動作するＣＰＵ、入力装置（キーボードやマウス等）及び出力装置（ディスプレイ装置等）によって実現される。ポリシ格納手段１０２１は、例えば、プログラムに従って動作するＣＰＵと記憶装置とによって実現される。ポリシ解析手段１０３１は、例えば、プログラムに従って動作するＣＰＵによって実現される。アクセス制御リスト設定手段１０６１は、例えば、プログラムに従って動作するＣＰＵ、及び、アクセス制御装置３１との間の通信インタフェースによって実現される。ここに挙げた各手段を実現するためのＣＰＵは、共通のＣＰＵであってよい。
【００５０】
ポリシ格納手段１０２１は、記憶装置内に、アクセス制御ポリシを格納する。ポリシ編集手段１０１１は、アクセス制御ポリシの編集を行うためのユーザインタフェースをユーザに提供する。ポリシ編集手段１０１１は、ユーザの操作に応じて、ポリシ格納手段１０２１に格納されたアクセス制御ポリシの検索、参照、追加、修正、削除等を行う。ポリシ編集手段１０１１は、ポリシ格納手段１０２１内のアクセス制御ポリシの追加、修正、削除を行うと、ポリシ解析手段１０３１に、アクセス制御ポリシの変更があった旨の通知を行う。
【００５１】
図６は、アクセス制御ポリシの具体例を示している。アクセス制御ポリシは、ポリシＩＤ、アクセス可否、ユーザグループ、位置、及び、リソースの項目を有する。項目「ポリシＩＤ」には、個々のアクセス制御ポリシを特定するためのＩＤが格納される。このＩＤは、アクセス制御ポリシがポリシ格納手段１０２１に格納される際に、ポリシ編集手段１０１１又はポリシ格納手段１０２１によって一意に割り当てられる。項目「アクセス可否」は、ユーザグループ、アクセス元となるユーザの位置、及び、アクセス先となるリソースの条件が満たされた場合に、アクセスを許可するか否かを示す。
【００５２】
項目「ユーザグループ」、「位置」、及び、「リソース」には、それぞれ０個以上の名前型オブジェクトが記述される。アクセス制御ポリシに記述される名前型オブジェクトは、知識データベース２１に格納されているオブジェクト知識の中に含まれている。また、名前型オブジェクトが０個となるのは、その項目に対応する実体型オブジェクトが存在しない場合である。例えば、アクセス元となるユーザの位置を制限しない場合には、位置の項目に対応する実体型オブジェクトは存在せず、その項目には、名前型オブジェクトが記述されない。
【００５３】
ポリシ解析手段１０３１及びアクセス制御リスト設定手段１０６１は、アクセス制御情報生成手段を構成する。ポリシ解析手段１０３１は、アクセス制御ポリシの変更があった旨の通知を受け取ると、ポリシ格納手段１０２１から、変更後のアクセス制御ポリシを読み込む。ポリシ解析手段１０３１は、知識データベース２１を参照して、読み込んだアクセス制御ポリシに記述された名前型オブジェクトを、実体型オブジェクトの集合に置き換えながら、中間言語を生成する。アクセス制御リスト設定手段１０６１は、ポリシ解析手段１０３１から中間言語を取得して、その取得した中間言語から、アクセス制御リストを生成する。
【００５４】
アクセス制御装置３１は、アクセス制御リスト格納手段３０１１と、アクセス制御手段３０２とを備える。アクセス制御リスト格納手段３０１１は、例えば、プログラムに従って動作するＣＰＵ、記憶装置及びポリシエンジン１１との通信インタフェースによって実現される。アクセス制御手段３０２は、プログラムに従って動作するＣＰＵ、及びポリシエンジン１１との通信インタフェースによって実現される。ここに挙げた各手段を実現するためのＣＰＵは、共通のＣＰＵであってよい。
【００５５】
アクセス制御リスト格納手段３０１１は、記憶装置内に、アクセス制御リストを格納する。アクセス制御リスト格納手段３０１１は、ポリシエンジン１１が、新たにアクセス制御リストを生成すると、現在格納しているアクセス制御リストを、新たに生成されたアクセス制御リストで更新する。アクセス制御手段３０２は、アクセス制御リスト格納手段３０１１に格納されたアクセス制御リストが更新されると、更新後のアクセス制御リストを読み込み、読み込んだアクセス制御リストの内容に従って、監視対象のネットワーク等のアクセス制御を行う。
【００５６】
図７は、図６に示すアクセス制御ポリシから生成される中間言語の具体例を示している。中間言語は、ポリシＩＤ、アクセス可否、ユーザＩＤ、アクセス元、及び、アクセス先の項目を有する。ポリシＩＤ及びアクセス可否は、それぞれ生成元のアクセス制御ポリシと同じ情報を有する。ユーザＩＤは、アクセス制御ポリシのユーザグループに記述された名前型オブジェクト（グループ名）から展開された、ユーザＩＤ等のユーザを特定する情報（実体型オブジェクト）を有する。図７の例では、ユーザＩＤの項目は、図６に示す「ポリシ会議メンバ」を展開することにより、ユーザＩＤの実体型オブジェクトとして得られる「ＵｓｅｒＡ」及び「ＵｓｅｒＢ」を有する。
【００５７】
アクセス元は、アクセス制御ポリシの位置に記述された名前型オブジェクトから展開された、アクセス元のＩＰアドレスや、ポート番号、プロトコル等のアクセス元を示す情報（実体型オブジェクト）を有する。また、アクセス先は、アクセス制御ポリシのリソースに記述された名前型オブジェクトから展開された、アクセス先のＩＰアドレスや、ポート番号、プロトコル等のアクセス先の情報（実体型オブジェクト）を有する。図７の例では、アクセス元の項目は、図６に示す「本社オフィス会議室Ａ」等を展開することにより、アクセス元の実体型オブジェクトとして得られる「1.1.1.0/255.255.255.0」等を有し、アクセス先の項目は、「本社資料ファイルサーバ」等を展開することにより、アクセス先の実体型オブジェクトとして得られる「3.3.3.3:138(tcp)」等を有する。
【００５８】
図８は、図７に示す中間言語から生成されるアクセス制御リストの具体例を示している。この例では、アクセス制御リストは、アクセス可否と、プロトコルと、アクセス元ＩＰアドレスと、アクセス先ＩＰアドレスと、アクセス元ポート番号と、アクセス先ポート番号と、ユーザＩＤとの組合せを１行としている。これら各行の集合がアクセス制御リストとなる。アクセス制御リストの各行は、中間言語に含まれる「アクセス可否」、「ユーザＩＤ」、「アクセス元」、「アクセス先」から一つずつの要素を抽出して、その要素の組み合わせることにより生成される。
【００５９】
中間言語には、アクセス元となる実体型オブジェクトの集合と、アクセス先となる実体型オブジェクトの集合とを有するルールが含まれる。各ルールには、それぞれ生成元となるアクセス制御ポリシのＩＤが記述される。図７に示す例では、アクセス制御ポリシから生成された一つのルールのみを含んでいる場合を示している。図９は、アクセス制御ポリシの他の例を示している。そして、図１０及び図１１は、図９に示すアクセス制御ポリシから生成された９個のルールを示している。図１０及び図１１に示す９個のルールからは、図１２に示すようなアクセス制御リストが生成される。ただし、図１２では、９個のルールから生成されたアクセス制御リストの一部を抜粋して示し、その他を省略している。
【００６０】
図１３は、アクセス制御システムの動作例をフローチャートで示している。ポリシ編集手段１０１１は、管理者等のユーザに対して、アクセス制御ポリシの編集を行うためのユーザインタフェースを提示する（ステップＡ１０）。図１４は、ステップＡ１０でユーザに提示される、アクセス制御ポリシの選択に用いられるユーザインタフェースを示している。ポリシ編集手段１０１１は、ポリシ格納手段１０２１から、アクセス制御ポリシのリストを取得し、そのリストを図１４に示すようなユーザインタフェース上に表示する。このユーザインタフェース上には、既存のアクセス制御ポリシのリストと共に、ユーザにアクセス制御ポリシの選択を促すための選択ボタン５１が表示される。
【００６１】
ユーザが、図１４に示すユーザインタフェース上で、既存のアクセス制御ポリシを選択すると、ポリシ編集手段１０１１は、選択されたアクセス制御ポリシを、ポリシ格納手段１０２１から取得する。そして、オブジェクト知識管理手段２０２１に、ユーザグループ、位置及びリソースのそれぞれに該当する名前型オブジェクトのリストの取得を要求する。オブジェクト知識管理手段２０２１は、ポリシ編集手段１０１１からの要求に応じて、オブジェクト知識格納手段２０３１から名前型オブジェクトのリストを抽出し、抽出したリストをポリシ編集手段１０１１に出力する。
【００６２】
図１５は、ステップＡ１０でユーザに提示される、アクセス制御ポリシの編集用ユーザインタフェースを示している。ポリシ編集手段１０１１は、ポリシ格納手段１０２１から取得したアクセス制御ポリシ、及び、オブジェクト知識管理手段２０２１から入力された名前型オブジェクトのリストに基づいて、図１５に示すような編集用インタフェースを作成し、これを表示画面上に表示する。この編集用インタフェース上には、選択可能な名前型オブジェクトがリストとして表示されると共に、ユーザに選択を促すための選択ボタンが表示される。ユーザは、例えば選択ボタン上にマウスカーソルを合わせ、クリックすることにより、その選択ボタンに該当する名前型オブジェクトの選択状態を変更する。
【００６３】
図１５に示す例では、ポリシ編集手段１０１１は、「ユーザグループの選択」欄に、ユーザグループの名前型オブジェクトのリストを選択ボタンと共に表示する。同様に、「位置の選択」欄に、位置の名前型オブジェクトのリスト及び選択ボタンを表示し、「リソースの選択」欄に、リソースの名前型オブジェクトのリスト及び選択ボタンを表示する。ポリシ編集手段１０１１は、ポリシ格納手段１０２１から得たアクセス制御ポリシの記述内容に応じて、既に設定されている内容に該当する選択ボタンを所定の表示態様で表示する。例えば、既に設定されている内容に該当する選択ボタンを黒色で表示している。
【００６４】
図１４に示すユーザインタフェースにおいて「新規」が選択された場合には、ポリシ編集手段１０１１は、ポリシ格納手段１０２１から既存のアクセス制御ポリシを取得することなく、アクセス制御ポリシの編集用のユーザインタフェースを、表示画面上に表示すればよい。この場合、ポリシ編集手段１０１１は、オブジェクト知識管理手段２０２１から入力された名前型オブジェクトのリストと共に、初期状態、例えば、白色表示の状態とした選択ボタンを、アクセス制御ポリシの編集用のユーザインタフェースの表示画面上に表示する。
【００６５】
図１５に示す「ポリシの説明」は、例えば、ユーザがアクセス制御ポリシを認識できるようなアクセス制御ポリシの名称を示している。ポリシ格納手段１０２１は、「ポリシの説明」に入力された内容を、アクセス制御ポリシと対応させて格納している。ポリシ編集手段１０１１は、ポリシ格納手段１０２１からアクセス制御ポリシのリストを取得する際には、「ポリシの説明」に入力された内容のリストを取得する。これにより、図１４に示すユーザインタフェース上には、図１５に示す「ポリシの説明」に入力された記述内容のリストが、アクセス制御ポリシのリストとして表示される。
【００６６】
ユーザが、アクセス制御ポリシの編集を行って、図１５に示す「ポリシ決定」ボタンをクリックすると、ポリシ編集手段１０１１は、編集用ユーザインタフェース上で編集されたアクセス制御ポリシをポリシ格納手段１０２１に出力し、ポリシ格納手段１０２１は、格納するアクセス制御ポリシを、編集後のアクセス制御ポリシで更新する（ステップＡ２０）。このとき、新規に作成されたアクセス制御ポリシに対しては、ポリシ格納手段１０２１がアクセス制御ポリシを格納する際に、アクセス可否の情報（図６参照）が付加される。アクセス可否の情報としては、一律に「許可」を付与してもよく、一律に「不許可」を付与してもよい。また、アクセス可否の情報を「許可」と「不許可」のいずれにするのかをユーザに入力させてもよい。ユーザが、図１５に示す「編集中止」ボタンをクリックした場合には、編集用ユーザインタフェース上で編集された内容は破棄される。
【００６７】
ポリシ編集手段１０１１は、アクセス制御ポリシが更新された後、ポリシ解析手段１０３１に、アクセス制御ポリシが更新された旨の通知を行う（ステップＡ３０）。ポリシ解析手段１０３１は、更新通知を受け取ると、ポリシ格納手段１０２１から、アクセス制御ポリシを読み込んで、内容の解析を行う。そして、読み込んだアクセス制御ポリシから得られるルールを生成して、そのルールの集合である中間言語を生成する（ステップＡ４０）。アクセス制御リスト設定手段１０６１は、ポリシ解析手段１０３１が生成した中間言語を入力し、入力した中間言語に基づいてアクセス制御リストを生成する（ステップＡ５０）。
【００６８】
図１６は、ステップＡ４０の中間言語生成処理の詳細な手順をフローチャートで示している。ポリシ解析手段１０３１は、ポリシ編集手段１０１１から、更新通知を受け取る（ステップＡ４０１）。ポリシ解析手段１０３１は、ポリシ格納手段１０２１に格納されたアクセス制御ポリシを全て読み込む（Ａ４０２）。ポリシ解析手段１０３１は、読み込んだアクセス制御ポリシの中に、未展開の名前型オブジェクトがあるか否かを判断する（ステップＡ４０３）。ポリシ解析手段１０３１は、未展開の名前型オブジェクトがあると判断するときには、オブジェクト知識管理手段２０２１に対して、その未展開の名前型オブジェクトを受け渡して、その名前型オブジェクトを起点とする展開を要求する（ステップＡ４０４）。
【００６９】
オブジェクト知識管理手段２０２１は、オブジェクト知識格納手段２０３１を参照して、ポリシ解析手段１０３１から受け取った名前型オブジェクトを起点として展開を行う（ステップＡ４０５）。ステップＡ４０５では、名前型オブジェクトから実体型オブジェクトへ向かう経路を探索し、実体型オブジェクトの集合を得る。前述のように、探索手法としては、深さ優先探索や幅優先探索を採用できる。また、オブジェクト知識管理手段２０２１は、例えば、既に探索した実体型オブジェクトに辿り着いた場合、その実体型オブジェクトを重複して取得することは行わず、既に通過した名前型オブジェクトに再度辿り着いた場合、その名前型オブジェクトからの探索は行わない。
【００７０】
ポリシ解析手段１０３１は、オブジェクト知識管理手段２０２１から、展開により得られた実体型オブジェクトの集合を受け取り、アクセス制御ポリシ中に記述された名前型オブジェクトを、実体型オブジェクトの集合に置き換える処理を行う（ステップＡ４０６）。ステップＡ４０６では、ポリシ解析手段１０３１は、例えば、「ポリシ会議メンバ」という名前型オブジェクトから「ＵｓｅｒＡ」及び「ＵｓｅｒＢ」という実体型オブジェクトが得られたときには、図６に示すアクセス制御ポリシ中の「ポリシ会議メンバ」という名前型オブジェクトを、「ＵｓｅｒＡ」及び「ＵｓｅｒＢ」という実体型オブジェクトに置き換える。
【００７１】
ステップＡ４０４〜Ａ４０６までは、ステップＡ４０３で、未展開の名前型オブジェクトがないと判断されるまで繰り返し実行される。この過程により、アクセス制御ポリシ中に、ユーザグループ、位置及びリソース等として記述された名前型オブジェクトが、全て、実体型オブジェクトの集合に置き換えられる。ポリシ解析手段１０３１は、名前型オブジェクトから展開された実体型オブジェクトを含むアクセス制御ポリシを中間言語の記述形式に変換し、中間言語を生成する（ステップＡ４０７）。本実施形態では、ポリシ格納手段１０２１からすべてのアクセス制御ポリシを読み込み、そのアクセス制御ポリシに基づいて中間言語を生成している。従って、ステップＡ４０７で生成される中間言語には、全てのアクセス制御ポリシから得られるルールが全て含まれている。ポリシ解析手段１０３１は、生成した中間言語をアクセス制御リスト設定手段１０６１に出力する（ステップＡ４０８）。
【００７２】
図１７は、ステップＡ５０のアクセス制御リスト生成処理の詳細な手順をフローチャートで示している。アクセス制御リスト設定手段１０６１は、ポリシ解析手段１０３１が生成した中間言語を入力する（ステップＡ５０１）。アクセス制御リスト設定手段１０６１は、中間言語の中に、後述のステップＡ５０３（組み合わせ生成処理）を行っていないルールがあるか否かを判別する（ステップＡ５０２）。アクセス制御リスト設定手段１０６１は、まだ、組合せ生成処理を行っていないルールがあると判断したときには、中間言語のルールから、アクセス制御リストの行として記述することのできる各組み合わせを生成する（ステップＡ５０３）。
【００７３】
アクセス制御リスト設定手段１０６１は、組合せ生成処理を行っていないルールがないと判断したときには、生成された各組み合わせをアクセス制御リスト（行）の記述形式に変換し、アクセス制御リストを生成する（ステップＡ５０４）。中間言語には、上記したように、全てのアクセス制御ポリシから得られるルールが全て含まれている。従って、アクセス制御リストには、全てのルールに基づいて生成される行が全て含まれている。アクセス制御リスト設定手段１０６１は、生成したアクセス制御リストをアクセス制御リスト格納手段３０１１に出力する（ステップＡ５０５）。
【００７４】
ステップＡ５０３では、アクセス制御リスト設定手段１０６１は、各ルールに含まれる実体型オブジェクトの集合に含まれる要素を、ユーザＩＤ、アクセス元及びアクセス先ごとに１つずつ取り出して、各組合せを生成する。ユーザＩＤ、アクセス元及びアクセス先から１つずつ取り出した要素を組み合わせることで、アクセス制御リストの一つの行が生成される。
【００７５】
ただし、一つの要素となる項目は不変とは限らず、目的とするアクセス制御リストに応じて変わる。例えば、図７に例示した中間言語に含まれるルールでは、アクセス元に対応する項目は一つであり、アクセス元ＩＰアドレスが一つの要素となっている。また、アクセス先についても、ＩＰアドレスとポート番号とプロトコルの組み合わせが一つの要素として記述されている。一方、図１０及び図１１に例示した中間言語に含まれるルールでは、アクセス元については、ＩＰアドレスとポート番号がそれぞれ別々の要素となっている。また、アクセス先についても、ＩＰアドレスとポート番号がそれぞれ別々の要素となっており、ＩＰアドレスが一つの要素となり、ポート番号とプロトコルの組み合わせがもう一つの要素となっている。
【００７６】
図７に示す中間言語から、図８に示すアクセス制御リストを生成する例について説明する。図７では、ユーザＩＤに対応する要素の種類は２種類ある。また、アクセス元に対応する要素（ＩＰアドレス）の種類も２種類あり、アクセス先に対応する要素（ＩＰアドレスとポート番号とプロトコルの組み合わせ）は４種類ある。これら要素を、ユーザＩＤ、アクセス元及びアクセス先のそれぞれから１つずつ取り出し、取り出した要素を組み合わせて、これらを一つの行としていくと、図８に示すように、１６個の行が得られる。
【００７７】
また、中間言語からアクセス制御リストを生成する別の具体例として、図１０及び図１１に示す中間言語から、図１２に示すアクセス制御リストを生成する例について説明する。ここでは、図１０に示す１番目のルールに着目して説明する。このルールでは、ユーザＩＤに対応する要素の種類として、「i-takahashi」から「h-suzuki」までの５種類がある。アクセス元に対応する二つの要素のうちの一方（ＩＰアドレス）の種類は１種類であり、他方（ポート番号）の種類も１種類である。また、アクセス先に対応する二つの要素のうちの一方（ＩＰアドレス）の種類は１種類であり、他方（ポート番号とプロトコルの組み合わせ）の種類は、「１３７−１３８（ｕｄｐ）」等の５種類ある。従って、これらの要素毎に得られる内容の組み合わせから、図１２に示す１行目から２５行目までの行が得られる。図１０及び図１１に示す他のルールからも同様に、行が得られる。
【００７８】
なお、ユーザＩＤの要素として得られる各内容を行毎に分けずに、１行にまとめて記述することもできる。例えば、図１０に示す１番目のルールにおける５種類のユーザＩＤを、カンマで区切って、図１８に示すように、１つの行にまとめて記述してもよい。また、図１０及び図１１に示すルールでは、アクセス先に対応する要素である「ポート番号とプロトコルの組み合わせ」として、「１３７−１３８（ｕｄｐ）」という内容がある。このように複数のポート番号を含む場合、「１３７（ｕｄｐ）」及び「１３８（ｕｄｐ）」として分けて処理してもよい。
【００７９】
図１３に戻り、アクセス制御リスト格納手段３０１１は、アクセス制御リスト設定手段１０６１が生成したアクセス制御リストを入力して、現在格納している既存のアクセス制御リストを、新たに生成されたアクセス制御リストに置き換える（ステップＡ６０）。アクセス制御リストが置き換えられた後、アクセス制御リスト設定手段１０６１は、アクセス制御手段３０２に対して、アクセス制御の設定を指示する。設定指示を受け取ったアクセス制御手段３０２は、アクセス制御リスト格納手段３０１１からアクセス制御リストを読み込み、読み込んだアクセス制御リストの内容に従ったアクセス制御を実行する（Ａ０７０）。
【００８０】
本実施の形態では、アクセス制御ポリシには、ユーザＩＤ等を直接に記述せずに、名前型オブジェクトを用いて記述する。ポリシエンジン１１は、知識データベース２１を参照して、アクセス制御ポリシ中に記述されたユーザグループ等の名称を、ユーザＩＤ等に置き換えて、アクセス制御ポリシを生成する。ユーザは、編集や入力が容易な名称を、アクセス制御ポリシ中に記述すればよいため、詳細で複雑なアクセス制御リストを、簡易に生成することができる。
【００８１】
オブジェクト知識では、複数の名前型オブジェクトが、同一の実体型オブジェクトへの経路を有することができる。本実施形態では、このようなオブジェクト知識を用いて、ユーザグループからユーザＩＤへの展開を行う。このため、複数の組織に属するユーザをメンバとして含んでいるユーザグループについてアクセス制御を実現するアクセス制御リストを、簡易に生成でき、動的に変化するアドホックグループに対するアクセス制御を容易に実現できる。
【００８２】
第２実施形態
図１９は、本発明の第２実施形態のアクセス制御システムの構成を示している。アクセス制御システム１００ａは、ポリシエンジン１２と、知識データベース２２と、アクセス制御装置３とを備える。ポリシエンジン１２は、ポリシ編集手段１０１２と、ポリシ格納手段１０２２と、ポリシ解析手段１０３２と、アクセス制御リスト設定手段１０６２とを有する。知識データベース２２は、オブジェクト知識管理手段２０２２と、オブジェクト知識格納手段２０３２とを有する。本実施形態は、アクセス制御リストの更新の手法が、第１実施形態と相違する。
【００８３】
ポリシ編集手段１０１２は、アクセス制御ポリシが新規に作成され、或いは、変更がされると、そのアクセス制御ポリシのＩＤを含む更新通知を、ポリシ解析手段１０３２に出力する。ポリシ解析手段１０３２は、更新通知に含まれるＩＤによって特定されるアクセス制御ポリシを、ポリシ格納手段１０２２から読み出し、そのアクセス制御ポリシに対応するルール（中間言語の一部）を生成する。
【００８４】
アクセス制御リスト設定手段１０６２は、ポリシ解析手段１０３２が生成したルールからアクセス制御リストの追加・変更部分を生成する。アクセス制御リスト格納手段３０１は、アクセス制御リストの各行が、どのアクセス制御ポリシに対応して生成されたかを示す情報を保持している。アクセス制御リスト格納手段３０１は、アクセス制御リスト設定手段１０６２が生成したアクセス制御リストの追加・変更部分を入力し、格納するアクセス制御リストのうち、追加・変更部分に対応する部分のみを更新する。その他の動作については第１実施形態と同様である。
【００８５】
図２０は、アクセス制御システム１００ａの動作例をフローチャートで示している。ポリシ編集手段１０１２は、ユーザに対して、アクセス制御ポリシの編集を行うためのユーザインタフェースを提示する（ステップＢ１０）。ユーザインタフェースの提示態様は、第１の実施の形態と同様である。ユーザが、アクセス制御ポリシの編集を行うと、ポリシ編集手段１０１２は、アクセス制御ポリシの編集部分をポリシ格納手段１０２２に出力し、ポリシ格納手段１０２２は、格納するアクセス制御ポリシを、編集後のアクセス制御ポリシで更新する（ステップＢ２０）。
【００８６】
ポリシ編集手段１０１２は、アクセス制御ポリシが更新された後、ポリシ解析手段１０３２に、アクセス制御ポリシが更新された旨の通知を行う（ステップＢ３０）。このときポリシ編集手段１０１２に通知される更新通知には、例えば、アクセス制御ポリシの更新部分を特定する情報として、新規の、又は、編集されたアクセス制御ポリシのＩＤが含まれ、また、その更新部分に対して行われた操作の種類が含まれる。操作の種類には、例えば、追加、修正、削除などがある。ポリシ解析手段１０３２は、更新通知を受け取ると、アクセス制御リスト設定手段１０６２に、更新通知を受け渡す（ステップＢ４０）。
【００８７】
アクセス制御リスト設定手段１０６２は、更新通知を受け取ると、アクセス制御リスト格納手段３０１に格納されているアクセス制御リストの中に、更新通知に含まれるポリシＩＤに対応する行が存在するか否かを判別する（ステップＢ５０）。アクセス制御リスト設定手段１０６２は、アクセス制御リストの中に、更新通知に含まれるポリシＩＤに対応する行が存在すると判断すると、格納するアクセス制御リストから、そのポリシＩＤに対応する行を削除する（ステップＢ６０）。ポリシ解析手段１０３２は、更新通知に含まれる操作の種類を特定する（ステップＢ７０）。
【００８８】
ポリシ解析手段１０３２は、操作の種類が例えば追加、修正であると特定すると、ポリシ格納手段１０２２から、更新通知に含まれるポリシＩＤによって特定されるアクセス制御ポリシを読み出して解析を行い、そのアクセス制御ポリシに基づいて、追加・修正部分に対応するルールを生成する（ステップＢ８０）。アクセス制御リスト設定手段１０６２は、ポリシ解析手段１０３２が生成したルールを入力し、入力した中間言語に基づいてアクセス制御リストの一部を生成する（ステップＢ９０）
【００８９】
図２１は、ステップＢ８０のルール生成処理の詳細な手順をフローチャートで示している。ポリシ解析手段１０３２は、ポリシ編集手段１０１２から、更新通知を受け取る（ステップＢ８０１）。ポリシ解析手段１０３２は、更新通知に含まれるポリシＩＤによって特定されるアクセス制御ポリシを、ポリシ格納手段１０２２から読み込む（ステップＢ８０２）。ポリシ解析手段１０３２は、読み込んだアクセス制御ポリシの中に未展開の名前型オブジェクトがあるか否かを判断する（ステップＢ８０３）。ポリシ解析手段１０３２は、未展開の名前型オブジェクトがあると判断するときには、オブジェクト知識管理手段２０２２に、未展開の名前型オブジェクトを受け渡して、その名前型オブジェクトを起点とする展開を要求する（ステップＢ８０４）。
【００９０】
オブジェクト知識管理手段２０２２は、オブジェクト知識格納手段２０３２を参照して、ポリシ解析手段１０３１から受け取った名前型オブジェクトを起点として展開を行う（ステップＢ８０５）。オブジェクト知識管理手段２０２２は、この展開により、実体型オブジェクトの集合を得る。ポリシ解析手段１０３２は、オブジェクト知識管理手段２０２２から、実体型オブジェクトの集合を受け取り、ステップＢ８０２で読み込んだアクセス制御ポリシ中に記述された名前型オブジェクトを、実体型オブジェクトの集合に置き換える処理を行う（ステップＢ８０６）。
【００９１】
ステップＢ８０４〜Ｂ８０６までは、ステップＢ８０３で、未展開の名前型オブジェクトがないと判断されるまで繰り返し実行される。この過程により、更新通知に含まれるポリシＩＤから特定されるアクセス制御ポリシ中に、ユーザグループ、位置及びリソース等として記述された各名前型オブジェクトが、全て実体型オブジェクトの集合に置き換えられる。ポリシ解析手段１０３２は、名前型オブジェクトから展開された実体型オブジェクトを含むアクセス制御ポリシを中間言語の記述形式に変換し、ルールを生成する（ステップＢ８０７）。本実施形態では、ポリシ格納手段１０２２から更新対象のアクセス制御ポリシのみを読み込み、そのアクセス制御ポリシに基づいてルールを生成している。従って、ステップＢ８０７で生成されるルールは、ポリシ格納手段１０２２に格納された全てのアクセス制御ポリシのうちの一部分から得られるルールに対応している。ポリシ解析手段１０３２は、生成したルールをアクセス制御リスト設定手段１０６２に出力する（ステップＢ８０８）。
【００９２】
図２２は、ステップＢ９０のアクセス制御リストの一部を生成する処理の詳細な手順をフローチャートで示している。アクセス制御リスト設定手段１０６２は、ポリシ解析手段１０３２が生成したルールを入力する（ステップＢ９０１）。アクセス制御リスト設定手段１０６２は、受け取ったルールの中に、後述のステップＢ９０３（組み合わせ生成処理）を行っていないルールがあるか否かを判別する（ステップＢ９０２）。アクセス制御リスト設定手段１０６２は、まだ、組み合わせ生成処理を行っていないルールがあると判断したときには、そのルールから、アクセス制御リストの行として記述することのできる各組み合わせを生成する（ステップＢ９０３）。
【００９３】
アクセス制御リスト設定手段１０６２は、組合せ生成処理を行っていないルールがないと判断したときには、生成された各組み合わせをアクセス制御リスト（行）の記述形式に変換し、アクセス制御リストの行を生成する（ステップＢ９０４）。このとき、アクセス制御リスト設定手段１０６２は、生成した各行に、生成元のアクセス制御ポリシのＩＤを付与する。このようにして生成されたアクセス制御リストの行は、アクセス制御リストの一部を構成する。アクセス制御リスト設定手段１０６２は、生成したアクセス制御リストの行をアクセス制御リスト格納手段３０１２に出力する（ステップＢ９０５）。
【００９４】
図２０に戻り、アクセス制御リスト格納手段３０１は、アクセス制御リスト設定手段１０６２が生成した行を入力して、入力した行を、格納している既存のアクセス制御リストに追加して、アクセス制御リストを更新する（ステップＢ１００）。アクセス制御手段３０２は、アクセス制御リスト設定手段１０６２から、アクセス制御の設定の指示を受け取り、アクセス制御リスト格納手段３０１からアクセス制御リストを読み込み、読み込んだアクセス制御リストの内容に従ったアクセス制御を実行する（Ｂ１１０）。ステップＢ７０で、ポリシ解析手段１０３２が、操作の種類が削除であると特定すると、ステップＢ１１０に移行し、アクセス制御手段３０２は、ステップＢ６０で、行の一部が削除されたアクセス制御リストを読み込んで、読み込んだアクセス制御リストの内容に従ったアクセス制御を実行する。
【００９５】
本実施形態では、アクセス制御ポリシが新規に作成され、或いは、編集されると、アクセス制御リスト格納手段３０１に格納されたアクセス制御リストのうち、アクセス制御ポリシの変更部分に対応する部分を差分更新する。本実施形態では、第１実施形態と同様な効果が得られると共に、アクセス制御リストの全体を更新する第１実施形態に比して、アクセス制御リストの更新処理における処理量を大幅に削減できる。
【００９６】
アクセス制御リスト格納手段３０１には、ポリシエンジン１２によって生成されたアクセス制御リストの行以外に、管理者が手作業により生成したアクセス制御リストの行を格納することもできる。この場合、ポリシ編集手段１０１２によりアクセス制御ポリシの一部が変更されたときでも、管理者が手作業によって生成したアクセス制御リストの行は書き換えられず、そのまま残ることになる。従って、ポリシエンジン１２によって生成されたアクセス制御リストの行と、ポリシエンジン１２以外によって生成されたアクセス制御リストの行との間の独立性を向上させることができる。
【００９７】
第３実施形態
図２３は、本発明の第３実施形態のアクセス制御システムの構成を示している。アクセス制御システム１００ｂは、ポリシエンジン１３と、知識データベース２３と、アクセス制御装置３とを備える。ポリシエンジン１３は、ポリシ格納手段１０２３と、ポリシ解析手段１０３３と、アクセス制御リスト設定手段１０６３とを有する。知識データベース２２は、オブジェクト知識編集手段２０１と、オブジェクト知識管理手段２０２３と、オブジェクト知識格納手段２０３とを有する。
【００９８】
オブジェクト知識編集手段２０１は、例えば、プログラムに従って動作するＣＰＵ、入力装置、及び、出力装置によって実現される。オブジェクト知識編集手段２０１は、ユーザが、オブジェクト知識の編集を行うためのユーザインタフェースを提供する。オブジェクト知識管理手段２０２３は、オブジェクト知識編集手段２０１によって、オブジェクト知識が新規に作成され、又は、既存のオブジェクト知識が編集されると、新規の、又は、編集されたオブジェクト知識をオブジェクト知識格納手段２０３に格納させる。また、オブジェクト知識に変更があった旨をポリシ解析手段１０３３に通知する。
【００９９】
ポリシ解析手段１０３３は、オブジェクト知識に変更があった旨の通知を受け取ると、ポリシ格納手段１０２３を検索し、変更があったオブジェクト知識の名前型オブジェクトを含むアクセス制御ポリシを読み出す。また、オブジェクト知識管理手段２０２３から、実体型オブジェクトの集合を取得する。そして、読み出したアクセス制御ポリシと、取得した実体型オブジェクトの集合とに基づいて、ルール（中間言語の一部）を生成する。アクセス制御リスト設定手段１０６３は、ポリシ解析手段１０３３が生成したルールから、アクセス制御リストの行を生成する。
【０１００】
図２４は、アクセス制御システム１００ｂの動作例をフローチャートで示している。オブジェクト知識編集手段２０１は、ユーザに対して、オブジェクト知識の編集を行うためのユーザインタフェースを提示する（ステップＣ１０）。図２５は、Ｃ１０でユーザに提示される、オブジェクト知識の選択に用いられるユーザインタフェースを示している。同図では、ユーザグループ選択用のユーザインタフェースを示している。オブジェクト知識編集手段２０１は、オブジェクト知識格納手段２０３から、既存の名前型オブジェクトを取得する。オブジェクト知識編集手段２０１は、取得した名前型オブジェクトのリストを、選択ボタンと共に、同図に示すようなインタフェース上に表示して、ユーザに名前型オブジェクトの選択を促す。
【０１０１】
図２６は、ステップＣ１０でユーザに提示される、オブジェクト知識の編集用ユーザインタフェースを示している。ユーザが、図２５に示すユーザインタフェース上で、既存のユーザグループを選択すると、オブジェクト知識編集手段２０１は、選択されたユーザグループに対応する名前型オブジェクトをオブジェクト知識管理手段２０２３に受け渡す。オブジェクト知識管理手段２０２３は、オブジェクト知識格納手段２０３を参照して、ユーザによって選択された名前型オブジェクトを基点として展開を行い、実体型オブジェクトの集合を取得する。オブジェクト知識編集手段２０１は、オブジェクト知識管理手段２０２３によって取得された実体型オブジェクトのリストを含むオブジェクト知識編集用のユーザインタフェースを作成し、これを表示画面上に表示する。
【０１０２】
また、オブジェクト知識管理手段２０２３は、オブジェクト知識格納手段２０３を参照して、ユーザによって選択された名前型オブジェクトから直接に経路を有する名前型オブジェクトを取得する。オブジェクト知識編集手段２０１は、オブジェクト知識管理手段２０２３によって取得された名前型オブジェクトのリストを、オブジェクト知識編集用のユーザインタフェース上に表示する。
【０１０３】
図２６に示す例では、オブジェクト知識編集手段２０１は、「ユーザグループの名称」欄に、ユーザに選択された名前型オブジェクトを表示する。また、「追加されたユーザＩＤの一覧」欄に、展開により得られたユーザＩＤのリストを、選択ボタンと共に表示する。オブジェクト知識編集手段２０１は、「追加するユーザＩＤの入力」欄に、実体型オブジェクトとして追加するユーザＩＤの入力を促す。オブジェクト知識編集手段２０１は、ユーザによって、追加するユーザのＩＤが入力され、「追加」ボタンがマウスクリックされると、入力されたユーザのＩＤを、「追加されたユーザＩＤの一覧」欄に追加する。また、「追加されたユーザＩＤの一覧」欄において、選択ボタンがマウスクリックされ、「削除」ボタンがマウスクリックされると、一覧から、選択されたユーザＩＤを削除する。
【０１０４】
オブジェクト知識編集手段２０１は、「含めるユーザグループの選択」欄に、ユーザによって選択された名前型オブジェクトからの経路を有する名前型オブジェクトのリストを、選択ボタンと共に表示する。ユーザは、選択ボタンをマウスクリックして、「ユーザグループの名称」欄に表示された名前型オブジェクトから経路を伸ばされる名前型オブジェクトを選択する。オブジェクト知識編集手段２０１は、選択された名前型オブジェクトを、「ユーザグループの名称」欄に表示された名前型オブジェクトから経路を伸ばさせる名前型オブジェクトとして認識する。以上では、ユーザグループに関するオブジェクト知識を編集する場合について説明したが、位置やリソースに関するオブジェクト知識を編集する場合についても、同様である。
【０１０５】
ユーザが、オブジェクト知識の編集を行って、図２６に示す「決定」ボタンをクリックすると、オブジェクト知識編集手段２０１は、編集用ユーザインタフェース上で編集されたオブジェクト知識を、オブジェクト知識管理手段２０２３に出力する。このとき、オブジェクト知識編集手段２０１は、編集の種別、例えば追加、修正、又は、削除を示す指示を、オブジェクト知識管理手段２０２３に出力する。オブジェクト知識格納手段２０３は、オブジェクト知識管理手段２０２３に入力されたオブジェクト知識の内容や、指示に基づいて、格納するオブジェクト知識を更新する（ステップＣ２０）。
【０１０６】
オブジェクト知識格納手段２０３が格納するオブジェクト知識が更新されると、オブジェクト知識管理手段２０２３は、更新後のオブジェクト知識を検索して、更新により影響を受けた名前型オブジェクトを抽出する。この検索では、まず、ユーザによって直接更新された名前型オブジェクトが抽出され、次いで、直接更新された名前型オブジェクトを辿ることになる名前型オブジェクト、つまり、間接的に更新された名前型オブジェクトを抽出する。間接的に更新された名前型オブジェクトを更に辿ることになる名前型オブジェクトがあるときには、その名前型オブジェクトも、間接的に更新された名前型オブジェクトとして抽出する。オブジェクト知識管理手段２０２３は、オブジェクト知識が更新された旨と、検索により抽出された名前型オブジェクトとを、ポリシ解析手段１０３３に通知する（ステップＣ３０）。
【０１０７】
ポリシ解析手段１０３３は、オブジェクト知識の更新通知を受け取ると、ポリシ格納手段１０２２内に、オブジェクト知識管理手段２０２３から通知された名前型オブジェクトが使用されるアクセス制御ポリシが存在するか否かを調査する（ステップＣ４０）。調査の結果、通知された名前型オブジェクトが使用されるアクセス制御ポリシが存在しないときには、そのまま処理を終了する。調査の結果、通知された名前型オブジェクトが使用されるアクセス制御ポリシが存在するときには、ポリシ解析手段１０３３は、通知された名前型オブジェクトが使用されるアクセス制御ポリシのＩＤを、アクセス制御リスト設定手段１０６３に通知する（ステップＣ５０）。
【０１０８】
アクセス制御リスト格納手段３０１は、アクセス制御リストの各行に、生成もとのアクセス制御ポリシのＩＤを付与して、各行と、生成元となるアクセス制御ポリシのＩＤとを対応付けて格納している。アクセス制御リスト設定手段１０６３は、アクセス制御リスト格納手段３０１が格納する既存のアクセス制御リスト内に、ポリシ解析手段１０３３から通知されたアクセス制御ポリシのＩＤに対応する行が存在するか否かを判断する（ステップＣ６０）。アクセス制御リスト設定手段１０６３は、既存のアクセス制御リスト内に、通知されたアクセス制御ポリシのＩＤに対応する行があると判断するときには、その行を、アクセス制御リストから削除する（ステップＣ７０）。
【０１０９】
ポリシ解析手段１０３３は、通知された名前型オブジェクトが使用されるアクセス制御ポリシを、ポリシ格納手段１０２３から読み出し、そのアクセス制御ポリシに基づいてルールを生成する（ステップＣ８０）。ステップＣ８０で生成されるルールは、アクセス制御ポリシ格納手段１０２３に格納されたアクセス制御ポリシから生成される中間言語の一部に該当する。アクセス制御リスト設定手段１０６３は、ポリシ解析手段１０３３が生成したルールを入力し、そのルールをアクセス制御リスト（行）の記述形式に変換して、アクセス制御リストの行を生成する（ステップＣ９０）。
【０１１０】
アクセス制御リスト格納手段３０１は、アクセス制御リスト設定手段１０６３が生成した行を入力し、入力した行を、格納するアクセス制御リストに追加して、アクセス制御リストを更新する（ステップＣ１００）。アクセス制御リストが更新されたことを受けて、アクセス制御リスト設定手段１０６３は、アクセス制御手段３０２に対して、アクセス制御の設定を指示する。設定指示を受け取ったアクセス制御手段３０２は、アクセス制御リスト格納手段３０１からアクセス制御リストを読み込んで、その内容に沿ったアクセス制御を実行する（ステップＣ１１０）。
【０１１１】
本実施の形態では、オブジェクト知識編集手段２０１によって、オブジェクト知識の編集が可能であり、ポリシエンジン１３は、既存のオブジェクト知識の変更が加えられたときには、その変更に応じて、アクセス制御リストを生成しなおす。このため、例えば、アドホックグループのメンバに変更があったときには、ユーザは、オブジェクト知識を編集して、そのアドホックグループに対応するユーザグループと、他のユーザグループ又はユーザＩＤとの経路を変更すれば、アクセス制御ポリシを変更しなくても、変更後のアドホックグループに対するアクセス制御を実現できる。従って、アドホックグループのメンバが頻繁に変更される場合でも、そのアドホックグループに対するアクセス制御を容易に実現できる。
【０１１２】
本実施形態では、例えば、アクセス先のリソースについて、サーバやファイルのアドレスなどの情報が変化した場合には、アクセス制御ポリシに変更を加えなくても、オブジェクト知識を編集して、アクセス先の名称を展開して得られるアドレス等に変更を加えることで、変更後のアクセス先のリソースに対するアクセス制御を実現できる。また、例えば、アクセス元の位置について、引越しによって別の場所に移った、或いは、内部関係者のみが使える部屋だった場所が、来訪者も使用できる場所に変化したなど、状態に変化があった場合には、その変化に応じて、オブジェクト知識を編集することで、その変化に応じたアクセス制御を実現できる。このため、システムの構成の変化や、部門の引越し等の変化があった場合でも、容易にアクセス制御が実現できる。
【０１１３】
第４実施形態
図２７は、本発明の第４実施形態のアクセス制御システム構成を示している。アクセス制御システム１００ｃは、ポリシエンジン１と、知識データベース２と、アクセス制御装置３とを備える。本実施形態では、アクセス制御システム１００ｃは、ポリシエンジン１３（図２３）に代えて、ポリシエンジン１を備える点で、第３実施形態のアクセス制御システム１００ｂと相違する。ポリシエンジン１は、ポリシ編集手段１０１と、ポリシ格納手段１０２と、ポリシ解析手段１０３と、中間言語格納手段１０４と、時刻管理手段１０５と、アクセス制御リスト設定手段１０６とを有する。中間言語格納手段１０４は、例えば、プログラムに従って動作するＣＰＵ及び記憶装置によって実現される。時刻管理手段１０５は、例えば、プログラムに従って動作するＣＰＵによって実現される。
【０１１４】
ポリシ格納手段１０２は、記憶装置内に、アクセス制御ポリシを格納する。本実施形態では、アクセス制御ポリシには、図６に示す「ＩＤ」、「アクセス可否」、「ユーザグループ」、「位置」及び「リソース」を示す情報に加えて、時刻条件として、アクセス制御ポリシが有効となる時間帯の情報、例えばその時間帯の開始時刻及び終了時刻の情報を記述できる。
【０１１５】
ポリシ編集手段１０１は、アクセス制御ポリシの編集を行うためのユーザインタフェースをユーザに提供する。ポリシ編集手段１０１は、ユーザの操作に応じて、ポリシ格納手段１０２に格納されたアクセス制御ポリシの検索、参照、追加、修正、削除等を行う。ポリシ編集手段１０１は、ユーザによってアクセス制御ポリシに変更が加えられると、変更されたアクセス制御ポリシのＩＤを含む更新通知を、ポリシ解析手段１０３に入力する。
【０１１６】
ポリシ解析手段１０３は、更新通知を受け取ると、ポリシ格納手段１０２から、更新通知に含まれるアクセス制御ポリシのＩＤを有するアクセス制御ポリシを読み込む。そして、知識情報データベース２を参照して、読み込んだアクセス制御ポリシに記載された名前型オブジェクトを、実体型オブジェクトの集合に置き換えながら、ルール（中間言語の一部）を生成する。中間言語格納手段１０４は、ポリシ解析手段１０３によって生成されたルールを記憶装置内に格納する。
【０１１７】
ポリシ解析手段１０３は、ルールを生成する際に、読み込んだアクセス制御リストに時刻情報が含まれるときには、その時刻情報に基づいてイベントを生成する。このイベントには、例えばイベント発生時刻や、追加や削除といった操作の種別、対象となるアクセス制御ポリシのＩＤが含まれる。時刻管理手段１０５は、ポリシ解析手段１０３によって生成されたイベントを入力し、これを記憶装置内に記憶する。このとき、時刻管理手段１０５は、入力したイベントを、既に記憶しているイベントとともに、時刻順に並べ替えて記憶する。
【０１１８】
時刻管理手段１０５は、記憶装置内に記憶する時刻順に並べられたイベントの集合を、スケジュールとして管理する。そして、現時刻が、イベント発生時刻となると、アクセス制御リスト設定手段１０６に、イベント発生通知を行う。このイベント発生通知には、例えば追加や削除といった操作の種別、対象となるアクセス制御ポリシのＩＤが含まれる。アクセス制御リスト設定手段１０６は、イベント発生通知を受け取ると、そのイベント発生通知の内容に従って、アクセス制御リスト格納手段３０１が格納するアクセス制御リストを更新する。
【０１１９】
図２８は、アクセス制御リストの編集から時刻管理手段１０５にイベントを登録するまでの処理手順をフローチャートで示している。ポリシ編集手段１０１は、ユーザに、アクセス制御ポリシの編集用ユーザインタフェースを提供する（ステップＤ１０）。図２９は、ステップＤ１０でユーザに提供されるアクセス制御ポリシの編集用ユーザインタフェースの例を示している。本実施形態のポリシ編集手段１０１がユーザに提供するユーザインタフェースは、「時刻条件」欄が設けられている点で、図１５に示すユーザインタフェースと相違する。ユーザは、図２９に示すユーザインタフェース上で、アクセス制御の内容を指定すると共に、そのアクセス制御が有効となる時間帯の開始時間及び終了時間を指定できる。
【０１２０】
ユーザは、図１４に示すユーザインタフェースと同様なユーザインタフェースから、編集対象のアクセス制御ポリシを、既存のアクセス制御ポリシのリストの中から選択する。ユーザは、例えば、既存のアクセス制御ポリシの時刻条件を変更する際には、「時刻条件」欄に、新たな時刻情報を入力する。
【０１２１】
ユーザが、アクセス制御ポリシの編集を行うと、ポリシ編集手段１０１は、編集されたアクセス制御ポリシをポリシ格納手段１０２に出力し、ポリシ格納手段１０２は、格納するアクセス制御ポリシを、編集後のアクセス制御ポリシで更新する（ステップＤ２０）。また、ポリシ編集手段１０１は、アクセス制御ポリシが更新された後、ポリシ解析手段１０３に、アクセス制御ポリシが更新された旨の通知を行う（ステップＤ３０）。このときポリシ編集手段１０１に通知される更新通知には、例えば、更新されたアクセス制御ポリシのＩＤと、その更新部分に対して行われた操作の種類と、編集されたアクセス制御ポリシが有効となる時間帯の開始時刻及び終了時刻の情報とが含まれる。
【０１２２】
ポリシ解析手段１０３は、更新部分に対して行われた操作の種類に応じて、更新されたアクセス制御ポリシをポリシ格納手段１０２から読み出し、そのアクセス制御ポリシから、ルールを作成する（ステップＤ４０）。ルールには、生成もとのアクセス制御ポリシのＩＤと同じＩＤが付与される。ポリシ解析手段１０３は、生成したルールを中間言語格納手段１０４に入力し、中間言語格納手段１０４は、ポリシ解析手段１０３から入力したルールに基づいて、格納する中間言語を更新する（ステップＤ５０）。
【０１２３】
ポリシ解析手段１０３は、編集されたアクセス制御リストに含まれる時刻情報に基づいて、イベントを生成し、これを時刻管理手段１０５に入力する。例えば、編集されたアクセス制御ポリシが時刻Ａから時刻Ｂまで有効であるとする。この場合、ポリシ解析手段１０３は、そのアクセス制御ポリシのＩＤ、時刻Ａの情報、及び、「追加」というイベント生成し、これを時刻管理手段１０５に入力する。また、そのアクセス制御ポリシのＩＤ、時刻Ｂの情報、及び、「削除」というイベントを時刻管理手段１０５に入力する。時刻管理手段１０５は、ポリシ解析手段１０３からイベントを入力して、既に記憶しているイベントと、新たに入力したイベントとを時刻順に並び替えて記憶する（ステップＤ６０）。
【０１２４】
ポリシ編集手段１０１によって、既存のアクセス制御ポリシが編集された場合、ポリシ解析手段１０３は、中間言語格納手段１０４に格納されている中間言語のうち、編集されたアクセス制御ポリシに対応する部分を更新する。このとき、ポリシ解析手段１０３は、時刻管理手段１０５に登録されているイベントの情報も更新する。また、ポリシ編集手段１０１によって、既存のアクセス制御ポリシが削除されると、ポリシ解析手段１０３は、削除されたアクセス制御ポリシのＩＤに対応する部分を、中間言語格納手段１０４から削除する。このとき、ポリシ解析手段１０３は、削除されたアクセス制御ポリシに対応するイベントの情報を、時刻管理手段１０５から削除する。
【０１２５】
図３０は、オブジェクト知識の編集から時刻管理手段１０５にイベントを登録するまでの処理手順をフローチャートで示している。知識データベース２は、第３の実施形態と同様な手順により、オブジェクト知識を更新する。オブジェクト知識編集手段２０１は、ユーザに対して、オブジェクト知識の編集を行うためのユーザインタフェースを提示する（ステップＣ１１）。編集用ユーザインタフェース上で編集されたオブジェクト知識は、オブジェクト知識管理手段２０２に入力され、オブジェクト知識格納手段２０３は、オブジェクト知識管理手段２０２に入力されたオブジェクト知識の内容等に基づいて、格納するオブジェクト知識を更新する（ステップＤ２１）。
【０１２６】
オブジェクト知識格納手段２０３が格納するオブジェクト知識が更新されると、オブジェクト知識管理手段２０２は、更新後のオブジェクト知識を検索して、オブジェクト知識の更新により影響を受けた名前型オブジェクトを抽出する。この検索により、ユーザによって直接更新された名前型オブジェクトと、間接的に更新された名前型オブジェクトが抽出される。オブジェクト知識管理手段２０２は、オブジェクト知識が更新された旨と、検索により抽出された名前型オブジェクトとを、ポリシ解析手段１０３に通知する（ステップＤ３１）。
【０１２７】
ポリシ解析手段１０３は、オブジェクト知識の更新通知を受け取ると、ポリシ格納手段１０２内に、オブジェクト知識管理手段２０２から通知された名前型オブジェクトが使用されるアクセス制御ポリシが存在するか否かを調査する（ステップＤ３２）。調査の結果、通知された名前型オブジェクトが使用されるアクセス制御ポリシが存在しないときには、そのまま処理を終了する。通知された名前型オブジェクトが使用されるアクセス制御ポリシが存在するときには、ポリシ解析手段１０３は、そのアクセス制御ポリシをポリシ格納手段１０２から読み出し、読み出したアクセス制御ポリシからルールを作成する（ステップＤ４１）。
【０１２８】
以降、図２８と同様に、ポリシ解析手段１０３は、生成したルールを中間言語格納手段１０４に入力し、中間言語格納手段１０４は、ポリシ解析手段１０３から入力したルールに基づいて、格納する中間言語を更新する（ステップＤ５０）。ポリシ解析手段１０３は、編集されたアクセス制御リストに含まれる時刻情報に基づいて、イベントを生成し、これを時刻管理手段１０５に入力する。時刻管理手段１０５は、ポリシ解析手段１０３からイベントを入力して、既に記憶しているイベントと、新たに入力したイベントとを時刻順に並び替えて記憶する（ステップＤ６０）。
【０１２９】
オブジェクト知識編集手段２０１によって、既存の名前型オブジェクトが編集された場合には、ポリシ解析手段１０３は、中間言語格納手段１０４に格納されている中間言語のうち、編集された名前型オブジェクトが使用されるアクセス制御ポリシに対応するルールを更新する。また、例えば、ある名前型オブジェクトから展開される実体型オブジェクトが１つだけであり、その実体型オブジェクトが削除された場合には、ポリシ解析手段１０３は、その名前型オブジェクトが使用されるアクセス制御ポリシに対応するルールを、中間言語格納手段１０４から削除する。このとき、ポリシ解析手段１０３は、そのアクセス制御ポリシに対応するイベントを時刻管理手段１０５から削除する。
【０１３０】
図３１は、時刻管理手段１０５の動作手順をフローチャートで示している。時刻管理手段１０５は、図２８又は図３０に示す手順により、時刻順に並べられたイベントの集合を、スケジュールとして記憶している。時刻管理手段１０５は、スケジュールの中から、イベントを、時刻が古いものから順に読み込む（ステップＤ７０）。そして、読み込んだイベントの時刻指定が、現在時刻よりも前の時刻を指定しているか否かを判断する（ステップＤ８０）。
【０１３１】
時刻管理手段１０５は、読み込んだイベントの時刻指定が、現在時刻よりも前の時刻を指定していると判断したときには、そのイベントを特定する情報、例えばそのイベントの操作と、アクセス制御ポリシのＩＤとを一時記憶装置に記憶し（ステップＤ９０）、ステップＤ７０へ戻り、次のイベントを読み込む。ポリシエンジン１は、読み込んだイベントの時刻指定が、現在時刻よりも後となるまで、ステップＤ７０からステップＤ９０を繰り返し実行し、時刻指定が現在時刻よりも前のイベントを全て一時記憶装置に記憶する。
【０１３２】
ステップＤ８０で、読み込んだイベントの時刻指定が現在時刻よりも後の時刻と判断されると、それまでに一時記憶装置に記憶したイベントの操作とアクセス制御ポリシのＩＤとを時刻通知として、アクセス制御リスト設定手段１０６に受け渡す（ステップＤ１００）。ただし、最初に読み込んだイベントの時刻指定が現在時刻よりも後であり、一時記憶装置にイベントの操作とアクセス制御ポリシのＩＤとが１件も記憶されていないときには、アクセス制御リスト設定手段１０６に受け渡すべき時刻通知がないため、時刻管理手段１０５は、ステップＤ１００を実行することなく処理を終了する。時刻管理手段１０５は、以上の処理を所定時間間隔で繰り返し実行する。
【０１３３】
図３２は、アクセス制御リストの更新処理の処理経過をフローチャートで示している。アクセス制御リスト設定手段１０６は、時刻管理手段１０５から、時刻通知として、例えば、ＩＤと操作の種類を受け取る（ステップＤ１１０）。アクセス制御リスト設定手段１０６は、アクセス制御リスト格納手段３０１に、時刻通知で通知されたアクセス制御ポリシのＩＤ、つまりは更新すべきアクセス制御ポリシのＩＤに対応する行が格納されているか否かを判断する（ステップＤ１２０）。アクセス制御リスト設定手段１０６は、更新すべきアクセス制御ポリシのＩＤに対応する行が格納されているときには、その行を削除する（ステップＤ１３０）。
【０１３４】
アクセス制御リスト設定手段１０６は、時刻通知として受け取った操作の種類を判別する（ステップＤ１４０）。操作の種類が「追加」であった場合、アクセス制御リスト設定手段１０６は、時刻通知として受け取ったＩＤに対応するルールを中間言語格納手段１０４から読み出し、読み出したルールに基づいて、アクセス制御リストの行を生成する（ステップＤ１５０）。
【０１３５】
図３３は、ステップＤ１５０の行生成処理の処理経過をフローチャートで示している。アクセス制御リスト設定手段１０６は、中間言語格納手段１０４から、時刻通知として受け取ったアクセス制御ポリシのＩＤに対応するルールを読み込む（ステップＤ１５０１）。アクセス制御リスト設定手段１０６は、読み込んだルールの中に後述のステップＤ１５０３（組み合わせ生成処理）を行っていないルールが有るか否かを判断する（ステップＤ１５０２）。
【０１３６】
アクセス制御リスト設定手段１０６は、まだ、組み合わせ生成処理を行っていないルールがあると判断する場合には、ステップＡ５０３（図１７）と同様な処理により、そのルールから、アクセス制御リストの行として記述することのできる各組み合わせを生成する（ステップＤ１５０３）。アクセス制御リスト設定手段１０６は、組み合わせ生成処理を行っていないルールがないと判断すると、生成された各組み合わせをアクセス制御リスト（行）の記述形式に変換し、行を生成する（ステップＤ１５０４）。
【０１３７】
図３２に戻り、アクセス制御リスト設定手段１０６は、アクセス制御リスト格納手段３０１に格納されている既存のアクセス制御リストに、ステップＤ１５０で生成した行を追加して、アクセス制御リストを更新する（ステップＤ１６０）。アクセス制御リストを更新した後、アクセス制御リスト設定手段１０６は、アクセス制御手段３０２に、アクセス制御の設定を指示する。アクセス制御手段３０２は、アクセス制御の設定の指示を受け取ると、アクセス制御リスト格納手段３０１からアクセス制御リストを読み込み、読み込んだアクセス制御リストの内容に沿ったアクセス制御を実行する（ステップＤ１７０）。
【０１３８】
ステップＤ１４０で、操作の種類が「削除」であると判断された場合には、アクセス制御リスト設定手段１０６は、ステップＤ１５０、Ｄ１６０の処理を行わずに、アクセス制御手段３０２に、アクセス制御の設定を指示して、ステップＤ１７０を実行させる。これにより、アクセス制御手段３０２は、ステップＤ１３０で、行が削除されたアクセス制御リストに基づいて、アクセス制御を実行する。
【０１３９】
本実施の形態では、アクセス制御ポリシが時間条件を有する場合には、時刻管理手段１０５によって、そのアクセス制御ポリシに対応する行の追加や削除が指示されるため、時間条件で指定された時間帯で、そのアクセス制御ポリシを有効にすることができる。ポリシエンジン１が、時刻に応じて、アクセス制御リストの更新を自動的に行うため、アクセス制御装置３自体が、時間制約を解釈できない場合でも、所望の時間帯にのみ有効なアクセス制御を実現できる。
【０１４０】
本実施形態では、例えば、特定の時間帯においてのみ存在するアドホックグループに対するアクセス制御ポリシを記述することにより、そのグループから、その時間帯にだけアクセスを許可するアクセス制御を簡易に実現できる。従って、会議などの非常に短い時間で変化・生滅するユーザグループや、プロジェクトなどの一定の期間存続しながら変化・生滅するユーザグループ等の特定のユーザグループのメンバが、資料を配置したファイルサーバなどの特定の共有リソースにアクセスすることを、特定の時刻又は期間に限定して許可することができ、情報共有の安全性を高めることができる。
【０１４１】
上記の説明では、ユーザが、図２９に例示するユーザインタフェースを介して時間帯（時刻）の情報を直接入力する例について示した。これに代えて、又は、加えて、ユーザに、例えば、「昼休み」、「平日定時」等の時間帯を表す単語（名称）を入力させて、その単語等が示す時間帯を知識データベース２によって、特定の時刻に変換するように構成することもできる。この場合、オブジェクト知識格納手段２０３には、例えば、「昼休み」、「平日定時」、「休日（土日祝日）」、「月曜日」、「火曜日」、「１限目」、「２限目」、「１コマ目」、「２コマ目」、「試験期間」、「休暇期間」、「入学式」や「卒業式」等の式典名、「学園祭」や「オープンキャンパス」等の行事といった単語等を名前型オブジェクトとし、時間帯や時刻を実体型オブジェクトとするオブジェクト知識を格納させておく。そして、ポリシ解析手段１０３は、ポリシ編集手段１０１から時刻の代わりにこれらの単語を受け渡されたときには、その単語を起点とする展開を知識データベース２に実行させて、時間帯や時刻の情報を知識データベース２から取得すればよい。他の動作は、第４の実施の形態として説明した動作と同様である。また、ここでは名前型オブジェクトの例として「昼休み」等を挙げたが、これらは例示であり、名前型オブジェクトは、時間帯や時刻に対応する言葉であればよい。
【０１４２】
第５実施形態
図３４は、本発明の第５実施形態のアクセス制御システムの構成を示している。本実施形態のアクセス制御システム１００ｄは、アクセス制御装置３を複数備える。また、第３の実施形態のアクセス制御システム１００ｂの構成に加えて、システム構成管理手段５０を備える。
【０１４３】
システム構成管理手段５０は、構成情報格納手段５０１を有する。システム構成管理手段５０は、複数のアクセス制御装置３と接続されており、各アクセス制御装置３の稼動状態や配置状況などから構成情報を生成して、これを構成情報格納手段５０１に格納する。システム構成管理手段５０は、アクセス制御装置３の停止や、新たなアクセス制御装置３の設置などにより構成情報が変化すると、その変化を知識データベース２３に通知する。
【０１４４】
オブジェクト知識格納手段２０３は、アクセス制御装置に関するオブジェクト知識を更に格納する。アクセス制御装置に関するオブジェクト知識の名前型オブジェクトは、ポリシエンジン１３に接続されている各アクセス制御装置３の識別子を表す。つまり、個々のアクセス制御装置３を識別するための識別子が名前型オブジェクトとされる。また、アクセス制御装置に関するオブジェクト知識の実体型オブジェクトは、「稼働中」、「停止」等のアクセス制御装置の状態を表す。
【０１４５】
ポリシエンジン１３内のポリシ格納手段１０２３（図２３参照）は、アクセス制御ポリシを格納する。本実施形態では、ポリシ格納手段１０２３に格納されるアクセス制御ポリシは、アクセス制御ポリシが有効となる条件として、アクセス制御装置３の状態によって記述される条件を定めることができる。例えば、『識別子が「ＦＷ００１」であるアクセス制御装置が「稼働中」であるならば有効』等の条件がアクセス制御ポリシに記述されている。
【０１４６】
図３５は、アクセス制御システム１００ｄの動作をフローチャートで示している。システム構成管理手段５０は、定期的に各アクセス制御装置３に対して死活確認信号を発信して、アクセス制御装置３の現在の状態、状況を検査する（ステップＳ５０１）。アクセス制御装置３は、死活確認信号を受信して、システム構成管理手段５０に、応答信号を発信する。システム構成管理手段５０は、応答信号の受信成否によって各アクセス制御装置３の現在の状態等を検査する。例えば、応答信号を受信した場合、そのアクセス制御装置３は稼働中であると判定し、応答信号を受信できなかった場合、そのアクセス制御装置３は停止状態であると判定する。
【０１４７】
アクセス制御装置３の現在の状態等の検査では、死活確認信号及び応答信号として、例えば、システム構成管理手段５０と各アクセス制御装置３とがＩＰネットワークで接続される場合には、ＳＮＭＰ（Simple Network Management Protocol）パケット、又は、ＩＣＭＰ（Internet Control Message Protocol）パケットを用いることができる。或いは、各アクセス制御装置３から定期的に自身の識別子を含むハートビート信号をシステム構成管理手段５０に向けて発信するように構成し、システム構成管理手段５０が、受信したハートビート信号を基に、稼動中のアクセス制御装置３の構成情報を管理するようにしてもよい。
【０１４８】
システム構成管理手段５０は、ステップＳ５０１の検査結果に応じて構成情報を生成し、生成した構成情報を構成情報格納手段５０１に格納する（ステップＳ５０２）。図３６は、構成情報のデータ構造の例を示している。同図に示すように、構成情報は、アクセス制御装置３の識別子と、「稼働中」または「停止」を示す稼働状況フラグとの組み合わせを有している。ステップＳ５０２では、システム構成管理手段５０は、稼働中であると判定したアクセス制御装置３に対応する稼働状況フラグを「稼働中」に設定し、停止状態であると判定したアクセス制御装置３に対応する稼働状況フラグを「停止」に設定した構成情報を生成する。
【０１４９】
システム構成管理手段５０は、ステップＳ５０２によって、構成情報格納手段５０１が格納する構成情報が変化したか否かを確認する（ステップＳ５０３）。システム構成管理手段５０は、例えば、既に存在する識別子の稼動状態を更新したこと、及び、新たな識別子及び稼動状態の組を追加したことを示す「更新フラグ」を構成情報格納手段５０１に保持させ、ステップＳ５０２で構成情報を構成情報格納手段５０１に格納する際に、その「更新フラグ」を参照して、変化の有無を確認する。或いは、構成情報格納手段５０１に少なくとも２つのメモリスロットを設けておき、ステップＳ５０２で構成情報を格納する際に、前回格納したメモリスロットと相異なるメモリスロットに構成情報を格納し、前回分及び今回分の２つのメモリスロットの内容を比較することにより、構成情報の変化の有無を確認する。
【０１５０】
ステップＳ５０３で、構成情報が変化したと判断した場合、システム構成管理手段５０は、停止状態に変化したアクセス制御装置３の識別子、又は、新たに稼動を開始したアクセス制御装置３の識別子と、変化後の稼動状態との組をオブジェクト知識単位として生成し、変化のあった全てのアクセス制御装置３についてのオブジェクト知識単位の集合を、オブジェクト知識管理手段２０２３に入力する（ステップＳ５０４）。図３７は、オブジェクト知識単位の例を示している。オブジェクト知識単位は、例えばアクセス制御装置３の識別子と稼動状態の２つのカラムから成る。同図では、状態が変化したアクセス制御装置の識別子「ＦＷ００１」と、変化後の可動状態「稼動中」との組が、オブジェクト知識単位を示している。ステップＳ５０４では、このようなオブジェクト知識単位を並べたデータが、オブジェクト知識単位の集合として、オブジェクト知識管理手段２０２３に入力される。
【０１５１】
オブジェクト知識管理手段２０２３は、システム構成管理手段５０から入力されたオブジェクト知識単位の集合を、オブジェクト知識格納手段２０３へ格納する（ステップＳ５０５）。オブジェクト知識管理手段２０２３は、新たな識別子をもつオブジェクト知識単位を入力した場合には、その新たな識別子を、名前型オブジェクトとして追加し、その追加した名前型オブジェクトから展開される実体型オブジェクトの内容を、入力したオブジェクト知識単位に含まれる稼動状態とする。また、すでに同じ識別子の名前型オブジェクトがオブジェクト知識格納手段２０３に格納されている場合には、その名前型オブジェクトから展開される実体型オブジェクトの内容を、入力したオブジェクト知識単位に含まれる稼働状態で置き換える。
【０１５２】
その後、オブジェクト知識管理手段２０２３は、第３の実施形態におけるオブジェクト知識管理手段２０２３と同様に、オブジェクト知識の変更をポリシエンジン１３に通知する。この通知には、実体型オブジェクト（稼働状態）が変更された名前型オブジェクト（識別子）、或いは、新たに追加された名前型オブジェクト（識別子）が含まれる。オブジェクト知識の変更の通知を受けたポリシエンジン１３は、ステップＣ４０〜ステップＣ１１０と同様な動作により、アクセス制御リストの更新を行う。
【０１５３】
本実施形態では、アクセス制御ポリシには、アクセス制御装置３の稼動状態に応じて、有効又は無効等の条件が記述されているため、オブジェクト知識の変化に応じて、アクセス制御リストが変化することになる。このため、アクセス制御装置３の停止や再開及び削除や追加といったシステム構成の変化に対して、アクセス制御リストを自動的に変化させて、所望のアクセス制御を実現できる。
【０１５４】
第６実施形態
図３８は、本発明の第６実施形態のアクセス制御システムの構成を示している。本実施形態のアクセス制御システム１００ｅは、第４の実施形態のアクセス制御システム１００ｃの構成に加えて、メールサーバ６０と、メール解析手段６１とを備える。また、ポリシエンジン６２は、ポリシ編集手段１０１に代えて、ポリシ生成手段６２１を備える。
【０１５５】
メールサーバ６０は、電子メールの配送を行う。メール解析手段６１は、メールサーバ６０が新たに配送する電子メールを入力する。メール解析手段６１は、内容を解析して、その電子メールが会議開催通知であるか否かを判定する。メール解析手段６１は、電子メールが会議開催通知であった場合には、その電子メールの内容から会議開催情報を抽出し、これをポリシ生成手段６２１へ入力する。ポリシ生成手段６２１は、会議開催情報に基づいて、自動的にアクセス制御ポリシを生成して、生成したアクセス制御ポリシをポリシ格納手段１０２に格納する。
【０１５６】
図３９は、受信した電子メールに基づいてアクセス制御設定を行う際の処理をフローチャートで示している。メールサーバ６０は、ユーザから新たに配送を依頼された電子メールを、その宛先に配送する前に、メール解析手段６１に入力する（ステップＳ６１１）。メール解析手段６１は、メールサーバ６０から新たな電子メール入力するたびに、メールの内容を、Subjectフィールド、To／Ccフィールド、本文などの構成ごとに形態素解析を行い、これを、あらかじめ記憶装置内に格納している所定の会議開催通知パタンと照合する（ステップＳ６１２）。会議開催通知パタンの具体的な例としては、Subjectフィールドや本文中に含まれる「○月○日」、「会議」、「件」等の文字列の生起パタンなどを用いることができる。
【０１５７】
メール解析手段６１は、ステップＳ６１２における照合処理の結果から、入力された電子メールが会議開催通知であるか否かを判断する（ステップＳ６１３）。メール解析手段６１は、入力された電子メールが所定の会議開催通知パターンに合致しないときには、入力された電子メールが、会議開催通知でないと判断し、ステップＳ６１１に戻って、次の電子メールの入力を待つ。メール解析手段６１は、入力された電子メールが会議開催通知パタンに合致する場合は、その電子メールの内容から、少なくとも会議の日時、場所、及び、メンバ等を含む「会議開催情報」を抽出し、これを、ポリシ生成手段６２１へ入力する（ステップＳ６１４）。
【０１５８】
ポリシ生成手段６２１は、入力された会議開催情報に基づいて、アクセス制御ポリシを生成する（ステップＳ６２１）。ステップＳ６２１では、ポリシ生成手段６２１は、会議開催情報に含まれる会議の日時及び場所と、場所ごとの参加メンバとから、ユーザグループの定義を生成する。また、異なる場所、つまり異なるネットワークドメインの間で利用されるサービスを決定し、共有リソースグループの定義を生成する。その際、サービスの決定にあたっては、通常ファイル共有のために用いられることの多いサービスとして、ＨＴＴＰ（ＴＣＰ８０番ポート）やＷｉｎｄｏｗｓ（登録商標）ネットワーク共有サービス（ＴＣＰ１３７〜１３９番ポート）などを規定しておけばよい。
【０１５９】
図４０は、ユーザグループ定義及び共有リソース定義の生成状況を示している。ポリシ生成手段６２１は、会議に参加すると想定されるメンバの所属や氏名と、そのメンバのユーザＩＤとの対応関係を示す情報を、記憶装置内にあらかじめ記憶している。ポリシ生成手段６２１は、会議開催情報を入力すると、その会議開催情報に含まれる参加メンバの所属や氏名に基づいて、記憶装置から、対応するユーザＩＤを抽出する。このユーザＩＤの集合を、ユーザグループ定義とする。例えば、図４０の例では、所属「営業部」、氏名「営業太郎」から、ユーザＩＤ「ｔａｒｏ」を抽出して、これをユーザグループ定義に加える。
【０１６０】
また、ポリシ生成手段６２１は、会議開催通知情報に含まれる位置を示す情報から、位置情報を生成する。例えば、図４０では、拠点「東京本社」、部屋番号「ＴＶ会議室１８０３」から、「東京本社ＴＶ会議室１８０３」を生成する。そして、あらかじめ規定している各種サービスと、生成した位置情報とを組み合わせる処理を行う。この処理によって得られる各組み合わせの集合を、共有リソースグループ定義とする。例えば、図４０では、組み合せるべきサービスとして「Ｗｅｂ」、「ファイル共有」が規定されており、ポリシ生成手段６２１は、「東京本社ＴＶ会議室１０８３」と、「Ｗｅｂ」及び「ファイル共有」とをそれぞれ組み合わせて、これを、共有ソールグループに追加する。
【０１６１】
ポリシ生成手段６２１は、図６に示す「ユーザグループ」の代わりに、ユーザグループ定義（ユーザＩＤ）を用いたアクセス制御ポリシを作成する。従って、ポリシ生成手段６２１が生成するアクセス制御ポリシには、実体型オブジェクトが直接に記述されることになる。また、ポリシ生成手段６２１は、「位置」として、会議開催情報に含まれる位置、例えば、図４０に示す「東京本社ＴＶ会議室１８０３」等をアクセス制御ポリシに記述する。また、「リソース」として、上記のように生成した共有リソースグループ定義を記述する。ポリシ生成手段６２１は、「リソース」として、サーバ等の名称を直接記述するのではなく、「東京本社ＴＶ会議室１８０３ファイル共有」等の、位置とサービスとの組み合わせを記述することになる。東京本社ＴＶ会議室１８０３ファイル共有」は、「東京本社のＴＶ会議室１８０３でファイル共有を行う場合の用いるリソース」を意味している。ポリシ生成手段６２１は、会議開催通知情報に含まれる時刻情報を、アクセス制御ポリシを有効とする時間帯の開始時刻や終了時刻として、アクセス制御ポリシに記述する。
【０１６２】
知識データベース２には、リソースに関するオブジェクト知識として、「東京本社ＴＶ会議室１８０３ファイル共有」等を名前型オブジェクトとし、他のオブジェクト（名前型オブジェクト又は実体型オブジェクト）に経路を有するオブジェクト知識を有している。従って、ポリシ解析手段１０３は、知識データベース２を参照して、ポリシ生成手段６２１が生成したアクセス制御ポリシに含まれる「東京本社ＴＶ会議室１８０３ファイル共有」等の共有リソースグループ定義中の名前型オブジェクトを展開することにより得られる実体型オブジェクトを取得できる。
【０１６３】
ポリシ生成手段６２１は、生成したアクセス制御ポリシをポリシ格納手段１０２に格納する（ステップＳ６２２）。このとき、ポリシ生成手段６２１、又は、ポリシ格納手段１０２１は、アクセス制御ポリシにＩＤを割り当てる。その後、第４実施形態におけるポリシエンジン１と同様にして、新たに格納されたアクセス制御ポリシからアクセス制御リストを生成し、会議開催時刻に合わせて、そのアクセス制御リストをアクセス制御装置３に設定する（ステップＳ６２３）。ステップＳ６２３の動作は、具体的には、第４の実施の形態におけるステップＤ３０〜Ｄ６０、ステップＤ７０〜Ｄ１００、及びステップＤ１１０〜Ｄ１７０と同様の動作である。
【０１６４】
本実施形態では、電子メールを解析することにより、会議の開催に関する情報を収集し、収集した会議開催情報に基づいて、アクセス制御ポリシを生成する。このように、日常的にやり取りされる電子メールによる会議開催通知から、自動的にアクセス制御リストを設定できるため、遠隔会議で必要となる、異なるネットワークドメイン間の相互通信を行うにあたって、追加的なアクセス制御ポリシの編集操作を行う必要がない。このため、ユーザの利便性を向上させることができる。
【０１６５】
第７実施形態
図４１は、本発明の第７実施形態のアクセス制御システムの構成を示している。本実施形態のアクセス制御システム１００ｆは、第６の実施形態のアクセス制御システム１００ｅのメール解析手段６１に代えて、スケジュール解析手段７０を備える。スケジュール解析手段７０は、ＬＡＮ６３を介して、少なくとも１つのユーザ端末７１と接続されている。ユーザ端末７１は、例えばパーソナルコンピュータとして構成され、スケジュール管理手段７１１を備える。
【０１６６】
スケジュール管理手段７１１は、ユーザから入力されたスケジュールを格納して管理する。スケジュール管理手段７１１は、新たにスケジュール情報が入力されると、その内容を、ＬＡＮ６３を介して、スケジュール解析手段７０に送信する。スケジュール解析手段７０は、ユーザ端末７１から送信された最新のスケジュール情報を受信すると、そのスケジュール情報を解析して、会議開催情報を抽出する。スケジュール解析手段７０は、抽出した会議開催情報を、ポリシエンジン６２へ入力する。
【０１６７】
図４２は、受信したスケジュール情報に基づいてアクセス制御設定を行う際の処理をフローチャートで示している。ユーザ端末７１では、スケジュール管理手段７１１が、ユーザに対して、スケジュール入力用ユーザインタフェースを提示し、スケジュール情報の入力を促す。図４３から図４５は、それぞれスケジュール入力用ユーザインタフェースの例を示している。スケジュール管理手段７１１は、カレンダー機能を有しており、例えば、図４３に示す日付入力画面を提示し、予定を定める日付の入力を促す。
【０１６８】
ユーザによって日付が入力されると、スケジュール管理手段７１１は、図４４に示す時間帯入力画面を提示し、予定を定める時間帯の入力を促す。そして、時間帯が入力されると、図４５に提示する行動入力画面を提示し、入力された日付及び時間帯における行動の入力を促す。スケジュール管理手段７１１は、例えば「会議」等の行動を、プルダウンメニューにより選択させる。また、行動予定場所や、共に行動する参加メンバの入力欄を表示し、行動予定場所や参加メンバの情報を入力させる。
【０１６９】
図４５に示す画面において「登録」ボタンがマウスクリック等されると、スケジュール管理手段７１１は、入力されたスケジュール情報（日付、時間帯、行動内容、行動予定場所、参加メンバ等）を記憶装置内に格納する（ステップＳ７００）。そして、スケジュール管理手段７１１は、格納したスケジュール情報を、ＬＡＮ６３を介して、スケジュール解析手段７０に送信する。
【０１７０】
スケジュール解析手段７０は、スケジュール管理手段７１１から入力されたスケジュール情報の内容を解析して、所定の会議予定パタンと照合する（ステップＳ７０１）。ステップＳ７０１では、スケジュール解析手段７０は、例えば「会議」「打ち合わせ」などの会議に相当し、又は、関連するキーワード列を会議予定パタンとして記憶装置内にあらかじめ用意しておき、そのキーワード列と、受信したスケジュール情報に含まれる行動内容の情報とを照合することで、所定の会議予定パタンとの照合を行う。スケジュール解析手段７０は、照合処理の結果から、入力されたスケジュール情報が会議予定を表しているか否かを判断する（ステップＳ７０２）。
【０１７１】
スケジュール解析手段７０は、会議予定パタンに合致せず、入力されたスケジュール情報が会議予定を表していないと判断すると、ステップＳ７００に戻り、新たにスケジュール情報が入力されるまで待機する。スケジュール解析手段７０は、会議予定パタンに合致し、入力されたスケジュール情報が会議予定を表していると判断すると、そのスケジュール情報の内容から、少なくとも会議の日時、場所及び参加メンバを含む会議開催情報を抽出し、これをポリシエンジン６２に入力する（ステップＳ７０３）。ステップＳ７０３では、スケジュール解析手段７０は、第６実施形態のメール解析手段６１が電子メールから抽出する会議開催情報と同様の会議開催情報を抽出する。
【０１７２】
その後、ポリシエンジン６２は、第６実施形態の場合と同様に、ステップＳ６２１で、会議開催情報からアクセス制御ポリシを生成して、ステップＳ６２２で、これをポリシ格納手段１０２に格納する。また、ステップＳ６２３で、新たに格納されたアクセス制御ポリシからアクセス制御リストを生成し、会議開催時刻に合わせて、そのアクセス制御リストをアクセス制御装置３に設定する。
【０１７３】
本実施形態では、ユーザのスケジュールから会議の開催に関する情報を収集し、収集した会議開催情報に基づいて、アクセス制御ポリシを生成する。このため、第６実施形態と同様に、異なるネットワークドメイン間の相互通信を行うにあたって、追加的なアクセス制御ポリシの編集操作を行う必要がなく、ユーザの利便性を向上させることができる。
【０１７４】
第８実施形態
図４６は、本発明のアクセス制御システムの構成を示している。本実施形態のアクセス制御システム１００ｇは、第３の実施形態におけるアクセス制御システムの構成に加えて、プレゼンス管理手段８０と位置検知手段８１とを備える。プレゼンス管理手段８０は、ユーザと、そのユーザの現在位置との関係を示す情報を記憶するデータベースを有している。位置検知手段８１は、ユーザの現在位置を検出し、そのユーザの現在位置情報をプレゼンス管理手段８０に通知する。位置検知手段８１は、例えば無線受信手段やセンサ手段などにより、ユーザの現在位置を検出する。
【０１７５】
ポリシエンジン１３内のポリシ格納手段１０２３（図２３参照）は、アクセス制御ポリシを格納する。本実施形態では、アクセス制御ポリシは、アクセス制御ポリシが有効となる条件として、ユーザの現在位置によって記述される条件を定めることができる。例えば、『ユーザ識別子が「Ｋａｔｏ」であるユーザの現在位置が「関西オフィス」であるならば有効』等の条件がアクセス制御ポリシに記述されている。
【０１７６】
図４７は、プレゼンス管理手段８０が有するデータベースが記憶する情報を示している。同図の例では、「Ｍｏｒｉｔａ」等のユーザ識別子と、そのユーザの現在位置を表す「関西オフィス」等の現在位置識別子とが対応づけられて記憶されている。ユーザ識別子としては、例えばユーザＩＤを用いることができる。プレゼンス管理手段８０は、位置検知手段８１から各ユーザの現在位置情報を受け取って、ユーザの移動の有無を判定する。そして、移動したユーザの現在位置をデータベース上で更新し、少なくとも移動したユーザのユーザ識別子及び現在位置識別子との組を知識データベース２３に入力する。
【０１７７】
オブジェクト知識格納手段２０３は、各ユーザの位置に関するオブジェクト知識を格納する。各ユーザの位置に関するオブジェクト知識は、ユーザＩＤを名前型オブジェクトとする。従って、ユーザＩＤは、各ユーザの位置に関するオブジェクト知識では、名前型オブジェクトとして取り扱われ、ユーザグループに関するオブジェクト知識では、実体型オブジェクトとして扱われる。各ユーザの位置に関するオブジェクト知識は、現在位置識別子を実体型オブジェクトとする。
【０１７８】
プレゼンス管理手段８０が有するデータベースの更新には、以下に示す手法を用いることができる。図４８は、位置検知手段８１がユーザの操作によってユーザの現在位置を送信する例を示している。ユーザ８３は、ユーザ端末（位置検知手段）８１に、自身の現在位置に関する情報として、例えばユーザＩＤ「ｎａｋａｅ」、及び、現在位置「関西オフィス」という情報を入力する。ユーザ端末８１は、ユーザ８３によって入力された情報をプレゼンス管理手段８０に送信する。プレゼンス管理手段８０は、ユーザ端末８１から受信した情報に基づき、データベースを更新する。同図の例では、ユーザＩＤ「ｎａｋａｅ」の現在位置を、「関西オフィス」で更新する。
【０１７９】
図４９は、位置検知手段８１が無線タグを用いてユーザの現在位置を検出し、検出したユーザの現在位置を送信する例を示している。センサ（位置検知手段）８１は、特定の場所、例えば社屋等に設置されている。ユーザ端末８４は、例えば携帯端末として構成され、そのユーザ端末８３には無線タグ（ＲＦＩＤ：Radio Frequency Identification）８２が貼り付けられている。センサ８１は、無線タグ８２を検出して、その無線タグ８２に対応付けられたユーザＩＤ及びユーザ端末８３の現在位置を取得する。センサ８１は、取得したユーザＩＤ及びユーザ端末８２の現在位置をプレゼンス管理手段８０に送信する。プレゼンス管理手段８０は、センサ８１から受信した情報に基づき、データベースを更新する。
【０１８０】
図５０は、位置検知手段８１がＧＰＳを用いてユーザの現在位置を検出し、検出したユーザの現在位置を送信する例を示している。携帯端末８１（位置検知手段）は、ＧＰＳ衛星からの電波を受信して、現在位置を測位する機能を有する。携帯端末８１は、定期的に現在位置（経度、緯度、高度）を測位して、その現在位置と、あらかじめ登録された携帯端末ＩＤとを、プレゼンス管理手段８０に向けて送信する。プレゼンス管理手段８０は、携帯端末８１から受信した現在位置情報から、例えばユーザが関西オフィスにいることを割り出し、携帯端末ＩＤから、その携帯端末８１を使用する者として対応付けられたユーザのユーザＩＤを特定する。プレゼンス管理手段８０は、割り出したユーザの位置と、特定されたユーザＩＤとに基づいて、データベースを更新する。
【０１８１】
図５１は、各ユーザの現在位置を知識データベースに通知する処理をフローチャートで示している。位置検知手段８１は、任意の、又は、特定のユーザの現在位置を検知して、少なくともユーザの識別子と現在位置の識別子とを含む現在位置情報をプレゼンス管理手段８０に通知する（ステップＳ８０１）。プレゼンス管理手段８０は、通知された現在位置情報に基づいて、データベース内に格納された当該ユーザの現在位置を更新する（ステップＳ８０２）。
【０１８２】
プレゼンス管理手段８０は、データベース内に格納されたユーザの現在位置に変更が生じたときには、現在位置が変化したユーザのユーザ識別子と現在位置識別子との組からなる移動情報を、知識データベース２３のオブジェクト知識管理手段２０２３に通知する（ステップＳ８０３）。複数のユーザが同時に移動したような場合には、プレゼンス管理手段８０は、その各ユーザの現在位置を移動後の現在位置で更新して、各ユーザの移動情報をすべてオブジェクト知識管理手段２０２３に通知する。
【０１８３】
オブジェクト知識管理手段２０２３は、通知された移動情報に基づいて、各ユーザの位置に関するオブジェクト知識を更新する。この更新により、移動情報に含まれるユーザ識別子（ユーザＩＤ）から展開される実体型オブジェクトの内容が、移動情報に含まれている現在位置で更新される。オブジェクト知識管理手段２０２３は、展開される実体型オブジェクトが更新された名前型オブジェクト（ユーザＩＤ）を抽出して、それをポリシ解析手段１０３３（図２３参照）に入力する。また、そのユーザＩＤに対応するユーザの現在位置を、ポリシ解析手段１０３３に入力する。
【０１８４】
ポリシ解析手段１０３３は、各アクセス制御ポリシを読み出し、各アクセス制御ポリシに含まれているユーザグループを抽出し、知識データベース２３に各ユーザグループに基づく展開を実行させる。ポリシ解析手段１０３３は、この展開によって得られるユーザＩＤの中で、オブジェクト知識管理手段２０２３から名前型オブジェクトとして通知されたユーザＩＤと一致するユーザＩＤを特定して、その特定したユーザＩＤを含んでいるアクセス制御ポリシを特定する。
【０１８５】
ポリシ解析手段１０３は、特定したアクセス制御ポリシに記述されているユーザの現在位置に関する条件、例えば、『ユーザ識別子が「Ｋａｔｏ」であるユーザの現在位置が「関西オフィス」であるならば有効』等の条件を参照する。そして、オブジェクト知識管理手段２０２３から受け渡されたユーザＩＤ及び現在位置情報と、アクセス制御ポリシに記述されている条件とに基づいて、有効と判定されるアクセス制御ポリシを選別する。このアクセス制御ポリシは、ユーザの移動により有効となったポリシである。その後、ポリシエンジン１３は、有効となったアクセス制御ポリシのＩＤを読み取り、第３実施形態におけるステップＣ４０〜Ｃ１１０と同様の動作により、アクセス制御リストを更新する。
【０１８６】
本実施形態では、位置検知手段８１によってユーザの現在位置を検出し、ユーザの現在位置の変化に応じて、アクセス制御リストを更新する。このため、場所に関する制約を記載したアクセス制御ポリシを用いることにより、予定外のユーザの移動などにも対応したアクセス制御が可能となる。
【０１８７】
なお、上記各実施形態では、ポリシエンジンと、知識データベースと、アクセス制御装置とが異なるコンピュータシステムとして構成される例について示したが、これには限定されない。例えば、ポリシエンジンとアクセス制御装置とを、同一のコンピュータシステム内に構成してもよく、或いは、ポリシエンジンと知識データベースとを、同一のコンピュータシステム内に構成してもよい。または、ポリシエンジン、アクセス制御装置、及び、知識データベースを、同一のコンピュータシステム内に構成してもよい。
【０１８８】
また、システム構成管理手段５０は、ポリシエンジン、知識データベース、又は、アクセス制御装置と同一のコンピュータシステム内に構成することができる。メール解析手段６１、スケジュール解析手段７０、及び、プレゼンス管理手段８０についても、同様に、ポリシエンジン、知識データベース、又は、アクセス制御装置と同一のコンピュータシステム内に構成することができる。
【０１８９】
また、上記各実施形態では、アクセス制御ポリシの中にユーザグループを記述する例を示したが、これに代えて、装置のグループの名称をアクセス制御ポリシに記述してもよい。この場合、オブジェクト知識格納手段は、装置のグループに関するオブジェクト知識を格納する。装置のグループに関するオブジェクト知識は、名前型オブジェクトとして装置のグループの名称を含み、実体型オブジェクトとして各装置を識別する装置ＩＤを実体型オブジェクトとして含んでいればよい。また、装置のグループの名称を表す名前型オブジェクトは、他の名前型オブジェクトまたは装置ＩＤを表す実体型オブジェクトへの経路を有していればよい。アクセス制御ポリシに装置のグループの名称が記述される場合についても、各実施形態における動作は、既に説明した動作と同様である。この場合、例えば、図２６に例示するユーザインタフェース上では、「追加するユーザＩＤの入力」欄の代わりに「追加する装置ＩＤの入力」欄を設ければよい。また、「追加されたユーザＩＤの一覧」欄の代わりに「追加された装置ＩＤの一覧」欄を設ければよい。
【０１９０】
上記各実施形態は、例えば、既存の仮想プライベートネットワーク（ＶＰＮ）環境のように、ＶＰＮゲートウェイやファイアウォールなどのセキュリティ装置がすでに設置されたネットワークシステムにおいて、会議中の共有サーバを介した情報共有を安全に行うといった用途に適用できる。また、企業間における機密情報の交換においても、所定のユーザグループ外への機密漏えいを防止するといった用途にも適用可能である。
【０１９１】
上記各実施形態は、適宜組み合わせて用いることができる。例えば第３実施形態では、ポリシエンジン１３は、第１実施形態や第２実施形態と同様に、ポリシ編集手段を更に備えていてもよい。また、第３実施形態では、オブジェクト知識に変更が加えられた際には、第１実施形態と同様に、ポリシ格納手段１０２３から全てのアクセス制御ポリシを読み込んで、アクセス制御ポリシの更新を行ってもよい。第４実施形態では、知識データベースはオブジェクト知識編集手段を備えていなくてもよく、ポリシエンジンはポリシ編集手段を備えていなくてもよい。第５実施形態及び第８実施形態では、知識データベースは、オブジェクト知識編集手段を備えていなくてもよく、
【０１９２】
第６実施形態では、メール解析手段６１は、メールサーバ６０から電子メールを入力して電子メールを解析したが、これには限定されない。例えば、図５２に示すように、メール解析手段６１が、ＬＡＮ６３のトラフィックを監視し、ＳＭＴＰトラフィックを解析して、電子メールを入力するように構成することもできる。この場合、その他の動作は、第６実施形態で説明した動作と同様である。また、図４１及び図５２に示すＬＡＮ６３は、狭義のＬＡＮに限定されず、その他の通信形態であってもよい。
【０１９３】
第７実施形態では、スケジュール管理手段７１１は、ユーザ端末７１がＬＡＮ６３から切り離されたオフライン状態で新たなスケジュール情報が入力された場合には、そのスケジュール情報を、一時的に保持するように構成できる。この場合、スケジュール管理手段７１１は、ユーザ端末７１がＬＡＮ６３に接続されたときに、一時的に保持していたスケジュール情報を、スケジュール解析手段７０に送信すればよい。このような、スケジュール情報の送信態様は、ユーザ端末７１が携帯型の端末機器である場合に特に適している。
【０１９４】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のアクセス制御システムは、上記実施形態例にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【０１９５】
【図１】オブジェクト知識のデータ構造の例を示すブロック図。
【図２】名前型オブジェクト「Ｅ」を基点とした展開の例を示すブロック図。
【図３】オブジェクト知識の具体例を示すブロック図。
【図４】アクセス制御ポリシからアクセス制御リストが生成される様子を概念的に示すブロック図。
【図５】本発明の第１実施形態のアクセス制御システムの構成を示すブロック図。
【図６】アクセス制御ポリシの具体例を示す表。
【図７】図６に示すアクセス制御ポリシから生成される中間言語の具体例を示す表。
【図８】図７に示す中間言語から生成されるアクセス制御リストの具体例を示すリスト。
【図９】アクセス制御ポリシの具体例を示す表。
【図１０】図９に示すアクセス制御ポリシから生成された９個のルールを示す表。
【図１１】図９に示すアクセス制御ポリシから生成された９個のルールを示す表。
【図１２】アクセス制御リストの一部を示すリスト。
【図１３】アクセス制御システムの動作例を示すフローチャート。
【図１４】アクセス制御ポリシの選択に用いられるユーザインタフェースを示す表示画面例。
【図１５】アクセス制御ポリシの編集用ユーザインタフェースを示す表示画面例。
【図１６】中間言語生成処理の詳細な手順を示すフローチャート。
【図１７】アクセス制御リスト生成処理の詳細な手順を示すフローチャート。
【図１８】アクセス制御リストの別の記述例を示すリスト。
【図１９】本発明の第２実施形態のアクセス制御システムの構成を示すブロック図。
【図２０】アクセス制御システム１００ａの動作例を示すフローチャート。
【図２１】ルール生成処理の詳細な手順を示すフローチャート。
【図２２】アクセス制御リストの一部を生成する処理の詳細な手順を示すフローチャート。
【図２３】本発明の第３実施形態のアクセス制御システムの構成を示すブロック図。
【図２４】アクセス制御システム１００ｂの動作例を示すフローチャート。
【図２５】オブジェクト知識の選択に用いられるユーザインタフェースを示す表示画面例。
【図２６】オブジェクト知識の編集用ユーザインタフェースを示す表示画面例。
【図２７】本発明の第４実施形態のアクセス制御システム構成を示すブロック図。
【図２８】アクセス制御リストの編集から時刻管理手段１０５にイベントを登録するまでの処理手順を示すフローチャート。
【図２９】ユーザに提供されるアクセス制御ポリシの編集用ユーザインタフェースを示す表示画面例。
【図３０】オブジェクト知識の編集から時刻管理手段１０５にイベントを登録するまでの処理手順を示すフローチャート。
【図３１】時刻管理手段１０５による動作手順を示すフローチャート。
【図３２】アクセス制御リストの更新処理の処理経過を示すフローチャート。
【図３３】行生成処理の処理経過を示すフローチャート。
【図３４】本発明の第５実施形態のアクセス制御システムの構成を示すブロック図。
【図３５】アクセス制御システム１００ｄの動作を示すフローチャート。
【図３６】構成情報のデータ構造の例を示す表。
【図３７】オブジェクト知識単位の例を示す表。
【図３８】本発明の第６実施形態のアクセス制御システムの構成を示すブロック図。
【図３９】受信した電子メールに基づいてアクセス制御設定を行う際の処理を示すフローチャート。
【図４０】ユーザグループ定義及び共有リソース定義の生成状況を示すブロック図。
【図４１】本発明の第７実施形態のアクセス制御システムの構成を示すブロック図。
【図４２】受信したスケジュール情報に基づいてアクセス制御設定を行う際の処理を示すフローチャート。
【図４３】スケジュール入力用ユーザインタフェースの例を示す画面例。
【図４４】スケジュール入力用ユーザインタフェースの例を示す画面例。
【図４５】スケジュール入力用ユーザインタフェースの例を示す画面例。
【図４６】本発明のアクセス制御システムの構成を示すブロック図。
【図４７】プレゼンス管理手段８０が有するデータベースが記憶する情報を示す表。
【図４８】位置検知手段８１がユーザの操作によってユーザの現在位置を送信する例を示すブロック図。
【図４９】位置検知手段８１が無線タグを用いてユーザの現在位置を検出し、検出したユーザの現在位置を送信する例を示すブロック図。
【図５０】位置検知手段８１がＧＰＳを用いてユーザの現在位置を検出し、検出したユーザの現在位置を送信する例を示すブロック図。
【図５１】各ユーザの現在位置を知識データベースに通知する処理を示すフローチャート。
【図５２】本発明の第６実施形態の変形例のアクセス制御システムの構成を示すブロック図。
【符号の説明】
【０１９６】
１００：アクセス制御システム
１、１１、１２、１３、６２：ポリシエンジン
２、２１、２２、２３：知識データベース
３、３１：アクセス制御装置
５０：システム構成管理手段
６１：メール解析手段
７０：スケジュール管理手段
８０：プレゼンス管理手段
８１：位置検出手段
１０１、１０１１、１０１２：ポリシ編集手段
１０２、１０２１、１０２２、１０２３：ポリシ格納手段
１０３、１０３１、１０３２、１０３３：ポリシ解析手段
１０４：中間言語格納手段
１０５：時刻管理手段
１０６１、１０６２、１０６３：アクセス制御リスト設定手段
２０１：オブジェクト知識編集手段
２０２、２０２１、２０２２、２０２３：オブジェクト知識管理手段
２０３、２０３１、２０３２、：オブジェクト知識格納手段
３０１、３０１１：アクセス制御リスト格納手段
３０２：アクセス制御手段
【図１】
2006053824.tif 000003
【図２】
2006053824.tif 000004
【図３】
2006053824.tif 000005
【図４】
2006053824.tif 000006
【図５】
2006053824.tif 000007
【図６】
2006053824.tif 000008
【図７】
2006053824.tif 000009
【図８】
2006053824.tif 000010
【図９】
2006053824.tif 000011
【図１０】
2006053824.tif 000012
【図１１】
2006053824.tif 000013
【図１２】
2006053824.tif 000014
【図１３】
2006053824.tif 000015
【図１４】
2006053824.tif 000016
【図１５】
2006053824.tif 000017
【図１６】
2006053824.tif 000018
【図１７】
2006053824.tif 000019
【図１８】
2006053824.tif 000020
【図１９】
2006053824.tif 000021
【図２０】
2006053824.tif 000022
【図２１】
2006053824.tif 000023
【図２２】
2006053824.tif 000024
【図２３】
2006053824.tif 000025
【図２４】
2006053824.tif 000026
【図２５】
2006053824.tif 000027
【図２６】
2006053824.tif 000028
【図２７】
2006053824.tif 000029
【図２８】
2006053824.tif 000030
【図２９】
2006053824.tif 000031
【図３０】
2006053824.tif 000032
【図３１】
2006053824.tif 000033
【図３２】
2006053824.tif 000034
【図３３】
2006053824.tif 000035
【図３４】
2006053824.tif 000036
【図３５】
2006053824.tif 000037
【図３６】
2006053824.tif 000038
【図３７】
2006053824.tif 000039
【図３８】
2006053824.tif 000040
【図３９】
2006053824.tif 000041
【図４０】
2006053824.tif 000042
【図４１】
2006053824.tif 000043
【図４２】
2006053824.tif 000044
【図４３】
2006053824.tif 000045
【図４４】
2006053824.tif 000046
【図４５】
2006053824.tif 000047
【図４６】
2006053824.tif 000048
【図４７】
2006053824.tif 000049
【図４８】
2006053824.tif 000050
【図４９】
2006053824.tif 000051
【図５０】
2006053824.tif 000052
【図５１】
2006053824.tif 000053
【図５２】
2006053824.tif 000054