JP4934790B2 - スケーラブルなデータ記憶システムのためのネットワークトポロジ - Google Patents

スケーラブルなデータ記憶システムのためのネットワークトポロジ Download PDF

Info

Publication number
JP4934790B2
JP4934790B2 JP2008558390A JP2008558390A JP4934790B2 JP 4934790 B2 JP4934790 B2 JP 4934790B2 JP 2008558390 A JP2008558390 A JP 2008558390A JP 2008558390 A JP2008558390 A JP 2008558390A JP 4934790 B2 JP4934790 B2 JP 4934790B2
Authority
JP
Japan
Prior art keywords
data storage
server
switch
storage system
switches
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008558390A
Other languages
English (en)
Other versions
JP2009529295A (ja
Inventor
スファーティ,エイドリアン
エム クレイグ,ドナルド
ハーシャダス ワニガセカラ−モホッティ,ドン
Original Assignee
ハーモニック インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ハーモニック インコーポレイテッド filed Critical ハーモニック インコーポレイテッド
Publication of JP2009529295A publication Critical patent/JP2009529295A/ja
Application granted granted Critical
Publication of JP4934790B2 publication Critical patent/JP4934790B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明の実施形態は、一般に、比較的高い容量、性能、およびデータ可用性を有する電子データ記憶システムに関し、特に、記憶容量およびクライアントを追加することに関してスケーラブルな電子データ記憶システムに関する。その他の実施形態も説明され特許請求される。
今日の情報集約的環境においては、膨大な量のデジタルデータを記憶する必要のある、多くの企業およびその他の団体が存在する。それらには、ネットワークで結ばれた何千人もの従業員によって共有される企業内情報を記憶する大企業などの事業体、何百万もの製品に関する情報を記憶するオンライン販売業者、ならびに、大規模な文献の収集物を有する図書館および教育機関が含まれる。大規模データ記憶システムの使用に対する最近のニーズは、放送テレビジョンの番組編成市場にある。そのような業務は、テレビ番組の作成、編集、および放送のための古いアナログ技術から、全デジタルの手法へと推移しつつある。(コマーシャルなどの)コンテンツ自体がデジタルビデオファイルの形式で記憶されるのみでなく、放送のための準備における、番組およびコマーシャルの、編集およびシーケンシング(sequencing)も、強力なコンピュータシステムを使用してデジタル処理される。データ記憶システム内に記憶されてもよいその他のタイプのデジタルコンテンツとしては、地震予知のための地震探査データ、および地図作成のための衛星画像データが挙げられる。
メディアサーバと呼ばれる強力なデータ記憶システムが、カリフォルニア州サニーヴェール(Sunnyvale,California)のオムネオン・ビデオネットワークス(Omneon Video Networks)(本特許出願の譲受人)によって提供されている。メディアサーバは、サーバマシンのネットワーク上で実行されている複数のソフトウェア構成要素から構成される。サーバマシンは、データを記憶する回転磁気ディスクドライブなどの大容量記憶装置を有する。サーバは、ファイルの作成、書き込み、または読み出しの要求を受け入れ、そして、1つ以上のディスクドライブ内にデータを転送するプロセス、または要求された読み出しデータをそれらのディスクドライブから送り出すプロセスを管理する。サーバは、どのファイルがどのドライブに記憶されているかを追跡記録する。ファイルへのアクセス要求、すなわち、作成、書き込み、または読み出しの要求は、通常、サーバネットワークに接続されたクライアントマシン上で実行されていてもよい、クライアントアプリケーションプログラムと呼ばれるものから受信される。例えば、アプリケーションプログラムは、(システム内にデジタルビデオファイルとして記憶された)特定のビデオクリップを必要とする、テレビジョンスタジオのワークステーション上で実行されているビデオ編集のアプリケーションであってもよい。
ビデオデータは、例えばMotion Picture Experts Group(MPEG)フォーマットの形式の圧縮を使用したとしても、大容量である。したがって、そのような環境のためのデータ記憶システムは、数十テラバイト、またはそれよりも大きな記憶容量を提供するように設計される。さらに、高速データ通信リンクが、ネットワークのサーバマシンを接続するために使用され、そして場合によっては、システムへのアクセス用に100Gb/秒以上の共有総帯域幅を提供する特定のクライアントマシンと接続するためにも使用される。記憶システムは、さらに、複数のクライアントによるアクセスサービスを同時に提供することが可能である。
記憶システムの全体的コストの低減を支援するために、分散アーキテクチャが使用される。何百もの小さな、比較的低コストの、大量生産ディスクドライブ(現在では、各ユニットが100Gバイト以上の容量を有する)が、はるかに大きな総記憶容量に到達するように、一緒にネットワーク接続されてもよい。しかし、記憶容量のこの分散は、システム内で正常なアクセスを妨げる障害が発生する可能性も増加させる。そのような障害は、システムハードウェア内(例えば、ケーブル、コネクタ、ファン、電源、またはディスクドライブユニット)だけでなくソフトウェア内(特定のクライアントアプリケーションプログラムにおけるバグなど)も含むさまざまな異なる場所で、発生する可能性がある。他の場合ならばそのアクセスを阻止していたであろうディスク障害にもかかわらず、所与のアクセスサービスを提供するために(例えば、要求されたデータを利用可能にするために)、記憶システムは、redundant array of inexpensive disks(RAID)の形式で、冗長性を実装している。システムは、さらに、代替えドライブ内へ、故障したディスクドライブのコンテンツを再構築することも可能にする。
記憶システムは、さらに、複雑で広範囲なハードウェアおよびソフトウェアの交換を行う必要なしに、より大きなデータ記憶の要求、および増加するクライアント負荷に対処するために、容易に拡張するようにスケーラブルでなければならない。
本発明の実施形態は、限定のためではなく、例として、同様の参照符は同様の要素を示す添付の図面の図中に示されている。本開示における、本発明の「一(an)」実施形態への言及は、必ずしも同じ実施形態への言及とは限らず、そしてそれらは、少なくとも1つを意味していることに留意すべきである。
本発明の一実施形態は、容量、性能、およびデータ可用性の厳しい要求を、よりスケーラブルなアーキテクチャを使用して、より良く達成することが可能な、データ記憶システムである。図1は、ビデオおよびオーディオ情報処理環境の一部としての記憶システムを示す。しかし、以下に記載するデータ記憶システムならびにその構成要素または特徴は、代わりに、その他のタイプの適用例(例えば、図書館、地震探査データ処理センター、販売業者の製品カタログ、中央企業情報記憶など)において使用されてもよいということに留意すべきである。オムネオンコンテンツライブラリ(Omnion content library)(OCL)システムとも呼ばれる記憶システム102は、データ保護、ならびに、ハードウェアおよびソフトウェアの耐障害性と復旧とを提供する。
システム102は、さまざまな異なる形態を取ってもよく、クライアントマシンまたはクライアントネットワークを使用してアクセスされてもよい。例えば、メディアサーバ104によって、コンテンツファイル(この例では、MPEGおよび高品位(high definition)(HD)を含むさまざまなタイプのデジタルメディアファイル)が記憶されるように要求されてもよい。図1に示すように、メディアサーバ104は、そのようなファイルを作成するために、メディア処理の「インジェスト」段階では、標準的なデジタルビデオカメラ、テープレコーダ、および衛星フィードをインタフェースとしてもよい。代替として、クライアントマシンがインターネットなどの遠隔ネットワーク上にあってもよい。「プロダクション」段階においては、記憶されたファイルが、閲覧、編集、およびアーカイブのために、OCLシステムからクライアントマシンにストリーミングされてもよい。変更されたファイルは、次に、「プレイアウト」段階では、配信のために、システム102からメディアサーバ104へ、または、遠隔ネットワークを介して直接、送信されてもよい。
OCLシステムは、同時クライアントアクセスの数が増加するにつれて、または総記憶容量の要求が増加するにつれて拡張することが特に容易であるアーキテクチャを有する、比較的高性能、高可用性の記憶サブシステムを提供する。(図1におけるような)メディアサーバ104と(以下で説明する)コンテンツゲートウェイとの追加は、さまざまな送信元からのデータが1つの高性能/高可用性システムに集約され、それにより、企業が管理しなければならない記憶ユニットの総数を減らすることを可能にする。(さまざまなサイズのファイル、およびさまざまなクライアント負荷を含む)さまざまなタイプの作業負荷の処理が可能であることに加えて、システム102の実施形態は、自動負荷バランシング、高速ネットワークスイッチング相互接続、データキャッシング、およびデータ複製を含む特徴を有してもよい。本発明の一実施形態によれば、OCLシステムは、性能において、比較的小規模な、すなわち66テラバイト未満のシステム上での20Gb/秒から、より大規模な、すなわち1ペタバイトを超えるシステムの場合の600Gb/秒を超える性能まで、必要に応じて拡張する。直接接続されたクライアントにとって、これは、現在のところ、実際には60〜100メガバイト/秒の転送速度になり、コンテンツゲートウェイに接続されたクライアントにとっては、40〜60メガバイト/秒になる。そのような数は、当然ながら、OCLシステムの現在の能力の例にすぎず、請求される本発明の範囲全体を限定することを意図するものではない。
本発明の一実施形態は、停止することなく動作するために設計されたOCLシステムであって、記憶装置と、クライアントと、その構成要素間のネットワーキング帯域幅との拡張を、進行中のアクセスをシャットダウン、あるいは、それらのアクセスに影響を及ぼすことなく行うことが可能になるシステムである。OCLシステムは、障害となるただ1つの点(single point of failure)が存在しないように、十分な冗長性を有することが好ましい。OCLシステム内に記憶されたデータは複数の複製を有し、したがって、大容量記憶ユニット(例えば、ディスクドライブユニット)、さらにはサーバ全体が損なわれても、データを失うことはない。一般的なRAIDシステムとは異なり、OCLシステムの交換されたドライブユニットは、先の(故障した)ドライブと同じデータを含む必要はない。その理由は、ドライブの交換が実際に発生するまでには、関連するデータ(故障したドライブに記憶されていたファイルスライス)は、ファイルの作成時に始まったファイル複製のプロセスによって、すでに他の場所に保存されているからである。ファイルは、ハードウェア障害から保護するために、さまざまなドライブにわたって、システム内に複製される。これは、一時点における任意の1つのドライブの障害が、記憶されたファイルがシステムによって再構成されることが不可能になることはないことを意味し、その理由は、ファイルのいかなる失なわれたスライスも、他のドライブ内で依然として見つけることが可能だからである。複製は、さらに、ファイルをより多くのサーバからアクセス可能にすることによって、読み出し性能の向上を支援する。
大容量記憶ユニットの障害に加えて、OCLシステムは、任意のより大きな構成部分、または、さらには、構成要素全体(例えば、メタデータサーバ、コンテンツサーバ、およびネットワーキングスイッチ)の障害からの保護を提供できるかもしれない。以下で説明するように、それぞれのエンクロージャまたはラック内に配置された、サーバの3つ以上のグループを有するシステムなどのより大規模なシステムでは、エンクロージャまたはラック全体の障害の場合でもOCLシステムが動作を継続するような、十分な冗長性が存在する。
次に、図2を参照すると、本発明の一実施形態による、複数のクライアントに接続されたデータ記憶システムのシステムアーキテクチャが示されている。システムは複数のメタデータサーバマシンを有し、各メタデータサーバマシンは、システム内に記憶されている複数のファイルについてのメタデータを記憶する。そのようなマシン内で実行されているソフトウェアは、メタデータサーバ204と呼ばれる。メタデータサーバは、OCLシステムの動作の管理を担当してもよく、そして、クライアントにとっての最初の接点である。スマートクライアント208およびレガシークライアント210という、2つのタイプのクライアントが示されていることに留意されたい。スマートクライアントは、システムの現在のインタフェースの知識を有し、システムのシステム相互接続214(ここでは、例えば、Gb「イーサネット」ネットワーキングスイッチを含む)に直接接続することが可能である。システム相互接続は、図示されているように、複数のコンテンツサーバ216およびメタデータサーバ204の間の選択的ブリッジとして働いてもよい。もう一方のタイプのクライアントは、現在のファイルシステムドライバ(FSD)がインストールされていない、またはOCLシステムのために現在提供されているソフトウェア開発キット(SDK)を使用しない、レガシークライアントである。レガシークライアントは、OCLシステム専用ではない一般的なファイルシステムプログラミングインタフェースを使用して、図示されているようにプロキシまたはコンテンツゲートウェイ219を介して、システム相互接続214と間接的に通信を行う。
ファイルシステムドライバすなわちFSDは、OCLシステムにアクセスするための標準的なファイルシステムインタフェースを提示するクライアントマシン上にインストールされるソフトウェアである。他方、ソフトウェア開発キットすなわちSDKは、ソフトウェア開発者がOCLに、アプリケーションプログラムから直接アクセスすることを可能にする。この選択肢は、さらに、以下で説明する複製因子(replication factor)の設定などの、OCL固有の機能を、クライアントマシンのユーザが利用することを可能にする。
OCLシステムでは、ファイルは、通常、複数のコンテンツサーバにわたって記憶される際に、スライスに分割される。各コンテンツサーバプログラムは、1つ以上のローカルディスクドライブの独自の組を備えた異なるマシン上で実行される。これがシステムの記憶要素の好ましい実施形態である。したがって、ファイルの部分は、さまざまなディスクドライブにわたって、すなわちさまざまな記憶要素内に散在させられる。本実施形態では、スライスは、固定サイズが好ましく、従来のディスクブロックよりもはるかに大きく、それにより、大規模データファイル(例えば、現在では、大規模ビデオおよびオーディオメディアファイルに好適な、8Mバイト)に対してより良い性能を持たせることを可能にする。さらに、ファイルは、ハードウェア障害から保護するために、さまざまなドライブにわたって、システム内で複製される。これは、一時点における任意の1つのドライブの障害が、記憶されたファイルがシステムによって再構成されることが不可能になることはないことを意味し、その理由は、ファイルのいかなる紛失したスライスも、他のドライブ内で依然として見つけることが可能だからである。複製は、さらに、ファイルをより多くのサーバからアクセス可能にすることによって、読み出し性能の向上を支援する。どのファイルがどこに記憶されているか(または、ファイルのスライスがどこに記憶されているか)を追跡記録するために、各メタデータサーバプログラムは、新たに作成されたか、または以前に記憶されたファイルのファイル名と、そのスライスと、スライスを実際に含むシステムの記憶要素の識別情報との間の、マッピングを含むメタデータ(ファイルに関する情報)の知識を有する。
メタデータサーバは、コンテンツサーバのうちのどれが、実際のコンテンツまたはデータを記憶のために受信するのに利用可能であるかを決定する。メタデータサーバは、さらに、負荷バランスを取るように機能し、これはすなわち、帯域幅の制限により、または特定のコンテンツサーバがいっぱいになっていることにより、コンテンツサーバのうちのどれが新しいデータの部分を記憶するために使用されるべきで、どれが使用されるべきでないかの決定を行うことである。データ可用性およびデータ保護を支援するために、ファイルシステムメタデータは、複数回複製されてもよい。例えば、少なくとも2つのコピーが、各メタデータサーバマシン上に(そして、例えば、各ハードディスクドライブユニット上に1つ)記憶されてもよい。メタデータの複数のチェックポイントが、定期的に取られるべきである。チェックポイントは、システム内で実行中のファイルシステムまたはデータファブリックのポイントインタイムスナップショット(point in time snapshot)であり、システム復旧の場合に使用される。OCLシステムのほとんどの実施形態において、全体的なシステムの動作への影響が最小であるように、チェックポイントが発生するためには数分の時間しか必要とされないことが期待される。
通常の動作では、すべてのファイルアクセスは、メタデータサーバを介して開始または終了する。メタデータサーバは、例えば、ファイルオープン要求に対して、読み出しまたは書き込み動作のために利用可能なコンテンツサーバのリストを返すことによって応答する。それ以降は、そのファイルについてのクライアント通信(例えば、読み出し、書き込み)は、メタデータサーバではなく、コンテンツサーバに向けられる。OCL SDKおよびFSDは、当然、それらの動作の詳細がクライアントからは見えないようにする。上述のように、メタデータサーバは、ファイルおよびスライスの配置を制御して、コンテンツサーバのバランスのとれた利用を提供する。
図2には示していないが、OCLシステムのコンフィギュレーションおよび監視を担当する、例えば、独立したラックマウント式サーバマシン上で動作するシステムマネージャがさらに提供されてもよい。
OCLシステムのさまざまな構成要素間の、すなわち、コンテンツサーバおよびメタデータサーバ間の接続は、システム相互接続の障害の場合に必要な冗長性を提供しなければならない。比較的小規模なOCLシステムのシステム相互接続についての、論理的および物理的なネットワークトポロジをさらに示す図3を参照されたい。接続は、「イーサネット」規格によって享受される広範な業界から支持され、かつ、技術的にも成熟しているという利点を活用するように、OCLシステム全体にわたってGb「イーサネット」であることが好ましい。その利点は、より低いハードウェアコストですみ、より広範な技術要員によって熟知され、さらに、アプリケーション層においてより迅速に導入できるという利点をもたらすことが期待される。OCLシステムのさまざまなサーバ間の通信は、現在の、インターネットプロトコル(IP)ネットワーキング技術を使用することが好ましい。しかし、その他の相互接続ハードウェアおよびソフトウェアが、サーバ間でのパケットの転送に必要とされる速度をそれらが提供する限り代わりに使用されてもよい。
1つ以上のネットワークスイッチ(例えば、「イーサネット」スイッチ、インフィニバンドスイッチ)が、システム相互接続の部分として使用されることが好ましい。そのような装置は、自動的にネットワークを複数のセグメントに分割し、セグメント間を高速に選択するブリッジとして働き、ネットワーク帯域幅に関して他のコンピュータのペアと競合しないように複数のコンピュータのペアの同時接続をサポートする。そのような装置は、これを各宛先アドレスとそのポートとのテーブルを維持することによって達成する。スイッチは、パケットを受信したらパケット内のヘッダ情報から宛先アドレスを読み出し、送信元ポートと宛先ポートとの間で一時的な接続を確立し、パケットをその接続上で送信し、そして、次に、接続を終了してもよい。
スイッチは、コンピュータのペア間で複数の一時的なクロスオーバケーブル接続を確立していると考えることができる。スイッチ内の高速電子回路は、送信側コンピュータからの1つのケーブルの端(送信元ポート)を、受信側コンピュータに至る別のケーブルの端(宛先ポート)に、例えばパケットごとに、自動的に接続する。複数のこのような接続が、同時に発生してもよい。
図3のトポロジ例では、システムのさまざまな構成要素間の必要な接続を提供するために、マルチGb「イーサネット」スイッチ302、304、306が使用されている。現在の例では、1Gb「イーサネット」および10Gb「イーサネット」スイッチを使用し、クライアントは40Gb/秒の帯域幅を利用可能である。しかし、将来はさらに高速なスイッチが使用されてもよいため、これらは本発明の範囲を限定することを意図するものではない。図3のトポロジ例は、サブネットAおよびサブネットBという2つのサブネットを有し、サブネットAおよびサブネットB内にはコンテンツサーバが配置されている。各コンテンツサーバは2つのネットワークインタフェースを有し、1つはサブネットAへの、そしてもう1つはサブネットBへのネットワークインタフェースであり、それにより、各コンテンツサーバは、いずれのサブネットからでもアクセス可能になっている。サブネットケーブルにより、コンテンツサーバは2つのスイッチに接続され、各スイッチは、それぞれのサブネットに接続するポートを有する。これらの1Gb「イーサネット」スイッチのそれぞれは、10Gb「イーサネット」スイッチへの2回線10Gb「イーサネット」接続を有し、10Gb「イーサネット」スイッチは、さらに、クライアントマシンのネットワークに接続されている。
この例では、3つのメタデータサーバが存在し、それぞれのメタデータサーバは、1Gb「イーサネット」スイッチに、別個のインタフェースで接続されている。言い換えると、各1Gb「イーサネット」スイッチは、3つのメタデータサーバのそれぞれへ少なくとも1つ接続している。さらに、ネットワーキング配置は、プライベートリング1およびプライベートリング2と呼ばれる2つのプライベートネットワークが存在し、各プライベートネットワークは3つのメタデータサーバをそのノードとして備えている。メタデータサーバは互いに、リングネットワークのトポロジを用いて接続され、2つのリングネットワークは冗長性を提供する。メタデータサーバおよびコンテンツサーバは、本明細書で説明するような、メッシュネットワークのトポロジで接続されることが好ましい。図3の実施形態の物理的実装の例は、各コンテンツサーバを別個のサーバブレード内に実装し、すべてのサーバブレードを同じエンクロージャまたはラックの内部に実装するものである。「イーサネット」スイッチ、および3つのメタデータサーバも、同じラック内に配置されてもよい。本発明は、当然、1ラックの実施形態には限定されない。コンテンツサーバ、メタデータサーバ、およびスイッチで満たされた追加のラックが、OCLシステムを拡張するために追加されてもよい。
次に、図4を参照すると、OCLシステムのソフトウェアアーキテクチャの例が示されている。OCLシステムは、システムの複雑さが複数のクライアントマシンのユーザからは見えないようにするための、メタデータサーバマシン、コンテンツサーバマシン、および、クライアントマシンの一部またはすべてにおいて実行される分散ファイルシステムプログラムまたはデータファブリックを有している。言い換えると、ユーザは、この場合はオーディオおよび/またはビデオ情報の記憶および取り出しを、クライアントプログラムを介して要求してもよく、ファイルシステムまたはデータファブリックは、OCLシステムを、ユーザから1つの単純な記憶リポジトリとして見えるようにする。ファイルの作成、書き込み、または読み出しの要求は、ネットワーク接続されたクライアントから、メタデータサーバによって受信される。ファイルシステムソフトウェア、あるいは、この場合は、そのソフトウェアのメタデータサーバ部分は、受信した完全なファイル名に対応するスライスハンドルに変換し、スライスハンドルは、特定のファイルの構成要素のスライスが記憶されているまたは作成されるべきコンテンツサーバ内の位置を指す。記憶される実際のコンテンツまたはデータは、クライアントによって直接コンテンツサーバに示される。同様に、読み出し動作は、クライアントによってコンテンツサーバに直接要求される。
各コンテンツサーバマシンまたは記憶要素は、例えば回転磁気ディスクドライブユニットなどの、ローカル大容量記憶ユニットを1つ以上有してもよく、そして、その関連するコンテンツサーバプログラムが、その1つ以上のドライブ上への特定のスライスのマッピングを管理する。ファイルシステムまたはデータファブリックは、複製によって、ファイルの冗長性を実装する。好ましい実施形態では、複製動作はスライスレベルで制御される。コンテンツサーバは、クライアントを関与させずに、スライスの複製を達成し、スライスの書き込みの検証をお互いに取得するために、相互に通信を行う。
その上、ファイルシステムまたはデータファブリックは、複数のマシン間に分散させられているため、ファイルシステムは、それが存在している各マシン(それがコンテンツサーバであれ、クライアントであれ、メタデータサーバマシンであれ)の処理能力を使用する。図4の実施形態に関連して以下で説明するように、記憶容量を増加させるためにコンテンツサーバを追加すると、システム内のネットワークインタフェースの総数は自動的に増加し、これは、システム内のデータにアクセスするために利用可能な帯域幅も自動的に増加することを意味している。さらに、各コンテンツサーバマシン内の中央処理ユニットおよび関連するメインメモリの存在により、全体としてのシステムの処理能力も増加する。より多くのクライアントをシステムに追加することも、システム全体の処理能力を上昇させる。そのような拡張要素(スケーリング・ファクター、scaling factor)は、より多くのストレージおよびより多くのクライアントが追加されるにつれて、システムの処理能力および帯域幅は比例的に増加し、システムがより大きくなるにつれて動きが取れなくなることはないということが保証されることを意味している。
図4をさらに参照すると、メタデータサーバは、非アクティブなバックアップユニットであるのとは対照的に、システムのアクティブなメンバーであると考えられる。言い換えると、OCLシステムのメタデータサーバは同時にアクティブになり、そしてそれらは、意思決定において協働する。例えば、それらのメタデータサーバは、記憶されるファイルのスライスを複製する回数とどのドライブ上に複製するかを決定することにおいて協働する。例えば、1つのコンテンツサーバが故障した場合、そのコンテンツサーバ上に記憶されていたコンテンツは、各スライスに対して要求されている複製因子を維持するために、残っているコンテンツサーバから複製される。複製プロセスは、メタデータサーバによって管理される。複製プロセスは、メタデータサーバ間に等しく分配され、そして、各メタデータサーバが複製プロセスのその部分を担当する。クライアントの負荷がメタデータサーバ間に分散させられるため、これによりシステムがより多くのクライアントに対処できるように拡張することを可能にする。クライアント負荷がさらに増加するにつれて、追加のメタデータサーバが追加されてもよい。
本発明の一実施形態によれば、複製の量(「複製因子」とも呼ばれる)は、各ファイルと個別に関連付けられる。ファイル内のすべてのスライスは、同じ複製因子を共有することが好ましい。この複製因子は、ユーザによって動的に変更されてもよい。例えば、ファイルを開くためのOCLシステムのアプリケーションプログラミングインタフェース(API)関数は、複製因子を指定する引数を含んでもよい。冗長性および性能対記憶コストのこのきめの細かい制御は、ユーザが、各ファイルについて別個に決定を行うことと、ファイル内に記憶されているデータの変化する価値を反映するようにそれらの決定を時間とともに変更することと、を可能にする。例えば、OCLシステムが、放送されるべき一連のコマーシャルと生番組部分とを作成するために使用される場合、スポーツの試合の中間の休みに続く一番初めのコマーシャルは、特に高価なコマーシャルである可能性がある。したがって、ユーザは、そのようなコマーシャルファイルについての複製因子を、コマーシャルのプレイアウトの後までは一時的に増加させ、そして次に、コマーシャルが放送されたら複製因子を適切なレベルに戻るように減少させることを望むかもしれない。
本発明の別の実施形態によれば、OCLシステム内のコンテンツサーバは、グループにまとめられる。グループは、スライスの複製の位置についての決定を行うために使用される。例えば、物理的に同じ装置ラックまたはエンクロージャ内にあるコンテンツサーバのすべてが、1つのグループ内に配置されてもよい。ユーザは、したがって、エンクロージャ内のサーバマシンの配線に基づいて、コンテンツサーバ間の物理的関係をシステムに指示してもよい。スライスの複製は、次に、2つの複製がコンテンツサーバの同じグループ内にあることがないように、散在させられる。これは、OCLシステムが、ラック全体を巻き込み得るハードウェア障害に対する耐性を有することを可能にする。
[複製]
スライスの複製は、コンテンツサーバの間で内部的に処理されることが好ましい。クライアントは、したがって、それらのファイルの複数のコピーを書き込む追加の帯域幅を費やすことは要求されない。本発明の一実施形態によれば、OCLシステムは、書き込まれているファイルについての実際の複製因子よりも少ない数の複製の書き込みの確認応答(acknowledgement)を、クライアントが要求することができる確認応答の方式を提供する。例えば、複製因子は数百であってもよく、その結果、何百もの複製についての確認応答を待つことにより、クライアントの処理に大幅な遅延がもたらされる。これは、クライアントが、書き込みの速さとファイルデータの保護レベルの確実性とをトレードオフすることになるかもしれない。速度に敏感なクライアントは、少数の複製のみが作成された後に確認応答を要求してもよい。対照的に、書き込みに敏感なクライアントまたは価値の高いデータを書き込むクライアントは、指定された数の複製がすべて作成された後にのみ、コンテンツサーバによって確認応答が提供されることを要求してもよい。
[インテリジェントスライス]
本発明の一実施形態によれば、ファイルは、OCLシステム内に記憶される際に、スライスに分割される。好ましい場合、スライスは、一般的なRAIDまたはストレージエリアネットワーク(SAN)システム内で使用される従来のディスクブロックまたはストライプとは対照的な、インテリジェントなオブジェクトであると考えることができる。インテリジェンスは、少なくとも2つの特徴に由来する。第1に、各スライスは、ファイル(そのファイルのデータをそのスライスが保持する)に関する情報を含んでいてもよい。これによりスライスは自己の位置が(self−locating)決められる。第2に、各スライスは、チェックサム情報を保持してもよく、これによりスライスは自己検証(self−validating)する。従来のファイルシステムで、(ハードウェア障害またはその他の障害により)ファイルデータの位置を示すメタデータが失われた場合、ファイルデータはファイルの断片を継ぎ合わるための骨の折れる手作業によってのみ、回復することが可能である。本発明の一実施形態によれば、OCLシステムは、スライス自体の中に記憶されたファイル情報を使用して、自動的にファイルを継ぎ合わせることが可能である。これは、OCLシステムにおける複製機構に加えて、追加の保護を提供する。従来のブロックまたはストライプとは異なり、スライスは集中型のデータ構造における破損によって失われることはありえない。
ファイルコンテンツ情報に加えて、スライスは、スライス作成の瞬間に作成することができるチェックサム情報も保持する。このチェックサム情報は、スライスとともに存在するように命じられ、そして、スライスが複製される際に、スライスとともにシステム全体にわたって運ばれる。チェックサム情報は、すべての複雑な電子システム内に一般に存在するランダムなハードウェアエラーによってスライス内のデータが破損してはいないことの検証を提供する。コンテンツサーバは、それらの中に記憶されているすべてのスライスについて、読み出しとチェックサム計算の実行とを継続的に行うことが好ましい。これは、データの破損のアクティブ検査とも呼ばれる。これは、スライスデータがクライアントによって要求される前に事前の警告を提供するタイプのバックグラウンドの検査活動であり、したがって、ファイル読み出しの間にエラーが発生する可能性が減少し、そして、他の場合ならばスライスの複製が破損したままになっている可能性がある時間を少なくする。
[スケーラブルなネットワークトポロジ]
本発明の別の実施形態によれば、OCLデータ記憶システムなどのマルチノードコンピュータシステムは、図5に示すような物理的なネットワークトポロジを有する。示されているのは、スイッチングネットワーク相互接続の冗長性が、(例えば、記憶容量またはクライアント帯域幅が増加する際の)システムの複雑さに対応することを確実にするのを支援するスケーラブルな分散スイッチングファブリックである。本発明の一実施形態によれば、より多くのデータ記憶サーバラックがシステムに追加されるにつれて、スイッチングファブリックは比例的に増加し、システムを構成するラック間に分散させられる。例えば、記憶サーバユニットの数が2倍になった場合、それらの記憶サーバユニットにサービスを提供する「内部」スイッチの数も同様に2倍になる。以下で説明する例から理解されるように、これは、ユニット間の帯域幅も2倍になり、それにより、記憶容量の増加に対応する。例として、図5は、8つのサーバグループ508が存在するOCLデータ記憶システムの、ネットワークトポロジのブロック図を示す。各サーバグループ508に、内部スイッチ510が関連付けられている。各サーバグループは複数のデータ記憶サーバを有し、OCLシステム内に記憶されるファイルは、さまざまなグループ内のそのようなサーバのうちの2つ以上にわたって散在させられる。サーバグループ508内のデータ記憶サーバは、それらの関連する内部スイッチ510に通信可能に結合される。例えば、サーバグループ508は、冗長リンク511を介して内部スイッチ510に接続された2つ以上のコンテンツサーバ(コンテンツサーバ)を有してもよい。リンク511は、「イーサネット」ケーブルのペアを含んでもよく、各ケーブルは、一方の端がコンテンツサーバのポートに接続され、もう一方の端は、内部スイッチの別個のネットワークインタフェースポートに接続される。例として、各ネットワークインタフェースポートは、10Gb「イーサネット」ポートであってもよい。
内部パケットスイッチ510のそれぞれは、外部パケットスイッチ512_1に通信可能に結合される。この例では、外部スイッチ512は、8つのサーバグループによって(各グループによって2つ)使用されている16のポートを有する。外部スイッチ512は、記憶システムへのクライアントアクセスを提供するために、クライアントマシン(図示せず)に通信可能に結合された追加のポート(図示せず)を有する。このトポロジにおいては、データ記憶サーバへのクライアントアクセスは、その記憶サーバの関連する内部パケットスイッチ510と外部スイッチ512とを経由することに留意されたい。各サーバグループ508のデータ記憶サーバは、物理層において、(外部スイッチ512とではなく)それらのそれぞれの内部パケットスイッチ510と通信する。
冗長性のために、追加の外部スイッチ512_2が、図示されているようにシステムに追加されてもよい。その場合、各内部スイッチ510を外部スイッチ512_2に、例えば、外部スイッチ512_2内のそれぞれのポートペアに、ケーブルペアを介して接続されたさらなるポートペアを経由して接続するさらなる冗長リンク513が存在する。データ記憶サーバへの冗長クライアントアクセスの提供(明確にするために再度述べると、図5には、外部スイッチ512_2から、いかなるクライアントマシンへの接続も図示されていない)に加えた、第2の外部スイッチ512_2の提供は、システムへのクライアントアクセスのために利用可能な帯域幅をさらに増加させる。
内部スイッチ510および外部スイッチ512のそれぞれは、独自の電源と、プロセッサと、メモリと、ポートと、パケット転送テーブル(packet forwarding table)とを含む、別個のエンクロージャ内にあることが好ましいということに留意すべきである。代替として、各内部スイッチ510は、マルチGb「イーサネット」ケーブルのペアによって相互に通信可能に結合された、別個のスイッチエンクロージャのペアであってもよい。したがって、各内部スイッチ510は、1つ以上の別個のスイッチエンクロージャから構成されてもよい。各スイッチエンクロージャは、標準的な電気通信ラックまたは装置キャビネット内に搭載可能な、1U高さの積み重ね可能スイッチユニットであってもよい。
図5に示すネットワークトポロジの拡張性(スケーラビリティ、scalability)を説明するために、図6は、システム内のサーバグループ508の数が2倍に、この場合は、8から16になった例を示す。トポロジは、サーバグループ508の数を2倍にするには、内部スイッチ510の数を2倍にすることを必要とするものである。さらに、サーバグループ508と通信するために実際に使用される外部スイッチ612内のポートの数も2倍になる。外部スイッチ612は、この場合、16のサーバグループと(それらのそれぞれの内部スイッチ510を介して)通信可能に結合するための32のネットワークインタフェースポートを有する。
したがって、図5に示す本発明の一実施形態によれば、ネットワークトポロジは、記憶容量が増加させられるにつれて、直線的または比例的に拡張(スケーリング、scaling)されることがわかる。この場合、サーバグループの数を2倍にすることにより、OCLシステムの記憶容量を2倍にすることが期待される。これは、さらに、(例えば、16ポートの外部スイッチ512を32ポートの外部スイッチ612に交換して)外部スイッチ内のポートの数を2倍にし、したがって、以下で説明するように、サーバグループまたはクラスタ間の帯域幅を含むシステムの内部帯域幅を比例的に増加させる。
図5および図6のネットワークトポロジの拡張性を別の方法で説明するために、以下の例を、図13のフロー図と組み合わせて考慮する。この図は、複数の既存のサーバグループ(例えば、サーバグループ508_1...、508_8、図5参照)を有するデータ記憶システムが提供される、動作1304から始まる方法を示す。この例では、既存のサーバグループの数は8である。動作1308において、既存の16ポート外部スイッチ512が、一度に1つずつ32ポートスイッチ612にそれぞれ交換される。2つの外部スイッチ512_1、512_2における冗長性は、スイッチ交換プロセスの全体を通して、システムが、クライアント要求へのサービスの提供を継続することを可能にする。
動作1316において、複数のアップグレードサーバグループと、複数のアップグレード内部パケットスイッチとが提供される。アップグレードが、サーバグループ508_9...、508_16と、内部パケットスイッチ510_9...、510_16とを含む、図6を例として参照されたい。アップグレード内部パケットスイッチのポートが、次に、外部パケットスイッチ612_1、612_2の複数の利用可能なポートに接続される(動作1318)。少なくとも2つの、そしてより一般的には、好ましくは常に2のべき乗(すなわち、2、4、8、その他)の個数の外部スイッチ512_1、512_2が存在するため、(上述の)アップグレードプロセスが行われる順序はほとんど重要ではなく、外部スイッチが一度に1つずつ交換される限りシステムの機能を低下させることはない。これに加えて、2倍のサイズの内部スイッチを使用すれば、2つの既存のサーバグループが併合されることが可能になる。4倍のサイズのスイッチを使用すれば、4つの既存のサーバグループが、併合されることが可能であり、すなわち、外部スイッチと通信するために同じ内部スイッチを共有するようになる。各外部または内部スイッチは、好ましくは、その独自のエンクロージャと、電源と、プロセッサと、メモリと、転送テーブルとを有する(例えば、別個のラックマウント式マルチGb「イーサネット」またはインフィニバンドスイッチ)。
次に、図7を参照すると、本発明の一実施形態による、サーバグループと内部スイッチとを組み合わせたさまざまな構成要素の間の物理的接続を示すブロック図が示されている。この場合におけるサーバグループは、その独自の別個のエンクロージャ内に、例えば、少なくとも41のスロットを備えた1つのテルコラックまたは装置キャビネット内に、収容されることが好ましい。この例では、それらのスロットのうちの36のスロットのみが、36のコンテンツサーバ(CS)マシンによって埋められており、各CSマシン704は、独自の別個のエンクロージャを備えた別個のサーバブレードである。CSマシン704のそれぞれは、ネットワークインタフェースポートのペアを介して、2つのアダプタスイッチ708のうちの1つに接続される。アダプタスイッチ708は、この例では、36のCSマシン704にそれぞれ接続された36の低帯域幅(例えば、1Gb「イーサネット」)のポートを持つ帯域幅アダプタスイッチである。さらに、アダプタスイッチ708の1つの低い帯域幅のポートは、2つのメタデータサーバ(MDS)マシンのポートのうちの1つに接続される。言い換えると、1つのメタデータサーバマシン710は、2つのポートを有し、各ポートは、別個のアダプタスイッチ708に接続される。
各アダプタスイッチ708は、内部スイッチ510_1_A、510_1_Bの両方につながる高帯域幅(例えば、10Gb「イーサネット」)の別個のペアにより、接続される。これらのスイッチのそれぞれは、外部スイッチ(例えば、外部スイッチ512または612)に接続された1つ以上の高帯域幅のポートを備えている。
図7の実施形態では、1つのグループ内のデータ記憶サーバが、外部スイッチを通過することなしに別のグループのデータ記憶サーバと通信できるように、追加の通信リンクが提供されてもよい。「クラスタ」は、本明細書で使用する場合、相互に通信するために内部スイッチに接続され、そして内部スイッチを実際に共有する2つ以上のサーバグループを意味する。例えば、図7において、追加リンク716、718のそれぞれは、アダプタスイッチ708_1、708_2のうちの1つを、隣接するラックのアダプタスイッチに接続する10本の「イーサネット」ケーブルの組である。これは、図8において、2つのラックのクラスタについて示されている。ラック内に収容されているサーバグループのデータ記憶サーバは、この図によって示されているポイントをわかりにくくしないために、図示されていないことに留意されたい。この実施形態では、各ラックのアダプタスイッチ708_1、708_2に、各高帯域幅の内部スイッチ510_1_A、510_1_Bから2つのポートが使われる。内部スイッチ510_1_A、510_1_Bが、それぞれ、追加の4ポートを新しいアダプタスイッチ(それらは、同じ帯域幅を持つものであってもよい)として利用可能にすることができるならば、図8のクラスタは4ラックに拡張することができる。例えば、各内部スイッチ510_1_A、510_1_Bが、合計10ポートを備えている場合、2ラックから4ラックへの拡張は、クライアント帯域幅を同じにする(この場合、各内部スイッチ510_1_A、510_1_Bについて、2つのマルチGb「イーサネット」ポートに留まる)。
次に、図9を参照すると、拡張性を向上させ冗長性を維持するために、相互に通信可能に結合されたクラスタおよび外部パケットスイッチのネットワークトポロジを有する本発明の別の実施形態によるデータ記憶システムのブロック図が示されている。この場合は、システム内に8つのみのクラスタ904が存在しているが、一般には、2つ以上のクラスタ904が存在すればよい。各クラスタ904は図8によるものであってもよく、ここで、各クラスタは、2つ以上のサーバグループ(例えば、各グループは別個のラック内)と、1つの共有内部パケットスイッチとを備える。各クラスタの内部パケットスイッチは、外部パケットスイッチ908の各1つに対して、別個のパケット伝送リンク907によって接続される。言い換えると、クラスタ1は、4つのすべての外部スイッチ908_1...、908_4それぞれに、4つの伝送リンク907_1...、907_4によって接続され、そして、4つのすべての外部スイッチ910_1、...、910_4に、4つの伝送リンク909_1、...、909_4を介して接続される。この実施形態では、したがって、8つのすべてのクラスタを4つの外部スイッチ908に接続する32の伝送リンクが存在する。上述のように、各伝送リンクは、別個のマルチGb「イーサネット」ケーブルから構成されてもよく、ここで、各ケーブルの一方の端は、内部スイッチのネットワークインタフェースポートに接続され、他方の端は、外部スイッチのネットワークインタフェースポートに接続される。
図9に示すトポロジの拡張性を説明するために、以下の例を考慮する。システムは4つのみのクラスタを有して出荷され、各外部スイッチ908、910は、そのポートの半分が、将来の拡張のために利用可能であり、すなわち、最初の4つのクラスタのいずれにも接続されていない。
次に、システムは、4つの追加のクラスタ904_5、...904_8を使用してアップグレードされると仮定する。各追加のクラスタは、図9に示すように、システムの既存の外部パケットスイッチに通信可能に結合される8つのポートを有する。これらのポートのうちの半分、すなわち、それらのポートのうちの4つは、それぞれ4つの外部スイッチ908に接続され、残りの4つは、それぞれ4つの外部スイッチ910に接続される。そのような例では、アップグレードには、既存のシステムの既存の外部または内部スイッチのうちのいずれを置き換えることも含まない。
次に、図10を参照すると、本発明の一実施形態によるネットワークトポロジを有し、そして図11に示すように50%だけアップグレードされる、データ記憶システムが示されている。図10では、既存のシステムは、データ記憶サーバの2つのラックを備えた1つの既存のクラスタを有する。1個の8ポート内部スイッチ510は、2つのラックによって、その個々のアダプタスイッチ808、810を介して共有される。冗長リンクの2つのペアが、クラスタを6ポート外部スイッチ908に接続する。クライアントアクセスのために利用可能な帯域幅は、外部スイッチ908の2ポートである。
次に、システムは約50%だけアップグレードされる、すなわち、1つのアップグレードラックが追加されると仮定する(図11参照)。アップグレードラックは、クラスタの既存のラックと本質的に同じであってもよい。しかし、アップグレード中に、8ポートの内部スイッチ510は、12ポートを有するもの(820)に置き換えられる(アップグレードスイッチ820のポートが、既存のスイッチのポートとほぼ同じ帯域幅を有すると仮定すると、帯域幅の約50%の増加)。アップグレードラックは、アップグレード内部スイッチ820に接続される。言い換えると、アップグレードされたクラスタを作成するために、アップグレードラックは既存のクラスタと併合される。さらに、使用中の6つのポートを有する既存の外部スイッチは、システムによって使用される9つのポートを有するアップグレード外部スイッチ824に置き換えられる。したがって、ネットワークトポロジは、ラック内のサーバと外部スイッチとの間の内部帯域幅のみにおける直線的または比例的な増加だけでなく、クライアントネットワークと接続するために利用可能な帯域幅における直線的または比例的な増加も発生させるということがわかる。図10および図11では、システムは、1つの外部スイッチおよび1つのクラスタのみを使用して示されているが、拡張手法は、上述の図9に示すものなどの、複数の外部スイッチと複数のクラスタとを備えたより大規模なシステムにも等しく適用可能であることに留意されたい。例えば、各クラスタの内部スイッチを、2倍の数のポートを有するものに置き換える場合、2つの既存のクラスタが併合されてもよい。代わりに、4倍のサイズの内部スイッチが提供される場合、4つの既存のクラスタが併合されてもよい。この操作に続いて、既存の外部スイッチが、2倍、4倍などの数のポートを備えたものに置き換えられてもよい。ここでも、少なくとも2つの外部スイッチがあるため、それらは、外部スイッチの置き換え全体を通じて、システムが機能を維持している間に、一度に1つずつ置き換えられてもよい。
次に、図12を参照すると、本発明の別の実施形態による、データ記憶システムのネットワークトポロジが示されている。図12は、16のサーバグループ508_1...、508_16から、32のサーバグループ508_1...、508_32にアップグレードされた後の記憶システムを示す。アップグレードのための追加ハードウェア、すなわち、サーバグループ508_17...、508_32、内部スイッチ510_17...、510_32、および外部スイッチ612_3、612_4は、点線の右側に示されている。既存のシステムでは、各サーバグループ508_1...、508_16は、外部スイッチ612_1および612_2のそれぞれに、10Gb「イーサネット」リンクの別個のペアを介して通信可能に結合されていることに留意されたい。しかし、アップグレードに伴い、各既存のペアのリンクのうちの1つが切断され、次に、外部スイッチ612_3または612_4のポートに再接続されている。この場合、したがって、内部スイッチと外部スイッチとの間の帯域幅は、アップグレードしても同じままとなり、しかしパケットトラフィックは、既存の外部スイッチ612_1とアップグレード外部スイッチ612_3との間で分配される。これは、アップグレード内部スイッチ510_17...、510_32と、既存のおよびアップグレード外部スイッチとの間の帯域幅についても当てはまる。つまり、アップグレードに伴い、この場合、記憶容量が2倍になったのと同様に、サーバグループと外部スイッチとの間の総内部帯域幅も2倍になっている。さらに、アップグレード外部スイッチが、クライアントマシンまたはクライアントネットワークと接続するためのポートを、既存の外部スイッチが有するのと少なくとも同じ数だけ有すると仮定すると、クライアントネットワークへの帯域幅も倍になっている。既存のサーバグループは、現在では、既存のおよびアップグレードスイッチの両方に接続されていることに留意されたい。アップグレードサーバグループも、既存のおよびアップグレード外部スイッチの両方に接続されている。
さまざまなネットワークトポロジの物理的接続に関する上記の説明は、データ記憶サーバマシン内で実行中のソフトウェアが、例えばそれぞれのIPアドレスによって、システム内の他のデータ記憶サーバマシンに、パケットスイッチング相互接続を介して、どのようにアクセスするかを認識していると仮定している。システムの各ノードに、システム内のその他のノードのアドレスを認識させるための、周知のアルゴリズムが用いられてもよい。その上、内部および外部スイッチ内の経路選択および/または転送テーブルは、問題経路を回避し、代わりに、パケットをその送信元からその示された宛先アドレスに配信するための最も効率的な経路を選択するために既知の経路選択アルゴリズムが用いられてもよい。
本発明の一実施形態は、上述の動作のうちの一部を実行するように1つ以上のプロセッサをプログラムする命令が記憶された機械で読み取り可能な媒体であってもよい。他の実施形態では、それらの動作のうちの一部は、ハードウェアロジックを含む特定のハードウェア構成要素によって実行されてもよい。それらの動作は、代わりに、プログラムされたコンピュータ構成要素とカスタム化されたハードウェア構成要素との任意の組み合わせによって実行されてもよい。
機械読み取り可能な媒体は、コンパクトディスク読み出し専用メモリ(CD−ROM)、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラム可能読み出し専用メモリ(EPROM)、およびインターネット上の伝送に限定されない、マシン(例えば、コンピュータ)による読み出しが可能な形態で情報を記憶または伝送するための任意の機構を含んでもよい。
本発明は、上述の特定の実施形態に限定されない。例えば、OCLシステムは、大容量記憶ユニットとして回転磁気ディスクドライブのみを使用する現在のバージョンを用いて説明したが、磁気ディスクドライブの代替が、システムに必要な速度、記憶容量、およびコストの要求をそれらが満たす限り可能である。したがって、その他の実施形態が特許請求の範囲に含まれる。
ビデオ処理環境の一部として使用されている、本発明の一実施形態による、データ記憶システムを示す。 本発明の一実施形態による、データ記憶システムのシステムアーキテクチャを示す。 データ記憶システムの一実施形態のネットワークトポロジを示す。 本発明の一実施形態による、データ記憶システムのソフトウェアアーキテクチャを示す。 8つのサーバグループを有するデータ記憶システムの、ネットワークトポロジのブロック図を示す。 8つから16のサーバグループにアップグレードされたデータ記憶システムの、ネットワークトポロジのブロック図を示す。 サーバグループと内部スイッチとの組み合わせの例の、さまざまなハードウェア構成要素の間の物理的接続のブロック図である。 クラスタの例のブロック図を示す。 クラスタを使用するデータ記憶システムの、別のネットワークトポロジのブロック図を示す。 本発明の一実施形態によるネットワークトポロジを有するデータ記憶システムの例を示す。 本発明の一実施形態によるネットワークトポロジを有するデータ記憶システムの例を示す。 本発明の別の実施形態による、データ記憶システムのネットワークトポロジを示す。 本発明の一実施形態による、スケーラブルなデータ記憶システムを提供するための方法のフロー図である。

Claims (14)

  1. データ記憶システムであって、
    第1の複数のサーバグループであって、各グループは複数のデータ記憶サーバを有し、ファイルが、複数のスライスに分割され、該分割されたスライスが前記グループの前記データ記憶サーバのうちの2つ以上にわたって散在させられることによって、前記データ記憶システム内に記憶される第1の複数のサーバグループと、
    前記第1の複数のサーバグループの前記データ記憶サーバがそれぞれ、通信可能に結合された第1の複数の内部パケットスイッチと、
    前記複数の内部パケットスイッチに通信可能に結合された第1の外部パケットスイッチであって、前記ファイルのスライスをリード又はライトするための前記データ記憶サーバのそれぞれへのクライアントアクセスが、前記第1の外部パケットスイッチと前記前記内部パットスイッチのうちの1つとを接続するケーブルにより構成された伝送リンクを経由する第1の外部パケットスイッチとを含むことを特徴とするデータ記憶システム。
  2. 各グループ内の前記データ記憶サーバは、メタデータサーバと複数のコンテンツサーバとを含み、
    前記ファイルが分割されたスライスは、メタデータサーバによって決定されたとおりに前記データ記憶システム内の前記コンテンツサーバのうちの2つ以上にわたって散在させられることによって、前記データ記憶システム内に記憶され、
    前記メタデータサーバが第1の複数の内部パケットスイッチに接続されており、ファイルオープンをリクエストするための前記メタデータサーバへのクライアントアクセスは、前記第1の外部パケットスイッチと前記内部パケットスイッチのうちの1つとを接続する伝送リンクを経由することを特徴とする請求項1に記載のデータ記憶システム。
  3. 各グループ内の前記データ記憶サーバは、物理層において、前記第1の外部パケットスイッチではなく、前記内部パケットスイッチのうちのそれぞれの1つと通信を行うことを特徴とする請求項2に記載のデータ記憶システム。
  4. 前記内部パケットスイッチのうちの1つを介した前記データ記憶サーバのそれぞれへの冗長クライアントアクセスを提供するために、前記複数の内部パケットスイッチに通信可能に結合された第2の外部パケットスイッチをさらに備えたことを特徴とする請求項3に記載のデータ記憶システム。
  5. 複数のアダプタスイッチをさらに備え、
    各アダプタスイッチは、a)前記サーバグループのうちのそれぞれの1つの前記データ記憶サーバと、b)前記内部パケットスイッチのうちのそれぞれの1つとの間に通信可能に結合され、
    各アダプタスイッチは、a)前記それぞれのサーバグループの前記データ記憶サーバに結合された複数の低帯域幅ポートと、b)前記それぞれの内部パケットスイッチに結合された複数の高帯域幅ポートとを有することを特徴とする請求項4に記載のデータ記憶システム。
  6. 複数のアダプタスイッチをさらに備え、
    各アダプタスイッチは、a)前記サーバグループのうちのそれぞれの1つの前記データ記憶サーバと、b)前記内部パケットスイッチのうちのそれぞれの1つと、の間に通信可能に結合され、
    各アダプタスイッチは、a)前記それぞれのサーバグループの前記データ記憶サーバに結合された複数の低帯域幅ポートと、b)前記それぞれの内部パケットスイッチに結合された複数の高帯域幅ポートとを有することを特徴とする請求項1に記載のデータ記憶システム。
  7. 前記サーバグループのそれぞれは、独自の電源およびファンを含む別個のエンクロージャを含むことを特徴とする請求項1に記載のデータ記憶システム。
  8. 前記別個のエンクロージャは、サーバラックであることを特徴とする請求項7に記載のデータ記憶システム。
  9. データ記憶システムであって、
    第1の複数のクラスタであって、各クラスタは複数のサーバグループと1つの内部パケットスイッチとを有し、クラスタ内の各サーバグループは、前記クラスタの前記内部パケットスイッチに通信可能に結合された複数のコンテンツサーバと1つのメタデータサーバとを有し、ファイルが、複数のスライスに分割され、該分割されたスライスがメタデータサーバによって決定されたとおりに2つ以上のコンテンツサーバにわたって散在させられることによって、前記データ記憶システム内に記憶される第1の複数のクラスタと、
    第1の複数の外部パケットスイッチであって、それぞれが、前記複数のクラスタに、各クラスタの前記内部パケットスイッチを介して通信可能に結合され、前記ファイルのスライスをリード又はライトするための、前記クラスタ内の前記複数のコンテンツサーバそれぞれへのクライアントアクセスが、前記第1の外部パケットスイッチと前記クラスタの内部パケットスイッチとを接続するケーブルにより構成された伝送リンクを経由する第1の複数の外部パケットスイッチとを備えたことを特徴とするデータ記憶システム。
  10. 前記外部パケットスイッチは、イーサネット(登録商標)スイッチであることを特徴とする請求項9に記載のデータ記憶システム。
  11. 前記外部パケットスイッチは、インフィニバンドスイッチであることを特徴とする請求項9に記載のデータ記憶システム。
  12. 第2の複数の外部パケットスイッチであって、それぞれが、前記複数のクラスタに各クラスタの前記内部パケットスイッチを介して通信可能に結合された第2の複数の外部パケットスイッチをさらに備えたことを特徴とする請求項9に記載のデータ記憶システム。
  13. 前記外部パケットスイッチのそれぞれはN個のポートを有し、前記N個のポートのうちの半分は、それぞれ、前記複数のクラスタに結合されており、そして前記N個のポートのうちの半分は利用可能であることを特徴とする請求項9に記載のデータ記憶システム。
  14. 第2の複数のクラスタであって、各クラスタは、前記外部パケットスイッチの前記利用可能なポートに通信可能に結合されたN/2個のポートを有する第2の複数のクラスタをさらに含むことを特徴とする請求項13に記載のデータ記憶システム。
