JP2006244485A - 階層的に安全なストレージシステム内の発見可能性および列挙の機構 - Google Patents

階層的に安全なストレージシステム内の発見可能性および列挙の機構 Download PDF

Info

Publication number
JP2006244485A
JP2006244485A JP2006044459A JP2006044459A JP2006244485A JP 2006244485 A JP2006244485 A JP 2006244485A JP 2006044459 A JP2006044459 A JP 2006044459A JP 2006044459 A JP2006044459 A JP 2006044459A JP 2006244485 A JP2006244485 A JP 2006244485A
Authority
JP
Japan
Prior art keywords
security
data
security policy
component
descriptor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006044459A
Other languages
English (en)
Other versions
JP4896541B2 (ja
JP2006244485A5 (ja
Inventor
Jason T Hunter
ティー.ハンター ジェイソン
A Dubhashi Kedarnath
エー.ドゥバシ ケダーナシュ
Skaria Simon
スカリア シモン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006244485A publication Critical patent/JP2006244485A/ja
Publication of JP2006244485A5 publication Critical patent/JP2006244485A5/ja
Application granted granted Critical
Publication of JP4896541B2 publication Critical patent/JP4896541B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/52Binary to binary
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】接続点からストアのユーザ単位抽象を生成するシステムを提供すること。
【解決手段】プリンシパルのアクセス許可に基づいて、階層的にセキュリティ保護された包含階層のビューセットをフィルタリングすることは、本発明の新規な特徴の1つである。本発明は、潜在的に異種のセキュリティ記述子を伴う複数のコンテナ階層に渡るこの集約体に対して操作し得るプリミティブの集まりを提供し得る。このモデルは、ドメイン内のすべてのアクセス可能アイテムを発見するためにコンテナ階層をトラバースする必要性を低減し得る。
【選択図】図1

Description

本発明は、コンピュータシステムに関し、より具体的には、階層的に安全なストレージシステム内に維持されたデータの発見可能性に関する。
ストレージシステムは従来、格納の単位を編成するために包含の階層を使用する。これらのシステムによれば、コンテナ、およびしたがって本質的にはコンテナ内に維持されるデータの単位は、プリンシパルへのアクセス提供を容易にするために独立にセキュリティ保護することができる。従来のシステムは、プリンシパルへアクセスできないコンテナに遭遇するとデータへのアクセスを制限し得るトラバーサルによって発見可能性を提供する。
これらのシステムには、少なくとも以下の制限がある。1つの制限は、プリンシパルが、それがアクセスを有するデータのグローバルなセットを視覚化できないことである。換言すると、データのグローバルセットをレンダリングすると、ユーザがアクセスをもたないコンテナに遭遇する場合には、このコンテナのコンテンツ(データ単位など)はレンダリングされ得ない。サブフォルダまたはサブコンテナが、プリンシパルにアクセス制限が課されているコンテナ内に存在している状況について考慮されたい。このシナリオでは、プリンシパルは、十分な許可が整っている場合でも、そのサブフォルダのコンテンツを視覚化し(たとえば発見し)またはそれにアクセスし得ない。この制限的な発見可能性は、親フォルダにアクセスするのに十分な許可が欠如しているためである。
従来システムの別の制限は、プリンシパルがすべてのデータに対して一度に操作を行うことができないことである。たとえば、「所与のノードにルートをもつツリー状構造内のすべてのデータについてFABRIKAM\aliceへのアクセスを許可する」などの操作についての制約は、ツリー状構造内のデータの一部へのアクセスを制限する制約が存在し得るので不可能である。従来のシステムによっては、こうした操作は、システムのコンテキストではなく、ユーザのコンテキストで行われる。
また、一部の従来システムの別の制限は、データにアクセスするには、格納単位へのアクセス許可に加えて、データ単位の直接の親への接続点からのすべてコンテナについて十分な許可が整っていることが必要であることである。換言すると、システムによっては、データの直接のファイルパスが知られている場合でも、接続点から、データが格納されている直接の親へのアクセス許可が存在しないならば、そのデータへのアクセス許可は制限され得る。
さらに、別の制限は、既存のファイルシステムモデル上の有効な列挙について従来のストレージシステムは、データとメタデータを区別することである。豊富なエンドユーザ型では、この分離は、メタデータとデータの間の区別を認識することの難しさをもたらす。
以下は、本発明のいくつかの態様についての基本的な理解をもたらすために、本発明についての簡略化された要約を提示している。この要約は、本発明についての広範な概要ではない。本発明の重要な/重大な要素を識別し、または本発明の範囲を示すためのものではない。その唯一の目的は、後に提示されるより詳細な説明への前置きとして、本発明のいくつかの概念を簡略化された形で提示することである。
本明細書で開示され、特許請求される本発明は、その一態様では、接続点からストアのユーザ単位の抽象を生成するシステムを備える。この抽象は、適用可能な許可に従って、階層的に安全なストレージシステム内に維持されたデータの発見可能性を促進し得る。プリンシパルのアクセス許可に基づいて、階層的にセキュリティ保護された包含構造からビューセットをフィルタリングすることは、本発明の新規な特徴の1つである。本発明は、潜在的に異種のセキュリティポリシー(セキュリティ記述子など)を伴う複数のコンテナ階層に渡るこの集約体に作用し得るプリミティブの集まりを提供することができる。このモデルは、ドメイン内のすべての読取りアクセス可能アイテムを発見するためにコンテナ階層をトラバースする必要性を低減させ得る。
また、別の態様では、人工知能(AI:artificial intelligent)コンポーネントが提供され、この人工知能コンポーネントは、ユーザが自動的に実施されることを望む動作を診断しまたは推論するために確率的および/または統計ベースの分析を使用する。
上記および関連の目的を達成するために、本発明の特定の例示的な態様について、以下の説明および添付の図面に関連して本明細書で述べる。しかし、これらの態様は、本発明の原理が使用され得る様々なやり方のうちのいくつか示唆するものにすぎず、本発明は、すべてのこうした態様およびその等価物を含むものである。本発明の他の利点および新規な特徴は、図面と併せて考慮すれば、本発明についての以下の詳細な説明から明らかになる。
本発明について、次に図面を参照して述べる。図面では、同じ参照番号は、全体を通して同様の要素について言及するために使用されている。以下の説明では、説明の目的により、本発明についての完全な理解をもたらすため、複数の具体的な詳細について述べられている。しかし、本発明は、これらの具体的な詳細なしに実施され得ることが明らかであり得る。他の場合では、本発明についての説明を容易にするために、よく知られている構造および装置がブロック図の形で示されている。
本出願では、用語「コンポーネント」および「システム」は、コンピュータ関連のエンティティ、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを指すものである。たとえば、コンポーネントは、それだけに限らないが、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能物、実行スレッド、プログラムおよび/またはコンピュータであり得る。例を挙げると、サーバ上で実行されるアプリケーションとサーバの両方がコンポーネントであり得る。1つまたは複数のコンポーネントはプロセスおよび/または実行スレッド内に常駐することができ、コンポーネントは、1つのコンピュータ上でローカライズされ、および/または2つ以上のコンピュータ間で分散され得る。
本明細書では、用語「推論する」または「推論」は一般に、イベントおよび/またはデータを介して捕捉される1組の観察から、システム、環境および/またはユーザの状態について考えまたは推論するプロセスを指す。推論は、特定のコンテキストまたは動作を識別するために使用されることができ、あるいはたとえば状態に関する確率分布を生成することができる。推論は、確率的であり、すなわちデータおよびイベントについての考慮に基づく興味の状態に関する確率分布の計算であり得る。推論は、1組のイベントおよび/またはデータからより高いレベルのイベントを構成するために使用される技術をも指し得る。こうした推論は、イベントが一時的な極めて近くで相関するかしないかに拘らず、またイベントおよびデータが1つまたは複数のイベントおよびデータソースから生じるかどうかに拘らず、1組の観察されたイベント、および/または格納されたイベントデータからの新しいイベントまたは動作の構成をもたらす。
本発明の態様は、コンピュータシステムに関し、より具体的には、階層的に安全なストレージシステム内に維持されたデータの発見可能性に関する。上述したように、従来のストレージシステムには、セキュリティ関連の発見可能性の機構に関して制限がある。このため、新しいデータベース指向のファイルシステムは、豊富なクエリをサポートし、共通のデータ単位(連絡先など)についての体系化されたエンドユーザ型を提供し得る。これらの体系化されたエンドユーザ型は、データに関するアプリケーションの相互運用性を促進し、またそれを向上させ得る。
本発明は、データの階層表現を考慮に入れる。より具体的には、本発明は、データがそれぞれ異なるフォルダ内に「バケット化」され(bucketized)、その後にそれぞれ異なるコンテナ内に置かれ得ることを考慮に入れる。ユーザは、そのデータを編成するために、これらのコンテナを使用することができる。たとえば、データは、ピクチャ、音楽、文書などのカテゴリに編成(たとえばバケット化)され得る。さらに、これらのカテゴリは、コンテナにさらに編成され、それによってデータの階層表現を確立し得る。例を挙げると、ピクチャ内には、「マイファミリ」、「マイバケーション」、「マイウエディング」などが存在し得る。さらに、階層に従って、サブカテゴリも存在し得る。
この階層表現によれば、本発明は、セキュリティポリシー(セキュリティ記述子など)を各オブジェクトに関連付けることを容易にし得る。オブジェクトは、コンテナ内に含まれる任意のデータ要素、またコンテナ自体でもあり得ることが理解されよう。さらに、それぞれのオブジェクトは、テーブルの個々の行で表現され得る。この行ベースの表現は、以下の諸図面についての議論をもとによりよく理解されよう。
ある態様では、セキュリティ記述子は、データアクセスのためにこれらのオブジェクトの提供を可能にし得る。例を挙げると、本発明のある態様によれば、セキュリティポリシーは、グループ、「マイファミリ」内の任意の者によるアクセスを許可するように「マイバケーション」フォルダを設定することを容易にし得る。さらに、「マイバケーション」内でユーザは、サブフォルダ(「マイシアトル旅行」など)へのアクセスのため「マイファミリ」の特定のメンバにアクセスすることをさらに制限し得る。
従来のシステムによれば、ユーザが列挙アクセスを有していないフォルダに達するときに、データストアのアクセス可能な探索は、いずれの点でも終了する。F1がF2を含み、このF2がF3を含む階層について考慮されたい。すなわちユーザは、許可を与えられていないF2に達するときには、F3内のデータを見ることができない。ユーザはF3へのアクセスを有し得るとしても、F3は許可が整っていないF2内に含まれているので、従来システムは発見可能性を妨げる。すなわちこれは制限である。本発明は、ユーザが、許可が与えられ整っているデータストア内のすべてのデータを探索し(たとえば発見し)および/またはレンダリングするための統一的なアクセスを有することを可能にし、それによってその使用を可能にする。上述したように、この統一的なアクセスは、データストア内の各オブジェクトに関連するセキュリティポリシーを介して容易にされ得る。理解されるように、それぞれのセキュリティポリシーは、行レベルのアイテムに関連付けられ得る。
従来のファイルシステムは、ファイルを取り出すために2つのアクセスモードを使用する。まず、これらのシステムは、ユーザが十分なセキュリティ許可が存在するデータ要素を発見するための制限された発見方法を容易にする。もう一方は、完全な経路が知られており、アクセス許可が整っている場合にユーザがファイルにアクセスするための直接アクセス機構である。
2つの異種のモードに加えて、本発明は、セキュリティ信用証明書に基づくアクセスおよび発見を可能にするクエリモード(データストアフィルタリングなど)である第3のモードを使用し得る。従来のシステムとは異なり、本発明は、定義された、指定されたプロパティに基づいてすべてのデータに問合せを行い、またそのデータに対して操作を行うための機構を提供し得る。本発明を用いると、アクセス信用証明書が整っている限り、データは発見され、望まれるように操作され得る。
それによれば、本発明は、ツリー状構造(階層的なデータ編成など)のルートに設定され、ツリー状構造全体に渡って構造内のすべての子に伝播され得るセキュリティポリシー(セキュリティ記述子など)を可能にし得る。伝播されるセキュリティ記述子は、親のセキュリティポリシー、子のセキュリティポリシー、および/またはオブジェクトの型に基づき得ることに理解されたい。セキュリティポリシーの生成、およびツリー状構造全体に渡るその伝播をもたらす論理が使用され得る。以下に述べるように、規則ベースの論理および/または人工知能が、セキュリティポリシーの伝播のために使用され得る。
ユーザが新しいアイテムを作成するシナリオについて考慮されたい。このシナリオでは、継承され、子へと組み合わせられ得る親の特定のセキュリティポリシー(記述子など)が存在する。ある態様では、ユーザは、許可を伴うフォルダ(コンテナなど)を有することができ、オブジェクトが作成されるときに、そのオブジェクトについての許可は、同じであると見なされ得る。あるいは、新しく作成されたオブジェクトに伝播される許可は、そのフォルダについての許可、およびそのオブジェクトについての許可の両方に基づいて知的に判断され得る。上記内容は、新規革新の態様による継承の例である。
従来のファイルシステムでは、この伝播は不可能であることが理解されよう。そうではなく、従来のシステムによる許可を変更するために、管理者は、ツリー状構造のそれぞれの子をウォークスルーし、許可を適用可能として変更しなければならない。それとは異なり、本発明の態様によれば、ルートの許可が変更され(または確立され)るときに、許可は、子を含めて、ツリー状構造のすべてに自動的に伝播され得る。
一部の従来システムでは、セキュリティ許可は、更新時に「ユーザのコンテキスト」で伝播され得るにすぎないことに留意されたい。許可が後に変化する状況があるにも拘らず、従来システムは、これらの許可を自動的に更新し得ない。
本発明は、「システムのコンテキスト」で許可を伝播することができる。したがって、ユーザが、介入するフォルダへの許可を有していない場合でも、下位、下位の下位など、ツリー状構造について許可が整っているならば、これらの許可は本発明に従って伝播され得る。この態様は、上述のF1、F2およびF3の実施例について考慮することによってよりよく理解される。
実施例について続けると、F2について許可が整っていない場合でも、F3について許可が存在するならば、許可はF1からF3に伝播され得る。属性(ファイル名、サイズ、作成日など)とデータ(ファイルのコンテンツなど)の間を区別する以前のファイルシステムとは異なり、豊富なデータのシステム内では、属性とデータの間の判断は難しい。したがって、属性またはデータであるデータ要素に関係なく「アイテム」が作成され、「アイテム」単位にアクセス許可を与えるために使用される。したがって、本発明に関して、システムは2つの別個のセキュリティ許可を追跡する必要がないので、セキュリティモデルの管理は特に簡略化され得る。そうではなく、ある態様では、アイテム単位に2つの「読出し」許可および2つの「書込み」許可を使用するのではなく、1つだけの「読出し」許可または1つだけの「書込み」許可が使用される。
結果として、本発明は、許可が整っているすべてのデータの抽象をユーザが表示することを容易にし得る。このビューは、ストア全体に渡って定義され、引き続いてユーザにレンダリングされることができる。ビューは、接続点から見えるアイテムと、認められたセキュリティ許可のセットの交差部分として定義され得る。結果として、ユーザは、表示しおよび/またはアクセスするセキュリティ許可を有する対象の接続点より下のアイテムを表示しおよび/またはアクセスすることができる。
最初に図1を参照すると、ファイルストアのコンテンツ表現のレンダリングを容易にするシステム100が示されている。一般にシステム100は、クエリコンポーネント102と、行レベルセキュリティコンポーネント104とを含み得る。動作において、クエリコンポーネント102は、行レベルセキュリティコンポーネント104と共に、セキュリティポリシーまたは許可を満たすデータコンポーネント106内のアイテムを識別し得る。識別されると、結果として生じるデータセットは、ユーザおよび/またはアプリケーションにレンダリングされ得る。たとえば、上述したように、本発明は、ユーザへの表示を介して、結果として生じるセットをレンダリングし得る。
次に図2を参照すると、行レベルセキュリティコンポーネント104についてのより詳細なブロック図が示されている。具体的には、行レベルセキュリティコンポーネント104は、セキュリティ記述子テーブル202と、単一のインスタンステーブル204とを含み得る。これらの各テーブルについて、以下でより詳細に述べる。
セキュリティコンポーネント104は、行レベルセキュリティの実現をもたらし得る。ユーザがあるシェア(データコンポーネント106など)に接続するときに、それぞれのデータ型についての暗黙的なビュー定義が、接続の範囲内で定義され得る。本発明に文脈を追加するため、以下は、「連絡先」型についての例示的なビュー定義である。
Figure 2006244485
それぞれのアイテムは、エンティティテーブル(202、204)内の行として格納される。上記の例示的な表現は、ストア内のアイテムのグローバルスコープから連絡先型のフィルタリングを行い得る。ユーザが対応する行内のセキュリティ記述子に従って読取り可能なアイテムだけを見るアクセス制御の次元は、フィルタリングに対して暗黙的である。
この実施例では、ビュー定義は、上記で識別される、連絡先であるアイテムにビューを制限する「WHERE」句を含み得る。この実施例の残りの部分は、接続点からのアイテムにアクセスを制限し得る。上記のビュー定義は、セキュリティ定義を含まないことを理解されたい。
上述したように、セキュリティ機構は、テーブル(202、204)内に格納された行レベルセキュリティの関数である。この機構は、ビューの下位のテーブルレベルで適用され、ビューに対する伝播効果をもつ。セキュリティが行単位でイネーブルされる場合、ユーザが読出しアクセスをもたない行は、クエリコンポーネント102によって提供される、結果として生じるセット内に現れない。
ファイルシステムモデルでは、それぞれの「アイテム」は行内にあり、それぞれの行は、それに関連するセキュリティを有する。行レベルのセキュリティ機構104は、ユーザが読出しアクセスをもたない行については、結果内に行が現れないように制限する。ビューは、クエリコンポーネント102に伝えられた定義が与えられると、(上記実施例と同様に)接続点に少なくとも一部基づいてレンダリング(ビュー表示など)を制限し得る。したがって、結果として生じるセットは、これら2つの制限の交差部分であり得る。これらのセキュリティ機構は、クエリの定義に対して暗黙的に行われ得ることが理解されよう。結果として、ユーザは、諸操作のいずれかからも保護され得る。
本発明は、テーブル(204など)内の各行のセキュリティ記述子をチェックする単一のインスタンス化機構を使用する。この単一のインスタンス化機構は、システムが各行を越えてチェックを実施しているように見えることを可能にする。行を越えたセキュリティ記述子の単一のインスタンス化は、この機構のチェックを効率的にし得る。例示的なセキュリティ記述子の代わりにセキュリティポリシー(アクセス制御リストなど)が使用され得ることが理解されよう。したがって、これらの追加の新規な態様は、本発明、およびそれに添付された特許請求の範囲の範囲内に含まれるものであることを理解されたい。さらに、上記でACLについて言及しているが、異質のセキュリティポリシーを使用する他の態様が存在することを理解されたい。これらの異質のセキュリティポリシーは、本開示、およびそれに添付された特許請求の範囲の範囲内に含まれるものである。
操作において、2つのテーブル(202、204)が維持される。すなわちセキュリティ記述子のテーブル202、およびセキュリティ記述子のハッシュ(SHA−1など)とセキュリティ記述子定義(SDID:security descriptor identification)の間のマッピングの単一のインスタンステーブル。このSDIDは、一意の値であることが理解されよう。本発明によれば、単一のインスタンス化は、ストア内の各一意のセキュリティ記述子についてシステムがSDIDとセキュリティ記述子のハッシュの間のマップを維持する機構を指す。
したがって、それぞれの行について、セキュリティ記述子を格納するのではなく、それに対応するSDIDが格納される。ある態様では、ユーザは、アイテムを作成するときに、セキュリティ記述子を提供し、またはそれを空のままにしておく選択肢を有する。空のままにされる場合、セキュリティ記述子は、作成されるアイテムからの親から継承され得る。ユーザがセキュリティ記述子を明示的に提供することを選択する場合、システムは、アイテムを作成するため、明示的に定義された記述子を親のセキュリティ記述子とマージし得る。
新しいセキュリティアイテムのセキュリティ記述子が何であるか判断されると、それが既に存在するかどうか判断される。それが存在する場合は、既存の記述子が使用される。それが存在しない場合は、新しい記述子が保存される。
セキュリティ記述子が存在するかどうか判断するために、本発明は単一インスタンステーブル204を含み、このインスタンステーブルは、セキュリティ記述子の、セキュリティ記述子のハッシュ(SHA−1ハッシュなど)へのマッピングを含む。したがって、同じセキュリティ記述子を伴う別のアイテムが存在するかどうか判断するために、その対象のセキュリティ記述子のハッシュが計算される。次いで、システムは、いずれかの行がセキュリティ記述子の同じハッシュ(SHA−1など)を含むかどうか見るために、行を求めて単一のインスタンス化テーブル204に問合せを行う。一致が見られる場合、それが存在する確率は高い。
次いで、セキュリティ記述子が存在するかどうか確認するために、実際のセキュリティ記述子の比較が行われる。実際のセキュリティ記述子が同じでない場合、システムは、セキュリティ記述子を独立に格納する。非一意性を保証するため、システムはハッシュアルゴリズム(SHA−1など)だけに依存することを理解されたい。換言すると、ハッシュ値が単一インスタンステーブル204内のハッシュ値に一致しない場合、セキュリティ記述子は存在しないと判断され得る。
セキュリティ記述子の3つのプロパティが存在する。すなわちハッシュ(セキュリティ記述子のバイナリに基づいて数学的に計算される値)、セキュリティ記述子自体(バイナリ)およびSDID(セキュリティ記述子を指す整数値)。それぞれの行について、システムは、セキュリティ記述子が関係する対象の特定の行のIDを格納する。次いで、単一インスタンステーブル204では、システムは、ハッシュ(SHA−1など)とSDIDの間でマップする。セキュリティ記述子テーブル202では、システムは、SDIDとバイナリの間でマップする。
したがって、単一インスタンステーブル204とセキュリティ記述子テーブル202が合わさって、SHA−1からSDIDへ、バイナリへの完全なマッピングを提供する。事実上、これらの2つのテーブル(202、204)は、単一のインスタンス化チェックを行うために使用され得る。
セキュリティ記述子は、以下の論理形を有し得る。
Figure 2006244485
上記の例では、O:は所有者を識別し、G:はグループを識別し、D:は任意アクセス制御リスト(DACL:Discretionary Access Control list)(本開示の範囲内のセキュリティ記述子のセクション)を識別し、S:はシステムアクセス制御リスト(SACL:System Access Control List)を識別する。DACLは、それぞれが以下の形をとり得るアクセス制御エントリ(ACE:Access Control Entries)の集まりである。
Figure 2006244485
所与のプリンシパルは、特定のアイテムへのアクセスが許可され、または拒否され得る。したがって、拒否されたアイテムは、ユーザビューから暗黙的にフィルタリング除去され得る。フィルタリングエンジンまたはクエリコンポーネント102は、いずれのコンテナ意味論をも知り得ないストア内のすべてのアイテムをスキャンし、統一的なセットを生成し、それによって従来のファイルシステム内のトラバーサルの制限を回避し得る。
2つの内部テーブル(202、204)は、システム内の格納およびアクセス制御を容易するために使用され得る。例示的な態様では、システムは、[System.Storage.Store].[Table!SecurityDescriptorSingleInstance]テーブル204(インスタンステーブルなど)およびSys.Security_descriptorsテーブル202(セキュリティ記述子テーブルなど)を使用し得る。Sys.Security_descriptorsテーブル202は、セキュリティ記述子のカタログビューである。これらの記述子は、SQLサーバによって提供されるデータ定義言語(DDL:data definition language)プリミティブを使用して作成され、または削除され得る。単一インスタンステーブル204は、システム内の中央処理装置CPU(central processing unit)およびメモリ最適化に合わせ得る(key to)。
ある態様によれば、かなりの数のアイテムが同じセキュリティポリシーまたは記述子を共有することは一般的であり得る。ある実施例では、アクセス制御リスト(ACL)の最大サイズは64KBであり、したがって、所与のセキュリティ記述子は、約128KBである。その共通性の度合いが潜在的に高いことを考慮すれば、このサイズの値を各アイテムと共に格納することは、非効率的であり得ることが理解されよう。したがって、各一意のセキュリティ記述子は、Sys.Security_descriptorsテーブル202内に格納されることができ、記述子とSHA−1ハッシュの間のマッピングは、単一インスタンステーブル204内に格納され得る。上述したように、SHA−1は、出力の一意性を保証しないが、その大きい出力範囲(2160など)を考慮すれば、衝突の可能性は極めて低い。インスタンステーブル204は自己回復の性質を有するので、それは、システムが破損または不整合から自動的に回復し得ることを保証することができる。
アイテム/拡張/フラグメント/リンクテーブルは、SECURITY属性でマーク付けされ得るSDIDのエントリを有する。これは、これらのテーブルへのすべての読出しアクセス、ならびにこれらのビューの上に作られる任意のビューが、(FILE_READ_DATA|FILE_READ_ATTRIBUTES)を要求するアクセスチェックの対象となることを保証し得る。アイテム拡張、リンク、およびアイテムフラグメントテーブルにおける行は、アイテムテーブル内の対応する行と同じセキュリティ記述子を有する。
上述の機構は、新しいファイルシステムの読出しパス内の許可モデルの中核にあると見なされ得る。いずれの許可モデルもが、認証モデルに本質的に依存し得る。ある実施例では、ユーザは、ストアに接続するときに、好ましいオペレーティングシステム認証機構(NTLM(NT LANマネージャ)、ケルベロスなど)を使用して認証され(たとえば信頼できると見なされ)得る。認証の最終結果は、ファイルシステムにアクセスしているユーザを表すセキュリティトークンであり得る。このトークンは、プリンシパルについての認証判断を行うために引き続き使用され得る。
本発明の別の態様によれば、行またはレコードレベルセキュリティ(RLS:record level security)を使用してセキュリティ保護されたアイテムは、ストレージサービスアカウントからも同様に保護され得る。セキュリティ評価のため、サービスアカウントは、他の任意のNT−ブランドのアカウントと同様に見なされ得る。これは具体的には統一的なセキュリティ意味論を保証するが、それは、更新パスにおける興味深い問題を引き出す。たとえば、所与の名前空間名をもつアイテムを作成しようと試みるユーザについて考慮されたい。新しいファイルシステム内の名前空間名は、その包含フォルダにおいて一意であることが保証され、明白な名前付けシステムを提供する。作成操作の間、システムは、同じ名前空間名をもつ、同じフォルダ内の他のアイテムの非存在性を保証することによってこの一意性を保証する。
このシナリオでは、サービスアカウントへのアクセス許可が拒否されたフォルダ内にアイテムが既に存在することがある。本発明は、署名機構を使用することによってこの問題に対処し得る。ストアへのグローバルアクセスを必要とする更新プリミティブは、「RLS免除」特権が与えられる証明書で署名され得る。こうしたプリミティブのコンテキスト内から、システムはストアに問合せを行うことができ、この場合には、行レベルセキュリティはバイパスされる。
上述したように、従来のファイルシステムは、トラバーサルの意味論を可能にするために、属性とデータの間の区別を行ってきた。発見可能性の欠如およびクエリベースの意味論は、アクセス制御決定のために属性とデータが区別されるモデルをもたらした。本発明は、型システム上の全か無かの意味論を促すことによって、データおよび属性へのシームレスなアクセスを提供する。
以下は、例示的なファイルシステムセキュリティモデルについての詳細な議論である。以下の議論は、複数の異種のシナリオにおけるコンポーネント機能について述べている。説明されるこれらのシナリオは、本発明に文脈を提供するために示されるものにすぎず、本発明、およびそれに添付された特許請求の範囲を決して限定するものではないことを理解されたい。
まずファイルシステムセキュリティモデルを参照すると、ある態様では、データは、ファイルシステム内の整合性の最小単を指し得る「アイテム」としてストア内に編成され得る。「アイテム」は、独立にセキュリティ保護され、シリアライズされ、同期され、コピーされ、バックアップされ/復元などされ得る。ファイルシステムアイテムはある型のインスタンスとして表されることができ、この型の祖先は、エンティティ型である型System.Storage.Itemであることが理解されよう。ファイルシステム内のすべてのアイテムは、アイテムの単一のグローバル範囲内に格納され得る。さらに、それぞれのアイテムは、所与のファイルシステムストア内のすべてのアイテムについて一意であることを保証される一意の識別子を有し得る。
次に図3を参照すると、システム300が示されている。システム300はこのセキュリティ議論の文脈に従うものであり、型システム302内のアイテムは、汎用コンテナ型(generic container type)304、および複合アイテム型306のインスタンスとして分類され得る。汎用コンテナ304は、フォルダ、および他の任意の階層データの収集バケットをモデル化するために使用され得る。複合アイテム型306は、アプリケーションのデータの単一の論理単位をモデル化するために使用され得る。この型のインスタンスは、コピー、移動、同期などのような典型的なデータ操作のための全か無かの意味論を提供することができる。後者の例には、それだけに限らないが、メールメッセージ、ピクチャ、連絡先などが含まれる。(破線で示す)複合アイテム型306のインスタンスは、ファイルバックアイテム(FBI:file backed items)308および非ファイルバックアイテム(nFBI:non−file backed item)310としてさらに分類され得る。Win32ブランドアクセスは意味論的に、FBIおよび汎用コンテナに限定されることが理解されよう。
以下の包含階層(ツリー状の階層など)は、アイテムに適用される。汎用コンテナ304および複合アイテム306は、汎用コンテナを含めて、他の任意のアイテム型を含み得る。これらの追加の汎用コンテナ内のアイテムは、独立にセキュリティ保護されることもできる。FBI308は、他のアイテムを含まず、したがって階層内の葉ノードを形成し得る。
次に図4を参照すると、ファイルシステム400は、信頼の境界402の反対側に2つの主要コンポーネントすなわちストアコンポーネント404とクライアントコンポーネント406とを含み得ることが理解されよう。図示するように、ストアコンポーネント404は、Nを整数として、1からNのオブジェクトコンポーネントを含み得る。オブジェクトコンポーネント1からNは、個々に、または総称してオブジェクトコンポーネント408と称され得る。オブジェクト408の格納および取出しに対処するストアコンポーネント404は、ストアコンポーネント404とクライアントコンポーネント406の間の信頼できるファイルシステムのサブシステムを形成し得る。
プラットフォームにプログラミング意味論を提供し得るクライアントコンポーネント406は通常、ユーザプロセス内で実行される。ユーザは、接続時に認証され得ることが理解されよう。取り出されたオブジェクト408(アイテムなど)は、クライアント空間で具現化され得る。ある態様では、クライアントによるこれらのオブジェクト408へのセキュリティチェックまたはアクセス制約は実施されない。本発明によれば、ストアコンポーネント404は、コンポーネント404を格納するためにプログラミングコンテキストが持続される場合に、(アクセス制御コンポーネント410を介して)アクセス制御を実施することができる。以下は、ユーザ認証についての議論である。
ファイルシステム400は、ファイルシステムストア404内に含まれるアイテム408に対して動作を実施し得るセキュリティプリンシパルの概念を公開し得る。本発明の態様では、セキュリティプリンシパルは、ユーザまたはセキュリティグループであり得る。したがって、セキュリティプリンシパルは、セキュリティ識別子(SID:security identifier)によって表され得る。
図4に示すように、ファイルシステムサービスへの接続は、アクセス制御コンポーネント410によってうまく認証されるセキュリティプリンシパルのコンテキストにある。(たとえばアクセス制御コンポーネント410を介した)ファイルシステム認証は、オペレーティングシステム認証機構からの派生物であり得ることが理解されよう。たとえば、ファイルシステム認証は、SQL(構造化照会言語:structured query language)セキュリティモデルで使用可能なWindows(登録商標)ブランド認証の派生物であり得る。たとえば、SQLは、ファイルシステム400内でサポートされ得ないSQL認証と呼ばれる別の組込み型の認証機構を提供することが理解されよう。
この実施例について続けると、Windows(登録商標)ブランドユーザによって試みられる接続は、Windows(登録商標)ブランドによって提供されるケルベロス、NTLMなどの認証サービスを利用しながら、ファイルシステム400によって認証されることができる。この実施例では、認証されたユーザは、ストア404内の許可決定のために使用される、SQL内の「パブリック」ロールにマップされる。ある態様では、組込み型アドミニストレータ(BA:built−in administrator)は、BAにSQL管理特権を与えるSQLアドミニストレータにマップされる。代替の態様では、ファイルシステム管理は、単にファイルシステムプリミティブを使用して構築され得る。したがって、代替の態様では、BAはSLQアドミニストレータのメンバではない。
認証の最終結果は、ファイルシステム400にアクセスするプリンシパルを表すセキュリティトークンである。このデータ構造は、入りプリンシパルのSID、およびプリンシパルがメンバであるすべてのグループのSIDを含み得る。さらに、ユーザによって保持されるすべての特権は既定により、ファイルシステム400に接続する間イネーブルされ得る。以下の議論を追いよりよく理解されるように、このトークンは引き続いて、許可決定を行うために使用され得る。
次に認証についての議論に移ると、上述したようにファイルシステム許可は、シェアレベルセキュリティおよびアイテムレベルセキュリティ上に構築され得る。この説明では、
「シェア」は、ストア410内のアイテム408のエイリアスを指し得る。ストア410が作成されるときに、既定のシェアは、ルートアイテムにエイリアスされて作成される。十分な特権を有するユーザは、ストア410内の任意の汎用コンテナ(アイテム408など)にエイリアスされたシェアを作成し得る。
ファイルシステムは、名前空間をローカルにまたはリモートに公開するために、普遍的な名前付け規則パスを使用し得る。したがって、ファイルシステムのクライアントはシェアに接続し、それによって、接続点は、名前の相対階層と共に、ファイルシステムオブジェクト408へのアドレッシング機構を構成する。
例を挙げると、ユーザがfooにアクセスするためにルートシェアに接続すると仮定する。したがって、アクセスは、\\MachineName\StoreName\RootShare\...\fooと現れる。同様に、AliceShareと呼ばれるシェアに接続されたユーザは、\\MachineName\AliceShare\...\fooと同じオブジェクトにアクセスする。この実施例では、アイテム上の有効な許可は、接続されたシェアおよびアイテム上のセキュリティ記述子の関数であり得る。前者はシェアレベルのセキュリティを定義し、後者はアイテムレベルのセキュリティを定義することを理解されたい。これらの各セキュリティ機構に関する詳細、および有効なセキュリティ記述子を構成するための規則について以下で述べる。
シェアレベルセキュリティについての議論から始めると、本発明によるファイルシステムシェアは、Windows(登録商標)ブランドのシェアにいくらか類似する。ローカルおよびリモートアクセスについて統一的な意味論を提供するために、作成されるあらゆるファイルシステムシェアについて、ミラーリングシェアも作成され得る。シェアは、カタログストア内にアイテムとして格納されることができ、次の主題であるアイテムセキュリティを使用してセキュリティ保護可能であり得る。これらのアイテムおよびシェアに関する許可は、ローカルとリモートの両方のアクセスについての同じ統一的アクセス付与の意味論であり得る。
既定の許可は、アイテムに関して望まれるように付与され得る。たとえば、シェア内の異質のアイテムは、ユーザ特性(ローカルシステム組込み型アドミニストレータ、認証済み、インタラクティブなど)に関して適用されるそれぞれ異なる既定の許可を有し得る。
Windows(登録商標)ブランドのシェアに類似して、シェアセキュリティ記述子の既定の値は、LanManServer\DefaultSecurity\SrvsvcDefaultShareInfoのレジストリ設定を使用して構成可能である。
アイテムセキュリティ機構は、アクセス制御を行うためにセキュリティ記述子を使用し得る。したがって、ある態様では、セキュリティ記述子は、API(application program interface:アプリケーションプログラムインターフェース)によって、セキュリティ記述子定義言語の文字列形式で通信され、Sys.Security_Descriptors、セキュリティ記述子テーブル(図2の202)のVARBINARYカラムのもとに、パックされたバイナリ形式でデータベースに格納され得る。
上述したように、図2の202の新しいセキュリティ記述子テーブル、Sys.Security_Descriptorsは、ファイルシステム基本テーブル内の外部キーとして使用するための一意のID(SDID)を有する、パックされたバイナリセキュリティ記述子として格納された各一意のセキュリティ記述子を保持するために存在する。たとえば、セキュリティ記述子テーブルは、以下のように現れ得る。
Figure 2006244485
上記のセキュリティ記述子テーブルはセキュリティ記述子のバイナリ表現を使用しているが、本発明、およびそれに添付された特許請求の精神および範囲から逸脱せずに、適切な任意の表現が使用され得ることを理解されたい。
次にセキュリティ記述子および関連データの表現および格納についての議論を参照すると、上述したように、本発明はセキュリティ記述子関連の情報を保持し得る2つの内部テーブル−セキュリティ記述子テーブル(sys.security_descriptorsなど)、および単一インスタンステーブル([System.Storage.Store].[Table!SecurityDescriptorSingleInstance]など)を使用する。
この実施例について続けると、Sys.security_descriptorsは、SQLによって維持されるカタログビューである。このバイナリは、SDIDをもつ対応する行内に格納される。
単一インスタンステーブルは、ファイルシステムによって維持され得る。それは、バイナリセキュリティ記述子のハッシュの、上記のSys.security_descriptorsビューまたはテーブル内で識別されるSDIDへのマップを含む。ある実施例では、SHA−1ハッシュが使用され得る。ある態様では、同じセキュリティ記述子を含む複数のアイテムが作成される場合、単一のエントリが両方のテーブル内に存在し得る。
上述したように、本発明の別の新規な特徴は、単一インスタンステーブルがかつて破損されている場合に、それは自己回復テーブルなので、破壊され得ることである。換言すると、破損が生じる場合、新しいテーブルが、単に新しいハッシュ値を作成し、それを適切なSDIDに関連付けることによって作成され得る。
ある態様では、アイテム/拡張/フラグメント/リンクテーブルは、「セキュリティ」属性でマーク付けされるSDIDのエントリを有し得る。これは、これらのテーブルへの任意の読出しアクセスし、ならびにこれらのビューの上に作られる任意のビューが、(FILE_READ_DATA|FILE_READ_ATTRIBUTES)を求めるアクセスチェックの対象となり得ることを保証することが理解されよう。アイテム拡張、リンク、およびアイテムフラグメントテーブルは、アイテムテーブルと同じセキュリティ記述子テーブルをもたなければならないことがさらに理解されよう。
図5は、本発明の態様による初期化の方法論を示している。説明を簡単にするために、本明細書でたとえばフローチャートの形で示された1つまたは複数の方法論は一連の行為として示され述べられているが、一部の行為は本発明に従って、本明細書で示し述べるものとは異なる順序で、および/またはそれと同時に生じ得るので、本発明は行為の順序によって制限されないことを理解されたい(understand and appreciate)。たとえば、方法論は別法として、状態図でなど、相互に関連する一連の状態またはイベントとして表され得ることが当業者には理解されよう。さらに、図示されるすべての行為が、本発明による方法論を実施することを必要とされ得るとは限らない。
構築プロセス中にモデルデータベースを構築する間、セキュリティデータ構造体が初期化される。502で、テーブルが設定される。ある実施例では、テーブルの設定は、Sys.server_principals、Sys.database_principals、Sys.server_role_membersおよびSys.database_role_membersの設定を含み得る。504で、単一のインスタンステーブルが作成される。この実施例によれば、504で、[System.Storage.Store].[Table!SecurityDescriptorSingleInstance]が作成され得る。
506で、ルートセキュリティ記述子が作成される。このルートセキュリティ記述子は、ストアのルートに対応する(たとえばアドミニストレータは完全な制御を有する)。508で、アイテムレベルセキュリティ記述子が作成される。たとえば508で、墓石アイテム(tombstone item)のためのセキュリティ記述子が、管理者が完全な制御を有し、また認証ユーザが読出しアクセスを有するように作成され得る。510で、これらのエントリは、単一インスタンステーブルに追加される。
ファイルシステムは、ACLの継承をサポートし得る。たとえば、アイテム作成(CreateItemまたはCreateComplexItemなど)のときから、そのアイテムのセキュリティ記述子は、(もしあれば)供給されたセキュリティ記述子、親のセキュリティ記述子、アイテムの型、および呼出し側のトークン(NTブランドトークンなど)を使用して作成され得る。
次にアクセスチェックについての議論を参照すると、すべての更新APIは、[System.Storage.Store].[HasSecurityAccess]を呼び出すことによって適切なアクセスチェックを実施する。APIは、呼出し側が、シェアレベルと、セキュリティ記述子(アイテム、レコードなど)レベルの両方で要求許可ビットを与えられることを保証する。ある具体的な態様では、(親の)セキュリティ記述子に対して実施されるアクセスチェックは、シェアに対して実施されるアクセスチェック(DELETE)とは異なる(FILE_DELETE_CHILD)。他の場合では、2つのアクセスチェックは、整合性があり得る。
この実施例について続けると、ツリー状構造全体に渡るACL伝播は、(新しいDACLまたはSACLを伴う)SetItemSecurity、または新しい親を伴うMoveItemが呼び出されるときに実施され得る。呼出し側が操作の実施を許可されていることを保証するため適切なアクセスチェックが実施された後に、ACL伝播は、ファイルシステムのコンテキストで行われ得る。ACLが更新されているサブツリー状構造に対しては、アクセスチェックは行われない。
本発明は、非同期および/または同期伝播を使用し得ることを理解されたい。以下は、同期伝播についての議論である。サブツリー状構造のルートは、複合アイテムとは無関係であることを理解されたい。そうではなく、サブツリー状構造のルートは、SetItemSecurityまたはMoveItemが呼び出されるノードを表す一般名称であることを理解されたい。
同期伝播によれば、ルートアイテムの新しいセキュリティ記述子が計算される。DACLまたはSACLが更新されない場合、アイテム、拡張、フラグメントおよびリンクテーブルについてSDIDが更新され、システムは戻る。アイテムのサブツリー状構造全体が、そのアイテムから開始してロックされる。この実施例では、他のテーブル(拡張、フラグメント、リンク)をロックする必要はない。
次いで、上記行為内のすべてのアイテムを含む一時テーブルが作成され得る。一時テーブルは、以下の特性を有し得る。一時テーブルは、ContainerId、ItemIdおよびNewSdIdを含み得る。さらに、NewSdIdは最初に、サブツリー状構造のルートを除いて、すべてについてNULLであり得る。
一時テーブル内の各エントリについて、新しい親SD、アイテムの型、および既存のアイテムSDを使用して、新しいSDが計算され得る。この実施例では、CreatePrivateObjectSecurityEx(SEF_AVOID_PRIVILEGE_CHECK|SEF_AVOID_OWNER_CHECK)が使用され得る。したがって、その新しい親SDが計算されており、アイテムの新しいSDIDがNULLである行を処理するたびに、一時テーブルは1レベルずつトラバースされ得る。この実施例によれば、これは、テーブルを一度に1レベル移動する。
反復の数は0(たとえばツリー状構造の深さ)である。2つの問題が考慮され得る。第1に、新しいセキュリティ記述子の計算が考慮され得る。第2に、すべての子についてのセキュリティ記述子の更新が考慮され得る。第2のシナリオでは、論理上の限界は0(たとえば子の数)である。第1のシナリオでは、必ずしもそうでないが、それは通常0(ツリーの深さ)である。必要であれば、新しいセキュリティ記述子が(単一インスタンスおよびSys.security_descriptorsテーブル内に)作成され得る。次いで、一時SDIDテーブルは、一時テーブル内で更新される。最後に、アイテム、拡張、リンクおよびフラグメントテーブルが、一時テーブル内で計算されたデータを使用して更新され得る。
図6は、マスタテーブルビューに問合せを行うT/SQL操作が、行レベルセキュリティによってSELECTステートメントのアクセス制御が実施されるユーザコンテキストで動作することを示している。さらに、ファイルシステムストア更新APIへの呼出しは、ユーザコンテキストで行われ、しかし、システムコンテキストで実行される。したがって、この実装は、呼出し側の許可チェックを実施し得る。
図7は、本発明による1つまたは複数の特徴の自動化を容易にする人工知能(AI)を使用するシステム700を示している。本発明は、(たとえばセキュリティポリシーの実施に関連して)その様々な態様を実施するために様々なAIベースの方式を使用し得る。たとえば、セキュリティ記述子が設定されるべきかどうか、およびそうである場合の使用するセキュリティのレベルを判断するためのプロセスは、自動の分類器システムおよびプロセスを介して容易にされ得る。さらに、単一のインスタンスおよびセキュリティ記述子テーブル(図2からの202、204)が複数の位置にリモートに配置される場合、比較のためどの位置が選択されるか判断するために、分類器が使用され得る。
分類器は、入力属性ベクトル、X=(x1,x2,x3,x4,xn)を、入力があるクラスに属するという信頼度にマップする関数、すなわちf(x)=信頼度(クラス)である。こうした分類は、ユーザが自動的に実施されることを望む動作を診断しまたは推論するために、(たとえば分析の有用性およびコストを考慮する)確率的および/または統計ベースの分析を使用し得る。
サポートベクトルマシン(SVM:support vector machine)は、使用され得る分類器の一例である。SVMは、可能な入力の空間内に、非トリガイベントからトリガ基準を分離しようとする超曲面を見つけることによって動作する。直感的にこれは、訓練データに近いがそれと同一ではないデータをテストするため、分類を正確なものにする。他の有向および無向モデルの分類手法には、たとえばナイーブベイズ、ベイジアンネットワーク、決定木、ニューラルネットワーク、ファジー論理モデルが含まれ、それぞれ異なる独立パターンを提供する確率的分類モデルが使用され得る。本明細書で分類は、優先度のモデルを開発するために使用される統計回帰をも包含する。
本明細書から容易に理解されるように、本発明は、(たとえば一般的な訓練データによって)明示的に訓練され、また(ユーザ振舞いを観察し、外因性の情報を受信することによって)暗黙的に訓練される分類子を使用し得る。たとえば、SVMは、分類器コンストラクタおよび特徴選択モジュール内の学習または訓練フェーズを介して構成される。したがって、分類子は、それだけに限らないが、所定の基準に従って判断することを含めて、複数の関数を自動的に学習し実施するために使用され得る。
次に図8を参照すると、開示されるアーキテクチャを実行するのに動作可能なコンピュータのブロック図が示されている。本発明の様々な態様についての追加の文脈を提供するために、図8および以下の議論は、本発明の様々な態様が実施され得る適切なコンピューティング環境800についての簡潔で一般的な説明を提供するためのものである。本発明について1つまたは複数のコンピュータ上で実行され得るコンピュータ実行可能命令の一般的な文脈で上記で述べたが、本発明は、他のプログラムモジュールとの組合せ、および/またはハードウェアとソフトウェアの組合わせとして実施されることもできることが当業者には理解されよう。
一般にプログラムモジュールは、特定のタスクを実装し、または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造体などを含む。さらに、本発明の方法は、それぞれが1つまたは複数の関連する装置に動作可能に結合され得る、単一のプロセッサまたはマルチプロセッサコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、ならびにパーソナルコンピュータ、ハンドヘルドコンピューティング装置、マイクロプロセッサベースまたはプログラマブル家電などを含めて、他のコンピュータシステム構成で実施され得ることが当業者には理解されよう。
図示する本発明の諸態様は、通信ネットワークを介してリンクされたリモート処理装置によって特定のタスクが実施される分散コンピューティング環境内で実施されることもできる。分散コンピューティング環境内では、プログラムモジュールは、ローカルとリモートの両方のメモリ記憶装置内に置かれ得る。
コンピュータは一般に、様々なコンピュータ読取り可能媒体を含む。コンピュータ読取り可能媒体は、コンピュータによってアクセスされ得る任意の使用可能な媒体とすることができ、揮発性と不揮発性、着脱式と固定式の両方の媒体を含む。限定するためではなく、例を挙げると、コンピュータ読取り可能媒体は、コンピュータ記憶媒体および通信媒体を備え得る。コンピュータ記憶媒体は、コンピュータ読取り可能命令、データ構造体、プログラムモジュールまたは他のデータなどの情報を格納するための任意の方法または技術で実装された揮発性と不揮発性、着脱式と固定式の両方の媒体を含む。コンピュータ記憶媒体には、それだけに限らないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタルビデオディスク(DVD:digital video disk)または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは所望の情報を格納するために使用されることができ、またコンピュータによってアクセスされることができる他の任意の媒体が含まれる。
通信媒体は一般に、コンピュータ読取り可能命令、データ構造体、プログラムモジュールまたは他のデータを搬送波や他のトランスポート機構などの変調されたデータ信号として実施し、また任意の情報送達媒体を含む。用語「変調されたデータ信号」は、信号の情報を符号化するなどのやり方でその特性の1つまたは複数が設定されまたは変更された信号を意味する。限定のためではなく、例を挙げると、通信媒体には、有線ネットワークや直接有線接続などの有線媒体、ならびに音響、RF、赤外線などの無線媒体、および他の無線媒体が含まれる。上記内容のいずれかの組合せもまた、コンピュータ読取り可能媒体の範囲内に含まれるべきである。
図8を再び参照すると、本発明の様々な態様を実施するための例示的な環境800がコンピュータ802を含んでおり、コンピュータ802は、処理装置804と、システムメモリ806と、システムバス808とを含む。システムバス808は、それだけに限らないが、システムメモリ806を含めてシステム構成要素を処理装置804に結合する。処理装置804は、市販の様々なプロセッサのいずれかであり得る。デュアルマイクロプロセッサ、および他のマルチプロセッサアーキテクチュアもまた、処理装置840として使用され得る。
システムバス808は、(メモリコントローラ付きのまたは無しの)メモリバス、周辺バス、および市販されている様々なバスアーキテクチュアのいずれかを使用したローカルバスにさらに相互接続され得る複数タイプのバス構造のいずれかであり得る。システムメモリ806は、読出し専用メモリ(ROM:read only memory)810およびランダムアクセスメモリ(RAM:random access memory)812を含む。起動時などにコンピュータ802内の要素間で情報を転送するのに役立つ基本のルーチンを含む基本入出力システム(BIOS:basic input/output system)はROM、EPROM、EEPROMなどの不揮発性メモリ810内に格納される。RAM812は、データをキャッシュするための静的RAMなどの高速RAMをも含み得る。
コンピュータ802はさらに、内部ハードディスクドライブ(HDD:hard disk drive)814(EIDE、SATAなど)を含み、この内部ハードディスクドライブ814は、適切なシャーシ(図示せず)、(たとえば着脱式なディスケット818から読み出しまたはそこに書き込む)磁気フロッピー(登録商標)ディスクドライブ(FDD:floppy disk drive)816、および(たとえばCD−ROMディスク822を読み出し、またはDVDなどの他の高容量光媒体から読み出しまたはそこに書き込む)光ディスクドライブ820で外部使用するように構成されることもできる。ハードディスクドライブ814、磁気ディスクドライブ816および光ディスクドライブ820は、それぞれハードディスクドライブインターフェース824、磁気ディスクドライブインターフェース826および光ドライブインターフェース828によってシステムバス808に接続され得る。外部ドライブ実装のためのインターフェース824は、ユニバーサルシリアルバス(USB:Universal Serial Bus)およびIEEE1394インターフェース技術のうちの少なくとも1つまたは両方を含む。他の外部ドライブ接続技術は、本発明の企図の範囲内である。
ドライブおよびその関連のコンピュータ記憶媒体は、データ、データ構造体、コンピュータ実行可能命令などの不揮発性記憶域を提供する。コンピュータ802では、ドライブおよび媒体は、任意のデータを適切なデジタル形式で格納することに対処できる。上記のコンピュータ読取り可能媒体についての説明は、HDD、着脱式磁気ディスケット、およびCDやDVDなどの着脱式光媒体に言及しているが、たとえばzipドライブ、磁気カセット、フラッシュメモリカード、カートリッジなど、コンピュータによって読出し可能な他のタイプの媒体もこの例示的なオペレーティング環境内で使用されることができ、またさらに、こうした媒体のいずれもが、本発明の諸方法を実施するためのコンピュータ実行可能命令を含み得ることを当業者には理解されたい。
オペレーティングシステム830、1つまたは複数のアプリケーションプログラム832、他のプログラムモジュール834およびプログラムデータ836を含めて、複数のプログラムモジュールがドライブおよびRAM812内に格納され得る。オペレーティングシステム、アプリケーション、モジュールおよび/またはデータのすべてまたは一部は、RAM812内にキャッシュされることもできる。本発明は、様々な市販のオペレーティングシステムまたはオペレーティングシステムの組合わせで実装され得ることが理解されよう。
ユーザは、1つまたは複数の有線/無線入力装置、たとえばキーボード838、マウス840などの入力装置を介して、コンピュータ802にコマンドおよび情報を入力し得る。他の入力装置(図示せず)には、マイク、IRリモート制御、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーンなどが含まれ得る。これらのおよび他の入力装置はしばしば、システムバス808に結合された入力装置インターフェース842を介して処理装置804に接続されるが、たとえばパラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェースなどの他のインターフェースによって接続され得る。
モニタ844または他のタイプの表示装置もまた、ビデオアダプタ846などのインターフェースを介してシステムバス808に接続される。モニタ844に加えて、コンピュータは、たとえばスピーカ、プリンタなど、他の周辺出力装置(図示せず)を一般に含む。
コンピュータ802は、リモートコンピュータ848などの1つまたは複数のリモートコンピュータへの、有線および/または無線通信を介した論理接続を使用して、ネットワーク化された環境内で動作することができる。リモートコンピュータ848は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースの娯楽機器、ピアデバイス、または他の一般的なネットワークノードとすることができ、また簡略にするためにメモリ/記憶装置850だけが示されているが、コンピュータ802に関して上記で述べた要素の多くまたはすべてを一般に含む。図示する論理接続は、ローカルエリアネットワーク(LAN:local area network)852、および/またはより大規模なネットワーク、たとえば広域ネットワーク(WAN:wide area network)854への有線/無線接続性を含む。こうしたLANおよびWANネットワーキング環境は、オフィス、企業では一般的であり、またすべてがグローバルな通信ネットワーク、たとえばインターネットに接続され得るイントラネットなどの企業規模のコンピュータネットワークを容易にする。
LANネットワーキング環境内で使用される場合、コンピュータ802は、有線および/または無線通信ネットワークインターフェースまたはアダプタ856を介してローカルネットワーク852に接続される。アダプタ856はLAN852への有線または無線通信を容易にすることができ、このLANは、無線アダプタ856と通信するためにその上に配置された無線アクセスポイントをも含み得る。
WANネットワーキング環境内で使用される場合、コンピュータ802はモデム858を含むことができ、またはWAN854上の通信サーバに接続され、あるいはインターネットによってなど、WAN854を介して通信を確立するための他の手段を含む。内部または外部の、また有線または無線の装置であり得るモデム858は、シリアルポートインターフェース842を介してシステムバス808に接続される。ネットワーク環境内では、コンピュータ802に関して示したプログラムモジュール、またはその一部は、リモートメモリ/記憶装置850内に格納され得る。図示するネットワーク接続は例示的であり、コンピュータ間の通信リンクを確立する他の手段が使用され得ることが理解されよう。
コンピュータ802は、無線通信内に動作可能に配置された任意の無線装置またはエンティティ、たとえばプリンタ、スキャナ、デスクトップおよび/またはポータブルコンピュータ、携帯情報端末、通信衛星、無線検出可能なタグに関連付けられた任意の装置または場所(キオスク、新聞売店、お手洗いなど)、および電話と通信するように動作可能である。これは、少なくともWi−FiおよびBluetooth(商標)無線技術を含む。したがって、通信は、従来のネットワークと同様に事前定義された構造、または単純に少なくとも2つの装置間のアドホック通信であり得る。
Wi−Fiすなわちワイヤレスフィデリティは、自宅のソファー、ホテルのベッド、または職場の会議室から無線でインターネットに接続することを可能にする。Wi−Fiは、携帯電話で使用されるものと類似の無線技術であり、この無線技術は、たとえばコンピューティングなどの装置が基地局の範囲内のどこでも、戸内または戸外でデータを送受信することを可能にする。Wi−Fiネットワークは、安全で信頼できる高速無線接続性を提供するために、IEEE802.11(a,b,gなど)と呼ばれる無線技術を使用する。Wi−Fiネットワークは、コンピュータを互いに、インターネットに、また(IEEE802.3またはイーサネット(登録商標)を使用する)有線ネットワークに接続するために使用され得る。Wi−Fiネットワークは、無免許の2.4および5GHz無線帯域内で、たとえば11Mbps(802.11a)または54Mbps(802.11b)データ転送速度で、あるいは両方の帯域(デュアルバンド)を含む製品と共に動作し、したがってネットワークは、多くのオフィスで使用される基本の10BaseT有線イーサネット(登録商標)ネットワークに類似の実世界のパフォーマンスを提供し得る。
次に図9を参照すると、本発明による例示的なコンピューティング環境900の概略ブロック図が示されている。システム900は、1つまたは複数のクライアント902を含む。クライアント902は、ハードウェアおよび/またはソフトウェア(スレッド、プロセス、コンピューティング装置など)であり得る。クライアント902は、たとえば本発明を使用することによってクッキーおよび/または関連のコンテキスト情報を収容することができる。
システム900は、1つまたは複数のサーバ904をも含む。またサーバ904は、ハードウェアおよび/またはソフトウェア(スレッド、プロセス、コンピューティング装置など)であり得る。サーバ904は、たとえば本発明を使用することによって、変換を実施するためのスレッドを収容することができる。クライアント902とサーバ904の間の可能な1つの通信は、2つ以上のコンピュータプロセス間で送信されるように適応されたデータパケットの形であり得る。データパケットは、たとえばクッキーおよび/または関連のコンテキスト情報を含み得る。システム900は、クライアント902とサーバ904の間の通信を容易にするために使用され得る通信フレームワーク906(たとえばインターネットなどのグローバル通信ネットワーク)を含む。
通信は、(光ファイバを含めて)有線および/または無線技術を介して容易にされ得る。クライアント902は、クライアント902にとってローカルな情報(クッキーおよび/または関連のコンテキスト情報など)を格納するために使用され得る1つまたは複数のクライアントデータストア908に動作可能に接続される。同様に、サーバ904は、サーバ904にとってローカルな情報を格納するために使用され得る1つまたは複数のサーバデータストア910に動作可能に接続される。上記で述べた内容は、本発明の実施例を含む。もちろん、本発明について述べるため構成要素または方法論の考えられるあらゆる組合せについて述べることは不可能であるが、本発明のさらなる多くの組合せおよび置換えが可能であることが当業者には理解されよう。したがって、本発明は、添付の特許請求の範囲の精神および範囲内に含まれるこうしたすべての変更、修正および変形を包含するものである。
本発明の一態様による、階層的な安全なストレージシステム内のデータの発見可能性を促進するシステムの一般的なコンポーネントブロック図である。 本発明の一態様による、単一のインスタンステーブルおよびセキュリティ記述子テーブルを含むシステムのブロック図である。 一態様による、型システム内のアイテムを汎用コンテナ型および複合アイテム型のインスタンスとして分類するシステムを示す図である。 本発明の一態様による、ストアコンポーネント、および信頼の境界の反対側のクライアントコンポーネントを含むシステムのブロック図である。 本発明の一態様による、初期化の方法論を示す図である。 本発明の一態様による、ビューに問い合わせる操作が、行レベルセキュリティによって選択ステートメントのアクセス制御が実施され得るユーザコンテキストで動作し得ることを示す関係図である。 本発明の一態様による、人工知能ベースの機構を使用するシステムのブロック図である。 開示されるアーキテクチュアを実行するように動作可能なコンピュータのブロック図である。 本発明による、例示的なコンピューティング環境の概略ブロック図である。
符号の説明
102 クエリコンポーネント
104 行レベルセキュリティコンポーネント
106 データコンポーネント

Claims (20)

  1. データアクセスを容易にするシステムであって、
    接続点からデータストアの抽象を生成するクエリコンポーネントと、
    少なくとも1つの行レベルアクセス許可に基づいて抽象を制限する行レベルセキュリティコンポーネントと
    を備えることを特徴とするシステム。
  2. 前記データストアは階層に編成され、前記クエリコンポーネントは前記階層を超越することを特徴とする請求項1に記載のシステム。
  3. アクセス制御実施ポリシーに関連して使用される信頼できる識別確立システムを提供するコンポーネントをさらに備えることを特徴とする請求項1に記載のシステム。
  4. 前記制限された抽象をレンダリングするレンダリングコンポーネントをさらに備えることを特徴とする請求項1に記載のシステム。
  5. 前記行レベルセキュリティコンポーネントは、セキュリティポリシーを前記データストア内の少なくとも1つの行に関連付けることを特徴とする請求項1に記載のシステム。
  6. 前記データストア内の各列は単一のオブジェクトを含むことを特徴とする請求項5に記載のシステム。
  7. 前記セキュリティポリシーは、アクセス制御リスト(ACL)およびセキュリティ記述子のうちの少なくとも1つであることを特徴とする請求項6に記載のシステム。
  8. 前記オブジェクトは、階層構造に編成されたデータ要素およびコンテナのうちの少なくとも1つであることを特徴とする請求項7に記載のシステム。
  9. 伝播が適切かどうか判断し、必要であれば前記セキュリティポリシーを前記階層のルートに設定し、前記階層内の少なくとも1つの子に前記セキュリティポリシーを伝播するコンポーネントをさらに備えることを特徴とする請求項8に記載のシステム。
  10. 前記セキュリティポリシーを伝播する前記コンポーネントは、前記オブジェクトに有効なセキュリティ記述子を計算するために、親のセキュリティ記述子および前記オブジェクトを知的に使用することを特徴とする請求項9に記載のシステム。
  11. 前記行レベルセキュリティコンポーネントはさらに、
    セキュリティ記述子をセキュリティ記述子識別子(SDID)にマップするセキュリティ記述子テーブルと、
    前記SDIDを前記SDIDのハッシュ値にマップする単一インスタンステーブルと
    をさらに備えることを特徴とする請求項1に記載のシステム。
  12. 前記SDIDは、前記セキュリティ記述子を指す整数値であることを特徴とする請求項11に記載のシステム。
  13. 前記ハッシュ値はSHA−1ハッシュアルゴリズムを介して生成されることを特徴とする請求項11に記載のシステム。
  14. ユーザが自動的に実施されることを望む動作を診断しまたは推論するために確率的および/または統計ベースの分析を使用する人工知能(AI)コンポーネントをさらに備えることを特徴とする請求項1に記載のシステム。
  15. 請求項1に記載のシステムを実施するためのコンピュータ実行可能命令がその上に格納されたコンピュータ読取り可能媒体。
  16. データストア内のデータにアクセス制御を提供するための方法であって、
    前記データを階層構造に編成することと、
    前記階層構造を超越することと、
    前記階層構造のルートにセキュリティポリシーを設定することと、
    親のセキュリティ記述子に少なくとも一部基づいて前記階層構造内の少なくとも1つの子に前記セキュリティポリシーを知的に伝播することと、
    前記データストアの接続点抽象を生成することと、
    前記抽象を前記行レベルセキュリティポリシーに少なくとも一部基づく前記データのサブセットに制限するように行レベルセキュリティポリシーを適用することであって、前記行レベルセキュリティポリシーは、ACLおよびセキュリティ記述子のうちの少なくとも1つを前記データストア内の少なくとも1つの行に関連付けることと
    を備えることを特徴とする方法。
  17. 前記行レベルセキュリティポリシーを適用することに関連して使用される信頼できる識別確立システムを確立することをさらに備えることを特徴とする請求項16に記載の方法。
  18. 前記制限された抽象をレンダリングすることをさらに備えることを特徴とする請求項17に記載の方法。
  19. データストア内のデータのアクセス制御を容易にするシステムであって、
    前記データをツリー状構造に編成する手段と、
    前記ツリー状構造を超越する手段と、
    前記ツリー状構造のルートにセキュリティポリシーを設定する手段と、
    前記セキュリティポリシーを前記ツリー状構造内の少なくとも1つの子に知的に伝播する手段と、
    親のセキュリティポリシーおよび前記子のセキュリティポリシーに少なくとも一部基づいて前記伝播されたセキュリティポリシーを適用する手段と、
    1つまたは複数のセキュリティポリシーに少なくとも一部基づいて前記データストアの接続点抽象をフィルタリングする手段であって、前記1つまたは複数のセキュリティポリシーは前記データストア内の少なくとも1つの列に関連する手段と
    を備えることを特徴とするシステム。
  20. 前記行レベルセキュリティポリシーの適用に関連して使用される信頼できる識別確立システムを確立するための手段をさらに備えることを特徴とする請求項19に記載のシステム。
JP2006044459A 2005-02-28 2006-02-21 階層的に安全なストレージシステム内の発見可能性および列挙の機構 Expired - Fee Related JP4896541B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US65753605P 2005-02-28 2005-02-28
US60/657,536 2005-02-28
US11/168,589 2005-06-28
US11/168,589 US7370050B2 (en) 2005-02-28 2005-06-28 Discoverability and enumeration mechanisms in a hierarchically secure storage system

Publications (3)

Publication Number Publication Date
JP2006244485A true JP2006244485A (ja) 2006-09-14
JP2006244485A5 JP2006244485A5 (ja) 2009-03-19
JP4896541B2 JP4896541B2 (ja) 2012-03-14

Family

ID=36579947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006044459A Expired - Fee Related JP4896541B2 (ja) 2005-02-28 2006-02-21 階層的に安全なストレージシステム内の発見可能性および列挙の機構

Country Status (9)

Country Link
US (1) US7370050B2 (ja)
EP (1) EP1696330B1 (ja)
JP (1) JP4896541B2 (ja)
KR (1) KR101224703B1 (ja)
AU (1) AU2006200199B2 (ja)
BR (1) BRPI0600129A (ja)
CA (1) CA2533864C (ja)
ES (1) ES2627855T3 (ja)
RU (1) RU2408070C2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013536506A (ja) * 2010-08-10 2013-09-19 ベネフィットフォーカス ドット コム インコーポレーテッド セキュアなエージェント情報のためのシステム及び方法
JP2016537697A (ja) * 2013-09-21 2016-12-01 オラクル・インターナショナル・コーポレイション オフライン可能なモデルグラフを定義するための方法およびシステム
JP2018520397A (ja) * 2015-04-21 2018-07-26 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 人間であるか機械であるかを識別するための方法及びシステム

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070203938A1 (en) 2005-11-28 2007-08-30 Anand Prahlad Systems and methods for classifying and transferring information in a storage network
US8930496B2 (en) 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US20070156902A1 (en) * 2005-12-30 2007-07-05 Becker Wolfgang A Systems and methods for implementing a tenant space in a provider-tenant environment
US20070156849A1 (en) * 2005-12-30 2007-07-05 Wolfgang Becker Systems and methods for delivering software upgrades in a provider-tenant environment
US7689593B2 (en) * 2005-12-30 2010-03-30 Sap Ag Systems and methods for accessing a shared space in a provider-tenant environment
US20070162969A1 (en) * 2005-12-30 2007-07-12 Becker Wolfgang A Provider-tenant systems, and methods for using the same
US7680825B2 (en) 2005-12-30 2010-03-16 Sap Ag Systems and methods for generating tenant-specific properties for use in a provider-tenant environment
US7693851B2 (en) * 2005-12-30 2010-04-06 Sap Ag Systems and methods for implementing a shared space in a provider-tenant environment
US7917607B2 (en) * 2005-12-30 2011-03-29 Sap Ag Software management systems and methods, including use of such systems and methods in a provider-tenant environment
US20070156901A1 (en) * 2005-12-30 2007-07-05 Wolfgang Becker Generation and use of table links in a provider-tenant environment
US7698284B2 (en) * 2005-12-30 2010-04-13 Sap Ag Systems and methods for deploying a tenant in a provider-tenant environment
US7756821B2 (en) * 2006-11-02 2010-07-13 Microsoft Corporation Virtual deletion in merged file system directories
US8027993B2 (en) * 2006-12-28 2011-09-27 Teradota Us, Inc. Techniques for establishing and enforcing row level database security
US20080162587A1 (en) * 2006-12-29 2008-07-03 Ulrich Auer Server synchronization for maintenance activities
US20080162483A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Methods and systems for protecting shared tables against unauthorized overwriting from a tenant space in a mega-tenancy environment
US20080162490A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Methods and systems for automatic registration during deployment of a tenant
US8069184B2 (en) 2006-12-29 2011-11-29 Sap Ag Systems and methods to implement extensibility of tenant content in a provider-tenant environment
US7739348B2 (en) * 2006-12-29 2010-06-15 Sap Ag Systems and methods for accessing a shared space in a provider-tenant environment by using middleware
US20080162536A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Systems and methods for extending shared data structures with tenant content in a provider-tenant environment
US7933869B2 (en) * 2006-12-29 2011-04-26 Sap Ag Method and system for cloning a tenant database in a multi-tenant system
US9286385B2 (en) * 2007-04-25 2016-03-15 Samsung Electronics Co., Ltd. Method and system for providing access to information of potential interest to a user
US8332375B2 (en) 2007-08-29 2012-12-11 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
US20090144183A1 (en) * 2007-08-29 2009-06-04 Nirvanix, Inc. Managing user accounts for storage delivery network
US9900347B2 (en) * 2007-09-14 2018-02-20 Telefonaktiebolaget Lm Ericsson (Publ) Handling trust in an IP multimedia subsystem communication network
US8316442B2 (en) * 2008-01-15 2012-11-20 Microsoft Corporation Preventing secure data from leaving the network perimeter
US8296820B2 (en) * 2008-01-18 2012-10-23 International Business Machines Corporation Applying security policies to multiple systems and controlling policy propagation
US8296301B2 (en) 2008-01-30 2012-10-23 Commvault Systems, Inc. Systems and methods for probabilistic data classification
US7836174B2 (en) 2008-01-30 2010-11-16 Commvault Systems, Inc. Systems and methods for grid-based data scanning
US20090282043A1 (en) * 2008-05-07 2009-11-12 Srinivas Ganesh Dharmavaram System And Method For Concurrency Control Of Logically Grouped Shared Objects In A Multi-User Environment
US9047277B2 (en) * 2008-12-18 2015-06-02 Adobe Systems Incorporated Systems and methods for synchronizing hierarchical repositories
US8224828B2 (en) 2009-12-22 2012-07-17 Sap Ag Multi-client generic persistence for extension fields
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
US9069817B2 (en) 2012-11-28 2015-06-30 International Business Machines Corporation Database row access control
US8959595B2 (en) 2013-03-15 2015-02-17 Bullaproof, Inc. Methods and systems for providing secure transactions
US10038550B2 (en) * 2013-08-08 2018-07-31 Intel Corporation Instruction and logic to provide a secure cipher hash round functionality
US9848330B2 (en) * 2014-04-09 2017-12-19 Microsoft Technology Licensing, Llc Device policy manager
US10445324B2 (en) 2015-11-18 2019-10-15 American Express Travel Related Services Company, Inc. Systems and methods for tracking sensitive data in a big data environment
US10037329B2 (en) 2015-11-18 2018-07-31 American Express Travel Related Services Company, Inc. System and method for automatically capturing and recording lineage data for big data records
US10169601B2 (en) 2015-11-18 2019-01-01 American Express Travel Related Services Company, Inc. System and method for reading and writing to big data storage formats
US10055471B2 (en) 2015-11-18 2018-08-21 American Express Travel Related Services Company, Inc. Integrated big data interface for multiple storage types
US10055444B2 (en) * 2015-12-16 2018-08-21 American Express Travel Related Services Company, Inc. Systems and methods for access control over changing big data structures
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10389810B2 (en) 2016-11-02 2019-08-20 Commvault Systems, Inc. Multi-threaded scanning of distributed file systems
US10922189B2 (en) 2016-11-02 2021-02-16 Commvault Systems, Inc. Historical network data-based scanning thread generation
US11295326B2 (en) 2017-01-31 2022-04-05 American Express Travel Related Services Company, Inc. Insights on a data platform
US20190181901A1 (en) * 2017-12-08 2019-06-13 T-Mobile Usa, Inc. Local profile assistant and application programming interface
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition
US11695777B2 (en) * 2019-02-26 2023-07-04 Vmware, Inc. Hybrid access control model in computer systems
RU2718233C1 (ru) * 2019-10-01 2020-03-31 Общество с ограниченной ответственностью «ПИРФ» (ООО «ПИРФ») Способ построения файловой системы на базе иерархии узлов
US11397826B2 (en) * 2020-10-29 2022-07-26 Snowflake Inc. Row-level security

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002506248A (ja) * 1998-03-03 2002-02-26 ネットワーク・アプライアンス・インコーポレイテッド マルチプロトコル・ファイルサーバにおけるファイル・アクセス制御
JP2004295221A (ja) * 2003-03-25 2004-10-21 Internatl Business Mach Corp <Ibm> 情報処理装置、データベース検索システム及びそのアクセス権解析方法
JP2005502956A (ja) * 2001-09-06 2005-01-27 コネクテッド コーポレイション 選択的データバックアップ
JP2007511831A (ja) * 2003-11-14 2007-05-10 ネッツ カンパニー リミテッド エクストラネットアクセスの制御装置及び方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6158007A (en) * 1997-09-17 2000-12-05 Jahanshah Moreh Security system for event based middleware
US6308181B1 (en) * 1998-12-19 2001-10-23 Novell, Inc. Access control with delayed binding of object identifiers
US7111321B1 (en) * 1999-01-25 2006-09-19 Dell Products L.P. Portable computer system with hierarchical and token-based security policies
GB0207354D0 (en) * 2002-03-28 2002-05-08 Ibm Inheritance of access controls within a hierarchy of data processing system resources
US7240046B2 (en) * 2002-09-04 2007-07-03 International Business Machines Corporation Row-level security in a relational database management system
US20050070276A1 (en) * 2003-09-26 2005-03-31 Mcgarry Rob Systems and methods that provide modes of access for a phone
US20050138393A1 (en) * 2003-12-22 2005-06-23 Challener David C. Determining user security level using trusted hardware device
US8990254B2 (en) * 2004-07-02 2015-03-24 Ellie Mae, Inc. Loan origination software system for processing mortgage loans over a distributed network
US7549158B2 (en) * 2004-08-31 2009-06-16 Microsoft Corporation Method and system for customizing a security policy

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002506248A (ja) * 1998-03-03 2002-02-26 ネットワーク・アプライアンス・インコーポレイテッド マルチプロトコル・ファイルサーバにおけるファイル・アクセス制御
JP2005502956A (ja) * 2001-09-06 2005-01-27 コネクテッド コーポレイション 選択的データバックアップ
JP2004295221A (ja) * 2003-03-25 2004-10-21 Internatl Business Mach Corp <Ibm> 情報処理装置、データベース検索システム及びそのアクセス権解析方法
JP2007511831A (ja) * 2003-11-14 2007-05-10 ネッツ カンパニー リミテッド エクストラネットアクセスの制御装置及び方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013536506A (ja) * 2010-08-10 2013-09-19 ベネフィットフォーカス ドット コム インコーポレーテッド セキュアなエージェント情報のためのシステム及び方法
JP2016537697A (ja) * 2013-09-21 2016-12-01 オラクル・インターナショナル・コーポレイション オフライン可能なモデルグラフを定義するための方法およびシステム
US10911592B2 (en) 2013-09-21 2021-02-02 Oracle International Corporation Method and system for defining an offlinable model graph
JP2018520397A (ja) * 2015-04-21 2018-07-26 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 人間であるか機械であるかを識別するための方法及びシステム

Also Published As

Publication number Publication date
EP1696330A3 (en) 2012-08-15
US7370050B2 (en) 2008-05-06
RU2006101820A (ru) 2007-08-10
KR101224703B1 (ko) 2013-01-21
AU2006200199B2 (en) 2010-11-25
ES2627855T3 (es) 2017-07-31
JP4896541B2 (ja) 2012-03-14
EP1696330A2 (en) 2006-08-30
EP1696330B1 (en) 2017-03-22
BRPI0600129A (pt) 2006-10-24
RU2408070C2 (ru) 2010-12-27
US20060195449A1 (en) 2006-08-31
CA2533864C (en) 2013-12-24
AU2006200199A1 (en) 2006-09-14
CA2533864A1 (en) 2006-08-28
KR20060095451A (ko) 2006-08-31

Similar Documents

Publication Publication Date Title
JP4896541B2 (ja) 階層的に安全なストレージシステム内の発見可能性および列挙の機構
KR100959473B1 (ko) 저장 플랫폼과 애플리케이션 프로그램 사이의 애플리케이션프로그래밍 인터페이스
US7555497B2 (en) Systems and methods for separating units of information manageable by a hardware/software interface system from their physical organization
US8131739B2 (en) Systems and methods for interfacing application programs with an item-based storage platform
US7349913B2 (en) Storage platform for organizing, searching, and sharing data
US7529811B2 (en) Systems and methods for the implementation of a core schema for providing a top-level structure for organizing units of information manageable by a hardware/software interface system
US7483915B2 (en) Systems and method for representing relationships between units of information manageable by a hardware/software interface system
US7428546B2 (en) Systems and methods for data modeling in an item-based storage platform
JP4394643B2 (ja) アイテムベースのストレージプラットフォームにおけるデータモデリングのためのシステムおよび方法
US7739316B2 (en) Systems and methods for the implementation of base schema for organizing units of information manageable by a hardware/software interface system
US8180812B2 (en) Templates for configuring file shares
US20050055354A1 (en) Systems and methods for representing units of information manageable by a hardware/software interface system but independent of physical representation
JP4394644B2 (ja) データの編成、検索、および共有のためのストレージプラットフォーム
MXPA06001884A (en) Discoverability and enumeration mechanisms in a hierarchically secure storage system
ZA200600644B (en) Systems and methods for interfacing application programs with an item-based storage platform

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111221

R150 Certificate of patent or registration of utility model

Ref document number: 4896541

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees