JP5006395B2 - 分散ファイルシステムのためのトランスコーディング - Google Patents

分散ファイルシステムのためのトランスコーディング Download PDF

Info

Publication number
JP5006395B2
JP5006395B2 JP2009518148A JP2009518148A JP5006395B2 JP 5006395 B2 JP5006395 B2 JP 5006395B2 JP 2009518148 A JP2009518148 A JP 2009518148A JP 2009518148 A JP2009518148 A JP 2009518148A JP 5006395 B2 JP5006395 B2 JP 5006395B2
Authority
JP
Japan
Prior art keywords
file
content
client
transcoding
content server
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
JP2009518148A
Other languages
English (en)
Other versions
JP2009541897A (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 JP2009541897A publication Critical patent/JP2009541897A/ja
Application granted granted Critical
Publication of JP5006395B2 publication Critical patent/JP5006395B2/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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • H04N21/2182Source of audio or video content, e.g. local disk arrays comprising local storage units involving memory arrays, e.g. RAID disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application

Landscapes

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

Description

本発明の実施形態は、一般に、電子データ記憶システムに関し、特に、スケーラブルなデータ記憶システムに関する。
今日の情報集約的環境においては、膨大な量のデジタルデータを記憶する必要のある、多くの企業およびその他の団体が存在する。それらには、ネットワークで結ばれた何千人もの従業員によって共有される企業内情報を記憶する大企業などの事業体、何百万もの製品に関する情報を記憶するオンライン販売業者、ならびに、大規模な所蔵文献を有する図書館および教育機関が含まれる。大規模データ記憶システムの使用に対する最近のニーズは、放送テレビジョンの番組編成市場にある。そのような業務は、テレビ番組の作成、編集、および放送のための古いアナログ技術から、全デジタルの手法へと推移しつつある。コンテンツ(コマーシャルなど)自体がデジタルビデオファイルの形式で記憶されるのみでなく、放送のための準備における番組およびコマーシャルの編集およびシーケンシング(sequencing)も、強力なコンピュータシステムを使用してデジタル処理される。データ記憶システム内に記憶されてもよいその他のタイプのデジタルコンテンツとしては、地震予知のための地震探査データ、および地図作成のための衛星画像データが挙げられる。
解決する課題
記憶システムの全体的コストの低減を支援するために、分散アーキテクチャが使用される。何百もの小さな、比較的低コストの大容量の生産ディスクドライブ(現在では、各ディスクドライブユニットが100Gバイト以上の容量を有する)が一緒にネットワーク接続されて、とても大きな総記憶容量に到達するようになるかもしれない。しかし、記憶容量のこの分散は、システム内で正常なアクセスを妨げる障害が発生する可能性も増加させる。そのような障害は、システムハードウェア内(例えば、ケーブル、コネクタ、ファン、電源、またはディスクドライブユニット)だけでなく、ソフトウェア内(特定のクライアントアプリケーションプログラムにおけるバグなど)も含む、さまざまな異なる場所で発生する可能性がある。所与のアクセスへのサービスを、他の場合ならばそのアクセスを阻止していたであろうディスク障害にもかかわらず提供するために(例えば、要求されたデータを利用可能にするために)、記憶システムは、RAID(redundant array of inexpensive disks)の形式で、冗長性を実装している。システムは、さらに、代替ドライブ内へ故障したディスクドライブのコンテンツを再構築することも可能にする。
記憶されたオーディオ/ビデオコンテンツに関して、記憶用のハードウェアから切り離されたトランスコーディング用のハードウェアが、オーディオ/ビデオコンテンツをトランスコードするために使用される。そのような外部のトランスコーディング用のハードウェアは、記憶用のシステムとトランスコーディング用のシステムとの間でオーディオ/ビデオデータを移動する際のボトルネックとなり、結果として性能が不足することになる。
本発明は、限定ではなく、例として、添付の図面の図中に示されている。
以下の説明では、本発明のいくつかの実施形態の十分な理解を提供するために、特定のシステム、構成要素、方法、およびその他の例などの、多数の具体的な詳細を記載する。しかし、本発明の少なくとも一部の実施形態は、具体的に詳細に記載されたものなしに実施されてもよいということは、当業者にとって明らかであろう。他の場合には、本発明を不必要に不明瞭にするのを回避するために、周知の構成要素または方法は、詳細には説明していないか、または単純なブロック図形式で示している。したがって、記載されている具体的な詳細は、例示にすぎない。特定の実装は、それらの例示された詳細に記載されたものとは異なっていてもよく、そして依然として本発明の趣旨および範囲内であると考えられるものであればよい。
本発明の実施形態は、以下で説明するさまざまな動作を含む。それらの動作は、ハードウェア構成要素、ソフトウェア、ファームウェア、またはそれらの組み合わせによって実行されてもよい。本明細書で使用する場合、「と結合される(coupled to)」という用語は、直接結合されること、または、1つ以上の介在する構成要素を介して間接的に結合されることを意味してもよい。本明細書に記載する、さまざまなバスで提供されるいかなる信号も、その他の信号と時分割多重化されても(time multiplexed)、1つ以上の共通バスで提供されてもよい。さらに、回路部品またはブロック間の相互接続は、バスとして、または単一信号線として示される場合がある。バスのそれぞれは、あるいは、1つ以上の単一信号線であってもよく、単一信号線のそれぞれは、あるいは、バスであってもよい。
特定の実施形態は、機械読み取り可能な媒体上に記憶された命令を含んでもよい、コンピュータプログラム製品として実装されてもよい。それらの命令は、記述されている動作を実行するための、汎用または専用プロセッサをプログラムするために使用されてもよい。機械読み取り可能な媒体は、マシン(例えば、コンピュータ)による読み出しが可能な形態(例えば、ソフトウェア、処理アプリケーション)で情報を記憶または伝送するための任意の機構を含む。機械読み取り可能な媒体としては、以下に限定されないが、磁気記憶媒体(例えば、フロッピー(商標登録)ディスケット)、光記憶媒体(例えば、CD−ROM)、光磁気記憶媒体、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラム可能メモリ(例えば、EPROMおよびEEPROM)、フラッシュメモリ、電子的、光学的、音響的、またはその他の形態の伝搬信号(例えば、搬送波、赤外線信号、デジタル信号など)、あるいは、電子的命令を記憶するのに好適な別のタイプの媒体が挙げられる。
さらに、一部の実施形態は、機械読み取り可能な媒体が、2つ以上のコンピュータシステムに記憶され、および/または、2つ以上のコンピュータシステムによって実行される、分散コンピューティング環境内で実施されてもよい。その上、コンピュータシステム間で転送される情報は、コンピュータシステムを接続する通信媒体を介して、受け取っても送り出しても(プルまたはプッシュ)よい。
方法および装置の実施形態では、データ記憶システムに結合された1つ以上のアプリケーションに、ファイルへの変更または新しいファイルの追加を通知する場合について説明される。一実施形態では、分散ファイルシステムの通知システムは、1つ以上のアプリケーションと通信を行う。
図1は、ビデオ処理環境の一部として使用されているデータ記憶システム100の一実施形態を示す。しかし、以下に記載するデータ記憶システム100ならびにその構成要素または特徴は、あるいは、その他のタイプの適用例(例えば、図書館、地震探査データ処理センター、販売業者の製品カタログ、中央企業情報保管など)において使用されてもよいということに留意すべきである。データ記憶システム100は、データ保護、ならびに、ハードウェアおよびソフトウェアの耐障害性と復旧とを提供する。
データ記憶システム100は、メディアサーバ102とコンテンツライブラリ104とを含む。メディアサーバ102、106、108は、サーバマシンのネットワーク上で実行されている複数のソフトウェア構成要素から構成されていてもよい。サーバマシンは、データを記憶する回転磁気ディスクドライブなどの大容量記憶装置を含むコンテンツライブラリ104と通信を行う。サーバマシンは、ファイルの作成、書き込み、または読み出しの要求を受け入れ、そして、コンテンツライブラリ104内の1つ以上のディスクドライブ内にデータを転送するプロセス、または要求された読み出しデータをそれらのディスクドライブから配信するプロセスを管理する。サーバマシンは、どのファイルがどのドライブに記憶されているかを追跡記録する。ファイルへのアクセス要求、すなわち、作成、書き込み、または読み出しの要求は、通常、サーバネットワークに接続されたクライアントマシン上で実行されるクライアントのアプリケーションプログラムと呼ばれるものから受信される。例えば、アプリケーションプログラムは、(システム内にデジタルビデオファイルとして記憶された)特定のビデオクリップを必要とするテレビジョンスタジオのワークステーション上で実行されているビデオ編集アプリケーションであってもよい。
ビデオデータは、例えばMotion Picture Experts Group(MPEG)フォーマットの形態の圧縮を使用したとしても、大容量である。したがって、そのような環境のためのデータ記憶システムは、少なくとも数十テラバイト、またはそれよりも大きな記憶容量を提供するように設計される。さらに、高速データ通信リンクが、ネットワークのサーバマシンを接続するために使用され、そして場合によっては特定のクライアントマシンと接続するためにも使用されて、データ記憶システム100へのアクセスのために100Gb/秒以上の共有総帯域幅を提供する。記憶システムは、さらに、複数のクライアントによるアクセスを同時に提供することが可能である。
データ記憶システム100は、さまざまな異なる形態のクライアントマシンを使用してアクセスされてもよい。例えば、図1に示すように、メディア処理の「インジェスト」段階110では、標準的なデジタルビデオカメラ、テープレコーダ、および衛星フィードをインタフェースとしてもよい、メディアサーバ102によって、コンテンツファイル(この例では、MPEGおよび高品位(high definition)(HD)を含むさまざまなタイプのデジタルメディアファイル)が要求されてもよい。代替として、クライアントマシンは、インターネットなどの遠隔ネットワーク上にあってもよい。「プロダクション」段階112においては、記憶されたファイルが、閲覧116、編集118、およびアーカイブ120のために、クライアントマシンにストリーミングされてもよい。変更されたファイルは、次に、「プレイアウト」段階114の間に、配信のために、メディアサーバ106、108に、または遠隔ネットワーク124を介して直接、送信されてもよい。
データ記憶システム100は、同時クライアントアクセスの数が増加するにつれて、または総記憶容量の要求が増加するにつれて拡張することが特に容易であると判明しうるアーキテクチャを有する、比較的高性能、高可用性の記憶サブシステムを提供する。メディアサーバ102、106、108(図1におけるような)とコンテンツゲートウェイ(図示せず)との追加は、さまざまな送信元からのデータが1つの高性能/高可用性システムに集約され、それにより、企業が管理しなければならない記憶ユニットの総数を減らすことを可能にする。さまざまなタイプの作業負荷(さまざまなサイズのファイル、およびさまざまなクライアント負荷を含む)の処理が可能であることに加えて、システムの一実施形態は、自動負荷バランス、高速ネットワークスイッチング相互接続、データキャッシング、およびデータ複製を含む特徴を有してもよい。一実施形態によれば、データ記憶システム100は、性能において、比較的小規模な、すなわち66テラバイト未満のシステム上での20Gb/秒から、より大規模な、すなわち1ペタバイトを超えるシステムの場合の数百Gb/秒を超える性能のものまで、必要に応じて拡張する。直接接続されたクライアントにとって、これは、現在のところ、最小60メガバイト/秒の実効転送速度ということになり、コンテンツゲートウェイに接続されたクライアントにとっては、最小40メガバイト/秒ということになる。そのような数は、当然ながら、データ記憶システム100の現在の能力の例にすぎず、請求される本発明の範囲全体を限定することを意図するものではない。
一実施形態によれば、データ記憶システム100は、停止しないで動作するように設計されていてもよく、そして、記憶装置と、クライアントと、その構成要素間のネットワーキング帯域幅との拡張を、進行中のアクセスをシャットダウン、あるいは、それらのアクセスに影響を及ぼすことなく行うことを可能にする。データ記憶システム100は、好ましくは、十分な冗長性を有しているため、一箇所だけが障害となるような点(single point of failure)が存在しない。コンテンツライブラリ104内に記憶されたデータは複数の複製を有しており、したがって、大容量記憶ユニット(例えば、ディスクドライブユニット)、さらにはサーバ全体が損なわれてもデータを失うことはない。本発明の異なる実施形態では、例えば、ディスクドライブ障害の場合のデータ複製は、比較的高速であり、データ記憶システム100全体としての顕著な性能低下を引き起こすことはないと考えられる。一般的なRAIDシステムとは異なり、データ記憶システム100の交換されたドライブユニットは、先の(故障した)ドライブと同じデータを含まなくてもよい。その理由は、ドライブの交換が実際に発生するまでには、再複製プロセスが、故障したドライブから、システム100の他のドライブ上への、データの再複製をすでに開始しているからである。
大容量記憶ユニットの障害に加えて、データ記憶システム100は、任意のより大きな構成要素、または、さらには、構成要素全体(例えば、メタデータサーバ、コンテンツサーバ、およびネットワークスイッチ)の障害からの保護を提供できるかもしれない。以下で説明するように、それぞれのエンクロージャまたはラック内に配置された、サーバの3つ以上のグループを有するシステムなどのより大規模なシステムでは、データ記憶システム100は、エンクロージャまたはラック全体の障害の場合でも動作を継続する。
次に、図2を参照すると、本発明の一実施形態による、複数のクライアントに接続されたデータ記憶システム200のシステムアーキテクチャが示されている。システム200内に記憶されている複数のファイルについてのメタデータをそれぞれが記憶する複数のメタデータサーバマシン202を、システム200は有する。そのようなマシン内で実行されているソフトウェアは、メタデータサーバ202またはコンテンツディレクタ202と呼ばれる。メタデータサーバ202は、システム200の動作の管理を担当し、そして、クライアント204および206にとっての最初の接点である。スマートクライアント204およびレガシークライアント206という、2つのタイプのクライアントが示されていることに留意されたい。
スマートクライアント204は、システム200の専用ネットワークプロトコルの知識を有し、そして、システム200のネットワーキングファブリック(ここでは、Gbイーサネット(商標登録)スイッチ208)の背後にあるコンテンツサーバ210と直接通信することが可能である。スイッチ208は、図2に示されているように、コンテンツサーバ210とメタデータサーバ202との間の選択的ブリッジとして働く。
もう一方のタイプのクライアントは、現在のファイルシステムドライバ(FSD)がインストールされていない、またはシステム200のために現在提供されているソフトウェア開発キット(SDK)を使用しない、レガシークライアント206である。レガシークライアント206は、システム200専用ではないオープンネットワーキングプロトコルを介して、図示されているように、プロキシまたはコンテンツゲートウェイ212を経由して、「イーサネット」スイッチ208の背後にあるコンテンツサーバ210と間接的に通信を行う。コンテンツゲートウェイ212は、コンテンツライブラリブリッジ212とも呼ばれてもよい。
ファイルシステムドライバすなわちFSDは、システム200にアクセスするための標準的なファイルシステムインタフェースを提供するクライアントマシン上にインストールされるソフトウェアである。他方、ソフトウェア開発キットすなわちSDKは、ソフトウェア開発者がシステム200に、アプリケーションプログラムから直接アクセスすることを可能にする。この選択肢は、さらに、以下で説明する複製因子(replication factor)の設定などの、システム固有の関数を、クライアントマシンのユーザが利用することを可能にする。
システム200では、ファイルは、通常、記憶される際にスライスに分割される。言い換えると、ファイルの部分は、コンテンツサーバ内に置かれたさまざまなディスクドライブにわたって散在させられる。現在の一実施形態では、スライスは、固定サイズが好ましく、従来のディスクブロックよりもはるかに大きく、それにより、大規模データファイル(例えば、現在では、大規模なビデオおよびオーディオメディアファイルに好適な、8Mバイト)に対してより良い性能を持たせることを可能にする。さらに、ファイルは、ハードウェア障害から保護するために、さまざまなコンテンツサーバ内のさまざまなドライブにわたって、システム200内で複製される。これは、一時点における任意の1つのドライブの障害によって、記憶されたファイルがシステム200によって再構成されることが不可能になることはないことを意味し、その理由は、ファイルのいかなる紛失したスライスも、他のドライブ内で依然として見つけることが可能だからである。複製は、さらに、ファイルをより多くのサーバからアクセス可能にすることによって、読み出し性能の向上を支援する。どのファイルがどこに記憶されているか(または、ファイルのスライスがどこに記憶されているか)を追跡記録するために、システム200は、作成されて書き込まれたファイルのファイル名と、そのスライスとの間のマッピングを含むメタデータ(ファイルに関する情報)の知識を有する、メタデータサーバプログラムを有する。
メタデータサーバ202は、コンテンツサーバ210のうちのどれが、実際のコンテンツまたはデータを記憶のために受信するのに利用可能であるかを決定する。メタデータサーバ202は、さらに、負荷バランスを取るように機能し、これはすなわち、帯域幅の制限や特定のコンテンツサーバがいっぱいになっているかにより、コンテンツサーバ210のうちのどれが新しいデータを記憶するために使用されるべきで、どれが使用されるべきでないかの決定を行うことである。データ可用性およびデータ保護を支援するために、ファイルシステムメタデータは、複数回複製されてもよい。例えば、少なくとも2つのコピーが、各メタデータサーバ202上に(そして、例えば、各ハードディスクドライブユニット上に1つ)記憶されてもよい。メタデータの複数のチェックポイントが、定期的に取られるべきである。システム200のほとんどの実施形態において、全体的なシステムの動作への影響が最小であるように、チェックポイントが発生するためには数分の時間しか必要とされないことが期待される。
通常の動作では、すべてのファイルアクセスは、メタデータサーバ202を介して開始または終了する。メタデータサーバ202は、例えば、ファイルオープン要求に対して、読み出しまたは書き込み動作のために利用可能なコンテンツサーバ210のリストを返すことによって応答する。それ以降は、そのファイルについてのクライアント通信(例えば、読み出し、書き込み)は、メタデータサーバ202ではなく、コンテンツサーバ210に向けられる。SDKおよびFSDは、当然、それらの動作の詳細がクライアント204、206からは見えないようにする。上述のように、メタデータサーバ202は、ファイルおよびスライスの配置を制御して、コンテンツサーバのバランスのとれた利用を提供する。
別の実施形態によれば、システム200のコンフィギュレーションおよび監視のための、例えば、独立したラックマウント式サーバマシン上のシステムマネージャ(図示せず)がさらに提供されてもよい。
システム200のさまざまな構成要素間の、すなわち、コンテンツサーバ210とメタデータサーバ202との間の接続は、ネットワーク相互接続の障害の場合に、必要な冗長性を提供しなければならない。
図3Aは、比較的小規模なデータ記憶システム300の物理的ネットワークトポロジを示す。図3Bは、データ記憶システム300の論理的ネットワークトポロジを示す。接続は、「イーサネット」規格によって享受される広範な業界から支持され、かつ、技術的にも成熟しているという利点を活用する、システム300全体にわたるGb「イーサネット」であることが好ましい。そのような利点は、より低いハードウェアコストですみ、より広範な技術要員によって熟知され、アプリケーション層におけるより迅速に導入できるという利点をもたらすことが期待される。OCLシステムのさまざまなサーバ間の通信は、現在のインターネットプロトコル(IP)ネットワーキング技術を使用することが好ましい。しかし、その他のネットワークスイッチング相互接続が、サーバ間でのパケットのスイッチングに必要とされる速度をそれらが提供することができるのであれば、代わりに使用されてもよい。
ネットワークスイッチ302が、自動的にネットワークを複数のセグメントに分割し、セグメント間の高速な選択的ブリッジとして働き、ネットワーク帯域幅に関して他のコンピュータのペアと競合しないように複数のコンピュータのペアの同時接続をサポートする。ネットワークスイッチ302は、これを各宛先アドレスとそのポートとのテーブルを維持することによって達成する。スイッチ302は、パケットを受信したら、パケット内のヘッダ情報から宛先アドレスを読み出し、送信元ポートと宛先ポートとの間で一時的な接続を確立し、パケットをその接続上で送信し、そして、次に、接続を終了してもよい。
スイッチ302は、コンピュータのペア間で複数の一時的なクロスオーバケーブル接続を確立していると考えることができる。スイッチ内の高速電子回路が、送信側コンピュータからの1つのケーブルの端(送信元ポート)を、受信側コンピュータに至る別のケーブルの端(宛先ポート)に、パケットごとに自動的に接続する。複数のこのような接続が、同時に発生してもよい。
図3Aおよび図3Bのトポロジ例では、システム300のさまざまな構成要素間の接続を提供するために、マルチGb「イーサネット」スイッチ302、304、306が使用されている。図3Aおよび図3Bは、40Gb/秒の帯域幅をクライアントが利用することを可能にする、1Gb「イーサネット」304、306および10Gb「イーサネット」302スイッチを示す。しかし、将来はさらに高速のスイッチが使用されてもよいため、これらは本発明の範囲を限定することを意図するものではない。図3Aおよび図3Bのトポロジ例は、サブネットA 308およびサブネットB 310という2つのサブネットを有し、サブネットA 308およびサブネットB 310にはコンテンツサーバ312が配置されている。各コンテンツサーバは一対(2つ)のネットワークインタフェースを有し、1つはサブネットA 308への、そしてもう1つはサブネットB 310へのネットワークインタフェースであり、それにより、各コンテンツサーバは、サブネット308または310のいずれを介してもアクセス可能になっている。サブネットケーブル314が、コンテンツサーバ312を一対(2つ)のスイッチ304、306に接続し、各スイッチは、それぞれのサブネットに接続するポートを有する。サブネットケーブル314は、例えば、カテゴリ6ケーブルであってもよい。これらの1Gb「イーサネット」スイッチ304、306のそれぞれは、10Gb「イーサネット」スイッチ302への2回線10Gb「イーサネット」接続を有し、10Gb「イーサネット」スイッチ302は、さらに、クライアントマシンのネットワーク316に接続されている。
一実施形態によれば、レガシークライアント330は、10Gb「イーサネット」スイッチ302および1Gb「イーサネット」スイッチ304を介して、ゲートウェイサーバ328と通信する。ゲートウェイサーバ328は、レガシークライアント330のためのプロキシとして働き、1GbEスイッチ306を介してコンテンツサーバ312と通信する。
この例では、3つのコンテンツディレクタ318、320、322が存在し、それぞれのコンテンツディレクタは、1Gb「イーサネット」スイッチ304、306に、別個のインタフェースで接続されている。言い換えると、各1Gb「イーサネット」スイッチ304、306は、3つのコンテンツディレクタ318、320、322のそれぞれへ少なくとも1つ接続する。さらに、ネットワーキング配置は、プライベートリング1 324およびプライベートリング2 326と呼ばれる2つのプライベートネットワークが存在し、各プライベートネットワークは3つのノードとしてコンテンツディレクタ318、320、322を備えている。上記のプライベートネットワークは、専用のサブネットを意味しており、プライベートリングネットワークに限定されないということを、当業者は認識するであろう。コンテンツディレクタ318、320、322は、リングネットワークトポロジを使用して相互に接続され、2つのリングネットワークは冗長性を提供する。コンテンツディレクタ318、320、322およびコンテンツサーバ312は、メッシュネットワークのトポロジで接続されることが好ましい(ドナルド・クレイグ(Donald Craig)らによる「Logical and Physical Network Topology as Part of Scalable Switching Redundancy and Scalable Internal and Client Bandwidth Strategy」と題された米国特許出願−P020を参照されたい)。図3Aの実施形態の物理的実装の例は、各コンテンツサーバ312を別個のサーバブレードとして実装し、すべてのサーバブレードを同じエンクロージャまたはラックの内部に実装するものである。「イーサネット」スイッチ302、304、306、および3つのコンテンツディレクタ318、320、322も、同じラック内に配置されてもよい。本発明は、当然、単一のラックの実施形態には限定されない。コンテンツサーバ、コンテンツディレクタ、およびスイッチで満たされた追加のラックが、システム300を拡張するために追加されてもよい。
次に、図4を参照すると、システム200のソフトウェアアーキテクチャの例400が示されている。システム200は、複数のクライアントマシンユーザからシステム200の複雑さを隠すための、メタデータサーバマシン402、404、コンテンツサーバマシン406、408、およびクライアントマシン410内で実行される、分散ファイルシステムプログラムを有している。言い換えると、ユーザは、この場合はオーディオおよび/またはビデオ情報の記憶および取り出しを、クライアントプログラムを介して要求してもよく、ファイルシステムは、システム200を、ユーザから1つの単純な記憶リポジトリとして見えるようにする。ファイルの作成、書き込み、または読み出しの要求は、ネットワーク接続されたクライアント410から、メタデータサーバ402、404によって受信される。ファイルシステムのソフトウェア、または、この場合は、そのソフトウェアのメタデータサーバ部分は、受信した完全なファイル名を、対応するスライスハンドルに変換し、スライスハンドルは、特定のファイルの構成スライスが記憶されている、または作成されるべき、コンテンツサーバ内の位置を指す。記憶される実際のコンテンツまたはデータは、クライアント410によって直接、コンテンツサーバ406、408に提示される。同様に、コンテンツサーバ406、408からの読み出し動作は、クライアント410によってコンテンツサーバ406、408に直接要求される。
各コンテンツサーバマシン406、408は、例えば回転磁気ディスクドライブユニットなどのローカル大容量記憶ユニットを1つ以上有してもよく、そして、その1つ以上のドライブ上への特定のスライスのマッピングを管理する。その上、好ましい実施形態では、複製動作はスライスレベルで制御される。コンテンツサーバ406、408は、クライアントを関与させずに、スライスの複製を達成し、スライスの書き込みの検証をお互いに取得するために、相互に通信を行う。
その上、ファイルシステムは、複数のサーバ間に分散させられているため、ファイルシステムは、それが存在している各サーバ(それがコンテンツサーバ406、408であれ、クライアント410であれ、メタデータサーバ402、404であれ)の処理能力を使用してもよい。図4の実施形態に関連して以下で説明するように、記憶容量を増加させるためにコンテンツサーバを追加すると、システム内のネットワークインタフェースの総数は自動的に増加し、これは、システム内のデータにアクセスするために利用可能な帯域幅も自動的に増加することを意味している。さらに、各コンテンツサーバ内の中央処理ユニットおよび関連するメインメモリの存在により、全体としてのシステムの処理能力も増加する。そのような拡張要素(スケーリング・ファクター、scaling factor)は、より多くの記憶装置(ストレージ)およびより多くのクライアントが追加されるにつれて、システムの処理能力および帯域幅は比例的に増加し、システムがより大きくなるにつれて動きが取れなくなることはないということが保証されることを意味している。
メタデータサーバ402、404は、非アクティブなバックアップユニットであるのとは対照的に、システム200のアクティブなメンバーであると考えられてもよい。クライアントの負荷がメタデータサーバ402、404間に分散させられるため、これが、システム200がより多くのクライアントに対処できるように拡張することを可能にする。クライアント負荷がさらに増加するにつれて、追加のメタデータサーバが追加されてもよい。
本発明の一実施形態によれば、複製の量(「複製因子」とも呼ばれる)は、各ファイルと個別に関連付けられる。ファイル内のすべてのスライスは、同じ複製因子を共有することが好ましい。この複製因子は、ユーザによって動的に変更されてもよい。例えば、ファイルを開くための、システムのアプリケーションプログラミングインタフェース(API)関数は、複製因子を指定する引数を含んでもよい。冗長性および性能対記憶コストのこのきめの細かい制御は、ユーザが、各ファイルについて別個に決定を行うことと、ファイル内に記憶されているデータの変化する価値を反映するようにそれらの決定を時間とともに変更することと、を可能にする。例えば、システム200が、放送されるべき一連のコマーシャルと生番組部分とを作成するために使用される場合、スポーツの試合でハーフタイムの中断が始まった最初のコマーシャルは、特に高価なコマーシャルである可能性がある。したがって、ユーザは、そのようなコマーシャルファイルについての複製因子を、コマーシャルのプレイアウトの後まで一時的に増加させ、そして次に、コマーシャルが放送されたら、複製因子を適切なレベルに戻るように減少させることを望むかもしれない。
本発明の別の実施形態によれば、システム200内のコンテンツサーバ406、408は、グループにまとめられる。グループは、スライスの複製の位置について決定を行うために使用される。例えば、物理的に同じ装置ラックまたはエンクロージャ内にあるコンテンツサーバ406、408のすべてが、1つのグループ内に配置されてもよい。ユーザは、したがって、エンクロージャ内のサーバマシンの配線によって、コンテンツサーバ406、408の間の物理的関係をシステム200に示してもよい。スライスの複製は、次に、2つの複製がコンテンツサーバの同じグループ内にあることがないように散在させられる。これは、システム200が、ラック全体を含む可能性があるハードウェア障害に対する耐性を有することを可能にする。
スライスの複製は、コンテンツサーバ406、408の間で内部的に処理されることが好ましい。クライアント410は、したがって、それらのファイルの複数のコピーを書き込む追加の帯域幅を費やすことは要求されない。本発明の一実施形態によれば、システム200は、書き込まれているファイルについての実際の複製因子よりも少ない数の複製の書き込みの確認応答(acknowledgement)を、クライアント410が要求することができる確認応答方式を提供する。例えば、複製因子は数百であってもよく、その結果、何百もの複製についての確認応答を待つことにより、クライアントの処理に大幅な遅延がもたらされる。これは、クライアント410が、書き込みの速さとファイルデータの保護レベルの確実性とをトレードオフすることになるかもしれない。速度に敏感なクライアント410は、ほんの少しの複製のみが作成された後の確認応答を要求してもよい。対照的に、機密性の高い、または価値の高いデータを書き込むクライアント410は、指定された数の複製がすべて作成された後にのみ、コンテンツサーバによって確認応答が提供されることを要求してもよい。
本発明の一実施形態によれば、ファイルは、システム200内に記憶される際に、スライスに分割される。好ましい場合、スライスは、一般的なRAIDまたはストレージエリアネットワーク(SAN)システム内で使用される従来のディスクブロックまたはストライプとは対照的な、インテリジェントなオブジェクトであると考えることができる。インテリジェンスは、少なくとも2つの特徴に由来する。第1に、各スライスは、ファイル(そのファイルのデータをそのスライスが保持する)に関する情報を含んでいてもよい。これによりスライスは自己の位置が(self−locating)決められる。第2に、各スライスは、チェックサム情報を保持してもよく、これによりスライスは自己検証(self−validating)する。従来のファイルシステムでは、(ハードウェアまたはその他の障害により)ファイルデータの位置を示すメタデータが失われた場合、ファイルデータは、ファイルの断片を継ぎ合わせるための骨の折れる手作業によってのみ、回復することが可能である。本発明の一実施形態によれば、システム200は、スライス自体の中に記憶されたファイル情報を使用して、自動的にファイルを継ぎ合わせることが可能である。これは、システム200における複製機構に加えて、追加の保護を提供する。従来のブロックまたはストライプとは異なり、スライスは、集中型データ構造における破損によって失われることはありえない。
ファイルコンテンツ情報に加えて、スライスは、スライス作成の瞬間に作成されてもよいチェックサム情報も保持する。このチェックサム情報は、スライスとともに存在するように命じられ、そして、スライスが複製される際に、スライスとともにシステム全体にわたって運ばれる。チェックサム情報は、すべての複雑な電子システム内に一般に存在するランダムなハードウェアエラーによってスライス内のデータが破損してはいないことの検証を提供する。コンテンツサーバ406、408は、それらの中に記憶されているすべてのスライスについて、読み出しとチェックサム計算の実行とを継続的に行うことが好ましい。これは、データの破損をアクティブに検査すること(actively checking)とも呼ばれる。これは、スライスデータがクライアントによって要求される前に事前の警告を提供するタイプのバックグラウンド検査活動であり、したがって、ファイル読み出しの間にエラーが発生する可能性は減少し、そして、他の場合ならばスライスの複製が破損したままになっている可能性がある時間の量を減少させる。
図5は、一実施形態による、分散ファイルシステム内のトランスコーディングシステムを示すブロック図である。クライアント502は、トランスコードマネージャ504を有してもよい。トランスコードマネージャ504は、分散ファイルシステム500へファイルをトランスコードする要求を生成するように構成される。分散ファイルシステム500は、ファイルの各部分を異なる物理的記憶位置にわたって記憶する。一実施形態によれば、物理的記憶位置の割り当ては、コンテンツサーバ510、512、および514を含んでもよい。分散ファイルシステム500は、スイッチ506、コンテンツディレクタ508、およびコンテンツサーバ510、512、514を含む。各コンテンツサーバは、ファイルの少なくとも一部を、第1のフォーマットから第2のフォーマットにトランスコードするように構成されてもよい。例えば、ファイルのオーディオ/ビデオコンテンツは、高解像度フォーマットから低解像度フォーマットに変換されてもよい。各コンテンツサーバ510、512、514は、それぞれ、処理ユニット516、520、524と、ハードドライブまたはメモリなどのコンテンツ記憶装置518、522、526とを含んでもよい。
別の実施形態によれば、コンテンツサーバ510は、コンテンツサーバ512上に存在するファイルの一部をトランスコードするために、コンテンツサーバ512にアクセスしてもよい。コンテンツサーバ510は、したがって、クライアント502のためのトランスコーディングクライアントとして動作してもよい。
各コンテンツサーバの処理ユニットは、トランスコーディングプロセスが、コンテンツサーバの主要な役割である記憶装置としての機能を提供することを妨げない限り、トランスコーディングを実行するために使用されてもよい。処理ユニットが、トランスコーディングプロセスによって酷使されていないことを確実にするために、各コンテンツサーバは、独立した論理部分に区分けされてもよい。例えば、コンテンツサーバの第1の独立した論理部分は、記憶装置としての機能の処理のためにのみ使用されてもよい。コンテンツサーバの第2の独立した論理部分は、トランスコーディング機能の処理のために使用されてもよい。その他の論理部分は、セキュリティなどの、さらなる機能を処理するために使用されてもよい。コンテンツサーバは多くの方法で区分けされてもよいということを、当業者は認識するであろう。
図6は、一実施形態による、分散ファイルシステム内のコンテンツをトランスコードするための方法を示すフロー図である。602において、ファイルをトランスコードする要求が、分散ファイルシステムによって受信される。一実施形態によれば、クライアントのトランスコードマネージャが、ファイルをトランスコードする要求を生成する。分散ファイルシステムは、複数の異なる物理的記憶位置にわたってファイルの各部分を割り当てて記憶する。
604において、ファイルは、物理的記憶位置のうちの少なくとも1つの処理ユニットを使用して、第1のフォーマットから第2のフォーマットにトランスコードされる。別の実施形態によれば、1つのコンテンツサーバが、分散ファイルシステムの別の第2のコンテンツサーバに、ファイルの一部をトランスコードするためにアクセスしてもよい。1つのコンテンツサーバが、その自らの処理ユニット上で、または、他のコンテンツサーバの他の処理ユニット上でファイルをトランスコードするトランスコーディングクライアントとして動作してもよい。トランスコードされたファイルは、ファイル分散システム内に記憶されてもよい。一実施形態によれば、コンテンツサーバの第1の独立した論理部分が、セキュリティ機能を処理するために区分けされてもよい。コンテンツサーバの第2の独立した論理部分が、トランスコーディング機能を処理するために区分けされてもよい。
606において、分散ファイルシステムは、トランスコードされたファイルをクライアントに送信する。
以上の明細書において、本発明を、その特定の例示的実施形態を参照して説明してきた。しかし、それに対するさまざまな修正および変更が、添付の特許請求の範囲に記載された本発明のより広範な趣旨および範囲を逸脱することなく行われてもよいということは明白であろう。明細書および図面は、したがって、限定的な意味ではなく、例示的な意味であるとみなされるべきである。
ビデオ処理環境の一部として使用されている、本発明の一実施形態による、データ記憶システムを示す。 一実施形態による、データ記憶システムのシステムアーキテクチャを示す。 データ記憶システムの一実施形態のネットワークトポロジを示す。 データ記憶システムの一実施形態のネットワークトポロジを示す。 一実施形態による、データ記憶システムのソフトウェアアーキテクチャを示す。 一実施形態による、分散ファイルシステム内のトランスコーディングシステムを示すブロック図である。 一実施形態による、分散ファイルシステム内のコンテンツをトランスコードするための方法を示すフロー図である。

Claims (21)

  1. 分散ファイルシステムのファイルをトランスコードするための方法であって、
    前記分散ファイルシステムが、前記ファイルの部分を複数の異なる物理的記憶位置にわたって記憶するステップであって、前記ファイルの部分が前記ファイルに関連付けられた複数のファイルスライスを含み、各ファイルスライスが、前記複数のファイルスライスから前記ファイルに自動的に継ぎ合わせるために前記分散ファイルシステムにより使用される自己の位置情報を格納しているステップと、
    前記ファイルをトランスコードする要求を受信するステップと、
    前記ファイルの前記部分を異なる物理的記憶位置に移動させずに、前記ファイルの前記部分を、第1のフォーマットから第2のフォーマットにトランスコードするステップであって、前記ファイルの前記部分のそれぞれは、前記部分が置かれている前記物理的記憶位置の処理ユニットを使用してトランスコードされるステップとを含むことを特徴とする方法。
  2. 前記第2のフォーマットを有する前記ファイルを、前記ファイル分散システム内に記憶するステップをさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記要求を、クライアントから受信するステップと、
    前記トランスコードされたファイルを前記クライアントに送信するステップとをさらに含むことを特徴とする請求項1に記載の方法。
  4. 前記要求を、前記クライアントのトランスコードマネージャから受信するステップをさらに含むことを特徴とする請求項3に記載の方法。
  5. 前記ファイル分散システムは、
    スイッチと、
    前記スイッチに結合されたコンテンツディレクタと、
    前記コンテンツディレクタに結合された複数のコンテンツサーバであって、ファイルの各部分を記憶する複数のコンテンツサーバとを含むことを特徴とする請求項1に記載の方法。
  6. 少なくとも1つの物理的記憶位置は、少なくとも1つのコンテンツサーバを含むことを特徴とする請求項5に記載の方法。
  7. 各コンテンツサーバは、
    コンテンツ記憶装置と、
    前記コンテンツ記憶装置に結合された処理ユニットとをさらに含むことを特徴とする請求項6に記載の方法。
  8. 第1のコンテンツサーバは、前記ファイルの部分をトランスコードするために、第2のコンテンツサーバにアクセスすることを特徴とする請求項6に記載の方法。
  9. 記憶機能を処理するための前記コンテンツサーバの第1の独立した論理部分を区分するものであることを特徴とする請求項5に記載の方法。
  10. トランスコーディング機能を処理するための前記コンテンツサーバの第2の独立した論理部分を区分するものであることを特徴とする請求項9に記載の方法。
  11. ファイルの部分を複数の異なる物理的記憶位置にわたって記憶する分散ファイルシステムであって、前記ファイルの部分が前記ファイルに関連付けられた複数のファイルスライスを含み、各ファイルスライスが、前記複数のファイルスライスから前記ファイルに自動的に継ぎ合わせる合わせるために前記分散ファイルシステムにより使用される自己の位置情報を格納している分散ファイルシステムを含む装置であって、
    各物理的記憶位置は、前記ファイルをトランスコードする要求を受信し、前記ファイルの前記部分を異なる物理的記憶位置に移動させずに、前記ファイルの前記部分を、第1のフォーマットから第2のフォーマットにトランスコードするように構成され、前記ファイルの前記部分のそれぞれは、前記部分が置かれている前記物理的記憶位置の処理ユニットを使用してトランスコードされることを特徴とする装置。
  12. 各物理的記憶位置は、前記物理的記憶位置のうちの少なくとも1つの処理ユニットを使用してトランスコードするように構成されることを特徴とする請求項11に記載の装置。
  13. 前記ファイル分散システムは、
    スイッチと、
    前記スイッチに結合されたコンテンツディレクタと、
    前記コンテンツディレクタに結合された複数のコンテンツサーバであって、前記ファイルの部分を記憶する複数のコンテンツサーバとをさらに備えることを特徴とする請求項11に記載の装置。
  14. 前記分散ファイルシステムに結合されたクライアントであって、前記分散ファイルシステムへの前記ファイルをトランスコードする要求を生成するように構成されたトランスコードマネージャを有するクライアントをさらに備えることを特徴とする請求項11に記載の装置。
  15. 各コンテンツサーバは、
    コンテンツ記憶装置と、
    前記コンテンツ記憶装置に結合された処理ユニットとをさらに含むことを特徴とする請求項13に記載の装置。
  16. 第1のコンテンツサーバは、前記ファイルの部分をトランスコードするために、第2のコンテンツサーバにアクセスすることを特徴とする請求項13に記載の装置。
  17. 記憶機能を処理するための前記コンテンツサーバの第1の独立した論理部分を区分することを特徴とする請求項13に記載の装置。
  18. トランスコーディング機能を処理するための前記コンテンツサーバの第2の独立した論理部分を区分することをさらに含むことを特徴とする、請求項17に記載の装置。
  19. 分散ファイルシステムのファイルをトランスコードするための方法を実行するためのマシンによって実行可能な命令のプログラムを具体的に組み込んだ前記マシンによって読み取り可能なプログラム記憶装置であって、前記方法は、
    前記分散ファイルシステムが、前記ファイルの部分を複数の異なる物理的記憶位置にわたって記憶するステップであって、前記ファイルの部分が前記ファイルに関連付けられた複数のファイルスライスを含み、各ファイルスライスが、前記複数のファイルスライスから前記ファイルに自動的に継ぎ合わせるために前記分散ファイルシステムにより使用される自己の位置情報を格納しているステップと、
    前記ファイルをトランスコードする要求を受信するステップと、
    前記ファイルの前記部分を異なる物理的記憶位置に移動させずに、前記ファイルの前記部分を、第1のフォーマットから第2のフォーマットにトランスコードするステップであって、前記ファイルの前記部分のそれぞれは、前記部分が置かれている前記物理的記憶位置の処理ユニットを使用してトランスコードされるステップとを含むことを特徴とするプログラム記憶装置。
  20. 前記第2のフォーマットを有する前記ファイルを、前記ファイル分散システム内に記憶するステップをさらに備えることを特徴とする請求項19に記載の方法。
  21. 前記要求をクライアントから受信するステップと、
    前記トランスコードされたファイルを前記クライアントに送信するステップとをさらに備えることを特徴とする請求項19に記載の方法。
JP2009518148A 2006-06-30 2007-06-13 分散ファイルシステムのためのトランスコーディング Active JP5006395B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/479,536 US8266182B2 (en) 2006-06-30 2006-06-30 Transcoding for a distributed file system
US11/479,536 2006-06-30
PCT/US2007/013980 WO2008005165A2 (en) 2006-06-30 2007-06-13 Transcoding for a distributed file system

Publications (2)

Publication Number Publication Date
JP2009541897A JP2009541897A (ja) 2009-11-26
JP5006395B2 true JP5006395B2 (ja) 2012-08-22

Family

ID=38876014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009518148A Active JP5006395B2 (ja) 2006-06-30 2007-06-13 分散ファイルシステムのためのトランスコーディング

Country Status (4)

Country Link
US (1) US8266182B2 (ja)
EP (1) EP2002640B1 (ja)
JP (1) JP5006395B2 (ja)
WO (1) WO2008005165A2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209363B2 (en) * 2007-10-09 2012-06-26 Cleversafe, Inc. File system adapted for use with a dispersed data storage network
US9819984B1 (en) 2007-03-26 2017-11-14 CSC Holdings, LLC Digital video recording with remote storage
US20080243692A1 (en) * 2007-03-30 2008-10-02 Verizon Services Corp. Content ingest, maintenance, and delivery
US8677241B2 (en) 2007-09-10 2014-03-18 Vantrix Corporation Method and system for multimedia messaging service (MMS) to video adaptation
US8311058B2 (en) 2008-05-10 2012-11-13 Vantrix Corporation Modular transcoding pipeline
US8220051B2 (en) 2007-09-28 2012-07-10 Vantrix Corporation Generation and delivery of multimedia content-adaptation notifications
US8171167B2 (en) * 2007-11-13 2012-05-01 Vantrix Corporation Intelligent caching of media files
US8103628B2 (en) * 2008-04-09 2012-01-24 Harmonic Inc. Directed placement of data in a redundant data storage system
US8037016B2 (en) * 2008-07-09 2011-10-11 Dell Products L.P. Adaptive storage system transcoder
AU2010202034B1 (en) 2010-04-07 2010-12-23 Limelight Networks, Inc. Partial object distribution in content delivery network
CN102197626A (zh) * 2008-10-29 2011-09-21 惠普发展公司,有限责任合伙企业 媒体影子文件及系统
US9369510B2 (en) * 2009-07-16 2016-06-14 International Business Machines Corporation Cost and resource utilization optimization in multiple data source transcoding
US8953038B2 (en) * 2009-08-31 2015-02-10 International Business Machines Corporation Distributed video surveillance storage cost reduction using statistical multiplexing principle
US8516074B2 (en) * 2009-12-01 2013-08-20 Vantrix Corporation System and methods for efficient media delivery using cache
WO2011126481A1 (en) 2010-04-07 2011-10-13 Limelight Networks, Inc. Partial object distribution in content delivery network
JP5498875B2 (ja) * 2010-06-28 2014-05-21 日本電信電話株式会社 分散型マルチメディアサーバシステム、分散型マルチメディア蓄積方法、及び分散型マルチメディア配信方法
US8452819B1 (en) 2011-03-22 2013-05-28 Amazon Technologies, Inc. Methods and apparatus for optimizing resource utilization in distributed storage systems
US9189484B1 (en) * 2012-02-23 2015-11-17 Amazon Technologies, Inc. Automatic transcoding of a file uploaded to a remote storage system
US9819728B2 (en) 2012-04-30 2017-11-14 Google Inc. System and method for facilitating deduplication of operations to be performed
JP5337280B1 (ja) * 2012-05-24 2013-11-06 株式会社東芝 映像配信装置、映像配信方法、及び映像配信システム
US8930416B2 (en) * 2012-08-13 2015-01-06 Hulu, LLC Job dispatcher of transcoding jobs for media programs
US9112922B2 (en) 2012-08-28 2015-08-18 Vantrix Corporation Method and system for self-tuning cache management
JP6171478B2 (ja) * 2013-03-28 2017-08-02 富士通株式会社 ストレージシステム、情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法
US11080244B2 (en) * 2014-05-28 2021-08-03 Hewlett Packard Enterprise Development Lp Inter-version mapping of distributed file systems
KR101944637B1 (ko) 2014-08-01 2019-01-31 소니 주식회사 콘텐츠 포맷 변환 검증
CN106170968B (zh) * 2014-12-18 2019-09-20 华为技术有限公司 一种数据压缩存储方法、装置,及分布式文件系统
US10387367B2 (en) 2016-05-26 2019-08-20 Red Hat, Inc. Distributed file system with integrated file object conversion
CN106202263A (zh) * 2016-06-29 2016-12-07 乐视控股(北京)有限公司 一种数据库的更新方法、装置及系统
US10904329B1 (en) * 2016-12-30 2021-01-26 CSC Holdings, LLC Virtualized transcoder
JP7428081B2 (ja) 2020-06-05 2024-02-06 コニカミノルタ株式会社 振り分け装置、画像処理システム及びプログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB356535A (ja) 1929-11-08 1931-09-10 Robert Bosch Aktiengesellschaft
CA2100540A1 (en) 1992-10-19 1994-04-20 Jonel George System and method for performing resource reconfiguration in a computer system
US7448062B1 (en) * 1996-10-18 2008-11-04 Microsoft Corporation Seamless playback of multiple clips of media data across a data network
US6615212B1 (en) * 1999-08-19 2003-09-02 International Business Machines Corporation Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process
US6407680B1 (en) 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
JP2003087785A (ja) 2001-06-29 2003-03-20 Toshiba Corp 動画像符号化データの形式変換方法及び装置
CN101060538B (zh) * 2001-07-12 2012-08-08 捷讯研究有限公司 用于为移动通信设备提供远程数据访问的系统和方法
US7155475B2 (en) * 2002-02-15 2006-12-26 Sony Corporation System, method, and computer program product for media publishing request processing
US20030172186A1 (en) * 2002-03-07 2003-09-11 International Business Machines Coporation Method, system and program product for transcoding content
US7007047B2 (en) 2002-03-29 2006-02-28 Panasas, Inc. Internally consistent file system image in distributed object-based data storage
US7155464B2 (en) 2002-03-29 2006-12-26 Panasas, Inc. Recovering and checking large file systems in an object-based data storage system
US7036039B2 (en) 2002-03-29 2006-04-25 Panasas, Inc. Distributing manager failure-induced workload through the use of a manager-naming scheme
US7007024B2 (en) 2002-03-29 2006-02-28 Panasas, Inc. Hashing objects into multiple directories for better concurrency and manageability
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
US7120654B2 (en) * 2002-08-20 2006-10-10 Veritas Operating Corporation System and method for network-free file replication in a storage area network
US8176186B2 (en) * 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
US20050182772A1 (en) * 2004-02-13 2005-08-18 Rohit Mital Method of streaming conversion from a first data structure to a second data structure
US20050204393A1 (en) * 2004-03-10 2005-09-15 Bopardikar Rajendra A. Home network server
JP4296120B2 (ja) * 2004-04-09 2009-07-15 富士通株式会社 冗長構成復元方法、データ管理システム及び冗長構成復元プログラム
JP2006024024A (ja) * 2004-07-08 2006-01-26 Toshiba Corp 論理ディスク管理方法及び装置
WO2006025322A1 (ja) 2004-08-30 2006-03-09 Matsushita Electric Industrial Co., Ltd. 記録装置
US20070091928A1 (en) * 2005-10-21 2007-04-26 Wee Susie J Serial and parallel processing of data using information about the data and information about a streaming network
US7941455B2 (en) * 2006-05-31 2011-05-10 Harmonic Inc. Notification for a distributed file system

Also Published As

Publication number Publication date
US20080001791A1 (en) 2008-01-03
WO2008005165A2 (en) 2008-01-10
JP2009541897A (ja) 2009-11-26
US8266182B2 (en) 2012-09-11
EP2002640A2 (en) 2008-12-17
EP2002640B1 (en) 2014-02-19
WO2008005165B1 (en) 2008-05-08
WO2008005165A3 (en) 2008-03-20

Similar Documents

Publication Publication Date Title
JP5006395B2 (ja) 分散ファイルシステムのためのトランスコーディング
JP5004975B2 (ja) データ記憶システム
JP4934790B2 (ja) スケーラブルなデータ記憶システムのためのネットワークトポロジ
US20070214285A1 (en) Gateway server
US7941455B2 (en) Notification for a distributed file system
US7721157B2 (en) Multi-node computer system component proactive monitoring and proactive repair
US9672372B2 (en) Method for improving mean time to data loss (MTDL) in a fixed content distributed data storage
US20070214183A1 (en) Methods for dynamic partitioning of a redundant data fabric
US11921597B2 (en) Cross-platform replication
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
US20040010544A1 (en) Method of satisfying a demand on a network for a network resource, method of sharing the demand for resources between a plurality of networked resource servers, server network, demand director server, networked data library, method of network resource management, method of satisfying a demand on an internet network for a network resource, tier of resource serving servers, network, demand director, metropolitan video serving network, computer readable memory device encoded with a data structure for managing networked resources, method of making available computer network resources to users of a
US8332497B1 (en) Generic resynchronization between persistent management store and dynamic configuration
US20100318780A1 (en) Hierarchical services startup sequencing
US20030154246A1 (en) Server for storing files
US11431798B2 (en) Data storage system
CN111522499B (zh) 运维数据读取装置及其读取方法
US8086840B2 (en) Apparatus, system, and method for improving user boot via a storage area network
US11249671B2 (en) Methods for improved data replication across hybrid cloud volumes using data tagging and devices thereof
US10938938B2 (en) Methods for selectively compressing data and devices thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110907

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111004

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20120119

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120524

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5006395

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250