IP Library Granted Patent US 12,596,688
Granted Patent B2
US 12,596,688 · App. 18/788,945 · Granted Apr 7, 2026

Managed directories for virtual machines

Inventors: Ronald Karr (Palo Alto, CA); David A. Grunwald (San Francisco, CA)
Assignee: Pure Storage, Inc.
G06F16/188G06F16/128G06F16/184
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 12,596,688
App. No.
18/788,945
Granted
Apr 7, 2026
Kind
B2
Abstract

An illustrative data storage system is configured to provide managed directories for virtual machines. For example, an example system is configured to generate a managed directory within a file system, the managed directory configured to provide directory-level storage management functionality to contents of the managed directory as a group, and store configuration data and image data of a virtual machine as the contents of the managed directory.

Claims (37)

1 . A computer-implemented storage system comprising:

a memory storing instructions; and

a processor communicatively coupled to the memory and configured to execute the instructions to:

generate a managed directory within a file system presented by the computer-implemented storage system, the managed directory comprising a storage management structure configured to group contents of the managed directory to support application of directory-level storage management functionality to the contents of the managed directory as a group;

store configuration data and image data of a virtual machine as the contents of the managed directory; and

subsequent to the configuration data and image data of the virtual machine being stored as the contents of the managed directory, execute a storage management function of the storage system applied specifically to the configuration data and the image data of the virtual machine, wherein the managed directory is used to identify the configuration data and the image data of the virtual machine as the contents of the managed directory to which the storage management function is applied.

2 . The storage system of claim 1 , wherein the managed directory implements quotas limiting space consumed by the virtual machine.

3 . The storage system of claim 2 , wherein the quotas further limit space consumed by snapshots of the managed directory.

4 . The storage system of claim 1 , wherein the processor is configured to execute the instructions to clone the virtual machine, the cloning of the virtual machine comprising cloning the managed directory such that a virtual machine platform can operate a new virtual machine utilizing the cloned managed directory.

5 . The storage system of claim 4 , wherein the cloning of the managed directory comprises cloning a snapshot of the managed directory.

6 . The storage system of claim 1 , wherein the processor is configured to execute the instructions to snapshot the virtual machine, the snapshotting of the virtual machine comprising snapshotting the managed directory.

7 . The storage system of claim 1 , wherein the processor is configured to execute the instructions to report a space consumption of the managed directory.

8 . The storage system of claim 1 , wherein the managed directory implements replication rules to control replication of the contents of the managed directory.

9 . The storage system of claim 8 , wherein the replication comprises synchronous replication to a paired managed directory of another storage system.

10 . The storage system of claim 8 , wherein the replication comprises checkpoint-based replication to a paired managed directory of another storage system.

11 . The storage system of claim 1 , wherein the contents of the managed directory representing the virtual machine comprise block objects of a block-object-based file system.

12 . The storage system of claim 11 , wherein the block objects are mapped to files of the virtual machine in the block-object-based file system, the files formed using virtual copy operations to virtually copy the image data of the virtual machine from a source that is external to the block-object-based file system.

13 . The storage system of claim 12 , wherein the source comprises configuration and image files of a VMFS file system.

14 . The storage system of claim 1 , wherein the processor is configured to execute the instructions to copy the virtual machine to another storage system, the copying of the virtual machine comprising the storage system copying the contents of the managed directory to the other storage system.

15 . A computer-implemented storage system comprising:

a memory storing instructions; and

a processor communicatively coupled to the memory and configured to execute the instructions to:

generate file system metadata representative of a managed directory within a file system presented by the storage system, the managed directory comprising a storage management structure configured to group contents of the managed directory to support application of directory-level storage management functionality to the contents of the managed directory as a group;

store configuration data and content data of a virtually isolated run-time environment as the contents of the managed directory, the virtually isolated run-time environment configured to run on a host server system; and

subsequent to the configuration data and content data of the virtually isolated run-time environment being stored as the contents of the managed directory, execute a storage management function of the storage system applied specifically to the configuration data and the content data of the virtually isolated run-time environment, wherein the managed directory is used to identify the configuration data and the content data of the virtually isolated run-time environment as the contents of the managed directory to which the storage management function is applied.

16 . The storage system of claim 15 , wherein the contents of the managed directory representing the virtually isolated run-time environment comprise block objects of a block-object-based file system.

