IP Library Granted Patent US 12,333,328
Granted Patent B2
US 12,333,328 · App. 18/227,863 · Granted Jun 17, 2025

Asynchronous queries on secondary data cores in a distributed computing system

Inventors: Ramsés V. Morales (Sunnyvale, CA); Mirza Mohsin Beg (Foster City, CA); Shashank Pedamallu (Mountain View, CO)
Assignee: VMWare LLC
G06F9/45558G06F3/0608G06F3/0647G06F2009/45583G06F2009/45595
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,333,328
App. No.
18/227,863
Granted
Jun 17, 2025
Kind
B2
Abstract

The present disclosure relates generally to techniques for processing asynchronous queries across multiple data cores including secondary data cores stored in the secondary storage system in a distributed computing system. Data from secondary data cores are recovered to new data cores generated in the data plane in order to be accessible for searching. Using this technique, asynchronous queries are run in parallel allowing the client to dynamically manage the queries and receive notifications when results are available.

Claims (94)

1. A method for querying data items stored across a plurality of data cores and a plurality of secondary data cores, the plurality of data cores stored in a first data plane container of a data plane of a distributed computing system and the plurality of secondary data cores stored in a secondary storage system, the method comprising:

at a management plane of the distributed computing system:

processing a search request for one or more data items;

determining whether a secondary data core of the plurality of secondary data cores contains one or more data items corresponding to the search request;

in accordance with a determination that a particular secondary data core of the plurality of secondary data cores contains one or more data items corresponding to the search request:

determining whether an amount of available storage in a first data plane container satisfies one or more predetermined criteria required to store the one or more data items in the first data plane container;

in accordance with a determination that an amount of available storage in the first data plane container does not satisfy the one or more predetermined criteria required to store the one or more data items in the first data plane container:

initiating generation of a new data core in a second data plane container of the data plane;

recovering at least the one or more data items corresponding to the search request, from the particular secondary data core;

causing storage of the recovered data items in the new data core; and

executing the search request using the new data core in the second data plane container of the data plane.

2. The method of claim 1 , wherein the second data plane container is a dedicated data plane container (DDC).

3. The method of claim 1 , further comprising:

in accordance with a determination that multiple secondary data cores of the plurality of secondary data cores each contain one or more of the data items corresponding to the search request:

initiating generation, in the second data plane container of the data plane, of a new data core for each secondary data core of the multiple secondary data cores;

recovering at least the one or more data items corresponding to the search request, from each secondary data core of the multiple secondary data cores;

causing storage of the recovered data items in corresponding ones of the generated new data cores; and

executing the search request using the new data cores in the second data plane container of the data plane.

4. The method of claim 1 , further comprising:

in accordance with a determination that an amount of available storage in the data plane does not satisfy one or more predetermined criteria required to store the one or more data items in the first data plane container:

forgoing recovering the at least the one or more data items corresponding to the search request, from the particular secondary data core; and

executing the search request using one or more data cores of the plurality of data cores, the one or more data cores determined to contain one or more data items corresponding to the search request.

5. The method of claim 1 , further comprising:

in accordance with a determination that an amount of available storage in the data plane does not satisfy one or more predetermined criteria required to store the one or more data items in the first data plane container:

performing, by the management plane, one or more operations to increase the amount of available storage in the first data plane container;

after performing the one or more operations, initiating generation of an additional data core in the first data plane container;

causing recovery of the one or more data items corresponding to the search request, from the particular secondary data core;

causing storage of the recovered data items in the additional data core; and

executing the search request using the additional data core.

6. The method of claim 1 , wherein the secondary storage system is external to the distributed computing system.

7. The method of claim 1 , wherein the one or more predetermined criteria are based on a current ingestion rate of data items by the data plane.

8. The method of claim 1 , wherein the search request is associated with a tenant, and wherein the one or more predetermined criteria are based on a total amount of storage allocated to the tenant for the first data plane container.

9. The method of claim 1 , further comprising:

in accordance with a determination that one or more secondary data cores of the plurality of secondary data cores contain one or more data items corresponding to the search request, providing an output indicating that the search request will be executed asynchronously, wherein the output is provided prior to executing the search request.

10. The method of claim 1 , further comprising:

in accordance with a determination that none of the plurality of secondary data cores contain one or more data items corresponding to the search request:

executing the search request using one or more data cores of the plurality of data cores, the one or more data cores determined to contain one or more data items corresponding to the search request; and

