(57)【要約】  本発明の実施形態は、コンピュータ・ネットワーク環境で少なくとも１つのリソースに対する１つまたは複数のアクションを自動化し、実行する、さまざまなタイプの管理アプリケーションで使用できるポリシを定義するシステムと方法を対象とする。このシステムは、監視されるイベントの発生を示す信号を受け取り、監視されるイベントに基づく第１条件を有するルールを識別し、第１条件を有するルールから、第１条件が満足される１つまたは複数のルールを識別するように構成される。１つまたは複数のルールによって、少なくとも１つのリソースの１つまたは複数の監視されない属性に基づく１つまたは複数の第２条件を満足する時に実行される１つまたは複数のアクションが定義される。少なくとも１つのルールは、少なくとも１つのルールの１つまたは複数の第２条件も満たされる１つまたは複数のルールから識別される。少なくとも１つのルールについて実行される１つまたは複数のアクションが、定義され、少なくとも１つのリソースに対して実行される。
2005513838.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・ネットワーク環境で実行されるオペレーションを管理し、自動化する方法であって、
監視される時間的イベントの発生を示す信号を受け取ることと、
前記監視される時間的イベントに基づくＷｈｅｎ文節を有するルールを識別することと、
前記監視されるイベントに基づく前記Ｗｈｅｎ文節を有する前記ルールから、前記Ｗｈｅｎ文節がＴＲＵＥと評価される１つまたは複数のルールを識別することであって、その１つまたは複数のルールの各ルールが、Ｉｆ文節と前記Ｉｆ文節に関連するＡｃｔｉｏｎ文節を含む、識別することと、
前記１つまたは複数のルールから、その１つまたは複数のルールの内の各ルールの前記Ｉｆ文節がＴＲＵＥと評価される少なくとも１つのルールを識別することと
を含む方法。
【請求項２】
ルールのサブセットのそれぞれに関連する前記Ａｃｔｉｏｎ文節に基づいて、ルールのサブセットについて実行される１つまたは複数のアクションを判定することをさらに含む請求項１に記載の方法。
【請求項３】
前記少なくとも１つのルールについて前記１つまたは複数のアクションを実行することをさらに含む請求項２に記載の方法。
【請求項４】
前記Ａｃｔｉｏｎ文節に基づいて前記少なくとも１つのルールのそれぞれごとに、前記１つまたは複数のアクションが１つまたは複数のリソースで実行されるためにシステムに発行される請求項３に記載の方法。
【請求項５】
前記アクションが、前記コンピュータ・ネットワーク環境で実行されるストレージ管理オペレーションまたはデータ管理オペレーションを含む請求項３に記載の方法。
【請求項６】
各Ｉｆ文節が評価される１つまたは複数の条件を含み、その条件が前記コンピュータ・ネットワーク環境で管理される個々のオブジェクトに適用される請求項１に記載の方法。
【請求項７】
コンピュータ・ネットワーク環境で少なくとも１つのリソースに対する１つまたは複数のアクションを自動化し、実行する方法であって、
監視されるイベントの発生を示す信号を受け取ることと、
前記監視されるイベントに基づく第１条件を有するルールを識別することと、
前記第１条件を有する前記ルールから、前記第１条件が満足される１つまたは複数のルールを識別することであって、その１つまたは複数のルールは、少なくとも１つのリソースの１つまたは複数の監視されない属性に基づく１つまたは複数の第２条件が満足される時に実行される１つまたは複数のアクションを定義する、識別することと、
前記１つまたは複数のルールから、少なくとも１つのルールの１つまたは複数の第２条件が満足される少なくとも１つのルールを識別することと、
前記少なくとも１つのルールについて実行される前記１つまたは複数のアクションを決定することと、
前記少なくとも１つのリソースに対して前記１つまたは複数のアクションを実行することと
を含む方法。
【請求項８】
前記少なくとも１つのリソースが、ストレージ・エンティティ、データ・エンティティ、ネットワーク・エンティティ、コンピュータ・エンティティからなる群から選択される請求項７に記載の方法。
【請求項９】
前記識別されたルールが、前記監視されるイベントに基づく異なる第１条件を有する請求項７に記載の方法。
【請求項１０】
前記識別されたルールの前記第１条件の少なくとも１つが、前記監視されるイベントと１つまたは複数の追加イベントの発生時に満足される請求項７に記載の方法。
【請求項１１】
満足される前記第１条件によって複数のルールが識別され、その複数のルールが前記第２条件が満足される時に実行されるアクションを定義し、かつ、その複数のルールが前記少なくとも１つのリソースの１つまたは複数の監視されない属性に基づく異なる第２条件を有する請求項７に記載の方法。
【請求項１２】
コンピュータ・ネットワーク環境で実行されるオペレーションを管理し、自動化する管理システムであって、
複数のリソースと、
システムとを有し、
そのシステムは、
監視されるイベントの発生を示す信号を受け取ることと、
前記監視されるイベントに基づく第１条件を有するルールを識別することと、
前記第１条件を有する前記ルールから、前記第１条件が満足される１つまたは複数のルールを識別することであって、その１つまたは複数のルールは、前記複数のリソースの少なくとも１つのリソースの１つまたは複数の監視されない属性に基づく１つまたは複数の第２条件が満足される時に実行される１つまたは複数のアクションを定義する、識別することと、
前記１つまたは複数のルールから、前記少なくとも１つのルールの１つまたは複数の第２条件が満足される少なくとも１つのルールを識別することと、
前記少なくとも１つのルールについて実行される前記１つまたは複数のアクションを決定することと、
前記少なくとも１つのリソースに対して前記１つまたは複数のアクションを実行することとを実行するように構成される
管理システム。
【請求項１３】
前記少なくとも１つのリソースが、ストレージ・エンティティ、データ・エンティティ、ネットワーク・エンティティ、コンピュータ・エンティティからなる群から選択される請求項１２に記載の管理システム。
【請求項１４】
前記識別されたルールが、前記監視されるイベントに基づく異なる第１条件を有する請求項１２に記載の管理システム。
【請求項１５】
前記識別されたルールの前記第１条件の少なくとも１つが、前記監視されるイベントと１つまたは複数の追加イベントの発生時に満足される請求項１２に記載の管理システム。
【請求項１６】
満足される前記第１条件によって複数のルールが識別され、その複数のルールが前記第２条件が満足される時に実行されるアクションを定義し、かつ、その複数のルールが前記少なくとも１つのリソースの１つまたは複数の監視されない属性に基づく異なる第２条件を有する請求項１２に記載の管理システム。
【請求項１７】
コンピュータ・ネットワーク環境で少なくとも１つのリソースに対する１つまたは複数のアクションを自動化し、実行する、コンピュータ可読媒体に保管されたコンピュータ・プログラム製品であって、
監視されるイベントの発生を示す信号を受け取るコードと、
前記監視されるイベントに基づく第１条件を有するルールを識別するコードと、
前記第１条件を有する前記ルールから、前記第１条件が満足される１つまたは複数のルールを識別するコードであって、前記１つまたは複数のルールは、少なくとも１つのリソースの１つまたは複数の監視されない属性に基づく１つまたは複数の第２条件が満足される時に実行される１つまたは複数のアクションを定義する、識別するコードと、
前記１つまたは複数のルールから、前記少なくとも１つのルールの１つまたは複数の第２条件が満足される少なくとも１つのルールを識別するコードと、
前記少なくとも１つのルールについて実行される前記１つまたは複数のアクションを決定するコードと、
前記少なくとも１つのリソースに対して前記１つまたは複数のアクションを実行するコードと
を含むコンピュータ・プログラム製品。
【請求項１８】
前記少なくとも１つのリソースが、ストレージ・エンティティ、データ・エンティティ、ネットワーク・エンティティ、コンピュータ・エンティティからなる群から選択される請求項１７に記載のコンピュータ・プログラム製品。
【請求項１９】
前記識別されたルールが、前記監視されるイベントに基づく異なる第１条件を有する請求項１７に記載のコンピュータ・プログラム製品。
【請求項２０】
前記識別されたルールの前記第１条件の少なくとも１つが、前記監視されるイベントと１つまたは複数の追加イベントの発生時に満足される請求項１７に記載のコンピュータ・プログラム製品。
【請求項２１】
満足される前記第１条件によって複数のルールが識別され、その複数のルールが前記第２条件が満足される時に実行されるアクションを定義し、かつ、その複数のルールが前記少なくとも１つのリソースの１つまたは複数の監視されない属性に基づく異なる第２条件を有する請求項１７に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【関連出願】
【０００１】
本発明は、参照によってその全体を本明細書に組み込まれる、２００１年１２月１４日出願の米国特許仮出願第６０／３４０２２７号明細書に関連し、その利益を主張するものである。
【技術分野】
【０００２】
本発明は、コンピュータ・システムとコンピュータ・ネットワークに関し、さらにそれらによるストレージ・システムの使用に関する。具体的には、本発明は、ネットワーク内のデバイスや相互接続の管理に加えて、ストレージ・システムとデバイス、さらにはそのデバイスに常駐するデータを管理するアプリケーションにおける挙動を自動化するシステムと方法に関する。
【背景技術】
【０００３】
最近、コンピュータ・システムでポリシの使用が急増し始めた。ポリシによって、管理者は、ある条件が満足される場合に発生しなければならないアクションを記述できる。このモデルの典型的な例が、ＤＭＴＦ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｍａｎａｇｅｍｅｎｔ  Ｔａｓｋ  Ｆｏｒｃｅ）のＰＣＩＭ（Ｐｏｌｉｃｙ  Ｃｏｍｍｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｍｏｄｅｌ）である。ＰＣＩＭは、インターネットＲＦＣ３０６０で定義される。ＲＦＣ３０６０は、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）の刊行物であり、ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ３０６０．ｔｘｔ？ｎｕｍｂｅｒ＝３０６０で見ることができる。
【０００４】
ＩＥＴＦ  Ｐｏｌｉｃｙ  Ｆｒａｍｅｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐで、ＤＭＴＦ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｍａｎａｇｅｍｅｎｔ  Ｔａｓｋ  Ｆｏｒｃｅ）のＣＩＭ（Ｃｏｍｍｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｍｏｄｅｌ）に対する拡張として現在協同開発中の、ポリシ情報を表すオブジェクト指向の情報モデルがＲＦＣ３０６０によって提示される。ＰＣＩＭは、コンピュータ・ネットワークでアクティビティを制御する機構として定義される。ポリシによって制御されるネットワークについて考える方法の１つが、まず状態機械としてネットワークをモデル化し、ポリシによって制御されるデバイスが所与の時にどの状態にならなければならないか、またはどの状態になることを許可されるかを、ポリシを使用して制御することである。状態機械は、コンピュータ・システムの抽象モデルである。一般に、状態機械は、所与の時の情報の状況を保管し、入力を操作して、状況を変更し、かつ／またはアクションまたは出力を行わせることができる任意のデバイスである。
【０００５】
ポリシによって制御されるネットワークでは、ポリシが、ポリシ・ルールの組を使用して適用される。各ポリシ・ルールは、条件の組とアクションの組からなる。ポリシ・ルールを、ポリシ・グループに集約することができる。このグループを入れ子にして、ポリシの階層を表すことができる。ポリシ・ルールに関連する条件の組によって、ポリシ・ルールが適用される時が指定される。条件の組は、論理オペレーションＯＲとＡＮＤの組合せとして表現することができる。個々の条件ステートメントを否定することもできる。ポリシ・ルールに関連する条件の組がＴＲＵＥと評価される場合に、オブジェクトの現在の状態を維持するか、オブジェクトを新しい状態に推移させるアクションの組を実行することができる。
【０００６】
後にわかったところでは、ＰＣＩＭモデルは、データ管理、ネットワーク管理、ストレージ管理のアプリケーションなどのいくつかの管理アプリケーションに、完全には適していない。これは、状態機械モデルで、すべての条件をルール処理システムによって簡単に評価できると仮定しているという事実に起因する。ほとんどではないが多くの管理アプリケーションで、実際にはそうでない。たとえば、ストレージ管理アプリケーションで、ネットワーク内のさまざまなストレージ・ボリュームが管理されている。各管理されるボリュームは、ボリュームのファイルのリストなど多数のプロパティを有する。各ファイルは、それが存在するボリュームのプロパティのほかに多数のプロパティを有し、これらのプロパティのすべての蓄積を選択のために管理者が使用可能である。一部のプロパティは、他のプロパティより簡単に監視され、検出される。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ポリシの定義を可能にするアプリケーションのほとんどで、単純な「ＩＦ−ＴＨＥＮ」構造が使用され、この構造では、ＩＦ文節によって条件が記述され、ＴＨＥＮ文節によって、ＩＦ文節の条件を満足するオブジェクトに対して管理アプリケーションによって実行されるオペレーションが記述される。たとえば、ストレージ管理に関して、ポリシによって、特定のユーザが特定のリソースにアクセスできる条件を定義することができる。この構造は、ストレージ管理アプリケーションや他の管理アプリケーションに不適切であることが多い。というのは、条件が基づくいくつかのプロパティまたは属性が、検出が困難または監視が実現不可能であるからである。
【課題を解決するための手段】
【０００８】
本発明の実施態様は、さまざまなタイプの管理アプリケーションで使用できるポリシを定義するシステムと方法を対象とする。このタイプの管理アプリケーションには、ストレージ管理アプリケーション、ネットワーク管理アプリケーション、データ管理アプリケーションが含まれる。ポリシで管理者がルールを定義でき、その結果、ストレージ管理アプリケーションの挙動を自動化できる。ルールには、条件と、１つまたは複数の条件が満たされる時に実行される関連するアクションが含まれる。一般に、２タイプの条件が使用される。条件の第１のタイプは、時間と共に変化するという点で時間的または動的である「監視される」イベントに基づくものであり、本明細書では「第１」条件と称する。第２のタイプの条件は、性質においてより静的な、「監視されない」属性に基づくものであり、本明細書では「第２」条件と称する。いくつかの場合に、「監視されない」属性は、時間と共に変化せず（たとえば、オブジェクトの所有者またはネットワーク内のデバイスの製造業者）、その結果、そのような属性を監視する必要がない。特定の実施態様で、監視されるイベントは、簡単に検出可能なイベントであり、「監視されない」プロパティまたは属性は、検出が困難であるかより計算集中型のプロパティまたは属性である。
【０００９】
特定の実施態様では、ポリシに、監視されるイベントに基づく第１条件に関して定義されるものと、監視されない属性に基づく第２条件に関して定義されるものの２レベルのルールが含まれる。監視されない属性に基づく第２条件は、１つまたは複数の、監視されるイベントに基づく第１条件が満たされた時に限って評価される。２レベルのルールを実現する形の１つが、Ｗｈｅｎ文節とＩｆ文節を使用するものである。Ｗｈｅｎ文節によって、１つまたは複数の第１条件の評価のために監視される時間的イベントが記述される。Ｉｆ文節によって、１つまたは複数の第２条件による定義に従って評価される属性が記述され、その評価は、Ｗｈｅｎ文節で定義される１つまたは複数の第１条件が満足される時に限って行われる。したがって、Ｉｆ文節の属性は監視されない。Ｉｆ文節の１つまたは複数の第２条件ならびにＷｈｅｎ文節の１つまたは複数の第１条件が満足される時に実行されるアクションをＡｃｔｉｏｎ文節で定義することができる。
【００１０】
監視されるイベントの選択は、いくつかの実施態様で処理リソース制限などのシステム制約に基づいて行われる。他の実施態様ではユーザが定義することができる。監視されない属性に基づく第２条件は、監視されるイベントに基づく１つまたは複数の第１条件が満足されなければ評価されず、これによって、処理時間が減り、監視が困難であるか処理集中型であるイベントを監視する必要がなくなる。監視されない属性は、ストレージ管理に関連するストレージ・ボリュームなど、監視されるリソースまたはオブジェクトの属性とすることができる。そのようなリソースまたはオブジェクトは、物理デバイス、ストレージ・ロケーション、物理エンティティのメモリ・カプセル化、ファイルやディレクトリなどのデータ、デバイス帯域幅、容量、性能機能、またはそれらの類似物とすることができる。条件を、監視されるイベントに基づくものと監視されない属性に基づくものに分割することによって、より効率的でコスト効率のよい形でアクションを実行するためにポリシを定義し、評価することができる。そのような二重レベル・ポリシを組み込んだシステムと方法は、普通のポリシは実施が困難または不可能であるストレージ管理アプリケーションなどのさまざまな管理アプリケーションに適している。
【００１１】
本発明の態様によれば、コンピュータ・ネットワーク環境で実行されるオペレーションを管理し、自動化する方法に、監視される時間的イベントの発生を示す信号を受け取ることと、監視されるイベントに基づくＷｈｅｎ文節を有するルールを識別することが含まれる。監視されるイベントに基づくＷｈｅｎ文節を有するルールから、Ｗｈｅｎ文節がＴＲＵＥと評価される１つまたは複数のルールが識別され、１つまたは複数のルールの各ルールは、Ｉｆ文節とＩｆ文節に関連するＡｃｔｉｏｎ文節を有する。１つまたは複数のルールから、各ルールのＩｆ文節がＴＲＵＥと評価される少なくとも１つのルールが識別される。
【００１２】
いくつかの実施態様で、方法に、さらに、少なくとも１つのルールのそれぞれに関連するＡｃｔｉｏｎ文節に基づいて、少なくとも１つのルールについて実行される１つまたは複数のアクションを決定することが含まれる。この方法には、少なくとも１つのルールについて１つまたは複数のアクションを実行することを含めることができる。１つまたは複数のアクションが、システムに発行されて、Ａｃｔｉｏｎ文節に基づいて、少なくとも１つのルールのそれぞれについて、１つまたは複数のリソースまたはオブジェクトに対して実行される。システムは、たとえば、監視ソフトウェアを伴うまたは監視ソフトウェアなしのサーバまたは記憶システムとすることができる。オブジェクトまたはリソースは、ストレージ、データ、ネットワーク、またはコンピュータ・エンティティ、ファイル、あるいはその類似物とすることができる。アクションに、コンピュータ・ネットワーク環境で実行される管理オペレーション（たとえば、データ管理オペレーションとストレージ管理オペレーション）を含めることができる。各Ｉｆ文節に、評価される１つまたは複数の条件を含めることができ、各Ｉｆ文節によって、コンピュータ・ネットワーク環境内のこれらの条件を満足する管理される個々のオブジェクトを識別することができる。
【００１３】
本発明のもう１つの態様は、コンピュータ・ネットワーク環境で少なくとも１つのリソースに対する１つまたは複数のアクションを自動化し、実行する方法を対象とする。この方法には、監視されるイベントの発生を示す信号を受け取ることと、監視されるイベントに基づく第１条件を有するルールを識別することと、第１条件を有するルールから第１条件が満足される１つまたは複数のルールを識別することとが含まれる。１つまたは複数のルールによって、少なくとも１つのリソースの１つまたは複数の監視されない属性に基づく１つまたは複数の第２条件が満足される時に実行される１つまたは複数のアクションが定義される。１つまたは複数のルールから、少なくとも１つのルールの１つまたは複数の第２条件も満たされる少なくとも１つのルールが識別される。この方法には、さらに、少なくとも１つのルールについて実行される１つまたは複数のアクションを決定することと、少なくとも１つのリソースに対して１つまたは複数のアクションを実行することが含まれる。
【００１４】
いくつかの実施態様で、識別されるルールが、監視されるイベントに基づく異なる第１条件を有する。識別されるルールの第１条件の少なくとも１つを、監視されるイベントおよび１つまたは複数の追加イベントの発生時に満足することができる。特定の実施態様では、複数のルールが、満足される第１条件を用いて識別され、複数のルールによって、第２条件を満足する時に実行されるアクションが定義され、複数のルールが、少なくとも１つのリソースの１つまたは複数の監視されない属性に基づく異なる第２条件を有する。ＰＣＩＭモデルと同様に、ある形の論理演算子を使用して、複数のイベントを一緒に接続することができる。この論理演算子に、ＡＮＤ、ＯＲ、ＮＯＴが含まれ、これについては下で詳細に説明する。
【００１５】
本発明のもう１つの態様によれば、コンピュータ・ネットワーク環境で実行されるオペレーションを自動化し、管理する管理システムに複数のリソースやシステムが含まれる。このシステムは、監視されるイベントの発生を示す信号を受け取り、監視されるイベントに基づく第１条件を有するルールを識別し、第１条件を有するルールから第１条件が満足される１つまたは複数のルールを識別するように構成される。１つまたは複数のルールによって、複数のリソースの少なくとも１つのリソースの１つまたは複数の監視されない属性に基づく１つまたは複数の第２条件が満足される時に実行される１つまたは複数のアクションが定義される。サーバ・システムは、さらに、１つまたは複数のルールから、少なくとも１つのルールの１つまたは複数の第２条件も満足される少なくとも１つのルールを識別し、少なくとも１つのルールについて実行される１つまたは複数のアクションを判定し、少なくとも１つのリソースに対して１つまたは複数の動作を実行するように構成される。
【００１６】
いくつかの実施態様で、少なくとも１つのリソースに、ストレージ・エンティティが含まれる。少なくとも１つのリソースに、ネットワーク・エンティティを含めることができる。識別されるルールは、監視されるイベントに基づく異なる第１条件を有する。識別されるルールの第１条件の少なくとも１つが、監視されるイベントと１つまたは複数の追加イベントの発生時に満足される。
【００１７】
本発明のもう１つの態様は、コンピュータ・ネットワーク環境で少なくとも１つのリソースに対する１つまたは複数のアクションを自動化し、実行する、コンピュータ可読媒体に保管されたコンピュータ・プログラム製品を対象とする。このコンピュータ・プログラム製品には、監視されるイベントの発生を示す信号を受け取るコードと、監視されるイベントに基づく第１条件を有するルールを識別するコードと、第１条件を有するルールから第１条件が満足される１つまたは複数のルールを識別するコードとが含まれる。１つまたは複数のルールによって、少なくとも１つのリソースの１つまたは複数の監視されない属性に基づく１つまたは複数の第２条件が満足される時に実行される１つまたは複数のアクションが定義される。このコンピュータ・プログラム製品には、さらに、１つまたは複数のルールから、少なくとも１つのルールの１つまたは複数の第２条件も満足される少なくとも１つのルールを識別するコードと、少なくとも１つのルールについて実行される１つまたは複数のアクションを判定するコードと、少なくとも１つのリソースに対して１つまたは複数のアクションを実行するコードとが含まれる。
【発明を実施するための最良の形態】
【００１８】
図１は本発明の実施形態を組み込むことができる分散システムの単純化されたブロック図である。
【００１９】
図２は本発明の実施形態によるコンピュータ・システムの単純化されたブロック図である。
【００２０】
図３は本発明の実施形態による、管理アプリケーションでアクションを実行するためにポリシを評価する方法の単純化された高水準流れ図である。
【００２１】
本発明の実施形態によって、さまざまな管理アプリケーションで使用されるポリシの新しい構造が提供される。ポリシには、それぞれ性質において時間的または動的な監視されるイベントに基づく第１条件について定義されるものと、性質においてより静的な監視されない属性に基づく第２条件について定義されるものの２レベルのルールが含まれる。いくつかの場合、監視されない属性は監視する必要がないほど時間に伴って変化しないか、あるいは、その属性は、検出または監視が困難かまたは過度に計算集中型である。監視されない属性に基づく第２条件は、監視されるイベントに基づく１つまたは複数の第１条件が満たされる時に限って評価される。
【００２２】
図１は、本発明の実施形態を組み込むことができる分散システム１００の単純化されたブロック図である。図１からわかるように、分散システム１００は、複数の通信リンクを介して通信ネットワーク１１２に結合された１つまたは複数のユーザ（クライアント）システム１０２を備えている。通信ネットワーク１１２は、ローカル・エリア・ネットワーク（ＬＡＮ）（図１に図示）または他のタイプのデータ通信ネットワークなどの任意のネットワークとすることができる。複数のサーバがその通信ネットワーク１１２に結合されている。このサーバには、本発明の教示による処理を実行するように構成されたストレージとデータ管理サーバ１０４が含まれる。サーバ・ポリシ・データベース１２０は、ストレージとデータ管理サーバ１０４からアクセス可能である。サーバ・ポリシ・データベース１２０にサーバ・ポリシが保管されている。このサーバ・ポリシによって、本発明の教示による効率的でコスト効率のよい形で、ストレージとデータ管理サーバ１０４によって、監視される条件に基づいて条件が監視され、アクションが実行される。通信ネットワーク１１２に結合できる他のサーバに、アプリケーション・サービス・プロバイダ（ＡＳＰ）サーバ（たとえばサーバ１０６）、インターネットなどの他の通信ネットワーク１１０へのアクセスを提供するストレージ・サービス・プロバイダ（ＳＳＰ）サーバ（たとえばサーバ１０８）や他のサーバを含めることができる。図１には、通信ネットワーク１１２に結合された、ファイル・サーバ１１１、アプリケーション・サーバ１１３、データベース・サーバ１１５も示されている。図１が、単に例示であり、他のタイプのサーバおよびデバイスをシステム１００に含めることができることを理解されたい。以下の説明では、ストレージ管理に焦点を合わせる傾向があるが、本発明が、ストレージ管理に制限されるのではなく、ネットワーク管理、データ管理、その他の類似のものに適用可能であることを理解されたい。
【００２３】
本発明の教示によれば、分散システム１００に、データと情報の保管に使用される１つまたは複数のデータ・ストレージ・リポジトリが含まれる。このデータ・ストレージ・リポジトリに、オンライン・ストレージ１１５、ニアライン・ストレージ１１６、オフライン・ストレージ１１８、その他のストレージを含めることができる。データ・ストレージ・リポジトリは、通信ネットワーク１１２を介してストレージとデータ管理サーバ１０４に直接に結合されるか、あるいは、その代わりに、ストレージ・エリア・ネットワーク（ＳＡＮ）１１４、ＮＡＳ（network attached storage）などの他のネットワークを介してストレージとデータ管理サーバ１０４に結合される。図１に示された分散コンピュータ・ネットワーク１００は、本発明を組み込んだ実施形態の例示にすぎず、請求項に記載の発明の範囲を制限するものではない。当業者は、他の変形形態、修正形態、代替形態を認めるであろう。たとえば、データベース１２０は、図１に示されているように、ストレージとデータ管理サーバ１０４に直接に結合されるか、あるいはその代わりに、ある通信ネットワークまたはシステムを介してストレージとデータ管理サーバ１０４からアクセスされる。
【００２４】
図１に示されたネットワーク１００などの分散コンピュータ・ネットワークに結合されたコンピュータ・システムは、一般に、情報の要求または情報の保管／供給に関してコンピュータ・システムが演じる役割に応じて、「クライアント」または「サーバ」に分類される。情報にアクセスするためにユーザによって使用されるコンピュータ・システムを、通常は、「クライアント」コンピュータと称する。したがって、情報にアクセスするのに使用できるユーザ・システム１０２はクライアント・システムとして言及される。
【００２５】
いくつかの実施形態で、ローカル・ポリシ・データベース１２４は、図１に示されたサーバ１０８などの個々のサーバからあるいはシステム１００内のアプリケーション・サーバまたはファイル・サーバなどの他の管理されるサーバからアクセス可能である。ローカル・ポリシ・データベース１２４にはローカル・ポリシが保管されており、このローカル・ポリシによって、本発明の教示による効率的でコスト効率のよい形で、監視される条件に基づいて、サーバ１０８によって条件を監視し、アクションを実行することができる。データベース１２４は、図１に示されているように、サーバ１０８に直接に結合されるか、あるいは、その代わりに、ある通信ネットワークまたは通信システムを介してサーバ１０８からアクセスされる。
【００２６】
クライアント・システムから情報要求を受け取り、要求を満足させるのに必要な処理を実行し、情報要求に対応する結果／情報を要求元クライアント・システムに転送する責任を負うコンピュータ・システムを、通常は、「サーバ」システムと称する。クライアント要求を満足するのに必要な処理を、単一のサーバ・システムによって実行することができ、あるいは、その代わりに他のサーバに委譲することもできる。特定のコンピュータ・システムが、サーバおよびクライアントの両方として機能することができることは明白である。
【００２７】
通信ネットワーク１１２や図１に示された他のネットワークによって、図１のさまざまなコンピュータ・システムとストレージ・リポジトリとの間で情報の通信や交換を可能にする機構が提供される。通信ネットワーク自体は、多数の相互接続されたコンピュータ・システムや通信リンクとすることができる。１実施形態では、通信ネットワーク１１２がＬＡＮであるが、他の実施形態では、通信ネットワーク１１２を、広域ネットワーク（ＷＡＮ）、無線ネットワーク、イントラネット、プライベート・ネットワーク、公衆ネットワーク、交換網、その他の類似物を含む任意の適切な通信ネットワークとすることができる。
【００２８】
図１に示されたさまざまな構成要素を接続するのに使用される通信リンクはさまざまなタイプのものとすることができる。たとえば、通信リンクを、ハードウェア・リンク、光リンク、衛星または他の無線通信リンク、波の伝搬によるリンク、または情報通信の他の機構とすることができる。さまざまな通信プロトコルを使用して、通信リンクを介する情報の通信を実現することができる。この通信プロトコルに、ＴＣＰ／ＩＰ、ＨＴＴＰプロトコル、ＸＭＬ（extensible markup language）、ＷＡＰ（wireless application protocol）、産業標準化組織によって開発されつつあるプロトコル、ベンダ固有プロトコル、カスタマイズされたプロトコル、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌプロトコル、および他のプロトコルを含めることができる。
【００２９】
上で示したように、データ・ストレージ・リポジトリに、オンライン・ストレージ、ニアライン・ストレージ、オフライン・ストレージ、および他のストレージを含めることができる。データ・ストレージ・リポジトリの特徴は、一般に、そのデータ・ストレージ・リポジトリによって保管されるデータにアクセスするのに必要な時間の長さ（「データ・アクセス時間」または「データ・シーク時間」と称する）によって表される。オンライン・ストレージのデータ・シーク時間は、一般に、ニアライン・ストレージのシーク時間より短い。オフライン・ストレージのシーク時間は、一般に、ニアライン・ストレージのシーク時間より長い。オフライン・ストレージには、ディスク・ドライブ、テープ、光デバイス、その類似物などのコンピュータ可読記憶媒体を含めることができる。図１に示された特定の実施形態のデータ・ストレージ・リポジトリは、システム１００で使用できる特定のタイプのリソースである。他のタイプのリソースに、たとえば、スイッチやルータなどの接続性デバイス、コンピュータ・サーバ、その類似物が含まれる。
【００３０】
上で示したように、ストレージとデータ管理サーバ１０４は、本発明の教示による処理を実行するように構成される。この処理は、ストレージとデータ管理サーバ１０４で実行されるソフトウェア・モジュールによって、ストレージ・データ管理サーバ１０４に結合されたハードウェア・モジュールによって、またはこれらの組合せによって実現される。本発明の実施形態によれば、この処理を、ストレージとデータ管理サーバ１０４に結合された他のコンピュータ・システムやデバイスによって実行することもできる。
【００３１】
図２は、本発明の実施形態によるコンピュータ・システム２００の単純化されたブロック図である。コンピュータ・システム２００は、図１に示されたクライアント・システムまたはサーバ・システムとして使用することができる。図２からわかるように、コンピュータ・システム２００には、少なくとも１つのプロセッサ２０２が含まれ、プロセッサ２０２は、バス・サブシステム２０４を介して複数の周辺デバイスと通信する。これらの周辺デバイスは、メモリ・サブシステム２０８やファイル・ストレージ・サブシステム２１０を含むストレージ・サブシステム２０６、ユーザ・インターフェース入力デバイス２１２、ユーザ・インターフェース出力デバイス２１４、ネットワーク・インターフェース・サブシステム２１６などである。入力デバイスと出力デバイスを用いて、ユーザがコンピュータ・システム２００と対話できる。ユーザは、人間のユーザ、デバイス、プロセス、別のコンピュータ、それらの類似物とすることができる。ネットワーク・インターフェース・サブシステム２１６によって、他のコンピュータ・システムや通信ネットワークへのインターフェースが提供される。
【００３２】
バス・サブシステム２０４が、コンピュータ・システム２００のさまざまな構成要素とサブシステムを意図されたように互いに通信させる機構を提供している。コンピュータ・システム２００のさまざまなサブシステムや構成要素は、同一の物理的位置にある必要はなく、ネットワーク１００内のさまざまな位置に分散させることができる。バス・サブシステム２０４は、概略的に単一のバスとして図示されているが、バス・サブシステムの代替実施形態では、複数のバスを使用することができる。
【００３３】
ユーザ・インターフェース入力デバイス２１２に、キーボード；組込みのおよび取り込まれたパックを伴うＦｅｌｉｘタブレットまたは光学タブレット、マウス、トラックボール、タッチパッド、グラフィックス・タブレット、スキャナ、バーコード・スキャナ、ディスプレイに組み込まれたタッチスクリーンなどのポインティング・デバイス；音声認識システム、マイクロホンなどのオーディオ入力デバイス；および他のタイプの入力デバイスを含めることができる。一般に、用語「入力デバイス」の使用は、コンピュータ・システム２００を使用する情報入力用のすべての利用可能なタイプのデバイスと手段を含むことが意図されている。
【００３４】
ユーザ・インターフェース出力デバイス２１４には、ディスプレイ・サブシステム、プリンタ、ファクシミリ機、またはオーディオ出力デバイスなどの非ビジュアル・ディスプレイが含まれる。ディスプレイ・サブシステムは、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）などのフラットパネル・ディスプレイ、プロジェクション・デバイスなどである。ディスプレイ・サブシステムによって、たとえばオーディオ出力デバイスを介して、非ビジュアル・ディスプレイを提供することもできる。一般に、用語「出力デバイス」の使用は、コンピュータ・システム２００から情報を出力する利用可能なすべてのタイプのデバイスや手段を含むことが意図されている。
【００３５】
ストレージ・サブシステム２０６は、コンピュータ・システムや本発明の機能性を提供する、基本的なプログラミング構造とデータ構造を保管するように構成されている。たとえば、本発明の１実施形態によれば、本発明の機能性を実現するソフトウェア・モジュールを、ストレージとデータ管理サーバ１０４のストレージ・サブシステム２０６に保管することができる。このソフトウェア・モジュールを、ストレージとデータ管理サーバ１０４のプロセッサ２０２によって実行することができる。分散環境では、ソフトウェア・モジュールは、複数のコンピュータ・システムに保管されて、複数のコンピュータ・システムのプロセッサによって実行される。ストレージ・サブシステム２０６が、本発明によって使用できるさまざまなデータベースを保管するリポジトリとなってもよい。ストレージ・サブシステム２０６に、メモリ・サブシステム２０８やファイル・ストレージ・サブシステム２１０を含めることができる。
【００３６】
メモリ・サブシステム２０８に、プログラム実行中に命令およびデータを保管するメイン・ランダム・アクセス・メモリ（ＲＡＭ）２１８や固定された命令が保管される読取専用メモリ（ＲＯＭ）２２０を含む複数のメモリを含めることができる。ファイル・ストレージ・サブシステム２１０によって、プログラム・ファイルとデータ・ファイルの永続的（不揮発性）ストレージが提供される。そのファイル・ストレージ・サブシステム２１０には、ハード・ディスク・ドライブ、関連する取外し可能媒体を伴うフロッピ・ディスク・ドライブ、コンパクト・ディスク読取専用メモリ（ＣＤ−ＲＯＭ）ドライブ、光ドライブ、取外し可能メディア・カートリッジ、さらに他の類似する記憶媒体を含めることができる。１つまたは複数のドライブを、リモート位置にある他の接続されたコンピュータに配置することができる。
【００３７】
コンピュータ・システム２００自体は、パーソナル・コンピュータ、ポータブル・コンピュータ、ワークステーション、コンピュータ端末、ネットワーク・コンピュータ、メインフレーム、キオスク、携帯情報端末（ＰＤＡ）、セル電話機などの通信デバイス、または他のデータ処理システムを含む、さまざまなタイプのものとすることができる。コンピュータやネットワークはその性質が変化し続けるので、図２に示されたコンピュータ・システム２００の説明は、コンピュータ・システムの好ましい実施形態を示すための特定の例として意図されているにすぎない。図２に示されたコンピュータ・システム２００より多数または少数の構成要素を有するコンピュータ・システムの多数の他の構成が可能である。
【００３８】
上で示したように、本発明は、データ、ストレージ、ネットワーク、または類似物のより効率的で効果的な管理を達成するためにさまざまなタイプの管理アプリケーションで用いられるポリシを定義する技法を設けている。したがって、本発明の特定の実施形態によって、より効率的でコスト効率のよい形でデータとストレージを管理するアクションを実行するためにポリシを定義でき、評価できる。
【００３９】
本発明の１実施形態によれば、各ポリシに、ルールの組が含まれ、ルールのそれぞれは、下記の３つの構成要素からなる。
【００４０】
１．Ｗｈｅｎ文節−この文節によって、ストレージ管理アプリケーションなどの管理アプリケーションによってインターセプトされた、監視される時間的イベントが記述される。
【００４１】
２．Ｉｆ文節−この文節によって、Ｗｈｅｎ文節の条件より性質が静的な条件、または検出が処理集中型に過ぎる条件と、Ｗｈｅｎ文節が認められる場合に必ず操作されるオブジェクトのタイプが記述される。
【００４２】
３．Ａｃｔｉｏｎ文節−この文節によって、ストレージ管理アプリケーションによって、Ｗｈｅｎ文節も満足される時にＩｆ文節を満足するオブジェクトに対して実行されるオペレーションのタイプが記述される。
【００４３】
Ｗｈｅｎ文節とＩｆ文節の構造は類似する。時間と共に変化し、管理アプリケーションによって検出できるイベントだけに、Ｗｈｅｎ文節で言及することができる。このイベントを、本明細書では監視される「時間的」イベントと称する。複数のイベントを、ＰＣＩＭモデルのような形の論理演算子を使用して、Ｗｈｅｎ文節および／またはＩｆ文節で一緒に接続することができる。この論理演算子に、ＡＮＤ、ＯＲ、ＮＯＴが含まれる。ＡＮＤ演算子は、複数の条件に適用される。２つの条件がＡＮＤ演算子によって接続される場合に、その組合せがＴＲＵＥになるためには、条件のそれぞれがＴＲＵＥにならなければならない。条件のいずれか（または両方）がＦＡＬＳＥの場合には、組合せもＦＡＬＳＥになる。ＯＲ演算子も、複数の条件に適用される。２つの条件がＯＲ演算子によって接続される場合に、条件のいずれか（または両方）がＴＲＵＥの場合に、組合せがＴＲＵＥになる。両方の条件がＦＡＬＳＥである場合に限って、組合せもＦＡＬＳＥになる。ＮＯＴ演算子は、単一の条件に適用される。条件に適用されるＮＯＴ演算子の結果は、実際の条件がＦＡＬＳＥの時にＴＲＵＥになり、実際の条件がＴＲＵＥの時に、結果がＦＡＬＳＥになる。
【００４４】
例としてストレージ管理を使用すると、ストレージ管理アプリケーションによって検出できる通常のイベントは、下記である。
【００４５】
ファイルが保存されまたは変更される。
【００４６】
ボリューム使用量がある閾値を超えるかそれ未満になる。
【００４７】
ストレージ容量閾値に達する。
【００４８】
ネットワーク容量帯域幅閾値に達する。
【００４９】
ある時間／スケジュールが満足されるか、時間関連インベントが発生した。
【００５０】
Ｉｆ文節には、Ｗｈｅｎ文節より性質が静的な条件に関する情報が保持され、操作されるオブジェクトの種類が記載される。この文節によって、ファイルのさまざまなプロパティが記述される。上で説明したようにＷｈｅｎ文節で複数のイベントを一緒に結合するのと同一の形で、複数の「プロパティ・ステートメント」をＩｆ文節内で一緒に結合することができる。通常のプロパティは下記の通りである。
【００５１】
オブジェクトの所有者。
【００５２】
オブジェクトのタイプとサイズ。
【００５３】
オブジェクトの位置。
【００５４】
ユーザがファイルにアクセスできるかどうか。
【００５５】
ストレージ・コスト。
【００５６】
デバイス帯域幅。
【００５７】
ストレージ性能。
【００５８】
データ・アクセス性能要件。
【００５９】
記憶容量使用状況。
【００６０】
ファイルまたはデータの最終アクセス時刻。
【００６１】
特定の実施形態で、Ｉｆ文節の条件とＷｈｅｎ文節の条件の間の決定的な相違は、次の通りである。Ｉｆ文節の条件は、Ｗｈｅｎ文節の条件より性質が静的な条件である。いくつかの場合に、Ｉｆ文節の条件は、個々のオブジェクトに適用され、管理アプリケーションによって簡単には監視されない。たとえば、現代のコンピュータ・ネットワークで、オブジェクトへのアクセスは、アクセス制御リスト（ＡＣＬ）の使用を介して制御される。オブジェクトのＡＣＬには、そのオブジェクトへの指定されたアクセス権を有するユーザと名前を指定されたグループがリストされる。ユーザは、ＡＣＬに特にリストされることによって、またはＡＣＬにリストされた名前を指定されたグループのメンバであることによって、オブジェクトにアクセスできると仮定される。ユーザが、グループに追加され、削除される時に、オブジェクトへのアクセス権が変化する。事態が複雑になるが、グループに、メンバとして他のグループを含めることができ、サブグループのメンバであるユーザも、親グループがアクセス権を有するすべてのオブジェクトへのアクセス権を有する。ＡＣＬは、簡単には監視されないので、Ｗｈｅｎ文節ではなくＩｆ文節に含まれる。
【００６２】
したがって、ユーザが特定のオブジェクトにアクセスできるかどうかをテストする条件はＷｈｅｎ文節ではなくＩｆ文節の一部になる。その理由は、ネットワークで定義されているグループのすべてを継続的に監視し、管理アプリケーションが、ユーザがどのグループのメンバシップを有するかを調べ、ユーザが管理されるオブジェクトへのアクセス権を有するかどうかを調べることが実現可能でないからである。したがって、Ｗｈｅｎ文節の条件は、管理アプリケーションによって比較的簡単に監視できる条件である。Ｉｆ文節の条件は、管理アプリケーションによって監視できない条件、または管理アプリケーションが監視するには計算集中型に過ぎる（管理されるオブジェクトまたはリソースの属性など）条件であり、各管理されるオブジェクトを試験することによって検査されなければならない。
【００６３】
Ａｃｔｉｏｎ文節によって、管理アプリケーション（たとえば、ストレージ管理アプリケーション）が、Ｉｆ文節によって記述されるオブジェクトをどのように操作するかが記述される。各管理アプリケーションは、実行できるアクションの特定の組を有する。これらのアクションの多くは、コンピュータ・ネットワーク内のある場所から別の場所へのデータの移動に関する。ストレージ管理アプリケーションで使用できる例のルール（英語）を下に示す。
【００６４】
Ｗｈｅｎ  （新しいオブジェクトがストレージ・ボリュームＡで作成される）  Ｉｆ  （オブジェクトが既に存在する）  Ｔｈｅｎ  （古いオブジェクトのバックアップ・コピーをボリュームＢで保管する）。
【００６５】
Ｗｈｅｎ  （ボリュームＡの使用状況が９０％を超える）  Ｉｆ  （Ｓａｌｅｓグループのユーザが所有するオブジェクトがボリュームＡにある）  Ｔｈｅｎ  （そのオブジェクトをボリュームＢに移動する）。
【００６６】
Ｗｈｅｎ  （ボリュームＡの使用状況が７０％未満である）  Ｉｆ  （Ｓａｌｅｓグループのユーザが所有するオブジェクトがボリュームＡにある）  Ｔｈｅｎ  （そのオブジェクトをボリュームＡに移動する）。
【００６７】
Ｗｈｅｎ  （今日は日曜日である）  Ｉｆ  （７日間使用されていないオブジェクトがボリュームＡにある）  Ｔｈｅｎ  （そのオブジェクトをボリュームＣに移動する）。
【００６８】
さまざまなボリューム（Ａ、Ｂ、Ｃなど）に、たとえば、図１のオンライン・ストレージ１１５、ニアライン・ストレージ１１６、オフライン・ストレージ１１８を含めることができる。
【００６９】
図３は、本発明の実施形態による、条件の効率的な監視とその監視された条件に基づくアクションの実行を実現するポリシを定義するためにストレージとデータ管理サーバ１０４によって実行される方法の簡略化された高水準流れ図３００である。図３に示された流れ図３００は、本発明を具体化した実施形態の例示にすぎず、請求項に記載の発明の範囲を制限しない。当業者は、他の変形形態、修正形態、および代替形態を認めるであろう。
【００７０】
図３からわかるように、ストレージとデータ管理サーバ１０４またはストレージとデータ管理サーバ１０４によって管理されるサーバの１つ（たとえば、ファイル・サーバ１１１またはデータベース・サーバ１１５）によって、管理アプリケーションによって検出される、監視されている「時間的」イベントの発生を示す信号を受け取る（ステップ３０２）。ステップ３０４で、ストレージとデータ管理サーバ１０４によって、監視されるイベントに基づいて、「Ｗｈｅｎ」文節を有するルールを識別する。ステップ３０６で、ストレージとデータ管理サーバ１０４によって、ステップ３０４で識別されたルールから、「Ｗｈｅｎ」文節の条件が満足される（すなわち、「Ｗｈｅｎ」文節がＴＲＵＥと評価される）ルールの組を識別する。ストレージとデータ管理サーバ１０４によって、ステップ３０６で識別された「Ｗｈｅｎ」文節の条件を満足するルールのうちで、「Ｉｆ」文節の条件も満足される（すなわち、「Ｉｆ」文節がＴＲＵＥと評価される）ルールのサブセットを識別する（ステップ３０８）。「Ｉｆ」文節の条件は、監視されない１つまたは複数のプロパティまたは属性に基づく。ステップ３０８で識別された、「Ｗｈｅｎ」文節と「Ｉｆ」文節の両方の条件を満足するルールのそれぞれについて、ストレージとデータ管理サーバ１０４によって、「Ａｃｔｉｏｎ」文節で定義される、実行されるアクションを決定する（ステップ３１０）。これには、たとえば、「Ａｃｔｉｏｎ」文節のアクションのソースとターゲットの決定を含めることができる。ステップ３１２で、たとえば適当なソース・システムにアクションを発行することによって、アクションを実行する。
【００７１】
監視されるイベントに基づく条件と監視されない属性に基づく条件へ条件を分割することによって、より効率的でコスト効率のよい形でアクションを実行するためのポリシの定義と評価が可能になる。というのは、監視されない属性に基づく条件が、監視されるイベントに基づく１つまたは複数の条件が満足されなければ評価されないからである。二重レベル・ポリシを使用することによって、処理時間が減り、監視が困難または処理集中型に過ぎる属性を監視する必要がなくなる。監視されるイベントは、システム制約に基づいて選択することができ、監視されるイベントは、所与のシステムによって簡単に検出可能であるか監視され、監視されない属性は、そのシステムによる検出が困難または計算集中型である。監視されるイベントがどのように選択されるかは、特定のシステムの処理能力によって指示することができ、したがって、使用可能な処理リソースに直接に相関させることができる。代替実施形態では、ユーザが、何が監視される時間的イベントであり、何が監視されない属性を構成するかを決めることができる。これは、図２のユーザ・インターフェース入力デバイス２１２を介して行うことができる。
【００７２】
装置および方法の、上で説明した配置は、本発明の原理の適用の例示にすぎず、請求項で定義される発明の趣旨および範囲から逸脱せずに、多数の他の実施形態および修正形態を作ることができる。たとえば、上の実施形態は、ストレージ管理アプリケーションに関して説明されたが、ポリシ情報の構造を、他の管理アプリケーションについて実施することもできる。したがって、本発明の範囲は、上の説明を参照することによって判定されてはならず、同等性の範囲全体について、請求項に関して判定されなければならない。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態を組み込むことができる分散システムの単純化されたブロック図である。
【図２】本発明の実施形態によるコンピュータ・システムの単純化されたブロック図である。
【図３】本発明の実施形態による、管理アプリケーションでアクションを実行するためにポリシを評価する方法の単純化された高水準流れ図である。
【図１】
2005513838.tif 000003
【図２】
2005513838.tif 000004
【図３】
2005513838.tif 000005
【国際調査報告】
2005513838.tif 000006