17 . The storage system of claim 16 , wherein the block objects are mapped to files of the virtually isolated run-time environment in the block-object-based file system, the files formed using virtual copy operations to virtually copy the content data of the virtually isolated run-time environment from a source that is external to the block-object-based file system.

18 . The storage system of claim 15 , wherein the virtually isolated run-time environment comprises a containerized application.

19 . A method comprising:

generating, by a controller of a computer-implemented storage system, a managed directory within a file system presented by the storage system, the managed directory comprising a storage management structure configured to group contents of the managed directory to support application of directory-level storage management functionality to the contents of the managed directory as a group;

storing, by the controller, configuration data and image data of a virtual machine as the contents of the managed directory; and

executing, by the controller and subsequent to the configuration data and image data of the virtual machine being stored as the contents of the managed directory, a storage management function applied specifically to the configuration data and the image data of the virtual machine, wherein the managed directory is used to identify the configuration data and the image data of the virtual machine as the contents of the managed directory to which the storage management function is applied.

20 . The method of claim 19 , wherein the storage management function applied specifically to the configuration data and the image data of the virtual machine comprises one of:

determining a storage space consumption specifically of the managed directory;

cloning specifically the contents of the managed directory;

snapshotting specifically the contents of the managed directory; or

replicating specifically the contents of the managed directory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2024
From: KARR, RONALD; GRUNWALD, DAVID A.
To: PURE STORAGE, INC.
Reel/Frame 068127/0486 →
Continuity (11)
Continuation In Part 18425670 · Jan 29, 2024
Continuation In Part 18425187 · Jan 29, 2024
Continuation In Part 17244551 · Apr 29, 2021
Continuation In Part 17241601 · Apr 27, 2021
Continuation In Part 17232954 · Apr 16, 2021
Continuation In Part 17162038 · Jan 29, 2021
Continuation In Part 17022857 · Sep 16, 2020
Continuation In Part 16834762 · Mar 30, 2020
Provisional Application 63077259 · Sep 11, 2020
Provisional Application 63036955 · Jun 9, 2020
Related Publication 20240385997A1 · Nov 21, 2024
References Cited (25)
US 6542967B1 · Major · 2003 [cited by examiner]
US 8984221B2 · Satoyama · 2015 [cited by examiner]
US 10148731B2 · McDonnell · 2018 [cited by examiner]
US 10489354B2 · Edwards · 2019 [cited by examiner]
US 10628379B1 · Sela · 2020 [cited by examiner]
US 10740287B2 · Haviv · 2020 [cited by examiner]
US 10909069B2 · Haviv · 2021 [cited by examiner]
US 12298753B2 · Walzenbach · 2025 [cited by examiner]
US 12405855B2 · Takada · 2025 [cited by examiner]
US 20130339406A1 · Kanfi · 2013 [cited by applicant]
US 20140081924A1 · Jennings et al. · 2014 [cited by applicant]
US 20160196324A1 · Haviv · 2016 [cited by examiner]
US 20160203145A1 · Haviv · 2016 [cited by examiner]
US 20170323025A1 · Tian · 2017 [cited by examiner]
US 20240385870A1 · Grunwald · 2024 [cited by examiner]
US 20240385997A1 · Karr · 2024 [cited by examiner]
US 20240394398A1 · Karr · 2024 [cited by examiner]
US 20250138943A1 · Takada · 2025 [cited by examiner]
US 20250156169A1 · Chen · 2025 [cited by examiner]
US 20250258695A1 · Iyer · 2025 [cited by examiner]
WO WO2017053916A1 · 2017 [cited by applicant]
Storage management and caching in PAST, a large scale persistent peer to peer storage utility (Year: 2001). [cited by examiner]
The Collective: A Cache-Based System Management Architecture (Year: 2005). [cited by examiner]
Brent Welch et al, “Scalable Performance of the Panasas Parallel File System”, Proceedings of the 6th USENIX Conference on File and Storage Technologies (FAST '08),Feb. 26, 2008 (Feb. 26, 2008). [cited by applicant]
Nawab Ali et al, “An OSD-based approach to managing directory operations in parallel file systems”, Cluster Computing, 2008 IEEE International Conference On, IEEE, Piscataway, NJ, USA,Sep. 29, 2008 (Sep. 29, 2008), p. 1… [cited by applicant]