JP2011516994A - 冗長データ記憶システムへの指示に従ってのデータ配置 - Google Patents

冗長データ記憶システムへの指示に従ってのデータ配置 Download PDF

Info

Publication number
JP2011516994A
JP2011516994A JP2011504164A JP2011504164A JP2011516994A JP 2011516994 A JP2011516994 A JP 2011516994A JP 2011504164 A JP2011504164 A JP 2011504164A JP 2011504164 A JP2011504164 A JP 2011504164A JP 2011516994 A JP2011516994 A JP 2011516994A
Authority
JP
Japan
Prior art keywords
updated
data storage
data
data file
storing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011504164A
Other languages
English (en)
Other versions
JP5411250B2 (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.)
Omneon Inc
Original Assignee
Omneon Inc
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 Omneon Inc filed Critical Omneon Inc
Publication of JP2011516994A publication Critical patent/JP2011516994A/ja
Application granted granted Critical
Publication of JP5411250B2 publication Critical patent/JP5411250B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

処理ユニットとサーバ選択基準を含むサブクラスを含むデータ記憶サーバのクラスの定義を受信し、クラスにデータ記憶システムのディレクトリを関連付ける。データクライアントがデータファイルをディレクトリに記憶するステップに応答して、クラスをデータファイルにバインドし、サーバ選択基準を満たすシステム内のデータ記憶サーバの識別子セットを特定して記憶し、識別子セットをデータクライアントに提供する。

Description

