IP Library Granted Patent US 9,986,023
Granted Patent B1
US 9,986,023 · App. 15/188,689 · Granted May 29, 2018

Virtual data storage appliance with platform detection by use of VM-accessible record

Inventors: Jared C. Lyon (Brighton, MA); Yuri A. Stotski (Saint Petersburg, RU); Michael L. Burriss (Raleigh, NC)
Assignee: EMC IP Holding Company LLC
H04L67/10G06F9/45533G06F9/45558H04L47/78H04L49/70
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,986,023
App. No.
15/188,689
Granted
May 29, 2018
Kind
B1
Abstract

A method of establishing a platform-specific configuration of a virtual machine functioning as a virtual storage appliance includes, in a deployment operation, creating a virtual platform on host computer(s), the virtual platform being a collection of virtualized hardware resources having a selected configuration from among multiple possible configurations. A description of the selected configuration of the virtual platform is stored in a record accessible to the virtual machines during a later virtual-machine initialization process. The virtual machines are instantiated and their operation initiated, and the virtual machines perform the virtual-machine initialization process to (1) read the record to obtain the stored description of the selected configuration of the virtual platform and (2) use the description of the selected configuration of the virtual platform to self-configure into the platform-specific configuration for operation compatible with the virtual platform.

Claims (31)

1. A method of establishing a platform-specific configuration of one or more virtual machines functioning as a virtual storage appliance using resources of a virtual platform, comprising:

in a deployment operation for instantiating the virtual storage appliance, creating the virtual platform on one or more interconnected host computers, the virtual platform being a collection of virtualized hardware resources having a selected configuration from among multiple possible configurations;

in the deployment operation, storing a description of the selected configuration of the virtual platform in a record accessible to the virtual machines during a later virtual-machine initialization process; and

instantiating and initiating operation of the virtual machines, the virtual machines performing the virtual-machine initialization process to (1) read the record to obtain the stored description of the selected configuration of the virtual platform and (2) use the description of the selected configuration of the virtual platform to self-configure into the platform-specific configuration for operation compatible with the virtual platform.

2. The method of claim 1 , wherein the record includes one of a set of abstract identifiers mapped to respective ones of the possible configurations, the one abstract identifier being mapped to the selected configuration.

3. The method of claim 2 , wherein the virtual machines have access to a mapping structure that maps the abstract identifiers to respective sets of specific values for respective ones of the virtualized hardware resources, and wherein the virtual-machine initialization process uses the abstract identifier of the record to look up a respective set of specific values as the selected configuration.

4. The method of claim 1 , further including, in the deployment operation, (1) obtaining a user-created description of the selected configuration from a separate record not accessible to the virtual machines, and (2) using the user-created description of the selected configuration to create the description of the selected configuration for storing in the record to communicate the selected configuration to the virtual machines.

5. The method of claim 4 , wherein the separate record is one or more configuration files stored on a system device of a system manager computer, the system manager computer interfacing with a system user to create the user-created description of the selected configuration and to initiate and control the deployment operation for instantiating the virtual storage appliance.

6. The method of claim 1 , wherein the virtual storage appliance includes two or more virtual machines implementing respective storage processors, and wherein the virtual platform includes a set of inter-SP connections via which the storage processors inter-communicate.

7. The method of claim 6 , wherein the virtual platform and virtual machines are located entirely on one of the host computers.

8. The method of claim 6 , wherein the virtual platform and virtual machines are distributed across two or more of the host computers, and the inter-SP connections are provided in part by a hardware communications switch interconnecting the host computers and in part by virtual switching communication provided by a hypervisor using underlying hardware communications.

9. A non-transitory computer-readable medium storing computer program instructions of a storage processor of a virtual storage appliance, the computer program instructions being executable by a host computer to cause the host computer to perform a method of establishing a platform-specific configuration of a virtual machine realizing the storage processor and using resources of a virtual platform on the host computer, the virtual platform being a collection of virtualized hardware resources having a selected configuration from among multiple possible configurations, the method including a virtual-machine initialization process performed upon instantiation and initiation of operation of the virtual machine, including:

