IP Library › Granted Patent US 10,496,611
Granted Patent B1
US 10,496,611 · App. 14/664,618 · Granted Dec 3, 2019

Method and system for file name based command execution in a storage system

Inventor: Pranay Singh (Cupertino, CA)
Assignee: EMC IP Holding Company LLC
G06F16/185
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 10,496,611
App. No.
14/664,618
Filed
Mar 20, 2015
Granted
Dec 3, 2019
Kind
B1
Art Unit
2166
USPC
707/828
Abstract

In one embodiment, a method implementing file name based command execution is disclosed. The method includes periodically examining a predetermined file directory in a storage system to determine if the predetermined file directory contains any file. The method includes, upon finding a first file, determining that a file name of the first file includes one or more commands of a plurality of preconfigured commands executable in the storage system. The method includes executing the one or more commands included in the file name of the first file to perform one or more actions associated with the one or more commands. The method further includes creating a second file in the predetermined file directory, indicating that the included one or more commands are being executed. The method further includes that, upon that the one or more included commands finish execution, removing the first and second file from the predetermined file directory.

Claims (50)

1. A computer-implemented method, comprising:

periodically examining a predetermined file directory in a storage system to determine if the predetermined file directory contains any file, the predetermined file directory being accessible by users with a predetermined privilege only;

upon finding a zero-byte first file, determining that a file name of the zero-byte first file includes one or more commands of a plurality of preconfigured file name based commands executable in the storage system, the commands having been embedded in the file name of the first file as stored in the storage system, wherein the file name of the first file has further embedded therein all of one or more parameters to be utilized to execute the embedded one or more commands;

executing the one or more commands included in the file name of the first file to perform one or more actions associated with the one or more commands;

creating a zero-byte second file in the predetermined file directory, indicating that the included one or more commands are being executed; and

upon that the included one or more commands finish execution, removing the first file and second file from the predetermined file directory, wherein removal of both the first file and the second file indicates that the included one or more commands have been executed, such that subsequent examination of the predetermined file directory would not find the first file again to prevent the same commands from being executed again.

2. The method of claim 1 , further comprising:

receiving a request from a user to create the first file in the predetermined file directory;

determining an access privilege of the user; and

responsive to the determining that the access privilege of the user allows the user to create the first file in the predetermined file directory, creating the first file in the predetermined file directory.

3. The method of claim 1 , wherein executing the one or more commands included in the file name of the first file comprises:

parsing the file name of the first file;

extracting the one or more commands from the file name;

looking up a data structure to interpret the extracted one or more commands;

performing the one or more actions associated with the one or more commands based on the data structure.

4. The method of claim 1 , wherein a result of executing the file name based command included in the file name of the first file is stored in a log file for debugging.

5. The method of claim 1 , wherein the plurality of preconfigured file name based commands include commands manipulating a hierarchical data structure storing namespace of a file system of the storage system.

6. The method of claim 5 , wherein the file system is available for accessing by clients of the storage system while the plurality of preconfigured file name based commands are being executed.

7. The method of claim 1 , wherein the storage system is a deduplicating storage system.

8. A storage system, comprising:

a processor and a non-transitory machine-readable storage medium coupled to the processor, the non-transitory machine-readable storage medium containing instructions executable by the processor, wherein the storage system is operative to:

periodically examine a predetermined file directory in a storage system to determine if the predetermined file directory contains any file, the predetermined file directory being accessible by users with a predetermined privilege only,

upon finding a zero-byte first file, determining that a file name of the zero-byte first file includes one or more commands of a plurality of preconfigured file name based commands executable in the storage system, the commands having been embedded in the file name of the first file as stored in the storage system, wherein the file name of the first file has further embedded therein all of one or more parameters to be utilized to execute the embedded one or more commands,

execute the one or more commands included in the file name of the first file to perform one or more actions associated with the one or more commands,

create a zero-byte second file in the predetermined file directory, indicating that the included one or more commands are being executed, and

upon that the included one or more commands finish execution, remove the first and second file from the predetermined file directory, wherein removal of both the first file and the second file indicates that the included one or more commands have been executed, such that subsequent examination of the predetermined file directory would not find the first file again to prevent the same commands from being executed again.

9. The storage system of claim 8 , wherein the storage system is further operative to:

receive a request from a user to create the first file in the predetermined file directory,

determine an access privilege of the user, and

responsive to the determining that the access privilege of the user allows the user to create the first file in the predetermined file directory, create the first file in the predetermined file directory.

10. The storage system of claim 8 , wherein execution of the one or more commands included in the file name of the file is to:

parse the file name of the first file,

extract the one or more commands from the file name,

look up a data structure to interpret the extracted one or more commands, and

perform the one or more actions associated with the one or more commands based on the data structure.

11. The storage system of claim 8 , wherein the plurality of preconfigured file name based commands include commands manipulating a hierarchical data structure storing namespace of a file system of the storage system.

12. The storage system of claim 8 , wherein the file name of the first file is identical to a file name of the second file, except extensions of the first file and the second file.

13. A non-transitory computer-readable storage medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations, the operations comprising:

periodically examining a predetermined file directory in a storage system to determine if the predetermined file directory contains any file, the predetermined file directory being accessible by users with a predetermined privilege only;

upon finding a zero-byte first file, determining that a file name of the zero-byte first file includes one or more commands of a plurality of preconfigured file name based commands executable in the storage system, the commands having been embedded in the file name of the first file as stored in the storage system, wherein the file name of the first file has further embedded therein all of one or more parameters to be utilized to execute the embedded one or more commands;

executing the one or more commands included in the file name of the first file to perform one or more actions associated with the one or more commands;

creating a zero-byte second file in the predetermined file directory, indicating that the included one or more commands are being executed; and

upon that the included one or more commands finish execution, removing the first and second file from the predetermined file directory, wherein removal of both the first file and the second file indicates that the included one or more commands have been executed, such that subsequent examination of the predetermined file directory would not find the first file again to prevent the same commands from being executed again.

14. The non-transitory computer-readable storage medium of claim 13 , wherein executing the one or more commands included in the file name of the first file comprises:

parsing the file name of the first file;

extracting the one or more commands from the file name;

looking up a data structure to interpret the extracted one or more commands;

performing the one or more actions associated with the one or more commands based on the data structure.

15. The non-transitory computer-readable storage medium of claim 13 , wherein a result of executing the file name based command included in the file name of the first file is stored in a log file for debugging.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the plurality of preconfigured file name based commands include commands manipulating a hierarchical data structure storing namespace of a file system of the storage system.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2015
From: SINGH, PRANAY
To: EMC CORPORATION
Reel/Frame 035221/0994 →
Cited By (2)
US 12,499,085 US 12,585,621