本開示は、一般にはコンピュータデータの記憶に関する。
この項で説明される手法は、探求可能な手法であるが、必ずしも過去に構想または探求された手法である訳ではない。したがって、本明細書において別段のことが示される場合を除き、この項において説明される手法は、本願の特許請求の範囲に対する先行技術ではなく、この項に含まれることをもってして先行技術であると認められるものではない。
分散データ記憶システムでは、特定のデータがどこに記憶されるかが、特に、映像データ等のリアルタイムデータを送信するシステムにおいて、データ検索時間に影響し得る。特許文献1には、すべてのサーバにわたって可用性選択基準を大域的に最適化することにより冗長データイメージを配置できる分散データ記憶システムが記載されている。分散データ記憶は、RAID(安価ドライブ冗長アレイ)、NAS(ネットワーク接続ストレージ)、およびSAN(ストレージエリアネットワーク)を使用しても実施し得る。分散ファイルシステムの例としては、HP Lustreファイルシステム、SGIクラスタ型拡張可能ファイルシステム(CXFS)、Veritasファイルシステム(VxFS)、Googleファイルシステム(GFS)、Omneon拡張ファイルシステム(EFS)、Oracleクラスタファイルシステム(OCFS)、およびHadoop分散ファイルシステム(HDFS)が挙げられる。分散ハードウェアシステムとしては、Isilon、Panasas、Avid ISISが挙げられる。
米国特許出願公開第2007−0214183−A1号明細書
分散記憶システムのメタデータサーバのシステムマネージャクライアントおよび一実施形態において、新しいサーバクラス属性を追加し新しいクラスを定義するために行われ得る一連のステップを示す。 分散記憶システムのデータクライアントおよびデータを特定のクラスのファイルに書き込むために行われる一連のステップ例を示す。 分散記憶システムのメタデータサーバのシステムマネージャクライアントおよび既存のクラスを更新するために行われる一連のステップ例を示す。 ファイルを新しいまたは異なるクラスに再関連付けするシステムマネージャクライアントを示す。 ファイル、クラス、サブクラス、およびデータサーバの論理的な関係を示す。 サーバプロパティデータベースの例を示す。 実施形態を実施し得るコンピュータシステムを示す。
以下の説明では、説明を目的として、本発明の完全な理解を提供するために、多くの特定の詳細が記される。しかし、本発明をそれら特定の詳細なしでも実施し得ることが当業者には明らかになろう。他の場合、本発明を不必要に曖昧にしないように、周知の構造および装置はブロック図の形態で示される。
本明細書において、実施形態は以下のアウトラインに従って説明される。
1.0 概説
2.0 構造的および機能的概説
3.0 実施メカニズム−ハードウェア概説
4.0 拡張および代替
1.0 概説
実施形態では、データ処理装置は、分散データ記憶システムに記憶されたファイルについての情報を記憶し、クラスデータベースを備えるメタデータ記憶装置と、1つまたは複数の処理ユニットと、ロジックとを備え、ロジックは、1つまたは複数のサーバ選択基準をそれぞれ備える1つまたは複数のサブクラスを含むデータ記憶サーバのクラスの定義を受信し、クラスデータベースに記憶し、クラスにデータ記憶システムの1つまたは複数のディレクトリを関連付け、データクライアントがデータファイルをディレクトリに記憶したことに応答して、クラスをデータファイルにバインドし、サーバ選択基準を満たすシステム内に1つまたは複数のデータ記憶サーバの識別子セットを特定して記憶し、識別子セットをデータクライアントに提供するように構成される。
他の実施形態では、本発明は、上記ステップを実行するように構成されたコンピュータにより実施される方法およびコンピュータ読み取り可能な記録媒体を包含する。
実施形態では、分散記憶システム内へのファイルデータの配置および移送を制御するために、複製の枠組みが提供される。データ配置に対する制御は、分散ファイルシステムをサポートする異種類サーバクラスタ内のサーバの違いを利用するために有用である。データ配置に対する制御により、ファイルを特定のサーバ区画内で展開させることも可能である。データ配置に対する制御は、冗長データファブリック内のファイル修復を局在化(ローカライズ)することにも役立ち得る。
特定の実施形態をデータファイルを記憶する文脈の中で説明するが、本開示の技法は、分散記憶システムのインテリジェントな記憶装置の要素間の分散アプリケーションの配置に適用することも可能である。
2.0 構造的および機能的概説
図1は、分散記憶システムのメタデータサーバ1のシステムマネージャクライアント102および一実施形態において、新しいサーバクラス属性を追加し、新しいクラスを定義するために行われ得る一連のステップを示す。実施形態では、ファイルには特定のサーバのクラスが関連付けられる。サーバクラスへのファイルの関連付けにより、クラスタ内のデータイメージの配置を特定のサーバのパーティションに制御する手段が提供される。実施形態では、クラスは、サーバプロパティのセットを満たすサーバのセットである。例えば、クラスは、最高帯域幅ネットワークスイッチにも接続された、クラスタ内のすべての高性能サーバとして定義し得る。任意の複雑性を有する任意の数のプロパティにより、クラスを定義し得る。
図5Aは、ファイル、クラス、サブクラス、およびデータサーバの論理的な関係を示す。ファイル502には、メタデータサーバ1に記憶される情報により、クラス504が関連付けられる。クラス504は、1つまたは複数のサブクラス505A、505Nにより定義される。任意の数のサブクラスを使用してよい。クラス504およびそのサブクラス505A、505Nは一緒になって、クラスに整合するサーバのセット506を定義する。図1のシステムのクライアントは図5Aの構造を定義することができ、したがって、クライアントは、クラス504およびそのサブクラスにより決定されるセット506内のサーバに記憶を制限することにより、ファイル502がどこに記憶されるかに影響を及ぼし得る。
実施形態では、各クラス504は、名前およびクラス識別子で表される。各サブクラスは、データベースビューコマンドの文字列(ストリング)、現在、基準を満たしているサーバのリスト、セット506と同等のもの、クラスにマッピングされるデータイメージの複製ファクタを決定するために使用可能なオプションの表現カウント(representation count)、および論理クラス識別子等のサーバ選択基準で表される。名前、サーバ選択基準、およびクラス識別子は、グローバル状態値として冗長メタデータサーバ間で共有される。例えば、米国特許出願公開第2007−0214183−A1号明細書のシステムに記載されているメタデータサーバを使用することができる。あるいは、Omneon,Inc.(Sunnyvale,California)から市販されているOmneon MediaGrid記憶システムを使用してもよい。
クラスは重複することができる。実施形態では、クラスの「共有/非共有」プロパティが、そのクラスが他と重複することができるか否かを示す。
実施形態では、サーバプロパティデータベース110は、分散記憶システム内の各メタデータサーバ1に保持される。データベース110では、行がクラスメンバであるサーバを表し、列がサーバプロパティを表す。図5Bは、例としてのサーバプロパティデータベース110を示し、列510が、行にそれぞれ関連付けられたサーバを識別し、列512、514、516、518、520は、関連付けられた行のサーバのプロパティを記憶する。任意の数の行および列をデータベース110において表し得る。スタートアップ中に、データベース110は、利用可能な各サーバの読み取り専用システムレベルプロパティを列514、516、518、520内に記憶することにより初期化される。システムレベルプロパティの例としては、図5Bに見られるように、シリアルナンバ、ネットワークトポロジのロケーション、プロセッサ速度、およびプロセッサコア数が挙げられるが、任意のプロパティを使用し得る。
実施形態では、データベース110は、メタデータサーバにジャーナル記憶された一連のコマンドを適用して、データベースを最新のものにすると共に、サーバクラスタを制御する他のメタデータサーバ上のデータベースと一貫させる。時間の経過に伴い、要約された読み/書きサーバプロパティの遷移リスト(transient list of abstract read/write server properties)(例えば、サーバ所有者、修復優先順位)をサーバに割り当て得る。
実施形態では、ファイル502のすべてのデータは1つのクラス504にマッピングされる。ファイルの各複製データイメージの、メタデータサーバ1に記憶されているメタデータは論理クラス識別子を含み、それにより、ファイルデータのロケーションを特定のクラスのサーバにバインドする。メタデータは、メタデータサーバ1のローカルデータ記憶装置に記憶することができ、これは、システム内の他のすべてのメタデータサーバ内のメタデータデータ記憶装置に複製され、同期される。サーバの変更により、データ記憶ファブリックの修復が生じた場合、すべてのデータが、データがバインドされたクラスのサーバに残るように、データは他のサーバに移される。クラスは再定義される際、またはファイルがクラス間を移動する際、ファイルの各データイメージを含むサーバのリストが、クラスに相対して改修される。そのようなすべてのデータ移動は、クラスタにとってローカルに行われ、クライアントユーティリティとクラスタサーバとの間でのデータ移動は必要ない。
実施形態では、サブクラス505A内の非ゼロ表現カウントは、複製セット内に表されなくてはならないそのサブクラスからの最小数のサーバを示す。したがって、データ記憶要求は、サブクラス505Aの非ゼロ表現カウントを使用して、そのサブクラス505Aにマッピングされる任意のファイル502の強制複製ファクタを示し得る。
サブクラス505A、505Nは、以下のように冗長データファブリック内でのデータ複製に影響し得る。クラス504が、すべてゼロの表現カウントを有するサブクラス505A、505Nからなる場合、そのクラスにマッピングされたデータイメージの複製ファクタは、図5Aに見られるように、名前空間プロパティ509の複製ファクタ508等の継承したファイルプロパティから得られる。その他の場合、有効データイメージ複製ファクタは、すべてのサブクラス表現カウントの和であり、さらに、この後者の場合、ゼロ表現カウントを有するいかなるサブクラスも、シーケンス生成およびデータファブリック修復中に無視される。さらに、ファイルの複製ファクタは、関連付けられたクラスのすべてのサブクラス表現カウントがゼロの場合のみ、個々に変更し得る。
メタデータサーバは、インテリジェントな記憶装置の要素との通信にメッセージベースの制御経路を使用して、ダイナミックストレージ可能性統計を収集する。メタデータサーバは、各クラスに関してデータファブリックの可用性を計算する。
その結果、記憶システムのクライアントは、ファイルをクラス識別子にバインドすることにより、ファイルのデータを、サーバの潜在的に巨大なクラスタ内のどこに配置すべきかを指定することができる。したがって、実施形態を使用する場合、冗長データファブリック内への複製データイメージの配置制御は、ファイル単位で提供される。この制御の追加により、ユーザは、ダイナミックビジネスニーズに従って分散ファイルシステムのアクセスをさらに最適化することができる。
実施形態を使用する場合、分散ファイルシステムのクライアントは、データがどのように配置され保持されるかを制御可能である。メタデータサーバを使用する従来の手法は一般に、すべてのサーバにわたって可用性選択基準を大域的に最適化することにより、冗長データイメージをデータサーバに配置した。本明細書における実施形態の場合、データの配置および最適化された可用性選択基準の使用は、特定のサーバセットに対してローカルに適用することができる。各データイメージをクラスにバインドすることにより、ファイルが書き込まれる際、またはデータファブリックが修復される際、ファイルを特定のサーバセットに配置することができる。
従来のいくつかの手法は、通常、配電境界に沿って位置合わせされた静的グループにサーバを区分けし、複製は、グループをまたぐことにより、イメージを大域的に分散させようとした。本手法は、静的グループストライド方法(static group striding method)を補完する。特に、クラスが複数のグループに重なる場合、分散は、イメージが重なり内のすべてのグループに分散されるようにバイアスされる。
本明細書における技法を使用して、データ配置をクライアントが制御することにより、階層データ管理およびデータアクセス段階化を含め、そのようなファイルシステムの多種多様な新規用途が可能である。例えば、少数の大容量サーバからなるクラス内の映像ファイルを、コード変換を実行する直前に、またはファイルを映像ネットワーク内で再生する直前に、RAMディスクのみで構成された多数の高性能サーバからなるクラスに再割り当てすることができる。
実施形態により、クラスタ内外にデータをコピーする必要なく、クラス単位でクラスタを監視し制御するインテリジェントなクラスタマネージャアプリケーションを開発することも可能である。例えば、マネージャアプリケーションは、ファイルクラス割り当てを監視し、頻繁にアクセスされるクラス内に特定量の自由領域を維持するために、最近アクセスされていなかったファイルをクラスに再割り当てする。マネージャアプリケーションは、追加のサーバを略容量限界の重複しないクラスに再割り当てすることもできる。
2.1 サーバクラス属性の追加およびクラスの定義
図1は、一実施形態において、新しいサーバクラス属性を追加し、新しいクラスを定義するために行われ得る一連のステップをさらに示す。
実施形態では、システムマネージャ102はメタデータサーバ1に結合される。システムマネージャ102は、メタデータサーバ1のクライアントである。様々な実施形態では、任意の数のメタデータサーバがあり得る。例えば、米国特許出願公開第2007−0214183−A1号明細書アーキテクチャを使用し得る。各メタデータサーバ1は、図6に示されるように、汎用コンピュータシステムを使用して実施し得、メモリまたはローカルデータ記憶は、本明細書において説明される機能を実施するプログラム命令または他のソフトウェア要素を記憶する。例えば、メタデータサーバ1は、名前空間マネージャ104、クラスマネージャ106、サーバマネージャ108、およびクラスデータベース110を実施するロジックを備え得る。
まず、クライアントは、クラス属性をサーバセットに割り当てるリモートプロシージャ要求を行う(10)。例えば、コマンド
attribute=”owner=demo”
servers={server1−server30}
は、「demo」への所有者属性を、識別子値server1〜server30を使用して識別されたサーバに割り当てる。クラスマネージャ106は状態データをジャーナル記録し、クラスデータベース110を更新する。属性およびサーバセットは、他のメタデータサーバに渡される(16)。例えば、米国特許第6,665,675 B1号明細書に記載の冗長メタデータサーバリング上でデータを共有する技法を使用し得る。
システムマネージャ102は、クライアントとして、クラス名およびサブクラスの文字列のセットを指定することにより、新しいクラスを定義するリモートプロシージャ要求を行う(20)。例えば、システムマネージャ102は、以下の要求を送信する。
name=”fastServerClass”
subclass1=(processorSpeed=3GHz &&
”owner=demo” &&
”location=labRoom1)(representationCount=2)
subclass2=(processorSpeed=3GHz &&
”owner=demo” &&
”location=labRoom2)(representaionCount=2)
この要求例は、「fastServerClass」という名称のクラスに関連付けられたサーバが、所有者「demo」に割り振られたlab1およびlab2内のすべての3GHzサーバを含むことを示す。要求に応答して、クラスマネージャ106は、サブクラス基準を使用して、属性基準を満たすサーバのセットを識別する。次に、クラスマネージャ106は、(26)において、サーバセットをサーバマネージャ108に送信する。サブクラスは、プロセッサ速度、CPUまたはCPUコアの数、サーバが結合されたスイッチの速度、ロケーション、読み取り待ち時間、書き込み待ち時間等の任意の所望の基準を識別することができる。
表現カウント値は、異なるサブクラスで異なり得る。したがって、表現カウントが、上記例の両方のサブクラスで「2」であるが、他の実施形態は、異なるサブクラスで異なるカウントを使用し得る。表現カウントの使用により、クライアントは、例えば、ファイルが高い可用性を有さなければならないことを間接的に指定することができる。例えば、高い表現カウント値は、高い複製ファクタを有するファイルの記憶に繋がり、それにより、ファイルをより多数のクライアントに同時に送出することができる。
それに応答して、サーバマネージャ108は、新しいクラス識別子をサーバに割り当て、(27)において、冗長メタデータサーバ112の中の他のメタデータサーバ1の他のすべてのサーバマネージャインスタンスとこの識別子を共有する。(22)において、サーバマネージャ108は、クラス識別子をクラスマネージャに返す。
それに応答して、クラスマネージャ106は、(28)においてクラスデータベース110を更新し、(29)においてクラス識別子をシステムマネージャ102に返す。表現カウント値は「2」であるため、クラス識別子に関連付けられたすべての後続ファイルデータは、lab1内で「demo」により所有される3GHzサーバの中で2回、およびlab2内で「demo」により所有される3GHzサーバの中で2回、複製されることになる。
2.2 クラス内のファイルへのデータの書き込み
実施形態では、ファイルを記憶すべきであり、ファイルがクラスへの関連付けを有する場合、可用性選択基準を使用して、クラス内の、ファイルのデータを収容するために最良可能性のサーバを見つける。クラスのメンバが変更した場合、またはファイルの関連付けが異なるクラスに変更された場合、影響を受けるファイルのすべてのデータは、クラス内のサーバを含むクラスタの部分のみを使用して再複製される。
図2は、分散記憶システムのデータクライアントおよびデータを特定のクラス内のファイルに書き込むために実行し得る一連のステップ例を示す。
かなり分散したファイルシステムをサポートするサーバは、並列アプリケーションを同時にホストし得るため、本明細書において説明される方法を使用して、クラスタ内で実行中のアプリケーションの配置を制御することができる。したがって、本明細書において使用される用語「ファイル」は、データファイル、実行可能ファイル(executable)を含むアプリケーションファイル、および記憶システムに記憶可能な他のすべてのデータを含む。
実施形態では、データクライアント202はメタデータサーバ1に結合され、ディレクトリ内にファイルを作成する(10)。名前空間マネージャ104は、継承されるプロパティとして、ディレクトリのクラス識別子をファイルに割り当てる。名前空間マネージャ104は、経路名およびクラス識別子をクラスマネージャに送信して、後のクラスによるファイルの逆参照のために、ファイルをクラスにバインドする(11)。名前空間マネージャ104は、ハンドルをクライアントに返す(15)。
データクライアント202は、いかなるクラス定義も認識せず、書き込み先のサーバセットのネットワークアドレスを要求する(20)。名前空間マネージャ104は、クラス内の書き込みに「最適」なサーバをサーバマネージャ108に要求する(21)。クラス内のサーバメンバにローカルに適用される最良可用性基準に基づいて、サーバマネージャ108は、アドレスおよび複製ファクタをクライアントに返す(22)。複製ファクタは、すべてのサブクラスの表現カウントを合算することにより特定される。
上記例を続けると、(30)において、データクライアント202は、データを記憶して、シーケンス内の他のサーバに転送する命令と共に、データを第1のデータサーバ13に送信する。それに対応して、第1のデータサーバ13、第2のデータサーバ15、および第3のデータサーバ18のそれぞれは、コピー/転送動作を実行し、結果として、データはさらに3回(31、32、33)、記憶され転送されることになる。
2.3 クラスの更新
図3は、分散記憶システムのメタデータサーバのシステムマネージャクライアントおよび既存のクラスを更新するために行われる一連のステップの例を示す。図3では、図1と同様に、システムマネージャ102がメタデータサーバ1に結合される。図3は、データサーバ11、12、13、14、15、16、17、18、19、1A、1B、1Cを含む第1のクラスおよび異なるデータサーバ21、22、23、24、25、26、27、28、29、2A、2B、2C、2D、2Eを含む第2の、すなわち更新されたクラスも示す。
例えば、ユーザが上述した「fastServerClass」の表現内で「lab1」を「lab3」で置換したいと想定する。
クライアントとして動作するシステムマネージャ102は、サブクラスデータベースの文字列を更新するリモートプロシージャ要求を行う(10)。それに応答して、クラスマネージャ106は、クラスデータベースをローカルに更新すると共に、冗長メタデータサーバ112(図1)の中で、新しいデータベースの文字列を使用して他のメタデータサーバ1を更新する。それに応答して、すべてのメタデータサーバ上のサーバマネージャインスタンスは、図1と同様に、特定のクラスの新しいサーバセットと提携する。
名前空間マネージャ104は、逆参照を実行し、特定のクラスに関連付けられた経路のリストを読み取る。各ファイルのデータチャンク毎に、名前空間マネージャ104は、更新されたクラスに対して関連付けられたデータイメージを再び複製するようにサーバマネージャ108に要求する(15)。データチャック毎に、サーバマネージャ108は、更新されたクラス内で最良可能性のサーバセットを計算し、特定のデータイメージを保持している各サーバ(20、30、40、50)に、更新されたクラスの最適に利用可能なサーバセット(21、31、41、51)にデータを並列に移動するように要求する。
更新されたクラスが、以前よりも高い複製ファクタを反映する場合、1つのサーバから複数のサーバへのデータ移動が暗黙的に定義され、実行される。サーバマネージャ108は、サーバ可用性の大局的なビューを保持するため、元のデータイメージを保持しているサーバによっては、忙しすぎてデータを移動できないものがある。この場合、移動は、サーバのサブセット(例えば、データサーバ13および17)で行われる。データ移動が完了すると、サーバマネージャ108は、メタデータサーバ1上のデータイメージのロケーションを更新する。データクライアント202(図2)は、非同期イベント通知を受信してもよく、またはメタデータサーバ1をポーリングして、データ移動が完了したか否かを判断してもよい(60)。
実施形態では、データ移動は、更新されたクラス内に空き領域があることを条件とする。更新されたクラス内のサーバが空き領域を有さない場合、メタデータサーバは、そのクラス内の各サーバから収集される領域ダイナミックパラメータクラスが時間の経過に伴って変更される場合、失敗した複製を再試行することになる。
2.4 異なるクラスへのファイルの関連付け
図4は、ファイルを新しいまたは異なるクラスに再関連付けするシステムマネージャクライアントを示す。ファイルは、いくつかの理由により新しいクラスまたは異なるクラスに再関連付けすることができる。例えば、映像ファイルへの読み取りアクセス数が増大するにつれて、データ記憶装置クラスタ内のそのファイルの値は増大する。頻繁に要求されるファイルを、高速の中央演算処理装置およびネットワークインタフェースを有するサーバからなるクラスに再割り当てすることにより、そのクラスタは、映像がより多数のクライアントで再生されるように、読み取り要求にサービス提供することが可能である。そのクラスがより高い表現カウントも有する場合、ファイルのより多数のコピーがクラスタ内に分散して保持され、これによっても、ファイルを読み取るクライアントにより多数のファイルが提供されることになる。
新しいクラスへのファイルの再割り当ては、ファイルがアクセスされている間に実行することができる。本開示では、用語「再関連付け」および「再割り当て」は同義である。
実施形態では、システムマネージャクライアント102は、新しいクラス識別子を含むファイル属性を更新するリモートプロシージャ要求を名前空間マネージャ104に対して行う(10)。名前空間マネージャは、クラスマネージャに対して新しいクラスを有効にする(11、12)。
ファイルに関連付けられたデータチャンク毎に、名前空間マネージャは、データチャンクを新しいクラス識別子に再割り当てすることをサーバマネージャに通知する(15)。データチャンク毎に、サーバマネージャは、新しいクラス内の最良可能性のサーバセットを計算し、暗黙的に定義される複製ファクタ2を有する古いクラス内に特定のデータイメージを保持する各サーバ(20、40)に、そのデータを、データサーバ21の真上に示されるように、より高い複製ファクタ4を有する新しいクラスの最適に利用可能なサーバセット(21、22、41、42)に移動する(並列して)ように要求する。
3.0 実施メカニズム−ハードウェア概説
図6は、本発明の実施形態を実施し得るコンピュータシステム600を示すブロック図である。コンピュータシステム600は、情報を通信するためのバス602または他の通信機構と、バス602に結合され、情報を処理するプロセッサ604とを含む。コンピュータシステム600は、バス602に結合され、情報およびプロセッサ604により実行される命令を記憶する、ランダムアクセスメモリ(RAM)または他のダイナミック記憶装置等のメインメモリ606も含む。メインメモリ606は、プロセッサ604により実行される命令の実行中、一時変数または他の中間情報を記憶するためにも使用し得る。コンピュータシステム600は、バス602に結合され、プロセッサ604の静的情報および命令を記憶する読み取り専用メモリ(ROM)608または他のスタティック記憶装置をさらに含む。磁気ディスクまたは光ディスク等の記憶装置610が設けられ、バス602に結合されて、情報および命令を記憶する。
コンピュータシステム600は、バス602を介して、コンピュータユーザに情報を表示するための陰極線管(CRT)等のディスプレイ612に結合することができる。英数字キーおよび他のキーを含む入力装置614が、バス602に結合されて、情報およびコマンド選択をプロセッサ604に伝達する。別の種類のユーザ入力装置は、方向情報およびコマンド選択をプロセッサ604に伝達すると共に、ディスプレイ612上でのカーソルの移動を制御する、マウス、トラックボール、カーソル方向キー等のカーソル制御装置616である。この入力装置は通常、2軸、すなわち第1の軸(例えば、x)および第2の軸(例えば、y)において自由度2を有し、装置が平面内の位置を特定できるようにする。
本発明は、本明細書において説明した技法を実施するコンピュータシステム600の使用に関する。本発明の一実施形態によれば、これら技法は、プロセッサ604がメインメモリ606内に含まれる1つまたは複数の命令の1つまたは複数のシーケンスを実行することに応答して、コンピュータシステム600により実行される。そのような命令は、記憶装置610等の別の機械読み取り可能な記録媒体からメインメモリ606に読み込んでもよい。メインメモリ606内に含まれた命令シーケンスの実行により、プロセッサ604は、本明細書において説明されるプロセスステップを実行する。他の実施形態では、ソフトウェア命令に代えて、またはソフトウェア命令と組み合わせて、ハードワイヤード回路を使用して本発明を実施してもよい。したがって、本発明の実施形態は、ハードウェア回路とソフトウェアとのいかなる特定の組み合わせにも限定されない。
本明細書において使用される用語「機械読み取り可能な記録媒体」は、機械を特定の様式で動作させるデータの提供に関わる任意の媒体を指す。コンピュータシステム600を使用して実施される実施形態では、様々な機械読み取り可能な記録媒体が、例えば、実行のために命令をプロセッサ604に提供する際に関わる。そのような媒体は、記憶媒体および伝送媒体を含むが、これらに限定されない任意の形態をとり得る。記憶媒体は、不揮発性媒体および揮発性媒体の両方を含む。不揮発性媒体は、例えば、記憶装置610等の光ディスクまたは磁気ディスクを含む。揮発性媒体は、メインメモリ606等のダイナミックメモリを含む。伝送媒体は、バス602を構成するワイヤを含め、同軸ケーブル、銅線、および光ファイバを含む。伝送媒体は、電波および赤外線によるデータ通信中に生成されるような音波または光波の形態をとってもよい。そのようなすべての媒体は、媒体により搬送された命令を、命令を機械に読み込む物理的な機構により検出できるように明確でなければならない。
一般的な形態の機械読み取り可能な記録媒体としては、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD−ROM、他の任意の光学媒体、パンチカード、紙テープ、パターンになった穴を有する他の任意の物理的な媒体、RAM、PROM、EPROM、フラッシュEPROM、他の任意のメモリチップまたはカートリッジ、後述する搬送波、またはコンピュータが読み出し可能な他の任意の媒体が挙げられる。
様々な形態の機械読み取り可能な記録媒体が、実行のために1つまたは複数の命令の1つまたは複数のシーケンスをプロセッサ604に搬送する際に関わり得る。例えば、命令をまず、リモートコンピュータの磁気ディスクに搬送し得る。リモートコンピュータは、この命令をダイナミックメモリにロードし、モデムを使用し電話回線を介して送信し得る。コンピュータシステム600にローカルなモデムが、電話回線上のデータを受信し、赤外線送信器を使用して赤外線信号に変換し得る。赤外線検出器が、赤外線信号で搬送されたデータを受信し、適切な回路がデータをバス602上に配置し得る。バス602は、データをメインメモリ606に搬送し、メインメモリ606から、プロセッサ604は命令を検索して実行する。メインメモリ606が受信した命令は、任意的に、プロセッサ604による実行の前または後に、記憶装置610に記憶し得る。
コンピュータシステム600は、バス602に結合された通信インタフェース618も含む。通信インタフェース618は、ローカルネットワーク622に結合されたネットワークリンク620への双方向データ通信結合を提供する。例えば、通信インタフェース618は、データ通信接続を対応する種類の電話回線に提供する統合サービスデジタル網(ISDN)カードまたはモデムであり得る。別の例として、通信インタフェース618は、データ通信接続を互換性LANに提供するローカルエリアネットワーク(LAN)カードであり得る。無線リンクを実施してもよい。任意のそのような実施態様では、通信インタフェース618は、様々な種類の情報を表すデジタルデータストリームを搬送する電気信号、電磁信号、または光信号を送受信する。
ネットワークリンク620は通常、1つまたは複数のネットワークを通して他のデータ装置へのデータ通信を提供する。例えば、ネットワークリンク620は、ローカルネットワーク622を通してホストコンピュータ624またはインターネットサービスプロバイダ(ISP)626により操作されるデータ機器への接続を提供し得る。そして、ISP626は、現在では一般に「インターネット」628と呼ばれる世界規模パケットデータ通信網を介してデータ通信サービスを提供する。ローカルネットワーク622およびインターネット628は両方とも、デジタルデータストリームを搬送する電気信号、電磁信号、または光信号を使用する。デジタルデータをコンピュータシステム600に搬送し、デジタルデータをコンピュータシステム600から搬送する様々なネットワークを通る信号およびネットワークリンク620上にあり、通信インタフェース618を通る信号は、情報を搬送する例示的な形態の搬送波である。
コンピュータシステム600は、ネットワーク、ネットワークリンク620、および通信インタフェース618を通して、プログラムコードを含むメッセージの送信とデータの受信を行うことができる。インターネットの例では、サーバ630は、インターネット628、ISP626、ローカルネットワーク622、および通信インタフェース618を通してアプリケーションプログラムのためのコードの要求を送信するようにしてもよい。
受信されたコードは、受信時にプロセッサ604により実行してもよく、かつ/または後で実行するために記憶装置もしくは他の不揮発性記憶装置に記憶してもよい。このようにして、コンピュータシステム600は、搬送波の形態でアプリケーションコードを取得することができる。
4.0 拡張例および代替例
上記明細書では、本発明の実施の形態を、実施の形態毎に異なり得る多くの特定の詳細を参照して説明した。したがって、本発明であるもの、および本出願人等により本発明として意図されるものを独占的かつ排他的な指標は、特許請求の範囲であって、いかなるその後の修正も含め、このような特許請求の範囲が発行される特定の形態で、本願から発行される特許請求の範囲である。そのような特許請求の範囲内に含まれる用語について本明細書に明白に記載された定義はいずれも、特許請求の範囲内で使用されるその用語の意味を決定する。したがって、請求項内で明白には記載されていない限定、要素、特性、特徴、利点、および属性のいずれも、そのような請求項の範囲を限定するものではない。したがって、明細書及び図面は限定の意味ではなくむしろ例示の意味で考えられるべきである。

