IP Library Granted Patent US 10,496,497
Granted Patent B1
US 10,496,497 · App. 15/377,332 · Granted Dec 3, 2019

Live object level inter process communication in federated backup environment

Inventors: Sunil Yadav (Bangalore, IN); Soumen Acharya (Bangalore, IN); Anupam Chakraborty (Bangalore, IN); Tushar Dethe (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F11/1469G06F11/1451G06F11/1464G06F11/2064H04L67/1095H04L67/1097H04L67/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,496,497
App. No.
15/377,332
Granted
Dec 3, 2019
Kind
B1
Abstract

In one embodiment, a sender process on a node of a node cluster communicates a live object to a receiver process. The sender process determines a shared binary file and a shared file location. The sender process serializes the live object to be communicated to a receiver process, into a binary data stream and writes the binary data stream into the predetermined shared binary file. The receiver process receives a shared binary filename and the shared location associated with the shared binary file. The receiver process de-serializes the binary data stream and reconstructs the live object. The communication is independent of the type of proxy, i.e., virtual or physical, and operating systems of the proxies, such as Windows, Mac OS, or Linux. The live objects may be VM configurations and VHD information metadata.

Claims (47)

1. A computer-implemented method to back up data in parallel by virtual machines (VM) in a federated backup environment, the method comprising:

initializing a backup process on a physical node of a node cluster, wherein the node cluster includes a plurality of physical nodes, each physical node having one or more VMs;

executing a snapshot process to capture a snapshot including one or more live objects, wherein the live objects comprise VM configurations and virtual hard disk (VHD) information of one or more VHDs, wherein the snapshot represents a consistent point of the node cluster;

selecting a list of VMs from the VMs of the plurality of physical nodes of the node cluster;

transmitting the live objects to the list of selected VMs for a data rollover process;

executing a data rollover process in each of the selected VMs to back up data associated with the live objects to a remote backup system in parallel;

serializing by the snapshot process the live objects into one or more streams of one or more serialized objects, wherein the streams of serialized objects are transmitted from the snapshot process to the data rollover process of each selected VM;

for each of the one or more serialized objects received at a VM from the snapshot process,

executing a rollover process within the VM to deserialize the serialized object to recover a corresponding live object, and

backing up the recovered live object to the remote backup system.

2. The method of claim 1 , wherein at least two of the selected virtual machines are hosted in different nodes of the node cluster.

3. The method of claim 1 , wherein the snapshot process is executed within a host operating system (OS) and each of the rollover processes is executed within a guest OS running in each of the selected VMs.

4. The method of claim 3 , wherein at least one of the guest operating systems of the selected VMs is different than the host OS.

5. The method of claim 1 , wherein the live object to be backed up includes a serialize function and a deserialize function as function members of the corresponding live object, and wherein serializing and deserializing are performed by calling the corresponding serialize function and deserialize function respectively.

6. The method of claim 1 , wherein the one or more streams of one or more serialized objects are written to a shared binary file on a shared location accessible by a plurality of nodes and VMs.

7. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations to back up data in parallel by virtual machines (VM) in a federated backup environment, the operations comprising:

initializing a backup process on a physical node of a node cluster, wherein the node cluster includes a plurality of physical nodes, each physical node having one or more VMs;

executing a snapshot process to capture a snapshot including one or more live objects, wherein the live objects comprise VM configurations and virtual hard disk (VHD) information of one or more VHDs, wherein the snapshot represents a consistent point of the node cluster;

selecting a list of VMs from the VMs of the plurality of physical nodes of the node cluster;

transmitting the live objects to the list of selected VMs for a data rollover process;

executing a data rollover process in each of the selected VMs to back up data associated with the live objects to a remote backup system in parallel;

serializing by the snapshot process the live objects into one or more streams of one or more serialized objects, wherein the streams of serialized objects are transmitted from the snapshot process to the data rollover process of each selected VM; and

for each of the one or more serialized objects received at a VM from the snapshot process,

executing a rollover process within the VM to deserialize the serialized object to recover a corresponding live object, and

backing up the recovered live object to the remote backup system.

8. The machine-readable medium of claim 7 , wherein at least two of the selected virtual machines are hosted in different nodes of the node cluster.

9. The machine-readable medium of claim 7 , wherein the snapshot process is executed within a host operating system (OS) and each of the rollover processes is executed within a guest OS running in each of the selected VMs.

10. The machine-readable medium of claim 9 , wherein at least one of the guest operating systems of the selected VMs is different than the host OS.

11. The machine-readable medium of claim 1 , wherein the live object to be backed up includes a serialize function and a deserialize function as function members of the corresponding live object, and wherein serializing and deserializing are performed by calling the corresponding serialize function and deserialize function respectively.

12. The machine-readable medium of claim 7 , wherein the one or more streams of one or more serialized objects are written to a shared binary file on a shared location accessible by a plurality of nodes and VMs.

13. A data processing system, comprising:

a processor; and

a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform operations, the operations including

initializing a backup process on a physical node of a node cluster, wherein the node cluster includes a plurality of physical nodes, each physical node having one or more VMs,

executing a snapshot process to capture a snapshot including one or more live objects, wherein the live objects comprise VM configurations and virtual hard disk (VHD) information of one or more VHDs, wherein the snapshot represents a consistent point of the node cluster,

selecting a list of VMs from the VMs of the plurality of physical nodes of the node cluster,

transmitting the live objects to the list of selected VMs for a data rollover process,

executing a data rollover process in each of the selected VMs to back up data associated with the live objects to a remote backup system in parallel,

serializing by the snapshot process the live objects into one or more streams of one or more serialized objects, wherein the streams of serialized objects are transmitted from the snapshot process to the data rollover process of each selected VM,

for each of the one or more serialized objects received at a VM from the snapshot process,

executing a rollover process within the VM to deserialize the serialized object to recover a corresponding live object, and

backing up the recovered live object to the remote backup system.

14. The system of claim 13 , wherein at least two of the selected virtual machines are hosted in different nodes of the node cluster.

15. The system of claim 13 , wherein the snapshot process is executed within a host operating system (OS) and each of the rollover processes is executed within a guest OS running in each of the selected VMs.

16. The system of claim 15 , wherein at least one of the guest operating systems of the selected VMs is different than the host OS.

17. The system of claim 13 , wherein the live object to be backed up includes a serialize function and a deserialize function as function members of the corresponding live object, and wherein serializing and deserializing are performed by calling the corresponding serialize function and deserialize function respectively.

18. The system of claim 13 , wherein the one or more streams of one or more serialized objects are written to a shared binary file on a shared location accessible by a plurality of nodes and VMs.

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 (052216/0758) Recorded Jun 23, 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 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
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 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
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 Dec 13, 2016
From: YADAV, SUNIL; ACHARYA, SOUMEN; CHAKRABORTY, ANUPAM; DETHE, TUSHAR
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040724/0929 →
Cited By (4)
US 12,259,798 US 12,282,397 US 12,405,859 US 12,711,239