JP2012069161A - コンピュータ・システムにおけるオブジェクトの別のストレージ・ロケーションへの部分的移動 - Google Patents

コンピュータ・システムにおけるオブジェクトの別のストレージ・ロケーションへの部分的移動 Download PDF

Info

Publication number
JP2012069161A
JP2012069161A JP2011281430A JP2011281430A JP2012069161A JP 2012069161 A JP2012069161 A JP 2012069161A JP 2011281430 A JP2011281430 A JP 2011281430A JP 2011281430 A JP2011281430 A JP 2011281430A JP 2012069161 A JP2012069161 A JP 2012069161A
Authority
JP
Japan
Prior art keywords
storage location
data
data stream
storage
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011281430A
Other languages
English (en)
Other versions
JP4975882B2 (ja
Inventor
Philippe Cabrera Lewis
ルイス・フェリペ・カブレラ
C Jones Deborah
デボラ・シー・ジョーンズ
Pudipeddi Ravishankar
ラヴィサンカー・プディペディ
Stefan R Steiner
シュテファン・エール・シュタイナー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012069161A publication Critical patent/JP2012069161A/ja
Application granted granted Critical
Publication of JP4975882B2 publication Critical patent/JP4975882B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/964Database arrangement
    • Y10S707/966Distributed
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Abstract

【課題】第1ストレージ・ロケーションに位置するデータを移動監督のために登録し、既定の基準にしたがって、別のストレージ・ロケーションに適したデータ・ストリームを移動させ、システムのストレージ効率を最大限高める技法を提供する。
【解決手段】ファイル・システムは、移動監督のために登録されているファイル/ストリーム、または既定の基準にしたがってポールすることができるファイル/ストリームの監視を可能にするファシリティを使用することができる。データ・ストリームが、別のストレージ・ロケーションに移動させる部分を有する場合、階層記憶管理(HSM)システムはそのデータを、長期またはオフライン・ストレージのような、別のストレージ・ロケーションに移動させ(420)、メタデータによってストリームのデータ関係を保存する(430)。
【選択図】図7

Description

本発明は、コンピュータ・システムにおける格納動作および管理に関する。更に特定すれば、本発明は、オブジェクトのデータ関係を維持しつつ、オブジェクトの一部を基本ロケーション即ちルート・ロケーションからリモート・ロケーションに移動(migrate)させる方法およびシステムに関する。
リムーバブル・ストレージ媒体を備えたスタンドアロン・パーソナル・コンピュータ・モデルは、その出現以来、コンピュータ業界に大きな影響を及ぼし、コンピュータ・システムのアーキテクチャおよびインフラストラクチャの設計に影響を与えた。しかしながら、最初のスタンドアロン・コンピュータの時点以来、ストレージの解決手段および複雑なコンピュータ・システムは、急速に進歩しつつある。以下に、ネットワーク・コンピュータ環境が発展し有するに至った機能性向上の例を全て示す。格納可能なデータ量が増大しつつ一段と小型化されていく集積回路および半導体チップの絶え間ない発見、今日のコンピュータ・ネットワークで可能な帯域幅およびデータ転送レートの増大、ならびに他のコンピュータ、データベース、アプリケーションおよびあらゆるタイプのストレージ・コンポーネントとの関連におけるネットワークでのサーバ・コンピュータの利用度の向上である。
結果的に、従来の計算および記憶技法およびモデルは促されたのであった。例えば、リムーバブル・ストレージ媒体の普及は、効率的かつ安価にリモートにファイルを格納する能力によってもたらされた。更に、コンピュータ・システムが発展するに連れて、磁気ディスクまたは光ディスクのようなデータ記憶装置の可用性および構成も発展した。例えば、これらの記憶装置は、バスを通じてコンピュータ・システムに接続することができ、あるいは有線または無線ネットワークを通じてコンピュータ・システムに接続することができる。加えて、記憶装置は、別体とすることも、単一のキャビネット内に共存することも可能である。
背景として、ストレージ・ボリュームとは、基礎となる記憶装置のソフトウエア・アブストラクションであり、オペレーティング・システムによって実装されファイル・システムによって管理されるストレージの最も小さい自己充足単位である。ストレージ・ボリュームは、それらの関連する記憶装置の物理的トポロジを抽象化し、ディスクの断片、ディスク全体、または仮想的に連続する論理ブロックの範囲に纏めた多数のディスクとすることも可能である。この結束によって、基礎デバイスのフォールト・トレランス、性能、または容量特性を向上させることができる。今日の複雑なコンピュータ・システム環境では、ストレージ・ボリュームは様々なエレメントの集合である可能性があり、これに対する効率的かつ効果的な管理が望まれている。様々な格納動作が可能なコンピュータ・システム用ファイル・サーバは、データ関係および格納されているオブジェクトのロケーションを把握し、追跡しているので、データ格納および転送に共通の技術を用いることができる。
ボリュームは、基礎の記憶装置によって提示される連続格納アドレス空間である1つ以上のエクステント(extent)から構成される。エクステントは、典型的に、アドレス空間のサイズ、および媒体のベースからのアドレス空間の開始オフセットによって特徴付けられる。ボリューム・マッピングとは、ボリュームによって提示される連続アドレス空間を、基礎のエクステントの非連続格納アドレス空間にマップするプロセスのことである。ボリューム・マッピングは、ハードウエア・ボリューム・プロバイダと呼ばれる、特殊化したハードウエア・コントローラ上で実現するか、あるいはソフトウエア・ボリューム・プロバイダによってソフトウエアで実現する。更に別の背景として、ボリューム・プロバイダの共通監督(administration)および管理技法が、本願と同一譲受人に譲渡された、”Administration of RAID Storage Volumes”(RAIDストレージ・ボリュームの監督)と題する同時係属中の特許出願第09/449,577号に示されている。
記憶技術の進歩は、したがって、データを格納し転送する方法を変化させつつあり、このためボリューム内およびボリューム間において従来のファイル管理に歪みが生じている。例えば、任意の成長基準があるファイル、メモリ割り当て制限があるボリューム、分散格納およびデータ転送等は、スタンドアロン・コンピュータの固定ディスク・メモリ上における割り当ておよび管理の観念を打破しつつある。データの高速揮発性メモリからリモート・ロバスト・ストレージへのシフトは、ある目的のためには非常に有効である。したがって、ネットワークおよびコンピュータ・システムにおける進歩は、単に利用されるストレージ・コンポーネントの形式や、ストレージ・コンポーネント間で用いられる接続において変化が生ずる以上に、大きな波及効果がある。
以前に実施された固定した、即ち、柔軟性のないボリュームのメモリ割り当ては、ネットワーク・コンピュータ環境における複数のボリューム間でデータを転送し格納するロバストな機構から得られる効率に近づき始めていない。ファイル転送を管理するために従来から用いられてきた技法は、元々今日の複雑なネットワーク環境の高い機能性全てに対応するように設計された訳ではなかった。したがって、多くのコンピュータが動作する際に用いているオペレーティング・システム、システム・インフラストラクチャ、およびコア・ファイル管理機能は、影響を受けている。その結果、現行のファイル・システムは、非効率性を引きずっており、最大効率で異なる全てのタイプの格納およびデータ転送動作を処理するような装備とはなっていない。
このような非効率性の1つが、オブジェクトまたはファイルの一部を当該オブジェクトのルート・ロケーションから、例えば、リモート・ストレージに格納することに関連して存在する。前述のような種々の記憶エレメントおよび技術の増殖によって、ファイルの一部をリモート・ロケーションに格納し、一部をローカル・ストレージに保持しておくことが望ましい場合も出てきた。例えば、ファイルの一部が変化しないことがわかっている場合、貴重なローカル・ストレージをより多く解放したり、あるいは頻繁に利用されないある種のデータを片づけることが望ましい場合がある。別の例では、アペンド・オンリ・ファイルは、データの書き込みはファイルの終端においてのみ発生するという特性を有する。したがって、ローカル・ストレージを効率的に使用するには、新たな書き込みが添付されるファイルの不変部分をリモート・ストレージに移動させるべきであろう。更に別の例では、リモート・ストレージへのデータ移動は、予め設定したオンライン・ディスク/メモリ割り当ての制限を保存するために実行する場合もある。このように、ファイルのデータの一部をリモート・ストレージに移動させることには、種々の理由がある。しかしながら、現在のファイル・サーブ技法では、ファイルの一部を移動させるべきときを指定する場合にも、ファイルのデータ関係を維持しつつデータをリモート・ロケーションに続いて移動させる場合にも、適切に対応していない。
したがって、一般的な規則として、部分的移動技法はこれまで用いられていなかった。しかしながら、今日では、パーシャル・リコールのように、限られた部分的ファイル動作を実行可能な、階層記憶管理(HSM)システムがあることを注記しておく。従来のHSMシステムでは、例えば、パーシャル・リコール動作を用いてリモート・ストレージからデータを全くリコールすることなく、オンディスク・ボリューム全体を更新することができる。その他の従来の技法は、限られた場合に対応し、ファイルの最初の数キロバイト、例えば、4Kbをオンライン、即ち、「非移動(unmigrated)」で残しておいたり、またはファイルの最後の数キロバイトをオンライン、即ち、「非移動」で残しておく場合には対応していた。
しかしながら、ファイルの階層的記憶管理における技術的現状では、殆どのコンテクストにおいてファイルの部分的移動に対処しておらず、ファイルの所定部分を一方のロケーションから他方のロケーションに移動しつつファイルのその他の部分を保持するという要望に取り組んでいない。更に、本技術分野では、書き込みや更新に適したデータ・ストリームの領域や、オフライン即ちリモート・ストレージに適したデータ・ストリームの領域を指定する機構に対する要望にも取り組んでいない。端的に言うと、ファイルの所定部分をリモート・ストレージに移動させ、その他の部分をローカル・ストレージに保持することが望ましい場合があるが、現行のファイル・サーバは、どのデータを保持し、どのデータを他の場所にエクスポートするか指定しない。
加えて、ファイル管理における技術的現状では、あるデータ・ストリームに対してオンライン・ディスク/メモリ割り当てに制限を加えつつ、ストリーム全体を任意に成長させることが望ましい、特定の場合に取り組んでいない。例えば、アペンド・オンリ・データ構造の場合に当てはまる。例示すると、オンライン・ボリュームでは、1メガバイトまでのストリームを維持しつつ、全ストリームが1メガバイトよりも大きいサイズを有することを許すことが望ましい場合がある。この場合は、今日の階層記憶管理システムでは対応できない。
以上のように、現行のファイル・サーバ/HSMシステムに伴う不十分を考慮すると、コンピュータ・システムにおいて、ファイルまたはオブジェクトのある部分を別のメモリ・ロケーションに部分的に移動し、ファイルの残りの部分を保持する柔軟性のあるアーキテクチャを提供することができれば望ましいであろう。予め設定した基準にしたがって、オブジェクトのどの部分が移動に適しており、どの部分がそれらの現ストレージ・ロケーションに適しているか指定することができれば有効であろう。ファイルまたはオブジェクトの第1ストレージ・ロケーションから第2ストレージ・ロケーションに、例えば、オンライン・ストレージからリモート・ストレージへの部分的移動が可能であれば有効であろう。更に、構造および特性がわかっているファイルや、例えば、アペンド・オンリ・タイプのファイルの場合のように、指定可能なファイルの効率的な部分的移動が行なえれば有効であろう。このように、ファイルまたはオブジェクトの一部をルート・ボリュームからリモート・ボリュームに移動させつつ、当該ファイルまたはオブジェクトの種々のデータ関係を維持する共通の手法が存在しない。本発明は、当技術分野におけるこれらの要望を考慮して開発されたのである。
本発明は、コンピュータ・システムと共に用いられる階層記憶管理(HSM)システムに関する。第1ストレージ・ロケーションに位置するデータを移動監督のために登録し、既定の基準にしたがって、別のストレージ・ロケーションに適したデータ・ストリームを移動させ、システムのストレージ効率を最大限高める技法を提供する。ファイル・システムは、移動監督のために登録されているファイル/ストリーム、または既定の基準にしたがってポールすることができるファイル/ストリームの監視を可能にするファシリティを使用することができる。データのストリームが、別のストレージ・ロケーションに移動させる部分を有する場合、HSMシステムはそのデータを、長期またはオフライン・ストレージのような、別のストレージ・ロケーションに移動させ、メタデータによってストリームのデータ関係を保存する。この技法では、移動ターゲット・ロケーションによって多数のボリュームを補う(span)ことができ、更に、HSMシステムおよびメタデータによって、移動したファイル/ストリームのソースおよびターゲット部分にアクセスすることができる。例示の実施形態では、データをシーケンシャル・アクセス・メディアに移動させる。
本発明のその他の特徴について、以下に説明する。
本発明の態様を組み込むことができる汎用コンピュータを表すブロック図である。 本発明の方法および装置を実現可能なネットワーク環境の一例を示すブロック図である。 本発明による、更新のストリームの領域に基づくアーカイブ単位の一例の移動を示す図である。 本発明による、更新のストリームの領域に基づくアーカイブ単位の一例の移動を示す図である。 本発明による、更新のストリームの領域に基づくアーカイブ単位の一例の移動を示す図である。 本発明による、更新のストリームの領域に基づくアーカイブ単位の一例の移動を示す図である。 本発明にしたがって、データ・ストリームの一部を二次ストレージ・ロケーションに移動させる場合のフロー図の一例を示す図である。 本発明にしたがって、メタデータによってHSMシステムが移動データをリコールするプロセスの一例を示すブロック図である。 本発明にしたがって、メタデータによって移動データをリコールするプロセスの一例を示すフロー図である。
オブジェクトの一部を部分的にリモート・ストレージに移動(migrate)させるシステムおよび方法について、添付図面を参照しながら更に説明する。
一般的に、本発明は、一方のロケーションから他方のロケーションへのファイルの部分的な移動が望ましいシステムに関する。本発明は、システムの既存のファイル・サーバと共に利用することができる。本発明は、ファイルの一部の移動において用いるオンディスク割り当てに制限を与える即ち指定するために用いることができるという利点がある。したがて、本発明は、シーケンシャル・アクセス・メディア(SAM)のようなオフディスク・ストレージに、オンディスク制限を超過したデータの部分を移動させるために利用することができる。即ち、本発明は、データ・ストリームが、割り当てられたディスク割り当て量(quota)即ち制限を超えて増大した場合に、リモート・ストレージへの部分的移動を可能にする。このように、本発明は、ファイルに関連する種々のデータ・ストリームのために特殊化階層記憶管理を行い、データ・ストリームを移動監督(migration administration)のために登録することができる。移動させたデータ・ストリームの一部は、従来のHSMシステムの部分的リコール動作と同様に、リコールし読み出すことができる。例示の一実施形態では、本発明は、ターゲット・ロケーションに対してSAMの使用を含む。
一部を別の記憶ロケーションに移動させることが好ましいデータ・ストリーム、オブジェクト、またはファイルの例には、書き込みが最後のストレージ・ブロックのみに行われるファイルのような、アペンド・オンリ・ファイル、書き込みが最初のストレージ・ブロックのみで行われるファイルのように、「更新領域」が規定されているファイル、または一部のアクセスまたは読み取りが頻繁に行われないファイル、一部をロバストおよび/またはリモート・ストレージに不変に格納することが望ましいデータ・ストリーム、オンディスク・メモリ割り当て制限を実施することによる等によってファイルの増大に制約が設けられているストレージ・ロケーションに位置するファイル、増大が任意または予測不可能なデータ・ストリーム等が含まれる。
移動ソース・ロケーションおよび移動ターゲット・ロケーション対の例には、ストリーム・データ、オブジェクトまたはファイルの一部の、オンライン・ストレージからオフライン・ストレージへ、ローカル・ストレージからリモート・ストレージへ、揮発性ストレージから不揮発性ストレージへ、非安全メモリから安全メモリへ、等の移動が含まれる。
したがって、本発明は、コンピュータ・システムと共に用いる階層記憶管理(HSM)システムに関する。第1ストレージ・ロケーションに位置するデータ・ストリームを、既定の基準にしたがって分析し、データ・ストリームが別のストレージ・ロケーションに適した部分を有するか否か判定を行い、システムの格納効率を最大限高めることができる。既定の基準は、移動アーカイブ単位のサイズおよび更新領域のロケーションのように、システムの特性にしたがって予め指定することができ、あるいはユーザが入力することもできる。ファイル・システムは、移動監督のために登録したファイルの監視を可能にするファシリティを使用することができる。ファイル・システムがストリーム/ファイルを監視する方法を備えていない場合、移動に登録したストリーム/ファイルを既定の間隔でポールし、更に別の移動の必要性に関する情報を取得する方法を実装することもできる。先の間隔は、システムの移動特性に一致するように動的に変更可能である。データ・ストリームが、別のストレージ・ロケーションに移動させる部分を有する場合、ファイル・サーバHSMシステムは、このデータを別のストレージ・ロケーションに移動させ、移動したデータと第1ストレージ・ロケーション内のデータ・ストリームとの間の関係を保存する。これらの関係は、その部分の移動に伴って発生したメタデータによって保存することができる。後に、このメタデータをHSMシステムと共に利用し、移動したデータにアクセスすることができる。移動データ・ターゲット・ロケーションによって多数のボリュームを分散することができ、多数のファイル・システムを、そうすることに巻き込むことができる。
前述のように、本発明は、既定の基準にしたがって、別のストレージ・ロケーションに適したデータ・ストリームまたはオブジェクトの一部を移動させる方法を提供する。既定の基準は、種々の方法で設定することができる。実施の一例では、本発明は、オンディスク割り当てに制限を加える方法を含む。割り当て制限は、例えば、ストリーム毎またはファイル毎に指定し、データ・ストリームに対して制限が実施されるようにすることができる。例えば、アーカイブ単位のサイズを指定することができ、するとユーザ・アカウントの割り当てを、更新のファイル領域のサイズに関して指定することができる。移動監督のためのその他のファイルは、アペンド・オンリ・モードでアクセスされるファイル、または別の識別可能な「更新領域」を有するファイルとすることができる。
したがって、本発明は、識別可能な更新の領域を有するファイルの一部を、リモート・ストレージに移動させる方法を提供する。本発明は、オンディスク制限を超過したファイルの部分をSAMに部分的に移動させることによって、オンディスク割り当て制限を行なうために用いることができるという利点がある。即ち、本発明は、データ・ストリームが割り当てられたディスク割り当て量即ち制限を超えて増大した際に、第1ストレージ・ロケーションから第2ストレージ・ロケーションに、そのリモート・ストレージへの部分的移動を可能にする。例示の実施形態では、本発明は、この割り当ての制約に対応する際、オンライン・ストレージ制限を超過したデータをリモート・ストレージに移動させる。これは、SAMにそれを移動させることによって行なう。
このように、本発明は、部分的移動機能および現行のHSMシステムの効率的な統合を勘案して開発されたのである。即ち、本発明は、第1ストレージ・ロケーションから別のストレージ・ロケーションにファイル移動動作を効率的に実行するために開発されたのである。
図1および以下の論述は、本発明を実現するのに適した計算機環境の端的な一般的な説明を行なうことを意図している。必ずしもその必要はないが、本発明の説明は、少なくとも部分的には、プログラム・モジュールのような、パーソナル・コンピュータが実行する一般的なコンピュータ実行可能命令に関連して行なう。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行したり、あるいは特定の抽象的データ・タイプを実装する。更に、本発明は、別のコンピュータ・システム構成でも実施可能であることを当業者は認めよう。別のコンピュータ・システム構成には、ハンド・ヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのまたはプログラマブルの消費者電子機器、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ等が含まれる。また、本発明は、分散型計算機環境においても実施可能であり、この場合、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクを実行する。分散型計算機環境では、プログラム・モジュールは、ローカルおよびリモートのメモリ記憶装置双方に配置することができる。
図1に示したように、1つの例示的な汎用計算システムは、従来のパーソナル・コンピュータ20等を含む。このパーソナル・コンピュータ20は、処理ユニット21、システム・メモリ22、およびシステム・メモリ22から処理ユニット21までを含む種々のシステム・コンポーネントを結合するシステム・バス23を含む。システム・バス23は、数種類のバス構造のいずれでもよく、メモリ・バスまたはメモリ・コントローラ、周辺バス、および種々のバス・アーキテクチャのいずれかを用いたローカル・バスが含まれる。システム・メモリ22は、リード・オンリ・メモリ(ROM)24およびランダム・アクセス・メモリ(RAM)25を含む。基本入出力システム26(BIOS)は、起動中のように、パーソナル・コンピュータ20内のエレメント間におけるデータ転送を補助する基本的なルーティンを含み、ROM24内に格納されている。更に、パーソナル・コンピュータ20は、図示しないハード・ディスクの読み書きを行なうハード・ディスク・ドライブ27、リムーバブル磁気ディスク29の読み書きを行なう磁気ディスク・ドライブ28、CD−ROMまたはその他の光媒体のようなリムーバブル光ディスク31の読み書きを行なう光ディスク・ドライブ30のような種々の周辺ハードウエア・デバイスも含む。ハード・ディスク・ドライブ27、磁気ディスク・ドライブ28、および光ディスク・ドライブ30は、それぞれ、ハード・ディスク・ドライブ・インターフェース32、磁気ディスク・ドライブ・インターフェース33、および光ドライブ・インターフェース34を介して、システム・バス23に接続されている。ドライブおよびそれに関連するコンピュータ読取可能媒体は、コンピュータ読取可能命令、データ構造、プログラム・モジュールおよびパーソナル・コンピュータ20のその他のデータの不揮発性格納を行なう。ここに記載する環境の一例は、ハード・ディスク、リムーバブル磁気ディスク29およびリムーバブル光ディスク31を採用するが、磁気カセット、フラッシュ・メモリ・カード、ディジタル・ビデオ・ディスク(DVD)、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)等のように、コンピュータによるアクセスが可能なデータを格納することができる、別の形式のコンピュータ読取可能媒体も、動作環境例では使用可能であることは、当業者には認められよう。
ハード・ディスク、磁気ディスク29、光ディスク31、ROM24またはRAM25上には、多数のプログラム・モジュールを格納可能であり、オペレーティング・システム35、1つ以上のアプリケーション・プログラム36、その他のプログラム・モジュール37、およびプログラム・データ38を含む。ユーザは、キーボード40およびポインティング・デバイス42のような入力デバイスによって、コマンドおよび情報をパーソナル・コンピュータ20に入力することができる。他の入力デバイス(図示せず)は、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、システム・バス23に結合するシリアル・ポート・インターフェース46のような周辺ハードウエア・デバイスを介して、処理ユニット21に接続されるが、パラレル・ポート、ゲーム・ポートまたはユニバーサル・シリアル・バス(USB)のようなその他のインターフェースによって接続することも可能である。また、ビデオ・アダプタ48のような周辺ハードウエア・インターフェース・デバイスを介して、モニタ47またはその他の種類のディスプレイ装置もシステム・バス23に接続してある。モニタ47に加えて、パーソナル・コンピュータは、典型的に、スピーカおよびプリンタのような、その他の周辺出力デバイス(図示せず)を含む。
パーソナル・コンピュータ20は、リモート・コンピュータ49のような1つ以上のリモート・コンピュータへの論理接続を用いれば、ネットワーク環境においても動作可能である。リモート・コンピュータ49は、別のパーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、典型的に、パーソナル・コンピュータ20に関して先に述べたエレメントの多くまたは全てを含むが、図1にはメモリ記憶装置50のみを図示している。図1に示す論理接続は、ローカル・エリア・ネットワーク(LAN)51およびワイド・エリア・ネットワーク(WAN)52を含む。このようなネットワーキング環境は、オフィス、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットでは一般的である。
LANネットワーキング環境で用いる場合、パーソナル・コンピュータ20は、ネットワーク・インターフェースまたはアダプタ53を介してLAN51に接続する。WANネットワーキング環境で用いる場合、パーソナル・コンピュータ20は、典型的に、モデム54、またはインターネットのようなワイド・エリア・ネットワーク52を通じて通信を確立する、その他の手段を含む。モデム54は、内蔵でも外付けでもよく、シリアル・ポート・インターフェース46を介してシステム・バス23に接続する。ネットワーク環境では、パーソナル・コンピュータ20に関して図示したプログラム・モジュールまたはその一部は、ローカルまたはリモート・メモリ記憶装置に格納することができる。尚、図示のネットワーク接続は一例であり、コンピュータ間に通信リンクを確立する別の手段も使用可能であることは認められよう。
尚、前述のコンピュータは、コンピュータ・ネットワークの一部として展開可能であり、本発明は、あらゆる数のメモリまたは記憶装置、あらゆる数のボリュームにわたって実行するあらゆる数のアプリケーションおよびプロセスを有するあらゆるコンピュータ・システムにも関係することを注記しておく。このように、本発明は、ネットワーク環境において展開され、リモート・ストレージまたはローカル・ストレージを有するサーバ・コンピュータおよびクライアント・コンピュータ双方に適用可能である。図2は、ネットワーク環境の一例を示し、サーバがネットワークを通じてクライアント・コンピュータと通信し、この中に本発明を用いることができる。図示のように、多数のサーバ10a,10b等が通信ネットワーク14(LAN、WAN、イントラネットまたはインターネットとすることができる)を通じて、多数のクライアント・コンピュータ20a,20b,20c等と相互接続されている。例えば、通信ネットワーク14がインターネットであるネットワーク環境では、サーバ10はウェブ・サーバとすることができ、クライアント20は、ハイパーテキスト・トランスファ・プロトコル(HTTP)のような多数の公知のプロトコルのいずれかによって、ウェブ・サーバと通信する。
各クライアント・コンピュータ20およびサーバ・コンピュータ10には、種々のアプリケーション・プログラム・モジュール36、その他のプログラム・モジュール37およびプログラム・データ38、ならびに種々のタイプのストレージ・エレメントまたはオブジェクトに対する接続またはアクセスを装備することができ、これらを通じてファイルを格納し、ファイルの一部を移動させることができる。
このように、本発明は、ネットワークにアクセスし相互作用するクライアント・コンピュータと、クライアント・コンピュータと相互作用するサーバ・コンピュータとを有するコンピュータ・ネットワーク環境において利用することができる。本発明によれば、改良したHSMシステム技法を用いて、データ・ストリームの一部を移動し、移動の記述のためにメタデータを発生する。これらの技術およびそれに伴う通信は、種々のネットワーク・システム・アーキテクチャを用いて実現可能であり、したがってあらゆる特定のフォーマットにも限定されないことは当然である。
このように、本発明は、コンピュータ・システムにおいて柔軟性のあるアーキテクチャを効率的に実現し、データ・ストリーム、ファイルまたはオブジェクトの一部を部分的に移動させ、ファイルのその他の部分を保持する。移動に適したオブジェクトの部分およびローカル・ストレージ、ベース・ストレージまたはルート・ストレージに適した部分を、既定の基準にしたがって指定する方法を提供する。ファイルまたはオブジェクトの第1ストレージ・ロケーションから第2ストレージ・ロケーションへ、例えば、オンライン・ストレージからリモート・ストレージへ、部分的移動を行なう方法を提供する。部分的移動に対する基準の一例は、例えば、アペンド・オンリ・タイプ・ファイルのように、構造および特性がわかっているファイル、それ以外の方法で更新の領域が識別可能なファイル、メモリ割り当てが制限されているファイル等を含む。HSMシステムによって、ファイルまたはオブジェクトの一部をルート・ボリュームからリモートまたはその他のボリュームへ移動しつつ、ファイルまたはオブジェクトに対する種々のデータ関係を維持する共通の手法を提供する。本発明は、ファイルの部分的移動から得られる効率や、オンディスク割り当て量の提供に適切に取り組んでいない従来技術のファイル・システムに対する改良である。
本発明の方法は、例えば、本発明の部分的移動技法のいずれもが可能なように、システム・ファイル・サーバと共に実現することができる。ストレージ割り当て量機構を利用することによって、HSMシステムは、データをリモート・ストレージに移動することが望ましいときを判定することができる。既定の基準は、データ・アクセスからの時間、ソース・ファイルおよび/またはファイル・データ構造、システム状態等に関する予備知識のように、その他の所定の規則に基づくことも可能である。どのデータを移動させるかに関するこの選択は、したがってHSMシステムに委ねられ、ユーザは、アーカイブ単位のサイズおよびオンディスク割り当て量を含む、選択のための基準を指定すればよい。したがって、ストリーム・サイズの制約を指定することができ、あるいは、ストレージ・ロケーション自体の特性によって、制約は既に課されている場合もある。本発明は、割り当て単位のサイズの方により大きな制約を課する。この点に関して、本発明にしたがって指定されたオンディスク割り当て制限よりも小さなファイル・システム量がストレージ・ロケーションに課されている場合、本発明はこれらの制約を保存する。ファイル・システムの割り当て量が、本発明にしたがって指定されたオンディスク割り当て量よりも大きい場合、本発明の割り当て量は、ファイル・システムの割り当て量を先取りする(preempt)。移動監督のためのファイルを指定する別の方法は、ファイルがアペンド・オンリ・モードでアクセスされるか否か、またはいつファイルが別の識別可能な「更新領域」を有するか判定を行なうことである。ファイルの部分的移動のために維持する理念は、ファイル使用履歴およびその他の動的なシステム特性に基づいて、再度評価することもできる。例えば、あるオンディスク・メモリ割り当て制限が、種々の理由のいずれか1つのために、厳しすぎる場合、制限を緩和することができ、代わりに一層効率的なデータ量を移動することも可能である。
このように、本発明の部分的移動技法は、ある種のファイル・タイプを想定している。このようなファイル・タイプの一例は、識別可能な更新領域を有するデータのストリームである。図3は、識別可能な更新領域を有するファイルの一例を示す。ファイル・ストリーム1は、横に繋がった種々のストレージ・ブロックまたはオンディスク割り当て単位M1,M2,...,M6として描かれているが、ストレージ・ブロックは、どこに位置してもよく、あらゆる数およびタイプのストレージ・エレメントおよびデータ・ストリームでも、本発明にしたがって移動させることができる部分を有することは認められよう。データ・ストリーム1では、ファイルの使用履歴の分析および/またはファイルに関してわかっている特性から、破線の更新領域ROU1,ROU2として示す、2つの領域が、更新または書き込みが行われることが識別される。第3の不変領域Imm1も、頻繁に更新や書き込みが行われないと識別されるが、全く更新されない訳ではない。アーカイブ単位のサイズ、ならびに更新領域のサイズおよびロケーションは、既定のまたは入力した基準にもしたがって、指定することができる。
不変データImm1は、移動可能であり、したがってリモート・ストレージまたはSAMのような第2ストレージ・ロケーションへの移動対象とする。現時点における好適な実施態様によれば、ストリーム1が増大し、データがROU1を超過すると、ROU2の開始まで、長期ストレージに移動させる。ROU2は、引き続きストリーム1の終端に位置し、ROU2は、ストリーム1が増大するに連れて前方に移動し、ROU2を超過したデータを移動させないようにする。また、メタデータを発生し、ファイルの非移動部分に対して、リモート・ストレージに移動させたファイルの部分を記述する。このメタデータは、ストレージ関係を記述するのに適したいずれのフォーマット、および/または種々のワールド・ワイド・ウェブ・コンポーネントへの組み込みに適したいずれのフォーマットにしたがって実施することも可能である。例示の実施形態では、メタデータは、分散コンポーネント・オブジェクト・モデル(DCOM)記述にしたがってフォーマットされているが、Java(登録商標)、拡張可能マークアップ言語(XML)、およびその他の適切なフォーマットであればいずれでも利用可能である。
図4および図5は、例えば、ファイルの先頭または終端にデータを追加した、識別可能な更新領域を有するデータ・ストリームの更に特定した例、または共通の例を示す。図4は、ファイル・ストリーム2の先頭においてデータを更新する場合を示す。時間がt1からt2に、そしてt3に進むに連れて、ファイルは長くなるが、データおよびそのストレージ・ブロックは、ファイルが増大するに連れて更新領域から外れるので、SAMのような他のストレージに移動させることができる。時点t1において、ストレージ・ブロックまたは部分M3,M4をリモート・ストレージに移動させることができ、t2においてM5をリモート・ストレージに移動させることができ、そしてt3においてM6をリモート・ストレージに移動させることができる、等となる。図5は、アペンド・オンリの場合を示し、更新領域は、ファイルの終端にある部分である。図4と同様に、データ・ストリーム3の、更新領域ROUの範囲内にない部分を、リモート・ストレージに移動させることができる。t1からt2まで、そしてt3まで等でファイルが増大するに連れて、新たなストレージ・ブロックをSAMのようなリモート・ストレージに移動させることができる。移動監督のための登録後、t1において、M1,M2を移動させることができ、t2においてM3を移動させることができ、t3においてM4を移動させることができる。
移動したデータにアクセスするために、利用したリモート・ストレージ・サービスを記述したメタデータを発生し、移動させたストレージ・ブロックの範囲を記述し、最後の移動の日時のようなその他の情報を記述する(以下の例を参照)。尚、図3の移動したブロックについてオフセット・マッピングを記述するメタデータは、「後方に」(backwards)発生することができ、ストリーム2の終端をメタデータにおけるオフセット0と指定し、したがってそれ以降のブロックを0オフセットのアーカイブ単位のサイズおよびファイル・サイズに対して記述すればよいことを注記しておく。
このように、アペンド・オンリ・モードでファイルをアクセスする場合、あるいは関連するファイルまたはシステム特性に基づいて識別可能な「更新領域」がある場合、システムは、更新されないファイルのエリア、即ち、不変部分または頻繁にアクセスされない部分を効率的に移動させる。このようなファイルの一例は、新たな追加レコードをファイルの終端に追加するレコード保持ファイルであろう。つまり、一旦レコードを入力すると、これは恐らく頻繁にアクセスや更新が行われないファイルの領域と見なされ、したがって、ローカル・メモリ限度を保存するためまたはその他の効率上の理由のために、リモート・ストレージに移動させられる。このように、特殊化階層記憶管理技法を採用することによって、リモート・ストレージに格納したデータ・ストリームの断片を、ファイル・サーバのユーザに対してシームレスにリコール、コピーおよび/または読み出しを行なうことができる。好適な実施形態では、移動したデータはシーケンシャル・アクセス・メディア(SAM)に書き込まれ、データは一旦SAMに書き込まれると、不変で安全であるので、有効である。
また、本発明は、確定した更新領域を有するファイルのデータ・ストリームにも適用可能である。例えば、更新は、単にバイトをストリームに添付するだけで行なうことができる(アペンド・オンリの場合)。第2の場合は、書き込みがストリームの最後のバイト・ブロックを対象にするときである(最終ブロックの場合)。アペンド・オンリの場合、アペンドされたバイトを除いてストリーム内のバイト全てを不変と見なし、したがって、どのバイトを部分的に移動可能かを識別するのは、簡単である。移動可能なのは、既に書き込まれたバイトである。最終ブロックの場合、例えば、最後のバイト・ブロック以外の全てのバイトを不変と見なし、したがって移動可能と見なす。
アペンド・オンリおよび最終ブロック双方の場合において、階層記憶管理システムは、こうしてストリームの不変領域をリモート・ストレージに移動することができる。不変のサブストリームの部分的移動は、ストリーム自体を更新している最中であっても行なうことができるという利点がある。その際、不変部分を、ファイル・サーバの観点から別個に扱う。現在では、これら部分的移動の特殊化技法は、従来のHSMシステムには用いられていない。
また、本発明は、オンディスク・ファイル・メモリ割り当て制限を設け、ファイル/ストリームのサイズを制限する能力も含む。本発明は、このような制約に対して移動を支援する。また、アーカイブ単位のサイズおよび更新領域のサイズを指定可能であるので、ファイル・サイズもストレージ割り当て制限によって制限される場合、本発明はストレージ割り当て制限を実施する機構となる。図6は、ファイルの増大が、破線で示すストレージ割り当て制限によって制限される状況の一例を示す。アーカイブ単位のサイズが指定され、更新領域のサイズも指定されている。t1において、ファイルは制約の範囲内にあり許される。t2において、ファイルは、制約によって許される最大サイズに達した。t3において、その増大が制約を超過したが、ファイルの一部は、本発明にしたがって、SAMのようなリモート・ストレージに移動させることができ、これによって割当量違反を防止する。
図7は、本発明による部分移動方法のフロー図の一例を示す。400において、本発明にしたがってファイルを移動監督のために登録することができる。例えば、更新領域のサイズ、アーカイブ単位のサイズ(移動する部分のサイズ)、および移動したデータの移動宛先を指定し、オンディスク・メモリ割り当て制限を指定することができる。410において、HSMシステムは、ファイル特性に応じてファイルを監視し、使用特性および/または部分移動の所望性を調べるファシリティを利用する。420において、移動のタグが付けられた部分を二次ロケーションに移動させる。430において、ファイル移動を記述するメタデータを発生し、このメタデータを、データベース、好ましくはジェット・データベースのような記憶装置内に格納する。このメタデータは、後に、リモート・ストレージに格納されているデータにアクセスする際に用いることができる。440において、ファイル・サーバは、移動データをそれまで格納していたストレージ・ブロックまたはロケーションを解放する。ステップ450において、部分移動動作を受けたファイルにとって適当であれば、更新領域をシフトする。
別の利点として、本発明は、いずれの時点においてもリモート・ストレージ内のストリームの断片全てを再組み立てすることができ、それによって表されるデータが未だ有効か否かについて検証する必要はない。何故なら、リモート・ストレージに移動したストリームの断片は全て不変であるからである。更に、ストリームのある領域を削除した場合、HSMシステムは、それ自体の内部システム・データにおいて削除した領域に対応するバイトのギャップを表すことができる。その結果、HSMシステムは、都合がよいときに、残りのバイト範囲を再組み立てすることができ、削除された領域が以前に用いていた領域を効率的に再生することができる。
加えて、HSMシステムは、移動のためにあらゆる適切な記憶装置および伝送媒体を選択することができる。選択は、通常、リモート・ストレージへの転送動作の瞬時的および/または高総合データ・レートを最適化するように行われる。
先に示唆したように、あるファイルをリモート・ストレージへの部分的移動の対象とする場合、各データ・ストリーム毎にそしていずれの所与の時点においても、既定の規則にしたがって順守すべきストレージ割り当て量がある。したがって、本発明を用いて移動によってディスク割り当て制限を保存する場合、ストリームに対するボリューム・オンライン割り当ては制限したままで、ストリーム・サイズの任意の増大を許すという利点がある。ファイル・システムのコール元が現ファイル終点を超えてデータを書き込むと、ストリーム・サイズは対応して増大し、ストリームのデータを格納するために必要なディスク割り当て数も増大する。一旦ローカル割り当て量を超過すると、本発明のHSMシステムはファイル・データの一部をリモート・ストレージに移動させ、必要なオンディスク・メモリ割り当て量を削減することができる。HSMシステムは、ファイルから移動するバイト範囲を選択することができ、この選択は、1組の所定の規則に従えばよい。
このように、移動するバイト・グループを選択する場合、広い範囲の基準を用いることができる。例えば、元のデータ・ストリームをシーケンシャル・アクセスのために開いている場合、移動を開始する論理領域は、現在のオンディスク割り当てを反映して、オフセットが最も小さいバイトを含む領域となる。別の例では、ランダム・アクセスのためにファイルを開いている場合、いずれのバイト領域でも等しく移動に相応しい選択となる。ファイルの統計的分析でも、移動に適した部分を解明することができる。別の代替案では、本発明によるHSMシステムは、追加のランタイム情報を追跡し、ファイルのどのエリアが、直ぐにアクセスされる可能性が少ないか判定することができる。次いで、識別したエリアを移動のために指定すればよい。
好ましくは、移動の最少単位は、ローカル・ファイル・システムにおけるストレージ割り当ての最少単位と等しくする。何故なら、移動サイズが小さい程、ローカル・ストレージの割り当て解除効果が低いからである。好ましくは、本発明は、データ・ストリーム内で0範囲を割り当て解除する、散在ファイル(sparse file)に対応するファイル・システムと共に用いる。現時点において好適な実施態様では、移動の最少単位は64Kとなっている。また、移動目的のための最少単位は、ファイル・システムに関連する最少割り当て単位によって限定される必要はない。最少単位のサイズは、いくつかの割り当て単位、例えば、16単位にしたがって計算し、これらのメモリ割り当てを追跡するために必要なシステム・データ量を最少化し、ファイル・システムが利用する元の圧縮単位の一致というような、付加的な最適化を可能にするようにする。システム・パラメータに適したサイズを選択したなら、HSMシステムは、これによってある種のアドレス変換動作を最適化または能率化することができる。例えば、転送単位のサイズとして、2の累乗が用いられていると仮定すると、アクセス動作に関連して1バイトのオフセットが与えられた場合、HSMシステムは、単位サイズの対数基底2に等しいビット数だけ与えられたオフセットを右にビットシフトすることに基づいて、内部アドレスを素早く決定することができる。他の種類のシステム・パラメータに関しても同様に、他の最適化を利用することができる。
また、本発明は、ファイル・サーバのユーザに対して透過的である。ファイルが部分的に移動したか否かには関わらず、アクセスはシームレスである。何故なら、HSMアーキテクチャは本技法の機能性を統合しているからである。したがって、SAMにデータを保管する方法は、ストリームの移動部分、およびオンディスク割り当てに格納されているデータを含む、ストリームのデータ全てに対するアクセスを許す。本発明の現時点において好適な実施態様では、基礎のファイル・システムは散在ファイルに対応する。移動した全てのバイト領域または多数の領域は、したがって、ローカル・ファイル内において、バイトの「分散孔」として表すことができる。また、基礎のファイルおよびファイル・システムは、データの暗号化および解読だけでなく、データ圧縮および解凍にも対応することができる。
一旦部分的移動技法によってファイルを部分的にリモートに格納したなら、クライアントは、ファイルをその現ボリューム内において一方のボリュームから他方に動かす(move)ことを選択することもできる。ムーブ動作は、一般的に、ファイルの名称を変更するアクションのことを意味し、その結果ファイルは異なるディレクトリおよび/または異なるボリュームのメンバとなるか、またはこれと関連付けられる。加えて、ボリューム内ムーブ動作は、ソースおよびターゲット・ボリュームを伴う。これらは、別個のサーバまたはマシン上に位置する可能性がある別個のファイル・マネージャによって管理されている場合がある。また、ムーブ動作は、2つの別個のプロセス、即ち、データの宛先ボリュームへのコピー、およびデータのソース・ボリュームからの削除を伴う場合もある。したがって、一旦ファイルの一部を本発明にしたがって移動したなら、ファイル・システムを作成し、典型的な移動ファイルのリロケーション、ムーブ、コピー、名称変更、およびその他の典型的なファイル動作の処理を可能にする。これは、例えば、ファイル移動情報、またはファイルに対する移動情報を指定する移動ファイル動作と共に用いるメタデータを与えることによって、行なうことができる。
したがって、本発明は、部分移動ファイルのためにメタデータを定義し、これによってメタデータが部分移動ファイルについての格納関係を指定するような機構を提供する。このメタデータは、HSMシステムが部分移動ファイルの存在および性質を認識するため、そして部分移動ファイルに伴う動作を効率的に実行するために用いられる。このメタデータは、例えば、DCOM、Java、拡張可能ヘッダ、XMLフォーマット等でエンコードすることができる。このように、本発明は、ファイルの部分移動を勘案して開発されたのである。何故なら、現在のHSMシステムは部分移動技法に適切に対処していないからである。
限定のつもりではないが、メタデータ記述の一例は、移動データに利用されるリモート・ストレージ・サービスの識別、移動したストレージ・ブロックの範囲の記述、および最後の移動の時刻のような、関連があるその他のあらゆる情報を含むことができる。例えば、図5のストリーム3のメタデータは、時点t3において、データの移動に用いられるリモート・ストレージ・サービスのIDを含むことができる。また、時点t3におけるストリーム3のメタデータは、移動したストレージ・ブロックの範囲の記述も含むことができる。範囲記述に用いられる単位は、割り当て単位とすることができる。図5の例では、範囲リストを次のようにすることができる。
M1:<0,m
M2:<m+1,m
M3:<m+1,m
M4:<m+1,m
更に、メタデータは、例えば、最後の移動が行われたとき、または現在の移動が行われているときを記述する時間的情報を含むこともできる。
図8および図9、ならびに時点t3におけるストリーム3の前述のメタデータ記述を参照し、コール元540に応答したHSM500の、メタデータ520による、移動ストレージ530内のバイト範囲nないしmに対する検索プロセスを示す。メタデータ520は、ジェット・データベースのように、あらゆるタイプのストレージ・エレメントにも格納可能である。コール元540は、アプリケーション、サービス等のように、HSM500にデータを要求するいずれのタイプのオブジェクトでもよい。移動ストレージ530は、データを移動したあらゆる種類の多数の記憶装置を表すことができる。600において、HSM500は、バッファ510の調達を確保し、ここにコールしたバイトnないしmの全てを戻すことができる。610において、HSM500は、どのブロックMi(Miは、一般的に、M1,M2,M3等のようないずれかのストレージ・ブロックを示す)が範囲nないしmからのデータを含むのかを、前述の範囲リストから読み出すことによって判定を行なう。メタデータ記述によるこのような判定によって、例えば、nないしnがM2にあり、(n+1)ないしmがM3内にあることがわかった場合、620において、M2内のデータを移動ストレージ530から検索する。630において、nないしnをM2から読み出し、リターン・バッファ510内に置く。640において、M3内のデータを移動ストレージ530から検索する。650において、(n+1)ないしmをM3から読み出し、リターン・ファイル510内に置く。660において、バッファ510が要求されたバイト範囲nないしmで満杯となり、HSM500は要求された範囲のバイトをバッファ510からコール元540に送る。
部分的移動ファイルに関する移動情報を維持する方法は、ファイル・システム・メタデータ(ファイルの属性およびボリューム内におけるそのロケーションを記述するために用いる)と、ファイルのリモート・データ・エクステントのロケーションとの間の関係を定義することを含むとよい。例えば、バック・エンド・リモート・ストレージに対するインターフェースを、DCOMイネーブル・インターフェース・アプリケーション・プログラミング・インターフェース(API)によって実現する場合、ファイルのディスク割り当てに関する情報を維持するNTファイル・サーバの一部は、SAMのハードウエアを管理するNTファイル・サーバの一部から離れて位置してもよい。
したがって、本発明は、一方のストレージ・ロケーションから他方のストレージ・ロケーションへの部分ファイルの移動の際に用いられる方法および技法を記載し、これらの方法および技法を柔軟かつ効率的なHSMシステムに組み込む。
ここに記載した種々の技法は、ハードウエアまたはソフトウエア、または適切であれば、双方の組み合わせでも実現可能である。したがって、本発明の方法および装置、またはその内のある態様または部分は、フロッピ・ディスケット、CD−ROM、ハード・ドライブ、またはその他の機械読み取り可能記憶媒体のような、有形媒体内に具体化したプログラム・コード(即ち、命令)の形態を取ることができる。この場合、プログラム・コードをコンピュータのような機械にロードして実行すると、この機械は本発明を実施する装置となる。プログラム可能なコンピュータ上におけるプログラム・コードの実行の場合、コンピュータは、一般的に、プロセッサ、プロセッサが読み取り可能な記憶媒体(揮発性および不揮発性メモリおよび/または記憶エレメントを含む)、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを含む。好ましくは、1つ以上のプログラムを上位手順またはオブジェクト指向プログラミング言語で実施し、コンピュータ・システムと通信する。しかしながら、プログラムは、望ましければ、アセンブリまたは機械語で実施することも可能である。いずれの場合でも、言語はコンパイルまたはインタープリト言語であり、ハードウエア実施態様と組み合わせることができる。
また、本発明の方法および装置は、電気ワイヤまたはケーブル、光ファイバ、またはその他のいずれかの伝送形態のように、伝送媒体を通じて送信されるプログラム・コードの形態で具体化することも可能である。この場合、機械がプログラム・コードを受信し、ロードし、実行すると、EPROM、ゲート・アレイ、プログラマブル・ロジック・デバイス(PLD)、クライアント・コンピュータ、ビデオ・レコーダ等のように、機械は本発明を実施する装置となる。汎用プロセッサ上で実現する場合、プログラム・コードはプロセッサと結合し、本発明のインデックス化機能性を実行するように動作する一意の装置を提供する。例えば、本発明と共に用いる記憶技法は、一定不変にハードウエアおよびソフトウエアの組み合わせとすることができる。
以上種々の図の好適な実施形態と関連付けて本発明について説明したが、他の同様の実施形態も使用可能であり、本発明から逸脱することなく、記載した実施形態に対して変更や追加を行い、その同一機能を実行することも可能であることは理解されよう。例えば、散在ファイルを本発明によるファイル移動と共に用いたが、更新または変更が生ずるあらゆるタイプのデータのあらゆるファイルまたはストリームでも、部分的移動技法に適している場合もあり得る。また、多くの異なる通信およびネットワーク・プロトコルが、本発明によるファイル移動情報(メタデータ)の発生および格納に適している場合もあることも理解されよう。更に、ハンドヘルド・デバイス・オペレーティング・システムや、その他のアプリケーション特定オペレーティング・システムを含む種々のコンピュータ・プラットフォームも想定していることを強調しておく。したがって、本発明は、いずれの単一実施形態にも限定されることはなく、添付した特許請求の範囲にしたがって、その広さおよび範囲を解釈すべきである。

