IP Library Granted Patent US 10,289,320
Granted Patent B1
US 10,289,320 · App. 15/493,634 · Granted May 14, 2019

Utilizing a virtual backup appliance within data storage equipment

Inventor: Ian Wigmore (Westborough, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0619G06F3/065G06F3/067G06F3/0665G06F9/45558G06F2009/45583
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,289,320
App. No.
15/493,634
Granted
May 14, 2019
Kind
B1
Abstract

A technique provides data storage system services in data storage equipment. The technique involves performing, by processing circuitry of the data storage equipment, data storage operations on a production volume in response to data storage commands from a set of application servers (e.g., external host computers). The production volume stores application server data utilized by the set of application servers. The technique further involves running, by the processing circuitry of the data storage equipment, an instance of a virtual backup appliance within the data storage equipment while the data storage operations are performed on the production volume in response to the data storage commands. The technique further involves generating, by the processing circuitry of the data storage equipment, backups of the production volume via the instance of the virtual backup appliance running within the data storage equipment.

Claims (65)

1. In data storage equipment,

a method of providing data storage system services, the method comprising:

performing, by processing circuitry of the data storage equipment, data storage operations on a production volume in response to data storage commands from a set of application servers, the production volume storing application server data utilized by the set of application servers;

running, by the processing circuitry of the data storage equipment, an instance of a virtual backup appliance within the data storage equipment while the data storage operations are performed on the production volume in response to the data storage commands; and

generating, by the processing circuitry of the data storage equipment, backups of the production volume via the instance of the virtual backup appliance running within the data storage equipment;

wherein the set of application servers includes a host computer which is external to the data storage equipment, the host computer providing, as at least some of the data storage commands, block-based host input/output (I/O) requests; and

wherein performing the data storage operations on the production volume includes:

while a backup of the production volume is being generated by the instance of the virtual backup appliance running within the data storage equipment, performing block-based read operations and block-based write operations on the production volume within the data storage equipment in response to the block-based host I/O requests provided by the host computer.

2. A method as in claim 1 wherein generating the backups of the production volume includes:

operating the instance of the virtual backup appliance to create, as at least some of the backups, local snapshots of the production volume within the data storage equipment.

3. A method as in claim 2 wherein the data storage equipment includes an array of storage devices; and

wherein operating the instance of the virtual backup appliance to create the local snapshots includes:

locating a full backup and a series of incremental backups within a set of files stored within the array of storage devices.

4. A method as in claim 2 , further comprising:

after the local snapshots of the production volume are created, performing a restore operation that restores at least some of the application server data utilized by the set of application servers from the local snapshots.

5. A method as in claim 2 wherein operating the instance of the virtual backup appliance includes:

operating a hypervisor within the data storage equipment, and

directing the hypervisor to run the instance of the virtual backup appliance.

6. A method as in claim 2 wherein running the instance of the virtual backup appliance within the data storage equipment includes:

operating a reverse cut-through driver disposed between a snapshot layer of the data storage equipment and the virtual backup appliance, the snapshot layer being constructed and arranged to identify data blocks for snapshots, and the reverse cut-through driver being constructed and arranged to provide a message passing interface between the snapshot layer and the virtual backup appliance.

7. A method as in claim 2 , further comprising:

replicating the full backup and the series of incremental backups from the data storage equipment to a remote data storage system that is external to the data storage equipment.

8. A method as in claim 7 wherein the remote data storage system is constructed and arranged to perform data storage operations in response to data storage commands; and

wherein replicating the full backup and the series of incremental backups from the data storage equipment to the remote data storage system includes forming a replication session from the data storage equipment to the remote data storage system, the replication session replicating data from the full backup and the series of incremental backups to a remote volume stored within a data storage array of the remote data storage system.

9. A method as in claim 7 wherein the remote data storage system is constructed and arranged to perform data storage operations in response to data storage commands; and

wherein replicating the full backup and the series of incremental backups from the data storage equipment to the remote data storage system includes forming a replication session from the data storage equipment to the remote data storage system, the replication session replicating data from the full backup and the series of incremental backups to another virtual backup appliance that runs on the remote data storage system.

10. A method as in claim 7 , further comprising:

after replicating the full backup and the series of incremental backups from the data storage equipment to the remote data storage system, performing a restore operation that restores at least some of the application server data utilized by the set of application servers from the full backup and the series of incremental backups that were replicated to the remote data storage system.

11. A method as in claim 2 , further comprising:

performing, by the processing circuitry of the data storage equipment, other data storage operations on another production volume in response to other data storage commands from the set of application servers, the other production volume storing other application server data utilized by the set of application servers;

running, by the processing circuitry of the data storage equipment, another instance of the virtual backup appliance within the data storage equipment while the other data storage operations are performed on the other production volume in response to the other data storage commands; and

generating, by the processing circuitry of the data storage equipment, other backups of the other production volume via the other instance of the other virtual backup appliance running within the data storage equipment, the other backups of the other production volume being generated in parallel with generating the backups of the production volume via the instance of the virtual backup appliance.

12. A method as in claim 1 wherein generating the backups of the production volume via the instance of the virtual backup appliance includes:

while a data storage server performs the data storage operations on the production volume to read application server data from the production volume and write application server data to the production volume in response to the data storage commands from the set of application servers, concurrently conveying data storage messages containing application server data updates from the data storage server to the virtual backup appliance to maintain a local backup volume that stores an instant-restore copy of the application server data.

13. Data storage equipment, comprising:

a communications interface constructed and arranged to communicate with a set of application servers;

memory; and

control circuitry coupled to the communications interface and the memory, the memory storing instructions which, when carried out by the control circuitry, cause the control circuitry to:

perform data storage operations on a production volume in response to data storage commands from the set of application servers, the production volume storing application server data utilized by the set of application servers,

run an instance of a virtual backup appliance within the data storage equipment while the data storage operations are performed on the production volume in response to the data storage commands, and

generate backups of the production volume via the instance of the virtual backup appliance running within the data storage equipment;

wherein the set of application servers includes a host computer which is external to the data storage equipment, the host computer providing, as at least some of the data storage commands, block-based host input/output (I/O) requests; and

wherein the control circuitry, when performing the data storage operations on the production volume, is constructed and arranged to:

while a backup of the production volume is being generated by the instance of the virtual backup appliance running within the data storage equipment, perform block-based read operations and block-based write operations on the production volume within the data storage equipment in response to the block-based host I/O requests provided by the host computer.

14. Data storage equipment in claim 13 wherein generating the backups of the production volume includes:

operating the instance of the virtual backup appliance to create, as at least some of the backups, local snapshots of the production volume within the data storage equipment.

15. Data storage equipment as in claim 14 wherein the data storage equipment includes an array of storage devices;

wherein operating the instance of the virtual backup appliance to create the local snapshots includes:

locating a full backup and a series of incremental backups within a set of files stored within the array of storage devices; and

wherein the method further comprises:

replicating the full backup and the series of incremental backups from the data storage equipment to a remote data storage system that is external to the data storage equipment.

16. A computer program product having a non-transitory computer readable medium which stores a set of instructions to provide data storage system services; the set of instructions, when carried out by data storage equipment, causing the data storage equipment to perform a method of:

performing data storage operations on a production volume in response to data storage commands from a set of application servers, the production volume storing application server data utilized by the set of application servers;

running an instance of a virtual backup appliance within the data storage equipment while the data storage operations are performed on the production volume in response to the data storage commands; and

generating backups of the production volume via the instance of the virtual backup appliance running within the data storage equipment;

wherein the set of application servers includes a host computer which is external to the data storage equipment, the host computer providing, as at least some of the data storage commands, block-based host input/output (I/O) requests; and

wherein performing the data storage operations on the production volume includes:

while a backup of the production volume is being generated by the instance of the virtual backup appliance running within the data storage equipment, performing block-based read operations and block-based write operations on the production volume within the data storage equipment in response to the block-based host I/O requests provided by the host computer.

17. A computer program product as in claim 16 wherein generating the backups of the production volume includes:

operating the instance of the virtual backup appliance to create, as at least some of the backups, local snapshots of the production volume within the data storage equipment.

18. A computer program product as in claim 17 , further comprising:

performing other data storage operations on another production volume in response to other data storage commands from the set of application servers, the other production volume storing other application server data utilized by the set of application servers,

running another instance of the virtual backup appliance within the data storage equipment while the other data storage operations are performed on the other production volume in response to the other data storage commands, and

generating other backups of the other production volume via the other instance of the other virtual backup appliance running within the data storage equipment, the other backups of the other production volume being generated in parallel with generating the backups of the production volume via the instance of the virtual backup appliance; and

wherein the data storage equipment operates a hypervisor which runs the instance of the virtual backup appliance and the other instance of the other virtual backup appliance in parallel to perform backups of production volumes in parallel.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2017
From: WIGMORE, IAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042742/0723 →
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 →
Cited By (2)
US 12,235,807 US 12,554,441