reading a record to obtain a stored description of a selected configuration of the virtual platform, the description being stored in the record during a preceding deployment operation for deploying the virtual storage appliance; and

using the description of the selected configuration of the virtual platform to self-configure into the platform-specific configuration for operation compatible with the virtual platform.

10. The non-transitory computer-readable medium of claim 9 , wherein the record includes one of a set of abstract identifiers mapped to respective ones of the possible configurations, the one abstract identifier being mapped to the selected configuration.

11. The non-transitory computer-readable medium of claim 10 , wherein the virtual machines have access to a mapping structure that maps the abstract identifiers to respective sets of specific values for respective ones of the virtualized hardware resources, and wherein the virtual-machine initialization process uses the abstract identifier of the record to look up a respective set of specific values as the selected configuration.

12. The non-transitory computer-readable medium of claim 9 , wherein the preceding deployment operation includes (1) obtaining a user-created description of the selected configuration from a separate record not accessible to the virtual machines, and (2) using the user-created description of the selected configuration to create the description of the selected configuration for storing in the record to communicate the selected configuration to the virtual machine.

13. The non-transitory computer-readable medium of claim 12 , wherein the separate record is one or more configuration files stored on a system device of a system manager computer, the system manager computer interfacing with a system user to create the user-created description of the selected configuration and to initiate and control the deployment operation for instantiating the virtual storage appliance.

14. The non-transitory computer-readable medium of claim 9 , wherein the virtual storage appliance includes two or more virtual machines implementing respective storage processors, and wherein the virtual platform includes a set of inter-SP connections via which the storage processors inter-communicate.

15. The non-transitory computer-readable medium of claim 14 , wherein the virtual platform and virtual machines are located entirely on one of the host computers.

16. The non-transitory computer-readable medium of claim 14 , wherein the virtual platform and virtual machines are distributed across two or more of the host computers, and the inter-SP connections are provided in part by a hardware communications switch interconnecting the host computers and in part by virtual switching communication provided by a hypervisor using underlying hardware communications.

17. A computer system, comprising:

one or more interconnected host computers; and

a system manager computer coupled to the host computers,

the host computers and system manager being co-operative to establish a platform-specific configuration of one or more virtual machines functioning as a virtual storage appliance using resources of a virtual platform, including:

(1) in a deployment operation for instantiating the virtual storage appliance, creating the virtual platform on one or more interconnected host computers, the virtual platform being a collection of virtualized hardware resources having a selected configuration from among multiple possible configurations;

(2) in the deployment operation, storing a description of the selected configuration of the virtual platform in a record accessible to the virtual machines during a later virtual-machine initialization process; and

(3) instantiating and initiating operation of the virtual machines, the virtual machines performing the virtual-machine initialization process to (1) read the record to obtain the stored description of the selected configuration of the virtual platform and (2) use the description of the selected configuration of the virtual platform to self-configure into the platform-specific configuration for operation compatible with the virtual platform.

18. The computer system of claim 17 , wherein the deployment operation further includes (1) obtaining a user-created description of the selected configuration from a separate record not accessible to the virtual machines, and (2) using the user-created description of the selected configuration to create the description of the selected configuration for storing in the record to communicate the selected configuration to the virtual machines, the separate record being one or more configuration files stored on a system device of the system manager computer, the system manager computer interfacing with a system user to create the user-created description of the selected configuration and to initiate and control the deployment operation for instantiating the virtual storage appliance.

19. The computer system of claim 17 , wherein the virtual storage appliance includes two or more virtual machines implementing respective storage processors, and wherein the virtual platform includes a set of inter-SP connections via which the storage processors inter-communicate.

20. The computer system of claim 19 , wherein the virtual platform and virtual machines are distributed across two or more of the host computers, and the inter-SP connections are provided in part by a hardware communications switch interconnecting the host computers and in part by virtual switching communication provided by a hypervisor using underlying hardware communications.

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 (047648/0422) Recorded May 20, 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
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
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 AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2017
From: LYON, JARED C.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043469/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2017
From: STOTSKI, YURI A.; BURRISS, MICHAEL L.
To: EMC CORPORATION
Reel/Frame 041168/0647 →