Claims (45)

  1. コンピュータ・システムにおいて、データ・ストリームの一部を第1ストレージ・ロケーションから第2ストレージ・ロケーションに移動する方法であって、
    前記第2ストレージ・ロケーションへの移動のために、前記データ・ストリームの少なくとも一部分を識別するステップと、
    前記少なくとも一部分を前記第2ストレージ・ロケーションに動かすステップと、
    前記ストリームのデータ関係を保存するステップと、
    から成ることを特徴とする方法。
  2. 請求項1記載の方法において、前記第1ストレージ・ロケーションおよび前記第2ストレージ・ロケーションは、異なるボリューム上に位置することを特徴とする方法。
  3. 請求項1記載の方法において、前記第2ストレージ・ロケーションへの移動のために、前記データ・ストリームの少なくとも一部分を識別するステップは、既定の基準にしたがって前記少なくとも一部分を識別するステップを含むことを特徴とする方法。
  4. 請求項3記載の方法において、前記第2ストレージ・ロケーションへの移動のために、前記データ・ストリームの少なくとも一部分を識別するステップは、アーカイブ単位のサイズを指定するステップを含むことを特徴とする方法。
  5. 請求項3記載の方法において、前記第2ストレージ・ロケーションへの移動のために、前記データ・ストリームの少なくとも一部分を識別するステップは、更新領域のサイズを指定するステップを含むことを特徴とする方法。
  6. 請求項3記載の方法において、前記第2ストレージ・ロケーションへの移動のために、前記データ・ストリームの少なくとも一部分を識別するステップは、前記第1ストレージ・ロケーションに適用可能なデータ・ストリームのメモリ割り当て制限を指定するステップを含むことを特徴とする方法。
  7. 請求項6記載の方法において、前記少なくとも一部分を動かす前記ステップは、前記メモリ割り当て制限を超過することなく実行することを特徴とする方法。
  8. 請求項1記載の方法において、前記データ・ストリームは、少なくとも1つの識別可能な更新領域を有することを特徴とする方法。
  9. 請求項1記載の方法において、前記第2ストレージ・ロケーションへの移動のために、前記データ・ストリームの少なくとも一部分を識別するステップは、データ・ストリームのタイプを識別するステップを含むことを特徴とする方法。
  10. 請求項9記載の方法において、前記データ・ストリームのタイプは、アペンド・オンリ・ファイルであることを特徴とする方法。
  11. 請求項9記載の方法において、前記データ・ストリームのタイプは、第1ストレージ・ブロック・ライト・オンリ・ファイルであることを特徴とする方法。
  12. 請求項1記載の方法において、前記第2ストレージ・ロケーションは、シーケンシャル・アクセス・メディア(SAM)であることを特徴とする方法。
  13. 請求項1記載の方法において、前記第1ストレージ・ロケーションはローカル・ロケーションであり、前記第2ストレージ・ロケーションはリモート・ロケーションであることを特徴とする方法。
  14. 請求項1記載の方法において、前記第1ストレージ・ロケーションは非安全ストレージ・ロケーションであり、前記第2ストレージ・ロケーションは安全ストレージ・ロケーションであることを特徴とする方法。
  15. 請求項1記載の方法において、前記第1ストレージ・ロケーションはオンライン・ロケーションであり、前記第2ストレージ・ロケーションはオフライン・ロケーションであることを特徴とする方法。
  16. 請求項1記載の方法において、前記ストリームのデータ関係を保存する前記ステップは、前記関係の記述のためにメタデータを発生するステップを含むことを特徴とする方法。
  17. 請求項16記載の方法において、前記関係の記述のための前記メタデータは、ワールド・ワイド・ウェブ・コンポーネントに組み込み可能なスクリプト可能インターフェースにしたがってフォーマットすることを特徴とする方法。
  18. 請求項16記載の方法において、前記関係の記述のための前記メタデータは、拡張可能マークアップ言語(XML)、分散コンポーネント・オブジェクト・モデル(DCOM)、およびJavaの内少なくとも1つのしたがってフォーマットすることを特徴とする方法。
  19. 請求項1記載の方法において、前記第1ストレージ・ロケーションにおける前記少なくとも一部分に対するストレージは、前記少なくとも一部分を前記第2ストレージ・ロケーションに動かした後、前記システムによる使用のために解放することを特徴とする方法。
  20. 請求項1記載の方法において、前記データ・ストリームは散在ファイルであることを特徴とする方法。
  21. 請求項1記載の方法を実行するようにコンピュータに命令するコンピュータ実行可能命令を有するコンピュータ読み取り可能媒体。
  22. 少なくとも一部分を第1ストレージ・ロケーションから第2ストレージ・ロケーションに移動させるデータ・ストリームの移動特性に関するメタデータを格納するためにコンピュータ読み取り可能媒体上に格納したデータ構造であって、
    少なくとも一部分を移動させる前記データ・ストリームを識別する識別子と、
    前記少なくとも一部分の移動と共に用いられるストレージ・サービスを表すデータと、
    前記少なくとも一部の移動部分のメモリ・マッピングを表すデータと、
    から成ることを特徴とするデータ構造。
  23. 請求項22記載のコンピュータ読み取り可能媒体上に格納したデータ構造であって、更に、前記データ・ストリームの前記少なくとも一部分の移動時刻に関する時間的データを備えることを特徴とするデータ構造。
  24. 請求項22記載のコンピュータ読み取り可能媒体上に格納したデータ構造において、該データ構造は、ワールド・ワイド・ウェブ・コンポーネントに組み込むことが可能なスクリプト可能インターフェースのフォーマットにしたがって格納することを特徴とするデータ構造。
  25. 請求項22記載のコンピュータ読み取り可能媒体上に格納したデータ構造において、拡張マークアップ言語(XML)、分散コンポーネント・オブジェクト・モデル(DCOM)、およびJavaフォーマットの内少なくとも1つで、前記データ構造を格納することを特徴とするデータ構造。
  26. 請求項22記載のコンピュータ読み取り可能媒体上に格納したデータ構造において、該データ構造をジェット・データベースに格納することを特徴とするデータ構造。
  27. 請求項22記載のデータ構造をエンコードする情報を搬送する変調データ信号。
  28. コンピュータ・システムにおいて用い、請求項1記載の方法にしたがって部分的移動技法の監督のためにデータ・ストリームを登録可能なアプリケーション・プログラミング・インターフェース(API)。
  29. 請求項28記載のAPIにおいて、前記インターフェースは、データ・ストリームの二次ストレージへの部分的移動に関するメタデータを発生し、格納する共通方法を提供することを特徴とするAPI。
  30. コンピュータ・システムであって、
    部分的移動のためにデータ・ストリームを監督する階層記憶管理(HSM)システムと、
    前記HSMシステムがサービスするデータ・ストリームを格納したソース・ストレージ・ロケーションと、
    を備え、前記HSMシステムは、既定の基準にしたがって、前記データ・ストリームの少なくとも一部分を識別してターゲット・ストレージ・ロケーションに移動し、前記少なくとも一部の移動部分のデータ関係の記述のためにメタデータを発生することを特徴とするコンピュータ・システム。
  31. 請求項30記載のコンピュータ・システムにおいて、前記HSMシステムは、アーカイブ単位のサイズを指定することを特徴とするコンピュータ・システム。
  32. 請求項30記載のコンピュータ・システムにおいて、前記HSMシステムは、更新領域のサイズを指定することを特徴とするコンピュータ・システム。
  33. 請求項30記載のコンピュータ・システムにおいて、前記HSMシステムは、前記ソース・ストレージ・ロケーションに適用可能なデータ・ストリームに対するメモリ割り当て制限を指定することを特徴とするコンピュータ・システム。
  34. 請求項33記載のコンピュータ・システムにおいて、前記HSMシステムは、前記データ・ストリームの少なくとも一部分を移動し、前記メモリ・ロケーション制限を超過しないようにすることを特徴とするコンピュータ・システム。
  35. 請求項30記載のコンピュータ・システムにおいて、前記HSMシステムは、少なくとも1つの識別可能な更新領域を有するデータ・ストリームを識別することを特徴とするコンピュータ・システム。
  36. 請求項30記載のコンピュータ・システムにおいて、前記HSMシステムによる前記少なくとも一部分の識別は、データ・ストリームのタイプを識別することを含むことを特徴とするコンピュータ・システム。
  37. 請求項36記載のコンピュータ・システムにおいて、前記データ・ストリームのタイプは、アペンド・オンリ・ファイルであることを特徴とするコンピュータ・システム。
  38. 請求項36記載のコンピュータ・システムにおいて、前記データ・ストリームのタイプは、第1ストレージ・ブロック・ライト・オンリ・ファイルであることを特徴とするコンピュータ・システム。
  39. 請求項30記載のコンピュータ・システムにおいて、前記ターゲット・ストレージ・ロケーションは、シーケンシャル・アクセス・メディア(SAM)であることを特徴とするコンピュータ・システム。
  40. 請求項30記載のコンピュータ・システムにおいて、前記ソース・ストレージ・ロケーションは、オンライン・ロケーションであり、前記ターゲット・ストレージ・ロケーションは、オフライン・ロケーションであることを特徴とするコンピュータ・システム。
  41. 請求項30記載のコンピュータ・システムにおいて、前記ソース・ストレージ・ロケーションは、非安全ストレージ・ロケーションであり、前記ターゲット・ストレージ・ロケーションは、安全ストレージ・ロケーションであることを特徴とするコンピュータ・システム。
  42. 請求項30記載のコンピュータ・システムにおいて、前記メタデータは、ワールド・ワイド・ウェブ・コンポーネントに組み込むことが可能なスクリプト可能インターフェースのフォーマットにしたがってフォーマットすることを特徴とするコンピュータ・システム。
  43. 請求項30記載のコンピュータ・システムにおいて、前記関係の記述のための前記メタデータは、拡張マークアップ言語(XML)、分散コンポーネント・オブジェクト・モデル(DCOM)、およびJavaフォーマットの内少なくとも1つで、フォーマットすることを特徴とするコンピュータ・システム。
  44. 請求項30記載のコンピュータ・システムにおいて、前記HSMシステムは、前記少なくとも一部分を前記ターゲット・ストレージ・ロケーションに動かした後、前記ソース・ストレージ・ロケーションにおける前記少なくとも一部分のためのストレージを、使用のために解放することを特徴とするコンピュータ・システム。
  45. 請求項30記載のコンピュータ・システムにおいて、前記データ・ストリームは散在ファイルであることを特徴とするコンピュータ・システム。
