IP Library Granted Patent US 12,298,941
Granted Patent B2
US 12,298,941 · App. 18/418,126 · Granted May 13, 2025

Adaptable multi-layered storage for deduplicating electronic messages

Inventors: Noel Moldvai (San Francisco, CA); Jihang Lim (Mountain View, CA)
Assignee: Rubrik, Inc.
G06F16/1748G06F16/137H04L51/08H04L51/42H04L67/1097
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,298,941
App. No.
18/418,126
Granted
May 13, 2025
Kind
B2
Abstract

Methods and systems for improving data back-up, recovery, and search across different cloud-based applications, services, and platforms are described. A data management and storage system may direct compute and storage resources within a customer's cloud-based data storage account to back-up and restore data while the customer retains full control of their data. The data management and storage system may direct the compute and storage resources within the customer's cloud-based data storage account to generate and store secondary layers that are used for generating search indexes, to generate and store shared space layers and user specific layers to facilitate the deduplication of email attachments and text blocks, to perform a controlled restoration of email snapshots such that sensitive information (e.g., restricted keywords) located within stored snapshots remains protected, and to detect and preserve emails that were received or transmitted and then deleted between two consecutive snapshots.

Claims (51)

1. A method, comprising:

acquiring a first snapshot that represents a set of electronic messages as of a first time;

storing, after acquiring the first snapshot, a representation of a first electronic message associated with a transmission or reception time subsequent to the first time;

acquiring, after storing the representation of the first electronic message, a second snapshot that represents the set of electronic messages as of a second time subsequent to the first time;

detecting that the second snapshot of the set of electronic messages does not reflect the first electronic message; and

generating, based at least in part on the stored representation of the first electronic message and in response to detecting that the second snapshot of the set of electronic messages does not reflect the first electronic message, a third snapshot that reflects the first electronic message.

2. The method of claim 1 , further comprising:

detecting that the first electronic message is transmitted or received after the first time, wherein storing the representation of the first electronic message is in response to detecting that that the first electronic message is transmitted or received after the first time.

3. The method of claim 1 , further comprising:

comparing electronic messages stored within a storage repository with electronic messages reflected by the second snapshot, wherein detecting that the second snapshot does not reflect the first electronic message is based at least in part on the comparing.

4. The method of claim 1 , further comprising:

comparing electronic messages transmitted or received by an email mailbox with electronic messages reflected by the second snapshot, wherein detecting that the second snapshot does not reflect the first electronic message is based at least in part on the comparing.

5. The method of claim 1 , wherein generating the third snapshot comprises:

generating a snapshot of a storage repository in which the representation of the first electronic message is stored.

6. The method of claim 5 , further comprising:

deleting the first electronic message from the storage repository after generating the snapshot of the storage repository.

7. The method of claim 1 , wherein the set of electronic messages comprises electronic messages associated with one or more email mailboxes.

8. The method of claim 1 , further comprising:

determining whether a size of the first electronic message satisfies a threshold size, wherein the third snapshot reflects the first electronic message based at least in part on the size of the first electronic message satisfying the threshold size.

9. The method of claim 1 , further comprising:

determining whether the first electronic message includes a keyword, wherein the third snapshot reflects the first electronic message based at least in part on the first electronic message not including the keyword.

10. The method of claim 1 , further comprising:

determining whether the first electronic message includes a keyword, wherein the third snapshot reflects the first electronic message based at least in part on the first electronic message including the keyword.

11. The method of claim 1 , further comprising:

determining whether the first electronic message includes a word associated with a prior search operation, wherein the third snapshot reflects the first electronic message based at least in part on the first electronic message including the word associated with the prior search operation.

12. The method of claim 1 , wherein the third snapshot reflects the first electronic message based at least in part on an email address associated with the first electronic message.

13. A system, comprising:

memory; and

one or more processors coupled with the memory, the one or more processors configured to cause the system to:

