Efficient file replication which preserves the underlying extent structure

US8984097B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-8984097-B1
Application numberUS-201213478309-A
CountryUS
Kind codeB1
Filing dateMay 23, 2012
Priority dateMay 23, 2012
Publication dateMar 17, 2015
Grant dateMar 17, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system and method for replicating a set of files from a source computer system to a target computer system are described. The underlying extent structure of the files may be preserved. For example, if an original file on the source computer system has a particular number of extents then the copy of the file created on the target computer system may have the same number of extents, where each respective extent in the copy represents the same byte range of the file as its corresponding extent in the original file. The file systems employed on the source computer system and the target computer system may support different extent types. The extent types of the original files stored on the source computer system may be preserved in the copies of the files on the target computer system.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-transitory computer-accessible storage medium storing program instructions executable by a source computer system to cause the source computer system to: replicate a file from the source computer system to a target computer system, wherein the program instructions are executable to cause the source computer system to perform at least the following operations in replicating the file: receive extent information identifying extents of the file; determine from the extent information that the file includes a first extent of a first extent type and one or more additional extents including a compressed extent, wherein the first extent type is one of a plurality of extent types and the one or more additional extents have a corresponding one or more additional extent types, wherein each of the one or more additional extent types is one of the plurality of extent types, and wherein the compressed extent includes data compressed by a file system of the source computer system in response to receiving original data from an application; determine first transmission information corresponding to the first extent to transmit to the target computer system, wherein the first transmission information specifies the first extent type; transmit the first transmission information to the target computer system, wherein the first transmission information enables the target computer system to replicate the first extent; and for each of the one or more additional extents: determine respective transmission information, corresponding to that additional extent, specifying the respective extent type of that additional extent, including specifying a compressed extent type for the compressed extent; and transmit the respective transmission information to the target computer system, wherein the respective transmission information enables a file system of the target computer system to replicate the respective additional extent; wherein the first transmission information and the respective transmission information for each of the one or more additional extents enable the target computer system to preserve an extent structure of the file, wherein the extent structure comprises a quantity of the extents and the respective extent type of the extents, including the first extent of the first extent type and the one or more additional extents having the corresponding one or more additional extent types. 2. The non-transitory computer-accessible storage medium of claim 1 , further storing additional program instructions executable by the target computer system to cause the target computer system to: create a copy of the file on the target computer system, wherein the additional program instructions are executable to cause the target computer system to perform at least the following operations in creating the copy of the file: receive the first transmission information corresponding to the first extent from the source computer system; analyze the first transmission information to determine that the first transmission information specifies the first extent type; and send a file system of the target computer system a request to create the first extent in the copy of the file, wherein the request to create the first extent specifies the first extent type. 3. The non-transitory computer-accessible storage medium of claim 2 , wherein in causing the target computer system to create the copy of the file, the additional program instructions are executable to cause the target computer system to create a respective new extent corresponding to each of the one or more additional extents, wherein the respective new extent is an extent of the same extent type as the additional extent to which the respective new extent corresponds. 4. The non-transitory computer-accessible storage medium of claim 1 , wherein the first extent specifies that a particular set of data corresponds to a first byte range of the file, wherein the program instructions are executable to cause the source computer system to replicate the file to the target computer system without transmitting the particular set of data to the target computer system. 5. The non-transitory computer-accessible storage medium of claim 1 , wherein the first extent corresponds to a first byte range of the file and corresponds to a first set of storage locations of a storage device, wherein the first set of storage locations is allocated to the file; wherein the program instructions are executable to cause the source computer system to replicate the file to the target computer system without reading data from the first set of storage locations. 6. The non-transitory computer-accessible storage medium of claim 1 , wherein the first extent corresponds to a first byte range of the file and corresponds to a first set of storage locations of a storage device, wherein the first set of storage locations is allocated to the file, wherein the first extent type indicates that when an application requests to read the first byte range of the file, a file system should return all 0's as data for the first byte range; wherein the program instructions are executable to cause the source computer system to replicate the file to the target computer system without transmitting 0's as data for the first byte range. 7. The non-transitory computer-accessible storage medium of claim 1 , wherein the first extent corresponds to a first byte range of the file for which storage device locations are not allocated, wherein the first extent type indicates that when an application requests to read the first byte range of the file, a file system should return all 0's as data for the first byte range; wherein the program instructions are executable to cause the source computer system to replicate the file to the target computer system without transmitting 0's as data for the first byte range. 8. The non-transitory computer-accessible storage medium of claim 1 , wherein the first extent corresponds to a first byte range of the file and corresponds to a first set of storage locations of a storage device, wherein encoded data is stored in the first set of storage locations, wherein the first extent type indicates that when an application requests to read the first byte range of the file, a file system should decode the data and return the decoded data; wherein the program instructions are executable to cause the source computer system to transmit the encoded data to the target computer system without decoding the data. 9. The non-transitory computer-accessible storage medium of claim 1 , wherein the respective transmission information corresponding to the compressed extent includes compressed data stored in the compressed extent, a length of the original data, and a length of the compressed data stored in the compressed extent. 10. The non-transitory computer-accessible storage medium of claim 1 , wherein the file is a first file, wherein the first extent type indicates that the first extent is a first shared extent referencing a first set of storage device locations which are also referenced by a second shared extent of a second file, wherein first data is stored in the first set of storage device locations; wherein in replicating the file from the source computer system to the target computer system, the program instructions are executable to cause the source computer system to read the first data from the first set of storage locations and transmit the first data to the target computer system in the first transmission information; wherein the program instructions are further executable by the source computer system to cause the source computer system to replicate the second file to the target compute

Assignees

Inventors

Classifications

  • by selection of backup contents · CPC title

  • Techniques for file synchronisation in file systems · CPC title

  • implemented as replicated file system · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US8984097B1 cover?
A system and method for replicating a set of files from a source computer system to a target computer system are described. The underlying extent structure of the files may be preserved. For example, if an original file on the source computer system has a particular number of extents then the copy of the file created on the target computer system may have the same number of extents, where each …
Who is the assignee on this patent?
Shyam Nagaraj, Kumaresan Bala, Boyer Brad, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F11/1451. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 17 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).