forgoing providing an output to a user until after a result is obtained from executing the search request using the one or more data cores.

11. The method of claim 1 , further comprising:

in accordance with a determination that one or more secondary data cores of the plurality of secondary data cores contain one or more data items corresponding to the search request:

causing display of a user interface containing a list of asynchronous queries being processed by the management plane, the list of asynchronous queries including the search request, wherein the user interface enables a user to stop or start execution of the search request.

12. The method of claim 11 , further comprising:

after completing execution of the search request, causing display of results obtained from executing the search request in response to receiving a user selection of the search request via the user interface.

13. A non-transitory computer-readable storage medium comprising one or more programs configured to be executed by one or more processors of a distributed computing system, the one or more programs including instructions for:

at a management plane of the distributed computing system:

processing a received search request for one or more data items;

determining whether a secondary data core of the plurality of secondary data cores contains one or more data items corresponding to the search request;

in accordance with a determination that a particular secondary data core of the plurality of secondary data cores contains one or more data items corresponding to the search request:

determining whether an amount of available storage in a first data plane container satisfies one or more predetermined criteria required to store the one or more data items in the first data plane container;

in accordance with a determination that an amount of available storage in the first data plane container does not satisfy the one or more predetermined criteria required to store the one or more data items in the first data plane container:

initiating generation of a new data core in a second data plane container of the data plane;

recovering at least the one or more data items corresponding to the search request, from the particular secondary data core;

causing storage of the recovered data items in the new data core; and

executing the search request using the new data core in the second data plane container of the data plane.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the second data plane container is a dedicated data plane container (DDC).

15. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions for, at the management plane of the distributed computing system:

in accordance with a determination that multiple secondary data cores of the plurality of secondary data cores each contain one or more of the data items corresponding to the search request:

initiating generation, in the second data plane container of the data plane, of a new data core for each secondary data core of the multiple secondary data cores;

recovering at least the one or more data items corresponding to the search request, from each secondary data core of the multiple secondary data cores;

causing storage of the recovered data items in corresponding ones of the generated new data cores; and

executing the search request using the new data cores in the second data plane container of the data plane.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions for, at the management plane of the distributed computing system:

in accordance with a determination that an amount of available storage in the data plane does not satisfy one or more predetermined criteria required to store the one or more data items in the first data plane container:

performing, by the management plane, one or more operations to increase the amount of available storage in the first data plane container;

after performing the one or more operations, initiating generation of an additional data core in the first data plane container;

causing recovery of the one or more data items corresponding to the search request, from the particular secondary data core;

causing storage of the recovered data items in the additional data core; and

executing the search request using the additional data core.

17. A distributed computing system comprising:

one or more processors and

a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for, at a management plane of the distributed computing system:

processing a received search request for one or more data items;

determining whether a secondary data core of the plurality of secondary data cores contains one or more data items corresponding to the search request;

in accordance with a determination that a particular secondary data core of the plurality of secondary data cores contains one or more data items corresponding to the search request:

determining whether an amount of available storage in a first data plane container satisfies one or more predetermined criteria required to store the one or more data items in the first data plane container;

in accordance with a determination that an amount of available storage in the first data plane container does not satisfy the one or more predetermined criteria required to store the one or more data items in the first data plane container:

initiating generation of a new data core in a second data plane container of a data plane;

recovering at least the one or more data items corresponding to the search request, from the particular secondary data core;

causing storage of the recovered data items in the new data core; and

executing the search request using the new data core in the second data plane container of the data plane.

18. The distributed computing system of claim 17 , wherein the second data plane container is a dedicated data plane container (DDC).

19. The distributed computing system of claim 17 , wherein the instructions further comprise instructions for, at the management plane of the distributed computing system:

in accordance with a determination that multiple secondary data cores of the plurality of secondary data cores each contain one or more of the data items corresponding to the search request:

initiating generation, in the second data plane container of the data plane, of a new data core for each secondary data core of the multiple secondary data cores;

recovering at least the one or more data items corresponding to the search request, from each secondary data core of the multiple secondary data cores;

causing storage of the recovered data items in corresponding ones of the generated new data cores; and

executing the search request using the new data cores in the second data plane container of the data plane.

20. The distributed computing system of claim 17 , wherein the instructions further comprise instructions for, at the management plane of the distributed computing system:

in accordance with a determination that an amount of available storage in the data plane does not satisfy one or more predetermined criteria required to store the one or more data items in the first data plane container:

