JP2021513137A - 階層型ストレージ管理システムにおけるデータ・マイグレーション - Google Patents

階層型ストレージ管理システムにおけるデータ・マイグレーション Download PDF

Info

Publication number
JP2021513137A
JP2021513137A JP2020539847A JP2020539847A JP2021513137A JP 2021513137 A JP2021513137 A JP 2021513137A JP 2020539847 A JP2020539847 A JP 2020539847A JP 2020539847 A JP2020539847 A JP 2020539847A JP 2021513137 A JP2021513137 A JP 2021513137A
Authority
JP
Japan
Prior art keywords
storage
data unit
computer
data
copy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020539847A
Other languages
English (en)
Other versions
JP7431490B2 (ja
Inventor
耕一 増田
耕一 増田
壮介 松井
壮介 松井
慎介 三間
慎介 三間
毅 能田
毅 能田
崇博 津田
崇博 津田
恒星 川村
恒星 川村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2021513137A publication Critical patent/JP2021513137A/ja
Application granted granted Critical
Publication of JP7431490B2 publication Critical patent/JP7431490B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • 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
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1012Load balancing

Abstract

【課題】階層型ストレージ管理(HSM)システム内の1つまたは複数のデータ単位のコピー動作を実行するための方法を提供する。
【解決手段】HSMシステムは、上位レイヤおよび下位レイヤを含んでいる。上位レイヤは、グリッド構成を有している複数のストレージ・ノードを含む。この方法は、複数のデータ単位のコピー動作をスケジューリングすることであって、これらのデータ単位の各々が、複数のデータ単位が格納される複数のストレージ・ノード間でコピー動作の負荷が分散されるように、複数のストレージ・ノードのうちの少なくとも1つに格納される、スケジューリングすることと、スケジューリングに従って複数のデータ単位を下位レイヤにコピーすることとを含む。
【選択図】図5

Description

本発明は、一般に、階層型ストレージ管理に関連しており、より詳細には、階層型ストレージ管理システムにおけるデータ・マイグレーション管理に関連している。
階層型ストレージ管理(HSM:Hierarchical Storage Management)は、二次ストレージなどのための低速、低コストのストレージ媒体に加えて、一次ストレージなどのための高速、高コストのストレージ媒体を利用することによって、効率的かつコスト効率の高いデータ管理を可能にするデータ・ストレージ手法である。一次ストレージおよび二次ストレージは、データの取り出し、読み取り動作/書き込み動作などを容易にするために、例えば、それぞれアクセス速度の高い上位レイヤおよびアクセス速度の低い下位レイヤなどに、階層化(tiered)、階層化(layered)、またはその他の方法で階層的に配置されることがある。例えば、IBM(R)TS7700ストレージ・システムおよびIBM(R)Spectrum Archive Enterprise Edition HSMシステムは、SSDまたはHDDデータ・ストレージ・デバイスを一次ストレージに利用し、テープ・ストレージ・デバイスを二次ストレージに利用することができる。特定のHSMシステムは、IBM(R)TS7700シリーズのテープ仮想化製品などのクラウド技術を使用して、クラウド・データ・ストレージを二次ストレージに使用することを可能にする。
従来のHSM手法は、データの高可用性を促進し、データのアクセスを容易にするために、頻繁にアクセスされるデータを、例えばHSMシステムの上位レイヤに配置された一次ディスク・ストレージ・デバイスに格納できるHSM方式を提供することがある。頻繁にアクセスされるデータは、例えば、データのアクセス要求の頻度が既定のしきい値を下回るまで、上位レイヤにとどまってよい。例えば、データのアクセス要求の頻度が既定のしきい値を下回る場合、データをコピーできるマイグレーション前動作が実行されてよく、その後、データを除去して格納のために下位レイヤに転送することができるマイグレーション動作が実行されてよい。このデータは、下位レイヤに格納されたアクセス頻度の低い他のデータと共に、リコール動作によって、上位レイヤに転送されてよい。したがって、効率的かつ高速なデータ・アクセスをHSMシステムのユーザに提供するために、マイグレーション前動作、マイグレーション動作、およびリコール動作が実施されることがある。
階層型ストレージ管理システムにおけるデータ・マイグレーションのためのコンピュータ実装方法を提供する。
一実施形態では、階層型ストレージ管理システム内の1つまたは複数のデータ単位のコピー動作を実行するための方法が提供される。階層型ストレージ管理システムは、上位レイヤおよび下位レイヤを含んでよい。上位レイヤは、グリッド構成を有している複数のストレージ・ノードを含む。この方法は、複数のデータ単位のコピー動作をスケジューリングすることを含み、これらのデータ単位の各々は、コピー動作の負荷が、複数のデータ単位が格納される複数のストレージ・ノード間で分散されるように、複数のストレージ・ノードのうちの少なくとも1つに格納される。この方法は、スケジューリングに従って、下位レイヤへの複数のデータ単位のコピー動作を実行することをさらに含む。有利には、この動作は、ストレージ・ノードの各々に対して適用されるワークロードの管理および個々のストレージ・ノードの動作の協調によって、階層型ストレージ管理システムのシステム・レベルの性能およびスループットの最適化を可能にする。
一実施形態では、階層型ストレージ管理システムに接続可能なストレージ・コントローラが提供される。階層型ストレージ管理システムは、上位レイヤおよび下位レイヤを含んでよい。上位レイヤは、グリッド構成を有している複数のストレージ・ノードを含んでよい。コントローラは、メモリ、およびメモリに通信するように結合されたプロセッサを備えている。メモリは命令を含んでおり、これらの命令は、プロセッサによって実行された場合に、プロセッサに、複数のデータ単位のコピー動作をスケジューリングすることであって、これらのデータ単位の各々が、複数のデータ単位が格納される複数のストレージ・ノード間でコピー動作の負荷が分散されるように、複数のストレージ・ノードのうちの少なくとも1つに格納される、スケジューリングすることと、スケジューリングに従って複数のデータ単位を下位レイヤにコピーすることとを実行させる。有利には、この動作は、ストレージ・ノードの各々に対して適用されるワークロードの管理および個々のストレージ・ノードの動作の協調によって、階層型ストレージ管理システムのシステム・レベルの性能およびスループットの最適化を可能にする。
一実施形態では、階層型ストレージ管理システムにおいて使用するためのコンピュータ・プログラム製品が提供される。このコンピュータ・プログラム製品は、1つまたは複数のコンピュータ可読ストレージ・デバイスと、コンピュータ・システムの少なくとも1つまたは複数のコンピュータ・プロセッサによって実行するために、1つまたは複数のコンピュータ可読ストレージ・デバイスのうちの少なくとも1つに格納されたプログラム命令とを含んでよい。これらのプログラム命令は、開示された方法を実行するために、コンピュータ・システムの少なくとも1つまたは複数のコンピュータ・プロセッサによって実行されてよい。
一実施形態では、提供される方法は、管理システムに接続されたコンピューティング・デバイスから、データ単位に対応する書き込み要求を受信することであって、このデータ単位が、関連付けられたコピー・ポリシーを含んでいる、受信することと、この要求を実行して、データ単位に対応する書き込み動作を実行することであって、この要求が、コピー・ポリシーに従って、ストレージ・ノードのうちの1つまたは複数に対して実行される、実行することとをさらに含んでよい。有利には、コピー・ポリシーは、管理システム内の対応するデータ単位のストレージの冗長性に対するデータ固有の制御を可能にする。
一実施形態では、提供される方法は、ドメイン内のストレージ・ノードによって、コピーされる対応するデータ単位に対するコピー動作の実行のために、ドメイン内のストレージ・ノードのうちの1つまたは複数を選択することをさらに含んでよく、これらのストレージ・ノードは、コピーされるデータ単位のコピーが、ストレージ・ノードのうちの1つまたは複数に格納されており、コピー動作が、既定のしきい値を超える時間の間、データ単位に対して実行されていない、ということの決定に基づくか、またはストレージ・ノード自体が、コピーされるデータ単位のコピーを格納しており、データ単位のコピーの数が、ドメイン内の他のストレージ・ノードのいずれに格納されているデータ単位のコピーの数よりも少ない、ということの決定に基づいて、選択される。有利には、これによって、例えば、別のクラスタが識別されたデータ・ボリュームのコピーを含んでおり、何らかの理由でこのボリュームをマイグレーションできないという状況のための、「安全網」を提供する。
本発明の前述の態様は、本発明の必要な特徴のすべてを列挙するよう意図されておらず、本発明が、これらの構成要素のすべての組み合わせおよび部分的組み合わせを含んでいるということが、理解されるべきである。
本発明の一実施形態に従って、HSMシステムを示す図である。 本発明の一実施形態に従って、HSMシステムの一次ストレージ・グリッドを構成するストレージ・クラスタ120のブロック図を示す図である。 本発明の一実施形態に従って、HSMシステムに格納されるデータ・ボリュームのコピー・ポリシーを設定するための動作を表すフローチャートを示す図である。 本発明の一実施形態に従って、HSMシステムに接続されたホスト・コンピュータ115から書き込み要求を受信することに応答して、一次ストレージ・ティアにデータ・ボリュームを格納し、コピーする動作を表すフローチャートを示す図である。 本発明の一実施形態に従って、HSMシステム内のクラウド・ストレージへの、一次ストレージ・レイヤ内の複数のクラスタに格納されたデータ・ファイルのコピー動作を表すフローチャートを示す図である。 本発明の一実施形態に従って、HSMシステムに接続されたホスト・コンピュータから書き込み要求を受信することに応答して、一次ストレージ・ティアにデータ・ボリュームを格納し、コピーする動作を説明するための図である。 本発明の一実施形態に従って、HSMシステムに接続されたホスト・コンピュータから書き込み要求を受信することに応答して、一次ストレージ・ティアにデータ・ボリュームを格納し、コピーする動作を説明するための図である。 本発明の一実施形態に従って、HSMシステム内のクラウド・ストレージへの、一次ストレージ・レイヤ内の複数のクラスタに格納されたデータ・ファイルのコピー動作を説明するための図である。 本発明の一実施形態に従って、ホスト・コンピュータ、ストレージ・クラスタ、またはコンピューティング・プラットフォーム、あるいはその組み合わせによって具現化されてよい、データ処理デバイスの好ましいハードウェア構成の例を示す図である。 本発明の実施形態に従ってクラウド・コンピューティング環境を示す図である。 本発明の実施形態に従ってクラウドの抽象モデル・レイヤを示す図である。
本明細書では、さまざまな形態で具現化されてよい請求される構造および方法を説明し、例示する目的で、本発明の詳細な実施形態が開示されるが、これらの実施形態は網羅的であるよう全く意図されておらず、開示された実施形態に限定されない。添付の特許請求の範囲およびそれらと同等のものによって定義されている、開示された実施形態の範囲および思想を逸脱することなく、多くの変更および変形が、当業者に明らかになるであろう。本明細書で使用された用語は、1つまたは複数の実施形態の原理、実際の適用、または従来技術を超える技術的改良を最も適切に説明するため、あるいは当業者が本明細書で開示された実施形態を理解できるようにするために選択されている。説明されるとき、周知の特徴および手法の詳細は、説明を容易にするため、または本発明の実施形態を不必要に曖昧にするのを防ぐために、一般化されるか、または省略されることがある。
本明細書において明示的に、またはその他の方法で定義されない限り、すべての用語には、暗示される意味、および当業者によって理解される意味、または辞書、論文などにおいて定義された意味を含む、最も広い妥当な解釈が与えられる。さらに、本明細書において使用されるとき、「a」、「an」、「the」などの単数形は、必要に応じて、またはその他の方法で指定されたときに、その複数形も含む。さらに、「備える」または「備えている」あるいはその両方の用語は、本明細書において使用されるとき、記載された特徴、整数、ステップ、動作、要素、またはコンポーネント、あるいはその組み合わせの存在を示しており、1つまたは複数のその他の特徴、整数、ステップ、動作、要素、コンポーネント、またはこれらのグループ、あるいはその組み合わせの存在または追加を除外していない。
本明細書における「一実施形態」、「実施形態」、「実施形態例」などへの参照は、説明される実施形態が、1つまたは複数の特定の特徴、構造、または特性を含んでよいということを示すが、そのような特定の特徴、構造、または特性が、本明細書において開示された本発明の実施形態の各々およびすべてに共通していることもあれば、共通していないこともあるということが、理解されなければならない。さらに、そのような語句は、必ずしもそれ自体が、いずれか1つの特定の実施形態を指していない。そのため、1つまたは複数の特定の特徴、構造、または特性がある実施形態に関連して説明される場合、明示的に説明されるかどうかにかかわらず、該当する場合に、他の実施形態に関連してそのような1つまたは複数の特徴、構造、または特性に影響を与えることは、当業者の知識の範囲内にあると考えられる。
データの完全性、冗長性などに関するコストを削減し、性能を改善しようとする取り組みにおいて、さまざまなストレージ・システムがHSMを実装することがある。そのようなシステムの上位レイヤは、高速なデータ取得および高可用性を実現するために、SSD、HDDなどの形態で高価なストレージ媒体を含むことがある。下位レイヤは、コストを削減するために、テープ・ドライブなどの形態で安価なストレージ媒体を含むことがある。
本明細書において以下で説明されるように、上位レイヤは「一次ストレージ」、「一次ストレージ・ティア」などと呼ばれることがある。さらに、下位レイヤは「二次ストレージ」、「二次ストレージ・ティア」などと呼ばれることがある。当業者によって理解されるであろうように、そのような参照が、本発明の実施形態に従って他の種類のデバイスを含むということが、理解されるべきである。さらに、本発明のさまざまな実施形態において、3つ以上のストレージ・ティアが含まれてよいということ、およびそのような実施形態が、さまざまなストレージ・ティアのうちの1つまたは複数に個別に、またはさまざまな組み合わせで、適用可能であるということが、理解されるべきである。
本発明のさまざまな実施形態では、一次ストレージ・ティアが、1つまたは複数のノードによって多重化され、サポートされ得る、ストレージ・デバイスおよびコンピューティング・プラットフォームの「グリッド」構成を含んでよい。本明細書において以下で説明されるように、各ノードは「クラスタ」と呼ばれることがある。さらに、グリッド構成で配置されたクラスタのグループは「ドメイン」と呼ばれることがある。
本発明のさまざまな実施形態では、二次ストレージが、クラウド・データ・ストレージ(以下では、「クラウド・ストレージ」)であるか、クラウド・データ・ストレージを含むか、またはその他の方法でクラウド・データ・ストレージを実装してよい。通常、クラウド・ストレージは、クラウド・コンピューティング環境を含んでよく、クラウド・コンピューティング環境によってデータ・ストレージ機能が提供されてよい。クラウド・コンピューティング環境は、異種コンピューティング・デバイスが単一のシームレスなリソースのプール(単一のメモリ・プール、処理プールなど)であるように見えるように、例えば、クラウド・レイヤによって抽象化され得る仮想計算リソースまたは論理計算リソースを含んでよい。これらのリソースは、本発明の実施形態に従って、例えば、さまざまな種類の物理処理リソースまたは論理処理リソース、データ・リソースまたはメモリ・リソース、サーバ、ネットワーク、あるいはストレージ・デバイスを含んでよい。言い換えると、クラウド・ストレージは、例えば、接続されたユーザのコンピューティング・プラットフォームなどによって観測可能であるか、またはその他の方法で知覚可能であるように、単一のターゲット、オブジェクト、または実体であるように見えてよい。
本発明の一実施形態では、HSMシステムに接続されたホスト・コンピューティング・プラットフォームなどのコンピューティング・プラットフォームまたはデバイスが、一次ストレージ・ティアのクラスタのうちの少なくとも1つにデータを書き込むための要求を作成するか、提出するか、またはその他の方法で伝達してよい。この要求は、1つまたは複数のデータ書き込み命令を含んでよい。この実施形態では、要求が、格納されたデータ・ボリューム、データ単位などを含んでよい。この実施形態では、格納されたデータ・ボリュームが、1つまたは複数の事前に定義されたコピー・ポリシーに従って一次ストレージ・ティアのドメイン内のクラスタのうちの少なくとも1つに格納するために、コピーされてよい。本明細書において説明されているように、ホストが、データ・ボリュームごとに、またはデータ・ボリュームを単位としてデータを書き込むが、本発明の実施形態が、いずれかの特定の単位または種類のデータ測定またはデータ計測に限定されないということが仮定される。したがって、本発明の実施形態は、固定サイズのデータ単位、可変サイズのデータ単位、ボリューム、ファイル、ブロック、オブジェクト、セグメント、レコードなどの、任意の種類のデータ単位またはデータ測定を実装してよい。
本発明の一実施形態では、ユーザによってコピー・ポリシーが事前に定義されてよい。この実施形態では、コピー・ポリシーが、データ・ボリュームの1つまたは複数のコピーを格納できるHSMシステムの特定のクラスタを定義するか、識別するか、指定するか、許可するか、またはその他の方法で規定してよい。さらにコピー・ポリシーは、対応する条件またはイベントなどに関連して、特定の期間を規定してよく、この期間の間に、特定のクラスタがコピーを格納できる。ボリュームのコピーは、ユーザに関連付けられてよい。有利には、このようにして、コピー・ポリシーによって、一次ストレージのドメイン内に格納できるボリュームのコピーの数を制御することができ、さらに、HSMシステム内のコピーの格納に関する冗長性のレベルを制御することができる。1つの例では、各ボリュームに関連付けられたコピー・ポリシーに従って規定されているように、ボリュームAなどのボリュームが、クラスタ2、クラスタ4、およびクラスタ6に格納されてよく、ボリュームBなどのボリュームが、クラスタ2およびクラスタ4に格納されてよく、ボリュームCなどのボリュームが、クラスタ2のみに格納されてよい。
本発明のさまざまな実施形態では、事前に定義されたマイグレーション・アルゴリズムに従って、データ・ボリュームが、HSMシステム内のクラウド・ストレージにマイグレーションされてよい。さまざまな実施形態では、例えば、特定の期間の間に、ホスト・コンピュータなどによる対象のデータ・ボリュームのアクセスの数が既定のしきい値を下回ったときに、一次ストレージに格納された対象のデータ・ボリュームが二次ストレージにコピーされて(すなわち、マイグレーション前動作が実行されて)よく、その後、一次ストレージから除去されて(すなわち、マイグレーションされて)よい。
さまざまな実施形態では、例えば、新しい書き込み要求のために一次ストレージ・ティア内に空きディスク領域を確保する必要があるなどの場合に、対象のデータ・ボリュームが、代替として遅延され、除去されてよい。対応するデータ・ボリュームのマイグレーション動作の完了後に、それらのデータ・ボリュームが、二次ストレージのみに格納されてよい。本発明の実施形態に従って、さまざまなマイグレーション・アルゴリズムがHSMシステムにおいて使用されてよい。
前述した例では、クラウド・ストレージへの転送のために、クラスタ2がボリュームA、ボリュームB、およびボリュームCに対してそれぞれ、順番にマイグレーション動作を実行する場合、クラスタ4およびクラスタ6は、これらのボリュームに対してコピー動作を実行しなくてよい。この例では、このような実行によって、ボリュームごとのコピー動作の実行の結果として、クラスタ2に負荷(すなわち、ワークロード)の集中が生じ、それによって完了に必要な時間の増加を引き起こす。したがって、そのような状況におけるデータのマイグレーションに関連して、そのようなタスクの最適化された実行に対する必要性が存在する。
これを実現するために、本発明の実施形態に従って、HSMシステムの各クラスタが、データ・ボリュームに対するコピー動作(すなわち、マイグレーション前動作)をスケジューリングするために、階層型ストレージ・コントローラを利用してよく、各データ・ボリュームが、1つまたは複数のクラスタに格納されてよい。このコントローラを使用して、ドメイン内のクラスタ間で、コピー動作の実行から生じる負荷を分散することができる。したがって、第2のストレージ・ティアのクラウド・ストレージへのコピー動作は、第1のストレージ・ティアのクラスタによるスケジューリングに従って実行されてよい。前述した例では、これによって、クラスタ6からボリュームAのクラウド・ストレージへのマイグレーション、クラスタ4からボリュームBのクラウド・ストレージへのマイグレーション、およびクラスタ2からボリュームCのクラウド・ストレージへのマイグレーションを可能にする。その後、前述したように、一次ストレージに格納された各ボリュームが除去されてよい。そのため、コピー動作の実行から生じる負荷、およびデータのマイグレーションにおいて実行されるその他の関連する動作から生じる負荷の効率的な分散によって、最適化された実行が実現される。
ここで、添付の図面を参照して、本発明の実施形態について説明する。
図1は、本発明の一実施形態に従ってHSMシステムを示している。この実施形態では、ネットワーク125を介して、ホスト・コンピュータ115がHSMシステム100に接続されている。ネットワーク125は、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)、SCSI(Small Computer System Interface:小型コンピュータ・システム・インターフェイス)、ファイバ・チャネル、ESCON、FICON、USB(Universal Serial Bus:ユニバーサル・シリアル・バス)を含むが、これらに限定されない、データ交換またはデータ通信に適している任意の種類のデータ・ネットワークであることができる。例えば、HSMシステムは、FISCON通信チャネルを介してホスト・コンピュータに接続されてよい。図1に示されているように、ホスト・コンピュータ115aおよび115bなどのホスト・コンピュータは、それぞれネットワーク125aおよび125bを介してHSMシステムに接続されてよい。各ホスト・コンピュータ115は、メインフレーム・コンピュータ、サーバ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、ノート型コンピュータ、パーソナル・コンピュータ(PC:personal computer)、デスクトップ・コンピュータ、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)、スマートフォン、シン・クライアント、またはネットワーク125を介してHSMシステム100と通信できる任意のその他のプログラム可能な電子デバイスなどの、個別の異なるコンピューティング・デバイスであってよい。各ホスト・コンピュータ115は、さまざまなデータ・処理タスクを実行するために、HSMシステム100にデータを書き込むための要求、およびHSMシステム100からデータを読み取るための要求を伝達してよい。前述したように、各ホスト・コンピュータ115は、ボリュームを単位としてデータを書き込むための要求およびデータを読み取るための要求を伝達してよい。各ホスト・コンピュータ115は、図9に関して示され、詳細に説明されるハードウェア・コンポーネントなどの、内部または外部のハードウェア・コンポーネントを含んでよい。
本発明の一実施形態では、HSMシステム100は、一次ストレージ・ティア105および第2のストレージ・ティア110を含んでよい。第2のストレージ・ティア110は、他に、本開示において二次ストレージ110およびクラウド・ストレージ110と呼ばれることがある。この実施形態では、一次ストレージ・ティア105および第2のストレージ・ティア110は、例えば、HSMシステム100の上位レイヤおよび下位レイヤをそれぞれ表してよい。この実施形態では、一次ストレージ・ティア105はグリッド構成を含んでよく、グリッド構成では、1つまたは複数のストレージ・ノードまたはクラスタによって、ストレージ・デバイスおよびサーバが多重化されてよい。HSMシステム100のドメインは、ホスト・コンピュータ115などのコンピューティング・デバイスには、単一のノードであるように見えてよい。この実施形態では、このドメインは、グリッド・ネットワーク5によってそれぞれ相互接続された6つのストレージ・クラスタ120a〜fを利用してよい。この実施形態では、各クラスタは、例えばIBM(R)TS7700 Virtual Tape Systemによって実装されてよい。
本発明の一実施形態では、クラスタ120a〜fのうちの1つまたは複数が、対応するデータ・ボリュームなどに対する読み取り/書き込み要求の伝達のために、ネットワーク125を介してホスト・コンピュータ115に接続されてよい。例えば、図1に示されているように、クラスタ120a(クラスタ1)および120f(クラスタ6)は、ネットワーク125aを介してホスト115aに接続されてよく、クラスタ120c(クラスタ3)および120d(クラスタ4)は、ネットワーク125bを介してホスト115bに接続されてよい。さらに、クラスタ120a〜fは、グリッド・ネットワーク130を介してグリッド構成内で通信するために、接続されてよい。
クラスタ120a〜fは、データ・ボリュームの伝達、マイグレーション前動作、マイグレーション、またはリコール、あるいはその組み合わせのために、ネットワーク135を介して第2のストレージ・ティア110に接続されてよい。第2のストレージ・ティア110は、例えば、クラウド・ストレージ・システムであるか、またはその他の方法でクラウド・ストレージ・システムを含んでよい。HSMシステム100のドメインと同様に、第2のストレージ・ティア110は、ホスト・コンピュータ115などのコンピューティング・デバイスには、単一のノードであるように見えてよい。第2のストレージ・ティア110は、例えば、ストレージ・サブシステム、相互接続ファブリック(ファイバ・チャネル、インフィニバンド、イーサネット(R)など)、ストレージ・ノード、インターフェイス・ノード、ファイル・システムなどを含んでよい。第2のストレージ・ティア110は、クラウド・ストレージ・サービスの一部としてストレージ・リソースを提供することにおいて使用されてよい。HSMシステム100は、本発明の実施形態に従って、その他の方法で他のコンポーネントおよび構成を含んでよい。
図2は、本発明の一実施形態に従って、HSMシステムの一次ストレージ・グリッドを構成するストレージ・クラスタ120のブロック図を示している。
図2を参照すると、ストレージ・クラスタ120が、テープ・ドライブ、テープ・ライブラリなどのエミュレーション用の仮想ノード205およびディスク・ストレージ220を含んでよい。各クラスタ120は、ディスク・ストレージ220と二次ストレージ110の間のデータ移動またはデータ転送を管理するため、およびディスク・ストレージ220とリモート・ストレージ・クラスタのディスク・ストレージの間でデータを移動またはコピーするために、階層型ストレージ・コントローラ225を含んでよい。リモート・ストレージ・クラスタのディスク・ストレージは、例えば、RAID(redundant array of independent disks)、JBOD(justa bunch of disks)、SSD(solid-state drives)などの、1つまたは複数のディスク・ドライブを含んでよい。
本発明の一実施形態では、ディスク・ストレージ220は、従来のテープ・ボリュームに基づいてエミュレートされることがある論理ボリュームを含んでいる仮想ボリューム・キャッシュを提供するように機能してよい。ディスク・ストレージ220は、ローカル・アクセスおよびリモート・アクセスのための論理ボリュームを格納してよい。この実施形態では、仮想化ノード205は、仮想ボリューム・ファイルに対して動作するために、テープ・デーモン210および215などのテープ・デーモンを含んでよく、そのため、ディスク・ストレージ220上またはリモート・キャッシュ・ディスク・ストレージ上に存在してよい。ディスク・ストレージ220は、例えば、ローカル・キャッシュ・ディスク・ストレージであってよい。仮想化ノード205は、最大496のテープ・デーモン・インスタンスを同時にサポートできるIBM(R)TS7700システムなど、仮想テープ・デバイスを並列に処理するために、その他の方法で任意の数のテープ・デーモンを含んでよい。
図2に示されているように、階層型ストレージ・コントローラ225は、グリッド・マネージャ230、リモート・ファイル・アクセス・サーバ235、データ・ムーバー240、ディスク・ストレージ・マネージャ245、リコール・マネージャ250、データベース255、および管理インターフェイス260を含んでよい。
グリッド・マネージャ230は、各クラスタ120のデータベース255に格納されたデータに基づいてクラスタ120間で動作を調整し、特定の時点でどのクラスタ120がドメイン内のすべてのデータ・ボリュームの現在のコピーを格納するか、含むか、またはその他の方法で処理するかを決定するように機能してよい。グリッド・マネージャ230は、例えば各クラスタのデータベース255に格納されてよい1つまたは複数のコピー・ポリシーに従って、クラスタ間でデータのコピーを調整するようにさらに機能してよい。リモート・ファイル・アクセス・サーバ235は、リモート・クラスタなどのディスク・ストレージ220のキャッシュへのリンクを提供するように機能してよい。データ・ムーバー240は、クラスタ120間で実行されるコピーのデータ転送動作、およびディスク・ストレージ220と二次ストレージ110の間でのデータ・ボリュームの転送を制御するように機能してよい。
ディスク・ストレージ・マネージャ245は、ディスク・ストレージ220と二次ストレージ110の間のデータ・ボリュームのコピーを制御するように機能してよく、ディスク・ストレージ220内のデータの冗長なコピーのその後の除去をさらに制御してよい。ディスク・ストレージ・マネージャ245は、ディスク・ストレージ220とデータベース255の他のコンポーネントの間で負荷およびデータ・フローのバランスを調整するために、制御信号を伝達するようにさらに機能してよい。リコール・マネージャ250は、仮想化ノード205およびグリッド・マネージャ230の代わりに、ディスク・ストレージ220および二次ストレージ110に対するデータのリコールをキューに入れて制御するように機能してよい。
データベース255は、一次ストレージ・ティア105のドメイン内のすべてのデータ・ボリュームに関して、データ・ボリュームの1つまたは複数のコピーを格納する1つまたは複数のクラスタを識別することにおいて使用されるデータを格納するように機能してよい。データベース255は、データ・ボリュームの各々に対応するコピー・ポリシーを格納する1つまたは複数のクラスタを識別することにおいて使用されるデータを格納するようにさらに機能してよい。各コピー・ポリシーは、一意の識別子に関連付けられてよい。管理インターフェイス260は、ユーザ制御およびその構成を可能にするために、各ストレージ・クラスタ120に関する情報を提供するように機能してよい。
ストレージ・クラスタ120は、例えば、さまざまな種類のHSMシステムにおいて仮想テープ・ストレージ機能を提供するように実装され得るIBM(R)TS7700システムであってよい。本発明の実施形態に従って、異なる種類のストレージ・システムが、その他の方法で実装されてよい。
図3は、本発明の一実施形態に従って、HSMシステムに格納されるデータ・ボリュームのコピー・ポリシーを設定するための動作を表すフローチャート300を示している。
ステップS305で、プロセスが開始される。
ステップS310で、ホスト・コンピュータ115のうちの1つなどのホスト・コンピュータで、新しいデータ・ボリュームが作成されてよい。
ステップS315で、コピー・ポリシー・データがデータ・ボリュームに添付されてよい。本発明の一実施形態では、コピー・ポリシー・データが、コピー・ポリシーに関連付けられた識別子であるか、またはその他の方法でそのような識別子を含んでよく、そのため、ストレージ・クラスタ120のデータベース255に格納されてよい。コピー・ポリシー・データの添付は、データ・ボリュームが、関連付けられたコピー・ポリシーに対して事前に定義された条件を満たすかどうかを判定できるコンピュータ・プログラムなどによって、関連付けられたアーカイブ動作を実行することを含んでよい。これらのアーカイブ動作は、ユーザによって、その他の方法で実行されてよい。事前に定義された条件は、個別のデータ・ボリュームに関連付けられた1つまたは複数の属性に関連していてよく、例えば、データ・ボリュームのファイルの種類(例えば、動画ファイル、画像ファイル、テキスト・ファイル、アプリケーション・ファイルなど)、あるいは重要性の分類またはレベル、サイズ、著者/作成者、セキュリティ・レベル、ボリューム名、内容、メタ・タグ、添付されたコメント、バージョン、作成時間、変更時間などに関する、データ・ボリュームに添付されたラベルなどを含んでよい。
ステップS320で、ホスト・コンピュータ115が、次に、作成されたデータ・ボリュームに対応する書き込み要求を、ボリューム・データ自体と共に、ネットワーク125を介してHSMシステム100に送信してよい。
ステップS325で、HSMシステム100のストレージ・クラスタ120のうちの1つまたは複数によって、プロセスが続行される。
本発明の一実施形態では、図6に示されているように、ホスト・コンピュータ115aが、ボリュームAに関連する書き込み要求をクラスタ6(120f)に送信してよい。図6は、本発明の一実施形態に従って、HSMシステムに接続されたホスト・コンピュータから書き込み要求を受信することに応答して、一次ストレージ・ティアにデータ・ボリュームを格納する動作を説明するための図を示している。
図4は、本発明の実施形態に従って、ホスト・コンピュータ115から書き込み要求を受信することに応答して、一次ストレージ・ティアにデータ・ボリュームを格納し、コピーすることに関連付けられた動作を表すフローチャートを示している。
ステップS405で、プロセス400が開始する。ステップS410で、ドメイン115内のストレージ・クラスタ120のうちの1つが、ホスト・コンピュータ115から送信された、対応するデータ・ボリュームを含んでいる書き込み要求を受信する。この書き込み要求は、図6に示されているように、クラスタ6 120fなどのストレージ・クラスタによって受信されてよい。ステップS415で、ストレージ・クラスタ120が、受信された書き込み要求に対応するデータ・ボリュームに関連するコピー・ポリシーをチェックする。このコピー・ポリシーは、データ・ボリュームに添付されたコピー・ポリシー識別子を使用することによって、データベース255に格納されたコピー・ポリシーから識別される。ステップS420で、書き込み要求に対応するコピー・ポリシーが識別された場合、データ・ボリュームがこのクラスタに書き込まれるかどうかに関する判定が行われる。対応するコピー・ポリシーが識別された場合、プロセスがステップS425に進む。対応するコピー・ポリシーが識別されなかった場合、プロセスがステップS435に進む。ステップS425で、識別されたコピー・ポリシーに従って、データ・ボリュームがストレージ・クラスタのローカル・ディスク・ストレージ220に格納される。ステップS430で、データ・ボリュームがストレージ・クラスタに書き込まれたことを示す情報が、ローカル・ディスク・ストレージ220に格納され、ローカル・データベース255に記録される。この情報は、それに応じてクラスタの各々のデータベースを更新するために、一次ストレージ・ティア105のドメイン内の他のすべてのストレージ・クラスタ120にも送信されるか、またはブロードキャストされる。ステップ435で、一次ストレージ・ティア105のドメイン内の他のクラスタのうちの1つまたは複数にボリュームが書き込まれるかどうかに関する判定が行われてよい。本発明の一実施形態では、この判定は、データ・ボリュームに適用できる場合は、ステップS415で識別されたコピー・ポリシーに基づいて、および一次ストレージ・ティア105のドメイン内のどのクラスタが、各クラスタのデータベース255に格納されていることがあるデータ・ボリュームのコピーを現在格納しているかを示す情報に基づいて、行われてよい。ステップS445で、ステップ435で行われた判定に従って、書き込み要求が転送される。ステップS450で、プロセスが終了する。
本発明の一実施形態では、コピー・ポリシーが、即時のコピー、延期されるコピー、遅延されるコピー、または同期コピーを表す命令であるか、またはその他の方法でこれらの命令を含んでよい。コピー・ポリシーが即時のコピーである場合、ボリュームが、書き込み要求を受信した現在のストレージ・クラスタ内で閉じられたときに、ボリュームが他のストレージ・クラスタに書き込まれるということが決定される。コピー・ポリシーが延期されるコピーである場合、ボリュームが現在のストレージ・クラスタ内で閉じられた後に、特定の期間が経過したときに、ボリュームが他のストレージ・クラスタに書き込まれるということが決定される。コピー・ポリシーが遅延されるコピーである場合、プログラムによって自動的に指定された時間またはユーザによって指定された時間になったときに、ボリュームが他のストレージ・クラスタに書き込まれるということが決定される。コピー・ポリシーが同期コピーである場合、ボリュームが現在のストレージ・クラスタおよび他のストレージ・クラスタに同時に書き込まれるように、ボリュームが現在のストレージ・クラスタ内で閉じられる前に、ボリュームが他のストレージ・クラスタに書き込まれるということが決定される。
本発明の一実施形態では、図7に示されているように、識別されたコピー・ポリシーに従って、クラスタ6(120f)に格納されたボリュームAがクラスタ2(120b)およびクラスタ4(120d)にコピーされる。図7は、本発明の一実施形態に従って、HSMシステムに接続されたホスト・コンピュータから書き込み要求を受信することに応答して、一次ストレージ・ティアにデータ・ボリュームをコピーする動作を説明するための図を示している。
図5は、本発明の実施形態に従って、HSMシステム内のクラウド・ストレージへの、一次ストレージ・レイヤ内の複数のクラスタに格納されたデータ・ファイルのマイグレーション動作を表すフローチャートを示している。マイグレーション動作は、データ・ボリューム・マイグレーション・プロセス500の一部として実行されてよい。
ステップS505で、データ・ボリューム・マイグレーション・プロセス500が開始する。本発明のさまざまな実施形態では、規則的間隔で、または特定のイベントまたは条件の発生に応答して、プロセス500がトリガーされてよい。例えば、ストレージ・クラスタ120のうちの1つのディスク・ストレージの空き領域の量が事前に定義されたしきい値未満になったときに、プロセス500がトリガーされてよい。
ステップS510で、次に、各ストレージ・クラスタが、ローカルに格納されたデータ・ボリュームを、作成時間、最後のアクセス時間、またはその他の属性に従って並べ替え、それはそのようなものが、各データ・ボリュームに関連付けられてよいからである。データ・ボリュームは、並べ替え時に、各ストレージ・クラスタのローカル・ディスク・ストレージ220に格納されてよく、二次ストレージ110にマイグレーションされることが決定されたデータ・ボリュームを含んでよい。データ・ボリュームは、特定の期間の間、使用されず、アクセスされてもいない場合に、クラウド・ストレージ110にマイグレーションされることが決定されてよい。
ステップS515で、各クラスタが、各クラスタに格納されたデータ・ボリュームごとに、一次ストレージ・ティア105のドメイン内のコピーの最小数(「N」)を数える。前述したように、各クラスタは、どのクラスタが、一次ストレージ・ティア105のドメイン内の各データ・ボリュームの現在のコピーを含んでいるか、または格納しているかを決定するために、ブロードキャストされたデータに基づいてコピーの数を数えてよい。
ステップS520で、各クラスタが、まだ処理されていないドメイン内のデータ・ボリュームのうちの1つまたは複数を識別する(S520)。
ステップS525で、各クラスタが、ステップS520で識別されたデータ・ボリュームごとに、そのボリュームが既定のしきい値より古いかどうかを判定する。本発明の一実施形態では、ステップS525での判定が真または「はい」の結果をもたらす場合、プロセスがステップ535に進み、それによって、識別されたデータ・ボリュームが二次ストレージ110のマイグレーション・キューに追加されてよい。有利には、ステップS525およびS535は、例えば、識別されたデータ・ボリュームのコピーを格納している別のクラスタが、他のクラスタに影響を与える局所的なエラーに起因して、このボリュームをマイグレーションできないという状況のための、「安全網」として役立つ。この実施形態では、ステップS525での判定が偽または「いいえ」の結果をもたらす場合、プロセスが代わりにステップ530に進み、それによって、ストレージ・クラスタ120が、識別されたデータ・ボリュームのコピーの数が「N」に等しいかどうかを判定する。ステップS530での判定が真または「はい」の結果をもたらす場合、関連付けられたマイグレーション動作のスケジューリングのために、データ・ボリュームが、二次ストレージ110のマイグレーション・キューに追加されてよい。ステップS530での判定が偽または「いいえ」の結果をもたらす場合、プロセスがステップS520に戻り、別の未処理のデータ・ボリュームに対してプロセスを繰り返す。
ステップS540で、各ストレージ・クラスタによって、未処理のデータ・ボリュームがまだ残っているかどうかがそれぞれ判定される。本発明の一実施形態では、この判定が真または「はい」の結果をもたらす場合、それに応じてプロセスがステップS510に戻り、未処理のデータ・ボリュームを処理し、この判定が偽または「いいえ」の結果をもたらす場合、プロセスがステップS545で終了する。コピー動作の後の特定の期間の間、HSMシステムに接続されたホスト・コンピュータが、プロセス500の間にコピーされたボリュームを使用しない場合、それらのボリュームが一次ストレージから除去されるということに、注意するべきである(図5に示されていない)。
ここで、本発明の一実施形態に従って、図8を参照して例示的なコピー動作が詳細に説明される。図8は、本発明の一実施形態に従って、HSMシステム内のクラウド・ストレージへの、一次ストレージ・レイヤまたは一次ストレージ・ティア内の複数のクラスタに格納されたデータ・ボリュームのマイグレーション動作を説明するための図を示している。
なお、この例は、本開示の前述の例に基づいており、一次ストレージ・ティア105のドメイン内に6つのストレージ・クラスタ120a〜120fが存在し、クラスタ2(120b)がボリュームA、ボリュームB、およびボリュームCを格納し、クラスタ4がボリュームAおよびボリュームBを格納し、クラスタ6がボリュームAのみを格納し、さらに、特定の期間の間、各ボリュームの各々へのユーザによって要求されたアクセスがないということなどによって、クラウド・ストレージ110にマイグレーションされるデータ・ボリュームが決定されて選択される。さらに、以下の例では、ボリュームAが最も古くない(すなわち、最も新しい)作成時間を含んでおり、ボリュームBが2番目に古い作成時間を含んでおり、ボリュームCが、ボリュームAおよびボリュームBの作成時間と相対的に、最も古い作成時間を含んでいるということも仮定される。したがって、この例では、ステップS510などにおいて、クラスタ6(120f)がボリュームC、ボリュームB、および次いでボリュームAと並べ替え、さらにクラスタ4(120d)がボリュームBおよびボリュームAと並べ替え、ボリュームの各セットが、各クラスタによって前述の順序で並べ替えられる。クラスタ2は、ボリュームAしか含んでいないため、そのような並べ替え動作を実行しない。
この例では、一次ストレージ・ティア105のドメイン内のボリュームAの3つのコピー、ボリュームBの2つのコピー、およびボリュームCの1つのコピーという結果が得られる。したがって、ステップS515で、ボリュームAの「N」が「3」、ボリュームBの「N」が「2」、ボリュームCの「N」が「1」であるため、ストレージ・クラスタ2は、クラスタ2に格納されたボリュームのコピーの数「N」の最小数が1であるということを認識する。同様に、ステップS515で、ストレージ・クラスタ4は、ボリュームのコピーの数「N」の最小数が2であるということを認識し、クラスタ6は、ボリュームのコピーの数「N」の最小数が1であるということを認識する。
この例では、ステップS520〜S535で、一次ストレージ・ティア105のドメイン内のボリュームCのコピーの数が、クラスタ2によって認識された最小数(すなわち、1)に等しいため、クラスタ2がボリュームCをマイグレーション・キューに追加する。一次ストレージ・ティア105のドメイン内のボリュームBのコピーの数が、クラスタ4によって認識された最小数(すなわち、2)に等しいため、クラスタ4がボリュームBをマイグレーション・キューに追加する。最後に、一次ストレージ・ティア105のドメイン内のボリュームAのコピーの数が、クラスタ6によって認識された最小数(すなわち、3)に等しいため、クラスタ6がボリュームAをマイグレーション・キューに追加する。
この例では、二次ストレージ110(すなわち、クラウド・ストレージ)に、クラスタ6からボリュームAがコピーされ、クラスタ4からボリュームBがコピーされ、クラスタ2からボリュームCがコピーされる。本発明の実施形態の実装の結果として、マイグレーション動作から生じる負荷が、ドメイン内のストレージ・クラスタ間で効率的に分散され、マイグレーションの性能が最大化される。この場合も、一実施形態では、コピー動作の後の特定の期間の間、HSMシステムに接続されたホスト・コンピュータが、ボリュームA、B、およびCを使用しない場合、それらのボリュームが一次ストレージから除去されるということに、注意するべきである。
本発明のさまざまな実施形態では、前述したように、二次ストレージがクラウド内の単一のターゲットであるということが仮定されてよい。本発明の他の実施形態では、二次ストレージが、2つ以上のクラウド・ストレージ・ノードを含んでいるクラウド・サービスを提供してよく、それらのノードの各々が、固有のユニフォーム・リソース・ロケータ(URL:uniform resource locator)を有している単一のターゲットであってよい。そのような実施形態では、例えば、日本国内および米国内に、それぞれストレージ・クラウド・ノードが確立されてよく、クラウド・サービスのベンダーが、ストレージ・クラウド・ノード間のデータの複製の責任を負ってよい。そのような複数のクラウド・ストレージ・ノードの状況では、ボリュームがストレージ・クラウド・ノードのうちの1つに書き込まれた後に、クラウド・サービスが、そのボリュームをクラウド・サービスの他のストレージ・クラウド・ノードにコピーしてよい。二次ストレージが複数のクラウド・サービスを含んでいる場合、一次ストレージのストレージ・クラスタが、マイグレーションされるボリュームを各クラウド・サービスの二次ストレージにコピーしてよい。
図9は、本発明の一実施形態に従って、ホスト・コンピュータ115、ストレージ・クラスタ120、または第2のストレージ・ティア110などのコンピューティング・プラットフォーム、あるいはその組み合わせによって具現化されてよい、データ処理デバイス10の好ましいハードウェア構成の例を表す図を示している。データ処理デバイス10は、例えば、汎用コンピューティング・デバイス、サーバ、または図1を参照して説明された任意のその他の種類のコンピューティング・プラットフォームなどの、コンピューティング・プラットフォームであってよい。図9に示されているように、データ処理デバイス10は、例えば、コンピュータ・システム/サーバ12であるか、コンピュータ・システム/サーバ12を含むか、またはその他の方法でコンピュータ・システム/サーバ12によってサポートされてよい。コンピュータ・システム/サーバ12のコンポーネントは、例えば、1つまたは複数のプロセッサまたはプロセッシング・ユニット16、システム・メモリ28、およびシステム・メモリ28を含むさまざまなシステム・コンポーネントをプロセッサ16に結合するためのバス18を含んでよい。
バス18は、さまざまなバス・アーキテクチャのいずれかを使用する、メモリ・バス、メモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、プロセッサまたはローカル・バスなどを含む、任意の種類のバス構造またはデバイスを表す。例えば、バス構造は、ISA(industry standard architecture)バス、MCA(micro-channel architecture)バス、EISA(enhanced ISA)バス、VESA(video electronics standards association)ローカル・バス、PCI(peripheral component interconnect)バスなどであるか、これらを含んでよい。
コンピュータ・システム/サーバ12は、通常、例えばさまざまなコンピュータ・システム可読媒体を含んでよい。そのような媒体は、コンピュータ・システム/サーバ12によってアクセスできる任意の使用可能な種類の媒体であってよく、例えば、揮発性および不揮発性媒体、ならびに取り外し可能および取り外し不可の媒体を含んでよい。
システム・メモリ28は、ランダム・アクセス・メモリ(RAM:random access memory)30またはキャッシュ・メモリ32あるいはその両方などの、揮発性コンピュータ・システム可読媒体を含んでよい。コンピュータ・システム/サーバ12は、その他の取り外し可能/取り外し不可、および揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含んでよい。単に例として、取り外し不可、不揮発性の磁気媒体(図示されておらず、通常は「ハード・ドライブ」と呼ばれる)に対する読み取りと書き込みを行うために、ストレージ・システム34が提供されてよい。図示されていないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびCD−ROM、DVD−ROM、またはその他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブを提供することができる。そのような例では、各々が、1つまたは複数のデータ媒体インターフェイスによってバス18に接続されてよい。下で詳細に示され、説明されているように、メモリ28は、本明細書に記載された本発明のさまざまな機能を実行するように構成され得る実行用の一連の(すなわち、少なくとも1つのセットの)プログラム・モジュールまたは命令を備える少なくとも1つのプログラム製品を含んでよい。
コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読ストレージ媒体であってよい。コンピュータ可読ストレージ媒体は、例えば、電子、磁気、電磁気、光、赤外線、または半導体システム、装置、もしくはデバイス、あるいはこれらの任意の適切な組み合わせであってよい。例えば、コンピュータ可読ストレージ媒体は、1つまたは複数のワイヤを含む電気的接続、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disc read-only memory)、光ストレージ・デバイス、磁気ストレージ・デバイス、またはこれらの任意の適切な組み合わせであるか、あるいはこれらを含んでよい。本発明との関連においてコンピュータ可読ストレージ媒体は、命令実行システム、命令実行装置、または命令実行デバイスによって、またはこれらに関連して使用するためのプログラムを含むか、または格納することができる任意の有形の媒体であってよい。
コンピュータ可読信号媒体は、コンピュータ可読プログラム・コードが具現化された伝搬データ信号を(例えば、ベースバンドに、または搬送波の一部として)含んでよい。そのような伝搬信号は、電磁気、光、これらの任意の適切な組み合わせなどの、さまざまな形態をとってよい。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、命令実行システム、装置、またはデバイスによって、またはそれらに関連して使用または実行するために、プログラムまたはプログラム命令を伝達、伝搬、または搬送するため使用できる、任意のコンピュータ可読媒体であってよい。
コンピュータ可読媒体上で具体化されたプログラム・コードは、例えば、無線、有線、光ファイバ・ケーブル、無線周波数(RF:radio-frequency)など、またはこれらの任意の適切な組み合わせを含む、任意の適切な媒体を使用して送信されてよい。
一連の(すなわち、少なくとも1つのセットの)プログラム・モジュール42を含んでいるプログラム/ユーティリティ40が、例えば、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、プログラム・モジュール、または任意のその他の形態のプログラム・データなどによって、メモリ28に格納されてよく、ネットワーク環境の実装において、個別に、またはさまざまな組み合わせで、使用されてよい。通常、プログラム・モジュール42は、本明細書において説明されている本発明のさまざまな機能または方法を実行することにおいて使用されてよい。
コンピュータ・システム/サーバ12は、ディスプレイ24、または1つまたは複数の外部デバイス14(キーボード、ポインティング・デバイス、または任意のその他の種類のユーザ・インターフェイスもしくは入出力(I/O:input/output)デバイスなど)、あるいはその両方と通信してよい。ディスプレイ24は、例えば、データまたは情報をユーザに表示するためのインターフェイスまたはメカニズムを提供するために使用されてよく、例えば、ディスプレイ、モニタ、テレビ画面などであってよい。
通常、コンピュータ・システム/サーバ12は、ユーザの対話を可能にすることにおいて使用される任意の種類のデバイスと通信してよい。さらに、コンピュータ・システム/サーバ12は、コンピュータ・システム/サーバ12、1つまたは複数の他のコンピューティング・デバイス、またはプラットフォームの間での通信を可能にすることにおいて使用され得る、ネットワーク・カード、モデムなどを含む、任意の種類のデバイスと通信してよい。そのような通信は、例えば、I/Oインターフェイス22によって発生してよい。さらに、コンピュータ・システム/サーバ12は、ローカル・エリア・ネットワーク(LAN)、一般的な広域ネットワーク(WAN)、パブリック・ネットワーク(例えば、インターネット)などの1つまたは複数のネットワークと、ネットワーク・アダプタ20などによって通信してよい。図9に示されているように、ネットワーク・アダプタ20は、バス18によってコンピュータ・システム/サーバ12の他のコンポーネントと通信してよい。図示されていないが、その他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方が、コンピュータ・システム/サーバ12によって、またはコンピュータ・システム/サーバ12と共に、使用され得るということが、理解されるべきである。そのようなハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方は、例えば、1つまたは複数のマイクロコード、デバイス・ドライバ、冗長なプロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、データ保管ストレージ・システムなどを含んでよい。
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate array)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic array)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をパーソナライズするためのコンピュータ可読プログラム命令を実行してよい。
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施するように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、その他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成するその他のデバイス上で実行させる。
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。むしろ、本発明の実施形態は、現在既知であるか、または今後開発される任意のその他の種類のコンピューティング環境と組み合わせて実装できる。
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含むことができる。
特徴は、次のとおりである。
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間、ネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
幅広いネットワーク・アクセス:クラウドの能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。
リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、高い抽象レベルで場所(例えば、国、州、またはデータセンター)を指定できる場合がある。
迅速な順応性:クラウドの能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用量は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
サービス・モデルは、次のとおりである。
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザなどのシン・クライアント・インターフェイスを介して(例えば、Webベースの電子メール)、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション能力を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、およびその他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、およびデプロイされたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
デプロイメント・モデルは、次のとおりである。
プライベート・クラウド:このクラウド・インフラストラクチャは、ある組織のためにのみ運用される。この組織またはサードパーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサードパーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションのポータビリティを可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含んでいるインフラストラクチャである。
ここで図10を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組み合わせなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード12を含んでいる。ノード12は、互いに通信してよい。ノード12は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどに、物理的または仮想的にグループ化されてよい(図示されていない)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。図10に示されたコンピューティング・デバイス54A〜Nの種類は、例示のみが意図されており、コンピューティング・ノード12およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
ここで図11を参照すると、クラウド・コンピューティング環境50(図10)によって提供される機能的抽象レイヤのセットが示されている。図11に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66を含む。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
仮想化レイヤ70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75などの仮想的実体を提供できる抽象レイヤを備える。
一例を挙げると、管理レイヤ80は、以下で説明される機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよびその他のリソースの動的調達を行う。計測および価格設定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書送付(billing)またはインボイス送付(invoicing)を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのID検証を行うとともに、データおよびその他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行85は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
ワークロード・レイヤ90は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の配信93、データ解析処理94、トランザクション処理95、および階層型ストレージ管理96が挙げられる。階層型ストレージ管理96は、本発明の実施形態に従って、クラウド・コンピューティング環境を、階層型ストレージ管理システムでのデータ・マイグレーション管理において使用できるようにする機能を含んでよい。
本発明は、その特定の実施形態例を参照して示され、説明されたが、本明細書での形態および詳細におけるさまざまな変更が、添付の特許請求の範囲およびそれらと同等のものによって定義された本発明の範囲を逸脱することなく行われてよいということが、当業者によって理解されるであろう。したがって本発明は、制限ではなく、説明の目的で、例として開示された。

