JP2005502121A - Technique for storing data based on storage policy - Google Patents

Technique for storing data based on storage policy Download PDF

Info

Publication number
JP2005502121A
JP2005502121A JP2003525463A JP2003525463A JP2005502121A JP 2005502121 A JP2005502121 A JP 2005502121A JP 2003525463 A JP2003525463 A JP 2003525463A JP 2003525463 A JP2003525463 A JP 2003525463A JP 2005502121 A JP2005502121 A JP 2005502121A
Authority
JP
Japan
Prior art keywords
storage device
placement rule
data unit
storage
data
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.)
Withdrawn
Application number
JP2003525463A
Other languages
Japanese (ja)
Inventor
ルーング,アルバート
パリスカ,ジョヴァンニ
グリーンブラット,ブルース
チャンドラ,クラウディア
Original Assignee
アルキヴィオ・インコーポレーテッド
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 アルキヴィオ・インコーポレーテッド filed Critical アルキヴィオ・インコーポレーテッド
Publication of JP2005502121A publication Critical patent/JP2005502121A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

データ・ストレージ環境(100)でデータを記憶する自動化された技法。異種混合ストレージ環境で、そのストレージ環境のために構成された記憶ポリシ(128)に基づいてデータの記憶位置を決定する技法が提供される。データは、最小限の人的介入により、使用可能な記憶リソースの使用を最適化すると同時に効率の良いデータ・アクセスを可能にするデータ位置(116)に記憶される。An automated technique for storing data in a data storage environment (100). In a heterogeneous storage environment, a technique is provided for determining the storage location of data based on a storage policy (128) configured for the storage environment. Data is stored in data locations (116) that allow efficient data access while optimizing the use of available storage resources with minimal human intervention.

Description

