IP Library Granted Patent US 9,747,333
Granted Patent B2
US 9,747,333 · App. 14/510,006 · Granted Aug 29, 2017

Querying operating system state on multiple machines declaratively

Inventor: Philip Zeyliger (San Francisco, CA)
Assignee: Cloudera, Inc.
G06F17/30424G06F17/30445G06F17/30545G06F3/0482G06F3/04842G06F17/3056G06F17/30339G06F17/30442G06F17/30477G06F17/30539G06F17/30554G06F17/30864
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,747,333
App. No.
14/510,006
Granted
Aug 29, 2017
Kind
B2
Abstract

A sysSQL technology for querying operating system states of multiple hosts in a cluster using a Structured Query Language (SQL) query is disclosed. An administrator of a cluster can use a graphical or text-based user interface to submit an SQL query to determine the operating system states of multiple hosts in parallel. The technology parses the SQL query to determine the datasets needed to execute the SQL query and aggregates those datasets from the multiple hosts. The technology then creates a temporary database to execute the SQL query and provides the results from the SQL query for display on the user interface.

Claims (52)

1. A method of querying operating system states of multiple hosts in a cluster, comprising

receiving a Structure Query Language (SQL) query to determine the operating system states of the multiple hosts in the cluster;

aggregating, from each of the multiple hosts, operating system state information in response to receiving the SQL query;

wherein aggregating includes, for each of the multiple hosts:

identifying a dataset applicable to the SQL query by parsing the SQL query;

requesting the identified dataset; and

receiving the dataset including the operating system state information in response to the request;

creating a temporary database for storing the operating system state information by converting the datasets received from the multiple hosts into a queriable form; and

executing the SQL query on the temporary database to obtain as results the operating system states of the multiple hosts.

2. The method of claim 1 , wherein the SQL query is received from a user via one of a graphical user interface, a graphical web-based user interface or a text-based user interface accessible to an administrator of the cluster.

3. The method of claim 1 , further comprising displaying the results in a table on a web-based user interface, wherein the operating system state information includes a table including data fields defined by a schema.

4. The method of claim 1 , wherein

the datasets received from each of the multiple hosts are tables.

5. The method of claim 4 , wherein each of the multiple hosts creates the table using system information in a /proc file system according to a table schema.

6. A method, comprising:

receiving a system Structure Query Language (sysSQL) query directed to multiple machines in a cluster;

wherein the sysSQL query is submitted by a user using a user interface; and

wherein the sysSQL query is a request for system information associated with the multiple machines; and

creating a database, in response to receiving the sysSQL query, by aggregating system information from some or all of the multiple machines, wherein aggregating includes, for some or all of the multiple machines:

identifying a dataset applicable to the sysSQL query by parsing the sysSQL query;

requesting the identified dataset;

receiving the dataset including the system information in response to the request; and

converting the received dataset into a queriable form; and

executing the sysSQL query on the database to obtain as results system information associated with some or all of the multiple machines.

7. The method of claim 6 , further comprising:

discarding the database after obtaining the results.

8. The method of claim 7 ,

wherein the datasets received from some or all of the multiple machines are tables.

9. The method of claim 6 , wherein each of the multiple machines uses an application programming interface (API) call to obtain an initial dataset and formats the initial dataset to provide the dataset identified based on the sysSQL query.

10. The method of claim 6 , wherein the system information is associated with at least one of: processes, threads, connections, hosts, mounts or network interfaces.

11. The method of claim 6 , further comprising displaying the results in a table on the graphical user interface that is web-based.

12. The method of claim 6 , wherein the user interface is one of: a text-based user interface or a graphical user interface.

13. The method of claim 6 , further comprising:

detecting that a request to at least one of the multiple machines to provide a dataset identified based on the sysSQL query has timed out;

wherein the database is created without system information from the at least one of the multiple machines.

14. A system comprising:

a server; and

multiple hosts in a cluster;

the server being configured to:

receive a Structure Query Language (SQL) query requesting operating system state information associated with the multiple hosts in the cluster, the SQL query being submitted via a user interface;

aggregate, from each of the multiple hosts, operating system state information in response to receiving the SQL query, wherein aggregating includes:

identifying datasets applicable to the SQL query by parsing the SQL query;

requesting the identified datasets from agents of the multiple hosts; and

receiving the requested datasets including the operating state information in response to the requests;

create a temporary database by converting the received datasets into a queriable form; and

execute the SQL query on the temporary database to obtain the operating system state information associated with the multiple hosts in the cluster.

15. The system of claim 14 , wherein the server is further configured to generate a graphical diagram to visualize the operating system state information associated with the multiple hosts.

16. The system of claim 14 , wherein the server is further configured to display the operating system state information in a tabular format on the user interface.

17. The system of claim 14 , wherein the server is configured to identify at least one dataset needed for the query and request the at least one dataset from each of the multiple hosts.

18. The system of claim 17 , wherein each host is configured to query a virtual file system to obtain runtime system information and format the runtime system information using a schema to obtain the at least one dataset.

19. The system of claim 17 , wherein the at least one dataset includes processes, threads, connections, hosts, mounts or network interfaces dataset.

20. The system of claim 14 , wherein the user interface is one of a text-based user interface or a graphical user interface.

Assignments (5)
RELEASE OF SECURITY INTERESTS IN PATENTS Recorded Oct 14, 2021
From: CITIBANK, N.A.
To: CLOUDERA, INC.; HORTONWORKS, INC.
Reel/Frame 057804/0355 →
FIRST LIEN NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Oct 12, 2021
From: CLOUDERA, INC.; HORTONWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 057776/0185 →
SECOND LIEN NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Oct 12, 2021
From: CLOUDERA, INC.; HORTONWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 057776/0284 →
SECURITY INTEREST Recorded Dec 22, 2020
From: CLOUDERA, INC.; HORTONWORKS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054832/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2014
From: ZEYLIGER, PHILIP
To: CLOUDERA, INC.
Reel/Frame 033996/0459 →
Continuity (1)
Related Publication 20160103874A1 · Apr 14, 2016