Query task processing based on memory allocation and performance criteria
First Claim
Patent Images
1. A system for maximizing memory and processing efficiencies in a computer system, the system comprising:
- one or more processors;
computer readable storage coupled to the one or more processors, the computer readable storage having stored thereon instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including;
sending a digital request from a client computer to a remote query processor on a query server computer;
creating and storing, in a computer storage separate from the computer readable storage, data in a plurality of column sources;
creating and storing in a computer memory a first table object index mapping data in the plurality of column sources to a first table object, the computer memory having faster access time than the computer storage separate from the computer readable storage;
at the remote query processor, providing remote operations including;
an aggregation query operation, the aggregation query operation comprising;
receiving an aggregation query task to create a second table object comprising an updateable aggregation of rows from the first table object;
creating and storing in the computer memory separate from the computer storage, the second table object;
creating a plurality of aggregation states for a plurality of aggregation rows of the second table object, each of the plurality of aggregation rows representing an aggregation of one or more rows of the first table object, each of the plurality of aggregation states being configured to determine an aggregated value for a respective one of the plurality of aggregation rows by executing an aggregation formula;
storing determined aggregated values in the computer memory separate from the computer storage;
creating and starting a listener for the second table object; and
subscribing to receive at the listener an indication of an update to the first table object and, responsive to receiving the indication at the listener, selecting one or more of the aggregation states to update the second table object and accessing a subset of rows of the first table object, wherein the subset of rows is smaller than the first table object,the computer storage separate from the computer readable storage being remote from the remote query processor and being accessed by the remote query processor via a network, andthe computer memory being local to the remote query processor.
3 Assignments
0 Petitions
Accused Products
Abstract
Described are methods, systems and computer readable media for query task operations based on memory allocation and performance criteria.
-
Citations
30 Claims
-
1. A system for maximizing memory and processing efficiencies in a computer system, the system comprising:
-
one or more processors; computer readable storage coupled to the one or more processors, the computer readable storage having stored thereon instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including; sending a digital request from a client computer to a remote query processor on a query server computer; creating and storing, in a computer storage separate from the computer readable storage, data in a plurality of column sources; creating and storing in a computer memory a first table object index mapping data in the plurality of column sources to a first table object, the computer memory having faster access time than the computer storage separate from the computer readable storage; at the remote query processor, providing remote operations including; an aggregation query operation, the aggregation query operation comprising; receiving an aggregation query task to create a second table object comprising an updateable aggregation of rows from the first table object; creating and storing in the computer memory separate from the computer storage, the second table object; creating a plurality of aggregation states for a plurality of aggregation rows of the second table object, each of the plurality of aggregation rows representing an aggregation of one or more rows of the first table object, each of the plurality of aggregation states being configured to determine an aggregated value for a respective one of the plurality of aggregation rows by executing an aggregation formula; storing determined aggregated values in the computer memory separate from the computer storage; creating and starting a listener for the second table object; and subscribing to receive at the listener an indication of an update to the first table object and, responsive to receiving the indication at the listener, selecting one or more of the aggregation states to update the second table object and accessing a subset of rows of the first table object, wherein the subset of rows is smaller than the first table object, the computer storage separate from the computer readable storage being remote from the remote query processor and being accessed by the remote query processor via a network, and the computer memory being local to the remote query processor. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for maximizing memory and processing efficiencies in a computer system, the system comprising:
-
one or more processors; computer readable storage coupled to the one or more processors, the computer readable storage having stored thereon instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including; storing a second table object representing an updateable aggregation of rows from a first table object; creating a plurality of aggregation states for a plurality of aggregation rows of the second table object, each of the plurality of aggregation rows representing an aggregation of one or more rows of the first table object, each of the plurality of aggregation states being configured to determine an aggregated value for a respective one of the plurality of aggregation rows by executing an aggregation formula; storing determined aggregated values in the computer memory separate from the computer readable storage; receiving an indication of an update to the first table object; and responsive to receiving, selecting one or more of the aggregation states to update the second table object and accessing a subset of rows of the first table object. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A nontransitory computer readable medium having stored thereon software instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:
-
storing, in a computer memory separate from the nontransitory computer readable medium, a second table object representing an updateable aggregation of rows from a first table object; creating, at a processor coupled to the computer memory, a plurality of aggregation states for a plurality of aggregation rows of the second table object, each of the plurality of aggregation rows representing an aggregation of one or more rows of the first table object, each of the plurality of aggregation states being configured to determine an aggregated value for a respective one of the plurality of aggregation rows by executing an aggregation formula; storing determined aggregated values in the computer memory; receiving an indication of an update to the first table object; and responsive to receiving, selecting one or more of the aggregation states to update the second table object and accessing a subset of rows of the first table object, wherein the subset of rows is smaller than the first table object. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A method for maximizing memory and processing efficiencies in a computer system, the system comprising:
-
storing, in a computer memory, a second table object representing an updateable aggregation of rows from a first table object; creating, at a processor coupled to the computer memory, a plurality of aggregation states for a plurality of aggregation rows of the second table object, each of the plurality of aggregation rows representing an aggregation of one or more rows of the first table object, each of the plurality of aggregation states being configured to determine an aggregated value for a respective one of the plurality of aggregation rows; storing determined aggregated values in the computer memory; receiving an indication of an update to the first table object; and responsive to receiving, selecting one or more of the aggregation states to update the second table object and accessing a subset of rows of the first table object. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
Specification