JP2011510405A - Scalable deduplication mechanism - Google Patents
Scalable deduplication mechanism Download PDFInfo
- Publication number
- JP2011510405A JP2011510405A JP2010543270A JP2010543270A JP2011510405A JP 2011510405 A JP2011510405 A JP 2011510405A JP 2010543270 A JP2010543270 A JP 2010543270A JP 2010543270 A JP2010543270 A JP 2010543270A JP 2011510405 A JP2011510405 A JP 2011510405A
- Authority
- JP
- Japan
- Prior art keywords
- data
- deduplication
- backup
- data object
- application layer
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0686—Libraries, e.g. tape libraries, jukebox
Abstract
バックアップ記憶システムから冗長データを除去するための方法が提示される。一例では、この方法は、アプリケーション層データオブジェクトを受信することと、複数の重複排除ドメインからある重複排除ドメインを、前記重複排除ドメインに関連付けられたデータオブジェクト特性に少なくとも部分的に基づいて選択することと、前記アプリケーション層データオブジェクトが前記特性を有すると判断することと、前記重複排除ドメインに前記アプリケーション層データオブジェクトを誘導することとを含んでいてもよい。 A method is provided for removing redundant data from a backup storage system. In one example, the method receives an application layer data object and selects a deduplication domain from a plurality of deduplication domains based at least in part on data object characteristics associated with the deduplication domain. And determining that the application layer data object has the characteristics and directing the application layer data object to the deduplication domain.
Description
背景
1.発明の分野
この発明の局面はデータストレージに関し、より特定的には、拡張可能なデータ重複排除サービスを提供するための装置および方法に関する。
2.関連技術の説明
多くのコンピュータシステムは、1つ以上のホストコンピュータと、ホストコンピュータが使用したデータを記憶する1つ以上のデータ記憶システムとを含む。これらのホストコンピュータおよび記憶システムは典型的には、ファイバチャネル(Fibre Channel)ネットワーク、イーサネット(登録商標)ネットワーク、または別のタイプの通信ネットワークといったネットワークを用いて、ともにネットワーク化される。ファイバチャネルは、チャネルベースの伝送方式の速度とネットワークベースの伝送方式の柔軟性とを組合せて、ネットワーク上で複数のイニシエータが複数のターゲットと通信することを可能にする規格であり、ここでイニシエータおよびターゲットは、ネットワークに結合されたどの装置であってもよい。ファイバチャネルは典型的には、光ファイバケーブルといった高速伝送媒体を用いて実現されるため、大量のデータが転送される記憶システムネットワークにとって一般的な選択肢である。
2. Description of Related Art Many computer systems include one or more host computers and one or more data storage systems that store data used by the host computers. These host computers and storage systems are typically networked together using a network, such as a Fiber Channel network, an Ethernet network, or another type of communication network. Fiber Channel is a standard that combines the speed of a channel-based transmission scheme with the flexibility of a network-based transmission scheme to allow multiple initiators to communicate with multiple targets over a network. And the target can be any device coupled to the network. Since Fiber Channel is typically implemented using a high-speed transmission medium such as a fiber optic cable, it is a common choice for storage system networks where large amounts of data are transferred.
いくつかのホストコンピュータとバックアップ記憶システムとを含む典型的なネットワーク化コンピューティング環境の一例を、図1に示す。1つ以上のアプリケーションサーバ102が、ローカルエリアネットワーク(LAN)103を介して、複数のユーザコンピュータ104に結合されている。アプリケーションサーバ102およびユーザコンピュータ104はともに、「ホストコンピュータ」と考えられてもよい。アプリケーションサーバ102は、ストレージエリアネットワーク(SAN)108を介して、1つ以上の一次記憶装置106に結合されている。一次記憶装置106は、たとえば、EMC社、IBM社などの企業から入手可能であるようなディスクアレイであってもよい。また、これに代えて、バス(図示せず)または他のネットワークリンクが、アプリケーションサーバと一次記憶システム106との間の相互接続を提供してもよい。バスおよび/またはファイバチャネルネットワーク接続は、ホストコンピュータ(たとえばアプリケーションサーバ102)と記憶システム106との間で転送されるパケットのフォーマットを指示する小型部品システム相互接続(Small Component System Interconnect:SCSI)プロトコルなどのプロトコルを用いて動作してもよい。
An example of a typical networked computing environment including several host computers and a backup storage system is shown in FIG. One or
図1に示すネットワーク化コンピューティング環境は、たとえば大手金融機関または大企業が使用するような大型システムに特有のものである、ということが認識されるべきである。多くのネットワーク化コンピューティング環境は、図1に示す要素をすべて含む必要はないことが、理解されるべきである。たとえば、より小さいネットワーク化コンピューティング環境は単に、記憶システムに直接またはLANを介して接続されたホストコンピュータを含んでいてもよい。加えて、図1は別個のユーザコンピュータ104、アプリケーションサーバ102、およびメディアサーバ114を例示しているが、これらの機能は1つ以上のコンピュータに組合されてもよい。
It should be appreciated that the networked computing environment shown in FIG. 1 is specific to large systems such as those used by large financial institutions or large corporations. It should be understood that many networked computing environments need not include all of the elements shown in FIG. For example, a smaller networked computing environment may simply include a host computer connected directly or via a LAN to a storage system. In addition, although FIG. 1 illustrates a
多くのネットワーク化コンピュータ環境は、一次記憶装置106に加え、少なくとも1つの二次またはバックアップ記憶システム110を含む。バックアップ記憶システム110は典型的にはテープライブラリであってもよいが、大容量で信頼性のある他の二次記憶システムが使用されてもよい。典型的には、これらの二次記憶システムは一次記憶装置よりも低速であるが、取外されてオフサイトで格納され得る一種のリムーバブルメディア(たとえばテープ、磁気ディスクまたは光ディスク)を含む。
Many networked computing environments include at least one secondary or backup storage system 110 in addition to the
図示された例では、アプリケーションサーバ102は、たとえばイーサネット(登録商標)または他の通信リンク112を介して、バックアップ記憶システム110と直接通信できる場合がある。しかしながら、そのような接続は比較的低速であり、また、プロセッサ時間またはネットワーク帯域幅といった資源を使い尽くす場合がある。したがって、図示されたようなシステムは、たとえばファイバチャネルを用いてSAN108とバックアップ記憶システム110との間に通信リンク115を提供し得る1つ以上のメディアサーバ114を含んでいてもよい。
In the illustrated example,
メディアサーバ114は、(ユーザコンピュータ104、メディアサーバ114、および/またはアプリケーションサーバ102といった)ホストコンピュータ、一次記憶装置106、およびバックアップ記憶システム110の間でのデータの転送を制御するバックアップ/復元アプリケーションを含むソフトウェアを実行してもよい。バックアップ/復元アプリケーションの例は、ベリタス(Veritas)、レガート(Legato)などの企業から入手可能である。データ保護のために、当該技術分野において公知であるように、ネットワーク化コンピューティング環境におけるさまざまなホストコンピュータおよび/または一次記憶装置からのデータを、バックアップ/復元アプリケーションを用いて周期的にバックアップ記憶システム110にバックアップしてもよい。
もちろん、上述のように、多くのネットワーク化コンピュータ環境はより小さく、また、図1に示す例示的なネットワーク化コンピュータ環境よりも構成要素が少ない場合がある、ということが認識されるべきである。したがって、メディアサーバ114は実際、単一のホストコンピュータにおいてアプリケーションサーバ102と組合され得ること、および、バックアップ/復元アプリケーションは、バックアップ記憶システム110に(直接的に、またはネットワークを通してなど間接的に)結合されたどのホストコンピュータ上でも実行され得ることも、認識されるべきである。
Of course, as noted above, it should be recognized that many networked computer environments are smaller and may have fewer components than the exemplary networked computer environment shown in FIG. Thus, the
典型的なバックアップ記憶システムの一例は、多数のテープカートリッジと、少なくとも1つのテープドライブと、カートリッジのテープドライブへの取付けおよび取外しを制御するロボット機構とを含むテープライブラリである。バックアップ/復元アプリケーションはロボット機構に、ある特定のテープカートリッジ、たとえばテープ番号0001の位置を特定し、データがテープに書込まれるようにそのテープカートリッジをテープドライブに取付けるよう、命令を与える。バックアップ/復元アプリケーションはまた、データをテープに書込むフォーマットを制御する。典型的には、バックアップ/復元アプリケーションは、SCSIコマンド、または他の標準化コマンドを用いて、ロボット機構に命令し、データをテープに書込むようテープドライブを制御し、以前に書込まれたデータをテープから回復させてもよい。 An example of a typical backup storage system is a tape library that includes a number of tape cartridges, at least one tape drive, and a robotic mechanism that controls the attachment and removal of cartridges from and to the tape drive. The backup / restore application directs the robotic mechanism to locate a particular tape cartridge, eg, tape number 0001, and attach the tape cartridge to the tape drive so that data is written to the tape. The backup / restore application also controls the format in which data is written to tape. Typically, a backup / restore application uses SCSI commands or other standardized commands to instruct the robotics to control the tape drive to write data to the tape, and to write previously written data. You may recover from the tape.
従来のテープライブラリバックアップシステムは、速度、信頼性、および容量固定を含む多数の問題を抱えている。多くの大企業は、毎週、テラバイト単位のデータをバックアップする必要がある。しかしながら、高価で高性能のテープでも通常、30〜40メガバイト/秒(MB/s)、すなわち約50ギガバイト/時間(GB/hr)の速度でしか、データの読出/書込ができない。このため、1または2テラバイトのデータをテープバックアップシステムにバックアップするのに、少なくとも10〜20時間の連続データ転送時間がかかる場合がある。 Conventional tape library backup systems have a number of problems including speed, reliability, and capacity locking. Many large companies need to back up terabytes of data weekly. However, expensive and high performance tapes can usually only read / write data at a rate of 30 to 40 megabytes per second (MB / s), ie about 50 gigabytes per hour (GB / hr). For this reason, it may take at least 10 to 20 hours of continuous data transfer time to back up 1 or 2 terabytes of data to the tape backup system.
加えて、多くのテープ製造業者らは、(人間のオペレータもしくはロボット機構は移動または取付け動作中にテープを落とすかもしれないため、通常のテープライブラリでは比較的頻繁に起こり得るような)テープが落下した場合、もしくはテープが極度の温度または湿度といった理想的でない環境条件にさらされている場合に、データをテープに記憶させる(またはテープから復元する)ことができる、ということを保証しないであろう。したがって、制御された環境においてテープを格納するには、多大な注意を払う必要がある。さらに、(ロボット機構を含む)テープライブラリの複雑な機械は維持費がかさみ、また、個々のテープカートリッジは比較的高価で耐用年数が限られている。 In addition, many tape manufacturers have dropped tapes (as can happen relatively frequently in a normal tape library, as human operators or robotic mechanisms may drop tapes during movement or mounting operations). Or if the tape is exposed to non-ideal environmental conditions such as extreme temperatures or humidity, it will not guarantee that the data can be stored on (or restored from) the tape. . Therefore, great care must be taken to store the tape in a controlled environment. In addition, the complex machinery of tape libraries (including robotic mechanisms) is expensive to maintain, and individual tape cartridges are relatively expensive and have a limited service life.
従来のテープライブラリおよび他の種類のバックアップ記憶媒体に関連するコストを考慮して、供給業者らはしばしば、バックアップ媒体要件全体を減少させるために、重複排除処理を自らの製品提供に取入れている。重複排除とは、時が経つにつれてデータの繰返しシーケンスを識別するプロセスであり、すなわち、それはデルタ圧縮の現れである。重複排除は典型的には、バックアップ記憶装置といったターゲット装置の1つの機能として実現される。バックアップデータストリーム内の冗長データを識別する行為は複雑であり、現在の最新技術では従来、ハッシュ指紋法およびパターン認識を用いて解決されている。 In view of the costs associated with traditional tape libraries and other types of backup storage media, suppliers often incorporate deduplication processing into their product offerings to reduce overall backup media requirements. Deduplication is the process of identifying a repeating sequence of data over time, ie it is a manifestation of delta compression. Deduplication is typically implemented as a function of a target device such as a backup storage device. The act of identifying redundant data in a backup data stream is complex and has been solved in the current state of the art using hash fingerprinting and pattern recognition.
ハッシュ指紋法では、受信データストリームはまず、(その後の一致の最も高い可能性を提供するデータストリームにおいて、エッジとしても公知である良好な「区切り点」を予測することを試みる)整列処理を受け、次にハッシュ処理(現在の最新技術では通常、SHA−1)を受ける。データストリームは、ハッシュ処理によっていくつかの塊(サイズが通常、約8キロバイト〜12キロバイト)に分解され、各塊には、結果として生じるそのハッシュ値が割当てられる。このハッシュ値は、メモリ常駐テーブルと比較される。ハッシュ入力が見つかった場合、データは冗長であると仮定され、ディスク記憶システムに既に記憶された既存データブロックへのポインタと置き換えられる。既存データの位置はテーブルに載っている。ハッシュ入力が見つからない場合、データはディスク記憶システムに記憶され、その位置がそのハッシュとともにメモリ常駐テーブルに記録される。この機構を例示するいくつかの例を、データドメイン(Data Domain)に譲渡された米国特許第7,065,619号、およびクォンタム社(Quantum Corporation)に譲渡された米国特許第5,990,810号に見つけることができる。ハッシュ指紋法は典型的には、インラインで実行される。すなわち、データは、ディスクに書込まれる前にリアルタイムで処理される。 In hash fingerprinting, the received data stream is first subjected to an alignment process (attempts to predict a good “breakpoint”, also known as an edge, in the data stream that provides the highest likelihood of subsequent matches). Next, it undergoes hash processing (usually SHA-1 in the current state of the art). The data stream is broken into several chunks (typically about 8 to 12 kilobytes in size) by hashing, and each chunk is assigned its resulting hash value. This hash value is compared with the memory resident table. If a hash entry is found, the data is assumed to be redundant and is replaced with a pointer to an existing data block already stored in the disk storage system. The position of existing data is listed on the table. If no hash entry is found, the data is stored in the disk storage system and its location is recorded in a memory resident table along with the hash. Some examples illustrating this mechanism include US Pat. No. 7,065,619 assigned to Data Domain and US Pat. No. 5,990,810 assigned to Quantum Corporation. Can be found in the issue. Hash fingerprinting is typically performed inline. That is, the data is processed in real time before being written to disk.
パターン認識によれば、受信データストリームはまず、比較的大きいデータブロック(約32MB)へと「塊にされ」、または分割される。データは次に、ハッシュ値のリストを組立てる単純なローリングハッシュ法によって処理される。ハッシュ値に対して変換が行なわれ、ここで、結果として生じる値の小さなリストは、データブロックの「指紋」を表わす。次に、他の所与の記憶ブロックに存在する少なくとも或る数の指紋ハッシュを探すために、ハッシュのテーブルに対して検索が行なわれる。最小一致数が満たされない場合、ブロックは固有であると考えられ、ディスクに直接記憶される。対応する指紋ハッシュが、メモリ常駐テーブルに追加される。最小一致数が満たされた場合、現在のデータブロックが以前に記憶されたデータブロックと一致する可能性がある。この場合、一致する指紋によって割当てられたディスクストレージのブロックがメモリに読込まれ、かつてハッシュされた候補ブロックとバイト毎に比較される。データの全シーケンスが等しい場合、データブロックは、ストレージの物理的にアドレス指定されたブロックへのポインタと置き換えられる。ブロック全体が一致しない場合、デルタ差分機構が採用されて、記憶される必要があるブロック内の最小データセットを判断する。その結果は、固有のデータと、以前に記憶されたデータの綿密に一致するブロックについてのリファレンスとの組合せである。この機構を例示する一例を、ディリジェント社(Diligent Corporation)に譲渡された米国特許出願第US2006/0059207号に見つけることができる。上述のように、この動作は典型的には、インラインで実行される。 According to pattern recognition, the received data stream is first “lumped” or split into relatively large data blocks (approximately 32 MB). The data is then processed by a simple rolling hash method that builds a list of hash values. A transformation is performed on the hash value, where the resulting small list of values represents the “fingerprint” of the data block. Next, a search is performed against the hash table to find at least some number of fingerprint hashes present in other given storage blocks. If the minimum number of matches is not met, the block is considered unique and is stored directly on disk. The corresponding fingerprint hash is added to the memory resident table. If the minimum number of matches is met, the current data block may match a previously stored data block. In this case, the disk storage block allocated by the matching fingerprint is read into memory and compared byte by byte with the previously hashed candidate block. If the entire sequence of data is equal, the data block is replaced with a pointer to a physically addressed block of storage. If the entire block does not match, a delta difference mechanism is employed to determine the smallest data set in the block that needs to be stored. The result is a combination of unique data and a reference to a closely matching block of previously stored data. One example illustrating this mechanism can be found in US Patent Application No. US 2006/0059207, assigned to Diligent Corporation. As described above, this operation is typically performed inline.
発明の概要
この発明の局面および実施例は、従来のデータ重複排除手法の問題の一部またはすべてを克服もしくは緩和し、従来の重複排除手法を取入れたデータ記憶システムよりも優れた有効性および拡張性を提供し得る、データ記憶システムを提供する。
SUMMARY OF THE INVENTION Aspects and embodiments of the present invention overcome or alleviate some or all of the problems of conventional data deduplication techniques and are more effective and extended than data storage systems that incorporate traditional deduplication techniques. A data storage system is provided that can provide functionality.
概観では、この発明の局面および実施例は、バックアップ/復元アプリケーションが物理的テープライブラリと同様に装置および媒体の同じ表示を見るように、従来のテープバックアップ記憶システムをエミュレートする、ランダムアクセスベースの記憶システムを提供する。この発明の記憶システムは、ソフトウェアおよびハードウェアを用いて、物理的テープ媒体をエミュレートし、それらを1つ以上のランダムアクセスディスクアレイと置き換えて、テープフォーマットで線形の順次データを、ディスクへの記憶にとって好適なデータに変換する。 In overview, aspects and embodiments of the present invention provide a random access-based emulation that emulates a conventional tape backup storage system so that a backup / restore application sees the same display of devices and media as a physical tape library. Provide a storage system. The storage system of the present invention uses software and hardware to emulate physical tape media and replace them with one or more random access disk arrays to convert linear sequential data in tape format to disk. Convert to data suitable for storage.
この発明のいくつかの局面および実施例によれば、既存のバックアップデータセットを復号し、メタデータ(すなわち、ユーザデータについての情報を表わすデータ)を、検索可能なメタデータキャッシュに記憶させるための機構と、ファイルまたはオブジェクトを求めてメタデータキャッシュを検索および/または閲覧できるようにする機構と、これらのファイルまたはオブジェクトを、典型的なバックアップソフトウェアの既存のバックアップポリシーおよび慣行を通して記憶されたデータから、ウェブ接続を介してダウンロードするための機構とが提供される。また、既存の認証機構を通してユーザを認証し、現在のユーザの認証情報に基づいてメタデータキャッシュの表示を制限するための機構が含まれていてもよい。 In accordance with some aspects and embodiments of the present invention, for decrypting an existing backup data set and storing metadata (ie, data representing information about user data) in a searchable metadata cache Mechanisms, mechanisms that allow searching and / or browsing the metadata cache for files or objects, and these files or objects from data stored through existing backup policies and practices of typical backup software A mechanism for downloading via a web connection. Further, a mechanism for authenticating the user through an existing authentication mechanism and restricting the display of the metadata cache based on the current user authentication information may be included.
この発明の局面および実施例は、冗長データのバックアップデータオブジェクトからの除去も提供する。この除去処理は「重複排除」と呼ばれ得るが、バックデータのコピーを保持するために必要な記憶容量を削減し、ひいてはバックアップデータを記憶するために必要な電子媒体の量を削減する。この発明の少なくともいくつかの局面に従った重複排除処理の実施例は、メタデータを用いることによってコンピューティング資源を効率的に使用し、重複排除処理を最適化する。 Aspects and embodiments of the present invention also provide removal of redundant data from backup data objects. This removal process, which can be referred to as “deduplication”, reduces the storage capacity required to hold a copy of the back data and thus the amount of electronic media required to store the backup data. Embodiments of a deduplication process in accordance with at least some aspects of the present invention efficiently use computing resources and optimize the deduplication process by using metadata.
以下にさらに説明するように、いくつかの実施例は、重複排除処理全体の知的誘導に向けられている。これらの実施例のいくつかでは、データ記憶システムは、ソフトウェアおよびハードウェアを用いて、データオブジェクトを、重複排除および記憶用のいくつかの重複排除ドメインのうちの1つに誘導する。加えて、所与のデータ記憶システムによって提示された制約内でデータの重複排除を管理する重複排除ドメインを構成するために、ハードウェアおよび/またはソフトウェアで実現されるアプリケーションが提供される。いくつかの実施例は、従来のハッシュ指紋手法が、利用可能なメモリの量によって制約される、という認識を表明している。他の実施例は、パターン認識アプローチでは、ランダムなI/O作業負荷が実質的な制限である、という認識を反映している。このため、これらの実施例は、従来のハッシュ指紋法およびパターン認識重複排除手法によって課される制限の認識を表明している。 As described further below, some embodiments are directed to intelligent guidance of the entire deduplication process. In some of these embodiments, the data storage system uses software and hardware to direct the data object to one of several deduplication domains for deduplication and storage. In addition, hardware and / or software implemented applications are provided to configure deduplication domains that manage data deduplication within the constraints presented by a given data storage system. Some embodiments assert the recognition that traditional hash fingerprinting techniques are constrained by the amount of memory available. Other embodiments reflect the recognition that with the pattern recognition approach, random I / O workload is a substantial limitation. Thus, these examples demonstrate the recognition of restrictions imposed by conventional hash fingerprinting and pattern recognition de-duplication techniques.
この発明の他の局面および実施例によれば、メタデータキャッシュにおいて複数のカートリッジ表現の論理的併合を行なうための機構と、新しく合成されたカートリッジにラベルおよびバーコードを適切に付与し、それが有効なデータセットとしてバックアップ/復元ソフトウェアに受付けられるようにするための機構とが提供される。また、この発明のさらに別の局面および実施例によれば、合成カートリッジを表わすデータ要素の複数のコピーを記憶するか、またはメタデータキャッシュにおいて表わされた既存データへのポインタのみを記憶するための機構が提供される。 In accordance with other aspects and embodiments of the present invention, a mechanism for logically merging multiple cartridge representations in a metadata cache, and appropriately assigning labels and barcodes to newly synthesized cartridges, including: And a mechanism for being accepted into the backup / restore software as a valid data set. In accordance with yet another aspect and embodiment of the present invention, to store multiple copies of a data element representing a composite cartridge, or to store only pointers to existing data represented in a metadata cache A mechanism is provided.
一実施例によれば、アプリケーション層データオブジェクトの重複排除を誘導するための方法が提供される。この方法は、当該アプリケーション層データオブジェクトを受信する行為と、複数の重複排除ドメインからある重複排除ドメインを、当該重複排除ドメインに関連付けられたデータオブジェクト特性に少なくとも部分的に基づいて選択する行為と、当該アプリケーション層データオブジェクトが当該特性を有すると判断する行為と、当該選択された重複排除ドメインに当該アプリケーション層データオブジェクトを誘導する行為とを含む。 According to one embodiment, a method is provided for inducing deduplication of application layer data objects. The method includes an act of receiving the application layer data object, an act of selecting a deduplication domain from a plurality of deduplication domains based at least in part on data object characteristics associated with the deduplication domain; An act of determining that the application layer data object has the characteristic and an act of inducing the application layer data object to the selected deduplication domain.
一例では、当該アプリケーション層データオブジェクトを受信する行為は、データストリームを受信する行為と、当該データストリームに含まれるメタデータを用いて当該アプリケーション層データオブジェクトを識別する行為とを含んでいてもよい。別の例では、当該データストリームを受信する行為は、多重化されたデータストリームを受信する行為を含んでいてもよい。別の例によれば、この方法は、当該アプリケーション層データオブジェクトを用いて、当該データストリームに含まれるメタデータを抽出する行為をさらに含んでいてもよい。さらに別の例では、当該複数の重複排除ドメインから当該重複排除ドメインを選択する行為は、当該アプリケーション層データオブジェクトに関連付けられた当該抽出されたメタデータを、当該重複排除ドメインに関連付けられた少なくとも1つの当該特性と比較する行為を含んでいてもよい。さらに別の例によれば、当該データストリームに含まれる当該メタデータを抽出する行為は、バックアップポリシー名、データ源のタイプ、データ源の名前、バックアップアプリケーション名、オペレーションシステムのタイプ、データタイプ、バックアップタイプ、ファイル名、ディレクトリ構造、および時系列情報のうちの少なくとも1つを抽出する行為を含んでいてもよい。 In one example, the act of receiving the application layer data object may include an act of receiving a data stream and an act of identifying the application layer data object using metadata included in the data stream. In another example, the act of receiving the data stream may include the act of receiving the multiplexed data stream. According to another example, the method may further include an act of extracting metadata included in the data stream using the application layer data object. In yet another example, the act of selecting the deduplication domain from the plurality of deduplication domains includes: extracting the extracted metadata associated with the application layer data object with at least one associated with the deduplication domain. It may include an act of comparing two such characteristics. According to yet another example, the act of extracting the metadata included in the data stream includes backup policy name, data source type, data source name, backup application name, operation system type, data type, backup An act of extracting at least one of type, file name, directory structure, and time series information may be included.
別の例では、この方法は、複数の重複排除方法のうちの1つを使用するよう、当該複数の重複排除ドメインの各々を構成する行為をさらに含んでいてもよい。別の例によれば、当該複数の重複排除ドメインの各々を構成する行為は、ハッシュ指紋法、パターン認識、および内容認識重複排除を含む群から選択される1つの重複排除方法を使用するよう、当該複数の重複排除ドメインの各々を構成する行為を含んでいてもよい。さらに別の例では、この方法は、当該複数の重複排除ドメインの各々を少なくとも1つのデータオブジェクト特性に関連付ける行為をさらに含んでいてもよい。追加的な例によれば、この方法は、当該選択された重複排除ドメイン内で、当該アプリケーション層データオブジェクトを重複排除する行為と、重複排除の行為の結果に基づいて、当該複数の重複排除ドメインのうちの少なくとも1つに関連付けられた当該データオブジェクト特性を調節する行為とをさらに含んでいてもよい。さらに別の例では、当該データオブジェクト特性を調節する行為は、重複排除ドメインデータベースにデータを記憶させる行為を含んでいてもよい。 In another example, the method may further include an act of configuring each of the plurality of deduplication domains to use one of a plurality of deduplication methods. According to another example, the act of configuring each of the plurality of deduplication domains uses a deduplication method selected from the group comprising hash fingerprinting, pattern recognition, and content recognition deduplication, The act which comprises each of the said several deduplication domain may be included. In yet another example, the method may further include an act of associating each of the plurality of deduplication domains with at least one data object characteristic. According to additional examples, the method can include deduplicating the application layer data object within the selected deduplication domain and the plurality of deduplication domains based on a result of the deduplication action. And further adjusting the data object characteristic associated with at least one of the two. In yet another example, the act of adjusting the data object characteristics may include the act of storing data in a deduplication domain database.
別の実施例によれば、上述のアプリケーション層データオブジェクトの重複排除を誘導するための方法の行為を実行するために、グリッドコンピューティング環境が提供される。 According to another embodiment, a grid computing environment is provided for performing the acts of the method for directing deduplication of application layer data objects as described above.
別の実施例によれば、上述のアプリケーション層データオブジェクトの重複排除を誘導するための方法の行為を実行するために、バックアップ記憶システムが提供される。この実施例では、データがバックアップ記憶システムにバックアップされていない間に、この方法が実行される。 According to another embodiment, a backup storage system is provided to perform the acts of the method for inducing deduplication of application layer data objects as described above. In this embodiment, the method is performed while data is not backed up to a backup storage system.
別の実施例によれば、上述のアプリケーション層データオブジェクトの重複排除を誘導するための方法の行為を実行するために、バックアップ記憶システムが提供される。この実施例では、データがバックアップ記憶システムにバックアップされている間に、この方法が実行される。 According to another embodiment, a backup storage system is provided to perform the acts of the method for inducing deduplication of application layer data objects as described above. In this embodiment, the method is performed while data is being backed up to a backup storage system.
別の実施例によれば、命令を規定するコンピュータ読取り可能信号が記憶されたコンピュータ読取り可能媒体が提供される。これらの命令は、コンピュータによって実行された結果、当該アプリケーション層データオブジェクトを受信する行為と、複数の重複排除ドメインからある重複排除ドメインを、当該重複排除ドメインに関連付けられたデータオブジェクト特性に少なくとも部分的に基づいて選択する行為と、当該アプリケーション層データオブジェクトが当該特性を有すると判断する行為と、当該選択された重複排除ドメインに当該アプリケーション層データオブジェクトを誘導する行為とを、当該コンピュータに行なうよう命令する。 According to another embodiment, a computer readable medium having stored thereon computer readable signals defining instructions is provided. These instructions are executed by the computer as a result of the act of receiving the application layer data object and a deduplication domain from a plurality of deduplication domains at least partially in the data object characteristics associated with the deduplication domain. Commanding the computer to perform the act of selecting based on the application layer, the act of determining that the application layer data object has the characteristic, and the act of inducing the application layer data object to the selected deduplication domain To do.
別の実施例によれば、アプリケーション層データオブジェクトの重複排除を誘導するためのシステムが提供される。このシステムは、複数の重複排除ドメインを含み、当該複数の重複排除ドメインのうちの各重複排除ドメインは、複数のアプリケーション層データオブジェクトに共通の少なくとも1つの特性に関連付けられており、このシステムはさらに、当該複数の重複排除ドメインに結合されたコントローラを含み、当該コントローラは、当該アプリケーション層データオブジェクトを受信し、当該アプリケーション層データオブジェクトが、ある重複排除ドメインに関連付けられた当該少なくとも1つの特性を有すると判断し、当該重複排除ドメインに当該アプリケーション層データオブジェクトを誘導するよう構成されている。 According to another embodiment, a system is provided for inducing deduplication of application layer data objects. The system includes a plurality of deduplication domains, each of the deduplication domains being associated with at least one characteristic common to the plurality of application layer data objects, the system further comprising: Includes a controller coupled to the plurality of deduplication domains, the controller receiving the application layer data object, wherein the application layer data object has the at least one characteristic associated with a deduplication domain. In this case, the application layer data object is guided to the deduplication domain.
一例では、当該コントローラはさらに、データストリームを受信し、当該データストリームに含まれるメタデータを用いて当該アプリケーション層データオブジェクトを識別するよう構成されていてもよい。別の例では、当該データストリームは多重化されていてもよい。別の例では、当該コントローラはさらに、当該アプリケーション層データオブジェクトを用いて、当該データストリームに含まれるメタデータを抽出するよう構成されていてもよい。さらに別の例では、当該コントローラはさらに、当該アプリケーション層データオブジェクトが当該重複排除ドメインに関連付けられた当該少なくとも1つの特性を有するということを、当該アプリケーション層データオブジェクトに関連付けられた当該抽出されたメタデータを当該重複排除ドメインに関連付けられた当該少なくとも1つの特性と比較することによって判断するよう構成されていてもよい。さらに別の例では、当該コントローラはさらに、バックアップポリシー名、データ源のタイプ、データ源の名前、バックアップアプリケーション名、オペレーションシステムのタイプ、データタイプ、バックアップタイプ、ファイル名、ディレクトリ構造、および時系列情報のうちの少なくとも1つを抽出するよう構成されていてもよい。追加的な例では、当該コントローラはさらに、複数の重複排除方法のうちの1つを使用するよう、当該複数の重複排除ドメインの各々を構成するよう構成されていてもよい。さらに別の例では、当該コントローラはさらに、ハッシュ指紋法、パターン認識、および内容認識重複排除を含む群から選択される1つの重複排除方法を使用するよう、当該複数の重複排除ドメインの各々を構成するよう構成されていてもよい。 In one example, the controller may be further configured to receive the data stream and identify the application layer data object using metadata included in the data stream. In another example, the data stream may be multiplexed. In another example, the controller may be further configured to extract metadata included in the data stream using the application layer data object. In yet another example, the controller further indicates that the application layer data object has the at least one characteristic associated with the deduplication domain, the extracted meta data associated with the application layer data object. The data may be configured to be determined by comparing the at least one characteristic associated with the deduplication domain. In yet another example, the controller further includes backup policy name, data source type, data source name, backup application name, operating system type, data type, backup type, file name, directory structure, and time series information. May be configured to extract at least one of them. In an additional example, the controller may be further configured to configure each of the plurality of deduplication domains to use one of a plurality of deduplication methods. In yet another example, the controller further configures each of the plurality of deduplication domains to use a deduplication method selected from the group comprising hash fingerprinting, pattern recognition, and content recognition deduplication. It may be configured to.
別の例によれば、当該コントローラはさらに、当該複数の重複排除ドメインの各々を少なくとも1つのデータオブジェクト特性に関連付けるよう構成されていてもよい。別の例では、当該コントローラはさらに、当該選択された重複排除ドメイン内で、当該アプリケーション層データオブジェクトの重複排除を引き起こし、重複排除の行為の結果に基づいて、当該複数の重複排除ドメインのうちの少なくとも1つに関連付けられた当該データオブジェクト特性を調節するよう構成されていてもよい。さらに別の例では、当該コントローラはさらに、重複排除ドメインデータベースにデータを記憶させるよう構成されていてもよい。別の例では、このシステムは、グリッドコンピューティング環境に含まれていてもよい。さらに別の例では、当該コントローラはさらに、データが当該システムにバックアップされていない間に、当該アプリケーション層データオブジェクトを受信し、当該アプリケーション層データオブジェクトがある重複排除ドメインに関連付けられた当該少なくとも1つの特性を有すると判断し、当該重複排除ドメインに当該アプリケーション層データオブジェクトを誘導するよう構成されていてもよい。加えて、一例によれば、当該コントローラはさらに、データが当該システムにバックアップされている間に、当該アプリケーション層データオブジェクトを受信し、当該アプリケーション層データオブジェクトがある重複排除ドメインに関連付けられた当該少なくとも1つの特性を有すると判断し、当該重複排除ドメインに当該アプリケーション層データオブジェクトを誘導するよう構成されていてもよい。 According to another example, the controller may be further configured to associate each of the plurality of deduplication domains with at least one data object characteristic. In another example, the controller further causes deduplication of the application layer data object within the selected deduplication domain and, based on a result of the deduplication action, of the plurality of deduplication domains. It may be configured to adjust the data object characteristic associated with at least one. In yet another example, the controller may be further configured to store data in a deduplication domain database. In another example, the system may be included in a grid computing environment. In yet another example, the controller further receives the application layer data object while the data is not backed up to the system, and the application layer data object is associated with the at least one deduplication domain. The application layer data object may be configured to be guided to the deduplication domain by determining that the application layer data object has the characteristic. In addition, according to an example, the controller further receives the application layer data object while the data is backed up to the system and the at least the application layer data object associated with a deduplication domain is located. It may be configured to determine that it has one characteristic and direct the application layer data object to the deduplication domain.
さらに別の局面、実施例、ならびにこれらの例示的な局面および実施例の利点を、以下に詳細に説明する。また、前述の情報および以下の詳細な説明はともに、さまざまな局面および実施例の単なる例示であり、請求されている局面および実施例の性質および特徴を理解するための概要または枠組を提供するよう意図されている。さまざまな局面および実施例の例示ならびにさらなる理解を提供するために、添付図面が含まれており、この明細書に取入れられ、この明細書の一部を構成している。図面は、明細書の残りとともに、説明され請求されている局面および実施例の原理ならびに動作を説明するよう機能する。 Further aspects, embodiments, and advantages of these exemplary aspects and embodiments are described in detail below. Additionally, both the foregoing information and the following detailed description are merely exemplary of various aspects and embodiments, and provide an overview or framework for understanding the nature and characteristics of the claimed aspects and embodiments. Is intended. The accompanying drawings are included and incorporated in and constitute a part of this specification to provide an illustration and various understanding of the various aspects and examples. The drawings, together with the remainder of the specification, serve to explain the principles and operations of the described and claimed aspects and embodiments.
図面の簡単な説明
添付図面を参照して、少なくとも1つの実施例のさまざまな局面を以下に説明する。縮尺通りであるよう意図されてはいない図において、さまざまな図に示された各々の同一またはほぼ同一の構成要素は、同じ番号で表わされている。明確性のため、すべての図においてすべての構成要素に名前が付けられているとは限らない。図は、例示および説明のために提供されており、この発明の限界の定義として意図されてはいない。
BRIEF DESCRIPTION OF THE DRAWINGS Various aspects of at least one embodiment are described below with reference to the accompanying drawings. In the drawings that are not intended to be drawn to scale, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For clarity, not all components are named in all figures. The figures are provided for purposes of illustration and description and are not intended as a definition of the limits of the invention.
詳細な説明
添付図面を参照して、さまざまな実施例およびそれらの局面を、ここにより詳細に説明する。この発明はその適用が、以下の説明で述べられまたは図面に示された構成の詳細および構成要素の配置に限定されない、ということが認識されるべきである。この発明は他の実施例が可能であり、さまざまなやり方で実践または実行され得る。特定の実現化例は、例示的な目的のためにのみここに提供され、限定的であるよう意図されてはいない。特に、任意の1つ以上の実施例に関連して説明される行為、要素、および特徴は、任意の他の実施例における同様の役割から除外されないよう意図されている。また、ここに使用される表現および用語は説明のためであり、限定的であるよう見なされるべきではない。ここでの「含む」、「備える」、「有する」、「含有する」、「関与する」、およびそれらの変形の使用は、この後に列挙される項目およびそれらの均等物、ならびに追加の項目を包含するよう意図されている。
DETAILED DESCRIPTION Various embodiments and their aspects will now be described in more detail with reference to the accompanying drawings. It should be appreciated that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments and of being practiced or carried out in various ways. Particular implementations are provided herein for illustrative purposes only and are not intended to be limiting. In particular, acts, elements, and features described in connection with any one or more embodiments are not intended to be excluded from a similar role in any other embodiments. Also, the expressions and terms used herein are for the purpose of description and should not be considered limiting. The use of “including”, “comprising”, “having”, “containing”, “involved”, and variations thereof herein includes the items listed below and their equivalents, as well as additional items. It is intended to include.
ここに開示されたどの実施例も、他の実施例と組合されてもよく、「ある実施例」、「いくつかの実施例」、「代替的な実施例」、「さまざまな実施例」、「一実施例」、「少なくとも1つの実施例」、「このおよび他の実施例」などへの言及は、必ずしも相互に排他的ではなく、その実施例に関連して説明されたある特定の特徴、構造、または特性が、少なくとも1つの実施例に含まれ得ることを示すよう意図されている。ここに使用されるような用語は、必ずしもすべて同じ実施例に言及しているとは限らない。どの実施例も、ここに開示された局面と調和する態様で他の実施例と組合されてもよい。「または」への言及は、「または」を用いて説明された用語が、説明された用語のうちの1つ、2つ以上、およびすべてのいずれも示すように、包含的であるよう解釈され得る。 Any of the embodiments disclosed herein may be combined with other embodiments, such as “one embodiment”, “some embodiments”, “alternative embodiments”, “various embodiments”, References to “one embodiment”, “at least one embodiment”, “this and other embodiments” are not necessarily mutually exclusive, and certain features described in connection with the embodiment It is intended to indicate that a structure, or characteristic may be included in at least one embodiment. The terms as used herein do not necessarily all refer to the same embodiment. Any embodiment may be combined with other embodiments in a manner consistent with the aspects disclosed herein. Reference to “or” is to be construed as inclusive, such that a term described using “or” indicates any one, two, or all of the described terms. obtain.
ここに使用されているように、「ホストコンピュータ」という用語は、記憶システムまたは他のホストコンピュータといった他の装置と通信可能な、パーソナルコンピュータ、ワークステーション、メインフレーム、ネットワーク化クライアント、サーバなどといった、少なくとも1つのプロセッサを有するあらゆるコンピュータを指す。ホストコンピュータは、(図1を参照して前述されたような)メディアサーバおよびアプリケーションサーバ、ならびに(ユーザワークステーション、PC、メインフレームなどであり得る)ユーザコンピュータを含んでいてもよい。加えて、この開示においては、「ネットワーク化コンピュータ環境」という用語は、複数のホストコンピュータが、1つ以上の共有記憶システムに、記憶システムがホストコンピュータの各々と通信できるような態様で接続されている、あらゆるコンピューティング環境を含む。ファイバチャネルは、この発明の実施例で使用され得る通信ネットワークの一例である。しかしながら、ここに説明されるネットワークがファイバチャネルに限定されないこと、および、ファイバチャネルの代わりに、またはそれに加えて、さまざまなネットワーク構成要素が、トークンリング(Token RIng)またはイーサネット(登録商標)といったネットワーク接続を介して、もしくは異なるネットワーク接続の組合せを介して互いに通信し得る、ということが認識されるべきである。また、この発明の局面は、SCSIまたはパラレルSCSIといったバストポロジーでも使用され得る。 As used herein, the term “host computer” refers to personal computers, workstations, mainframes, networked clients, servers, etc. that can communicate with other devices such as storage systems or other host computers. Any computer having at least one processor. The host computer may include a media server and application server (as described above with reference to FIG. 1) and a user computer (which may be a user workstation, PC, mainframe, etc.). In addition, in this disclosure, the term “networked computing environment” refers to a plurality of host computers connected to one or more shared storage systems in such a manner that the storage systems can communicate with each of the host computers. Including any computing environment. Fiber Channel is an example of a communication network that can be used in embodiments of the present invention. However, the network described herein is not limited to Fiber Channel, and instead of or in addition to Fiber Channel, various network components can be used in networks such as Token Ring or Ethernet. It should be appreciated that they can communicate with each other over a connection or through a combination of different network connections. Aspects of the invention can also be used in bus topologies such as SCSI or parallel SCSI.
この発明のさまざまな実施例および局面によれば、1つ以上のディスクアレイを用いて、リムーバブルメディアベースの記憶システムをエミュレートし得る、仮想のリムーバブルメディアライブラリバックアップ記憶システムが提供される。この発明の実施例を用いると、ユーザが既存のバックアップ手順に修正または調節を加える必要なく、または新しいバックアップ/復元アプリケーションを購入する必要なく、リムーバブルメディア(テープ、磁気ディスク、光ディスクなど)にデータをバックアップするためにこれまで使用されてきたのと同じバックアップ/復元アプリケーションを用いて、データがディスクアレイにバックアップされ得る。ここに詳細に説明される一実施例では、エミュレートされるリムーバブルメディアはテープであり、この発明のバックアップ記憶システムは、テープと従来のテープライブラリシステムでテープを取扱うために使用されるロボット機構とを含むテープライブラリシステムをエミュレートする。 In accordance with various embodiments and aspects of the present invention, a virtual removable media library backup storage system is provided that can emulate a removable media based storage system using one or more disk arrays. With embodiments of the present invention, data can be transferred to removable media (tapes, magnetic disks, optical disks, etc.) without the need for users to modify or adjust existing backup procedures or purchase new backup / restore applications. Data can be backed up to a disk array using the same backup / restore application that has been used to back up. In one embodiment described in detail herein, the emulated removable media is a tape, and the backup storage system of the present invention includes a robotic mechanism used to handle tapes and tapes in a conventional tape library system. Emulate a tape library system that includes
この発明の実施例を用いてバックアップされ、復元され得るデータは、さまざまなデータオブジェクトへと編成され得る。これらのデータオブジェクトは、データを記憶し得るあらゆる構造を含み得る。例示的なデータオブジェクトの非限定的なリストは、ビット、バイト、データファイル、データブロック、データディレクトリ、バックアップデータセット、および仮想カートリッジを含み、それらを以下にさらに説明する。この開示の大半はデータファイルのバックアップおよび復元に言及しているが、この発明の実施例はあらゆるデータオブジェクトを操作してもよく、「データファイル」という用語が「データオブジェクト」と交換可能である、ということが認識されるべきである。加えて、当業者には認識されるように、ここに説明される実施例は、オープンシステム相互接続(Open System Interconnection:OSI)モデルのアプリケーション層で動作し、他のOSIモデル層によって表わされる基本ネットワークサービスを提供するために、他のソフトウェアおよび/またはハードウェアに依存して構築されている。 Data that can be backed up and restored using embodiments of the present invention can be organized into various data objects. These data objects may include any structure that can store data. An exemplary non-limiting list of data objects includes bits, bytes, data files, data blocks, data directories, backup data sets, and virtual cartridges, which are further described below. Although most of this disclosure refers to backup and restore of data files, embodiments of the invention may operate on any data object, and the term “data file” is interchangeable with “data object” Should be recognized. In addition, as will be appreciated by those skilled in the art, the embodiments described herein operate at the application layer of the Open System Interconnection (OSI) model and are represented by other OSI model layers. Built to rely on other software and / or hardware to provide network services.
加えて、実施例は、利用可能なコンピューティング資源をより効率的に利用するために、バックアップされたデータを重複排除してもよい。いくつかの実施例によれば、データ重複排除は、インラインで、すなわち重複排除され記憶されるべきデータをデータ記憶システムが受信している間に、行なわれてもよい。他の実施例では、データ重複排除は、オフラインで、すなわち重複排除されるべきデータをデータ記憶システムが既に記憶した後で、行なわれてもよい。以下にさらに詳述するように、実施例は、拡張性の高い重複排除サービスを提供するために、従来のおよび従来にないさまざまな重複排除手法を知的に誘導し得る。 In addition, embodiments may deduplicate backed up data to more efficiently utilize available computing resources. According to some embodiments, data deduplication may be performed inline, that is, while the data storage system is receiving data to be deduplicated and stored. In other embodiments, data deduplication may be performed offline, i.e. after the data storage system has already stored the data to be deduplicated. As described in further detail below, embodiments may intelligently guide a variety of conventional and unconventional deduplication techniques to provide highly scalable deduplication services.
この発明の局面に従った記憶システムは、ともに(バックアップ/復元アプリケーションを実行している)ホストコンピュータおよびバックアップ記憶媒体とインターフェイスをとる、ハードウェアおよびソフトウェアを含む。記憶システムは、バックアップ/復元アプリケーションが物理的テープライブラリと同様に装置および媒体の同じ表示を見るように、テープまたは他の種類のリムーバブルな記憶媒体をエミュレートし、線形で順次のテープフォーマットデータを、ランダムアクセスディスクへの記憶にとって好適なデータに変換するよう、設計され得る。このように、この発明の記憶システムは、新しいバックアップ/復元アプリケーションソフトウェアまたはポリシーを必要とすることなく、(以下に説明するように、ユーザが個々のバックアップユーザファイルを検索できるようにするなどの)向上した機能性を提供し得る。 A storage system according to aspects of the invention includes hardware and software that interface with a host computer (running a backup / restore application) and a backup storage medium. The storage system emulates tape or other types of removable storage media so that the backup / restore application sees the same display of devices and media as a physical tape library, and linear and sequential tape format data. It can be designed to convert data suitable for storage on a random access disk. Thus, the storage system of the present invention does not require new backup / restore application software or policies (such as allowing a user to search for individual backup user files, as described below). May provide improved functionality.
図2を参照して、この発明の局面に従ったバックアップ記憶システム170を含むネットワーク化コンピューティング環境の一例を、ブロック図の形で示す。図示されているように、ホストコンピュータ120は、ネットワーク接続121を介して、記憶システム170に結合されている。このネットワーク接続121は、たとえば、ホストコンピュータ120と記憶システム170との間のデータの高速転送を可能にするファイバチャネル接続であってもよい。ホストコンピュータ120は1つ以上のアプリケーションサーバ102(図1参照)および/またはメディアサーバ114(図1参照)であっても、またはそれらを含んでいてもよく、ネットワーク化コンピューティング環境に存在する任意のコンピュータからの、または一次記憶装置106(図1参照)からのデータのバックアップを可能にしてもよい、ということが認識されるべきである。加えて、1つ以上のユーザコンピュータ136も、イーサネット(登録商標)接続といった別のネットワーク接続138を介して、記憶システム170に結合されてもよい。以下に詳細に説明するように、記憶システムは、ユーザコンピュータ136のユーザが、記憶システムからバックアップユーザファイルを閲覧し、またオプションで復元することができるようにしてもよい。
With reference to FIG. 2, an example of a networked computing environment including a
記憶システムは、以下により詳細に説明されるような、たとえば1つ以上のディスクアレイであってもよいバックアップ記憶媒体126を含む。バックアップ記憶媒体126は、ホストコンピュータ120からのバックアップデータ用の実記憶空間を提供する。しかしながら、記憶システム170はまた、ホストコンピュータ120上で実行中のバックアップ/復元アプリケーションにとって、データがまるで従来のリムーバブルな記憶媒体にバックアップ中であるかのように見えるように、テープライブラリなどのリムーバブルメディア記憶システムをエミュレートする、ソフトウェアおよび追加のハードウェアを含んでいてもよい。このため、図2に示すように、記憶システム170は、たとえば、仮想のまたはエミュレートされたテープなどのリムーバブルな記憶媒体を表わす、「エミュレートされた媒体」134を含んでいてもよい。これらの「エミュレートされた媒体」134は、記憶システムソフトウェアおよび/またはハードウェアによってホストコンピュータに提示されており、ホストコンピュータ120には物理的記憶媒体のように見える。以下に詳細に説明されるように、エミュレートされた媒体134と実バックアップ記憶媒体126との間でさらにインターフェイスをとっているのは、記憶システムコントローラ(図示せず)と、ホストコンピュータ120からデータを受付けてそのデータをバックアップ記憶媒体126上に記憶させるスイッチングネットワーク132とであってもよい。このように、記憶システムは、ホストコンピュータ120に対し、従来のテープ記憶システムを「エミュレート」する。
The storage system includes a
一実施例によれば、記憶システムは、ホストコンピュータ120から記憶システム170上にバックアップされたユーザデータに関するメタデータを記憶する「論理メタデータキャッシュ」242を含んでいてもよい。ここに使用されているように、「メタデータ」という用語は、ユーザデータについての情報を表わし、実ユーザデータの属性を記述するデータを指す。データオブジェクトに関するメタデータの非限定的な例示的リストは、データオブジェクトサイズ、一次ストレージにおけるデータオブジェクトの論理的および/または物理的位置、データオブジェクトの作成日、データオブジェクトの最終修正日、データオブジェクトを記憶させたバックアップポリシー名、たとえばデータオブジェクトの名前または透かしといった識別子、および、たとえばデータオブジェクトに関連付けられたソフトウェアアプリケーションといったデータオブジェクトのデータタイプを含んでいてもよい。論理メタデータキャッシュ242は、ユーザおよび/またはソフトウェアアプリケーションがバックアップユーザファイルをランダムに配置し、ユーザファイルを互いに比較し、さもなければバックアップユーザファイルにアクセスして操作することを可能にする、データの検索可能な集合体を表わしている。論理メタデータキャッシュ242に記憶されたデータを使用し得るソフトウェアアプリケーションの2つの例は、以下により十分に説明される、合成フルバックアップアプリケーション240とエンドユーザ復元アプリケーション300とを含む。加えて、以下により詳細に説明される重複排除誘導子は、記憶システム内で拡張可能な重複排除サービスを提供するために、メタデータを使用してもよい。
According to one embodiment, the storage system may include a “logical metadata cache” 242 that stores metadata about user data backed up on the
概観では、合成フルバックアップアプリケーション240は、1つの既存のフルバックアップデータセットと1つ以上の増分バックアップデータセットとから、合成フルバックアップデータセットを作成できる。合成フルバックアップは周期的な(たとえば週ごとの)フルバックアップを行なう必要性をなくすことができ、それによりかなりの時間とネットワーク資源とを節約する。合成フルバックアップアプリケーション240の詳細を、以下にさらに説明する。同様に以下にさらに詳細に説明されるエンドユーザ復元アプリケーション300は、エンドユーザ(たとえばユーザコンピュータ136のオペレータ)が記憶システム170から、以前にバックアップされたユーザファイルをブラウズし、位置特定し、閲覧し、および/または復元することができるようにする。
In overview, the synthetic full backup application 240 can create a synthetic full backup data set from one existing full backup data set and one or more incremental backup data sets. Synthetic full backups can eliminate the need for periodic (eg weekly) full backups, thereby saving considerable time and network resources. Details of the synthetic full backup application 240 are further described below. Similarly, the end user restore
上述のように、記憶システム170は、ホストコンピュータ120およびバックアップ記憶媒体126とインターフェイスをとるハードウェアおよびソフトウェアを含む。この発明の実施例のハードウェアおよびソフトウェアはともに、ホストコンピュータ120の観点からは、データがテープ上にバックアップされるように見えるものの、実際には、たとえば複数のディスクアレイといった別の記憶媒体上にデータがバックアップされるように、従来のテープライブラリバックアップシステムをエミュレートしてもよい。
As described above, the
図3を参照して、この発明の局面に従った記憶システム170の一例を、ブロック図の形で示す。一例では、記憶システム170のハードウェアは、記憶システムコントローラ122と、記憶システムコントローラ122をバックアップ記憶媒体126に接続するスイッチングネットワーク132とを含む。記憶システムコントローラ122は、(単一のプロセッサであっても複数のプロセッサであってもよい)プロセッサ127と、記憶システムソフトウェアのすべてまたは一部を実行し得るメモリ129(たとえばRAM、ROM、PROM、EEPROM、フラッシュメモリなど、またはそれらの組合せ)とを含む。メモリ129はまた、バックアップ記憶媒体126上に記憶されたデータに関するメタデータを記憶するために使用されてもよい。この発明の実施例を実現するプログラミングコードを含むソフトウェアは、通常、RAM、ROM、光ディスクまたは磁気ディスク、もしくはテープなどといった、コンピュータにより読取可能および/または書込可能な不揮発性記録媒体上に記憶され、次にメモリ129へとコピーされ、そこでそれは次にプロセッサ127によって実行される。そのようなプログラミングコードは、たとえば、アセンブラ(Assembler)、ジャバ(Java(登録商標))、ビジュアルベーシック(Visual Basic)、C、C♯、またはC++、フォートラン(Fortran)、パスカル(Pascal)、アイフェル(Eiffel)、ベーシック(Basic)、コボル(COBOL)、もしくはそれらの組合せといった複数のプログラミング言語のいずれかで書かれていてもよい。なぜなら、この発明はある特定のプログラミング言語に限定されていないためである。典型的には、動作時、プロセッサ127は、この発明の実施例を実現するコードなどのデータが、不揮発性記録媒体から、不揮発性記録媒体よりもプロセッサによる情報へのアクセスが迅速な、RAMなどの別の形のメモリに読出されるようにする。
With reference to FIG. 3, an example of a
図3に示すように、コントローラ122は、コントローラ122をホストコンピュータ120に、およびスイッチングネットワーク132に接続する、多数のポートアダプタも含む。図示されているように、ホストコンピュータ120は、たとえばファイバチャネルポートアダプタであり得るポートアダプタ124aを介して、記憶システムに結合される。記憶システムコントローラ122を介して、ホストコンピュータ120はバックアップ記憶媒体126上にデータをバックアップし、バックアップ記憶媒体126からデータを回復できる。
As shown in FIG. 3, the
図示された例では、スイッチングネットワーク132は、1つ以上のファイバチャネルスイッチ128a、128bを含んでいてもよい。記憶システムコントローラ122は、記憶システムコントローラをファイバチャネルスイッチ128a、128bに結合する複数のファイバチャネルポートアダプタ124bおよび124cを含む。ファイバチャネルスイッチ128a、128bを介して、記憶システムコントローラ122は、データがバックアップ記憶媒体126上にバックアップされるようにする。図3に示すように、スイッチングネットワーク132は、イーサネット(登録商標)ポートアダプタ125a、125bを介して記憶システムコントローラ122に結合された1つ以上のイーサネット(登録商標)スイッチ130a、130bをさらに含んでいてもよい。一例では、記憶システムコントローラ122は、以下に説明するように、記憶システム170がホストコンピュータ(たとえばユーザコンピュータ)と通信できるようにたとえばLAN103に結合され得る、別のイーサネット(登録商標)ポートアダプタ125Cをさらに含む。
In the illustrated example, the
図3に示す例では、記憶システムコントローラ122は、2つのファイバチャネルスイッチと2つのイーサネット(登録商標)スイッチとを含むスイッチングネットワークを介して、バックアップ記憶媒体126に結合されている。記憶システム170内に各種スイッチを少なくとも2つずつ設けることは、システムにおける単一障害点をなくす。言い換えれば、一方のスイッチ(たとえばファイバチャネルスイッチ128a)が故障したとしても、記憶システムコントローラ122は依然として、別のスイッチを介してバックアップ記憶媒体126と通信可能である。そのような構成は、信頼性および速度の点で有利であり得る。たとえば、上述のように、冗長構成要素の設置および単一障害点の排除により、信頼性が向上する。加えて、いくつかの実施例では、記憶システムコントローラは、ファイバチャネルスイッチの一部またはすべてを並行して使用して、バックアップ記憶媒体126上にデータをバックアップすることができ、それにより全体的なバックアップ速度を高める。しかしながら、システムが各種スイッチを2つずつ以上備えることも、スイッチングネットワークがファイバチャネルスイッチおよびイーサネット(登録商標)スイッチの双方を備えることも、要求されてはいない、ということが認識されるべきである。さらに、バックアップ記憶媒体126が単一のディスクアレイを備える例では、スイッチは全く必要ない。
In the example shown in FIG. 3, the
上述のように、一実施例では、バックアップ記憶媒体126は1つ以上のディスクアレイを含んでいてもよい。好ましい一実施例では、バックアップ記憶媒体126は、複数のATAまたはSATAディスクを含む。そのようなディスクは「既製の」製品であり、EMC、IBMなどの製造業者らからの従来の記憶アレイ製品と比べ、比較的安価であり得る。さらに、リムーバブルメディア(たとえばテープ)のコスト、およびそのような媒体の耐用年数が限られているという事実を考慮すると、そのようなディスクはコストの点で従来のテープベースのバックアップ記憶システムと同程度である。加えて、そのようなディスクは、テープよりも実質的に速くデータの読出/書込ができる。たとえば、単一のファイバチャネル接続上では、データはディスク上に少なくとも約150MB/sの速度でバックアップ可能であるが、それは変換すると約540GB/hrであり、テープのバックアップ速度よりも著しく(たとえば1桁)速い。加えて、いくつかのファイバチャネル接続が並行して実現されてもよく、それにより速度がさらに速くなる。この発明の一実施例によれば、バックアップ記憶媒体は、多数のRAID(Redundant Array of Independent Disks:独立ディスク冗長アレイ)方式のうちのいずれかを実現するよう編成されてもよい。たとえば、一実施例では、バックアップ記憶媒体はRAID−5実装を実現してもよい。
As described above, in one embodiment, the
上述のように、この発明の実施例は、ディスクアレイを用いて従来のテープライブラリバックアップシステムをエミュレートして、物理的バックアップ記憶媒体としてのテープカートリッジを置き換え、それにより「仮想テープライブラリ」を提供する。従来のテープライブラリにあった物理的テープカートリッジは、ここに「仮想カートリッジ」と呼ばれるものに置き換えられる。この開示のために、「仮想テープライブラリ」という用語が、ソフトウェアおよび/または物理的ハードウェアにおいてたとえば1つ以上のディスクアレイとして実現され得る、エミュレートされたテープライブラリを指す、ということが認識されるべきである。さらに、この説明は主としてエミュレートされたテープに言及しているが、記憶システムはたとえばCD−ROMまたはDVD−ROMといった他の記憶媒体もエミュレートし得ること、および「仮想カートリッジ」という用語が一般に、エミュレートされた記憶媒体、たとえばエミュレートされたテープまたはエミュレートされたCDを指す、ということが認識されるべきである。一実施例では、仮想カートリッジは実際、1つ以上のハードディスクに対応している。 As described above, embodiments of the present invention emulate a conventional tape library backup system using a disk array to replace a tape cartridge as a physical backup storage medium, thereby providing a “virtual tape library” To do. The physical tape cartridge that was in the conventional tape library is replaced by what is referred to herein as a “virtual cartridge”. For the purposes of this disclosure, it is recognized that the term “virtual tape library” refers to an emulated tape library that may be implemented in software and / or physical hardware, for example, as one or more disk arrays. Should be. Furthermore, although this description primarily refers to emulated tapes, the storage system can also emulate other storage media such as CD-ROM or DVD-ROM, and the term “virtual cartridge” is generally It should be appreciated that it refers to an emulated storage medium, such as an emulated tape or an emulated CD. In one embodiment, the virtual cartridge actually corresponds to one or more hard disks.
したがって、一実施例では、バックアップ/復元アプリケーションには、データがテープ上にバックアップ中であるかのように見えるように、テープライブラリをエミュレートするために、ソフトウェアインターフェイスが提供される。しかしながら、実データライブラリは1つ以上のディスクアレイに置き換えられ、データが実際にはこれらのディスクアレイ上にバックアップされているようになっている。他の種類のリムーバブルメディア記憶システムがエミュレートされてもよく、この発明はテープライブラリ記憶システムのエミュレーションに限定されない、ということが認識されるべきである。ここで以下の説明は、記憶システム170に含まれるソフトウェアのさまざまな局面、特徴、および動作を説明する。
Thus, in one embodiment, a backup / restore application is provided with a software interface to emulate a tape library so that the data appears to be being backed up on tape. However, the actual data library is replaced with one or more disk arrays so that the data is actually backed up on these disk arrays. It should be appreciated that other types of removable media storage systems may be emulated and the invention is not limited to emulation of tape library storage systems. The following description now describes various aspects, features, and operations of software included in the
ソフトウェアは記憶システム170に「含まれて」いるように説明され、記憶システムコントローラ122のプロセッサ127(図3参照)によって実行され得るものの、すべてのソフトウェアが記憶システムコントローラ122上で実行されることは要求されていない、ということが認識されるべきである。合成フルバックアップアプリケーションおよびエンドユーザ復元アプリケーションといったソフトウェアプログラムは、ホストコンピュータおよび/またはユーザコンピュータ上で実行されてもよく、その一部は、記憶システムコントローラ、ホストコンピュータ、およびユーザコンピュータのすべてまたは一部にわたって分散されてもよい。このため、記憶システムコントローラがコンピュータといった含有された物理的実体であることは要求されていない、ということが認識されるべきである。記憶システム170は、たとえばメディアサーバ114またはアプリケーションサーバ102といったホストコンピュータ上に常駐するソフトウェアと通信してもよい。加えて、記憶システムは、同じまたは異なるホストコンピュータ上で実行され得る、もしくはそれらのホストコンピュータ上に常駐し得るいくつかのソフトウェアアプリケーションを含有していてもよい。さらに、記憶システム170は機器の個別の部品に限定されないということが認識されるべきであるが、いくつかの実施例では、記憶システム170は機器の個別の部品として具体化されてもよい。一例では、記憶システム170は、従来のテープライブラリバックアップシステムの「プラグアンドプレイ」(すなわち既存のバックアップ手順およびポリシーに修正を加える必要がない)代替物として作用する内蔵ユニットとして提供されてもよい。そのような記憶システムユニットはまた、冗長性または追加の記憶容量を提供するために、従来のバックアップシステムを含むネットワーク化コンピューティング環境において使用されてもよい。別の実施例では、記憶システム116は、クラスタ化された環境、またはグリッド環境といった分散コンピューティング環境において実現されてもよい。
Although the software is described as “included” in the
上述のように、一実施例によれば、ホストコンピュータ120(たとえばアプリケーションサーバ102またはメディアサーバ114であってもよい、図1参照)は、ホストコンピュータ120を記憶システム170に結合するネットワークリンク(たとえばファイバチャネルリンク)121を介して、バックアップ記憶媒体126上にデータをバックアップしてもよい。以下の説明は主としてエミュレートされた媒体へのデータのバックアップに言及しているが、原理は、エミュレートされた媒体からのバックアップデータの復元にも当てはまる。上述のように、ホストコンピュータ120とエミュレートされた媒体134との間のデータの流れは、バックアップ/復元アプリケーションによって制御され得る。バックアップ/復元アプリケーションの観点からは、データが実際にはエミュレートされた媒体の物理的バージョン上にバックアップ中であるかのように見え得る。
As described above, according to one embodiment, the host computer 120 (eg, the
図4を参照して、記憶システムソフトウェア150は、エミュレートされた媒体を表わし、ホストコンピュータ120上に常駐するバックアップ/復元アプリケーション140とバックアップ記憶媒体126との間にインターフェイスを提供する、1つ以上の論理的抽象層を含んでいてもよい。ソフトウェア150は、バックアップ/復元アプリケーション140からテープフォーマットデータを受付け、そのデータを、ランダムアクセスディスク(たとえばハードディスク、光ディスクなど)への記憶にとって好適なデータに変換する。一例では、このソフトウェア150は記憶システムコントローラ122のプロセッサ127上で実行され、メモリ129に記憶されてもよい(図3参照)。
Referring to FIG. 4,
一実施例によれば、ソフトウェア150は、テープ、テープドライブ、およびテープドライブとの間でテープを移送するために使用されるロボット機構のSCSIエミュレーションを提供し得る、ここに仮想テープライブラリ(virtual tape library:VTL)層142と呼ばれる層を含んでいてもよい。バックアップ/復元アプリケーション140は、たとえば矢印144で表わされるSCSIコマンドを用いて、VTL142と通信してもよい(たとえばエミュレートされた媒体にデータをバックアップするか書込んでもよい)。このため、VTLは、他の記憶システムソフトウェアおよびハードウェアとバックアップ/復元アプリケーションとの間にソフトウェアインターフェイスを形成してもよく、エミュレートされた記憶媒体134(図2)をバックアップ/復元アプリケーションに提示し、エミュレートされた媒体が、バックアップ/復元アプリケーションには、従来のリムーバブルバックアップ記憶媒体に見えるようにする。
According to one embodiment,
ここにファイルシステム層146と呼ばれる第2のソフトウェア層が、(VTLで表わされた)エミュレートされた記憶媒体と物理的バックアップ記憶媒体126との間にインターフェイスを提供してもよい。一例では、ファイルシステム146は、バックアップ記憶媒体126との間でデータの読出および書込を行なうために、たとえば矢印148で表わされるSCSIコマンドを用いてバックアップ記憶媒体126と通信する、小型のオペレーションシステムとして作用する。
A second software layer, referred to herein as
一実施例では、VTLは包括的なテープライブラリサポートを提供しており、どのSCSIメディアチェンジャもサポートしてもよい。エミュレートされたテープ装置は、IBM LTO−1およびLTO−2テープ装置、クォンタム スーパーDLT320テープ装置、クォンタム P3000テープライブラリシステム、またはストレージテック(STORAGETEK) L180テープライブラリシステムを含み得るが、それらに限定されない。VTL内では、各仮想カートリッジは、データが記憶されるにつれて動的に成長し得るファイルである。これは、サイズが固定された従来のテープカートリッジとは対照的である。図5に関して以下にさらに説明するように、1つ以上の仮想カートリッジがシステムファイルに記憶されてもよい。 In one embodiment, VTL provides comprehensive tape library support and may support any SCSI media changer. Emulated tape devices may include, but are not limited to, IBM LTO-1 and LTO-2 tape devices, Quantum Super DLT320 tape devices, Quantum P3000 tape library systems, or STORAGETEK L180 tape library systems. . Within the VTL, each virtual cartridge is a file that can grow dynamically as data is stored. This is in contrast to a conventional tape cartridge with a fixed size. As described further below with respect to FIG. 5, one or more virtual cartridges may be stored in the system file.
図5は、この発明の一実施例に従ったシステムファイル200を示す、ファイルシステムソフトウェア146内のデータ構造の一例を示す。この実施例では、システムファイル200は、ヘッダ202とデータ204とを含む。ヘッダ202は、そのシステムファイルに記憶された仮想カートリッジの各々を識別する情報を含んでいてもよい。ヘッダは、仮想カートリッジが書込保護されているかどうか、仮想カートリッジの作成日/修正日などといった情報も含有していてもよい。一例では、ヘッダ202は、各仮想カートリッジを固有に識別し、各仮想カートリッジを、記憶システムに記憶された他の仮想カートリッジから区別する情報を含む。たとえば、この情報は、仮想カートリッジの名前および識別番号(テープがロボット機構によって識別され得るよう、物理的テープ上に通常存在するバーコードに対応)を含んでいてもよい。ヘッダ202はまた、各仮想カートリッジの容量、最終修正日といった追加情報も含んでいてもよい。
FIG. 5 shows an example of a data structure in the
この発明の一実施例によれば、ヘッダ202のサイズは、記憶されるデータのタイプ(たとえば、1つ以上のホストコンピュータシステムからのデータバックアップを表わす仮想カートリッジ)と、システムが追跡可能なそのようなデータ(たとえば仮想カートリッジ)の明確なセットの数とを反映させるよう、最適化されてもよい。たとえば、通常テープ記憶システムにバックアップされるデータは、典型的には、多数のシステムファイルおよびユーザファイルを表わすより大きなデータセットによって特徴付けられる。データセットが非常に大きいため、追跡されるべき個別のデータファイルの数はそれに応じて小さい。したがって、一実施例では、ヘッダ202のサイズは、データをたくさん記憶しすぎて十分に追跡できないこと(すなわち、ヘッダが大きすぎること)と十分な数のカートリッジ識別子を記憶する空間がないこと(すなわち、ヘッダが小さすぎること)との折り合いに基づいて、選択されてもよい。例示的な一実施例では、ヘッダ202は、システムファイル200の最初の32MBを利用する。しかしながら、ヘッダ202がシステム要求および特性に基づいて異なるサイズを有してもよいこと、および、システム要求および容量に依存して、ヘッダ202について異なるサイズを選択してもよいことが、認識されるべきである。
According to one embodiment of the present invention, the size of the
バックアップ/復元アプリケーションの観点からは、仮想カートリッジが、すべて同じ属性および特徴を有する物理的テープカートリッジとして見える、ということが認識されるべきである。すなわち、バックアップ復元アプリケーションには、仮想カートリッジは順次書込まれたテープのように見える。しかしながら、好ましい一実施例では、仮想カートリッジに記憶されたデータは、バックアップ記憶媒体126上に順次フォーマットで記憶されていない。むしろ、仮想カートリッジに書込まれているかのように見えるデータは、実際には、ランダムにアクセス可能なディスクフォーマットのデータとして、記憶システムのファイルに記憶されている。バックアップ/復元アプリケーションがカートリッジフォーマットのデータの読出および書込ができるよう、記憶されたデータを仮想カートリッジにリンクするためにメタデータが使用される。
It should be appreciated that from a backup / restore application perspective, virtual cartridges appear as physical tape cartridges that all have the same attributes and characteristics. That is, to the backup and restore application, the virtual cartridge appears as a sequentially written tape. However, in a preferred embodiment, the data stored in the virtual cartridge is not stored in sequential format on the
このため、好ましい一実施例の概観では、ユーザデータおよび/またはシステムデータ(ここに「ファイルデータ」と呼ぶ)が、ホストコンピュータ120から記憶システム170によって受信され、バックアップ記憶媒体126を構成するディスクアレイ上に記憶される。記憶システムのソフトウェア150(図4参照)および/またはハードウェアは、以下により詳細に説明するように、このファイルデータをシステムファイルの形式でバックアップ記憶媒体126に書込む。バックアップされたユーザファイルおよび/またはシステムファイルの属性を追跡するために、データファイルが記憶システムコントローラによってバックアップされるにつれてメタデータが抽出される。たとえば、各ファイルについてのそのようなメタデータは、ファイル名、ファイルの作成日または最終修正日、ファイルに関する暗号化情報、および他の情報を含んでいてもよい。加えて、各ファイルについて、ファイルを仮想カートリッジにリンクするメタデータが、記憶システムによって作成されてもよい。そのようなメタデータを用いて、ソフトウェアはホストコンピュータにテープカートリッジのエミュレーションを提供する。しかしながら、以下に説明するように、ファイルデータは実際にはテープフォーマットで記憶されておらず、むしろシステムファイルに記憶されている。データを順次カートリッジフォーマットではなくシステムファイルに記憶させることは、ある特定のファイルを見つけるために順次データを走査する必要なく、個々のファイルへの迅速で効率的でランダムなアクセスを可能にする点で、有利であり得る。
Thus, in an overview of a preferred embodiment, user data and / or system data (referred to herein as “file data”) is received by the
上述のように、一実施例によれば、ファイルデータ(すなわちユーザデータおよび/またはシステムデータ)はシステムファイルとしてバックアップ記憶媒体に記憶され、各システムファイルはヘッダとデータとを含み、データは実ユーザファイルおよび/またはシステムファイルである。各システムファイル200のヘッダ202は、ユーザファイルおよび/またはシステムファイルを仮想カートリッジにリンクするメタデータを含有するテープディレクトリ206を含む。ここに使用されるような「メタデータ」という用語は、ユーザファイルデータまたはシステムファイルデータではなく、実ユーザデータおよび/またはシステムデータの属性を記述するデータを指す。一例によれば、テープディレクトリは、仮想カートリッジ上のデータのレイアウトを、バイトレベルに至るまで規定してもよい。
As described above, according to one embodiment, file data (ie, user data and / or system data) is stored as system files on a backup storage medium, each system file including a header and data, where the data is a real user. Files and / or system files. The
一実施例では、テープディレクトリ206は、図6に示すようなテーブル構造を有する。テーブルは、記憶された情報のタイプ(たとえばデータ、ファイルマーカ(FM)など)に関する列220と、使用されたディスクブロックのバイト単位のサイズに関する列222と、ファイルデータを記憶するディスクブロックの数を数える列224とを含む。このため、テープディレクトリは、コントローラが、バックアップ記憶媒体126に記憶されたどのデータファイルにも(順次とは対照的に)ランダムにアクセスできるようにする。たとえば、図6を参照して、データファイル226は、仮想テープ上で迅速に位置を特定され得る。なぜなら、テープディレクトリは、ファイル226のデータがシステムファイル200の最初から1ブロックで始まることを示しているためである。この1ブロックにはサイズがない。なぜなら、それはファイルマーカ(FM)に対応しているためである。ファイルマーカはシステムファイルには記憶されていない。すなわち、ファイルマーカはゼロデータに対応している。ファイルマーカは従来のテープによって使用されるため、テープディレクトリはファイルマーカを含んでおり、バックアップ/復元アプリケーションはこのため、データファイルとともにファイルマーカを書込み、仮想カートリッジを閲覧した場合にファイルマーカを見ることを期待する。したがって、ファイルマーカはテープディレクトリにおいて追跡されている。しかしながら、ファイルマーカはどのデータも表わしておらず、したがってシステムファイルのデータ区分には記憶されていない。このため、ファイル226のデータは、矢印205(図5参照)で示すシステムファイルのデータ区分の最初で始まり、長さが1024バイトである(すなわち、サイズが1024バイトの1つのディスクブロック)。データの量、すなわちデータファイルのサイズに依存して、他のファイルデータが1024バイト以外のブロックサイズで記憶されてもよい、ということが認識されるべきである。たとえば、より大きなデータファイルは、効率のため、より大きなデータブロックサイズを用いて記憶されてもよい。
In one embodiment, the
一例では、テープディレクトリは、記憶システム上にバックアップされた各データファイルに関連付けられた「ファイル記述子」に含まれていてもよい。ファイル記述子は、記憶システム上に記憶されたデータファイル204に関するメタデータを含む。一実施例では、ファイル記述子は、多くのUNIX(登録商標)ベースのシステムが使用するテープアーカイブ(tar)フォーマットといった標準化フォーマットに従って実現されてもよい。各ファイル記述子は、対応するユーザファイルの名前、ユーザファイルが作成/修正された日付、ユーザファイルのサイズ、ユーザファイルに対するアクセス制約などの情報を含んでいてもよい。ファイル記述子に記憶された追加情報は、データのコピー元であるディレクトリ構造を記述する情報をさらに含んでいてもよい。このため、以下により詳細に説明するように、ファイル記述子は、対応するデータファイルについての検索可能なメタデータを含んでいてもよい。 In one example, the tape directory may be included in a “file descriptor” associated with each data file backed up on the storage system. The file descriptor includes metadata about the data file 204 stored on the storage system. In one embodiment, the file descriptor may be implemented according to a standardized format, such as the tape archive (tar) format used by many UNIX-based systems. Each file descriptor may include information such as the name of the corresponding user file, the date when the user file was created / modified, the size of the user file, and access restrictions on the user file. The additional information stored in the file descriptor may further include information describing a directory structure from which data is copied. Thus, as will be described in more detail below, the file descriptor may include searchable metadata about the corresponding data file.
バックアップ/復元アプリケーションの観点からは、どの仮想カートリッジも、複数のデータファイルと対応するファイル記述子とを含んでいてもよい。記憶システムソフトウェアの観点からは、データファイルは、たとえばある特定のバックアップ作業にリンクされ得るシステムファイルに記憶される。たとえば、ある特定の時間に1つのホストコンピュータによって実行されたバックアップが、1つ以上の仮想カートリッジに対応し得る1つのシステムファイルを生成してもよい。仮想カートリッジはこのため、どのようなサイズであってもよく、より多くのユーザファイルが仮想カートリッジ上に記憶されるにつれて動的に成長し得る。 From the point of view of a backup / restore application, any virtual cartridge may include multiple data files and corresponding file descriptors. From the perspective of storage system software, data files are stored in system files that can be linked to a particular backup operation, for example. For example, a backup performed by one host computer at a particular time may generate one system file that may correspond to one or more virtual cartridges. The virtual cartridge can thus be of any size and can grow dynamically as more user files are stored on the virtual cartridge.
図2を再度参照して、上述のように、記憶システム170は、合成フルバックアップソフトウェアアプリケーション240を含んでいてもよい。一実施例では、ホストコンピュータ120は、エミュレートされた媒体134上にデータをバックアップして、1つ以上の仮想カートリッジを形成する。いくつかのコンピューティング環境では、「フルバックアップ」、すなわち、ネットワークの一次記憶システム(図1参照)上に記憶された全データのバックアップコピーが、周期的に(たとえば毎週)遂行されてもよい。コピーされるべきデータが大量なため、この処理は通常、非常に長い。したがって、多くのコンピューティング環境では、連続するフルバックアップ間で、増分バックアップと呼ばれる追加のバックアップが、たとえば毎日行なわれてもよい。増分バックアップとは、(増分であれフルであれ)最後のバックアップが実行されてから変更されたデータのみをバックアップする処理である。典型的には、この変更されたデータは、往々にしてファイルのデータのほとんどが変更されなかったとしても、ファイルベースでバックアップされる。このため、増分バックアップは通常、フルバックアップよりもはるかに小さく、したがってはるかに迅速に遂行される。多くの実施例は通常、フルバックアップを週に1回行ない、増分バックアップをその週の間毎日行なうが、そのような時間枠を使用することは要求されていない、ということが認識されるべきである。したがって、或る環境は増分バックアップを日に数回必要とするかもしれない。この発明の原理は、フルバックアップ(およびオプションで増分バックアップ)を用いるあらゆる環境に、それらがどれくらいの頻度で行なわれるかにかかわらず、当てはまる。フルバックアップおよび/または増分バックアップを頻繁に実行することは、大量の冗長データが記憶システム170に記憶されることをもたらす場合がある。この冗長データに関連する負担を緩和するために、記憶システム170は、以下にさらに説明するデータ重複排除システムおよび処理を利用してもよい。
Referring back to FIG. 2, as described above, the
フルバックアップ手順の最中、ホストコンピュータは、複数のデータファイルを備えるバックアップデータを含む1つ以上の仮想カートリッジを作成してもよい。明確性のため、以下の説明は、フルバックアップが1つの仮想カートリッジのみを生成すると仮定する。しかしながら、フルバックアップは2つ以上の仮想カートリッジを生成し得ること、およびこの発明の原理は任意の数の仮想カートリッジに当てはまることが、認識されるべきである。 During the full backup procedure, the host computer may create one or more virtual cartridges containing backup data comprising a plurality of data files. For clarity, the following description assumes that a full backup generates only one virtual cartridge. However, it should be appreciated that a full backup can generate more than one virtual cartridge, and that the principles of the invention apply to any number of virtual cartridges.
一実施例によれば、1つの既存のフルバックアップデータセットと1つ以上の増分バックアップデータセットとから合成フルバックアップデータセットを作成するための方法が提供される。この方法は、周期的な(たとえば週ごとの)フルバックアップを行なう必要性をなくすことができ、それによりユーザのかなりの時間およびネットワーク資源を節約する。さらに、当業者には公知であるように、1つのフルバックアップおよび1つ以上の増分バックアップに基づいてデータを復元することは、時間がかかる処理であり得る。なぜなら、たとえば、あるファイルの最新バージョンがある増分バックアップに存在する場合、バックアップ/復元アプリケーションは通常、最後のフルバックアップに基づいてそのファイルを復元し、次に増分バックアップから変更を適用する。したがって、合成フルバックアップを提供することは、1つのフルバックアップおよび1つ以上の増分バックアップから複数回の復元を行なう必要なく、バックアップ復元アプリケーションが合成フルバックアップのみに基づいてより迅速にデータファイルを復元できるようにする、という追加の利点を有し得る。ここに使用されるような「最新バージョン」という表現は一般に、データファイルの最新コピー(すなわち、データファイルが保存された最新時間)を、そのファイルが新しいバージョン番号を有しているか否かにかかわらず、指す。「バージョン」という用語は、ここでは一般に、何らかの方法で修正され、または多数回保存されたかもしれない同じファイルのコピーを指すために使用される。 According to one embodiment, a method is provided for creating a synthetic full backup data set from one existing full backup data set and one or more incremental backup data sets. This method can eliminate the need for periodic (eg weekly) full backups, thereby saving considerable time and network resources for the user. Further, as is known to those skilled in the art, restoring data based on one full backup and one or more incremental backups can be a time consuming process. For example, if the latest version of a file is in an incremental backup, the backup / restore application typically restores the file based on the last full backup and then applies changes from the incremental backup. Thus, providing a synthetic full backup allows backup restore applications to restore data files more quickly based on only synthetic full backups without having to restore multiple times from one full backup and one or more incremental backups It can have the additional advantage of being able to. The expression “latest version” as used herein generally refers to the latest copy of a data file (ie, the last time the data file was saved), regardless of whether the file has a new version number. Point. The term “version” is generally used herein to refer to a copy of the same file that may have been modified in some way or stored multiple times.
図7を参照すると、合成フルバックアップ手順の概略図が示されている。ホストコンピュータ120は、第1の時点、たとえば週末にフルバックアップ230を実行してもよい。ホストコンピュータ120は次に、その後の増分バックアップ232a、232b、232c、232d、232eを、たとえばその週の間毎日実行してもよい。記憶システム170は、次に、以下に説明するように、合成フルバックアップデータセット234を作成してもよい。
Referring to FIG. 7, a schematic diagram of a synthetic full backup procedure is shown. The
一実施例によれば、記憶システム170は、ここに合成フルバックアップアプリケーション240(図3参照)と呼ばれるソフトウェアアプリケーションを含んでいてもよい。合成フルバックアップアプリケーション240は、記憶システムコントローラ122(図2参照)上で実行されてもよく、またはホストコンピュータ120上で実行されてもよい。合成フルバックアップアプリケーションは、合成フルバックアップデータセット234を作成するために必要なソフトウェアコマンドおよびインターフェイスを含む。一例では、合成フルバックアップアプリケーションは、合成フルバックアップデータセット234を含む新しい仮想カートリッジを生成するために、フルバックアップデータセット230および増分バックアップデータセット232の各々のメタデータ表現の論理的併合を行なってもよい。
According to one embodiment, the
たとえば、図8を参照して、既存のフルバックアップデータセットは、ユーザファイルF1、F2、F3、およびF4を含んでいてもよい。第1の増分バックアップデータセット232aは、F2の修正バージョンであるユーザファイルF2′と、F3の修正バージョンであるF3′とを含んでいてもよい。第2の増分バックアップデータセット232bは、F1の修正バージョンであるユーザファイルF1′と、F2のさらに修正されたバージョンであるF2″と、新しいユーザファイルF5とを含んでいてもよい。したがって、フルバックアップデータセット230と2つの増分データセット232aおよび232bとの論理的併合から形成された合成フルバックアップデータセット234は、各ユーザファイルF1、F2、F3、F4、およびF5の最終バージョンを含む。図8に示すように、合成フルバックアップデータセットはしたがって、ユーザファイルF1′、F2″、F3′、F4、およびF5を含む。
For example, referring to FIG. 8, an existing full backup data set may include user files F1, F2, F3, and F4. The first incremental
図3および図4を再度参照して、ファイルシステムソフトウェア146は、エミュレートされた媒体134上に記憶された各ユーザファイルに関するメタデータを記憶する論理メタデータキャッシュ242を作成してもよい。論理メタデータキャッシュは物理的データキャッシュである必要はないが、その代わり、記憶媒体126上に記憶されたデータの検索可能な集合体であり得る、ということが認識されるべきである。別の例では、論理メタデータキャッシュ242は、データベースとして実現可能である。メタデータがデータベースに記憶されている場合、従来のデータベースコマンド(たとえばSQLコマンド)を用いて、合成フルバックアップデータセットを作成するためにフルバックアップセットと1つ以上の増分バックアップデータセットとの論理的併合を行なうことができる。
Referring back to FIGS. 3 and 4, the
別の実施例では、メタデータの一部がデータベースに記憶され、別の一部が記憶システムファイルに記憶されてもよい。たとえば、バックアップデータセット名とそれが備えるデータオブジェクトとを含むバックアップデータセットメタデータが、従来のデータベースに含まれていてもよく、一方、たとえばデータオブジェクトがデータファイル、データファイルサイズ、機密保護情報、および一次ストレージにおける位置である場合などにおいてデータオブジェクトに特有のメタデータが、記憶システムファイルに含まれていてもよい。このようにメタデータを記憶することは、問合せがしばしばあったデータを従来のデータベースから柔軟に取出すことを可能にし、また、それほど頻繁に問合されなかったデータを記憶システムファイルにより迅速に記憶させることによってシステム拡張性を促進する。 In another embodiment, some of the metadata may be stored in a database and another portion may be stored in a storage system file. For example, backup data set metadata including the name of the backup data set and the data objects it comprises may be included in a traditional database, while the data object is a data file, data file size, security information, Also, metadata specific to the data object, such as in the case of a location in primary storage, may be included in the storage system file. Storing metadata in this way allows data that has been frequently queried to be retrieved flexibly from traditional databases, and data that has not been queried frequently is stored more quickly in storage system files. To promote system extensibility.
上述のように、エミュレートされた媒体134上に記憶された各データファイルは、バックアップ記憶媒体126上のファイルの位置を含む、データファイルに関するメタデータを含むファイル記述子を含んでいてもよい。一実施例では、ホストコンピュータ120上で実行中のバックアップ/復元アプリケーションは、エミュレートされた媒体134上にデータをストリーミングテープフォーマットで記憶させる。このテープフォーマットを表わすデータ構造250の一例を、図9に示す。上述のように、システムファイルデータ構造はヘッダを含み、それは、データファイル用のファイル記述子、ファイルの作成日および/または修正日、機密保護情報、ファイルの入手元であるホストシステムのディレクトリ構造、およびファイルを仮想カートリッジにリンクする他の情報といった、データファイルについての情報を含んでいてもよい。これらのヘッダは、ホストコンピュータ、一次記憶システムなどからバックアップ(コピー)された実ユーザファイルおよびシステムファイルであるデータ254に関連付けられている。システムファイルデータ構造はまた、次のヘッダをブロック境界に適切に整列させ得るパッド256をオプションで含んでいてもよい。
As described above, each data file stored on emulated medium 134 may include a file descriptor that includes metadata about the data file, including the location of the file on
図9に示すように、一例では、ヘッダデータは、迅速な検索と、さもなければ順次であるテープデータフォーマットへのランダムアクセスとを可能にするよう、論理メタデータキャッシュ242に位置する。記憶システムコントローラ122に対してファイルシステムソフトウェア146を使用して実現された、論理メタデータキャッシュの使用は、エミュレートされた媒体134上に記憶された線形で順次のテープデータフォーマットを、バックアップ記憶媒体126を構成する物理的ディスク上に記憶されたランダムアクセスデータフォーマットに変換することを可能にする。論理メタデータキャッシュ242は、データファイル用のファイル記述子を含むヘッダ252と、以下により詳細に説明するようにデータファイルへのアクセスを制御するために使用され得る機密保護情報と、仮想カートリッジおよびバックアップ記憶媒体126上のデータファイルの実際の位置へのポインタ257とを記憶している。一実施例では、論理メタデータキャッシュは、フルバックアップデータセット230および各増分データセット232においてバックアップされた全データファイルに関するデータを記憶する。
As shown in FIG. 9, in one example, the header data is located in the
一実施例によれば、合成フルバックアップアプリケーションソフトウェア240は、論理メタデータキャッシュに記憶された情報を用いて、合成フルバックアップデータセットを作成する。この合成フルバックアップデータセットは次に、合成フルバックアップアプリケーション240によって作成された合成仮想カートリッジにリンクされる。バックアップ/復元アプリケーションには、合成フルバックアップデータセットはこの合成仮想カートリッジ上に記憶されているかのように見える。上述のように、合成フルバックアップデータセットは、既存のフルバックアップデータセットと増分バックアップデータセットとの論理的併合を行なうことによって作成され得る。この論理的併合は、既存のフルバックアップデータセットおよび増分バックアップデータセットの各々に含まれる各データファイルを比較すること、および図8を参照して上述したように、各ユーザファイルの最新バージョンの複合体を作成することを含んでいてもよい。 According to one embodiment, the synthetic full backup application software 240 uses the information stored in the logical metadata cache to create a synthetic full backup data set. This composite full backup data set is then linked to the composite virtual cartridge created by the composite full backup application 240. To the backup / restore application, it appears as if the synthetic full backup data set is stored on this synthetic virtual cartridge. As described above, a synthetic full backup data set can be created by performing a logical merge of an existing full backup data set and an incremental backup data set. This logical merging involves comparing each data file contained in each of the existing full backup data set and incremental backup data set and, as described above with reference to FIG. 8, a composite of the latest version of each user file. It may include creating a body.
一実施例によれば、合成仮想カートリッジ260は、図10に示すように、他の仮想カートリッジ、具体的には既存のフルバックアップデータセットおよび増分バックアップデータセットを含む仮想カートリッジ上のデータファイルの位置を指すポインタを含む。図8に関して上に挙げた例を考慮すると、合成仮想カートリッジ260は、(既存のフルバックアップデータセットがF4の最終バージョンを含んでいたため)ユーザファイルF4の、仮想カートリッジ262上の既存のフルバックアップデータセットにおける位置、および、たとえばユーザファイルF3′の、仮想カートリッジ264上の増分データセット232aにおける位置を(矢印268で示すように)指す、ポインタ266を含む。
According to one embodiment, the synthetic
合成仮想カートリッジは、ポインタ266が指すデータを含む全仮想カートリッジの識別番号(およびオプションで名前)を含むリスト270も含む。この従属的なカートリッジリスト270は、実データの記憶場所を追跡し続けるといった参照のために、また従属的な仮想カートリッジが消去されないようにするために、重要であり得る。この実施例では、合成フルバックアップデータセットは実ユーザファイルを含んでおらず、むしろ、バックアップ記憶媒体126上でのユーザファイルの位置を示す1組のポインタを含んでいる。したがって、(他の仮想カートリッジ上に記憶された)実ユーザファイルが削除されないようにすることが望ましい場合がある。これは、データを含む仮想カートリッジの記録(従属的カートリッジリスト270)をつけて、それらの仮想カートリッジの各々が上書きされたり削除されたりしないよう保護することによって、一部遂行され得る。合成仮想カートリッジはまた、合成仮想カートリッジのサイズ、バックアップ記憶媒体126上のその位置といったカートリッジデータ272を含んでいてもよい。加えて、合成仮想カートリッジは、識別番号および/または名前274を有していてもよい。
The composite virtual cartridge also includes a
別の実施例によれば、合成仮想カートリッジは、ポインタと記憶された実ユーザファイルとの組合せを含んでいてもよい。図11を参照して、一例では、合成仮想カートリッジは、仮想カートリッジ262上の既存のフルバックアップデータセット230におけるデータファイル(図9を参照して上述したように、最終バージョン)の位置を指すポインタ266を含む。合成仮想カートリッジはまた、矢印280によって示すように、増分データセット232からコピーされた実データファイルを含むデータ278を含んでいてもよい。このように、合成フルバックアップデータセット276の作成後に増分バックアップデータセットを削除することが可能であり、それにより記憶空間を節約する。合成仮想カートリッジは、全ユーザファイルのコピーというよりもむしろ、すべてのまたは一部のポインタを含むため、比較的小さい。
According to another embodiment, the composite virtual cartridge may include a combination of a pointer and a stored real user file. Referring to FIG. 11, in one example, the composite virtual cartridge is a pointer that points to the location of the data file (the final version as described above with reference to FIG. 9) in the existing full
合成フルバックアップはポインタと記憶されたファイルデータとの任意の組合せを含んでいてもよく、上に挙げた例に限定されない、ということが認識されるべきである。たとえば、合成フルバックアップは、或る増分バックアップおよび/またはフルバックアップ上に記憶されたいくつかのファイルについてのデータファイルへのポインタを含んでいてもよく、他の既存のフルバックアップおよび/または増分バックアップからコピーされた、記憶されたファイルデータを含んでいてもよい。さらに、これに代えて、ポインタを含まないものの、適切なフルバックアップおよび/または増分バックアップからコピーされた実ファイルデータの最終バージョンを含む、以前のフルバックアップおよび関連する増分バックアップに基づいて、合成フルバックアップが作成されてもよい。 It should be appreciated that a synthetic full backup may include any combination of pointers and stored file data and is not limited to the examples listed above. For example, a synthetic full backup may include pointers to data files for some incremental backups and / or several files stored on the full backup, and other existing full backups and / or incremental backups It may also contain stored file data copied from. In addition, synthetic full based on previous full backups and associated incremental backups that do not include pointers, but include the final version of the actual file data copied from the appropriate full and / or incremental backups. A backup may be created.
一実施例では、合成フルバックアップアプリケーションソフトウェアは、各データファイルの最終バージョンがどこに位置するかを判断するために、既存のフルバックアップデータセットおよび増分バックアップデータセットの各々について、ユーザおよびシステムファイルメタデータを比較できるようにする差分アルゴリズムを含んでいてもよい。たとえば、差分アルゴリズムは、異なるバックアップセットにおける同じデータファイルの異なるバージョン間で、作成日および/または修正日、バージョン番号(利用可能な場合)などを比較し、データファイルの最新バージョンを選択するために使用可能である。しかしながら、ユーザは、ユーザファイルを開き、そのファイル内のデータを実際に変更することなくそのファイルを保存する(それによりその修正日を変更する)ことが、しばしばある。したがって、システムは、システムファイルまたはユーザファイル内のデータを分析して、データが実際に変更されたかどうかを判断し得る、より進んだ差分アルゴリズムを実現してもよい。そのような差分アルゴリズムの変形、および他のタイプの比較アルゴリズムは、当業者には公知であり得る。加えて、上述のように、メタデータがデータベースフォーマットで記憶されている場合、SQLコマンドなどのデータベースコマンドも、論理的併合を行なうために使用可能である。この発明は、合成フルバックアップデータセットを適正に作成するよう、各ユーザファイルの最新または最後のバージョンが、比較されたすべての既存のバックアップセットから選択されることを確実にするために、そのようなアルゴリズムのどれを適用してもよい。 In one embodiment, the synthetic full backup application software uses user and system file metadata for each of the existing full and incremental backup data sets to determine where the final version of each data file is located. It is possible to include a difference algorithm that makes it possible to compare. For example, the diff algorithm compares the creation date and / or modification date, version number (if available), etc. between different versions of the same data file in different backup sets, and selects the latest version of the data file It can be used. However, users often open a user file and save the file without actually changing the data in the file (thus changing its modification date). Thus, the system may implement a more advanced difference algorithm that can analyze data in system files or user files to determine whether the data has actually changed. Variations of such difference algorithms, and other types of comparison algorithms, may be known to those skilled in the art. In addition, as described above, when metadata is stored in a database format, database commands such as SQL commands can also be used to perform logical merging. The present invention does so to ensure that the latest or last version of each user file is selected from all existing backup sets compared to properly create a synthetic full backup data set. Any of the various algorithms may be applied.
当業者には理解されるはずであるように、合成フルバックアップアプリケーションは、ホストコンピュータが物理的フルバックアップを実行することを必要とせずに、フルバックアップデータセットが作成され、利用可能となることを可能にする。これは、データをバックアップ記憶システムに転送するプロセッサオーバーヘッドをホストコンピュータに課すことを回避するだけでなく、合成フルバックアップアプリケーションが記憶システム上で実行される実施例では、それはネットワーク帯域幅の利用を著しく減少させる。図7に示すように、第1の合成フルバックアップデータセット234とその後の増分バックアップデータセット236とを用いて、さらに別の合成フルバックアップデータセットが作成されてもよい。これは、頻繁に修正されないファイルまたはオブジェクトは頻繁にコピーされないという点で、著しい時間的利点を提供し得る。代わりに、合成フルバックアップデータセットは、1回しかコピーされなかったファイルへのポインタを保持してもよい。
As those skilled in the art will appreciate, synthetic full backup applications ensure that a full backup dataset is created and made available without requiring the host computer to perform a physical full backup. enable. This not only avoids imposing processor overhead on the host computer to transfer data to the backup storage system, but in embodiments where a synthetic full backup application is run on the storage system, it significantly reduces network bandwidth utilization. Decrease. As shown in FIG. 7, another synthetic full backup data set may be created using the first synthetic full
この発明に従ったいくつかの局面は、データオブジェクトから冗長データを除去する拡張可能な重複排除システムに向けられている。たとえば、いくつかの実施例によれば、重複排除システムは、データに含まれる予め処理されたメタデータを用いてデータ重複排除を管理するよう構成される。より特定的には、実施例は、重複排除されるべきデータ内の特定のメタデータ値の有無に基づいて、重複排除ドメインにデータを誘導してもよい。これらの重複排除ドメインの各々は、特定のタイプのデータを効率的に重複排除するよう調整された特定の重複排除手法を採用してもよい。 Some aspects according to the invention are directed to an expandable deduplication system that removes redundant data from data objects. For example, according to some embodiments, the deduplication system is configured to manage data deduplication using pre-processed metadata included in the data. More specifically, embodiments may direct data to the deduplication domain based on the presence or absence of specific metadata values in the data to be deduplicated. Each of these deduplication domains may employ specific deduplication techniques that are tailored to efficiently deduplicate specific types of data.
たとえば、図14は、拡張可能な重複排除サービスを提供するよう特別に構成された重複排除誘導子1400のブロック図を表わす。重複排除誘導子1400は、さまざまなコンピュータシステム上で、ソフトウェア、ハードウェア、またはそれらの組合せとして実現されてもよい。たとえば、一実施例によれば、重複排除誘導子1400は、図3に関して上述した記憶システムコントローラ122の一部として実現される。図14に示す重複排除誘導子1400の特定の構成は、例示のためにのみ使用され、限定的であるよう意図されてはない。なぜなら、この発明の実施例は、この発明の範囲から逸脱することなく、さまざまな構成で設計され得るためである。ここに説明される例のいくつかは単一の重複排除誘導子1400を有する実施例に焦点を当てているが、他の実施例は、この発明の範囲から逸脱することなく、2つ以上の重複排除誘導子を含んでいてもよい。
For example, FIG. 14 depicts a block diagram of a
図14を参照して、重複排除誘導子1400は、データインターフェイス1402と、誘導エンジン1404と、重複排除ドメインデータベース1406と、重複排除ドメイン1408、1410および1412と、重複排除データベースインターフェイス1414とを含む。図示された例では、データインターフェイス1402は、1つ以上のデータ源と情報を交換する、たとえば供給および受信するよう構成された、実行可能なコード、データ、データ構造またはオブジェクトなどの機能を含む。また、図示された例では、データインターフェイス1402は、誘導エンジン1404と双方向に通信可能である。
Referring to FIG. 14,
図示されているように、誘導エンジン1404は、データインターフェイス1402、重複排除ドメインデータベース1406、ならびに重複排除ドメイン1408、1410および1412と、さまざまな情報を交換可能である。重複排除ドメインデータベース1406は次に、誘導エンジン1404および重複排除データベースインターフェイス1414の双方と、データを通信してもよい。重複排除データベースインターフェイス1414は、さまざまな外部実体と情報を交換するよう構成された機能を有する。これらの外部実体は、とりわけ、ユーザおよび/またはシステムを含んでいてもよい。図示された例では、重複排除データベースインターフェイス1414はまた、重複排除ドメインデータベース1406と情報を交換可能である。重複排除ドメイン1408、1410および1412の各々は、誘導エンジン1404およびさまざまな外部実体の双方と情報を交換するよう構成された機能を含む。たとえば、一実施例では、重複排除ドメイン1408、1410および1412は、図3に関して説明したバックアップ記憶媒体126といったデータ記憶媒体と、情報を交換可能である。
As shown,
情報は、任意の手法を用いて、ここに説明された要素、構成要素およびサブシステム間を流れてもよい。そのような手法は、たとえば、TCP/IPなどの標準プロトコルを用いてネットワークを介して情報を渡すこと、メモリのモジュール間で情報を渡すこと、およびファイル、データベース、または何らかの他の不揮発性記憶装置に書込むことによって情報を渡すことを含む。加えて、情報のコピーの代わりに、またはそれに加えて、情報へのポインタまたは他の参照が送信および受信されてもよい。逆に、情報へのポインタまたは他の参照に代えて、またはそれに加えて、情報が交換されてもよい。この発明の範囲から逸脱することなく、情報を通信するための他の手法およびプロトコルが使用されてもよい。 Information may flow between the elements, components, and subsystems described herein using any technique. Such techniques include, for example, passing information over a network using a standard protocol such as TCP / IP, passing information between modules of memory, and files, databases, or some other non-volatile storage device Including passing information by writing to. In addition, instead of or in addition to a copy of the information, pointers or other references to the information may be sent and received. Conversely, information may be exchanged instead of or in addition to pointers or other references to information. Other techniques and protocols for communicating information may be used without departing from the scope of the invention.
図14に示す例では、重複排除ドメインデータベース1406は、1つ以上の重複排除ドメインの属性を記述する情報を記憶し、取出すよう構成された機能を含む。この情報の例は、各重複排除ドメインについて、その重複排除ドメインに属する、または割当てられるコンピューティング資源の量、その重複排除ドメインによって使用されるある特定の重複排除方法、およびその重複排除ドメインに関連付けられた1つ以上のデータオブジェクト特性を含んでいてもよい。重複排除ドメインデータベース1406はまた、たとえばハッシュテーブルといった重複排除ドメインによって使用される重複排除方法に関連付けられたアーチファクトを保持してもよい。
In the example shown in FIG. 14,
重複排除ドメインデータベース1406は、フラットファイル、インデックスファイル、階層型データベース、リレーショナルデータベース、またはオブジェクト指向データベースを含む、コンピュータ読取可能媒体上に情報を記憶可能な任意の論理的構成の形式を取っていてもよい。データは、固有キー関係および外部キー関係ならびにインデックスを用いてモデル化されてもよい。固有キー関係および外部キー関係ならびにインデックスは、データ完全性とデータ交換性能の双方を確実にするために、さまざまなフィールドおよびテーブル間に確立されてもよい。
The
図示された例では、データインターフェイス1402は、さまざまな形式およびフォーマットの情報をさまざまなデータ源と交換するよう構成された機能を含む。これらのデータ源は、図1に関して上述した一次記憶装置106といった、重複排除処理を受ける情報の提供元を含んでいてもよい。データインターフェイス1402は、データフォーマットの中でもとりわけ、データの離散ブロック、連続したデータストリーム、および複数の記憶位置から多重化されたデータストリームを受信可能である。加えて、データインターフェイス1402はデータを、インラインで、すなわち重複排除され記憶されるべきデータを、データインターフェイス1402を含むデータ記憶システムが受信している間に、受信可能であり、またはオフラインで、すなわち重複排除されるべきデータをデータ記憶装置が既に記憶した後で、受信可能である。
In the illustrated example, the
図示された例では、重複排除ドメイン1408、1410および1412は各々、1つ以上の個々の重複排除ドメインを含む。重複排除ドメインは、データオブジェクトに対して重複排除処理を行なうよう構成された機能を有するソフトウェアおよび/またはハードウェアを含んでいてもよい。各重複排除ドメインは、専用のデータストレージを含んでいてもよい。図示された例では、各重複排除ドメインは、いくつかのデータオブジェクトに共通の1つ以上の特性に関連付けられ得る。加えて、この例では、各重複排除ドメインは、ある特定の重複排除方法を採用可能である。これらの特色により、個々の重複排除ドメインは、関連するデータオブジェクトにとって効果の高い重複排除環境を提供できるようになる。
In the illustrated example,
たとえば、一実施例によれば、重複排除ドメイン1408、1410および1412は各々、以下に説明する処理1200といった内容認識重複排除処理を採用する。一方、他の実施例では、重複排除ドメイン1408がハッシュ指紋処理を利用し、重複排除ドメイン1410がパターン認識処理を使用し、1412が処理1200を採用してもよい。このように、実施例は、ある特定の重複排除方法、または重複排除方法の構成に限定されない。
For example, according to one embodiment,
さまざまな実施例では、誘導エンジン1404は、データオブジェクトを、そのデータオブジェクトの1つ以上の特性に関連付けられた重複排除ドメインに誘導するよう構成された機能を含む。一実施例によれば、これらの特性は、データオブジェクトに関連付けられたメタデータを含む。図示された実施例では、誘導エンジン1404は、データインターフェイス1402からデータオブジェクトを受信可能である。誘導エンジン1404は、重複排除ドメイン1408、1410および1412のうちのどれが、受信されたデータオブジェクトを重複排除するのに好適であるかを選択可能である。図示されているように、誘導エンジン1404はまた、データオブジェクトを選択された重複排除ドメインに誘導可能である。誘導エンジン1404はまた、重複排除ドメイン1408、1410および1412によって行なわれる重複排除活動の結果を評価し、この評価に基づいて誘導エンジンを評価して、いくつかの重複排除ドメインにまたがる冗長データを単一の重複排除ドメインに統合するよう構成された機能を有しており、それにより追加のコンピューティング資源を節約する。
In various embodiments, the
さまざまな実施例では、誘導エンジン1404は、離散データブロック、データストリーム、および多重化データストリームを含むさまざまな形式およびフォーマットで、データをデータインターフェイス1402から受信するよう構成された機能を含む。これらの実施例では、誘導エンジン1404は、予め処理されたメタデータを受信データから抽出可能である。このメタデータは、論理メタデータキャッシュに関して上述したタイプの情報を含んでいてもよく、このため、いくつかの実施例では、メタデータの中でもとりわけ、バックアップポリシー名、データ源のタイプ、データ源の名前、バックアップアプリケーション名、オペレーションシステムのタイプ、データタイプ、バックアップタイプ、ファイル名、ディレクトリ構造、ならびに、日付および時間といった時系列情報を含んでいてもよい。
In various embodiments, the
さらに、いくつかの実施例では、誘導エンジン1404は、抽出されたメタデータに基づいて、データストリームまたは多重化データストリーム内の整列点を識別するよう構成された機能を有する。これらの実施例では、誘導エンジン1404は、データオブジェクトを作成するために、これらの整列点に沿ってデータストリームまたは多重化データストリームを区分可能である。また、いくつかの実施例では、誘導エンジン1404は、メタデータをデータオブジェクトに関連付けることができる。この関連付けられたメタデータは、とりわけ、データオブジェクトを作成するために使用されるメタデータを含んでいてもよい。
Further, in some embodiments, the
たとえば、一実施例によれば、誘導エンジン1404は、データオブジェクトがある特定のサーバのその後のバックアップであることに基づいて、データストリームをデータオブジェクトに整列させることができる。同様に、別の実施例では、誘導エンジン1404は、同じファイル名およびディレクトリ位置を有するファイルを含むデータオブジェクトを整列させることができる。さらに別の実施例では、誘導エンジン1404は、データオブジェクトを作成し、データオブジェクトを作成するためにバックアップ/復元プログラムによって実行されたポリシーに基づいて、または、たとえばオラクル(Oracle)データベースによって作成されたデータといった、どのタイプのデータがデータオブジェクトに含まれているかに基づいて、メタデータを関連付けることができる。
For example, according to one embodiment, the
一実施例によれば、誘導エンジン1404は、データオブジェクトに関連付けられたメタデータを評価することによってデータオブジェクトを誘導するよう構成された機能を有する。この実施例では、誘導エンジン1404は、データオブジェクトに関連付けられたメタデータを、個々の重複排除ドメインに関連付けられたデータオブジェクト特性と比較することができる。十分な品質の一致が見つかった場合、誘導エンジン1404は、さらなる処理のためにデータオブジェクトを一致する重複排除ドメインに転送可能である。一実施例によれば、誘導エンジン1404は、データオブジェクトのコピーを重複排除ドメインに提供するか、またはポインタといったデータオブジェクトへの参照を重複排除ドメインに提供することによって、データオブジェクトを転送可能である。いくつかの実施例によれば、データオブジェクトに関連付けられたメタデータ、および重複排除ドメインに関連付けられたデータオブジェクト特性はともに、データオブジェクトの内容に関する情報である。
According to one embodiment, the
たとえば、一実施例では、データオブジェクトに関連付けられたメタデータ、および重複排除ドメインに関連付けられたデータオブジェクト特性は、たとえばマイクロソフトアウトルック(MICROSOFT OUTLOOK)といった、データオブジェクトを作成したソフトウェアアプリケーションである。この例では、マイクロソフトアウトルックによって作成されたデータオブジェクトに遭遇すると、誘導エンジン1404は、それらのデータオブジェクトを、マイクロソフトアウトルックデータオブジェクトに関連付けられた重複排除ドメインに誘導できる。他の実施例では、メタデータおよびデータオブジェクト特性は、他のタイプの情報であってもよい。
For example, in one embodiment, the metadata associated with the data object and the data object characteristics associated with the deduplication domain are software applications that created the data object, eg, Microsoft Outlook. In this example, upon encountering data objects created by Microsoft Outlook, the
いくつかの実施例によれば、誘導エンジン1404は、複数の重複排除ドメインにわたって冗長データをさらに統合するよう構成された機能を含む。いくつかの実施例では、誘導エンジンは、複数の重複排除ドメインにまたがる冗長データを判断するために、重複排除処理の結果と重複排除処理に関連付けられたアーチファクトとを評価することができる。たとえば、一実施例では、誘導エンジン1404は、複数の重複排除ドメインが共有しているかもしれないハッシュ指紋を求めて、ハッシュ指紋法を採用している複数の重複排除ドメインに関連付けられたハッシュテーブルを周期的に「スクラビング」する、または検索することができる。この実施例では、誘導エンジン1404は、異なる重複排除ドメインによって処理されたもののこれらの共通の指紋を有しているデータのストレージを、冗長データのコピーを冗長データの単一のコピーへの参照と置き換えるように重複排除ドメインのうちの1つ以上を誘導することによって、統合することができる。
According to some embodiments, the
他の実施例では、誘導エンジン1404は、新しい重複排除ドメインを作成し、または既存の重複排除ドメインの構成を修正して、上述のスクラビング処理によって見つかった冗長データに関するデータの今後の処理を統合することができる。たとえば、一実施例では、誘導エンジン1404は、特定の重複排除ドメインに関連付けられたデータオブジェクト特性を変更することにより、1つの重複排除ドメインからの冗長データに関するデータを含むデータオブジェクトの今後の処理を、別のものにシフトすることができる。
In other embodiments, the
たとえば、一実施例では、誘導エンジン1404は、スクラビングを通して見つかった冗長データを含むデータオブジェクトに共通するメタデータを見つけるよう構成された機能を含む。さらに、この例では、誘導エンジンは、共通のメタデータに基づいて、共通のメタデータと一致する1つ以上のデータオブジェクト特性を判断することができる。誘導エンジン1404はまた、重複排除ドメインデータベース1406に関連性を記憶させることにより、これらの新しく判断されたデータオブジェクト特性を、新しいまたは既存の重複排除ドメイン、すなわち今後の処理が統合される重複排除ドメインに関連付けることができる。逆に、誘導エンジン1404は、重複排除ドメインデータベース1406と相互作用して、既存の重複排除ドメインから1つ以上のデータオブジェクト特性を分離し、これらの重複排除ドメインが将来、冗長データに関するデータを含むデータオブジェクトを受信しないようにすることができる。このように、誘導エンジン1404は、新しく見つかった共通のメタデータに関連付けられたデータオブジェクトの、新しく判断されたデータオブジェクト特性に関連付けられた重複排除ドメインへの流れを調節することができる。
For example, in one embodiment, the
いくつかの実施例では、誘導エンジン1404は、データオブジェクトをある特定の重複排除ドメインに誘導する際に追加情報を使用するよう構成された機能を含む。たとえば、一実施例によれば、誘導エンジン1404は、ある特定の重複排除ドメイン専用のストレージが、残りの容量のしきい値レベル未満であることを検出可能である。この場合、誘導エンジン1404は、データオブジェクトを他の重複排除ドメインに誘導でき、または、追加の記憶容量を重複排除ドメインに割当てることができる。別の実施例では、誘導エンジン1404は、データオブジェクトが失効するまで残っている時間量に基づいて、データオブジェクトをある特定の重複排除ドメインに誘導可能である。たとえば、この実施例では、誘導エンジン1404は、残りの寿命が少ないデータオブジェクトを、少ない処理オーバーヘッドで、重複排除ドメインに、そのデータオブジェクトに関するその重複排除ドメインの有効性にかかわらず誘導することができる。なぜなら、そのデータオブジェクトは短時間のうちにストレージから消去されるためである。
In some embodiments, the
さまざまな実施例によれば、重複排除データベースインターフェイス1414は、さまざまな外部実体と情報を交換するよう構成された機能を有する。図示された実施例によれば、重複排除データベースインターフェイス1414は、重複排除ドメイン1408、1410および1412といった重複排除ドメインをユーザが作成、修正、および削除できるようにするさまざまなユーザインターフェイスメタファを、ユーザに提供できる。より特定的には、新しい重複排除ドメインを作成するためのメタファを表示する際、重複排除データベースインターフェイス1414は、その新しい重複排除ドメインに関連付けられたデータオブジェクトの特性をユーザが特定できるようにするインターフェイス要素を、ユーザに提示できる。加えて、重複排除データベースインターフェイス1414は、その新しい重複排除ドメインによって採用されるべき重複排除方法をユーザが特定できるようにするインターフェイス要素を、ユーザに提供できる。
According to various embodiments, the
他の実施例では、重複排除データベースインターフェイス1414は、バックアップ/復元プログラムといった外部システムからデータを受信し、受信データに基づいて、外部システムから到来したデータを処理するように重複排除ドメインを自動的に構成するよう構成された機能を有する。たとえば、いくつかの実施例では、重複排除データベースインターフェイス1414は、将来受信される、または現在受信中のデータオブジェクトのタイプにおける共通性を判断して、重複排除効率を高めるように重複排除ドメイン1408、1410および1412を構成することが可能である。一実施例では、重複排除データベースインターフェイス1414は、バックアップ/復元プログラムによって供給されるバックアップポリシーに基づいて、バックアップポリシーの実行の結果受信されるデータオブジェクトの一次記憶位置を判断可能である。この実施例では、重複排除データベースインターフェイス1414は、この一次記憶位置情報に基づいて、重複排除ドメイン1408、1410および1412の構成を記憶可能である。別の実施例では、重複排除データベースインターフェイス1414によって記憶された構成は、データオブジェクトの記憶位置よりもむしろ、データオブジェクトを作成したソフトウェアアプリケーションに基づくことが可能である。他の実施例は、他のタイプのデータを用いて、好適な重複排除ドメイン構造および構成を判断してもよい。
In another embodiment, the
上述のように、重複排除誘導子1400は、いくつかの重複排除方法のうちの1つを用いて、データオブジェクトから冗長データを除去してもよい。ある重複排除ドメインによって使用され得る1つの特定の重複排除手法は、内容認識重複排除である。図12は、この発明の一実施例に従った、データオブジェクトからデータを重複排除するための例示的な内容認識処理1200を示す。図13は、データ重複排除とともに使用すると追加の処理効率を生み出す、進化した参照手法を示す。重複排除処理は、単一のバックアップ記憶システムを用いて、または上述のグリッド環境といった分散記憶システム環境内で実現されてもよい。
As described above,
一般に、処理1200を実行するシステムは、一連のデータオブジェクトに関連付けられたメタデータを抜粋して、たとえば重複データを共有する可能性のあるデータオブジェクトといった、さらなる重複排除処理ステップを受けるそれらのデータオブジェクトを識別してもよい。このシステムは、冗長データの位置を特定するために、追加処理用に識別されたデータオブジェクトを検査してもよい。さらに、このシステムは、冗長データの単一のコピーを指す識別されたデータオブジェクトのコピーを構築し、また、オプションでこれらのコピーの完全性を確認してもよい。冗長データによって占められた記憶容量を取り戻すために、このシステムは、もともと識別されたデータオブジェクトを削除してもよい。重複排除方法および重複排除装置の局面および実施例を、以下により詳細に説明する。
In general, the
図12を引き続き参照して、ステップ1202で、データ重複排除処理1200が始まる。ステップ1204で、システムは、さらなる重複排除処理を受けることになるデータオブジェクトを識別する。一実施例では、このシステムは、冗長データを含む可能性があるデータオブジェクトを識別してもよい。この識別を行なうために、さまざまな方法およびメタデータが採用されてもよい。たとえば、一実施例では、一次ストレージにおけるあるバックアップデータオブジェクトの物理的位置は、それが別のバックアップデータオブジェクトを有するデータを有する可能性があることを示してもよい。より特定的には、同じ一次記憶装置、たとえばある特定のサーバから2つのバックアップデータオブジェクトが生じた場合、これらのデータオブジェクトは、冗長データのコピーを含む可能性があると識別されてもよい。同様に、別の実施例では、2つのデータオブジェクトは、ともにある特定のソフトウェアアプリケーションによって作成された場合、冗長データを有する可能性があると識別されてもよい。さらに別の実施例では、データオブジェクトがフルまたは増分バックアップポリシーの一部として記憶されたかどうかが、冗長データの可能性を示してもよい。重複データを含む可能性があるデータオブジェクトの識別は、CPUサイクルといった乏しいコンピュータ資源が、冗長データの除去から最も利益を得ることになるこれらのデータオブジェクトに集中され得るようにすることによって、処理1200の全体的効率を高める。
With continued reference to FIG. 12, at
別の実施例では、システムは、あるデータオブジェクトを、これらのデータオブジェクトに関連付けられたメタデータに基づいて、さらなる重複排除処理に自動的に含めるよう、またはさらなる重複排除処理から自動的に除外するよう構成されていてもよい。たとえば、システムは、ある特定のソフトウェアアプリケーションによって作成されたデータオブジェクトを重複排除処理に含めるよう構成されていてもよい。同様に、システムは、ある特定のポリシーの一部としてバックアップされたデータオブジェクトを、さらなる重複排除処理に含めるよう構成されていてもよい。逆に、システムは、ある特定のポリシーによってバックアップされた全データオブジェクト、および/または具体的な名前のデータオブジェクトを、さらなる重複排除処理から除外するよう構成されていてもよい。これらの構成の選択肢により、システム挙動は、どのようなクライアント環境の特定の要望にも適合するよう調整され得るようになり、このため、システム効率、性能および拡張性を高める。 In another embodiment, the system automatically includes or excludes certain data objects from further deduplication processing based on metadata associated with these data objects. It may be configured as follows. For example, the system may be configured to include data objects created by a particular software application in the deduplication process. Similarly, the system may be configured to include data objects backed up as part of a particular policy for further deduplication processing. Conversely, the system may be configured to exclude all data objects backed up by a particular policy and / or specifically named data objects from further deduplication processing. These configuration options allow system behavior to be tailored to suit the specific needs of any client environment, thus increasing system efficiency, performance, and scalability.
ステップ1206で、処理1200を実行するシステムは、さらなる重複排除処理のために識別されたデータオブジェクトにおいて冗長データの位置を特定する。この分析は、メタデータを用いることによって、および/または識別されたデータオブジェクトの実際の内容を検査することによって遂行されてもよい。一実施例では、同様のメタデータを有するデータオブジェクトは、同じデータを備えると仮定される。たとえば、複数のデータオブジェクトがデータファイルで、双方とも同じ名前、一次ストレージおよび巡回冗長検査(CRC)における物理的位置、重複排除処理中に生成されたハッシュまたは何らかの他のメタデータを共有する場合、これら2つのデータオブジェクトは冗長であるとして記録されてもよい。冗長データを識別するためにメタデータを使用することは、いくつかの利点を提供する。メタデータの使用は効率を高める。なぜなら、データオブジェクト全体というよりもむしろ、データオブジェクトのメタデータのみが処理され得るためである。
At
別の実施例では、データオブジェクト同士は、冗長性を保証するためにビット単位で比較されてから、そのように記録されてもよい。このタイプの比較は、コンピューティング資源をたくさん使うかもしれないが、それは、冗長であると識別されたあらゆるデータが実際に完全に冗長である、という強い保証も提供する。冗長性の判断に対するこのアプローチは、たとえば、金融情報といった、完全性が特に重要であるデータオブジェクトを取扱う際に有用であり得る。 In another embodiment, the data objects may be compared bit by bit to ensure redundancy and then recorded as such. This type of comparison may use a lot of computing resources, but it also provides a strong guarantee that any data identified as redundant is actually fully redundant. This approach to redundancy determination may be useful when dealing with data objects where integrity is particularly important, for example financial information.
さらに別の実施例では、データオブジェクトに含まれるデータの一部が分析されて、オブジェクト全体の冗長性を定める。たとえば、あるソフトウェアアプリケーションは、それらが修正するデータオブジェクト内のある位置に、たとえばオブジェクトの最初または最後に、修正されたデータを追いやってもよい。このため、このデータ分散パターンを用いて、システムはその重複排除処理を、静的である可能性がより高いデータオブジェクトの部分に集中させ、こうしてシステム効率を高めてもよい。 In yet another embodiment, a portion of the data contained in the data object is analyzed to determine overall object redundancy. For example, some software applications may drive modified data to a location in the data object that they modify, for example at the beginning or end of the object. Thus, using this data distribution pattern, the system may concentrate its deduplication processing on the portion of the data object that is more likely to be static, thus increasing system efficiency.
この発明の実施例は、冗長データの位置を特定するために、これらの手法の組合せを採用してもよい。より特定的には、システムは、上述のさらなる重複排除処理のためにデータオブジェクトを識別するために使用されたようなメタデータに基づいて、特定の手法を特定のデータオブジェクトに誘導してもよい。このメタデータは、とりわけ、一次ストレージにおける位置、データオブジェクトがバックアップされるようにしたポリシー、およびデータオブジェクトに関連付けられたソフトウェアアプリケーションを含んでいてもよい。データオブジェクト識別と同様に、重複データの位置を特定する態様に関してシステムを調整する能力は、システム拡張性および性能を高める。 Embodiments of the present invention may employ a combination of these techniques to locate redundant data. More specifically, the system may direct a particular approach to a particular data object based on metadata such as that used to identify the data object for further deduplication processing as described above. . This metadata may include, among other things, the location in primary storage, the policy that caused the data object to be backed up, and the software application associated with the data object. Similar to data object identification, the ability to tune the system with respect to the manner in which duplicate data is located increases system scalability and performance.
ステップ1208で、処理1200を実行するシステムは、冗長データを含む以前に識別されたデータオブジェクトの重複排除されたコピーを作成してもよい。これらの重複排除されたコピーには、冗長データがほとんどまたは全くない場合がある。一実施例では、識別されたデータオブジェクトは、たとえば、仮想カートリッジを含んでいてもよい。この場合、システムは、完全に分解されると識別された仮想カートリッジに含まれるデータをすべて含む、1つ以上の重複排除された仮想カートリッジを作成してもよい。上述の合成仮想カートリッジと同様、これらの重複排除された仮想カートリッジは、データオブジェクトおよびデータオブジェクトへのポインタの双方を備えていてもよい。
At
これらの重複排除されたデータコピーの作成中、システムは、ある特定のデータオブジェクト内に重複データのコピーを記憶させ、他のデータオブジェクト内のポインタを作成および/または修正して、重複データをそれらのデータオブジェクト内に記憶させてもよい。システムは、重複データおよびポインタを記憶させる際、さまざまな方法論に従ってもよい。一実施例では、重複データは最も古いデータオブジェクトに収容され、重複データの位置を識別するポインタは、重複データを含むより若いデータオブジェクトに記憶される。当該技術分野において逆方向参照と呼ばれるこの手法は、重複排除処理のためにデータオブジェクトを要約するためにハッシュインデックスが構築される場合に一般的である。 During the creation of these deduplicated data copies, the system stores duplicate data copies in one particular data object, creates and / or modifies pointers in other data objects, May be stored in the data object. The system may follow various methodologies when storing duplicate data and pointers. In one embodiment, duplicate data is contained in the oldest data object, and a pointer identifying the location of the duplicate data is stored in the younger data object that contains the duplicate data. This technique, referred to in the art as backward referencing, is common when hash indexes are constructed to summarize data objects for deduplication processing.
別の実施例では、重複データは最も若いデータオブジェクトに収容され、重複データの位置を識別するポインタは、重複データを含むより古いデータオブジェクトに記憶される。この手法は順方向参照と呼ばれ得る。順方向参照は、データが最後のバックアップから復元される場合のデータ復元性能を高める。なぜなら、バックアップデータオブジェクトに含まれる全データを分解するために、ポインタの参照解除の減少が必要となるためである。この性能の向上は、一次ストレージからデータを復元させなければならない場合に通常、最新の、すなわち最も若いバックアップが使用されるという事実により、特に有利である。 In another embodiment, duplicate data is contained in the youngest data object and a pointer identifying the location of the duplicate data is stored in an older data object that contains the duplicate data. This approach may be referred to as forward reference. Forward referencing enhances data restoration performance when data is restored from the last backup. This is because it is necessary to reduce the dereference of pointers in order to decompose all data included in the backup data object. This increase in performance is particularly advantageous due to the fact that the latest or youngest backup is usually used when data must be restored from primary storage.
図13A、図13Bおよび図13Cは、上述のような順方向参照および逆方向参照を示す。図13Aは、重複排除処理前のバックアップデータオブジェクト1302および1304を示す。この例示のために、バックアップデータオブジェクト1302はバックアップデータオブジェクト1304よりも前に記憶されたと仮定されたい。バックアップデータオブジェクト1302は、固有データ部分1306と冗長データ部分1310Aとを含む。バックアップデータオブジェクト1304は、固有データ部分1308と冗長データ部分1318Bとを含む。
Figures 13A, 13B and 13C show forward and backward references as described above. FIG. 13A shows backup data objects 1302 and 1304 before deduplication processing. For purposes of this illustration, assume that backup data object 1302 was stored prior to
図13Bは、順方向参照方式の下でのデータオブジェクト1302および1304の重複排除されたコピーを示す。2つのうち、より最近に記憶されたデータオブジェクト1304は、冗長データ部分1310Bのコピーを含む。2つのうち、より以前に記憶されたデータオブジェクト1302は、冗長データ部分1310Bを指すポインタ1312を含む。このため、重複排除されたコピーの作成後、より若いデータオブジェクトは冗長データのコピーを含み、より古いデータオブジェクトは、より若いデータオブジェクトの冗長データへのポインタを含む。
FIG. 13B shows a deduplicated copy of
図13Cは、逆方向参照方式の下でのデータオブジェクト1302および1304の重複排除されたコピーを示す。2つのうち、より以前に記憶されたデータオブジェクト1302は、冗長データ1310Aのコピーを含む。2つのうち、より最近に記憶されたデータオブジェクト1302は、冗長データ部分1310Aを指すポインタ1312を含む。このため、重複排除されたコピーの作成後、より古いデータオブジェクトは冗長データのコピーを含み、より若いデータオブジェクトは、より古いデータオブジェクトの冗長データへのポインタを含む。
FIG. 13C shows a deduplicated copy of
ステップ1210で、システムは、データ完全性が保存されたことを確実にするために、重複排除されたコピーを以前に識別されたデータオブジェクトと比較してもよい。この比較は、データオブジェクトポインタの参照解除を必要とする場合があり、また、データオブジェクトに含まれるデータのビット単位の比較を含んでいてもよい。この完全性チェックの実行後、一実施例では、システムは、重複排除されたコピーを識別するポインタとそれらのそれぞれの以前に識別されたデータオブジェクトとを交換して、重複排除されたデータオブジェクトが一次データオブジェクトとなり、以前に識別されたデータオブジェクトが、それを参照するデータオブジェクトの完全性を混乱させることなく削除され得るようにしてもよい。システムはまた、メタデータに他の調節を加えて、それが重複排除されたコピーの特性を正確に反映することを確実にしてもよい。
At
ステップ1212で、以前に識別されたデータオブジェクトによって利用された記憶容量が、他のデータオブジェクトによる使用のために取り戻される。一実施例では、これは、以前に識別されたデータオブジェクトを単に削除することによって遂行されてもよい。ステップ1214で、処理1200は終了する。
In
処理1200は、ある好ましい一連の事象を示す。この発明の精神から逸脱することなく、他の動作を加えることが可能であり、または処理1200において動作の順序を変更することができる。一実施例では、処理1200は、バックアップストレージシステムに含まれる各データオブジェクトについて実行されてもよい。別の実施例では、システムは、バックアップ記憶システムにおけるデータオブジェクトのサブセットについて、処理1200を実行してもよい。
処理1200は要望に応じて実行されてもよく、もしくは1回限りの処理または繰返し処理として予定されてもよい。重複排除によって取り戻された空間があるしきい値を満たすか上回る場合、処理1200のさらなるサブセットが実行されてもよい。たとえば、一実施例では、重複排除が少なくともある特定の数の(たとえば50)テラバイト、または利用されたバックアップ記憶容量のある特定のパーセンテージ(たとえば25%)を自由にする場合のみ、処理1200が動作してもよい。事象駆動型のコンピューティング動作として実現される場合、処理1200を構成する行為は、グリッド環境といった分散型コンピューティング環境において実行されてもよい。
このように、要約すると、重複排除処理1200の実施例は、バックアップデータのコピーを維持するために必要な記憶容量を減少させ、ひいてはバックアップデータを記憶するために必要な電子媒体の量を減少させる。さらに、重複排除処理1200の実施例は、メタデータを用いて重複排除処理を最適化することにより、コンピューティング資源を効率的に使用し得る。最後に、重複排除されたデータを順方向参照方式で記憶することにより、重複排除は、よく使用されるデータ復元機能性の性能を高めることができる。
Thus, in summary, the embodiment of the
さまざまな実施例は、拡張可能な重複排除サービスを提供するコンピュータシステムのための処理を含む。図15は、データを受信し、データを処理するために重複排除ドメインを選択し、選択された重複排除ドメインにデータを誘導する行為を含む、そのような1つの処理1500の一例を示す。処理1500は1502で始まる。
Various embodiments include a process for a computer system that provides an extensible deduplication service. FIG. 15 illustrates an example of one
行為1504で、コンピュータシステムは、重複排除されるべきデータを受信する。上述のように、一実施例によれば、データは、データのブロック、データストリーム、および多重化データストリームを含むさまざまな形式を取っていてもよい。図14に示す例では、データはデータインターフェイス1402によって受信され、さらなる処理のために誘導エンジン1404に提供される。この例によれば、誘導エンジン1404はデータを受信し、データストリームに含まれる予め処理されたメタデータに基づいてデータを1つ以上のデータオブジェクトに区分する。さらに、この例では、誘導エンジン1404はメタデータをそれが作成するデータオブジェクトと関連付ける。
At
行為1506で、コンピュータシステムは、受信データを処理するために重複排除ドメインを選択する。図14に示す例によれば、誘導エンジン1404は、ある特定のデータオブジェクトを、そのデータオブジェクトに関連付けられたメタデータと重複排除ドメインに関連付けられたデータオブジェクト特性とを比較することによって処理するために、重複排除ドメイン1408、1410および1412のうちの1つを選択する。加えて、誘導エンジン1404は、他の情報、たとえば特定の重複排除ドメインに残っている記憶容量の量に基づいて、特定の重複排除ドメインを選択してもよく、または選択しなくてもよい。
At
行為1508で、コンピュータシステムは選択された重複排除ドメインに受信データを誘導する。図14の図示された例によれば、誘導エンジン1404は、データオブジェクトへの参照またはデータオブジェクトのコピーを選択された重複排除ドメインに渡すことにより、選択された重複排除ドメインにデータオブジェクトを提供してもよい。
At
処理1500は1510で終了する。
処理1500は、ある特定の実施例における特定の一連の行為を例示している。これらの処理の各々に含まれる行為は、ここに説明されるように特別に構成された1つ以上のコンピュータシステムにより、またはそれらを用いて、行なわれ得る。加えて、この発明の範囲から逸脱することなく、行為の順序を変更でき、他の行為を追加できる。
The
図3を参照して上述したように、記憶システムは、エンドユーザ復元アプリケーション300と呼ばれるソフトウェアアプリケーションも含んでいてもよい。このため、別の実施例によれば、ITスタッフの介入なく、また既存のバックアップ/復元手順および/またはポリシーに何ら変更を加える必要なく、エンドユーザがバックアップデータの位置を特定し、バックアップデータを復元するための方法が提供される。典型的なバックアップ記憶システムでは、ホストコンピュータ120上で実行中のバックアップ/復元アプリケーションはITスタッフにより制御されており、エンドユーザがITスタッフの介入なくバックアップデータにアクセスすることは、不可能であるかまたは非常に難しい場合がある。この発明の局面および実施例によれば、エンドユーザが、たとえばバックアップ記憶媒体126を有するウェブベースのまたは他のインターフェイスを介して、自分たちのファイルの位置を特定してそれらを復元できるようにする記憶システムソフトウェアが提供される。
As described above with reference to FIG. 3, the storage system may also include a software application called an end user restore
合成フルバックアップアプリケーション240と同様に、エンドユーザ復元アプリケーション300は、記憶システムコントローラ122(図2参照)上で実行されてもよく、またはホストコンピュータ120上で実行されてもよい、ということが認識されるべきである。エンドユーザ復元アプリケーションは、認証されたユーザが、論理メタデータキャッシュを検索してバックアップファイルの位置を特定し、またオプションでバックアップ記憶媒体126からバックアップファイルを復元できるようにするために必要なソフトウェアコマンドおよびインターフェイスを含む。
As with the synthetic full backup application 240, it is recognized that the end user restore
一実施例によれば、ユーザコンピュータ136上にインストールされ、および/またはユーザコンピュータ136上で実行されるユーザインターフェイスを含むソフトウェアが提供される。このユーザインターフェイスは、ユーザがバックアップ記憶媒体上のファイルの位置を特定できるようにする、あらゆるタイプのインターフェイスであり得る。たとえば、ユーザインターフェイスは、グラフィカルユーザインターフェイスであってもよく、ウェブベースであってもよく、またはテキストインターフェイスであってもよい。ユーザコンピュータは、たとえばイーサネット(登録商標)接続であり得るネットワーク接続138を介して記憶システム170に結合される。このネットワーク接続138を通して、ユーザコンピュータ136のオペレータは、記憶システム170上に記憶されたデータにアクセスできる。
According to one embodiment, software is provided that includes a user interface that is installed on and / or executed on the
一例では、エンドユーザ復元アプリケーション300は、ユーザ認証および/または認定特徴を含む。たとえば、ユーザは、ユーザ名およびパスワードを用いて、ユーザコンピュータ上のユーザインターフェイスを介してログインするよう要求されてもよい。ユーザコンピュータは、ユーザが記憶システムへのアクセスを有するかどうかを判断するために、適切なユーザ認証機構を使用し得る記憶システム(たとえばエンドユーザ復元アプリケーション)に、ユーザ名およびパスワードを通信してもよい。使用され得るユーザ認証機構のいくつかの例は、マイクロソフト アクティブディレクトリ(Active Directory)サーバ、ユニックス(UNIX(登録商標))「イエローページ」サーバ、またはライトウェイト・ディレクトリ・アクセスプロトコル(Lightweight Directory Access Protocol)を含むが、それらに限定されない。ログイン/ユーザ認証機構は、ユーザ権限を交換するために、エンドユーザ復元アプリケーションと通信してもよい。たとえば、一部のユーザは、自分で作成したファイル、またはある権限を有するか所有者として識別されているファイルのみ検索することを許可されていてもよい。他のユーザ、たとえばシステムオペレータまたはアドミニストレータは、すべてのバックアップファイルなどへのアクセスが許可されていてもよい。
In one example, the end user restore
一実施例によれば、エンドユーザ復元アプリケーションは論理メタデータキャッシュを用いて、バックアップ記憶媒体上にバックアップされたすべてのデータファイルについての情報を得る。エンドユーザ復元アプリケーションは、ユーザインターフェイスを介して、たとえばバックアップ時間/日付、ユーザ名、(ファイルがバックアップされた際に得られたかもしれない)元のユーザコンピュータディレクトリ構造、または他のファイル特性などによって分類されたユーザのファイルの階層型ディレクトリ構造を、ユーザに提示する。一例では、ユーザに提示されるディレクトリ構造は、そのユーザにとって可能とされた権限に応じて変わり得る。エンドユーザ復元アプリケーションはブラウズ要求を受付けてもよく(すなわち、ユーザインターフェイスを通して、ユーザは所望のファイルの位置を特定するためにディレクトリ構造をブラウズしてもよく)、または、ユーザは名前、日付などによってファイルを検索してもよい。 According to one embodiment, the end user restore application uses a logical metadata cache to obtain information about all data files backed up on a backup storage medium. The end-user restore application can be accessed via the user interface, eg by backup time / date, user name, original user computer directory structure (which may have been obtained when the file was backed up), or other file characteristics. The hierarchical directory structure of the classified user's files is presented to the user. In one example, the directory structure presented to a user can vary depending on the permissions enabled for that user. The end user restore application may accept browse requests (ie, through the user interface, the user may browse the directory structure to locate the desired file), or the user may be by name, date, etc. You may search for a file.
一実施例によれば、ユーザは、記憶システムからバックアップファイルを復元してもよい。たとえば、ユーザが一旦所望のファイルの位置を特定すると、上述のように、ユーザはネットワーク接続138を介して記憶システムからファイルをダウンロードしてもよい。一例では、このダウンロード手順は、当業者には公知であるようなウェブベースのダウンロードと同等の態様で実現されてもよい。
According to one embodiment, the user may restore a backup file from the storage system. For example, once the user locates the desired file, the user may download the file from the storage system via the
エンドユーザが閲覧/ダウンロードを許可されたファイルにアクセスできるようにすることにより、また、ユーザインターフェイス(たとえばウェブベースの技術)を通してそのようなアクセスを可能にすることにより、エンドユーザ復元アプリケーションは、バックアップポリシーまたは手順を変える必要なく、ユーザが自分たち自身のファイルを検索し、復元できるようにする。 By enabling end users to access files that they are authorized to view / download, and by allowing such access through a user interface (eg, web-based technology), end-user restore applications can be backed up. Allow users to find and restore their own files without having to change policies or procedures.
合成フルバックアップアプリケーションおよびエンドユーザ復元アプリケーションといったこの発明の局面は主としてソフトウェアに関してここに説明されているが、それらはそれに代えて、ソフトウェア、ハードウェアもしくはファームウェア、またはそれらの任意の組合せで実現され得る、ということが認識されるべきである。 Although aspects of the present invention, such as synthetic full backup applications and end-user restore applications, are primarily described herein with respect to software, they can instead be implemented in software, hardware or firmware, or any combination thereof. It should be recognized that.
このため、たとえば、この発明の実施例は、実行時に、記憶システムのプロセッサに対して、上に詳述したような合成フルバックアップアプリケーションおよび/またはエンドユーザ復元アプリケーションの機能を少なくとも部分的に行なうコンピュータプログラム(すなわち複数の命令)で符号化された、コンピュータ読取り可能媒体(たとえばコンピュータメモリ、フロッピー(登録商標)ディスク、コンパクトディスク、テープなど)を備えていてもよい。 Thus, for example, embodiments of the present invention provide a computer that at least partially performs the functions of a synthetic full backup application and / or end-user restore application as detailed above to a processor of a storage system at run time. A computer readable medium (eg, computer memory, floppy disk, compact disk, tape, etc.) encoded with a program (ie, a plurality of instructions) may be provided.
概して要約すれば、この発明の実施例および局面はこのように、従来のテープバックアップシステムをエミュレートしているものの、合成バックアップを作成可能であること、エンドユーザがバックアップファイルを閲覧し復元できるようになることといった機能性の向上を提供し得る、記憶システムおよび方法を含む。しかしながら、この発明のさまざまな局面はコンピュータデータのバックアップ以外のために使用されてもよい、ということが認識されるべきである。この発明の記憶システムは膨大な量のデータを経済的に記憶するために使用されてもよく、その記憶されたデータは順次ではなくランダムに、かつハードディスクアクセス時間でアクセス可能であるため、この発明の実施例は、従来のバックアップ記憶システム以外での使用を見出し得る。たとえば、この発明の実施例は、幅広い選択肢の映画および音楽を表わす映像または音声データを記憶し、必要に応じて映像および/または音声を可能にするために使用されてもよい。 In summary, the embodiments and aspects of the present invention thus emulate a conventional tape backup system, but can create synthetic backups and allow end users to browse and restore backup files. Including storage systems and methods that can provide improved functionality such as. However, it should be recognized that various aspects of the present invention may be used for purposes other than computer data backup. The storage system of the present invention may be used to economically store a huge amount of data, and the stored data can be accessed randomly rather than sequentially and with hard disk access time. This embodiment may find use outside of conventional backup storage systems. For example, embodiments of the present invention may be used to store video or audio data representing a wide selection of movies and music, allowing video and / or audio as needed.
この発明の少なくとも1つの実施例のいくつかの局面を説明してきたが、当業者の脳裏にはさまざまな変更、修正および改良が容易に浮かぶであろう、ということが認識されるべきである。そのような変更、修正および改良は、この開示の一部であるよう意図されており、この発明の範囲内にあるよう意図されている。したがって、前述の説明および図面は単なる例示である。 While several aspects of at least one embodiment of the present invention have been described, it should be recognized that various changes, modifications and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the scope of the invention. Accordingly, the foregoing description and drawings are merely exemplary.
Claims (29)
前記アプリケーション層データオブジェクトを受信することと、
複数の重複排除ドメインからある重複排除ドメインを、前記重複排除ドメインに関連付けられたデータオブジェクト特性に少なくとも部分的に基づいて選択することと、
前記アプリケーション層データオブジェクトが前記特性を有すると判断することと、
前記選択された重複排除ドメインに前記アプリケーション層データオブジェクトを誘導することとを備える、方法。 A method for inducing deduplication of application layer data objects, the method comprising:
Receiving the application layer data object;
Selecting a deduplication domain from a plurality of deduplication domains based at least in part on data object characteristics associated with the deduplication domain;
Determining that the application layer data object has the characteristics;
Directing the application layer data object to the selected deduplication domain.
データストリームを受信することと、
前記データストリームに含まれるメタデータを用いて前記アプリケーション層データオブジェクトを識別することとを含む、請求項1に記載の方法。 Receiving the application layer data object includes
Receiving a data stream;
The method of claim 1, comprising identifying the application layer data object using metadata included in the data stream.
重複排除の行為の結果に基づいて、前記複数の重複排除ドメインのうちの少なくとも1つに関連付けられた前記データオブジェクト特性を調節することとをさらに備える、請求項1に記載の方法。 Deduplicating the application layer data object within the selected deduplication domain;
The method of claim 1, further comprising adjusting the data object characteristics associated with at least one of the plurality of deduplication domains based on a deduplication act result.
複数の重複排除ドメインを備え、前記複数の重複排除ドメインのうちの各重複排除ドメインは、複数のアプリケーション層データオブジェクトに共通の少なくとも1つの特性に関連付けられており、前記システムはさらに、
前記複数の重複排除ドメインに結合されたコントローラを備え、前記コントローラは、
前記アプリケーション層データオブジェクトを受信し、
前記アプリケーション層データオブジェクトが、ある重複排除ドメインに関連付けられた前記少なくとも1つの特性を有すると判断し、
前記重複排除ドメインに前記アプリケーション層データオブジェクトを誘導するよう構成されている、システム。 A system for inducing deduplication of application layer data objects, the system comprising:
A plurality of deduplication domains, each of the deduplication domains being associated with at least one characteristic common to a plurality of application layer data objects, the system further comprising:
A controller coupled to the plurality of deduplication domains, the controller comprising:
Receiving the application layer data object;
Determining that the application layer data object has the at least one characteristic associated with a deduplication domain;
A system configured to direct the application layer data object to the deduplication domain.
データストリームを受信し、
前記データストリームに含まれるメタデータを用いて前記アプリケーション層データオブジェクトを識別するよう構成されている、請求項16に記載のシステム。 The controller further includes:
Receive the data stream,
The system of claim 16, configured to identify the application layer data object using metadata contained in the data stream.
前記選択された重複排除ドメイン内で、前記アプリケーション層データオブジェクトの重複排除を引き起こし、
重複排除の行為の結果に基づいて、前記複数の重複排除ドメインのうちの少なくとも1つに関連付けられた前記データオブジェクト特性を調節するよう構成されている、請求項16に記載のシステム。 The controller further includes:
Causing deduplication of the application layer data object within the selected deduplication domain;
The system of claim 16, wherein the system is configured to adjust the data object characteristic associated with at least one of the plurality of deduplication domains based on a deduplication act result.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2150108P | 2008-01-16 | 2008-01-16 | |
PCT/US2009/031222 WO2009091957A2 (en) | 2008-01-16 | 2009-01-16 | Scalable de-duplication mechanism |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011510405A true JP2011510405A (en) | 2011-03-31 |
Family
ID=40885894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010543270A Withdrawn JP2011510405A (en) | 2008-01-16 | 2009-01-16 | Scalable deduplication mechanism |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP2235640A2 (en) |
JP (1) | JP2011510405A (en) |
CN (1) | CN101939737A (en) |
AU (1) | AU2009206038A1 (en) |
CA (1) | CA2711273A1 (en) |
WO (1) | WO2009091957A2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012094220A (en) * | 2010-10-28 | 2012-05-17 | Internatl Business Mach Corp <Ibm> | Storage device for eliminating overlapping of written record, and writing method thereof |
JP2015514241A (en) * | 2012-04-13 | 2015-05-18 | 株式会社日立製作所 | Storage device |
JP2017174041A (en) * | 2016-03-23 | 2017-09-28 | 日本電気株式会社 | Information processing apparatus, storage system, storage control method and computer program |
JP2018508864A (en) * | 2015-01-19 | 2018-03-29 | ノキア テクノロジーズ オーユー | Method and apparatus for managing heterogeneous data storage in cloud computing |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291183B2 (en) | 2009-01-15 | 2012-10-16 | Emc Corporation | Assisted mainframe data de-duplication |
US8682873B2 (en) | 2010-12-01 | 2014-03-25 | International Business Machines Corporation | Efficient construction of synthetic backups within deduplication storage system |
US9933978B2 (en) | 2010-12-16 | 2018-04-03 | International Business Machines Corporation | Method and system for processing data |
US8332372B2 (en) * | 2010-12-16 | 2012-12-11 | International Business Machines Corporation | Method and system for processing data |
CN103975300A (en) * | 2011-12-08 | 2014-08-06 | 英派尔科技开发有限公司 | Storage discounts for allowing cross-user deduplication |
US10235396B2 (en) * | 2016-08-29 | 2019-03-19 | International Business Machines Corporation | Workload optimized data deduplication using ghost fingerprints |
US11416447B2 (en) * | 2017-06-08 | 2022-08-16 | Hitachi Vantara Llc | Deduplicating distributed erasure coded objects |
US11182406B2 (en) | 2020-03-27 | 2021-11-23 | International Business Machines Corporation | Increased data availability during replication |
CN112632191A (en) * | 2020-12-29 | 2021-04-09 | 中国农业银行股份有限公司 | Data processing method and system |
CN114020218B (en) * | 2021-11-25 | 2023-06-02 | 建信金融科技有限责任公司 | Hybrid de-duplication scheduling method and system |
WO2024046554A1 (en) * | 2022-08-31 | 2024-03-07 | Huawei Technologies Co., Ltd. | Parallel deduplication mechanism on sequential storage media |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795819B2 (en) * | 2000-08-04 | 2004-09-21 | Infoglide Corporation | System and method for building and maintaining a database |
KR20020066836A (en) * | 2001-02-14 | 2002-08-21 | 한국통신정보기술 주식회사 | Recording medium for recording hierarchical data structure and method for creating hierarchical data storage structure |
EP1244221A1 (en) * | 2001-03-23 | 2002-09-25 | Sun Microsystems, Inc. | Method and system for eliminating data redundancies |
KR100700200B1 (en) * | 2004-12-24 | 2007-03-27 | 주식회사 나우콤 | Method and apparatus for storing and downloading duplicated file using different file information |
US7840537B2 (en) * | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
US8315984B2 (en) * | 2007-05-22 | 2012-11-20 | Netapp, Inc. | System and method for on-the-fly elimination of redundant data |
-
2009
- 2009-01-16 WO PCT/US2009/031222 patent/WO2009091957A2/en active Application Filing
- 2009-01-16 JP JP2010543270A patent/JP2011510405A/en not_active Withdrawn
- 2009-01-16 CA CA2711273A patent/CA2711273A1/en not_active Abandoned
- 2009-01-16 AU AU2009206038A patent/AU2009206038A1/en not_active Abandoned
- 2009-01-16 EP EP09702041A patent/EP2235640A2/en not_active Withdrawn
- 2009-01-16 CN CN2009801016964A patent/CN101939737A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012094220A (en) * | 2010-10-28 | 2012-05-17 | Internatl Business Mach Corp <Ibm> | Storage device for eliminating overlapping of written record, and writing method thereof |
US8806173B2 (en) | 2010-10-28 | 2014-08-12 | International Business Machines Corporation | Elimination of duplicate written records |
JP2015514241A (en) * | 2012-04-13 | 2015-05-18 | 株式会社日立製作所 | Storage device |
JP2018508864A (en) * | 2015-01-19 | 2018-03-29 | ノキア テクノロジーズ オーユー | Method and apparatus for managing heterogeneous data storage in cloud computing |
US10581856B2 (en) | 2015-01-19 | 2020-03-03 | Nokia Technologies Oy | Method and apparatus for heterogeneous data storage management in cloud computing |
JP2017174041A (en) * | 2016-03-23 | 2017-09-28 | 日本電気株式会社 | Information processing apparatus, storage system, storage control method and computer program |
Also Published As
Publication number | Publication date |
---|---|
WO2009091957A3 (en) | 2009-10-15 |
AU2009206038A1 (en) | 2009-07-23 |
CA2711273A1 (en) | 2009-07-23 |
WO2009091957A2 (en) | 2009-07-23 |
CN101939737A (en) | 2011-01-05 |
EP2235640A2 (en) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8280926B2 (en) | Scalable de-duplication mechanism | |
US8938595B2 (en) | Emulated storage system | |
JP2011510405A (en) | Scalable deduplication mechanism | |
KR100890573B1 (en) | Emulated storage system | |
US20050108486A1 (en) | Emulated storage system supporting instant volume restore | |
US8185554B1 (en) | Storage of data with composite hashes in backup systems | |
US9104622B2 (en) | Retrieval and recovery of data chunks from alternate data stores in a deduplicating system | |
CA2817119C (en) | Synthetic backups within deduplication storage system | |
US7596713B2 (en) | Fast backup storage and fast recovery of data (FBSRD) | |
US8918400B2 (en) | Data set index record preservation | |
US9449007B1 (en) | Controlling access to XAM metadata | |
KR20060080239A (en) | Emulated storage system supporting instant volume restore | |
JP2007527572A5 (en) | ||
Rao | Data duplication using Amazon Web Services cloud storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120403 |