JP7210554B2 - クラウド・ストレージをランクとして使用するストレージ・システム - Google Patents

クラウド・ストレージをランクとして使用するストレージ・システム Download PDF

Info

Publication number
JP7210554B2
JP7210554B2 JP2020513689A JP2020513689A JP7210554B2 JP 7210554 B2 JP7210554 B2 JP 7210554B2 JP 2020513689 A JP2020513689 A JP 2020513689A JP 2020513689 A JP2020513689 A JP 2020513689A JP 7210554 B2 JP7210554 B2 JP 7210554B2
Authority
JP
Japan
Prior art keywords
cloud
storage
virtual local
data access
raid array
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.)
Active
Application number
JP2020513689A
Other languages
English (en)
Other versions
JP2020533678A (ja
JP2020533678A5 (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 JP2020533678A publication Critical patent/JP2020533678A/ja
Publication of JP2020533678A5 publication Critical patent/JP2020533678A5/ja
Application granted granted Critical
Publication of JP7210554B2 publication Critical patent/JP7210554B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

クラウド・ストレージをランクとして使用するストレージ・システムを実現するためのコンピュータ実装方法に関する。
ストレージ・エリア・ネットワーク(SAN:storage area networks)などのストレージ・ネットワークは、さまざまなタイプのデータ・ストレージ・システムをさまざまなタイプのサーバ(本明細書では「ホスト・システム」とも呼ばれる)と相互接続するために使用される。一部のサーバは、データ・ストレージ媒体、ストレージ・コントローラ、メモリ、および付随する電力システム、冷却システムなどの、さまざまなハードウェアを含む。
ストレージ・コントローラは、読み取り要求および書き込み要求に応答して、データ・ストレージ媒体およびメモリへのアクセスを制御する。ストレージ・コントローラは、RAID(redundant array of independent disks:新磁気ディスク制御機構)、JBOD(just a bunch of disks:単純ディスク束)、ならびにその他の冗長性およびセキュリティ・レベルなどのデータ・ストレージ・デバイスに従って、データを管理することができる。一例として、DS8000シリーズなどのIBM(R)ESS(Enterprise Storage Server)は、コンピュータの実体、キャッシュ、不揮発性ストレージなどの冗長なクラスタを含む。
クラウド・ストレージをランクとして使用するストレージ・システムを提供する。
本開示の態様は、クラウド・ストレージをランクとして利用するためのコンピュータ実装方法、コンピュータ・プログラム製品、コンピューティング・デバイス、およびシステムを含んでよい。例示的な方法は、クラウド・インターフェイスを介して1つまたは複数のクラウド・ストレージ・デバイス上のストレージ空間を割り当てることと、割り当てられたストレージ空間を対応する仮想ローカル・アドレスにマッピングすることと、仮想ローカル・アドレスをグループ化して、1つまたは複数のクラウド・ストレージ・デバイス上の割り当てられたストレージ空間から1つまたは複数の仮想ローカル・ランクを作成することと、1つまたは複数の仮想ローカル・ランクに対するローカル・データ・アクセス要求を、クラウド・インターフェイス用に構成されたクラウド・データ・アクセス要求に変換することと、クラウド・インターフェイスを介してそれらのクラウド・データ・アクセス要求を1つまたは複数のクラウド・ストレージ・デバイスに伝達することとを含む。
上記の概要は、本開示の各実施形態例もすべての実装も説明するよう意図されていない。
各図面が、実施形態例のみを表しており、したがって、範囲の制限と見なされるべきではないということを理解して、添付の図面を使用することによって、追加の特殊性および詳細と共に、実施形態例が説明される。
例示的なネットワーク環境の一実施形態を示す上位のブロック図である。 例示的なストレージ・システムの一実施形態を示す上位のブロック図である。 例示的なデバイス・アダプタの一実施形態のブロック図である。 ストレージ・コントローラ用のランクとしてクラウド・ストレージを使用する例示的な方法の一実施形態を示すフローチャートである。
慣行に従って、説明されるさまざまな特徴は一定の縮尺で描かれておらず、実施形態例に関連する特定の特徴を強調するように描かれている。
以下の詳細な説明では、本明細書の一部を形成する添付の図面に対する参照が行われ、その参照において、特定の例示的な実施形態が、例として示される。ただし、その他の実施形態が利用されてよく、論理的変更、機械的変更、および電気的変更が行われてよいということが、理解されるべきである。さらに、図面および本明細書において提示される方法は、個別のステップが実行される順序を制限すると解釈されるべきではない。したがって、以下の詳細な説明は、限定する意味で受け取られるべきではない。
本明細書において使用されるとき、「少なくとも1つ」、「1つまたは複数」、および「~または~あるいはその組み合わせ」という語句は、動作中の結合および分離の両方である無制限の表現である。例えば、「A、B、およびCのうちの少なくとも1つ」、「A、B、またはCのうちの少なくとも1つ」、「A、B、およびCのうちの1つまたは複数」、「A、B、またはCのうちの1つまたは複数」、および「A、B、またはC、あるいはその組み合わせ」という表現の各々は、A単独、B単独、C単独、AおよびBの組み合わせ、AおよびCの組み合わせ、BおよびCの組み合わせ、またはA、B、およびCの組み合わせを意味する。さらに、「1つ(a)」または「1つ(an)」の実体という用語は、その実態のうちの1つまたは複数のことを指す。そのため、「1つ(a)」(または「1つ(an)」)、「1つまたは複数」、および「少なくとも1つ」という用語は、本明細書では交換可能なように使用され得る。「備えている」、「含んでいる」、および「有している」という用語が交換可能なように使用され得るということにも注意するべきである。「自動的」およびその変形の用語は、本明細書において使用されるとき、プロセスまたは動作が実行されるときに、具体的な人間の入力なしで実行される、任意のプロセスまたは動作のことを指す。人間の入力は、そのような入力が、プロセスまたは動作の実行方法または実行のタイミングを指示または制御する場合に、具体的であると見なされる。人間の入力を使用するプロセスは、その入力が、プロセスの実行方法または実行のタイミングを指示することも制御することも行わない場合、まだ自動的であると見なされる。
「決定する」、「算出する」、および「計算する」という用語、ならびにその変形は、本明細書において使用されるとき、交換可能なように使用され、任意の種類の方法、プロセス、数学演算、または手法を含む。以下では、「通信する」または「通信によって結合される」は、無線または有線に関わらず、任意の電気接続を意味するものとし、2つ以上のシステム、コンポーネント、モジュール、デバイスなどが、任意のプロトコルまたは形式を使用してデータ、信号、またはその他の情報を交換できるようにする。さらに、通信によって結合された2つのコンポーネントは、互いに直接結合される必要はなく、他の中間のコンポーネントまたはデバイスを介して一緒に結合されてもよい。
図1は、例示的なネットワーク・アーキテクチャ100の一実施形態を示す上位のブロック図である。ネットワーク・アーキテクチャ100は、制限ではなく、単に例として提示されている。実際、本明細書で開示されるシステムおよび方法は、図1に示されているネットワーク・アーキテクチャ100に加えて、多種多様な異なるネットワーク・アーキテクチャに適用可能であってよい。
図に示されているように、ネットワーク・アーキテクチャ100は、1つまたは複数のクライアントまたはクライアント・コンピュータ102-1…102-N(Nはクライアント・コンピュータの総数)、および1つまたは複数のホスト106-1…106-M(Mはホスト(本明細書では、「サーバ・コンピュータ」106、「ホスト・システム」106、または「ホスト・デバイス」106とも呼ばれる)の総数)を含む。図1には5つのクライアント102が示されているが、他の実施形態では、その他の数のクライアント102が使用され得るということが、理解されるべきである。例えば、一部の実施形態では、1つのクライアント102のみが実装される。他の実施形態では、5つより多いクライアント102または少ないクライアント102が使用される。同様に、図1には4つのホスト106が示されているが、任意の適切な数のホスト106が使用され得るということが、理解されるべきである。例えば、一部の実施形態では、1つのホスト106のみが使用される。他の実施形態では、4つより多いストレージ・ホスト106または少ないストレージ・ホスト106が使用され得る。
クライアント・コンピュータ102の各々は、デスクトップ・コンピュータ、ポータブル・コンピュータ、ラップトップまたはノートブック・コンピュータ、ネットブック、タブレット・コンピュータ、ポケット・コンピュータ、スマートフォン、あるいは任意のその他の適切な種類の電子デバイスとして実装され得る。同様に、ホスト106の各々は、任意の適切なホスト・コンピュータまたはサーバを使用して実装され得る。そのようなサーバは、IBM System z(R)およびIBM System i(R)サーバに加えて、UNIX(R)サーバ、Microsoft Windows(R)サーバ、およびLinuxプラットフォームを含むことができるが、これらに限定されない。
クライアント・コンピュータ102は、ネットワーク104を介して、ホスト106に通信によって結合される。ネットワーク104の例としては、ローカル・エリア・ネットワーク(LAN:local-area-network)、広域ネットワーク(WAN:wide-area-network)、インターネット、イントラネットなどが挙げられる。一般に、クライアント・コンピュータ102は、通信セッションを開始し、一方、サーバ・コンピュータ106は、クライアント・コンピュータ102からの要求を待つ。特定の実施形態では、コンピュータ102またはサーバ106あるいはその両方は、1つまたは複数の内部または外部の直接取り付けられたストレージ・システム112(例えば、ハード・ディスク・ドライブ、半導体ドライブ、テープ・ドライブなどのアレイ)に、接続されてよい。これらのコンピュータ102、106、および直接取り付けられたストレージ・システム112は、ATA、SATA、SCSI、SAS、ファイバ・チャネルなどのプロトコルを使用して通信してよい。
ネットワーク・アーキテクチャ100は、特定の実施形態では、ストレージ・エリア・ネットワーク(SAN:storage-area-network)108またはLAN108(例えば、ネットワークに取り付けられたストレージを使用する場合)など、サーバ106の背後にストレージ・ネットワーク108を含んでよい。図1に示された例では、ネットワーク108は、サーバ106を1つまたは複数のストレージ・サブシステム110に接続する。説明の目的で、1つのストレージ・サブシステム110のみが示されているが、他の実施形態では2つ以上のストレージ・サブシステム110が使用され得るということが、理解されるべきである。ストレージ・サブシステム110は、ストレージ・デバイスのアレイ116への接続を管理する。ストレージ・デバイスのアレイ116は、ハード・ディスク・ドライブまたは半導体ドライブあるいはその両方のアレイを含むことができる。加えて、図1に示されている例では、下で詳細に説明されているように、ストレージ・サブシステム110が、クラウド・ストレージに接続し、クラウド・ストレージがローカル・ストレージ・アレイのように見えるように、クラウド・ストレージからストレージ・アレイを作成するように構成される。
ストレージ・サブシステム110にアクセスするために、ホスト・システム106は、ホスト106上の1つまたは複数のポートからストレージ・サブシステム110上の1つまたは複数のポートへの物理的接続を経由して通信してよい。接続は、スイッチ、ファブリック、直接接続などを介してよい。特定の実施形態では、サーバ106およびストレージ・サブシステム110は、ファイバ・チャネル(FC:Fibre Channel)またはiSCSIなどのネットワーク規格を使用して通信してよい。
図2は、ストレージ・システム200の一実施形態の上位のブロック図である。ストレージ・システム200は、ストレージ・ドライブ(例えば、ハード・ディスク・ドライブまたは半導体ドライブあるいはその両方)の1つまたは複数のアレイを含んでいる。図に示されているように、ストレージ・システム200は、ストレージ・サブシステム210と、複数のスイッチ220と、ハード・ディスク・ドライブまたは半導体ドライブ(フラッシュメモリベースのドライブなど)あるいはその両方などの複数のストレージ・ドライブ216とを含んでいる。ストレージ・サブシステム210は、1つまたは複数のホスト(例えば、オープン・システムまたはメインフレーム・サーバあるいはその両方)が、複数のストレージ・ドライブ216内のデータにアクセスできるようにしてよい。
一部の実施形態では、ストレージ・サブシステム210は、1つまたは複数のストレージ・コントローラ222を含んでいる。図2に示されている例では、ストレージ・サブシステムは、ストレージ・コントローラ222aおよびストレージ・コントローラ222bを含んでいる。説明の目的で、本明細書では2つのストレージ・コントローラ222のみが示されているが、他の実施形態では3つ以上のストレージ・コントローラが使用され得るということが、理解されるべきである。図2のストレージ・サブシステム210は、ストレージ・サブシステム210をホスト・デバイスおよびストレージ・ドライブ204にそれぞれ接続するために、ホスト・アダプタ224a、224b、およびデバイス・アダプタ226a、226bも含んでいる。複数のストレージ・コントローラ222a、222bは、データが接続されたホストで使用可能であることを保証するのに役立つ冗長性を実現する。したがって、1つのストレージ・コントローラ(例えば、ストレージ・コントローラ222a)が故障した場合、他のストレージ・コントローラ(例えば、222b)が故障したストレージ・コントローラのI/O負荷を受け取り、ホストとストレージ・ドライブ204の間でI/Oを継続できることを保証することができる。このプロセスは、「フェイルオーバー」と呼ばれることがある。
各ストレージ・コントローラ222は、1つまたは複数のプロセッサ228およびメモリ230をそれぞれ含むことができる。メモリ230は、揮発性メモリ(例えば、RAM)および不揮発性メモリ(例えば、ROM、EPROM、EEPROM、フラッシュ・メモリなど)を含むことができる。揮発性メモリおよび不揮発性メモリは、プロセッサ228上で実行され、ストレージ・ドライブ204内のデータにアクセスするために使用される、ソフトウェア・モジュールを格納することができる。ストレージ・コントローラ222は、これらのソフトウェア・モジュールのうちの少なくとも1つのインスタンスをホストすることができる。これらのソフトウェア・モジュールは、ストレージ・ドライブ204内の論理ボリュームに対するすべての読み取り要求および書き込み要求を管理することができる。
具体的には、各ストレージ・コントローラ222は、各デバイス・アダプタ226を介して、ストレージ・ドライブ204に通信によって結合される。各デバイス・アダプタ226は、ストレージ・ドライブ216への入出力(I/O:Input/Output)アクセスを管理するように構成される。例えば、デバイス・アダプタ226は、ストレージ・ドライブ216を論理的に構成し、データを格納するストレージ・ドライブ216上の位置を決定する。ストレージ・ドライブ216(ディスク・ドライブ・モジュール(DDM:disk drive modules)とも呼ばれる)は、異なる性能特性を有するさまざまな種類のドライブのグループを含むことができる。例えば、ストレージ・ドライブ216は、(相対的に)遅い「ニアライン」ディスク(例えば、毎分7,200回転(RPM:revolutions per minute)の回転速度)、SASディスク・ドライブ(例えば、10kまたは15kRPM)、および相対的に速い半導体ドライブ(SSD:solid state drives)の組み合わせを含むことができる。
デバイス・アダプタ226は、スイッチ220を介してストレージ・ドライブ216に結合される。スイッチ220の各々は、光ファイバ接続を介してストレージ・ドライブ216をデバイス・アダプタに結合するファイバ・スイッチであることができる。デバイス・アダプタ226は、ストレージ・ドライブ216をアレイ・サイト234に論理的にグループ化する。説明の目的で、ストレージ・ドライブ216から成る単一のアレイ・サイト234が図2に示されている。しかし、他の実施形態では、ストレージ・ドライブ216から成る2つ以上のアレイ・サイトが含まれ得るということが、理解されるべきである。アレイ・サイト234は、新磁気ディスク制御機構(RAID)アレイ234として構成され得る。任意の種類のRAIDアレイ(例えば、RAID0、RAID5、RAID10など)が使用され得るということが、理解されるべきである。各RAIDアレイは、ランクとも呼ばれる。各ランクは、範囲と呼ばれる、複数の同じサイズのパーティションに分割される。各範囲のサイズは、実装に応じて変化することができる。例えば、各範囲のサイズは、少なくとも部分的に、範囲のストレージ・タイプによって決まることができる。範囲のストレージ・タイプ(例えば、固定長ブロック(FB:Fixed Block)またはカウント・キー・データ(CKD:count key data))は、ストレージ・サブシステムに結合されたホストの種類(例えば、オープンシステム・ホストまたはメインフレーム・サーバ)によって決まる。その後、これらの範囲は、論理ボリュームを構成するためにグループ化される。
ストレージ・サブシステム210は、フルディスク暗号化、不揮発性ストレージ(NVS:non-volatile storage)アルゴリズム(例えば、しきい値化、ステージ、デステージ)、ストレージ・プール・ストライピング(範囲の循環)、動的ボリューム拡張、動的データ再配置、インテリジェントな書き込みキャッシング、および適応型マルチストリーム・プリフェッチ(adaptive multi-stream prefetching)などの、ただしこれらに限定されない、さまざまな管理機能を可能にすることができる。図2に示されたアーキテクチャに類似するアーキテクチャを有するストレージ・システム210の1つの例は、IBM DS8000(TM)シリーズ・エンタープライズ・ストレージ・システムである。DS8000(TM)は、継続的動作をサポートするように設計されたディスク・ストレージおよび半導体ストレージを提供する、高性能、大容量のストレージ・サブシステムである。それでも、本明細書で開示された実施形態は、IBM DS8000(TM)シリーズ・エンタープライズ・ストレージ・システムに限定されず、システムに関連付けられた製造業者、製品名、またはコンポーネントもしくはコンポーネント名に関わらず、任意の同等の、または類似するストレージ・システムまたはストレージ・システムのグループにおいて実装され得る。したがって、IBM DS8000(TM)は、単に例として提示されており、限定するよう意図されていない。
さらに、図2に示された実施形態では、デバイス・アダプタ226の各々が、イーサネット(R)・ポートなどの各ネットワーク・ポート232を含んでおり、このポートが、インターネットなどのネットワークを介して、デバイス・アダプタ226をクラウド・ストレージ・デバイス214に通信によって結合する。図2に示されている例では、各デバイス・アダプタ226は、各変換モジュール232をさらに含んでおり、変換モジュール232は、クラウド・ストレージ・デバイス214が、ストレージ・コントローラ222にはローカルRAIDアレイまたはローカル・ランクのように見えるように、クラウド・ストレージ・デバイス214を仮想RAIDアレイに割り当ててグループ化するように構成される。このようにして、ローカル・ランク(RAIDアレイ243など)に使用できるストレージ・コントローラ222の機能が、クラウドのランク214にも使用できる。
図3および4に関して下で詳細に説明されているように、変換モジュール232は、ストレージ・コントローラ・コマンドまたはI/Oアクセスあるいはその両方と、クラウド・インターフェイス・コマンド(cloud interface commands)またはI/Oアクセスあるいはその両方との間で変換するように構成される。この例では、変換モジュール232がデバイス・アダプタ226に含まれているが、他の実施形態では、クラウド変換モジュール232がストレージ・コントローラ222に含まれ得るということに、注意するべきである。具体的には、一部の実施形態では、各ストレージ・コントローラ222は、各デバイス・アダプタ226へのコマンドの変換を実行する各変換モジュールを含む。
したがって、本明細書に記載された実施形態は、従来のクラウド・ストレージ・システムを超える優位性を可能にする。例えば、従来のクラウド・ストレージ・システムは、通常、リモートのアーカイブ、バックアップ、および取得などの、比較的簡単な機能を可能にする。しかし、そのような従来のシステムは、クラウドに格納されたデータに対して、前述した管理機能(例えば、しきい値化、ステージ、およびデステージなどのNVSアルゴリズム)などの高度な管理機能を実行できない。したがって、下でさらに詳細に説明される変換モジュール232を使用することによって、本明細書に記載された実施形態は、クラウド・ストレージ・デバイスに格納されたデータに対する、従来のクラウド・ストレージ・システムに使用できない高度な管理機能の実行を可能にする。具体的には、変換モジュール232を使用することによって、ストレージ・コントローラ222およびデバイス・アダプタ226は、仮想RAIDアレイが、リモート・ストレージではなく、デバイス・アダプタ226に結合されたローカル・ドライブであるかのように、クラウド・ストレージから成る仮想RAIDアレイまたはランクにアクセスして利用することができる。このようにして、前述した管理機能などの、ローカル・ドライブに使用できる管理機能と同じ管理機能を、それらの管理機能の実装に関連付けられた基礎になるコードまたはハードウェアあるいはその両方を変更することなく、リモートのクラウド・ストレージに使用することができる。
図3は、デバイス・アダプタ226などのデバイス・アダプタまたはストレージ・コントローラ222などのストレージ・コントローラとして実装できる、例示的なコンピューティング・デバイス300の一実施形態のブロック図である。説明の目的で、コンピューティング・デバイス300は、本明細書ではデバイス・アダプタに関して説明される。図3に示された例では、デバイス・アダプタ300は、メモリ325、ストレージ335、相互接続(例えば、バス)340、1つまたは複数のプロセッサ305(本明細書ではCPU305ともに呼ばれる)、I/Oデバイス・インターフェイス350、およびネットワーク・アダプタまたはポート315を含んでいる。
各CPU305は、メモリ325またはストレージ335あるいはその両方に格納されたプログラミング命令を取得して実行する。相互接続340は、プログラミング命令などのデータを、CPU305、I/Oデバイス・インターフェイス350、ストレージ335、ネットワーク・アダプタ315、およびメモリ325の間で移動するために使用される。相互接続340は、1つまたは複数のバスを使用して実装され得る。さまざまな実施形態では、CPU305は、単一のCPU、複数のCPU、または複数のプロセッシング・コアを含んでいる単一のCPUであることができる。一部の実施形態では、プロセッサ305は、デジタル信号プロセッサ(DSP:digital signal processor)であることができる。メモリ325は、一般に、ランダム・アクセス・メモリ(例えば、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ダイナミック・ランダム・アクセス・メモリ(DRAM:dynamic random access memory)、またはフラッシュ)を表すために含められている。ストレージ335は、一般に、ハード・ディスク・ドライブ、半導体デバイス(SSD:solid state device)、取り外し可能メモリ・カード、光ストレージ、またはフラッシュ・メモリ・デバイスなどの、不揮発性メモリを表すために含められている。
一部の実施形態では、メモリ325は、クラウド変換命令301を格納し、ストレージ335は、マップ・テーブル307を格納する。しかし、さまざまな実施形態では、クラウド変換命令301およびマップ・テーブル307が、部分的にメモリ325に格納され、かつ部分的にストレージ335に格納されるか、あるいは全体的にメモリ325に格納されるか、または全体的にストレージ335に格納される。
クラウド変換命令301は、CPU305によって実行された場合、CPU305に、マップ・テーブル307を利用して、図2に関して前述された変換モジュールを実装させる。クラウド変換命令301およびマップ・テーブル307は、デバイス・アダプタ300に格納され、デバイス・アダプタ300によって実行/利用されるように示されているが、他の実施形態では、クラウド変換命令301およびマップ・テーブル307が、図2に示されているストレージ・コントローラ222aまたはストレージ・コントローラ222bあるいはその両方などのストレージ・コントローラに格納され、それらのストレージ・コントローラよって実行/利用され得るということに、注意するべきである。クラウド変換命令301は、CPU305に、図2に示されたクラウド・ストレージ・デバイス214などの、クラウド・ストレージ・デバイス上の空間を割り当てさせる。この空間は、静的に割り当てられるか、または必要性が生じたときに要求に応じて割り当てられ得る。例えば、この空間は、先験的に、または実行時に割り当てられ得る。さらに、クラウド・ストレージのランクは、異なるストレージ容量で作成され得る。
クラウド変換命令301は、CPU305に、割り当てられたストレージを1つまたは複数の仮想ランクにグループ化することと、クラウド・ストレージ・デバイスと1つまたは複数の仮想ランクとの間のマッピングをマップ・テーブル307に格納することとをさらに実行させる。具体的には、クラウド変換命令301は、CPU305にマップ・テーブル307を生成させ、マップ・テーブル307は、割り当てられたストレージ空間を対応する仮想ローカル・アドレスにマッピングし、仮想ローカル・アドレスをグループ化して1つまたは複数の仮想ローカル・ランクまたはRAIDアレイを作成する。このようにして、クラウド・ストレージの仮想ランクは、I/Oデバイス・インターフェイス350を介してデバイス・アダプタ300に通信によって結合されたストレージ・コントローラに直接取り付けられたローカル・ランクのように見える。また、I/Oデバイス・インターフェイス350は、デバイス・アダプタ300を、半導体ドライブおよびニアライン・ドライブ(例えば、前述されたストレージ・ドライブ216)などの、ストレージ・デバイスのローカル・ランクに、通信によって結合する。例えば、I/Oデバイス・インターフェイス350は、光ファイバ・ポートを含むことができる。
I/Oアクセス(例えば、読み取り要求または書き込み要求)が受信されたときに、クラウド変換命令301が、CPU305に、要求がクラウド・ストレージの仮想ランクに格納されたデータに向けられているかどうかを判定させる。要求がクラウド・ストレージの仮想ランクに格納されたデータに向けられている場合、クラウド変換命令301が、クラウド・インターフェイスを介してクラウド・ストレージ・デバイスに送信するために、I/Oアクセスを変換する。例えば、クラウド変換命令301は、クラウド・ストレージ・デバイスにアクセスするためにクラウド・インターフェイスによって使用されるコマンド、書式、デバイスのアドレスなどを使用して、I/Oアクセスを変換できる。本明細書において使用されるとき、I/Oアクセス、読み取り/書き込みアクセス、およびデータ・アクセスという用語は、交換可能なように使用され得る。クラウド・インターフェイスの例としては、IBM(R)Cloud Managerまたはthe Amazon(R)Simple Storage Service(Amazon S3)インターフェイスが挙げられるが、これらに限定されない。したがって、前述したように、クラウド変換命令301は、他のローカル・ストレージ・デバイスと同様に、クラウド・ストレージをストレージ・コントローラで透過的に使用できるようにする。
加えて、一部の実施形態では、デバイス・アダプタ300は、複数のレベルのストレージのサービスおよびクラウド・ストレージの仮想ランクとの接続を可能にすることができる。例えば、一部のそのような実施形態では、3つのレベルのサービスが存在する。しかし、複数のレベルのサービスを提供する他の実施形態では、2つまたは4つ以上のレベルのサービスが提供され得る。この例では、3つのレベルのサービスが利用され、サービスのレベルの選択は、データの圧縮率、仮想ローカル・ランクの各入出力データ速度、およびサービス・レベル・アグリーメントに基づく。例えば、サービス・レベル・アグリーメントが低品質のサービスを示しており、仮想ローカル・ランクのI/Oデータ速度がしきい値を下回っており、アクセスされているデータが圧縮可能である場合、第1のレベルのサービスが選択される。低品質のサービスは、サービスの事前に定義されたしきい値レベルを下回る、任意の品質のサービスであることができる。第1のレベルのサービスは、この例の3つの選択肢のうちの最低レベルのサービスである。例えば、第1のレベルのサービスは、他の2つのレベルのサービスより大きい待ち時間および小さいスループットを含むことができる。サービス・レベル・アグリーメントが低品質のサービスを示しており、仮想ローカル・ランクのI/Oデータ速度がしきい値を下回っており、データが圧縮不可能である場合、第2のレベルのサービスが選択される。第2のレベルのサービスは、第1のレベルのサービスより大きいスループットまたはより小さい待ち時間あるいはその両方を含む。最後または第3のレベルのサービスは、他のすべてのデータに使用される(例えば、SLAが、事前に定義されたしきい値を超えるサービスのレベルを示しているか、またはI/Oデータ速度がしきい値を超えているか、あるいはその両方である)。第3のレベルのサービスは、第1および第2の両方のレベルのサービスより大きいスループットまたはより小さい待ち時間あるいはその両方を含む。異なるレベルのサービスを提供することによって、デバイス・アダプタ326は、クラウド・ストレージの仮想ランクを活用して、クラウド・ストレージおよびアクセスに対する顧客の必要性を満たすことにおいて、より大きい柔軟性を提供することができる。例示的な第1、第2、および第3のレベルが、待ち時間およびスループットにおいて異なっていると説明されているが、サービスのレベルを区別するために他の要因が使用され得るということに、注意するべきである。例えば、一部の実施形態では、3つのレベルのサービスは、同じ待ち時間およびスループットを有しているが、費用および冗長性のレベルにおいて異なる。
図4は、ランクとしてクラウド・ストレージを使用する方法400の一実施形態を示すフローチャートである。方法400は、デバイス・アダプタ226などのデバイス・アダプタまたはストレージ・コントローラ222などのストレージ・コントローラによって実施され得る。例えば、方法400は、クラウド変換命令301などの命令を実行する、コンピューティング・デバイス300内のCPU305などのCPUによって、実施され得る。例示的な方法400における動作の順序が、例示の目的で提供されているということ、および他の実施形態では、この方法が異なる順序で実行され得るということが、理解されるべきである。同様に、他の実施形態では、一部の動作が省略されるか、または追加の動作が含まれ得るということが、理解されるべきである。
ブロック402で、クラウド・インターフェイスを介して1つまたは複数のクラウド・ストレージ・デバイス上のストレージ空間が割り当てられる。クラウド・インターフェイスは、クラウド・ストレージ・デバイスへのアクセスを可能にするように構成されたインターフェイスである。例えば、クラウド・インターフェイスは、アプリケーション・プログラミング・インターフェイス(API:application programming interface)として実装され得る。上では、例示的なクラウド・インターフェイスが説明された。クラウド・ストレージを割り当てることは、クラウド・インターフェイスを介して、指定された量のストレージを要求することを含むことができる。このストレージ空間は、必要とされる前に静的に要求されるか、またはストレージ空間が必要とされるときに動的に要求され得る。さらに、本明細書において使用されるとき、クラウド・ストレージ・デバイスは、ローカル・エリア・ネットワークまたは直接通信リンクとは対照的に、インターネットなどの広域ネットワークを介してアクセスされるストレージ・デバイスである。
ブロック404で、割り当てられたストレージ空間は、対応する仮想ローカル・アドレスにマッピングされる。例えば、一部の実施形態では、デバイス・アダプタまたはストレージ・コントローラは、割り当てられたストレージ空間を対応する仮想ローカル・アドレスに割り当てる。本明細書において使用されるとき、仮想ローカル・アドレスは、ローカル接続を介してデバイス・アダプタに結合されたストレージ・デバイスのアドレスのように見えるメモリ・アドレスである。ローカル接続とは、インターネットなどの広域ネットワークまたはリモート・ネットワークを経由しない接続のことを指す。
ブロック406で、1つまたは複数のクラウド・ストレージ・デバイス上の割り当てられたストレージ空間に対応する仮想ローカル・アドレスが、グループ化または構成されて、1つまたは複数の仮想ローカル・ランク(例えば、RAIDアレイ)を作成する。すなわち、仮想ローカル・アドレスは、ストレージ・デバイスのローカルRAIDアレイとしてデバイス・アダプタに直接接続されているように見えるように配置される。
ブロック408で、1つまたは複数の仮想ローカル・ランクに対するローカル・データ・アクセス要求が、クラウド・インターフェイスに従って構成された(例えば、クラウド・インターフェイスのAPIの要件に従って構成された)クラウド・データ・アクセス要求に変換される。本明細書において使用されるとき、ローカル・データ・アクセス要求は、仮想ローカル・アドレスを使用し、デバイス・アダプタに直接結合されたローカルRAIDアレイにアクセスするためのデバイス・アダプタの要件に従って書式設定された、要求である。同様に、クラウド・データ・アクセス要求は、クラウド・インターフェイスの要件に従って、クラウド・ストレージ・デバイスのアドレスを使用して構成された、データ・アクセス要求である。これらのデータ・アクセス要求は、読み取り要求および書き込み要求に加えて、しきい値化、データ暗号化などのさまざまな管理機能を含むことができる。
ブロック410で、変換されたクラウド・データ・アクセス要求が、クラウド・インターフェイスおよびデバイス・アダプタのネットワーク・ポートを介して1つまたは複数のクラウド・ストレージ・デバイスに伝達される。したがって、前述したように、方法400は、ローカル接続を介してデバイス・アダプタに結合されたローカルRAIDアレイの場合と同じ機能をクラウド・ストレージで使用可能にして、ストレージ・サブシステムがクラウド・ストレージを使用できるようにする。
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読記憶媒体を含んでよい。
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読記憶媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令が記録されている溝の中の***構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読記憶媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読記憶媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読記憶媒体がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読記憶媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施するように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、その他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成するその他のデバイス上で実行させる。
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
実施形態例
実施例1は、クラウド・ストレージをランクとして利用するためのコンピュータ実装方法を含む。この方法は、クラウド・インターフェイスを介して1つまたは複数のクラウド・ストレージ・デバイス上のストレージ空間を割り当てることと、割り当てられたストレージ空間を対応する仮想ローカル・アドレスにマッピングすることと、仮想ローカル・アドレスをグループ化して、1つまたは複数のクラウド・ストレージ・デバイス上の割り当てられたストレージ空間から1つまたは複数の仮想ローカル・ランクを作成することと、1つまたは複数の仮想ローカル・ランクに対するローカル・データ・アクセス要求を、クラウド・インターフェイス用に構成されたクラウド・データ・アクセス要求に変換することと、クラウド・インターフェイスを介してそれらのクラウド・データ・アクセス要求を1つまたは複数のクラウド・ストレージ・デバイスに伝達することとを含む。
実施例2は、実施例1の方法を含み、クラウド・データ・アクセス要求を伝達することが、第1のサービス・レベル、第2のサービス・レベル、または第3のサービス・レベルをクラウド・データ・アクセス要求に割り当てることをさらに含む。第1のサービス・レベルは、第2のサービス・レベルおよび第3のサービス・レベルより大きい待ち時間および小さいスループットを有し、第2のサービス・レベルは、第3のサービス・レベルより大きい待ち時間および小さいスループットを有する。
実施例3は、実施例2の方法を含み、サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値未満の品質のサービスを示しており、入出力データ速度が第2の事前に定義されたしきい値を下回っており、データ・アクセス要求に関連付けられたデータが圧縮可能であるということの決定に応答して、第1のサービス・レベルをクラウド・データ・アクセス要求に割り当てることをさらに含む。
実施例4は、実施例2~3のいずれかの方法を含み、サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値未満の品質のサービスを示しており、入出力データ速度が第2の事前に定義されたしきい値を下回っており、データ・アクセス要求に関連付けられたデータが圧縮不可能であるということの決定に応答して、第2のサービス・レベルをクラウド・データ・アクセス要求に割り当てることをさらに含む。
実施例5は、実施例2~4のいずれかの方法を含み、サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値を上回る品質のサービスを示しているか、または入出力データ速度が第2の事前に定義されたしきい値を上回っているということの決定に応答して、第3のサービス・レベルをクラウド・データ・アクセス要求に割り当てることをさらに含む。
実施例6は、実施例1~5のいずれかの方法を含み、仮想ローカル・アドレスをグループ化して1つまたは複数の仮想ローカル・ランクを作成することが、仮想ローカル・アドレスをグループ化して複数の仮想ローカル・ランクを作成することを含み、複数の仮想ローカル・ランクの各々が異なるサイズを有する。
実施例7は、ストレージ・システムを含む。ストレージ・システムは、ホスト・アダプタを1つまたは複数のホスト・デバイスに通信によって結合するように構成された1つまたは複数のポートを含んでいるホスト・アダプタと、プロセッサおよびメモリを備えているストレージ・コントローラであって、ホスト・アダプタに通信によって結合されている、ストレージ・コントローラと、プロセッサおよびメモリを備えているデバイス・アダプタであって、ストレージ・コントローラに通信によって結合されている、デバイス・アダプタとを備える。デバイス・アダプタは、複数のローカル・ストレージ・ドライブに通信によって結合された複数のポートと、ネットワークを介して複数のクラウド・ストレージ・デバイスに通信によって結合された少なくとも1つのネットワーク・ポートとをさらに含む。デバイス・アダプタおよびストレージ・コントローラのうちの1つが、変換モジュールを実装するようにさらに構成される。変換モジュールは、クラウド・ストレージ・デバイスのうちの1つまたは複数でストレージ空間を割り当てることと、割り当てられたストレージ空間を対応する仮想ローカル・アドレスに割り当てることと、割り当てられたストレージ空間を1つまたは複数の仮想ローカル新磁気ディスク制御機構(RAID)アレイに構成することと、1つまたは複数の仮想ローカルRAIDアレイに対するローカル・データ・アクセス要求を、複数のクラウド・ストレージ・デバイスにアクセスするためのアプリケーション・プログラミング・インターフェイス(API)の要件に従って構成されたクラウド・データ・アクセス要求に変換することとを実行するように構成される。
実施例8は、実施例7のストレージ・システムを含み、変換モジュールが、第1のサービス・レベル、第2のサービス・レベル、または第3のサービス・レベルをクラウド・データ・アクセス要求に割り当てるようにさらに構成される。第1のサービス・レベルは、第2のサービス・レベルおよび第3のサービス・レベルより大きい待ち時間および小さいスループットを有し、第2のサービス・レベルは、第3のサービス・レベルより大きい待ち時間および小さいスループットを有する。
実施例9は、実施例8のストレージ・システムを含み、変換モジュールが、サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値未満の品質のサービスを示しており、入出力データ速度が第2の事前に定義されたしきい値を下回っており、データ・アクセス要求に関連付けられたデータが圧縮可能であるということの決定に応答して、第1のサービス・レベルをクラウド・データ・アクセス要求に割り当てるようにさらに構成される。
実施例10は、実施例8~9のいずれかのストレージ・システムを含み、変換モジュールが、サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値未満の品質のサービスを示しており、入出力データ速度が第2の事前に定義されたしきい値を下回っており、データ・アクセス要求に関連付けられたデータが圧縮不可能であるということの決定に応答して、第2のサービス・レベルをクラウド・データ・アクセス要求に割り当てるようにさらに構成される。
実施例11は、実施例8~10のいずれかのストレージ・システムを含み、変換モジュールが、サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値を上回る品質のサービスを示しているか、または入出力データ速度が第2の事前に定義されたしきい値を上回っているということの決定に応答して、第3のサービス・レベルをクラウド・データ・アクセス要求に割り当てるようにさらに構成される。
実施例12は、実施例7~11のいずれかのストレージ・システムを含み、変換モジュールが、割り当てられたストレージ空間を複数の仮想ローカルRAIDアレイに構成するようにさらに構成され、複数の仮想ローカルRAIDアレイの各々が異なるサイズを有する。
実施例13は、実施例7~12のいずれかのストレージ・システムを含み、デバイス・アダプタのネットワーク・ポートがイーサネット(R)・ポートである。
実施例14は、コンピュータ可読プログラムが格納されているコンピュータ可読記憶媒体を備えているコンピュータ・プログラム製品を含む。このコンピュータ可読プログラムは、プロセッサによって実行された場合に、プロセッサに、クラウド・インターフェイスを介して1つまたは複数のクラウド・ストレージ・デバイス上のストレージ空間を割り当てることと、割り当てられたストレージ空間を対応する仮想ローカル・アドレスにマッピングすることと、仮想ローカル・アドレスをグループ化して、1つまたは複数のクラウド・ストレージ・デバイス上の割り当てられたストレージ空間から1つまたは複数の仮想ローカル新磁気ディスク制御機構(RAID)アレイを作成することと、1つまたは複数の仮想ローカルRAIDアレイに対するローカル・データ・アクセス要求を、クラウド・インターフェイス用に構成されたクラウド・データ・アクセス要求に変換することと、クラウド・インターフェイスを介してそれらのクラウド・データ・アクセス要求を1つまたは複数のクラウド・ストレージ・デバイスに伝達することとを実行させる。
実施例15は、実施例14のコンピュータ・プログラム製品を含み、コンピュータ可読プログラムが、プロセッサに、第1のサービス・レベル、第2のサービス・レベル、または第3のサービス・レベルをクラウド・データ・アクセス要求に割り当てさせるようにさらに構成される。第1のサービス・レベルは、第2のサービス・レベルおよび第3のサービス・レベルより大きい待ち時間および小さいスループットを有し、第2のサービス・レベルは、第3のサービス・レベルより大きい待ち時間および小さいスループットを有する。
実施例16は、実施例15のコンピュータ・プログラム製品を含み、コンピュータ可読プログラムが、プロセッサに、サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値未満の品質のサービスを示しており、入出力データ速度が第2の事前に定義されたしきい値を下回っており、データ・アクセス要求に関連付けられたデータが圧縮可能であるということの決定に応答して、第1のサービス・レベルをクラウド・データ・アクセス要求に割り当てさせるようにさらに構成される。
実施例17は、実施例15~16のいずれかのコンピュータ・プログラム製品を含み、コンピュータ可読プログラムが、プロセッサに、サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値未満の品質のサービスを示しており、入出力データ速度が第2の事前に定義されたしきい値を下回っており、データ・アクセス要求に関連付けられたデータが圧縮不可能であるということの決定に応答して、第2のサービス・レベルをクラウド・データ・アクセス要求に割り当てさせるようにさらに構成される。
実施例18は、実施例15~17のいずれかのコンピュータ・プログラム製品を含み、コンピュータ可読プログラムが、プロセッサに、サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値を上回る品質のサービスを示しているか、または入出力データ速度が第2の事前に定義されたしきい値を上回っているということの決定に応答して、第3のサービス・レベルをクラウド・データ・アクセス要求に割り当てさせるようにさらに構成される。
実施例19は、実施例14~18のいずれかのコンピュータ・プログラム製品を含み、コンピュータ可読プログラムが、プロセッサに、仮想ローカル・アドレスをグループ化して、複数の仮想ローカルRAIDアレイを作成させるようにさらに構成され、複数の仮想ローカルRAIDアレイの各々が異なるサイズを有する。
実施例20は、実施例14~19のいずれかのコンピュータ・プログラム製品を含み、コンピュータ可読プログラムが、プロセッサに、クラウド・インターフェイスのアプリケーション・プログラミング・インターフェイス(API)の要件に従って、1つまたは複数の仮想ローカルRAIDアレイに対するローカル・データ・アクセス要求をクラウド・データ・アクセス要求に変換させるようにさらに構成される。
実施例21は、コンピューティング・デバイスを含む。コンピューティング・デバイスは、ネットワークを介してコンピューティング・デバイスを1つまたは複数のクラウド・ストレージ・デバイスに通信によって結合するように構成されたネットワーク・アダプタと、データを格納するように構成されたストレージ媒体と、ネットワーク・アダプタおよびストレージ媒体に通信によって結合されたプロセッサとを備える。このプロセッサは、1つまたは複数のクラウド・ストレージ・デバイスに関連付けられたアプリケーション・プログラミング・インターフェイス(API)を介して1つまたは複数のクラウド・ストレージ・デバイス上のストレージ空間を割り当てることと、割り当てられたストレージ空間を対応する仮想ローカル・アドレスにマッピングするマップ・テーブルを生成して仮想ローカル・アドレスをグループ化し、1つまたは複数のクラウド・ストレージ・デバイス上の割り当てられたストレージ空間から1つまたは複数の仮想ローカル・ランクを作成することであって、このマップ・テーブルがストレージ媒体に格納されている、作成することと、1つまたは複数の仮想ローカル・ランクに対するデータ・アクセス要求を、1つまたは複数のクラウド・ストレージ・デバイスに関連付けられたAPI用に構成されたクラウド・データ・アクセス要求に変換することと、1つまたは複数のクラウド・ストレージ・デバイスに関連付けられたAPIを介してそれらのクラウド・データ・アクセス要求を1つまたは複数のクラウド・ストレージ・デバイスに伝達することとを実行するように構成される。
実施例22は、実施例21のコンピューティング・デバイスを含み、プロセッサが、少なくとも部分的に、クラウド・データ・アクセス要求に関連付けられたデータの圧縮率、1つまたは複数の仮想ローカル・ランクに関連付けられた入出力データ速度、およびサービス・レベル・アグリーメントに基づいて、第1のサービス・レベル、第2のサービス・レベル、または第3のサービス・レベルをクラウド・データ・アクセス要求に割り当てるようにさらに構成される。
実施例23は、実施例22のコンピューティング・デバイスを含み、プロセッサが、サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値未満の品質のサービスを示しており、入出力データ速度が第2の事前に定義されたしきい値を下回っており、データ・アクセス要求に関連付けられたデータが圧縮可能であるということの決定に応答して、第1のサービス・レベルをクラウド・データ・アクセス要求に割り当てるようにさらに構成される。
実施例24は、実施例22~23のいずれかのコンピューティング・デバイスを含み、プロセッサが、サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値未満の品質のサービスを示しており、入出力データ速度が第2の事前に定義されたしきい値を下回っており、データ・アクセス要求に関連付けられたデータが圧縮不可能であるということの決定に応答して、第2のサービス・レベルをクラウド・データ・アクセス要求に割り当てるようにさらに構成される。
実施例25は、実施例22~24のいずれかのコンピューティング・デバイスを含み、プロセッサが、サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値を上回る品質のサービスを示しているか、または入出力データ速度が第2の事前に定義されたしきい値を上回っているということの決定に応答して、第3のサービス・レベルをクラウド・データ・アクセス要求に割り当てるようにさらに構成される。
本明細書では、特定の実施形態が示され、説明されたが、同じ目的を達成するように計算された任意の配置が、示された特定の実施形態の代わりに使用されてよいということが、当業者によって理解されるであろう。したがって、本発明が特許請求の範囲およびそれと同等のもののみによって制限されるということが、明白に意図される。

Claims (7)

  1. クラウド・ストレージを仮想ローカルRAIDアレイとして利用するためのコンピュータ実装方法であって、前記方法が、
    クラウド・インターフェイスを介して1つまたは複数のクラウド・ストレージ・デバイス上のストレージ空間を、仮想ローカル・アドレスに割り当てることと、
    前記1つまたは複数のクラウド・ストレージ・デバイスがローカル・ストレージから成るローカルRAIDアレイとして見えるように、前記仮想ローカル・アドレスを複数の論理ボリュームで構成される仮想ローカルRAIDアレイに割り当てることであって、前記複数の論理ボリュームは同じサイズのパーティションをグループ化して形成されるものであり
    前記仮想ローカルRAIDアレイに対するローカル・データ・アクセス要求を、前記クラウド・インターフェイス用に構成されたクラウド・データ・アクセス要求に変換することと、
    前記クラウド・インターフェイスを介して前記クラウド・データ・アクセス要求を前記1つまたは複数のクラウド・ストレージ・デバイスに伝達することとを含んでいる、コンピュータ実装方法。
  2. サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値未満の品質のサービスを示しており、かつ、仮想ローカルRAIDアレイの現在の入出力データ速度が第2の事前に定義されたしきい値を下回っている場合、前記クラウド・データ・アクセス要求でアクセスされるデータが圧縮可能であるということの決定に応答して、第1のサービス・レベルを前記クラウド・データ・アクセス要求に割り当てることをさらに含んでいる、請求項1に記載のコンピュータ実装方法。
  3. サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値未満の品質のサービスを示しており、かつ、仮想ローカルRAIDアレイの現在の入出力データ速度が第2の事前に定義されたしきい値を下回っている場合、前記クラウド・データ・アクセス要求でアクセスされるデータが圧縮不可能であるということの決定に応答して、前記第1のサービス・レベルよりもデータのスループットが大きい第2のサービス・レベルを前記クラウド・データ・アクセス要求に割り当てることをさらに含んでいる、請求項2に記載のコンピュータ実装方法。
  4. サービス・レベル・アグリーメントが、第1の事前に定義されたしきい値を上回る品質のサービスを示しているか、または、仮想ローカルRAIDアレイの現在の入出力データ速度が第2の事前に定義されたしきい値を上回っているということの決定に応答して、前記第1及び第2のサービス・レベルよりもデータのスループットが大きい第3のサービス・レベルを前記クラウド・データ・アクセス要求に割り当てることをさらに含んでいる、請求項3に記載のコンピュータ実装方法。
  5. ホスト・デバイスに通信によって結合するように構成されたポートを含んでいるホスト・アダプタと、
    プロセッサおよびメモリを備えているストレージ・コントローラであって、前記ホスト・アダプタに通信によって結合されている、前記ストレージ・コントローラと、
    プロセッサおよびメモリを備えているデバイス・アダプタであって、前記ストレージ・コントローラに通信によって結合されている、前記デバイス・アダプタとを備えている、ストレージ・システムであって、
    前記デバイス・アダプタが、ローカル・ストレージに通信によって結合された複数のポートと、ネットワークを介して複数のクラウド・ストレージ・デバイスに通信によって結合された少なくとも1つのネットワーク・ポートとをさらに含んでおり、
    前記デバイス・アダプタおよび前記ストレージ・コントローラのうちの1つが、
    前記1つまたは複数のクラウド・ストレージ・デバイス上のストレージ空間を、仮想ローカル・アドレスに割り当てることと、
    前記1つまたは複数のクラウド・ストレージ・デバイスがローカル・ストレージから成るローカルRAIDアレイとして見えるように、前記仮想ローカル・アドレスを複数の論理ボリュームで構成される仮想ローカルRAIDアレイに割り当てることであって、前記複数の論理ボリュームは同じサイズのパーティションをグループ化して形成されるものであり
    前記仮想ローカルRAIDアレイに対するローカル・データ・アクセス要求を、前記クラウド・ストレージ・デバイスにアクセスするためのアプリケーション・プログラミング・インターフェイス(API)の要件に従って構成されたクラウド・データ・アクセス要求に変換することとを実行するように構成された変換モジュールを実装するようにさらに構成されている、ストレージ・システム。
  6. プロセッサに、
    クラウド・インターフェイスを介して1つまたは複数のクラウド・ストレージ・デバイス上のストレージ空間を、仮想ローカル・アドレスに割り当てることと、
    前記1つまたは複数のクラウド・ストレージ・デバイスがローカル・ストレージから成るローカルRAIDアレイとして見えるように、前記仮想ローカル・アドレスを複数の論理ボリュームで構成される仮想ローカルRAIDアレイに割り当てることであって、前記複数の論理ボリュームは同じサイズのパーティションをグループ化して形成されるものであり
    前記仮想ローカルRAIDアレイに対するローカル・データ・アクセス要求を、前記クラウド・インターフェイス用に構成されたクラウド・データ・アクセス要求に変換することと、
    前記クラウド・インターフェイスを介して前記クラウド・データ・アクセス要求を前記1つまたは複数のクラウド・ストレージ・デバイスに伝達することとを実行させるためのコンピュータ・プログラム。
  7. ネットワークを介してクラウド・ストレージ・デバイスに通信によって結合するように構成されたネットワーク・アダプタと、
    データを格納するように構成されたストレージ媒体と、
    前記ネットワーク・アダプタおよび前記ストレージ媒体に通信によって結合されたプロセッサと、を備えているコンピューティング・デバイスであって、前記プロセッサが、
    前記クラウド・ストレージ・デバイスに関連付けられたアプリケーション・プログラミング・インターフェイス(API)を介して前記クラウド・ストレージ・デバイス上のストレージ空間を、仮想ローカル・アドレスに割り当てることと、
    前記1つまたは複数のクラウド・ストレージ・デバイスがローカル・ストレージから成るローカルRAIDアレイとして見えるように、前記仮想ローカル・アドレスを複数の論理ボリュームで構成される仮想ローカルRAIDアレイに割り当てることであって、前記複数の論理ボリュームは同じサイズのパーティションをグループ化して形成されるものであり
    前記仮想ローカルRAIDアレイに対するデータ・アクセス要求を、前記クラウド・ストレージ・デバイスに関連付けられた前記API用に構成されたクラウド・データ・アクセス要求に変換することと、
    前記クラウド・データ・アクセス要求を、前記クラウド・ストレージ・デバイスに関連付けられた前記APIを介して前記クラウド・ストレージ・デバイスに伝達することとを実行するように構成されている、コンピューティング・デバイス。
JP2020513689A 2017-09-14 2018-09-06 クラウド・ストレージをランクとして使用するストレージ・システム Active JP7210554B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/704,648 US10721304B2 (en) 2017-09-14 2017-09-14 Storage system using cloud storage as a rank
US15/704,648 2017-09-14
PCT/IB2018/056795 WO2019053565A1 (en) 2017-09-14 2018-09-06 STORAGE SYSTEM USING CLOUD STORAGE AS A ROW

Publications (3)

Publication Number Publication Date
JP2020533678A JP2020533678A (ja) 2020-11-19
JP2020533678A5 JP2020533678A5 (ja) 2021-03-18
JP7210554B2 true JP7210554B2 (ja) 2023-01-23

Family

ID=65631829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020513689A Active JP7210554B2 (ja) 2017-09-14 2018-09-06 クラウド・ストレージをランクとして使用するストレージ・システム

Country Status (6)

Country Link
US (1) US10721304B2 (ja)
JP (1) JP7210554B2 (ja)
CN (1) CN111095903B (ja)
DE (1) DE112018005121T5 (ja)
GB (1) GB2579992B (ja)
WO (1) WO2019053565A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10721304B2 (en) * 2017-09-14 2020-07-21 International Business Machines Corporation Storage system using cloud storage as a rank
US10372363B2 (en) 2017-09-14 2019-08-06 International Business Machines Corporation Thin provisioning using cloud based ranks
JP7121276B2 (ja) * 2018-09-19 2022-08-18 富士通株式会社 データ管理レベル判定プログラム、およびデータ管理レベル判定方法
CN113572849B (zh) * 2021-07-29 2023-08-01 中国联合网络通信集团有限公司 文件访问***和方法
CN113556298B (zh) * 2021-09-18 2022-03-01 云宏信息科技股份有限公司 基于PowerVC的存储接入方法、介质及服务器
CN114124883B (zh) * 2021-10-12 2023-09-12 鸬鹚科技(深圳)有限公司 基于云存储地址的数据访问方法、装置、计算机设备及介质
CN114281899B (zh) * 2021-12-28 2022-06-07 浙江汇鼎华链科技有限公司 基于网络大数据的用户数据分布式云存储方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013114624A (ja) 2011-11-30 2013-06-10 Hitachi Ltd ストレージシステム及びプール容量縮小の制御方法
JP2015501494A (ja) 2011-11-05 2015-01-15 ザダーラ ストレージ リミテッド クラウドサーバーのためのバーチャルプライベートストレージアレイサービス
JP2015191324A (ja) 2014-03-27 2015-11-02 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
US20170163731A1 (en) 2015-12-07 2017-06-08 International Business Machines Corporation Method, system, and computer program product for distributed storage of data in a heterogeneous cloud

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269431B1 (en) 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US7028158B1 (en) 2001-11-02 2006-04-11 Beatty And Company Computing, Inc. Storage virtualization engine
US6996741B1 (en) 2001-11-15 2006-02-07 Xiotech Corporation System and method for redundant communication between redundant controllers
US7225211B1 (en) 2003-12-31 2007-05-29 Veritas Operating Corporation Multi-class storage mechanism
US7590599B2 (en) 2006-12-22 2009-09-15 International Business Machines Corporation System and method of automatically maintaining and recycling software components
US7680982B2 (en) 2007-02-20 2010-03-16 International Business Machines Corporation Preservation of cache data following failover
US8250215B2 (en) 2008-08-12 2012-08-21 Sap Ag Method and system for intelligently leveraging cloud computing resources
US9870541B2 (en) 2008-11-26 2018-01-16 Red Hat, Inc. Service level backup using re-cloud network
US9614924B2 (en) * 2008-12-22 2017-04-04 Ctera Networks Ltd. Storage device and method thereof for integrating network attached storage with cloud storage services
WO2010092576A1 (en) * 2009-02-11 2010-08-19 Xsignnet Ltd. Virtualized storage system and method of operating it
WO2010127365A1 (en) * 2009-05-01 2010-11-04 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US20100332401A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
US8370312B1 (en) 2009-09-15 2013-02-05 Symantec Corporation Systems and methods for using cloud-based storage to optimize data-storage operations
CN101719106A (zh) 2009-12-11 2010-06-02 成都市华为赛门铁克科技有限公司 一种精简配置存储阵列的管理方法、装置和***
US8341363B2 (en) * 2010-05-03 2012-12-25 Panzura, Inc. Efficient cloud network attached storage
EP2579157B1 (en) 2010-05-27 2016-12-07 Hitachi, Ltd. Local file server operative to transfer file to remote file server via communication network, and storage system including those file servers
US9229842B2 (en) 2010-07-19 2016-01-05 Soasta, Inc. Active waterfall charts for continuous, real-time visualization of website performance data
US8832130B2 (en) 2010-08-19 2014-09-09 Infosys Limited System and method for implementing on demand cloud database
US9128948B1 (en) 2010-09-15 2015-09-08 Symantec Corporation Integration of deduplicating backup server with cloud storage
CN102467408B (zh) 2010-11-12 2014-03-19 阿里巴巴集团控股有限公司 一种虚拟机数据的访问方法和设备
US8484416B2 (en) 2010-12-23 2013-07-09 Lsi Corporation High availability raid using low-cost direct attached raid controllers
US9645943B2 (en) 2011-02-22 2017-05-09 Infinidat Ltd. Storage arrangement and method using a plurality of storage spaces which have separate control layers and separate mapping structures
US8924658B1 (en) * 2011-02-22 2014-12-30 Netapp, Inc. Dynamic storage management using virtual storage appliances
US9432298B1 (en) 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
US8745327B1 (en) 2011-06-24 2014-06-03 Emc Corporation Methods, systems, and computer readable medium for controlling prioritization of tiering and spin down features in a data storage system
US8612284B1 (en) 2011-11-09 2013-12-17 Parallels IP Holdings GmbH Quality of service differentiated cloud storage
US8959389B2 (en) 2011-11-23 2015-02-17 International Business Machines Corporation Use of a virtual drive as a hot spare for a raid group
CN102624859A (zh) * 2011-11-28 2012-08-01 苏州奇可思信息科技有限公司 网络多副本的文件分布式存储方法
KR101868386B1 (ko) * 2011-12-13 2018-06-19 삼성전자주식회사 어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버
US9285992B2 (en) * 2011-12-16 2016-03-15 Netapp, Inc. System and method for optimally creating storage objects in a storage system
US9575690B2 (en) * 2011-12-23 2017-02-21 Oracle International Corporation Sub-lun auto-tiering
WO2013118194A1 (en) * 2012-02-10 2013-08-15 Hitachi, Ltd. Storage system with virtual volume having data arranged astride storage devices, and volume management method
US20130218919A1 (en) 2012-02-20 2013-08-22 Aleksey Solonchev Method and apparatus for managing content
US9021203B2 (en) 2012-05-07 2015-04-28 International Business Machines Corporation Enhancing tiering storage performance
CN102882885B (zh) 2012-10-17 2015-07-01 北京卓微天成科技咨询有限公司 一种提高云计算数据安全的方法及***
US9268493B2 (en) 2012-11-28 2016-02-23 Dell Products L.P. Systems and methods for smart storage interconnection in a heterogeneous storage environment
US9003135B2 (en) 2013-01-15 2015-04-07 International Business Machines Corporation Efficient allocation and reclamation of thin-provisioned storage
US9021204B1 (en) * 2013-02-27 2015-04-28 Symantec Corporation Techniques for managing data storage
TW201435612A (zh) 2013-03-12 2014-09-16 Hon Hai Prec Ind Co Ltd 儲存空間擴展系統及方法
GB2513377A (en) 2013-04-25 2014-10-29 Ibm Controlling data storage in an array of storage devices
CN104468654A (zh) * 2013-09-18 2015-03-25 杭州信核数据科技有限公司 连接到云存储的存储管理网关、方法及数据分层备份***
CN103843284B (zh) 2013-10-23 2015-12-02 华为技术有限公司 一种云应用的容灾方法、***和装置
CN104778129B (zh) * 2014-01-14 2021-08-27 中兴通讯股份有限公司 一种移动终端的虚拟存储的实现方法及装置
US9329780B2 (en) * 2014-02-11 2016-05-03 International Business Machines Corporation Combining virtual mapping metadata and physical space mapping metadata
US9529773B2 (en) 2014-05-02 2016-12-27 Cavium, Inc. Systems and methods for enabling access to extensible remote storage over a network as local storage via a logical storage controller
US10067722B2 (en) 2014-07-02 2018-09-04 Hedvig, Inc Storage system for provisioning and storing data to a virtual disk
US9881018B2 (en) 2014-08-14 2018-01-30 International Business Machines Corporation File management in thin provisioning storage environments
US9646010B2 (en) 2014-08-27 2017-05-09 Mokhtarzada Holdings, Llc Method and system for expanding storage capacity of a drive using cloud storage systems
US9411539B2 (en) 2014-09-24 2016-08-09 International Business Machines Corporation Providing access information to a storage controller to determine a storage tier for storing data
CN105653529B (zh) * 2014-11-12 2020-08-04 富泰华工业(深圳)有限公司 存储管理***、管理装置及方法
US9740436B2 (en) 2014-11-14 2017-08-22 International Business Machines Corporation Elastic file system management in storage cloud environments
US9552248B2 (en) 2014-12-11 2017-01-24 Pure Storage, Inc. Cloud alert to replica
US20160197834A1 (en) * 2015-01-02 2016-07-07 Siegfried Luft Architecture and method for traffic engineering between diverse cloud providers
CN105827669B (zh) 2015-01-04 2019-06-11 ***通信集团江苏有限公司 一种终端虚拟存储的方法、设备和***
WO2016134035A1 (en) * 2015-02-17 2016-08-25 Coho Data, Inc. Virtualized application-layer space for data processing in data storage systems
WO2016167086A1 (ja) * 2015-04-17 2016-10-20 日本電信電話株式会社 サーバ選択装置、サーバ選択方法及びサーバ選択プログラム
US10572393B2 (en) 2015-04-22 2020-02-25 ColorTokens, Inc. Object memory management unit
CN104820575B (zh) 2015-04-27 2017-08-15 西北工业大学 实现存储***自动精简的方法
US9749193B1 (en) 2015-06-12 2017-08-29 EMC IP Holding Company LLC Rule-based systems for outcome-based data protection
US10579403B2 (en) 2015-06-29 2020-03-03 Vmware, Inc. Policy based provisioning of containers
US9712617B2 (en) 2015-07-06 2017-07-18 Infinidat Ltd. Flow control in remote replication
US10237343B1 (en) 2015-12-07 2019-03-19 EMC IP Holding Company LLC Sustaining backup service level objectives using dynamic resource allocation
US10620834B2 (en) 2016-03-25 2020-04-14 Netapp, Inc. Managing storage space based on multiple dataset backup versions
US9665303B1 (en) 2016-10-12 2017-05-30 Divergent Storage Systems, Inc. Method and apparatus for storing information using an intelligent block storage controller
WO2019036045A1 (en) 2017-08-16 2019-02-21 Mapr Technologies, Inc. MULTINIVE STORAGE IN A DISTRIBUTED FILE SYSTEM
US10372363B2 (en) * 2017-09-14 2019-08-06 International Business Machines Corporation Thin provisioning using cloud based ranks
US10372371B2 (en) * 2017-09-14 2019-08-06 International Business Machines Corporation Dynamic data relocation using cloud based ranks
US10721304B2 (en) * 2017-09-14 2020-07-21 International Business Machines Corporation Storage system using cloud storage as a rank
US10581969B2 (en) * 2017-09-14 2020-03-03 International Business Machines Corporation Storage system using cloud based ranks as replica storage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015501494A (ja) 2011-11-05 2015-01-15 ザダーラ ストレージ リミテッド クラウドサーバーのためのバーチャルプライベートストレージアレイサービス
JP2013114624A (ja) 2011-11-30 2013-06-10 Hitachi Ltd ストレージシステム及びプール容量縮小の制御方法
JP2015191324A (ja) 2014-03-27 2015-11-02 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
US20170163731A1 (en) 2015-12-07 2017-06-08 International Business Machines Corporation Method, system, and computer program product for distributed storage of data in a heterogeneous cloud

Also Published As

Publication number Publication date
GB2579992B (en) 2022-04-13
US20190082008A1 (en) 2019-03-14
CN111095903A (zh) 2020-05-01
GB202003940D0 (en) 2020-05-06
DE112018005121T5 (de) 2020-06-10
GB2579992A (en) 2020-07-08
JP2020533678A (ja) 2020-11-19
CN111095903B (zh) 2022-08-02
WO2019053565A1 (en) 2019-03-21
US10721304B2 (en) 2020-07-21

Similar Documents

Publication Publication Date Title
JP7210554B2 (ja) クラウド・ストレージをランクとして使用するストレージ・システム
JP7116381B2 (ja) クラウド・ベースのランクを使用するデータの動的再配置
JP7135074B2 (ja) クラウド・ベースのランクを使用するシン・プロビジョニング
US10581969B2 (en) Storage system using cloud based ranks as replica storage
US9778856B2 (en) Block-level access to parallel storage
WO2006133251A2 (en) Online restriping technique for distributed network based virtualization
US9069783B1 (en) Active-active scale-out for unified data path architecture
US9582218B2 (en) Serial attached storage drive virtualization
US9830110B2 (en) System and method to enable dynamic changes to virtual disk stripe element sizes on a storage controller
US20180335945A1 (en) Prioritizing Dedicated Host Ports When N-Port ID Virtualization is enabled in a Storage Controller
US9348513B2 (en) SAS virtual tape drive
US11379128B2 (en) Application-based storage device configuration settings
US10942857B1 (en) Dynamically adjusting a number of memory copy and memory mapping windows to optimize I/O performance
CN114127699A (zh) 在存储器拷贝和存储器映射之间动态切换以优化i/o性能
US9164681B1 (en) Method and apparatus for dynamic path-selection for improving I/O performance in virtual provisioned storage arrays with data striping
US11237916B2 (en) Efficient cloning of logical storage devices
US11662917B1 (en) Smart disk array enclosure race avoidance in high availability storage systems
US9158735B1 (en) Techniques for generating unique identifiers
EP3889778B1 (en) Distributed storage system and computer program product
JP2017156930A (ja) 情報処理装置、ストレージシステム、制御プログラムおよびストレージ制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220425

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221202

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: 20221220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230111

R150 Certificate of patent or registration of utility model

Ref document number: 7210554

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150