(57)【特許請求の範囲】
【請求項１】
サーバ上で論理表現を評価することにより、アクセス制御リストのベース・パーミッションを変更するための方法であって、前記サーバが、
サブジェクト名をオブジェクトについてのアクセス制御リストエントリに対して比較することによってサブジェクトについてのベース・パーミッションを決定するステップと、
論理表現エントリを含む前記オブジェクトについての前記アクセス制御リストエントリを決定するステップと、
前記サブジェクトの論理表現属性を用いて前記オブジェクトについての前記アクセス制御リストエントリの前記論理表現エントリを評価するステップであって、前記論理表現エントリを評価して、前記サブジェクトの前記論理表現属性に関してどの論理表現エントリが真であるかを決定する、前記評価するステップと、
真である前記論理表現エントリについて、前記論理表現エントリの集合演算子を組み合わせて、単一のユニオン・アクセス制御リストエントリと、単一のインターセクト・アクセス制御リストエントリと、単一のリプレース・アクセス制御リストエントリとを得るステップであって、ユニオン演算型の組み合わせが前記ユニオン・アクセス制御リストエントリを形成し、インターセクト演算型の組み合わせが前記インターセクト・アクセス制御リストエントリを形成し、及び、リプレース演算型の組み合わせが前記リプレース・アクセス制御リストエントリを形成する、前記得るステップと、
前記サブジェクトについてのパーミションを決定する為のインクリメンタル・プロセスの間に、前記リプレース・アクセス制御リストエントリが存在することに応答してリプレース演算を実行し、前記ベース・パーミッションを前記リプレース・アクセス制御リストエントリで置換するステップであって、前記リプレース演算の結果が第１の出力であり、前記リプレース・アクセス制御リストエントリが存在しないことに応答して、前記ベース・パーミッションが前記第１の出力である、前記置換するステップと、
前記サブジェクトについての前記パーミションを決定する為のインクリメンタル・プロセスの間に、前記ユニオン・アクセス制御リストエントリが存在することに応答して前記第１の出力と前記ユニオン・アクセス制御リストエントリとに対してユニオン演算を実行するステップであって、前記ユニオン演算の結果が第２の出力であり、前記ユニオン・アクセス制御リストエントリが存在しないことに応答して、前記第１の出力が前記第２の出力である、前記ユニオン演算を実行するステップと、
前記サブジェクトについての前記パーミションを決定する為のインクリメンタル・プロセスの間に、前記インターセクト・アクセス制御リストエントリが存在することに応答して前記第２の出力と前記インターセクト・アクセス制御リストエントリとに対してインターセクト演算を実行するステップであって、前記インターセクト演算の結果が第３の出力であり、前記インターセクト・アクセス制御リストエントリが存在しないことに応答して、前記第２の出力が前記第３の出力である、前記インターセクト演算を実行するステップと、
前記第３の出力を前記サブジェクトについてのパーミッションとして提供するステップと
を実行することを含み、前記サブジェクトについての前記パーミションを決定する為の前記インクリメンタル・プロセスを定義するために、前記リプレース演算が第１に実行され、前記ユニオン演算が第２に実行され、及び前記インターセクト演算が第３に実行され、並びに、前記論理表現属性が、ＩＰアドレス、接続タイプ、認証機構、アクセス時刻、アクセス日付、及びアクセス曜日を含む、前記方法。
【請求項２】
前記サブジェクトについてのベース・パーミッションを決定するステップが、サブジェクトにより行われた通信装置からの、前記オブジェクトにアクセスするためのパーミションの要求に応じて行われる、請求項１に記載の方法。
【請求項３】
前記インターセクト演算が前記サブジェクトについての権利の削減をもたらし、
前記ユニオン演算が前記サブジェクトについての権利の増補をもたらし、
前記リプレース演算がリプレース・キーワードを利用することに基づいて生じる、
請求項１又は２に記載の方法。
【請求項４】
前記論理表現属性が、サブジェクト名、グループ名、及び資格証明をさらに含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記ユニオン・アクセス制御リストエントリが、ユニオン演算子を用いる論理表現エントリの組み合わせである、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記ユニオン・アクセス制御リストエントリが、前記オブジェクトについてのパーミッションの組み合わせである、請求項１〜４のいずれか一項に記載の方法。
【請求項７】
前記インターセクト・アクセス制御リストエントリが、インターセクト演算子を用いる論理表現エントリの組み合わせである、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記インターセクト・アクセス制御リストエントリが、前記オブジェクトについてのパーミッションの組み合わせである、請求項１〜６のいずれか一項に記載の方法。
【請求項９】
前記リプレース・アクセス制御リストエントリが、リプレース演算子を用いる論理表現エントリの組み合わせである、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記リプレース・アクセス制御リストエントリが、前記オブジェクトについてのパーミッションの組み合わせである、請求項１〜８のいずれか一項に記載の方法。
【請求項１１】
サーバ上で論理表現を評価することにより、アクセス制御リストエントリのベース・パーミッションを変更するように構成された前記サーバであって、
プログラムを格納するためのメモリと、
前記メモリと機能的に結合されたプロセッサであって、前記プログラムに含まれるコンピュータ実行可能命令に応答して請求項１〜１０のいずれか一項に記載の方法の各ステップを実施する、前記プロセッサと
を備えている、前記サーバ。
【請求項１２】
サーバ上で論理表現を評価することにより、アクセス制御リストエントリのベース・パーミッションを変更するためのコンピュータ・プログラムであって、サーバに、請求項１〜１０のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
例示的な実施形態は、アクセス制御リストに関し、より具体的には、アクセス制御リストに関連付けられた論理表現の評価による、アクセス制御リストの動的な増補、削減、及び／又は置換に関する。
【背景技術】
【０００２】
様々な異なる技術が成熟するにつれ、より多くのビジネスが、分散型技術を活用して自分たちのビジネス・プロセスを強化することを決断してきた。多くの場合、これらの分散型技術は、ローカルな地域を超えて、ビジネスの及ぶ範囲を拡張するために活用されている。インターネット及びその他のネットワークは、こうした拡張のためのインフラストラクチャを提供することができる。全てのビジネス・オペレーションのバックボーンとして情報技術を用いる際に対処する必要がある１つの根本的かつ極めて不可欠な問題は、アクセス制御である。概念的には、アクセス制御は、サブジェクト・エンティティがオブジェクト上で操作を行うのに十分な権利を有することを保証することから成る。アクセス制御を正しくセットアップすること、及び十分なセキュリティ・プロセスを確立することは、両方とも十分に理解されてはいるものの、さらなる特徴を利用できるようにすべきである。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、アクセス制御リストに関連付けられた論理表現の評価により、アクセス制御リストを動的に増補、削減、及び／又は置換することである。
【課題を解決するための手段】
【０００４】
１つの例示的な実施形態に従い、サーバ上で、論理表現を評価することにより、アクセス制御リストのベース・パーミッションを変更するための方法が提供される。サーバは、サブジェクト名をオブジェクトについてのアクセス制御リストエントリに対して比較することにより、そのサブジェクトについてのベース・パーミッションを決定する。サーバは、ベースエントリと論理表現エントリとを含む、オブジェクトについてのアクセス制御リストエントリを保持する。論理表現アクセス制御リストエントリはまた、集合演算子であるユニオン、インターセクト、又はリプレースのうちの１つも含む。どのベースエントリをサブジェクトに対して適用するかを決定することに加えて、サーバは、サブジェクトの論理表現属性を用いてオブジェクトについてのアクセス制御リストエントリの論理表現エントリを決定する。論理表現エントリは、サブジェクトの論理表現属性に関してどの論理表現エントリが真であるかを決定するように評価される。真である論理表現エントリについて、サーバは、論理表現エントリの集合演算子を組み合わせて、単一のユニオン・アクセス制御リストと、単一のインターセクト・アクセス制御リストと、単一のリプレース・アクセス制御リストとを得る。リプレース・アクセス制御リストが存在することに応答して、サーバはリプレース演算を実行し、ベースエントリにより定義されたベース・パーミッションをリプレース・アクセス制御リストで置換し、リプレース演算の結果を第１の出力とする。リプレース・アクセス制御リストが存在しないことに応答して、ベース・パーミッションを第１の出力とする。ユニオン・アクセス制御リストが存在することに応答して、サーバは、第１の出力とユニオン・アクセス制御リストとに対してユニオン演算を実行し、ユニオン演算の結果を第２の出力とする。ユニオン・アクセス制御リストが存在しないことに応答して、第１の出力を第２の出力とする。インターセクト・アクセス制御リストが存在することに応答して、サーバは、第２の出力とインターセクト・アクセス制御リストとに対してインターセクト演算を実行し、インターセクト演算の結果を第３の出力とする。インターセクト・アクセス制御リストが存在しないことに応答して、第２の出力を第３の出力とする。サーバは、第３の出力をサブジェクトについての有効なアクセス権として提供する。
【０００５】
これより、一例として、添付の図面を参照して、本発明の実施形態が説明される。
【図面の簡単な説明】
【０００６】
【図１】例示的な実施形態によるブロック図を示す。
【図２】例示的な実施形態によるフローチャートを示す。
【図３】例示的な実施形態によるフローチャートを示す。
【図４】例示的な実施形態によるサブジェクトのアクセス図の概念図を示す。
【図５】例示的な実施形態によるベン図を示す。
【図６】例示的な実施形態に含むことができる能力を有するコンピュータの一例を示す。
【発明を実施するための形態】
【０００７】
アクセス制御にとって、要求側エンティティの場所を考慮に入れることは、通常、エンティティの名前を考慮に入れることほど容易ではない。ビジネスがローカル地域を超えて拡大するに従い、国際法及び地域法がビジネス・オペレーションに影響を与えることがある。イントラネット及びファイアウォール技術も、エンティティがそこからパーミッションを要求する明確に区別された場所を導入し得る。例示的な実施形態において説明されるように、アクセス制御は、所与のサブジェクトの場所を前提としてサブジェクトのアクセス権（ｒｉｇｈｔ）を変更することができるようにすべきである。さらに、例示的な実施形態において、要求の行われた時刻もまた、サブジェクトのアクセス権の決定に関与すべきである。
【０００８】
本明細書でわかるように、時刻及び場所は、認証の過程に要因として入れることができるサブジェクト属性の例に過ぎない。例示的な実施形態において論じられるように、これらの属性は、論理表現属性を構成するものである。例えば、論理表現属性は、１−Ｎ個のサブジェクト名、０−Ｎ個のグループ名、サブジェクトのＩＰアドレス、日、時刻、サブジェクトの接続方式、認証機構などの集合を含むことができる。さらに、論理表現属性を実装する管理者は、所望により、付加的な論理表現属性を含めることができる。
【０００９】
図１において、通信装置１５は、ネットワーク３０を介して１つ又は複数のサーバ２０と通信するように動作する。通信装置１５は、例えば、限定ではないが、携帯電話、固定電話、スマートフォン、ソフトウェア電話、携帯情報端末、セットトップボックス（ＳＴＢ）、テレビジョン（ＴＶ）、ゲーム機、ＭＰ３プレイヤー、コンピュータ、及びサーバを含むことができる。
【００１０】
さらにネットワーク３０に関して、ネットワーク３０は、通信を容易にするために、ルータ、スイッチ、ハブ、ゲートウェイなどのような、回路交換及び／又はパケット交換技術及びデバイスを含むことができる。ネットワーク３０は、通信の無線伝送を提供するために、例えばＩＥＥＥ８０２．１１規格を利用する有線及び／又は無線コンポーネントを含むことができる。ネットワーク３０は、カスタマー・サービス・センターとクライアント／ユーザとの間の通信のために、ＩＰベースのネットワークを含むことができる。ネットワーク３０は、特定のユーザにより確立された複数のアカウントを管理することができる。次いで、これらのアカウントを用いて、ここで説明されるサービスへのアクセスを提供することができる。また、ネットワーク３０は、例えば、マルチメディア・メッセージング・サービス（ＭＭＳ）のような規格を利用する有線及び／又は無線コンポーネントを含むことができる。ネットワーク３０は、マルチメディア・メッセージング・センター（ＭＭＣ）を含むことができ、これは、マルチメディア・メッセージング・サービス（ＭＭＳ）のネットワーク側を実装し、オペレータが移動体通信装置のユーザにマルチメディア・メッセージングを提供することを可能にする。ネットワーク３０は、本明細書において論じられる通信のための帯域幅及びサービスの品質を制御することができる、サービス・プロバイダによって管理される管理されたＩＰ及び／又は無線ネットワークを含むことができる。ネットワーク３０は、例えばＷｉ−Ｆｉ（登録商標）、ＷｉＭＡＸ（商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などのような無線プロトコル及び技術を用いて、無線方式で実装することができる。ネットワーク３０はまた、ローカル・エリア・ネットワーク、広域ネットワーク、大都市圏ネットワーク、インターネット・ネットワーク、又は他の同様のタイプのネットワークのような、パケット交換式ネットワークとすることができる。ネットワーク３０は、セルラー通信ネットワーク、固定式無線ネットワーク、無線ローカル・エリア・ネットワーク（ＬＡＮ）、無線広域ネットワーク（ＷＡＮ）、パーソナル・エリア・ネットワーク（ＰＡＮ）、仮想私設ネットワーク（ＶＰＮ）、イントラネット、又はいずれかの他の適切なネットワークとすることができ、ネットワーク３０は、携帯電話中継塔、移動体交換局、基地局、及び無線アクセスポイントといった、信号を送受信するための機器を含むことができる。
【００１１】
例示的な実施形態に従い、ワークステーション１０及び／又はサーバ２０上のアクセス制御モジュール１３０を利用して、サーバ２０上で、プログラムすること、パーミッション及びアクセス権を設定すること、及びデータを入力することができる。ワークステーション１０は、サーバ２０に直接接続されてもよく、サーバ２０と統合されてもよく、及び／又はネットワーク３０を介してサーバ２０に動作可能に接続されてもよい。さらに、サーバ２０は、アクセス制御モジュール１３０を全体的及び／又は部分的に含むことができ、かつ、アクセス制御モジュール１３０とインターフェースすることができる。
【００１２】
例えば、ワークステーション１０及び／又はサーバ２０上のアクセス制御モジュール１３０を利用する管理者は、オブジェクト１２０についてのアクセス制御を設定することができる。説明の目的で、オブジェクト１２０は、サーバ２０上にあるものとして図示されている。しかしながら、オブジェクト１２０は、付加的なサーバ２０上にあってもよい。また、オブジェクト１２０は、通信装置１５を利用するサブジェクト５がアクセスを望む可能性がある、種々のアプリケーション、プログラム、データベース、サーバなどを表すことができる。サーバ２０上にあるものとして図示されているオブジェクト１２０は限定を意味しているのではなく、サーバ２０上に描かれているのは単に説明のためであることが理解される。説明の目的で、アクセス制御モジュール１３０、オブジェクト１２０、及びデータベース１１５は、サーバ２０のメモリ３０に結合されている。メモリ３０は、プロセッサによって処理することができるコンピュータ実行可能命令を有するコンピュータ可読媒体である。
【００１３】
例示的な実施形態において、サブジェクト５は、通信装置１５を利用してオブジェクト１２０へのアクセスを試行するので、サブジェクト５と通信装置１５とは交換可能に用いることができる。従って、サブジェクト５が用いられる場合、サブジェクト５は、サブジェクト５及び通信装置１５の両方を表すものとすることができる。同様に、サブジェクト５は、通信装置１５を利用してオブジェクト１２０にアクセスするので、通信装置１５が用いられる場合、通信装置１５は、サブジェクト５及び通信装置１５の両方を表すものとすることができる。アクセス制御モジュール１３０を利用する管理者は、例えば事前に、サブジェクト５についてのアクセス権を確立しなければならない。この管理タスクは、ワイルドカードのような機構を利用して、場所、資格証明、及び／又は時刻要件並びにその他の論理表現属性をアクセス権の集合のために設定することができる。次いで、サブジェクト５のような要求側エンティティが、認証のために所与の時刻において自身の資格証明を遠隔の場所、例えば通信装置１５の場所から提示する。例示的な実施形態に従い、一旦認証されると、オブジェクト１２０へのアクセスを求める要求を認証するときに、そのエンティティの資格証明、時刻、及び場所が利用される。
【００１４】
例示的な実施形態は、サブジェクト５のような要求側エンティティのアクセス権の決定における新規な手法を提供する。この手法は、より高い融通性を管理者に与え、かつ、例えば時刻及び場所を考慮に入れる場合にサブジェクト５のアクセス権を確立するための管理者プロセスを簡略化するものであり、本明細書において論じられるように、アクセス権の決定プロセスが、この融通性を提供する。
【００１５】
認証チェックのためのアクセス権の決定に先立ち、管理者は、アクセス制御モジュール１３０を利用して、アクセス権の集合を、関連付けられたデータベース・タイプ・フィルタ及び計算演算子と共に定義することができる。これらのフィルタは、場所、資格証明、及び時刻属性並びに他のＬＥＡを用いて定義することができる。より複雑なフィルタを利用することもでき、ここで提供される例は単に説明目的のためのものであることが当業者には理解される。さらに、これらのアクセス制御モジュール１３０のフィルタは、関係型述語、並びにＡＮＤ、ＯＲ、及びＮＯＴのような論理演算子を含むことができる。
例えば、ＩＰ＝１９２．＊  ＡＮＤ  ＳＵＢＪＥＣＴ＝ｌｏｇｉｎｌ  ＡＮＤ  ＤＡＹ＞＝  Ｍａｙ  ２７ｔｈ  ａｎｄ  ＤＡＹ  ＜  Ｍａｙ  ２８ｔｈ。
【００１６】
計算演算子は、その（特定の）所与の時点で、オブジェクト１２０へのアクセスを要求するサブジェクト５に対して適用可能な最終的に有効なアクセス権の集合を計算するために認証チェックを行うときに、アクセス制御モジュール１３０によって用いられる。この例示的な実施形態の融通性を前提として、サブジェクト５のアクセス権を決定するプロセスは、現状の技術水準のシステムにおいて見られるような、アクセス権のアクティブな集合を検索するための基本的なキー形式のルックアップではない。その代わりに、アクセス制御モジュール１３０のプロセスは、以下の操作で説明することができる。
１．例えばキー形式のルックアップを用いて、ベース・アクセス権を決定する。
２．所与の場所、サブジェクト、及び時刻、並びに他のＬＥＡを前提として、そのフィルタが真であると評価した全ての適用可能なアクセス権の集合を収集する。
３．ステップ１の結果に関連付けられた演算子を用いて、ステップ１の結果の全てをインクリメンタルに組み合わせ、そのサブジェクト、場所、及び時刻並びに他のＬＥＡに対して認可されたアクセス権を確立する。次にこれらの認可されたアクセス権を用いて、アクセス要求の認証及び／又は拒否を実施する。
【００１７】
テーブル形式のルックアップに依拠する現状の技術水準のシステムとは異なり、例示的な実施形態は、アクセス制御モジュール１３０によるインクリメンタル・プロセスとしてアクセス権の決定を行う。インクリメンタル・プロセスは、制御モジュール１３０によって決定される、サブジェクト５の現在の論理表現属性に基づく動的なプロセスである。このインクリメンタル・プロセスにより、管理者は、認証チェックのために必要とされるアクセス権を確立するために定義しなければならない仕様の数を削減することができる。
【００１８】
一例として、所与のオブジェクト１２０に対するアクセス制御が、多数の、非常に粒度が細かい（ｖｅｒｙ  ｇｒａｎｕｌａｒ）アクセス権の仕様を必要とする場合を考える。多粒度の仕様は、可能なサブジェクト及び関連付けられたＬＥＡの大きなドメインと関連して、サブジェクト及びＬＥＡの集合の全ての可能な置換ごとに、有効な集合の明示的な仕様を必要とする。有効なアクセス権の異なる集合の差異は、わずかなものであることが多い。非常に大きなドメインを非常に大きな範囲に対してマッピングするための規則を定める数学的関数に類似して、アクセス制御モジュール１３０のインクリメンタル・プロセスは、管理者が、マッピングごとに明示的に指定する必要なしに、有効なアクセス権に対して広範囲のサブジェクト及びＬＥＡを表すことを可能にする。例えば、アクセス制御モジュール１３０を利用すると、管理者は、ＩＰ＝１．２．３．＊というＩＰを有する全ての既存のサブジェクト及びグループのＡＣＬの１つ１つを更新するのではなく、ＩＰ＝１．２．３．＊についての１つの新たなＬＥ  ＡＣＬを設定することができる。
【００１９】
説明の目的で、サーバ２０は、ディレクトリデータベースへアクセスするためのプロトコル（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ：ＬＤＡＰ）サーバとすることができる。ＬＤＡＰサーバは、分散型アプリケーション管理アクセス制御の分かりやすい例である。例示的な実施形態は、ＬＤＡＰサーバ製品により実装することができるが、例示的な実施形態はＬＤＡＰサーバに限定されるものではない。例示的な実施形態のＬＤＡＰサーバ２０において、サブジェクト５は資格証明により表される。資格証明は、バインド時刻においてアクセスを要求するエンティティ（サブジェクト及び通信装置１５）により提示される。通信装置１５上のサブジェクト５は、サーバ２０と通信して、オブジェクト１２０にアクセスするためのパーミッションを要求することができ、アクセス制御モジュール１３０もまた、サブジェクト５の通信装置１５とインターフェースして、資格証明を取得する。例えば、サーバ２０のアクセス制御モジュール１３０によって受け取られる資格証明は、バインド識別名（ＤＮ）（又はサブジェクト名）及びパスワード、Ｘ．５０９証明書、及び／又はケルベロス・チケットを含むことができる。これらの資格証明は、グループのメンバとすることができる。例えば、サブジェクト５の資格証明は、アクセス制御モジュール１３０により、１つ又は複数のグループの一部であると認識され得る。メンバとして、サブジェクト５の資格証明は、グループに与えられたアクセス権を継承することができる。アクセス権は、アクセス制御リスト（ＡＣＬ）パーミッションであり、オブジェクト（例えばオブジェクト１２０）は、例えばデータベース１１５内のＬＤＡＰエントリである。従って、サブジェクト５は、１つ又は複数のサブジェクト名及び／又はグループ名を有することができる。ＬＤＡＰ管理者は、データベース１１５内のエントリ及び／又はエントリの集合についての明示的なＡＣＬパーミッションを設定しなければならない。管理者は、各々の許可可能な資格証明に対して、及び／又はメンバを有するグループに対して、ＡＣＬを設定しなければならない。
【００２０】
以下の例は、２つのベースＡＣＬエントリ（例えばベースエントリ１５０）と、ＡＣＬフィルタ（例えば論理表現ＡＣＬエントリ１７０、１７５、及び／又は１８０）を有する１つのＡＣＬエントリとを備えた、ＬＤＡＰエントリ（オブジェクト１２０）を示す。この例では、ＬＥＡは、ｉｂｍ−ｆｉｌｔｅｒＭｅｃｈａｎｉｓｍ、ｉｂｍ−ｆｉｌｔｅｒＴｉｍｅＯｆＤａｙ、ｉｂｍ−ｆｉｌｔｅｒＩＰとすることができる。
ｄｎ：ｏｕ＝Ｓｅｃｏｎｄ  Ｔｉｅｒ，ｏｕ＝Ｍａｌｅ  Ｏｌｙｍｐｉａｎｓ，ｏ＝Ｏｌｙｍｐｉａｎｓ，ｏ＝Ｏｌｙｍｐｉａ，ｏ＝ｓａｍｐｌｅ
ｏｂｊｅｃｔｃｌａｓｓ：ｏｒｇａｎｉｚａｔｉｏｎａｌｕｎｉｔ
ｏｕ：  Ｓｅｃｏｎｄ  Ｔｉｅｒ
ｄｅｓｃｒｉｐｔｉｏｎ：ｓｅｃｏｎｄ  ｔｉｅｒ  Ｏｌｙｍｐｉａｎｓ
ａｃｌｅｎｔｒｙ：ａｃｃｅｓｓ−ｉｄ：ＣＮ＝ＤＩＯＮＹＳＯＳ，ＯＵ＝ＳＥＣＯＮＤＴＩＥＲ，ＯＵ＝ＭＡＬＥ  ＯＬＹＭＰＩＡＮＳ，Ｏ＝ＯＬＹＭＰＩＡＮＳ，ｏ＝Ｏｌｙｍｐｉａ，ｏ＝ｓａｍｐｌｅ：
ｎｏｒｍａｌ：ｒｓｃ：ｏｂｊｅｃｔ：ａｄ
ａｃｌｅｎｔｒｙ：  ａｃｃｅｓｓ−ｉｄ：ＣＮ＝ＨＥＲＭＥＳ，ＯＵ＝ＳＥＣＯＮＤ  ＴＩＥＲ，ＯＵ＝ＭＡＬＥ  ＯＬＹＭＰＩＡＮＳ，Ｏ＝ＯＬＹＭＰＩＡＮＳ，ｏ＝Ｏｌｙｍｐｉａ，ｏ＝ｓａｍｐｌｅ：ｎｏｒｍａｌ：ｒｓｃ
ａｃｌｅｎｔｒｙ：ａｃｃｅｓｓ−ｉｄ：ＣＮ＝ＨＥＲＡ，ＯＵ＝ＦＥＭＡＬＥ  ＯＬＹＭＰＩＡＮＳ，Ｏ＝ＯＬＹＭＰＩＡＮＳ，ｏ＝Ｏｌｙｍｐｉａ，ｏ＝ｓａｍｐｌｅ：ｏｂｊｅｃｔ：ａｄ：ｎｏｒｍａｌ：
ｒｗｓｃ：ｓｅｎｓｉｔｉｖｅ：ｒｗｓｃ：ｃｒｉｔｉｃａｌ：ｒｗｓｃ
ａｃｌｅｎｔｒｙ：ａｃｌＦｉｌｔｅｒ：（＆（＆（ｉｂｍ−ｆｉｌｔｅｒＭｅｃｈａｎｉｓｍ＝ＳＩＭＰＬＥ）（ｉｂｍｆｉｌｔｅｒＩＰ＝１２７．０．０．１））（＆（ｉｂｍ−ｆｉｌｔｅｒＤａｙＯｆＷｅｅｋ＜＝６）
（ｉｂｍｆｉｌｔｅｒＴｉｍｅＯｆＤａｙ＞＝００：００）））：ｉｎｔｅｒｓｅｃｔ：ｎｏｒｍａｌ：ｒｗｓｃ：ａｔ．ｃｎ：ｄｅｎｙ：ｗ：ｒｅｓｔｒｉｃｔｅｄ：ｒｓ
【００２１】
通信装置１５上のサブジェクト５から取得された資格証明を利用することで、アクセス制御モジュール１３０は、データベース１１５からベースＡＣＬエントリ１５０を確立することができる。ベースＡＣＬエントリ１５０は、サブジェクト５からの属性をデータベース１１５内でマッチングすることにより確立することができる。ここで、大いに異なるＩＰアドレスからの資格証明を用いることができる場合を考える。このような場合、現在の技術水準のシステムでは、異なるＩＰアドレスは、多くの異なるＡＣＬパーミッションエントリを必要とする結果となり、１つの資格証明に対する全てのＩＰアドレスがセキュリティ要件を満たすことを保証するのは、セキュリティ管理者にとっては煩雑であり得る。
【００２２】
しかしながら、例示的な実施形態は、ＡＣＬマッチング属性を利用することができるが、所与の属性を前提として特定のＡＣＬを設定することに加えて、アクセス制御モジュール１３０は、論理表現属性（通信装置１５のＩＰアドレス、資格証明、認証機構、通信装置１５のアクセス日付、及び／又は通信装置１５のアクセス曜日、及び／又は通信装置１５のアクセス時刻を含む）に基づいて、ベースＡＣＬパーミッション１５５に対するインクリメンタルな更新を可能にするように構成される。例示的な実施形態に従い、アクセス制御モジュール１３０によるインクリメンタルな更新は、
１．ユニオン・キーワードを用いる場合の、ベースＡＣＬパーミッション１５０の増補、
２．インターセクト・キーワードを用いる場合の、ベースＡＣＬパーミッション１５０の削減、及び
３．リプレース・キーワードを用いる場合の、ベースＡＣＬパーミッション１５０の置換
を含む。時には、実施例は、説明のみを目的としてＩＰアドレスを参照して説明されることがあるが、当業者であれば、例示的な実施形態はＩＰアドレスに限定されることが意図されるものではないことを理解する。
【００２３】
例示的な実施形態において、ベースＡＣＬエントリ１５０は、オブジェクト１２０へのアクセスを試行するサブジェクト５のベースＡＣＬアクセス権／パーミッションに対応及び／又は関連する。また、論理表現（ＬＥ）ＡＣＬエントリ１６０は、論理表現（ＬＥ）ＡＣＬアクセス権／パーミッションに対応及び／又は関連する。同様に、全ユニオンＡＣＬエントリ１７０、全インターセクトＡＣＬエントリ１７５、及び全リプレースＡＣＬエントリ１８０は、全ユニオンＡＣＬアクセス権／パーミッション１７０、全インターセクトＡＣＬアクセス権／パーミッション１７５、及び全リプレースＡＣＬアクセス権／パーミッション１８０に対応及び／又は関連する。当業者には理解されるように、上記の用語は、本開示において交換可能に用いることができる。
【００２４】
例示的な実施形態において、アクセス制御モジュール１３０のユニオン・キーワードは、例えばＩＰアドレス、資格証明、認証機構、及び／又はアクセス時刻などの所与のＬＥＡを前提として、管理者がパーミッションの最小集合を保証することを可能にする。インターセクト・キーワードは、ベースＡＣＬパーミッション１５０がパーミッションを認可するときかつそのときに限り、特定のパーミッションのみが利用可能であることを保証する一方で、管理者がパーミッションの組を削減することを可能にする。
【００２５】
アクセス制御モジュール１３０を利用することにより、例示的な実施形態に従い、現在のＡＣＬ仕様を、検索フィルタ・フィールド及び追加の集合演算フィールド（例えばデータベース１１５における）として指定された論理表現を含むように拡張することができる。アクセス制御モジュール１３０は、検索フィルタ・フィールドを、サブジェクト及びそのＬＥＡ並びにデータベース１１５の追加の演算フィールドに対して比較して、論理表現（ＬＥ）ＡＣＬエントリ１６０をインクリメンタルに作成する。アクセス制御モジュール１３０はＬＥ  ＡＣＬエントリ１６０を用いて、ＬＥパーミッション１６０を決定する。一例として、仕様は、以下のように更新することができる。
ａｃｌＥｎｔｒｙ：［ａｃｃｅｓｓ−ｉｄ：｜ｇｒｏｕｐ：｜ｒｏｌｅ：］ｓｕｂｊｅｃｔ＿ＤＮ：ｇｒａｎｔｅｄ＿ｒｉｇｈｔｓ｜
ａｃｌＦｉｌｔｅｒ：ｆｉｌｔｅｒ：ｏｐｅｒａｔｉｏｎ：ｇｒａｎｔｅｄ＿ｒｉｇｈｔｓ（角括弧は随意のアイテムを表す）
ここで、
ｏｐｅｒａｔｉｏｎ：−ユニオン｜インターセクト｜リプレース
ｆｉｌｔｅｒ：−サブジェクトのＬＥＡを表す属性を用いることができる述語を含む基本的なＬＤＡＰ検索フィルタ。例えば、以下の属性を用いることができる。
ｉｂｍ−ｆｉｌｔｅｒＩＰ
ｉｂｍ−ｆｉｌｔｅｒＤａｙＯｆＷｅｅｋ
ｉｂｍ−ｆｉｌｔｅｒＴｉｍｅＯｆＤａｙ
ｒｉｇｈｔｓ：−標準ＡＣＬ仕様、即ち、異なるタイプのＬＤＡＰオブジェクト仕様についてのパーミッションの集合であり、明示的なパーミッション拒否を含むことができる。
【００２６】
図４は、例示的な実施形態による、サブジェクト・アクセス図４００の概念図を示す。概念的に、ＡＣＬ決定プロセスは以下のように説明することができる。
【００２７】
アクセス制御モジュール１３０は、資格証明に対して適用可能な所与のベースＡＣＬエントリ１５０を前提として、ＡＣＬパーミッション１５０のベース集合を決定する。所与のベースＡＣＬエントリ１５０を前提としたベースＡＣＬパーミッション１５０は、現在の技術水準のシステムを表す。
【００２８】
例示的な実施形態によれば、所与のベースＡＣＬエントリ１５０を前提としたベースＡＣＬパーミッション１５０は、ＡＣＬ内の新たなフィルタ・フィールド及びデータベース１１５内の新たなマッチング属性を考慮に入れないことに留意されたい。例示的な実施形態により、（追加の）インストレーションを移行する際に、既存のＡＣＬ仕様のベースＡＣＬエントリ１５０の変更が必要とされなくなる。アクセス制御モジュール１３０は、即ち資格証明、アクセス時刻、ＩＰアドレス、認証機構などの所与のマッチング論理表現属性を前提として、真であるとフィルタが評価したあらゆる論理表現（ＬＥ）エントリ１５０を収集する。以下の２つの例を考える。
【００２９】
第１に、サブジェクト５により、土曜日（数字６で表される）、日曜日（数字０で表される）の間にアクセスが試行された場合、アクセス権を削減する。ａｃｌｅｎｔｒｙ：  ａｃｌＦｉｌｔｅｒ：（｜（ｉｂｍ−ｆｉｌｔｅｒＤａｙＯｆＷｅｅｋ＝０）（ｉｂｍ−ｆｉｌｔｅｒＤａｙＯｆＷｅｅｋ＝６））：ｉｎｔｅｒｓｅｃｔ：ｃｒｉｔｉｃａｌ：ｒｗｓｃ：ｒｅｓｔｒｉｃｔｅｄ：ｒｗｓｃ
【００３０】
第２に、サブジェクト５により、月曜から金曜の間に同一のコンピュータ（例えば、通信装置１５）を用いてアクセスが試行された場合、アクセス権の最小集合を保証する。ａｃｌｅｎｔｒｙ：  ａｃｌＦｉｌｔｅｒ：（＆（ｉｂｍ−ｆｉｌｔｅｒＩＰ＝１２７．０．０．１）（ｉｂｍ−ｆｉｌｔｅｒＤａｙＯｆＷｅｅｋ＞＝１））（ｉｂｍ−ｆｉｌｔｅｒＤａｙＯｆＷｅｅｋ＜＝５））：ＵＮＩＯＮ：ｃｒｉｔｉｃａｌ：ｒｗｓｃ：ｒｅｓｔｒｉｃｔｅｄ：ｒｗｓｃ
【００３１】
複数のＡＣＬエントリフィルタが真であると評価した場合には、アクセス制御モジュール１３０は、同じ演算型の全てのアクセス権を合併して、サブジェクト５についてのインターセクト、ユニオン、及びリプレース演算型ごとに１つの別個の代表ＡＣＬエントリを設定する。即ち、各演算ごとに、アクセス制御モジュール１３０は、サブジェクト５についての、全ユニオンＡＣＬエントリ１７０、全インターセクトＡＣＬエントリ１７５、及び全リプレースＡＣＬエントリ１８０を決定し、一緒にグループ化する。図１に示されるように、ＬＥ  ＡＣＬエントリ１６０は、サブジェクト５についての全ユニオンＡＣＬエントリ１７０、全インターセクトＡＣＬエントリ１７５、及び全リプレースＡＣＬエントリ１８０を含む。
【００３２】
アクセス制御モジュール１３０は、代表的全インターセクトＡＣＬエントリ１７５、代表的全ユニオンＡＣＬエントリ１７０、及び代表的全リプレースＡＣＬエントリ１８０の各々を、以下の順序でベースＡＣＬエントリ１５０に適用することができる。
１．アクセス制御モジュール１３０により、データベース１１５から全リプレースＡＣＬエントリ１８０が取得された場合には、アクセス制御モジュール１３０は、ベースＡＣＬエントリ１５０を、サブジェクト５についての全リプレースＡＣＬエントリ１８０パーミッションで置換するように動作する。
２．アクセス制御モジュール１３０により、データベース１１５から全ユニオンＡＣＬエントリ１７０が取得された場合には、アクセス制御モジュール１３０は、全ユニオンＡＣＬエントリ１７０パーミッションを、演算１の結果得られるパーミッションの集合に合併する（ｕｎｉｏｎ）か、又は全リプレースＡＣＬエントリ１８０が存在しない場合には、ベースＡＣＬエントリ１５０に合併するように動作する。
３．アクセス制御モジュール１３０により、データベース１１５から全インターセクトＡＣＬエントリ１７５が取得された場合には、アクセス制御モジュール１３０は、インターセクトＡＣＬパーミッション１７５と、演算２の結果得られるパーミッションの集合との共通部分をとる（ｉｎｔｅｒｓｅｃｔ）。演算２の結果得られるパーミッションの集合が存在しない場合には、アクセス制御モジュール１３０は、全インターセクトＡＣＬエントリ１７５と、演算１の結果得られるパーミッションの集合との共通部分をとる。全リプレースＡＣＬエントリ１８０及び／又は全ユニオンＡＣＬエントリ１７０が存在しなければ、アクセス制御モジュール１３０は、全インターセクトＡＣＬエントリ１７５とベースＡＣＬエントリ１５０との共通部分をとる。
【００３３】
演算３の結果が、最終有効ＡＣＬである。アクセス制御モジュール１３０のインクリメンタルな計算プロセス中には、いかなる明示的なパーミッション拒否も排除されない。最後に、明示的な拒否パーミッションが最終有効ＡＣＬ内に設定され、それにより認証に影響を与える。
【００３４】
オブジェクト１２０に対する通信装置１５上のサブジェクト５の最終有効ＡＣＬアクセス権／パーミッションを決定するために、以下の例が示される（図４には図示せず）。
オブジェクト→アクセス制御リスト（ＡＣＬ）＝
｛｛すべてのベースＡＣＬエントリ｝Ｕ｛すべての論理表現ＡＣＬエントリ｝｝
【００３５】
例示的な実施形態において、このインクリメンタルな手法は、セキュリティ要件の強化における管理者の努力を簡略化する。ベースＡＣＬを設定し、新たなキーワードを用いることにより、多重の冗長なＡＣＬ仕様を指定する必要性を減らすことができる。
【００３６】
ここで図２及び図３を参照すると、図２及び図３は、例示的な実施形態によるフローチャート２００を示す。
【００３７】
２０５において、アクセス制御モジュール１３０と通信することにより、通信装置１５を利用するサブジェクト５は、サーバ２０のオブジェクト１２０に対するアクセスを探索し、かつ要求する。サブジェクト５は、識別名（ＤＮ）のような種々の資格証明をアクセス制御モジュール１３０に入力することができる。
【００３８】
２１０において、アクセス制御モジュール１３０は、サブジェクト５の識別名（ＤＮ）をデータベース１１５内の全てのＡＣＬエントリに対して比較するように動作し、一致が見つかった場合は、アクセス制御モジュール１３０は、ＤＮ＝一致した全てのサブジェクトＤＮの集合、として同定するように動作する。
【００３９】
２１５において、一致するサブジェクト５のＤＮが存在しない場合は、アクセス制御モジュール１３０は、サブジェクト５が属するいずれかのグループのＤＮをデータベース１１５内の全てのＡＣＬエントリに対して比較するように動作し、一致が見つかった場合には、ＤＮ＝一致した全てのグループＤＮの集合、として同定するように動作する。
【００４０】
２２０において、アクセス制御モジュール１３０は、ベースＡＣＬ＝演算２１０又は演算２１５から得られた全ての一致するＡＣＬエントリのＵＮＩＯＮ、として決定するように動作する。演算２２０の結果が、ベースＡＣＬエントリ１５０である。
【００４１】
２２５において、アクセス制御モジュール１３０は、オブジェクト１２０についての論理表現を有する全てのＡＣＬエントリを決定するように動作する。演算２２５の結果が、ＬＥ表現ＡＣＬエントリ１６０である。
【００４２】
２３０において、アクセス制御モジュール１３０は、サブジェクト５に対して適用可能な論理表現属性の集合を用いて、論理表現を有するオブジェクト１２０についての全てのＬＥ  ＡＣＬエントリを評価するように動作する。アクセス制御モジュール１３０により評価されるサブジェクト５についての論理表現属性は、通信装置１５のＩＰアドレス、サブジェクト５がオブジェクト１２０にアクセスを試行した日、サブジェクト５がオブジェクト１２０にアクセスを試みた日、通信装置１５からサーバ２０への接続方式、及び／又は認証機構を含む。例示的な実施形態によれば、管理者は、異なるＬＥＡの集合を決定することができることに留意されたい。例えば、アクセス制御モジュール１３０は、以下の論理表現が真であるか否かを判断し、その中のアクセス権を提供するように動作可能である。（ＩＰ＝１９２．５．１．２．ＡＮＤ  Ｔｉｍｅ＞５ａｍ  ＡＮＤ  Ｄａｙ＝Ｍｏｎｄａｙ）：ＩＮＴＥＲＳＥＣＴ→｛書き込み（Ｗｒｉｔｅ），削除（Ｄｅｌｅｔｅ）｝
【００４３】
２３５において、アクセス制御モジュール１３０は、表現が真であると評価された、同様の集合演算子（例えばＩＮＴＥＲＳＥＣＴ、ＵＮＩＯＮ、及びＲＥＰＬＡＣＥ）を有する全てのＡＣＬエントリを合併することにより組み合わせて、演算子ごとに１つのＡＣＬを得るように動作する。例えば、真であると評価された、ＬＥ  ＡＣＬエントリ１６０内のユニオン演算子を有するオブジェクト１２０についてのデータベース１１５内の全てのＡＣＬエントリが、アクセス制御モジュール１３０によって組み合わされて、全ユニオンＡＣＬエントリ１７０が得られる。同様にして、真であると評価された、ＬＥ  ＡＣＬエントリ１６０内のインターセクト演算子を有する全てのＡＣＬエントリが組み合わされて、全インターセクトＡＣＬエントリ１７５が得られる。同じように、真であると評価された、ＬＥ  ＡＣＬエントリ１６０内のリプレース演算子を有する全てのＡＣＬエントリが組み合わされて、全リプレースＡＣＬエントリ１８０が得られる。
【００４４】
図２及び図３に加えて、ここで図５も参照する。図５は、例示的な実施形態の特徴を説明するベン図を示す。図５において、ボックス５００は、ベースＡＣＬエントリ１５０、全論理表現ユニオンＡＣＬエントリ１７０、全論理表現インターセクトＡＣＬエントリ１７５、及び／又は全論理表現リプレースＡＣＬエントリ１８０を示す。
【００４５】
全ユニオン・エントリ１７０、全インターセクト・エントリ１７５、及び／又は全リプレース・エントリ１８０を含む、真であると評価されたＬＥ  ＡＣＬエントリ１６０を決定した後、アクセス制御モジュール１３０は、これらの全エントリ１７０、１７５、及び１８０を利用して、サブジェクト５についてのアクセス権をインクリメンタルに決定することに進む。２４０において、アクセス制御モジュール１３０は、以下の表現、「ＲＥＰＬＡＣＥ  ＡＣＬが見いだされた場合には、ＢＡＳＥ  ＡＣＬのみを棄却してＲＥＰＬＡＣＥ  ＡＣＬを用い、それ以外の場合には、ＢＡＳＥ  ＡＣＬを用いて続行する。ＢＡＳＥ  ＡＣＬが見いだされない場合には、空のＡＣＬを用いて続行する」を評価するように動作する。図５を参照すると、ボックス５０５は、アクセス制御モジュール１３０が、ベースＡＣＬエントリ１５０を全論理表現リプレースＡＣＬエントリ１８０で置換する、リプレース演算を実行するように動作することを示す。
【００４６】
２４５において、アクセス制御モジュール１３０は、以下の表現、「ＵＮＩＯＮ  ＡＣＬが見いだされた場合には、ＵＮＩＯＮ  ＡＣＬと演算２４０の結果とに対してＵＮＩＯＮ演算を実行し、ＵＮＩＯＮ  ＡＣＬが見いだされない場合には、演算２４０の結果を用いて続行する。」を評価するように動作する。図５を参照すると、ボックス５１０は、アクセス制御モジュール１３０が、ボックス５０５の結果と全論理表現ユニオンＡＣＬエントリ１７０とを合併するユニオン演算を実行するように動作することを示す。
【００４７】
２５０において、アクセス制御モジュール１３０は、以下の表現、「ＩＮＴＥＲＣＥＣＴ  ＡＣＬが見いだされた場合には、ＩＮＴＥＲＣＥＣＴ  ＡＣＬと演算２４５の結果とに対してＩＮＴＥＲＣＥＣＴ演算を実行し、ＩＮＴＥＲＣＥＣＴ  ＡＣＬが見いだされない場合には、演算２４５の結果を用いて続行する。」を評価するように動作する。図５を参照すると、ボックス５１５は、アクセス制御モジュール１３０が、ボックス５１０の結果と全論理表現インターセクトＡＣＬエントリ１７５との共通部分をとるインターセクト演算を実行するように動作することを示す。
【００４８】
２５５において、アクセス制御モジュール１３０は、演算２５０の結果を最終有効ＡＣＬとして取得するように動作する。図５を参照すると、ボックス５２０は、通信装置１５を利用するサブジェクト５についての最終有効ＡＣＬエントリを示す。最終有効ＡＣＬエントリは、サブジェクト５のためのアクセス権／パーミッションである。
【００４９】
２６０において、アクセス制御モジュール１３０は、最終有効ＡＣＬを用いて、サーバ２０上にあるオブジェクト１２０へのサブジェクトのアクセスを許可又は拒否する。例えば、所与のサブジェクト５及びその論理表現属性を前提として、リプレース演算、ユニオン演算、及び／又はインターセクト演算を行うプロセスの結果、オブジェクト１２０に特有のアクセス権の集合が得られる。これらのアクセス権は、サブジェクト５ができること又はできないことを支配する。
【００５０】
例示的な実施形態において、オブジェクト１２０は、アクセス制御リストを通じて保護されているリソースである。一例として、オブジェクト１２０は、サーバ２０上にホストされた種々のウェブページとすることができ、サブジェクト５は、サーバ２０のウェブページへのアクセスを要求している。サブジェクト５及び／又は通信装置１５といったサブジェクトは、オブジェクトへのアクセスを探索するエンティティである。サブジェクトは、Ｎ個のアイデンティティ及び／又は識別名（ＤＮ）の集合を有する。グループは、Ｎ個のサブジェクトの集合であり、グループは、それ自体のＤＮにより同定される。
【００５１】
アクセス権は、認可された又は拒否されたパーミッションである。集合演算子は、インターセクト、ユニオン、及び／又はリプレースのうちの１つである。アクセス制御リスト（ＡＣＬ）は、一意の、アクセス権に対するＮサブジェクト／グループＤＮのマッピング・エントリ及び／又はアクセス権に対する論理表現＋集合演算子のマッピング・エントリのリストである。例えば、
Ｓｕｂｊ１→｛読み出し（Ｒｅａｄ），書き込み（Ｗｒｉｔｅ），コピー（Ｃｏｐｙ）｝
Ｇｒｏｕｐ２→｛削除（Ｄｅｌｅｔｅ），リネーム（Ｒｅｎａｍｅ），更新（Ｕｐｄａｔｅ）；読み出し拒否（Ｄｅｎｙ  Ｒｅａｄ）｝
（ＩＰ＝１９２．５．１．２  ＡＮＤ  Ｔｉｍｅ＞５ａｍ  ＡＮＤ  Ｄａｙ＝Ｍｏｎｄａｙ）：ＩＮＴＥＲＳＥＣＴ→｛書き込み（Ｗｒｉｔｅ），削除（Ｄｅｌｅｔｅ）｝。
【００５２】
各オブジェクトについて、ＬＥＡが、アクセス制御モジュール１３０により定義される。論理表現エントリ及びベースＡＣＬエントリが、オブジェクトにリンクされる。ＬＥＡは、サブジェクトに対応する。サブジェクトのＬＥＡを用いて、オブジェクトにリンクされた論理表現ＡＣＬエントリを評価する。
【００５３】
さらに集合演算子のタイプに関して、以下はインターセクト演算子についての定義である。集合Ａ  ＩＮＴＥＲＳＥＣＴ  集合Ｂ＝集合Ｃ、ここで集合Ｃは、ＢＯＴＨ  Ａ  ＡＮＤ  Ｂの中の要素のみを含む。以下はインターセクト演算子の例である：｛Ａ，Ｂ，Ｃ，Ｄ｝ＩＮＴＥＲＳＥＣＴ｛Ｂ，Ｃ，Ｅ，Ｆ｝＝｛Ｂ，Ｃ｝。共通部分をとられる双方の集合が同一でない限り、インターセクト演算の結果、サブジェクトのアクセス権は削減される。
【００５４】
以下はユニオン演算子についての定義である。集合Ａ  ＵＮＩＯＮ  集合Ｂ＝集合Ｃ、ここで集合Ｃは、ＥＩＴＨＥＲ  Ａ  ｏｒ  Ｂの中の要素を含む。以下はユニオン演算子の例である：｛Ａ，Ｂ，Ｃ，Ｄ｝ＵＮＩＯＮ｛Ｂ，Ｃ，Ｅ，Ｆ｝＝｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ｝。合併される双方の集合が同一でない限り、ユニオン演算の結果、サブジェクトのアクセス権は増補される。
【００５５】
リプレース演算は、ベース・パーミッションを、リプレース・パーミッションについての論理表現のパーミッションで置換するものであり、ベース・パーミッションとリプレース・パーミッションとの間に一致が存在する必要はない。
【００５６】
例示的な実施形態の１つの実装において、ベースＡＣＬエントリのベース・パーミッションと全ユニオンＡＣＬエントリ、全インターセクトＡＣＬエントリ、及び全リプレースＡＣＬエントリのパーミッションとを組み合わせる場合には、第１にリプレース演算が実行され、第２にユニオン演算が実行され、第３にインターセクト演算が実行される。
【００５７】
図１を参照すると、例示的な実施形態は、これに限定されないが、図１に示されるブロック図１００で実装することができる。さらに、サーバ２０は、多数のサーバを表すことができる。通信装置１５及びサブジェクト５は、エンティティを表す多数の通信装置及びサブジェクトを表すことができる。ワークステーション１０及びネットワーク３０は、多数のワークステーション及びネットワークを表すことができる。また、オブジェクト１２０は、多数のリソースを表すことができる。従って、図１に示されたブロック図１００は、その中に描かれた要素の数に限定されるものでもなく、要素のその通りの構成及び動作接続に限定されるものでもない。さらに、図１のシステム１００に記載された要素を増やすこと、減らすこと、又は置き換えることができることが、当業者には理解される。また、サーバ２０、通信装置１５、及びワークステーション１０は、図６において論じられるように、プロセッサ・ベースのコンピュータ・システムにおいて実装することができ、例示的な実施形態に従って動作及び機能するようにプログラムすることができる。
【００５８】
図６は、例示的な実施形態に含めることができる能力を有するコンピュータ６００の一例を示す。本明細書において論じられる種々の方法、手続き、モジュール、流れ図、及び技術は、コンピュータ６００の能力を組み込むこと及び／又は利用することもできる。コンピュータ６００の１つ又は複数の能力は、通信装置１５、ワークステーション１０、及びサーバ２０といった本明細書において論じられるいずれかの要素で実装することができる。
【００５９】
一般に、ハードウェア・アーキテクチャの観点から、コンピュータ６００は、ローカル・インターフェース（図示せず）を介して通信可能に結合された、１つ又は複数のプロセッサ６１０と、コンピュータ可読メモリ６２０と、１つ又は複数の入力及び／又は出力（Ｉ／Ｏ）デバイス６７０とを含むことができる。ローカル・インターフェースは、当該技術分野において公知のように、例えば、１つ又は複数のバス又は他の有線若しくは無線接続とすることができるが、これらに限定されるものではない。ローカル・インターフェースは、通信を可能にするために、コントローラ、バッファ（キャッシュ）、ドライバ、中継器、及び受信器といった付加的な要素を有することができる。さらに、ローカル・インターフェースは、上記のコンポーネント間での適切な通信を可能にするために、アドレス、制御、及び／又はデータ接続を含むことができる。
【００６０】
プロセッサ６１０は、メモリ６２０内に格納することができるソフトウェアを実行するためのハードウェア・デバイスである。プロセッサ６１０は事実上、あらゆる特注又は市販のプロセッサ、中央演算処理ユニット（ＣＰＵ）、データ信号プロセッサ（ＤＳＰ）、又は、コンピュータ６００に関連付けられた幾つかのプロセッサの中の補助プロセッサとすることができ、またプロセッサ６１０は、半導体ベースのマイクロプロセッサ（マイクロチップの形状）又はマクロプロセッサとすることができる。
【００６１】
コンピュータ可読メモリ６２０は、揮発性メモリ素子（例えば、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）などのランダム・アクセス・メモリ（ＲＡＭ））、及び不揮発性メモリ素子（例えば、ＲＯＭ、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、電子的消去可能プログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）、プログラム可能読み出し専用メモリ（ＰＲＯＭ）、テープ、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、ディスク、ディスケット、カートリッジ、カセットなど）のいずれか１つ又は組み合わせを含むことができる。さらに、メモリ６２０は、電子式、磁気式、光学式、及び／又は他のタイプの記憶媒体を組み入れることができる。種々のコンポーネントが互いに遠隔に位置しているが、プロセッサ６１０によってアクセスすることができる場合、メモリ６２０は、分散型アーキテクチャを有することができることに留意されたい。
【００６２】
コンピュータ可読メモリ６２０は、論理関数を実行するための実行可能命令の順序付けられたリストを各々が含む、１つ又は複数の独立したプログラムを含むことができる。メモリ６２０内のソフトウェアは、適切なオペレーティング・システム（Ｏ／Ｓ）６５０、コンパイラ６４０、ソース・コード６３０、及び例示的な実施形態の１つ又は複数のアプリケーション６６０を含む。図示されるように、アプリケーション６６０は、例示的な実施形態の特徴、プロセス、方法、機能、及び操作を実装するための多数の機能的コンポーネントを含む。コンピュータ６００のアプリケーション６６０は、本明細書において論じられるように、多数のアプリケーション、エージェント、ソフトウェア・コンポーネント、モジュール、インターフェースなどを表すことができるが、アプリケーション６６０は、限定を意図していない。
【００６３】
オペレーティング・システム６５０は、他のコンピュータ・プログラムの実行を制御することができ、スケジューリング、入力−出力制御、ファイル及びデータ管理、メモリ管理並びに通信制御、並びに関連サービスを提供する。
【００６４】
アプリケーション６６０は、サービス指向アーキテクチャを使用することができ、これは、互いに通信するサービスの集まりとすることができる。また、サービス指向アーキテクチャは、２つ又はそれ以上のサービスが、アクティビティを協調させる及び／又は実施することを可能にする（例えば、もう一方の代理として）。サービスの間の各対話は、各々の対話が他のいずれかの対話とは独立したものとなるように、自己完結的で緩やかに結合されたものとすることができる。
【００６５】
さらに、アプリケーション６６０は、ソース・プログラム、実行可能プログラム（オブジェクト・コード）、スクリプト、又はその他の、実行される命令の集合を含むなんらかのエンティティとすることができる。ソース・プログラムの場合、プログラムは通常、Ｏ／Ｓ６５０との関連で適正に動作するように、メモリ６２０内に含まれていることも、含まれていないこともある、コンパイラ（例えばコンパイラ６４０）、アセンブラ、インタープリタなどを通じて変換される。さらに、アプリケーション６６０は、（ａ）データ及び方法のクラスを有するオブジェクト指向プログラミング言語として、又は（ｂ）ルーチン、サブルーチン、及び／又は関数を有する手続き型プログラミング言語として、記述することができる。
【００６６】
Ｉ／Ｏデバイス６７０は、例えば、限定はしないが、マウス、キーボード、スキャナ、マイクロフォン、カメラなどのような、入力デバイス（又は周辺装置）を含むことができる。さらにまた、Ｉ／Ｏデバイス６７０は、例えば、限定はしないが、プリンタ、ディスプレスなどといった出力デバイス（又は周辺装置）を含むこともできる。最後に、Ｉ／Ｏデバイス６７０は、例えば、限定はしないが、ＮＩＣ又は変調器／復調器（遠隔デバイス、その他のファイル、デバイス、システム、又はネットワークへのアクセス用）、無線周波数（ＲＦ）又はその他の送受信機、電話インターフェース、ブリッジ、ルータなどといった、入力と出力の両方を通信するデバイスをさらに含むことができる。Ｉ／Ｏデバイス６７０は、インターネット又はイントラネットのような種々のネットワークを介して通信するためのコンポーネントも含む。Ｉ／Ｏデバイス６７０は、Ｂｌｕｅｔｏｏｔｈ接続及びケーブル（例えばユニバーサル・シリアルバス（ＵＳＢ）ポート、シリアルポート、パラレルポート、ファイアウォール、ＨＤＭＩ（高精細度マルチメディア・インターフェース）などを経由）を利用して、プロセッサ６１０に接続し及び／又はこれと通信することができる。
【００６７】
コンピュータ６６０の動作中、プロセッサ６１０はメモリ６２０内に格納されたソフトウェアを実行し、メモリ６２０との間でデータを通信し、コンピュータ６００の動作をソフトウェアに従って一般に制御するように構成される。アプリケーション６６０及びＯ／Ｓ６５０は、プロセッサ６１０により全体又は一部が読み出され、ことによるとプロセッサ６１０内にバッファリングされ、その後実行される。
【００６８】
アプリケーション６６０がソフトウェアに実装される場合は、アプリケーション６６０は、いずれかのコンピュータ関連システム又は方法により、又はこれとの関連で使用するための、事実上すべてのコンピュータ可読媒体に格納することができることに留意されたい。本文書の文脈において、コンピュータ可読媒体は、コンピュータ関連システム又は方法により、又はこれとの関連で使用するためのコンピュータ・プログラムを収容又は格納することができる、電子的、磁気的、光学的、又は他の物理的なデバイス又は手段とすることができる。
【００６９】
アプリケーション６６０は、命令実行システム、装置、又はデバイスから命令をフェッチして、その命令を実行することができる、コンピュータ・ベースのシステム、プロセッサを含むシステム、又はその他のシステムのような、命令実行システム、装置、サーバ、又はデバイスによって、又はこれとの関連で使用するための、任意のコンピュータ可読媒体６２０において具体化することができる。本文書の文脈において、「コンピュータ可読媒体」は、命令実行システム、装置、又はデバイスによって、又はこれとの関連で使用するためのプログラムを格納し、読み出し、書き込み、通信し、又は輸送することができる任意の手段とすることができる。コンピュータ可読媒体は、例えば、電子的、磁気的、光学的、又は半導体のシステム、装置、又はデバイスとすることができるが、これらに限定されるものではない。
【００７０】
コンピュータ可読媒体６２０のより具体的な例（非網羅的なリスト）として、１つ又は複数の配線を有する電気的接続（電子的）、ポータブル・コンピュータ・ディスケット（磁気的又は光学的）、ランダム・アクセス・メモリ（ＲＡＭ）（電子的）、読み出し専用メモリ（ＲＯＭ）（電子的）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ、ＥＥＰＲＯＭ、又はフラッシュメモリ）（電子的）、光ファイバ（光学的）、及びポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤＲＯＭ、ＣＤ  Ｒ／Ｗ）（光学的）が挙げられる。プログラムが印刷又は穿孔された紙又は他の適切な媒体も、そのプログラムを例えば、その紙又は他の媒体の光学スキャンによって電子的にキャプチャし、次いで、必要に応じて、コンパイルし、解釈し、又はそれ以外の適切な手法で処理し、その後、コンピュータ・メモリ内に格納することができるので、コンピュータ可読媒体は、紙又は別の適切な媒体とすることさえできることに留意されたい。
【００７１】
例示的な実施形態において、アプリケーション６６０がハードウェアに実装される場合、アプリケーション３６０は、その各々が当該技術分野において周知の、データ信号に対して論理関数を実行するための論理ゲートを有する個別の論理回路、適切な組み合わせ式論理ゲートを有する特定用途向け集積回路（ＡＳＩＣ）、プログラマブル・ゲート・アレイ（ＰＧＡ）、フィールド・プログラマブル・ゲート・アレイ（ＦＧＰＡ）などの技術のいずれか１つ又は組み合わせによって実装することができる。
【００７２】
コンピュータ６００は、本明細書において論じられた種々のデバイス、サーバ、及びシステムの中に含めることができるソフトウェア及びハードウェア・コンポーネントの非限定的な例を含むことが理解され、かつ、例示的な実施形態において論じられた種々のデバイス及びシステムの中に、付加的なソフトウェア及びハードウェア・コンポーネントを含めることができることが理解される。
【００７３】
本明細書において用いられる用語は、特定の実施形態を説明する目的のみで用いられており、本発明を限定することを意図するものではない。本明細書において用いられる単数形の定冠詞「ａ」、「ａｎ」、及び不定冠詞「ｔｈｅ」は、文脈が明らかにそうでないことを示していない限り、複数形を含むことが意図される。「含む」及び／又は「含んでいる」という用語は、本明細書において用いられる場合、言及した特徴、整数、ステップ、操作、要素、及び／又はコンポーネントの存在を特定するが、１つ又は複数の他の特徴、整数、ステップ、操作、要素、コンポーネント、及び／又はそれらの群の存在又は追加を排除するものではないこともさらに理解されよう。
【００７４】
以下の特許請求の範囲における全ての「手段又はステップと機能との組合せ（ミーンズ又はステップ・プラス・ファンクション）」要素の対応する構造、材料、動作及び均等物は、その機能を、明確に請求されている他の特許請求された要素との組合せで実施するための、あらゆる構造、材料、又は動作を含むことが意図される。本発明の説明は、例示及び説明を目的として提示されたものであるが、網羅的であることを意図するものでもなく、開示された形態の発明に限定することを意図するものでもない。本発明の範囲及び真意から逸脱することなく、多くの変更及び変形が当業者には明らかであろう。実施形態は、本発明の原理及び実際の用途を最も良く説明するため、及び、当業者が、企図される特定の使用に適した種々の変更を伴う種々の実施形態について本発明を理解することができるように、選択され、説明された。
【００７５】
本明細書において図示された流れ図はほんの一例である。この図又はその中で説明されたステップ（又は操作）には、本発明の趣旨から逸脱することなく、多数の変形が存在し得る。例を挙げれば、ステップは異なる順序で実施することかでき、又はステップを追加、削除、又は修正することができる。このような変形の全ては、特許請求される本発明の一部であると考えられる。
【００７６】
本発明の例示的な実施形態を説明してきたが、現在及び将来の当業者であれば、添付の特許請求の範囲内にある種々の改善及び強化を為すことができることが理解されるであろう。これらの特許請求の範囲は、最初に説明された発明に対する適切な保護を維持するものと解されるべきである。
【符号の説明】
【００７７】
６００：コンピュータ
【図１】
0005497178.tif 000002
【図２】
0005497178.tif 000003
【図３】
0005497178.tif 000004
【図４】
0005497178.tif 000005
【図５】
0005497178.tif 000006
【図６】
0005497178.tif 000007