JP2008558390A 2006-03-08 2007-03-06 スケーラブルなデータ記憶システムのためのネットワークトポロジ Active JP4934790B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/371,678 US20070214105A1 (en) 2006-03-08 2006-03-08 Network topology for a scalable data storage system
US11/371,678 2006-03-08
PCT/US2007/005902 WO2007103483A1 (en) 2006-03-08 2007-03-06 Network topology for a scalable data storage system

Publications (2)

Publication Number Publication Date
JP2009529295A JP2009529295A (ja) 2009-08-13
JP4934790B2 true JP4934790B2 (ja) 2012-05-16

Family

ID=38229182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008558390A Active JP4934790B2 (ja) 2006-03-08 2007-03-06 スケーラブルなデータ記憶システムのためのネットワークトポロジ

Country Status (4)

Country Link
US (1) US20070214105A1 (ja)
EP (1) EP1991936B1 (ja)
JP (1) JP4934790B2 (ja)
WO (1) WO2007103483A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7860026B2 (en) * 2007-03-07 2010-12-28 Hewlett-Packard Development Company, L.P. Network switch deployment
US8458285B2 (en) 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US7599997B1 (en) 2008-08-01 2009-10-06 Gene Fein Multi-homed data forwarding storage
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US7636759B1 (en) 2008-09-29 2009-12-22 Gene Fein Rotating encryption in data forwarding storage
US7636761B1 (en) 2008-09-29 2009-12-22 Gene Fein Measurement in data forwarding storage
US7636760B1 (en) 2008-09-29 2009-12-22 Gene Fein Selective data forwarding storage
US8386585B2 (en) 2008-04-25 2013-02-26 Tajitshu Transfer Limited Liability Company Real-time communications over data forwarding framework
US8452844B2 (en) 2008-05-07 2013-05-28 Tajitshu Transfer Limited Liability Company Deletion in data file forwarding framework
US8599678B2 (en) 2008-07-10 2013-12-03 Tajitshu Transfer Limited Liability Company Media delivery in data forwarding storage network
US8370446B2 (en) 2008-07-10 2013-02-05 Tajitshu Transfer Limited Liability Company Advertisement forwarding storage and retrieval network
US8478823B2 (en) 2008-09-29 2013-07-02 Tajitshu Transfer Limited Liability Company Selective data forwarding storage
US8352635B2 (en) 2008-09-29 2013-01-08 Tajitshu Transfer Limited Liability Company Geolocation assisted data forwarding storage
CA2673554C (en) * 2009-07-21 2017-01-03 Ibm Canada Limited - Ibm Canada Limitee Web distributed storage system
US20140149785A1 (en) * 2011-10-25 2014-05-29 M. Scott Bunker Distributed management
US10326638B2 (en) * 2011-10-31 2019-06-18 Hewlett Packard Enterprise Development Lp Implementing an energy proportional network architecture from desired network criteria
CN103297354B (zh) * 2012-03-02 2017-05-03 日电(中国)有限公司 服务器互连系统、服务器和数据转发方法
US20130254248A1 (en) * 2012-03-23 2013-09-26 Alcatel-Lucent Usa Inc. Method And Apparatus For A Distributed File System In A Cloud Network
US9104639B2 (en) * 2012-05-01 2015-08-11 SEAKR Engineering, Inc. Distributed mesh-based memory and computing architecture
US9075820B2 (en) 2012-07-30 2015-07-07 Hewlett-Packard Development Company, L.P. Distributed file system at network switch
US9678839B2 (en) 2014-09-12 2017-06-13 Microsoft Technology Licensing, Llc Scalable data storage pools
US10698780B2 (en) * 2016-08-05 2020-06-30 Nutanix, Inc. Implementing availability domain aware replication policies
RU2656739C1 (ru) * 2017-10-04 2018-06-06 Общество с ограниченной ответственностью "ИНТЕЛЛЕКТУАЛЬНЫЙ РЕЗЕРВ" Способ и система хранения данных
US11409892B2 (en) * 2018-08-30 2022-08-09 International Business Machines Corporation Enhancing security during access and retrieval of data with multi-cloud storage
US11722363B2 (en) * 2019-07-01 2023-08-08 Nippon Telegraph And Telephone Corporation Exchange management apparatus, exchange management method, and program
WO2021216298A1 (en) * 2020-04-21 2021-10-28 Duplicent, Llc Internet storage

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240949A (ja) * 2002-11-26 2004-08-26 Hitachi Ltd クラスタ型ストレージシステム及びその管理方法
JP2005502096A (ja) * 2001-01-11 2005-01-20 ゼット−フォース コミュニケイションズ インコーポレイテッド ファイルスイッチ及び交換ファイルシステム
JP2005530280A (ja) * 2002-06-13 2005-10-06 アガミ システムズ, インコーポレイテッド 関連アプリケーション相互参照対称的共有ファイル記憶システム
JP2005276192A (ja) * 2004-02-26 2005-10-06 Emc Corp データ記憶容量を増大させるための方法及び装置