【関連出願】
【0001】
(関連出願の相互引用)
本出願は、その全内容をあらゆる目的で参照によって本明細書に組み込む以下の出願の優先権を主張し、かつ仮出願ではない:
(1)2001年8月31日出願、米国仮特許出願第60/316,764号(整理番号21154−000200US);および
(2)2002年2月21日出願、米国仮特許出願第60/358,915号(整理番号21154−000400US)。
また本願は、以下の出願の全内容もあらゆる目的で参照によって組み込む:
(1)2001年12月14日出願、米国仮特許出願第60/340,227号(整理番号21154−000300US);および
(2)2002年4月25日出願、米国本特許出願第10/133,123号(整理番号21154−000310US)。
【技術分野】
【0002】
本発明は、一般に、データの記憶と管理の分野に関し、より詳細には、ストレージ環境においてそのストレージ環境に対して構成された記憶ポリシに基づいてデータの記憶位置を決定する技法に関する。
【背景技術】
【0003】
様々なコスト、容量、帯域幅その他の性能特性を有する記憶システムとデバイスを含む異種の複雑なストレージ環境が、従来の同種データ・ストレージ環境に急速に取って替わりつつある。その異種混合の性質のために、そうした環境でのデータ記憶の管理は困難で複雑な作業である。そうした異種混合データ・ストレージ環境での1つの重要な情報管理機能が、効率良くデータにアクセスできるようにする一方、そのデータ記憶に関連するコストを低減させるような方式で、種々の使用可能記憶デバイスの中のどこにデータを記憶するかを決定することである。
【0004】
いくつかの従来方式のデータ・ストレージ環境においては、どこにデータを記憶するかの決定は一般に、そのデータ・ストレージ環境のユーザ(システム管理者など)によって手動で決定される。ユーザは、データ使用パターンと、そのデータを記憶するためのストレージ環境で使用可能な記憶デバイスの特性に基づいてその決定を行うことができる。したがって、そうした環境では、システム管理者は、頻度情報とデータ使用情報、データ・アクセス要求と性能要求、そのデータのユーザまたは消費者からのアクセス頻度情報を集める必要がある。また管理者は、データを記憶するのに使用可能な記憶デバイスの特性(コスト、容量その他の性能特性)を判定する必要もある。次いで管理者は、通常は、そのデータをどこに記憶すべきかについて知識や経験に基づく推量を行う。前述の手動の手法は、少数のデータ消費者をサポートする単純な同種のストレージ環境では実行可能であると考えられるが、そうした手法は今日の大規模で異種混合のストレージ環境では実際的でない。
【0005】
現在、データ記憶意思決定プロセスの一部を自動化するいくつかの従来方式データ管理システムが使用可能である。例えば、オンライン記憶からオフライン記憶に(または1次バックアップ媒体から2次バックアップ媒体に)データを移動させるための階層記憶管理(HSM)を実施する自動化データ・バックアップ・アプリケーションが使用可能である。しかし、従来方式のデータ管理システムは、現在、多数のデータ消費者やサーバ、ホストを含む大規模異種混合ストレージ環境を管理するためにシステム管理者によって求められる柔軟性や制御、自動化を提供しない。
【発明の開示】
【発明が解決しようとする課題】
【0006】
以上を考慮して、使用可能な記憶リソースの使用を最適化すると同時に効率良くデータにアクセスできる方式で最小限の介入でデータ記憶管理者が分散型データ及び記憶リソースを効率良く管理することのできる自動化された技法が求められている。
【課題を解決するための手段】
【0007】
本発明の実施態様は、ストレージ環境のために構成された記憶ポリシに基づいてそのストレージ環境におけるデータの記憶位置を決定する自動化された技法を提供する。この記憶位置は、最小限の人的介入で使用可能な記憶リソースを最適化すると同時に効率の良いデータ・アクセスを可能にする方式で決定される。この記憶位置は、記憶されるデータに関連する特性や記憶デバイスの特性、そのストレージ環境のために構成された記憶ポリシに基づいて決定される。
【0008】
本発明の一実施態様によれば、複数の記憶デバイスを含むストレージ環境でデータを記憶する記憶デバイスのための技法が提供される。本発明の一実施態様は、データ・ファイルを記憶するための信号を受け取る。次いで、この実施態様は、そのストレージ環境のために構成された1つまたは複数の配置規則のセットを識別する。各配置規則は、記憶されるデータの1つまたは複数の特性に関連する1つまたは複数の条件を識別するデータ関連基準、1つまたは複数の記憶デバイス特性に関連する1つまたは複数の条件を識別するデバイス関連基準を含む。配置規則のセット中の各配置規則ごとに、その配置規則のデータ関連基準とデータ・ファイルの特性とに基づいてデータ値スコア(DVS)が計算される。次いで本発明の実施態様は、配置規則のセット、それに関連するDVS、複数の記憶デバイスの特性、記憶されるデータ・ファイルの特性に基づいて、複数の記憶デバイスの中から、そのデータ・ファイルを記憶する記憶デバイスを決定する。
【0009】
上記、本発明の他の特徴、実施形態および利点は、以下の明細書、添付の特許請求の範囲および図面を参照すればより明らかになるであろう。
【発明を実施するための最良の形態】
【0010】
本発明の実施形態は、データ・ストレージ環境でデータを記憶する自動化された技法を提供する。本発明の一実施形態は、異種混合ストレージ環境でそのストレージ環境のために構成された記憶ポリシに基づいてデータの記憶位置を決定する技法を提供する。したがって本発明の実施形態は、最小限の人的介入で使用可能な記憶リソースの使用を最適化すると同時に効率の良いデータ・アクセスを可能にする方式でデータを容易に記憶できる。
【0011】
本発明の一実施形態によれば、異種混合データ・ストレージ環境に結合されたデータ管理システムは、データ管理機能とデータ記憶機能を自動化するように構成される。この実施形態では、データ管理システムは、データ及び記憶リソース使用パターンを監視、分析し、その使用パターンに基づいてデータの最適な記憶位置を決定するように構成される。また、このデータ管理システムは、データ及び記憶デバイスの特性と、そのストレージ環境のために構成された記憶ポリシとに基づいてデータの記憶位置を決定するようにも構成される。この記憶ポリシは、そのストレージ環境のユーザ(エンドユーザ、システム管理者、管理職など)によって構成される。
【0012】
以下に述べる本発明の実施形態は、データ・ファイルの形で記憶されるデータの記憶位置を決定する技法を記述する。ただし、本発明の教示は、データ・ファイル以外に、ブロック・データなど他のデータ単位の記憶位置を決定するために使用することもできることを理解すべきである。したがって、以下に述べる本発明の実施形態は本発明の範囲を限定するためのものではない。
【0013】
図1は、本発明の一実施形態を組み込むことのできる分散システム100の簡略化した構成図である。分散システム100は、複数の通信リンクを介して1つまたは複数の通信ネットワークに結合された複数のコンピュータ・システムと複数の記憶デバイスを含む。図1に示すように、分散システム100は、通信ネットワーク112に結合された1つまたは複数のユーザ(クライアント)システム102を含む複数のコンピュータ・システムを含むとともに、データ管理サーバ(DMS)104、アプリケーション・サービス提供(ASP)サーバ106、インターネットなどの通信ネットワーク110への接続を提供するサーバ108、ファイル・サーバ122、データベース・サーバ124その他種々のサーバを含む複数のサーバ・システムをも含む。図1に示す分散コンピュータ・ネットワーク100は、単に、本発明を組み込んだ一実施形態を例示するものにすぎず、特許請求の範囲に記載の本発明の範囲を限定するものではない。当分野の技術者であれば、他の変形形態、改変形態、代替形態を理解するはずである。
【0014】
通信ネットワーク112や110など図1に示す通信ネットワークは、図1に示す様々なコンピュータ・システムと記憶デバイスの間の通信や情報交換の機構を提供する。これらの通信ネットワーク自体も、多くの相互接続されたコンピュータ・システムや通信リンクから構成することができる。例えば、通信ネットワーク112は、(図1に示すような)LAN、広域ネットワーク(WAN)、無線ネットワーク、インターネット、私設ネットワーク、公衆網、交換網、その他任意の適当な通信ネットワークとすることができる。同様に、通信ネットワーク110も、(図1に示すような)インターネットや他の任意のコンピュータ・ネットワークなど、他の任意の通信ネットワークとすることができる。
【0015】
図1に示す様々なシステムを接続するために使用される通信リンクは、有線リンク、光リンク、衛星その他の無線通信リンク、波動リンクその他任意の情報通信の機構を含めて、様々なタイプのものとすることができる。これらの通信リンクを介した情報の通信を容易にするために様々な通信プロトコルを使用することができる。これらの通信プロトコルには、TCP/IP、HTTPプロトコル、拡張マークアップ言語(XML)、無線アプリケーション・プロトコル(WAP)、ファイバ・チャネル・プロトコル、業界標準機関が開発中のプロトコル、供給元特有のプロトコル、カスタマイズされたプロトコルその他が含まれる。
【0016】
図1に示すシステム100などの分散システムに接続されたコンピュータ・システムは、情報またはサービスの要求する、あるいは情報またはサービスの記憶/提供に関連してそのコンピュータ・システムが果たす役割に応じて、「クライアント」または「サーバ」に分類することができる。ユーザが情報要求またはサービス要求を構成するために使用するコンピュータ・システムは、通常、「クライアント」コンピュータと呼ばれる。クライアント・システムから情報要求および/またはサービス要求を受け取り、それらの要求を満たすのに必要な処理を実施し、それらの要求に対応する結果/情報を要求元クライアント・システムに戻すコンピュータ・システムは、普通、「サーバ」システムと呼ばれる。クライアントの要求を満たすのに必要な処理は、単一のサーバ・システムによって実施することも、あるいは他のサーバに代行させることもできる。したがって、図1に示すサーバ・システムは、情報を提供し、かつ/または1つまたは複数のクライアント・コンピュータから受け取った要求によって求められるサービスを提供するように構成される。ただし、個々のコンピュータ・システムがサーバとクライアントの両方として機能することもできることを理解すべきである。
【0017】
分散システム100のユーザは、ユーザ・システム102を使用して図1に示す1つまたは複数のコンピュータ・システムあるいは記憶デバイスによって記憶されたデータにアクセスすることができる。図1に示すように、ユーザ・システム102は、1つまたは複数の通信リンクを介して通信ネットワーク112に結合されている。ユーザ・システム102は、一般に、サーバ・システムにデータとサービスを要求するクライアントとして機能する。またユーザは、ユーザ・システム102を介して図1に示す他のシステムと対話することもできる。例えばユーザは、クライアント・システム102を使用してデータ管理サーバ104と対話することができる。ユーザ・システム102は、パーソナル・コンピュータ、携帯式コンピュータ、ワークステーション、コンピュータ端末、ネットワーク・コンピュータ、メインフレーム、キオスク、携帯情報端末(PDA)、携帯電話などの通信デバイス、その他任意のデータ処理システムを含めて、様々なタイプのものとすることができる。
【0018】
図1に示すサーバ・システムの中で、DMS104が、図1に示すストレージ環境でデータの記憶位置を決定する自動化された技法を提供する処理を実施する。SSPサーバ108は通信ネットワーク110へのアクセスを提供する。ファイル・サーバ122はディレクトリやファイル・システムを管理する。データベース・サーバ124はデータベースを記憶すると共にデータベース照会を処理する。ASPサーバ106はアプリケーション・サービスを提供する。
【0019】
前述のように、本発明の一実施形態によれば、DMS104は、データの記憶を自動化すると共に分散システム100のデータを管理するための処理を実施する。この処理は、DMS104によって実行されるソフトウェア・モジュール、DMS104に結合されたハードウェア・モジュール、あるいはそれらの組合せによって実施される。本発明の一実施形態によれば、DMS104は、記憶されるデータに関連する特性、データを記憶するのに使用可能な記憶デバイスの特性、そのストレージ環境のために構成された記憶ポリシに基づいてデータの記憶位置を決定する。この記憶ポリシは、そのストレージ環境のユーザ(エンドユーザ、システム管理者、管理職など)によって構成される。
【0020】
DMS104が本発明の教示に従って処理を実施するために使用する情報は、DMS104からアクセス可能な記憶位置に記憶される。例えば、図1に示すように、DMS104が使用する、データ、記憶デバイス、記憶ポリシに関連する情報を、DMS104からアクセス可能な記憶リポジトリまたはデータベース126に記憶する。図1に示すように、データベース126に記憶される情報は、システム管理者が構成することのできる1つまたは複数の記憶ポリシ128に関連する情報、デバイス特性情報130、データ特性情報132、その他の情報134を含むことができる。以下に、記憶ポリシ情報128、デバイス特性情報130、データ特性情報132に関連する詳細について述べる。この情報を、図1に示す単一のデータベースに記憶することも、別々のデータベースに記憶することもできる。この情報は、当分野の技術者に知られている他の様々な形式で記憶されてもよいことを理解すべきである。この情報を、メモリ・デバイス、ディスク、テープ、コンピュータ・システムのメモリなどの記憶デバイス上に記憶することもできる。
【0021】
本発明の一実施形態によれば、分散システム100は、データの記憶および/またはバックアップに使用できる複数の記憶デバイスを含む。図1に示すように、この記憶デバイスには、様々な専用記憶デバイス116、図1に示す1つまたは複数のコンピュータ・システム、ストレージ・エリア・ネットワーク(SAN)114などのストレージ・ネットワークに含まれるデバイス、ネットワーク接続ストレージ(NAS)(図示せず)その他が含まれる。記憶デバイスの例には、テープ、ディスク・ドライブ、光ディスク、RAID構造、ソリッド・ステート記憶、さらには他のタイプのコンピュータ可読媒体が含まれる。一般に、「記憶デバイス」という用語は、ディジタルまたは電子形式でデータを記憶することのできる任意のシステム、サブシステムス、デバイス、コンピュータ媒体、ネットワークその他類似のシステムまたは機構を意味している。この記憶デバイスを、DMS104に直接結合することも、通信ネットワーク112などの通信ネットワークを介してDMS104に結合することも、ストレージ・ネットワーク(ストレージ・エリア・ネットワーク(SAN)114など)を介してDMS104に結合することも、他の技法によることもできる。
【0022】
当分野の技術者には知られているように、記憶デバイスは、その記憶デバイスによって記憶されたデータへのアクセスに必要な時間量(「データ・アクセス時間」と呼ばれる)によって特徴付けられる。例えば、記憶デバイスは、オンライン記憶デバイス、ニアライン記憶デバイス、オフライン記憶デバイス、その他として特徴付けられる。オンライン記憶デバイスでのデータ・アクセス時間は、一般に、ニアライン記憶デバイスでのアクセス時間より短い。オフライン記憶でのアクセス時間は、一般に、ニアライン記憶デバイスでのアクセス時間より長い。オフライン記憶デバイスは、一般に、DMS104から容易にアクセスできないデバイスである。オフライン記憶デバイスの例には、テープ、光デバイスなどのコンピュータ可読記憶媒体が含まれる。オフライン記憶デバイスのデータにアクセスするにはユーザ対話が必要とされることがある。例えば、テープをオフライン・デバイスとして使用する場合、ユーザは、事前にそのテープをDMS104からアクセスできるようにしておかなければ、DMS104によってそのテープに記憶されたデータを復元することができないこともある。
【0023】
他にも様々な基準を使用して記憶デバイスを分類し、または特徴付けることができることを理解すべきである。記憶デバイスの分類は本発明によって必要とされず、特許請求の範囲に記載の本発明の範囲を限定するものと解釈すべきではない。
【0024】
前述のように、本発明の一実施形態によれば、DMS104は、本発明の教示に従ってデータを記憶、管理する処理を実施するように構成される。図2は、本発明の一実施形態によるDMS104の簡略化した構成図である。図2に示すように、DMS104は、バス・サブシステム204を介していくつかの周辺デバイスとやりとりする少なくとも1つのプロセッサ202を含む。これらの周辺デバイスには、メモリ・サブシステム208とファイル記憶サブシステム210を含む記憶サブシステム206、ユーザ・インターフェース入力デバイス212、ユーザ・インターフェース出力デバイス214、ネットワーク・インターフェース・サブシステム216が含まれる。入出力デバイスは、DMS104とのユーザ対話を可能にする。ユーザは、人間のユーザ、デバイス、プロセス、別のコンピュータなどとすることができる。
【0025】
ネットワーク・インターフェース・サブシステム216は、他のコンピュータ・システム、ネットワーク、デバイスへのインターフェースである。ネットワーク・インターフェース・サブシステム216の実施形態には、イーサネット・カード、モデム(電話、衛星、ケーブル、ISDNなど)、(非同期)ディジタル加入者線(DSL)ユニットなどが含まれる。
【0026】
ユーザ・インターフェース入力装置212には、キーボード、マウス、トラックボール、タッチパッド、グラフィックス・タブレットなどのポインティング・デバイス、スキャナ、バーコード・スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどの音響入力デバイス、マイク、さらには他のタイプの入力装置が含まれ得る。一般に、「入力デバイス」という用語には、DMS104に情報を入力するためのあらゆる可能なタイプのデバイスや方法を含む。
【0027】
ユーザ・インターフェース出力装置214には、表示サブシステム、印刷装置、ファックス機が含まれ、さらに音響出力デバイスなど視覚表示以外のデバイスも含まれる。表示サブシステムは、陰極線管(CRT)でも、液晶ディスプレイ(LCD)などの平面型デバイスでも、あるいは投射デバイスでもよい。またこの表示サブシステムは、音響出力デバイスによるものなど、視覚表示以外のものを設けることもできる。一般に、「出力デバイス」という用語は、DMS104から情報を出力するためのあらゆる可能なタイプのデバイスや方法を含む。
【0028】
記憶サブシステム206は、DMS104の機能を提供する基本的なプログラミングやデータ構造を記憶する。例えば、本発明の一実施形態によれば、記憶サブシステム206は本発明の機能を実装するソフトウェア・モジュールを記憶することができる。これらのソフトウェア・モジュールはプロセッサ202によって実行される。分散環境では、このソフトウェア・モジュールを複数のコンピュータ・システム上に記憶し、それをその複数のコンピュータ・システムのプロセッサによって実行することができる。記憶サブシステム206は、本発明の教示に従って情報を記憶するのに使用することができる、データや様々なデータベースを記憶するリポジトリを設けることもできる。例えば、記憶サブシステム206には、記憶ポリシ情報128、デバイス特性情報130、データ特性情報132を記憶することができる。記憶サブシステム206は、メモリ・サブシステム208とファイル/ディスク記憶サブシステム210を含むこともできる。
【0029】
メモリ・サブシステム208は、プログラム実行中の命令とデータの記憶のためのメイン・ランダム・アクセス・メモリ(RAM)218や固定命令が記憶された読取り専用メモリ(ROM)220を含めて、いくつかのメモリを含むことができる。ファイル記憶サブシステム210は、プログラムとデータ・ファイルを永続的(不揮発性)に記憶し、これには、ハード・ディスク・ドライブ、関連する取り外し可能媒体を備えるフロッピー(登録商標)・ディスク・ドライブ、コンパクト・ディスク読取り専用メモリ(CD−ROM)ドライブ、光ドライブ、取り外し可能媒体カートリッジ、その他類似の記憶媒体が含まれる。これらのドライブの1つまたは複数は、他の接続されたコンピュータ上にあるリモート位置に位置することもできる。
【0030】
バス・サブシステム204は、DMS104の様々なコンポーネントやサブシステムを目的通りに相互にやりとりさせる機構を提供する。DMS104の様々なサブシステムやコンポーネントは、同じ物理位置にある必要はなく、ネットワーク100内の様々な位置に分散していてもよい。バス・サブシステム204は単一のバスとして概略的に示されているが、このバス・サブシステムの代替実施形態では複数のバスを利用する。
【0031】
DMS104自体は、パーソナル・コンピュータ、携帯式コンピュータ、ワークステーション、ネットワーク・コンピュータ、メインフレーム、キオスク、携帯情報端末(PDA)、携帯電話などの通信デバイス、その他任意のデータ処理システムを含めて、様々なタイプのものとすることができる。コンピュータやネットワークは絶え間なく変化しているので、図2に示すDMS104の説明は、このコンピュータ・システムの好ましい実施形態の一具体例を例示することを意図したものにすぎない。例えば、AMDのAthlon(商標)クラスのマイクロプロセッサ、インテル社のPentium(商標)クラスまたはCeleron(商標)クラスのマイクロプロセッサ、モトローラ社のPowerPC(商標)G3またはG4マイクロプロセッサ、トランスメタ社のCrusoe(商標)プロセッサなど、他のタイプのプロセッサが企図される。さらに、代替実施形態では、マイクロソフトのWindowsNT(商標)、サン・マイクロシステムズのSolaris、LINUX、UNIX(登録商標)、アップル・コンピュータ社のMAC OS Xなどを含めて、他のタイプのプロセッサが企図される。図2に示すシステムよりコンポーネントの多いまたは少ない他の多くの構成が可能である。
【0032】
前述のように、本発明の教示によれば、DMS104は、そのストレージ環境のために構成された1つまたは複数の記憶ポリシ、記憶されるデータの特性を識別する情報、さらにはそのストレージ環境でデータを記憶するのに使用可能な記憶デバイスの特性を識別する情報に基づいて、分散ネットワーク100でデータを記憶する位置を決定する。
【0033】
本発明の一実施形態によれば、記憶ポリシは、いつ、どのようにデータを記憶し、かつ/または移行するかを指定する。記憶ポリシは、そのストレージ環境の管理者が構成することのできる1つまたは複数の規則を含む。これらの規則は、そのストレージ環境でいつデータを記憶するか、あるいはある記憶位置から別の記憶位置にいつデータを移行するかを指定する規則を含むこともある。またこれらの規則は、そのデータが記憶される記憶位置を指定する規則を含んでいてもよい。この記憶位置は、データを記憶するために使用される記憶デバイスを指定することができ、その記憶デバイス上のどこに(ボリューム、ディレクトリなど)データを記憶するかを指定することもできる。
【0034】
本発明の一実施形態によれば、記憶ポリシは1つまたは複数の「配置規則」と複数の「移行規則」を含む。配置規則は、データを記憶する記憶デバイスを選択するために使用される基準を識別する。一実施形態では、各配置規則はポリシ・エンジンでIF節...THEN節として実装される。この文節は、評価する必要のあるIF節に関連する条件やIF節が満たされたときに実施される動作を記述する。IF節では、様々なデータの条件と特性(データのタイプ、データ・ファイルのサイズ、ファイルの所有者など)、そのデータを記憶する記憶デバイスの条件と特性(記憶デバイスの使用可能容量、記憶デバイスの帯域幅容量、記憶デバイス上にデータを記憶するコストなど)を指定することができる。本発明のためには、その動作は、通常、個々の記憶位置にデータを記憶すること、または第1の記憶位置から別の記憶位置にデータを移行することを含む。
【0035】
移行規則は、1つまたは複数の配置規則がいつ評価されるかを記述する。一実施形態では、各移行規則はポリシ・エンジンでWHEN節として実装される。このWHEN節は、一般に、DMS104が監視することのできる1つまたは複数のイベント(時間と共に変化する時間的イベントなど)を指定する。WHEN節で指定できるイベントの例には、データ・ファイルが作成された、データ・ファイルが変更された、記憶ボリュームの使用量が一定の閾値を超え又は下回った、時間関連イベントが発生したなどが含まれる。WHEN節は、WHEN節で指定された1つまたは複数のイベントが発生し、または真であると評価されたときに満たされ、またはTRUEであると評価される。
【0036】
WHEN節またはIF節では、1つまたは複数の論理演算子または複数のブール演算子を使用して複数のイベントまたは条件を結合することができる。例えば、AND、OR、NOTなどのブール演算子を使用することができる。前述のように、IF節は、WHEN節がTRUEであると評価されたときに限り評価される。IF...THEN節とWHEN節に関連するさらなる詳細は、その全内容をあらゆる目的のために参照によって本明細書に組み込む、2001年12月14日出願の米国仮特許出願第60/340,227号(整理番号21154−000300US)、2002年4月25日出願の米国本出願第10/133,123号(整理番号21154−000310US)に記載されている。
【0037】
本発明の一実施形態によれば、1つの記憶ポリシに関連する規則は、DMS104が、DMS104によって管理されるファイルなど何らかのデータの記憶位置を決定するための信号を受け取ったときに評価される。この信号を、本発明のユーザが手動でトリガすることも、別のアプリケーションまたはプロセスから受け取った信号に応答してトリガすることもできる。また、記憶ポリシ規則は、容量均衡化を実施する間のあるデバイスから別のデバイスへの移行のため、負荷均衡化のため、あるいは使用可能なデータおよび/またはスペースの増大など他の記憶管理タスクを実施するためにファイルが選択されるときにも評価されてもよい。DMS104は、別のアプリケーションまたはプロセスから受け取った信号に応答して、そのストレージ環境のユーザがトリガする信号に応答して容量均衡化を実施することもできる。
【0038】
本発明の一実施形態によれば、デバイス特性情報130やデータ特性情報132などの情報が、記憶ポリシによって指定された1つまたは複数の記憶規則を評価するための入力パラメータとして使用される。例えば、デバイス特性130とデータ特性132は、WHEN節とIF...THEN節を評価するための入力として使用される。
【0039】
本発明の一実施形態によれば、デバイス特性情報130は、データその他の情報を記憶するためにそのストレージ環境で使用可能な記憶デバイスに関連する情報を含む。DMS104はこのデバイス特性情報130を使用して記憶ポリシで定義された規則を評価し、データを記憶するための最適な位置を決定する。本発明の一実施形態によれば、記憶デバイスのデバイス特性情報130には以下のものが含まれる。
【0040】
(1)使用可能な容量情報:この情報は、その記憶デバイスの使用可能な記憶容量を示す。この値は、普通、その記憶デバイスの総記憶容量のパーセンテージで表される。例えば、ある記憶デバイスの総記憶容量が100メガバイトであり、40メガバイトが空いている(すなわち60メガバイトはすでに使用されている)場合は、その記憶デバイスの使用可能容量は40%使用可能と表示される。この値を、空き記憶容量(メガバイト、ギガバイトなど)で表すこともできる。DMS104が記憶デバイスのためにその実際の使用量を検査することによって、この情報が動的に監視、追跡される。
【0041】
(2)コスト情報:この情報は、記憶デバイス上にデータを記憶するコストを示す。このコストは、単位メモリ当たりのドル数(例えばドル/ギガバイト、ドル/メガバイトなど)で測ることができる。本発明のシステム管理者またはユーザがこの情報を構成することができる。
【0042】
(3)サポートされる帯域幅情報:この情報は、普通、単位時間当たりの単位データ(Mbpsすなわちメガビット/秒など)で測られ、記憶デバイスの帯域幅容量を表す。代替実施形態では、この情報を表すために定性的分類を使用することもできる。例えば、1台の記憶デバイスでサポートされる帯域幅を「高」、「中」、「低」と分類することができる。各定性的分類は、事前設定された単位時間当たりの単位データの値の範囲に対応させることができる。本発明のシステム管理者またはユーザがこの情報を構成することができる。
【0043】
(4)所望の閾値情報:この情報は、デバイス上にデータを記憶するためにシステム管理者またはユーザが構成することのできる1つまたは複数の閾値を示す。例えば、システム管理者は、デバイスの記憶容量閾値を指定することができる。各閾値は、その記憶デバイスの総容量のパーセンテージとして表すことができる。個々の記憶デバイスでは、そのデバイス上に記憶されるデータの個々のタイプでの閾値を定義することもできる。データ・タイプに関連する各閾値は、ユーザが個々のタイプのデータを記憶するために割り振ることを望むそのデバイスの総容量のパーセンテージを示すことができる。例えば、ユーザは、MS Officeファイルを記憶するためには記憶デバイスの総容量の最大15%までしか使用できない、あるいは、電子メール・データを記憶するためには記憶デバイス容量の総容量の最大25%までしか使用できないなどのように構成させることができる。
【0044】
(5)ファイル・サイズ要件:この情報は、その記憶デバイス上にファイルを記憶することが可能になる前のデータ・ファイルの閾値サイズ(最小閾値または最大閾値)を示す。例えば、ファイル・サイズ要件情報は、ファイルが一定のサイズ以上でなければそれをデバイス上に記憶することができない、あるいはある一定のサイズを上回るファイルはその記憶デバイス上に記憶することができないなどと指示することができる。本発明のユーザがデバイスのファイル・サイズ要件を構成することができる。
【0045】
(6)アベラビリティ特性:これは、デバイスの相対的アベラビリティ(高、中、低など)についての管理者の認識を表す定性値である。例えばこの定性値は、そのデバイスの複製の度合い(例えばRAIDレベル:RAID10、RAID5は高、RAID0、RAID1は中など)に基づいて設定することができる。アベラビリティ特性に影響を与える可能性のある他の要因には、冗長電源数、冗長制御装置数、そのデバイスへの複数のアクセス・パス数などの使用可能なハードウェア機能が含まれる。
【0046】
本発明の代替実施形態では、デバイス特性情報130に他の様々なタイプの情報を含ませることもできることを理解すべきである。さらに、本発明の代替実施形態では、デバイス特性情報130が前述の情報より多い、または少ない情報を含むこともある。
【0047】
システム管理者は、1台または複数の記憶デバイスをボリュームまたはボリューム・グループにグループ化することもできる。1つのボリュームは、1つまたは複数の記憶デバイスに基づく1つの識別可能な記憶スペース単位を表す。例えば、類似の静的特性を有する記憶デバイスを1つのボリューム・グループまたはセットにグループ化することができる。また、1台の記憶デバイスを1つまたは複数の別個に識別可能なボリュームに分割することもできる。使用可能容量情報などの情報は、1つのボリューム・グループ中の各ボリューム(または記憶デバイス)ごとに異なることもあることを理解すべきである。したがって、1ボリューム・グループ中の各ボリュームは、DMS104で個々に監視することができる。
【0048】
前述のように、デバイス特性情報130に加えてデータ特性情報132も、記憶ポリシで指定された1つまたは複数の記憶規則を評価するためのパラメータとして使用される。本発明の一実施形態によれば、データ特性情報132は記憶されるデータに関連する情報を含む。本発明の一実施形態を説明するために、このデータはファイル(「データ・ファイル」)の形で記憶されるとする。本発明の代替実施形態では、他の様々な技法または方法を用いてデータを記憶することができることを理解すべきである。本発明の一実施形態によれば、各データ・ファイルごとに、そのデータ・ファイルに関連するデータ特性情報132は以下のものを含むことができる。
【0049】
(1)データの関連性情報(「関連性スコア」):この情報は、管理者がそのデータ・ファイルに割り当てた優先度を示す値を表す。例えば、本発明の一実施形態によれば、ユーザまたは管理者は0から1の範囲の数を割り当てることができ、0は重要性が最も低く1は重要性が最も高い。この関連性スコアは、ファイル・タイプと所有者のどんな組合せにも割り当てることができ、管理者が明示的な割り当てを行わなかったときはデフォルトの関連性スコアが使用される。例えば、コンテンツ提供者は、すべてのJPEGファイルと製作グループによって所有されるファイルに他のファイルよりも高いスコアを割り当てることができる。
【0050】
(2)ファイル・サイズ情報:これはデータ・ファイルのサイズを示す。
【0051】
(3)ファイル・タイプ情報:これはデータ・ファイルによって記憶されるデータのタイプを示す。データ・ファイルは様々なタイプのものとすることができる。これらのタイプは、ストレージ環境のユーザが定義することも、あるいはストレージ環境によって定義することもできる。ファイル・タイプの例には、イメージ・ファイル、電子メール・ファイル、MS Officeファイルなどが含まれる。
【0052】
(4)ファイル所有権情報:この情報はデータ・ファイルの所有者を示す。一般に、データの作成者がそのファイルの所有者として指定される。
【0053】
(5)データ帯域幅要求情報:この情報はデータ・ファイルの帯域幅要求を示す。この情報はファイルの記憶位置を決定するために使用される。一般に、ストレージ環境のユーザまたはシステム管理者がこの情報を構成する。
【0054】
(6)ファイル・アクセス情報:この情報はデータ・ファイルに関連するファイル・アクセス・パターンを示す。例えば、この情報には、ファイルがいつ作成またはアクセスされたかに関連する情報、ファイルにアクセスする人の識別、ファイルの最終アクセス日時その他の類似情報が含まれる。この情報はDMS104で自動的に監視される。
【0055】
(7)現在のファイル位置情報:この情報はファイルの現在位置を示す。
【0056】
本発明の代替実施形態では、データ特性情報132に他の様々なタイプの情報を含ませることもできることを理解すべきである。さらに、本発明の代替実施形態では、データ特性情報132が前述の情報より多い、または少ない情報を含むこともある。
【0057】
システム管理者はデータ・グループを定義することもできる。各データ・グループは、類似の特性を共有する1つまたは複数のデータ・ファイルを含むことができる。
【0058】
前述のように、データ特性情報132とデバイス特性情報130は、記憶ポリシに従って定義される移行規則と配置規則へのパラメータとして働く。前述のように、配置規則は、移行規則によって指定された条件が満たされた後にはじめて評価される。本発明の一実施形態によれば、各配置規則は以下の部分を含むことができる。
(1)データ使用基準情報
(2)ファイル選択基準情報
(3)位置制約基準情報
「データ関連基準」という用語を使用してデータ使用基準情報とファイル選択基準情報を指すことができるが、それはこれらの情報が記憶されるデータに関連する条件を含むからである。「デバイス関連基準」という用語を使用して位置的制約情報を指すことができるが、それはこの情報が記憶デバイスに関連する条件を含むからである。
【0059】
図3に本発明の一実施形態による配置規則の例を示す。図3では、表300の各行308は配置規則を指定する。表300の列302は各規則ごとのファイル選択基準情報を識別し、表300の列304は各配置規則ごとのデータ使用基準情報を識別し、表300の列306は各規則ごとの位置制約基準情報を識別する。
【0060】
「ファイル選択基準情報」は、特定の配置規則を満たす1組のデータ・ファイルを識別する情報を指定する。本発明の一実施形態によれば、配置規則の選択基準情報は、ファイル・タイプ、ファイルの関連性スコア、ファイル所有者など、データ特性パラメータに関連する1つまたは複数の文節(または条件)を指定する。各文節は、絶対値(ファイル・タイプは「Officeファイル」であるなど)または不等式(ファイルの関連性スコア≧0.5など)として表すことができる。ブール接続子によって複数の文節を接続して(ファイル・タイプは「電子メール・ファイル」であるANDファイル所有者は「ジョン・ドウ」である)ブール式を形成することもできる。ファイル選択基準情報は、例えば図3に示す配置規則308−6と308−7でのファイル選択基準のように空欄にしておく(すなわち構成しない、またはNULL値に設定する)こともある。本発明の一実施形態によれば、ファイル選択基準情報はデフォルトのNULL値に設定される。空のまたはNULLのファイル選択基準は有効であり、すべてのファイルが選択されていること、またはそれらがその配置規則を満たしていることを示す。
【0061】
「データ使用基準情報」はデータ・ファイルに関連するファイル・アクセス情報に関連する基準を指定する。例えば、個々の配置規則では、この情報は特定の日付範囲内にあるデータ・ファイルに関連する日時(タイムスタンプなど)を指定することができる。このタイムスタンプは、作成日付、ファイルが最後に変更された日付、ファイルが最後にアクセスされた日付などに対応する。この基準は、ブール接続子を使用して接続されたファイル・アクセス情報に関連する1つまたは複数の文節または条件を使用して指定される。データ使用基準文節は、等価条件または不等価条件として指定される。データ使用基準の一例が「7日前から30日前の間に最後にアクセスされたファイル」(図3に示す配置規則308−2に対応する)である。本発明の管理者またはユーザがこの基準を設定することができる。
【0062】
個々の配置規則での「位置制約情報」は、個々の配置規則に基づいてデータを記憶するために選択された記憶デバイスによって満たされる必要のある1つまたは複数の制約条件を指定する。したがって、位置制約情報は、一般に、記憶デバイスに関連するパラメータを指定する。位置制約情報は、その配置規則に適用可能な制約条件がないことを示すために、空欄にしておくこともNULLに設定することもできる(図3に示す配置規則308−3に対応する位置制約情報など)。本発明の一実施形態によれば、この制約情報は、LOCAL(配置規則308−1と308−6での位置制約情報など)に設定することができ、これはデータ・ファイルがローカル(そのデータ・ファイルの作成に使用されたデバイスに対してローカル)の記憶デバイス上に記憶され、別の記憶デバイスには移動も移行もされないことを示唆する。データ・ファイルを記憶するためにデータ・ファイルの位置制約情報で特定のボリューム・グループ、または特定のデバイスを指定することもできる。最小帯域幅要求(帯域幅≧10MB/sなど)を指定して、その制約条件を満たす記憶デバイス上だけにそのデータを記憶できることを示すこともできる。他の様々な制約条件または要件(ファイル・サイズ、アベラビリティなどに関連する制約条件など)を指定することもできる。位置制約情報によって指定される制約条件は、一般に、その位置制約条件を満たさないデバイス上にはデータ・ファイルを記憶できないことを示唆する厳格な制約条件である。
【0063】
図4は、本発明の一実施形態による、データ・ファイルを記憶するためのストレージ環境から、そのストレージ環境のために構成された記憶ポリシに基づいて記憶デバイスを選択する方法を示す簡略化したハイレベル流れ図400である。この方法は、DMS104によって、あるいはDMS104を他の処理システムと関連付けることによって実施することができる。以下で述べる実施形態では、この方法はDMS104によって実施される。DMS104のプロセッサ202によって実行されるソフトウェア・モジュール、またはDMS104に結合されたハードウェア・モジュール、あるいはそれらの組合せによってこの方法を実施することができる。図4に示す流れ図400は、単に本発明を組み込んだ一実施形態を例示するためのものにすぎず、特許請求の範囲に記載された本発明の範囲を限定するものではない。当分野の技術者であれば、変形形態、改変形態、代替形態を理解するはずである。
【0064】
図4に示すように、処理は、DMS104が記憶ポリシの評価をトリガする信号を受け取ったときに開始する(ステップ402)。この信号を、別のシステムまたはアプリケーションから自動的に受け取ることも、本発明のユーザ(そのストレージ環境のシステム管理者など)が手動で生成させることもできる。多種多様なイベントによってこの信号の生成をトリガすることができる。例えば、記憶容量の閾値に達したとき、/またはそのストレージ環境に1つまたは複数のデータ・ファイルが記憶されるときにこの信号を生成することができる。そのストレージ環境に記憶された1つまたは複数のデータ・ファイルがそのストレージ環境内の別の記憶位置に再配置されるときにもこの信号を生成することができる。また、記憶管理アプリケーションが、記憶容量の解放、容量均衡化、付加均衡化、あるいは他の記憶管理タスクを実施するために、1組のデータ・ファイルをある記憶位置から別の記憶位置に移行する必要があるときにもこの信号を生成することができる。図4に示す流れ図400を説明するために、この信号は、図1に示すストレージ環境に個々のデータ・ファイルが記憶されるときに生成されるものとする。
【0065】
信号を受け取ると、DMS104は、ステップ402で受け取った信号に基づいて、TRUEであると評価される1つまたは複数の移行規則のセットを決定する(ステップ404)。前述のように、本発明の一実施形態によれば、各移行規則は、WHEN節として実装することができる。したがって、ステップ404では、DMS104は、TRUEであると評価される1つまたは複数のWHEN節のセットを決定する。
【0066】
次いでDMS104は、ステップ404で決定された移行規則に対応する、1つまたは複数の配置規則のセットを決定する(ステップ406)。前述したように、各配置規則は、個々のデータ・ファイルを記憶する記憶デバイスを選択するために使用される基準を識別する。
【0067】
次いでDMS104は、ステップ406で決定された各配置規則ごとにスコアを生成する(ステップ408)。本発明の一実施形態によれば、各配置規則ごとに(データ値スコアまたはDVSと呼ばれる)数値スコアが生成される。各配置規則ごとに、その配置規則に生成されたDVSは、記憶されるデータ・セット(データ・ファイルなど)に対するその配置規則の適合性または適用度のレベルを示す。個々の配置規則のDVSの値は、記憶されるデータ・ファイルの特性に基づくものである。例えば、本発明の一実施形態によれば、記憶されるデータ・ファイルにより適している、または関連性があるとみなされる配置規則にはより高いスコアが生成される。
【0068】
配置規則のDVSを生成するには、いくつかの異なる技法を使用することができる。本発明の一実施形態によれば、配置規則のDVSは、「file_selection_score」と「data_usage score」との単純な積であり、すなわち、
DVS=file_selection_score*data_usage_score
である。上記の式では、file_selection_scoreとdata_usage_scoreとがDVSの計算で等しく重み付けされるものと想定される。しかし、代替実施形態では、file_selection_scoreとdata_usage_scoreとに異なる重みを割り振ることもできる。本発明の一実施形態によれば、DVSの値は、0と1との間(0と1とを含む)の範囲内にある。
【0069】
本発明の一実施形態によれば、配置規則のfile_selection_score(「データ特性スコア」ともいう)は、その配置規則に指定されたファイル選択基準情報に基づいて計算され、配置規則のdata_usage_scoreは、その配置規則に指定されたデータ使用基準情報に基づいて計算される。前述のように、配置規則に指定されたファイル選択基準情報やデータ使用基準情報は、ブール接続子で接続された1つまたは複数のパラメータを伴う1つまたは複数の文節を含むことができる(図3参照)。したがって、file_selection_scoreの計算には、その配置規則のファイル選択基準情報を構成する個々の文節の数値を計算し、次いでその個々の文節のスコアを組み合わせてその配置規則のfile_selection_scoreを計算することが関与する。同様に、data_usage_scoreの計算は、その配置規則のデータ使用基準情報を構成する個々の文節の数値を計算し、次いでその個々の文節のスコアを組み合わせてその配置規則のdata_usage_scoreを計算することを含む。
【0070】
本発明の一実施形態によれば、以下の規則を使用し、個々の文節で生成されたスコアを組み合わせてfile_selection_scoreまたはdata_usage_scoreを計算する。
【0071】
規則1:N者間のAND演算(すなわち、AND接続子で接続されたN個の文節)では、結果として生じる値は個々の値(個々の文節について計算された値)すべての合計をNで除した値である。
【0072】
規則2:N者間のOR演算(すなわち、OR接続子で接続されたN個の文節)では、結果として生じる値は、それらN個の文節について計算された値の最大値である。
【0073】
規則3:本発明の一実施形態によれば、file_selection_scoreとdata_usage_scoreは0と1の間(0と1とを含む)である。
【0074】
本発明の一実施形態によれば、ファイル選択基準で指定された各文節ごとの値は以下の指針を使用して評価される。
【0075】
(a)ファイル選択基準情報でNULL(または空の)値が指定されている場合は、そのNULLまたは空の値はスコア1を取得する。例えば、図3に示す配置規則308−7でのfile_selection_scoreは1に設定される。
【0076】
(b)ファイル・タイプの評価や所有者パラメータの評価には、そのパラメータ基準が満たされた場合にはスコア1が割り当てられ、そうでない場合はスコア0が割り当てられる。例えば、図3に示す配置規則308−4では、記憶されるデータ・ファイルが「電子メール・ファイル」タイプのものである場合は、その文節にスコア1が割り当てられ、配置規則308−4のfile_selection_scoreも1に設定される。しかし、記憶されるデータ・ファイルが電子メール・ファイルでない場合は、その文節にスコア0が割り当てられ、したがってそのfile_selection_scoreも0に設定される。
【0077】
(c)その文節に「関係性スコア」の等価テストが関与する場合は、その文節のスコアは以下の式を使用して計算される。
RelScoreData=(そのファイルのデータ特性からの)データ・ファイルの関係性スコア
RelScoreRule=ファイル選択基準情報で指定された関連性スコア
Delta=abs(RelScoreData−RelScoreRule
Score=1−(Delta/RelScoreRule
Scoreが負の場合は、0にリセットされる。
【0078】
(d)その文節に「関係性スコア」に関連する不等価テストが含まれる(すなわち>、≧または≦を使用する)場合(図3の規則308−5など)は、その文節のスコアは以下の式を使用して計算される。
そのパラメータの不等式が満たされた場合はScoreを1に設定する。
RelScoreData=(そのファイルのデータ特性からの)データ・ファイルの関係性スコア
RelScoreRule=ファイル選択基準情報で指定された関連性スコア
Delta=abs(RelScoreData−RelScoreRule
Score=1−(Delta/RelScoreRule
Scoreが負の場合は、0にリセットされる。
【0079】
次いで、前述のように規則1、2、3を使用し、ファイル選択基準情報の各文節の個々のスコアに基づいて、file_selection_scoreが計算される。file_selection_scoreは、個々の配置規則のファイル選択基準情報と記憶されるデータ・ファイルの間の合致(または適合性)の度合いを表す。
【0080】
本発明の代替実施形態では、他の様々な技法を使用してfile_selection_scoreを計算することもできることは自明であろう。
【0081】
本発明の一実施形態によれば、配置規則のデータ使用基準情報で指定された各文節ごとのスコアは以下の指針を使用して評価される。
その文節のパラメータ条件が満たされた場合は、その文節のスコアを1に設定する。
DateData=そのデータ・ファイル中の関連日付情報。
DateRule=その規則中の関連日付情報。
Delta=abs(DateData−DateRule
Score=1−(Delta/DateRule
Scoreが負の場合は、0にリセットされる。
【0082】
文節中で日付範囲が指定されている場合(例えば最近の7日間など)は、その日付範囲は評価が行われる前に絶対日付に変換される。次いで、前述のように、規則1、2、3を使用し、ファイル選択基準情報で指定された個々の文節のスコアに基づいて、data_usage_scoreが計算される。本発明の代替実施形態では、他の様々な技法を使用してdata_usage_scoreを計算することもできることは自明であろう。data_usage_scoreは、個々の配置規則のデータ使用基準情報と記憶されるデータ・ファイルとの間の合致(または適合性)の度合いを表す。
【0083】
次いで、file_selection_scoreとdata_usage_scoreに基づいてDVSが計算される。したがって、配置規則のDVSは、その配置規則のファイル選択基準情報とデータ使用基準情報で指定された諸条件と、そのデータ・ファイルのデータ特性情報によって記述された記憶されるデータ・ファイルの特性との間の合致(または適合性)の度合いを定量化する。
【0084】
図4に戻ると、ステップ408で、その規則のfile_selection_scoreとdata_usage_scoreに基づいて、ステップ406で決定された各配置規則ごとにDVSを計算する。本発明の代替実施形態では、他の様々な技法を使用して配置規則のDVSを計算することもできることは自明であろう。
【0085】
次いで、ステップ408でその規則について計算されたDVSに基づいて、配置規則を順位付け(順序付け)る(ステップ410)。前述のように、ある配置規則について生成されたDVSは、その配置規則の記憶されるデータ・ファイルに対する適合性を示す。例えば、本発明の一実施形態によれば、記憶されるデータ・ファイルにより適する(またはより関連性がある)とみなされる配置規則にはより高いスコアが生成される。したがって、ステップ410で生成した順位付けされた配置規則一覧は、記憶されるデータ・ファイルに対するそれらの配置規則の適合性または関連性に従って順位付けされた配置規則の一覧である。
【0086】
配置規則を順位付けするにはいくつかの異なる技法を使用することができる。これらの規則は、最初に、その配置規則について計算されたDVSに基づいて順位付けされる。本発明の一実施形態によれば、複数の配置規則が同じDVS値を持つ場合は、以下の均衡を破る規則を使用することができる。
【0087】
(a)配置規則は、ストレージ環境のユーザ(システム管理者など)によってその配置規則に割り当てられた優先度に基づいて順位付けすることができる。
【0088】
(b)優先度が設定されていないまたは等しい場合は、配置規則のfile_selection_scoreやdata_usage_scoreの計算に使用された上位レベルのAND演算(すなわちAND接続子を使用して接続された文節の数)の合計数をタイブレーカとして使用する。その規則のfile_selection_scoreとdata_usage_scoreの計算の際に使用されたAND演算の数がより大きい個々の配置規則は、AND演算の数がより小さい別の規則よりも上位に順位付けされる。ここでの原理は、(AND演算を使用して接続された文節数がより多いことによって示される)ファイル選択基準とデータ使用基準のより具体的な構成の方が、一般的な仕様よりも重要であるというものである。
【0089】
(c)(a)でも(b)でも配置規則間の均衡を破れなかった場合は、他の何らかの基準を使用して均衡を破ることもできる。例えば、本発明の一実施形態によれば、それらの配置規則が発生した順序を使用して均衡を破ることができる。この実施形態では、より早く発生した配置規則が後続の規則より上位に順位付けされる。他の様々な基準を使用して均衡を破ることもできる。
【0090】
本発明の代替実施形態では、他の様々な技法を使用して配置規則を順位付けすることもできることは自明であろう。
【0091】
図4に戻ると、次いでDMS104は、順位付けされた配置規則、記憶される個々のデータ・ファイルに関連するデータ特性、そのデータ・ファイルを記憶するのに使用可能なそのストレージ環境の記憶デバイスに関連するデバイス特性に基づいて、データ・ファイルを記憶する記憶デバイスを識別する(ステップ412)。ステップ412で選択された記憶デバイスは、そのデータ・ファイルの特性、使用可能な記憶デバイス、システム管理者によってそのストレージ環境のために構成された記憶ポリシを考慮した場合に、そのデータ・ファイルを記憶するのに最適な、または適した記憶デバイスを表す。本発明の一実施形態によりステップ412で実施された処理に関連するさらなる詳細を以下で述べる。次いでデータ・ファイルを、ステップ412で識別された記憶デバイス上に記憶する(ステップ414)。
【0092】
図5A、5Bに、本発明の一実施形態による、順位付けされた配置規則に基づいておよび記憶デバイスとデータ・ファイルの特性に基づいて、データ・ファイルを記憶する記憶デバイスを識別するために図4のステップ412で実施した処理を示す、簡略化したハイレベル流れ図500を図示する。この方法は、DMS104によって、あるいはDMS104を他のデータ処理システムと関連付けることによって実施することができる。以下で説明する実施形態では、この方法がDMS104によって実施される。この方法は、DMS104のプロセッサ202によって実行されるソフトウェア・モジュール、またはDMS104に結合されたハードウェア・モジュール、あるいはそれらの組合せによって実施される。図5A、5Bに示す流れ図500は、単に本発明を組み込んだ一実施形態を例示するものにすぎず、特許請求の範囲に記載の本発明の範囲を限定するものではない。当分野の技術者であれば、変形形態、改変形態、代替形態を理解するはずである。
【0093】
図5Aに示すように、図4のステップ410に従って配置規則が順位付けされた後で、DMS104は、順位付けされた配置規則の一覧から、最高の順位を有する以前に処理されていない配置規則(すなわちステップ502でまだ選択されていない配置規則)を選択する(ステップ502)。例えば、この流れ図を通る第1のパスの間には最上位に順位付けされた配置規則が選択され、第2のパスの間には(最上位に順位付けされた配置規則が以前に処理されているので)第2位に順位付けされた配置規則が選択され、第3のパスの間には(最上位および第2位に順位付けされた配置規則が以前に処理されているので)第3位に順位付けされた配置規則が選択され、以下同様である。
【0094】
次いでDMS104は、ステップ502で選択した配置規則の位置制約基準情報が、データ・ファイルを記憶する1つまたは複数の記憶デバイスを具体的に識別するかどうか判定する(ステップ504)。位置制約情報が1つまたは複数の記憶デバイスを識別した場合は、処理は、以下で説明する図5Bに示すステップ532に進む。位置制約情報がデータ・ファイルを記憶する記憶デバイスを具体的に識別しなかった場合は、記憶されるデータ・ファイルの特性に基づいて、ステップ502で選択した現在の規則に基づいて、DMS104は、そのデバイス要件が満たされる1つまたは複数の記憶デバイスのセットを識別する(ステップ506)。前述のように、本発明の一実施形態によれば、記憶デバイスのデバイス要件は、その記憶デバイスに関連するデバイス特性情報で指定することができる。例えば、個々の記憶デバイスのデバイス特性情報は、その個々の記憶デバイス上にデータ・ファイルを記憶することが可能になる前のデータ・ファイルの閾値サイズを示すファイル・サイズ要件などを示すことができる。したがって、ステップ506では、個々のデバイスは、記憶されるデータ・ファイルのサイズが、その個々の記憶デバイスのファイル・サイズ要件情報で指示される閾値サイズを上回る場合に限り選択される。他のデバイス要件も同様に評価することができる。
【0095】
次いでDMS104は、ステップ506で少なくとも1台の記憶デバイスが識別されたかどうか判定する(ステップ508)。ステップ506で記憶デバイスが1台も識別されなかったとステップ508で判定された場合、それは、そのデータ・ファイルがそのストレージ環境中のどの記憶デバイスのデバイス要件も満たさないことを示す。この場合は、データ・ファイルが記憶デバイスのデバイス要件を満たさなかったことを示すエラー・メッセージをユーザに出力する(ステップ510)ことができる。次いでユーザは、(選択されたデバイスのデバイス要件が満たされなかった場合でも)そのファイルを記憶する記憶デバイスを手動で選択するなど適切な措置を講じることができる。
【0096】
ステップ506で少なくとも1つの記憶デバイスが識別されたとステップ508で判定された場合は、DMS104は、ステップ506で識別された各記憶デバイスごとに、相対記憶値スコア(RSVS)を計算する(ステップ512)。本発明の一実施形態によれば、デバイスのRSVSは以下のステップを使用して計算される。
【0097】
ステップ1:帯域幅要求がステップ502で選択された配置規則に指定された位置制約基準で指定されていれば、(そのデバイスのデバイス特性情報に含まれるサポートされる帯域幅情報で示される)記憶デバイスによってサポートされる帯域幅がその帯域幅要求より小さい場合には、「Bandwidth_factor」変数が0に設定される。例えば、図3に示す配置規則308−2の位置制約基準は、記憶デバイスの帯域幅が40MBより大きい必要があることを指定する。したがって、その記憶デバイスによってサポートされる帯域幅が40MB未満の場合は、「Bandwidth_factor」変数が0に設定される。
【0098】
そうでない場合は、「Bandwidth_factor」の値は以下のように設定される。
Bandwidth_factor=((デバイスによってサポートされる帯域幅)−(選択された配置規則の位置制約によって必要とされる帯域幅))+K
式中、Kは何らかの整数型定数に設定される。
本発明の一実施形態によれば、Kは1に設定される。したがって、Bandwidth_factorの値は負でない値に設定される。
【0099】
ステップ2:RSVSは以下のように計算される。
RSVS=Bandwidth_factor*(desired_threshold_%−current_usage_%)/cost
前述のように、記憶デバイスのdesired_threshold_%は、普通、システム管理者によって設定され、デバイス特性情報に含まれる。current_usage_%はDMS104によって監視され、やはりデバイス特性情報に含まれる。「cost」値はシステム管理者が設定でき、デバイス特性情報に含むことができる。
【0100】
上記のRSVSを計算するための式は本発明の一実施形態を表すものであり、本発明の範囲を狭めるためのものではないことを理解すべきである。本発明の代替実施形態では、他の様々な因子を使用してRSVSを計算することもできる。例えば、記憶デバイスのアベラビリティを使用してそのデバイスのRSVSを決定することもできる。本発明の一実施形態によれば、記憶デバイスのアベラビリティは、その記憶デバイスが使用可能であると期待される期間中にその記憶デバイスが使用可能である時間量を示す。アベラビリティは、一部の実施形態では経過した1年のパーセンテージで計ることができる。例えば、常時使用可能であると期待される記憶デバイスでは、99.95%のアベラビリティは、1年に4.38時間のダウン時間に相当する(0.0005*365*24=4.38)。本発明の一実施形態によれば、記憶デバイスのRSVSの値は、その記憶デバイスのアベラビリティに正比例する。
【0101】
ステップ3:前述のステップに従って計算されたRSVSに様々な調整を加えることができる。例えば、一部のストレージ環境では、管理者が1つの記憶デバイス中の「類似」ファイルをグループにまとめることもできる。別の環境では、管理者が様々な記憶デバイスの間でファイルを配布することもできる。RSVSは、管理者によって用いられるポリシに適応するように調整することができる。記憶デバイスからデータを転送するために使用されるネットワークに関連する性能特性を使用してその記憶デバイスのRSVSを調整することもできる。例えば、記憶デバイスのアクセス時間(すなわち記憶デバイス上に記憶されたデータをユーザに提供するのに必要な時間)を使用してその記憶デバイスのRSVSを調整することもできる。記憶デバイスのスループットを使用してその記憶デバイスのRSVSを調整することもできる。したがって、記憶デバイスの位置、データ供給元の位置、その他のネットワーク関連パラメータなどのパラメータを使用してRSVSを生成することもできるであろう。本発明の一実施形態によれば、RSVS値は、具体的なデータ・ファイルを記憶するデバイスの望ましさに正比例するように計算される。
【0102】
本発明の一実施形態によれば、前述の各ステップに基づき、RSVS値が高いほど、そのデータ・ファイルを記憶するのにより望ましい記憶デバイスであることを表す。前述のように、RSVS値は使用可能容量のパーセンテージに正比例する。したがって、使用可能容量が大きい記憶デバイスほどデータ・ファイルを記憶するのにより望ましい。RSVS値は記憶デバイス上にデータを記憶するコストに反比例する。したがって、記憶コストが低い記憶デバイスほどデータ・ファイルを記憶するのにより望ましい。RSVS値は帯域幅要求に正比例する。したがって、大きい帯域幅をサポートするデバイスほどデータ・ファイルを記憶するのにより望ましい。帯域幅要求が満たされなかった場合は、RSVSはゼロである。したがって、個々の記憶デバイスのRSVS式では、様々なデバイス特性を組み合わせて、その個々の記憶デバイス上にデータを記憶する望ましさの度合いを表すスコアを生成する。
【0103】
上記の式によれば、Bandwidth_factorの値がゼロの場合は、RSVSはゼロ(0)である。前述のように、(そのデバイスのデバイス特性情報に含まれるサポートされる帯域幅情報で示される)記憶デバイスによってサポートされる帯域幅が、選択された配置規則に指定された位置制約基準情報で指定された帯域幅があれば、それより低い場合は、Bandwidth_factorはゼロに設定される。したがって、個々の記憶デバイスのRSVS値がゼロ(0)である場合、それはその記憶デバイスによってサポートされる帯域幅が配置規則によって必要とされる帯域幅より小さいこと、あるいはそのデバイスがすでに所望の容量閾値にあるかそれを超えていることを示唆する。
【0104】
あるいは、desired_threshold_%がcurrent_usage_%に等しい場合は、RSVSはゼロ(0)である。
【0105】
デバイスのRSVSが正である場合、それはそのデバイスが帯域幅要求を満たしている(すなわちBandwidth_factorがゼロでない)と同時に、データ・ファイルを記憶するのに十分な容量も備えている(すなわちdesired_threshold_%がcurrent_usage_%より大きい)ことを示すものである。RSVS値が大きいほど、そのデバイスはそのデータ・ファイルを記憶するのにより適している(あるいは望ましい)。正のRSVSを持つデバイスでは、最高の正のRSVSを持つデバイスがそのデータ・ファイルを記憶するのに最も望ましい候補である。したがって、個々のデバイスのRSVSは、処理される個々の配置規則での、他の記憶デバイスに対するその個々のデバイス上にデータを記憶することの望ましさの度合いを決定するための尺度を提供する。RSVSを配置規則やその順位付けと併せて使用して、データ・ファイルを記憶するの最適な記憶位置を決定する。
【0106】
そのデバイスが帯域幅要求を満たすがそのデバイスの使用量が意図された閾値を上回る(すなわちcurrent_usage_%がdesired_threshold_%より大きい)ときは、個々のデバイスのRSVSが負になることがある。その負の値の相対的な大きさは、そのデバイスの過剰容量の度合いを示す。負のRSVSを持つデバイスでは、RSVSがゼロ(0)により近く、そのデバイスがデータを記憶するための容量を持つほど、そのデバイスはそのデータ・ファイルを記憶するのに望ましい。例えば、RSVSが−0.9であるデバイスの過剰容量は、RSVSが−0.1である第2のデバイスの過剰容量よりも大きい。したがって、この第2のデバイスは、第1のデバイスに比べて、データ・ファイルを記憶するのにより有力な候補である。したがって、RSVSは、たとえ負であっても、データ・ファイルを記憶するために記憶デバイスを相互に比較して順位付けする際に使用することができる。
【0107】
したがって、個々のデバイスのRSVSは、その個々のデバイスの他の記憶デバイスに対するデータ・ファイルを記憶する際の望ましさまたは適合性の度合いを決定するための尺度として働く。正のRSVS値を持つデバイスは、負のRSVS値を持つデバイスよりはそのデータ・ファイルを記憶するのにより適した候補である。というのは、正の値は、その記憶デバイスがそのデータ・ファイルの帯域幅要求を満たしていると同時にそのデータ・ファイルを記憶するのに十分な容量を保有していることも示すからである。正のRSVS値を持つ記憶デバイスの中では、より高い正のRSVSを持つデバイスは、より低いRSVS値を持つデバイスよりもそのデータ・ファイルを記憶するのにより望ましい候補である。すなわち、最高の正のRSVS値を持つ記憶デバイスがそのデータ・ファイルを記憶するのに最も望ましいデバイスである。
【0108】
正のRSVS値を持つ記憶デバイスが使用不能である場合は、ゼロ(0)のRSVS値を持つデバイスよりも負のRSVS値を持つデバイスの方が望ましい。ここでの原理は、帯域幅要求を満たさない(すなわちRSVSがゼロである)デバイスよりも帯域幅要求を満たすデバイスの方が(そのデバイスが過剰容量であったとしても)より適するというものである。負のRSVS値を持つデバイスの中では、より小さいRSVS値を持つデバイスよりも、より高いRSVS値(すなわち0により近いRSVS)を持つデバイスの方がそのデータ・ファイルを記憶するのにより望ましい候補である。したがって、負のRSVS値を持つデバイスの中では、最高のRSVS値(すなわち0に最も近いRSVS)を持つデバイスがそのデータ・ファイルを記憶するのに最も望ましい候補である。
【0109】
図5Aに戻ると、ステップ506で識別された各記憶デバイスごとにRSVSを生成した後で、DMS104は、ステップ506で識別されたデバイスの中から、最高の正のRSVS値を持つ記憶デバイスを識別する(ステップ514)。前述のように、最高の正のRSVS値を持つ記憶デバイスが、ステップ502で選択された配置規則でデータ・ファイルを記憶するのに最も適した記憶デバイスである。
【0110】
次いでDMS104は、ステップ514で記憶デバイスを識別したかどうか判定する(ステップ516)。ステップ514で記憶デバイスを識別した場合は、データ・ファイルを記憶するためにステップ514で識別されたデバイスを選択する(ステップ518)。次いで処理は図4のステップ414に進み、そこで、ステップ518で選択されたデバイス上にデータ・ファイルを記憶する。
【0111】
ステップ514でデバイスを識別しなかったとステップ516で判定された場合、それはステップ506で選択されたデバイスのどれも正のRSVS値を持っていないことを示しており、ステップ506で選択された1つまたは複数のデバイスが負またはゼロのRSVS値を持つことを示唆する。このシナリオでは、DMS104は次に、ステップ506で識別されたデバイスの中から、最高の(すなわちゼロに最も近い)負のRSVS値を持つ記憶デバイスを判別する(ステップ520)。前述のように、負のRSVS値を持つ記憶デバイスの中では、最高の負のRSVS値(すなわち0に最も近いRSVS)を持つデバイスがそのデータ・ファイルを記憶するのに最も適した候補である。
【0112】
次いでDMS104は、「候補」デバイスが以前に識別されているかどうか判定する(ステップ521)。候補デバイスが以前に識別されている場合は、DMS104は、ステップ520で識別されたその記憶デバイスのRSVS値が、以前に識別された「候補」デバイスのRSVS値より大きい(すなわちゼロに近い)かどうか判定する(ステップ522)。ステップ520で識別された記憶デバイスのRSVS値が以前に識別された「候補」デバイスのRSVS値より大きいとステップ522で判定された場合、それは、ステップ520で識別された記憶デバイスの方が、以前に識別された「候補」デバイスよりもそのデータ・ファイルを記憶するのに適した候補であることを示唆し、したがってステップ520で識別された記憶デバイスが「候補」デバイスとしてマークされる(ステップ524)。次いで処理はステップ526に進む。
【0113】
ステップ521で、候補が以前に識別されていないと判定した場合は、処理はステップ524に進み、そこでステップ520で識別された記憶デバイスが「候補」デバイスとしてマークされる。ステップ520で識別された記憶デバイスのRSVS値が、以前に識別された「候補」デバイスのRSVS値以下であるとステップ522で判定した場合は、処理はステップ526に進む。
【0114】
ステップ526では、DMS104は、順位付けされた配置規則一覧中のすべての配置規則が処理されたかどうか判定する(ステップ526)。配置規則のすべてが処理されてはいないと判定した場合は、処理はステップ502に進み、そこで最上位に順位付けされた未処理の配置規則を処理するように選択する。
【0115】
順位付けした一覧中のすべての配置規則が処理されたが、データ・ファイルを記憶するのに適した記憶デバイスがまだ選択されていないと判定した場合は、DMS104は、候補デバイスが識別されているかどうか判定する(ステップ528)。候補デバイスが判定されている場合は、データ・ファイルを記憶するためにその候補デバイスを選択する(ステップ530)。次いで処理は図4のステップ414に進み、そこでステップ530で選択された候補デバイス上にデータ・ファイルを記憶する。
【0116】
ステップ528で、候補デバイスが識別されていないと判定した場合は、配置規則、データ・ファイル特性、記憶デバイス特性に基づいて、データ・ファイルを記憶するための記憶デバイスを自動的に選択できなかったことを示すエラー・メッセージをユーザに出力する(ステップ510)。次いでユーザは、そのデータ・ファイルを記憶するための記憶デバイスを手動で選択するなど、適切な措置を講じることができる。
【0117】
ステップ504に戻ると、ステップ502で選択された配置規則の位置制約情報がデータ・ファイルを記憶するための1つまたは複数のデバイスを具体的に識別した場合は、処理は図5Bに示すステップ532に進む。配置規則に関連する位置制約情報でデータ・ファイルを記憶するための1つまたは複数の記憶デバイスを指定することのできる様々な方法がある。例えば、位置制約情報は、データ・ファイルを記憶するための1つまたは複数の記憶デバイスにまたがる複数のボリュームを含むボリューム・グループを識別することができる。例えば、図3に示す配置規則308−4に関連する位置制約情報は、データ・ファイルが、ボリューム・グループ「New_volume」に含まれるボリュームに対応する記憶デバイス上に記憶されると指定する。
【0118】
図5Bを参照すると、ステップ502で選択された配置規則の位置制約情報がデータ・ファイルを記憶するための1つまたは複数のデバイスを具体的に識別すると判定されると、DMS104は、その位置制約情報によって指定されたデバイスを識別する(ステップ532)。例えば、DMS104は、位置制約情報で指定されたボリューム・グループに含まれるボリュームに対応するすべての記憶デバイスを識別することができる。
【0119】
次いでDMS104は、その位置制約が1台のデバイスを指定しているか、それとも複数のデバイスを指定しているかを判定する(ステップ534)。ステップ534で、1台の記憶デバイスだけしか指定されていないと判定した場合は、DMS104は、その指定された1台のデバイスのデバイス要件が満たされるかどうか判定する(ステップ536)。前述したように、デバイスのデバイス要件は、そのデバイスのデバイス特性情報で指定することができる。例えば、個々のデバイスのデバイス特性情報は、個々の記憶デバイス上に記憶することのできるデータ・ファイルの閾値サイズや、そのファイル・タイプの最大ファイル・サイズを示すファイル・サイズ要件を示すことができる。
【0120】
ステップ536で、配置規則の位置制約情報で指定された1台のデバイスのデバイス要件が満たされると判定した場合は、データ・ファイルを記憶するためにその1台の記憶デバイスを選択する(ステップ538)。次いで処理は図4のステップ414に進み、そこで、ステップ538で選択された1台の記憶デバイス上にデータ・ファイルを記憶する。ステップ536で、デバイス要件が満たされないと判定した場合は、処理は図5Aに示すステップ526に進む。
【0121】
ステップ534で、配置規則の位置制約情報(あるボリューム・グループに属するボリュームに対応するデバイスなど)によって複数の記憶デバイスが指定されていると判定した場合は、DMS104は、記憶されるデータ・ファイルの特性規則と配置規則に基づいて、位置制約情報によって指定された複数の装置の中からそのデバイス要件が満たされる1つまたは複数の記憶デバイスのセットを指定する(ステップ540)。次いでDMS104は、ステップ540で識別された各記憶デバイスごとのRSVSを計算する(ステップ542)。本発明の一実施形態によれば、RSVSは、前述の各ステップに従って計算される。
【0122】
次いでDMS104は、ステップ540で識別された記憶デバイスの中から、最高の正のRSVS値を持つ記憶デバイスを識別する(ステップ544)。前述のように、最高の正のRSVS値を持つ記憶デバイスは、ステップ502で選択された配置規則でそのデータ・ファイルを記憶するのに最も適した記憶デバイスである。
【0123】
次いでDMS104は、ステップ544で記憶デバイスが識別されたかどうか判定する(ステップ546)。ステップ544で記憶デバイスが識別された場合は、データ・ファイルを記憶するためにステップ544で識別された記憶デバイスを選択する(ステップ548)。次いで処理は図4のステップ414に進み、そこで、ステップ548で選択された記憶デバイス上にデータ・ファイルを記憶する。
【0124】
ステップ544で記憶デバイスが識別されなかったとステップ546で判定された場合、それは、ステップ540で選択されたデバイスのうちのどれもが正のRSVS値を持たない(すなわちステップ540で選択された1つまたは複数のデバイスが負またはゼロのRSVS値を持つ)ことを示す。次いでDMS104は、ステップ540で識別された記憶デバイスの中から、最高の(すなわちゼロに最も近い)負のRSVS値を持つ記憶デバイスを判定する(ステップ550)。前述のように、負のRSVS値を持つデバイスの中では、最高のRSVS値(すなわち0に最も近いRSVS)を持つデバイスが、そのデータ・ファイルを記憶するのに最も適したデバイスである。
【0125】
次いでDMS104は、「候補」デバイスが以前に識別されているかどうか判定する(ステップ551)。候補デバイスが識別されている場合は、DMS104は、ステップ550で識別された記憶デバイスのRSVS値が、以前に識別された「候補」デバイスのRSVS値より大きい(すなわち0により近い)かどうか判定する(ステップ552)。ステップ550で識別された記憶デバイスのRSVS値が以前に識別された「候補」デバイスのRSVS値より大きい(すなわち0により近い)とステップ552で判定した場合は、ステップ550で識別された記憶デバイスを「候補」デバイスとしてマークする(ステップ554)。次いで処理は図5Aに示すステップ526に進む。
【0126】
ステップ551で、候補デバイスが識別されていないと判定した場合は、処理はステップ554に進み、そこで、ステップ550で識別された記憶デバイスを「候補」デバイスとしてマークする。ステップ550で識別された記憶デバイスのRSVS値が以前に識別された「候補」デバイスのRSVS値以下であるとステップ552で判定した場合は、処理は図5Aに示すステップ526に進む。
【0127】
前述の本発明の実施形態では、DMS104は、データ・ファイルを記憶するのに適した配置規則と対応するそれに適した記憶デバイスを識別するために、順位付けされた配置規則の最初から最後まで反復処理する。本発明は、異種混合ストレージ環境で、そのストレージ環境のために構成された記憶ポリシに基づいて、最小限の人的介入で使用可能な記憶リソースを最適化すると同時に効率の良いデータ・アクセスを可能にするようにデータの記憶位置を決定する技法を記述するものである。
【0128】
以上、本発明の具体的な実施形態について説明してきたが、様々な改変形態、変更形態、代替構成、均等物もまた、本発明の範囲内に包含される。本発明は、特定の具体的なデータ処理環境内でのオペレーションに限らず、複数のデータ処理環境内で自由に運用することができる。さらに、本発明を具体的な一連のトランザクションとステップを使用して説明してきたが、本発明の範囲が前述の一連のトランザクションとステップに限られないことは、当分野の技術者には明らかなはずである。前述の実施形態ではRSVS計算の際の一因子としての帯域幅の使用を論じているが、本発明の他の実施形態によれば、記憶デバイスのアベラビリティなど他の因子を使用してRSVSを計算することもできる。前述の各式は、本発明の一実施形態を例示するためのものにすぎず、本発明の代替実施形態では異なることもあることを理解すべきである。
【0129】
さらに、本発明をハードウェアとソフトウェアの1つの具体的な組合せを使用して説明してきたが、ハードウェアとソフトウェアの他の組合せも本発明の範囲内に含まれることを理解すべきである。本発明は、ハードウェアのみとして実現することも、またはソフトウェアのみとして実現することも、あるいはそれらの組合せを使用して実現することもできる。
【0130】
したがって、本明細書と図面は、限定のためのものではなく例示のためのものとみなすべきである。ただし、特許請求の範囲に記載の本発明のより広範な精神と範囲を逸脱することなく、本発明への追加、除去、削除、その他の改変や変更を加えることができることは自明であろう。
【図面の簡単な説明】
【0131】
【図1】本発明の一実施形態を組み込むことのできる分散システムを示す簡略化した構成図である。
【図2】本発明の一実施形態によるデータ管理サーバを示す簡略化した構成図である。
【図3】本発明の一実施形態による配置規則の例を示す図である。
【図4】本発明の一実施形態による、データ・ファイルを記憶するためのストレージ環境からそのストレージ環境のために構成された記憶ポリシに基づいて記憶デバイスを選択する方法を示す簡略化したハイレベル流れ図である。
【図5A】本発明の一実施形態による、順位付けされた配置規則と、記憶デバイスとデータ・ファイルの特性とに基づいてデータ・ファイルを記憶する記憶デバイスを識別するために実施される処理を示す、簡略化したハイレベル流れ図である。
【図5B】本発明の一実施形態による、順位付けされた配置規則と、記憶デバイスとデータ・ファイルの特性とに基づいてデータ・ファイルを記憶する記憶デバイスを識別するために実施される処理を示す、簡略化したハイレベル流れ図である。
[Related Applications]
[0001]
(Mutual citation of related applications)
This application claims priority to the following application, which is incorporated herein by reference in its entirety for all purposes, and is not a provisional application:
(1) filed August 31, 2001, U.S. Provisional Patent Application No. 60 / 316,764 (Docket No. 21154-000200US); and
(2) filed February 21, 2002, US Provisional Patent Application No. 60 / 358,915 (reference number 21154-000400 US).
This application also incorporates the entire contents of the following applications by reference for all purposes:
(1) filed December 14, 2001, US Provisional Patent Application No. 60 / 340,227 (Docket No. 21154-000300 US); and
(2) filed on Apr. 25, 2002, US Application No. 10 / 133,123 (Docket No. 21154-000310 US).
【Technical field】
[0002]
The present invention relates generally to the field of data storage and management, and more particularly to techniques for determining data storage locations based on storage policies configured for the storage environment in a storage environment.
[Background]
[0003]
Heterogeneous complex storage environments, including storage systems and devices with varying cost, capacity, bandwidth and other performance characteristics, are rapidly replacing traditional homogeneous data storage environments. Due to its heterogeneous nature, managing data storage in such an environment is a difficult and complex task. One important information management function in such a heterogeneous data storage environment allows efficient access to data while reducing the costs associated with storing that data in a variety of usable storage devices. Is to decide where to store the data.
[0004]
In some conventional data storage environments, the determination of where to store data is typically manually determined by the user of the data storage environment (such as a system administrator). The user can make the determination based on the data usage pattern and the characteristics of the storage devices available in the storage environment for storing the data. Therefore, in such an environment, the system administrator needs to collect frequency information and data usage information, data access requirements and performance requirements, and access frequency information from users or consumers of the data. Administrators also need to determine the characteristics (cost, capacity, and other performance characteristics) of storage devices that can be used to store data. The administrator then typically makes an inference based on knowledge and experience about where to store the data. While the manual approach described above may be feasible in a simple homogeneous storage environment that supports a small number of data consumers, such an approach is not practical in today's large, heterogeneous storage environments.
[0005]
Currently, several conventional data management systems are available that automate part of the data storage decision making process. For example, an automated data backup application that implements hierarchical storage management (HSM) to move data from online storage to offline storage (or from a primary backup medium to a secondary backup medium) can be used. However, conventional data management systems currently do not provide the flexibility, control, and automation required by system administrators to manage large-scale heterogeneous storage environments that include many data consumers, servers, and hosts.
DISCLOSURE OF THE INVENTION
[Problems to be solved by the invention]
[0006]
In consideration of the above, it is possible to optimize the use of available storage resources and at the same time efficiently access data, and the data storage administrator can efficiently manage distributed data and storage resources with minimal intervention There is a need for automated techniques.
[Means for Solving the Problems]
[0007]
Embodiments of the present invention provide an automated technique for determining the storage location of data in a storage environment based on a storage policy configured for the storage environment. This storage location is determined in a manner that allows efficient data access while optimizing available storage resources with minimal human intervention. This storage location is determined based on the characteristics associated with the stored data, the characteristics of the storage device, and the storage policy configured for that storage environment.
[0008]
According to one embodiment of the present invention, techniques are provided for a storage device that stores data in a storage environment that includes a plurality of storage devices. One embodiment of the present invention receives a signal for storing a data file. The implementation then identifies a set of one or more placement rules configured for the storage environment. Each placement rule defines a data-related criterion that identifies one or more conditions associated with one or more characteristics of stored data, and one or more conditions associated with one or more storage device characteristics. Includes device-related criteria to identify. For each placement rule in the set of placement rules, a data value score (DVS) is calculated based on the data-related criteria of the placement rule and the characteristics of the data file. An embodiment of the present invention then selects a data file from a plurality of storage devices based on the set of placement rules, the associated DVS, the characteristics of the plurality of storage devices, and the characteristics of the stored data file. A storage device to be stored is determined.
[0009]
Other features, embodiments and advantages of the present invention as described above will become more apparent with reference to the following specification, appended claims and drawings.
BEST MODE FOR CARRYING OUT THE INVENTION
[0010]
Embodiments of the present invention provide an automated technique for storing data in a data storage environment. One embodiment of the present invention provides a technique for determining the storage location of data based on a storage policy configured for that storage environment in a heterogeneous storage environment. Thus, embodiments of the present invention can easily store data in a manner that allows efficient data access while optimizing the use of storage resources available with minimal human intervention.
[0011]
According to one embodiment of the present invention, a data management system coupled to a heterogeneous data storage environment is configured to automate data management functions and data storage functions. In this embodiment, the data management system is configured to monitor and analyze data and storage resource usage patterns and determine an optimal storage location for the data based on the usage patterns. The data management system is also configured to determine the data storage location based on the characteristics of the data and storage device and the storage policy configured for the storage environment. This storage policy is configured by users (end users, system administrators, managers, etc.) of the storage environment.
[0012]
The embodiments of the invention described below describe techniques for determining the storage location of data stored in the form of data files. However, it should be understood that the teachings of the present invention can be used to determine storage locations for other data units, such as block data, in addition to data files. Accordingly, the embodiments of the present invention described below are not intended to limit the scope of the present invention.
[0013]
FIG. 1 is a simplified block diagram of a distributed system 100 that can incorporate an embodiment of the present invention. Distributed system 100 includes a plurality of computer systems and a plurality of storage devices coupled to one or more communication networks via a plurality of communication links. As shown in FIG. 1, distributed system 100 includes a plurality of computer systems including one or more user (client) systems 102 coupled to a communication network 112, as well as a data management server (DMS) 104, an application. It also includes a plurality of server systems including a service providing (ASP) server 106, a server 108 providing connectivity to a communication network 110 such as the Internet, a file server 122, a database server 124, and various other servers. The distributed computer network 100 shown in FIG. 1 is merely illustrative of an embodiment incorporating the present invention and does not limit the scope of the invention as recited in the claims. Those skilled in the art will appreciate other variations, modifications, and alternatives.
[0014]
The communication network shown in FIG. 1, such as communication networks 112 and 110, provides a mechanism for communication and information exchange between the various computer systems and storage devices shown in FIG. These communication networks themselves can also consist of many interconnected computer systems and communication links. For example, the communication network 112 can be a LAN (as shown in FIG. 1), a wide area network (WAN), a wireless network, the Internet, a private network, a public network, a switched network, or any other suitable communication network. Similarly, the communication network 110 may be any other communication network, such as the Internet (as shown in FIG. 1) or any other computer network.
[0015]
The communication links used to connect the various systems shown in FIG. 1 are of various types, including wired links, optical links, satellite and other wireless communication links, wave links and any other information communication mechanism. It can be. Various communication protocols can be used to facilitate the communication of information over these communication links. These communications protocols include TCP / IP, HTTP protocol, Extensible Markup Language (XML), Wireless Application Protocol (WAP), Fiber Channel protocol, protocols being developed by industry standards bodies, and vendor-specific protocols , Customized protocols and more.
[0016]
A computer system connected to a distributed system, such as the system 100 shown in FIG. 1, may request “information or services” or “ It can be classified as “client” or “server”. The computer system that a user uses to compose an information request or service request is commonly referred to as a “client” computer. A computer system that receives information requests and / or service requests from client systems, performs the processing necessary to satisfy those requests, and returns results / information corresponding to those requests to the requesting client system, Usually called a “server” system. The processing necessary to satisfy the client's request can be performed by a single server system or can be delegated to another server. Accordingly, the server system shown in FIG. 1 is configured to provide information and / or provide services required by requests received from one or more client computers. However, it should be understood that individual computer systems can function as both servers and clients.
[0017]
A user of distributed system 100 can use user system 102 to access data stored by one or more computer systems or storage devices shown in FIG. As shown in FIG. 1, user system 102 is coupled to a communication network 112 via one or more communication links. The user system 102 generally functions as a client that requests data and services from the server system. The user can also interact with other systems shown in FIG. For example, a user can interact with the data management server 104 using the client system 102. The user system 102 is a personal computer, a portable computer, a workstation, a computer terminal, a network computer, a mainframe, a kiosk, a personal digital assistant (PDA), a communication device such as a mobile phone, or any other data processing system. It can be of various types, including.
[0018]
In the server system shown in FIG. 1, the DMS 104 performs a process that provides an automated technique for determining the storage location of data in the storage environment shown in FIG. SSP server 108 provides access to communication network 110. The file server 122 manages directories and file systems. Database server 124 stores the database and processes database queries. The ASP server 106 provides application services.
[0019]
As described above, according to an embodiment of the present invention, the DMS 104 performs processing for automating data storage and managing data in the distributed system 100. This process is performed by a software module executed by the DMS 104, a hardware module coupled to the DMS 104, or a combination thereof. According to one embodiment of the present invention, DMS 104 is based on characteristics associated with stored data, characteristics of storage devices that can be used to store data, and storage policies configured for that storage environment. Determine the data storage location. This storage policy is configured by users (end users, system administrators, managers, etc.) of the storage environment.
[0020]
Information used by DMS 104 to perform processing in accordance with the teachings of the present invention is stored in a storage location accessible from DMS 104. For example, as shown in FIG. 1, information related to data, storage devices, and storage policies used by the DMS 104 is stored in a storage repository or database 126 accessible from the DMS 104. As shown in FIG. 1, information stored in the database 126 includes information related to one or more storage policies 128 that can be configured by a system administrator, device characteristic information 130, data characteristic information 132, and other information. Information 134 may be included. Details relating to the storage policy information 128, the device characteristic information 130, and the data characteristic information 132 will be described below. This information can be stored in a single database as shown in FIG. 1 or in separate databases. It should be understood that this information may be stored in a variety of other formats known to those skilled in the art. This information can also be stored on a storage device, such as a memory device, disk, tape, computer system memory.
[0021]
According to one embodiment of the present invention, distributed system 100 includes a plurality of storage devices that can be used for data storage and / or backup. As shown in FIG. 1, this storage device is included in a storage network such as various dedicated storage devices 116, one or more computer systems, storage area network (SAN) 114 shown in FIG. Devices, network attached storage (NAS) (not shown), and the like. Examples of storage devices include tapes, disk drives, optical disks, RAID structures, solid state storage, and other types of computer readable media. In general, the term “storage device” means any system, subsystem, device, computer medium, network, or other similar system or mechanism capable of storing data in digital or electronic form. This storage device can be coupled directly to the DMS 104, coupled to the DMS 104 via a communications network such as the communications network 112, or to the DMS 104 via a storage network (such as a storage area network (SAN) 114). It can be combined or by other techniques.
[0022]
As known to those skilled in the art, a storage device is characterized by the amount of time required to access the data stored by the storage device (referred to as “data access time”). For example, the storage device is characterized as an online storage device, a near-line storage device, an offline storage device, etc. Data access times with online storage devices are generally shorter than access times with near-line storage devices. Access time in offline storage is generally longer than access time in a near-line storage device. An offline storage device is generally a device that is not easily accessible from the DMS 104. Examples of offline storage devices include computer readable storage media such as tapes and optical devices. User interaction may be required to access data on the offline storage device. For example, when using a tape as an offline device, the user may not be able to restore the data stored on the tape by the DMS 104 unless the tape is previously accessible from the DMS 104.
[0023]
It should be understood that various other criteria can be used to classify or characterize storage devices. Classification of storage devices is not required by the present invention and should not be construed as limiting the scope of the invention as recited in the claims.
[0024]
As described above, according to one embodiment of the present invention, the DMS 104 is configured to perform processing for storing and managing data in accordance with the teachings of the present invention. FIG. 2 is a simplified block diagram of the DMS 104 according to an embodiment of the present invention. As shown in FIG. 2, the DMS 104 includes at least one processor 202 that interacts with several peripheral devices via a bus subsystem 204. These peripheral devices include a storage subsystem 206 including a memory subsystem 208 and a file storage subsystem 210, a user interface input device 212, a user interface output device 214, and a network interface subsystem 216. The input / output device allows user interaction with the DMS 104. A user can be a human user, a device, a process, another computer, or the like.
[0025]
The network interface subsystem 216 is an interface to other computer systems, networks, and devices. Embodiments of the network interface subsystem 216 include Ethernet cards, modems (telephone, satellite, cable, ISDN, etc.), (asynchronous) digital subscriber line (DSL) units, and the like.
[0026]
The user interface input device 212 includes a keyboard, a mouse, a trackball, a touch pad, a pointing device such as a graphics tablet, a scanner, a barcode scanner, a touch screen embedded in a display, and a sound such as a voice recognition system. Input devices, microphones, and even other types of input devices may be included. In general, the term “input device” includes any possible type of device or method for entering information into the DMS 104.
[0027]
The user interface output device 214 includes a display subsystem, a printing device, a fax machine, and further includes devices other than visual displays such as an audio output device. The display subsystem may be a cathode ray tube (CRT), a planar device such as a liquid crystal display (LCD), or a projection device. This display subsystem can also be provided with something other than visual display, such as with an acoustic output device. In general, the term “output device” includes any possible type of device or method for outputting information from the DMS 104.
[0028]
The storage subsystem 206 stores basic programming and data structures that provide the functions of the DMS 104. For example, according to one embodiment of the present invention, the storage subsystem 206 can store software modules that implement the functionality of the present invention. These software modules are executed by the processor 202. In a distributed environment, the software module can be stored on multiple computer systems and executed by the processors of the multiple computer systems. Storage subsystem 206 can also provide a repository for storing data and various databases that can be used to store information in accordance with the teachings of the present invention. For example, the storage subsystem 206 can store storage policy information 128, device characteristic information 130, and data characteristic information 132. Storage subsystem 206 can also include a memory subsystem 208 and a file / disk storage subsystem 210.
[0029]
The memory subsystem 208 includes several main random access memory (RAM) 218 for storing instructions and data during program execution, and read only memory (ROM) 220 for storing fixed instructions. Of memory. File storage subsystem 210 stores program and data files permanently (non-volatile), including a hard disk drive, a floppy disk drive with associated removable media, Includes compact disk read only memory (CD-ROM) drives, optical drives, removable media cartridges, and other similar storage media. One or more of these drives can also be located at a remote location on other connected computers.
[0030]
The bus subsystem 204 provides a mechanism for allowing the various components and subsystems of the DMS 104 to interact with each other as desired. The various subsystems and components of the DMS 104 need not be at the same physical location, but may be distributed at various locations within the network 100. Although bus subsystem 204 is shown schematically as a single bus, alternate embodiments of this bus subsystem utilize multiple buses.
[0031]
The DMS 104 itself includes a variety of devices including personal computers, portable computers, workstations, network computers, mainframes, kiosks, personal digital assistants (PDAs), communication devices such as mobile phones, and any other data processing system. Of the type. Since computers and networks are constantly changing, the description of DMS 104 shown in FIG. 2 is intended only to illustrate one specific example of a preferred embodiment of this computer system. For example, AMD's Athlon ™ class microprocessor, Intel's Pentium ™ class or Celeron ™ class microprocessor, Motorola's PowerPC ™ G3 or G4 microprocessor, Transmeta's Crusoe ( Other types of processors are contemplated, such as a trademark processor. Further, in alternative embodiments, other types of processors are contemplated, including Microsoft Windows NT ™, Sun Microsystems Solaris, LINUX, UNIX ™, Apple Computer MAC OS X, and the like. The Many other configurations with more or fewer components than the system shown in FIG. 2 are possible.
[0032]
As mentioned above, in accordance with the teachings of the present invention, the DMS 104 can be configured to use one or more storage policies configured for the storage environment, information identifying characteristics of the stored data, and even the storage environment. Based on the information identifying the characteristics of the storage devices that can be used to store data, the location at which data is stored in the distributed network 100 is determined.
[0033]
According to one embodiment of the present invention, the storage policy specifies when and how data is stored and / or migrated. The storage policy includes one or more rules that can be configured by the administrator of the storage environment. These rules may include rules that specify when data is stored in the storage environment or when data is migrated from one storage location to another. These rules may include a rule that specifies a storage location where the data is stored. This storage location can specify the storage device used to store the data and can also specify where (volume, directory, etc.) the data is stored on that storage device.
[0034]
According to one embodiment of the present invention, the storage policy includes one or more “placement rules” and a plurality of “migration rules”. The placement rule identifies the criteria used to select the storage device that stores the data. In one embodiment, each placement rule is an IF clause. . . Implemented as a THEN clause. This clause describes the condition associated with the IF clause that needs to be evaluated and the action to be performed when the IF clause is met. In the IF section, various data conditions and characteristics (type of data, data file size, file owner, etc.), conditions and characteristics of the storage device that stores the data (usable capacity of the storage device, storage device) Bandwidth capacity, cost of storing data on the storage device, etc.). For the purposes of the present invention, the operations typically include storing data in individual storage locations or transferring data from a first storage location to another storage location.
[0035]
Transition rules describe when one or more placement rules are evaluated. In one embodiment, each migration rule is implemented as a WHEN clause in the policy engine. This WHEN clause generally specifies one or more events (such as temporal events that change over time) that the DMS 104 can monitor. Examples of events that can be specified in the WHEN clause include data file creation, data file modification, storage volume usage above or below a certain threshold, and time-related events. included. The WHEN clause is satisfied when one or more events specified in the WHEN clause occur or evaluate to true, or evaluate to TRUE.
[0036]
In a WHEN or IF clause, multiple events or conditions can be combined using one or more logical operators or multiple Boolean operators. For example, Boolean operators such as AND, OR, NOT can be used. As described above, the IF clause is evaluated only when the WHEN clause is evaluated to be TRUE. IF. . . Further details relating to the THEN and WHEN clauses can be found in US Provisional Patent Application No. 60 / 340,227, filed Dec. 14, 2001, the entire contents of which are incorporated herein by reference for all purposes. No. 21154-000300 US), US application Ser. No. 10 / 133,123 filed Apr. 25, 2002 (reference number 21154-000310 US).
[0037]
According to one embodiment of the present invention, rules associated with one storage policy are evaluated when the DMS 104 receives a signal to determine the storage location of some data, such as a file managed by the DMS 104. This signal can be triggered manually by a user of the present invention or in response to a signal received from another application or process. Storage policy rules also allow other storage management tasks such as transitioning from one device to another while performing capacity balancing, load balancing, or increasing available data and / or space. It may also be evaluated when a file is selected to perform. The DMS 104 may also perform capacity balancing in response to a signal received from another application or process and in response to a signal triggered by a user of the storage environment.
[0038]
According to one embodiment of the present invention, information such as device characteristic information 130 and data characteristic information 132 is used as an input parameter for evaluating one or more storage rules specified by a storage policy. For example, the device characteristic 130 and the data characteristic 132 are the WHEN clause and IF. . . Used as input to evaluate THEN clause.
[0039]
According to one embodiment of the present invention, the device characteristic information 130 includes information related to storage devices that can be used in the storage environment to store data and other information. The DMS 104 uses the device characteristic information 130 to evaluate the rules defined in the storage policy and determine the optimum location for storing data. According to one embodiment of the present invention, the device characteristic information 130 of the storage device includes:
[0040]
(1) Usable capacity information: This information indicates the usable storage capacity of the storage device. This value is usually expressed as a percentage of the total storage capacity of the storage device. For example, if the total storage capacity of a storage device is 100 megabytes and 40 megabytes are free (ie 60 megabytes are already in use), the usable capacity of that storage device is displayed as 40% usable. The This value can also be expressed in free storage capacity (megabyte, gigabyte, etc.). This information is dynamically monitored and tracked by the DMS 104 examining its actual usage for the storage device.
[0041]
(2) Cost information: This information indicates the cost of storing data on the storage device. This cost can be measured in dollars per unit memory (eg, dollar / gigabyte, dollar / megabyte, etc.). The system administrator or user of the present invention can configure this information.
[0042]
(3) Supported bandwidth information: This information is usually measured in unit data per unit time (such as Mbps or megabits / second) and represents the bandwidth capacity of the storage device. In an alternative embodiment, a qualitative classification can be used to represent this information. For example, the bandwidth supported by one storage device can be classified as “high”, “medium”, and “low”. Each qualitative classification can correspond to a preset range of unit data values per unit time. The system administrator or user of the present invention can configure this information.
[0043]
(4) Desired threshold information: This information indicates one or more thresholds that can be configured by a system administrator or user to store data on the device. For example, the system administrator can specify a storage capacity threshold for the device. Each threshold can be expressed as a percentage of the total capacity of the storage device. For individual storage devices, thresholds may also be defined for individual types of data stored on the device. Each threshold associated with a data type can indicate a percentage of the total capacity of that device that the user desires to allocate to store individual types of data. For example, the user can only use up to 15% of the total capacity of the storage device to store MS Office files, or up to 25% of the total capacity of the storage device to store e-mail data. It can be configured such that it can only be used.
[0044]
(5) File size requirement: This information indicates the threshold size (minimum threshold or maximum threshold) of the data file before the file can be stored on the storage device. For example, file size requirement information indicates that a file cannot be stored on a device unless the file is a certain size or larger than a certain size cannot be stored on the storage device. Can be directed. The user of the present invention can configure the file size requirements of the device.
[0045]
(6) Availability characteristic: This is a qualitative value that represents the administrator's perception of the relative availability (high, medium, low, etc.) of the device. For example, this qualitative value can be set based on the degree of duplication of the device (for example, RAID level: RAID10, RAID5 is high, RAID0, RAID1 is medium, etc.). Other factors that can affect the availability characteristics include available hardware features such as the number of redundant power supplies, the number of redundant controllers, and the number of multiple access paths to the device.
[0046]
It should be understood that various other types of information may be included in the device characteristic information 130 in alternative embodiments of the present invention. Further, in alternative embodiments of the present invention, device characteristic information 130 may include more or less information than the information described above.
[0047]
The system administrator can also group one or more storage devices into volumes or volume groups. A volume represents one identifiable storage space unit based on one or more storage devices. For example, storage devices with similar static characteristics can be grouped into a volume group or set. One storage device can also be divided into one or more separately identifiable volumes. It should be understood that information such as usable capacity information may differ for each volume (or storage device) in a volume group. Therefore, each volume in one volume group can be individually monitored by the DMS 104.
[0048]
As described above, in addition to the device characteristic information 130, the data characteristic information 132 is also used as a parameter for evaluating one or more storage rules specified by the storage policy. According to one embodiment of the present invention, the data characteristic information 132 includes information related to stored data. To illustrate one embodiment of the present invention, this data is assumed to be stored in the form of a file (“data file”). It should be understood that in various alternative embodiments of the present invention, data may be stored using various other techniques or methods. According to one embodiment of the present invention, for each data file, the data property information 132 associated with that data file may include:
[0049]
(1) Data relevance information (“relevance score”): This information represents a value indicating the priority assigned to the data file by the administrator. For example, according to one embodiment of the present invention, a user or administrator can assign a number ranging from 0 to 1, with 0 being least important and 1 being most important. This relevance score can be assigned to any combination of file type and owner, and the default relevance score is used if the administrator does not make an explicit assignment. For example, a content provider can assign a higher score to all JPEG files and files owned by a production group than other files.
[0050]
(2) File size information: This indicates the size of the data file.
[0051]
(3) File type information: This indicates the type of data stored by the data file. Data files can be of various types. These types can be defined by the user of the storage environment or can be defined by the storage environment. Examples of file types include image files, email files, MS Office files, and the like.
[0052]
(4) File ownership information: This information indicates the owner of the data file. In general, the creator of the data is designated as the owner of the file.
[0053]
(5) Data bandwidth request information: This information indicates a data file bandwidth request. This information is used to determine the storage location of the file. In general, a storage environment user or system administrator configures this information.
[0054]
(6) File access information: This information indicates the file access pattern associated with the data file. For example, this information includes information related to when the file was created or accessed, identification of the person accessing the file, the date and time of the last access of the file, and other similar information. This information is automatically monitored by the DMS 104.
[0055]
(7) Current file position information: This information indicates the current position of the file.
[0056]
It should be understood that various other types of information may be included in the data characteristic information 132 in alternative embodiments of the present invention. Furthermore, in alternative embodiments of the present invention, the data characteristic information 132 may include more or less information than the information described above.
[0057]
The system administrator can also define data groups. Each data group can include one or more data files that share similar characteristics.
[0058]
As described above, the data characteristic information 132 and the device characteristic information 130 serve as parameters to the migration rule and the placement rule defined according to the storage policy. As described above, the placement rule is evaluated only after the condition specified by the migration rule is satisfied. According to an embodiment of the present invention, each placement rule may include the following parts:
(1) Data usage standard information
(2) File selection criteria information
(3) Position constraint reference information
The term “data-related criteria” can be used to refer to data usage criteria information and file selection criteria information because these information include conditions related to the stored data. The term “device-related criteria” can be used to refer to positional constraint information because this information includes conditions associated with the storage device.
[0059]
FIG. 3 shows an example of an arrangement rule according to an embodiment of the present invention. In FIG. 3, each row 308 of the table 300 specifies an arrangement rule. Column 302 of table 300 identifies file selection criteria information for each rule, column 304 of table 300 identifies data usage criteria information for each placement rule, and column 306 of table 300 identifies location constraint criteria for each rule. Identify information.
[0060]
“File selection criterion information” specifies information for identifying a set of data files satisfying a specific arrangement rule. According to one embodiment of the present invention, the placement rule selection criteria information includes one or more clauses (or conditions) associated with data characteristic parameters, such as file type, file relevance score, file owner, and the like. specify. Each clause can be expressed as an absolute value (such as the file type is “Office file”) or as an inequality (such as a file relevance score ≧ 0.5). Multiple clauses may be connected by a Boolean connector (file type is “email file” and AND file owner is “John Doe”) to form a Boolean expression. The file selection criterion information may be left blank (that is, not configured or set to a NULL value) like the file selection criterion in the arrangement rules 308-6 and 308-7 shown in FIG. 3, for example. According to one embodiment of the present invention, the file selection criteria information is set to a default NULL value. Empty or NULL file selection criteria are valid, indicating that all files have been selected or that they meet their placement rules.
[0061]
“Data usage standard information” specifies a standard related to file access information related to a data file. For example, in an individual placement rule, this information can specify a date and time (such as a time stamp) associated with a data file that falls within a particular date range. This time stamp corresponds to the creation date, the date the file was last modified, the date the file was last accessed, and the like. This criterion is specified using one or more clauses or conditions associated with file access information connected using Boolean connectors. Data usage criteria clauses are specified as equivalent or inequality conditions. An example of the data use standard is “file last accessed between 7 days ago and 30 days ago” (corresponding to the placement rule 308-2 shown in FIG. 3). An administrator or user of the present invention can set this criterion.
[0062]
“Position constraint information” in an individual placement rule specifies one or more constraints that need to be satisfied by the selected storage device to store data based on the individual placement rule. Thus, the location constraint information generally specifies parameters associated with the storage device. The position constraint information can be left blank or set to NULL to indicate that there is no constraint condition applicable to the layout rule (the position constraint corresponding to the layout rule 308-3 shown in FIG. 3). Information). According to one embodiment of the present invention, this constraint information can be set to LOCAL (such as location constraint information in placement rules 308-1 and 308-6), which means that the data file is local (its data It is stored on a storage device (local to the device used to create the file) and suggests that it is not moved or migrated to another storage device. It is also possible to specify a specific volume group or a specific device in the location constraint information of the data file in order to store the data file. It is also possible to specify a minimum bandwidth requirement (such as bandwidth ≧ 10 MB / s) to indicate that the data can be stored only on storage devices that satisfy the constraints. Various other constraints or requirements (such as constraints related to file size, availability, etc.) can also be specified. The constraint specified by the location constraint information is generally a strict constraint that suggests that a data file cannot be stored on a device that does not satisfy the location constraint.
[0063]
FIG. 4 is a simplified high-level diagram illustrating a method for selecting a storage device from a storage environment for storing data files based on a storage policy configured for that storage environment, according to one embodiment of the invention. It is a level flow diagram 400. This method may be implemented by the DMS 104 or by associating the DMS 104 with other processing systems. In the embodiments described below, this method is performed by the DMS 104. The method may be implemented by software modules executed by the processor 202 of the DMS 104, or hardware modules coupled to the DMS 104, or combinations thereof. The flowchart 400 shown in FIG. 4 is merely for the purpose of illustrating an embodiment that incorporates the invention and is not intended to limit the scope of the invention as recited in the claims. Those skilled in the art will appreciate variations, modifications, and alternatives.
[0064]
As shown in FIG. 4, processing begins when the DMS 104 receives a signal that triggers evaluation of a storage policy (step 402). This signal can be automatically received from another system or application, or can be manually generated by a user of the present invention (such as a system administrator for the storage environment). A wide variety of events can trigger the generation of this signal. For example, this signal may be generated when a storage capacity threshold is reached and / or when one or more data files are stored in the storage environment. This signal can also be generated when one or more data files stored in the storage environment are relocated to another storage location in the storage environment. A storage management application also moves a set of data files from one storage location to another to perform storage capacity release, capacity balancing, additional balancing, or other storage management tasks. This signal can be generated when needed. To illustrate the flowchart 400 shown in FIG. 4, it is assumed that this signal is generated when individual data files are stored in the storage environment shown in FIG.
[0065]
Upon receipt of the signal, DMS 104 determines a set of one or more transition rules that are evaluated as TRUE based on the signal received at step 402 (step 404). As described above, according to one embodiment of the present invention, each transition rule can be implemented as a WHEN clause. Accordingly, in step 404, the DMS 104 determines a set of one or more WHEN clauses that are evaluated to be TRUE.
[0066]
DMS 104 then determines a set of one or more placement rules that correspond to the migration rules determined in step 404 (step 406). As described above, each placement rule identifies the criteria used to select the storage device that stores the individual data files.
[0067]
The DMS 104 then generates a score for each placement rule determined at step 406 (step 408). According to one embodiment of the present invention, a numerical score (referred to as a data value score or DVS) is generated for each placement rule. For each placement rule, the DVS generated for that placement rule indicates the level of suitability or applicability of that placement rule to a stored data set (such as a data file). The value of DVS for each placement rule is based on the characteristics of the stored data file. For example, according to one embodiment of the present invention, a higher score is generated for placement rules that are considered more suitable or relevant to the stored data file.
[0068]
Several different techniques can be used to generate the placement rule DVS. According to one embodiment of the present invention, the DVS of placement rules is a simple product of “file_selection_score” and “data_usage score”, ie
DVS = file_selection_score * data_usage_score
It is. In the above equation, it is assumed that file_selection_score and data_usage_score are equally weighted in the DVS calculation. However, in alternative embodiments, different weights may be assigned to file_selection_score and data_usage_score. According to one embodiment of the present invention, the value of DVS is in the range between 0 and 1 (including 0 and 1).
[0069]
According to an embodiment of the present invention, the file_selection_score (also referred to as “data characteristic score”) of the placement rule is calculated based on the file selection criterion information specified in the placement rule, and the data_usage_score of the placement rule is Calculated based on data usage criteria information specified in the rules. As described above, the file selection criteria information and data usage criteria information specified in the placement rule can include one or more clauses with one or more parameters connected by a Boolean connector (see FIG. 3). Therefore, the calculation of file_selection_score involves calculating the numerical value of each clause constituting the file selection criterion information of the placement rule, and then calculating the file_selection_score of the placement rule by combining the scores of the individual clauses. . Similarly, the calculation of data_usage_score includes calculating the numerical values of the individual clauses that make up the data usage criteria information of the placement rule and then combining the scores of the individual clauses to calculate the data_usage_score of the placement rule.
[0070]
According to one embodiment of the present invention, the file_selection_score or data_usage_score is calculated using the following rules, combining the scores generated in the individual clauses.
[0071]
Rule 1: In an AND operation between N parties (ie, N clauses connected by AND connectors), the resulting value is the sum of all individual values (values calculated for each clause) N It is the value divided.
[0072]
Rule 2: In an OR operation between N parties (ie, N clauses connected by an OR connector), the resulting value is the maximum value calculated for those N clauses.
[0073]
Rule 3: According to one embodiment of the present invention, file_selection_score and data_usage_score are between 0 and 1 (including 0 and 1).
[0074]
According to one embodiment of the invention, the value for each clause specified in the file selection criteria is evaluated using the following guidelines.
[0075]
(A) If a NULL (or empty) value is specified in the file selection criterion information, a score of 1 is obtained for the NULL or empty value. For example, file_selection_score in the arrangement rule 308-7 shown in FIG.
[0076]
(B) The file type evaluation and the owner parameter evaluation are assigned a score of 1 if the parameter criteria are met, and a score of 0 otherwise. For example, in the arrangement rule 308-4 shown in FIG. 3, if the stored data file is of the “e-mail file” type, score 1 is assigned to the clause, and the file_selection_score of the arrangement rule 308-4 is assigned. Is also set to 1. However, if the stored data file is not an e-mail file, the phrase is assigned a score of 0 and therefore its file_selection_score is also set to zero.
[0077]
(C) If an equivalence test for the “relationship score” is involved in the clause, the score for the clause is calculated using the following formula:
RelScore Data = Data file relevance score (from data characteristics of the file)
RelScore Rule = Relevance score specified in file selection criteria information
Delta = abs (RelScore Data -RelScore Rule )
Score = 1- (Delta / RelScore Rule )
If Score is negative, it is reset to zero.
[0078]
(D) If the clause contains an inequality test related to the “relevance score” (ie, using>, ≧ or ≦) (such as rule 308-5 in FIG. 3), the score for that clause is Calculated using the formula
If the parameter inequality is satisfied, Score is set to 1.
RelScore Data = Data file relevance score (from data characteristics of the file)
RelScore Rule = Relevance score specified in file selection criteria information
Delta = abs (RelScore Data -RelScore Rule )
Score = 1- (Delta / RelScore Rule )
If Score is negative, it is reset to zero.
[0079]
Then, using rules 1, 2, and 3 as described above, file_selection_score is calculated based on the individual score of each clause of the file selection criteria information. The file_selection_score represents the degree of matching (or compatibility) between the file selection criteria information of each placement rule and the stored data file.
[0080]
It will be appreciated that file_selection_score may be calculated using various other techniques in alternative embodiments of the present invention.
[0081]
According to one embodiment of the present invention, the score for each clause specified in the data usage reference information of the placement rule is evaluated using the following guidelines.
When the parameter condition of the clause is satisfied, the score of the clause is set to 1.
Date Data = Related date information in the data file.
Date Rule = Related date information in the rule.
Delta = abs (Date Data -Date Rule )
Score = 1- (Delta / Date Rule )
If Score is negative, it is reset to zero.
[0082]
If a date range is specified in the clause (eg, the last 7 days), the date range is converted to an absolute date before the evaluation is performed. Then, as described above, data_usage_score is calculated based on the scores of the individual clauses specified in the file selection criteria information using rules 1, 2, and 3. It will be apparent that in alternative embodiments of the invention, data_usage_score can also be calculated using various other techniques. data_usage_score represents the degree of matching (or compatibility) between the data usage criteria information of each placement rule and the stored data file.
[0083]
Next, DVS is calculated based on file_selection_score and data_usage_score. Therefore, the DVS of the placement rule includes the conditions specified by the file selection criteria information and the data usage criteria information of the placement rule, and the characteristics of the stored data file described by the data property information of the data file. Quantify the degree of match (or fitness) between
[0084]
Returning to FIG. 4, in step 408, DVS is calculated for each placement rule determined in step 406 based on the file_selection_score and data_usage_score of the rule. It will be apparent that in alternative embodiments of the invention, the placement rule DVS can also be calculated using various other techniques.
[0085]
The placement rules are then ranked (ordered) based on the DVS calculated for that rule in step 408 (step 410). As described above, the DVS generated for a placement rule indicates the suitability of that placement rule for the stored data file. For example, according to one embodiment of the present invention, a higher score is generated for placement rules that are deemed more suitable (or more relevant) to the stored data file. Thus, the ranked placement rule list generated in step 410 is a list of placement rules ranked according to their suitability or relevance to the stored data file.
[0086]
Several different techniques can be used to rank the placement rules. These rules are first ranked based on the DVS calculated for that placement rule. According to an embodiment of the present invention, when a plurality of placement rules have the same DVS value, a rule that breaks the following balance can be used.
[0087]
(A) The placement rules can be ranked based on the priority assigned to the placement rules by a user (such as a system administrator) in the storage environment.
[0088]
(B) If the priority is not set or equal, the sum of the higher level AND operations (ie, the number of clauses connected using AND connectors) used in the calculation of file_selection_score and data_usage_score of placement rules Use the number as a tie breaker. An individual placement rule with a higher number of AND operations used in calculating the file_selection_score and data_usage_score of that rule is ranked higher than another rule with a smaller number of AND operations. The principle here is that a more specific configuration of file selection criteria and data usage criteria (indicated by a higher number of clauses connected using AND operations) is more important than general specifications It is that.
[0089]
(C) If the balance between the placement rules is not broken in either (a) or (b), the balance can be broken using some other criterion. For example, according to one embodiment of the present invention, the order in which these placement rules occur can be used to break the balance. In this embodiment, placement rules that occur earlier are ranked higher than subsequent rules. Various other criteria can be used to break the balance.
[0090]
It will be apparent that in alternative embodiments of the present invention, various other techniques may be used to rank the placement rules.
[0091]
Returning to FIG. 4, DMS 104 then ranks the placement rules, the data characteristics associated with each stored data file, the storage environment storage devices that can be used to store the data file. Based on the associated device characteristics, the storage device storing the data file is identified (step 412). The storage device selected in step 412 stores the data file, considering the characteristics of the data file, the available storage devices, and the storage policy configured for the storage environment by the system administrator. Represents a storage device that is optimal or suitable to do. Further details related to the processing performed in step 412 according to one embodiment of the present invention are described below. The data file is then stored on the storage device identified in step 412 (step 414).
[0092]
5A and 5B are diagrams for identifying storage devices that store data files based on ranked placement rules and based on storage device and data file characteristics, according to one embodiment of the invention. 4 illustrates a simplified high-level flow diagram 500 illustrating the processing performed in step 412 of FIG. This method can be implemented by the DMS 104 or by associating the DMS 104 with other data processing systems. In the embodiment described below, this method is implemented by the DMS 104. This method is implemented by a software module executed by the processor 202 of the DMS 104, or a hardware module coupled to the DMS 104, or a combination thereof. The flowchart 500 shown in FIGS. 5A and 5B is merely illustrative of an embodiment incorporating the present invention and does not limit the scope of the invention as recited in the claims. Those skilled in the art will appreciate variations, modifications, and alternatives.
[0093]
As shown in FIG. 5A, after the placement rules are ranked according to step 410 of FIG. 4, the DMS 104 determines from the list of ranked placement rules that the unprocessed placement rule with the highest ranking ( That is, an arrangement rule that has not been selected in step 502 is selected (step 502). For example, the highest ranked placement rule is selected during the first pass through this flow chart, and the highest ranked placement rule is previously processed during the second pass. The placement rule ranked second is selected, and during the third pass, the placement rules ranked highest and second are previously processed. The placement rule ranked third is selected, and so on.
[0094]
The DMS 104 then determines whether the location constraint criteria information of the placement rule selected in step 502 specifically identifies one or more storage devices that store the data file (step 504). If the location constraint information identifies one or more storage devices, processing proceeds to step 532 shown in FIG. 5B described below. If the location constraint information did not specifically identify the storage device that stores the data file, based on the characteristics of the stored data file, based on the current rule selected in step 502, the DMS 104 A set of one or more storage devices that meet the device requirements is identified (step 506). As described above, according to one embodiment of the present invention, the device requirements of a storage device can be specified by device characteristic information associated with the storage device. For example, the device characteristics information of an individual storage device can indicate a file size requirement indicating the threshold size of the data file before it can be stored on that individual storage device, etc. . Thus, in step 506, an individual device is selected only if the size of the stored data file exceeds the threshold size indicated in the file size requirement information for that individual storage device. Other device requirements can be evaluated as well.
[0095]
The DMS 104 then determines whether at least one storage device has been identified at step 506 (step 508). If step 506 determines that no storage device was identified at step 506, it indicates that the data file does not meet the device requirements of any storage device in the storage environment. In this case, an error message can be output to the user indicating that the data file did not meet the device requirements of the storage device (step 510). The user can then take appropriate action, such as manually selecting a storage device to store the file (even if the device requirements of the selected device are not met).
[0096]
If it is determined in step 508 that at least one storage device has been identified in step 506, the DMS 104 calculates a relative stored value score (RSVS) for each storage device identified in step 506 (step 512). . According to one embodiment of the present invention, the RSVS of the device is calculated using the following steps.
[0097]
Step 1: If the bandwidth request is specified by the location constraint criteria specified in the placement rule selected in step 502, store (indicated by the supported bandwidth information included in the device characteristics information for that device) If the bandwidth supported by the device is less than the bandwidth requirement, the “Bandwidth_factor” variable is set to zero. For example, the location constraint criteria of the placement rule 308-2 shown in FIG. Therefore, if the bandwidth supported by the storage device is less than 40 MB, the “Bandwidth_factor” variable is set to zero.
[0098]
Otherwise, the value of “Bandwidth_factor” is set as follows.
Bandwidth_factor = ((bandwidth supported by the device) − (bandwidth required by the location constraints of the selected placement rule)) + K
In the formula, K is set to some integer type constant.
According to one embodiment of the present invention, K is set to 1. Therefore, the value of Bandwidth_factor is set to a non-negative value.
[0099]
Step 2: RSVS is calculated as follows:
RSVS = Bandwidth_factor * (desired_threshold _%-current_usage _%) / cost
As described above, the desired_threshold_% of the storage device is normally set by the system administrator and included in the device characteristic information. current_usage_% is monitored by the DMS 104 and is also included in the device characteristic information. The “cost” value can be set by the system administrator and can be included in the device characteristic information.
[0100]
It should be understood that the above formula for calculating RSVS represents one embodiment of the present invention and is not intended to narrow the scope of the present invention. In alternative embodiments of the present invention, various other factors may be used to calculate RSVS. For example, the availability of a storage device can be used to determine the RSVS of that device. According to one embodiment of the present invention, the availability of a storage device indicates the amount of time that the storage device can be used during the time period in which the storage device is expected to be usable. Availability can be measured as a percentage of elapsed years in some embodiments. For example, for storage devices that are expected to be available at all times, 99.95% availability corresponds to 4.38 hours downtime per year (0.0005 * 365 * 24 = 4.38). . According to one embodiment of the present invention, the RSVS value of a storage device is directly proportional to the availability of the storage device.
[0101]
Step 3: Various adjustments can be made to the RSVS calculated according to the previous steps. For example, in some storage environments, an administrator can group “similar” files in one storage device into a group. In another environment, an administrator can distribute files between various storage devices. RSVS can be adjusted to accommodate the policy used by the administrator. The performance characteristics associated with the network used to transfer data from the storage device may also be used to adjust the RSVS of that storage device. For example, the storage device's access time (i.e., the time required to provide data stored on the storage device to the user) can be used to adjust the RSVS of that storage device. The storage device throughput can also be used to adjust the RSVS of that storage device. Thus, RSVS could be generated using parameters such as storage device location, data source location, and other network related parameters. According to one embodiment of the present invention, the RSVS value is calculated to be directly proportional to the desirability of the device storing the specific data file.
[0102]
According to one embodiment of the present invention, based on the above steps, a higher RSVS value represents a more desirable storage device for storing the data file. As mentioned above, the RSVS value is directly proportional to the percentage of available capacity. Therefore, a storage device with a larger usable capacity is more desirable for storing data files. The RSVS value is inversely proportional to the cost of storing data on the storage device. Therefore, storage devices with lower storage costs are more desirable for storing data files. The RSVS value is directly proportional to the bandwidth requirement. Therefore, devices that support higher bandwidth are more desirable for storing data files. If the bandwidth requirement is not met, RSVS is zero. Thus, the RSVS formula for an individual storage device combines various device characteristics to generate a score that represents the degree of desirability of storing data on that individual storage device.
[0103]
According to the above equation, when the value of Bandwidth_factor is zero, RSVS is zero (0). As mentioned above, the bandwidth supported by the storage device (indicated by the supported bandwidth information included in the device characteristics information for that device) is specified by the location constraint criteria information specified in the selected placement rule. If there is less bandwidth, the Bandwidth_factor is set to zero if it is lower. Thus, if the RSVS value of an individual storage device is zero (0), it means that the bandwidth supported by that storage device is less than the bandwidth required by the placement rule, or that the device already has the desired capacity. Suggests being at or exceeding the threshold.
[0104]
Alternatively, RSVS is zero (0) if desired_threshold_% is equal to current_usage_%.
[0105]
If a device's RSVS is positive, it meets the bandwidth requirement (ie, Bandwidth_factor is non-zero) and has sufficient capacity to store a data file (ie, desired_threshold_% is current_usage_%). The higher the RSVS value, the better (or desirable) the device is to store the data file. For devices with a positive RSVS, the device with the highest positive RSVS is the most desirable candidate for storing the data file. Thus, the RSVS of an individual device provides a measure for determining the degree of desirability of storing data on that individual device relative to other storage devices, with the individual placement rules being processed. RSVS is used in conjunction with placement rules and their ranking to determine the optimal storage location for storing data files.
[0106]
If the device meets the bandwidth requirement but its usage exceeds the intended threshold (ie current_usage_% is greater than desired_threshold_%), the RSVS of the individual device may be negative. The relative magnitude of the negative value indicates the degree of excess capacity of the device. For devices with negative RSVS, the closer RSVS is to zero (0) and the more the device has the capacity to store data, the more desirable that device will store the data file. For example, the excess capacity of the device with RSVS of −0.9 is greater than the excess capacity of the second device with RSVS of −0.1. Therefore, this second device is a more promising candidate for storing data files than the first device. Thus, RSVS can be used in ranking storage devices relative to each other to store data files, even if they are negative.
[0107]
Thus, the RSVS of an individual device serves as a measure for determining the degree of desirability or suitability in storing data files for other storage devices of that individual device. A device with a positive RSVS value is a better candidate for storing its data file than a device with a negative RSVS value. This is because a positive value also indicates that the storage device meets the bandwidth requirements of the data file and at the same time has enough capacity to store the data file. . Among storage devices with positive RSVS values, devices with higher positive RSVS are more desirable candidates for storing their data files than devices with lower RSVS values. That is, the storage device with the highest positive RSVS value is the most desirable device for storing the data file.
[0108]
If a storage device with a positive RSVS value is unusable, a device with a negative RSVS value is preferred over a device with a RSVS value of zero (0). The principle here is that a device that meets the bandwidth requirement is better suited (even if the device has excess capacity) than a device that doesn't meet the bandwidth requirement (ie RSVS is zero). . Among devices with negative RSVS values, devices with higher RSVS values (ie, RSVS closer to 0) are better candidates for storing the data file than devices with smaller RSVS values. is there. Thus, among devices with negative RSVS values, the device with the highest RSVS value (ie, RSVS closest to 0) is the most desirable candidate for storing the data file.
[0109]
Returning to FIG. 5A, after generating an RSVS for each storage device identified in step 506, DMS 104 identifies the storage device with the highest positive RSVS value among the devices identified in step 506. (Step 514). As described above, the storage device with the highest positive RSVS value is the most suitable storage device for storing the data file with the placement rule selected in step 502.
[0110]
The DMS 104 then determines whether the storage device has been identified in step 514 (step 516). If the storage device is identified in step 514, the device identified in step 514 is selected to store the data file (step 518). The process then proceeds to step 414 of FIG. 4 where the data file is stored on the device selected at step 518.
[0111]
If it is determined in step 516 that no device has been identified in step 514, it indicates that none of the devices selected in step 506 have a positive RSVS value, and the one selected in step 506 Or it suggests that multiple devices have negative or zero RSVS values. In this scenario, DMS 104 then determines the storage device with the highest (ie, closest to zero) negative RSVS value among the devices identified at step 506 (step 520). As mentioned above, among storage devices with negative RSVS values, the device with the highest negative RSVS value (ie, RSVS closest to 0) is the best candidate for storing the data file. .
[0112]
The DMS 104 then determines whether a “candidate” device has been previously identified (step 521). If the candidate device has been previously identified, the DMS 104 determines that the RSVS value for that storage device identified in step 520 is greater than (ie, near zero) the RSVS value for the previously identified “candidate” device. Whether or not is determined (step 522). If it is determined in step 522 that the RSVS value of the storage device identified in step 520 is greater than the RSVS value of the “candidate” device previously identified, it is determined that the storage device identified in step 520 is more Indicates that the data file is a better candidate for storing the data file than the “candidate” device identified in step 520, and thus the storage device identified in step 520 is marked as a “candidate” device (step 524). ). Processing then proceeds to step 526.
[0113]
If step 521 determines that the candidate has not been previously identified, processing proceeds to step 524 where the storage device identified in step 520 is marked as a “candidate” device. If it is determined in step 522 that the RSVS value of the storage device identified in step 520 is less than or equal to the RSVS value of the “candidate” device previously identified, the process proceeds to step 526.
[0114]
In step 526, the DMS 104 determines whether all placement rules in the ranked placement rule list have been processed (step 526). If it is determined that all of the placement rules have not been processed, processing proceeds to step 502 where there is a choice to process the unprocessed placement rules ranked highest.
[0115]
If all placement rules in the ranked list have been processed, but it is determined that a storage device suitable for storing the data file has not yet been selected, the DMS 104 has identified a candidate device. Judgment is made (step 528). If a candidate device has been determined, the candidate device is selected to store the data file (step 530). The process then proceeds to step 414 of FIG. 4 where the data file is stored on the candidate device selected at step 530.
[0116]
If step 528 determines that the candidate device has not been identified, the storage device for storing the data file could not be automatically selected based on the placement rules, data file characteristics, and storage device characteristics An error message indicating this is output to the user (step 510). The user can then take appropriate action, such as manually selecting a storage device to store the data file.
[0117]
Returning to step 504, if the location constraint information of the placement rule selected in step 502 specifically identifies one or more devices for storing the data file, the process proceeds to step 532 shown in FIG. 5B. Proceed to There are various ways in which one or more storage devices can be specified for storing data files with location constraint information associated with placement rules. For example, the location constraint information can identify a volume group that includes multiple volumes that span one or more storage devices for storing data files. For example, the location constraint information related to the placement rule 308-4 shown in FIG. 3 specifies that the data file is stored on the storage device corresponding to the volume included in the volume group “New_volume”.
[0118]
Referring to FIG. 5B, if it is determined that the location constraint information of the placement rule selected in step 502 specifically identifies one or more devices for storing the data file, the DMS 104 may The device specified by the information is identified (step 532). For example, the DMS 104 can identify all storage devices corresponding to the volumes included in the volume group specified by the location constraint information.
[0119]
Next, the DMS 104 determines whether the position constraint specifies one device or a plurality of devices (step 534). If it is determined in step 534 that only one storage device is specified, the DMS 104 determines whether the device requirements of the specified one device are satisfied (step 536). As described above, the device requirements of a device can be specified by the device characteristic information of the device. For example, device characteristics information for an individual device can indicate the threshold size of a data file that can be stored on an individual storage device and a file size requirement that indicates the maximum file size for that file type. .
[0120]
If it is determined in step 536 that the device requirement of one device specified by the position constraint information of the placement rule is satisfied, that one storage device is selected to store the data file (step 538). ). Processing then proceeds to step 414 of FIG. 4 where the data file is stored on the single storage device selected at step 538. If it is determined in step 536 that the device requirements are not satisfied, processing proceeds to step 526 shown in FIG. 5A.
[0121]
If it is determined in step 534 that a plurality of storage devices are specified by the position constraint information (such as a device corresponding to a volume belonging to a certain volume group) in the placement rule, the DMS 104 determines the data file to be stored. Based on the characteristic rule and the placement rule, one or more sets of storage devices that satisfy the device requirements are specified from among the plurality of devices specified by the position constraint information (step 540). The DMS 104 then calculates the RSVS for each storage device identified at step 540 (step 542). According to one embodiment of the present invention, RSVS is calculated according to the steps described above.
[0122]
DMS 104 then identifies the storage device with the highest positive RSVS value among the storage devices identified in step 540 (step 544). As described above, the storage device with the highest positive RSVS value is the most suitable storage device for storing the data file with the placement rule selected in step 502.
[0123]
DMS 104 then determines whether a storage device has been identified in step 544 (step 546). If a storage device is identified at step 544, the storage device identified at step 544 is selected to store the data file (step 548). The process then proceeds to step 414 of FIG. 4 where the data file is stored on the storage device selected at step 548.
[0124]
If it is determined in step 546 that no storage device has been identified in step 544, it indicates that none of the devices selected in step 540 have a positive RSVS value (ie, the one selected in step 540). Or multiple devices have negative or zero RSVS values). DMS 104 then determines the storage device with the highest (ie, closest to zero) negative RSVS value from among the storage devices identified at step 540 (step 550). As described above, among devices with negative RSVS values, the device with the highest RSVS value (ie, RSVS closest to 0) is the most suitable device for storing the data file.
[0125]
The DMS 104 then determines whether a “candidate” device has been previously identified (step 551). If a candidate device has been identified, the DMS 104 determines whether the RSVS value of the storage device identified in step 550 is greater than (ie, closer to 0) the RSVS value of the previously identified “candidate” device. (Step 552). If it is determined in step 552 that the RSVS value of the storage device identified in step 550 is greater than (ie, closer to 0) the RSVS value of the previously identified “candidate” device, the storage device identified in step 550 Mark as a “candidate” device (step 554). The process then proceeds to step 526 shown in FIG. 5A.
[0126]
If at step 551 it is determined that the candidate device has not been identified, the process proceeds to step 554 where the storage device identified at step 550 is marked as a “candidate” device. If it is determined in step 552 that the RSVS value of the storage device identified in step 550 is less than or equal to the RSVS value of the “candidate” device previously identified, the process proceeds to step 526 shown in FIG. 5A.
[0127]
In the embodiments of the present invention described above, the DMS 104 iterates from the beginning to the end of the ranked placement rules to identify the placement rules suitable for storing data files and the corresponding storage devices corresponding thereto. Process. The present invention enables efficient data access in a heterogeneous storage environment while optimizing storage resources available with minimal human intervention based on the storage policy configured for that storage environment The technique for determining the data storage position is described as follows.
[0128]
While specific embodiments of the present invention have been described above, various modifications, changes, alternative configurations, and equivalents are also encompassed within the scope of the present invention. The present invention is not limited to operation within a specific specific data processing environment, but can be freely operated within a plurality of data processing environments. Further, although the present invention has been described using a specific series of transactions and steps, it will be apparent to those skilled in the art that the scope of the present invention is not limited to the series of transactions and steps described above. It should be. While the foregoing embodiments discuss the use of bandwidth as a factor in RSVS calculations, according to other embodiments of the invention, other factors such as storage device availability may be used to determine RSVS. It can also be calculated. It should be understood that the foregoing equations are merely illustrative of one embodiment of the present invention and may be different in alternative embodiments of the present invention.
[0129]
Further, while the invention has been described using one specific combination of hardware and software, it should be understood that other combinations of hardware and software are also within the scope of the invention. The present invention can be implemented as hardware only, software only, or a combination thereof.
[0130]
The specification and drawings are accordingly to be regarded in an illustrative rather than a restrictive sense. However, it will be apparent that additions, removals, deletions and other modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the claims.
[Brief description of the drawings]
[0131]
FIG. 1 is a simplified block diagram illustrating a distributed system that may incorporate an embodiment of the present invention.
FIG. 2 is a simplified block diagram illustrating a data management server according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating an example of an arrangement rule according to an embodiment of the present invention.
FIG. 4 is a simplified high-level diagram illustrating a method for selecting a storage device from a storage environment for storing data files based on a storage policy configured for that storage environment, according to one embodiment of the invention. It is a flowchart.
FIG. 5A illustrates a process performed to identify a storage device that stores a data file based on ranked placement rules and storage device and data file characteristics, according to one embodiment of the invention. Figure 6 is a simplified high level flow diagram shown.
FIG. 5B illustrates a process performed to identify storage devices that store data files based on ranked placement rules and storage device and data file characteristics, according to one embodiment of the invention. Figure 6 is a simplified high level flow diagram shown.

Claims (49)

複数の記憶デバイスを含むストレージ環境において、前記複数の記憶デバイスの中からデータを記憶するための記憶デバイスを識別する方法であって、
データ・ユニットを記憶するための信号を受け取ること、
それぞれが前記記憶されるデータの1つまたは複数の特性に関連する1つまたは複数の条件を識別するデータ関連基準と、1つまたは複数の記憶デバイス特性に関連する1つまたは複数の条件を識別するデバイス関連基準とを含む、前記ストレージ環境のために構成された1つまたは複数の配置規則のセットを識別すること、
前記配置規則の前記データ関連基準と前記データ・ユニットの特性に基づいて前記配置規則セット中の各配置規則ごとにデータ値スコア(DVS)を計算すること、
前記配置規則セットとそれに関連するDVS、前記複数の記憶デバイスの特性、記憶される前記データ・ユニットの特性に基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定すること
を含む方法。
A method of identifying a storage device for storing data from among the plurality of storage devices in a storage environment including a plurality of storage devices, comprising:
Receiving a signal for storing the data unit;
Data-related criteria each identifying one or more conditions associated with one or more characteristics of the stored data and one or more conditions associated with one or more storage device characteristics Identifying a set of one or more placement rules configured for the storage environment, including device related criteria
Calculating a data value score (DVS) for each placement rule in the placement rule set based on the data-related criteria of the placement rule and characteristics of the data unit;
A storage device for storing the data unit from among the plurality of storage devices based on the placement rule set and associated DVS, characteristics of the plurality of storage devices, and characteristics of the data unit to be stored To decide
Including methods.
配置規則の前記DVSが、記憶される前記データ・ユニットの特性によって満たされる尺度、すなわち前記配置規則の前記データ関連基準で指定された前記1つまたは複数の条件の尺度を提供する請求項1に記載の方法。The DVS of a placement rule provides a measure that is satisfied by characteristics of the stored data unit, i.e., a measure of the one or more conditions specified in the data-related criteria of the placement rule. The method described. 配置規則の前記データ関連基準が、
データ・ユニットに関連するアクセス情報に関連する1つまたは複数の条件を含む使用基準と、
データ・ユニットの特性に関連する1つまたは複数の条件を含むユニット選択基準と
を含み、
前記配置規則セット中の各配置規則ごとにデータ値スコア(DVS)を計算することが、
前記配置規則の前記使用基準と、記憶される前記データ・ユニットの特性とに基づいて前記配置規則の使用スコアを生成すること、
前記配置規則のユニット選択基準と、記憶される前記データ・ユニットの特性とに基づいて前記配置規則のユニット選択スコアを生成すること、
前記使用スコアと前記ユニット選択スコアに基づいて前記配置規則の前記DVSを生成すること
を含む請求項1に記載の方法。
The data-related criteria of the placement rules are
A usage criterion including one or more conditions associated with access information associated with the data unit;
Unit selection criteria including one or more conditions related to the characteristics of the data unit;
Calculating a data value score (DVS) for each placement rule in the placement rule set;
Generating a usage score for the placement rule based on the usage criteria for the placement rule and characteristics of the stored data unit;
Generating a unit selection score for the placement rule based on a unit selection criterion for the placement rule and a characteristic of the stored data unit;
The method of claim 1, comprising generating the DVS of the placement rule based on the usage score and the unit selection score.
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための前記記憶デバイスを決定することが、
前記配置規則セットに関連する前記DVSに基づいて前記配置規則セットの中から第1の配置規則を選択すること、
前記第1の配置規則の前記デバイス関連基準、前記データ・ユニットの前記特性、前記記憶デバイスの特性に基づいて、前記複数の記憶デバイス中の各記憶デバイスごとに相対的記憶値スコア(RSVS)を計算すること、
前記複数の記憶デバイスについて計算された前記RSVSに基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択すること
を含む請求項1に記載の方法。
Determining the storage device for storing the data unit from among the plurality of storage devices;
Selecting a first placement rule from the placement rule set based on the DVS associated with the placement rule set;
Based on the device-related criteria of the first placement rule, the characteristics of the data unit, the characteristics of the storage device, a relative stored value score (RSVS) for each storage device in the plurality of storage devices. Calculating,
The method of claim 1, comprising selecting a storage device for storing the data unit from the plurality of storage devices based on the RSVS calculated for the plurality of storage devices.
前記記憶デバイスのRSVSが、前記記憶デバイスによってサポートされる帯域幅に正比例し、前記記憶デバイスが閾値容量を超えずにデータを記憶することのできる程度に正比例し、かつ前記記憶デバイス上にデータを記憶するコストに反比例する請求項4に記載の方法。The RSVS of the storage device is directly proportional to the bandwidth supported by the storage device, directly proportional to the extent that the storage device can store data without exceeding a threshold capacity, and data on the storage device The method of claim 4, wherein the method is inversely proportional to the cost of storage. 前記記憶デバイスのRSVSが前記記憶デバイスのアベラビリティに正比例する請求項5に記載の方法。The method of claim 5, wherein the RSVS of the storage device is directly proportional to the availability of the storage device. 前記複数の記憶デバイスについて計算された前記RSVSに基づいて前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択することが、
前記複数の記憶デバイスの中から最高のRSVS値を持つ記憶デバイスを選択すること
を含む請求項5に記載の方法。
Selecting a storage device for storing the data unit from the plurality of storage devices based on the RSVS calculated for the plurality of storage devices;
6. The method of claim 5, comprising selecting a storage device having a highest RSVS value from the plurality of storage devices.
記憶デバイスについて計算された前記RSVSは、前記記憶デバイスが前記第1の配置規則の前記デバイス関連基準で指定されたデバイス帯域幅値をサポートすることができるかどうかを示す請求項4に記載の方法。The method of claim 4, wherein the RSVS calculated for a storage device indicates whether the storage device can support a device bandwidth value specified in the device-related criteria of the first placement rule. . 記憶デバイスについて計算された前記RSVSが、前記記憶デバイスが、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうかを示す請求項4に記載の方法。The method of claim 4, wherein the RSVS calculated for a storage device indicates whether the storage device can store the data unit without exceeding a capacity threshold associated with the storage device. 前記第1の配置規則を選択することが、最高のDVSを持つ配置規則を前記第1の配置規則として選択することを含む請求項4に記載の方法。The method of claim 4, wherein selecting the first placement rule includes selecting a placement rule with the highest DVS as the first placement rule. 最高のDVSを持つ配置規則を選択することが、
前記最高のDVSが複数の配置規則に関連する場合は、均衡を破る規則を使用して前記複数の配置規則の中から1つの配置規則を前記第1の配置規則として選択すること
を含む請求項10に記載の方法。
Choosing the placement rule with the highest DVS
6. If the highest DVS is associated with a plurality of placement rules, the method includes selecting an placement rule as the first placement rule from among the plurality of placement rules using an unbalanced rule. 10. The method according to 10.
前記データ・ユニットを記憶するための前記記憶デバイスを決定することが、
前記配置規則セットについて計算されたDVSに基づいて前記複数の配置規則の中から第1の配置規則を選択すること、
前記第1の配置規則の前記デバイス関連基準に基づいて前記複数の記憶デバイスの中から第1の記憶デバイス・セットを識別すること、
前記第1の記憶デバイス・セット中の各記憶デバイスごとに、前記第1の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて相対的記憶値スコア(RSVS)を生成すること、
前記複数の記憶デバイスについて計算された前記RSVSに基づいて前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択すること
を含む請求項1に記載の方法。
Determining the storage device for storing the data unit;
Selecting a first placement rule from the plurality of placement rules based on a DVS calculated for the placement rule set;
Identifying a first set of storage devices from among the plurality of storage devices based on the device-related criteria of the first placement rule;
For each storage device in the first storage device set, a relative stored value score (RSVS) based on the device-related criteria of the first placement rule, characteristics of the data unit, characteristics of the storage device ),
2. The method of claim 1, comprising selecting a storage device for storing the data unit from the plurality of storage devices based on the RSVS calculated for the plurality of storage devices.
記憶デバイスの前記RSVSが、
前記記憶デバイスによってサポートされる帯域幅と、
前記第1の配置規則の前記デバイス関連基準で指定されたデバイス帯域幅値と、
前記データ・ユニットを記憶するために割り振られた前記デバイスの総容量の一部を示す、前記記憶デバイスのために構成された所望の閾値容量と、
個々のタイプのデータを記憶するために使用されている前記記憶デバイスの一部を示す、前記記憶デバイスの現在の使用量情報と、
前記記憶デバイス上にデータを記憶するコストと
に基づいて計算され、
前記第1の記憶デバイス・セット中の各記憶デバイスごとにRSVSを生成することが、
前記記憶デバイスが前記第1の配置規則によって指定された前記帯域幅要求を満たすことができない場合は、ゼロの値を持つRSVSを生成すること、
前記記憶デバイスが前記第1の配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる場合は、ゼロより大きい値を持つRSVSを生成すること、
前記記憶デバイスが前記第1の配置規則によって指定された前記帯域幅要求を満たすことができるが、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができない場合は、ゼロより小さい値を持つRSVSを生成すること
を含む請求項12に記載の方法。
The RSVS of the storage device is
Bandwidth supported by the storage device;
A device bandwidth value specified in the device-related criteria of the first placement rule;
A desired threshold capacity configured for the storage device indicating a portion of the total capacity of the device allocated to store the data unit;
Current usage information of the storage device indicating a portion of the storage device being used to store individual types of data;
Calculated based on the cost of storing data on the storage device,
Generating an RSVS for each storage device in the first storage device set;
Generating an RSVS with a value of zero if the storage device cannot meet the bandwidth requirement specified by the first placement rule;
If the storage device can meet the bandwidth requirement specified by the first placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; Generating an RSVS with a value greater than zero;
If the storage device can meet the bandwidth requirement specified by the first placement rule, but cannot store the data unit without exceeding a capacity threshold associated with the storage device, The method of claim 12, comprising generating an RSVS having a value less than zero.
前記第1のセットから前記データ・ユニットを記憶するための記憶デバイスを選択することが、最高のRSVSを持つデバイスを選択することを含む請求項13に記載の方法。The method of claim 13, wherein selecting a storage device for storing the data unit from the first set comprises selecting a device with the highest RSVS. 配置規則の前記DVSが前記配置規則の記憶される前記データ・ユニットに対する関連度を示し、
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定することが、
(a)最高の関連度を示すDVSを持つ配置規則を選択すること、
(b)前記選択された配置規則に基づいて前記複数のデバイスの中から第1の記憶デバイス・セットを識別すること、
(c)前記第1の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第1の記憶デバイス・セット中の各記憶デバイスごとに、前記記憶デバイスが前記選択された配置規則によって指定された帯域幅要求を満たすことができるかどうかを示すと共に前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうかも示す相対的記憶値スコア(RSVS)を生成すること、
(d)前記第1の記憶デバイス・セット中の少なくとも1台の記憶デバイスが、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうか判定すること、
(e)前記第1の記憶デバイス・セット中の少なくとも1台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができると判定された場合は、前記記憶デバイスについて生成されたRSVSに基づいて、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる記憶デバイスを選択すること、
(f)前記第1のデバイス・セット中のどの記憶デバイスも前記選択された配置規則によって指定された前記帯域幅要求を満たすことができず、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することもできない場合は、前記配置規則セットの中から、次に高い関連度を示すDVSを持つ別の配置規則を選択すること、
(g)前記第1の配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することのできる前記データ・ユニットを記憶するための記憶デバイスが識別されるまで、ステップ(b)から(f)を繰り返すこと
を含む請求項1に記載の方法。
The DVS of the placement rule indicates the relevance of the placement rule to the stored data unit;
Determining a storage device for storing the data unit from the plurality of storage devices;
(A) selecting a placement rule with a DVS indicating the highest relevance;
(B) identifying a first storage device set from among the plurality of devices based on the selected placement rule;
(C) for each storage device in the first storage device set, for each storage device based on the device-related criteria of the first placement rule, the characteristics of the data unit, the characteristics of the storage device Can store the data unit without exceeding the capacity threshold associated with the storage device and indicating whether the bandwidth requirement specified by the selected placement rule can be met Generating a relative stored value score (RSVS) that also indicates whether
(D) a capacity threshold associated with the storage device, wherein at least one storage device in the first storage device set can satisfy the bandwidth requirement specified by the selected placement rule; Determining whether the data unit can be stored without exceeding
(E) at least one storage device in the first storage device set can satisfy the bandwidth requirement specified by the selected placement rule and has a capacity threshold associated with the storage device; If it is determined that the data unit can be stored without exceeding, satisfying the bandwidth requirement specified by the selected placement rule based on the RSVS generated for the storage device. Selecting a storage device capable of storing the data unit without exceeding a capacity threshold associated with the storage device;
(F) no storage device in the first device set can meet the bandwidth requirement specified by the selected placement rule and the capacity threshold associated with the storage device is not exceeded; If the data unit cannot be stored, selecting another placement rule having a DVS indicating the next highest relevance from the placement rule set;
(G) the data unit capable of satisfying the bandwidth requirement specified by the first placement rule and storing the data unit without exceeding a capacity threshold associated with the storage device; The method of claim 1, comprising repeating steps (b) to (f) until a storage device for storing is identified.
配置規則の前記DVSが前記配置規則の記憶される前記データ・ユニットに対する関連度を示し、
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定することが、
(a)最高の関連度を示すDVSを持つ配置規則を選択すること、
(b)選択された配置規則に基づいて前記複数のデバイスの中から第1の記憶デバイス・セットを識別すること、
(c)前記第1の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第1の記憶デバイス・セット中の各記憶デバイスごとに、前記記憶デバイス上に前記データ・ユニットを記憶することの望ましさの度合いを示し、前記記憶デバイスが前記選択された配置規則によって指定された帯域幅要求を満たすことができるかどうかを示し、かつ前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうかを示す相対的記憶値スコア(RSVS)を生成すること、
(d)前記第1の記憶デバイス・セット中の少なくとも1台の記憶デバイスが、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうか判定すること、
(e)前記第1の記憶デバイス・セット中の少なくとも1台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができると判定された場合は、前記記憶デバイスについて生成されたRSVSに基づいて、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる記憶デバイスを選択すること、
(f)前記第1のデバイス・セット中のどの記憶デバイスも前記選択された配置規則によって指定された前記帯域幅要求を満たすことができず、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することもできない場合は、
前記第1の記憶デバイス・セットの中から、前記記憶ユニットを記憶することができ、前記第1の記憶デバイス・セット中の他のデバイスよりも前記データ・ユニットを記憶するのにより望ましいと前記デバイスについて生成された前記RSVSによって示される第1の記憶デバイスを決定すること、
候補デバイスとして記憶デバイスが識別されているかどうか判定すること、
候補デバイスとして記憶デバイスがマークされている場合は、
前記第1の記憶デバイスが前記マークされた候補デバイスよりも前記データ・ユニットを記憶するのにより望ましいと前記第1のデバイスと前記マークされた候補デバイスとに関連するRSVSによって示される場合は、前記候補デバイスとして前記第1の記憶デバイスをマークすること、
前記配置規則セットの中から、次に高い関連度を示すDVSを持つ別の配置規則を選択すること、
(g)前記データ・ユニットを記憶するための記憶デバイスが識別されるまで、または前記配置規則セット中のすべての配置規則が処理されるまで、ステップ(b)から(f)を繰り返すこと、
(h)前記配置規則セット中のすべての配置規則が処理されたが、前記データ・ユニットを記憶するための記憶デバイスが識別されなかった場合は、前記データ・ユニットを記憶するために前記候補デバイスとしてマークされた前記記憶デバイスを選択すること
を含む請求項1に記載の方法。
The DVS of the placement rule indicates the relevance of the placement rule to the stored data unit;
Determining a storage device for storing the data unit from the plurality of storage devices;
(A) selecting a placement rule with a DVS indicating the highest relevance;
(B) identifying a first storage device set from the plurality of devices based on the selected placement rule;
(C) for each storage device in the first storage device set based on the device-related criteria of the first placement rule, the characteristics of the data unit, the characteristics of the storage device, the storage device Indicating the degree of desirability of storing the data unit above, indicating whether the storage device can meet the bandwidth requirements specified by the selected placement rule, and the storage device Generating a relative stored value score (RSVS) indicating whether the data unit can be stored without exceeding a capacity threshold associated with the storage device;
(D) a capacity threshold associated with the storage device, wherein at least one storage device in the first storage device set can satisfy the bandwidth requirement specified by the selected placement rule; Determining whether the data unit can be stored without exceeding
(E) at least one storage device in the first storage device set can satisfy the bandwidth requirement specified by the selected placement rule and has a capacity threshold associated with the storage device; If it is determined that the data unit can be stored without exceeding, satisfying the bandwidth requirement specified by the selected placement rule based on the RSVS generated for the storage device. Selecting a storage device capable of storing the data unit without exceeding a capacity threshold associated with the storage device;
(F) no storage device in the first device set can meet the bandwidth requirement specified by the selected placement rule and the capacity threshold associated with the storage device is not exceeded; If you can't remember the data unit,
The device is capable of storing the storage unit from within the first storage device set and is more desirable to store the data unit than other devices in the first storage device set Determining a first storage device indicated by said RSVS generated for
Determining whether a storage device is identified as a candidate device;
If a storage device is marked as a candidate device,
If the first storage device indicates by the RSVS associated with the first device and the marked candidate device that it is more desirable to store the data unit than the marked candidate device; Marking the first storage device as a candidate device;
Selecting another placement rule having a DVS indicating the next highest relevance from the placement rule set;
(G) repeating steps (b) through (f) until a storage device for storing the data unit is identified or until all placement rules in the placement rule set have been processed;
(H) if all placement rules in the placement rule set have been processed but no storage device for storing the data unit has been identified, the candidate device for storing the data unit; The method of claim 1, comprising selecting the storage device marked as.
複数の記憶デバイスを含むストレージ環境において、前記複数の記憶デバイスの中からデータを記憶するための記憶デバイスを識別するデータ処理システムであって、
プロセッサと、
前記プロセッサが実行するための複数のコード・モジュールを記憶するように構成され、前記プロセッサに結合されたメモリであって、前記複数のコード・モジュールが、
データ・ユニットを記憶するための信号を受け取るコード・モジュール、
それぞれが前記記憶されるデータの1つまたは複数の特性に関連する1つまたは複数の条件を識別するデータ関連基準と、1つまたは複数の記憶デバイス特性に関連する1つまたは複数の条件を識別するデバイス関連基準とを含む、前記ストレージ環境のために構成された1つまたは複数の配置規則のセットを識別するコード・モジュール、
前記配置規則の前記データ関連基準と前記データ・ユニットの特性とに基づいて、前記配置規則セット中の各配置規則ごとにデータ値スコア(DVS)を計算するコード・モジュール、
前記配置規則セットと、それに関連するDVS、前記複数の記憶デバイスの特性、記憶される前記データ・ユニットの特性に基づいて、前記複数の記憶デバイスの中から、前記データ・ユニットを記憶するための記憶デバイスを決定するコード・モジュール
を含むメモリと
を含むデータ処理システム。
A data processing system for identifying a storage device for storing data among the plurality of storage devices in a storage environment including a plurality of storage devices,
A processor;
A memory coupled to the processor and configured to store a plurality of code modules for execution by the processor, the plurality of code modules comprising:
A code module that receives a signal for storing the data unit;
Data-related criteria each identifying one or more conditions associated with one or more characteristics of the stored data and one or more conditions associated with one or more storage device characteristics A code module that identifies a set of one or more placement rules configured for the storage environment, including device-related criteria
A code module that calculates a data value score (DVS) for each placement rule in the placement rule set based on the data-related criteria of the placement rule and characteristics of the data unit;
For storing the data unit from among the plurality of storage devices based on the set of placement rules and associated DVS, characteristics of the plurality of storage devices, characteristics of the stored data units; A data processing system including a memory including a code module for determining a storage device.
配置規則の前記DVSが、記憶される前記データ・ユニットの特性によって満たされる尺度、すなわち前記配置規則の前記データ関連基準で指定された前記1つまたは複数の条件の尺度を提供する請求項17に記載のシステム。18. The DVS of placement rules provides a measure that is satisfied by characteristics of the stored data units, i.e., a measure of the one or more conditions specified in the data-related criteria of the placement rule. The described system. 配置規則の前記データ関連基準が、
データ・ユニットに関連するアクセス情報に関連する1つまたは複数の条件を含む使用基準と、
データ・ユニットの特性に関連する1つまたは複数の条件を含むユニット選択基準と
を含み、
前記配置規則セット中の各配置規則ごとにデータ値スコア(DVS)を計算する前記コード・モジュールが、
前記配置規則の前記使用基準と、記憶される前記データ・ユニットに関連するアクセス情報とに基づいて、前記配置規則の使用スコアを生成するコード・モジュールと、
前記配置規則の前記ユニット選択基準と、記憶される前記データ・ユニットの特性とに基づいて前記配置規則のユニット選択スコアを生成するコード・モジュールと、
前記使用スコアと前記ユニット選択スコアに基づいて前記配置規則の前記DVSを生成するコード・モジュールと
を含む請求項17に記載のシステム。
The data-related criteria of the placement rules are
A usage criterion including one or more conditions associated with access information associated with the data unit;
Unit selection criteria including one or more conditions related to the characteristics of the data unit;
The code module calculating a data value score (DVS) for each placement rule in the placement rule set;
A code module that generates a usage score for the placement rule based on the usage criteria for the placement rule and access information associated with the stored data unit;
A code module that generates a unit selection score for the placement rule based on the unit selection criteria of the placement rule and characteristics of the stored data unit;
The system of claim 17 including a code module that generates the DVS of the placement rules based on the usage score and the unit selection score.
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための前記記憶デバイスを決定する前記コード・モジュールが、
前記配置規則セットに関連する前記DVSに基づいて前記配置規則の中から第1の配置規則を選択するコード・モジュールと、
前記配置規則のデバイス関連基準、前記データ・ユニットの前記特性、前記記憶デバイスの特性に基づいて、前記複数の記憶デバイス中の各記憶デバイスごとに相対的記憶値スコア(RSVS)を計算するコード・モジュールと、
前記複数の記憶デバイスについて計算された前記RSVSに基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択するコード・モジュールと
を含む請求項17に記載のシステム。
The code module for determining the storage device for storing the data unit from the plurality of storage devices;
A code module that selects a first placement rule from among the placement rules based on the DVS associated with the placement rule set;
A code that calculates a relative stored value score (RSVS) for each storage device in the plurality of storage devices based on the device-related criteria of the placement rules, the characteristics of the data unit, and the characteristics of the storage devices; Module,
And a code module for selecting a storage device for storing the data unit from the plurality of storage devices based on the RSVS calculated for the plurality of storage devices. .
記憶デバイスの前記RSVSが、前記記憶デバイスによってサポートされる帯域幅に正比例し、前記記憶デバイスが閾値容量を超えずにデータを記憶できる程度に正比例し、かつ前記記憶デバイス上にデータを記憶するコストに反比例する請求項20に記載のシステム。The cost of storing data on the storage device, the RSVS of the storage device being directly proportional to the bandwidth supported by the storage device, directly proportional to the extent that the storage device can store data without exceeding a threshold capacity 21. The system of claim 20, wherein the system is inversely proportional to. 記憶デバイスの前記RSVSが前記記憶デバイスのアベラビリティに正比例する請求項21に記載のシステム。The system of claim 21, wherein the RSVS of a storage device is directly proportional to the availability of the storage device. 前記複数の記憶デバイスについて計算された前記RSVSに基づいて前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択する前記コード・モジュールが、
前記複数の記憶デバイスの中から最高のRSVS値を持つ記憶デバイスを選択するコード・モジュール
を含む請求項21に記載のシステム。
The code module for selecting a storage device for storing the data unit from the plurality of storage devices based on the RSVS calculated for the plurality of storage devices;
The system of claim 21 including a code module that selects a storage device having a highest RSVS value from the plurality of storage devices.
記憶デバイスについて計算された前記RSVSは、前記記憶デバイスが、前記第1の配置規則の前記デバイス関連基準で指定されたデバイス帯域幅値をサポートできるかどうか示す請求項20に記載のシステム。21. The system of claim 20, wherein the RSVS calculated for a storage device indicates whether the storage device can support a device bandwidth value specified in the device-related criteria of the first placement rule. 記憶デバイスについて計算された前記RSVSは、前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶できるかどうかを示す請求項20に記載のシステム。21. The system of claim 20, wherein the RSVS calculated for a storage device indicates whether the storage device can store the data unit without exceeding a capacity threshold associated with the storage device. 前記第1の配置規則を選択する前記コード・モジュールが、最高のDVSを持つ配置規則を前記第1の配置規則として選択するコード・モジュールを含む請求項20に記載のシステム。21. The system of claim 20, wherein the code module that selects the first placement rule includes a code module that selects the placement rule with the highest DVS as the first placement rule. 最高のDVSを持つ配置規則を選択する前記コード・モジュールが、
前記最高のDVSが複数の配置規則に関連する場合は、均衡を破る規則を使用して前記複数の配置規則の中から1つの配置規則を前記第1の配置規則として選択するコード・モジュール
を含む請求項26に記載のシステム。
The code module that selects the placement rule with the highest DVS is
If the highest DVS is associated with a plurality of placement rules, a code module is used to select one placement rule from among the plurality of placement rules as the first placement rule using an unbalanced rule. 27. The system of claim 26.
前記データ・ユニットを記憶するための前記記憶デバイスを決定する前記コード・モジュールが、
前記配置規則セットについて計算されたDVSに基づいて、前記複数の配置規則の中から第1の配置規則を選択するコード・モジュールと、
前記第1の配置規則の前記デバイス関連基準に基づいて前記複数の記憶デバイスの中から第1の記憶デバイス・セットを識別するコード・モジュールと、
前記第1の記憶デバイス・セット中の各記憶デバイスごとに、前記第1の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて相対的記憶値スコア(RSVS)を生成するコード・モジュールと、
前記複数の記憶デバイスについて計算された前記RSVSに基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択するコード・モジュールと
を含む請求項17に記載のシステム。
The code module for determining the storage device for storing the data unit;
A code module that selects a first placement rule from the plurality of placement rules based on a DVS calculated for the placement rule set;
A code module for identifying a first set of storage devices from among the plurality of storage devices based on the device-related criteria of the first placement rule;
For each storage device in the first storage device set, a relative stored value score (RSVS) based on the device-related criteria of the first placement rule, characteristics of the data unit, characteristics of the storage device A code module that generates
And a code module for selecting a storage device for storing the data unit from the plurality of storage devices based on the RSVS calculated for the plurality of storage devices. .
記憶デバイスの前記RSVSが、
前記記憶デバイスによってサポートされる帯域幅と、
前記第1の配置規則の前記デバイス関連基準で指定されたデバイス帯域幅値と、
前記データ・ユニットを記憶するために割り振られた前記デバイスの総容量の一部を示す、前記記憶デバイスのために構成された所望の閾値容量と
個々のタイプのデータを記憶するために使用されている前記記憶デバイスの一部を示す、前記記憶デバイスの現在の使用量情報と
前記記憶デバイス上にデータを記憶するコストと
に基づいて計算され、
前記記憶デバイス・セット中の各記憶デバイスごとにRSVSを生成する前記コード・モジュールが、
前記記憶デバイスが前記第1の配置規則によって指定された前記帯域幅要求を満たすことができない場合は、ゼロの値を持つRSVSを生成するコード・モジュールと、
前記記憶デバイスが前記第1の配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる場合は、ゼロより大きい値を持つRSVSを生成するコード・モジュールと、
前記記憶デバイスが前記第1の配置規則によって指定された前記帯域幅要求を満たすことができるが、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができない場合は、ゼロより小さい値を持つRSVSを生成するコード・モジュールと
を含む請求項28に記載のシステム。
The RSVS of the storage device is
Bandwidth supported by the storage device;
A device bandwidth value specified in the device-related criteria of the first placement rule;
Used to store a desired threshold capacity configured for the storage device and individual types of data, indicating a portion of the total capacity of the device allocated to store the data unit Calculated based on current usage information of the storage device and the cost of storing data on the storage device, indicating a portion of the storage device
The code module for generating an RSVS for each storage device in the storage device set;
A code module that generates an RSVS with a value of zero if the storage device cannot satisfy the bandwidth requirement specified by the first placement rule;
If the storage device can meet the bandwidth requirement specified by the first placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; A code module that generates an RSVS having a value greater than zero;
If the storage device can meet the bandwidth requirement specified by the first placement rule, but cannot store the data unit without exceeding a capacity threshold associated with the storage device, 30. The system of claim 28, including a code module that generates an RSVS having a value less than zero.
前記第1のセットの中から前記データ・ユニットを記憶するための記憶デバイスを選択する前記コード・モジュールが、最高のRSVSを持つデバイスを選択するコード・モジュールを含む請求項29に記載のシステム。30. The system of claim 29, wherein the code module that selects a storage device for storing the data unit from the first set includes a code module that selects a device with the highest RSVS. 配置規則の前記DVSが、前記配置規則の記憶される前記データ・ユニットに対する関連度を示し、
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定する前記コード・モジュールが、
(a)最高の関連度を示すDVSを持つ配置規則を選択し、
(b)前記選択された配置規則に基づいて前記複数のデバイスの中から第1の記憶デバイス・セットを識別し、
(c)前記第1の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第1の記憶デバイス・セット中の各記憶デバイスごとに、前記記憶デバイスが前記選択された配置規則によって指定された帯域幅要求を満たすことができるかどうかを示すと共に前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することがデータ記憶かどうかも示す相対的記憶値スコア(RSVS)を生成し、
(d)前記第1の記憶デバイス・セット中の少なくとも1台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうか判定し、
(e)前記第1の記憶デバイス・セット中の少なくとも1台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができると判定された場合は、前記記憶デバイスについて生成されたRSVSに基づいて、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる記憶デバイスを選択し、
(f)前記第1のデバイス・セット中のどの記憶デバイスも前記選択された配置規則によって指定された前記帯域幅要求を満たすことができず、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することもできない場合は、前記配置規則セットの中から、次に高い関連度を示すDVSを持つ別の配置規則を選択し、
(g)前記第1の配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することのできる前記データ・ユニットを記憶するための記憶デバイスが識別されるまで、ステップ(b)から(f)を繰り返すコード・モジュールを含む請求項17に記載のシステム。
The DVS of the placement rule indicates the relevance of the placement rule to the stored data unit;
The code module for determining a storage device for storing the data unit from the plurality of storage devices;
(A) Select a placement rule with a DVS indicating the highest relevance,
(B) identifying a first storage device set from the plurality of devices based on the selected placement rule;
(C) for each storage device in the first storage device set based on the device-related criteria of the first placement rule, the characteristics of the data unit, the characteristics of the storage device, the storage device Indicates that the storage device can satisfy the bandwidth requirement specified by the selected placement rule and that the storage device stores the data unit without exceeding a capacity threshold associated with the storage device. Generate a relative memory score (RSVS) that also indicates whether or not
(D) at least one storage device in the first storage device set can satisfy the bandwidth requirement specified by the selected placement rule and has a capacity threshold associated with the storage device; Determine whether the data unit can be stored without exceeding,
(E) at least one storage device in the first storage device set can satisfy the bandwidth requirement specified by the selected placement rule and has a capacity threshold associated with the storage device; If it is determined that the data unit can be stored without exceeding, satisfying the bandwidth requirement specified by the selected placement rule based on the RSVS generated for the storage device. Selecting a storage device capable of storing the data unit without exceeding a capacity threshold associated with the storage device;
(F) no storage device in the first device set can meet the bandwidth requirement specified by the selected placement rule and the capacity threshold associated with the storage device is not exceeded; If the data unit cannot be stored, another placement rule having a DVS indicating the next highest relevance is selected from the placement rule set;
(G) the data unit capable of satisfying the bandwidth requirement specified by the first placement rule and storing the data unit without exceeding a capacity threshold associated with the storage device; 18. The system of claim 17, comprising a code module that repeats steps (b) through (f) until a storage device for storing is identified.
配置規則の前記DVSが前記配置規則の記憶される前記データ・ユニットに対する関連度を示し、
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定する前記コード・モジュールが、
(a)最高の関連度を示すDVSを持つ配置規則を選択し、
(b)前記選択された配置規則に基づいて前記複数のデバイスの中から第1の記憶デバイス・セットを識別し、
(c)前記第1の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第1の記憶デバイス・セット中の各記憶デバイスごとに、前記記憶デバイス上に前記データ・ユニットを記憶することの望ましさの度合いを示し、前記記憶デバイスが前記選択された配置規則によって指定された帯域幅要求を満たすことができるかどうかを示し、かつ前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうかを示す相対的記憶値スコア(RSVS)を生成し、
(d)前記第1の記憶デバイス・セット中の少なくとも1台の記憶デバイスが、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうか判定し、
(e)前記第1の記憶デバイス・セット中の少なくとも1台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができると判定された場合は、前記記憶デバイスについて生成されたRSVSに基づいて、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる記憶デバイスを選択し、
(f)前記第1のデバイス・セット中のどの記憶デバイスも前記選択された配置規則によって指定された前記帯域幅要求を満たすことができず、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することもできない場合は、
前記第1の記憶デバイス・セットの中から、前記記憶ユニットを記憶することができ、前記第1の記憶デバイス・セット中の他のデバイスよりも前記データ・ユニットを記憶するのにより望ましいと前記デバイスについて生成された前記RSVSによって示される第1の記憶デバイスを決定し、
候補デバイスとして記憶デバイスが識別されているかどうか判定し、
候補デバイスとして記憶デバイスがマークされている場合は、
前記第1の記憶デバイスが前記マークされた候補デバイスよりも前記データ・ユニットを記憶するのにより望ましいと前記第1のデバイスと前記マークされた候補デバイスとに関連するRSVSによって示される場合は、前記候補デバイスとして前記第1の記憶デバイスをマークし、
前記配置規則セットの中から、次に高い関連度を示すDVSを持つ別の配置規則を選択し、
(g)前記データ・ユニットを記憶するための記憶デバイスが識別されるまで、または前記配置規則セット中のすべての配置規則が処理されるまで、ステップ(b)から(f)を繰り返し、
(h)前記配置規則セット中のすべての配置規則が処理されたが、前記データ・ユニットを記憶するための記憶デバイスが識別されなかった場合は、前記データ・ユニットを記憶するために前記候補デバイスとしてマークされた前記記憶デバイスを選択する
コード・モジュールを含む請求項17に記載のシステム。
The DVS of the placement rule indicates the relevance of the placement rule to the stored data unit;
The code module for determining a storage device for storing the data unit from the plurality of storage devices;
(A) Select a placement rule with a DVS indicating the highest relevance,
(B) identifying a first storage device set from the plurality of devices based on the selected placement rule;
(C) for each storage device in the first storage device set based on the device-related criteria of the first placement rule, the characteristics of the data unit, the characteristics of the storage device, the storage device Indicating the degree of desirability of storing the data unit above, indicating whether the storage device can meet the bandwidth requirements specified by the selected placement rule, and the storage device Generating a relative stored value score (RSVS) indicating whether the data unit can be stored without exceeding a capacity threshold associated with the storage device;
(D) a capacity threshold associated with the storage device, wherein at least one storage device in the first storage device set can satisfy the bandwidth requirement specified by the selected placement rule; Determine whether the data unit can be stored without exceeding
(E) at least one storage device in the first storage device set can satisfy the bandwidth requirement specified by the selected placement rule and has a capacity threshold associated with the storage device; If it is determined that the data unit can be stored without exceeding, satisfying the bandwidth requirement specified by the selected placement rule based on the RSVS generated for the storage device. Selecting a storage device capable of storing the data unit without exceeding a capacity threshold associated with the storage device;
(F) no storage device in the first device set can meet the bandwidth requirement specified by the selected placement rule and the capacity threshold associated with the storage device is not exceeded; If you can't remember the data unit,
The device is capable of storing the storage unit from within the first storage device set and is more desirable to store the data unit than other devices in the first storage device set Determining a first storage device indicated by said RSVS generated for
Determine if the storage device is identified as a candidate device,
If a storage device is marked as a candidate device,
If the first storage device indicates by the RSVS associated with the first device and the marked candidate device that it is more desirable to store the data unit than the marked candidate device; Mark the first storage device as a candidate device;
From the placement rule set, select another placement rule having a DVS indicating the next highest relevance,
(G) repeating steps (b) to (f) until a storage device for storing the data unit is identified or until all placement rules in the placement rule set have been processed;
(H) if all placement rules in the placement rule set have been processed but no storage device for storing the data unit has been identified, the candidate device for storing the data unit; The system of claim 17, comprising a code module that selects the storage device marked as.
複数の記憶デバイスを含むストレージ環境でデータを記憶するための記憶デバイスを識別するための、コンピュータ可読記憶媒体上に記憶されたコンピュータ・プログラム製品であって、
データ・ユニットを記憶するための信号を受け取るコードと、
それぞれが前記記憶されるデータの1つまたは複数の特性に関連する1つまたは複数の条件を識別するデータ関連基準と、1つまたは複数の記憶デバイス特性に関連する1つまたは複数の条件を識別するデバイス関連基準とを含む、前記ストレージ環境のために構成された1つまたは複数の配置規則のセットを識別するコードと、
前記配置規則の前記データ関連基準と前記データ・ユニットの特性とに基づいて前記配置規則セットの各配置規則ごとにデータ値スコア(DVS)を計算するコードと、
前記配置規則セットと、それに関連するDVS、前記複数の記憶デバイスの特性、記憶される前記データ・ユニットの特性に基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定するコードと
を含むコンピュータ・プログラム製品。
A computer program product stored on a computer readable storage medium for identifying a storage device for storing data in a storage environment including a plurality of storage devices, comprising:
A code for receiving a signal for storing the data unit;
Data-related criteria each identifying one or more conditions associated with one or more characteristics of the stored data and one or more conditions associated with one or more storage device characteristics A code identifying a set of one or more placement rules configured for the storage environment, including device-related criteria to:
A code that calculates a data value score (DVS) for each placement rule of the placement rule set based on the data-related criteria of the placement rule and characteristics of the data unit;
Storage for storing the data unit from among the plurality of storage devices based on the placement rule set and its associated DVS, characteristics of the plurality of storage devices, and characteristics of the stored data units A computer program product that includes code that determines the device.
配置規則の前記DVSが、記憶される前記データ・ユニットの特性によって満たされる前記配置規則の前記データ関連基準で指定された前記1つまたは複数の条件の尺度を提供する請求項33に記載のコンピュータ・プログラム製品。34. The computer of claim 33, wherein the DVS of placement rules provides a measure of the one or more conditions specified in the data-related criteria of the placement rules that are satisfied by characteristics of the stored data units. -Program products. 配置規則の前記データ関連基準が、
データ・ユニットに関連するアクセス情報に関連する1つまたは複数の条件を含む使用基準と、
データ・ユニットの特性に関連する1つまたは複数の条件を含むユニット選択基準と
を含み、
前記配置規則セット中の各配置規則ごとにデータ値スコア(DVS)を計算する前記コードが、
前記配置規則の前記使用基準と、記憶される前記データ・ユニットに関連するアクセス情報とに基づいて、前記配置規則の使用スコアを生成するコードと、
前記配置規則の前記ユニット選択基準と記憶される前記データ・ユニットの特性とに基づいて、前記配置規則のユニット選択スコアを生成するコードと、
前記使用スコアと前記ユニット選択スコアとに基づいて前記配置規則のDVSを生成するコードと
を含む請求項33に記載のコンピュータ・プログラム製品。
The data-related criteria of the placement rules are
Usage criteria including one or more conditions associated with access information associated with the data unit;
Unit selection criteria including one or more conditions related to the characteristics of the data unit;
The code for calculating a data value score (DVS) for each placement rule in the placement rule set comprises:
Code for generating a usage score for the placement rule based on the usage criteria for the placement rule and access information associated with the stored data unit;
Code for generating a unit selection score for the placement rule based on the unit selection criteria of the placement rule and the characteristics of the stored data unit;
34. The computer program product of claim 33, including code for generating a DVS for the placement rule based on the usage score and the unit selection score.
前記複数の記憶デバイスの中から、前記データ・ユニットを記憶するための前記記憶デバイスを決定する前記コードが、
前記配置規則セットに関連する前記DVSに基づいて前記配置規則セットの中から第1の配置規則を選択するコードと、
前記第1の配置規則の前記デバイス関連基準、前記データ・ユニットの前記特性、前記記憶デバイスの特性に基づいて、前記複数の記憶デバイス中の記憶デバイスごとに相対的記憶値スコア(RSVS)を計算するコードと、
前記複数の記憶デバイスについて計算された前記RSVSに基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択するコードと
を含む請求項33に記載のコンピュータ・プログラム製品。
The code for determining the storage device for storing the data unit from among the plurality of storage devices,
A code that selects a first placement rule from the placement rule set based on the DVS associated with the placement rule set;
Calculate a relative stored value score (RSVS) for each storage device in the plurality of storage devices based on the device-related criteria of the first placement rule, the characteristics of the data unit, and the characteristics of the storage devices Code to
34. The computer program product of claim 33, comprising: code for selecting a storage device for storing the data unit from the plurality of storage devices based on the RSVS calculated for the plurality of storage devices. Product.
記憶デバイスの前記RSVSが、前記記憶デバイスによってサポートされる帯域幅に正比例し、前記記憶デバイスが閾値容量を超えずにデータを記憶できる程度に正比例し、かつ前記記憶デバイス上にデータを記憶するコストに反比例する請求項36に記載のコンピュータ・プログラム製品。The cost of storing the data on the storage device, the RSVS of the storage device being directly proportional to the bandwidth supported by the storage device, directly proportional to the extent that the storage device can store data without exceeding a threshold capacity 37. The computer program product of claim 36, which is inversely proportional to. 記憶デバイスの前記RSVSが前記記憶デバイスのアベラビリティに正比例する請求項37に記載のコンピュータ・プログラム製品。38. The computer program product of claim 37, wherein the RSVS of a storage device is directly proportional to the availability of the storage device. 前記複数の記憶デバイスについて計算された前記RSVSに基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択する前記コードが、
前記複数の記憶デバイスの中から最高のRSVS値を持つ記憶デバイスを選択するコード
を含む請求項37に記載のコンピュータ・プログラム製品。
The code for selecting a storage device for storing the data unit from the plurality of storage devices based on the RSVS calculated for the plurality of storage devices;
38. The computer program product of claim 37, comprising code for selecting a storage device having a highest RSVS value from the plurality of storage devices.
記憶デバイスについて計算された前記RSVSが、前記記憶デバイスが前記第1の配置規則の前記デバイス関連基準で指定されたデバイス帯域幅値をサポートできるかどうかを示す請求項36に記載のコンピュータ・プログラム製品。37. The computer program product of claim 36, wherein the RSVS calculated for a storage device indicates whether the storage device can support a device bandwidth value specified in the device-related criteria of the first placement rule. . 記憶デバイスについて計算された前記RSVSが、前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶できるかどうかを示す請求項36に記載のコンピュータ・プログラム製品。37. The computer program product of claim 36, wherein the RSVS calculated for a storage device indicates whether the storage device can store the data unit without exceeding a capacity threshold associated with the storage device. 前記第1の配置規則を選択する前記コードが、最高のDVSを持つ配置規則を前記第1の配置規則として選択するコードを含む請求項36に記載のコンピュータ・プログラム製品。37. The computer program product of claim 36, wherein the code that selects the first placement rule includes code that selects the placement rule with the highest DVS as the first placement rule. 最高のDVSを持つ配置規則を選択する前記コードが、
前記最高のDVSが複数の配置規則に関連する場合は、均衡を破る規則を使用して、前記複数の配置規則の中から1つの配置規則を前記第1の配置規則として選択するコード
を含む請求項42に記載のコンピュータ・プログラム製品。
The code for selecting the placement rule with the highest DVS is:
If the highest DVS is associated with a plurality of placement rules, a code for selecting one placement rule as the first placement rule from among the plurality of placement rules using an unbalanced rule is included. Item 43. The computer program product according to Item 42.
前記データ・ユニットを記憶するための前記記憶デバイスを決定する前記コードが、
前記配置規則セットについて計算されたDVSに基づいて、前記複数の配置規則の中から第1の配置規則を選択するコードと、
前記第1の配置規則の前記デバイス関連基準に基づいて前記複数の記憶デバイスの中から第1の記憶デバイスのセットを識別するコードと、
前記第1の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第1の記憶デバイス・セット中の各記憶デバイスごとに相対的記憶値スコア(RSVS)を生成するコードと、
前記複数の記憶デバイスについて計算された前記RSVSに基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを選択するコードと
を含む請求項33に記載のコンピュータ・プログラム製品。
The code determining the storage device for storing the data unit comprises:
A code for selecting a first placement rule from the plurality of placement rules based on the DVS calculated for the placement rule set;
A code identifying a first set of storage devices from among the plurality of storage devices based on the device-related criteria of the first placement rule;
Based on the device-related criteria of the first placement rule, characteristics of the data unit, characteristics of the storage device, a relative stored value score (RSVS) for each storage device in the first storage device set. ) To generate
34. The computer program product of claim 33, comprising: code for selecting a storage device for storing the data unit from the plurality of storage devices based on the RSVS calculated for the plurality of storage devices. Product.
記憶デバイスの前記RSVSが、
前記記憶デバイスによってサポートされる帯域幅と、
前記第1の配置規則の前記デバイス関連基準で指定されたデバイス帯域幅値と、
前記データ・ユニットを記憶するために割り振られた前記デバイスの総容量の一部を示す、前記記憶デバイスのために構成された所望の閾値容量と、
個々のタイプのデータを記憶するために使用されている前記記憶デバイスの一部を示す、前記記憶デバイスの現在の使用量情報と
前記記憶デバイス上にデータを記憶するコストと
に基づいて計算され、
前記第1の記憶デバイス・セット中の各記憶デバイスごとにRSVSを生成する前記コードが、
前記記憶デバイスが、前記第1の配置規則によって指定された前記帯域幅要求を満たすことができない場合は、ゼロの値を持つRSVSを生成するコードと、
前記記憶デバイスが、前記第1の配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる場合は、ゼロより大きい値を持つRSVSを生成するコードと、
前記記憶デバイスが、前記第1の配置規則によって指定された前記帯域幅要求を満たすことができるが、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができない場合は、ゼロより小さい値を持つRSVSを生成するコードと
を含む請求項44に記載のコンピュータ・プログラム製品。
The RSVS of the storage device is
Bandwidth supported by the storage device;
A device bandwidth value specified in the device-related criteria of the first placement rule;
A desired threshold capacity configured for the storage device indicating a portion of the total capacity of the device allocated to store the data unit;
Calculated based on the current usage information of the storage device and the cost of storing data on the storage device, indicating the portion of the storage device that is being used to store individual types of data;
The code for generating an RSVS for each storage device in the first storage device set comprises:
A code that generates an RSVS with a value of zero if the storage device cannot satisfy the bandwidth requirement specified by the first placement rule;
If the storage device can satisfy the bandwidth requirement specified by the first placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; Code to generate RSVS with a value greater than zero;
If the storage device can meet the bandwidth requirement specified by the first placement rule, but cannot store the data unit without exceeding a capacity threshold associated with the storage device 45. The computer program product of claim 44, comprising code for generating RSVS having a value less than zero.
前記第1のセットの中から前記データ・ユニットを記憶するための記憶デバイスを選択する前記コードが、最大のRSVSを持つ記憶デバイスを選択するコードを含む請求項45に記載のコンピュータ・プログラム製品。46. The computer program product of claim 45, wherein the code for selecting a storage device for storing the data unit from the first set includes code for selecting a storage device having a maximum RSVS. 配置規則の前記DVSが、前記配置規則の記憶される前記データ・ユニットに対する関連度を示し、
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定する前記コードが、
(a)最高の関連度を示すDVSを持つ配置規則を選択し、
(b)前記選択された配置規則に基づいて前記複数のデバイスの中から第1の記憶デバイスのセットを識別し、
(c)前記第1の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第1の記憶デバイス・セット中の各記憶デバイスごとに、前記記憶デバイスが前記選択された配置規則によって指定された帯域幅要求を満たすことができるかどうかを示すと共に前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することがデータ記憶かどうかも示す相対的記憶値スコア(RSVS)を生成し、
(d)前記第1の記憶デバイス・セット中の少なくとも1台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうか判定し、
(e)前記第1の記憶デバイス・セット中の少なくとも1台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができると判定された場合は、前記記憶デバイスについて生成されたRSVSに基づいて、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができる記憶デバイスを選択し、
(f)前記第1のデバイス・セット中のどの記憶デバイスも前記選択された配置規則によって指定された前記帯域幅要求を満たすことができず、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することもできない場合は、前記配置規則セットの中から、次に高い関連度を示すDVSを持つ別の配置規則を選択し、
(g)前記第1の配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することのできる、前記データ・ユニットを記憶するための記憶デバイスが識別されるまで、ステップ(b)から(f)を繰り返す
コードを含む請求項33に記載のコンピュータ・プログラム製品。
The DVS of the placement rule indicates the relevance of the placement rule to the stored data unit;
The code for determining a storage device for storing the data unit from the plurality of storage devices;
(A) Select a placement rule with a DVS indicating the highest relevance,
(B) identifying a first set of storage devices from among the plurality of devices based on the selected placement rule;
(C) for each storage device in the first storage device set, for each storage device based on the device-related criteria of the first placement rule, the characteristics of the data unit, the characteristics of the storage device Indicates that the storage device can satisfy the bandwidth requirement specified by the selected placement rule and that the storage device stores the data unit without exceeding a capacity threshold associated with the storage device. Generate a relative memory score (RSVS) that also indicates whether or not
(D) at least one storage device in the first storage device set can satisfy the bandwidth requirement specified by the selected placement rule and has a capacity threshold associated with the storage device; Determine whether the data unit can be stored without exceeding,
(E) at least one storage device in the first storage device set can satisfy the bandwidth requirement specified by the selected placement rule and has a capacity threshold associated with the storage device; If it is determined that the data unit can be stored without exceeding, satisfying the bandwidth requirement specified by the selected placement rule based on the RSVS generated for the storage device. Selecting a storage device capable of storing the data unit without exceeding a capacity threshold associated with the storage device;
(F) no storage device in the first device set can meet the bandwidth requirement specified by the selected placement rule and the capacity threshold associated with the storage device is not exceeded; If the data unit cannot be stored, another placement rule having a DVS indicating the next highest relevance is selected from the placement rule set;
(G) the data unit capable of satisfying the bandwidth requirement specified by the first placement rule and storing the data unit without exceeding a capacity threshold associated with the storage device; 34. The computer program product of claim 33, comprising code that repeats steps (b) through (f) until a storage device for storing the unit is identified.
配置規則の前記DVSが前記配置規則の記憶される前記データ・ユニットに対する関連度を示し、
前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定する前記コード・モジュールが、
(a)最高の関連度を示すDVSを持つ配置規則を選択し、
(b)前記選択された配置規則に基づいて前記複数のデバイスの中から第1の記憶デバイス・セットを識別し、
(c)前記第1の配置規則の前記デバイス関連基準、前記データ・ユニットの特性、前記記憶デバイスの特性に基づいて、前記第1の記憶デバイス・セット中の各記憶デバイスごとに、前記記憶デバイス上に前記データ・ユニットを記憶することの望ましさの度合いを示し、前記記憶デバイスが前記選択された配置規則によって指定された帯域幅要求を満たすことができるかどうかを示し、かつ前記記憶デバイスが前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうかを示す相対的記憶値スコア(RSVS)を生成し、
(d)前記第1の記憶デバイス・セット中の少なくとも1台の記憶デバイスが、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができるかどうか判定し、
(e)前記第1の記憶デバイス・セット中の少なくとも1台の記憶デバイスが前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することができると判定された場合は、前記記憶デバイスについて生成されたRSVSに基づいて、前記選択された配置規則によって指定された前記帯域幅要求を満たすことができ、かつ前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することのできる記憶デバイスを選択し、
(f)前記第1のデバイス・セット中のどの記憶デバイスも前記選択された配置規則によって指定された前記帯域幅要求を満たすことができず、前記記憶デバイスに関連する容量閾値を超えずに前記データ・ユニットを記憶することもできない場合は、
前記第1の記憶デバイス・セットの中から、前記記憶ユニットを記憶することができ、前記第1の記憶デバイス・セット中の他のデバイスよりも前記データ・ユニットを記憶するのにより望ましいと前記デバイスについて生成された前記RSVSによって示される第1の記憶デバイスを決定し、
候補デバイスとして記憶デバイスが識別されているかどうか判定し、
候補デバイスとして記憶デバイスがマークされている場合は、
前記第1の記憶デバイスが前記マークされた候補デバイスよりも前記データ・ユニットを記憶するのにより望ましいと前記第1のデバイスと前記マークされた候補デバイスとに関連するRSVSによって示される場合は、前記候補デバイスとして前記第1の記憶デバイスをマークし、
前記配置規則セットの中から、次に高い関連度を示すDVSを持つ別の配置規則を選択し、
(g)前記データ・ユニットを記憶するための記憶デバイスが識別されるまで、または前記配置規則セット中のすべての配置規則が処理されるまで、ステップ(b)から(f)を繰り返し、
(h)前記配置規則セット中のすべての配置規則が処理されたが、前記データ・ユニットを記憶するための記憶デバイスが識別されなかった場合は、前記データ・ユニットを記憶するために前記候補デバイスとしてマークされた前記記憶デバイスを選択する
コードを含む請求項33に記載のコンピュータ・プログラム製品。
The DVS of the placement rule indicates the relevance of the placement rule to the stored data unit;
The code module for determining a storage device for storing the data unit from the plurality of storage devices;
(A) Select a placement rule with a DVS indicating the highest relevance,
(B) identifying a first storage device set from the plurality of devices based on the selected placement rule;
(C) for each storage device in the first storage device set based on the device-related criteria of the first placement rule, the characteristics of the data unit, the characteristics of the storage device, the storage device Indicating the degree of desirability of storing the data unit above, indicating whether the storage device can meet the bandwidth requirements specified by the selected placement rule, and the storage device Generating a relative stored value score (RSVS) indicating whether the data unit can be stored without exceeding a capacity threshold associated with the storage device;
(D) a capacity threshold associated with the storage device, wherein at least one storage device in the first storage device set can satisfy the bandwidth requirement specified by the selected placement rule; Determine whether the data unit can be stored without exceeding
(E) at least one storage device in the first storage device set can satisfy the bandwidth requirement specified by the selected placement rule and has a capacity threshold associated with the storage device; If it is determined that the data unit can be stored without exceeding, satisfying the bandwidth requirement specified by the selected placement rule based on the RSVS generated for the storage device. Selecting a storage device capable of storing the data unit without exceeding a capacity threshold associated with the storage device;
(F) no storage device in the first device set can meet the bandwidth requirement specified by the selected placement rule and the capacity threshold associated with the storage device is not exceeded; If you can't remember the data unit,
The device is capable of storing the storage unit from within the first storage device set and is more desirable to store the data unit than other devices in the first storage device set Determining a first storage device indicated by said RSVS generated for
Determine if the storage device is identified as a candidate device,
If a storage device is marked as a candidate device,
If the first storage device indicates by the RSVS associated with the first device and the marked candidate device that it is more desirable to store the data unit than the marked candidate device; Mark the first storage device as a candidate device;
From the placement rule set, select another placement rule having a DVS indicating the next highest relevance,
(G) repeating steps (b) to (f) until a storage device for storing the data unit is identified or until all placement rules in the placement rule set have been processed;
(H) if all placement rules in the placement rule set have been processed but no storage device for storing the data unit has been identified, the candidate device for storing the data unit; The computer program product of claim 33, comprising code for selecting the storage device marked as.
複数の記憶デバイスを含むストレージ環境において、前記複数の記憶デバイスの中からデータを記憶するための記憶デバイスを識別するシステムであって、
データ・ユニットを記憶するための信号を受け取る手段と、
それぞれが前記記憶されるデータの1つまたは複数の特性に関連する1つまたは複数の条件を識別するデータ関連基準と、1つまたは複数の記憶デバイス特性に関連する1つまたは複数の条件を識別するデバイス関連基準とを含む、前記ストレージ環境のために構成された1つまたは複数の配置規則のセットを識別する手段と、
前記配置規則の前記データ関連基準と前記データ・ユニットの特性とに基づいて、前記配置規則セット中の各配置規則ごとにデータ値スコア(DVS)を計算する手段と、
前記配置規則セットとそれに関連するDVS、前記複数の記憶デバイスの特性、記憶される前記データ・ユニットの特性に基づいて、前記複数の記憶デバイスの中から前記データ・ユニットを記憶するための記憶デバイスを決定する手段と
を含むシステム。
In a storage environment including a plurality of storage devices, a system for identifying a storage device for storing data from among the plurality of storage devices,
Means for receiving a signal for storing the data unit;
Data-related criteria each identifying one or more conditions associated with one or more characteristics of the stored data and one or more conditions associated with one or more storage device characteristics Means for identifying one or more sets of placement rules configured for the storage environment, including device-related criteria to:
Means for calculating a data value score (DVS) for each placement rule in the placement rule set based on the data-related criteria of the placement rule and characteristics of the data unit;
A storage device for storing the data unit among the plurality of storage devices based on the placement rule set and the associated DVS, characteristics of the plurality of storage devices, and characteristics of the data unit to be stored And means for determining.
JP2003525463A 2001-08-31 2002-08-30 Technique for storing data based on storage policy Withdrawn JP2005502121A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US31676401P 2001-08-31 2001-08-31
US35891502P 2002-02-21 2002-02-21
PCT/US2002/027715 WO2003021441A1 (en) 2001-08-31 2002-08-30 Techniques for storing data based upon storage policies

Publications (1)

Publication Number Publication Date
JP2005502121A true JP2005502121A (en) 2005-01-20

Family

ID=26980584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003525463A Withdrawn JP2005502121A (en) 2001-08-31 2002-08-30 Technique for storing data based on storage policy

Country Status (4)

Country Link
EP (1) EP1430399A1 (en)
JP (1) JP2005502121A (en)
CA (1) CA2458908A1 (en)
WO (1) WO2003021441A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295457A (en) * 2003-03-27 2004-10-21 Hitachi Ltd Storage device
JP2005321913A (en) * 2004-05-07 2005-11-17 Hitachi Ltd Computer system with file sharing device, and transfer method of file sharing device
JP2006012156A (en) * 2004-06-29 2006-01-12 Hitachi Ltd Method for controlling storage policy according to volume activity
JP2006031668A (en) * 2004-07-15 2006-02-02 Hitachi Ltd Method and device for hierarchical storage management based on data value
JP2007526528A (en) * 2003-05-30 2007-09-13 ヴェリタス・オペレーティング・コーポレーション Multi-volume file support
JP2008047156A (en) * 2004-08-30 2008-02-28 Hitachi Ltd Storage system, and data rearrangement controller
JP2009500705A (en) * 2005-07-05 2009-01-08 インターナショナル・ビジネス・マシーンズ・コーポレーション Memory migration system and method
JP2009258841A (en) * 2008-04-14 2009-11-05 Hitachi Ltd Storage system
JP2010519646A (en) * 2007-02-22 2010-06-03 ネットアップ,インコーポレイテッド Data management within a data storage system using datasets
JP2011508340A (en) * 2007-12-27 2011-03-10 マイクロソフト コーポレーション Determining the quality of tier assignment
CN102047642A (en) * 2008-06-02 2011-05-04 阿尔卡特朗讯 Method and device for storing online data
WO2012127988A1 (en) * 2011-03-18 2012-09-27 日本電気株式会社 Information processing device, distributed file system, client device, information processing method, and computer program
JP2012226770A (en) * 2006-05-24 2012-11-15 Compellent Technologies System and method for raid management, re-allocation, and re-striping
JP2012256324A (en) * 2011-06-09 2012-12-27 Gemini Mobile Technologies Inc Data management method and hybrid data management system
JP2015512534A (en) * 2012-03-23 2015-04-27 アルカテル−ルーセント Method and apparatus for a distributed file system in a cloud network using file chunking and replication
JP2018520033A (en) * 2015-05-27 2018-07-26 アクテガ メタル プリント ゲーエムベーハー Metal printing structure
US20210272035A1 (en) * 2020-02-28 2021-09-02 Uber Technologies, Inc. Storage location selection according to query evaluation

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7092977B2 (en) 2001-08-31 2006-08-15 Arkivio, Inc. Techniques for storing data based upon storage policies
US7509316B2 (en) 2001-08-31 2009-03-24 Rocket Software, Inc. Techniques for performing policy automated operations
US6988110B2 (en) * 2003-04-23 2006-01-17 International Business Machines Corporation Storage system class distinction cues for run-time data management
JP4371724B2 (en) 2003-07-03 2009-11-25 株式会社日立製作所 Storage system and storage device system
JP2005267546A (en) 2004-03-22 2005-09-29 Hitachi Ltd Disk controller, and system for managing connection of network connection storage in the disk controller
WO2007034430A2 (en) * 2005-09-26 2007-03-29 Koninklijke Philips Electronics N.V. Storage profile generation for network-connected portable storage devices
US7610383B2 (en) 2006-08-11 2009-10-27 Hewlett-Packard Development Company, L.P. Data-object-related-request routing in a dynamic, distributed data-storage system
US20100030963A1 (en) * 2008-08-04 2010-02-04 Sandisk Il Ltd. Managing storage of cached content
US8849856B2 (en) 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US20130339605A1 (en) * 2012-06-19 2013-12-19 International Business Machines Corporation Uniform storage collaboration and access
US9800658B2 (en) 2012-07-30 2017-10-24 Marvell International Ltd. Servers and methods for controlling a server

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5131087A (en) * 1988-12-29 1992-07-14 Storage Technology Corporation Computer system having apparatus for automatically redistributing data records stored therein
JP3448068B2 (en) * 1991-12-24 2003-09-16 富士通株式会社 Data processing system and storage management method
US5506986A (en) * 1992-07-14 1996-04-09 Electronic Data Systems Corporation Media management system using historical data to access data sets from a plurality of data storage devices
AU5987294A (en) * 1993-02-17 1994-09-14 3Com Corporation System for reading dynamically changing data
US5798766A (en) * 1995-10-20 1998-08-25 Fuji Xerox Co., Ltd. Drawing system
US5933603A (en) * 1995-10-27 1999-08-03 Emc Corporation Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location
JP3170455B2 (en) * 1996-05-27 2001-05-28 インターナショナル・ビジネス・マシーンズ・コーポレ−ション Method of relocating data in data storage system, method of accessing data stored in the system, and data storage system
US6154817A (en) * 1996-12-16 2000-11-28 Cheyenne Software International Sales Corp. Device and method for managing storage media
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295457A (en) * 2003-03-27 2004-10-21 Hitachi Ltd Storage device
JP2007526528A (en) * 2003-05-30 2007-09-13 ヴェリタス・オペレーティング・コーポレーション Multi-volume file support
JP2005321913A (en) * 2004-05-07 2005-11-17 Hitachi Ltd Computer system with file sharing device, and transfer method of file sharing device
JP4723925B2 (en) * 2004-06-29 2011-07-13 株式会社日立製作所 Method for controlling storage policy according to volume activity
JP2006012156A (en) * 2004-06-29 2006-01-12 Hitachi Ltd Method for controlling storage policy according to volume activity
JP4648723B2 (en) * 2004-07-15 2011-03-09 株式会社日立製作所 Method and apparatus for hierarchical storage management based on data value
JP2006031668A (en) * 2004-07-15 2006-02-02 Hitachi Ltd Method and device for hierarchical storage management based on data value
JP2008047156A (en) * 2004-08-30 2008-02-28 Hitachi Ltd Storage system, and data rearrangement controller
JP2009500705A (en) * 2005-07-05 2009-01-08 インターナショナル・ビジネス・マシーンズ・コーポレーション Memory migration system and method
US9244625B2 (en) 2006-05-24 2016-01-26 Compellent Technologies System and method for raid management, reallocation, and restriping
US10296237B2 (en) 2006-05-24 2019-05-21 Dell International L.L.C. System and method for raid management, reallocation, and restripping
CN102880424A (en) * 2006-05-24 2013-01-16 克姆佩棱特科技公司 Resin composition suitable for (re) lining of tubes, tanks and vessels
JP2012226770A (en) * 2006-05-24 2012-11-15 Compellent Technologies System and method for raid management, re-allocation, and re-striping
CN102880424B (en) * 2006-05-24 2015-10-28 克姆佩棱特科技公司 For RAID management, redistribute and the system and method for segmentation again
JP2010519646A (en) * 2007-02-22 2010-06-03 ネットアップ,インコーポレイテッド Data management within a data storage system using datasets
JP2011508340A (en) * 2007-12-27 2011-03-10 マイクロソフト コーポレーション Determining the quality of tier assignment
US9177042B2 (en) 2007-12-27 2015-11-03 Microsoft Technology Licensing, Llc Determining quality of tier assignments
JP2009258841A (en) * 2008-04-14 2009-11-05 Hitachi Ltd Storage system
CN102047642A (en) * 2008-06-02 2011-05-04 阿尔卡特朗讯 Method and device for storing online data
JP2011525274A (en) * 2008-06-02 2011-09-15 アルカテル−ルーセント Method and apparatus for storing online data
WO2012127988A1 (en) * 2011-03-18 2012-09-27 日本電気株式会社 Information processing device, distributed file system, client device, information processing method, and computer program
US9251156B2 (en) 2011-03-18 2016-02-02 Nec Corporation Information processing devices, method, and recording medium with regard to a distributed file system
JP5850044B2 (en) * 2011-03-18 2016-02-03 日本電気株式会社 Information processing apparatus, distributed file system, client apparatus, information processing method, and computer program
JP2012256324A (en) * 2011-06-09 2012-12-27 Gemini Mobile Technologies Inc Data management method and hybrid data management system
US9396290B2 (en) 2011-06-09 2016-07-19 Cloudian Holdings, Inc. Hybrid data management system and method for managing large, varying datasets
US9672267B2 (en) 2011-06-09 2017-06-06 Cloudian Holdings, Inc. Hybrid data management system and method for managing large, varying datasets
JP2015512534A (en) * 2012-03-23 2015-04-27 アルカテル−ルーセント Method and apparatus for a distributed file system in a cloud network using file chunking and replication
JP2018520033A (en) * 2015-05-27 2018-07-26 アクテガ メタル プリント ゲーエムベーハー Metal printing structure
JP7182461B2 (en) 2015-05-27 2022-12-02 アクテガ メタル プリント ゲーエムベーハー metal print structure
US20210272035A1 (en) * 2020-02-28 2021-09-02 Uber Technologies, Inc. Storage location selection according to query evaluation
US12039474B2 (en) * 2020-02-28 2024-07-16 Uber Technologies, Inc. Storage location selection according to query evaluation

Also Published As

Publication number Publication date
WO2003021441A1 (en) 2003-03-13
CA2458908A1 (en) 2003-03-13
EP1430399A1 (en) 2004-06-23

Similar Documents

Publication Publication Date Title
US7092977B2 (en) Techniques for storing data based upon storage policies
US7454446B2 (en) Techniques for storing data based upon storage policies
JP2005502121A (en) Technique for storing data based on storage policy
US7509316B2 (en) Techniques for performing policy automated operations
US7917473B2 (en) Systems and methods of hierarchical storage management, such as global management of storage operations
EP2480974B1 (en) Distributed content storage and retrieval
US20030115204A1 (en) Structure of policy information for storage, network and data management applications
US8903996B2 (en) Operating cloud computing services and cloud computing information system
CN100407153C (en) On demand node and server instance allocation and de-allocation
CN109343801B (en) Data storage method, device and computer readable storage medium
US20100125715A1 (en) Storage System and Operation Method Thereof
CN101258497A (en) A method for centralized policy based disk-space preallocation in a distributed file system
US20040039891A1 (en) Optimizing storage capacity utilization based upon data storage costs
US20040054656A1 (en) Techniques for balancing capacity utilization in a storage environment
US20060235859A1 (en) Prescriptive architecutre recommendations
WO2005055082A1 (en) Computerized system, method and program product for managing an enterprise storage system
US6963828B1 (en) Metafarm sizer configuration optimization method for thin client sizing tool
EP2187332A1 (en) Storage area allocation method and a management server
JP2007157138A (en) File system, storage system, program storage device and method for providing charge-back accounting data
WO2005017783A2 (en) Hierarchical management of the dynamic allocation of resourses in a multi-node system
Chiu et al. Resource allocation with load balancing consideration in distributed computing systems
WO2004021224A1 (en) Optimizing storage capacity utilization based upon data storage costs
US20230111859A1 (en) Information handling system storage application volume placement tool
JP5291604B2 (en) Business support device
US7072844B1 (en) Configuration interview session method for thin client sizing tool

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050826

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080502