IP Library Granted Patent US 9,020,909
Granted Patent B2
US 9,020,909 · App. 13/761,400 · Granted Apr 28, 2015

Active file Instant Cloning

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,020,909
App. No.
13/761,400
Filed
Feb 7, 2013
Granted
Apr 28, 2015
Kind
B2
Examiner
LE, HUNG D
Art Unit
2161
USPC
707/692
Abstract

Techniques and mechanisms are provided to instantly clone active files including active optimized files. When a new instance of an active file is created, a new stub is generated in the user namespace and a block map file is cloned. The block map file includes the same offsets and location pointers that existed in the original block map file. No user file data needs to be copied. If the cloned file is later modified, the behavior can be same as what happens when a de-duplicated file is modified.

Claims (24)

1. A method comprising:

receiving a request to clone an active and optimized file, the active and optimized file associated with a block map file, the block map file referencing a plurality of objects including a plurality of data segments included in the active and optimized file, wherein the active and optimized file is a virtual image associated with a virtual machine; and

cloning the block map file to create a cloned block map file, the cloned block map file referencing the same plurality of objects including the plurality of data segments included in the active and optimized file, wherein a stub file associated with the active and optimized file is cloned to a create a cloned stub file, and wherein the cloned stub file appears in a user viewable namespace as a file separate from the stub file.

2. The method of claim 1 , wherein the active and optimized file has been deduplicated.

3. The method of claim 1 , wherein the active and optimized file has been compressed.

4. The method of claim 1 , wherein the stub file is associated with extended attribute information in the user viewable namespace.

5. The method of claim 4 , wherein the block map file is associated with the same extended attributed information in a user inaccessible locker.

6. The method of claim 1 , wherein the cloned stub file is associated with extended attribute information in the user viewable namespace.

7. The method of claim 6 , wherein the cloned block map file is associated with the same extended attribute information in a user inaccessible locker.

8. The method of claim 1 , wherein the block map file includes offset, length, and location information pointing to data segments in a datastore suitcase.

9. The method of claim 8 , wherein the cloned block map file includes the same offset, length, and location information pointing to the same data segments in the datastore suitcase.

10. A system comprising:

an interface configured to receive a request to clone an active and optimized file, the active and optimized file corresponding to a block map file, the block map file referencing a plurality of objects including a plurality of data segments found in the active and optimized file, wherein the active and optimized file is a virtual image associated with a virtual machine running on a system; and

a processor configured to clone the block map file to create a cloned block map file, the cloned block map filed referencing the same plurality of objects including the plurality of data segments found in the active and optimized file, wherein a stub file associated with the active and optimized file is cloned to a create a cloned stub file, and wherein the cloned stub file appears in a user viewable namespace as a file separate from the stub file.

11. The system of claim 10 , wherein the active and optimized file has been deduplicated.

12. The system of claim 10 , wherein the active and optimized file has been compressed.

13. The system of claim 10 , wherein the stub file is associated with extended attribute information in the user viewable namespace.

14. The system of claim 13 , wherein the block map file is associated with the same extended attributed information in a user inaccessible locker.

15. The system of claim 10 , wherein the cloned stub file is associated with extended attribute information in the user viewable namespace.

16. The system of claim 15 , wherein the cloned block map file is associated with the same extended attribute information in a user inaccessible locker.

17. The system of claim 10 , wherein the block map file includes offset, length, and location information pointing to data segments in a datastore suitcase.

18. A non-transitory computer readable medium comprising:

computer code for receiving a request to clone an active and optimized file, the active and optimized file associated with a block map file, the block map file referencing a plurality of objects including a plurality of data segments included in the active and optimized file, wherein the active and optimized file is a virtual image associated with a virtual machine; and

computer code for cloning the block map file to create a cloned block map file, the cloned block map file referencing the same plurality of objects including the plurality of data segments included in the active and optimized file, wherein a stub file associated with the active and optimized file is cloned to a create a cloned stub file, and wherein the cloned stub file appears in a user viewable namespace as a file separate from the stub file.