Claims (29)

  1. 分散データ記憶システムに記憶されたファイルについての情報を記憶するクラスデータベースを備えたメタデータ記憶装置と、
    1つまたは複数の処理ユニットと、
    前記処理ユニットおよび前記メタデータ記憶装置に結合されたロジックであって、記憶された一連の命令を含み、前記一連の命令は、前記処理ユニットにより実行されることにより、
    1つまたは複数のサーバ選択基準をそれぞれ含む1つまたは複数のサブクラスを含むデータ記憶サーバのクラスの定義を受信し、前記クラスデータベースに記憶するステップ、
    前記クラスに前記データ記憶システムの1つまたは複数のディレクトリを関連付けるステップ、
    データクライアントがデータファイルをディレクトリに記憶することに応答して、前記クラスを前記データファイルにバインドし、前記サーバ選択基準を満たす前記システム内の1つまたは複数のデータ記憶サーバの識別子セットを特定して記憶し、前記識別子セットを前記データクライアントに提供するステップ
    を実行させる、ロジックと
    を備えることを特徴とする、データ処理装置。
  2. 前記処理ユニットにより実行されることにより、
    前記1つまたは複数のサブクラスの前記定義において表現カウントを受信するステップ、前記表現カウントの和に基づいて、前記データファイルの複製ファクタを特定するステップ、および前記複製ファクタに従って前記データファイルの複数の複製を前記データ記憶サーバに記憶するステップを実行させる一連の命令をさらに含むことを特徴とする請求項1に記載の装置。
  3. 前記処理ユニットにより実行されることにより、
    前記1つまたは複数のサブクラスの前記定義においてゼロの表現カウントを受信するステップ、前記データファイルが作成されたディレクトリから継承された前記データファイルの複製ファクタプロパティに基づいて、前記データファイルの複製ファクタを特定するステップ、および前記複製ファクタに従って、前記データファイルの複数の複製を前記データ記憶サーバに記憶するステップを実行させる一連の命令をさらに含むことを特徴とする請求項1に記載の装置。
  4. 前記処理ユニットにより実行されることにより、
    前記サーバ選択基準を満たす前記システム内の前記データ記憶サーバのみに適用される1つまたは複数の最良可用性基準にさらに基づいて、前記識別子セットを特定して記憶するステップを実行させる一連の命令をさらに含むことを特徴とする請求項1に記載の装置。
  5. 前記サーバ選択基準はプロセッサ速度、所有者、およびロケーションを含むことを特徴とする請求項1に記載の装置。
  6. 前記処理ユニットにより実行されることにより、前記識別子セット内で識別される1つまたは複数の第1のデータ記憶サーバにのみ前記データファイルを自動的に記憶するステップを実行させる一連の命令をさらに含むことを特徴とする請求項1に記載の装置。
  7. 前記処理ユニットにより実行されることにより、
    1つまたは複数の更新されたサーバ選択基準を含む前記サブクラスのうちの1つまたは複数の更新された定義を受信するステップ、
    前記更新された定義に基づいて、前記更新されたサーバ選択基準を満たす前記システム内の1つまたは複数の異なるデータ記憶サーバの更新された識別子セットを特定して記憶するステップ、
    前記更新された識別子セット内で識別される1つまたは複数の第2のデータ記憶サーバのみに前記データファイルを自動的に記憶させるステップ
    を実行させる一連の命令をさらに含むことを特徴とする請求項6に記載の装置。
  8. 前記処理ユニットにより実行されることにより、
    前記1つまたは複数のサブクラスの前記定義において表現カウントを受信し、前記表現カウントの和に基づいて、前記データファイルの第1の複製ファクタを特定し、前記第1の複製ファクタに従って、前記データファイルの複数の複製を前記データ記憶サーバに記憶するステップ、
    1つまたは複数の更新されたサーバ選択基準を含む前記サブクラスのうちの1つまたは複数の更新された定義を受信するステップ、
    前記更新された定義に基づいて、前記更新されたサーバ選択基準を満たす前記システム内の1つまたは複数の異なるデータ記憶サーバの更新された識別子セットを特定して記憶し、前記更新された定義内の前記表現カウントの和に基づいて、前記データファイルの第2の複製ファクタを特定するステップ、
    前記第2の複製ファクタに従って、前記更新された識別子セット内で識別される1つまたは複数の第2のデータ記憶サーバのみに、複数の複製で前記データファイルを記憶するステップ
    を実行させる一連の命令をさらに含むことを特徴とする請求項1に記載の装置。
  9. 前記処理ユニットにより実行されることにより、
    更新されたクラス識別子を含む前記データファイルの更新されたファイル属性を受信するステップ、
    前記更新されたクラス識別子の前記クラスの前記1つまたは複数のサブクラスの前記サーバ選択基準を満たす前記システム内の1つまたは複数の異なるデータ記憶サーバの更新された識別子セットを特定して記憶するステップ、
    前記更新された識別子セット内で識別される1つまたは複数の第2のデータ記憶サーバにのみ前記データファイルを記憶するステップ
    を実行させる一連の命令をさらに含むステップを特徴とする請求項1に記載の装置。
  10. 前記処理ユニットにより実行されることにより、
    前記更新されたクラス識別子の前記1つまたは複数のサブクラスの表現カウントの和に基づいて、前記データファイルの複製ファクタを特定するステップ、
    前記複製ファクタに従って、前記更新された識別子セット内で識別される1つまたは複数の第2のデータ記憶サーバのみに、前記データファイルを複数の複製で記憶するステップ
    を実行させる一連の命令をさらに含むことを特徴とする請求項9に記載の装置。
  11. 1つまたは複数の処理ユニットにより実行されることにより、
    1つまたは複数のサーバ選択基準をそれぞれ含む1つまたは複数のサブクラスを含むデータ記憶サーバのクラスの定義を受信し、分散データ記憶システムに記憶されたファイルについての情報を記憶するメタデータ記憶装置内のクラスデータベースに記憶するステップ、
    前記クラスに前記データ記憶システムの1つまたは複数のディレクトリを関連付けるステップ、
    データクライアントがデータファイルをディレクトリに記憶することに応答して、前記クラスを前記データファイルにバインドし、前記サーバ選択基準を満たす前記システム内の1つまたは複数のデータ記憶サーバの識別子セットを特定して記憶し、前記識別子セットを前記データクライアントに提供するステップ
    を実行させる一連の命令を記憶したコンピュータ読み取り可能な記録媒体。
  12. 前記処理ユニットにより実行されることにより、前記1つまたは複数のサブクラスの前記定義において表現カウントを受信するステップ、前記表現カウントの和に基づいて、前記データファイルの複製ファクタを特定するステップ、および前記複製ファクタに従って前記データファイルの複数の複製を前記データ記憶サーバに記憶するステップを実行させる一連の命令をさらに含むことを特徴とする請求項11に記載の記録媒体。
  13. 前記処理ユニットにより実行されることにより、前記1つまたは複数のサブクラスの前記定義においてゼロの表現カウントを受信するステップ、前記データファイルが作成されたディレクトリから継承された前記データファイルの複製ファクタプロパティに基づいて、前記データファイルの複製ファクタを特定するステップ、および前記複製ファクタに従って、前記データファイルの複数の複製を前記データ記憶サーバに記憶するステップを実行させる一連の命令をさらに含むことを特徴とする請求項11に記載の記録媒体。
  14. 前記処理ユニットにより実行されることにより、前記サーバ選択基準を満たす前記システム内の前記データ記憶サーバのみに適用される1つまたは複数の最良可用性基準にさらに基づいて、前記識別子セットを特定して記憶するステップを実行させる一連の命令をさらに含むことを特徴とする請求項11に記載の記録媒体。
  15. 前記サーバ選択基準はプロセッサ速度、所有者、およびロケーションを含むステップを特徴とする請求項11に記載の記録媒体。
  16. 前記処理ユニットにより実行されることにより、前記識別子セット内で識別される1つまたは複数の第1のデータ記憶サーバにのみ前記データファイルを自動的に記憶するステップを実行させる一連の命令をさらに含むことを特徴とする請求項11に記載の記録媒体。
  17. 前記処理ユニットにより実行されることにより、
    1つまたは複数の更新されたサーバ選択基準を含む前記サブクラスのうちの1つまたは複数の更新された定義を受信するステップ、
    前記更新された定義に基づいて、前記更新されたサーバ選択基準を満たす前記システム内の1つまたは複数の異なるデータ記憶サーバの更新された識別子セットを特定して記憶するステップ、
    前記更新された識別子セット内で識別される1つまたは複数の第2のデータ記憶サーバのみに前記データファイルを自動的に記憶させるステップ
    を実行させる一連の命令をさらに含むことを特徴とする請求項11に記載の記録媒体。
  18. 前記処理ユニットにより実行されることにより、
    前記1つまたは複数のサブクラスの前記定義において表現カウントを受信し、前記表現カウントの和に基づいて、前記データファイルの第1の複製ファクタを特定し、前記第1の複製ファクタに従って、前記データファイルの複数の複製を前記データ記憶サーバに記憶するステップ、
    1つまたは複数の更新されたサーバ選択基準を含む前記サブクラスのうちの1つまたは複数の更新された定義を受信するステップ、
    前記更新された定義に基づいて、前記更新されたサーバ選択基準を満たす前記システム内の1つまたは複数の異なるデータ記憶サーバの更新された識別子セットを特定して記憶し、前記更新された定義内の前記表現カウントの和に基づいて、前記データファイルの第2の複製ファクタを特定するステップ、
    前記第2の複製ファクタに従って、前記更新された識別子セット内で識別される1つまたは複数の第2のデータ記憶サーバのみに、複数の複製で前記データファイルを記憶するステップ
    を実行させる一連の命令をさらに含むことを特徴とする請求項11に記載の記録媒体。
  19. 前記処理ユニットにより実行されると、
    更新されたクラス識別子を含む前記データファイルの更新されたファイル属性を受信するステップ、
    前記更新されたクラス識別子の前記クラスの前記1つまたは複数のサブクラスの前記サーバ選択基準を満たす前記システム内の1つまたは複数の異なるデータ記憶サーバの更新された識別子セットを特定して記憶するステップ、
    前記更新された識別子セット内で識別される1つまたは複数の第2のデータ記憶サーバにのみ前記データファイルを記憶するステップ
    を実行させる一連の命令をさらに含むことを特徴とする請求項11に記載の記録媒体。
  20. 前記処理ユニットにより実行されることにより、
    前記更新されたクラス識別子の前記1つまたは複数のサブクラスの表現カウントの和に基づいて、前記データファイルの複製ファクタを特定するステップ、
    前記複製ファクタに従って、前記更新された識別子セット内で識別される1つまたは複数の第2のデータ記憶サーバのみに、前記データファイルを複数の複製で記憶するステップ
    を実行させる一連の命令をさらに含むことを特徴とする請求項19に記載の記録媒体。
  21. 1つまたは複数のサーバ選択基準をそれぞれ含む1つまたは複数のサブクラスを含むデータ記憶サーバのクラスの定義を受信し、分散データ記憶システムに記憶されたファイルについての情報を記憶するメタデータ記憶装置内のクラスデータベースに記憶するステップ、
    前記クラスに前記データ記憶システムの1つまたは複数のディレクトリを関連付けるステップ、
    データクライアントがデータファイルをディレクトリに記憶することに応答して、前記クラスを前記データファイルにバインドし、前記サーバ選択基準を満たす前記システム内の1つまたは複数のデータ記憶サーバの識別子セットを特定して記憶し、前記識別子セットを前記データクライアントに提供するステップ
    を含むことを特徴とするコンピュータにより実行される方法。
  22. 前記1つまたは複数のサブクラスの前記定義において表現カウントを受信するステップ、前記表現カウントの和に基づいて、前記データファイルの複製ファクタを特定するステップ、および前記複製ファクタに従って前記データファイルの複数の複製を前記データ記憶サーバに記憶するステップをさらに含むことを特徴とする請求項21に記載の方法。
  23. 前記1つまたは複数のサブクラスの前記定義においてゼロの表現カウントを受信するステップ、前記データファイルが作成されたディレクトリから継承された前記データファイルの複製ファクタプロパティに基づいて、前記データファイルの複製ファクタを特定するステップ、および前記複製ファクタに従って、前記データファイルの複数の複製を前記データ記憶サーバに記憶するステップをさらに含むことを特徴とする請求項21に記載の方法。
  24. 前記サーバ選択基準を満たす前記システム内の前記データ記憶サーバのみに適用される1つまたは複数の最良可用性基準にさらに基づいて、前記識別子セットを特定して記憶するステップをさらに含むことを特徴とする請求項21に記載の方法。
  25. 前記識別子セット内で識別される1つまたは複数の第1のデータ記憶サーバにのみ前記データファイルを自動的に記憶するステップをさらに含むことを特徴とする請求項21に記載の方法。
  26. 1つまたは複数の更新されたサーバ選択基準を含む前記サブクラスのうちの1つまたは複数の更新された定義を受信するステップ、
    前記更新された定義に基づいて、前記更新されたサーバ選択基準を満たす前記システム内の1つまたは複数の異なるデータ記憶サーバの更新された識別子セットを特定して記憶するステップ、
    前記更新された識別子セット内で識別される1つまたは複数の第2のデータ記憶サーバのみに前記データファイルを自動的に記憶させるステップ
    をさらに含むことを特徴とする請求項25に記載の方法。
  27. 前記1つまたは複数のサブクラスの前記定義において表現カウントを受信し、前記表現カウントの和に基づいて、前記データファイルの第1の複製ファクタを特定し、前記第1の複製ファクタに従って、前記データファイルの複数の複製を前記データ記憶サーバに記憶するステップ、
    1つまたは複数の更新されたサーバ選択基準を含む前記サブクラスのうちの1つまたは複数の更新された定義を受信するステップ、
    前記更新された定義に基づいて、前記更新されたサーバ選択基準を満たす前記システム内の1つまたは複数の異なるデータ記憶サーバの更新された識別子セットを特定して記憶し、前記更新された定義内の前記表現カウントの和に基づいて、前記データファイルの第2の複製ファクタを特定するステップ、
    前記第2の複製ファクタに従って、前記更新された識別子セット内で識別される1つまたは複数の第2のデータ記憶サーバのみに、複数の複製で前記データファイルを記憶するステップ
    をさらに含むことを特徴とする請求項21に記載の方法。
  28. 更新されたクラス識別子を含む前記データファイルの更新されたファイル属性を受信するステップ、
    前記更新されたクラス識別子の前記クラスの前記1つまたは複数のサブクラスの前記サーバ選択基準を満たす前記システム内の1つまたは複数の異なるデータ記憶サーバの更新された識別子セットを特定して記憶するステップ、
    前記更新された識別子セット内で識別される1つまたは複数の第2のデータ記憶サーバにのみ前記データファイルを記憶するステップ
    をさらに含むことを特徴とする請求項21に記載の方法。
  29. 前記更新されたクラス識別子の前記1つまたは複数のサブクラスの表現カウントの和に基づいて、前記データファイルの複製ファクタを特定するステップ、
    前記複製ファクタに従って、前記更新された識別子セット内で識別される第2のデータ記憶サーバのみに、前記データファイルを複数の複製で記憶するステップ
    をさらに含むことを特徴とする請求項28に記載の方法。
