IP Library Granted Patent US 9,361,437
Granted Patent B1
US 9,361,437 · App. 13/906,255 · Granted Jun 7, 2016

System and method for querying data

Inventors: Michel Brisebois (Renfrew, CA); Jason Aylesworth (Nepean, CA); Curtis Johnstone (Ottawa, CA); Andrew John Leach (Ottawa, CA); Elena Vinogradov (Kanata, CA); Joel Stacy Blaiberg (Teaneck, NJ); Stephen Pope (Ashton, CA); Shawn Donald Holmesdale (Ottawa, CA); Guangning Hu (Ottawa, CA)
Assignee: Dell Software Inc.
G06F21/31G06F17/30705H04L9/32H04L63/08
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 9,361,437
App. No.
13/906,255
Granted
Jun 7, 2016
Kind
B1
Abstract

In one embodiment, a method includes maintaining, by a computer system, a plurality of data and at least one classification for each of the plurality of data. Each data of the plurality of data is aggregated from a plurality data sources and is abstracted into one or more of a plurality of standardized formats based on a type of the data. The computer system has executing thereon a plurality of classification engines. The plurality of classification engines include an a priori classification engine, an a posteriori classification engine, and a heuristics engine. Each at least one classification is generated by one of the plurality of classification engines. In addition, the method includes receiving query input from a user. Further, the method includes querying at least a portion of the plurality of data responsive to the query input.

Claims (73)

1. A method comprising:

maintaining, by a computer system comprising at least one server computer, a plurality of data and at least one classification for each of the plurality of data;

wherein each data of the plurality of data is aggregated from a plurality data sources and is abstracted into one or more of a plurality of standardized formats based on a type of the data;

wherein the computer system has executing thereon a plurality of distinct classification engines, the plurality of distinct classification engines comprising:

an a priori classification engine that is configured to classify data based on a set of user-specified classification rules;

an a posteriori classification engine that is configured to classify data based on one or more probabilistic algorithm, wherein the one or more probabilistic algorithm is based on statistical analysis of collected data and multiple attributes associated with the collected data;

wherein the posteriori classification engine is further configured to reclassify the previously classified data in response to a determination that the previously classified data was not correctly classified; and

a heuristics engine that is configured to determine whether a plurality of characteristics are associated with the data and response to a positive determination, classify data based on metadata associated with the data;

wherein each said at least one classification is performed by one of the plurality of distinct classification engines at a time of data collection and prior to storing the data in a database;

receiving, by the computer system, query input from a user in accordance with at least one standardized format of the plurality of standardized formats; and

querying, by the computer system, at least a portion of the plurality of data responsive to the query input.

2. The method of claim 1 , wherein the querying comprises:

formatting one or more queries based on the query input;

receiving one or more user credentials from the user;

validating the user based at least in part on the user credentials;

attaching user permissions to the one or more queries; and

retrieving data of the plurality of data that satisfies the one or more queries.

3. The method of claim 2 , comprising determining whether the user has permission to access the retrieved data.

4. The method of claim 3 , wherein the receiving comprises receiving from the user at least one of:

a set of one or more search parameters; and

a text-based query.

5. The method of claim 3 , comprising, responsive to a determination that the user has permission to access the retrieved data, providing the user with access to the retrieved data.

6. The method of claim 3 , wherein:

the maintaining comprises maintaining a plurality of query packages, each query package specifying at least one query and at least one data visualization of queried data; and

the receiving comprises receiving a selection of one of the plurality of query packages.

7. The method of claim 6 , comprising, responsive to a determination that the user has permission to access the retrieved data:

generating the at least one data visualization; and

providing the at least one data visualization to the user.

8. The method of claim 6 , wherein the maintaining comprises maintaining a list of query packages for each of a plurality of users.

9. The method of claim 8 , comprising allowing the user to share a particular query package with another user.

10. The method of claim 1 , wherein the at least a portion of the plurality of data relates to communications of users.

11. An information handling system comprising:

a computer processor, wherein the computer processor is operable to implement a method comprising:

maintaining a plurality of data and at least one classification for each of the plurality of data;

wherein each data of the plurality of data is aggregated from a plurality data sources and is abstracted into one or more of a plurality of standardized formats based on a type of the data;

