IP Library Granted Patent US 12,242,354
Granted Patent B2
US 12,242,354 · App. 18/479,477 · Granted Mar 4, 2025

Methods and apparatus for providing hypervisor level data services for server virtualization

Inventors: Tomer Ben-Or (Givat Haim Ichud, IL); Gil Barash (Tel Aviv, IL); Chen Burshan (Tel Aviv, IL); Yair Manor (Netanya, IL)
Assignee: Hewlett Packard Enterprise Development LP
G06F11/1451G06F3/0619G06F3/0631G06F3/065G06F3/0683G06F11/1435G06F11/1469G06F11/1471G06F11/1662G06F11/2038G06F11/2048G06F11/2097G06F2201/805G06F2201/84
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 12,242,354
App. No.
18/479,477
Granted
Mar 4, 2025
Kind
B2
Abstract

A data center for data backup and replication, including a pool of multiple storage units for storing a journal of I/O write commands issued at respective times, wherein the journal spans a history window of a pre-specified time length, and a journal manager for dynamically allocating more storage units for storing the journal as the journal size increases, and for dynamically releasing storage units as the journal size decreases.

Claims (52)

1. A method, comprising:

receiving, by a computing device, an input/output (I/O) request to add new data to a journal, the journal comprising a plurality of data chunks, the plurality of data chunks allocated from resources of a pool of storage resources;

determining, by the computing device, responsive to receiving the I/O request, that the journal contains data covering a greater period than a defined time window, each of the plurality of data chunks corresponding to a respective portion of the defined time window;

removing, by the computing device, responsive to determining that the journal contains the data covering a greater period than the defined time window, at least a portion of the data from at least one of the plurality of data chunks in the journal; and

adding, by the computing device, the new data to the journal.

2. The method of claim 1 , comprising:

determining, by the computing device, that addition of the new data to the journal would cause the journal to exceed a maximum size for the journal; and

freeing, by the computing device, responsive to determining that the addition of the new data would cause the journal to exceed the maximum size, at least one of the plurality of data chunks in the journal.

3. The method of claim 1 , comprising:

determining, by the computing device, that an additional data chunk is to be allocated to the journal for the storing of the new data; and

allocating, by the computing device, responsive to determining that the additional data chunk is to be allocated to the journal, the additional data chunk in the plurality of data chunks in the journal to the new data.

4. The method of claim 1 , comprising:

determining, by the computing device, that no free data chunk is available among the plurality of data chunks for the addition of the new data in the journal; and

promoting, by the computing device, responsive to determining that no free data chunk is available, at least one of the plurality of data chunks in the journal to a recovery disk.

5. The method of claim 1 , comprising:

intercepting, by the computing device at a recovery site, the I/O request from a server to store the new data in a protected disk at a protected site.

6. The method of claim 1 , comprising:

allocating, by the computing device, the data chunk corresponding to a variable-sized storage unit in the journal to the new data to be added to the journal, the variable-sized storage unit corresponding to a time window.

7. A system, comprising:

a computing system to:

receive an input/output (I/O) request to add new data to a journal, the journal comprising a plurality of data chunks, the plurality of data chunks allocated from resources of a pool of storage resources;

determine that addition of the new data to the journal would cause the journal to exceed a maximum size for the journal;

free, responsive to determining that the addition of the new data would cause the journal to exceed the maximum size, at least one of the plurality of data chunks in the journal; and

add the new data of the I/O request to the journal.

8. The system of claim 7 , comprising the computing system to:

determine that the journal contains data over a defined time window, each of the plurality of data chunks corresponding to a respective portion of the defined time window; and

remove, responsive to determining that the journal contains the data over the defined time window, at least a portion of the data from at least one of the plurality of data chunks in the journal.

9. The system of claim 7 , comprising the computing system to:

determine that an additional data chunk is to be allocated to the journal for the storing of the new data; and

allocate, responsive to determining that the additional data chunk is to be allocated to the journal, the additional data chunk in the plurality of data chunks in the journal to the new data.

10. The system of claim 7 , comprising the computing system to:

determine that no free data chunk is available among the plurality of data chunks for the addition of the new data in the journal; and

promote, responsive to determining that no free data chunk is available, at least one of the plurality of data chunks in the journal to a recovery disk.

11. The system of claim 7 , comprising the computing system at a recovery site, to intercept the I/O request from a server to store the new data in a protected disk at a protected site.

12. The system of claim 7 , comprising the computing system to allocate the data chunk corresponding to a variable-sized storage unit in the journal to the new data to be added to the journal.

