IP Library Granted Patent US 12,379,998
Granted Patent B2
US 12,379,998 · App. 17/376,916 · Granted Aug 5, 2025

Multiple virtual namespaces on a single physical namespace to avoid file system restarts and improve availability

Inventors: Shashikanth Lakshmikantha (San Jose, CA); Sankalp Suhas Taralekar (Santa Clara, CA)
Assignee: EMC IP Holding Company LLC
G06F11/1448G06F16/9017G06N20/00
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,379,998
App. No.
17/376,916
Granted
Aug 5, 2025
Kind
B2
Abstract

One example method includes defining a physical namespace, determining a number of virtual namespaces, virtualizing the physical namespace by defining the virtual namespaces on the physical namespace, and generating a modified lookup key that is a function of a name of one of the virtual namespaces. The modified lookup key may be moved between virtual namespaces without requiring interruption of a backup or restore process, and without requiring an associated file system to be taken offline. Movement of the modified lookup key may be transparent to a user and may permit preservation of scripts that were in place prior to the move.

Claims (33)

1. A method, comprising:

defining a physical namespace in a file system;

determining a number of virtual namespaces;

virtualizing the physical namespace by defining the virtual namespaces on the physical namespace;

generating a lookup key for each file saved in each virtual namespace based on a name of each virtual namespace and a full key of each file of the physical namespace, wherein the physical namespace maps the lookup key to the full key of each file saved in the physical namespace and the full key includes direction information and file name information in the file system;

when lookup keys in one virtual namespace are moved to another virtual namespace different from the one virtual namespace within the physical namespace, modifying the lookup keys of the one virtual namespace for the another virtual namespace based on a name of the another virtual namespace without requiring a restart of the file system, interruption of an ongoing data backup process, or data restore process; and

performing a compaction process comprising copying all key-value pairs <K, V> from a sparse one of the virtual namespaces to a non-sparse virtual namespace of the virtual namespaces,

wherein the non-sparse virtual namespace is selected based on current space usage in the non-sparse virtual namespace and a predicted growth of space usage in the non-sparse virtual namespace.

2. The method as recited in claim 1 , wherein the number of virtual namespaces is determined as a function of a number of significant digits of a parent id of a full key upon which the modified lookup key is based.

3. The method as recited in claim 1 , wherein the modified lookup key maps to an associated full key in one of the virtual namespaces.

4. The method as recited in claim 1 , wherein availability of a file to which the modified lookup key corresponds is unaffected by movement of the modified lookup key from one of the virtual namespaces to another of the virtual namespaces.

5. The method as recited in claim 1 , wherein movement of the modified lookup key from one of the virtual namespaces to another of the virtual namespaces does not necessitate a change to a script for a process involving a file to which the modified lookup key corresponds.

6. The method as recited in claim 1 , further comprising performing a fastcopy process comprising copying all key-value pairs <K, V> from one of the virtual namespaces to a target virtual namespace of the virtual namespaces,

wherein the target virtual namespace is selected using an artificial intelligence (AI)/machine learning (ML) process.

7. The method as recited in claim 1 , further comprising performing a process involving the use of a temporary directory,

wherein the process comprises relocating only active entries, and not dead entries, of one of the virtual namespaces to a target virtual namespace of the virtual namespaces, and

wherein the target virtual namespace to which the active entries are moved is selected based on current space usage in the target virtual namespace and a predicted growth of space usage in the target virtual namespace.

8. A computer readable storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:

defining a physical namespace in a file system;

determining a number of virtual namespaces;

virtualizing the physical namespace by defining the virtual namespaces on the physical namespace;

generating a lookup key for each file saved in each virtual namespace based on a name of each virtual namespace and a full key of each file of the physical namespace, wherein the physical namespace maps the lookup key to the full key of each file saved in the physical namespace and the full key includes direction information and file name information in the file system; and

when lookup keys in one virtual namespace are to be moved to another virtual namespace different from the one virtual namespace within the physical namespace, modifying the lookup keys of the one virtual namespace for the another virtual namespace based on a name of the another virtual namespace without requiring a restart of the file system, interruption of an ongoing data backup process, or data restore process,

wherein the operations further comprise performing a compaction process comprising copying all key-value pairs <K, V> from a sparse one of the virtual namespaces to a non-sparse virtual namespace of the virtual namespaces, and

wherein the non-sparse virtual namespace is selected based on current space usage in the non-sparse virtual namespace, and a predicted growth of space usage in the non-sparse virtual namespace.