JP2011281430A 2000-08-24 2011-12-22 コンピュータ・システムにおけるオブジェクトの別のストレージ・ロケーションへの部分的移動 Expired - Lifetime JP4975882B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/644667 2000-08-24
US09/644,667 US6981005B1 (en) 2000-08-24 2000-08-24 Partial migration of an object to another storage location in a computer system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001250383A Division JP2002099450A (ja) 2000-08-24 2001-08-21 コンピュータ・システムにおけるオブジェクトの別のストレージ・ロケーションへの部分的移動

Publications (2)

Publication Number Publication Date
JP2012069161A true JP2012069161A (ja) 2012-04-05
JP4975882B2 JP4975882B2 (ja) 2012-07-11

Family

ID=24585875

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001250383A Withdrawn JP2002099450A (ja) 2000-08-24 2001-08-21 コンピュータ・システムにおけるオブジェクトの別のストレージ・ロケーションへの部分的移動
JP2011281430A Expired - Lifetime JP4975882B2 (ja) 2000-08-24 2011-12-22 コンピュータ・システムにおけるオブジェクトの別のストレージ・ロケーションへの部分的移動

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001250383A Withdrawn JP2002099450A (ja) 2000-08-24 2001-08-21 コンピュータ・システムにおけるオブジェクトの別のストレージ・ロケーションへの部分的移動