13. A data center, comprising:

a journal manager to:

receive an input/output (I/O) request to add new data to a journal, the journal comprising a plurality of data chunks, the plurality of data chunks allocated from resources of a pool of storage resources;

determine, responsive to receive the I/O request, that an additional data chunk is to be allocated to the journal for the storing of the new data; and

allocate, responsive to determining that the additional data chunk is to be allocated to the journal, the additional data chunk in the plurality of data chunks in the journal to the new data;

add the new data of the I/O request to the journal.

14. The data center of claim 13 , comprising the journal manager to:

determine that the journal contains data covering a greater period than a defined time window, each of the plurality of data chunks corresponding to a respective portion of the defined time window; and

remove, responsive to determining that the journal contains the data covering a greater period than the defined time window, at least a portion of the data from at least one of the plurality of data chunks in the journal.

15. The data center of claim 13 , comprising the journal manager to:

determine that addition of the new data to the journal exceeds a maximum size of the journal; and

free, responsive to determining that the addition of the new data exceeds the maximum size, at least one of the plurality of data chunks in the journal.

16. The data center of claim 13 , comprising the journal manager to:

determine that no free data chunk is available among the plurality of data chunks for the addition of the new data in the journal; and

promote, responsive to determining that no free data chunk is available, at least one of the plurality of data chunks in the journal to a recovery disk.

17. The data center of claim 13 , comprising the journal manager to dynamically allocate variable-sized storage units for storing data on the journal.