9. The computer readable storage medium as recited in claim 8 , wherein the number of virtual namespaces is determined as a function of a number of significant digits of a parent id of a full key upon which the modified lookup key is based.

10. The computer readable storage medium as recited in claim 8 , wherein the modified lookup key maps to an associated full key in one of the virtual namespaces.

11. The computer readable storage medium as recited in claim 8 , wherein availability of a file to which the modified lookup key corresponds is unaffected by movement of the modified lookup key from one of the virtual namespaces to another of the virtual namespaces.

12. The computer readable storage medium as recited in claim 8 , wherein movement of the modified lookup key from one of the virtual namespaces to another of the virtual namespaces does not necessitate a change to a script for a process involving a file to which the modified lookup key corresponds.

13. The computer readable storage medium as recited in claim 8 , wherein the operations further comprise performing a fastcopy process comprising copying all key-value pairs <K, V> from one of the virtual namespaces to a target virtual namespace of the virtual namespaces, and wherein the target virtual namespace is selected using an artificial intelligence (AI)/machine learning (ML) process.

14. The computer readable storage medium as recited in claim 8 , wherein the operations further comprise performing a process involving the use of a temporary directory,

wherein the process comprises relocating only active entries, and not dead entries, of one of the virtual namespaces to a target virtual namespace of the virtual namespaces, and

wherein the target virtual namespace to which the active entries are moved is selected based on current space usage in the target virtual namespace and a predicted growth of space usage in the target virtual namespace.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2021
From: LAKSHMIKANTHA, SHASHIKANTH; TARALEKAR, SANKALP SUHAS
To: EMC IP HOLDING COMPANY
Reel/Frame 056870/0275 →
Continuity (1)
Related Publication 20230025994A1 · Jan 26, 2023
References Cited (37)
US 6408298B1 · Van · 2002 [cited by examiner]
US 8478799B2 · Beaverson · 2013 [cited by examiner]
US 9367551B2 · Beaverson · 2016 [cited by examiner]
US 9965483B2 · Beaverson · 2018 [cited by examiner]
US 10116764B1 · Ayachit · 2018 [cited by examiner]
US 10474631B2 · Beaverson · 2019 [cited by examiner]
US 10496283B2 · Waghulde · 2019 [cited by examiner]
US 10642750B2 · Ritchie · 2020 [cited by examiner]
US 10891264B2 · Wang · 2021 [cited by examiner]
US 20090007161A1 · Sheehan · 2009 [cited by examiner]
US 20090030957A1 · Manjunath · 2009 [cited by examiner]
US 20100088328A1 · Joshi · 2010 [cited by examiner]
US 20120124087A1 · Malan · 2012 [cited by examiner]
US 20130268644A1 · Hardin · 2013 [cited by examiner]
US 20130290263A1 · Beaverson · 2013 [cited by examiner]
US 20160019233A1 · Wijayaratne · 2016 [cited by examiner]
US 20160124972A1 · Jain · 2016 [cited by examiner]
US 20160124977A1 · Jain · 2016 [cited by examiner]
US 20160283498A1 · Beaverson · 2016 [cited by examiner]
US 20160299917A1 · Koos · 2016 [cited by examiner]
US 20160321294A1 · Wang · 2016 [cited by examiner]
US 20160359740A1 · Parandehgheibi · 2016 [cited by examiner]
US 20170039143A1 · Ritchie · 2017 [cited by examiner]
US 20170212680A1 · Waghulde · 2017 [cited by examiner]
US 20170235749A1 · Beaverson · 2017 [cited by examiner]
US 20170272546A1 · Vajravel · 2017 [cited by examiner]
US 20170344259A1 · Freyensee · 2017 [cited by examiner]
US 20170351431A1 · Dewitt · 2017 [cited by examiner]
US 20170357663A1 · Giampaolo · 2017 [cited by examiner]
US 20190042144A1 · Peterson · 2019 [cited by examiner]
US 20190227718A1 · Frolikov · 2019 [cited by examiner]
US 20190227921A1 · Frolikov · 2019 [cited by examiner]
US 20210072927A1 · Yang · 2021 [cited by examiner]
US 20210263779A1 · Haghighat · 2021 [cited by examiner]
US 20220382689A1 · Liu · 2022 [cited by examiner]
KAML_A Flexible, High-Performance Key-Value SSD, Jim et al., IEEE (Year: 2017). [cited by examiner]
Global namespace for files, Anderson et al., IEEE (Year: 2004). [cited by examiner]