JPH06342392A - ファイル配置方法 - Google Patents

ファイル配置方法

Info

Publication number
JPH06342392A
JPH06342392A JP3351740A JP35174091A JPH06342392A JP H06342392 A JPH06342392 A JP H06342392A JP 3351740 A JP3351740 A JP 3351740A JP 35174091 A JP35174091 A JP 35174091A JP H06342392 A JPH06342392 A JP H06342392A
Authority
JP
Japan
Prior art keywords
file
memory
computer
index
stored
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.)
Pending
Application number
JP3351740A
Other languages
English (en)
Inventor
Purshotam Rajani
ラジャニ パーショタム
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.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of JPH06342392A publication Critical patent/JPH06342392A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • G06F16/902Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers
    • 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/99953Recoverability
    • 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/99955Archiving or backup

Abstract

(57)【要約】 【目的】 バックアップメモリ中でファイルを効率よく
配置する方法を提供する。 【構成】 本発明のファイル配置方法においては、ファ
イルを識別する階層的パス名を形成している構成要素の
各々が最少のバイト数を用いて唯一つのアイデンティテ
ィに変換され、バックアップメモリ中のファイルの位置
が前記階層的パス名を構成している各々の構成要素の名
前ではなく前記アイデンティティの各々の関数として決
定される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はバックアップメモリにお
けるコンピュータファイルのアーカイビングに関し、特
にバックアップメモリ中にアーカイブされたメモリを配
置するためのメモリインデクシング装置に関する。
【0002】
【従来の技術】コンピュータシステムは、通常、システ
ムファイル及びプログラムのコピーをストアするための
メモリ”バックアップ”装置を有している。このような
システムにおいては、バックアップメモリは磁気テープ
かあるいはディスクメモリである。オペレータは周期的
にバックアップメモリを新たなテープあるいはディスク
に置き換え、バックアップをこの種のテープあるいはデ
ィスクのライブラリにストアする。バックアップメモリ
にストアされた特定のファイルをアクセスするために
は、オペレータはまずそのファイルを含む磁気テープあ
るいはディスクメモリがライブラリ中のどこにおかれて
いるかを見いだし、次いでそのテープあるいはディスク
の内容をバックアップシステムにロードしなければなら
ない。よって、この種の装置は労働集約的である。より
効率的なシステムにおいては、光ディスク等の非常に多
くのバックアップファイルをストア出来る大規模メモリ
を用いており、磁気テープあるいはディスクのライブラ
リを維持する必要は除かれている。後者の装置において
は、ファイルがバックアップメモリにストアされる度
に、バックアップメモリ中のそのストレージ位置及びそ
の名前及びバージョンナンバーがファイル名テーブルに
ストアされる。よって、バックアップメモリ中にストア
されたファイルの位置が、ファイル名テーブルを参照す
ることによって迅速に確認される。
【0003】
【発明が解決しようとする課題】しかしながら、この種
のテーブルを維持するためにバックアップメモリの容量
の10−15%が必要とされる。この理由は、ある時間
が経過すると、ファイル名テーブル中のかなりの数のエ
ントリ(レコード)が同一のファイル名でバージョンナ
ンバーの異なるものを含むことになるからである。よっ
て、相異なった名前の多数のファイルがストアされてこ
れらのファイル名が多くの相異なったバージョンに関す
る場合には、ファイル名テーブルのエントリがバックア
ップメモリのストレージ容量の内のかなりの部分を実際
に消費されることになる。
【0004】
【課題を解決するための手段】バックアップメモリ中の
ファイル配置技法に関する進歩が、本発明に係る方法に
よって達成される。本発明に係る方法においては、ファ
イルの全てのバージョン、すなわちファイル名及びバー
ジョンナンバー、が唯一つのアイデンティティに関連付
けられており、この唯一つのアイデンティティがバック
アップメモリ中でファイルがストアされている位置を含
むコンパクトなメモリレコードのアドレスに対してマッ
ピングされている。このため、本発明に係る方法におい
ては、バックアップメモリ中にストアされているファイ
ルあるいはプログラムの位置に関するインデックスを維
持するためにバックアップメモリのわずか0.5−1%
の容量しか必要としない。
【0005】
【実施例】図1は、本発明に係るアーカイビングシステ
ム100を示した図である。当該システムは、コンピュ
ータ110及びハードウエアディスク115を有してい
る。システム100を駆動するソフトウエアはディスク
115にストアされている。コンピュータ110は、例
えばサン・マイクロシステム社(Sun Micros
ystems、Inc.)から市販されているSPAR
KSTATION1+であり、従来技術に係る方法によ
りデータネットワーク20を介して複数個のコンピュー
タ10−1から10−Nを個々に周期的にポーリングす
る。データネットワーク20は、例えば公知のイーサネ
ット(Ethernet)ネットワークである。コンピ
ュータ110はこのようなポーリングをスケジュールに
基づいて(例えば、毎日、毎週、毎月等)行ない、ポー
リングされたコンピュータ10に関するメモリの内容を
メモリ30−1から30−Pにストアする。この内容
は、通常データ及び/あるいはプログラムよりなる名前
のつけられた複数個のファイルよりなり、例えばディス
クメモリ11−1から11−mのうちの対応するものに
ストアされた40メガバイトから数ギガバイトのオーダ
ーのものである。本発明の一実施例においては、メモリ
30−1から30−Pの各々は、例えばいわゆる再書き
込み可能な光ディスクライブラリユニットであり、これ
は一般に”ジュークボックス”と呼称される。この種
の”ジュークボックス”の一例は、日立製作所(株)製
のモデルOL112−22ユニットであり、このユニッ
トはやはり日立製作所(株)から市販されている644
メガバイトの光ディスクドライバを複数個有している。
コンピュータ10−1から10−Nの各々は、パーソナ
ルコンピュータ、ミニコンピュータあるいはより大きな
メインフレームコンピュータである。さらに、ディスク
ユニット11−1から11−Pの各々は実際には単一あ
るいは複数個のユニットであり、所謂ウインチェスター
型のディスクユニットあるいは他の型のディスクユニッ
トである。よく知られているように前者の型のディスク
ユニットは通常パーソナルコンピュータに関連している
ものであり、後者の型のディスクユニットはより大きな
コンピュータに関連しているものである。
【0006】コンピュータ110がコンピュータ10−
1から10−Nの内の一つ、例えばコンピュータ10−
1、とのアーカイビングセッションにかかると、コンピ
ュータ10−1はそれ自体に関連するディスクユニット
からアーカイブさるべき各々のファイルをアンロード
し、ネットワーク20を介してデータバイトストリーム
の形態でコンピュータ110に供給する。各々のファイ
ルには、なかんずくコンピュータ10の名前、すなわち
コンピュータ10−1、及びそのファイルが渡されてき
たパス名、そのファイルに対してなされた最後の変更が
行なわれた日付、及びそのファイルに係る他の情報を識
別するファイルヘッダが付加されている。
【0007】よく知られているように、コンピュータの
ファイルはディレクトリにグループ分けされ、ディレク
トリは階層ファイルシステムに組織される。ファイルシ
ステムの頂点は、例えばスラッシュ(”/”)によって
定義される所謂ルートディレクトリである。ルートディ
レクトリは通常複数個の標準的なディレクトリ及びファ
イル、例えば/bin、/usr、/dev、/etc
等を含んでいる。これら後者のディレクトリはサブディ
レクトリ及び/あるいはファイルを含んでおり、サブデ
ィレクトリは他のサブディレクトリを含んでいる。よっ
て、ファイルのパス名は階層ファイルシステムにおける
位置を規定している。例えば、ファイルのパス名が/e
tc/servicesである場合には、ファイル”s
ervices”はディレクトリ”etc”内に存在
し、この”etc”はルートディレクトリ”/”のサブ
ディレクトリである。また、パス名が/usr/bin
/servicesである場合には、ファイル”ser
vices”はディレクトリ”/bin”中に存在
し、”bin”はディレクトリ”usr”のサブディレ
クトリであって、”usr”はルートディレクトリ”
/”のサブディレクトリである。
【0008】コンピュータ110はファイル及びそのパ
ス名の受信に応じてアーカイビングメモリ30−1から
30−Pの内の一つ、例えばメモリ30−1、を選択
し、選択されたメモリ宛受信されたバイトストリームを
渡す。(コンピュータ110がメモリ30−1から30
−Pの内から一つのメモリを選択する方法は本発明に直
接関係あるものではないので本明細書においてはふれな
い。コンピュータ110は従来技術に係る方法によりポ
ーリングされたコンピュータ10のアイデンティティ
(名前)をメモリ30の内の一つのアイデンティティ
(アドレス)へマッピングする。)その後、メモリ30
−1はそれ自身に関連しているメモリディスク上の利用
可能なメモリブロックの位置を選択し、コンピュータ1
10から受信したデータバイトを選択されたメモリブロ
ックの位置から連続した位置にストアする。(実際に
は、ファイルをメモリ30−1内にストアするために複
数個のメモリブロックが必要な場合があり、このような
ブロックは相異なった大きさを有していて複数個のメモ
リディスクにわたって配置されている場合がありうる。
このような場合には、複数個のメモリブロックが従来技
術に係る方法により”リンク”されている。)
【0009】さらに、メモリ30−1はコンピュータ1
10に対して、アーカイブされるファイルの最初のバイ
トをストアするために選択されたメモリブロックの最初
の位置のアドレスを規定するメモリポインタを戻す。そ
の後、コンピュータ110はメモリポインタをディスク
115にアーカイブされるファイルと関連させてストア
する。当該ファイルの相異なったバージョンが既にメモ
リ30−1にストアされている場合には、コンピュータ
110は現時点のバージョンに関連する新たなレコード
を作成してこの新たなレコードを従来技術に係る方法に
よりそのファイルの最終すなわち直前のバージョンとリ
ンクする。このようにして、コンピュータ10−1がス
トアされたファイルの特定のバージョンを要求する場合
に当該コンピュータ10−1がなすべきことはネットワ
ーク20を介して要求するファイルのパス名及びそのバ
ージョンナンバーあるいは関連する日付を識別するメッ
セージをコンピュータ110宛送出することだけであ
る。コンピュータ110は、本発明に従って、当該メッ
セージに応答して受信したパス名の各々の構成要素を唯
一つのアイデンティティに変換して各々のアイデンティ
ティを、検索されているファイルがストアされている位
置を規定する前記ポインタを含む関連するレコードがス
トアされているDISK115のメモリ位置にマッピン
グする。
【0010】前記レコードが検索されているバージョン
に関連するものではない場合には、コンピュータ110
は検索されているバージョンに関連するレコードに到達
するまで前記リンクされたレコードを辿って行く。検索
されているバージョンに到達した時点でコンピュータ1
10は当該レコードから関連するメモリポインタをアン
ロードし、当該ポインタを適切なインストラクションに
従って検索されているファイルがストアされているメモ
リ30−1から30−Pの内の一つに渡す。検索されて
いるファイルがメモリ30−1にストアされていると仮
定すると、メモリ30−1は前記インストラクションに
応答して受信されたポインタによって識別されるメモリ
ブロックの位置を決定し、コンピュータ110に対して
当該メモリブロックの内容を渡す。(検索されているフ
ァイルが複数個のメモリブロックにわたってストアされ
ている場合には、メモリ30−1はこれらのメモリブロ
ックを順次アンロードしてその内容をコンピュータ11
0に対して渡すことになる。)
【0011】その後、コンピュータ110は要求をした
コンピュータ(ここではコンピュータ10−1)に対し
てネットワーク20を介してメモリ30−1から受信し
たファイルの各々のバイトを供給する。
【0012】より詳細に述べれば、コンピュータ110
は、メモリ30−1から30−Pの内の一つに対してス
トアされるあるいはそれからアンロードされるファイル
に係るレコードを配置するあるいは生成するプロセスに
おいて所謂ハッシュテーブル(図2)及びストリングス
ペーステーブル(図3)を用いる。以下の説明において
は、ファイルがメモリ30−1から30−Pの内の一
つ、例えば30−1、にストアされていてそのファイル
のパス名が/etc/servicesであると仮定す
る。さらに、要求を行なったコンピュータがコンピュー
タ10−1であると仮定する。(もちろん、以下の説明
はコンピュータ10の内の各々に対して等しく当てはま
るものであり、さらに相異なったパス名、例えば/us
r/data1、あるいはより長いパス名、例えば/u
sr/etc/bin/services、を有するフ
ァイルに対しても等しく当てはまる。)
【0013】ファイル、すなわちパス名/etc/se
rvicesを受信すると、コンピュータ110は当該
パス名を当該ファイルがメモリ30−1にストアされた
後にそれを配置するために用いられた前記唯一つのアイ
デンティティへとマッピングする。すなわち、コンピュ
ータ110はまずパス名の各々の構成要素、すなわちe
tc及びservices、を本発明に従って所定数バ
イト−具体的には4バイト−よりなる唯一つのアイデン
ティティに変換する。この唯一つのアイデンティティは
Sインデックスを呼称される。ここでは”etc”及
び”services”に対応するSインデックスはそ
れぞれ310及び205であると仮定する。コンピュー
タ110は、各々のSインデックスを、まずパス名の構
成要素の各々に対して従来技術に係るハッシングアルゴ
リズムを適用してメモリオフセット(すなわちhm=h
ash(”文字列成分”=i))を得ることによって生
成する。ここでは、メモリオフセット32及び10がそ
れぞれ”etc”及び”services”に対してハ
ッシングアルゴリズムを適用することによって得られた
ものと仮定する。(これらの値は以下の説明を簡潔に説
明するように選択されたものであり、前記構成要素に従
来技術に係るハッシングアルゴリズムを適用することに
よって得られた実際のハッシュ値を表わしているのでは
ないことに留意されたい。)
【0014】その後、コンピュータ110はハッシュテ
ーブル1からオフセット32によって規定される位置の
内容を読み出す。この値はここでは構成要素”etc”
に対するSインデックス、すなわち図2に示されている
ように310である。その後、コンピュータ110は3
10という値が構成要素”etc”に対するSインデッ
クスであるか否かを確認する。コンピュータ110はこ
のことを”etc”に対するSインデックスの値、すな
わち310、によって規定された文字列テーブル3内の
位置をアクセスすることによって行なう。この位置はこ
の構成要素の名前”etc”を含むはずである。コンピ
ュータ110は、その後、ハッシュテーブル1の位置1
0において示されているように、値205が構成要素”
services”に対するSインデックスであること
を同様に確認する。よって、パス名における構成要素に
対するSインデックスは構成要素を含む文字列テーブル
3におけるメモリ位置である。
【0015】続いてコンピュータ110は前記3つの関
連するテーブルをアクセスするために従来技術に係る技
法を用いてコンピュータ10−1のアイデンティティを
メモリインデックスにマッピングする。この3つの関連
するテーブルの内の一つには前記パス名によって識別さ
れるファイルがストアされているメモリ30−1のアド
レスすなわちポインタが含まれている。
【0016】図4、5、及び6はコンピュータ10−1
に関連する3つのテーブル、テーブル4、テーブル5及
びテーブル6を示した図である。テーブル4、5及び6
は本明細書においてはそれぞれD−、H−及びV−ノー
ドテーブルとして識別され、RAM125中及びディス
ク115中の双方にハッシュ及び文字列テーブル(図2
及び3)と共にストアされている。ここで、ディスク1
15はRAM125に対するバックアップメモリとして
機能している。(この種のテーブルはコンピュータ11
0によってサービスされるコンピュータ10−2から1
0−Nのうちの各々に対して予約されていることに留意
されたい。よって、以下の議論はコンピュータ10−2
から10−Nのいずれに対しても等しく当てはまるもの
である。)
【0017】より詳細に述べれば、H−ノードテーブル
5中のレコードはパス名の構成要素に関するものであ
り、2つのフィールドより成り立っている。その第一の
フィールドはD−ノードポインタフィールド51であ
り、前記構成要素の対応する”子供”に係るD−ノード
レコードの組の第一のD−ノードを指し示している。例
えば、テーブル5における第一のレコードはルートディ
レクトリ”/”に係るものであり、既に述べられている
ようにパス名における第一のスラッシュ(/)によって
規定される。この第一のレコードのフィールド51の内
容は、ルートディレクトリに直接従属している、すなわ
ちルートディレクトリに含まれているディレクトリ及び
ファイル、例えばusr、bin、etc等、に係るD
−ノードレコードの組の第一のD−ノードレコードを指
し示している。H−ノードポインタの第二のフィールド
すなわちV−ノードポインタ52は、なかんずく構成要
素名によって識別されるファイルがストアされているメ
モリ30−1のアドレス(ポインタ)を含むV−ノード
テーブル6内のレコードを指し示している。ここでは、
アドレス1にストアされていてルートディレクトリに関
連しているH−ノードレコードのフィールド52の内容
は、バックアップメモリ、すなわち仮定されているよう
にメモリ30−1、にストアされているルートディレク
トリの最新バージョンに関連しているデータを含むV−
ノードテーブル6のレコード(すなわちレコード13)
を指し示している。
【0018】V−ノードテーブル6中の各々のレコード
は、関連する構成要素名、例えばルート(/)、によっ
て識別されるファイルに関連するデータを含む複数個の
フィールドより成り立っている。第一のフィールド61
はルートディレクトリのそれ以前のバージョンに関連し
ているデータを含むV−ノードレコードへのリンクリス
トポインタとして用いられる。ここでは、レコード13
のフィールド61の内容はドレス1を指し示している。
第二のフィールド62の内容は、バックアップメモリ、
すなわちメモリ30−1、にストアされたルートディレ
クトリの最新バージョンを識別している。ルートディレ
クトリの最新バージョンに係る日付はフィールド63に
ストアされている。レコードの他のフィールド、すなわ
ちフィールド64はルートディレクトリの最新バージョ
ンがストアされたバックアップメモリ位置のアドレスを
含んでいる。
【0019】よって、バックアップメモリ内にストアさ
れたルートディレクトリのいかなるバージョンの位置も
H−ノードテーブル5内の関連するレコードから始めて
容易に確認され得る。
【0020】ここでの実施例において、H−ノードレコ
ード1のフィールド51の内容はV−ノードレコードア
ドレス3709を含んでおり、これはルートディレクト
リに対して最も最近直接に追加され、バックアップメモ
リにストアされたディレクトリに関するものである。コ
ンピュータ110はアドレス3709によって識別され
るD−ノードレコードを読み出し、後者のレコードのフ
ィールド42にストアされたSインデックスの値と構成
要素名”etc”に関連するSインデックスの値、すな
わち値310とを比較する。これらの値は同じではない
のでコンピュータ110はレコード3709にリンクさ
れた次のレコードを読み出す。すなわち、コンピュータ
110はD−ノードオフセット10によって識別される
レコードを読み出し、そのレコードに含まれているSイ
ンデックスを値310と比較する。これらの値も同じで
はないのでコンピュータ110はD−ノードテーブル4
中のその次にリンクされたレコード、すなわちリンクア
ドレス9によって識別されるレコードを読み出す。この
例ではコンピュータ110は”etc”のSインデック
スの値がレコード9のフィールド42にストアされてい
るSインデックスの値と等しいことを見いだす。
【0021】後者の比較の結果、コンピュータ110は
レコード9のフィールド43にストアされている値(す
なわち50)をインデックス(すなわちオフセット)と
して用いてH−ノードテーブル5をアクセスする。図5
から、オフセット50の所に位置するH−ノードレコー
ドのフィールド51及び52の値はそれぞれ81及び1
11であることがわかる。値111は”etc”ディレ
クトリに直接従属している各々のファイル及び/あるい
はディレクトリに係るD−ノードレコードの組の内の一
つを指し示している。既に説明されているように、値1
11は”etc”ディレクトリの最終バージョンがスト
アされているバックアップメモリ(例えばメモリ30−
1)内のメモリ位置のアドレスを含むV−ノードレコー
ドを指し示している。(既に述べられているように、”
etc”ディレクトリのそれ以前のバージョンがバック
アップメモリにストアされている場合には、後者のV−
ノードレコードはそのバージョンに対するバックアップ
メモリアドレスを含むV−ノードレコードを指し示して
いる。)
【0022】その後、コンピュータ110は”etc”
ディレクトリに直接従属しているものに関するD−ノー
ドレコードを一つずつアクセスし、その関連するフィー
ルド42がファイル”services”に対して割り
当てられたSインデックスの値(すなわち205)と等
しいSインデックスを含むD−ノードにおいてこのアク
セスを終了する。より詳細に述べれば、コンピュータ1
10はD−ノードテーブル4のレコード81をアクセス
することから開始してそのレコードのフィールド42の
内容を値205と比較する。レコード81のフィールド
42に含まれているインデックスは612という値を有
していて205というSインデックスとは同じではない
ので、コンピュータ110はD−ノードレコード81に
リンクされたD−ノードレコード、例えばレコード41
7(図示せず)をアクセスする。このようにしてコンピ
ュータ110はリンクされたD−ノードレコードのアク
セスを続行し、ファイル”services”に割り当
てられたSインデックスの値と等しい値を有するD−ノ
ードレコード20のフィールド42を見いだした時点で
この検索を終了する。その後、レコード20のフィール
ド43の内容(123)を用いてコンピュータ110は
H−ノードテーブル5のレコード123をアクセスして
関連するV−ノードポインタの値(図示されているよう
に68と仮定されている)を得る。
【0023】この実施例においては、ファイル/etc
/servicesの最新のバージョンはバックアップ
メモリ30−1にストアされていると仮定されているの
で、コンピュータ110は新たなレコードをV−ノード
テーブル6に追加し、この新たなレコードをそれ以前の
ファイルと関連付ける。ここではこの新たなレコードの
オフセットが10053であると仮定されている。コン
ピュータ110はこの新たなレコードを、関連するフィ
ールド61にオフセットインデックス68をストアする
ことによってファイル/etc/servicesの直
前のバージョンとリンクする。ここで、このファイルの
直前のバージョン及び現在のバージョンはそれぞれ2及
び3であると仮定されている。さらに、コンピュータ1
10はフィールド62、63及び64にそれぞれファイ
ルの現在のバージョンナンバー(すなわち3)、このバ
ージョンに関連する日付及び現在のバージョンがストア
されているバックアップメモリ位置のアドレスを挿入す
る。コンピュータ110は現在のレコードをオフセット
インデックス123によって識別されるH−ノードレコ
ードと、後者のレコードのフィールド52に新たなV−
ノードレコードのオフセットインデックス、すなわち1
0053、を挿入することによってリンクする。この値
はレコード123の68という値を置換することにな
る。
【0024】ファイル/etc/servicesがバ
ックアップメモリにそれ以前のバージョンがストアされ
ていないという意味で新しいファイルであると仮定する
と、コンピュータ110は、V−ノードテーブル6に新
たなレコードを追加するだけではなく新たなレコードを
D−ノードテーブル4及びH−ノードテーブル5にも追
加する。この場合には、新たなV−ノードレコードのフ
ィールドはヌル値(すなわち0という値)をとることに
なる。なぜなら、新たなファイルはそれ自体の以前のフ
ァイルに対してリンクされないからである。新たなH−
ノードレコードのフィールド51及び52は、それぞれ
ヌル値及び新たなV−ノードレコードに対するV−ノー
ドテーブルオフセットインデックスを含むことになる。
(システムがこの新しいファイルに対して直接従属して
いる他のファイル及び/あるいはディレクトリを見いだ
していないため、ヌル値が挿入される。)新たなD−ノ
ードファイルのフィールド41、42、及び43は、そ
れぞれ、”etc”に対して直接従属しているファイル
及び/あるいはディレクトリの組に対してこの新たなレ
コードをリンクするためのオフセットインデックス8
1、このファイルに対する唯一つのSインデックス、及
びこのファイルに関連しているH−ノードオフセットイ
ンデックスを含む。
【0025】さらに、コンピュータ110はオフセット
インデックス50を有するH−ノードレコードのフィー
ルド51の内容を新たなD−ノードレコードのオフセッ
トインデックスの値に変更する。
【0026】他方、ファイル/etc/service
sのバージョン1がバックアップメモリからアンロード
されてコンピュータ10−1から10−Nの内の一つ、
例えば10−1、に渡されなければならない場合には、
コンピュータ110はこの要求に対して既に説明された
ような方法で対処する。すなわち、コンピュータ110
はパス名の各々の構成要素を対応する唯一つのアイデン
ティティすなわちインデックスにマッピングし、このイ
ンデックスを用いて上述された方法でD−ノード及びH
−ノードを検索して関連するV−ノードレコード、すな
わちV−ノードレコード10053、の位置を見いだ
す。その後、コンピュータ110は互いにリンクされて
いる関連するV−ノードレコードを検索して、求められ
ているファイル/etc/servicesのバージョ
ン1に関連しているV−ノードレコード、すなわちレコ
ード18、の位置を見いだす。この時点でコンピュータ
110はフィールド64の内容を求められているファイ
ルを含むバックアップメモリに渡す。バックアップメモ
リはそれに応答して受信されたポインタによって識別さ
れるメモリ位置から始まるファイルをアンロードしてそ
れをコンピュータ110にそのまま供給する。その後、
コンピュータ110は要求を発したコンピュータ10宛
当該ファイルをバックアップメモリから受信したまま渡
す。
【0027】上述されているように、ハッシュナンバー
及びSインデックスは、それぞれ図2及び図3に示され
ているテーブル1及びテーブル2にストアされている情
報をアクセスするためのオフセットとして用いられる。
すなわち、Sインデックスは一群のメモリバイト、例え
ば4バイト、を用いてテーブル1にストアされている。
テーブル1においてSインデックスをストアするために
用いられる特定の一群のメモリバイトは、関連するハッ
シュナンバーの値によって決定される、すなわちハッシ
ュナンバーがテーブル1における関連するインデックス
の位置を決定するためのオフセットとして用いられる。
ハッシュナンバーはある意味では乱数であるため、スト
アされたSインデックスの後のテーブル1内の一群ある
いはそれ以上のメモリバイトが空である場合がある。こ
のことは、同一のハッシュナンバーが2つあるいはそれ
以上の相異なったファイル名に対して生成され得る、す
なわちハッシュナンバーが違いに衝突することを意味し
ている。
【0028】例えば、ハッシュナンバー10がファイル
名”aaaaa”に対して従来技術にかかるハッシング
アルゴリズムを適用することによって生成されたと仮定
する。ここで、”aaaaa”は相異なったアルファベ
ットあるいは数字を表わしている。図2から理解される
ように、テーブル1のオフセット10にストアされたS
インデックスの値は205であり、これは文字列テーブ
ル2における”services”というファイル名を
指し示している。ファイル名”services”はフ
ァイル名”aaaaa”と一致しないので、コンピュー
タ110は205がファイル名”aaaaa”に対して
割り当てられたSインデックスではないと結論付ける。
この場合にはコンピュータ110はオフセット10から
開始して一つずつテーブル1のそれ以降のエントリを検
索して空でない各々のエントリを用いてテーブル2をア
クセスし、ファイル名”aaaaa”がテーブル2に含
まれているか否かを決定する。ファイル名”aaaa
a”がテーブル2に含まれている場合には、コンピュー
タ110は後者のファイルに対するSインデックスとし
て関連するオフセットを用いる。
【0029】コンピュータ110がテーブル2中にファ
イル名”aaaaa”を見いださなかった場合には、コ
ンピュータ110はテーブル2の最終文字列にこのファ
イル名を追加する。その後、コンピュータ110は、ハ
ッシュナンバー10より大きいオフセット値を有する利
用可能な一群のメモリバイトを用いてテーブル1中に”
aaaaa”に対するテーブル2オフセットをストアす
る。このオフセット値はオフセット10によって識別さ
れる一群のメモリバイトに比較的近接したメモリバイト
内にストアされる場合が多い。なぜなら、既に説明され
ているように、Sインデックス205を含むメモリバイ
ト群の後ろのメモリバイト群が空である場合が多いから
である。このような場合には、コンピュータ110がフ
ァイル名”aaaaa”に対するSインデックスを配置
するために消費する時間が最小となる。なぜならこのイ
ンデックスとSインデックス205とはテーブル1中で
互いに近接してストアされる可能性が最も高いからであ
る。
【0030】上述されているように、ファイル名”aa
aaa”はテーブル2中にストアされている最終文字列
に追加される。すなわち、テーブル2中にストアされて
いるファイル名は互いに連続している、すなわち”パッ
ク”されている。
【0031】以上の説明は、本発明の一実施例に関する
もので,この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。例えば、特別なマッピング技法を
用いることによりD−ノードテーブル及びH−ノードテ
ーブルが各々のコンピュータ10に対して1つのテーブ
ルとしてまとめられ得る。さらに、ハッシュナンバー間
の衝突は当業者には既知の所謂二次ハッシング技法を用
いることによって取り扱われ得る。
【0032】
【発明の効果】以上述べたごとく、本発明によれば、バ
ックアップメモリ中のより効率的なファイル配置技法が
提供される。
【図面の簡単な説明】
【図1】 本発明の原理に係るコンピュータアーカイビ
ングシステムのブロック図。
【図2】 図1のシステムにおいて特定のファイル名を
唯一つのアイデンティティに関連付けるために用いられ
るハッシュテーブルを示した図。
【図3】 図1のシステムにおいて特定のファイル名に
対して割り当てられた唯一つのアイデンティティを確認
するために用いられるストリングテーブルを示した図。
【図4】 図1のシステムにおいてバックアップメモリ
内に関連するアイデンティティに基づいて特定のファイ
ルを配置するために用いられるテーブルを示した図。
【図5】 図1のシステムにおいてバックアップメモリ
内に関連するアイデンティティに基づいて特定のファイ
ルを配置するために用いられるテーブルを示した図。
【図6】 図1のシステムにおいてバックアップメモリ
内に関連するアイデンティティに基づいて特定のファイ
ルを配置するために用いられるテーブルを示した図。
【符号の説明】
4 D−ノードテーブル 5 H−ノードテーブル 6 V−ノードテーブル 10 コンピュータ 11 ディスク 20 ネットワーク 30 バックアップメモリ 41 リンクポインタ 42 Sインデックス 43 H−ノードポインタ 51 D−ノードポインタ 52 V−ノードポインタ 61 バージョンポインタ 62 バージョンナンバー 63 日付 64 媒体ポインタ 100 アーカイビングシステム 110 コンピュータ 115 ディスク

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 バックアップメモリ中にファイルを配置
    する方法において、前記ファイルは前記バックアップメ
    モリ中にストアされた一群の関連するファイルの内の一
    つであり、前記ファイル群が共通の名前によって識別さ
    れ、前記共通の名前がその並びが階層構造を表わしてい
    るような階層的パス名を識別しているN個の構成要素か
    らなるシーケンスの内の一つの構成要素であり(ここで
    N≧1である)、前記方法が、 前記構成要素の各々を対応する唯一つのアイデンティテ
    ィ値に変換する段階;前記バックアップメモリ中の前記
    ファイルがストアされている位置を前記N個の構成要素
    の最初のものに関連している唯一つのアイデンティティ
    値から始まる各々の前記値の関数として決定する段階;
    を有することを特徴とするファイル配置方法。
  2. 【請求項2】 前記構成要素の各々を、第一の位置テー
    ブル内の利用可能な位置に、当該利用可能な位置のアド
    レスがそこにストアされている構成要素に係る唯一つの
    アイデンティティ値を決定するようにストアする段階;
    及び、 前記構成要素の各々に対して関連するハッシュナンバー
    を導出して第二の位置テーブル内の前記ハッシュナンバ
    ーによって識別される位置に前記利用可能な位置の前記
    アドレスをストアする段階;を有することを特徴とする
    請求項第1項に記載のファイル配置方法。
  3. 【請求項3】 前記変換段階が、前記構成要素からなる
    前記シーケンスの各々に対して関連するハッシュナンバ
    ーを導出するために前記構成要素からなる前記シーケン
    スの第一のものから始めてハッシングアルゴリズムを適
    用しその後前記ハッシュナンバーを前記第二のテーブル
    に対するインデックスとして用いて前記第二のテーブル
    から関連するアイデンティティ値を取り出す段階を有す
    ることを特徴とする請求項第2項に記載のファイル配置
    方法。
  4. 【請求項4】 第三のテーブルに前記アイデンティティ
    値の各々及び他のファイル及び/あるいはディレクトリ
    のそれぞれのものに関連する他のアイデンティティ値を
    それぞれ対応するエントリとして、当該エントリの個々
    のものが前記階層内のそれぞれのレベルに基づいて前記
    第三のテーブル内でリンクされたエントリ群として形成
    されるようにストアする段階;及び、前記エントリの各
    々に第一のインデックス及び第二のインデックスをスト
    アする段階、 ここで前記第一のインデックスは次位に従属したエント
    リ群を間接的に指し示しており、前記第二のインデック
    スは関連するアイデンティティ値によって識別されるフ
    ァイルがストアされているバックアップメモリ位置を間
    接的に指し示している;を有し、 前記決定段階が、 前記シーケンス中の前記構成要素が出現する順序内で前
    記エントリ群の内の関連する一つを形成する第一のエン
    トリを識別してその後関連するエントリ群内で関連する
    唯一つのアイデンティティ値を含むエントリを配置する
    段階;及び、 前記識別された一群のエントリの最終のものを形成し前
    記ファイル名に係る唯一つのアイデンティティを含むエ
    ントリから前記第二のインデックスを得る段階を有する
    ことを特徴とする請求項第2項に記載のファイル配置方
    法。