Claims (25)

  1. 階層型ストレージ管理システム内のデータ単位に対するコピー動作を管理するコンピュータ実装方法であって、前記管理システムが上位レイヤおよび下位レイヤを含んでおり、前記上位レイヤが、多重化されたグリッド構成で通信するためにストレージ・ノードが配置されたドメインを含んでおり、各データ単位が、前記ストレージ・ノードのうちの1つまたは複数に格納され、前記方法が、
    ローカルに格納されたデータ単位ごとに、各ストレージ・ノードによって、前記ドメイン内の前記ストレージ・ノードのうちの1つまたは複数にそれぞれ格納されている前記データ単位の各々のコピーの最小数を決定することであって、前記決定が、前記多重化されたグリッドを経由して、前記コピーをそれぞれ格納している前記ストレージ・ノードのうちの1つまたは複数から受信されたデータに基づいて行われる、前記決定することと、
    対応するデータ単位のコピーの最小数が格納されている対応するストレージ・ノードによる実行のために、各データ単位に対するコピー動作をスケジューリングすることと、
    前記下位レイヤへの各データ単位の各マイグレーションのために、各データ単位に対する前記スケジューリングに従って前記コピー動作を実行することとを含む、コンピュータ実装方法。
  2. 前記管理システムに接続されたコンピューティング・デバイスから、前記ストレージ・ノードのうちの1つまたは複数に格納されたデータ単位に対応する書き込み要求を受信することであって、前記データ単位が、前記データ単位のコピーが格納され得る1つまたは複数の許可されたストレージ・ノードを指定する、関連付けられたコピー・ポリシーを含んでおり、前記コピー・ポリシーが、前記コピーが前記1つまたは複数の許可されたストレージ・ノードに格納され得る期間をさらに指定する、受信することと、
    前記書き込み要求を実行して、前記コピー・ポリシーに従って、前記1つまたは複数の許可されたストレージ・ノードに関して、前記データ単位に対して対応する書き込み動作を実行することとをさらに含む、請求項1に記載のコンピュータ実装方法。
  3. 各データ単位に対して、前記スケジューリングに従って前記コピー動作を実行することが、それぞれ対応するストレージ・ノードから各データ単位がコピーされる回数を1に制限することを含む、請求項1に記載のコンピュータ実装方法。
  4. 前記下位レイヤが、前記上位レイヤ内の前記1つまたは複数のストレージ・ノードのいずれのデータ取得速度および可用性のレベルよりも低いデータ取得速度および可用性のレベルをそれぞれ有するストレージ・ノードを含む、請求項1に記載のコンピュータ実装方法。
  5. 前記下位レイヤが、メモリ・プールを提供するように抽象化された、仮想化されたメモリ・リソースを含む、請求項1に記載のコンピュータ実装方法。
  6. 前記仮想化されたメモリ・リソースが、クラウド・コンピューティング層によって抽象化される、請求項5に記載のコンピュータ実装方法。
  7. 各ストレージ・ノードが、対応するデータ単位が格納されている前記ストレージ・ノードのうちの1つまたは複数を識別するために、前記ストレージ・ノードの各々の個別のデータベースと通信するための前記多重化されたグリッドに接続されたデータベースを含む、請求項1に記載のコンピュータ実装方法。
  8. 前記コピー動作をスケジューリングすることが、
    前記ドメイン内のストレージ・ノードによって、コピーされる対応するデータ単位に対する前記コピー動作の前記実行のために、前記ドメイン内の前記ストレージ・ノードのうちの1つまたは複数を選択することを含んでおり、前記ストレージ・ノードが、コピーされる前記データ単位のコピーが、前記ストレージ・ノードのうちの1つまたは複数に格納されており、コピー動作が、既定のしきい値を超える時間の間、前記データ単位に対して実行されていないということの決定に基づいて選択される、請求項1に記載のコンピュータ実装方法。
  9. 前記コピー動作をスケジューリングすることが、
    前記ドメイン内のストレージ・ノードによって、コピーされる対応するデータ単位に対する前記コピー動作の前記実行のために、前記ドメイン内の前記ストレージ・ノードのうちの1つまたは複数を選択することを含んでおり、前記ストレージ・ノードが、前記ストレージ・ノード自体が、コピーされる前記データ単位のコピーを格納しており、前記ストレージ・ノード自体に格納されている前記データ単位のコピーの数が、前記ドメイン内の前記他のストレージ・ノードのいずれに格納されている前記データ単位のコピーの数よりも少ないということの決定に基づいて選択される、請求項1に記載のコンピュータ実装方法。
  10. 階層型ストレージ管理システム内のデータ単位に対するコピー動作を管理するためのコンピュータ・システムであって、前記管理システムが上位レイヤおよび下位レイヤを含んでおり、前記上位レイヤが、多重化されたグリッド構成で通信するためにストレージ・ノードが配置されたドメインを含んでおり、各データ単位が、前記ストレージ・ノードのうちの1つまたは複数に格納され、前記コンピュータ・システムが、
    1つまたは複数のコンピュータ・プロセッサと、1つまたは複数のコンピュータ可読ストレージ媒体と、前記1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つによって実行するために前記コンピュータ可読ストレージ媒体のうちの1つまたは複数に格納されたプログラム命令とを備えており、前記プログラム命令が、前記1つまたは複数のコンピュータ・プロセッサのうちの前記少なくとも1つによって実行された場合に、前記コンピュータ・システムに、
    ローカルに格納されたデータ単位ごとに、各ストレージ・ノードによって、前記ドメイン内の前記ストレージ・ノードのうちの1つまたは複数にそれぞれ格納されている前記データ単位の各々のコピーの最小数を決定することであって、前記決定が、前記多重化されたグリッドを経由して、前記コピーをそれぞれ格納している前記ストレージ・ノードのうちの1つまたは複数から受信されたデータに基づいて行われる、前記決定することと、
    対応するデータ単位のコピーの最小数が格納されている対応するストレージ・ノードによる実行のために、各データ単位に対するコピー動作をスケジューリングすることと、
    前記下位レイヤへの各データ単位の各マイグレーションのために、各データ単位に対する前記スケジューリングに従って前記コピー動作を実行することとを含む方法を実行させる、コンピュータ・システム。
  11. 前記方法が、
    前記管理システムに接続されたコンピューティング・デバイスから、前記ストレージ・ノードのうちの1つまたは複数に格納されたデータ単位に対応する書き込み要求を受信することであって、前記データ単位が、前記データ単位のコピーが格納され得る1つまたは複数の許可されたストレージ・ノードを指定する、関連付けられたコピー・ポリシーを含んでおり、前記コピー・ポリシーが、前記コピーが前記1つまたは複数の許可されたストレージ・ノードに格納され得る期間をさらに指定する、受信することと、
    前記書き込み要求を実行して、前記コピー・ポリシーに従って、前記1つまたは複数の許可されたストレージ・ノードに関して、前記データ単位に対して対応する書き込み動作を実行することとをさらに含む、請求項10に記載のコンピュータ・システム。
  12. 各データ単位に対して、前記スケジューリングに従って前記コピー動作を実行することが、それぞれ対応するストレージ・ノードから各データ単位がコピーされる回数を1に制限することを含む、請求項10に記載のコンピュータ・システム。
  13. 前記下位レイヤが、前記上位レイヤ内の前記1つまたは複数のストレージ・ノードのいずれのデータ取得速度および可用性のレベルよりも低いデータ取得速度および可用性のレベルをそれぞれ有するストレージ・ノードを含む、請求項10に記載のコンピュータ・システム。
  14. 前記下位レイヤが、メモリ・プールを提供するように抽象化された、仮想化されたメモリ・リソースを含む、請求項10に記載のコンピュータ・システム。
  15. 前記仮想化されたメモリ・リソースが、クラウド・コンピューティング・レイヤによって抽象化される、請求項14に記載のコンピュータ・システム。
  16. 各ストレージ・ノードが、対応するデータ単位が格納されている前記ストレージ・ノードのうちの1つまたは複数を識別するために、前記ストレージ・ノードの各々の個別のデータベースと通信するための前記多重化されたグリッドに接続されたデータベースを含む、請求項10に記載のコンピュータ・システム。
  17. 前記コピー動作をスケジューリングすることが、
    前記ドメイン内のストレージ・ノードによって、コピーされる対応するデータ単位に対する前記コピー動作の前記実行のために、前記ドメイン内の前記ストレージ・ノードのうちの1つまたは複数を選択することを含んでおり、前記ストレージ・ノードが、コピーされる前記データ単位のコピーが、前記ストレージ・ノードのうちの1つまたは複数に格納されており、コピー動作が、既定のしきい値を超える時間の間、前記データ単位に対して実行されていないということの決定に基づいて選択される、請求項10に記載のコンピュータ・システム。
  18. 前記コピー動作をスケジューリングすることが、
    前記ドメイン内のストレージ・ノードによって、コピーされる対応するデータ単位に対する前記コピー動作の前記実行のために、前記ドメイン内の前記ストレージ・ノードのうちの1つまたは複数を選択することを含んでおり、前記ストレージ・ノードが、前記ストレージ・ノード自体が、コピーされる前記データ単位のコピーを格納しており、前記ストレージ・ノード自体に格納されている前記データ単位のコピーの数が、前記ドメイン内の前記他のストレージ・ノードのいずれに格納されている前記データ単位のコピーの数よりも少ないということの決定に基づいて選択される、請求項10に記載のコンピュータ・システム。
  19. 階層型ストレージ管理システム内のデータ単位に対するコピー動作を管理するためのコンピュータ・プログラム製品であって、前記管理システムが上位レイヤおよび下位レイヤを含んでおり、前記上位レイヤが、多重化されたグリッド構成で通信するためにストレージ・ノードが配置されたドメインを含んでおり、各データ単位が、前記ストレージ・ノードのうちの1つまたは複数に格納され、前記コンピュータ・プログラム製品が、
    1つまたは複数のコンピュータ可読ストレージ・デバイスと、コンピュータ・システムの少なくとも1つまたは複数のコンピュータ・プロセッサによって実行するために前記1つまたは複数のコンピュータ可読ストレージ・デバイスのうちの少なくとも1つに格納されたプログラム命令とを備えており、前記プログラム命令が、前記1つまたは複数のコンピュータ・プロセッサのうちの前記少なくとも1つによって実行された場合に、前記コンピュータ・システムに命令を実行させ、
    ローカルに格納されたデータ単位ごとに、各ストレージ・ノードによって、前記ドメイン内の前記ストレージ・ノードのうちの1つまたは複数にそれぞれ格納されている前記データ単位の各々のコピーの最小数を決定することであって、前記決定が、前記多重化されたグリッドを経由して、前記コピーをそれぞれ格納している前記ストレージ・ノードのうちの1つまたは複数から受信されたデータに基づいて行われる、前記決定することと、
    対応するデータ単位のコピーの最小数が格納されている対応するストレージ・ノードによる実行のために、各データ単位に対するコピー動作をスケジューリングすることと、
    前記下位レイヤへの各データ単位の各マイグレーションのために、各データ単位に対する前記スケジューリングに従って前記コピー動作を実行することとを含む方法を実行する、コンピュータ・プログラム製品。
  20. 前記方法が、
    前記管理システムに接続されたコンピューティング・デバイスから、前記ストレージ・ノードのうちの1つまたは複数に格納されたデータ単位に対応する書き込み要求を受信することであって、前記データ単位が、前記データ単位のコピーが格納され得る1つまたは複数の許可されたストレージ・ノードを指定する、関連付けられたコピー・ポリシーを含んでおり、前記コピー・ポリシーが、前記コピーが前記1つまたは複数の許可されたストレージ・ノードに格納され得る期間をさらに指定する、受信することと、
    前記書き込み要求を実行して、前記コピー・ポリシーに従って、前記1つまたは複数の許可されたストレージ・ノードに関して、前記データ単位に対して対応する書き込み動作を実行することとをさらに含む、請求項19に記載のコンピュータ・プログラム製品。
  21. 各データ単位に対して、前記スケジューリングに従って前記コピー動作を実行することが、それぞれ対応するストレージ・ノードから各データ単位がコピーされる前記回数を1に制限することを含む、請求項19に記載のコンピュータ・プログラム製品。
  22. 前記下位レイヤが、前記上位レイヤ内の前記1つまたは複数のストレージ・ノードのいずれのデータ取得速度および可用性のレベルよりも低いデータ取得速度および可用性のレベルをそれぞれ有するストレージ・ノードを含む、請求項19に記載のコンピュータ・プログラム製品。
  23. 前記下位レイヤが、メモリ・プールを提供するように抽象化された、仮想化されたメモリ・リソースを含む、請求項19に記載のコンピュータ・プログラム製品。
  24. 前記仮想化されたメモリ・リソースが、クラウド・コンピューティング・レイヤによって抽象化される、請求項23に記載のコンピュータ・プログラム製品。
  25. 各ストレージ・ノードが、対応するデータ単位が格納されている前記ストレージ・ノードのうちの1つまたは複数を識別するために、前記ストレージ・ノードの各々の個別のデータベースと通信するための前記多重化されたグリッドに接続されたデータベースを含む、請求項19に記載のコンピュータ・プログラム製品。
