Query Execution Plan Patents (Class 707/718)
  • Patent number: 9594804
    Abstract: There is provided a computer-implemented method of dynamically reordering operations in a query plan. An exemplary method comprises processing a first set of tuples according to a first operation. The query plan is pipelined and specifies that the first operation generates input for a second operation. The query plan further specifies that the second operation is executed after the first operation. The computer-implemented method further includes determining that the second operation is to precede the first operation based on a specified policy. The computer-implemented method further includes executing the second operation for a second set of tuples before executing the first operation for the second set of tuples. The second operation generates an input for the first operation. The first operation is executed after the second operation.
    Type: Grant
    Filed: August 26, 2011
    Date of Patent: March 14, 2017
    Assignee: Hewlett Packard Enterprise Development LP
    Inventor: Goetz Graefe
  • Patent number: 9589030
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating query plans for queries that include common table expressions. One of the methods includes receiving a query that includes a common table expression (CTE), wherein the CTE signifies that a system can compute a result for the query using a query plan that includes a CTE producer operator and a corresponding CTE consumer operator. A first query plan that includes a CTE producer operator and a corresponding CTE consumer operator and a second query plan that inlines an instance of the CTE consumer operator are generated. Respective costs are computed for the first query plan and the second query plan, and a result for the query is computed using the second query plan if the second query plan has a lower cost.
    Type: Grant
    Filed: July 21, 2014
    Date of Patent: March 7, 2017
    Assignee: Pivotal Software, Inc.
    Inventors: Amr El-Helw, Venkatesh Raghavan, Mohamed F. Soliman, George Constantin Caragea, Michail Petropoulos
  • Patent number: 9576028
    Abstract: In one aspect, in general, a method of generating a dataflow graph representing a database query includes receiving a query plan from a plan generator, the query plan representing operations for executing a database query on at least one input representing a source of data, producing a dataflow graph from the query plan, wherein the dataflow graph includes at least one node that represents at least one operation represented by the query plan, and includes at least one link that represents at least one dataflow associated with the query plan, and altering one or more components of the dataflow graph based on at least one characteristic of the at least one input representing the source of data.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: February 21, 2017
    Assignee: Ab Initio Technology LLC
    Inventors: Ian Schechter, Glenn John Allin
  • Patent number: 9576007
    Abstract: A search index for searching a graph-based data store can include triple entries, each triple entry having a posting list value, at least one intersection identifier associated with the posting list value, and at least one result identifier associated with the intersection identifier. The index may also include search entries having a posting list value that corresponds to a text search aid. The search index may also include pre-computed path entries, such as chain path entries and converge path entries. The index may also include bucket posting lists representing ranges of object values for a particular predicate and proximity posting lists that include one or more entities and the areas of a location hierarchy with locations within the proximity of the entity. Queries for the data graph may have at least two stages, each stage being associated with a posting list from a graph index.
    Type: Grant
    Filed: December 10, 2013
    Date of Patent: February 21, 2017
    Assignee: Google Inc.
    Inventors: Muthian Sivathanu, Puneet Garg, Rajesh S R
  • Patent number: 9569496
    Abstract: A tool for combining common processes shared by at least two or more sub-queries within a query is provided. The tool determines the query with the at least two or more sub-queries. The tool determines whether one or more sub set relationships are shared between the at least two or more sub-queries. Responsive to a determination that one or more sub set relationships are shared between the at least two or more sub-queries, the tool determines an order class for the at least two or more sub-queries based on the one or more sub set relationships. The tool determines an access path for the query. The tool executes the access path during run-time for data accessing.
    Type: Grant
    Filed: March 11, 2016
    Date of Patent: February 14, 2017
    Assignee: International Business Machines Corporation
    Inventors: Shuo Li, Meng Wan, Xiaobo Wang, Xin Ying Yang
  • Patent number: 9565252
    Abstract: A method includes encoding input data into a plurality of slices. The plurality of slices are sent to a first plurality of distributed storage and task execution units for storage, the first plurality of distributed storage and task execution units being located at a corresponding first plurality of sites. Write slice data is received from the first plurality of distributed storage and task execution units. The method determines when replication is to be applied to the plurality of slices. When replication is to be applied to the plurality of slices, a second plurality of distributed storage and task execution units are selected, a plurality of replicated slices corresponding to the plurality of slices are generated, and the plurality of replicated slices are sent to the second plurality of distributed storage and task execution units.
    Type: Grant
    Filed: May 27, 2014
    Date of Patent: February 7, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Asimuddin Kazi
  • Patent number: 9535952
    Abstract: A method, apparatus, and article of manufacture for optimizing a query in a computer system. Grouping operations are optimized during execution of the query in the computer system by: (1) translating the grouping operations into a plurality of levels, wherein each of the levels is comprised of one or more grouping sets with the same number of grouping expressions; (2) deriving the grouping sets on a level-by-level basis, wherein the grouping sets in a base level are obtained from the database and the grouping sets in a next one of the levels are derived by selecting as an input a smallest one of the grouping sets in a previous one of the levels with which it has a derivation relationship; and (3) combining the derived grouping sets into an output for the query.
    Type: Grant
    Filed: April 11, 2012
    Date of Patent: January 3, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Guogen Zhang, Fen-Ling Lin, Jung-Hsin Hu, Yao-Ching S. Chen, Yun Wang, Glenn M. Yuki
  • Patent number: 9537937
    Abstract: Embodiments relate to a concept for migrating an event detector of a first node (N1) of a distributed computing system (200) to a second node (N2) of the distributed computing system, wherein the event detector processes a plurality of input events (e; A, B, C) to generate at least one output event (D) based on the input events, wherein each of the input events has associated therewith an individual event delay corresponding to a propagation time of the input event to the first node (N1).
    Type: Grant
    Filed: March 14, 2012
    Date of Patent: January 3, 2017
    Assignee: Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
    Inventors: Christopher Mutschler, Michael Philippsen
  • Patent number: 9514247
    Abstract: A system executes a query associated with an application against a graph database by providing, to a first shard of the graph database, the query and a first query header that specifies the first shard. The query includes a subject, a predicate and an object, and the graph database stores a graph that includes nodes, edges between the nodes, and predicates to represent and store data. In response to the query, the system receives results and associated result headers from the first shard and a second shard, where the result headers specify that the results are partial results that are particular fractions of a total result. Furthermore, a combination of the partial results provides the total result to the query that includes a subset of the graph. Note that the subset of the graph may include desired information expressed within an associated structure of the graph.
    Type: Grant
    Filed: October 28, 2015
    Date of Patent: December 6, 2016
    Assignee: LinkedIn Corporation
    Inventors: Yongling Song, Andrew J. Carter, Joshua D. Ehrlich, Scott M. Meyer
  • Patent number: 9514184
    Abstract: In an analytics system, an analyst can analyze data by submitting queries, e.g., through an interface to a database. The analytics system can implement multiple query systems that are each configured to query the database. Query systems can be optimized for handling particular types of queries or for querying particular data. As such, some query systems can process certain queries more quickly and/or more efficiently than other query systems. To take advantage of this, when a query is received, query classification rules can be applied to the query. Based on the query classification, a query system can be selected to process the query, and the query can be sent to the selected query system for processing.
    Type: Grant
    Filed: January 14, 2014
    Date of Patent: December 6, 2016
    Assignee: Dropbox, Inc.
    Inventors: Fred Wulff, Vidhya Venkataraman
  • Patent number: 9495427
    Abstract: A system, method, and computer program product for processing data are disclosed. The system includes a data processing framework configured to receive a data processing task for processing, a plurality of database systems coupled to the data processing framework, and a storage component in communication with the data processing framework and the plurality database systems. The database systems perform a data processing task. The data processing task is partitioned into a plurality of partitions and each database system processes a partition of the data processing task assigned for processing to that database system. Each database system performs processing of its assigned partition of the data processing task in parallel with another database system processing another partition of the data processing task assigned to the another database system. The data processing framework performs at least one partition of the data processing task.
    Type: Grant
    Filed: February 22, 2011
    Date of Patent: November 15, 2016
    Assignee: Yale University
    Inventors: Daniel Abadi, Kamil Bajda-Pawlikowski, Azza Abouzied, Avi Silberschatz
  • Patent number: 9477724
    Abstract: Embodiments relate to re-writing database query plans, and visualizing such re-written query plans. A query re-write framework includes a query normalization engine in communication with a rule catalog comprising query re-write rules in the form of rule classes. The framework receives as input, a query plan graph to be re-written. Based upon the engine's application of re-write rules from the catalog, the framework produces a re-written query plan graph as output. An interface component of the framework may provide a visualization of the re-written query plan graph as part of a dashboard. A user may access the framework to enable/disable existing rules in the catalog, add new rules to the catalog, and/or control a sequence and a precedence in which rules are applied to re-write the query plan. A user may interact with the visualization of the re-written query plan for purposes of de-bugging, re-write optimization, and/or query development.
    Type: Grant
    Filed: June 23, 2014
    Date of Patent: October 25, 2016
    Assignee: SAP SE
    Inventors: Sang Il Song, Won Seok Kim, Sanghyun Choi, Yongsik Yoon
  • Patent number: 9477731
    Abstract: A format conversion engine for Apache Hadoop that converts data from its original format to a database-like format at certain time points for use by a low latency (LL) query engine. The format conversion engine comprises a daemon that is installed on each data node in a Hadoop cluster. The daemon comprises a scheduler and a converter. The scheduler determines when to perform the format conversion and notifies the converter when the time comes. The converter converts data on the data node from its original format to a database-like format for use by the low latency (LL) query engine.
    Type: Grant
    Filed: October 1, 2013
    Date of Patent: October 25, 2016
    Assignee: Cloudera, Inc.
    Inventors: Marcel Kornacker, Justin Erickson, Nong Li, Lenni Kuff, Henry Noel Robinson, Alan Choi, Alex Behm
  • Patent number: 9477708
    Abstract: Systems and methods are disclosed for managing a multi-store execution environment by applying opportunistic materialized views to improve workload performance and executing a plan on multiple database engines to increase query processing speed by leveraging unique capabilities of each engine by enabling stages of a query to execute on multiple engines, and by moving materialized views across engines.
    Type: Grant
    Filed: November 6, 2013
    Date of Patent: October 25, 2016
    Assignee: NEC Corporation
    Inventors: Vahit Hakan Hacigumus, Jagan Sankaranarayanan, Jeffrey Paul LeFevre, Junichi Tatemura, Neoklis Polyzotis
  • Patent number: 9462337
    Abstract: Techniques for delivering video-on-demand content via peer-to-peer connections are provided. A video-on-demand distribution service maintains associations of viewer devices that have specific video-on-demand content. As new viewer devices, which lack the specific video-on-demand content, make requests for the specific video-on-demand content from the video-on-demand distribution system, the video-on-demand distribution system identifies a peer-to-peer viewer device from which the specific video-on-demand content may be acquired via a peer-to-peer transaction. Video-on-demand content sources are identified by comparing distances between the geographical location of the requestor device and geographical locations of devices of the plurality of viewer devices to a distance threshold. A first portion of a first item of video on demand content is obtained from source viewer device and a second portion of the first item of video on demand content is obtained from the video distribution system.
    Type: Grant
    Filed: March 4, 2014
    Date of Patent: October 4, 2016
    Assignee: AT&T Intellectual Property I, L.P.
    Inventor: William Hainline
  • Patent number: 9436734
    Abstract: Embodiments of the present invention provide a method, system and computer program product for pre-migration performance prediction of a database management system (DBMS). In an embodiment of the invention, a method for pre-migration performance prediction of a DBMS can include executing a calibration workload in a target DBMS to produce a conversion factor of cost of executing the calibration workload to temporal performance of executing the calibration workload. The method also can include subsequently submitting a sample workload from a database of a source DBMS for evaluation of cost of execution on an empty replica of the database in the target DBMS. Finally, the method can include predicting a temporal performance of the sample workload in the target DBMS as a product of the conversion factor and the cost of execution of the sample workload on the empty replica of the database in the target DBMS.
    Type: Grant
    Filed: October 20, 2013
    Date of Patent: September 6, 2016
    Assignee: International Business Machines Corporation
    Inventors: Austin Clifford, Enda McCallig
  • Patent number: 9424311
    Abstract: A computer implemented method, computer system, and computer program product performs a query on a relational database. When a query is received, a corresponding complexity class is determined for the query. The query is routed to a corresponding query processor based on the corresponding complexity class determined for the submitted query. The query is executed on the corresponding query processor according to a determined execution plan.
    Type: Grant
    Filed: March 20, 2014
    Date of Patent: August 23, 2016
    Assignee: International Business Machines Corporation
    Inventor: Ashish Kundu
  • Patent number: 9424150
    Abstract: Various embodiments of systems and methods for a fault tolerance based query execution are described herein. Queries are received from users, the queries including operators. A multi-query optimization is performed on the operators included in the queries to obtain a query plan. A fault tolerance degree is determined for the operators included in the query plan. Based on the fault tolerance degree of the operators, nodes are assigned to the operators included in the query plan. The assigned nodes execute the operators included in the query plan to execute the queries. In one aspect, the nodes simultaneously execute the operators included in the query plan.
    Type: Grant
    Filed: December 6, 2011
    Date of Patent: August 23, 2016
    Assignee: SAP SE
    Inventors: Zbigniew Jerzak, Thomas Heinze
  • Patent number: 9424315
    Abstract: Embodiments of the present invention provide a run-time scheduler that schedules tasks for database queries on one or more execution resources in a dataflow fashion. In some embodiments, the run-time scheduler may comprise a task manager, a memory manager, and hardware resource manager. When a query is received by a host database management system, a query plan is created for that query. The query plan splits a query into various fragments. These fragments are further compiled into a directed acyclic graph of tasks. Unlike conventional scheduling, the dependency arc in the directed acyclic graph is based on page resources. Tasks may comprise machine code that may be executed by hardware to perform portions of the query. These tasks may also be performed in software or relate to I/O.
    Type: Grant
    Filed: April 7, 2008
    Date of Patent: August 23, 2016
    Assignee: Teradata US, Inc.
    Inventors: Joseph I. Chamdani, Alan Beck, Hareesh Boinepelli, Jim Crowley, Ravi Krishnamurthy, Jeremy Branscome
  • Patent number: 9411656
    Abstract: A network device includes a plurality of blades, each having a plurality of CPU cores that process requests received by the network device. Each blade further includes an accumulator circuit. Each accumulator circuit periodically aggregates the local counter values of the CPU cores of the corresponding blade. One accumulator circuit is designated as a master, and the other accumulator circuit(s) are designated as slave(s). The slave accumulator circuits transmit their aggregated local counter values to the master accumulator circuit. The master accumulator circuit aggregates the sets of aggregated local counter values to create a set of global counter values. The master accumulator circuit transmits the global counter values to a management processor (for display), to the CPU cores located on its corresponding blade, and to each of the slave accumulator circuits. Each slave accumulator circuit then transmits the global counter values to the CPU cores located on its corresponding blade.
    Type: Grant
    Filed: June 22, 2009
    Date of Patent: August 9, 2016
    Assignee: Brocade Communications Systems, Inc.
    Inventors: Avinash Jindal, Deepak Bansal, Sam Htin Moy, David Cheung, Bing Wang, Mani Kancherla, Sridhar Devarapalli
  • Patent number: 9391902
    Abstract: A system and method of dynamic collaboration during query processing includes determining a load factor for a data source, receiving a query at a query assistant running on a computer server, determining a complexity of the query, adjusting the complexity by the load factor, simplifying the query by removing one or more first query elements from the query when the adjusted complexity is above a threshold, forming a query plan where the first query elements are designated for processing outside the data source, and performing the query plan by sending one or more abbreviated queries to the data source and processing the first query elements using the query assistant. The abbreviated queries are based on the query with the first query elements removed. In some examples, the query may be iteratively simplified until a second adjusted complexity of a simplified version of the query falls below the threshold.
    Type: Grant
    Filed: December 13, 2013
    Date of Patent: July 12, 2016
    Assignee: Red Hat, Inc.
    Inventors: Filip Eliá{hacek over (s)}, Filip Nguyen
  • Patent number: 9361344
    Abstract: Techniques for a system capable of performing low-latency database query processing are disclosed herein. The system includes a gateway server and a plurality of worker nodes. The gateway server is configured to divide a database query, for a database containing data stored in a distributed storage cluster having a plurality of data nodes, into a plurality of partial queries and construct a query result based on a plurality of intermediate results. Each worker node of the plurality of worker nodes is configured to process a respective partial query of the plurality of partial queries by scanning data related to the respective partial query that stored on at least one data node of the distributed storage cluster and generate an intermediate result of the plurality of intermediate results that is stored in a memory of that worker node.
    Type: Grant
    Filed: June 2, 2015
    Date of Patent: June 7, 2016
    Assignee: FACEBOOK, INC.
    Inventors: Raghotham Murthy, Rajat Goel
  • Patent number: 9361338
    Abstract: A method and associated system for offloading the collection and optimization of database statistics to an external computer system, without using significant resources required by the database system during its normal operation. A processor of a computer system captures and stores information about the database's recent transactions, where the captured information describes how each transaction altered the logical description of the database or revised data stored in the database. The processor uses this captured information to update stored metadata that identifies the database's logical structure, and to further update stored database statistics that describe characteristics of the data stored in the database. These updated statistics are then returned to the production database's optimizer module, which uses them to determine how to efficiently respond to database-access requests.
    Type: Grant
    Filed: November 26, 2013
    Date of Patent: June 7, 2016
    Assignee: International Business Machines Corporation
    Inventors: Ramesh Chandra Pathak, Suryanarayana K. Rao
  • Patent number: 9348865
    Abstract: In one embodiment, a method for managing database resources includes selecting a first query from a queue of queries and transmitting, by a global resource manager to a portion of a plurality of data nodes, a plurality of reserve resource messages. The method also includes receiving, by the global resource manager from the portion of the plurality of data nodes, a plurality of acknowledgement messages and transmitting, by the global resource manager to a coordinator node, an execute query message when the plurality of acknowledgement messages are positive acknowledgements.
    Type: Grant
    Filed: April 2, 2014
    Date of Patent: May 24, 2016
    Assignee: Futurewei Technologies, Inc.
    Inventors: Holly Zeng Casaletto, Qingqing Zhou
  • Patent number: 9342557
    Abstract: A low latency query engine for APACHE HADOOP™ that provides real-time or near real-time, ad hoc query capability, while completing batch-processing of MapReduce. In one embodiment, the low latency query engine comprises a daemon that is installed on data nodes in a HADOOP™ cluster for handling query requests and all internal requests related to query execution. In a further embodiment, the low latency query engine comprises a daemon for providing name service and metadata distribution. The low latency query engine receives a query request via client, turns the request into collections of plan fragments and coordinates parallel and optimized execution of the plan fragments on remote daemons to generate results at a much faster speed than existing batch-oriented processing frameworks.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: May 17, 2016
    Assignee: Cloudera, Inc.
    Inventors: Marcel Kornacker, Justin Erickson, Nong Li, Lenni Kuff, Henry Noel Robinson, Alan Choi, Alex Behm
  • Patent number: 9336271
    Abstract: A method of optimizing a query is provided herein. The method includes determining a cost estimate for a query. The method further includes determining a budget for optimizing the query based on the cost estimate. Additionally, the method includes determining a complexity of the query based on the budget. The method also includes determining a strategy based on the complexity. The strategy specifies a limit to a search space enumerated during optimization of the query. Further, the method includes optimizing the query based on the strategy.
    Type: Grant
    Filed: October 11, 2010
    Date of Patent: May 10, 2016
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Kashif A. Siddiqui, Awny K. Al-Omari
  • Patent number: 9323809
    Abstract: A method for rapid data analysis comprising receiving and interpreting a query, collecting a first data sample from the first set of data shards, calculating an intermediate result to the query based on analysis of the first data sample, identifying a second set of data shards based on the intermediate result, collecting a second data sample from the second set of data shards, and calculating a final result to the query based on analysis of the second data sample.
    Type: Grant
    Filed: March 10, 2015
    Date of Patent: April 26, 2016
    Assignee: Interana, Inc.
    Inventors: Robert Johnson, Lior Abraham, Ann Johnson, Boris Dimitrov, Don Fossgreen
  • Patent number: 9298771
    Abstract: Disclosed herein are system, method, and computer program product embodiments for performing resource estimation for query optimization. An embodiment operates by generating a subplan for which an optimization process may be invoked, predicting performance and resource consumption for optimizing the subplan by measuring similarity between a hypergraph of the subplan and one or more etalon queries having known performance and resource consumption properties, selecting an algorithm for optimizing the subplan from a plurality of optimization algorithms based on the performance and resource consumption properties, and generating an optimized access plan using the selected algorithm.
    Type: Grant
    Filed: January 30, 2013
    Date of Patent: March 29, 2016
    Assignee: IAS Solutions, Inc.
    Inventors: Anisoara Nica, Stephen Chou
  • Patent number: 9298788
    Abstract: Software for a distributed streaming platform receives a data stream for an application running on a distributed streaming platform over a networked cluster of servers. The software converts the data into a plurality of data tuples structured according to a schema. And the software repeatedly emits a specified number of the data tuples as a streaming window, which is separated from other streaming windows by a leading control tuple associated with an ordinal identifier for the streaming window and by a trailing control tuple associated with the same ordinal identifier. Then the software emits a checkpointing tuple following the trailing control tuple after a specified number of streaming windows. The checkpointing tuple causes checkpointing of an instance of an operator for the application when the checkpointing tuple is received by the instance.
    Type: Grant
    Filed: June 26, 2013
    Date of Patent: March 29, 2016
    Assignee: DataTorrent, Inc.
    Inventors: Amol J. Kekre, Phu D. Hoang, Chetan Narsude, Thomas Weise
  • Patent number: 9275172
    Abstract: Intelligent monitoring systems and methods for virtual environments are disclosed that understand various components of a virtual infrastructure and how the components interact to provide improved performance analysis to users. In certain examples, a monitoring system assesses the performance of virtual machine(s) in the context of the overall performance of the physical server(s) and the environment in which the virtual machine(s) are running. For instance, the monitoring system can track performance metrics over a determined period of time to view changes to the allocation of resources to virtual machines and their location(s) on physical platforms. Moreover, monitoring systems can utilize past performance information from separate virtual environments to project a performance impact resulting from the migration of a virtual machine from one physical platform to another.
    Type: Grant
    Filed: January 18, 2013
    Date of Patent: March 1, 2016
    Assignee: Dell Software Inc.
    Inventors: John Andrew Ostermeyer, James Michael Hofer, Mark Steven Childers, Michael Hugh Condy
  • Patent number: 9268817
    Abstract: Techniques are described herein for efficiently evaluating database queries that include hierarchical cube computations. During second and subsequent evaluation phases (if any), a database server does not re-determine groups (nor re-aggregate within such groups) that have already been determined in a previous evaluation phase. Instead, according to a technique described herein, whenever an evaluation phase subsequent to the first evaluation phase is performed, the database server immediately outputs or otherwise returns certain groups and aggregate results that were determined based on certain grouping column sets that were generated in the previous evaluation phase. The database server does not aggregate within these certain groups when performing aggregation in the current evaluation phase, thereby avoiding the duplication of work already performed during previous evaluation phases.
    Type: Grant
    Filed: September 26, 2007
    Date of Patent: February 23, 2016
    Assignee: Oracle International Corporation
    Inventor: Srikanth Bellamkonda
  • Patent number: 9262407
    Abstract: A method for optimizing a multi-language user interface layout across languages via reverse pseudo-translation using an integrated development environment is provided. The method may include selecting at least one user interface page from a group of user interface pages in a first language for pseudo-translation. The method may include selecting at least one target language from a group of target languages in which to pseudo-translate the at least one user interface page. The method may include specifying at least one layout requirement for formatting the selected user interface pages. The method may include performing pseudo-translation of the at least one user interface page. The method may include modifying, automatically, the at least one pseudo-translated user interface page through application of a merge algorithm according to the at least one specified layout requirement. The method may include implementing a reverse pseudo-translation of the at least one modified pseudo-translated user interface page.
    Type: Grant
    Filed: September 19, 2014
    Date of Patent: February 16, 2016
    Assignee: International Business Machines Corporation
    Inventors: Renato Ermann, Yan Min Sheng
  • Patent number: 9264500
    Abstract: Apparatus and methods are described herein for optimizing an object search. A communications device may be configured to initiate a request for a data set. The communications device may transmit its current location to a server, for example, which may return a data set including data representing each of one or more objects that may be located within a first search area proximate to the current location of the communications device. The communications device may then perform a search for an object of interest by comparing the data representing each of the one or more objects in the data set to data representing the object of interest.
    Type: Grant
    Filed: June 12, 2012
    Date of Patent: February 16, 2016
    Assignee: QUALCOMM Incorporated
    Inventors: Stephen Bryant Statler, Eric Robert Kraar
  • Patent number: 9256642
    Abstract: Techniques for automatically recommending parallel execution of a SQL statement. In one set of embodiments, a first determination can be made regarding whether a SQL statement can be executed in parallel. Further, a second determination can be made regarding whether executing the SQL statement in parallel is faster than executing the statement in serial by a predetermined factor. If the first determination and second determination are positive (i.e., the statement can be executed in parallel and parallel execution is faster by the predetermined factor), a recommendation can be provided indicating that the SQL statement should be executed in parallel. In some embodiments, the recommendation can include a report specifying the degree of performance improvement gained from parallel execution, additional system resources consumed by parallel execution, and other statistics pertaining to the recommended parallel execution plan.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: February 9, 2016
    Assignee: Oracle International Corporation
    Inventors: Hailing Yu, Peter Belknap, Thierry Cruanes, Benoit Dageville, Karl Dias, Khaled Yagoub
  • Patent number: 9244978
    Abstract: Techniques for partitioning data streams are provided. In some examples, a query for processing at least a portion of a data stream may be identified. The data stream may be associated with a user. Additionally, in some examples, code identifying an attribute of the identified stream may be received. The code may be capable of configuring the query based at least in part on the attribute. Further, in some aspects, the code may be configured to partition the data stream into at least a sub-stream based at least in part on the attribute.
    Type: Grant
    Filed: June 11, 2014
    Date of Patent: January 26, 2016
    Assignee: Oracle International Corporation
    Inventors: Alexandre Alves, Sandeep Bishnoi
  • Patent number: 9244955
    Abstract: Methods and apparatus are provided for generating a database layout. A layout for a database is generated by receiving a user specification of a database vendor, purpose and environment for the database; receiving a user configuration of layout options for the database in a context of the given database vendor and purpose and for an indicated protection type; receiving a user selection of a storage profile for the database; and determining a correct size and product model for storing the database with the configured layout based on a quantitative profile factor assigned to the database vendor, purpose and environment and a quantitative layout factor assigned to the protection type. The quantitative profile factor can be based on a target layout complexity factor. The quantitative layout factor can be based on whether specified file types need to be stored on one or more tiers of a tiered storage system.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: January 26, 2016
    Assignee: EMC Corporation
    Inventor: Jeffrey Daniel Esposito
  • Patent number: 9235446
    Abstract: The use of statistics collected during the parallel distributed execution of the tasks of a job may be used to optimize the performance of the task or similar recurring tasks. An execution plan for a job is initially generated, in which the execution plan includes tasks. Statistics regarding operations performed in the tasks are collected while the tasks are executed via parallel distributed execution. Another execution plan is then generated for another recurring job, in which the additional execution plan has at least one task in common with the execution plan for the job. The additional execution plan is subsequently optimized based at least on the statistics to produce an optimized execution plan.
    Type: Grant
    Filed: June 22, 2012
    Date of Patent: January 12, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nicolas Bruno, Jingren Zhou, Srikanth Kandula, Sameer Agarwal, Ming-Chuan Wu
  • Patent number: 9229981
    Abstract: Methods and systems may provide for identifying one or more visualization characteristics of a user interface (UI) associated with an application on a client device and generating a query plan based on the one or more visualization characteristics, a historical performance of a network infrastructure and a current status of the network infrastructure. In addition, a response to a query from the application may be generated in accordance with the query plan. In one example, generating the query plan includes selecting a number of elements in a responsive data set and/or selecting one or more of a plurality of service endpoints in the network infrastructure to handle the query based at least in part on the one or more visualization characteristics.
    Type: Grant
    Filed: August 12, 2013
    Date of Patent: January 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: Aram B. Eblighatian, Niraj P. Joshi, Lakshminarayanan Srinivasan
  • Patent number: 9183255
    Abstract: A query is executed on a multi-database system. The multi-database system includes a first system database and a second system database. The query is partially executed on a first system database by generating a spool. It is determined that it is more efficient to store the spool on the second system database than to store the spool on the first system database, and in response the spool is stored on the second system database. The query execution is continued by accessing the spool on the second system database, completing execution of the query to produce a result, and storing the result.
    Type: Grant
    Filed: December 30, 2009
    Date of Patent: November 10, 2015
    Assignee: Teradata US, Inc.
    Inventors: Douglas P. Brown, Scott E. Gnau, John M. Morris
  • Patent number: 9183311
    Abstract: A system and method for providing preferred language and/or country ordering of search results is described. A search query describing potentially retrievable information provided in a plurality of search result languages and/or countries is received. A search is executed by evaluating the search query against information characteristics maintained in a searchable data repository. At least one preferred language and/or country applicable to search results generated is dynamically determined responsive to the executed search. At least some of the search results are ordered in consideration of the at least one preferred language and/or country.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: November 10, 2015
    Assignee: Google Inc.
    Inventors: Vineet Gupta, Benedict Gomes, John Lamping, Mizuki McGrath, Amitabh K Singhal, Simon Tong
  • Patent number: 9177024
    Abstract: A database system comprises a processing module, and a storage device communicatively coupled with the processing module and allocated thereto. The storage device stores a base table allocated to the processing module. The processing module receives a database query from a client computer system, and generates a spool based upon a number of columns of a table, and partitions at least one column of the spool based upon the database query received from the client computer system.
    Type: Grant
    Filed: March 12, 2012
    Date of Patent: November 3, 2015
    Assignee: Teradata US, Inc.
    Inventors: Heng Yuan, Mark Sirek
  • Patent number: 9152670
    Abstract: The number of iterations or self joins required to execute a recursive database query can be estimated. It will be appreciated that this estimation can be used to plan the execution of the recursive query and can be made in various ways and for various applications. By way of example, an estimated number of iterations or self joins required to execute a recursive database query (e.g., 12) can be used as a basis to determine or plan an optimal execution plan. For example, given an estimated twelve (12) iterations, an execution plan can be determined for executing at least the first three (3) iterations or for executing every three (3) iterations, whereas for an estimated twenty (21) iterations required to complete a recursive database query, an execution plan can be determined for the first five (5) or six (6) iterations, and so on.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: October 6, 2015
    Assignee: Teradata US, Inc.
    Inventors: Ahmad Said Ghazal, Dawit Seid
  • Patent number: 9147039
    Abstract: An electronic medical record employs a hybrid search engine which can perform structured queries for comprehensive search results and text searches for rapid identification of relevant information. A standard structured database of medical data is rendered accessible to text searches by generating pseudo-documents from the database that can then be subjected to standard information retrieval pre-processing.
    Type: Grant
    Filed: September 13, 2011
    Date of Patent: September 29, 2015
    Assignee: Epic Systems Corporation
    Inventors: Sumit Rana, Sagnik Bhattacharya, Steven Ross Kappes
  • Patent number: 9135295
    Abstract: The present invention provides systems and methods for automating a search over a network such as the Internet. A user selects data such as text from within an application. The selected data is activated and a search is performed without the user having to leave the application. The search is performed while the user is continuing within the application. When the search is complete, the search results are made available to the user within the application from which the search was initiated. In one embodiment, the data is pre-searched and the results are cached such that the results are already available should the user desire. The present invention is particularly suited to integration with an operating system such that the methods of the present invention are thereby available to all applications. Alternatively, the present invention can be specific to a particular application.
    Type: Grant
    Filed: February 11, 2014
    Date of Patent: September 15, 2015
    Assignee: LASIMER NY LLC
    Inventors: Bruce R. Baird, John M. Zollinger
  • Patent number: 9110945
    Abstract: The present invention includes a method for providing parameterized queries in complex event processing (CEP). The method includes providing a query template which includes one or more bind variables, providing sets of parameters corresponding to the one or more bind variables, and parsing the query template to determine positions of the one or more bind variables. The method further includes scanning the provided sets of parameters to determine which of the sets of parameters are to be bound to the one or more bind variables, binding the one or more bind variables which are determined to be bound to the sets of parameters, and substituting the bound one or more bind variables with the corresponding sets of parameters. The method further includes injecting all incarnations of the parameterized queries into the system, and one template/parameterized query is configured to run them all.
    Type: Grant
    Filed: November 12, 2013
    Date of Patent: August 18, 2015
    Assignee: Oracle International Corporation
    Inventors: Parul Jain, Vikram Shukla, Anand Srinivasan, Alexandre de Castro Alves, Eric Hsiao
  • Patent number: 9081826
    Abstract: Techniques for a system capable of performing low-latency database query processing are disclosed herein. The system includes a gateway server and a plurality of worker nodes. The gateway server is configured to divide a database query, for a database containing data stored in a distributed storage cluster having a plurality of data nodes, into a plurality of partial queries and construct a query result based on a plurality of intermediate results. Each worker node of the plurality of worker nodes is configured to process a respective partial query of the plurality of partial queries by scanning data related to the respective partial query that stored on at least one data node of the distributed storage cluster and generate an intermediate result of the plurality of intermediate results that is stored in a memory of that worker node.
    Type: Grant
    Filed: January 7, 2013
    Date of Patent: July 14, 2015
    Assignee: FACEBOOK, INC.
    Inventors: Raghotham Murthy, Rajat Goel
  • Publication number: 20150149434
    Abstract: Systems and methods are disclosed for query processing in a big data analytics platform by enumerating plans for a current query using a processor; building a dominance graph for the current query; for each plan, determining a regret value and a score for the plan based on the regret value and cost; and selecting query plans in an online fashion for query processing in big data analytics platforms where intermediate results are materialized and can be reused later.
    Type: Application
    Filed: October 4, 2014
    Publication date: May 28, 2015
    Applicant: NEC Laboratories America, Inc.
    Inventors: Ziyang Liu, Vahit Hacigumus
  • Publication number: 20150149435
    Abstract: A database system allows users to specify plan constraint specification that limit choices of execution plans considered by an optimizer of the database system for optimizing database queries. The plan constraint specification specifies attributes of execution plans. The plan constraint specification may identify tables/intermediate results that the plan constraint is applicable to using table names or aliases. The database system applies the plan constraint specification to database queries that match the tables/aliases specified in the plan constraint specification. The database system limits the choice of execution plans evaluated for a database query to execution plans satisfying the attributes specified in an applicable plan constraint specification. The plan constraint specification may specify distribution of a table, a join order for tables, the join mechanism, cardinality of a table or intermediate result, and so on.
    Type: Application
    Filed: November 11, 2014
    Publication date: May 28, 2015
    Inventors: William J. McKenna, Richard L. Cole, Yijou Chen, Sergei Perfilov, Aman Sinha, Eugene Szedenits, Jr.
  • Publication number: 20150149436
    Abstract: A database system rewrites database queries based on rewrite constraints specification. The rewrite constraints specification provides directives to the database system to generate temporary tables for storing intermediate results of database queries and rewrite the corresponding database queries in terms of the temporary tables. The subqueries for matching the rewrite constraints specification may be specified in various ways. For example, the rewrite constraints specification may identify the subqueries by using one or more aliases. The rewrite constraints specification may specify a list of tables such that all database queries that join the database tables specified in the rewrite constraints specification are determined to match. The optimizer is able to optimize the rewritten database queries better by getting a better estimate for the statistics describing the temporary tables.
    Type: Application
    Filed: November 11, 2014
    Publication date: May 28, 2015
    Inventors: William J. McKenna, Richard L. Cole, Yijou Chen, Sergei Perfilov, Aman Sinha, Eugene Szedenits, JR.
  • Publication number: 20150149439
    Abstract: This analysis system analyzes the behavior of a DBMS in a computer system having a computer which executes tasks in parallel and reads data from a database (DB) when executing a query. This analysis system acquires the number of selected rows corresponding to a key value of an index key used in the query, and calculates a model-based predicted degree of processing parallelism of the processing corresponding to the query. The system acquires, from the storage device, event information on an input-output event with respect to the storage medium when the processing corresponding to the query is executed actually, calculates a measured degree of processing parallelism when the processing corresponding to the query is executed actually, based on the event information, and displays information based on the model-based predicted degree of processing parallelism and the measured degree of processing parallelism.
    Type: Application
    Filed: May 31, 2012
    Publication date: May 28, 2015
    Applicants: THE UNIVERSITY OF TOKYO, HITACHI, LTD.
    Inventors: Hideomi Idei, Norifumi Nishikawa, Nobuo Kawamura, Kazuhiko Mogi, Masaru Kitsuregawa, Masashi Toyoda, Kazuo Goda