Country Status (5)

Country Link
US (2) US6981005B1 (ja)
EP (1) EP1182554B1 (ja)
JP (2) JP2002099450A (ja)
KR (1) KR100855139B1 (ja)
TW (1) TWI232396B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331622B2 (en) 2014-11-19 2019-06-25 International Business Machines Corporation Information management

Families Citing this family (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617292B2 (en) 2001-06-05 2009-11-10 Silicon Graphics International Multi-class heterogeneous clients in a clustered filesystem
US7640582B2 (en) 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
US20040139125A1 (en) 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
US8010558B2 (en) 2001-06-05 2011-08-30 Silicon Graphics International Relocation of metadata server with outstanding DMAPI requests
US7136883B2 (en) * 2001-09-08 2006-11-14 Siemens Medial Solutions Health Services Corporation System for managing object storage and retrieval in partitioned storage media
CA2461025A1 (en) * 2001-09-26 2003-04-03 Mark Saake Efficient mangement of large files
JP3966459B2 (ja) * 2002-05-23 2007-08-29 株式会社日立製作所 ストレージ機器管理方法、システム、およびプログラム
EP1570357A1 (en) * 2002-12-02 2005-09-07 Arkivio, Inc. Data recovery techniques in storage systems
US8015266B1 (en) * 2003-02-07 2011-09-06 Netapp, Inc. System and method for providing persistent node names
US7765551B2 (en) * 2003-02-10 2010-07-27 Novell, Inc. System for dynamically loading application resources from the first server to the second server based on the modified application resources from the first server
JP4322031B2 (ja) 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
CA2523279A1 (en) * 2003-04-24 2004-11-11 Secureinfo Corporation Method, system and article of manufacture for data preservation and automated electronic software distribution across an enterprise system
JP4349871B2 (ja) * 2003-09-09 2009-10-21 株式会社日立製作所 ファイル共有装置及びファイル共有装置間のデータ移行方法
US7165059B1 (en) * 2003-12-23 2007-01-16 Veritas Operating Corporation Partial file migration mechanism
US8825591B1 (en) * 2003-12-31 2014-09-02 Symantec Operating Corporation Dynamic storage mechanism
US20050192975A1 (en) * 2004-02-12 2005-09-01 Interdigital Technology Corporation Resource management system for electronic devices
US7428557B2 (en) * 2004-03-22 2008-09-23 Microsoft Corporation Efficient data transfer to/from storage medium of computing device
US20050216532A1 (en) * 2004-03-24 2005-09-29 Lallier John C System and method for file migration
JP2005321913A (ja) * 2004-05-07 2005-11-17 Hitachi Ltd ファイル共有装置を有する計算機システム、および、ファイル共有装置の移行方法
US7441096B2 (en) 2004-07-07 2008-10-21 Hitachi, Ltd. Hierarchical storage management system
KR100678893B1 (ko) * 2004-09-16 2007-02-07 삼성전자주식회사 객체 식별자를 이용하여 이동형 저장 장치에서 권리객체를 검색하는 방법 및 장치
US8055622B1 (en) * 2004-11-30 2011-11-08 Symantec Operating Corporation Immutable data containers in tiered storage hierarchies
US7831639B1 (en) * 2004-12-22 2010-11-09 Symantec Operating Corporation System and method for providing data protection by using sparse files to represent images of data stored in block devices
US8108579B2 (en) * 2005-03-31 2012-01-31 Qualcomm Incorporated Mechanism and method for managing data storage
US7711916B2 (en) * 2005-05-11 2010-05-04 Oracle International Corporation Storing information on storage devices having different performance capabilities with a storage system
WO2006137057A2 (en) * 2005-06-21 2006-12-28 Onigma Ltd. A method and a system for providing comprehensive protection against leakage of sensitive information assets using host based agents, content- meta-data and rules-based policies
US7506005B2 (en) * 2005-07-14 2009-03-17 Microsoft Corporation Moving data from file on storage volume to alternate location to free space
US7506003B2 (en) * 2005-07-14 2009-03-17 Microsoft Corporation Moving data from file on storage volume to alternate location to free space
US7801864B2 (en) 2005-11-28 2010-09-21 Commvault Systems, Inc. Systems and methods for using metadata to enhance data identification operations
JP2007148982A (ja) * 2005-11-30 2007-06-14 Hitachi Ltd ストレージシステム及びその管理方法
EP1798934A1 (en) * 2005-12-13 2007-06-20 Deutsche Thomson-Brandt Gmbh Method and apparatus for organizing nodes in a network
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US8930496B2 (en) 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
JP4890048B2 (ja) * 2006-02-24 2012-03-07 株式会社日立製作所 記憶制御装置及び記憶制御装置を用いたデータマイグレーション方法
US7831793B2 (en) * 2006-03-01 2010-11-09 Quantum Corporation Data storage system including unique block pool manager and applications in tiered storage
US8171251B2 (en) 2006-03-16 2012-05-01 Sandisk Il Ltd. Data storage management method and device
JP4902644B2 (ja) * 2006-04-24 2012-03-21 パナソニック株式会社 データ処理装置、データ処理方法、データ処理プログラム、およびそのデータ処理プログラムを記録した記録媒体、並びに集積回路
WO2007133791A2 (en) * 2006-05-15 2007-11-22 Richard Kane Data partitioning and distributing system
KR100834574B1 (ko) 2006-09-29 2008-06-02 한국전자통신연구원 파일 저장 시스템 및 그 시스템에서의 파일 저장 및 검색방법
US8806480B2 (en) * 2007-06-29 2014-08-12 Microsoft Corporation Virtual machine smart migration
US9298417B1 (en) * 2007-07-25 2016-03-29 Emc Corporation Systems and methods for facilitating management of data
US20090157756A1 (en) * 2007-12-15 2009-06-18 Hitachi Global Storage Technologies Netherlands, B.V. File System For Storing Files In Multiple Different Data Storage Media
US8301726B2 (en) * 2007-12-21 2012-10-30 International Business Machines Corporation Method and system for bit streaming for data centric applications
JP2009260541A (ja) * 2008-04-15 2009-11-05 Sony Corp 送信装置および方法、受信装置および方法、プログラム、並びに、送受信システムおよび方法
JP5248912B2 (ja) * 2008-05-12 2013-07-31 株式会社日立製作所 サーバ計算機、計算機システムおよびファイル管理方法
AU2010202034B1 (en) * 2010-04-07 2010-12-23 Limelight Networks, Inc. Partial object distribution in content delivery network
US8255373B2 (en) * 2008-10-24 2012-08-28 Microsoft Corporation Atomic multiple modification of data in a distributed storage system
CN101739308B (zh) * 2008-11-06 2011-11-09 英业达股份有限公司 映像文件的生成方法及其存放系统
US8209307B2 (en) * 2009-03-31 2012-06-26 Commvault Systems, Inc. Systems and methods for data migration in a clustered file system
US8452932B2 (en) * 2010-01-06 2013-05-28 Storsimple, Inc. System and method for efficiently creating off-site data volume back-ups
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
US9165015B2 (en) * 2010-07-29 2015-10-20 International Business Machines Corporation Scalable and user friendly file virtualization for hierarchical storage
JP5439607B2 (ja) * 2010-09-14 2014-03-12 株式会社日立製作所 サーバ装置及びサーバ装置の制御方法
US20120278553A1 (en) * 2011-04-28 2012-11-01 Mudhiganti Devender R System and method for migration of data clones
US8938517B2 (en) * 2011-05-06 2015-01-20 SpotStorage, Inc. System, method and computer program product for managing a remote storage
EP2717165A4 (en) 2011-05-30 2015-04-22 Hitachi Ltd ADMINISTRATIVE APPARATUS AND ADMINISTRATIVE PROCESS FOR A COMPUTER SYSTEM
US8515904B1 (en) * 2012-03-29 2013-08-20 Emc Corporation Providing file sytem quota support for a file system having separated data and metadata
US8639665B2 (en) 2012-04-04 2014-01-28 International Business Machines Corporation Hybrid backup and restore of very large file system using metadata image backup and traditional backup
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
US8914334B2 (en) 2012-09-12 2014-12-16 International Business Machines Corporation Using a metadata image of a file system and archive instance to restore data objects in the file system
US8805789B2 (en) 2012-09-12 2014-08-12 International Business Machines Corporation Using a metadata image of a file system and archive instance to backup data objects in the file system
US10057726B2 (en) 2012-10-02 2018-08-21 Razer (Asia-Pacific) Pte. Ltd. Managing user data on an electronic device
US9106721B2 (en) * 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
WO2014119867A1 (en) 2013-01-31 2014-08-07 Samsung Electronics Co., Ltd. Method of and device for managing applications
US11016637B2 (en) 2013-01-31 2021-05-25 Samsung Electronics Co., Ltd. Method of and device for managing applications
US10545628B2 (en) 2013-01-31 2020-01-28 Samsung Electronics Co., Ltd. Method of and device for managing applications
KR102101876B1 (ko) * 2013-01-31 2020-04-21 삼성전자주식회사 애플리케이션들을 관리하는 방법 및 애플리케이션들의 관리를 수행하는 디바이스
US20140310493A1 (en) * 2013-04-11 2014-10-16 International Business Machines Corporation Migrating data across storages with dissimilar allocation sizes
PL2987084T3 (pl) * 2013-04-18 2021-01-25 Ruslan Albertovich SHIGABUTDINOV Układy i sposoby zarządzania plikami przez mobilne urządzenia komputerowe
US9354979B2 (en) 2014-02-07 2016-05-31 International Business Machines Corporation Server based disaster recovery by making use of dual write responses
US10105593B2 (en) 2014-04-08 2018-10-23 Razer (Asia-Pacific) Pte. Ltd. File prefetching for gaming applications accessed by electronic devices
US9087012B1 (en) 2014-06-04 2015-07-21 Pure Storage, Inc. Disaster recovery at high reliability in a storage cluster
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
CN105446653B (zh) * 2014-08-27 2018-12-14 阿里巴巴集团控股有限公司 一种数据合并方法和设备
US9881038B2 (en) * 2015-04-20 2018-01-30 International Business Machines Corporation Archive migration system
CN106227795A (zh) * 2016-07-20 2016-12-14 曙光信息产业(北京)有限公司 分级存储的检测方法和系统
CN107665224B (zh) * 2016-07-29 2021-04-30 北京京东尚科信息技术有限公司 扫描hdfs冷数据的方法、系统和装置
US10248352B2 (en) * 2016-09-15 2019-04-02 International Business Machines Corporation Management of object location in hierarchical storage
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10949398B2 (en) 2017-03-29 2021-03-16 Commvault Systems, Inc. Synchronization operations for network-accessible folders
US10359954B2 (en) 2017-05-31 2019-07-23 Alibaba Group Holding Limited Method and system for implementing byte-alterable write cache
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10303241B2 (en) 2017-06-19 2019-05-28 Alibaba Group Holding Limited System and method for fine-grained power control management in a high capacity computer cluster
US11294853B1 (en) * 2017-06-22 2022-04-05 Amazon Technologies, Inc. Archiver for data stream service
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
US10678443B2 (en) 2017-07-06 2020-06-09 Alibaba Group Holding Limited Method and system for high-density converged storage via memory bus
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
US10303601B2 (en) 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
US10789011B2 (en) 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition
US10402112B1 (en) 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US11182090B2 (en) * 2018-11-19 2021-11-23 Micron Technology, Inc. Systems, devices, and methods for data migration
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US11392541B2 (en) 2019-03-22 2022-07-19 Hewlett Packard Enterprise Development Lp Data transfer using snapshot differencing from edge system to core system
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
CN111475467A (zh) * 2020-03-27 2020-07-31 平安科技(深圳)有限公司 一种文件管理方法、云端文件管理系统及终端
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
CN112214458B (zh) * 2020-10-19 2023-08-11 珠海金山数字网络科技有限公司 数据转存储方法及装置
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11366642B1 (en) 2021-02-25 2022-06-21 Bank Of America Corporation Change migration: processes for ensuring successful deployment of design changes
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
CN114327283B (zh) * 2021-12-30 2024-03-12 西北工业大学 分布式存储系统内的数据迁移方法及分布式存储系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60147855A (ja) * 1984-01-12 1985-08-03 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 記憶管理装置
JPH0944381A (ja) * 1995-07-31 1997-02-14 Toshiba Corp データ格納方法およびデータ格納装置
WO1998026352A1 (fr) * 1996-12-13 1998-06-18 Hitachi, Ltd. Procede de commande de prelecture de fichiers dans un systeme d'ordinateur
JPH11306190A (ja) * 1998-04-21 1999-11-05 Mitsubishi Electric Corp ビデオサーバシステム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
KR940000971A (ko) * 1992-06-05 1994-01-10 이문기 계층적 페이지 분할 구조의 가상 메모리를 지원하는 폴리어소시에이티브 테이블 룩 어사이드 버퍼
JPH07114444A (ja) * 1993-10-19 1995-05-02 Hitachi Ltd ファイル移動制御方式
US5617566A (en) * 1993-12-10 1997-04-01 Cheyenne Advanced Technology Ltd. File portion logging and arching by means of an auxilary database
JP3238558B2 (ja) * 1993-12-13 2001-12-17 株式会社東芝 ファイル再配置装置およびファイル再配置方法
US5802599A (en) * 1994-02-08 1998-09-01 International Business Machines Corporation System and method for allocating storage in a fragmented storage space
US5537585A (en) * 1994-02-25 1996-07-16 Avail Systems Corporation Data storage management for network interconnected processors
JP2682811B2 (ja) * 1994-03-22 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション データ記憶管理システム及び方法
KR100380878B1 (ko) * 1994-04-25 2003-08-02 소니 가부시끼 가이샤 데이터저장처리장치
US5864683A (en) * 1994-10-12 1999-01-26 Secure Computing Corporartion System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights
US5630092A (en) * 1994-10-20 1997-05-13 International Business Machines System and method for transferring compressed and uncompressed data between storage systems
US5564037A (en) * 1995-03-29 1996-10-08 Cheyenne Software International Sales Corp. Real time data migration system and method employing sparse files
JPH09282202A (ja) * 1996-04-09 1997-10-31 Fuji Xerox Co Ltd データ移動管理システム
US5881311A (en) * 1996-06-05 1999-03-09 Fastor Technologies, Inc. Data storage subsystem with block based data management
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US5897661A (en) * 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US6311252B1 (en) * 1997-06-30 2001-10-30 Emc Corporation Method and apparatus for moving data between storage levels of a hierarchically arranged data storage system
US6233600B1 (en) * 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US6044374A (en) * 1997-11-14 2000-03-28 Informatica Corporation Method and apparatus for sharing metadata between multiple data marts through object references
US5953729A (en) * 1997-12-23 1999-09-14 Microsoft Corporation Using sparse file technology to stage data that will then be stored in remote storage
US6343265B1 (en) * 1998-07-28 2002-01-29 International Business Machines Corporation System and method for mapping a design model to a common repository with context preservation
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
US6385706B1 (en) * 1998-12-31 2002-05-07 Emx Corporation Apparatus and methods for copying a logical object to a primary storage device using a map of storage locations
JP2000224257A (ja) * 1999-01-29 2000-08-11 Jisedai Joho Hoso System Kenkyusho:Kk 送信装置および受信装置
US6377996B1 (en) * 1999-02-18 2002-04-23 International Business Machines Corporation System for seamless streaming of data stored on a network of distributed primary and target servers using segmentation information exchanged among all servers during streaming
US6499039B1 (en) * 1999-09-23 2002-12-24 Emc Corporation Reorganization of striped data during file system expansion in a data storage system
US6804719B1 (en) * 2000-08-24 2004-10-12 Microsoft Corporation Method and system for relocating files that are partially stored in remote storage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60147855A (ja) * 1984-01-12 1985-08-03 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 記憶管理装置
JPH0944381A (ja) * 1995-07-31 1997-02-14 Toshiba Corp データ格納方法およびデータ格納装置
WO1998026352A1 (fr) * 1996-12-13 1998-06-18 Hitachi, Ltd. Procede de commande de prelecture de fichiers dans un systeme d'ordinateur
JPH11306190A (ja) * 1998-04-21 1999-11-05 Mitsubishi Electric Corp ビデオサーバシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331622B2 (en) 2014-11-19 2019-06-25 International Business Machines Corporation Information management
US11042508B2 (en) 2014-11-19 2021-06-22 International Business Machines Corporation Information management

Also Published As

Publication number Publication date
US6981005B1 (en) 2005-12-27
TWI232396B (en) 2005-05-11
EP1182554A2 (en) 2002-02-27
EP1182554A3 (en) 2009-10-14
JP4975882B2 (ja) 2012-07-11
US20050097126A1 (en) 2005-05-05
KR20020016551A (ko) 2002-03-04
US7072914B2 (en) 2006-07-04
KR100855139B1 (ko) 2008-08-28
JP2002099450A (ja) 2002-04-05
EP1182554B1 (en) 2017-08-23

Similar Documents

Publication Publication Date Title
JP4975882B2 (ja) コンピュータ・システムにおけるオブジェクトの別のストレージ・ロケーションへの部分的移動
US7340492B2 (en) Method and system for relocating files that are partially stored in remote storage
US9348842B2 (en) Virtualized data storage system optimizations
JP4755642B2 (ja) 記憶のためのファイル圧縮および圧縮ファイルの操作の方法およびシステム
JP5087467B2 (ja) コンピュータストレージシステムにおいてデータ圧縮並びに整合性を管理する方法および装置
JP4223729B2 (ja) 記憶システム
KR101137299B1 (ko) 스냅샷을 제공하는 파일 시스템에 대한 계층적 저장 관리
US8504797B2 (en) Method and apparatus for managing thin provisioning volume by using file storage system
US8086634B2 (en) Method and apparatus for improving file access performance of distributed storage system
US10210167B1 (en) Multi-level page caching for distributed object store
JP4406224B2 (ja) イメージファイル管理方法及びその記録媒体
US9449007B1 (en) Controlling access to XAM metadata
US20080168170A1 (en) Method for accessing distributed file system
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
US9727588B1 (en) Applying XAM processes
JP4327869B2 (ja) 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法
Bassi et al. Mobile management of network files
US6625614B1 (en) Implementation for efficient access of extended attribute data
JP4005102B2 (ja) ゲートウェイ装置
US7533225B1 (en) Method and apparatus for enabling adaptive endianness
Du Intelligent storage for information retrieval
US7603568B1 (en) Method and apparatus for self-validating checksums in a file system
Jerger Modeling and Performance Prediction of HDF5 data on Objectstorage
Stuart Θfs: An Experimental Generalized Storage Server
Yi et al. Design and implementation of an asymmetric block-based parallel file system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120112

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4975882

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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