Family Cites Families (45)

* 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
US6049823A (en) * 1995-10-04 2000-04-11 Hwang; Ivan Chung-Shung Multi server, interactive, video-on-demand television system utilizing a direct-access-on-demand workgroup
US5928327A (en) * 1996-08-08 1999-07-27 Wang; Pong-Sheng System and process for delivering digital data on demand
US5940373A (en) * 1997-01-14 1999-08-17 U S West, Inc. Frame relay network planning tool
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
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
US6567403B1 (en) * 1998-04-30 2003-05-20 Hewlett-Packard Development Company, L.P. Virtual-chassis switch network topology
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
US6826711B2 (en) * 2000-02-18 2004-11-30 Avamar Technologies, Inc. System and method for data protection with multidimensional parity
US6754729B1 (en) * 2000-08-03 2004-06-22 Dell Products L.P. Internally connected network interface cards for clustered processing
US6977908B2 (en) * 2000-08-25 2005-12-20 Hewlett-Packard Development Company, L.P. Method and apparatus for discovering computer systems in a distributed multi-system cluster
US7058826B2 (en) * 2000-09-27 2006-06-06 Amphus, Inc. System, architecture, and method for logical server and other network devices in a dynamically configurable multi-server network environment
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
ATE381191T1 (de) * 2000-10-26 2007-12-15 Prismedia Networks Inc Verfahren und system zur verwaltung von verteilten inhalten und entsprechenden metadaten
US20020078382A1 (en) * 2000-11-29 2002-06-20 Ali Sheikh Scalable system for monitoring network system and components and methodology therefore
DE10063350C1 (de) * 2000-12-19 2002-07-18 Siemens Ag Verfahren zur Überwachung einer Datenverarbeitung und -übertragung
US20040133606A1 (en) * 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6779082B2 (en) * 2001-02-05 2004-08-17 Ulysses Esd, Inc. Network-based disk redundancy storage system and method
US6941477B2 (en) * 2001-07-11 2005-09-06 O'keefe Kevin Trusted content server
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
US7146524B2 (en) * 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US20030033463A1 (en) * 2001-08-10 2003-02-13 Garnett Paul J. Computer system storage
US6978398B2 (en) * 2001-08-15 2005-12-20 International Business Machines Corporation Method and system for proactively reducing the outage time of a computer system
US7138733B2 (en) * 2001-12-13 2006-11-21 Hewlett-Packard Development Company, L.P. Redundant data and power infrastructure for modular server components in a rack
US6925499B1 (en) * 2001-12-19 2005-08-02 Info Value Computing, Inc. Video distribution system using disk load balancing by file copying
US20040088380A1 (en) * 2002-03-12 2004-05-06 Chung Randall M. Splitting and redundant storage on multiple servers
US7036039B2 (en) * 2002-03-29 2006-04-25 Panasas, Inc. Distributing manager failure-induced workload through the use of a manager-naming scheme
US7007047B2 (en) * 2002-03-29 2006-02-28 Panasas, Inc. Internally consistent file system image in distributed object-based data storage
US7194467B2 (en) * 2002-03-29 2007-03-20 Panasas, Inc Using whole-file and dual-mode locks to reduce locking traffic in data storage systems
US7007024B2 (en) * 2002-03-29 2006-02-28 Panasas, Inc. Hashing objects into multiple directories for better concurrency and manageability
US7155464B2 (en) * 2002-03-29 2006-12-26 Panasas, Inc. Recovering and checking large file systems in an object-based data storage system
US7212574B2 (en) * 2002-04-02 2007-05-01 Microsoft Corporation Digital production services architecture
US7307995B1 (en) * 2002-04-05 2007-12-11 Ciphermax, Inc. System and method for linking a plurality of network switches
US20030233455A1 (en) * 2002-06-14 2003-12-18 Mike Leber Distributed file sharing system
US7269168B2 (en) * 2002-07-31 2007-09-11 Brocade Communications Systems, Inc. Host bus adaptor-based virtualization switch
JP4464279B2 (ja) * 2002-11-14 2010-05-19 アイシロン・システムズ・インコーポレーテッド 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法
US6928526B1 (en) * 2002-12-20 2005-08-09 Datadomain, Inc. Efficient data storage system
US7444396B2 (en) * 2003-08-29 2008-10-28 Sun Microsystems, Inc. Transferring system identities
US7281006B2 (en) * 2003-10-23 2007-10-09 International Business Machines Corporation System and method for dividing data into predominantly fixed-sized chunks so that duplicate data chunks may be identified
US7552356B1 (en) * 2004-06-30 2009-06-23 Sun Microsystems, Inc. Distributed data storage system for fixed content
US7296180B1 (en) * 2004-06-30 2007-11-13 Sun Microsystems, Inc. Method for recovery of data
US7536693B1 (en) * 2004-06-30 2009-05-19 Sun Microsystems, Inc. Method for load spreading of requests in a distributed data storage system
US7584338B1 (en) * 2005-09-27 2009-09-01 Data Domain, Inc. Replication of deduplicated storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005502096A (ja) * 2001-01-11 2005-01-20 ゼット−フォース コミュニケイションズ インコーポレイテッド ファイルスイッチ及び交換ファイルシステム
JP2005530280A (ja) * 2002-06-13 2005-10-06 アガミ システムズ, インコーポレイテッド 関連アプリケーション相互参照対称的共有ファイル記憶システム
JP2004240949A (ja) * 2002-11-26 2004-08-26 Hitachi Ltd クラスタ型ストレージシステム及びその管理方法
JP2005276192A (ja) * 2004-02-26 2005-10-06 Emc Corp データ記憶容量を増大させるための方法及び装置

Also Published As

Publication number Publication date
WO2007103483A1 (en) 2007-09-13
EP1991936B1 (en) 2013-10-30
EP1991936A1 (en) 2008-11-19
US20070214105A1 (en) 2007-09-13
JP2009529295A (ja) 2009-08-13

Similar Documents

Publication Publication Date Title
JP4934790B2 (ja) スケーラブルなデータ記憶システムのためのネットワークトポロジ
JP5004975B2 (ja) データ記憶システム
JP5006395B2 (ja) 分散ファイルシステムのためのトランスコーディング
US7721157B2 (en) Multi-node computer system component proactive monitoring and proactive repair
US20070214285A1 (en) Gateway server
US7941455B2 (en) Notification for a distributed file system
US7558856B2 (en) System and method for intelligent, globally distributed network storage
CN100544342C (zh) 存储系统
JP2009529190A (ja) 冗長データファブリックの動的分割のための方法
US7822862B2 (en) Method of satisfying a demand on a network for a network resource
US7543177B2 (en) Methods and systems for a storage system
US20040010588A1 (en) Serving out video over a network of video servers
US20040047354A1 (en) Method of maintaining availability of requested network resources, method of data storage management, method of data storage management in a network, network of resource servers, network, resource management server, content management server, network of video servers, video server, software for controlling the distribution of network resources
US20040107420A1 (en) Distributed computing infrastructure including autonomous intelligent management system
US20030120751A1 (en) System and method for providing virtual network attached storage using excess distributed storage capacity
US7873702B2 (en) Distributed redundant adaptive cluster
US6779082B2 (en) Network-based disk redundancy storage system and method
US11249671B2 (en) Methods for improved data replication across hybrid cloud volumes using data tagging and devices thereof

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110216

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110223

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110316

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110412

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20120119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120119

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4934790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250