JP3351740A 1991-01-02 1991-12-16 ファイル配置方法 Pending JPH06342392A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US636310 1991-01-02
US07/636,310 US5301286A (en) 1991-01-02 1991-01-02 Memory archiving indexing arrangement

Publications (1)

Publication Number Publication Date
JPH06342392A true JPH06342392A (ja) 1994-12-13

Family

ID=24551341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3351740A Pending JPH06342392A (ja) 1991-01-02 1991-12-16 ファイル配置方法

Country Status (2)

Country Link
US (1) US5301286A (ja)
JP (1) JPH06342392A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015532993A (ja) * 2012-11-01 2015-11-16 光毅 陶 光ディスクに基づくデータベース記憶システム及びその利用方法

Families Citing this family (233)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE500599C2 (sv) * 1992-12-08 1994-07-25 Ellemtel Utvecklings Ab Sätt att optimera minnesutrymme i en databas
JP2583010B2 (ja) * 1993-01-07 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
US5483653A (en) * 1993-04-02 1996-01-09 Xerox Corporation Printing system with file specification parsing capability
US5642496A (en) * 1993-09-23 1997-06-24 Kanfi; Arnon Method of making a backup copy of a memory over a plurality of copying sessions
US5572729A (en) * 1994-01-11 1996-11-05 Sun Microsystems, Inc. Method for stateless rename propagation between hierarchical file name spaces
US5537587A (en) * 1994-05-11 1996-07-16 International Business Machines Corporation File record maintenance in a data processing system by synchronization of menus with corresponding data files
US5634028A (en) * 1994-12-15 1997-05-27 International Business Machines Corporation Compact track address translation mapping system and method
FR2728703B1 (fr) * 1994-12-23 1997-01-31 Amitel Procede de stockage et de classement de donnees sur un disque optique compact a memoire fixe
US5566328A (en) * 1995-01-23 1996-10-15 Tandem Computers Incorporated Reconstructing directory pathnames from file handles in a computer system
EP2270687A2 (en) 1995-04-11 2011-01-05 Kinetech, Inc. Identifying data in a data processing system
US6453325B1 (en) * 1995-05-24 2002-09-17 International Business Machines Corporation Method and means for backup and restoration of a database system linked to a system for filing data
US6023705A (en) * 1995-08-11 2000-02-08 Wachovia Corporation Multiple CD index and loading system and method
US5960194A (en) * 1995-09-11 1999-09-28 International Business Machines Corporation Method for generating a multi-tiered index for partitioned data
US5778395A (en) * 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US5878428A (en) * 1995-11-20 1999-03-02 International Business Machines Corporation System, method, and article of manufacture for adding transactional recovery to a binary class in an object oriented system
US5867708A (en) * 1995-11-20 1999-02-02 International Business Machines Corporation System, method, and article of manufacture for adding concurrency to a binary class in an object oriented system
US6782538B1 (en) 1995-12-14 2004-08-24 International Business Machines Corporation Object oriented information handling system including an extensible instance manager
US5873092A (en) * 1995-12-14 1999-02-16 International Business Machines Corporation Information handling system, method, and article of manufacture including persistent, distributed object name services including shared properties
US5765153A (en) * 1996-01-03 1998-06-09 International Business Machines Corporation Information handling system, method, and article of manufacture including object system authorization and registration
US5809506A (en) * 1996-01-22 1998-09-15 International Business Machines Corporation Method for creating an object base of persisent application objects in an object oriented programming environment and apparatus related thereto
US5907679A (en) * 1996-08-19 1999-05-25 Visiontek Hard drive upgrade system
US5937416A (en) * 1997-03-25 1999-08-10 Bennethum Computer Systems Method for preserving data in an electronic document
US6789080B1 (en) 1997-11-14 2004-09-07 Adobe Systems Incorporated Retrieving documents transitively linked to an initial document
US6415278B1 (en) * 1997-11-14 2002-07-02 Adobe Systems Incorporated Retrieving documents transitively linked to an initial document
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6366987B1 (en) 1998-08-13 2002-04-02 Emc Corporation Computer data storage physical backup and logical restore
US6353878B1 (en) * 1998-08-13 2002-03-05 Emc Corporation Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem
US6938039B1 (en) 2000-06-30 2005-08-30 Emc Corporation Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol
US20030101139A1 (en) * 2000-09-14 2003-05-29 Kaag Bjoern Christiaan Wouter Method of and system for storing a data item
US6823336B1 (en) 2000-09-26 2004-11-23 Emc Corporation Data storage system and method for uninterrupted read-only access to a consistent dataset by one host processor concurrent with read-write access by another host processor
US6625591B1 (en) 2000-09-29 2003-09-23 Emc Corporation Very efficient in-memory representation of large file system directories
JP2002149699A (ja) * 2000-11-10 2002-05-24 Hitachi Ltd データ検索装置
EP1419457B1 (en) * 2001-08-20 2012-07-25 Symantec Corporation File backup system and method
US7546364B2 (en) * 2002-05-16 2009-06-09 Emc Corporation Replication of remote copy data for internet protocol (IP) transmission
US7356768B1 (en) 2002-11-27 2008-04-08 Adobe Systems Incorporated Using document templates to assemble a collection of documents
US6889288B2 (en) * 2002-12-02 2005-05-03 Emc Corporation Reducing data copy operations for writing data from a network to storage of a cached data storage system by organizing cache blocks as linked lists of data fragments
US8818950B2 (en) * 2004-01-22 2014-08-26 Symantec Corporation Method and apparatus for localized protected imaging of a file system
US8775823B2 (en) 2006-12-29 2014-07-08 Commvault Systems, Inc. System and method for encrypting secondary copies of data
US8316060B1 (en) * 2005-01-26 2012-11-20 21st Century Technologies Segment matching search system and method
US7831081B2 (en) * 2005-08-15 2010-11-09 Boston Scientific Scimed, Inc. Border detection in medical image analysis
WO2007097826A2 (en) * 2005-12-19 2007-08-30 Commvault Systems, Inc. System and method for providing a flexible licensing system for digital content
US8185576B2 (en) 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US8370442B2 (en) 2008-08-29 2013-02-05 Commvault Systems, Inc. Method and system for leveraging identified changes to a mail server
US8677091B2 (en) 2006-12-18 2014-03-18 Commvault Systems, Inc. Writing data and storage system specific metadata to network attached storage device
US8095509B2 (en) * 2007-08-11 2012-01-10 Novell, Inc. Techniques for retaining security restrictions with file versioning
US8769048B2 (en) 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US8484162B2 (en) 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8335776B2 (en) 2008-07-02 2012-12-18 Commvault Systems, Inc. Distributed indexing system for data storage
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US9178842B2 (en) 2008-11-05 2015-11-03 Commvault Systems, Inc. Systems and methods for monitoring messaging applications for compliance with a policy
US8943183B2 (en) * 2008-12-10 2015-01-27 Commvault Systems, Inc. Decoupled installation of data management systems
US8209307B2 (en) 2009-03-31 2012-06-26 Commvault Systems, Inc. Systems and methods for data migration in a clustered file system
WO2010114855A1 (en) 2009-03-31 2010-10-07 Commvault Systems, Inc. Information management systems and methods for heterogeneous data sources
CN101551736B (zh) * 2009-05-20 2010-11-03 杭州华三通信技术有限公司 基于地址指针链表的缓存管理装置和方法
US8930306B1 (en) 2009-07-08 2015-01-06 Commvault Systems, Inc. Synchronized data deduplication
US8572719B2 (en) 2010-05-28 2013-10-29 Commvault Systems, Inc. Firewall proxy systems and methods in a backup environment
US8504526B2 (en) 2010-06-04 2013-08-06 Commvault Systems, Inc. Failover systems and methods for performing backup operations
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US8504869B2 (en) 2010-07-16 2013-08-06 Commvault Systems, Inc. Kernel swapping systems and methods for recovering a network device
US8495420B2 (en) 2010-07-16 2013-07-23 Commvault Systems, Inc. Registry key federation systems and methods
US8364652B2 (en) 2010-09-30 2013-01-29 Commvault Systems, Inc. Content aligned block-based deduplication
US8572340B2 (en) 2010-09-30 2013-10-29 Commvault Systems, Inc. Systems and methods for retaining and using data block signatures in data protection operations
US9020900B2 (en) 2010-12-14 2015-04-28 Commvault Systems, Inc. Distributed deduplicated storage system
US20120150818A1 (en) 2010-12-14 2012-06-14 Commvault Systems, Inc. Client-side repository in a networked deduplicated storage system
US9323466B2 (en) 2011-04-27 2016-04-26 Commvault Systems, Inc. System and method for client policy assignment in a data storage system
US20130227352A1 (en) 2012-02-24 2013-08-29 Commvault Systems, Inc. Log monitoring
US9292815B2 (en) 2012-03-23 2016-03-22 Commvault Systems, Inc. Automation of data storage activities
US9286327B2 (en) 2012-03-30 2016-03-15 Commvault Systems, Inc. Data storage recovery automation
US9189167B2 (en) 2012-05-31 2015-11-17 Commvault Systems, Inc. Shared library in a data storage system
US8977672B2 (en) 2012-06-08 2015-03-10 Commvault Systems, Inc. Intelligent scheduling for remote computers
US9189170B2 (en) 2012-06-12 2015-11-17 Commvault Systems, Inc. External storage manager for a data storage cell
WO2013188550A1 (en) 2012-06-13 2013-12-19 Commvault Systems, Inc. Client-side signature repository in a networked storage system
US20140025796A1 (en) 2012-07-19 2014-01-23 Commvault Systems, Inc. Automated grouping of computing devices in a networked data storage system
US9275086B2 (en) 2012-07-20 2016-03-01 Commvault Systems, Inc. Systems and methods for database archiving
US20140040580A1 (en) 2012-07-31 2014-02-06 Commvault Systems, Inc. Administering a shared, on-line pool of data storage resources for performing data storage operations
US9026498B2 (en) 2012-08-13 2015-05-05 Commvault Systems, Inc. Lightweight mounting of a secondary copy of file system data
US8938481B2 (en) 2012-08-13 2015-01-20 Commvault Systems, Inc. Generic file level restore from a block-level secondary copy
US20140181441A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Identifying files for multiple secondary copy operations using data obtained during backup of primary storage
US20140181033A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to track deleted files
US9201906B2 (en) 2012-12-21 2015-12-01 Commvault Systems, Inc. Systems and methods to perform data backup in data storage systems
US9311121B2 (en) 2012-12-21 2016-04-12 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US20140181046A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to backup unprotected virtual machines
US20140196038A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine management in a data storage system
US20140201140A1 (en) 2013-01-11 2014-07-17 Commvault Systems, Inc. Data synchronization management
US9760444B2 (en) 2013-01-11 2017-09-12 Commvault Systems, Inc. Sharing of secondary storage data
US9811423B2 (en) 2013-01-11 2017-11-07 Commvault Systems, Inc. Partial file restore in a data storage system
US9766987B2 (en) 2013-01-11 2017-09-19 Commvault Systems, Inc. Table level database restore in a data storage system
US9633033B2 (en) 2013-01-11 2017-04-25 Commvault Systems, Inc. High availability distributed deduplicated storage system
US20140201162A1 (en) 2013-01-11 2014-07-17 Commvault Systems, Inc. Systems and methods to restore selected files from block-level backup for virtual machines
US9286110B2 (en) 2013-01-14 2016-03-15 Commvault Systems, Inc. Seamless virtual machine recall in a data storage system
US9483489B2 (en) 2013-01-14 2016-11-01 Commvault Systems, Inc. Partial sharing of secondary storage files in a data storage system
US9483655B2 (en) 2013-03-12 2016-11-01 Commvault Systems, Inc. File backup with selective encryption
US9934103B2 (en) 2013-04-16 2018-04-03 Commvault Systems, Inc. Managing multi-source restore operations in an information management system
US9483362B2 (en) 2013-05-08 2016-11-01 Commvault Systems, Inc. Use of auxiliary data protection software in failover operations
US9483558B2 (en) 2013-05-29 2016-11-01 Commvault Systems, Inc. Assessing user performance in a community of users of data storage resources
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
US9590886B2 (en) 2013-11-01 2017-03-07 Commvault Systems, Inc. Systems and methods for differential health checking of an information management system
US9798596B2 (en) 2014-02-27 2017-10-24 Commvault Systems, Inc. Automatic alert escalation for an information management system
US9633026B2 (en) 2014-03-13 2017-04-25 Commvault Systems, Inc. Systems and methods for protecting email data
US10380072B2 (en) 2014-03-17 2019-08-13 Commvault Systems, Inc. Managing deletions from a deduplication database
US9811427B2 (en) 2014-04-02 2017-11-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US20160004605A1 (en) 2014-07-01 2016-01-07 Commvault Systems, Inc. Lightweight data reconstruction based on backup data
US20160019117A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Creating customized bootable image for client computing device from backup copy
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US20160019224A1 (en) 2014-07-18 2016-01-21 Commvault Systems, Inc. File system content archiving based on third-party application archiving rules and metadata
US9641388B2 (en) 2014-07-29 2017-05-02 Commvault Systems, Inc. Customized deployment in information management systems
US10031917B2 (en) 2014-07-29 2018-07-24 Commvault Systems, Inc. Efficient volume-level replication of data via snapshots in an information management system
US10360110B2 (en) 2014-08-06 2019-07-23 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or iSCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US9405928B2 (en) 2014-09-17 2016-08-02 Commvault Systems, Inc. Deriving encryption rules based on file content
US9436555B2 (en) 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9417968B2 (en) 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US10204010B2 (en) 2014-10-03 2019-02-12 Commvault Systems, Inc. Intelligent protection of off-line mail data
US9609058B2 (en) 2014-10-13 2017-03-28 Commvault Systems, Inc. Storage management operations based on executable files served on demand to storage management components
US9575673B2 (en) 2014-10-29 2017-02-21 Commvault Systems, Inc. Accessing a file system using tiered deduplication
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9848046B2 (en) 2014-11-13 2017-12-19 Commvault Systems, Inc. Archiving applications in information management systems
US9912625B2 (en) 2014-11-18 2018-03-06 Commvault Systems, Inc. Storage and management of mail attachments
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US20160162364A1 (en) 2014-12-03 2016-06-09 Commvault Systems, Inc. Secondary storage pruning
US9632713B2 (en) 2014-12-03 2017-04-25 Commvault Systems, Inc. Secondary storage editor
US9645891B2 (en) 2014-12-04 2017-05-09 Commvault Systems, Inc. Opportunistic execution of secondary copy operations
US9753816B2 (en) 2014-12-05 2017-09-05 Commvault Systems, Inc. Synchronization based on filtered browsing
US20160210044A1 (en) 2015-01-15 2016-07-21 Commvault Systems, Inc. Intelligent hybrid drive caching
US20160210306A1 (en) 2015-01-15 2016-07-21 Commvault Systems, Inc. Managing structured data in a data storage system
US9952934B2 (en) 2015-01-20 2018-04-24 Commvault Systems, Inc. Synchronizing selected portions of data in a storage management system
US9588849B2 (en) 2015-01-20 2017-03-07 Commvault Systems, Inc. Synchronizing selected portions of data in a storage management system
US10108687B2 (en) 2015-01-21 2018-10-23 Commvault Systems, Inc. Database protection using block-level mapping
US9575804B2 (en) 2015-03-27 2017-02-21 Commvault Systems, Inc. Job management and resource allocation
US9928144B2 (en) 2015-03-30 2018-03-27 Commvault Systems, Inc. Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage
US9934265B2 (en) 2015-04-09 2018-04-03 Commvault Systems, Inc. Management of log data
US10339106B2 (en) 2015-04-09 2019-07-02 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
US9710253B2 (en) 2015-04-16 2017-07-18 Commvault Systems, Inc. Managing a software-patch submission queue
US9904598B2 (en) 2015-04-21 2018-02-27 Commvault Systems, Inc. Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology
US9639286B2 (en) 2015-05-14 2017-05-02 Commvault Systems, Inc. Restore of secondary data using thread pooling
US20160350391A1 (en) 2015-05-26 2016-12-01 Commvault Systems, Inc. Replication using deduplicated secondary copy data
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US10192065B2 (en) 2015-08-31 2019-01-29 Commvault Systems, Inc. Automated intelligent provisioning of data storage resources in response to user requests in a data storage management system
US10853406B2 (en) 2015-09-18 2020-12-01 Commvault Systems, Inc. Data storage management operations in a secondary storage subsystem using image recognition and image-based criteria
US10489249B2 (en) 2015-09-30 2019-11-26 Commvault Systems, Inc. Dynamic triggering of block-level backups based on block change thresholds and corresponding file identities using communication pathways between co-resident data agents
US10353994B2 (en) 2015-11-03 2019-07-16 Commvault Systems, Inc. Summarization of email on a client computing device based on content contribution to an email thread using classification and word frequency considerations
US10228962B2 (en) 2015-12-09 2019-03-12 Commvault Systems, Inc. Live synchronization and management of virtual machines across computing and virtualization platforms and using live synchronization to support disaster recovery
US10387266B2 (en) 2015-12-23 2019-08-20 Commvault Systems, Inc. Application-level live synchronization across computing platforms including synchronizing co-resident applications to disparate standby destinations and selectively synchronizing some applications and not others
US20170193003A1 (en) 2015-12-30 2017-07-06 Commvault Systems, Inc. Redundant and robust distributed deduplication data storage system
US10684924B2 (en) 2016-02-18 2020-06-16 Commvault Systems, Inc. Data restoration operations based on network path information
US10303557B2 (en) 2016-03-09 2019-05-28 Commvault Systems, Inc. Data transfer to a distributed storage environment
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10592350B2 (en) 2016-03-09 2020-03-17 Commvault Systems, Inc. Virtual server cloud file system for virtual machine restore to cloud operations
US10248174B2 (en) 2016-05-24 2019-04-02 Hedvig, Inc. Persistent reservations for virtual disk using multiple targets
US10664447B2 (en) 2016-07-12 2020-05-26 Commvault Systems, Inc. Dynamic management of expandable cache storage for multiple network shares configured in a file server
US10474548B2 (en) 2016-09-30 2019-11-12 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, using ping monitoring of target virtual machines
US10152251B2 (en) 2016-10-25 2018-12-11 Commvault Systems, Inc. Targeted backup of virtual machine
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10210048B2 (en) 2016-10-25 2019-02-19 Commvault Systems, Inc. Selective snapshot and backup copy operations for individual virtual machines in a shared storage
US11106632B2 (en) 2016-11-16 2021-08-31 Commvault Systems, Inc. Dynamically configuring a proxy server using containerization for concurrent and/or overlapping backup, restore, and/or test operations
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US20180276022A1 (en) 2017-03-24 2018-09-27 Commvault Systems, Inc. Consistent virtual machine replication
US10613939B2 (en) 2017-03-28 2020-04-07 Commvault Systems, Inc. Backup index generation process
US10949398B2 (en) 2017-03-29 2021-03-16 Commvault Systems, Inc. Synchronization operations for network-accessible folders
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10599527B2 (en) 2017-03-29 2020-03-24 Commvault Systems, Inc. Information management cell health monitoring system
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US11086834B2 (en) 2017-09-14 2021-08-10 Commvault Systems, Inc. Distributed framework for data proximity-based task splitting in a content indexing system
US10846266B2 (en) 2017-09-14 2020-11-24 Commvault Systems, Inc. Distributed architecture for content indexing emails
US10846180B2 (en) 2017-09-14 2020-11-24 Commvault Systems, Inc. Distributed framework for task splitting and task assignments in a content indexing system
US11036592B2 (en) 2017-09-14 2021-06-15 Commvault Systems, Inc. Distributed content indexing architecture with separately stored file previews
US11263088B2 (en) 2017-09-14 2022-03-01 Commvault Systems, Inc. Distributed architecture for tracking content indexing
US10635546B2 (en) 2017-12-07 2020-04-28 Commvault Systems, Inc. Synthesizing a restore image from one or more secondary copies to facilitate data restore operations to a file server
US10740300B1 (en) 2017-12-07 2020-08-11 Commvault Systems, Inc. Synchronization of metadata in a distributed storage system
US10742735B2 (en) 2017-12-12 2020-08-11 Commvault Systems, Inc. Enhanced network attached storage (NAS) services interfacing to cloud storage
US10592145B2 (en) 2018-02-14 2020-03-17 Commvault Systems, Inc. Machine learning-based data object storage
US10848468B1 (en) 2018-03-05 2020-11-24 Commvault Systems, Inc. In-flight data encryption/decryption for a distributed storage platform
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US10754729B2 (en) 2018-03-12 2020-08-25 Commvault Systems, Inc. Recovery point objective (RPO) driven backup scheduling in a data storage management system
US11321183B2 (en) 2018-05-02 2022-05-03 Commvault Systems, Inc. Multi-tiered backup indexing
US10673943B2 (en) 2018-05-02 2020-06-02 Commvault Systems, Inc. Network storage backup using distributed media agents
US10628267B2 (en) 2018-05-02 2020-04-21 Commvault Systems, Inc. Client managed data backup process within an enterprise information management system
US11249863B2 (en) 2018-05-02 2022-02-15 Commvault Systems, Inc. Backup-based media agent configuration
US10893103B2 (en) 2018-07-25 2021-01-12 Commvault Systems, Inc. Distributed and scalable storage management using a storage-microservices server
US10891304B2 (en) 2018-07-25 2021-01-12 Commvault Systems, Inc. Distributed and scalable client-based storage management
US11016696B2 (en) 2018-09-14 2021-05-25 Commvault Systems, Inc. Redundant distributed data storage system
US11010258B2 (en) 2018-11-27 2021-05-18 Commvault Systems, Inc. Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10860443B2 (en) 2018-12-10 2020-12-08 Commvault Systems, Inc. Evaluation and reporting of recovery readiness in a data storage management system
US11012508B2 (en) 2018-12-14 2021-05-18 Commvault Systems, Inc. Region-based distributed information management system
US11698727B2 (en) 2018-12-14 2023-07-11 Commvault Systems, Inc. Performing secondary copy operations based on deduplication performance
US11347707B2 (en) 2019-01-22 2022-05-31 Commvault Systems, Inc. File indexing for virtual machine backups based on using live browse features
US10872069B2 (en) 2019-01-22 2020-12-22 Commvault Systems, Inc. File indexing for virtual machine backups in a data storage management system
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
US11126365B2 (en) 2019-03-11 2021-09-21 Commvault Systems, Inc. Skipping data backed up in prior backup operations
US11269732B2 (en) 2019-03-12 2022-03-08 Commvault Systems, Inc. Managing structured data in a data storage system
US11321184B2 (en) 2019-03-26 2022-05-03 Commvault Systems, Inc. Streamlined secondary copy operations for data stored on shared file storage
US20200327017A1 (en) 2019-04-10 2020-10-15 Commvault Systems, Inc. Restore using deduplicated secondary copy data
US11100064B2 (en) 2019-04-30 2021-08-24 Commvault Systems, Inc. Automated log-based remediation of an information management system
US11442623B2 (en) 2019-05-02 2022-09-13 Commvault Systems, Inc. Faster browse of secondary copies of block-level data volumes
US11463264B2 (en) 2019-05-08 2022-10-04 Commvault Systems, Inc. Use of data block signatures for monitoring in an information management system
US20210037112A1 (en) 2019-07-29 2021-02-04 Commvault Systems, Inc. Data storage system with rapid restore capability
US11263173B2 (en) 2019-07-30 2022-03-01 Commvault Systems, Inc. Transaction log index generation in an enterprise backup system
US11513922B2 (en) 2019-08-14 2022-11-29 Commvault Systems, Inc. Systems and methods for change block tracking for backing up changed data
US11218450B2 (en) 2019-09-11 2022-01-04 Commvault Systems, Inc. Data protection component scaling in a cloud-based data storage system
US11237935B2 (en) 2019-09-11 2022-02-01 Commvault Systems, Inc. Anomaly detection in data protection operations
US11256673B2 (en) 2019-09-11 2022-02-22 Commvault Systems, Inc. Anomaly detection in deduplication pruning operations
US20210133167A1 (en) 2019-11-04 2021-05-06 Commvault Systems, Inc. Efficient implementation of multiple deduplication databases in a heterogeneous data storage system
US11442896B2 (en) 2019-12-04 2022-09-13 Commvault Systems, Inc. Systems and methods for optimizing restoration of deduplicated data stored in cloud-based storage resources
US11237924B2 (en) 2019-12-11 2022-02-01 Commvault Systems, Inc. Dynamic resizing and re-distribution of destination data storage resources for bare metal restore operations in a data storage management system
US11223535B2 (en) 2019-12-31 2022-01-11 Commvault Systems, Inc. Smart network topology systems and methods
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11005935B1 (en) 2020-03-10 2021-05-11 Commvault Systems, Inc. Using multiple streams with network data management protocol to improve performance and granularity of backup and restore operations from/to a file server
US11334442B2 (en) 2020-03-10 2022-05-17 Commvault Systems, Inc. Management database long-term archiving to a recovery manager
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11748143B2 (en) 2020-05-15 2023-09-05 Commvault Systems, Inc. Live mount of virtual machines in a public cloud computing environment
US11687424B2 (en) 2020-05-28 2023-06-27 Commvault Systems, Inc. Automated media agent state management
US11327663B2 (en) 2020-06-09 2022-05-10 Commvault Systems, Inc. Ensuring the integrity of data storage volumes used in block-level live synchronization operations in a data storage management system
US11537959B2 (en) 2020-06-16 2022-12-27 Commvault Systems, Inc. Dynamic computing progress tracker
US11614883B2 (en) 2020-07-17 2023-03-28 Commvault Systems, Inc. Distributed data storage system using erasure coding on storage nodes fewer than data plus parity fragments
US11494417B2 (en) 2020-08-07 2022-11-08 Commvault Systems, Inc. Automated email classification in an information management system
US11513708B2 (en) 2020-08-25 2022-11-29 Commvault Systems, Inc. Optimized deduplication based on backup frequency in a distributed data storage system
US11108861B1 (en) 2020-08-26 2021-08-31 Commvault Systems, Inc. System for managing multiple information management cells
US11789830B2 (en) 2020-09-22 2023-10-17 Commvault Systems, Inc. Anti-entropy-based metadata recovery in a strongly consistent distributed data storage system
US11570243B2 (en) 2020-09-22 2023-01-31 Commvault Systems, Inc. Decommissioning, re-commissioning, and commissioning new metadata nodes in a working distributed data storage system
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11474753B2 (en) 2020-10-30 2022-10-18 Commvault Systems, Inc. Systems and methods for backing up to a virtual tape library
US11323513B1 (en) 2021-01-22 2022-05-03 Commvault Systems, Inc. Geo-location-based data replication
US11645175B2 (en) 2021-02-12 2023-05-09 Commvault Systems, Inc. Automatic failover of a storage manager
US11574050B2 (en) 2021-03-12 2023-02-07 Commvault Systems, Inc. Media agent hardening against ransomware attacks
US11561978B2 (en) 2021-06-29 2023-01-24 Commvault Systems, Inc. Intelligent cache management for mounted snapshots based on a behavior model
US11954513B2 (en) 2021-07-29 2024-04-09 Commvault Systems, Inc. Scalable recovery and/or migration to cloud- based custom-made virtual machines without using failed machines' credentials
US11615147B2 (en) 2021-08-23 2023-03-28 Commvault Systems, Inc. Mobile storage manager control application for managing a storage manager of an information management system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63178346A (ja) * 1987-01-20 1988-07-22 Fujitsu Ltd ライブラリ管理処理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
JPS63100562A (ja) * 1986-10-17 1988-05-02 Hitachi Ltd フアイルシステム管理方式
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US5175852A (en) * 1987-02-13 1992-12-29 International Business Machines Corporation Distributed file access structure lock
US5151989A (en) * 1987-02-13 1992-09-29 International Business Machines Corporation Directory cache management in a distributed data processing system
US5001628A (en) * 1987-02-13 1991-03-19 International Business Machines Corporation Single system image uniquely defining an environment for each user in a data processing system
US5202982A (en) * 1990-03-27 1993-04-13 Sun Microsystems, Inc. Method and apparatus for the naming of database component files to avoid duplication of files
US5129082A (en) * 1990-03-27 1992-07-07 Sun Microsystems, Inc. Method and apparatus for searching database component files to retrieve information from modified files
US5032979A (en) * 1990-06-22 1991-07-16 International Business Machines Corporation Distributed security auditing subsystem for an operating system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63178346A (ja) * 1987-01-20 1988-07-22 Fujitsu Ltd ライブラリ管理処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015532993A (ja) * 2012-11-01 2015-11-16 光毅 陶 光ディスクに基づくデータベース記憶システム及びその利用方法