acquire a first snapshot that represents a set of electronic messages as of a first time;

store, after acquiring the first snapshot, a representation of a first electronic message associated with a transmission or reception time subsequent to the first time;

acquire, after storing the representation of the first electronic message, a second snapshot that represents the set of electronic messages as of a second time subsequent to the first time;

detect that the second snapshot of the set of electronic messages does not reflect the first electronic message; and

generate, based at least in part on the stored representation of the first electronic message and in response to detecting that the second snapshot of the set of electronic messages does not reflect the first electronic message, a third snapshot that reflects the first electronic message.

14. The system of claim 13 , wherein the one or more processors are further configured to cause the system to:

detect that the first electronic message is transmitted or received after the first time, wherein the one or more processors are configured to cause the system to store the representation of the first electronic message in response to detecting that that the first electronic message is transmitted or received after the first time.

15. The system of claim 13 , wherein the one or more processors are further configured to cause the system to:

compare electronic messages stored within a storage repository with electronic messages reflected by the second snapshot, wherein the one or more processors are configured to cause the system to detect that the second snapshot does not reflect the first electronic message based at least in part on the comparing.

16. The system of claim 13 , wherein the one or more processors are further configured to cause the system to:

compare electronic messages transmitted or received by an email mailbox with electronic messages reflected by the second snapshot, wherein the one or more processors are configured to cause the system to detect that the second snapshot does not reflect the first electronic message based at least in part on the comparing.

17. The system of claim 13 , wherein, to generate the third snapshot, the one or more processors are configured to cause the system to:

generate a snapshot of a storage repository in which the representation of the first electronic message is stored.

18. The system of claim 17 , wherein the one or more processors are further configured to cause the system to:

delete the first electronic message from the storage repository after generating the snapshot of the storage repository.

19. The system of claim 13 , wherein the set of electronic messages comprises electronic messages associated with one or more email mailboxes.

20. A non-transitory, computer-readable medium storing code comprising instructions executable by one or more processors of an electronic system to cause the electronic system to:

acquire a first snapshot that represents a set of electronic messages as of a first time;

store, after acquiring the first snapshot, a representation of a first electronic message associated with a transmission or reception time subsequent to the first time;

acquire, after storing the representation of the first electronic message, a second snapshot that represents the set of electronic messages as of a second time subsequent to the first time;

detect that the second snapshot of the set of electronic messages does not reflect the first electronic message; and