JP2011504164A 2008-04-09 2009-04-09 冗長データ記憶システムへの指示に従ってのデータ配置 Active JP5411250B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/100,302 2008-04-09
US12/100,302 US8103628B2 (en) 2008-04-09 2008-04-09 Directed placement of data in a redundant data storage system
PCT/US2009/040007 WO2009126771A2 (en) 2008-04-09 2009-04-09 Directed placement of data in a redundant data storage system

Publications (2)

Publication Number Publication Date
JP2011516994A true JP2011516994A (ja) 2011-05-26
JP5411250B2 JP5411250B2 (ja) 2014-02-12

Family

ID=41162592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011504164A Active JP5411250B2 (ja) 2008-04-09 2009-04-09 冗長データ記憶システムへの指示に従ってのデータ配置

Country Status (4)

Country Link
US (2) US8103628B2 (ja)
EP (1) EP2288998A2 (ja)
JP (1) JP5411250B2 (ja)
WO (1) WO2009126771A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014522518A (ja) * 2011-07-22 2014-09-04 ▲ホア▼▲ウェイ▼技術有限公司 コンテンツ処理方法、コンテンツ処理デバイス、およびコンテンツ処理システム

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070214183A1 (en) * 2006-03-08 2007-09-13 Omneon Video Networks Methods for dynamic partitioning of a redundant data fabric
US8185891B2 (en) 2007-05-14 2012-05-22 Red Hat, Inc. Methods and systems for provisioning software
US8561058B2 (en) 2007-06-20 2013-10-15 Red Hat, Inc. Methods and systems for dynamically generating installation configuration files for software
US8464247B2 (en) 2007-06-21 2013-06-11 Red Hat, Inc. Methods and systems for dynamically generating installation configuration files for software
US8103628B2 (en) * 2008-04-09 2012-01-24 Harmonic Inc. Directed placement of data in a redundant data storage system
US8713177B2 (en) 2008-05-30 2014-04-29 Red Hat, Inc. Remote management of networked systems using secure modular platform
US9100297B2 (en) 2008-08-20 2015-08-04 Red Hat, Inc. Registering new machines in a software provisioning environment
US8930512B2 (en) 2008-08-21 2015-01-06 Red Hat, Inc. Providing remote software provisioning to machines
US9477570B2 (en) 2008-08-26 2016-10-25 Red Hat, Inc. Monitoring software provisioning
US8838827B2 (en) * 2008-08-26 2014-09-16 Red Hat, Inc. Locating a provisioning server
US8793683B2 (en) 2008-08-28 2014-07-29 Red Hat, Inc. Importing software distributions in a software provisioning environment
US8244836B2 (en) 2008-08-29 2012-08-14 Red Hat, Inc. Methods and systems for assigning provisioning servers in a software provisioning environment
US9164749B2 (en) 2008-08-29 2015-10-20 Red Hat, Inc. Differential software provisioning on virtual machines having different configurations
US8103776B2 (en) 2008-08-29 2012-01-24 Red Hat, Inc. Systems and methods for storage allocation in provisioning of virtual machines
US9952845B2 (en) 2008-08-29 2018-04-24 Red Hat, Inc. Provisioning machines having virtual storage resources
US9021470B2 (en) 2008-08-29 2015-04-28 Red Hat, Inc. Software provisioning in multiple network configuration environment
US9111118B2 (en) 2008-08-29 2015-08-18 Red Hat, Inc. Managing access in a software provisioning environment
US8527578B2 (en) 2008-08-29 2013-09-03 Red Hat, Inc. Methods and systems for centrally managing multiple provisioning servers
US8326972B2 (en) 2008-09-26 2012-12-04 Red Hat, Inc. Methods and systems for managing network connections in a software provisioning environment
US8612968B2 (en) 2008-09-26 2013-12-17 Red Hat, Inc. Methods and systems for managing network connections associated with provisioning objects in a software provisioning environment
US20100115472A1 (en) * 2008-10-30 2010-05-06 Lee Kun-Bin Method of Facilitating Browsing and Management of Multimedia Files with Data Structure thereof
US8898305B2 (en) 2008-11-25 2014-11-25 Red Hat, Inc. Providing power management services in a software provisioning environment
US9124497B2 (en) 2008-11-26 2015-09-01 Red Hat, Inc. Supporting multiple name servers in a software provisioning environment
US8782204B2 (en) 2008-11-28 2014-07-15 Red Hat, Inc. Monitoring hardware resources in a software provisioning environment
US8775578B2 (en) 2008-11-28 2014-07-08 Red Hat, Inc. Providing hardware updates in a software environment
US8832256B2 (en) 2008-11-28 2014-09-09 Red Hat, Inc. Providing a rescue Environment in a software provisioning environment
US8402123B2 (en) 2009-02-24 2013-03-19 Red Hat, Inc. Systems and methods for inventorying un-provisioned systems in a software provisioning environment
US9727320B2 (en) 2009-02-25 2017-08-08 Red Hat, Inc. Configuration of provisioning servers in virtualized systems
US8413259B2 (en) 2009-02-26 2013-04-02 Red Hat, Inc. Methods and systems for secure gated file deployment associated with provisioning
US20100217944A1 (en) * 2009-02-26 2010-08-26 Dehaan Michael Paul Systems and methods for managing configurations of storage devices in a software provisioning environment
US8892700B2 (en) 2009-02-26 2014-11-18 Red Hat, Inc. Collecting and altering firmware configurations of target machines in a software provisioning environment
US9558195B2 (en) 2009-02-27 2017-01-31 Red Hat, Inc. Depopulation of user data from network
US8572587B2 (en) 2009-02-27 2013-10-29 Red Hat, Inc. Systems and methods for providing a library of virtual images in a software provisioning environment
US8640122B2 (en) 2009-02-27 2014-01-28 Red Hat, Inc. Systems and methods for abstracting software content management in a software provisioning environment
US9940208B2 (en) 2009-02-27 2018-04-10 Red Hat, Inc. Generating reverse installation file for network restoration
US8990368B2 (en) 2009-02-27 2015-03-24 Red Hat, Inc. Discovery of network software relationships
US9411570B2 (en) 2009-02-27 2016-08-09 Red Hat, Inc. Integrating software provisioning and configuration management
US8667096B2 (en) 2009-02-27 2014-03-04 Red Hat, Inc. Automatically generating system restoration order for network recovery
US8135989B2 (en) 2009-02-27 2012-03-13 Red Hat, Inc. Systems and methods for interrogating diagnostic target using remotely loaded image
US8417926B2 (en) 2009-03-31 2013-04-09 Red Hat, Inc. Systems and methods for providing configuration management services from a provisioning server
US9250672B2 (en) 2009-05-27 2016-02-02 Red Hat, Inc. Cloning target machines in a software provisioning environment
US9134987B2 (en) 2009-05-29 2015-09-15 Red Hat, Inc. Retiring target machines by a provisioning server
US9047155B2 (en) 2009-06-30 2015-06-02 Red Hat, Inc. Message-based installation management using message bus
US8924513B2 (en) * 2009-07-08 2014-12-30 International Business Machines Corporation Storage system
US8825819B2 (en) 2009-11-30 2014-09-02 Red Hat, Inc. Mounting specified storage resources from storage area network in machine provisioning platform
US10133485B2 (en) 2009-11-30 2018-11-20 Red Hat, Inc. Integrating storage resources from storage area network in machine provisioning platform
US8181061B2 (en) 2010-04-19 2012-05-15 Microsoft Corporation Memory management and recovery for datacenters
US9454441B2 (en) 2010-04-19 2016-09-27 Microsoft Technology Licensing, Llc Data layout for recovery and durability
US8996611B2 (en) 2011-01-31 2015-03-31 Microsoft Technology Licensing, Llc Parallel serialization of request processing
US8533299B2 (en) 2010-04-19 2013-09-10 Microsoft Corporation Locator table and client library for datacenters
US9170892B2 (en) 2010-04-19 2015-10-27 Microsoft Technology Licensing, Llc Server failure recovery
US8447833B2 (en) 2010-04-19 2013-05-21 Microsoft Corporation Reading and writing during cluster growth phase
US8438244B2 (en) 2010-04-19 2013-05-07 Microsoft Corporation Bandwidth-proportioned datacenters
US9813529B2 (en) 2011-04-28 2017-11-07 Microsoft Technology Licensing, Llc Effective circuits in packet-switched networks
JP2012073777A (ja) * 2010-09-28 2012-04-12 Kddi Corp 分散ファイルシステム制御装置
US8775486B2 (en) * 2011-04-04 2014-07-08 Symantec Corporation Global indexing within an enterprise object store file system
US9703610B2 (en) * 2011-05-16 2017-07-11 Oracle International Corporation Extensible centralized dynamic resource distribution in a clustered data grid
US8843502B2 (en) 2011-06-24 2014-09-23 Microsoft Corporation Sorting a dataset of incrementally received data
CN103377269B (zh) 2012-04-27 2016-12-28 国际商业机器公司 传感器数据定位方法和装置
US9778856B2 (en) 2012-08-30 2017-10-03 Microsoft Technology Licensing, Llc Block-level access to parallel storage
US9984083B1 (en) 2013-02-25 2018-05-29 EMC IP Holding Company LLC Pluggable storage system for parallel query engines across non-native file systems
US9805053B1 (en) 2013-02-25 2017-10-31 EMC IP Holding Company LLC Pluggable storage system for parallel query engines
US9158472B2 (en) 2013-06-25 2015-10-13 Google Inc. Hierarchical chunking of objects in a distributed storage system
US9600558B2 (en) 2013-06-25 2017-03-21 Google Inc. Grouping of objects in a distributed storage system based on journals and placement policies
US11422907B2 (en) 2013-08-19 2022-08-23 Microsoft Technology Licensing, Llc Disconnected operation for systems utilizing cloud storage
US9396202B1 (en) 2013-12-27 2016-07-19 Google Inc. Weakly synchronized garbage collection and compaction for aggregated, replicated object stores
US9798631B2 (en) 2014-02-04 2017-10-24 Microsoft Technology Licensing, Llc Block storage by decoupling ordering from durability
US10380486B2 (en) * 2015-01-20 2019-08-13 International Business Machines Corporation Classifying entities by behavior
US10209901B2 (en) * 2017-01-04 2019-02-19 Walmart Apollo, Llc Systems and methods for distributive data storage
CN109145084B (zh) * 2018-07-10 2022-07-01 创新先进技术有限公司 数据处理方法、数据处理装置和服务器
CN111984200B (zh) * 2020-08-28 2024-04-12 大连大学 海量视频数据存储系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094681A (ja) * 2002-08-30 2004-03-25 Ntt Comware Corp 分散データベース制御装置および制御方法並びに制御プログラム
WO2008005165A2 (en) * 2006-06-30 2008-01-10 Omneon Video Networks Transcoding for a distributed file system

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519855A (en) 1994-01-14 1996-05-21 Microsoft Corporation Summary catalogs
US5583995A (en) 1995-01-30 1996-12-10 Mrj, Inc. Apparatus and method for data storage and retrieval using bandwidth allocation
US5881311A (en) 1996-06-05 1999-03-09 Fastor Technologies, Inc. Data storage subsystem with block based data management
US5928327A (en) 1996-08-08 1999-07-27 Wang; Pong-Sheng System and process for delivering digital data on demand
US5893920A (en) 1996-09-30 1999-04-13 International Business Machines Corporation System and method for cache management in mobile user file systems
GB2327781A (en) * 1997-07-26 1999-02-03 Ibm Data replication tracking method for a distributed data processing system
US6374336B1 (en) 1997-12-24 2002-04-16 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6415373B1 (en) 1997-12-24 2002-07-02 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6597956B1 (en) 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
US6732088B1 (en) * 1999-12-14 2004-05-04 Xerox Corporation Collaborative searching by query induction
US6799202B1 (en) * 1999-12-16 2004-09-28 Hachiro Kawaii Federated operating system for a server
US6477540B1 (en) * 1999-12-22 2002-11-05 Ncr Corporation Method and apparatus for using Java as a stored procedure language and as an embedded language on a client
US6647479B1 (en) 2000-01-03 2003-11-11 Avid Technology, Inc. Computer file system providing looped file structure for post-occurrence data collection of asynchronous events
US7117246B2 (en) * 2000-02-22 2006-10-03 Sendmail, Inc. Electronic mail system with methodology providing distributed message store
GB2366706B (en) * 2000-08-31 2004-11-03 Content Technologies Ltd Monitoring electronic mail messages digests
US20030050932A1 (en) * 2000-09-01 2003-03-13 Pace Charles P. System and method for transactional deployment of J2EE web components, enterprise java bean components, and application data over multi-tiered computer networks
US6665675B1 (en) * 2000-09-07 2003-12-16 Omneon Video Networks Shared file system having a token-ring style protocol for managing meta-data
EP1364510B1 (en) * 2000-10-26 2007-12-12 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US7043473B1 (en) * 2000-11-22 2006-05-09 Widevine Technologies, Inc. Media tracking system and method
US6647396B2 (en) 2000-12-28 2003-11-11 Trilogy Development Group, Inc. Classification based content management system
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6606690B2 (en) * 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US7209973B2 (en) * 2001-04-09 2007-04-24 Swsoft Holdings, Ltd. Distributed network data storage system and method
US7685126B2 (en) 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US20030037187A1 (en) 2001-08-14 2003-02-20 Hinton Walter H. Method and apparatus for data storage information gathering
US7092977B2 (en) 2001-08-31 2006-08-15 Arkivio, Inc. Techniques for storing data based upon storage policies
JP3777114B2 (ja) * 2001-11-05 2006-05-24 日立建機株式会社 油圧作業機の油圧回路装置
US7024427B2 (en) * 2001-12-19 2006-04-04 Emc Corporation Virtual file system
US20040088380A1 (en) * 2002-03-12 2004-05-06 Chung Randall M. Splitting and redundant storage on multiple servers
US7395536B2 (en) * 2002-11-14 2008-07-01 Sun Microsystems, Inc. System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment
US7533141B2 (en) * 2003-01-24 2009-05-12 Sun Microsystems, Inc. System and method for unique naming of resources in networked environments
AU2004208274B2 (en) 2003-01-28 2007-09-06 Samsung Electronics Co., Ltd. Method and system for managing media file database
US7865536B1 (en) * 2003-02-14 2011-01-04 Google Inc. Garbage collecting systems and methods
US6779202B1 (en) * 2003-02-20 2004-08-24 Andrew L. Alldredge Plunger appliance for toilets
US7055014B1 (en) * 2003-08-11 2006-05-30 Network Applicance, Inc. User interface system for a multi-protocol storage appliance
US7210091B2 (en) 2003-11-20 2007-04-24 International Business Machines Corporation Recovering track format information mismatch errors using data reconstruction
US7225211B1 (en) * 2003-12-31 2007-05-29 Veritas Operating Corporation Multi-class storage mechanism
US7359909B2 (en) * 2004-03-23 2008-04-15 International Business Machines Corporation Generating an information catalog for a business model
US20050216428A1 (en) * 2004-03-24 2005-09-29 Hitachi, Ltd. Distributed data management system
US7209967B2 (en) 2004-06-01 2007-04-24 Hitachi, Ltd. Dynamic load balancing of a storage system
US20060004856A1 (en) * 2004-06-15 2006-01-05 Xiangyang Shen Data management and persistence frameworks for network management application development
US7747836B2 (en) 2005-03-08 2010-06-29 Netapp, Inc. Integrated storage virtualization and switch system
US7571168B2 (en) * 2005-07-25 2009-08-04 Parascale, Inc. Asynchronous file replication and migration in a storage network
US7657550B2 (en) * 2005-11-28 2010-02-02 Commvault Systems, Inc. User interfaces and methods for managing data in a metabase
US8589574B1 (en) * 2005-12-29 2013-11-19 Amazon Technologies, Inc. Dynamic application instance discovery and state management within a distributed system
US7716180B2 (en) * 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US8229897B2 (en) 2006-02-03 2012-07-24 International Business Machines Corporation Restoring a file to its proper storage tier in an information lifecycle management environment
US20070214183A1 (en) * 2006-03-08 2007-09-13 Omneon Video Networks Methods for dynamic partitioning of a redundant data fabric
US20070226224A1 (en) * 2006-03-08 2007-09-27 Omneon Video Networks Data storage system
US20070260641A1 (en) * 2006-05-02 2007-11-08 Mypoints.Com Inc. Real-time aggregate counting in a distributed system architecture
US8117155B2 (en) * 2006-06-30 2012-02-14 Microsoft Corporation Collection-based object replication
US8122111B2 (en) * 2006-07-25 2012-02-21 Network Appliance, Inc. System and method for server configuration control and management
US7627572B2 (en) * 2007-05-02 2009-12-01 Mypoints.Com Inc. Rule-based dry run methodology in an information management system
US7685185B2 (en) * 2007-06-29 2010-03-23 Microsoft Corporation Move-in/move-out notification for partial replica synchronization
US8103628B2 (en) * 2008-04-09 2012-01-24 Harmonic Inc. Directed placement of data in a redundant data storage system
JP5579195B2 (ja) * 2008-12-22 2014-08-27 グーグル インコーポレイテッド 複製されたコンテンツアドレス可能ストレージクラスタのための非同期分散型重複排除

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094681A (ja) * 2002-08-30 2004-03-25 Ntt Comware Corp 分散データベース制御装置および制御方法並びに制御プログラム
WO2008005165A2 (en) * 2006-06-30 2008-01-10 Omneon Video Networks Transcoding for a distributed file system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNC200751361030; 山下香欧: 'Omneonアクティブコンテンツサーバー MediaGrid' ビデオalpha 第22巻 第7号, 20060626, pp.123〜128, 写真工業出版社 *
CSNG200600352010; 佐藤仁 ほか2名: 'ファイルへのアクセスの自動分散を行うグリッド用分散ファイルシステム' コンピュータシステム・シンポジウム論文集 第2005巻 第18号, 20051129, pp.91〜98, 社団法人情報処理学会 *
JPN6011028433; 山下香欧: 'Omneonアクティブコンテンツサーバー MediaGrid' ビデオalpha 第22巻 第7号, 20060626, pp.123〜128, 写真工業出版社 *
JPN6012051623; 佐藤仁 ほか2名: 'ファイルへのアクセスの自動分散を行うグリッド用分散ファイルシステム' コンピュータシステム・シンポジウム論文集 第2005巻 第18号, 20051129, pp.91〜98, 社団法人情報処理学会 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014522518A (ja) * 2011-07-22 2014-09-04 ▲ホア▼▲ウェイ▼技術有限公司 コンテンツ処理方法、コンテンツ処理デバイス、およびコンテンツ処理システム
US9503308B2 (en) 2011-07-22 2016-11-22 Huawei Technologies Co., Ltd. Method, device and system for processing content

