(57)【要約】  ユーザ生産性は、高レベルの意図と意図を達成するよう構成されるべき低レベルの設定との間にインターフェイスを提供することによって容易にすることができる。意図は、宣言型言語で表すことができる。意図は、ターゲット、ポリシー、または両方に準拠しているかどうかを決定するために、確認され得る。ポリシーバインディングは、ターゲットとポリシーとの間の関係を提供することができる。ユーザが１つまたは複数のデータベースを有するサーバを表示できるようにするアプリケーションビューを提供することができる。
2009540461.tif 000002
【特許請求の範囲】
【請求項１】
データベース管理の生産性を容易にするシステム（２００、３００、４００、６００）であって、
宣言型言語で構築された高レベルの意図を受け付けるインターフェイス構成要素（２０２、３０２、４０２、６０２）と、
前記高レベルの意図を解釈し、こうした意図を低レベルの設定に適用する宣言型管理構成要素（２０４、３０４、４０４、６０４）と
を含むことを特徴とするシステム。
【請求項２】
前記意図を副構成要素に分割する構文解析構成要素と、
特定の意図を導出するために各副構成要素を分析する構文エンジンと
をさらに含むことを特徴とする請求項１に記載のシステム。
【請求項３】
特定の予め定義された構成でポリシーをデプロイするセキュリティ構成要素をさらに含むことを特徴とする請求項１に記載のシステム。
【請求項４】
ポリシー、ポリシーバージョン、ターゲット、およびファセットのうちの少なくとも１つに関連する履歴情報を維持する履歴構成要素をさらに含むことを特徴とする請求項１に記載のシステム。
【請求項５】
規模の管理および規模の自動化のうちの少なくとも１つを提供する集計構成要素をさらに含むことを特徴とする請求項１に記載のシステム。
【請求項６】
プログラミングモデルを拡張することによりファセットおよびターゲットのうちの少なくとも１つを増分的に追加する構成構成要素をさらに含むことを特徴とする請求項１に記載のシステム。
【請求項７】
複数のサーバおよび複数の製品のうちの少なくとも１つにわたってアプリケーションを拡張する最適化構成要素をさらに含むことを特徴とする請求項１に記載のシステム。
【請求項８】
ポリシーおよびターゲットセットを含むバインディング構成要素をさらに含み、前記ポリシーおよび前記ターゲットは、複数のバインディングにより参照され得ることを特徴とする請求項１に記載のシステム。
【請求項９】
前記宣言型管理構成要素は、複数のアプリケーションを含むサーバのアプリケーションビューを提供することを特徴とする請求項１に記載のシステム。
【請求項１０】
前記宣言型管理構成要素の少なくとも１つの機能を自動化する機械学習構成要素をさらに含むことを特徴とする請求項１に記載のシステム。
【請求項１１】
高レベルの意図と低レベルの設定との間のインターフェイスを提供する方法（７００、８００）であって、
宣言型意図を受信するステップ（７０２、８０６）と、
前記意図を達成するよう構成するための１つまたは複数の設定を決定するステップ（７０４）と、
前記１つまたは複数の設定を構成するステップ（７０６）と
を含むことを特徴とする方法。
【請求項１２】
前記受信された宣言型意図への準拠の監視を提供するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
ポリシーをターゲットセットにマッピングするためにポリシーバインディングを実行するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
制約または違反をチェックするステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１５】
レポート機能を提供するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１６】
前記１つまたは複数の設定の構成は、複数のデータベースにわたることを特徴とする請求項１１に記載の方法。
【請求項１７】
データベース管理を提供するコンピュータ実行可能システム（２００、３００、４００、６００、３１００）であって、
宣言型ステートメントとして表された高レベルの意図を受信するコンピュータ実施手段（２０２、３０２、４０２、６０２、３１３８、３１４０）と、
前記高レベルの意図を解釈し、前記高レベルの意図に基づいて加えるべき前記設定変更を識別するコンピュータ実施手段（２０４、３０４、４０４、６０４、３１０２、３１０４）と、
前記識別された設定変更を構成するコンピュータ実施手段（４１６、４２０、６１０、３１０２、３１０４）と
を含むことを特徴とするコンピュータ実行可能システム。
【請求項１８】
複数のアプリケーションを含むサーバのアプリケーションビューを提供するコンピュータ実施手段をさらに含むことを特徴とする請求項１７に記載のコンピュータ実行可能システム。
【請求項１９】
前記高レベルの意図への準拠を監視するコンピュータ実施手段をさらに含むことを特徴とする請求項１７に記載のコンピュータ実行可能システム。
【請求項２０】
予め定義された方法でポリシーをデプロイするコンピュータ実施手段をさらに含むことを特徴とする請求項１７に記載のコンピュータ実行可能システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース管理の生産性を容易にするシステムおよびデータベース管理を提供するコンピュータ実行可能システムに関する。
【背景技術】
【０００２】
システム管理者は、インストールされたアプリケーションを大量に有するデータベースまたは他のサーバを日常的に管理し得る。システム管理者は、システム障害に備えて回復可能なフォーマットでデータを提供するなど、様々な管理目標または管理ポリシーを満たすように、データベースまたはサーバを構成する。さらに、システム管理者は、ポリシーの更新を監視し、システムの状態または正常性（それが所望のポリシーに準拠しているかどうかなど）について報告し、システムがもはや所望のポリシーに準拠しないとき対処しなければならず、他のアクションもである。
【０００３】
こうしたアクションを行うために、システム管理者は、ポリシーを、システムの構成に使用される１組の詳細な低レベルアクションに変換する。このことは、インストールされたアプリケーションにより公開されるオプション、およびデプロイされたアプリケーションの詳細およびセマンティクスのかなりの知識を必要とする。というのは、システム管理は、一般に、容易ではなく、直観的だからである。システム管理者は、別々の監視機構および報告機構を設定する場合があり、自動化が望まれる場合、これは、手動で設定されなければならない。システム管理者は、管理されている全てのターゲットについて、このプロセスを個別に繰り返し、従って、管理における規模の効率性はない。これによって、各管理ターゲットのために、余分な時間および労力が費やされる。
【０００４】
こうした機能を行う構文は、様々な設定の有効化、無効化、または変更に関して、難解になり、ユーザフレンドリではなくなる可能性がある。さらに、様々な設定の位置に一貫性がない。例えば、いくつかの設定はディスプレイ上に表示され、別の設定は表示されない。これらおよび他の要因によって、各設定の場所を突き止め、変更するために費やされる時間量が増える。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記および他の不備を克服するために、システム管理者の意図と、その意図を達成するのに必要な低レベルの設定との間の動的な仲裁が必要である。また、様々な設定がより集中化される場所、例えばディスプレイなどが必要である。
【課題を解決するための手段】
【０００６】
以下は、開示した実施形態の一部の態様を基本的に理解できるようにするために、簡略化された要約を示している。この要約は、広範な概要を示すものではなく、こうした実施形態の鍵となるまたは重要な要素を識別するもの、およびこうした実施形態の範囲を画定するものではない。単に、後述するより詳細な説明の前置きとして、記載された実施形態の一部の概念を簡略化した形で提示するためのものである。
【０００７】
１つまたは複数の実施形態および対応するその開示に従って、データ管理製品に関してユーザ生産性を向上させることとの関連で、様々な態様について説明される。（例えば、複雑なコマンドの大部分をマスターし、適用するなど）ユーザ対話を軽減するために、管理者の意図と、その意図を達成するために変更されるべき低レベルの設定との間の仲裁が提供される。
【０００８】
実施形態は、ユーザの意図と、その意図を達成するために必要な低レベルの設定との間の仲裁を提供することができ、したがって、複雑なコマンドの大部分をマスターし、適用する負担からユーザを解放する。別個の方法で構成されるオブジェクトにより同じファセットを提示することができ、したがって、ユーザは、個々のオブジェクトを構成するために専門のセマンティクスを学ぶ必要はない。１つのファセットに対して１つのポリシーを適用することができ、ユーザは、単一のポリシーで、このファセットを提示する複数のオブジェクト全てを構成することができる。ファセットは、例えば別個のターゲットから別々の設定を抽出することができる（例えばリソース消耗ファセットは、ＯＳファイルシステムおよびデータベースサーバの残りの空のページの両方を一緒に監視し、構成し得る）。ポリシーは、「複合管理ポリシー（ｃｏｍｐｏｓｉｔｅ  ｍａｎａｇｅｍｅｎｔ  ｐｏｌｉｃｉｅｓ）」に集めることができる。
【０００９】
一部の実施形態によれば、ユーザは、アドホックベースで、宣言型管理（ＤＭＦ）システムに、所与のターゲットが所与のポリシーに準拠しているかどうかをチェックするよう指示することができる。ＤＭＦは、ポリシー準拠を強制するために、準拠していないターゲットを再構成する能力を含み得る。管理ファセットの個々の属性に基づいて、ＤＭＦは、単一であるか複合であるかにかかわらず、「構成可能な」ポリシーおよび／または「実施できる」ポリシーを認識する。準拠していないターゲットセットの構成の有無にかかわらず、スケジュール通りのポリシーチェックを自動化する能力が提供される。また、準拠していないターゲットセットの構成の有無にかかわらず、任意の変更に関するポリシーチェックを自動化する能力が提供され、任意の逸脱の即座の警告を提供することができる。
【００１０】
ポリシー評価に似るように、自動ポリシーチェックを、１つのアクションまたは一連のアクションと結合することができる（例えば、セキュリティポリシーが失敗すると、電子メールが送信され得る）。アクションを、ポリシー評価の成功、不成功と関連付けることができる。可能な場合、ファセットを準拠させないようにする試行を検出し、その試行を防ぐための機構を含めることができる（自動式のポリシー実施など）。ポリシーは、サーバ上の単一のオブジェクトからエンタープライズまで延びる階層の任意のレベルを対象とすることができる。アプリケーションを対象とするポリシーを、そのアプリケーションに属するサーバ上のこれらのオブジェクトのみに適用するようにすることができる。ユーザは、ポリシーの対象をそれらのオブジェクトを含む階層のルートとすることにより、多くのオブジェクトをポリシー下に置くことができる。単一のアクションで、ユーザは、設定を確実に変更したり、多くのマシンにおけるポリシーの実施をチェックし、構成し、または自動化したりすることができる。性能または他の動的に変化するデータをサンプリングし、集め、それを管理ファセットから使用可能にするためのコレクタを含めることができる。
【００１１】
一部の実施形態は、統合セキュリティモデルにより実施することができる。高レベルでデプロイされたポリシーは、低レベルポリシーに取って代わることができる（例えば、サーバグループポリシーは、データベースポリシーより優先度が高いなど）。ユーザは、見る権限を有するターゲットセットまたはポリシーの部分のみを見ることができる。ＤＭＦによりユーザは、「アプリケーション」を構成するターゲット要素を示すことができる。ＤＭＦアプリケーションは、おそらく複数の製品（ベンダーなど）からの複数のサーバにわたって拡張し得る。アプリケーションは、１つのターゲットからインポートされ、保存され、後で１つのユニットとして新しいターゲットにデプロイされ得る。異なるポリシーおよびポリシーバージョンの履歴、および管理ターゲットとの関連付けを表示するために、開示された実施形態を使用することができる。ユーザは、任意のターゲットに対して効力のあるポリシー（例えば、このターゲットを直接制約する任意のポリシーの部分など）を表示することができる。また、保管またはデプロイメントの目的で、ポリシーおよびバインディングをスクリプトし、インポートし、エクスポートする方法も提供される。
【００１２】
システムがエンタープライズのポリシーに準拠するよう構成される前にユーザにリリースされる可能性を軽減するために、実施形態をソフトウェアのインストールまたはアプリケーションのデプロイメントに組み込んでもよい。管理ファセットを拡張可能ＡＰＩに１つの構成体として含めることにより、ユーザは、各自の管理ファセットを作成して、各自の管理目標を捕捉し、実行することができる。管理ターゲットを拡張可能ＡＰＩに１つの構成体として含めることは、新しいＤＭＦターゲットを実装するユーザまたはソフトウェアベンダーにより、追加の管理ターゲットを宣言型管理下に置くことができることを意味する。ＤＭＦにより、デプロイメント時の自動構成、自動監視、自動準拠報告、および自動メンテナンス／調整を含めて、管理ライフサイクル全体の自動化が可能になる。多くの場合、これによって、完全な自己管理システムがもたらされる。
【００１３】
上記および関連の目的の達成のために、１つまたは複数の実施形態は、以下において十分説明され、特に特許請求の範囲に示す特徴を含む。以下の説明および添付の図面は、いくつかの例示的な態様を詳細に示しており、実施形態の原理を使用することができる様々な方法のうちのほんの数例を示している。他の利点および新しい特徴は、以下の詳細な説明を図面と併せ読めば明らかになり、開示された実施形態は、こうした全ての態様およびその均等物を含むものとする。
【発明を実施するための最良の形態】
【００１４】
次に、図面を参照して様々な実施形態について説明する。全体を通して、同様の参照番号を使用して同様の要素を指す。以下の説明では、説明上、１つまたは複数の態様を完全に理解できるようにするために様々な特定の詳細を記載している。しかし、こうした特定の詳細なしに様々な実施形態を実施できることは明らかである。他の例では、これらの実施形態を説明しやすくするために、よく知られている構造および装置をブロック図の形式で示している。
【００１５】
本出願で使用する場合、「構成要素」、「モジュール」、「システム」などの用語は、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータ関連のエンティティを指すものとする。例えば、構成要素は、それだけには限定されないが、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータとすることができる。例として、サーバ上で動作するアプリケーションおよびサーバはいずれも構成要素である。１つまたは複数の構成要素がプロセスおよび／または実行スレッド内に存在する可能性があり、１つの構成要素を１つのコンピュータ上に局所化し、かつ／または２つ以上のコンピュータ間に分散することができる。
【００１６】
「例」という単語は、本明細書では、例、例示、例証として働くことを意味するために使用される。「例」として本明細書に記載されている任意の態様または設計は、必ずしも他の態様または設計より好ましい、または有利であるものと解釈されるものではない。
【００１７】
メモリ、記憶装置、データベース、または他の媒体への任意の言及は、本明細書で使用される場合、不揮発性および／または揮発性メモリを含み得る。適した不揮発性メモリには、読み取り専用メモリ（ＲＯＭ）、プログラム可能ＲＯＭ（ＰＲＯＭ）、電気的プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリなどがある。揮発性メモリには、ランダムアクセスメモリ（ＲＡＭ）などがあり、これは外部キャッシュメモリとして働く。ＲＡＭは、それだけには限定されないが一例として、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、ラムバスダイレクトＲＡＭ（ＲＤＲＡＭ）、ダイレクトラムバスダイナミックＲＡＭ（ＤＲＤＲＡＭ）、ラムバスダイナミックＲＡＭ（ＲＤＲＡＭ）など多くの形で使用可能である。
【００１８】
本明細書で使用する場合、「推論する」または「推論」という用語は一般に、イベントおよび／またはデータを介して捕捉された１組の観察結果からシステム、環境、および／またはユーザの状態について推理または推論する過程を指す。例えば、推論を使用して、特定のコンテキストまたはアクションを識別したり、状態にわたる確率分布を生成したりすることができる。推論は、確率的、つまりデータおよびイベントの考慮に基づいた対象の状態にわたる確率分布の計算とすることができる。また、推論は、１組のイベントおよび／またはデータから上位レベルのイベントを構成するために使用される技術を指すことができる。こうした推論によって、複数のイベントが時間的にごく近接して相関しているかどうかにかかわらず、またイベントおよびデータが派生したイベントおよびデータソースが１つであろうと複数であろうと、１組の観察されたイベントおよび／または格納されたイベントデータから新しいイベントまたはアクションが構築される。
【００１９】
いくつかの構成要素、モジュールなどを含み得るシステムの観点から、様々な実施形態について説明する。様々なシステムが、図面との関連で説明される追加の構成要素、モジュールなどを含んでいてもよい（またはその全てを含んでいなくてもよい）ことを理解されたい。これらの手法の組み合わせを使用することもできる。本明細書で開示された様々な実施形態を、タッチ画面ディスプレイ技術および／またはマウスおよびキーボードタイプのインターフェイスを使用する装置を含めて、電気装置において実行することができる。こうした装置の例には、コンピュータ（デスクトップおよびモバイル）、スマートフォン、個人用デジタル補助装置（ＰＤＡ）、および有線および無線の両方の他の電子装置などがある。
【００２０】
以下の詳細な説明において、様々な態様および実施形態を、ＳＱＬ  Ｓｅｒｖｅｒの文脈で説明することができる。これらの発明の態様は、開示された実施形態との使用にうまく適し得るが、これらの発明の態様が様々な他のデータ管理製品における使用にも同様に適用可能であることを、当業者であれば容易に理解されよう。従って、こうした発明の態様が広範な用途を有するということを理解した上で、ＳＱＬ  Ｓｅｒｖｅｒへの任意の言及は、発明の態様を例示するためのものにすぎない。
【００２１】
最初に図１を参照すると、システムアーキテクチャ１００の高レベルブロック図が示されている。データベースまたはシステム管理者（以下ユーザと呼ぶ）は、一般に、データ管理製品（ＳＱＬデータベースまたはサーバなど）との関連で、様々なサービス（リレーショナルデータベースなど）の継続的な正しい操作を提供する責任を負う。管理されるべきサービスまたはエンティティは、本明細書では、ターゲット１０２と呼ばれ、システム１００は、ターゲット１０２に関連するこうした目標または管理ポリシーを達成するよう構成されなければならない。
【００２２】
こうしたポリシーを定義するとき、これらがどのように実施されるべきか（例えば「１時間ごとのスケジュールでバックアップジョブを作成する」など）を記述する物理的ステートメントに対して、何を行うべきか（例えば「私は１時間以内にデータを回復することができるだろう」など）を記述するために論理的または宣言的ステートメントが使用される場合、より大きい生産性を達成することができる。したがって、ポリシーは、こうした目標を容易にするために変更されるべき実際の構成設定の観点で表されるのに対して、ユーザの意図の観点から表されるべきである。
【００２３】
ポリシーの実際の実装は複雑であり得る。というのは、それぞれ別個のセマンティクスにより操作される多くの低レベルの設定があり得るからである。さらに、ユーザが一緒に扱うことを望み得る設定は、異なる位置、または異なる方法、またはその両方で公開され得る。多くの場合、ユーザは、複数の類似のオブジェクトに対して単一の設定を繰り返し適用せざるを得ない（例えば各データベースが文字データの特定のソート順を使用するなど）。ファセット１０４は、ユーザの意図と低レベルの設定との間のギャップを埋めるために使用することができる。ファセット１０４は、特定の大きさのユーザの意図をモデリングする１組の論理的プロパティと考えることができる。ユーザは、ポリシーを、基礎を成すターゲット１０２への問い合わせを行い、または構成するために使用することができるコマンドに変換するよう構成することができる、ファセット１０４により公開された高レベル構成体に対するポリシーを作成することができる。
【００２４】
ターゲット１０２は、ファセット１０４を介して状態またはメタデータを公開することができる。例えば、テーブルは、そのスキーマメタデータ（名前、所有者など）に対応する状態を有することができる。その物理的な格納に対応する状態（例えばパーティショニング、ファイルグループなど）、およびデータの内容に対応する状態（例えばサイズ、行数など）がある。これらは、異なるファセットとすることができ、ターゲットタイプの各ファセットは、意図を指定するためのインターフェイスである。
【００２５】
ポリシーは、例えば、ファセット１０４の許容できる状態についてのステートメントとすることができる。典型的な宣言的スタイルでは、ポリシーは、所望の状態を達成する方法ではなく、ターゲット１０２の所望の状態を指定する。例えば、スキーマメタデータにおけるポリシーは、名前が「ｘｙ＿」で始まるべきであると指定することができる。これらの指定は、許容状態に関する制約１０６として（例えば、ファセット１０４の属性に対する簡易ブール式によって）定義することができる。したがって、制約１０６は、１組の許容状態を指定する、単一ファセットパラメータによるブール関数とすることができる。
【００２６】
ポリシー１０８は、制約１０６およびその挙動（例えば、制約１０６が実行される方法など）を指定することができる。異なるポリシーを、複合ポリシーまたはポリシーグループ１１０に集めることができる（例えば、単一のポリシーは、マシンの全てのセキュリティ要件を含み得る、または全体的なサーバポリシーは、命名ポリシー、表面積ポリシー、データ回復可能性ポリシー、スペース管理ポリシーを結合することができる）。ポリシーは、他のポリシーを参照することができる。
【００２７】
個々のポリシー１０８は、ターゲット１０２またはターゲットの組に対して明示的に評価され得る。ポリシー１０８を、単一オブジェクト、またはオブジェクトの集まりに適用することができる（例えば、ポリシーを、データベースの全てのオブジェクトに適用することができる）。ポリシー１０８を、エンタープライズにわたって適用することもできる（例えば、Ｗｅｂファームの全てのサーバに適用することができる）。構成およびメンテナンスポリシーが複数の異質のサーバインスタンス（例えば、サーバファーム、フェデレーテッドサーバなど）に及ぶ場合、エンタープライズ管理は、エンタープライズシステム管理の総費用を簡略化し、低減することができるフレームワークである。
【００２８】
ポリシー１０８の対象となるオブジェクトの集まりは、ターゲットセット１１２と呼ばれ、ターゲットセット１１２は、パス式によって指定される１組の管理ターゲットである。ターゲットセット１１２は、そのパス下の全てのターゲットから成る。ポリシー１０８とターゲットセット１１２との関連付けは、ポリシーバインディング１１４と呼ばれ、ポリシー１０８と管理ターゲットセット１１２との間のＭ：Ｍの関係である。ターゲットセット１１２を使用することにより、ユーザは、単一アクションで、全てのマシンをチェックしたり構成したりすることができる。システム１００は、ポリシーバインディングを介して、特定のポリシーを特定のターゲットの組に自動的に適用することができる。バインディングは、所望の挙動のタイプ（例えば、違反についてチェックする、ターゲットを準拠するよう変更するなど）を指定することもできる。
【００２９】
宣言的意図として表される宣言型管理を使用して、ユーザは、ポリシー１０８が所与のターゲットセット１１２と比較されるよう要求することができ、こうしたユーザに、ターゲットセット１１２がポリシー１０８に準拠するかどうかを知らせることができる。宣言型管理ユーザは、所与のターゲットセット１１２がポリシーに準拠するようになるよう要求することもできる。システムは、ターゲットセット１１２を構成し、強制的に１つまたは複数の設定が準拠する結果をもたらすようにすることができる。これが可能ではない場合（例えば、ＣＰＵ使用率が８０％未満であることをポリシーが要求するなど）、システムは、ファセット１０４に構成可能とフラグを立て、非構成可能ファセットに依存するポリシーを構成しようとする試行を拒否することができる。以下の表は、開示された実施形態と共に使用することができるファセット例を表す。
【００３０】
【表１】
2009540461.tif 000003
【００３１】
システム１００は、例えばユーザが選択可能なポリシー自動化を介して進行中の監視および構成を提供することもできる。自動化が呼び出される場合、ユーザは、所望の挙動（例えば、違反についてチェックする、ターゲットを準拠するよう構成するなど）を指定することができる。一部の実施形態において、準拠していないターゲットセットの構成の有無にかかわらず、変更に対して、自動化されたポリシー監視を行うことができる。これによって、任意の逸脱の即座の警告をユーザに提供することができる。
【００３２】
自動化の場合、ユーザは、ポリシーがいつ評価されるべきか（例えば、スケジュール通り、変更が行われるたびなど）を指定することもできる。あるいは、またはさらに、システムは、そのポリシーを自動的に実施することができる（例えば、ポリシーに違反する変更を許可しないなど）。したがって、システム１００は、ユーザに、最小限のユーザ対話で構成を管理するための手段を提供することができる。
【００３３】
ｄｍｆ＿ｐｏｌｉｃｉｅｓ、ｄｍｆ＿ｃｏｎｓｔｒａｉｎｔｓ、ｄｍｆ＿ｂｉｎｄｉｎｇｓ、ｄｍｆ＿ｔａｒｇｅｔ＿ｓｅｔｓ、ｄｍｆ＿ｔａｒｇｅｔ＿ｔｙｐｅ＿ｔｏ＿ｅｖｅｎｔｓなど、ＤＭＦカタログ表を不揮発性ストレージ（ＳＱＬ  Ｓｅｒｖｅｒインスタンスにおけるシステムデータベースなど）で保持することができる。ＤＦＭにより作成されたジョブをチェックするには、以下のクエリを使用することができる。
【００３４】
【表２】
2009540461.tif 000004
【００３５】
図２は、データベースサーバの管理可能性を提供するシステム２００を示す。ユーザは、そのライフサイクルにわたってデータベースサーバを管理することができ、ライフサイクルにわたってデータベースサーバにおいてホストされている複数のアプリケーションを管理することができる。管理可能性は、システムがユーザ生産性をどれぐらいうまく可能にするかの目安である。生産性は、様々なユーザ機能の使い易さ、親しみやすさ、直観性、および／または信頼性に正比例し得る。また、生産性は、管理機構の自動化、および一般的な一貫性のある方法で多数のインスタンスおよびデプロイメントを管理する能力のいずれか、または両方にも正比例し得る。システムがエンタープライズのポリシーに準拠するよう構成される前にリリースされないように、ソフトウェアインストール中、またはアプリケーションデプロイメント中にシステム２００を組み込むことができる。
【００３６】
システム２００は、インターフェイス構成要素２０２、宣言型管理構成要素２０４、およびレンダリング構成要素２０６を含む。システム２００は、ユーザが意図を入力できる簡単で管理可能な手段を提供し、最小限のユーザ対話での意図の達成を容易にするために、その意図を１つまたは複数の設定に自動的に適用することができる。ユーザは、インターフェイス構成要素２０２を介して、こうした意図を入力することができる。
【００３７】
ユーザは、意図に関連してシステム２００により実行される１つまたは複数の機能を指定することもできる。例えば、ユーザは、ポリシーが所与のターゲットセットに準拠することをシステムがチェックするよう要求することができる。ユーザは、所与のターゲットセットがポリシーに準拠するようになるよう要求することもできる。あるいは、またはさらに、ユーザは、ポリシー自動化を要求することができる。ポリシーの例には、それだけには限定されないが、命名規則ポリシー、名前制約ポリシー、セキュアログインポリシー、構成ポリシー、ＯｆｆＢｙＤｅｆａｕｌｔポリシー、コンプライアンスポリシー、データベース管理ポリシー、分析サービスパッチレベルポリシー、バックアップポリシー、表面積構成ポリシー、サーバＣＰＵ使用率ポリシーなどがある。
【００３８】
ターゲットを定義する間、これらのターゲットが、物理ユニット（例えば、個々のデータベースまたはファイルグループ）ではなく、論理ユニット（例えば、サーバインスタンスにデプロイされた個々のアプリケーションなど）に対応するとき、ユーザ生産性を向上させることができる。低レベルアクションへの変換の詳細は、システム２００によって実行される。
【００３９】
宣言型管理構成要素２０４は、ポリシーの意図を解釈し、認識し、または推論するとき（宣言的用語で表される場合がそうである）、監視および報告を自動化することができる。また、これは、ポリシーの準拠を助けるために、システム２００の調整またはメンテナンスを自動化することもできる。自動調整は、ニーズおよび使用に基づく自動インデックス作成／削除を含み得る。自動調整は、稼働または非稼働（オンまたはオフ）にすることができ、アグレッシブ性（例えば、よりアグレッシブ、あまりアグレッシブではないなど）について構成することができる。また、自動調整は、例えばＯＬＡＰでの自動集計設計を含むこともできる。こうした設計は、キューブを構築することを含み得る（ＳＱＬ  Ｓｅｒｖｅｒ  Ａｎａｌｙｓｉｓ  Ｓｅｒｖｉｃｅｓは、学ぶにつれて集計を追加することができる）。このように、システム２００は、妥当な性能で開始することができ、使用を介して改善され得る。
【００４０】
例えば、意図を「私は１時間以内にデータを回復することができるだろう」と表すことができる。宣言型管理構成要素２０４は、データの回復が望まれる（例えば損失したデータを回復するなど）と推論することができ、システムがシャットダウンされると（例えば、故意に、または意図せず）、シャットダウンと実質的に同時にバックアップコピーを作成することがユーザの意図を達成することになると推論することができる。このバックアップは、最後のバックアップが１時間未満前に行われた場合でさえ、行われ得る。したがって、ユーザの意図は、ユーザの意図で特に言及していなかった状況が起こったときでさえ満たされる。しかし、意図が「１時間ごとのスケジュールでバックアップジョブを作成する」と表された場合、ユーザの意図は、明確ではない。ユーザは、１つには損失したデータを回復するためなど、様々な理由でバックアップを必要とし得るが、他の理由がいくつかあるかもしれない。さらに、「１時間ごとのスケジュール」という用語は、システム障害や損失したデータを回復することができることを考慮に入れていない。したがって、意図が宣言型言語で書かれている状態で、システム２００は、その意図からのわずかな逸脱（例えば、大量のデータが１人または複数人のユーザによって操作されている場合、バックアップの作成は、１時間ごとより頻繁）がユーザの意図によりよく一致する状況で、ユーザの意図をよりよく推論することができる。
【００４１】
様々な実施形態を使用して、宣言型で表される意図を理解することができる。こうした実施形態は、キーワードを認識し、それらのキーワードに関して共通のアクションを含む参照テーブルにそれらのキーワードを適用することを含み得る。他の実施形態は、入力された意図（単語文字列など）をその副構成要素（個々の単語など）に構文解析し、各副構成要素において１つまたは複数の機能を行うことを含み得る。類似の単語または業界で一般的に使用されている、またはこの特定のユーザまたはユーザグループによって使用されている他の単語を決定するために、各副構成要素またはキーワードを分析することができる。このように、反復アクションまたは類似のアクションを識別し、同じまたは類似の設定またはパラメータをアクションに合わせて構成することができる。他の実施形態は、構文エンジン（ｓｙｎｔａｘ  ｅｎｇｉｎｅ）、機械学習、ルールベースのロジック、人工知能、推論エンジンなどを使用して、ユーザが要求した意図を決定または推論し、こうした意図を、多くのアプリケーションにわたって様々な低レベルの設定に動的に適用することができる。
【００４２】
高レベルの意図を低レベルの設定に自動的に適用するために、宣言型管理構成要素２０４を、アプリケーションを構成するターゲット要素を識別するよう構成することができる。識別されたターゲット要素を、様々な個々のターゲット要素から成る単一のターゲットとして一括することができる。結果として得られたアプリケーションを、追加のシステムにデプロイすることができ、ポリシーは、アプリケーションにおけるこうしたオブジェクトを対象とすることができる。したがって、単一のアクションで、ユーザは、設定を確実に変更したり、多くのマシンにおけるポリシーの実施をチェックし、構成し、または自動化したりすることができる。宣言型管理構成要素２０４は、さらに、ターゲットサーバ上の他のオブジェクトを妨害することなくアプリケーションを取り除くことができる。
【００４３】
自動化が呼び出されると、宣言型管理構成要素２０４は、要求された挙動を自動的に行うことができる。こうした挙動は、それだけには限定されないが、違反についてチェックする、ターゲットを準拠するよう構成するなどを含み得る。また、自動化によって、ユーザは、ポリシーがいつ評価されるべきか、またはポリシーをいつ実施すべきか、またはその両方を指定することもできる。
【００４４】
宣言型管理構成要素２０４は、宣言型で表されるユーザの意図を分析し、こうした意図を達成するよう構成されるべき低レベルの設定にこうした意図を適用するよう構成することができる。また、保管またはデプロイメントの目的で、ポリシーおよびバインディングをスクリプトし、インポートし、エクスポートするよう構成することもできる。宣言型管理構成要素２０４は、ファセットの属性に基づいて、簡単であるか複雑であるかにかかわらず、構成可能な、かつ／または実施可能なポリシーを認識することができる。
【００４５】
ファセットは、プロパティおよびコミットロジックにアクセスするためのディスパッチメソッドを含み得るＢａｓｅＦａｃｅｔなど共通インターフェイスから導出することができる。各ファセットは、読み取り専用または読み取り／書き込みプロパティであり得るプロパティを定義することができる。アダプタクラスは、ＢａｓｅＦａｃｅｔインターフェイスから継承することができ、基礎を成すオブジェクトモデルクラスを集合させることができる。アダプタは、オブジェクトモデルクラス（および他のロジック）の物理的なプロパティを使用して、ファセットプロパティを公開することができる。
【００４６】
レンダリング構成要素２０６は、宣言型管理構成要素２０４により行われる様々な機能に関して、情報をユーザに提供することができる。こうした情報は、ディスプレイ画面上で表示したり、ファイルに保存したり、印刷したりすることができるレポート形式で提示することができる。自動ポリシーチェックを、システム２００により自律的に行うことができるアクションまたは一連のアクションと結合することができる。アクションおよび通知を、ポリシー評価の成功または失敗と関連付けることができる。こうした通知は、もしあるとしたら違反の重大度および要求された通知タイプに応じて、セキュリティポリシーが失敗した場合、電子メールを指定された１人の人または１組の人に自動的に送信すること、音声通知を生成すること、視覚通知（ワーニングステートメントなど）を生成すること、または他のアクションを行う（１つまたは複数の機能を無効にするなど）ことを含み得る。
【００４７】
また、ユーザは、レンダリング構成要素２０６にアクセスすることにより、任意のターゲットのポリシーを表示することもできる。特定のターゲットは、多くの異なるポリシーに準ずることになり、一部のポリシーは、ターゲット自体に適用されている場合がある。ターゲットが属する対象のアプリケーションが存在するか、ターゲットをホストするマシンまたはマシンの上位グループにターゲットが結合されていることがある。ユーザは、ターゲットを制約するポリシーまたはポリシーの一部分を表示することができる。このように、ユーザは、ターゲット、ポリシー、または制約が依然として適用可能であるか、または１つまたは複数のパラメータに対して変更を行うべきかを決定することができる。
【００４８】
ポリシーへの準拠またはポリシーの違反に関する情報を、フィードバックループ２０８を介してインターフェイス構成要素２０２または宣言型管理構成要素２０４に中継することができる。こうしたフィードバックによって、システム２００は、ターゲットまたはポリシーが１つまたは複数のユーザ定義されたパラメータに違反する場合、ターゲットまたはポリシーを所望のユーザの意図を達成するよう自動的に構成することができる。
【００４９】
ユーザがシステムの状態（ポリシーへの順守など）を監視（報告および分析など）し、傾向または問題を分析することを望む場合、宣言型管理構成要素２０４は、（フィードバックを介して）ポリシー評価の結果を捕捉し、報告および分析のために、取得されたターゲットの状態の履歴をオペレーショナルデータウェアハウス（ｏｐｅｒａｔｉｏｎａｌ  ｄａｔａ  ｗａｒｅｈｏｕｓｅ）にコンパイルすることができる。ユーザは、こうした報告を使用して、システムの状態を監視することができ、任意の不備を手動で訂正することができる。また、ユーザは、システム２００に、（自動で、またはユーザの要求に応じて）不備を訂正するよう指示することもできる。
【００５０】
システム２００は、拡張可能であり、したがって、個々の体験（例えば、パーティショニングを管理するポリシー、データ回復可能性を管理するポリシーなど）は、システム２００の拡張である。システムのインターフェイス構成要素も他のサービスも、特定のファセットの特定のターゲットタイプに依存しない。この分離によって、ユーザは、単にプログラミングモデルを拡張することによって、新しい宣言型管理ファセットを増分的に追加することができる。
【００５１】
システム２００は、バックアップ／復元、インデックス調整／メンテナンス、物理的破損からの自動回復、背景メンテナンス、および／またはパーティション管理など、様々な特徴を提供することもできる。自動システム２００は、通常のメンテナンスタスク、自動デフラグメンテーション、自動縮小／圧縮、自動一貫性検査、および／または改良された自動統計分析を含み得る。一部の実施形態では、システム２００は、データベース作成時に作成されたデフォルトのバックアップメンテナンスプランを提供することができ、またはデフォルトのプランをカスタマイズすることができる。パーティション管理は、スライディングウィンドウ方式の自動メンテナンス（新しいパーティション／パーティション機能を作成する、パーティションをマージする（７日を１週間になど）、パーティションをアーカイブするなど）を含み得る。
【００５２】
物理的破損からの自動回復は、システム２００によって容易にされ得る。これは、自動一貫性検査によって、または通常の操作中の破損の検出によってトリガすることができる。ルール（例えば、ルールベースの構成要素、機械学習構成要素など）は、復元戦略（例えば、インデックスの再構築、ページの復元、ファイル／ファイルグループの復元、データベース全体の復元など）を決定することができる。
【００５３】
システム２００は、プログラミングモデル、ユーザインターフェイス、および管理サービスの３つの層でサポートすることができる。プログラミングモデルによって、同じ概念を複数のツールに公開することができ、ユーザアクションは、スクリプト可能とすることができ、ユーザは、管理アプリケーションを構築することができる。ユーザインターフェイス（グラフィカル、コマンドラインなど）は、プログラミングモデルの上に構築することができる。管理サービスは、ユーザアクションを自動化する能力を提供し、ランタイムサービスのホスト環境を提供することができる。
【００５４】
主としてグループ（ＣＰＵ、ストレージ、およびメモリなど）をプロビジョニングすることによって、エンタープライズ管理は、システム２００によって容易にすることができる。また、システム２００は、グループの構成およびメンテナンスのプランを適用し、実施し、グループのメンテナンス操作の状況を監視することもできる。また、グループ構成およびメンテナンスのプランのための再利用可能なテンプレート、およびバックアップ、データベース一貫性検査（ｄｂｃｃ）、およびポリシーの監視のためのそのまま使えるテンプレートを提供することもできる。システム２００は、グループ構成およびメンテナンスのプランの管理を変更するよう構成することができる。一部の実施形態では、システム２００は、アプリケーションをサーバのグループにデプロイし、グループ内でアプリケーションを動的に再割り振りすることができる。
【００５５】
グループ管理のためのランチパッド、正常性および状況監視のロールアップなど、フェデレーテッドサーバの単一のシステムビューを備えたサーバグループの形式概念があり得る。グループ構成、メンテナンス、およびデータ収集ポリシーを提供することができる。また、グループポリシー準拠の監視、実施、および監査、並びにサーバのグループへのアプリケーションのデプロイメントを提供することもできる。
【００５６】
システム２００は、データベースアプリケーションおよび環境の宣言型のポリシーベースの管理を提供することもできる。性能要件、セキュリティポリシー、信頼性要件など、データベースアプリケーションの所望の操作上および管理上の挙動を定義するためのポリシーベースのフレームワークを提供することができる。ポリシーは、デプロイメント中、またはデプロイメント時に定義することができる。データベースシステムは、定義された挙動の準拠を監視し、適切な場合、実施することができる。このフレームワークは、変更がコミットされる前にポリシーをチェックしたい、またはＤＤＬが実行されるたびにサーバポリシーを実施したい任意の構成要素によって使用することができる。また、これによって、サードパーティ開発者は、同じフレームワークを使用してポリシーを実施することもできる。
【００５７】
システム２００は、宣言型ポリシーを使用して単一のリレーショナルデータベースを管理する能力、および宣言型ポリシーを使用してリレーショナルデータベースのグループを管理する能力を提供することができる。また、データベースアプリケーションのポリシー駆動型データベース構成およびポリシー駆動型デプロイメントも提供される。データベースのグループの構成、メンテナンス、および監視のためのポリシー駆動型エンジンによって、データベース管理者は、何を行うべきかを指定することができ、システムは、こうしたアクションを複数のサーバにわたって行うことができる。また、データベースのグループにおける全てのデータベースの構成、メンテナンス、および監視のために、何が行われるべきかを指定する能力も提供され、システムは、こうしたアクションを複数のサーバにわたって行う。
【００５８】
図３は、ユーザの意図をデータ管理製品に動的に適用するシステム３００を示す。システム３００は、システム３００が解釈することができる論理レベルでの高レベルポリシーとして管理の意図を捕捉するように構成することができる。システム３００は、入力（ターゲット、ポリシー、意図、目標、要求など）を受け付けるよう構成することができるインターフェイス構成要素３０２を含む。こうした入力は、システム管理者などユーザから（テキスト、音声など）、またはシステム３００からのフィードバックとして受信することができる。宣言型管理構成要素３０４は、入力を処理するよう構成することができ、処理された入力の結果は、レンダリング構成要素３０８によって提示（例えば表示）または捕捉（例えば報告）される。例えば、レンダリング構成要素３０８は、結果をディスプレイ画面に、音声手段を介して提示したり、後で報告する目的で、情報を捕捉したりすることができる。
【００５９】
レンダリング構成要素３０８は、様々な形の監視および報告を含めて、ターゲットの準拠または非準拠に関する情報をユーザに提示することができる。ユーザは、レンダリング構成要素３０８に、任意のターゲットに対して効力のあるポリシーを提供し、ターゲットを直接制約する任意のポリシーの部分を提示するよう要求することができる。
【００６０】
あるいは、またはさらに、レンダリング構成要素３０８は、フィードバックループ３０８を介して、フィードバックを入力構成要素３０２または宣言型管理構成要素３０４に提供することができ、このように、システム３００は、こうした機能を自動的に行うよう構成されている場合、意図に従って１つまたは複数の設定値を連続的に監視し、構成することができる。フィードバックループ３０８によって、システム３００は、自己管理、自己修復、および自己調整することができる（例えば、単にリレーショナルではなく、ボックスにわたって働く）。例えば毎日の使用から様々な設定または「ノブ」を取り除くことによって、操作においてゼロタッチを可能にするように（ユーザ対話を最小限に抑えるなど）、ポリシーを予めセットアップすることができる。
【００６１】
構文解析構成要素３１０および構文エンジン３１２もシステム３００に含まれ得る。これらの構成要素３１０、３１２は、示されているように、宣言型管理構成要素３０４の副構成要素または別個の構成要素とすることができる。構文解析構成要素３１０は、宣言型言語で表すことができる１つまたは複数のユーザの意図を取得し、こうした言語を分析できる構成要素に分割することができる。例えば、ユーザは、意図「私は１時間以内にデータを回復することができるだろう」を入力することができる。構文解析構成要素３１０は、センテンスをその単語および句に分割する（例えば、私、だろう、ことができる、回復する、データを、以内に、１時間など）。この情報は、特定のユーザの意図を導出するために各単語または句を分析する構文エンジン３１２によって評価することができる。
【００６２】
「私」、「だろう」など、いくつかの単語または句は無視することができる。他の単語、例えば「回復」などは、この用語がこのユーザ、他のシステムユーザ、または業界内の一般的な用語により表された別の方法があるかどうかを決定するために評価することができる。例えば、システムは、単語「回復」を「バックアップ」、「障害」、「損失」などの単語と関連付けることができる。これによって、宣言型管理構成要素３０４は、より広いユーザの意図を推論することができ、この意図を、類似の単語または句を使用する複数のアプリケーションに適用することができる。
【００６３】
図４は、高レベルの意図を低レベルの設定に自動的に適用することを容易にするシステム４００を示す。システム４００は、ユーザが、ポリシーをユーザの意図に準拠させるためにシステムをどのように構成するかではなく、システムがどのようになるべきか（ポリシー）を定義することができるようにすることによって、ユーザ対話を軽減する。ポリシーは、セキュリティまたはアクセス制御、性能、容量、操作、セットアップまたはパッチ、開発、宣言型管理など、いろいろな異なるカテゴリと関連し得る。ユーザは、意図を、物理的実装の仕様から抽象された論理レベルで一度定義することができ、システムは、それを複数回適用する。システム４００は、データ管理製品（ＳＱＬ  Ｓｅｒｖｅｒなど）に収容することができる。さらに、システムは、アクションをもたらす様々なモードを有することができる。こうしたモードは、それだけには限定されないが、準拠についてのチェック、準拠のための構成、準拠の実施などを含む。
【００６４】
システム４００は、インターフェイス構成要素４０２、宣言型管理構成要素４０４、およびフィードバックループ４０８を介してシステムにフィードバックを提供することができるレンダリング構成要素４０６を含む。様々なシステム４００の構成要素は、宣言型管理構成要素４０４の１つまたは複数の機能を容易にするために、個別に、または一緒に動作することができる。こうした構成要素には、セキュリティ構成要素４１０、履歴構成要素４１２、集計構成要素４１４、構成構成要素（ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｃｏｍｐｏｎｅｎｔ）４１６、最適化構成要素４１８、およびバインディング構成要素４２０などがある。これらの構成要素４１０〜４２０は、図示のように、独立していてもよく、または宣言型管理構成要素４０４の副構成要素であってもよい。
【００６５】
インターフェイス構成要素４０２は、グラフィカルユーザインターフェイス（ＧＵＩ）、コマンドラインインターフェイスなどとすることができる。ユーザは、インターフェイス構成要素４０２との対話を介して、宣言型管理構成要素４０４の結果として生じた出力（例えば、１つまたは複数の設定への変更）を選択的に構成することができる。インターフェイス構成要素４０２およびユーザインターフェイス例に関するさらなる詳細について、以下で説明する。
【００６６】
セキュリティ構成要素４１０は、１つまたは複数のセキュリティ要素または統合セキュリティモデルを提供するよう構成することができる。セキュリティ構成要素４１０は、例えばユーザに関連付けられている一意の識別（ユーザ名、ユーザパスワードなど）を介して、ユーザに関する情報を集めることができる。ユーザが閲覧の権限を有するターゲットセットまたはポリシーの部分のみを表示することができるように、ユーザごとに予め定義されたセキュリティレベルに基づいて、セキュリティ構成要素４１０は、レンダリング構成要素４０６と選択的にインターフェイスすることができる。このように、システム４００は、ユーザが許可されていない、またはユーザが十分な情報を有しておらず、したがって変更すべきではない設定に対する許可されていない変更、追加、削除などを減らすことができる。
【００６７】
さらに、またはあるいは、セキュリティ構成要素４１０は、予め定義された構成など、特定の方法または順序でポリシーをデプロイするよう構成することができる。こうした予め定義された構成は、高レベルでデプロイされるポリシーが低レベルポリシーに取って代わることができるようにするなど、様々なタスクを含む。例えば、サーバグループポリシーは、データベースポリシーより高い優先度を有することができる。セキュリティ構成要素４１０は、ファセットを準拠させないようにする試行を検出し、こうした試行を防ぐこともできる（例えば、システムは、ポリシーを「実施する」ことができる）。しかし、他の多数の構成を使用することができ、適切なセキュリティレベルを有するユーザによって構成することができることを理解されたい。
【００６８】
履歴構成要素４１２は、前のポリシー、ポリシーバージョン、ターゲット、ファセットなどに関する情報を維持することができる。これは、それぞれの関連付けおよび関連性を決定するために、前のポリシー、ポリシーバージョン、ターゲットなどにアクセスする能力を、１つまたは複数のシステム４００の構成要素に提供することができる。こうした履歴情報は、１つまたは複数のシステム４００の構成要素に関連付けられている記憶媒体において、取り出し可能なフォーマットで維持することができる。例えば、システム４００は、メモリおよび／または情報を格納することができる他の何らかの媒体を含み得る。
【００６９】
履歴情報は、宣言文（意図など）を低レベルの設定に変換するために、システム４００によって使用することができ、それによってシステム４００の構成の自動化が可能になる。例えば、ユーザは、アプリケーションを構成するターゲット要素を示すことができ、こうしたアプリケーションは、１つのターゲットからインポートされ、保存され、後で１つのユニットとして新しいターゲットにデプロイされ得る。この情報は、レンダリング構成要素４０６を介してユーザに提示することもでき、したがってユーザは、異なるポリシーおよびポリシーバージョンの履歴、および管理ターゲットとのその関連付けを表示することができる。ユーザは、こうした情報を使用して、システム４００をさらに構成したり、特定のシステム４００の構成を決定したり、システム４００の過去の状態に関する他の情報を取得したりすることができる。
【００７０】
物理的ステートメントが物理的なターゲットに適用されている状態で、ユーザは、そのアクションにおいてサーバ固有またはアプリケーション固有のアーティファクトをやむを得ず使用することが多く、これによって、多くのサーバにおける多くのアプリケーションにわたって意図を広く適用することがほとんど不可能になる。この問題を克服するために、集計構成要素４１４は、規模の自動化を含めて、規模の管理を可能にするよう構成することができる。したがって、ユーザは、同じ管理ファセットが別個の方法で構成されるオブジェクトによって表されるとき、個々のオブジェクトを構成するために特化したセマンティクスを学んだり覚えたりする必要はない。例えば、ポリシーは、単一のターゲットまたはターゲットのグループに対して適用することができる（明示的に、または自動化を介して）。ポリシーは、管理ファセットに対して適用することができるため、インターフェイス構成要素４０２を使用して単一ポリシーを入力することによって、ユーザは、この管理ファセットを表す複数のオブジェクトを構成することができる。しかし、アプリケーションを対象とするポリシーは、そのアプリケーションに属するサーバ上のこれらのオブジェクトのみに適用されるべきである。あるいは、またはさらに、集計構成要素４１４は、別個の管理ターゲットからの設定など、別々の設定を抽象することができる。例えば、リソース消費ファセットは、オペレーティングシステムファイルシステムおよびデータサーバ上の残りの空のページを監視し、構成することができる。
【００７１】
構成構成要素４１６によって、ユーザは、１つまたは複数の要素を自動的に構成するために、システム４００の１つまたは複数の要素（ポリシー、ターゲットなど）を選択的に構成することができる。例えば、ユーザは、アドホックベースで、宣言型管理構成要素４０４に、所与のターゲットが所与のポリシーに準拠するかどうかを確認するよう指示することができる。システム４００は、ポリシーの準拠を強制するために、準拠していないターゲットにおいて別のアクションを再構成したり実行したりすることができる。
【００７２】
ユーザは、拡張可能アプリケーションプログラムインターフェイス（ＡＰＩ）など、プログラミングモデルを拡張することによって、新しいファセットまたはターゲットを増分的に追加することができる。ＡＰＩは、１組のルーチン、プロトコル、およびツールを介してソフトウェアアプリケーションを構築することを容易にし、開発者および／またはプログラムは、ＡＰＩを使用して、動作環境およびユーザのニーズと一致するカスタマイズされたアプリケーションを構築することができる。ファセットを拡張可能ＡＰＩに１つの構成体として含めることによって、ユーザは、各自のファセットを作成して、各自の管理目標を捕捉し、実行することができる。ターゲットを拡張可能ＡＰＩに１つの構成体として含めることによって、追加のターゲットを、新しいターゲットを実装するユーザまたはソフトウェア開発者によるシステム４００の制御下に置くことができる。
【００７３】
最適化構成要素４１８は、システム４００の１つまたは複数のパラメータを最適化するよう構成することができる。最適化構成要素４１８によって、システム４００のアプリケーションは、複数のサーバおよび複数の製品（ベンダー）にわたって拡張することができる。ユーザは、ポリシーの対象をそれらのオブジェクトを含む階層のルートとすることによって、多くのオブジェクトをポリシー下に置くことができる。したがって、ポリシーは、サーバ上の単一のオブジェクトからエンタープライズまで延びる階層の任意のレベルを対象とすることができる。
【００７４】
類似のサーバのグループ（マルチサーバ構成など）の場合、システム４００は、共通構成オプションを設定する、グループ構成への準拠を実施する、および構成の変更を監査する能力を提供する。システムは、サーバのグループの共通メンテナンスプランおよびジョブを構成することによって、サーバグループメンテナンスの簡略化を容易にすることができる。サーバのグループのメンテナンスタスクの状況を監視する能力。また、サーバグループメンテナンスの簡略化は、メンテナンスプラン、ジョブ、およびスクリプトの中央リポジトリ、並びにメンテナンスプラン変更を監査する能力によっても提供され得る。
【００７５】
システム４００は、監視コンテキスト（例えば、使用されたサーバ下または上）および／または性能／オペレーショナルデータ収集に基づいて、サーバのサブセットに焦点を当てるために、サーバのグループの一般的な正常性を監視する能力を提供することによって、複数のサーバの監視を容易にすることができる。
【００７６】
一部の実施形態では、最適化構成要素４１８は、ライフサイクル全体の自動化を可能にすることによって、自己管理システムを提供するよう構成され得る。これは、システム４００のデプロイメントの自動構成、自動監視、自動準拠報告、および自動メンテナンスおよび調整を含み得る。
【００７７】
バインディング構成要素４２０は、１つまたは複数のポリシーの評価を効率的に行うためにバインディング評価（ｂｉｎｄｉｎｇ  ｅｖａｌｕａｔｉｏｎ）を行うよう構成することができる。バインディング構成要素４２０は、Ｍ：Ｍ関係を有する（例えば、ターゲットセット当たり１つのポリシーがある）ポリシーとターゲットセットとの間の関連付けを提供することができる。すなわち、バインディングは、１つのポリシーと１つのターゲットセットから成る。１つのポリシーは、複数のバインディングによって参照され得る。１つのターゲットセットは、複数のバインディングによって参照され得る。バインディング挙動は、サーバのグループを類似の方法で管理されるように確立するために、標準データ複製技術（トランザクション複製など）を使用できるように、データ駆動とすることができる。一部の実施形態では、バインディング評価は、ターゲットセットによって記述された１組のオブジェクトを計算し、全ての制約を各ターゲットに適用することによって、クライアントコードで実行することができる（例えば、その制約によって含まれる式ツリーにおいてコードを実行するなど）。ポリシーバインディングを、管理サービスのための他のメタデータと一緒に、データベースまたは他のストレージメディアなどに格納することができる。
【００７８】
一部の実施形態では、バインディング評価を、サーバコンテキストで実行することができるクエリに変換することができる。こうしたクエリは、バインディングにおける制約のいずれかに違反するオブジェクトを戻すことができる。ターゲットノードを記述するユニフォームリソース名（ＵＲＮ）で開始し、バインディングにおける制約ごとに、その制約を満たさない行を取得するためのみに、制約表現に含まれる情報が使用され、それを無効にする変換プロセスを使用することができる。バインディング評価に対応するＵＲＮを取得することができる。ほとんどの場合、このＵＲＮは、列挙子によりクエリに変換することができ、クエリへのバインディングを低減することができる。限定ではなく例示の目的で、以下は、データベース「ＪＭ＿Ａｃｃｏｕｎｔｓ」において、ユーザが定義し、格納した全ての手順の名前が「ＪＭ＿」で開始する制約の（英語での）例である。
【００７９】
【表３】
2009540461.tif 000005
【００８０】
次に図５を参照すると、開示された実施形態を使用するイベントディスパッチ機構５００が示されている。ＤＤＬトリガイベント５０２、トレースイベント５０４、ＷＭＩイベント５０６などのイベントは、複数のデータソースから収集され、処理される前にイベントを格納するために使用される一時テーブルであり得るステージングエリア５０８に配置され得る。どのバインディング５１０（システム５００に存在する）がイベント５０８に関与し得るかを決定するために、アルゴリズム、メソッド、または他の技術を使用することができる。こうした決定は、バインディング５１０に存在する制約５１６によって使用される（登録された）ファセット５１４の既存のアダプタ５１２（例えば、システム５００に登録されるアダプタについての情報）に基づいて行うことができる。バインディング５１０、アダプタ５１２、ファセット５１４、および制約５１６は、４ブロックテーブルの結合（ｆｏｕｒ−ｂｌｏｃｋ  ｔａｂｌｅ  ｊｏｉｎ）５１８を表すことができる。バインディングは、バインディングアクティベーション（ｂｉｎｄｉｎｇ  ａｃｔｉｖａｔｉｏｎ）を含む履歴テーブルであるバインディングアクティベーション５２０に含まれ得る。バインディングは、５２２に示されているように、稼働されたり、評価されたりすることができる。定義された結果および挙動に一部分基づいてカスタムアクションを、例えば、変更を防いだり、後の分析のために変更を報告したりするために行うことができる。バインディング評価は、同じトランザクションコンテキストを、イベントを生成した操作と共有することができる。操作の防止は、バインディングを評価した手順におけるトランザクションをロールバックすることを含み得る。
【００８１】
図６は、開示された実施形態に従って１つまたは複数の特徴の自動化を容易にする機械学習を使用するシステム６００を示す。システム６００は、ユーザインターフェイス構成要素６０２、宣言型管理構成要素６０４、レンダリング構成要素６０６、フィードバックループ６０８、および機械学習構成要素６１０を含む。ユーザは、ユーザインターフェイス構成要素６０２との対話を介して、様々なポリシー、目標、意図を入力することができる。この情報は、システム６００を動的に構成するために、機械学習構成要素６１０とインターフェイスする宣言型管理構成要素６０４に伝えられる。
【００８２】
システム６００は、様々な態様を実行するための様々な機械学習方式を使用することができる。一部の実施形態によれば、人工知能を使用することができる。人工知能ベースのシステム（例えば、明示的および／または暗黙的に訓練された分類器など）を、本明細書に記載されている１つまたは複数の態様による推論および／または確率的決定および／または統計ベースの決定の実行とともに使用することができる。様々な分類方式および／またはシステム（例えば、サポートベクトルマシン、ニューラルネットワーク、エキスパートシステム、ベイジアンビリーフネットワーク、ファジー論理、データフュージョンエンジン（ｄａｔａ  ｆｕｓｉｏｎ  ｅｎｇｉｎｅ）など）を、対象の実施形態に関連する自動アクションおよび推論されるアクションの実行に関連して使用することができる。
【００８３】
例えば、特定のターゲットセットがポリシーに準拠しているかどうかを決定する人工プロセスは、自動分類器システムおよびプロセス（例えば、人工知能構成要素など）を介して容易にすることができる。さらに、同じまたは類似のリソースを有する複数のポリシーを要求している場合、特定の状況において使用すべきポリシーを決定するために、分類器を使用することができる。
【００８４】
分類器は、入力属性ベクトル、ｘ＝（ｘ１、ｘ２、ｘ３、ｘ４、ｘｎ）を、入力があるクラスに属する、すなわちｆ（ｘ）＝信頼性（クラス）である信頼性にマッピングする関数である。こうした分類は、確率的および／または統計ベースの分析（例えば、分析ユーティリティおよびコストをファクタリングする）を使用して、ユーザが自動的に実行されることを望むアクションを予知または推論する。データベースシステムの場合、例えば、属性は、単語または句、または単語から導出された他のデータ固有の属性（データベーステーブル、主要な用語の存在など）とすることができ、クラスは、対象のカテゴリまたはエリアである（優先度のレベルなど）。
【００８５】
サポートベクトルマシン（ＳＶＭ）は、使用できる分類器の一例である。ＳＶＭは、可能な入力の空間内で、非トリガイベントからトリガ基準を分離するよう試行する超曲面を見つけることによって動作する。直観的には、これによって、訓練データに近いが同じではないデータのテストのために、分類が正確になる。他の有向および無向のモデル分類手法には、例えば、ナイーブベイズ、ベイジアンネットワーク、決定樹、ニューラルネットワーク、ファジー論理モデル、および独立性の異なるパターンの提供を使用することができる場合には、確率分類モデルなどがある。本明細書で使用される分類は、優先順位のモデルを開発するために使用される統計的回帰も含む。
【００８６】
対象の明細書から容易に理解できるように、１つまたは複数の実施形態は、明示的に訓練された（例えば一般的な訓練データを介してなど）、および暗黙的に訓練された（例えば、ユーザ挙動を観察することによって、外部の情報を受信することによって）分類器を使用することができる。例えば、ＳＶＭは、分類コンストラクタ（ｃｌａｓｓｉｆｉｅｒ  ｃｏｎｓｔｒｕｃｔｏｒ）および特徴選択モジュール内の学習フェーズまたは訓練フェーズによって構成される。したがって、分類器は、それだけには限定されないが、ポリシーまたはターゲットを構成すべきとき、格納されているどのポリシーを実行すべきかなど、予め定められた基準に従って決定することを含めて、いくつかの関数を自動的に学習し、実行するために使用することができる。この基準は、それだけには限定されないが、変更すべきデータまたはアプリケーションの量、ポリシーまたはターゲットのタイプ、ポリシーまたはターゲットの重要度などを含み得る。
【００８７】
一部の実施形態によれば、機械学習構成要素６１０は、ルールベースの論理方式を使用することができる。この実施形態によれば、データベースまたはドメイン内のポリシーまたは低レベルの設定を制御し、かつ／または規制するために、実装方式（例えばルール）を適用することができる。ルールベースの実装は、予め定義された基準に基づいてポリシーまたはターゲットセットを自動的および／または動的に規制することができることを理解されたい。それに応答して、ルールベースの実装は、任意の所望の基準（例えば、ポリシーまたはターゲットのタイプ、ポリシーまたはターゲットのサイズ、ポリシーまたはターゲットの重要度、データベース所有者、ユーザ識別など）に基づいて予め定義されたおよび／またはプログラムされたルールを使用することによって、特定のポリシーを許可し、拒否し、かつ／または変更することができる。
【００８８】
一例によれば、ユーザは、予め定義されたタイプのリソースにアクセスするために信頼できるフラグおよび／または証明書を必要とし得るが、特定のデータベース内の他のリソースは、こうしたセキュリティクレデンシャルを必要としないというルールを確立することができる。任意の選好は、ルールの形で予め定義したり、予めプログラミングしたりすることによって実行することができることを理解されたい。
【００８９】
上記で示され、記載されたシステム例に鑑みて、開示された主題に従って実装され得る方法は、図７および８のフローチャートを参照すると、よりよく理解されよう。説明を簡単にするために、この方法は、一連のブロックとして示され、記載されているが、特許請求された主題は、ブロックの数または順序によって制限されず、一部のブロックは、本明細書に示され、記載されているものとは異なる順序で、かつ／または他のブロックと同時に行われ得ることを理解されたい。さらに、以下に記載される方法を実施するために、示されている全てのブロックが必要というわけではない。ブロックに関連付けられている機能は、ソフトウェア、ハードウェア、その組み合わせ、または他の適した手段（装置、システム、プロセス、構成要素など）によって実施され得ることを理解されたい。さらに、以下に、および本明細書を通じて開示されている方法は、こうした方法を様々な装置に運び、移すことを容易にするために、製品上に格納することができることをさらに理解されたい。方法を、代わりに、例えば状態図に一連の相関状態またはイベントとして表すことができることを当業者であれば理解されよう。
【００９０】
図７は、ユーザの生産性の向上を容易にする方法７００を示す。方法７００は、７０２で開始し、意図が受信されると、こうした意図を宣言型言語で表すことができる。７０４で、意図を達成するよう構成すべき設定に関する決定が行われる。こうした設定は、高レベルの設定から低レベルの設定までを含み得る。７０６で、適切な設定が最小限のユーザ対話により自動的に構成される。
【００９１】
図８は、データ管理製品を構成する方法８００を示す図である。方法８００は、８０２で、情報の受信により開始し、こうした情報はターゲット、ポリシー、ファセット、制約、およびデータ管理製品に関連する他の情報を含み得る。ファセットは、「ｇｅｔ」および「ｓｅｔ」を有し得る。制約は、ファセットを、例えばブール値に対して評価することができる。制約当たり１つのファセット、およびポリシー当たり１つの制約があり得る。ポリシーは、チェック、構成、実施などの挙動を有する。８０４で、設定および／またはアプリケーションの間の類似性が確立される。
【００９２】
８０６で、宣言型言語で表すことができる意図が受信される。８０８で、ポリシーをターゲットセットにマッピングするポリシーバインディングが行われる。ポリシーが評価されると、電子メールやイベントログ入力などのアクションがトリガされ得る。一部の実施形態では、ポリシーは、スケジュール通りに評価され得る。８１０で、制約または違反を評価することができる。違反がある場合、８１２で、ターゲットまたはポリシーを変更するなど、適切なアクションを取ることができる。８１４で、監視および報告の機能が提供され、８１０で違反が見つけられたかどうかが報告され得る。
【００９３】
開示された実施形態を鑑みて、様々なユーザインターフェイス例および機能的シナリオが提示される。ユーザインターフェイスは、インターフェイス構成要素によって提供することができる。例えば、インターフェイス構成要素は、グラフィカルユーザインターフェイス（ＧＵＩ）、コマンドラインインターフェイスなどを提供することができる。例えば、ユーザにロード、インポート、読み取りなどの領域または手段を提供するＧＵＩをレンダリングすることができ、１つまたは複数の意図、ポリシー、ターゲットは、こうした結果を提示するための領域を含み得る。これらの領域は、ダイアログボックス、スタティック制御、ドロップダウンメニュー、リストボックス、ポップアップメニュー、編集制御、コンボボックス、ラジオボタン、チェックボックス、プッシュボタン、グラフィックボックスを含む既知のテキストおよび／またはグラフィック領域を含み得る。さらに、ナビゲーション用の縦および／または横のスクロールバーや、領域が可視かどうかを決定するためのツールバーボタンを使用することができるなど、情報伝達を容易にするユーティリティを提供することができる。例えば、ユーザは、情報を編集制御に入力することによって、システムと対話することができる。
【００９４】
ユーザは、マウス、ローラーボール、キーパッド、キーボード、ペン、および／または音声稼働など、様々な装置を介して情報を選択し、提供するための領域と対話することもできる。一般に、情報伝達を開始するために、情報の入力後、プッシュボタンなどの機構やキーボード上の入力キーを使用することができる。しかし、開示された実施形態はそのように限定されていないことを理解されたい。例えば、チェックボックスの単なる強調表示によって、情報伝達を開始することができる。別の例では、コマンドラインインターフェイスを使用することができる。例えば、コマンドラインインターフェイスは、テキストメッセージを提供することによって、ユーザに情報を入力するよう要求することができる（例えば、ディスプレイ上のテキストメッセージ、および音声トーンによるなど）。次いで、ユーザは、インターフェイスプロンプトで提供されるオプションに対応する英数字入力や、プロンプトで提起される質問への回答など、適した情報を提供することができる。コマンドラインインターフェイスは、ＧＵＩおよび／またはＡＰＩと共に使用することができることを理解されたい。さらに、コマンドラインインターフェイスは、グラフィックサポートが限られているハードウェア（例えばビデオカード）および／またはディスプレイ（白黒、ＥＧＡなど）、および／または低帯域幅通信チャネルに関連して使用することができる。
【００９５】
次に図９を参照すると、ユーザインターフェイスのスクリーンショット例が示されている。ポリシーまたは制約の検索および選択を容易にすることができるオブジェクトブラウザ９００が示されている。オブジェクトブラウザ９００は、ユーザがポリシーまたは制約のパラメータを操作するように、様々な選択を提供することができる。データベース９０４、セキュリティ９０６、サーバオブジェクト９０８、複製９１０、管理９１２、通知サービス９１４、サーバエージェント９１６、および他の所望のサブディレクトリなどのサブディレクトリを含むディレクトリ９０２を選択することができる。各サブディレクトリ９０４〜９１６は、ディレクトリが拡張可能であることを示す、各サブディレクトリ９０４〜９１６の横に配置されているプラス「＋」記号によって示されるように、さらにサブディレクトリを有し得る。ディレクトリが圧縮され得る、または展開できないことを示す、選択されたディレクトリの隣のマイナス「−」記号によって示されるように、管理サブディレクトリ９１２が選択される。
【００９６】
管理サブディレクトリ９１２下は、ポリシー１  ９２０、ポリシー２  ９２２、およびポリシーＮ  ９２４など、多数のポリシーを含み得るポリシーサブディレクトリ９１８とすることができる。この場合、Ｎは、ゼロ以上の数字である。管理サブディレクトリ９１２は、制約１  ９２８、制約２  ９３０、および制約Ｎ  ９３２など、多数の制約を含み得る制約サブディレクトリ９２６を含むこともできる。この場合、Ｎは、ゼロ以上の数字である。
【００９７】
単一サーバは、様々な実施形態に従って自動化された方法で管理することができる。ポリシーバインディング、バインディング、制約、またはファセット（ノードなど）において様々なアクション（表示、作成、編集、削除、適用、インポートなど）を行うために、ユーザは、オブジェクトブラウザ９００のドロップダウンリストから所望の項目を選択することができる。ターゲットノードは、ノードを強調表示し、マウスの右ボタン（または等しいファンクション）を使用して、所望のアクションを選択することによって選択することができる。
【００９８】
例えば、ポリシーバインディングにおいて様々なアクションを行うために、ユーザは、ノードを選択することができる（例えば、ノードを強調表示し、マウスの右ボタンを押下するなど）。「ポリシーバインディングプロパティ」ウィンドウまたは画面を呼び出すために、ドロップダウンメニューおよびリンクから、「ポリシーバインディング管理」などを選択することができる。ポリシーバインディングを表示するには、「デプロイされたポリシー」タブを選択することができる（例えば、マウスボタンでクリックするなど）。デプロイされたポリシーによって、ユーザは、ノードまたはその子孫にデプロイされたポリシーバインディングを表示することができる。ノードにおける有効なポリシーバインディングを表示するには、ユーザは、「ポリシーバインディング管理」ドロップダウンメニューから「有効なポリシー」タブを選択することができる。
【００９９】
また、「ポリシーバインディング管理」ドロップダウンメニューによって、ユーザは、ポリシーバインディングを作成、編集、または削除することもできる。ポリシーバインディングを作成するには、「ポリシーバインディングプロパティ」ウィンドウまたはユーザ画面を呼び出すことができる「新規」ボタンが選択される。組み合わせボックスからポリシーを選択することができ、望ましい場合、スケジュールを選択することができる。選択されたポリシーバインディングを作成するには、ユーザは、変更を受け付けることができる（例えば「ＯＫ」ボタンをクリックする）。
【０１００】
ポリシーバインディングを編集するには、「編集すべきポリシーバインディング」を選択（例えば強調表示）し、「編集」ボタンを選択して、「ポリシーバインディングプロパティ」ウィンドウを開いて編集することができる。ポリシーバインディングを削除するには、削除すべきポリシーバインディングを選択する（例えば強調表示する）ことができる。選択されたポリシーバインディングを削除するには、「削除」ボタンをクリックし、または選択することができる。
【０１０１】
図１０は、ポリシーを適用するためのユーザインターフェイス例を示す図である。アドホック式の管理において、ポリシーは、オブジェクトブラウザ９００または登録されたサーバペインにおいて、ターゲットノードを選択することによって適用することができる。ドロップダウンメニューから「ポリシーの適用」を選択して、ポリシーの適用ウィンドウ１０００を呼び出すことができる。
【０１０２】
ロードされたポリシー１００２またはポリシーファイル１００４を選択するかどうかの決定が行われ、所望のアクションを選択することができる。示されているように、ロードされたポリシー１００２が選択される。ポリシーのリスト１００６から特定のポリシーを選択する、またはファイルを指定１００８するために、ドロップダウンメニューを提供することができる。適用またはＯＫボタン１０１０を選択またはクリックすることによって、ポリシーを適用することができる。キャンセル１０１２ボタンを選択することによって、全アクションがキャンセルされ、ポリシーの適用ウィンドウ１０００が閉じる。
【０１０３】
ポリシーに対してアクションを行う（表示、作成、編集、削除、インポートなど）には、ポリシーがオブジェクトブラウザ９００から選択され、適したアクションがマウスボタンの右クリックによって呼び出されるドロップダウンメニューから選択され得る。「新規」の選択によって、「ポリシープロパティ」ウィンドウが呼び出される。ポリシーを編集するには、所望のアクションを選択する、コンボボックスから所望の制約を選択する、または新しい制約を作成することができる。変更を受け付けるには、受け付けまたはＯＫボタンを選択（例えばクリック）することができる。
【０１０４】
ポリシーを削除するには、ポリシーが選択され（例えば右クリック）、ドロップダウンメニューから「削除」が選択される。ポリシーをインポートするには、ドロップダウンメニューから「インポート」が選択されて、「ポリシーのインポート」ウィンドウを呼び出す。所望のポリシーファイルが選択され、「ＯＫ」ボタンが選択される。
【０１０５】
類似の方法で制約に対してアクションを行うことができる。オブジェクトブラウザ９００から、制約が選択される。制約を作成するには、ドロップダウンメニューから「新規」が選択されて、「プロパティの制約」ウィンドウを呼び出す。所望の管理ファセットが選択され、「新規」ボタンがクリックされて、新しい数式行（ｅｘｐｒｅｓｓｉｏｎ  ｒｏｗ）を追加する。数式行において、「プロパティ演算子値」数式が構築される。行を削除するには、数式行を強調表示し、「削除」ボタンを押すことができる。「ＯＫ」ボタンをクリックすることによって、ウィンドウが閉じる。
【０１０６】
制約は、「制約プロパティ」ウィンドウを呼び出すことによって、編集することができる。異なる管理ファセットを選択することができる。「新規」ボタンをクリックすることによって、新しい数式行を追加する。上記と類似の方法で、数式行を削除することができる。数式行において、ユーザは、プロパティ、演算子、および値を編集することができる。「ＯＫ」ボタンを選択することによって、変更がサブミットされる。
【０１０７】
図１１は、ポリシープロパティのユーザインターフェイス１１００例を示しており、この場合、ポリシーは、「ｈｉｇｈＳｅｃｕｒｉｔｙ」である。ユーザが構成可能な名前１１０２、およびポリシー１１０４の説明を選択または入力することができる。ドロップダウンメニュー１１０６からアクションを選択することができる。こうしたアクションは、新しいポリシーを作成すること、ポリシーを編集すること、ポリシーを削除することなどを含み得る。ドロップダウン制約リスト１１０８から制約を選択することができる。状態インターフェイスを含むドロップダウンリスト１１１０は、ファセットごとに使用可能である。制約１１０８およびファセット１１１０は、適切なアクションのためだけに可能にされるべきである。新規ボタン１１１２を選択して、新しい制約１１０８またはファセット１１１０を追加することができる。
【０１０８】
ポリシー１１１４の所有者、作成日１１１６、および最終変更日１１１８を含めて、他の様々なタイプの情報を捕捉することができる。ユーザは、キャンセル１１２０を選択して、アクションを削除し、ウィンドウ１１００を閉じることができる。ＯＫボタン１１２２を選択することによって、現在の変更を受け付け、ウィンドウ１１００を閉じる。
【０１０９】
図１２は、制約プロパティのユーザインターフェイス例１２００を示す。インターフェイスは、名前１２０２を付けるまたは制約を選択するための手段を提供することができる。管理ファセット１２０４は、ファセットのリストを含むドロップダウンメニューから選択することができる。ユーザが制約ごとに様々なプロパティ１２０６、演算子１２０８、値１２１０を選択することができるテーブルまたはリストを提供することができる。こうした選択は、ドロップダウンメニューから、またはテーブルに情報を直接入力することによって行うことができる。テーブルは、プロパティの編集、追加、および削除を可能にするはずである。ユーザは、キャンセル１２１２を選択して、アクションを削除し、ウィンドウ１２００を閉じることができる。ＯＫボタン１２１４を選択することによって、現在の変更を受け付け、ウィンドウ１２００を閉じる。
【０１１０】
図１３は、制約プロパティのユーザインターフェイス１３００の別のスクリーンショット例を示す。プロパティ名１３０２、所有者名１３０４、説明１３０６、作成日１３０８、および最終変更日１３１０は、システムによって提供または定義することができ、一部の実施形態によれば、ユーザは、これらのフィールドを変更することができない。ユーザは、制約リストテーブル１３１２から、制約名１３１４、状態インターフェイス１３１６、制約識別１３１８を選択し、定義することができる。ユーザは、適切なアクションボタン１３２０、１３２２、１３２４を選択することによって、新しい制約を作成したり、制約を編集したり、制約を削除したりすることができる。
【０１１１】
図１４は、原子制約プロパティのユーザインターフェイス例１４００を示す。制約名１４０２を選択することができ、状態インターフェイスを、状態インターフェイス１４０４のリストを含むドロップダウンメニューから選ぶことができる。ユーザが制約ごとに様々なプロパティ１４０６、演算子１４０８、値１４１０を選択することができるテーブルまたはリストを提供することができる。こうした選択は、ドロップダウンメニューから、またはテーブルに情報を直接入力することによって行うことができる。
【０１１２】
図１５は、ポリシープロパティのユーザインターフェイス１５００のスクリーンショット例を示す。プロパティ名１５０２、所有者名１５０４、説明１５０６、作成日１５０８、および最終変更日１５１０などのフィールドは、システムによって定義することができ、一部の実施形態によれば、ユーザは、これらのフィールドを変更することができない。ドロップダウンアクションリスト１５１２からアクションを選択することができる。ユーザは、制約リストテーブル１５１４から、制約名１５１６、状態インターフェイス１５１８、制約識別１５２０を選択し、定義することができる。ユーザは、適切なアクションボタン１５２２、１５２４、１５２６を選択することによって、新しいポリシーを作成したり、ポリシーを編集したり、ポリシーを削除したりすることができる。
【０１１３】
図１６は、ポリシー実行レポートを表示する（または印刷する）ためのユーザインターフェイス例１６００を示す図である。ポリシー実行履歴を表示（または印刷）するために、類似のユーザインターフェイスを使用することができる。違反の日時など、日付１６０２が含まれる。ポリシーの識別１６０４およびポリシー名１６０６も提供される。結果１６０８も表示され、違反の場合など、結果に注意を引き付けるために、異なる色（赤など）で表示することができる。他の結果は、ポリシーへの準拠、ポリシーへの変更などを含み得る。結果に関連し得るメッセージ１６１０を提供することもできる。複数のポリシーを異なるソート順で表示するために、任意の列１６０２〜１６０８において、リストをソートすることができる。
【０１１４】
次に図１７を参照すると、ポリシーインスタンス管理ユーザインターフェイス例１７００が示されている。このインターフェイスは、「ポリシーデプロイメント」メニューを選択することによって呼び出すことができる。ユーザインターフェイス１７００は、アクション１７０４（準拠についてチェックする、準拠するよう変更するなど）を表示し、選択するためのテーブル１７０２を含み得る。状況１７０６も変更したり表示したりすることができる。ポリシー１７０８ごとに、スケジュール１７１０を選択することができ、これは、ユーザ定義であり得る、または他のスケジューリング基準に基づき得る。ユーザが所与のポリシー１７０８に関して様々な操作を行うことができるようにするために、スケジュールの履歴１７１２を表示することができる。
【０１１５】
図１８は、デプロイされたポリシープロパティのユーザインターフェイス例１８００を示す。インターフェイス１８００は、ポリシーを選択するためのドロップダウンメニュー１８０２を含み得る。スケジュールもスケジュールのドロップダウンリスト１８０４から選択することができる。制約の名前１８０６、アクション１８０８、ターゲットセット１８１０、識別１８１２、所有者名１８１４、説明１８１６、作成日１８１８、最終変更日１８２０、およびポリシー最終実行日１８２２など、様々な他のフィールドを自動的に入力することができる。
【０１１６】
ユーザは、チェックボックス１８２４を選択することによって、全ての子孫を再帰的にチェックするかどうかを選択することができる。ポリシーのアクションがスケジュール通りにチェックすることであるとき、こうした選択が示されるはずである。ユーザは、ポリシーが有効にされる１８２６かどうかを選択することもできる。チェックボックスがチェックされていない場合、ポリシーは、無効にされる。レポート履歴１８２８をこの画面から表示し、将来の分析のために印刷または保存することができる。
【０１１７】
図１９は、ポリシーインスタンスを適用するためのユーザインターフェイス例１９００を示す。「ポリシーインスタンスの適用」など、アクションを選択することによって、このユーザインターフェイス１９００を呼び出すことができる。ロードされたポリシー１９０２またはポリシーファイル１９０４を選択するかどうかの決定が行われ、所望のアクションを選択することができる。示されているように、ロードされたポリシー１９０２が選択される。アクション１９０６のリストからアクション（チェックや実施など）を選択するためのドロップダウンメニューを提供することができる。チェックボックス１９０８は、全ての子孫に関する再帰的チェックを有効にすることができる。ターゲットセット位置１９１０は、システムによって提供され得る。適用またはＯＫボタン１９１２を選択またはクリックすることによって、ポリシーを適用することができる。キャンセル１９１４ボタンを選択することによって、全アクションがキャンセルされ、ポリシーインスタンスの適用ウィンドウ１９００が閉じる。
【０１１８】
図２０は、マルチサーバ管理で使用することができるサーバプロパティのユーザインターフェイス例２０００を示す。管理ファセットは、ターゲットノードの右クリックによって表示することができる。ドロップダウンメニューで「プロパティ」を選択することによって、「プロパティ」ウィンドウが呼び出される。管理ファセットは、例えば左ペイン２００２に列挙され得る。ファセットをクリックすることによって、ユーザは、その現在の状態を表示することができ、管理ファセットは、読み取り可能な名前の属性を有し得る。
【０１１９】
管理ファセットの状態をポリシーファイルに抽出するには、「プロパティ」ウィンドウ２００が開かれ、ファセットが選択される。「ポリシーへの抽出」ボタン２００４をクリックすることによって、状態がポリシーファイルにエクスポートされる。類似のボタンを使用して、ポリシーバインディングをインポートすることができる。デプロイされたポリシー２００６または有効なポリシー２００８を表示するかどうか、選択を行うことができる。デプロイされたポリシー２００６タブによって、ユーザは、ノードまたはその子孫にデプロイされたポリシーバインディングを表示することができる。
【０１２０】
所望のファイル名をダイアログボックスに入力することができる。「保存」ボタンによって、変更が保存され、ウィンドウが閉じる。ファセットにおけるポリシーバインディングは、「プロパティ」ウィンドウを介して、「デプロイされたポリシーバインディング」タブをクリックしてノードおよびファセットにデプロイされているポリシーバインディングを表示することによって、表示することができる。「有効なポリシーバインディング」タブをクリックすることによって、ユーザは、ノードおよびファセットにおける有効なポリシーバインディングを表示することができる。
【０１２１】
図２１は、マルチサーバ管理で使用することができるサーバプロパティのユーザインターフェイス２１００の別の例を示す。ユーザインターフェイス２１００は、上記の図に示されているユーザインターフェイスに似ている。デプロイされているポリシー２１０２が選択されると、ユーザに、アクションを実行するための様々なボタンが提供される。デプロイされたポリシーをエクスポート２１０４することができる。適切なボタン２１０６、２１０８、２１１０を選択することによって、新しいポリシーを作成したり、既存のポリシーを編集または削除したりすることができる。
【０１２２】
様々な特徴を示すために、様々なシナリオが提示される。以下は、管理ファセットをまとめる例である。リレーショナルサーバに接続し、サーバにアクセスして、ＯＢＤファセットの状態を表示する。状態は、ポリシーとしてエクスポートすることができる。ユーザは、異なるサーバのところに行き（または開き）、ポリシーを評価する（例えば違反を確認する）ことができる。ポリシーは、サービスにおいて実施することができる。ＳＱＬ  Ｓｅｒｖｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｓｔｕｄｉｏ（ＳＳＭＳ）からサーバグループを明示的にチェックするには、ユーザは、登録されたサーバペインを訪れ、グループに対してＯｆｆ−Ｂｙ−Ｄｅｆａｕｌｔ（ＯＢＤ）ポリシーをチェックすることができる。レポートは、結果と共に提示することができ、ポリシーは、グループにおいて実施することができる。
【０１２３】
スケジュールされたチェックによる自動化は、ＯＢＤポリシーをサーバにインポートし、ＯＢＤポリシーノードを訪れることによって提供され得る。アクションが「スケジュール通りにチェック」であるかどうかを確認するために、ＯＢＤポリシーのプロパティを表示することができる。ポリシーがデプロイされ、スケジュールされたチェックが伴うバインディングが作成される。レポートがチェックされる。サーバの管理ファセット状態を変更することができ、レポートをチェックすることができる。
【０１２４】
命名ポリシーは、データベースと照合することができる名前プレフィックスに対してポリシーを作成することを含み得る。ポリシーをデプロイし、「実施」バインディングを作成することができる。サーバにおいて変更を行うことができ、ポリシーはそれを防ぐことができる。ＢＰＡポリシーは、ＳＳＭＳにＢＰＡルール（チェック）を含むことができる。
【０１２５】
拡張性および性能は、（グループポリシーのための）データ駆動ポリシーバインディングからの拡張性を含み得る。２つのポリシーを１つのサーバにデプロイすることができる（スケジュールされたチェックが伴うＯＢＤポリシー、実施が伴う命名ポリシーなど）。１つのサーバからのポリシーおよびバインディングを他のサーバ上に複製することができる。第２のサーバにおいて有効であるかどうかを確認するために、ポリシーバインディングをチェックすることができる（例えば、ＯＢＤ設定を変更し、違反レポートを表示する、サーバにおいて変更を行い、命名ポリシーが変更を防ぐかどうかを決定するなど）。第１のサーバにおいて変更されたポリシーを、第２のサーバにおけるその効果について観察することができる。
【０１２６】
バインディングのエクスポート／インポートからの拡張性：１つのサーバに、スケジュールされたチェックが伴うＯＢＤポリシー、実施が伴う命名ポリシーなど２つのポリシーをデプロイする。次に、サーバノードからポリシーバインディング情報ファイルをエクスポートする。別のサーバに行き、ポリシーバインディングファイルをインポートする。例えば、ＯＢＤ設定を変更し、違反レポートを表示する、および／またはサーバにおいて変更を行い、命名ポリシーが変更を防ぐことを示すなど、ポリシーバインディングが第２のサーバにおいて有効であることをチェックする。
【０１２７】
図２２は、システムライフサイクル例２２００を示す。開示された技術は、システムが解釈することができる論理レベルでの高レベルポリシーとして、管理の意図を捕捉することができる。拡張可能な管理によって、システムは、ポリシーを多くのアプリケーション、インスタンス、および／またはサーバに適用することができる。自己管理は、問題の検出につながり、結果的に管理の自動化をもたらし得る。したがって、システムは、かなりのデフォルトポリシーを使用可能にし得る。一貫性のある統合管理インフラストラクチャは、全てのデータ管理製品（ＳＱＬなど）サービスを一様に管理することができる。これは、レベルを下ることもでき、例えばＳＱＬ  Ｓｅｒｖｅｒ  ２０００およびＳＱＬ  Ｓｅｒｖｅｒ  ２００５のサーバに対する管理機能をサポートする。また、それだけには限定されないが、ＭＯＭ、Ｄｙｎａｍｉｃ  Ｓｙｓｔｅｍｓ  Ｉｎｉｔｉａｔｉｖｅ（ＤＳＩ）、Ｖｉｓｕａｌ  Ｓｔｕｄｉｏなどを含めて他の技術と統合することもできる。また、迅速な問題解決のために、深い診断およびツールをサポートし、したがって、支持可能性と協調し得る。
【０１２８】
上部は、サービスライフサイクル２２０２を示しており、下部は、アプリケーションライフサイクル２２０４を示している。これらは、例えば、オペレーティングシステム２２０６およびサーバインスタンス２２０８を表すことができる。開発およびデプロイメントは、構成につながる。システムが監視され、もしある場合は問題が見つけられ、システムが保守される。これは、報告、監査、および準拠につながり得る。
【０１２９】
データ管理製品（ＳＱＬ  Ｓｅｒｖｅｒなど）を構成するためにポリシーを使用することができる。例えば、Ｔ−ＳＱＬスクリプトを書く代わりに、ポリシーを使用して、初期構成を行うことができる。ポリシーは、サーバ構成を特定の構成と照合することができる。したがって、サーバ構成に最良の実践を表すポリシーをリリースすることができ、ユーザは、その環境を基準（最良の実践）ポリシーと比較することができる。ポリシーイベントの特別な処理、および拡張された宣言型管理を提供することができる。
【０１３０】
以下のサンプルポリシーは、単に例示の目的で含まれる。表面積構成：
【０１３１】
【表４】
2009540461.tif 000006
【０１３２】
従来のデータベースアプリケーションは、例えばクライアントＡＰＩとインターフェイスするデータベースおよびクライアントマシンを含む。アプリケーションは、アプリケーションが行およびテーブル、または埋め込みＳＱＬの観点で考えられるデータベース方式と結合される。従来、データサービスは、アプリケーションにおける妥当性検査および制約の実施により制限されていた（取得、配置、削除、クエリなど）。クライアントサーバアーキテクチャでは、アプリケーションは、通常、データベースと接続される。開示された実施形態は、多層、分散、切断、およびモバイルのシステムを提供することができる。これは、装置、デスクトップ（コンピュータ）サーバ、クラスタ、クラウドに対して分散される。データは、層を横断することができ、アプリケーションの近くで処理される。データは、複数のデータソースから統合することができる。時折アプリケーションに接続することができる。開示された実施形態は、より豊富なデータタイプおよびより高いデータ抽象化を提供することができる。また、（ビジネスプロセス状態、メッセージ、ビジネスルールなど）動的データを提供することもできる。
【０１３３】
以下に、開示された実施形態のいくつかの要素を列挙する。多層、切断（時折接続される）、分散、ＳＯＡベース（例えば）、オープン、相互運用、装置、テーブル、デスクトップ、サービス、動的（データ、アプリケーションモビリティ）、複数のデータソース、情報ベース、モデル駆動、コンポーネント化、カスタマイズ可能、および適応可能である。
【０１３４】
開示された実施形態は、物理、論理、概念、プログラミングまたはプレゼンテーションの４レベルの抽象化を有し得る。物理は、レコード形式、ファイル範囲、ファイルグループ、インデックス、およびファイルパーティションを指す。アプリケーションは、物理レベルに気付かない可能性がある。論理レベルは、テーブル、キー、ＰＫ／ＦＫ制約、正規化、物理データ独立性、リレーショナルアプリケーションを含む。概念レベルは、エンティティ、関係、制約、将来のアプリケーションへのシフト、データプラットフォームのターゲットモデルを含む。プログラミングまたはプレゼンテーションレベルは、普遍的なプログラミングモードを有していない。これは、エンティティ値、オブジェクト、ＸＭＬを含み、ほとんどのアプリケーションがこれらの間で変換できるはずである。
【０１３５】
ユーザがデータベースアプリケーションを作成するとき、これらは、データベース内にオブジェクトを作成しており、サーバレベルでオブジェクトを作成することもできる。データベースは、テーブルおよび様々なオブジェクトを含み、複数のデータベースを有し得るサーバとすることができる。テーブルおよびビューは、データベースに含まれる。また、サーバレベルで存在するオブジェクトもあり得る。ユーザは、各自のカスタムサーバエラーメッセージを作成するか、ＳＱＬ  Ｓｅｒｖｅｒで、例えばサーバレベルを作成することができる。開示された実施形態は、ユーザに、サーバのシステムまたはアプリケーションビューを取得するための手段を提供する。このビューは、サーバが１つのデータベースを有しているか、特定の１つのアプリケーションに属し得る複数のデータベースを有しているか、または同じデータベース内のオブジェクトを有する複数のアプリケーションを有しているかに関係なく提供することができる。
【０１３６】
ユーザは、例えばインターフェイス構成要素を介して、アプリケーション「Ａ」のサーバを表示する（例えば、レンダリング構成要素によって）よう要求することができ、ポリシーを、アプリケーション「Ａ」上に作成する（例えば、宣言型管理構成要素によって）ことができる。例えば、ユーザは、アプリケーション「Ａ」の全てのデータベーステーブルがＡｐｐＡ＿で開始するよう要求する。新しいテーブルが作成された場合、テーブルがＡｐｐＡ＿で開始することを指定するポリシーは、有効であり、新しいテーブルに適用される。システムは、それが１つのデータベースにあろうと、複数のデータベースにあろうと、デプロイメントを自動的に行う。したがって、ユーザ対話の量が低減する。
【０１３７】
次に、図２３を参照すると、システム例２３００が示されている。システムは、コアビジネスロジック２３０４を含むアプリケーション２３０２を含む。ナビゲーション／クエリ２３０６は、データ管理サービスとすることができる。データマッピングサービスは、ビジネスオブジェクト２３０８およびオフライン／同期サポート２３１０とすることができる。ストアインターフェイス２３１２も提供される。アプリケーションによる扱いは、エンティティとしてであり、アプリケーションには、データをマッピングする多くのソリューションがある。アプリケーションがそれ自体のナビゲーション／クエリ／変換情報を書くことができるインピーダンスミスマッチが提供される。
【０１３８】
次に図２４を参照すると、データベース２４０２、クライアントＡＰＩ２４０４、ＢＣＰ２４０６、およびアプリケーション２４０８を含む管理ツール例が示されている。データベース管理製品は、クライアントライブラリ、データユーティリティ（ＢＣＰ２４０６など）、および管理ツールを含むコアリレーショナルエンジン（ｃｏｒｅ  ｒｅｌａｔｉｏｎａｌ  ｅｎｇｉｎｅ）とすることができる。各サービスは、行およびテーブルを伝えることができる。
【０１３９】
図２５は、アドホック式にエンティティにおいて動作する（報告、マージ、複製など）データサービスを提供するシステム２５００を示す。ストア／データＡＰＩ２５０２部分、行／テーブル／ＭＤＳ部分２５０４、エンティティ部分２５０６が含まれる。システム２５００は、様々な暗黙的および明示的マッピングレイヤおよびマッピング記述を提供する。
【０１４０】
図２６にデータプラットフォームが示されている。アプリケーション２６０２は、コアのビジネスロジック２６０４を含む。データ管理サービス（ナビゲーション／クエリなど）２６０６も含まれる。値データサービスは、マージ複製２６０８、ＳＳＡＳ２６１０、およびレポートビルダー２６１２、および他の構成要素を含む。ストアインターフェイスは、データベース２６１８と対話するＯＤＢＣ２６１４およびＡＤＯ．ＮＥＴ２６１６を含む。アプリケーションは、ＤＡＬレイヤにおいてエンティティを構築することができる（顧客、アカウントなど）。値データサービス２６０８、２６１０、２６１２は、エンティティにおいて働くことができる（例えば、記述の独立した方法を有するなど）。
【０１４１】
図２７は、アプリケーション２７０２、データサービス２７０４、および他の項目２７０６を含むデータプラットフォーム２７００を示す。データの構造は、定義されたものとすることができる（エンティティなど）。例えば、用語「資産」、「顧客」、および「アカウント」を定義することができ、次いで、エンティティバス全体にわたって使用することができる。「資産」を定義すること、シェアポイント資産追跡アプリケーションを構築すること、ワークフローを、資産状況の更新のために電子メールの形に作成すること、および資産状況のレポートを作成することを含むデータサービスにおける好循環を提供することができる。企業またはエンタープライズおよび生態系内の他のものをバスに接続することができる。
【０１４２】
図２８は、データプラットフォームの様々なデータサービスを示す。こうしたサービスは、論理２８０２または概念２８０４とすることができる。論理サービス２８０２は、例えば、ｔｒａｎｓａｃｔ  ＳＱＬとすることができ、以下の形式をとり得る。
【０１４３】
【表５】
2009540461.tif 000007
【０１４４】
また、概念サービス２８０４は、エンティティビューマネージャとすることができ、以下の形式のエンティティＳＱＬを含み得る。
【０１４５】
【表６】
2009540461.tif 000008
【０１４６】
概念サービス２８０４は、エンティティおよび関係を提供するエンティティデータモデルを含み得る。また、例えば拡張されたリレーショナル代数に基づき得るエンティティＳＱＬが提供される。エンティティＳＱＬは、エンティティを生成し、消費することができ、関係にわたるより良いナビゲーションを提供する。エンティティビューマネージャは、エンティティランタイムを提供することができ、概念を論理マッピングに提供することができる。
【０１４７】
次に図２９を参照すると、データプラットフォームアーキテクチャ２９００が示されている。プラットフォームは、データベース監視、およびＶＬＤＢおよびネイティブＸＭＬサポートを提供することができる。また、マルチ言語プログラム可能性および伸長性、サーバ報告、エンタープライズＥＴＬ、および深いデータマイニングも提供され得る。
【０１４８】
図３０は、アダプタ例の図３０００を示す。ファセット３００２は、プロパティおよびコミットロジックにアクセスするためのディスパッチメソッドを含み得るＢａｓｅＦａｃｅｔ３００４など共通インターフェイスから導出することができる。各ファセットは、読み取り専用または読み取り／書き込みプロパティであり得るプロパティを定義することができる。アダプタクラス３００５は、ＢａｓｅＦａｃｅｔインターフェイスから継承することができ、基礎を成すオブジェクトモデルクラスを集合させることができる。アダプタは、オブジェクトモデルクラス３００８（および他のロジック）の物理プロパティを使用して、ファセットプロパティを公開することができる。
【０１４９】
次に図３１を参照すると、開示されたアーキテクチャを実行するよう動作可能なコンピュータのブロック図を示している。本明細書に開示された様々な態様に関する状況をさらに提供するために、図３１および以下の説明は、様々な態様を実施できるのに適したコンピューティング環境３１００の概略説明を提供するものである。１つまたは複数の実施形態は、上記で、１つまたは複数のコンピュータ上で稼働し得るコンピュータ実行可能命令の一般的な文脈で説明してきたが、様々な実施形態を他のプログラムモジュールとの組み合わせで実施することができる、かつ／またはハードウェアおよびソフトウェアの組み合わせとして実施することもできることを、当業者であれば理解されよう。
【０１５０】
一般にプログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、構成要素、データ構造などを含む。さらに、本発明の方法は、単一のプロセッサまたはマルチプロセッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、パーソナルコンピュータ、ハンドヘルドコンピューティング装置、マイクロプロセッサベースまたはプログラム可能家庭用電化製品など、１つまたは複数の関連の装置に操作可能にそれぞれ結合することができる他のコンピュータシステム構成で実施できることを当業者であれば理解されよう。
【０１５１】
また、示された態様は、いくつかのタスクが通信ネットワークによってリンクされているリモート処理装置によって実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールを、ローカルおよびリモートのメモリ記憶装置に置くことができる。
【０１５２】
コンピュータは、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータからアクセスできる使用可能な任意の媒体とすることができ、揮発性および不揮発性媒体、取外式および固定式の媒体を含む。コンピュータ可読媒体は、それだけには限定されないが一例として、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、他のデータなど、情報を記憶するための任意の方法または技術で実施される揮発性および不揮発性の取外式および固定式媒体がある。コンピュータ記憶媒体には、それだけには限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルビデオディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報の格納に使用でき、コンピュータからアクセスできる他の任意の媒体などがある。
【０１５３】
通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを搬送波または他の移送機構などの変調されたデータ信号に組み込む。これには任意の情報配送媒体がある。「変調されたデータ信号」という用語は、信号に情報を符号化するように１つまたは複数のその特性が設定または変更された信号を意味する。通信媒体には、それだけには限定されないが一例として、有線ネットワーク、直接配線された接続などの有線媒体、および音響、ＲＦ、赤外線、その他の無線媒体などの無線媒体がある。また、上記のどんな組み合わせでもコンピュータ可読媒体の範囲内に含まれるものとする。
【０１５４】
再度図３１を参照すると、様々な態様を実装する環境３１００の例は、コンピュータ３１０２を含んでおり、コンピュータ３１０２は、処理ユニット３１０４、システムメモリ３１０６、およびシステムバス３１０８を含んでいる。システムバス３１０８は、それだけには限定されないが、システムメモリ３１０６を含むシステム構成要素を処理ユニット３１０４に結合する。処理ユニット３１０４は、市販の様々なプロセッサのうちのどんなものでもよい。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャを処理ユニット３１０４として使用することもできる。
【０１５５】
システムバス３１０８は、市販の様々なバスアーキテクチャのうちの任意のものを使用するメモリバス（メモリコントローラ付きまたはなし）、周辺バス、およびローカルバスとさらに相互接続し得るいくつかのタイプのバス構造のうちどんなものでもよい。システムメモリ３１０６は、読み取り専用メモリ（ＲＯＭ）３１１０およびランダムアクセスメモリ（ＲＡＭ）３１１２を含む。基本入出力システム（ＢＩＯＳ）は、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの不揮発性メモリ３１１０に格納されており、例えば起動中など、コンピュータ３１０２内の要素間での情報の転送を助ける基本ルーチンを含む。ＲＡＭ３１１２は、例えばデータをキャッシュに入れるための静的ＲＡＭなど高速ＲＡＭを含むこともできる。
【０１５６】
コンピュータ３１０２は、適したシャーシ（図示せず）により外部での使用のために構成することもできる内部ハードディスクドライブ（ＨＤＤ）３１１４（ＥＩＤＥ、ＳＡＴＡなど）、磁気フロッピー（登録商標）ディスクドライブ（ＦＤＤ）３１１６（例えば取外式ディスケット３１１８から読み取り、またはそこに書き込む）、および光ディスクドライブ３１２０（例えばＣＤ−ＲＯＭディスク３１２２を読み込む、またはＤＶＤなど他の大容量光媒体から読み取り、そこに書き込む）をさらに含む。ハードディスクドライブ３１１４、磁気ディスクドライブ３１１６、および光ディスクドライブ３１２０は、それぞれハードディスクドライブインターフェイス３１２４、磁気ディスクドライブインターフェイス３１２６、および光ドライブインターフェイス３１２８によってシステムバス３１０８に接続することができる。外部ドライブ実装用のインターフェイス３１２４は、ユニバーサルシリアルバス（ＵＳＢ）およびＩＥＥＥ１３９４インターフェイス技術のうちの少なくとも一方または両方を含む。他の外部ドライブ接続技術も１つまたは複数の実施形態の企図内に含まれる。
【０１５７】
ドライブおよびその関連のコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などの不揮発性の記憶域を提供する。コンピュータ３１０２では、ドライブおよび媒体は、任意のデータの記憶を適したデジタル形式で収納する。上記のコンピュータ可読媒体の説明は、ＨＤＤ、取外式磁気ディスケット、およびＣＤやＤＶＤなどの取外式光媒体を指すが、ｚｉｐドライブ、磁気カセット、フラッシュメモリカード、カートリッジなど、コンピュータによって読み取り可能な他のタイプの媒体を動作環境例で使用してもよく、さらに、こうした任意の媒体は、本明細書に開示された方法を実行するコンピュータ実行可能命令を含むことができることを当業者であれば理解されたい。
【０１５８】
オペレーティングシステム３１３０、１つまたは複数のアプリケーションプログラム３１３２、他のプログラムモジュール３１３４およびプログラムデータ３１３６を含めて、いくつかのプログラムモジュールをドライブおよびＲＡＭ３１１２に格納することができる。オペレーティングシステム、アプリケーション、モジュール、および／またはデータの全てまたは一部をＲＡＭ３１１２にキャッシュすることもできる。様々な実施形態は、市販の様々なオペレーティングシステムまたはオペレーティングシステムの組み合わせで実施できることを理解されたい。
【０１５９】
ユーザは、コマンドおよび情報をキーボード３１３８およびマウス３１４０などのポインティング装置など、１つまたは複数の有線／無線の入力装置を介してコンピュータ３１０２に入力することができる。他の入力装置（図示せず）には、マイクロフォン、ＩＲリモートコントロール、ジョイスティック、ゲームパッド、スタイラスペン、タッチ画面などがある。これらおよび他の入力装置は、システムバス３１０８に結合されている入力装置インターフェイス３１４２を介して処理ユニット３１０４に接続されることが多いが、パラレルポート、ＩＥＥＥ１３９４シリアルポート、ゲームポート、ＵＳＢポート、ＩＲインターフェイスなど他のインターフェイスで接続することができる。
【０１６０】
モニタ３１４４または他のタイプの表示装置も、ビデオアダプタ３１４６などのインターフェイスを介してシステムバス３１０８に接続される。コンピュータは一般に、モニタ３１４４に加えて、スピーカやプリンタなど他の周辺出力装置（図示せず）を含んでいる。
【０１６１】
コンピュータ３１０２は、リモートコンピュータ３１４８など１つまたは複数のリモートコンピュータへの有線および／または無線の通信を介した論理接続を使用してネットワーク式環境で動作することができる。リモートコンピュータ３１４８は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、携帯用コンピュータ、マイクロプロセッサベースの娯楽装置、ピア装置、または他の一般のネットワークノードなどとすることができ、一般にコンピュータ３１０２に関連して記載した多くまたは全ての要素を含むが、簡潔にするために、メモリ／記憶装置３１５０のみを示している。示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）３１５２、および／または広域ネットワーク（ＷＡＮ）３１５４などのより大きいネットワークへの有線／無線の接続を含む。こうしたＬＡＮおよびＷＡＮネットワーキング環境は、オフィスや会社ではごく一般的であり、イントラネットなど全社規模のコンピュータネットワークを容易にし、これらは全て、インターネットなどのグローバルな通信ネットワークと接続することができる。
【０１６２】
ＬＡＮネットワーキング環境で使用する場合、コンピュータ３１０２は、有線および／または無線の通信ネットワークインターフェースまたはアダプタ３１５６を介してローカルネットワーク３１５２に接続される。アダプタ３１５６は、無線アダプタ３１５６と通信するために配置されている無線アクセスポイントも含み得るＬＡＮ３１５２との有線または無線の通信を容易にすることができる。
【０１６３】
ＷＡＮネットワーキング環境で使用する場合、コンピュータ３１０２は、モデム３１５８を含むことができ、ＷＡＮ３１５４を介して通信サーバに接続され、またはインターネットによるなどＷＡＮ３１５４を介して通信を確立する他の手段を有する。モデム３１５８は、内蔵または外付け、および有線または無線の装置とすることができ、シリアルポートインターフェース３１４２を介してシステムバス３１０８に接続される。ネットワーク式環境では、コンピュータ３１０２に関連して示したプログラムモジュール、またはその一部をリモートメモリ／記憶装置３１５０に格納することができる。図示したネットワーク接続は例であり、コンピュータ間の通信リンクを確立する他の手段を使用することができることは理解されよう。
【０１６４】
コンピュータ３１０２は、プリンタ、スキャナ、デスクトップ、および／または携帯用コンピュータ、ＰＤＡ、通信衛星、無線で検出できるタグに関連付けられている任意の設備または場所（キオスク、新聞雑誌売り場、休憩室など）、および電話など、無線通信で動作可能に配置されている任意の無線装置またはエンティティと通信するよう動作可能である。これは、少なくともＷｉ−ＦｉおよびＢｌｕｅｔｏｏｔｈ（商標）無線技術を含む。したがって、通信は、従来のネットワークと同様に予め定義されている構造、または単に少なくとも２つの装置間のアドホック式の通信とすることができる。
【０１６５】
Ｗｉ−Ｆｉ、すなわちＷｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙによって、家、ホテルの部屋、または職場から、配線なしにインターネットへの接続が可能になる。Ｗｉ−Ｆｉは、コンピュータなどのこうした装置がデータを屋内および屋外の基地局の範囲内のどこででも送受信できるようにするセル方式電話で使用されているものと似た無線技術である。Ｗｉ−Ｆｉネットワークは、ＩＥＥＥ８０２．１１（ａ、ｂ、ｇなど）と呼ばれる無線技術を使用して、安全で信頼性が高い高速無線接続を提供する。Ｗｉ−Ｆｉネットワークは、コンピュータを互いに、インターネットに、および有線のネットワーク（ＩＥＥＥ８０２．３またはＥｔｈｅｒｎｅｔ（登録商標）を使用する）に接続するために使用することができる。Ｗｉ−Ｆｉネットワークは、ライセンス不要の２．４ＧＨｚおよび５ＧＨｚの無線帯域で、例えば１１Ｍｂｐｓ（８０２．１１ａ）または５４Ｍｂｐｓ（８０２．１１ｂ）データ転送速度で、または両方の帯域（デュアルバンド）を含む製品で動作するため、ネットワークは、多くのオフィスで使用されている基本的な１０ＢａｓｅＴ配線のＥｔｈｅｒｎｅｔ（登録商標）ネットワークと似た実環境での性能を提供することができる。
【０１６６】
次に図３２を参照すると、様々な実施形態によるコンピューティング環境３２００の例の概略ブロック図を示している。システム３２００は、１つまたは複数のクライアント３２０２を含む。クライアント３２０２は、ハードウェアおよび／またはソフトウェア（スレッド、プロセス、コンピューティング装置など）とすることができる。クライアント３２０２は、例えば様々な実施形態を使用することによって、クッキーおよび／または関連の文脈情報を収納することができる。
【０１６７】
システム３２００は、１つまたは複数のサーバ３２０４も含む。サーバ３２０４もハードウェアおよび／またはソフトウェア（スレッド、プロセス、コンピューティング装置など）とすることができる。サーバ３２０４は、例えば様々な実施形態を使用することによって変形を行うためのスレッドを収容することができる。クライアント３２０２とサーバ３２０４との間の考え得る１つの通信は、２つ以上のコンピュータプロセス間で送信されるように構成されたデータパケットの形式とすることができる。データパケットは、例えばクッキーおよび／関連の文脈情報を含み得る。システム３２００は、クライアント３２０２とサーバ３２０４との間の通信を容易にするために使用できる通信フレームワーク３２０６（インターネットなどのグローバル通信ネットワークなど）を含む。
【０１６８】
通信は、有線（光ファイバを含む）および／または無線の技術を介して容易にすることができる。クライアント３２０２は、クライアント３２０２にローカルな情報（クッキーおよび／または関連の文脈情報など）を格納するために使用できる１つまたは複数のクライアントデータストア３２０８に動作可能に接続される。同様に、サーバ３２０４は、サーバ３２０４にローカルな情報を格納するために使用できる１つまたは複数のサーバデータストア３２１０に動作可能に接続される。
【０１６９】
上記で説明してきたことは、様々な実施形態の例を含む。当然、様々な実施形態を説明するために構成要素または方法の予想される全ての組み合わせについて説明することは不可能であるが、他の多くの組み合わせおよび置換えが可能であることを当業者であれば理解できよう。したがって、本明細書は、添付の特許請求の範囲の意図および範囲に含まれるこうした全ての代替形態、変更形態、および変形形態を含むものとする。
【０１７０】
特に上述した構成要素、装置、回路、システムなどによって実行される様々な機能に関して、こうした構成要素の説明に使用した用語（「手段」への言及を含む）は、本明細書で示した態様の例の機能を実行する開示した構造に構造上同じではない場合でも、特に指定のない限り、説明した構成要素の指定した機能（機能上の同等物など）を実行する任意の構成要素に対応するものとする。この点で、様々な態様は、様々な方法の動作および／またはイベントを実行するコンピュータ実行可能命令を有するシステムおよびコンピュータ可読媒体を含むことも理解されたい。
【０１７１】
さらに、特定の特徴を、いくつかの実装形態のうちの１つのみを参照して開示してきたが、こうした特徴は、思い通りに他の実装形態の１つまたは複数の他の特徴、および所与または特定の任意のアプリケーションの利点と組み合わせることができる。さらに、「含む」および「含んでいる」という用語およびその変形が詳細な説明または特許請求の範囲で使用されている範囲で、これらの用語は、「備える」という用語と同じように包括的なものとする。
【０１７２】
さらに、１つまたは複数の実施形態は、標準のプログラミングおよび／またはエンジニアリング技術を使用して、ソフトウェア、ファームウェア、ハードウェア、またはその任意の組み合わせを生成して、開示された実施形態を実施するようコンピュータを制御するための方法、装置、または製品として実装することができる。「製品」という用語（あるいは「コンピュータプログラム製品」）は、本明細書で使用される場合、任意のコンピュータ可読装置、キャリア、またはメディアからアクセス可能なコンピュータプログラムを含むものとする。例えば、コンピュータ可読媒体には、それだけには限定されないが、磁気記憶装置（ハードディスク、フロッピー（登録商標）ディスク、磁気ストライプなど）、光ディスク（コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）など）、スマートカード、およびフラッシュメモリ装置（カード、スティックなど）などがある。さらに、搬送波を使用して、電子メールの送受信、またはインターネットやローカルエリアネットワーク（ＬＡＮ）などのネットワークへのアクセスに使用されるものなど、コンピュータ可読電子データを運ぶことができることを理解されたい。開示された実施形態の範囲または意図から逸脱することなく、この構成に多くの変更を加えることができることを当業者であれば当然理解されよう。
【図面の簡単な説明】
【０１７３】
【図１】システムアーキテクチャの高レベルブロック図である。
【図２】データベースサーバの管理可能性を提供するシステムを示す図である。
【図３】ユーザの意図をデータ管理製品に動的に適用するシステムを示す図である。
【図４】高レベルの意図を低レベルの設定に自動的に適用するシステムを示す図である。
【図５】開示された実施形態を使用するイベントディスパッチ機構を示す図である。
【図６】１つまたは複数の実施形態に従って１つまたは複数の特徴の自動化を容易にする機械学習を使用するシステムを示す図である。
【図７】ユーザ生産性の向上を容易にする方法を示す図である。
【図８】データ管理製品を構成する方法を示す図である。
【図９】ユーザインターフェイスのスクリーンショット例を示す図である。
【図１０】ポリシーを適用するためのユーザインターフェイス例を示す図である。
【図１１】ポリシープロパティのユーザインターフェイス例を示す図である。
【図１２】制約プロパティのユーザインターフェイス例を示す図である。
【図１３】制約プロパティのユーザインターフェイスの別のスクリーンショット例を示す図である。
【図１４】原子制約プロパティ（ａｔｏｍｉｃ  ｃｏｎｓｔｒａｉｎｔ  ｐｒｏｐｅｒｔｉｅｓ）のユーザインターフェイス例を示す図である。
【図１５】ポリシープロパティのユーザインターフェイスのスクリーンショット例を示す図である。
【図１６】ポリシー実行レポートを表示する（または印刷する）ためのユーザインターフェイス例を示す図である。
【図１７】ポリシーインスタンス管理ユーザインターフェイス例を示す図である。
【図１８】デプロイされたポリシープロパティのユーザインターフェイス例を示す図である。
【図１９】ポリシーインスタンスを適用するためのユーザインターフェイス例を示す図である。
【図２０】サーバプロパティのユーザインターフェイス例を示す図である。
【図２１】サーバプロパティの別のユーザインターフェイス例を示す図である。
【図２２】システムライフサイクル例を示す図である。
【図２３】システム例を示す図である。
【図２４】管理ツール例を示す図である。
【図２５】アドホック式に動作するデータサービスを提供するシステムを示す図である。
【図２６】データプラットフォームを示す図である。
【図２７】別のデータプラットフォームを示す図である。
【図２８】データプラットフォームの様々なデータサービスを示す図である。
【図２９】データプラットフォームアーキテクチャを示す図である。
【図３０】アダプタ例を示す図である。
【図３１】開示された実施形態を実行するよう動作可能なコンピュータのブロック図である。
【図３２】開示された実施形態を実行するよう動作可能なコンピューティング環境例のブロック略図である。
【図１】
2009540461.tif 000009
【図２】
2009540461.tif 000010
【図３】
2009540461.tif 000011
【図４】
2009540461.tif 000012
【図５】
2009540461.tif 000013
【図６】
2009540461.tif 000014
【図７】
2009540461.tif 000015
【図８】
2009540461.tif 000016
【図９】
2009540461.tif 000017
【図１０】
2009540461.tif 000018
【図１１】
2009540461.tif 000019
【図１２】
2009540461.tif 000020
【図１３】
2009540461.tif 000021
【図１４】
2009540461.tif 000022
【図１５】
2009540461.tif 000023
【図１６】
2009540461.tif 000024
【図１７】
2009540461.tif 000025
【図１８】
2009540461.tif 000026
【図１９】
2009540461.tif 000027
【図２０】
2009540461.tif 000028
【図２１】
2009540461.tif 000029
【図２２】
2009540461.tif 000030
【図２３】
2009540461.tif 000031
【図２４】
2009540461.tif 000032
【図２５】
2009540461.tif 000033
【図２６】
2009540461.tif 000034
【図２７】
2009540461.tif 000035
【図２８】
2009540461.tif 000036
【図２９】
2009540461.tif 000037
【図３０】
2009540461.tif 000038
【図３１】
2009540461.tif 000039
【図３２】
2009540461.tif 000040
【国際調査報告】
2009540461.tif 000041
2009540461.tif 000042