Also Published As

Publication number Publication date
US5301286A (en) 1994-04-05

Similar Documents

Publication Publication Date Title
JPH06342392A (ja) ファイル配置方法
US5813000A (en) B tree structure and method
US4945475A (en) Hierarchical file system to provide cataloging and retrieval of data
US6029170A (en) Hybrid tree array data structure and method
US6922688B1 (en) Computer system storage
US7085781B2 (en) Multi-volume extent based file system
US8176013B2 (en) Systems and methods for accessing and updating distributed data
US7162486B2 (en) System and method for representing named data streams within an on-disk structure of a file system
JP4157858B2 (ja) ストレージ・エリア・ネットワーク(san)ファイル・システムの並列高速バックアップ
US5873103A (en) Data storage management for network interconnected processors using transferrable placeholders
US7797283B2 (en) Systems and methods for maintaining distributed data
US5819275A (en) System and method for superimposing attributes on hierarchically organized file systems
US7228299B1 (en) System and method for performing file lookups based on tags
EP0851366B1 (en) Modified indirect addressing for file system
EP1082651B1 (en) Incremental updating
US6952730B1 (en) System and method for efficient filtering of data set addresses in a web crawler
US7657543B1 (en) Method and system for creating and using shadow roots
US20160261694A1 (en) Method and Apparatus for Tiered Storage
US8392477B2 (en) Seamless remote traversal of multiple NFSv4 exported file systems
US20040267822A1 (en) Rapid restoration of file system usage in very large file systems
US20070208757A1 (en) Mechanism for handling file level and block level remote file accesses using the same server
US20030220985A1 (en) System and method for virtualizing network storages into a single file system view
WO1996041283A9 (en) System and method for superimposing attributes on hierarchically organized file systems
US20020188626A1 (en) Disk storage with modifiable data management function
US20160283501A1 (en) Posix-compatible file system, method of creating a file list and storage device