performing, by the management plane, one or more operations to increase the amount of available storage in the first data plane container;

after performing the one or more operations, initiating generation of an additional data core in the first data plane container;

causing recovery of the one or more data items corresponding to the search request, from the particular secondary data core;

causing storage of the recovered data items in the additional data core; and

executing the search request using the additional data core.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2024
From: MORALES, RAMSÉS V.; BEG, MIRZA MOHSIN; PEDAMALLU, SHASHANK
To: VMWARE, INC.
Reel/Frame 069670/0494 →
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
Continuity (3)
Continuation 17202125 · Mar 15, 2021
Continuation 15925464 · Mar 19, 2018
Related Publication 20230385096A1 · Nov 30, 2023
References Cited (163)
US 5060150A · Simor · 1991 [cited by applicant]
US 5206933A · Farrell et al. · 1993 [cited by applicant]
US 6970865B1 · Plasek et al. · 2005 [cited by applicant]
US 7215970B2 · Corrigan et al. · 2007 [cited by applicant]
US 7444679B2 · Tarquini et al. · 2008 [cited by applicant]
US 7953571B2 · Odaka et al. · 2011 [cited by applicant]
US 8145669B2 · Cormode et al. · 2012 [cited by applicant]
US 8291490B1 · Ahmed et al. · 2012 [cited by applicant]
US 8375060B2 · Dewar et al. · 2013 [cited by applicant]
US 8405944B2 · Donolo et al. · 2013 [cited by applicant]
US 8498996B2 · Whitcher et al. · 2013 [cited by applicant]
US 8713618B1 · Kuznetsov · 2014 [cited by applicant]
US 8738608B2 · Pauly · 2014 [cited by applicant]
US 8745014B2 · Travis · 2014 [cited by applicant]
US 8768962B2 · Laron · 2014 [cited by applicant]
US 8949224B2 · Gupta · 2015 [cited by applicant]
US 9047558B2 · Hochstein · 2015 [cited by applicant]
US 9418101B2 · He et al. · 2016 [cited by applicant]
US 9437022B2 · Vander Broek · 2016 [cited by applicant]
US 9514183B1 · Alla · 2016 [cited by applicant]
US 9578046B2 · Baker · 2017 [cited by applicant]
US 9582500B2 · Mcgillin et al. · 2017 [cited by applicant]
US 9712887B2 · Myers et al. · 2017 [cited by applicant]
US 9717011B2 · Huang et al. · 2017 [cited by applicant]
US 9817851B2 · Dumant et al. · 2017 [cited by applicant]
US 9892237B2 · Greenfield · 2018 [cited by applicant]
US 9898334B1 · Dongare et al. · 2018 [cited by applicant]
US 10044578B2 · He et al. · 2018 [cited by applicant]
US 10073903B1 · Arye et al. · 2018 [cited by applicant]
US 10242061B2 · Luo et al. · 2019 [cited by applicant]
US 10346337B1 · Johnson · 2019 [cited by applicant]
US 10445334B1 · Xiao et al. · 2019 [cited by applicant]
US 10445479B2 · Rao et al. · 2019 [cited by applicant]
US 10459898B2 · Yanacek et al. · 2019 [cited by applicant]
US 10460277B2 · Dumant et al. · 2019 [cited by applicant]
US 10496653B1 · Epshteyn et al. · 2019 [cited by applicant]
US 10728173B1 · Agrawal et al. · 2020 [cited by applicant]
US 10776189B2 · Bucchi et al. · 2020 [cited by applicant]
US 10776319B2 · Eichinger et al. · 2020 [cited by applicant]
US 10824623B2 · Karlapudi et al. · 2020 [cited by applicant]
US 10860576B2 · Tiyyagura et al. · 2020 [cited by applicant]
US 11144570B2 · Karlapudi et al. · 2021 [cited by applicant]
US 11509530B2 · Desai · 2022 [cited by applicant]
US 20020152254A1 · Teng · 2002 [cited by applicant]
US 20040002956A1 · Chaudhuri et al. · 2004 [cited by applicant]
US 20040215644A1 · Edwards, Jr. · 2004 [cited by examiner]
US 20050114505A1 · DeStefano · 2005 [cited by examiner]
US 20050120062A1 · Sinha et al. · 2005 [cited by applicant]
US 20070061291A1 · Azizi · 2007 [cited by applicant]
US 20070078827A1 · Sareen et al. · 2007 [cited by applicant]
US 20080010268A1 · Liao et al. · 2008 [cited by applicant]
US 20100250499A1 · McAlister · 2010 [cited by examiner]
US 20110153953A1 · Khemani et al. · 2011 [cited by applicant]
US 20120060165A1 · Clarke · 2012 [cited by applicant]
US 20120207046A1 · Di et al. · 2012 [cited by applicant]
US 20120269053A1 · Yu · 2012 [cited by examiner]
US 20130212352A1 · Anderson · 2013 [cited by applicant]
US 20130227573A1 · Morsi et al. · 2013 [cited by applicant]
US 20140068578A1 · Gedik et al. · 2014 [cited by applicant]
US 20140109097A1 · Datla et al. · 2014 [cited by applicant]
US 20140143505A1 · Sim et al. · 2014 [cited by applicant]
US 20140172867A1 · Lin et al. · 2014 [cited by applicant]
US 20150040121A1 · Barabash et al. · 2015 [cited by applicant]
US 20150095097A1 · Dejardine et al. · 2015 [cited by applicant]
US 20150134828A1 · Ramanathan · 2015 [cited by applicant]
US 20150186434A1 · Eichinger et al. · 2015 [cited by applicant]
US 20150286661A1 · Deluca et al. · 2015 [cited by applicant]
US 20160092484A1 · Finkler · 2016 [cited by applicant]
US 20160098037A1 · Zornio et al. · 2016 [cited by applicant]
US 20160162543A1 · Gustafson et al. · 2016 [cited by applicant]
US 20160164746A1 · Cimprich et al. · 2016 [cited by applicant]
US 20160179063A1 · De et al. · 2016 [cited by applicant]
US 20160196324A1 · Haviv et al. · 2016 [cited by applicant]
US 20160358084A1 · Bloomquist et al. · 2016 [cited by applicant]
US 20160378802A1 · Hayes et al. · 2016 [cited by applicant]
US 20170004006A1 · Mori et al. · 2017 [cited by applicant]
US 20170039080A1 · Chadha et al. · 2017 [cited by applicant]
US 20170068727A1 · Rubin et al. · 2017 [cited by applicant]
US 20170168957A1 · Christidis · 2017 [cited by applicant]
US 20170177263A1 · Das et al. · 2017 [cited by applicant]
US 20180103081A1 · Fawcett · 2018 [cited by applicant]
US 20180137169A1 · Zhao · 2018 [cited by applicant]
US 20180181632A1 · Zarum et al. · 2018 [cited by applicant]
US 20180196824A1 · Bitincka et al. · 2018 [cited by applicant]
US 20180270164A1 · Ahmed et al. · 2018 [cited by applicant]
US 20180278500A1 · Feamster et al. · 2018 [cited by applicant]
US 20180293275A1 · P et al. · 2018 [cited by applicant]
US 20180329644A1 · Das et al. · 2018 [cited by applicant]
US 20190073373A1 · Surale et al. · 2019 [cited by applicant]
US 20190102389A1 · Legault et al. · 2019 [cited by applicant]
US 20190102390A1 · Antunes et al. · 2019 [cited by applicant]
US 20190155850A1 · Shi et al. · 2019 [cited by applicant]
US 20190196890A1 · Bucchi et al. · 2019 [cited by applicant]
US 20190226898A1 · Gray, Jr. · 2019 [cited by applicant]
US 20190236182A1 · Tiyyagura et al. · 2019 [cited by applicant]
US 20190236183A1 · Tiyyagura et al. · 2019 [cited by applicant]
US 20190236185A1 · Tiyyagura et al. · 2019 [cited by applicant]
US 20190236197A1 · Karlapudi et al. · 2019 [cited by applicant]
US 20190266273A1 · Karlapudi · 2019 [cited by examiner]
US 20190268227A1 · Desai · 2019 [cited by applicant]
US 20190268401A1 · Desai et al. · 2019 [cited by applicant]
US 20190286719A1 · Morales et al. · 2019 [cited by applicant]
US 20190324666A1 · Kusters et al. · 2019 [cited by applicant]
US 20200053023A1 · Haag et al. · 2020 [cited by applicant]
US 20200167361A1 · Princehouse et al. · 2020 [cited by applicant]
US 20210034496A1 · Schechter · 2021 [cited by applicant]
US 20210042292A1 · Gentric et al. · 2021 [cited by applicant]
US 20210049172A1 · Karlapudi et al. · 2021 [cited by applicant]
US 20210051066A1 · Desai · 2021 [cited by applicant]
US 20210117412A1 · Tiyyagura et al. · 2021 [cited by applicant]
US 20210182267A1 · Andreakis et al. · 2021 [cited by applicant]
US 20210224226A1 · Morales et al. · 2021 [cited by applicant]
US 20210279241A1 · Tiyyagura et al. · 2021 [cited by applicant]
US 20210311960A1 · Rogozinsky et al. · 2021 [cited by applicant]
US 20210314215A1 · Manzanilla et al. · 2021 [cited by applicant]
US 20210314226A1 · Chandrashekhar et al. · 2021 [cited by applicant]
US 20210314227A1 · Chandrashekhar et al. · 2021 [cited by applicant]
US 20210314228A1 · Chandrashekhar et al. · 2021 [cited by applicant]
US 20220027245A1 · Karlapudi et al. · 2022 [cited by applicant]
US 20220043846A1 · Neumann et al. · 2022 [cited by applicant]
US 20220150749A1 · Ke · 2022 [cited by examiner]
WO 2008058954A1 · 2008 [cited by applicant]
WO 2014082052A2 · 2014 [cited by applicant]
WO 2019100063A1 · 2019 [cited by applicant]
Chen et al., “Distributed Metadata Management Based on Hierarchical Bloom Filters in Data Grid”, 2009 Fourth ChinaGrid Annual Conference, Nov. 2009, pp. 95-101. [cited by applicant]
Dekhtyar et al., “Semistructured probabilistic databases”, Proceedings Thirteenth International Conference on Scientific and Statistical Database Management. SSDBM, Jul. 2001, pp. 36-45. [cited by applicant]
Final Office Action received for U.S. Appl. No. 15/881,376, mailed on Aug. 14, 2020, 12 pages. [cited by applicant]
Final Office Action received for U.S. Appl. No. 15/881,382, mailed on Aug. 18, 2020, 13 pages. [cited by applicant]
Final Office Action received for U.S. Appl. No. 15/881,396, mailed on Sep. 15, 2020, 13 pages. [cited by applicant]
Final Office Action received for U.S. Appl. No. 15/908,690, mailed on Jun. 16, 2020, 19 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 15/881,364, mailed on Dec. 26, 2019, 15 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 15/881,376, mailed on Mar. 26, 2020, 13 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 15/881,382, mailed on Mar. 26, 2020, 13 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 15/881,396, mailed on Feb. 13, 2020, 13 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 15/908,480, mailed on Dec. 4, 2019, 13 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 15/908,690, mailed on Feb. 16, 2021, 15 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 15/908,690, mailed on Oct. 22, 2019, 15 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 15/908,693, mailed on Dec. 10, 2019, 25 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 17/074,048, mailed on May 12, 2021, 12 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 17/087,492, mailed on Jun. 9, 2022, 20 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 17/113,478, mailed on Jan. 21, 2022, 12 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 17/328,098, mailed on Aug. 5, 2022, 5 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 17/498,504, mailed on Sep. 27, 2022, 13 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 17/510,136, malied on Jun. 8, 2022, 11 pages. [cited by applicant]
Notice of Allowability received for U.S. Appl. No. 15/908,690, mailed on Jul. 14, 2021, 17 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 15/881,364, mailed on Aug. 4, 2020, 10 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 15/881,376, mailed on Jan. 25, 2021, 9 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 15/881,382, mailed on Jan. 25, 2021, 7 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 15/881,396, mailed on Jun. 9, 2021, 15 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 15/908,480, mailed on Jul. 8, 2020, 10 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 15/908,693, mailed on Jun. 12, 2020, 7 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/074,048, mailed on Aug. 16, 2021, 7 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/087,492, mailed on Dec. 12, 2022, 17 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/113,478, mailed on Aug. 9, 2022, 9 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/498,504, mailed on Apr. 12, 2023, 8 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/510,136, mailed on Aug. 31, 2022, 7 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/510,136, mailed on Sep. 9, 2022, 4 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/328,098, mailed on Nov. 15, 2022, 7 pages. [cited by applicant]
Final Office Action received for U.S. Appl. No. 17/202,125, mailed on Mar. 7, 2023, 13 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 15/925,464, mailed on Apr. 28, 2020, 9 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 17/202,125, mailed on Nov. 10, 2022, 18 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 15/925,464, mailed on Nov. 23, 2020, 10 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/202,125, mailed on Jun. 28, 2023, 8 pages. [cited by applicant]