IP Library Granted Patent US 10,599,611
Granted Patent B1
US 10,599,611 · App. 15/494,999 · Granted Mar 24, 2020

Base object selection and creation in data storage system management

Inventors: Dazhi Dong (Shanghai, CN); Daniel S. Keefe (Walpole, MA); Xiaogang Wang (Shanghai, CN); Binhua Lu (Shanghai, CN); Xing Chen (Shanghai, CN); Chen Zhang (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F16/122G06F16/13H04L67/1097H04L69/18
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,599,611
App. No.
15/494,999
Granted
Mar 24, 2020
Kind
B1
Abstract

A command request may be made to create a new entity in a data storage system. The new entity may be depend upon one or more base objects required to exist prior to creating the new entity. The command request may be processed in accordance with a selected policy affecting the required base objects. The selected policy may be one of a defined set of policies affecting actions taken with respect to the required base objects and new entity. For example, the policies may provide for automatically creating the required base objects and new entity; automatically selecting existing base objects used to create the new entity; generating a command list of recommend commands for creating the required base objects and the new entity; and generating a recommend list of existing base objects and a command for creating the new entity using at least one of the existing base objects.

Claims (57)

1. A method of processing a command request comprising:

receiving a management command, wherein the management command indicates a selected policy affecting actions taken in connection with execution of the management command; and

performing first processing to execute the management command in accordance with the selected policy, wherein the selected policy is one of a plurality of policies, wherein the management command is a request to create a new logical entity in a data storage system, wherein the plurality of policies affect processing performed in connection with one or more base objects, wherein the new logical entity depends upon and requires one or more other entities to exist prior to the creating the new logical entity, wherein the one or more base objects correspond to the one or more other entities, and wherein a new object corresponds to the new logical entity, and wherein the plurality of policies includes a policy providing for automatically creating one or more new base objects corresponding to newly creating the one or more other entities, and then automatically creating the new logical entity and the new object corresponding to the new logical entity, wherein the new object depends on and requires the one or more new base objects.

2. The method of claim 1 , wherein the management command is received at the data storage system.

3. The method of claim 2 , wherein the management command is sent from a management application to the data storage system over a control path.

4. The method of claim 3 , wherein the new logical entity is any of a file system and a file share of a file system.

5. The method of claim 3 , wherein one or more criteria are specified for the management command, and the method further comprising:

determining whether storage resources are available to service the management command in accordance with the one or more criteria; and

responsive to determining there are insufficient storage resources available to service the management command in accordance with the one or more criteria, returning a message to the management application indicating that there are insufficient storage resources to service the management command.

6. The method of claim 5 , wherein the one or more criteria include a requirement regarding performance of storage used in connection with the creating the new logical entity.

7. The method of claim 6 , wherein the one or more criteria affect placement of data stored on the new logical entity.

8. The method of claim 6 , wherein the one or more criteria indicate whether multiple tiers of storage are used for storing data of the new logical entity.

9. The method of claim 8 , wherein the one or more criteria indicate whether a data storage optimizer relocates data stored on the new logical entity among the multiple tiers in accordance with I/O activity directed to individual data portions.

10. The method of claim 6 , wherein the new logical entity is a file system and the one or more criteria indicate whether to create the file system using a sharing protocol wherein the file system is accessible using multiple protocols.

11. A system comprising:

one or more processors; and

a memory including code stored therein that, when executed using at least one of the one or more processors, performs a method comprising:

receiving a management command, wherein the management command indicates a selected policy affecting actions taken in connection with execution of the management command; and

performing first processing to execute the management command in accordance with the selected policy, wherein the selected policy is one of a plurality of policies, wherein the management command is a request to create a new logical entity in a data storage system, wherein the plurality of policies affect processing performed in connection with one or more base objects, wherein the new logical entity depends upon and requires one or more other entities to exist prior to the creating the new logical entity, wherein the one or more base objects correspond to the one or more other entities, and wherein a new object corresponds to the new logical entity, and wherein the plurality of policies includes a policy providing for automatically creating one or more new base objects corresponding to newly creating the one or more other entities, and then automatically creating the new logical entity and the new object corresponding to the new logical entity, wherein the new object depends on and requires the one or more new base objects.

12. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of processing a command request comprising:

receiving a management command, wherein the management command indicates a selected policy affecting actions taken in connection with execution of the management command; and

performing first processing to execute the management command in accordance with the selected policy, wherein the selected policy is one of a plurality of policies, wherein the management command is a request to create a new logical entity in a data storage system, wherein the plurality of policies affect processing performed in connection with one or more base objects, wherein the new logical entity depends upon and requires one or more other entities to exist prior to the creating the new logical entity, wherein the one or more base objects correspond to the one or more other entities, and wherein a new object corresponds to the new logical entity, and wherein the plurality of policies includes a policy providing for automatically creating one or more new base objects corresponding to newly creating the one or more other entities, and then automatically creating the new logical entity and the new object corresponding to the new logical entity, wherein the new object depends on and requires the one or more new base objects.

13. The non-transitory computer readable medium of claim 12 , wherein the management command is received at the data storage system.

14. The non-transitory computer readable medium of claim 13 , wherein the management command is sent from a management application to the data storage system over a control path.

15. A method of processing a command request comprising:

receiving a management command, wherein the management command indicates a selected policy affecting actions taken in connection with execution of the management command; and

performing first processing to execute the management command in accordance with the selected policy, wherein the selected policy is one of a plurality of policies, wherein the management command is a request to create a new logical entity in a data storage system, wherein the plurality of policies affect processing performed in connection with one or more base objects, wherein the new logical entity depends upon and requires one or more other entities to exist prior to the creating the new logical entity, wherein the one or more base objects correspond to the one or more other entities, and wherein a new object corresponds to the new logical entity, and wherein the plurality of policies includes a policy providing for automatically selecting one or more existing base objects corresponding to the one or more other entities, and then automatically creating the new logical entity and the new object corresponding to the new logical entity, wherein the new object depends on and requires the one or more existing base objects.

16. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of processing a command request comprising:

receiving a management command, wherein the management command indicates a selected policy affecting actions taken in connection with execution of the management command; and

performing first processing to execute the management command in accordance with the selected policy, wherein the selected policy is one of a plurality of policies, wherein the management command is a request to create a new logical entity in a data storage system, wherein the plurality of policies affect processing performed in connection with one or more base objects, wherein the new logical entity depends upon and requires one or more other entities to exist prior to the creating the new logical entity, wherein the one or more base objects correspond to the one or more other entities, and wherein a new object corresponds to the new logical entity, and wherein the plurality of policies includes a policy providing for automatically selecting one or more existing base objects corresponding to the one or more other entities, and then automatically creating the new logical entity and the new object corresponding to the new logical entity, wherein the new object depends on and requires the one or more existing base objects.

17. A system comprising:

one or more processors; and

a memory comprising code stored thereon, when executed by at least one of the one or more processors, performs a method of processing a command request comprising:

receiving a management command, wherein the management command indicates a selected policy affecting actions taken in connection with execution of the management command; and

performing first processing to execute the management command in accordance with the selected policy, wherein the selected policy is one of a plurality of policies, wherein the management command is a request to create a new logical entity in a data storage system, wherein the plurality of policies affect processing performed in connection with one or more base objects, wherein the new logical entity depends upon and requires one or more other entities to exist prior to the creating the new logical entity, wherein the one or more base objects correspond to the one or more other entities, and wherein a new object corresponds to the new logical entity, and wherein the plurality of policies includes a policy providing for automatically selecting one or more existing base objects corresponding to the one or more other entities, and then automatically creating the new logical entity and the new object corresponding to the new logical entity, wherein the new object depends on and requires the one or more existing base objects.

18. A method of processing a command request comprising:

receiving a management command, wherein the management command indicates a selected policy affecting actions taken in connection with execution of the management command; and

performing first processing to execute the management command in accordance with the selected policy, wherein the selected policy is one of a plurality of policies, wherein the management command is a request to create a new logical entity in a data storage system, wherein the plurality of policies affect processing performed in connection with one or more base objects, wherein the new logical entity depends upon and requires one or more other entities to exist prior to the creating the new logical entity, wherein the one or more base objects correspond to the one or more other entities, and wherein a new object corresponds to the new logical entity, and wherein the plurality of policies includes a policy providing for automatically generating a command list including one or more commands to create the one or more other entities and one or more new base objects corresponding to the one or more other entities, and wherein the command list includes another command to create the new logical entity and the new object corresponding to the new logical entity, wherein the new object depends on and requires the one or more new base objects.

19. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of processing a command request comprising:

receiving a management command, wherein the management command indicates a selected policy affecting actions taken in connection with execution of the management command; and

performing first processing to execute the management command in accordance with the selected policy, wherein the selected policy is one of a plurality of policies, wherein the management command is a request to create a new logical entity in a data storage system, wherein the plurality of policies affect processing performed in connection with one or more base objects, wherein the new logical entity depends upon and requires one or more other entities to exist prior to the creating the new logical entity, wherein the one or more base objects correspond to the one or more other entities, and wherein a new object corresponds to the new logical entity, and wherein the plurality of policies includes a policy providing for automatically generating a command list including one or more commands to create the one or more other entities and one or more new base objects corresponding to the one or more other entities, and wherein the command list includes another command to create the new logical entity and the new object corresponding to the new logical entity, wherein the new object depends on and requires the one or more new base objects.

20. A system comprising:

one or more processors; and

a memory comprising code stored thereon, when executed by at least one of the one or more processors, performs a method of processing a command request comprising:

receiving a management command, wherein the management command indicates a selected policy affecting actions taken in connection with execution of the management command; and

performing first processing to execute the management command in accordance with the selected policy, wherein the selected policy is one of a plurality of policies, wherein the management command is a request to create a new logical entity in a data storage system, wherein the plurality of policies affect processing performed in connection with one or more base objects, wherein the new logical entity depends upon and requires one or more other entities to exist prior to the creating the new logical entity, wherein the one or more base objects correspond to the one or more other entities, and wherein a new object corresponds to the new logical entity, and wherein the plurality of policies includes a policy providing for automatically generating a command list including one or more commands to create the one or more other entities and one or more new base objects corresponding to the one or more other entities, and wherein the command list includes another command to create the new logical entity and the new object corresponding to the new logical entity, wherein the new object depends on and requires the one or more new base objects.

21. A method of processing a command request comprising:

receiving a management command, wherein the management command indicates a selected policy affecting actions taken in connection with execution of the management command; and

performing first processing to execute the management command in accordance with the selected policy, wherein the selected policy is one of a plurality of policies, wherein the management command is a request to create a new logical entity in a data storage system, wherein the plurality of policies affect processing performed in connection with one or more base objects, wherein the new logical entity depends upon and requires one or more other entities to exist prior to the creating the new logical entity, wherein the one or more base objects correspond to the one or more other entities, and wherein a new object corresponds to the new logical entity, and wherein the plurality of policies includes a policy providing for automatically generating a recommended command, and a recommended base object list including one or more existing base objects automatically selected, wherein the recommended command is a command to create the new logical entity and the new object corresponding to the new logical entity, wherein the new object depends on and requires at least one of the base objects from the recommended base object list.

22. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of processing a command request comprising:

receiving a management command, wherein the management command indicates a selected policy affecting actions taken in connection with execution of the management command; and

performing first processing to execute the management command in accordance with the selected policy, wherein the selected policy is one of a plurality of policies, wherein the management command is a request to create a new logical entity in a data storage system, wherein the plurality of policies affect processing performed in connection with one or more base objects, wherein the new logical entity depends upon and requires one or more other entities to exist prior to the creating the new logical entity, wherein the one or more base objects correspond to the one or more other entities, and wherein a new object corresponds to the new logical entity, and wherein the plurality of policies includes a policy providing for automatically generating a recommended command, and a recommended base object list including one or more existing base objects automatically selected, wherein the recommended command is a command to create the new logical entity and the new object corresponding to the new logical entity, wherein the new object depends on and requires at least one of the base objects from the recommended base object list.

23. A system comprising:

one or more processors; and

a memory comprising code stored thereon, when executed by at least one of the one or more processors, performs a method of processing a command request comprising:

receiving a management command, wherein the management command indicates a selected policy affecting actions taken in connection with execution of the management command; and

performing first processing to execute the management command in accordance with the selected policy, wherein the selected policy is one of a plurality of policies, wherein the management command is a request to create a new logical entity in a data storage system, wherein the plurality of policies affect processing performed in connection with one or more base objects, wherein the new logical entity depends upon and requires one or more other entities to exist prior to the creating the new logical entity, wherein the one or more base objects correspond to the one or more other entities, and wherein a new object corresponds to the new logical entity, and wherein the plurality of policies includes a policy providing for automatically generating a recommended command, and a recommended base object list including one or more existing base objects automatically selected, wherein the recommended command is a command to create the new logical entity and the new object corresponding to the new logical entity, wherein the new object depends on and requires at least one of the base objects from the recommended base object list.

Assignments (8)
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 (042769/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
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 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2017
From: DONG, DAZHI; KEEFE, DANIEL S.; WANG, XIAOGANG; LU, BINHUA; CHEN, XING; ZHANG, CHEN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042127/0660 →