JP2020539847A 2018-02-12 2019-01-18 階層型ストレージ管理システムにおけるデータ・マイグレーション Active JP7431490B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/894,131 2018-02-12
US15/894,131 US10705752B2 (en) 2018-02-12 2018-02-12 Efficient data migration in hierarchical storage management system
PCT/IB2019/050421 WO2019155308A1 (en) 2018-02-12 2019-01-18 Data migration in a hierarchical storage management system

Publications (2)

Publication Number Publication Date
JP2021513137A true JP2021513137A (ja) 2021-05-20
JP7431490B2 JP7431490B2 (ja) 2024-02-15

Family

ID=67541599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020539847A Active JP7431490B2 (ja) 2018-02-12 2019-01-18 階層型ストレージ管理システムにおけるデータ・マイグレーション

Country Status (6)

Country Link
US (1) US10705752B2 (ja)
JP (1) JP7431490B2 (ja)
CN (1) CN111684779B (ja)
DE (1) DE112019000756T5 (ja)
GB (1) GB2585543B (ja)
WO (1) WO2019155308A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11068188B2 (en) * 2019-09-19 2021-07-20 International Business Machines Corporation Monitored migration of copies of volumes of data between clusters of a virtual tape library system
US11188235B2 (en) * 2019-11-26 2021-11-30 International Business Machines Corporation Reducing data replications among storage locations

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006350599A (ja) * 2005-06-15 2006-12-28 Hitachi Ltd ストレージシステム及びストレージシステムのデータマイグレーション方法
JP2009245264A (ja) * 2008-03-31 2009-10-22 Nec Corp バックアップ管理システム、方法、及び、プログラム
EP2743821A1 (en) * 2012-12-11 2014-06-18 Alcatel Lucent User data duplication
US20160246517A1 (en) * 2015-02-20 2016-08-25 Netapp, Inc. Methods for policy-based data tiering using a cloud architecture and devices thereof
JP2017168135A (ja) * 2012-05-10 2017-09-21 エーテルストア インコーポレイテッド 分散ストレージシステム及び分散ストレージの方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194492B2 (en) 2001-10-29 2007-03-20 Emc Corporation Method and apparatus for efficiently copying distributed data files
US7441096B2 (en) * 2004-07-07 2008-10-21 Hitachi, Ltd. Hierarchical storage management system
US20060136525A1 (en) * 2004-12-21 2006-06-22 Jens-Peter Akelbein Method, computer program product and mass storage device for dynamically managing a mass storage device
US8341345B2 (en) * 2005-08-08 2012-12-25 International Business Machines Corporation System and method for providing content based anticipative storage management
US7831566B2 (en) 2006-12-22 2010-11-09 Commvault Systems, Inc. Systems and methods of hierarchical storage management, such as global management of storage operations
WO2009032712A2 (en) * 2007-08-29 2009-03-12 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
US8392370B1 (en) * 2008-03-28 2013-03-05 Emc Corporation Managing data on data storage systems
US8645660B2 (en) * 2009-12-10 2014-02-04 Microsoft Corporation Automatic allocation of data replicas
US8452932B2 (en) 2010-01-06 2013-05-28 Storsimple, Inc. System and method for efficiently creating off-site data volume back-ups
US8954669B2 (en) 2010-07-07 2015-02-10 Nexenta System, Inc Method and system for heterogeneous data volume
US8965856B2 (en) 2011-08-29 2015-02-24 Hitachi, Ltd. Increase in deduplication efficiency for hierarchical storage system
CN102546782B (zh) 2011-12-28 2015-04-29 北京奇虎科技有限公司 一种分布式系统及其数据操作方法
US9703500B2 (en) * 2012-04-25 2017-07-11 International Business Machines Corporation Reducing power consumption by migration of data within a tiered storage system
CN102880531B (zh) 2012-09-27 2014-04-16 新浪网技术(中国)有限公司 数据库备份系统及其备份方法和从数据库服务器
CN103150263B (zh) * 2012-12-13 2016-01-20 深圳先进技术研究院 分级存储方法
EP2821913A1 (en) * 2013-07-01 2015-01-07 Open Text S.A. A method and system for storing documents
KR101593012B1 (ko) 2013-12-24 2016-02-18 주식회사 케이티 계층형 스토리지 제어 장치 및 방법
JP5991701B2 (ja) 2014-10-28 2016-09-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ストレージ管理方法、ストレージ管理システム、コンピュータ・システムおよびプログラム
US9626245B2 (en) * 2015-02-20 2017-04-18 Netapp, Inc. Policy based hierarchical data protection
CN107291889A (zh) * 2017-06-20 2017-10-24 郑州云海信息技术有限公司 一种数据存储方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006350599A (ja) * 2005-06-15 2006-12-28 Hitachi Ltd ストレージシステム及びストレージシステムのデータマイグレーション方法
JP2009245264A (ja) * 2008-03-31 2009-10-22 Nec Corp バックアップ管理システム、方法、及び、プログラム
JP2017168135A (ja) * 2012-05-10 2017-09-21 エーテルストア インコーポレイテッド 分散ストレージシステム及び分散ストレージの方法
EP2743821A1 (en) * 2012-12-11 2014-06-18 Alcatel Lucent User data duplication
US20160246517A1 (en) * 2015-02-20 2016-08-25 Netapp, Inc. Methods for policy-based data tiering using a cloud architecture and devices thereof