generate, based at least in part on the stored representation of the first electronic message and in response to detecting that the second snapshot of the set of electronic messages does not reflect the first electronic message, a third snapshot that reflects the first electronic message.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2024
From: MOLDVAI, NOEL; LIM, JIHANG
To: RUBRIK, INC.
Reel/Frame 069484/0197 →
Continuity (4)
Continuation 18103373 · Jan 30, 2023
Continuation 17370290 · Jul 8, 2021
Continuation 16456983 · Jun 28, 2019
Related Publication 20240160608A1 · May 16, 2024
References Cited (63)
US 7529782B2 · Prahlad et al. · 2009 [cited by applicant]
US 8046547B1 · Chatterjee et al. · 2011 [cited by applicant]
US 8255731B1 · Alsina et al. · 2012 [cited by applicant]
US 8341139B1 · Ogilvie · 2012 [cited by examiner]
US 9020900B2 · Vijayan et al. · 2015 [cited by applicant]
US 9274714B2 · Kamila et al. · 2016 [cited by applicant]
US 9959420B2 · Kiang et al. · 2018 [cited by applicant]
US 10275317B2 · Borate et al. · 2019 [cited by applicant]
US 10339016B2 · Juniwal et al. · 2019 [cited by applicant]
US 10423503B2 · Juniwal et al. · 2019 [cited by applicant]
US 10511523B1 · Bosshart · 2019 [cited by examiner]
US 10891069B2 · Ashraf et al. · 2021 [cited by applicant]
US 10999368B2 · Vallabhaneni et al. · 2021 [cited by applicant]
US 11030062B2 · Juniwal et al. · 2021 [cited by applicant]
US 11080142B2 · Lim et al. · 2021 [cited by applicant]
US 11157451B2 · Moldvai · 2021 [cited by examiner]
US 11194669B2 · Ekram et al. · 2021 [cited by applicant]
US 11308035B2 · Prahlad et al. · 2022 [cited by applicant]
US 11392460B2 · Lim et al. · 2022 [cited by applicant]
US 11675741B2 · Moldvai et al. · 2023 [cited by applicant]
US 11681586B2 · Terei et al. · 2023 [cited by applicant]
US 20070043705A1 · Kaushik et al. · 2007 [cited by applicant]
US 20100106933A1 · Kamila et al. · 2010 [cited by applicant]
US 20110246427A1 · Modak et al. · 2011 [cited by applicant]
US 20130013572A1 · Tevis et al. · 2013 [cited by applicant]
US 20130097306A1 · Dhunay · 2013 [cited by applicant]
US 20130262210A1 · Savage et al. · 2013 [cited by applicant]
US 20140259190A1 · Kiang et al. · 2014 [cited by applicant]
US 20150085604A1 · Flanagan · 2015 [cited by applicant]
US 20150127936A1 · Kim · 2015 [cited by applicant]
US 20160057027A1 · Hinrichs et al. · 2016 [cited by applicant]
US 20160210198A1 · Durge et al. · 2016 [cited by applicant]
US 20170090786A1 · Parab et al. · 2017 [cited by applicant]
US 20170228387A1 · Ahn et al. · 2017 [cited by applicant]
US 20170262350A1 · Dornemann · 2017 [cited by applicant]
US 20170286230A1 · Zamir · 2017 [cited by applicant]
US 20180060178A1 · Barajas et al. · 2018 [cited by applicant]
US 20180095845A1 · Sanakkayala et al. · 2018 [cited by applicant]
US 20180232395A1 · Deshmukh et al. · 2018 [cited by applicant]
US 20180275881A1 · Ashraf et al. · 2018 [cited by applicant]
US 20190004906A1 · Shoolman et al. · 2019 [cited by applicant]
US 20190050301A1 · Juniwal et al. · 2019 [cited by applicant]
US 20190050302A1 · Juniwal et al. · 2019 [cited by applicant]
US 20190129972A1 · Borate et al. · 2019 [cited by applicant]
US 20190179710A1 · Derryberry · 2019 [cited by applicant]
US 20190179805A1 · Prahlad et al. · 2019 [cited by applicant]
US 20190179918A1 · Singh et al. · 2019 [cited by applicant]
US 20190236274A1 · Brenner · 2019 [cited by applicant]
US 20190278663A1 · Mehta et al. · 2019 [cited by applicant]
US 20190354441A1 · Ramachandran et al. · 2019 [cited by applicant]
US 20190370113A1 · Zhao et al. · 2019 [cited by applicant]
US 20190384678A1 · Samprathi et al. · 2019 [cited by applicant]
US 20200057699A1 · Juniwal et al. · 2020 [cited by applicant]
US 20200073647A1 · Takabayashi · 2020 [cited by applicant]
US 20200379848A1 · Ekram et al. · 2020 [cited by applicant]
US 20200409795A1 · Lim et al. · 2020 [cited by applicant]
US 20200409796A1 · Terei et al. · 2020 [cited by applicant]
US 20200409802A1 · Lim et al. · 2020 [cited by applicant]
US 20200409909A1 · Moldvai et al. · 2020 [cited by applicant]
US 20220066995A1 · Moldvai et al. · 2022 [cited by applicant]
US 20230177012A1 · Moldvai et al. · 2023 [cited by applicant]
US 20230273864A1 · Terei et al. · 2023 [cited by applicant]
CA 2838107A1 · 2011 [cited by applicant]