Also Published As

Publication number Publication date
EP2288998A2 (en) 2011-03-02
US20120191710A1 (en) 2012-07-26
WO2009126771A2 (en) 2009-10-15
JP5411250B2 (ja) 2014-02-12
US8504571B2 (en) 2013-08-06
US20090259665A1 (en) 2009-10-15
WO2009126771A3 (en) 2009-12-17
US8103628B2 (en) 2012-01-24

Similar Documents

Publication Publication Date Title
JP5411250B2 (ja) 冗長データ記憶システムへの指示に従ってのデータ配置
JP7053682B2 (ja) データベーステナントマイグレーションのシステム及び方法
US11593016B2 (en) Serializing execution of replication operations
US9858322B2 (en) Data stream ingestion and persistence techniques
US7949512B2 (en) Systems and methods for performing virtual storage operations
JP5918243B2 (ja) 分散型データベースにおいてインテグリティを管理するためのシステム及び方法
US10852984B2 (en) Mirror vote synchronization
CN102981929B (zh) 磁盘镜像的管理方法和系统
US20150134797A1 (en) Managed service for acquisition, storage and consumption of large-scale data streams
JP4615344B2 (ja) データ処理システム及びデータベースの管理方法
WO2011027775A1 (ja) 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード
CN108604164A (zh) 用于存储区域网络协议存储的同步复制
CN103597440A (zh) 用于创建克隆文件的方法以及采用该方法的文件系统
CN102652423A (zh) 用于集群选择和协作复制的集群族
JP2008152807A (ja) 計算機システム
US10698607B2 (en) Configuration update management
JP2002082775A (ja) 計算機システム
JP5375972B2 (ja) 分散ファイルシステム、そのデータ選択方法およびプログラム
CN108369588B (zh) 数据库级别自动存储管理
US20220164366A1 (en) Offline index builds for database tables
US11093465B2 (en) Object storage system with versioned meta objects
US11079960B2 (en) Object storage system with priority meta object replication
CN109716280A (zh) 灵活的内存列存储布置
JP2004252957A (ja) 分散ファイルシステムのファイルレプリケーション方法及び装置
US11074002B2 (en) Object storage system with meta object replication

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20120224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130911

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131107

R150 Certificate of patent or registration of utility model

Ref document number: 5411250

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250