IP Library Granted Patent US 12,197,386
Granted Patent B2
US 12,197,386 · App. 18/138,014 · Granted Jan 14, 2025

Distributed query execution and aggregation

Inventors: Luke A. Higgins (Silver Spring, MD); Robert R. Bruno (Columbia, MD)
Assignee: MORGAN STANLEY SERVICES GROUP INC.
G06F16/13
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,197,386
App. No.
18/138,014
Filed
Apr 21, 2023
Granted
Jan 14, 2025
Kind
B2
Examiner
WONG, HUEN
Art Unit
2168
USPC
707/746
Abstract

Computer-implemented methods and systems are disclosed for receiving and indexing a plurality of files for later querying, for dynamically generating scripts to be executed during a query of a data store, and for horizontally distributing a query and aggregating results of the distributed query.

Claims (34)

1. A system for distributing a query and aggregating results of the distributed query, comprising:

one or more data stores;

a distribution server comprising one or more processors;

a first one or more querying computing devices, each computing device being associated with at least one data store of the one or more data stores;

a second one or more aggregating computing devices; and

non-transitory memory comprising instructions that, when executed by the one or more processors of the distribution server, cause those processors to:

receive a dynamically generated script representing a query of files in one or more data stores;

transmit the dynamically generated script to each computing device of a first one or more querying computing devices;

direct each computing device of the first one or more querying computing devices to perform the query on a subset of files in the one or more data stores;

receive from each computing device a subset of results based on execution of the dynamically generated script on the subset of files, wherein each subset of results represents a set of records that satisfy a query that was used to dynamically generate the script or that contain statistical summary information on records based on a query that was used to dynamically generate the script;

direct each computing device of a second one or more aggregating computing devices to aggregate the subsets of results by a key value, wherein a hash of the key value is used to perform partitioning the subsets of results by a key value to omit at least one timestamp from the first one or more querying computing devices; and

transmit aggregated results into at least one bucket wherein the at least one bucket was generated based on a predetermined time schedule to facilitate time-based queries and wherein each of the at least one bucket includes at least one sub-bucket that receives files of a specified attribute and wherein the at least one bucket is made accessible to a user who wrote the query or another user.

2. The system of claim 1 , wherein the subsets of files are assigned to the first one or more querying computing devices in a round robin fashion.

3. The system of claim 1 , wherein a value of a hash of the key value is used to determine which computing device of the second one or more aggregating computing devices is directed to aggregate results related to that key value.

4. The system of claim 1 , wherein the statistical summary information is a count of numbers of files that satisfy the query, grouped by value of a provided key field.

5. The system of claim 1 , wherein the statistical summary information is a sum of values, count of values, standard deviation of values, or other statistical property of values in a provided key field, grouped by value of another key field.

6. The system of claim 1 , wherein a k-means clustering is performed during aggregation of the subsets of results to generate a classifying field in output of the query.

7. The system of claim 1 , wherein the query comprises one or more enrichment fields specifying replacement of values from a key field in the query with a replacement value from an external data source.

8. The system of claim 1 , wherein the aggregated results are stored in the storage made available for an end user to download and process in any order at the end user's convenience.

9. The system of claim 1 wherein the specified attribute is at least one of: a file type, a log type, or a file source.

10. A computer-implemented method for distributing a query and aggregating results of the distributed query, comprising:

receiving a dynamically generated script representing a query of files in one or more data stores;

transmitting the dynamically generated script to each computing device of a first one or more querying computing devices;

directing each computing device of the first one or more querying computing devices to perform the query on a subset of files in the one or more data stores;

receiving from each computing device a subset of results based on execution of the dynamically generated script on the subset of files, wherein each subset of results represents a set of records that satisfy a query that was used to dynamically generate the script or that contain statistical summary information on records based on a query that was used to dynamically generate the script;

directing each computing device of a second one or more aggregating computing devices to aggregate the subsets of results by a key value, wherein a hash of the key value is used to perform partitioning the subsets of results by a key value to omit at least one timestamp from the first one or more querying computing devices; and

transmitting aggregated results into at least one bucket wherein the at least one bucket was generated based on a predetermined time schedule to facilitate time-based queries and wherein each of the at least one bucket includes at least one sub-bucket that receives files of a specified attribute and wherein the at least one bucket is made accessible to a user who wrote the query or another user.

11. The computer-implemented method of claim 10 , wherein the subsets of files are assigned to the first one or more querying computing devices in a round robin fashion.

12. The computer-implemented method of claim 10 , wherein a value of a hash of the key value is used to determine which computing device of the second one or more aggregating computing devices is directed to aggregate results related to that key value.

13. The computer-implemented method of claim 10 , wherein the statistical summary information is a count of numbers of files that satisfy the query, grouped by value of a provided key field.

14. The computer-implemented method of claim 10 , wherein the statistical summary information is a sum of values, count of values, standard deviation of values, or other statistical property of values in a provided key field, grouped by value of another key field.

