Patentable/Patents/US-7185032
US-7185032

Mechanism for replicating and maintaining files in a space-efficient manner

PublishedFebruary 27, 2007
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A mechanism for replicating and maintaining files in a space-efficient manner is disclosed. In one embodiment, a current file is replicated by associating the data blocks of the current file with both the current file and a new file. The new file and the current files are separate and distinct from each other. Data blocks remain shared until the content of one file is modified. Only the data blocks affected by the modification are duplicated. The two files share the unchanged data blocks, but both files are each associated with additional data blocks that reflect the modification. Reference values are used to track how many files are associated with each data block. In another embodiment, a file descriptor is linked to a filename at the request of a user or application. The present invention avoids needless duplication of the same data blocks among copies of a file.

Patent Claims
12 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer-implemented method for modifying a current file associated with a file name comprising: receiving a request to modify said current file; creating a new file, wherein said new file is a replica of said current file and wherein said new file is associated with a file descriptor; modifying said new file in response to said request to modify said current file, wherein said new file is only accessible by an entity that sent said request to modify said current file; linking said file descriptor to said file name, such that said new file replaces said current file; wherein: said current file is associated with a plurality of data blocks; based on creating said new file, said new file is associated with said plurality of data blocks such that both said current file and said new file are associated with said plurality of data blocks; modifying said new file in response to said request to modify said current file further comprises: associating at least one additional data block with said new file in place of at least one original data block of said plurality of data blocks, wherein: said at least one additional data block is not associated with said current file; and the content of said at least one additional data block is based on said request to modify said current file; and as a result of linking said file descriptor to said file name, said file descriptor is associated with said at least one additional data block and with said plurality of data blocks excluding said at least one original data block.

2

2. The method of claim 1 , wherein, prior to linking said file descriptor to said file name, said current file continues to be capable of being accessed.

3

3. The method of claim 1 , wherein: said file descriptor that is associated with said new file is a new file descriptor; said current file is associated with a current file descriptor; and linking said file descriptor to said file name, such that said new file replaces said current file, further comprises: linking said new file descriptor to said file name, such that said new file descriptor replaces said current file descriptor and said new file replaces said current file.

4

4. The method of claim 1 , wherein an operating system receives the request to modify said current file, creates said new file, modifies said new file, and links said file descriptor to said file name.

5

5. An apparatus for modifying a current file associated with a file name comprising: a mechanism for receiving a request to modify said current file; a mechanism for creating a new file, wherein said new file is a replica of said current file and wherein said new file is associated with a file descriptor; a mechanism for modifying said new file in response to said request to modify said current file, wherein said new file is only accessible by an entity that sent said request to modify said current file; a mechanism for linking said file descriptor to said file name, such that said new file replaces said current file; wherein: said current file is associated with a plurality of data blocks; based on creating said new file, said new file is associated with said plurality of data blocks such that both said current file and said new file are associated with said plurality of data blocks; the mechanism for modifying said new file in response to said request to modify said current file further comprises: a mechanism for associating at least one additional data block with said new file in place of at least one original data block of said plurality of data blocks, wherein: said at least one additional data block is not associated with said current file; and the content of said at least one additional data block is based on said request to modify said current file; and as a result of linking said file descriptor to said file name, said file descriptor is associated with said at least one additional data block and with said plurality of data blocks excluding said at least one original data block.

6

6. The apparatus of claim 5 , wherein, prior to linking said file descriptor to said file name, said current file continues to be capable of being accessed.

7

7. The apparatus of claim 5 , wherein: said file descriptor that is associated with said new file is a new file descriptor; said current file is associated with a current file descriptor; and the mechanism for linking said file descriptor to said file name, such that said new file replaces said current file, further comprises: a mechanism for linking said new file descriptor to said file name, such that said new file descriptor replaces said current file descriptor and said new file replaces said current file.

8

8. The apparatus of claim 5 , wherein an operating system includes the mechanism for receiving the request to modify said current file, the mechanism for creating said new file, the mechanism for modifying said new file, and the mechanism for linking said file descriptor to said file name.

9

9. A computer-readable medium having stored thereon instructions which, when executed by one or more processors, cause the one or more processors to modify a current file associated with a file name, said computer-readable medium comprising: instructions for causing one or more processors to receive a request to modify said current file; instructions for causing one or more processors to create a new file, wherein said new file is a replica of said current file and wherein said new file is associated with a file descriptor; instructions for causing one or more processors to modify said new file in response to said request to modify said current file, wherein said new file is only accessible by an entity that sent said request to modify said current file; instructions for causing one or more processors to link said file descriptor to said file name, such that said new file replaces said current file; wherein: said current file is associated with a plurality of data blocks; based on creating said new file, said new file is associated with said plurality of data blocks such that both said current file and said new file are associated with said plurality of data blocks; the instructions for modifying said new file in response to said request to modify said current file further comprises: instructions for associating at least one additional data block with said new file in place of at least one original data block of said plurality of data blocks, wherein: said at least one additional data block is not associated with said current file; and the content of said at least one additional data block is based on said request to modify said current file; and as a result of linking said file descriptor to said file name, said file descriptor is associated with said at least one additional data block and with said plurality of data blocks excluding said at least one original data block.

10

10. The computer readable medium of claim 9 , wherein, prior to causing one or more processors to link said file descriptor to said file name, said current file continues to be capable of being accessed.

11

11. The computer-readable medium of claim 9 , wherein: said file descriptor that is associated with said new file is a new file descriptor; said current file is associated with a current file descriptor; and the instructions for linking said file descriptor to said file name, such that said new file replaces said current file, further comprises: instructions for linking said new file descriptor to said file name, such that said new file descriptor replaces said current file descriptor and said new file replaces said current file.

12

12. The computer-readable medium of claim 9 , wherein an operating system includes the instructions for receiving the request to modify said current file, the instructions for creating said new file, the instructions for modifying said new file, and the instructions for linking said file descriptor to said file name.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

July 11, 2003

Publication Date

February 27, 2007

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Mechanism for replicating and maintaining files in a space-efficient manner” (US-7185032). https://patentable.app/patents/US-7185032

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.