Also Published As

Publication number Publication date
CN111684779B (zh) 2023-02-03
GB2585543B (en) 2022-07-20
JP7431490B2 (ja) 2024-02-15
GB2585543A (en) 2021-01-13
WO2019155308A1 (en) 2019-08-15
CN111684779A (zh) 2020-09-18
US20190250844A1 (en) 2019-08-15
GB202013512D0 (en) 2020-10-14
US10705752B2 (en) 2020-07-07
DE112019000756T5 (de) 2020-10-29

Similar Documents

Publication Publication Date Title
US11023286B2 (en) Container based service management
US9460147B1 (en) Partition-based index management in hadoop-like data stores
US10168915B2 (en) Workload performance in a multi-tier storage environment
US9727578B2 (en) Coordinated access to a file system's shared storage using dynamic creation of file access layout
US20180253246A1 (en) Method and system for memory allocation in a disaggregated memory architecture
US10127243B2 (en) Fast recovery using self-describing replica files in a distributed storage system
US20150370845A1 (en) Storage device data migration
US10983822B2 (en) Volume management by virtual machine affiliation auto-detection
WO2021220092A1 (en) Multi-cluster container orchestration
US11003658B2 (en) Selectively retrieving data from remote share nothing computer clusters
US10642540B2 (en) Aligning tenant resource demand in a multi-tier storage environment
US11076020B2 (en) Dynamically transitioning the file system role of compute nodes for provisioning a storlet
US20190109901A1 (en) Initiator aware data migration
US20230055511A1 (en) Optimizing clustered filesystem lock ordering in multi-gateway supported hybrid cloud environment
US11467735B2 (en) I/O operations in log structured arrays
JP7431490B2 (ja) 階層型ストレージ管理システムにおけるデータ・マイグレーション
US11928038B2 (en) Managing data sets based on user activity
US10554770B2 (en) Dynamic cognitive optimization of web applications
US20190065582A1 (en) Cognitive data curation on an interactive infrastructure management system
JP2023544192A (ja) ファンクション実行のためのコンピューティング・リソースのタグ・ドリブン・スケジューリング

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210623

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220621

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20220902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230327

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20231113

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20231201

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240116

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20240117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240130

R150 Certificate of patent or registration of utility model

Ref document number: 7431490

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150