15. The computer-implemented method of claim 10 , wherein a k-means clustering is performed during aggregation of the subsets of results to generate a classifying field in output of the query.

16. The computer-implemented method of claim 10 , wherein the query comprises one or more enrichment fields specifying replacement of values from a key field in the query with a replacement value from an external data source.

17. The computer-implemented method of claim 10 , wherein the aggregated results are stored in the storage made available for an end user to download and process in any order at the end user's convenience.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2023
From: HIGGINS, LUKE; BRUNO, ROBERT
To: MORGAN STANLEY SERVICES GROUP INC.
Reel/Frame 063427/0257 →
Continuity (2)
Continuation 17727764 · Apr 24, 2022
Related Publication 20230342333A1 · Oct 26, 2023
References Cited (57)
US 5530939A · Mansfield, Jr. · 1996 [cited by examiner]
US 5673322A · Pepe · 1997 [cited by examiner]
US 6233586B1 · Chang · 2001 [cited by examiner]
US 6272488B1 · Chang · 2001 [cited by examiner]
US 6760719B1 · Hanson · 2004 [cited by examiner]
US 6792414B2 · Chaudhuri · 2004 [cited by examiner]
US 6801904B2 · Chaudhuri · 2004 [cited by examiner]
US 7702616B1 · Li · 2010 [cited by examiner]
US 7797332B1 · Bove · 2010 [cited by examiner]
US 7925656B2 · Liu · 2011 [cited by examiner]
US 8032551B2 · Schneider · 2011 [cited by examiner]
US 8086598B1 · Lamb · 2011 [cited by examiner]
US 8966486B2 · Phan · 2015 [cited by examiner]
US 9195712B2 · Freedman · 2015 [cited by examiner]
US 9361344B2 · Murthy · 2016 [cited by examiner]
US 9529804B1 · Muddu · 2016 [cited by examiner]
US 9817858B2 · Eisenreich · 2017 [cited by examiner]
US 10210221B2 · Murthy · 2019 [cited by examiner]
US 10509834B2 · Douglas · 2019 [cited by examiner]
US 10599635B1 · Gunn · 2020 [cited by examiner]
US 11169997B1 · Debo · 2021 [cited by examiner]
US 11977657B1 · Calafato · 2024 [cited by examiner]
US 20020023158A1 · Polizzi · 2002 [cited by examiner]
US 20040093321A1 · Roustant · 2004 [cited by examiner]
US 20050256834A1 · Millington · 2005 [cited by examiner]
US 20050283468A1 · Kamvar · 2005 [cited by examiner]
US 20070033159A1 · Cherkauer · 2007 [cited by examiner]
US 20070095903A1 · Suenbuel · 2007 [cited by examiner]
US 20070174830A1 · Gan · 2007 [cited by examiner]
US 20070239656A1 · Santosuosso · 2007 [cited by examiner]
US 20070276825A1 · Dettinger · 2007 [cited by examiner]
US 20080040317A1 · Dettinger · 2008 [cited by examiner]
US 20080059415A1 · Bakalash · 2008 [cited by examiner]
US 20080270374A1 · Li · 2008 [cited by examiner]
US 20080319987A1 · Takuma · 2008 [cited by examiner]
US 20090070315A1 · Ahmed · 2009 [cited by examiner]
US 20090070322A1 · Salvetti · 2009 [cited by examiner]
US 20100106712A1 · Mizutani · 2010 [cited by examiner]
US 20100199354A1 · Eker · 2010 [cited by examiner]
US 20110213716A1 · Ocko · 2011 [cited by examiner]
US 20120130991A1 · Atas · 2012 [cited by examiner]
US 20120137108A1 · Koch, III · 2012 [cited by examiner]
US 20120290592A1 · Ishii · 2012 [cited by examiner]
US 20120290614A1 · Nandakumar · 2012 [cited by examiner]
US 20130006964A1 · Hammerschmidt · 2013 [cited by examiner]
US 20160239544A1 · Kondo · 2016 [cited by examiner]
US 20170286458A1 · Watanabe · 2017 [cited by examiner]
US 20170357693A1 · Kumar · 2017 [cited by examiner]
US 20180089268A1 · Lee · 2018 [cited by examiner]
US 20180157558A1 · Karame · 2018 [cited by examiner]
US 20180189368A1 · Atanasiu · 2018 [cited by examiner]
US 20180300370A1 · Brookler · 2018 [cited by examiner]
US 20180349398A1 · Ardite · 2018 [cited by examiner]
US 20190121897A1 · Edalur · 2019 [cited by examiner]
US 20190361843A1 · Stoddard · 2019 [cited by examiner]
US 20200192891A1 · Hrastnik · 2020 [cited by examiner]
US 20200201860A1 · Vogelsgesang · 2020 [cited by examiner]