JP4663718B2 - ブロックマップキャッシングおよびvfsスタック可能なファイルシステムモジュールに基づく分散型のストレージアーキテクチャ - Google Patents
ブロックマップキャッシングおよびvfsスタック可能なファイルシステムモジュールに基づく分散型のストレージアーキテクチャ Download PDFInfo
- Publication number
- JP4663718B2 JP4663718B2 JP2007522753A JP2007522753A JP4663718B2 JP 4663718 B2 JP4663718 B2 JP 4663718B2 JP 2007522753 A JP2007522753 A JP 2007522753A JP 2007522753 A JP2007522753 A JP 2007522753A JP 4663718 B2 JP4663718 B2 JP 4663718B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- computer
- asset
- storage device
- computers
- 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
Links
- 238000000034 method Methods 0.000 claims description 29
- 230000015654 memory Effects 0.000 claims description 24
- 230000007246 mechanism Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 11
- 230000000903 blocking effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims 6
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 239000000835 fiber Substances 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000005192 partition Methods 0.000 description 5
- 230000010076 replication Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2181—Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21815—Source of audio or video content, e.g. local disk arrays comprising local storage units
- H04N21/2182—Source of audio or video content, e.g. local disk arrays comprising local storage units involving memory arrays, e.g. RAID disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23109—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/2312—Data placement on disk arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
図1Aは、拡張可能なビデオサーバ複合体の例示を目的とした実施形態を示すものである。このような複合体は、リソースコントローラ10と、若干のコンテンツライタ12と(これの1つまたは複数が1若しくはそれ以上のファイルシステムを管理してもよい)、若干のビデオポンプ14を含む。コンポーネントの一部または全てが、イーサネットおよびファイバーチャネルスイッチ16および18を通じて、相互接続してもよい。前記ファイバーチャネルスイッチ18は、ビデオポンプ14と、コンテンツライタ12と、前記ストレージアレイ20との間で並行のノンブロッキングアクセスを提供する。
共有ストレージアーキテクチャは、前記ビデオポンプ14が前記コンテンツライタのローカルファイルシステムからストリームするのを可能にする。それは、ブロックマップ(bmap)キャッシング機構を使用して行われるが、これにより前記コンテンツライタ12が前記ビデオポンプ14にアセットデータブロックの場所を知らせることで可能になる。これにより、前記ビデオポンプ14は、前記ファイバーチャネルスイッチ18を通じて直接データブロックを読み込み、且つこれらからストリームできるようになる。前記システム中の1若しくはそれ以上のアセット用のブロックマップはそのアセットの存続期間の間、1若しくはそれ以上のビデオポンプ上のローカルファイルシステムでキャッシュされる。各々のビデオポンプで実行されるコンテンツsyncherプロセスは、前記ブロックマップキャッシュが前記コンテンツライタ12上のアセットの状態と一致した状態にあることを確保する。前記ビデオポンプ上のアセット用のブロックマップおよびヒントファイルを常時キャッシュすることにより、コンテンツライタ障害の際にストリーミングの続行を可能にする。
BCFSは、トランスペアレントなインタフェースをユーザーレベルのアプリケーションに提供する、薄型ファイルシステム層で、これにより、3次ストレージ上のアセットを、まるでローカルにあるかのように、オープンし、そこからストリームすることを可能にする。
1.安定コードへの変更は最低限に抑える。
新規なファイルシステム層を導入することによって、ストリーミングアプリケーションは、修正なしに共有ヒントファイルおよびアセットにアクセス可能になる。
2.キャッシュされたブロックマップとヒントファイル用に永続的な格納を提供する。
これは、前記ブロックマップキャッシュのRAM要件を減らし、システム再起動を通じでブロックマップが持続されるようにし、3次ストレージ上のアセットの存続期間中、アセットブロックマップがビデオポンプ14に保持されるのを可能にする。
3.ビデオポンプ14とコンテンツライタ12間のバッファキャッシュの一貫性。
未加工のメタデータの代わりにブロックマップを使用したアセットに共有アクセスを提供することにより、モードだけ共有された場合に起こるかもしれないキャッシュ一貫性の問題を回避することができる。
4.ビデオポンプ14およびコンテンツライタ12間のタイミング要件。
アクティブにインジェストしているコンテンツからストリームしている場合、ヒントファイルへの変更は、迅速に前記コンテンツライタから前記ビデオポンプに通知する必要がある。前記ヒントファイルデータがディスクに同期化するまで待機してから、それを読み込むことは許容外の遅延をもたらすことになる。
このセクションでは実施形態によって、ブロックマップまたはbmapの用語が意味するものを説明する。図3に示すように、ディスクに格納されたアセットは、ブロックと呼ばれる一連の隣接するセクタを含む。ファイルシステムのブロック配置ポリシーによって、ブロックは隣接して配置または、ディスクのアドレス空間の全域でなんらかの方法で分散される。
1.ブロックが前記ファイルシステムによって連続配置される場合は、ブロックマップのサイズは更に縮小可能である。
このセクションは、bmapファイルのサンプル形式を記載する。前記bmapファイルは、ヘッダとその後にブロックディスクリプタのリストを含んでもよい。
ブロックディスクリプタは、ディスク上の単一の連続データブロックの位置とサイズを定義する。論理ブロックアドレス(LBA)および、fs−ブロックサイズの倍数である長さが、ブロックの位置を定義する。
前記bmapファイルはアセットがロードされる時にコンテンツライタ12上に生成される。前記ビデオポンプ14上のコンテンツsyncherは、/assets/cache上の前記bmapファイルが前記コンテンツライタ上のファイルに対して最新であることを確保にする。ストリームがビデオポンプに割り当てられる際、あたかもアセットがローカルに格納されるかのように、前記ストリーミングサーバプロセスは前記アセットをオープンし、ファイルから読み込む。
ヒントファイルは、「トリックモード」(例えば早送り、巻戻し)を実行するためのアセットメタデータを含む。前記ヒントファイルは、アセットがストレージへロードされるときに、ソフトウェアによってビデオポンプ上に生成されてもよい。それらは、アセットの特定の場面へのポインタを含む。
上述したように、前記マルチサーバ複合体のビデオポンプ14は、3階層のコンテンツストレージおよびキャッシングを使用する。階層キャッシングの目的は、2つあるが、まず、アセットストレージ帯域幅からストリーミング帯域幅を切り離すことである。前記キャッシュの追加によって、「ホットスポット」またはアレイ間でのロードの不均衡を回避することができる。アセットの人気度にばらつきがあるため、キャッシングなしでは特定ストレージアレイから要求されるストリームの数が不均等になるのでロードの不均衡が容易に発生可能である。もう1つは、アセットの人気度の多様さを利用して、最も経済的なメディアタイプから、異なる人気度のアセットからのストリームを供給することにより、ストリーム毎のコストを減らすことである。たとえば、人気度が高い単一のアセットはRAMから供給されるのが最も費用効率がよいのは、これのストレージ要件は低いが、帯域幅要件が高いからである。アクセスの頻度が低いコンテンツの大きなライブラリは、ストレージ容量が高いが帯域幅要件が低い安価な低速ハードドライブから供給されるのが最も費用効果が高い。階層キャッシングの実装により、現時点におけるアセットの人気度に基づいて最も経済的なメディアからアセットが動的および自動的に供給される。
このセクションでは、1次RAMキャッシングのアルゴリズムの可能な1実装を概説する。このアルゴリズムについては、拡張可能なサーバ複合体をサポートするためにどのように前記1次キャッシュが他のキャッシュ階層と連動して作動するかを示すためにここで説明する。
前記2次キャッシュの目的は、アセットが外部ストレージ20から読み込まれる際にこれらのアセット全てをキャッシュすることにより、アセットストレージ帯域幅をストリーミング帯域幅から切り離すことである。それは、複製およびファイルシステムを有さない未加工のブロックレベルストレージとして管理される大型ローカルドライブアレイを含んでもよい。それは、「格納及び転送」タイプのキャッシュでもよく、すなわち、前記キャッシュコンテンツは前記ブロックが読み込まれるにつれて書き込まれ、前記保存操作は、外部ストレージからのデータフローに影響を与えないものである。IP2160メディアサーバ(Midstream Technologies)において、たとえば、前記2次キャッシュは、前記内部ドライブ・アレイの一部に内在する。
前記ストリームサービスリクエストを処理するためにビデオポンプ14を選択する際、前記リソースコントローラ10は前記アセットをすでにキャッシュに有する可能性が最も高いサーバを検索するが、前記複合体中のリソースの最適な利用を行うために前記複合体中の別のサーバにリクエストを送る場合がある。たとえば、単一の非常に人気があるアセットが1ビデオポンプの1次RAMキャッシュから供給され、このアセットを要求しているビューワストリームの数が、前記ビデオポンプの帯域幅ストリーミング容量を飽和させているとする。この場合、前記ビデオポンプは、3次外部ストレージインタフェースまたは内部2次ディスクドライブを利用しないので、結果として、これらの階層から発せられる大域ストリーム・ロードのよい高いパーセンテージは前記複合体の他のビデオポンプ14に置かれることになる。ビデオポンプ上の2次ローカルキャッシュディスク帯域幅には限度があるので、他のビデオポンプ14上にキャッシュされたストリームの結果として生じた増加は、これらの2次ディスク帯域幅を上回り、実質的に前記複合体がサポートできるストリームの数を制限する可能性がある。前記複合体の全体としての処理能力を最大にするために、図5において示されるような比率で、キャッシュ可及びキャッシュ不可のアセットのバランスのとれたミックスが、各ビデオポンプで維持される必要がある。
1.ストリームリクエストが、リソースコントローラ10にとどく。
2.前記リソースコントローラ10は、どのビデオポンプ14が最後に該当アセットを配信したかを判定する。
3.どのビデオポンプ14も前記アセットを配信していない場合は、前記リソースコントローラ10は最も使用可能なストリーミング帯域幅を有するビデオポンプに、前記リクエストを誘導する。
4.そうではなく、ビデオポンプ14が見つかった場合は、前記リソースコントローラ10は、前記ビデオポンプ上のこのアセットの現在有効な計数が定義済みのしきい値未満であるかどうかを確認する。
b.前記しきい値を上回った場合、前記コントローラ10は、最も使用可能なストリーミング帯域幅を有するビデオポンプに前記リクエストを誘導する。
請求項は、本明細書において開示された例示の実施形態に限定されるものではない。
たとえば、ブロックマップキャッシング及びVFSスタック可能ファイルシステムモジュールに基づく分散型のストレージアーキテクチャ、更に、階層キャッシングに基づく拡張可能なストリーミングビデオ・サーバ複合体の前述の開示では、コンテンツライタ、ビデオポンプ、コントローラなどの用語が使用されるが、それらは本出願の保護範囲を制限するためであると、または本明細書で記載される前記システム、デバイスおよび方法は開示された前述の特定の方法および装置に限定されることを意味すると、解釈されるべきではない。さらに、当業者によって理解されるように、本明細書で開示される多くの発明の観点は、ストリーミングメディアまたはビデオ・オン・デマンド以外の目的のために使用されるコンピュータシステムにおいても適用可能である。同様に、本発明は、上述されたような、VFSスタック可能ファイルシステムモジュールおよび/またはブロックマップを使用するシステム、または、特定タイプのコンピュータ、プロセッサ、スイッチ、ストレージデバイス、メモリ、アルゴリズム、その他を使用したシステムに限定されるものではない。前記コンテンツライタ、ビデオポンプ、リソースコントローラ等は、基本的にはプログラム可能なコンピュータであり、本明細書で開示された発明の概念から逸脱することなしに様々な形式を取り得るものである。デジタル処理、ネットワークおよびストレージ機能の急速なコスト低下により、前記システムの発明のオペレーションを変更することなしに、例えば、特定機能用の処理と格納を本明細書で記載された機能要素の1つから別の機能要素に移すことが容易に可能である。多くの場合、本明細書において記載されている実装箇所(すなわち機能要素)は、単に設計者の好みであって、厳密な必要条件ではない。したがって、それらが明白に限定されない限り、保護の範囲が上述された特定の実施形態に限定されるべきものではない。
Claims (34)
- アセットファイルからデータをストリーミングするための分散型ストレージシステムであって、
前記分散型ストレージシステムは、
第1のストレージデバイスと、
該第1のストレージデバイスに結合され、前記アセットファイルを前記第1のストレージデバイスに書き込み、前記アセットファイル用の第1のブロックマップを前記第1のストレージデバイスに書き込み、及び前記アセットファイルに関連付けられたヒントファイルを前記第1のストレージデバイスに書き込み、該ヒントファイル用の第2のブロックマップを前記第1のストレージデバイスに書き込むように構成された前記第1のコンピュータであって、前記ヒントファイルは前記アセットファイル中の位置へのポインターを少なくとも1つ有するものである、第1のコンピュータと、 第2のストレージデバイスと、 前記第1のストレージデバイス、前記第1のコンピュータ及び前記第2のストレージデバイスに結合された複数の第2のコンピュータと、
前記第1のコンピュータ及び前記第2のコンピュータに結合され、前記アセットファイルに対するストリーミングのリクエストを受け取り、複数の前記第2のコンピュータのうちの1つを選択し、前記第2のコンピュータのうちの該選択された1つに前記ストリーミングのリクエストを送信するように構成されたリソースコントローラと、
を有し、
前記第1のコンピュータは前記第1及び第2のブロックマップのコピーを前記第2のストレージデバイスに格納するよう更に構成され、
各前記第2のコンピュータは、前記第1及び第2のブロックマップのコピーを前記第1のストレージデバイス上の対応するアセットファイルの名前及び対応するヒントファイルの名前に関連するように設定するよう構成され、
各前記第2のコンピュータは、前記第1及び第2のブロックマップの前記コピーを用いて、前記第1のストレージデバイス上の前記アセットファイルにアクセスするよう構成された仮想ファイルシステムを有し、
前記仮想ファイルシステムは、スタック可能な仮想ノードインターフェース及び少なくとも1つの仮想ノードを有する、
ことを特徴とする分散型ストレージシステム。 - 請求項1記載の分散型ストレージシステムにおいて、前記第1のブロックマップは、前記第1のストレージデバイス中の前記アセットファイルが格納されている場所の最初および最後の位置に関する情報を含むものである。
- 請求項1記載の分散型ストレージシステムにおいて、前記第1のストレージデバイスは、前記第1のコンピュータが前記アセットファイルを格納するときに複数ローカルファイルシステムブロックを連続的に書き込むブロック配置アルゴリズムを有するものである。
- 請求項1記載の分散型ストレージシステムにおいて、さらに、前記第1のコンピュータと前記第2のコンピュータと前記第1のストレージデバイスとに結合され、前記第1のコンピュータと、前記第2のコンピュータと、前記第1のストレージデバイスとの間で並行のノンブロッキングアクセスを提供するように構成されたスイッチを有するものである。
- 請求項1記載の分散型ストレージシステムにおいて、前記第1のコンピュータは、前記ヒントファイルを作成するように構成されたものである。
- 請求項1記載の分散型ストレージシステムにおいて、前記第1のストレージデバイスは前記アセットファイルを格納するための3次ストレージメカニズムを有し、
前記第2のストレージデバイスは、前記アセットファイルのコピーを前記第1のストレージデバイスの前記3次ストレージメカニズムから受け取り1又は複数のストリーミングを行うための2次ストレージメカニズムを有し、
各前記第2のコンピュータは、前記第2のストレージデバイスの前記2次ストレージメカニズムから前記アセットファイルのコピーを受け取り複数のストリーミングを行うための1次ストレージメカニズムとを有するものである。 - 請求項6記載の分散型ストレージシステムにおいて、前記1次ストレージメカニズムはランダムアクセスメモリ(RAM)を有し、
前記2次ストレージメカニズムはディスクストレージを有するものである。 - 請求項1記載の分散型ストレージシステムにおいて、前記リソースコントローラは、前記第2コンピュータを監視し、この監視に基づいて前記第2コンピュータのうちの1つを選択するようにさらに構成されているものである。
- 請求項1記載の分散型ストレージシステムにおいて、前記リソースコントローラは、前記第2のコンピュータのうちのどれが前記アセットファイルのストリームを前記第2コンピュータのなかのどのコンピュータよりももっと最近に開始したかを判定するようにさらに構成され、
前記リソースコントローラは、前記判定に基づき前記第1のコンピュータのうちの前記1つを選択するよう構成されるものである。 - 請求項1記載の分散型ストレージシステムにおいて、
前記第1のブロックマップは、前記アセットファイルが前記第1のストレージデバイス中に格納されている場所の最初および最後の位置に関する情報を含み、
前記第1のコンピュータは、前記ヒントファイルを作成するように更に構成されたものである。 - 請求項10記載の分散型ストレージシステムにおいて、前記第1のストレージデバイスは3次ストレージメカニズムを有し、
前記第2のストレージデバイスは2次ストレージメカニズムを有し、
各前記第2のコンピュータは1次ストレージメカニズムを有し、
前記1次ストレージメカニズムはランダムアクセスメモリ(RAM)を有し、
前記2次ストレージメカニズムはディスクストレージを有するもので
ある。 - 請求項10記載の分散型ストレージシステムにおいて、前記第1のブロックマップは、論理ブロックアドレスのリストを更に有し、
前記リスト中の少なくとも1つの論理ブロックアドレスは前記アセットファイルにデータを格納するために使用されたセクタを識別し、
各前記第2のコンピュータは、前記データに関連付けられた前記論理ブロックアドレスを読み出すよう構成され、
各前記第2のコンピュータの前記仮想ファイルシステムは、前記関連付けられた論理ブロックアドレスを用いて、前記第1のストレージデバイス上の前記アセットファイルにアクセスするものである。 - 請求項11記載の分散型ストレージシステムにおいて、この分散型ストレージシステムは、さらに、
前記第1のコンピュータと前記第2のコンピュータと前記第1のストレージデバイスとに結合され、前記第1のコンピュータと、前記第2のコンピュータと、前記第1のストレージデバイスとの間で並行のノンブロッキングアクセスを提供するように構成されたスイッチ、
を有するものである。 - 分散型ストレージシステムの第1のストレージデバイスに格納されたアセットファイルからデータを読み込む方法であって、
前記分散型ストレージシステムは、第1のコンピュータと、第2のストレージデバイスと、複数の第2のコンピュータと、リソースコントローラと、を更に有し、
各前記第2のコンピュータは、スタック可能な仮想ノードインターフェース及び少なくとも1つの仮想ノードを有する仮想ファイルシステムを有し、
前記方法は、
前記第1のコンピュータが前記アセットファイル用の第1のブロックマップを前記第1のストレージデバイスに書き込む工程と、
前記アセットファイルに関連するヒントファイルを前記第1のストレージデバイスに書き込む工程であって、前記ヒントファイルは前記アセットファイル中の位置への少なくとも1つのポインターを有する、書き込み工程と、
前記第1のコンピュータが前記ヒントファイル用の第2のブロックを前記第1のストレージデバイスに書き込む工程と、
前記第1のコンピュータが前記第1及び第2のブロックマップのコピーを前記第2のストレージデバイスに書き込む工程と、
各前記第2のコンピュータが前記第2ストレージデバイス上の前記第1及び第2のブロックマップの前記コピーの名前を前記第1のストレージデバイス上の対応するアセットファイルの名前及びヒントファイルの名前に関連するように設定する、書き込み工程と、
前記リソースコントローラが前記アセットファイルからのデータに対するリクエストを受け取る工程と、
前記リソースコントローラが、前記第2のコンピュータのうちの1つを選択する工程と、
前記リソースコントローラが前記リクエストを前記第2のコンピュータのうちの前記選択された1つに送信する工程と、
前記第2のコンピュータのうちの前記選択された1つが前記第1のコンピュータにおいてシステムコールを発行する工程と、
前記第2のコンピュータのうちの前記選択された1つが前記第1及び第2のブロックマップの前記コピーを用い、前記アセットファイルを読み出す工程と、
を有する方法。 - 請求項14記載の方法において、この方法は、さらに、
前記アセットファイルが前記第1のストレージデバイスに格納されるときに、前記第1のコンピュータは、前記第1のブロックマップを作成する工程、
を有するものである。 - 請求項14記載の方法において、この方法は、さらに、
前記第1のコンピュータは、前記ヒントファイルを作成する工程、
を有する。 - 請求項14記載の方法において、
前記リソースコントローラは、前記第2のコンピュータを監視し、前記リソースコントローラは前記監視に基づいて前記第2のコンピュータのうちの1つを選択する工程、
をさらに有するものである。 - 請求項17記載の方法において、この方法は、さらに、
前記スイッチは、前記第1のストレージデバイスを前記第1のコンピュータおよび前記第2のコンピュータに連結させる工程、
を有するものである。 - 請求項14記載の方法において、
前記第1のブロックマップは、論理ブロックアドレスのリストを有するものであり、
前記リスト中の少なくとも1つの論理ブロックアドレスは前記アセットファイルに前記データを格納するために使用されたセクタを識別するものであり、
前記方法は、
前記第2のコンピュータのうちの前記選択された1つが、前記データに関連する前記論理ブロックアドレスを読み出す工程、
を更に有し、
前記第2のコンピュータのうちの前記選択された1つの前記仮想ファイルシステムは、前記関連付けられた論理ブロックアドレスを更に用いて前記アセットファイルを読み出す。 - 請求項19記載の方法において、
前記リストは、各論理ブロックアドレスに関連したブロック長を有し、
前記ブロック長は、前記識別されたセクタに続く連続セクタの総数を表すものであり、
前記の方法は、さらに、
前記第2のコンピュータのうちの前記選択された1つが、関連したブロック長を取り出す工程、
を有し、
前記データは前記取り出された論理ブロックアドレスおよび前記関連したブロック長によって識別される論理記憶領域に含まれ、
前記第2のコンピュータのうちの前記選択された1つの前記仮想ファイルシステムは、前記関連したブロック長を更に用いて前記アセットファイルを読み出すものである。 - コンピュータ可読命令を有するコンピュータ可読媒体であって、
第1のストレージデバイスと、第1のコンピュータと、第2のストレージデバイスと、複数の第2のコンピュータと、リソースコントローラと、を有する分散型ストレージシステムにより読み込まれると、
前記第1のコンピュータがアセットファイル用の第1のブロックマップを第1のファイルシステムに書き込む命令と、
前記アセットファイルに関連するヒントファイルを前記第1のファイルシステムに書き込む命令であって、前記ヒントファイルは前記アセットファイル中の位置への少なくとも1つのポインターを有するものである、書き込み命令と、
前記第1のコンピュータが前記ヒントファイル用の第2のブロックマップを前記第1のファイルシステムに書き込む命令と、
前記第1のコンピュータが前記第1及び第2のブロックマップのコピーを第2のファイルシステムに書き込む命令と、
各前記第2のコンピュータが前記第2ファイルシステム上の前記第1及び第2のブロックマップの前記コピーの名前を、前記第1のファイルシステム上の対応するアセットファイル及びヒントファイルの名前に関連するように設定する命令と、
前記リソースコントローラが前記アセットファイルのデータに対するリクエストを受け取る命令と、
前記リソースコントローラが前記複数の第2のコンピュータのうちの1つを選択する命令と、
前記リソースコントローラが前記リクエストを前記複数の第2のコンピュータのうちの前記選択された1つに送信する命令と、
前記複数の第2のコンピュータのうちの前記選択された1つに、前記第1のファイルシステムにおけるシステムコールを発行させる命令と、
前記コンピュータのうちの前記選択された1つの前記仮想ファイルシステムに、前記第1及び第2のブロックマップのコピーを使用して前記アセットファイルを読み込むようにさせる命令と、
を実行し、
前記仮想ファイルシステムはスタック可能な仮想ノードインターフェースと少なくとも1つの仮想ノードを有する、
コンピュータ可読媒体。 - 請求項21記載のコンピュータ可読媒体において、
このコンピュータ可読媒体は、さらに、
前記アセットファイルが前記第1のファイルシステムに格納される際に前記第1のコンピュータが前記第1のブロックマップを作成するためのコンピュータ可読命令、
を有するものである。 - 請求項21記載のコンピュータ可読媒体において、このコンピュータ可読媒体は、さらに、第1のコンピュータが前記ヒントファイルを作成するためのコンピュータ可読命令、
を更に有する請求項21に記載のコンピュータ可読媒体。 - 請求項21記載のコンピュータ可読媒体において、
前記リソースコントローラによって、前記複数のコンピュータを監視するコンピュータ可読命令、
を更に有し、
前記複数のコンピュータのうちの1つの選択は、前記監視に基づく。 - 請求項21記載のコンピュータ可読媒体において、
前記第1のブロックマップは、論理ブロックアドレスのリストを有するものであり、
前記リスト中の少なくとも1つの論理ブロックアドレスは前記アセットファイル中の前記データを格納するために使用されたセクタを識別し、
前記コンピュータ可読媒体は、
前記複数のコンピュータのうちの選択された1つを、前記データに関連付けられた論理ブロックアドレスを読み出すように構成するコンピュータ可読命令、
を更に有し、
前記複数のコンピュータのうちの選択された1つの仮想ファイルシステムは、前記関連付けられた論理ブロックアドレスを更に用いて前記アセットファイルを取り出す。 - 請求項25記載のコンピュータ可読媒体において、このコンピュータ可読媒体は、さらに、
前記第2のコンピュータのうちの前記選択された1つが、各論理ブロックアドレスに関連したブロック長を取り出すコンピュータ可読命令、
を更に有し、
前記データは、前記取り出された論理ブロックアドレスおよび前記関連したブロック長によって識別される論理記憶領域に含まれ、
前記複数のコンピュータのうちの選択された1つの前記仮想ファイルシステムは、前記関連付けられたブロック長を更に用いて前記アセットファイルを読み出す。 - 階層キャッシュシステムであって、
デジタルアセットと、前記デジタルアセット用の第1のブロックマップと、前記デジタルアセット用のヒントファイルと前記ヒントファイル用の第2のブロックマップとを格納するように構成された第1のキャッシュメモリであって、前記ヒントファイルは、前記デジタルアセット内の位置への少なくとも1つのポインターを有する、第1のキャッシュメモリと、
前記第1及び第2のブロックマップのコピーを格納するように構成された第2のキャッシュメモリと、
前記第2のキャッシュメモリ上の前記第1及び第2のブロックマップのコピーの名前が、前記第1のキャッシュメモリ上にある対応するデジタルアセットの名前及びヒントファイルの名前に関連するように設定するコンテンツ同期化(syncher)手段と、
前記第1と第2のキャッシュメモリに連結された複数のコンピュータであって、前記複数のコンピュータのそれぞれは前記第1及び第2のブロックマップの前記コピーを使用して、前記第1のキャッシュメモリ上の前記デジタルアセットを読み込むように構成された仮想ファイルシステムを有し、前記仮想ファイルシステムはスタック可能な仮想ノードインターフェースと少なくとも1つの仮想ノードを有す、複数のコンピュータ、
前記複数のコンピュータのうちの1つを選択し、前記デジタルアセットに対するリクエストを前記複数のコンピュータのうちの選択された1つに送信するように構成されたリソースコントローラと、
を有する階層キャッシュシステム。 - 請求項27記載の階層キャッシュシステムにおいて、前記複数のコンピュータのそれぞれはビデオポンプを有するものである。
- 請求項28記載の階層キャッシュシステムにおいて、
前記リソースコントローラは、前記複数のコンピュータを監視するように更に構成され、
前記リソースコントローラは、前記監視に基づいて前記複数のコンピュータのうちの1つを選択するように構成されている。 - 請求項27記載の階層キャッシュシステムにおいて、
前記リソースコントローラは、前記複数のコンピュータのうちのどれが前記デジタルアセットのストリームを前記複数のコンピュータのなかのどのコンピュータよりももっと最近に開始したかを判定するようにさらに構成され、
前記リソースコントローラは、前記監視に基づき前記複数のコンピュータのうちの1つを選択するよう構成される。 - 請求項27記載の階層キャッシュシステムにおいて、前記第1のキャッシュメモリはディスクアレイを有するものである。
- 請求項27記載の階層キャッシュシステムにおいて、前記第2のキャッシュメモリはディスクストレージを有するものである。
- 請求項27記載の階層キャッシュシステムにおいて、前記第2のキャッシュメモリはランダムアクセスメモリ(RAM)を有するものである。
- 請求項27記載の階層キャッシュシステムにおいて、前記第1のブロックマップは、前記デジタルアセットが前記第1のキャッシュメモリに格納されている場所の最初及び最後の位置に関する情報を含むものである。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58957804P | 2004-07-21 | 2004-07-21 | |
US59043104P | 2004-07-23 | 2004-07-23 | |
PCT/US2005/025883 WO2006012418A2 (en) | 2004-07-21 | 2005-07-20 | Distributed storage architecture based on block map caching and vfs stackable file system modules |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008507771A JP2008507771A (ja) | 2008-03-13 |
JP4663718B2 true JP4663718B2 (ja) | 2011-04-06 |
Family
ID=35079211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007522753A Active JP4663718B2 (ja) | 2004-07-21 | 2005-07-20 | ブロックマップキャッシングおよびvfsスタック可能なファイルシステムモジュールに基づく分散型のストレージアーキテクチャ |
Country Status (6)
Country | Link |
---|---|
US (1) | US7640274B2 (ja) |
EP (1) | EP1782287A2 (ja) |
JP (1) | JP4663718B2 (ja) |
KR (1) | KR100899462B1 (ja) |
CN (1) | CN101027668B (ja) |
WO (1) | WO2006012418A2 (ja) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7926052B2 (en) * | 2004-11-19 | 2011-04-12 | Hewlett-Packard Development Company, L.P. | Stacked file systems and methods |
US20060271972A1 (en) * | 2005-05-31 | 2006-11-30 | Microsoft Corporation | Popularity-based on-demand media distribution |
US8447827B2 (en) | 2005-09-15 | 2013-05-21 | Emc Corporation | Providing local access to managed content |
US8396938B2 (en) * | 2005-09-15 | 2013-03-12 | Emc Corporation | Providing direct access to distributed managed content |
US8805164B2 (en) | 2006-05-24 | 2014-08-12 | Capshore, Llc | Method and apparatus for creating a custom track |
US20080002942A1 (en) * | 2006-05-24 | 2008-01-03 | Peter White | Method and apparatus for creating a custom track |
US20070274683A1 (en) * | 2006-05-24 | 2007-11-29 | Michael Wayne Shore | Method and apparatus for creating a custom track |
US8831408B2 (en) | 2006-05-24 | 2014-09-09 | Capshore, Llc | Method and apparatus for creating a custom track |
US7783686B2 (en) * | 2006-06-16 | 2010-08-24 | Microsoft Corporation | Application program interface to manage media files |
US7603387B2 (en) * | 2006-06-16 | 2009-10-13 | Microsoft Corporation | Techniques to manage media files |
US20080033980A1 (en) * | 2006-08-03 | 2008-02-07 | Jaroslav Andrew Delapedraja | System and method for automatically adjusting file system settings |
US8032711B2 (en) | 2006-12-22 | 2011-10-04 | Intel Corporation | Prefetching from dynamic random access memory to a static random access memory |
US8543700B1 (en) | 2007-06-28 | 2013-09-24 | Emc Corporation | Asynchronous content transfer |
US8311058B2 (en) * | 2008-05-10 | 2012-11-13 | Vantrix Corporation | Modular transcoding pipeline |
US8677241B2 (en) * | 2007-09-10 | 2014-03-18 | Vantrix Corporation | Method and system for multimedia messaging service (MMS) to video adaptation |
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 |
CN101334823B (zh) * | 2008-07-17 | 2010-07-07 | 成都市华为赛门铁克科技有限公司 | 一种对文件虚拟化处理方法及装置 |
US8589993B2 (en) * | 2008-08-29 | 2013-11-19 | At&T Intellectual Property I, L.P. | Distributing on-demand multimedia content |
KR100983479B1 (ko) * | 2009-02-11 | 2010-09-27 | 엔에이치엔(주) | 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
KR101023883B1 (ko) * | 2009-02-13 | 2011-03-22 | (주)인디링스 | 고속 저장 장치를 캐쉬로 사용하는 스토리지 시스템 |
CN102341779A (zh) * | 2009-03-02 | 2012-02-01 | 国际商业机器公司 | 在多层级虚拟化存储结构中管理存储数据的布置的方法、系统和计算机程序产品 |
US20100241726A1 (en) * | 2009-03-23 | 2010-09-23 | Riverbed Technology, Inc. | Virtualized Data Storage Over Wide-Area Networks |
US8516074B2 (en) * | 2009-12-01 | 2013-08-20 | Vantrix Corporation | System and methods for efficient media delivery using cache |
US9058334B2 (en) * | 2010-02-11 | 2015-06-16 | Emc Corporation | Parallel file system processing |
CN101794306B (zh) * | 2010-03-02 | 2012-10-24 | 华平信息技术股份有限公司 | 多类型录像文件分块存储系统及方法 |
US8843459B1 (en) * | 2010-03-09 | 2014-09-23 | Hitachi Data Systems Engineering UK Limited | Multi-tiered filesystem |
US8504670B2 (en) * | 2010-03-23 | 2013-08-06 | Riverbed Technology, Inc. | Virtualized data storage applications and optimizations |
WO2011128935A1 (en) * | 2010-04-13 | 2011-10-20 | Hitachi, Ltd. | Data storage network system and its control method |
US8285762B2 (en) | 2010-05-11 | 2012-10-09 | International Business Machines Corporation | Migration of metadata and storage management of data in a first storage environment to a second storage environment |
CN102222213B (zh) * | 2010-07-29 | 2013-08-07 | 郑文明 | 一种基于开放式Web Service架构的分布式视觉计算方法 |
EP2609510A4 (en) * | 2010-08-25 | 2015-01-21 | Intel Corp | METHOD AND SYSTEM FOR FORMING CACHE MEMORY LAYERS |
CN102385606B (zh) * | 2010-09-03 | 2016-08-03 | 腾讯科技(深圳)有限公司 | 一种分布式数据仓库的访问方法和装置 |
CN101944124B (zh) * | 2010-09-21 | 2012-07-04 | 卓望数码技术(深圳)有限公司 | 分布式文件系统管理方法、装置以及对应的文件系统 |
US8495108B2 (en) | 2010-11-30 | 2013-07-23 | International Business Machines Corporation | Virtual node subpool management |
US8458181B2 (en) | 2010-12-08 | 2013-06-04 | International Business Machines Corporation | Distributed free block map for a clustered redirect-on-write file system |
US8904006B2 (en) | 2010-12-08 | 2014-12-02 | International Business Machines Corporation | In-flight block map for a clustered redirect-on-write filesystem |
US8396832B2 (en) | 2010-12-08 | 2013-03-12 | International Business Machines Corporation | Independent fileset generations in a clustered redirect-on-write filesystem |
US8626713B2 (en) | 2010-12-08 | 2014-01-07 | International Business Machines Corporation | Multiple contexts in a redirect on write file system |
CN102043732A (zh) * | 2010-12-30 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 一种缓存分配方法及装置 |
CN102215163B (zh) * | 2011-03-24 | 2014-04-09 | 东莞中山大学研究院 | 一种多服务器视频点播处理方法 |
CN102314480B (zh) * | 2011-07-05 | 2013-04-10 | 万达信息股份有限公司 | 一种针对海量数据的分布式数据存储方法 |
CN102355596B (zh) * | 2011-10-11 | 2013-08-28 | 浪潮电子信息产业股份有限公司 | 一种适用于视频服务的缓存服务器部署方法 |
US9167049B2 (en) * | 2012-02-02 | 2015-10-20 | Comcast Cable Communications, Llc | Content distribution network supporting popularity-based caching |
US10097406B2 (en) * | 2012-03-19 | 2018-10-09 | Level 3 Communications, Llc | Systems and methods for data mobility with a cloud architecture |
CN103488640B (zh) * | 2012-06-11 | 2017-01-25 | 北汽福田汽车股份有限公司 | 一种映射文件的自动分析方法和装置 |
US9112922B2 (en) | 2012-08-28 | 2015-08-18 | Vantrix Corporation | Method and system for self-tuning cache management |
US20140071157A1 (en) * | 2012-09-07 | 2014-03-13 | Htc Corporation | Content delivery systems with prioritized content and related methods |
US9015470B2 (en) * | 2012-11-08 | 2015-04-21 | Morega Systems, Inc | Adaptive video server with fast initialization and methods for use therewith |
US9276978B2 (en) | 2012-12-31 | 2016-03-01 | Microsoft Technology Licensing, Llc | Program based caching in live media distribution |
US9116904B2 (en) | 2013-03-14 | 2015-08-25 | Microsoft Technology Licensing, Llc | File system operation on multi-tiered volume |
US9524300B2 (en) | 2013-03-14 | 2016-12-20 | Microsoft Technology Licensing, Llc | Heterogenic volume generation and use system |
US9262313B2 (en) | 2013-03-14 | 2016-02-16 | Microsoft Technology Licensing, Llc | Provisioning in heterogenic volume of multiple tiers |
US9141626B2 (en) | 2013-03-14 | 2015-09-22 | Microsoft Technology Licensing, Llc | Volume having tiers of different storage traits |
CN103327079A (zh) * | 2013-05-31 | 2013-09-25 | 青岛海信传媒网络技术有限公司 | 一种多媒体资源的缓存方法及装置 |
CN105339906B (zh) * | 2013-06-12 | 2018-07-20 | 日本电气株式会社 | 控制对永久存储设备的数据写入的方法 |
CN103686198A (zh) * | 2013-12-30 | 2014-03-26 | 优视科技有限公司 | 视频数据的处理方法、装置和系统 |
ITRM20130728A1 (it) * | 2013-12-31 | 2015-07-01 | Prb S R L | Metodo di scambio comandi tramite disco usb e relativi dispositivi che ne permettono l¿implementazione. |
CN103777903A (zh) * | 2014-01-23 | 2014-05-07 | 武汉市烽视威科技有限公司 | 一种适用于流媒体服务的数据存储方法 |
KR20170019799A (ko) * | 2015-08-12 | 2017-02-22 | 삼성전자주식회사 | 파일 시스템을 제어하는 전자 장치 및 그 동작 방법 |
KR20180121733A (ko) | 2017-04-28 | 2018-11-08 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN107506494B (zh) * | 2017-09-27 | 2019-04-12 | Oppo广东移动通信有限公司 | 文件处理方法、移动终端及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000148565A (ja) * | 1998-11-13 | 2000-05-30 | Hitachi Ltd | 異種オペレーティングシステムファイル共用方法およびファイル共用システム |
JP2002196954A (ja) * | 2000-12-27 | 2002-07-12 | Toshiba Corp | 記憶資源自動管理方法及びネットワークコンピュータシステム |
JP2004199535A (ja) * | 2002-12-20 | 2004-07-15 | Hitachi Ltd | 計算機システムおよびそのストレージの管理方法 |
Family Cites Families (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2582175A1 (fr) | 1985-05-20 | 1986-11-21 | Alcatel Espace | Procede et dispositif de telecommunications par satellite en acces multiple a repartition dans le temps |
GB8829919D0 (en) | 1988-12-22 | 1989-02-15 | Int Computer Limited | File system |
US5367636A (en) | 1990-09-24 | 1994-11-22 | Ncube Corporation | Hypercube processor network in which the processor indentification numbers of two processors connected to each other through port number n, vary only in the nth bit |
US5768598A (en) | 1993-09-13 | 1998-06-16 | Intel Corporation | Method and apparatus for sharing hardward resources in a computer system |
US5515379A (en) | 1993-10-18 | 1996-05-07 | Motorola, Inc. | Time slot allocation method |
US5566174A (en) | 1994-04-08 | 1996-10-15 | Philips Electronics North America Corporation | MPEG information signal conversion system |
US5638516A (en) | 1994-08-01 | 1997-06-10 | Ncube Corporation | Parallel processor that routes messages around blocked or faulty nodes by selecting an output port to a subsequent node from a port vector and transmitting a route ready signal back to a previous node |
WO1996017306A2 (en) | 1994-11-21 | 1996-06-06 | Oracle Corporation | Media server |
US5794062A (en) | 1995-04-17 | 1998-08-11 | Ricoh Company Ltd. | System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization |
US6112226A (en) | 1995-07-14 | 2000-08-29 | Oracle Corporation | Method and apparatus for concurrently encoding and tagging digital information for allowing non-sequential access during playback |
US6138147A (en) | 1995-07-14 | 2000-10-24 | Oracle Corporation | Method and apparatus for implementing seamless playback of continuous media feeds |
US6119154A (en) | 1995-07-14 | 2000-09-12 | Oracle Corporation | Method and apparatus for non-sequential access to an in-progress video feed |
US7058721B1 (en) * | 1995-07-14 | 2006-06-06 | Broadband Royalty Corporation | Dynamic quality adjustment based on changing streaming constraints |
US5680640A (en) * | 1995-09-01 | 1997-10-21 | Emc Corporation | System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state |
US5729292A (en) | 1995-12-21 | 1998-03-17 | Thomson Multimedia, S.A. | Optimizing performance in a packet slot priority packet transport system |
US5854924A (en) * | 1996-08-08 | 1998-12-29 | Globetrotter Software, Inc. | Static debugging tool and method |
US5781227A (en) | 1996-10-25 | 1998-07-14 | Diva Systems Corporation | Method and apparatus for masking the effects of latency in an interactive information distribution system |
US6166730A (en) | 1997-12-03 | 2000-12-26 | Diva Systems Corporation | System for interactively distributing information services |
US6208335B1 (en) | 1997-01-13 | 2001-03-27 | Diva Systems Corporation | Method and apparatus for providing a menu structure for an interactive information distribution system |
US6305019B1 (en) | 1997-01-13 | 2001-10-16 | Diva Systems Corporation | System for interactively distributing information services having a remote video session manager |
US6253375B1 (en) | 1997-01-13 | 2001-06-26 | Diva Systems Corporation | System for interactively distributing information services |
US6192408B1 (en) * | 1997-09-26 | 2001-02-20 | Emc Corporation | Network file server sharing local caches of file access information in data processors assigned to respective file systems |
US5941969A (en) * | 1997-10-22 | 1999-08-24 | Auspex Systems, Inc. | Bridge for direct data storage device access |
US6219693B1 (en) * | 1997-11-04 | 2001-04-17 | Adaptec, Inc. | File array storage architecture having file system distributed across a data processing platform |
US6128717A (en) * | 1998-01-20 | 2000-10-03 | Quantum Corporation | Method and apparatus for storage application programming interface for digital mass storage and retrieval based upon data object type or size and characteristics of the data storage device |
US6697846B1 (en) | 1998-03-20 | 2004-02-24 | Dataplow, Inc. | Shared file system |
US6314573B1 (en) | 1998-05-29 | 2001-11-06 | Diva Systems Corporation | Method and apparatus for providing subscription-on-demand services for an interactive information distribution system |
US6314572B1 (en) | 1998-05-29 | 2001-11-06 | Diva Systems Corporation | Method and apparatus for providing subscription-on-demand services, dependent services and contingent services for an interactive information distribution system |
US6157051A (en) | 1998-07-10 | 2000-12-05 | Hilevel Technology, Inc. | Multiple function array based application specific integrated circuit |
US6574591B1 (en) * | 1998-07-31 | 2003-06-03 | Network Appliance, Inc. | File systems image transfer between dissimilar file systems |
US7035278B2 (en) | 1998-07-31 | 2006-04-25 | Sedna Patent Services, Llc | Method and apparatus for forming and utilizing a slotted MPEG transport stream |
US6148414A (en) | 1998-09-24 | 2000-11-14 | Seek Systems, Inc. | Methods and systems for implementing shared disk array management functions |
US6618363B1 (en) | 1998-10-09 | 2003-09-09 | Microsoft Corporation | Method for adapting video packet generation and transmission rates to available resources in a communications network |
US6389218B2 (en) | 1998-11-30 | 2002-05-14 | Diva Systems Corporation | Method and apparatus for simultaneously producing compressed play and trick play bitstreams from a video frame sequence |
JP2000175189A (ja) | 1998-12-07 | 2000-06-23 | Univ Tokyo | 動画符号化方法およびそれに用いる動画符号化装置 |
US6785338B1 (en) | 1999-01-19 | 2004-08-31 | Sarnoff Corporation | Constraining video production based on compression-related information |
US6588017B1 (en) | 1999-01-27 | 2003-07-01 | Diva Systems Corporation | Master and slave subscriber stations for digital video and interactive services |
WO2000059220A1 (en) | 1999-03-30 | 2000-10-05 | Diva Systems Corporation | User access to secondary content associated with a primary content |
US8065708B1 (en) | 1999-03-31 | 2011-11-22 | Cox Communications, Inc. | Method for reducing latency in an interactive information distribution system |
AU4048200A (en) | 1999-03-31 | 2000-10-16 | Diva Systems Corporation | Method for distributing and managing content for on demand applications utilizing local storage |
US6289376B1 (en) | 1999-03-31 | 2001-09-11 | Diva Systems Corp. | Tightly-coupled disk-to-CPU storage server |
WO2000059203A2 (en) | 1999-03-31 | 2000-10-05 | Diva Systems Corporation | Method and apparatus for performing impulse authorizations within a video on demand environment |
US6233607B1 (en) | 1999-04-01 | 2001-05-15 | Diva Systems Corp. | Modular storage server architecture with dynamic data management |
US6721794B2 (en) | 1999-04-01 | 2004-04-13 | Diva Systems Corp. | Method of data management for efficiently storing and retrieving data to respond to user access requests |
US7127737B1 (en) | 2000-01-26 | 2006-10-24 | Sedna Patent Services, Llc | Bandwidth management techniques for delivery of interactive program guide |
US6499039B1 (en) * | 1999-09-23 | 2002-12-24 | Emc Corporation | Reorganization of striped data during file system expansion in a data storage system |
WO2001031605A1 (en) | 1999-10-28 | 2001-05-03 | Ncube Corporation | Adaptive bandwidth system and method for broadcast data |
US7564873B1 (en) | 1999-12-10 | 2009-07-21 | Cox Communications, Inc. | Method and apparatus for providing in-band messaging within a video on demand environment |
AU1953201A (en) | 1999-12-10 | 2001-06-18 | Diva Systems Corporation | Method and apparatus for storing content within a video on demand environment |
US7096481B1 (en) * | 2000-01-04 | 2006-08-22 | Emc Corporation | Preparation of metadata for splicing of encoded MPEG video and audio |
KR20020093789A (ko) | 2000-01-13 | 2002-12-16 | 엔큐베 코포레이션 | 가입자 단말기로의 주문형 비디오 전송을 위한 신호경로의 식별 방법 및 장치 |
US7159235B2 (en) * | 2000-01-28 | 2007-01-02 | Sedna Patent Services, Llc | Method and apparatus for content distribution via non-homogeneous access networks |
CA2398071A1 (en) | 2000-01-28 | 2001-08-02 | Diva Systems Corporation | A system for preprocessing content for streaming server |
WO2001065774A1 (en) | 2000-03-01 | 2001-09-07 | Integrated Telecom Express, Inc. | Scaleable architecture for multiple-port, system-on-chip adsl communications systems |
US20010034786A1 (en) * | 2000-03-15 | 2001-10-25 | Ibm | Method ane system for streaming media data in heterogeneous environments |
EP1297438A1 (en) * | 2000-04-28 | 2003-04-02 | Live365, Inc. | System and method for reducing the resources required to deliver streaming media |
US6745284B1 (en) * | 2000-10-02 | 2004-06-01 | Sun Microsystems, Inc. | Data storage subsystem including a storage disk array employing dynamic data striping |
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 |
US7031343B1 (en) | 2000-11-17 | 2006-04-18 | Alloptic, Inc. | Point-to-multipoint passive optical network that utilizes variable-length packets |
US7383288B2 (en) * | 2001-01-11 | 2008-06-03 | Attune Systems, Inc. | Metadata based file switch and switched file system |
US6775792B2 (en) * | 2001-01-29 | 2004-08-10 | Snap Appliance, Inc. | Discrete mapping of parity blocks |
US7444662B2 (en) * | 2001-06-28 | 2008-10-28 | Emc Corporation | Video file server cache management using movie ratings for reservation of memory and bandwidth resources |
GB2377284B (en) * | 2001-07-02 | 2005-06-22 | Sun Microsystems Inc | Computer storage systems |
US20030079018A1 (en) | 2001-09-28 | 2003-04-24 | Lolayekar Santosh C. | Load balancing in a storage network |
US7174086B2 (en) | 2001-10-23 | 2007-02-06 | Thomson Licensing | Trick mode using dummy predictive pictures |
US7546364B2 (en) * | 2002-05-16 | 2009-06-09 | Emc Corporation | Replication of remote copy data for internet protocol (IP) transmission |
US7657917B2 (en) | 2002-05-23 | 2010-02-02 | Microsoft Corporation | Interactivity emulator for broadcast communication |
JP2004013367A (ja) * | 2002-06-05 | 2004-01-15 | Hitachi Ltd | データ記憶サブシステム |
US7197516B1 (en) * | 2002-07-22 | 2007-03-27 | Veritas Operating Corporation | Method and system for an overlay filesystem |
US7596298B2 (en) | 2002-10-10 | 2009-09-29 | Koninklijke Philips Electronics N.V. | Synchronizing interactive applications during trick-play |
US7260576B2 (en) | 2002-11-05 | 2007-08-21 | Sun Microsystems, Inc. | Implementing a distributed file system that can use direct connections from client to disk |
US8225194B2 (en) * | 2003-01-09 | 2012-07-17 | Kaleidescape, Inc. | Bookmarks and watchpoints for selection and presentation of media streams |
US20040158867A1 (en) * | 2003-02-10 | 2004-08-12 | General Instrument Corporation | Methods, systems, and apparatus for determining transport stream channels for video-on-demand applications |
US7051176B2 (en) * | 2003-03-25 | 2006-05-23 | Emc Corporation | Reading data provided to a remote storage device |
JP4301849B2 (ja) * | 2003-03-31 | 2009-07-22 | 株式会社日立製作所 | 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法 |
US7233946B1 (en) * | 2003-04-11 | 2007-06-19 | Sun Microsystems, Inc. | File interval lock generation interface system and method |
US6986019B1 (en) * | 2003-04-21 | 2006-01-10 | Maxtor Corporation | Method and apparatus for detection and management of data streams |
US7484050B2 (en) * | 2003-09-08 | 2009-01-27 | Copan Systems Inc. | High-density storage systems using hierarchical interconnect |
US7305529B1 (en) * | 2003-12-19 | 2007-12-04 | Symantec Corporation | Cooperative data replication |
US7039662B2 (en) * | 2004-02-24 | 2006-05-02 | Hitachi, Ltd. | Method and apparatus of media management on disk-subsystem |
JP4718122B2 (ja) * | 2004-04-06 | 2011-07-06 | 株式会社日立製作所 | メディア配信装置 |
US7318190B2 (en) * | 2004-06-10 | 2008-01-08 | Intel Corporation | Storage device parity computation |
-
2005
- 2005-07-20 CN CN2005800238220A patent/CN101027668B/zh active Active
- 2005-07-20 EP EP05773453A patent/EP1782287A2/en not_active Withdrawn
- 2005-07-20 US US11/186,300 patent/US7640274B2/en active Active
- 2005-07-20 WO PCT/US2005/025883 patent/WO2006012418A2/en active Application Filing
- 2005-07-20 KR KR1020077003585A patent/KR100899462B1/ko active IP Right Grant
- 2005-07-20 JP JP2007522753A patent/JP4663718B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000148565A (ja) * | 1998-11-13 | 2000-05-30 | Hitachi Ltd | 異種オペレーティングシステムファイル共用方法およびファイル共用システム |
JP2002196954A (ja) * | 2000-12-27 | 2002-07-12 | Toshiba Corp | 記憶資源自動管理方法及びネットワークコンピュータシステム |
JP2004199535A (ja) * | 2002-12-20 | 2004-07-15 | Hitachi Ltd | 計算機システムおよびそのストレージの管理方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20070083489A (ko) | 2007-08-24 |
WO2006012418A3 (en) | 2006-06-29 |
US7640274B2 (en) | 2009-12-29 |
CN101027668B (zh) | 2012-01-04 |
WO2006012418A2 (en) | 2006-02-02 |
EP1782287A2 (en) | 2007-05-09 |
CN101027668A (zh) | 2007-08-29 |
US20060064536A1 (en) | 2006-03-23 |
JP2008507771A (ja) | 2008-03-13 |
WO2006012418A9 (en) | 2007-03-08 |
KR100899462B1 (ko) | 2009-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4663718B2 (ja) | ブロックマップキャッシングおよびvfsスタック可能なファイルシステムモジュールに基づく分散型のストレージアーキテクチャ | |
US7631148B2 (en) | Adaptive file readahead based on multiple factors | |
US7058763B2 (en) | File system for caching web proxies | |
JP4824085B2 (ja) | ネットワークファイルシステムをキャッシュするシステム、及び方法 | |
US7797477B2 (en) | File access method in a storage system, and programs for performing the file access | |
US7237061B1 (en) | Systems and methods for the efficient reading of data in a server system | |
US9348842B2 (en) | Virtualized data storage system optimizations | |
EP1687724B1 (en) | Adaptive file readahead technique for multiple read streams | |
US9424314B2 (en) | Method and apparatus for joining read requests | |
Kandlur et al. | Design of a multimedia storage server | |
US20030154246A1 (en) | Server for storing files | |
Ma et al. | An evaluation of storage systems based on network-attached disks | |
Duan et al. | A high‐performance distributed file system for large‐scale concurrent HD video streams | |
Halvorsen et al. | Storage system support for continuous media applications. 2. Multiple disks, memory, and integration | |
CN116795878A (zh) | 数据处理方法及装置、电子设备及介质 | |
Zhao et al. | IncFS: an integrated high-performance distributed file system based on NFS | |
Jin et al. | Multimedia storage server | |
Lim | A NEW STORAGE ARCHITECTURE FOR A FLASH-MEMORY VIDEO SERVER |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091215 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100313 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100415 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100518 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100528 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100812 |
|
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: 20101207 |
|
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: 20110105 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4663718 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140114 Year of fee payment: 3 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |