特表2019-537774(P2019-537774A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧
特表2019-537774マルチサイト複製をサポートする一貫性ハッシュ構成
<>
  • 特表2019537774-マルチサイト複製をサポートする一貫性ハッシュ構成 図000003
  • 特表2019537774-マルチサイト複製をサポートする一貫性ハッシュ構成 図000004
  • 特表2019537774-マルチサイト複製をサポートする一貫性ハッシュ構成 図000005
  • 特表2019537774-マルチサイト複製をサポートする一貫性ハッシュ構成 図000006
  • 特表2019537774-マルチサイト複製をサポートする一貫性ハッシュ構成 図000007
  • 特表2019537774-マルチサイト複製をサポートする一貫性ハッシュ構成 図000008
  • 特表2019537774-マルチサイト複製をサポートする一貫性ハッシュ構成 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2019-537774(P2019-537774A)
(43)【公表日】2019年12月26日
(54)【発明の名称】マルチサイト複製をサポートする一貫性ハッシュ構成
(51)【国際特許分類】
   G06F 16/182 20190101AFI20191129BHJP
   G06F 13/10 20060101ALI20191129BHJP
【FI】
   G06F16/182 100
   G06F13/10 340A
【審査請求】未請求
【予備審査請求】未請求
【全頁数】34
(21)【出願番号】特願2019-516590(P2019-516590)
(86)(22)【出願日】2017年9月22日
(85)【翻訳文提出日】2019年3月27日
(86)【国際出願番号】IB2017055753
(87)【国際公開番号】WO2018065847
(87)【国際公開日】20180412
(31)【優先権主張番号】15/285,398
(32)【優先日】2016年10月4日
(33)【優先権主張国】US
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.UNIX
2.SMALLTALK
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
(74)【代理人】
【識別番号】100108501
【弁理士】
【氏名又は名称】上野 剛史
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】エダ、サシカンス
(72)【発明者】
【氏名】ガンジー、サンジェイ、ビピン
(72)【発明者】
【氏名】ヒルデブラント、ディーン
(72)【発明者】
【氏名】ナイヤル、トリスハーリー、サティシュ
(72)【発明者】
【氏名】ネルソン、ブライアン
(72)【発明者】
【氏名】オーウェン、ウィリアム
(72)【発明者】
【氏名】パティル、サンディープ、ラメーシュ
(72)【発明者】
【氏名】ラウト、スミタ
(57)【要約】
【課題】 改善されたストレージ効率を有する一貫性マルチサイト・データ複製を提供するためのシステム、方法、及びコンピュータ・プログラムを提供する。
【解決手段】 コンピュータ実施方法が、中央ストレージ位置内に名前空間を作成することと、名前空間を1つより多いセルに分割することとを含む。第1のセルは、中央ストレージ位置に結合された遠隔ストレージ位置から受け取った管理データを格納するように構成された共通セルである。残りのセルの各々は、遠隔ストレージ位置のそれぞれのものから受け取ったオブジェクト・データを格納するように構成される。コンピュータ実施方法は、遠隔ストレージ位置から管理データを受け取ることと、受け取った管理データを中央ストレージ位置の共通セル内に格納することと、遠隔ストレージ位置から受け取った管理データに対応するオブジェクト・データを受け取ることと、受け取ったオブジェクト・データを中央ストレージ位置のそれぞれのセル内に格納することとをさらに含む。管理データは、遠隔ストレージ位置内に格納されたオブジェクト・データに対応する。
【選択図】 図4
【特許請求の範囲】
【請求項1】
コンピュータ実施方法であって、
中央ストレージ位置内に名前空間を作成することと、
前記名前空間を1つより多いセルに分割することであって、第1のセルは、前記中央ストレージ位置に結合された遠隔ストレージ位置から受け取った管理データを格納するように構成された共通セルであり、残りのセルの各々は、前記遠隔ストレージ位置のそれぞれのものから受け取ったオブジェクト・データを格納するように構成される、分割することと、
前記遠隔ストレージ位置から管理データを受け取ることであって、前記管理データは前記遠隔ストレージ位置内に格納されたオブジェクト・データに対応する、受け取ることと、
前記受け取った管理データを前記中央ストレージ位置の前記共通セル内に格納することと、
前記遠隔ストレージ位置から受け取った前記管理データに対応するオブジェクト・データを受け取ることと、
前記受け取ったオブジェクト・データを前記中央ストレージ位置の前記それぞれのセル内に格納することと、
を含む方法。
【請求項2】
前記遠隔ストレージ位置から受け取った前記オブジェクト・データの更新を、前記中央ストレージ位置内の前記それぞれのセルに経路指定するように構成された修正された一貫性ハッシュ・アルゴリズムを実施することを含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記中央ストレージ位置及び前記遠隔ストレージ位置の各々は、等しい数のインターネット・プロトコル・アドレスを含む、請求項1に記載のコンピュータ実施方法。
【請求項4】
前記中央ストレージ位置及び前記遠隔ストレージ位置と通信するように構成された共通認証サーバを使用することを含む、請求項1に記載のコンピュータ実施方法。
【請求項5】
前記中央ストレージ位置及び前記遠隔ストレージ位置は、広域ネットワーク上で接続される、請求項1に記載のコンピュータ実施方法。
【請求項6】
前記遠隔ストレージ位置の1つ又は複数からオブジェクト要求を受け取ることに応答して、前記中央ストレージ位置の前記共通セル内に格納された前記管理データを更新することを含む、請求項1に記載のコンピュータ実施方法。
【請求項7】
プログラム命令を有するコンピュータ・プログラムであって、前記プログラム命令は、プロセッサにより実行可能であり、前記プロセッサに、
前記プロセッサにより、中央ストレージ位置内に名前空間を作成することと、
前記プロセッサにより、前記名前空間を1つより多いセルに分割することであって、第1のセルは、前記中央ストレージ位置に結合された遠隔ストレージ位置から受け取った管理データを格納するように構成された共通セルであり、残りのセルの各々は、前記遠隔ストレージ位置のそれぞれのものから受け取ったオブジェクト・データを格納するように構成される、分割することと、
前記プロセッサにより、前記遠隔ストレージ位置から管理データを受け取ることであって、前記管理データは前記遠隔ストレージ位置内に格納されたオブジェクト・データに対応する、受け取ることと、
前記プロセッサにより、前記受け取った管理データを前記中央ストレージ位置の前記共通セル内に格納することと、
前記プロセッサにより、前記遠隔ストレージ位置から受け取った前記管理データに対応するオブジェクト・データを受け取ることと、
前記プロセッサにより、前記受け取ったオブジェクト・データを前記中央ストレージ位置の前記それぞれのセル内に格納することと、
を行わせる、コンピュータ・プログラム。
【請求項8】
前記プログラム命令は、前記プロセッサにより実行可能であり、前記プロセッサに、
前記プロセッサにより、前記遠隔ストレージ位置から受け取った前記オブジェクト・データの更新を、前記中央ストレージ位置内の前記それぞれのセルに経路指定するように構成された修正された一貫性ハッシュ・アルゴリズムを実施すること、
を行わせる、請求項7に記載のコンピュータ・プログラム。
【請求項9】
前記中央ストレージ位置及び前記遠隔ストレージ位置の各々は、等しい数のインターネット・プロトコル・アドレスを含む、請求項7に記載のコンピュータ・プログラム。
【請求項10】
前記プログラム命令は、前記プロセッサにより実行可能であり、前記プロセッサに、
前記プロセッサにより、前記中央ストレージ位置及び前記遠隔ストレージ位置と通信するように構成された共通認証サーバを使用すること、
を行わせる、請求項7に記載のコンピュータ・プログラム。
【請求項11】
前記中央ストレージ位置及び前記遠隔ストレージ位置は、広域ネットワーク上で接続される、請求項7に記載のコンピュータ・プログラム。
【請求項12】
前記プログラム命令は、前記プロセッサにより実行可能であり、前記プロセッサに、
前記プロセッサにより、前記遠隔ストレージ位置の1つ又は複数からオブジェクト要求を受け取ることに応答して、前記中央ストレージ位置の前記共通セル内に格納された前記管理データを更新すること、
を行わせる、請求項7に記載のコンピュータ・プログラム。
【請求項13】
プロセッサと、
前記プロセッサと統合された、前記プロセッサにより実行可能である、又は前記プロセッサと統合されかつ前記プロセッサにより実行可能な論理と、
を含み、前記論理は、
前記プロセッサにより、中央ストレージ位置内に名前空間を作成することと、
前記プロセッサにより、前記名前空間を1つより多いセルに分割することであって、第1のセルは、前記中央ストレージ位置に結合された遠隔ストレージ位置から受け取った管理データを格納するように構成された共通セルであり、残りのセルの各々は、前記遠隔ストレージ位置のそれぞれのものから受け取ったオブジェクト・データを格納するように構成される、分割することと、
前記プロセッサにより、前記遠隔ストレージ位置から管理データを受け取ることであって、前記管理データは前記遠隔ストレージ位置内に格納されたオブジェクト・データに対応する、受け取ることと、
前記プロセッサにより、前記受け取った管理データを前記中央ストレージ位置の前記共通のセル内に格納することと、
前記プロセッサにより、前記遠隔ストレージ位置から受け取った前記管理データに対応するオブジェクト・データを受け取ることと、
前記プロセッサにより、前記受け取ったオブジェクト・データを前記中央ストレージ位置の前記それぞれのセル内に格納することと、
を行うように構成される、システム。
【請求項14】
前記論理は、
前記プロセッサにより、前記遠隔ストレージ位置から受け取った前記オブジェクト・データの更新を、前記中央ストレージ位置内の前記それぞれのセルに経路指定するように構成された修正された一貫性ハッシュ・アルゴリズムを実施すること、
を行うように構成される、請求項13に記載のシステム。
【請求項15】
前記論理は、
前記プロセッサにより、前記中央ストレージ位置及び前記遠隔ストレージ位置と通信するように構成された共通認証サーバを使用すること、
を行うように構成される、請求項13に記載のシステム。
【請求項16】
前記論理は、
前記プロセッサにより、前記遠隔ストレージ位置の1つ又は複数からオブジェクト要求を受け取ることに応答して、前記中央ストレージ位置の前記共通セル内に格納された前記管理データを更新すること、
を行うように構成される、請求項13に記載のシステム。
【請求項17】
コンピュータ実施方法であって、
管理データを、1つ又は複数の遠隔ストレージ位置から中央ストレージ位置の名前空間内の指定された共通セルに送ることであって、前記管理データは前記1つ又は複数の遠隔ストレージ位置に格納されたオブジェクト・データに対応する、送ることと、
前記1つ又は複数の遠隔ストレージ位置の各々に格納された前記オブジェクト・データを、前記中央ストレージ位置の前記名前空間内のそれぞれのセルに転送することと、
修正された一貫性ハッシュ・アルゴリズム構成を実施することと、
を含み、
前記修正された一貫性ハッシュ・アルゴリズム構成は、前記1つ又は複数の遠隔ストレージ位置内の既存のオブジェクト・データの更新を前記中央ストレージ位置内の前記それぞれのセルに経路指定する、コンピュータ実施方法。
【請求項18】
オブジェクト・データに対するプリフェッチ要求を、オンデマンドで前記中央ストレージ位置の前記名前空間内の前記それぞれのセルに送ることを含む、請求項17に記載のコンピュータ実施方法。
【請求項19】
前記修正された一貫性ハッシュ・アルゴリズム構成は、前記遠隔ストレージ位置から送られた前記管理データの要求を前記中央ストレージ位置内の前記共通セルに経路指定する、請求項17に記載のコンピュータ実施方法。
【請求項20】
前記中央ストレージ位置及び前記遠隔ストレージ位置の各々は、等しい数のインターネット・プロトコル・アドレスを含む、請求項17に記載のコンピュータ実施方法。
【請求項21】
前記中央ストレージ位置及び前記遠隔ストレージ位置と通信するように構成された共通認証サーバを使用することを含む、請求項17に記載のコンピュータ実施方法。
【請求項22】
プログラム命令を有するコンピュータ・プログラムであって、前記プログラム命令は、プロセッサにより実行可能であり、前記プロセッサに、
前記プロセッサにより、管理データを、1つ又は複数の遠隔ストレージ位置から中央ストレージ位置の名前空間内の指定された共通セルに送ることであって、前記管理データは前記遠隔ストレージ位置内に格納されたオブジェクト・データに対応する、送ることと、
前記プロセッサにより、前記1つ又は複数の遠隔ストレージ位置の各々に格納された前記オブジェクト・データを、前記中央ストレージ位置の名前空間内のそれぞれのセルに転送することと、
前記プロセッサにより、修正された一貫性ハッシュ・プロトコル構成を実施することと、
を行わせ、
前記修正された一貫性ハッシュ・アルゴリズム構成は、前記1つ又は複数の遠隔ストレージ位置内の既存のオブジェクト・データの更新を前記中央ストレージ位置内の前記それぞれのセルに経路指定する、コンピュータ・プログラム。
【請求項23】
前記プログラム命令は、前記プロセッサにより実行可能であり、前記プロセッサに、
前記プロセッサにより、オブジェクト・データに対するプリフェッチ要求を、オンデマンドで前記中央ストレージ位置の前記名前空間内の前記それぞれのセルに送ること、
を行わせる、請求項22に記載のコンピュータ・プログラム。
【請求項24】
前記修正された一貫性ハッシュ・アルゴリズム構成は、前記遠隔ストレージ位置から送られた前記管理データの要求を前記中央ストレージ位置内の前記共通セルに経路指定する、請求項22に記載のコンピュータ・プログラム。
【請求項25】
前記中央ストレージ位置及び前記遠隔ストレージ位置の各々は、等しい数のインターネット・プロトコル・アドレスを含む、請求項22に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ・ストレージ・ネットワークに関し、より具体的には、本発明は、改善されたマルチサイト・データ複製(multi-site data replication)をサポートするデータ・ストレージ・ネットワークに関する。
【背景技術】
【0002】
従来のコンピュータ・ファイル・システムは、ツリー構造を用いて、データベース内に情報を格納する。これらの従来のシステムは、ローカル・ハードドライブ上のもののような少量のデータ収集にはうまくいったが、大量のデータを処理するようには設計されておらず、従って、処理することができない。従って、企業が、収集、格納、アクセス、転送等を続行するとき、非構造化コンテンツの量が大きくなればなるほど、従来のコンピュータ・ファイル・システムは、企業のニーズを満たすことができない。
【0003】
ストレージ・エリア・ネットワーク(SAN)は、統合されたブロック・レベルのデータ・ストレージへのアクセスを提供するネットワークである。SANは、主として、ディスク・アレイ及びテープ・ライブラリなどのストレージ・デバイスを、デバイスがローカルに取り付けられたデバイスのように見えるように、それらをサーバにアクセス可能にすることによって機能拡張するために用いられる。SANは、広い地理的地域をカバーする広域ネットワーク(WAN)上に実装することができる。従って、ストレージ・デバイス間のアクセスを、それらの互いに対する近接性に関係なく、容易にすることができる。
【0004】
オブジェクト・ストレージは、情報を格納する最新の技術を提供し、そこで、情報はオブジェクトとして格納される。各オブジェクトは、ユーザ及び/又はシステム定義タグを含むことができるメタデータに加えて、データ自体(例えば、ビット及びバイト)を含む。メタデータは、データのコンテンツ、対応するオブジェクトが他のオブジェクトにどのように関連するか、データをどのように処理し、複製し、又はバックアップすべきか等を記述することができる。
【0005】
オブジェクト・ストレージの進歩は、オブジェクト・ストレージの価値を高め、オブジェクト内のデータにアクセスできる速度を増大させるように開発された。これらの進歩は、一般的に「ストーレット(storlet)」と呼ばれる、ストレージ・オブジェクト内の埋め込まれた計算エンジンを実装する。従って、ストーレットは、計算コンポーネントが内部に格納されたデータ・ストレージ・オブジェクトであり、これにより、システムが計算を実行するためにデータを計算ノード又はサーバに移動させなければならないシステムとは対照的に、オブジェクト・ストレージが、データの計算を行うことが可能になる。ストーレットは、計算ノードによる実行のために、計算ノード上にプロビジョニング又は配備され得る。ストーレットが実行されるとき、計算ノード上でストーレットを実行する効率は、ストーレットが実行する演算のタイプ、及び計算ノードの能力及び役割によって決まる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、既存のデータ・ストレージ・ネットワークは依然として、ネットワーク内の種々のストレージ位置でデータが利用可能であることも保証しながら、データを内部に効率的に格納することができなかった。その結果、既存のデータ・ストレージ・ネットワークは、内部に格納されたデータのストレージ空間、又は可用性/セキュリティのいずれかを犠牲にせざるを得ない。従って、ストレージ・ネットワーク内のストレージ位置のいずれでもデータへの迅速なアクセスを維持しながら、ストレージ空間の効率的な使用を可能にするデータ・ストレージ・ネットワークが必要とされる。
【課題を解決するための手段】
【0007】
1つの実施形態によるコンピュータ実施方法が、中央ストレージ位置内に名前空間(namespace)を作成することと、名前空間を1つより多いセルに分割することとを含む。第1のセルは、中央ストレージ位置に結合された遠隔ストレージ位置から受け取った管理データを格納するように構成される共通セル(common cell)である。さらに、残りの1つより多いセルの各々は、遠隔ストレージ位置のそれぞれのものから受け取ったオブジェクト・データを格納するように構成される。コンピュータ実施方法は、遠隔ストレージ位置から管理データを受け取ることと、受け取った管理データを中央ストレージ位置の共通セル内に格納することとも含む。管理データは、遠隔ストレージ位置内に格納されたオブジェクト・データに対応する。さらに、コンピュータ実施方法は、遠隔ストレージ位置から受け取った管理データに対応するオブジェクト・データを受け取ることと、受け取ったオブジェクト・データを中央ストレージ位置のそれぞれのセル内に格納することとを含む。
【0008】
データ・ストレージ・ネットワークにおいて上記のコンピュータ実施方法を実施することにより、実施形態は、特に既存のストレージ・ネットワークにおいて直面する欠点と比べて、改善されたストレージ効率を有する一貫性マルチサイト・データ複製(consistent multi-site data replication)を提供することができる
【0009】
他の実施形態において、上記のコンピュータ実施方法の特徴及び/又はプロセスのいずれか1つ又は複数を実施できることにも留意されたい。別の実施形態によると、コンピュータ・プログラム製品が、プログラム命令がそこに具体化されたコンピュータ可読ストレージ媒体を含み、このプログラム命令は、プロセッサにより実行可能であり、プロセッサに、上記のコンピュータ実施方法のプロセスのいずれか1つ又は複数を実行させる。さらに別の実施形態によると、システムが、プロセッサと、プロセッサと統合される論理、プロセッサにより実行可能な論理、又はプロセッサと統合されかつプロセッサにより実行可能な論理を有し、この論理は、コンピュータ実施方法のステップを実行するように構成される。
【0010】
随意的な手法によると、コンピュータ実施方法は、遠隔ストレージ位置から受け取ったオブジェクト・データの更新を中央ストレージ位置内のそれぞれのセルに経路指定するように構成された修正された一貫性ハッシュ・アルゴリズムを実施することをさらに含む。そのような修正された一貫性ハッシュ・アルゴリズムを実施することにより、データ・ストレージ・ネットワークは、望ましいことに、ストレージ・ネットワーク内の種々のストレージ位置にわたり一様なデータの管理を達成することができる。
【0011】
幾つかの手法において、上記のコンピュータ実施方法の中央ストレージ位置及び遠隔ストレージ位置の各々は、随意的に、等しい数のインターネット・プロトコル(IP)アドレスを含むことができる。従って、データ・ストレージ・ネットワークは、改善された同時マルチサイト・データ・アクセスを達成することができる。
【0012】
別の随意的な手法によると、コンピュータ実施方法は、中央ストレージ位置及び遠隔ストレージ位置と通信するように構成された共通認証サーバを使用することをさらに含むことができる。そのように構成された共通認証サーバを実装することにより、データ・ストレージ・ネットワークは、望ましいことに、ストレージ・ネットワーク内の種々のストレージ位置にわたり一様なデータの管理を達成することができる。
【0013】
さらに別の随意的な手法によると、コンピュータ実施方法は、遠隔ストレージ位置の1つ又は複数からオブジェクト要求を受け取ることに応答して、中央ストレージ位置の共通セル内に格納された管理データを更新することを含むことができる。従って、データ・ストレージ・ネットワークは、ストレージ・ネットワーク内の種々のストレージ位置にわたり一様なデータの管理を達成することができる。
【0014】
別の実施形態によるコンピュータ実施方法は、管理データを、1つ又は複数の遠隔ストレージ位置から中央ストレージ位置の名前空間内の指定された共通セルに送ることを含む。管理データは、1つ又は複数の遠隔ストレージ位置に格納されるオブジェク・データに対応する。コンピュータ実施方法は、1つ又は複数の遠隔ストレージ位置の各々に格納されたオブジェクト・データを、中央ストレージ位置の名前空間内のそれぞれのセル内に転送することも含む。さらに、コンピュータ実施方法は、修正された一貫性ハッシュ・アルゴリズム構成を実装することを含む。修正された一貫性ハッシュ・アルゴリズム構成は、1つ又は複数の遠隔ストレージ位置内の既存のオブジェクト・データの更新を中央ストレージ位置内のそれぞれのセルに経路指定する。
【0015】
データ・ストレージ・ネットワークにおいて上記のコンピュータ実施方法を実施することにより、実施形態は、特に既存のストレージ・ネットワークにおいて直面する欠点と比べて、改善されたストレージ効率を有する一貫性マルチサイト・データ複製を提供することができる。
【0016】
他の実施形態において、上記のコンピュータ実施方法の特徴及び/又はプロセスのいずれか1つ又は複数を実施できることにも留意されたい。別の実施形態によると、コンピュータ・プログラム製品が、プログラム命令がそこに具体化されたコンピュータ可読ストレージ媒体を含み、このプログラム命令は、プロセッサにより実行可能であり、プロセッサに、上記のコンピュータ実施方法のプロセスのいずれか1つ又は複数を実行させる。
【0017】
随意的な手法によると、コンピュータ実施方法は、オブジェクト・データに対するプリフェッチ要求を、オンデマンドで中央ストレージ位置の名前空間内のそれぞれのセルに送ることをさらに含むことができる。そうすることにより、データ・ストレージ・ネットワークは、改善された同時マルチサイト・データ・アクセスを達成することができる。
【0018】
別の随意的な手法によると、修正された一貫性ハッシュ・アルゴリズム構成は、遠隔ストレージ位置から送られた管理データの要求を、中央ストレージ位置内の共通セルに経路指定することができる。従って、修正された一貫性ハッシュ・アルゴリズム構成を実装するデータ・ストレージ・ネットワークは、望ましいことに、ストレージ・ネットワークにおける種々のストレージ位置にわたり一様なデータの管理を達成することができる。
【0019】
幾つかの手法において、中央ストレージ位置及び遠隔ストレージ位置の各々は、等しい数のIPアドレスを含むことができる。従って、データ・ストレージ・ネットワークは、改善された同時マルチサイト・データ・アクセスを達成することができる。
【0020】
さらに別の随意的な手法によると、コンピュータ実施形態方法は、中央ストレージ位置及び遠隔ストレージ位置と通信するように構成された共通認証サーバを使用することをさらに含むことができる。そのように構成された共通認証サーバを実装することにより、データ・ストレージ・ネットワークは、望ましいことに、ストレージ・ネットワーク内の種々のストレージ位置にわたり一様なデータの管理を達成すること、及び/又はオブジェクト・データ破損の低減を達成することができる。
【0021】
本発明の他の態様及び実施形態は、図面と併せて、本発明の原理の例として示す以下の詳細な説明から明らかになるであろう。
ここで添付図面を参照して、本発明の実施形態を単なる例として説明する。
【図面の簡単な説明】
【0022】
図1】1つの実施形態による、ネットワーク・アーキテクチャを示す。
図2】1つの実施形態による、図1のサーバ及び/又はクライアントと関連付けることができる代表的なハードウェア環境を示す。
図3】1つの実施形態による、層状データ・ストレージ・システムを示す。
図4】1つの実施形態による、方法のフローチャートである。
図5】1つの実施形態による、ストレージ・ネットワークである。
図6】1つの実施形態による、方法のフローチャートである。
図7】1つの実施形態による、ストレージ・ネットワークの図である。
【発明を実施するための形態】
【0023】
以下の説明は、本発明の一般的な原理を説明するためになされたものであり、本明細書で特許請求される本発明の概念を限定することを意図していない。さらに、本明細書で説明される特定の特徴は、種々の可能な組み合わせ及び置換の各々の他の説明される特徴と共に用いることができる。
【0024】
特に別段の定めがない限り、全ての用語は、明細書から暗示される意味、並びに当業者により理解される及び/又は辞書、論文等に定められる意味を含む、その最も広い可能か解釈が与えられるべきである。
【0025】
また、明細書及び添付の特許請求の範囲において用いられる場合、単数形「a」、「an」及び「the」は、他に断りのない限り、複数の指示物を含むことにも留意すべきである。さらに、「含む(comprise)」及び/又は「含んでいる(comprising)」という用語は、本明細書で用いられる場合、記述された特徴、整数、ステップ、動作、要素、及び/又はコンポーネントの存在を指示するが、1つ又は複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び/又はそれらの群の存在又は追加を排除するものではないことも理解されるであろう。
【0026】
以下の説明は、改善されたストレージ効率を有する一貫性マルチサイト・データ複製を提供するためのシステム、方法、及びコンピュータ・プログラム製品の幾つかの好ましい実施形態を開示する。さらに、以下にさらに詳細に説明されるように、異なる実施形態が、同時マルチサイト・データ・アクセス、サイトにわたる一様な管理データ、及び/又はオブジェクト・データ破損の低減のためのサポートを付加することができる。
【0027】
1つの一般的な実施形態において、コンピュータ実施方法は、中央ストレージ位置内に名前空間を作成することと、名前空間を1つより多いセルに分割することとを含む。第1のセルは、中央ストレージ位置に結合された遠隔ストレージ位置から受け取った管理データを格納するように構成された共通セルである。残りのセルの各々は、遠隔ストレージ位置のそれぞれのものから受け取ったオブジェクト・データを格納するように構成される。コンピュータ実施方法は、遠隔ストレージ位置から管理データを受け取ることと、受け取った管理データを中央ストレージ位置の共通セル内に格納することと、遠隔ストレージ位置から受け取った管理データに対応するオブジェクト・データを受け取ることと、受け取ったオブジェクト・データを中央ストレージ位置のそれぞれのセル内に格納することとをさらに含む。管理データは、遠隔ストレージ位置内に格納されたオブジェクト・データに対応する。
【0028】
別の一般的な実施形態において、コンピュータ・プログラム製品が、プログラム命令がそこに具体化されたコンピュータ可読ストレージ媒体を含み、このプログラム命令は、プロセッサにより実行可能であり、プロセッサに:プロセッサにより、中央ストレージ位置内の名前空間を作成させることと、プロセッサにより、名前空間を1つより多いセルに分割することとを行わせる。第1のセルは、中央ストレージ位置に結合された遠隔ストレージ位置から受け取った管理データを格納するように構成された共通セルである。残りのセルの各々は、遠隔ストレージ位置のそれぞれのものから受け取ったオブジェクト・データを格納するように構成される。プログラム命令は、プロセッサによりさらに実行可能であり、プロセッサに:プロセッサにより、遠隔ストレージ位置から管理データを受け取ることと、プロセッサにより、受け取った管理データを中央ストレージ位置の共通セル内に格納することと、プロセッサにより、遠隔ストレージ位置から受け取った管理データに対応するオブジェクト・データを受け取ることと、プロセッサにより、受け取ったオブジェクト・データを中央ストレージ位置のそれぞれのセル内に格納することとを行わせる。管理データは、遠隔ストレージ位置内に格納されたオブジェクト・データに対応する。
【0029】
別の一般的な実施形態において、システムが、プロセッサと、プロセッサと統合された、プロセッサにより実行可能な、又はプロセッサと統合されかつプロセッサにより実行可能な論理とを含み、この論理は、プロセッサにより、中央ストレージ位置内に名前空間を作成し、プロセッサにより、名前空間を1つより多いセルに分割するように構成される。第1のセルは、中央ストレージ位置に結合された遠隔ストレージ位置から受け取った管理データを格納するように構成された共通セルである。残りのセルの各々は、遠隔ストレージ位置のそれぞれのものから受け取ったオブジェクト・データを格納するように構成される。論理はさらに、プロセッサにより、遠隔ストレージ位置から管理データを受け取り、プロセッサにより、受け取った管理データを中央ストレージ位置の共通セル内に格納し、プロセッサにより、遠隔ストレージ位置から受け取った管理データに対応するオブジェクト・データを受け取り、プロセッサにより、受け取ったオブジェクト・データを中央ストレージ位置のそれぞれのセル内に格納するように構成される。管理データは、遠隔ストレージ位置内に格納されたオブジェクト・データに対応する。
【0030】
さらに別の実施形態において、コンピュータ実施方法は、管理データを、1つ又は複数の遠隔ストレージ位置から中央ストレージ位置の名前空間内の指定された共通セルに送ることと、1つ又は複数の遠隔ストレージ位置の各々に格納されたオブジェクト・データを中央ストレージ位置の名前空間内のそれぞれのセルに転送することと、修正された一貫性ハッシュ・アルゴリズム構成を実装することとを含む。管理データは、1つ又は複数の遠隔ストレージ位置に格納されたオブジェクト・データに対応する。さらに、修正された一貫性ハッシュ・アルゴリズム構成は、1つ又は複数の遠隔ストレージ位置内の既存のオブジェクト・データの更新を、中央ストレージ位置内のそれぞれのセルに経路指定する。
【0031】
別の一般的な実施形態において、コンピュータ・プログラム製品が、プログラム命令がそこに具体化されたコンピュータ可読ストレージ媒体を含み、このプログラム命令は、プロセッサにより実行可能であり、プロセッサに:プロセッサにより、管理データを、1つ又は複数の遠隔ストレージ位置から中央ストレージ位置の名前空間内の指定された共通セルに送ることと、プロセッサにより、1つ又は複数の遠隔ストレージ位置の各々に格納されたオブジェクト・データを中央ストレージ位置の名前空間内のそれぞれのセルに転送することと、プロセッサにより、修正された一貫性ハッシュ・アルゴリズム構成を実装することとを行わせる。管理データは、1つ又は複数の遠隔ストレージ位置に格納されたオブジェクト・データに対応する。さらに、修正された一貫性ハッシュ・アルゴリズム構成は、1つ又は複数の遠隔ストレージ位置内の既存のオブジェクト・データの更新を、中央ストレージ位置内のそれぞれのセルに経路指定する。
【0032】
図1は、1つの実施形態による、アーキテクチャ100を示す。図1に示されるように、第1の遠隔ネットワーク104及び第2の遠隔ネットワーク106を含む、複数の遠隔ネットワーク102が提供される。ゲートウェイ101を、遠隔ネットワーク102と近接ネットワーク108との間に結合することができる。本アーキテクチャ100との関連において、ネットワーク104、106はそれぞれ、これらに限定されるものではないが、ローカル・エリア・ネットワーク(LAN)、インターネットなどの広域ネットワーク(WAN)、公衆交換電話網(public switched telephone network、PSTN)、内線電話網等を含む、任意の形態をとることができる。
【0033】
使用中、ゲートウェイ101は、遠隔ネットワーク102から近接ネットワーク108までの入口点(entrance point)として働く。従って、ゲートウェイ101は、ゲートウェイ101に到着する所定のデータ・パケットを方向付けることができるルータ、及び、所定のパケットについての、ゲートウェイ101に出入りする実際の経路を提供するスイッチとして機能することができる。
【0034】
近接ネットワーク108に結合され、かつ、ゲートウェイ101を介して遠隔ネットワーク102からアクセス可能である少なくとも1つのデータ・サーバ114が、さらに含まれる。データ・サーバ114は、いずれのタイプのコンピューティング・デバイス/グループウエアも含み得ることに留意されたい。複数のユーザ・デバイス116が、各データ・サーバ114に結合される。ユーザ・デバイス116はまた、ネットワーク104、106、108の1つを通じて直接接続することもできる。こうしたユーザ・デバイス116は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、手持ち式コンピュータ、プリンタ、又はいずれかの他のタイプの論理を含むことができる。1つの実施形態において、ユーザ・デバイス111を、ネットワークのいずれかに直接結合できることに留意されたい。
【0035】
例えばファクシミリ装置、プリンタ、ネットワーク化及び/又はローカル・ストレージ・ユニット若しくはシステム等の周辺機器120又は一連の周辺機器120を、ネットワーク104、106、108の1つ又は複数に結合することができる。データベース及び/又は付加的なコンポーネントを、ネットワーク104、106、108に結合されたいずれかのタイプのネットワーク要素と共に利用すること、又はこれらに統合することができることに留意されたい。本説明との関連において、ネットワーク要素は、ネットワークの任意のコンポーネントを指すことができる。
【0036】
幾つかの手法によると、本明細書で説明される方法及びシステムは、IBM z/OS環境をエミュレートするUNIXシステム、MICROSOFT WINDOWS環境を仮想的にホストするUNIXシステム、IBM z/OS環境をエミュレートするMICROSOFT WINDOWSシステム等のような、1つ又は複数の他のシステムをエミュレートする仮想システム及び/又はシステムと共に、及び/又は仮想システム及び/又はシステム上に実装することができる。幾つかの実施形態において、この仮想化及び/又はエミュレーションは、VMWAREソフトウェアを用いて機能強化することができる。
【0037】
さらなる手法において、1つ又は複数のネットワーク104、106、108は、一般的に「クラウド」と呼ばれるシステムのクラスタを表すことができる。クラウド・コンピューティングにおいて、処理能力、周辺機器、ソフトウェア、データ、サーバ等のような共有リソースは、オンデマンド関係でクラウド内のいずれかのシステムに提供され、それにより多くのコンピューティング・システムにわたるアクセス及びサービスの分散が可能になる。クラウド・コンピューティングは、一般に、クラウド内で動作するシステム間のインターネット接続を必要とするが、システムを接続する他の技術を用いることもできる。
【0038】
図2は、1つの実施形態による、図1のユーザ・デバイス116及び/又はサーバ114と関連した代表的なハードウェア環境を示す。こうした図は、マイクロプロセッサのような中央処理ユニット210と、システム・バス212を介して相互接続された多数の他のユニットとを有するワークステーションの一般的なハードウェア構成を示す。
【0039】
図2に示されるワークステーションは、ランダム・アクセス・メモリ(RAM)214と、読み出し専用メモリ(ROM)216と、ディスク・ストレージ・ユニット220などの周辺機器をバス212に接続するためのI/Oアダプタ218と、キーボード224、マウス226、スピーカ228、マイクロフォン232、及び/又はタッチスクリーン、デジタル・カメラ(図示せず)などの他のユーザ・インターフェース・デバイスをバス212に接続するためのユーザ・インターフェース・アダプタ222と、ワークステーションを通信ネットワーク235(例えば、データ処理ネットワーク)に接続するための通信アダプタ234と、バス212をディスプレイ装置238に接続するためのディスプレイ・アダプタ236とを含む。
【0040】
ワークステーションは、Microsoft Windows(登録商標)オペレーティング・システム(OS)、MAC OS、UNIX OS等のようなオペレーティング・システムがそこに常駐することができる。上述したもの以外のプラットホーム及びオペレーティング・システム上で、好ましい実施形態を実施できることも理解されるであろう。好ましい実施形態は、オブジェクト指向プログラミング方法と共に、XML、C、及び/又はC++言語、又は他のプログラミング言語を用いて書くことができる。複雑なアプリケーションを開発するのにますます用いられるようになったオブジェクト指向プログラミング(OOP)を用いることができる。
【0041】
ここで図3を参照すると、1つの実施形態による、ストレージ・システム300が示される。種々の実施形態により、図3に示される要素の一部は、ハードウェア及び/又はソフトウェアとして実装することができる。ストレージ・システム300は、少なくとも1つの上位のストレージ層(higher storage tier)302と、少なくとも1つの下位のストレージ層(lower storage tier)306上の複数の媒体と通信するためのストレージ・システム・マネージャ312を含むことができる。上位ストレージ層302は、好ましくは、ハードディスクドライブ(HDD)内のハードディスク、不揮発性メモリ(NVM)、ソリッドステートドライブ(SSD)内のソリッドステートメモリ、フラッシュメモリ、SSDアレイ、フラッシュメモリ・アレイ等、及び/又は本明細書で記載される若しくは当技術分野において周知の他のもののような、1つ又は複数のランダム・アクセス及び/又はダイレクト・アクセス媒体304を含むことができる。下位ストレージ層306は、好ましくは、テープドライブ内の磁気テープ及び/又は光媒体、低速アクセスのHDD、低速アクセスのSSD等、及び/又は本明細書で記載される若しくは当技術分野において周知の他のもののような、シーケンシャル・アクセス媒体を含む1つ又は複数の低性能のストレージ媒体308を含むことができる。1つ又は複数の付加的なストレージ層316は、システム300の設計者により所望されるような、ストレージ・メモリ媒体の任意の組み合わせを含むことができる。また、上位ストレージ層302及び/又は下位ストレージ層306のいずれも、ストレージ・デバイス及び/又はストレージ媒体の何らかの組み合わせを含むことができる。
【0042】
ストレージ・システム・マネージャ312は、図3に示されるようなストレージ・エリア・ネットワーク(SAN)、又は他の何らかの適切なネットワーク・タイプのようなネットワーク310を通じて、上位ストレージ層302及び下位ストレージ層306上のストレージ媒体304、308と通信することができる。ストレージ・システム・マネージャ312は、該ストレージ・システム・マネージャ312の一部であることも又は一部でないこともあるホスト・インターフェース314を通じて1つ又は複数のホスト・システム(図示せず)と通信することもできる。ストレージ・システム・マネージャ312及び/又はストレージ・システム300のいずれかの他のコンポーネントは、ハードウェア及び/又はソフトウェアとして実装することができ、中央処理ユニット(CPU)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)等のような、当技術分野において周知のタイプのコマンドを実行するためのプロセッサ(図示せず)を利用することができる。もちろん、本説明を読むと当業者には明らかなように、任意のストレージ・システムの配置を用いることができる。
【0043】
より多くの実施形態において、ストレージ・システム300は、いずれの数のデータ・ストレージ層を含むこともでき、各ストレージ層内に同じ又は異なるストレージ・メモリ媒体を含むことができる。例えば、各データ・ストレージ層は、HDD、SSD、シーケンシャル・アクセス媒体(テープドライブ内のテープ、光ディスクドライブ内の光ディスク等)、ダイレクト・アクセス媒体(CD−ROM、DVD−ROM等)、又は媒体ストレージ・タイプの任意の組み合わせのような、同じタイプのストレージ・メモリ媒体を含むことができる。1つのこうした構成において、上位ストレージ層302は、データをより高性能のストレージ環境内に格納するためのSSDストレージ媒体の大多数を含むことができ、下位ストレージ層306及び付加的なストレージ層316を含む残りのストレージ層は、データをより低性能のストレージ環境内に格納するための、SSD、HDD、テープドライブ等の任意の組み合わせを含むことができる。このように、より頻繁にアクセスされるデータ、より高い優先順位を有するデータ、より迅速にアクセスする必要があるデータ等を上位ストレージ層302に格納する一方で、これらの属性の1つを有していないデータは、下位ストレージ層306を含む付加的なストレージ層316に格納され得る。もちろん、当業者であれば、本説明を読むと、本明細書で提示される実施形態による、異なるストレージ・スキームを実施するためのストレージ媒体タイプの他の多くの組み合わせを考え出すことができる。
【0044】
幾つかの実施形態によると、ストレージ・システム(300のような)は、データセットをオープンする要求を受けるように構成された論理、要求されたデータセットが複数の関連部分において層状データ・ストレージ・システム300の下位ストレージ層306に格納されるかどうかを判断するように構成された論理、要求されたデータセットの関連部分の各々を層状データ・ストレージ・システム300の上位ストレージ層302に移動させるように構成された論理、及び関連部分から層状データ・ストレージ・システム300の上位ストレージ層302上の要求されたデータセットを組み立てるように構成された論理を含むことができる。
【0045】
もちろん、この論理は、種々の実施形態による、いずれかのデバイス及び/又はシステムにおける方法として、又はコンピュータ・プログラム製品として実装することができる。
【0046】
既述のように、従来のデータ・ストレージ・ネットワークは、ネットワークにわたり異なる位置においてデータを効率的に提供することに関して欠点に直面していた。
【0047】
例えば、幾つかの従来のストレージ・ネットワークは、ネットワークにわたる異なる位置に同じデータの複数のコピーを格納し、それにより、データの可用性を高めている。しかしながら、マルチサイト・ネットワーク配備においては、これにより、データを種々の地理学にわたって複数回複製し、それにより、かなりの量の遅延が付加され、全体としてネットワークのストレージ要件が増大する。さらに、各ネットワーク・ユーザは、複数のデータのコピーが異なる地理的位置にあるかどうかに関係なく、それらが所有する(それらに関連付けられる)データの各コピーにアクセスすることができる。その結果、そうした従来のネットワークにおいては、アクセス制御の地理的分離は可能でない。
【0048】
他の従来のストレージ・ネットワークは、データを中央位置に単一方向に移動させる。そこから、理想的には、ネットワーク内の他の位置のいずれかにより、データにアクセスすることができる。しかしながら、この手法により、所定のデータの部分の異なるデータベース・リスティング間に不整合が生じる。例えば、データの部分と関連したメタデータが、データベース内の所定の位置で行われた変更に従って更新される場合、ネットワーク遅延のため、及び/又はネットワークが他の更新により既に消費されている場合があるという事実のため、その変更が、即座に他のデータベース位置に複製されず、それにより、異なる位置におけるデータベース・リスティングにおける不整合が形成される。さらに、単一のデータ・コピーしか存在できないので、そうした従来のストレージ・ネットワークは、全体的に増大したデータ破損並びにデータ損失をもたらす。
【0049】
明確な対照において、本明細書で説明される種々の実施形態は、改善されたストレージ効率を有する一貫性マルチサイト・データ複製を提供することができる。さらに、以下にさらに詳細に説明されるように、異なる実施形態は、同時マルチサイト・データ・アクセス、サイトにわたる均一な管理データ、及び/又はオブジェクト・データ破損の低減のためのサポートを付加することができる。
【0050】
ここで図4を参照すると、1つの実施形態による、コンピュータ実施方法400のフローチャートが示される。以下に説明される方法400の動作は、好ましくは、例えば図5に示されるような、中央ストレージ位置及び複数の遠隔ストレージ位置を有するストレージ・ネットワークにおいて実行されることに留意されたい。
【0051】
少しの間図5を参照すると、1つの実施形態により、ストレージ・ネットワーク500の中央ストレージ位置502が、WAN510上で複数の遠隔ストレージ位置506に接続される(例えば、電気的に結合される)ものとして示される。本実施形態においては、中央ストレージ位置を遠隔ストレージ位置及び認証サーバ508に接続するために、WAN510が含められるが、これは、決して本発明を限定することを意図していないことに留意されたい。幾つかの実施形態においては、例えば、中央ストレージ位置及び遠隔ストレージ位置が地理的に十分に接近している場合、LANを用いることができる。
【0052】
しかしながら、図4の方法400は、種々の実施形態において、とりわけ図1図3に示される環境のいずれかにおいて、本発明に従って実行することができる。もちろん、本説明を読むと当業者により理解されるように、図4に具体的に記載されるよりも多い又は少ない動作を、方法400内に含めることもできる。
【0053】
方法400のステップの各々は、動作環境のいずれの適切なコンポーネントにより実行することができる。例えば、種々の実施形態において、方法400は、コントローラ、プロセッサ等、又は1つ又は複数のプロセッサを内部に有する他の何らかのデバイスにより部分的に又は全体的に実行することができる。ハードウェア及び/又はソフトウェアの形で実施され、好ましくは少なくとも1つのハードウェア・コンポーネントを有するプロセッサ、例えば処理回路、チップ、及び/又はモジュールをいずれかのデバイスにおいて使用し、方法400の1つ又は複数のステップを実行することができる。例示的なプロセッサとして、これらに限定されるものではないが、中央処理ユニット(CPU)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)等、それらの組み合わせ、又は当技術分野において周知の他のいずれかの適切なコンピューティング・デバイスが挙げられる。
【0054】
図4に示されるように、動作402は、中央ストレージ位置内に名前空間を作成することを含む。名前空間は、本説明を読むと当業者には明らかないずれかの方法で、中央ストレージ位置内に作成することができる。
【0055】
幾つかの実施形態において、中央ストレージ位置は、例えば、オブジェクト・ストレージ・アーキテクチャに従って、ノード・グループを実装することができる。1つの手法によると、ノード・グループは、分散負荷処理を実行するように、及び/又は中央ストレージ位置の名前空間へのノード処理要求に応答するように構成することができる。別の手法において、ノード・グループを用いて、メモリ(例えば、磁気ディスク)及び/又はストレージ・サブシステムへの書き込み動作を実行することができ、それにより、ある場合には、ストレージ・ユニット(リポジトリ)として働く。
【0056】
さらに、動作404は、名前空間を、1つより多いセル、例えば少なくとも2つのセルに分割することを含む。名前空間が分割されるセルの数は、好ましくは、例えばデータ・ストレージ・ネットワーク上で、中央ストレージ位置に結合される遠隔ストレージ位置の数に対応する。さらに、名前空間が分割されるセルの数及び/又はサイズは、より多くの遠隔ストレージ位置が中央ストレージ位置に結合される(例えば、データ・ストレージ・ネットワークに付加される)につれて増大し、遠隔ストレージ位置が中央ストレージ位置から分離される(例えば、データ・ストレージ・ネットワークから除去される)につれて減少する。
【0057】
動作404において作成されるセルの1つ(例えば、第1のセル)が、中央ストレージ位置に結合された遠隔ストレージ位置から受け取った管理データを格納するように構成された共通セルであることが好ましい。言い換えれば、名前空間内のセルの1つは、共通セルが配置される中央ストレージ位置に結合された全ての遠隔ストレージ位置から受け取った管理データを格納するように指定されることが好ましい。種々の手法によると、「管理データ」とは、例えば、ユーザ名、最後のログイン、コンテナの数、ACL、消費された総バイト等のアカウント関連データ;例えばオブジェクトの数、オブジェクト作成時間、サイズ、Etag等のコンテナ関連データを含むことができる。1つの手法において、本説明を読むと当業者には明らかなように、新しい遠隔オブジェクト・ノード・グループの調整を用いて、遠隔ストレージ位置を中央ストレージ位置内のそれぞれのセルにマッピングすることができる。
【0058】
セルの1つだけが管理データを格納するように指定されることが好ましいが、幾つかの手法においては、1つより多いセルを用いられることがある。例えば、かなり多数の遠隔ストレージ位置が中央ストレージ位置に結合され、中央ストレージ位置が多量の管理データ等を受け取ることに応答して、1つより多いセルを用いて管理データを格納することができる。しかしながら、他の手法においては、中央ストレージ位置に格納された管理データの量のあらゆる変化に適合させるように、単に共通セルのサイズを調整することができる。
【0059】
さらに、残りのセルの各々を、遠隔ストレージ位置のそれぞれのものから受け取った、オブジェクト・データ及び/又はオブジェクト・データに対応するメタデータを格納するように構成することができる。言い換えれば、残りのセルの各々は、それぞれの遠隔ストレージ位置のオブジェクト・データ及び/又は対応するメタデータを格納するように指定することができる。再び少しの間図5のネットワーク500を参照すると、共通セルを用いて、遠隔ストレージ位置の4つ全てから受け取った管理データを格納することができる。共通セルと共に、中央ストレージ位置の名前空間が、付加的な4つのセルに分割されることが好ましい。4つのセルの各々は、遠隔ストレージ位置のそれぞれのものから受け取ったオブジェクト・データ及び/又はオブジェクト・データに対応するメタデータを格納するように指定される。
【0060】
再び図4を参照すると、方法400は、遠隔ストレージ位置から管理データを受け取ることをさらに含む。動作406を参照されたい。さらに、動作408は、受け取った管理データを中央ストレージ位置の共通セル内に格納することを含む。既述のように、管理データは、遠隔ストレージ位置のいずれか(又は全て)に格納されたオブジェクト・データに対応し得る。従って、管理データは、オブジェクト・データが付加されるとき、そこから除去されるとき、そこに更新されるときなど、時間が経つにつれて更新することができる。さらに、遠隔ストレージ位置自体が中央ストレージ位置に結合されるとき又は中央ストレージ位置から分離されるとき、共通セル内に含まれる管理データを調整し、更新することができる。
【0061】
共通セルにおいて管理データが更新される速度は、所望の実施形態に応じて変化し得る。幾つかの手法において、共通セル内の管理データは、遠隔ストレージ位置のいずれかにおいてオブジェクト・データに変更が行われるたびに更新される。他の手法においては、指定された期間(例えば、時間の)毎に一度、管理データを更新することができ、それに従ってこの期間を調整することができる。さらに他の手法において、管理データは、例えば、ユーザ要求など所定の条件が満たされたとき、遠隔ストレージ位置から指定された数のオブジェクト・データ要求を受け取ったときに更新することができる。しかしながら、所定の遠隔ストレージ位置に対応する管理データのコピーを、遠隔ストレージ位置自体に格納することもできることに留意されたい。
【0062】
決して本発明を限定することを意図するものではない1つの実施形態において、オブジェクト要求(例えば、ストレージ位置のいずれかから受け取った)がそれぞれの管理データを更新するたびに、管理データへの変更を、全てのストレージ位置にわたり非同期的に複製することができ、その結果、以下にさらに詳細に説明されるように、管理データはストレージ・ネットワークにわたり一貫性をもち、それによりデータ破損が減少する。
【0063】
引き続き図4を参照すると、動作410は、遠隔ストレージ位置から受け取った管理データに対応するオブジェクト・データを受け取ることを含む。さらに、動作412は、受け取ったオブジェクト・データを、中央ストレージ位置のそれぞれのセル内に格納することを含む。既述のように、遠隔ストレージ位置の各々は、中央ストレージ位置の名前空間内の一意のセルに対応し得る。従って、特定の遠隔ストレージ位置から受け取ったオブジェクト・データは、遠隔ストレージ位置自体ではなく、その所定の遠隔ストレージ位置に関連したセル内に格納されることが好ましい。従って、遠隔ストレージ位置と中央ストレージ位置との間のストレージ複製は、実施されないことが好ましい。どちらかと言えば、データベースは、オブジェクトのリスティングにより更新できるに過ぎず、一方、実際のオブジェクト・データは、例えばWANキャッシングを用いて中央ストレージ位置に転送される。幾つかの手法において、オブジェクト・データは、遠隔ストレージ位置から中央ストレージ位置に自動的にアップロードすることができ、一方、アップロードされたオブジェクト・データに対応する管理データは、中央ストレージ位置及び遠隔ストレージ位置の両方に格納され得る。
【0064】
例示的な実施形態によると、オブジェクト・データは、例えば独立ライタ・モード(independent writer mode)で実施されるWANキャッシングを用いて、遠隔ストレージ位置の各々から中央ストレージ位置内のそれぞれのセルに転送することができる。独立ライタ・モードは、中央ストレージ位置に対する変更をプッシュし、データ(ファイル)の更新をチェックしながら、ストレージ・ネットワークにわたり読み取り及び書き込みの両方を行うことを可能にする。1つの手法によると、中央ストレージ位置の名前空間内のオブジェクト・データ・セルの各々に対して、WANキャッシングを実施することができる。
【0065】
幾つかの手法において、遠隔ストレージ位置において独立ライタ・ファイル・セットに書き込まれたデータを、可能な限り迅速に中央ストレージ位置に転送する(プッシュする)ことができる。しかしながら、同じ(又は実質的に類似の)データが既に、遠隔ストレージ位置におけるキャッシュ・ファイル・セット内に存在する場合、オープンにされたとき、それを中央ストレージ位置におけるそのデータのバージョンと比較し、一番最近更新されたデータ・バージョンが使用されることを保証することができる。従って、中央ストレージ位置が最新の(一番最近更新された)データ・バージョンを含む場合、これを用いて遠隔ストレージ位置におけるデータを更新することができる。
【0066】
管理データのコピーをそれぞれの遠隔ストレージ位置内にも維持しながら、オブジェクト・データを遠隔ストレージ位置の各々から、それぞれの遠隔ストレージ位置の各々に対応する中央ストレージ位置の名前空間内のセルに転送することにより、改善されたストレージ効率を達成することができる。より具体的には、この中央ストレージ位置へのオブジェクト・データの統合は、遠隔ストレージ位置におけるオンデマンド・データ・リコール能力を提供することに加えて、遠隔ストレージ位置の各々で使用されるネットワーク・ストレージの量を低減させる。さらに、例えば、オブジェクト・データの部分にアクセス制限を適用することにより、地理的に分離されたアクセス制御を保持することができる。1つの手法によると、アクセス制限は、地理的位置に基づいて実施することができる。従って、中央ストレージ位置におけるユーザは、それが中央ストレージ位置に格納されている場合でも、特定のオブジェクト・データにアクセスできないことがある。同様に、遠隔ストレージ位置のいずれかが、特定のオブジェクト・データ、オブジェクト・データ・メタデータ、管理データ等を選択的に拒否することがある。まもなく明らかになるように、修正された一貫性ハッシュ・アルゴリズム・リング(modified consistency hashing algorithm ring)を利用することにより、こうした制限を実施することができる。
【0067】
再び図4を参照すると、方法400は、修正された一貫性ハッシュ・アルゴリズムを実施することも含む。動作414を参照されたい。修正された一貫性ハッシュ・アルゴリズムは、中央ストレージ位置に格納されたオブジェクト・データの更新を、名前空間内の適切なセルに経路指定するように構成されることが好ましい。従って、所定の遠隔ストレージ位置からの中央ストレージ位置で受け取った更新を、その遠隔ストレージ位置に対応する一意のセルに経路指定することができ、その結果、受け取った更新に従って、内部に格納されたオブジェクト・データを補足し、除去し、置換し、又は他の方法で修正することができる。1つの手法において、遠隔ストレージ位置の各々に関する詳細、及びそれと関連したオブジェク・クラスタの詳細を含むように、マルチ領域設定ファイルを更新することができる。従って、修正された一貫性ハッシュ・アルゴリズムを実施することにより、データ・ストレージ・ネットワークが、望ましいことに、ストレージ・ネットワーク内の種々のストレージ位置にわたり一様なデータの管理を達成することが可能になる。
【0068】
さらに、それに行われた更新に対応するオブジェクト・データの部分(例えば、個々の行)を置換する能力は、オブジェクト・データへの更新を実行するために用いられるネットワークの量及び/又はストレージ位置の帯域幅の著しい低減を可能にする。これは、その部分への更新を実施するために全てのオブジェクト・データを書き直す従来のストレージ・ネットワークと比較すると、特に明らかである。
【0069】
幾つかの実施形態において、本説明を読むと当業者により理解されるように、修正された一貫性ハッシュ・アルゴリズムは、配置アルゴリズム・リングを含むことができる。1つの手法によると、リングは、経路のハッシュ値からの構成可能なビットの数を、対応するデバイスを指定するパーティション・インデックスとして用いることができる。複製、マイグレーション、ヘルス・チェッカ等のような他の特徴も、修正された一貫性ハッシュ・アルゴリズムにより決定されるストレージ経路を使用することができる。
【0070】
修正された一貫性ハッシュ・アルゴリズム・リングは、これが入力/出力(I/O)を、各遠隔ストレージ位置から中央ストレージ位置内のそれぞれのセルへ経路指定できるように構成され得る。さらに、修正された一貫性ハッシュ・アルゴリズム・リングは、全ての遠隔ストレージ位置及び中央ストレージ位置にわたり複製することができ、そのことは、本明細書で説明されるように、マルチサイトからのデータへのオブジェクト・データ・アクセスを可能にする。手法に応じて、I/Oは、個々の遠隔ストレージ位置又はそれに対応する命名空間セルで開始することができる。
【0071】
上で触れたように、修正された一貫性ハッシュ・アルゴリズム・リングは、データがクラスタ(ストレージ位置)内にあるべき場所を決定することができる。幾つかの手法によると、アカウント・データベース、コンテナ・データベース、個々のオブジェクト・ストレージ・ポリシー等用に指定された別個のリングもあり得るが、各リングは、同じ又は類似の方法で機能し得る。これらの修正された一貫性ハッシュ・アルゴリズム・リングは、サーバ・プロセス自体がリングを修正せず、これらは、代わりに、他のツールにより修正される所定の新しいリングであるという点で、外部から管理することができる。
【0072】
1つの実施形態において、修正された一貫性ハッシュ・アルゴリズム・リングは、経路のMD5ハッシュからの構成可能なビットの数を、デバイスを指定するパーティション・インデックスとして使用する。ハッシュから保持されるビットの数は、パーティションのべき乗(partition power)を表すことができ、2を底とするパーティションのべき乗値を用いてパーティション・カウントを示すことができる。さらに、複製(replica)カウントを用いて、所定のリング内に、デバイス割り当てのための幾つのパーティションが含まれるかを示すことができる。本説明を読むと当業者により理解されるように、所定のパーティション数について、各複製をリングにおける異なるデバイスに割り当てることができる。
【0073】
デバイスをリングに付加し、複製割り当てのために部分に利用可能な能力を説明することができる。幾つかの手法において、デバイスを、領域、区域、サーバ等を含む障害ドメイン(failure domain)内に配置することができる。領域は、低帯域幅、又は異なる領域内のマシン間の高レインテンシにより特徴付けられる地理的システムを説明するために用いることができる。多くのリングは、単一の領域のみからなり得る。区域は、物理的位置、電力分離、ネットワーク分離等、又は同時に利用可能でない複数の複製を減らす他のいずれかの属性に基づいて、デバイスをグループ化するために用いることができる。
【0074】
他のデバイスに比較してデバイスの相対重量を記述する重量が、デバイに与えられることもある。修正された一貫性ハッシュ・アルゴリズム・リングを構築する際、その重量に従って、各部分の複製の全てをデバイスに割り当てることができる。さらに、幾つかの手法において、ある部分の各複製を、その部分についての複製をまだ有していない障害ドメインを有するデバイスに割り当てようと試みる。幾つかの手法において、ある部分の単一の複製のみを各デバイスに割り当てることができる。言い換えれば、等しい数のデバイス及び複製があるはずである。
【0075】
修正された一貫性ハッシュ・アルゴリズム・リングは、「リング・ビルダ(ring-builder)」と呼ばれるユーティリティにより手動で構築及び/又は管理することができる。リング・ビルダは、パーティションをデバイスに割り当て、最適化された構造をシリアル化されたファイルに書き込むことができ、それを遠隔ストレージ位置においてサーバにシップ・アウトすることができる。サーバ・プロセスは、場合によってはファイルの修正時間をチェックし、所望のように、修正された一貫性ハッシュ・アルゴリズム・リング構造のそのインメモリ・コピーを再ロードすることができる。
【0076】
リング・ビルダはまた、将来の修正された一貫性ハッシュ・アルゴリズム・リングを構築するために使用されるリング情報及び付加的なデータと共に一意のビルダ・ファイルを保持することもできる。一意のビルダ・ファイルは、破損及び/又は削除から保護されることが好ましい。一意のビルダ・ファイルが保護されることを保証するための1つの選択肢は、修正された一貫性ハッシュ・アルゴリズム・リング・ファイル自体をコピーしながら、ビルダ・ファイルをあらゆる遠隔ストレージ位置にコピーすることを含むことができる。別の選択肢は、ビルダ・ファイルをクラスタ自体にアップロードすることである。
【0077】
中央ストレージ位置に格納されたオブジェクト・データは、遠隔ストレージ位置のいずれにおいても要求することができる。幾つかの手法によると、オブジェクト・データは、プリフェッチ・コマンドを中央ストレージ位置に送ることによって、遠隔ストレージ位置において要求され得る。他の手法において、オブジェクト・データは、ファイルが遠隔ストレージ位置においてオープンにされた結果として、中央ストレージ位置から要求されることがある。オブジェクト・データ・コマンドを受け取ることに応答して、中央ストレージ位置は、要求されたオブジェクト・データを独立ライタ・キャッシュに提供することができる。
【0078】
遠隔ストレージ位置の1つ又は複数から受け取ったオブジェクト・データ要求は、要求されているオブジェクト・データと関連した管理データに影響を与えることがある。例えば、遠隔ストレージ位置は、その遠隔ストレージ位置に対応する、中央ストレージ位置におけるセル内に格納されたオブジェクト・データへのアクセスを要求することがある。ひとたび要求されるオブジェクト・データへのアクセスが与えられると、遠隔ストレージ位置は、アカウント関連データを更新すること(例えば、ファイル名を変更する、ログインする等)により、及び/又はコンテナ関連データを更新すること(例えば、オブジェクトの論理グループ化を調整すること)により、そのオブジェクト・データに対応する管理データを変更することができる。幾つかの手法において、遠隔ストレージ位置は、オブジェクト・データ自体、及び/又はそれに対応するメタデータを修正することができる。従って、動作416は、遠隔ストレージ位置の1つ又は複数からオブジェクト要求を受け取ることに応答して、中央ストレージ位置の共通セル内に格納された管理データを更新することを含む。管理データを更新することにより、中央ストレージ位置内の共通セルは、ストレージ・ネットワークにおけるオブジェクト・データの正確な表現を維持することができる。さらに、データ・ストレージ・ネットワークは、ストレージ・ネットワーク内の種々のストレージ位置にわたり一様なデータの管理を達成することができる。
【0079】
再び少しの間図5を参照すると、ストレージ・ネットワーク500が、認証サーバ508を含むことができる。認証サーバ508は、例えばユーザ、別のサーバ等といった、ネットワーク500へのアクセスを試みるエンティティの認証を容易にするために用いることができる。例示的な手法によると、認証サーバ508は、全ての遠隔ストレージ位置506及び中央ストレージ位置502によりアクセス可能な外部のキーストーン・サーバとすることができる。認証サーバ508は、所望の実施形態に応じて、専用コンピュータ、イーサネット・スイッチ、アクセス・ポイント、ネットワーク・アクセス・サーバ等内に常駐することができる。
【0080】
従って、再び図4の方法400を参照すると、随意的な動作418が、中央ストレージ位置及び遠隔ストレージ位置と通信するように構成された共通の認証サーバを用いることを含む。そのように構成された共通認証サーバを実装することにより、データ・ストレージ・ネットワークは、望ましいことに、ストレージ・ネットワーク内の種々のストレージ位置にわたり一様なデータの管理を達成すること、及び/又はオブジェクト・データ破損の減少を達成することができる。しかしながら、幾つかの実施形態において、1つより多い認証サーバを用いることもできる。
【0081】
ストレージ・ネットワークの中央ストレージ位置及び遠隔ストレージ位置の各々が、等しい数のIPアドレスを含むことも好ましい。例えば、中央ストレージ位置において5つのIPアドレスが含まれ、遠隔ストレージ位置の各々において対応する5つのIPアドレスが含まれることがある。しかしながら、他の手法においては、ストレージ位置の各々に含まれるIPアドレスの数は異なり得る。例えば、中央ストレージ位置は、遠隔ストレージ位置の各々よりも多くのIPアドレスを含むことがある。本説明を読むと当業者には明らかなように、ストレージ位置の各々におけるIPアドレスを用いて、それらの間の通信を容易にすることができる。従って、データ・ストレージ・ネットワークは、改善された同時マルチサイト・データ・アクセスを達成することができる。
【0082】
幾つかの手法において、IPアドレスは、クラスタ・エクスポート・サービス(cluster export service、CES)IPアドレスとすることができる。さらに、一貫性ハッシュ・リングの各々を修正して、中央ストレージ位置のクラスタ・エクスポート・サービス(CES)IPアドレスを個々の遠隔ストレージ位置のクラスタCES IPアドレスに変更することができる。
【0083】
本説明を読むと当業者には明らかなように、CESは、プロトコル及び/又はコマンドを通じて高可用性を監視するためのサポートを含むことができる。幾つかの手法において、クラスタ内のノードのサブセットを、ネットワーク・ファイル・システム(NFS)、サーバ・メッセージ・ブロック(SMB)、オブジェクト・プロトコル等を用いて、ファイル・システムをエクスポートするための高度に利用可能な解決法を提供するように構成することができる。この機能は、General Parallel File System(GPFS)によって達成することができる。参加しているノードは、CESノード(例えば、CESクラスタ)又はプロトコル・ノードとして指定することができる。
【0084】
IPアドレスのセットは、CESアドレス・プールと考えることができる。従って、IPアドレスのセットを定め、CESノードの間で分散させることができる。ノードがGPFSクラスタに出入りするとき、プール内のアドレスをCESノードの間で再分散し、高可用性を与えることができる。さらに、遠隔クライアントは、これらのアドレスを用いて、クラスタにアクセスすることができる。
【0085】
幾つかの手法によると、各CESノードは、ノードの状態を監視する別個のGPFSユーティリティを実行することができる。このユーティリティは、ノードに割り当てられたCESアドレスのチェック、及び/又はCESクラスタ内のイネーブルにされたサービスを実施するプロセスのチェックを含む。障害の検出時、監視ユーティリティは、ノードを、CESクラスタ内に一時的に参加できないノードとしてマーク付けし、該ノードに割り当てられたあらゆるアドレスを再割り当てすることができる。
【0086】
異なる手法において、CESは、以下のプロトコル:NFS、SMB及びオブジェクトのいずれか1つ又は複数をサポートすることができる。さらに、クラスタにおいて、各プロトコルをイネーブル又はディスエーブルにすることができる。1つの手法によると、全てのCESノードは、プロトコルがCESクラスタにおいてイネーブルにされたことに応答して、プロトコルのためにサーバを実行することができる。
【0087】
方法400内に含まれる動作は、中央ストレージ位置に結合されたコントローラにより、それらを実行できるように調整することができる。方法600は、1つの実施形態により、遠隔ストレージ位置のいずれか1つ又は複数に結合されたコントローラにより実行することができる類似の動作を含む。以下に述べられる方法600の動作は、好ましくは、例えば図5に示されるような、中央ストレージ位置及びそれに結合された複数の遠隔ストレージ位置を有するストレージ・ネットワークにおいて実行されることに留意されたい。しかしながら、図6の方法600は、種々の実施形態において、とりわけ図1図5に示される実施形態のいずれかにおいて本発明に従って実行することができる。もちろん、本説明を読むと当業者には明らかなように、図6に具体的に説明されるものより多い又は少ない動作を、方法600内に含めることもできる。
【0088】
方法600のステップの各々は、オペレーティング環境のいずれかの適切なコンポーネントにより実行することができる。例えば、種々の実施形態において、方法600は、コントローラ、プロセッサ等、又は1つ又は複数のプロセッサを内部に有する他の何らかのデバイスにより、部分的に又は完全に実行することができる。プロセッサ、例えば、処理回路、チップ、及び/又はハードウェア及び/又はソフトウェアで実装され、好ましくは少なくとも1つのハードウェア・コンポーネントを有するモジュールを任意のデバイスにおいて使用し、方法600の方法の1つ又は複数のステップを実行することができる。例示的なプロセッサとして、これらに限定されるものではないが、中央処理ユニット(CPU)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)等、それらの組み合わせ、又は当技術分野において周知の他のいずれかの適切なコンピューティング・デバイスが挙げられる。
【0089】
図6に示されるように、動作602は、管理データのコピーを、1つ又は複数の遠隔ストレージ位置から中央ストレージ位置の名前空間内の指定された共通セルに送ることを含む一方で、管理データのオリジナル・コピーは、それぞれの遠隔ストレージ位置に保持することができる。上述のように、中央ストレージ位置における名前空間は、複数のセルに分割されることが好ましい。セルの第1のもの(共通セル)を用いて、中央ストレージ位置に接続された遠隔ストレージ位置の全てから受け取った管理データを格納することができる。他のセルはそれぞれ、好ましくは、遠隔ストレージ位置に個々に割り当てることができ、遠隔ストレージ位置の各々は、中央ストレージ位置における一意のセルに割り当てられる。
【0090】
動作602において送られる管理データは、1つ又は複数の遠隔ストレージ位置において同時に格納されるオブジェクト・データに対応し得る。例えば、ユーザは、それへの書き込み動作を行うことによって、新しいオブジェクト・データを遠隔ストレージ位置に格納することができる。新しいオブジェクト・データを用いて、遠隔ストレージ位置において、管理データを形成することもできる。ひとたび管理データのコピーが中央ストレージ位置に送られると、所定の遠隔ストレージ位置からのオブジェクト・データ及び/又はオブジェクト・データ・メタデータは、その遠隔ストレージ位置に対応する中央ストレージ位置においてセル内に格納されることが好ましい。従って、動作604は、1つ又は複数の遠隔ストレージ位置の各々に格納されたオブジェクト・データを、中央ストレージ位置の名前空間内のそれぞれのセルに転送することを含む。
【0091】
幾つかの実施形態において、動作604は、WANキャッシング手順を実施することを含むことができる。WANキャッシングを実施することにより、種々の遠隔ストレージ位置におけるオブジェクト・データを中央ストレージ位置(例えば、データセンタ)に転送することができ、それにより、遠隔ストレージ位置の各々において要求されるストレージの量が低減される。これは、例えば上述したような独立ライタ・モードで実施されるWANキャッシング手順を実施する実施形態において特にあてはまる。さらに、例えば本明細書で説明される種々の実施形態において案内されるように、WANキャッシング手順は、中央ストレージ位置から、遠隔ストレージ位置におけるオブジェクト・データを、オンデマンドでリコール及び/又はプリフェッチするためのプロビジョンを容易にすることができる。
【0092】
遠隔ストレージ位置の設定は、所望の実施形態に応じて調整することができる。決して本発明を限定することを意図するものではない1つの実施形態によると、それぞれのコンテナ・サーバ及び/又はアカウント構成ファイルの各々は、データをローカルに作成されたストレージ上に格納するように構成することができる。さらに、各遠隔ストレージ位置のノードを、WANキャッシング・ゲートウェイ・ノードとしてイネーブルにすることができる。その結果、遠隔ストレージ位置の各々は、オブジェクト・データを中央ストレージ位置にプッシュすることができる。
【0093】
方法600は、修正された一貫性ハッシュ・アルゴリズム構成を実装することをさらに含む。動作606を参照されたい。既述のように、修正された一貫性ハッシュ・アルゴリズム構成を用いて、1つ又は複数の遠隔ストレージ位置内の既存のオブジェクト・データの更新を、中央ストレージ位置の名前空間内のそれぞれのセルに経路指定することができる。さらに、遠隔ストレージ位置から送られた管理データに対する要求を中央ストレージ位置内の共通セルに経路指定するように、修正された一貫性ハッシュ・アルゴリズム構成を構成することができる。従って、修正された一貫性ハッシュ・アルゴリズムを実施することにより、望ましいことに、データ・ストレージ・ネットワークが、ストレージ・ネットワーク内の種々のストレージ位置にわたり一様なデータの管理を達成することが可能になる。
【0094】
幾つかの実施形態において、本説明を読むと当業者により理解されるように、修正された一貫性ハッシュ・アルゴリズムは、配置アルゴリズム・リングを含むことができる。1つの手法によると、リングは、経路のハッシュ値からの構成可能なビットの数を、対応するデバイスを指定するパーティション・インデックスとして用いることができる。
【0095】
引き続き図6を参照すると、動作608は、オブジェクト・データに対するプリフェッチ要求を、オンデマンドで中央ストレージ位置の名前空間内のそれぞれのセルに送ることを含む。また、遠隔ストレージ位置の各々は、中央ストレージ位置における名前空間内の一意のセルに対応することが好ましい。さらに、遠隔ストレージ位置からのオブジェクト・データは、それぞれのセル内に格納されることが好ましい。従って、本説明を読むと当業者により理解されるように、オブジェクト・データのアクセスは、遠隔ストレージ位置から要求を送ることによって達成することができる。そうすることにより、データ・ストレージ・ネットワークは、改善された同時マルチサイト・データ・アクセスを達成することができる。
【0096】
既述のように、単一の認証サーバが、中央ストレージ位置並びに遠隔ストレージ位置と通信するために用いられることが好ましいことがある(例えば、図5の508を参照)。従って、動作610は、中央ストレージ位置並びに遠隔ストレージ位置と通信するように構成された共通認証サーバを用いることを含む。既述のように、そのように構成された共通認証サーバを実装することにより、データ・ストレージ・ネットワークは、望ましいことに、ストレージ・ネットワーク内の種々のストレージ位置にわたり一様なデータの管理を達成すること、及び/又はオブジェクト・データ破損の減少を達成することができる。
【0097】
図7は、使用中の実施形態による、データ・ストレージ・ネットワーク700を示す。1つの選択肢として、本データ・ストレージ・ネットワーク700は、図4図6のような他の図を参照して説明されるもののような、本明細書に列挙される他のいずれかの実施形態からの特徴と併せて実施することができる。しかしながら、こうしたデータ・ストレージ・ネットワーク700及び本明細書に提示される他のものは、本明細書で列挙される例示的な実施形態に具体的に説明されていることも又はされていないこともある、種々のアプリケーション及び/又は順列で用いることができる。さらに、本明細書で提示されるデータ・ストレージ・ネットワーク700は、いずれかの所望の環境で用いることができる。従って、図7(及び他の図)は、あらゆる可能な順列を含むと考えることができる。
【0098】
図示されるように、図7のデータ・ストレージ・ネットワーク700は、既述のような使用中の実施形態によるストレージ・ネットワーク700を含み、認証サーバ508を含むことができる。認証サーバ508は、例えば、ユーザ、別のサーバ等のような、ネットワーク500にアクセスしようと試みるエンティティの認証を容易にするために用いることができる。例示的な手法によると、認証サーバ508は、全ての遠隔ストレージ位置506並びに中央ストレージ位置502によりアクセス可能な外部のキーストーン・サーバとすることができる。認証サーバ508は、所望の実施形態に応じて、専用コンピュータ、イーサネット・スイッチ、アクセス・ポイント、ネットワーク・アクセス・サーバ等内に常駐することができる。
【0099】
データ・ストレージ・ネットワーク700は、3つのストレージ・ポリシー、すなわちストレージ・ポリシー1、ストレージ・ポリシー2、及びストレージ共通/ユニバーサル・ポリシーと関連付けられた2つの遠隔ストレージ位置(例えば、遠隔クラスタ、すなわち遠隔クラスタ−1及び遠隔クラスタ−2)を含む。ストレージ・ポリシーの第1のもの(図7に示されるようなストレージ共通/ユニバーサル・ポリシー)は、管理データを複製するために用いることができ、一方、他の2つのストレージ・ポリシー、すなわちストレージ・ポリシー1及びストレージ・ポリシー2は、オブジェクト・データ・アクセスに関連する。
【0100】
ストレージ・ポリシー、すなわちストレージ・ポリシー1、ストレージ・ポリシー2、ストレージ共通/ユニバーサル・ポリシーの各々は、セルと関連付けられ、それぞれのセルの各々はさらに、中央ストレージ位置(例えば、ホーム・サイト)のホーム・クラスタに作成された一意のセルとマッピングすることができる。従って、例えば、本明細書で説明される手法の何れかに従って、ストレージ・ポリシーのいずれかからのオブジェクト・データを、中央ストレージ位置内の対応する一意のセルに転送すること、好ましくは、そこに格納することができる。
【0101】
ストレージ位置のいずれかに生成された管理データは、好ましくは、オブジェクト・マルチサイト複製を用いて3回複製される(複製係数「repl=3」により表される)。従って、例えば本明細書で説明される及び/又は示唆されるように、全てのストレージ位置にわたり、管理データの一様なリスティングを達成することができる。
【0102】
ストレージ・ポリシー1及びストレージ・ポリシー2について、オブジェクト・データについての複製係数が1に設定され(複製係数「repl=1」により表される)、これはストレージ位置のいずれかにおいて生成されたオブジェクト・データが、格納のために中央ストレージ位置のホーム・クラスタに送られ(例えば、転送され又はアップロードされ)、一方、オブジェクト・データと関連したスタブだけが、それぞれのストレージ位置に格納されることを示す。
【0103】
「一次アクセス」及び「二次アクセス」は、アクセス制御に関連し、1つの遠隔ストレージ位置からのユーザは、他のいずれかの遠隔ストレージ位置からの該ユーザのオブジェクト・データにもアクセスすることができる。決して本発明を限定することを意図するものではない一例によると、遠隔クラスタ、すなわち遠隔クラスタ−1で生じたオブジェクト・データは、ホーム・クラスタ、すなわちホーム・クラスタに複製される。このデータは、他の遠隔クラスタ、すなわち遠隔クラスタ−2にも複製され、以下同様である。本例によると、「複製される(replicated)」とは、オブジェクト・データがホーム・クラスタ、すなわちホーム・クラスタに移動される(例えば、アップロードされる又は転送される)ことを意味するように意図され、オリジナル・オブジェクト・データに対するスタブは、遠隔クラスタ、すなわち遠隔クラスタ−1及び遠隔クラスタ−2の両方で利用可能である。
【0104】
さらに図7を参照すると、各ストレージ・ポリシーに対してアクセス制限を適用することができる。一例によると、ストレージ・ポリシー−1(一次アクセス)は、セルが、他の遠隔ストレージ位置に加えて、所定の遠隔ストレージ位置から中央ストレージ位置に複製されても、所定の遠隔ストレージ位置と関連したユーザだけが、それへのアクセスを許可され得る。幾つかの手法において、特定のデータへのアクセスを有するユーザは、ネットワーク内のあらゆるストレージ位置からそのデータにアクセスすることができる。言い換えれば、遠隔クラスタ−2と関連付けられたユーザには、同じストレージ・ネットワーク内の異なる遠隔ストレージ位置と関連付けられたユーザにより格納されるデータへのアクセスが許可されないことがある。
【0105】
本明細書で説明される種々の実施形態は、従来のデータ・ストレージ・ネットワークに優る著しい改善を達成することができる。すなわち、管理データ(例えば、アカウント関連データ、コンテナ関連データ等)のコピーを、遠隔ストレージ位置並びに中央ストレージ位置の共通セルに格納することにより、統一されたデータ及び管理プレーンが達成され、そのことは、オブジェクト・データへのほぼ瞬間的なアクセスを与えることを助け、複数の領域にわたる一様な管理データのリスティングをサポートする。これにより、オブジェクト・データの破損及び/又はデータベースに関する管理データの破損の可能性が著しく低減する。
【0106】
さらに、本明細書で説明される実施形態は、オンデマンドで、中央ストレージ位置から遠隔ストレージ位置のいずれか1つ又は複数へのオブジェクト・データ・プリフェッチ能力を達成することができる一方で、遠隔ストレージ位置の各々において必要とされるストレージの量も低減される。上述のように、これは、中央ストレージ位置におけるセル内にオブジェクト・データを維持することにより、達成することができる。さらに、本明細書で説明される実施形態の一部においてWANキャッシングを実施することにより、従来のデータ経路問題を解決するための適切な解決法を形成することができる。
【0107】
本発明は、システム、方法、及び/又はコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体(単数又は複数)を含むことができる。
【0108】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの:すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【0109】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び/又は無線ネットワークなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び/又はエッジ・サーバを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納する。
【0110】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)若しくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービスプロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて電子回路を個人化することによりコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。
【0111】
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照して説明される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【0112】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、及び/又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにすることもできる。
【0113】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実行するためのプロセスを提供するようにすることもできる。
【0114】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び/又はフローチャート図の各ブロック、及びブロック図及び/又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
【0115】
さらに、種々の実施形態によるシステムは、プロセッサと、プロセッサと統合され及び/又はプロセッサにより実行可能な論理とを含むことができ、この論理は、本明細書で列挙されるプロセス・ステップの1つ又は複数を実行するように構成される。プロセッサは、別個のプロセッサ、又は処理ハードウェア、メモリ、I/Oインターフェース等のような多くのコンポーネントを含む処理回路のような、本明細書で説明されるような任意の構成のものとすることができる。統合が意味するのは、プロセッサが、特定用途向け集積回路(ASIC)、FPGA等のようなハードウェア論理としてこれに埋め込まれた論理を有することである。プロセッサにより実行可能が意味するのは、論理が、ハードウェア論理、ファームウェアのようなソフトウェア論理、オペレーティング・システムの部分、アプリケーション・プログラムの部分等、又はプロセッサによりアクセス可能であり、かつ、プロセッサによる実行時にプロセッサに何らかの機能を実施させるように構成された、ハードウェア及びソフトウェア論理の何らかの組み合わせである。ソフトウェア論理は、当技術分野において周知のようないずれかのメモリ・タイプのローカル及び/又は遠隔メモリ上に格納することができる。当技術分野で周知の任意のプロセッサ、例えば、ソフトウェア・プロセッサ・モジュール、及び/又はASIC、FPGA、中央処理ユニット(CPU)、集積回路(IC)、グラフィック処理ユニット(GPU)等のハードウェア・プロセッサを用いることができる。
【0116】
上記のシステム及び/又は方法の種々の特徴を任意の方式で組み合わせて、上記に提示された説明から複数の組み合わせを作り出すことができることが明らかであろう。
【0117】
本発明の実施形態を、カスタマのために展開されるサービスの形態で提供し、オンデマンドでサービスを提供できることがさらに理解されるであろう。
【0118】
種々の実施形態を上記で説明してきたが、これらは限定ではなく例示のみの目的で提示されたものであることを理解されたい。従って、好ましい実施形態の幅及び範囲は、上記の例示的な実施形態のいずれかに限定されるべきではなく、以下の特許請求の範囲及びその等価物に従ってのみ定められるべきである。
【符号の説明】
【0119】
100:アーキテクチャ
101:ゲートウェイ
102、104、106、108、310:ネットワーク
111、116:ユーザ・デバイス
114:データ・サーバ
210:中央処理ユニット
212:システム・バス
300:ストレージ・システム
302:上位ストレージ層
304、308:ストレージ媒体
306:下位ストレージ層
312:ストレージ・システム・マネージャ
314:ホスト・インターフェース
316:付加的なストレージ層
400、600:方法
500:ストレージ・ネットワーク
502:中央ストレージ位置
506:遠隔ストレージ位置
508:認証サーバ
700:データ・ストレージ・ネットワーク
図1
図2
図3
図4
図5
図6
図7
【手続補正書】
【提出日】2019年5月21日
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実施方法であって、
中央ストレージ位置内に名前空間を作成することと、
前記名前空間を1つより多いセルに分割することであって、第1のセルは、前記中央ストレージ位置に結合された遠隔ストレージ位置から受け取った管理データを格納するように構成された共通セルであり、残りのセルの各々は、前記遠隔ストレージ位置のそれぞれのものから受け取ったオブジェクト・データを格納するように構成される、分割することと、
前記遠隔ストレージ位置から管理データを受け取ることであって、前記管理データは前記遠隔ストレージ位置内に格納されたオブジェクト・データに対応する、受け取ることと、
前記受け取った管理データを前記中央ストレージ位置の前記共通セル内に格納することと、
前記遠隔ストレージ位置から受け取った前記管理データに対応するオブジェクト・データを受け取ることと、
前記受け取ったオブジェクト・データを前記中央ストレージ位置の前記それぞれのセル内に格納することと、
を含む方法。
【請求項2】
前記遠隔ストレージ位置から受け取った前記オブジェクト・データの更新を、前記中央ストレージ位置内の前記それぞれのセルに経路指定するように構成された修正された一貫性ハッシュ・アルゴリズムを実施することを含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記中央ストレージ位置及び前記遠隔ストレージ位置の各々は、等しい数のインターネット・プロトコル・アドレスを含む、請求項1に記載のコンピュータ実施方法。
【請求項4】
前記中央ストレージ位置及び前記遠隔ストレージ位置と通信するように構成された共通認証サーバを使用することを含む、請求項1に記載のコンピュータ実施方法。
【請求項5】
前記中央ストレージ位置及び前記遠隔ストレージ位置は、広域ネットワーク上で接続される、請求項1に記載のコンピュータ実施方法。
【請求項6】
前記遠隔ストレージ位置の1つ又は複数からオブジェクト要求を受け取ることに応答して、前記中央ストレージ位置の前記共通セル内に格納された前記管理データを更新することを含む、請求項1に記載のコンピュータ実施方法。
【請求項7】
ンピュータ・プログラムであって、前記コンピュータ・プログラムは、プロセッサにより実行可能であり、前記プロセッサに、請求項1〜6の何れか1項に記載の方法を実行させる、コンピュータ・プログラム。
【請求項8】
プロセッサと、
前記プロセッサと統合された、前記プロセッサにより実行可能である、又は前記プロセッサと統合されかつ前記プロセッサにより実行可能な論理と、
を含み、前記論理は、
前記プロセッサにより、中央ストレージ位置内に名前空間を作成することと、
前記プロセッサにより、前記名前空間を1つより多いセルに分割することであって、第1のセルは、前記中央ストレージ位置に結合された遠隔ストレージ位置から受け取った管理データを格納するように構成された共通セルであり、残りのセルの各々は、前記遠隔ストレージ位置のそれぞれのものから受け取ったオブジェクト・データを格納するように構成される、分割することと、
前記プロセッサにより、前記遠隔ストレージ位置から管理データを受け取ることであって、前記管理データは前記遠隔ストレージ位置内に格納されたオブジェクト・データに対応する、受け取ることと、
前記プロセッサにより、前記受け取った管理データを前記中央ストレージ位置の前記共通のセル内に格納することと、
前記プロセッサにより、前記遠隔ストレージ位置から受け取った前記管理データに対応するオブジェクト・データを受け取ることと、
前記プロセッサにより、前記受け取ったオブジェクト・データを前記中央ストレージ位置の前記それぞれのセル内に格納することと、
を行うように構成される、システム。
【請求項9】
前記論理は、
前記プロセッサにより、前記遠隔ストレージ位置から受け取った前記オブジェクト・データの更新を、前記中央ストレージ位置内の前記それぞれのセルに経路指定するように構成された修正された一貫性ハッシュ・アルゴリズムを実施すること、
を行うように構成される、請求項に記載のシステム。
【請求項10】
前記論理は、
前記プロセッサにより、前記中央ストレージ位置及び前記遠隔ストレージ位置と通信するように構成された共通認証サーバを使用すること、
を行うように構成される、請求項に記載のシステム。
【請求項11】
前記論理は、
前記プロセッサにより、前記遠隔ストレージ位置の1つ又は複数からオブジェクト要求を受け取ることに応答して、前記中央ストレージ位置の前記共通セル内に格納された前記管理データを更新すること、
を行うように構成される、請求項に記載のシステム。
【請求項12】
コンピュータ実施方法であって、
管理データを、1つ又は複数の遠隔ストレージ位置から中央ストレージ位置の名前空間内の指定された共通セルに送ることであって、前記管理データは前記1つ又は複数の遠隔ストレージ位置に格納されたオブジェクト・データに対応する、送ることと、
前記1つ又は複数の遠隔ストレージ位置の各々に格納された前記オブジェクト・データを、前記中央ストレージ位置の前記名前空間内のそれぞれのセルに転送することと、
修正された一貫性ハッシュ・アルゴリズム構成を実施することと、
を含み、
前記修正された一貫性ハッシュ・アルゴリズム構成は、前記1つ又は複数の遠隔ストレージ位置内の既存のオブジェクト・データの更新を前記中央ストレージ位置内の前記それぞれのセルに経路指定する、コンピュータ実施方法。
【請求項13】
オブジェクト・データに対するプリフェッチ要求を、オンデマンドで前記中央ストレージ位置の前記名前空間内の前記それぞれのセルに送ることを含む、請求項12に記載のコンピュータ実施方法。
【請求項14】
前記修正された一貫性ハッシュ・アルゴリズム構成は、前記遠隔ストレージ位置から送られた前記管理データの要求を前記中央ストレージ位置内の前記共通セルに経路指定する、請求項12に記載のコンピュータ実施方法。
【請求項15】
前記中央ストレージ位置及び前記遠隔ストレージ位置の各々は、等しい数のインターネット・プロトコル・アドレスを含む、請求項12に記載のコンピュータ実施方法。
【請求項16】
前記中央ストレージ位置及び前記遠隔ストレージ位置と通信するように構成された共通認証サーバを使用することを含む、請求項12に記載のコンピュータ実施方法。
【請求項17】
プログラム命令を有するコンピュータ・プログラムであって、前記プログラム命令は、プロセッサにより実行可能であり、前記プロセッサに、
前記プロセッサにより、管理データを、1つ又は複数の遠隔ストレージ位置から中央ストレージ位置の名前空間内の指定された共通セルに送ることであって、前記管理データは前記遠隔ストレージ位置内に格納されたオブジェクト・データに対応する、送ることと、
前記プロセッサにより、前記1つ又は複数の遠隔ストレージ位置の各々に格納された前記オブジェクト・データを、前記中央ストレージ位置の名前空間内のそれぞれのセルに転送することと、
前記プロセッサにより、修正された一貫性ハッシュ・プロトコル構成を実施することと、
を行わせ、
前記修正された一貫性ハッシュ・アルゴリズム構成は、前記1つ又は複数の遠隔ストレージ位置内の既存のオブジェクト・データの更新を前記中央ストレージ位置内の前記それぞれのセルに経路指定する、コンピュータ・プログラム。
【請求項18】
前記プログラム命令は、前記プロセッサにより実行可能であり、前記プロセッサに、
前記プロセッサにより、オブジェクト・データに対するプリフェッチ要求を、オンデマンドで前記中央ストレージ位置の前記名前空間内の前記それぞれのセルに送ること、
を行わせる、請求項17に記載のコンピュータ・プログラム。
【請求項19】
前記修正された一貫性ハッシュ・アルゴリズム構成は、前記遠隔ストレージ位置から送られた前記管理データの要求を前記中央ストレージ位置内の前記共通セルに経路指定する、請求項17に記載のコンピュータ・プログラム。
【請求項20】
前記中央ストレージ位置及び前記遠隔ストレージ位置の各々は、等しい数のインターネット・プロトコル・アドレスを含む、請求項17に記載のコンピュータ・プログラム。
【国際調査報告】