wherein the information handling system has executing thereon a plurality of distinct classification engines, the plurality of distinct classification engines comprising:

an a priori classification engine that is configured to classify data based on a set of user-specified classification rules;

an a posteriori classification engine that is configured to classify data based on one or more probabilistic algorithm, wherein the one or more probabilistic algorithm is based on statistical analysis of collected data and multiple attributes associated with the collected data;

wherein the posteriori classification engine is further configured to reclassify the previously classified data in response to a determination that the previously classified data was not correctly classified; and

a heuristics engine that is configured to determine whether a plurality of characteristics are associated with the data and response to a positive determination, classify data based on metadata associated with the data;

wherein each said at least one classification is performed by one of the plurality of distinct classification engines at a time of data collection and prior to storing the data in a database;

receiving query input from a user in accordance with at least one standardized format of the plurality of standardized formats; and

querying at least a portion of the plurality of data responsive to the query input.

12. The information handling system of claim 11 , wherein the querying comprises:

formatting one or more queries based on the query input;

receiving one or more user credentials from the user;

validating the user based at least in part on the user credentials;

attaching user permissions to the one or more queries; and

retrieving data of the plurality of data that satisfies the one or more queries.

13. The information handling system of claim 12 , comprising determining whether the user has permission to access the retrieved data.

14. The information handling system of claim 13 , wherein the receiving comprises receiving from the user at least one of:

a set of one or more search parameters; and

a text-based query.

15. The information handling system of claim 13 , comprising, responsive to a determination that the user has permission to access the retrieved data, providing the user with access to the retrieved data.

16. The information handling system of claim 13 , wherein:

the maintaining comprises maintaining a plurality of query packages, each query package specifying at least one query and at least one data visualization of queried data; and

the receiving comprises receiving a selection of one of the plurality of query packages.

17. The information handling system of claim 16 , comprising, responsive to a determination that the user has permission to access the retrieved data:

generating the at least one data visualization; and

providing the at least one data visualization to the user.

18. The information handling system of claim 16 , wherein the maintaining comprises maintaining a list of query packages for each of a plurality of users.

19. The information handling system of claim 18 , comprising allowing the user to share a particular query package with another user.

20. A non-transitory computer-program product comprising a computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:

maintaining, by a computer system comprising at least one server computer, a plurality of data and at least one classification for each of the plurality of data;

wherein each data of the plurality of data is aggregated from a plurality data sources and is abstracted into one or more of a plurality of standardized formats based on a type of the data;

wherein the computer system has executing thereon a plurality of distinct classification engines, the plurality of distinct classification engines comprising:

an a priori classification engine that is configured to classify data based on a set of user-specified classification rules;

an a posteriori classification engine that is configured to classify data based on one or more probabilistic algorithm, wherein the one or more probabilistic algorithm is based on statistical analysis of collected data and multiple attributes associated with the collected data; and

wherein the posteriori classification engine is further configured to reclassify the previously classified data in response to a determination that the previously classified data was not correctly classified; and

a heuristics engine that is configured to determine whether a plurality of characteristics are associated with the data and response to a positive determination, classify data based on metadata associated with the data;

wherein each said at least one classification is performed by one of the plurality of distinct classification engines at a time of data collection and prior to storing the data in a database;

receiving, by the computer system, query input from a user in accordance with at least one standardized format of the plurality of standardized formats; and

querying, by the computer system, at least a portion of the plurality of data responsive to the query input.

Assignments (27)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044800/0848 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
RELEASE OF SEC. INT. IN PATENTS (NOTES) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040026/0710 →
RELEASE OF SEC. INT. IN PATENTS (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0329 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF SEC. INT. IN PATENTS (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040013/0733 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 039719/0889 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 039644/0084 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 039643/0953 →
CHANGE OF NAME Recorded Aug 19, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031035/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2013
From: BRISEBOIS, MICHEL; AYLESWORTH, JASON; JOHNSTONE, CURTIS; LEACH, ANDREW JOHN; VINOGRADOV, ELENA; BLAIBERG, JOEL STACY; POPE, STEPHEN; HOLMESDALE, SHAWN DONALD; HU, GUANGNING
To: QUEST SOFTWARE, INC.
Reel/Frame 030575/0227 →
Continuity (1)
Provisional Application 61658034 · Jun 11, 2012