18. The data center of claim 13 , comprising the journal manager at a recovery site to intercept the I/O request from a server to store the new data in a protected disk at a protected site.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2024
From: ZERTO LTD.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 066269/0960 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2023
From: BEN-OR, TOMER; BARASH, GIL; BURSHAN, CHEN; MANOR, YAIR
To: ZERTO LTD.
Reel/Frame 065101/0571 →
Continuity (8)
Continuation 17688080 · Mar 7, 2022
Continuation 16269542 · Feb 6, 2019
Continuation 15691635 · Aug 30, 2017
Continuation 15175864 · Jun 7, 2016
Continuation 14977972 · Dec 22, 2015
Continuation 14478518 · Sep 5, 2014
Continuation 13175909 · Jul 4, 2011
Related Publication 20240036978A1 · Feb 1, 2024
References Cited (73)
US 6052696A · Euler et al. · 2000 [cited by applicant]
US 6298345B1 · Armstrong et al. · 2001 [cited by applicant]
US 6438719B1 · Lindberg et al. · 2002 [cited by applicant]
US 6658591B1 · Arndt · 2003 [cited by applicant]
US 6910160B2 · Bajoria et al. · 2005 [cited by applicant]
US 6944847B2 · Desai et al. · 2005 [cited by applicant]
US 7111136B2 · Yamagami · 2006 [cited by applicant]
US 7143307B1 · Witte et al. · 2006 [cited by applicant]
US 7155465B2 · Lee · 2006 [cited by examiner]
US 7337262B2 · Beeston et al. · 2008 [cited by applicant]
US 7337762B2 · Eng et al. · 2008 [cited by applicant]
US 7398363B2 · Innan et al. · 2008 [cited by applicant]
US 7475207B2 · Bromling et al. · 2009 [cited by applicant]
US 7523277B1 · Kekre et al. · 2009 [cited by applicant]
US 7577807B2 · Rowan et al. · 2009 [cited by applicant]
US 7577817B2 · Karpoff et al. · 2009 [cited by applicant]
US 7577867B2 · Lewin et al. · 2009 [cited by applicant]
US 7603395B1 · Bingham et al. · 2009 [cited by applicant]
US 7685378B2 · Arakawa et al. · 2010 [cited by applicant]
US 7765443B1 · Syed et al. · 2010 [cited by applicant]
US 7802137B2 · Kawamura et al. · 2010 [cited by applicant]
US 7840536B1 · Ahal et al. · 2010 [cited by applicant]
US 7844577B2 · Becker et al. · 2010 [cited by applicant]
US 7849361B2 · Ahal et al. · 2010 [cited by applicant]
US 7916421B1 · Liikanen et al. · 2011 [cited by applicant]
US 7979399B2 · Barsness et al. · 2011 [cited by applicant]
US 8046423B2 · Haywood et al. · 2011 [cited by applicant]
US 8060468B2 · Deguchi et al. · 2011 [cited by applicant]
US 8140806B2 · Vingralek et al. · 2012 [cited by applicant]
US 8239584B1 · Rabe · 2012 [cited by examiner]
US 8356150B2 · Fachan et al. · 2013 [cited by applicant]
US 8843446B2 · Ben-Or et al. · 2014 [cited by applicant]
US 8924362B2 · Nath · 2014 [cited by applicant]
US 9684566B2 · Li · 2017 [cited by examiner]
US 20040068561A1 · Yamamoto et al. · 2004 [cited by applicant]
US 20040268067A1 · Yamagami · 2004 [cited by applicant]
US 20050044170A1 · Cox et al. · 2005 [cited by applicant]
US 20050171979A1 · Stager et al. · 2005 [cited by applicant]
US 20050182953A1 · Stager et al. · 2005 [cited by applicant]
US 20050188256A1 · Stager et al. · 2005 [cited by applicant]
US 20060047996A1 · Anderson et al. · 2006 [cited by applicant]
US 20060190692A1 · Yamagami · 2006 [cited by applicant]
US 20070028244A1 · Landis et al. · 2007 [cited by applicant]
US 20080046667A1 · Fachan et al. · 2008 [cited by applicant]
US 20080086726A1 · Griffith et al. · 2008 [cited by applicant]
US 20080195624A1 · Ponnappan et al. · 2008 [cited by applicant]
US 20090249330A1 · Abercrombie et al. · 2009 [cited by applicant]
US 20100017801A1 · Kundapur · 2010 [cited by applicant]
US 20100198972A1 · Umbehocker · 2010 [cited by applicant]
US 20110022812A1 · Van Der Linden et al. · 2011 [cited by applicant]
US 20110099200A1 · Blount et al. · 2011 [cited by applicant]
US 20110099342A1 · Ozdemir · 2011 [cited by applicant]
US 20110125980A1 · Brunet et al. · 2011 [cited by applicant]
US 20110131183A1 · Chandhok et al. · 2011 [cited by applicant]
WO WO2009151445 · 2009 [cited by applicant]
U.S. Office Action on U.S. Appl. No. 16/269,542 dated Aug. 31, 2021. [cited by applicant]
U.S. Notice of Allowance on U.S. Appl. No. 16/269,542 dated Dec. 30, 2021. [cited by applicant]
Illuminata EMC RecoverPoint: Beyond Basics CDP Searched via internet on Nov. 10, 2013. [cited by applicant]
Mendocino: The RecoveryOne Solution, Architecture Guide, 22 pages Product Version 1.0, Jan. 3, 2006. [cited by applicant]
NetWorker PowerSnap Module for EMC Symmetrix, Release 2.1 Installation and Administrator's Guide, 238 pgs, printed Sep. 2005. [cited by applicant]
Non-Final Office Action on U.S. Appl. No. 15/691,635, dated Jun. 15, 2018, 10 pages. [cited by applicant]
Non-Final Office Action on U.S. Appl. No. 17/688,080 Dtd Jan. 20, 2023. [cited by applicant]
Notice of Allowance on U.S. Appl. No. 15/691,635, dated Oct. 1, 2018, 6 pages. [cited by applicant]
Notice of Allowance on U.S. Appl. No. 17/688,080 Dtd Aug. 29, 2023. [cited by applicant]
Office Action of U.S. Appl. No. 13/175,909. dated Dec. 6, 2012, 9 pages. [cited by applicant]
Olzak, T., “Secure hypervisor-based virtual server environments”, Feb. 26, 2007. http://www.techrepublic.com/blog/security/secure-hypervisor-based-virtual-server-environments/160. [cited by applicant]
U.S. Notice of Allowance for U.S. Appl. No. 14/977,972 dated May 16, 2016. [cited by applicant]
U.S. Notice of Allowance on U.S. Appl. No. 13/175,909 Dtd Aug. 7, 2014. [cited by applicant]
U.S. Notice of Allowance on U.S. Appl. No. 14/478,518 dated Oct. 13, 2015. [cited by applicant]
U.S. Notice of Allowance on U.S. Appl. No. 15/175,864 Dtd May 31, 2017. [cited by applicant]
U.S. Office Action on U.S. Appl. No. 13/175,909 Dtd Mar. 25, 2014. [cited by applicant]
U.S. Office Action on U.S. Appl. No. 13/175,909 Dtd May 20, 2013. [cited by applicant]
U.S. Office Action on U.S. Appl. No. 15/175,864 Dtd Mar. 24, 2017. [cited by applicant]