Systems and methods for sharing of execution plans for similar database statements

Number of patents in Portfolio can not be more than 2000

United States of America Patent

PATENT NO 6985904
SERIAL NO

10086277

Stats

ATTORNEY / AGENT: (SPONSORED)

Importance

Loading Importance Indicators... loading....

Abstract

See full text

A database statement, such as a SQL text, reuses the execution plan compiled for a similar SQL text found in memory if the value of a system parameter is configured for cursor sharing among optimally shareable SQL texts and the SQL text is optimally shareable with the similar SQL text found in memory. Reuse also occurs if the value of a system parameter is configured for cursor sharing among all shareable SQL texts and the SQL text is suboptimally or optimally shareable with the similar SQL text found in memory. For SQL text that is non-shareable with a similar SQL text found in memory, no execution plan sharing takes place.

Loading the Abstract Image... loading....

First Claim

See full text

Family

Loading Family data... loading....

Patent Owner(s)

Patent OwnerAddressTotal Patents
ORACLE INTERNATIONAL CORPORATIONREDWOOD SHORES, CA6457

International Classification(s)

  • [Classification Symbol]
  • [Patents Count]

Inventor(s)

Inventor Name Address # of filed Patents Total Citations
Jain, Namit Foster City, CA 65 2475
Kaluskar, Sanjay Mountain View, CA 21 452

Cited Art Landscape

Patent Info (Count) # Cites Year
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (14)
* 5615359 Data server with data probes employing predicate tests in rule statements 29 1994
* 5758144 Database execution cost and system performance estimator 36 1994
* 5875334 System, method, and program for extending a SQL compiler for handling control statements packaged with SQL query statements 140 1995
* 5734884 Database execution cost and system performance estimator 38 1996
5987455 Intelligent compilation of procedural functions for query processing systems 33 1997
* 6003022 Database execution cost and system performance estimator 108 1997
* 6269373 Method and system for persisting beans as container-managed fields 152 1999
6219660 Access path selection for SQL with variables in a RDBMS 49 1999
* 6598041 Method, system, and program for processing modifications to data in tables in a database system 10 2000
* 6665678 Method, system, and program for optimistic concurrency control for scrollable cursors in a database 16 2000
* 6643637 Method, system, and program for using a fetch request to make data available to an application program 5 2001
* 6694305 Method, system, and program for processing modifications to data in tables in a database system 5 2001
* 6721731 Method, system, and program for processing a fetch request for a target row at an absolute position from a first entry in a table 5 2001
2003/0120,682 Database query optimization apparatus and method that represents queries as graphs 48 2001
 
ORACLE INTERNATIONAL CORPORATION (34)
5412804 Extending the semantics of the outer join operator for un-nesting queries to a data base 248 1992
5404510 Database index design based upon request importance and the reuse and modification of similar existing indexes 146 1992
5664172 Range-based query optimizer 146 1994
5495608 Dynamic index retrieval, bit mapping, and optimization of a single relation access 102 1994
5819251 System and apparatus for storage retrieval and analysis of relational and non-relational data 125 1996
5892945 Method and apparatus for distributing work granules among processes based on the location of data accessed in the work granules 40 1996
* 5761654 Memory structure and method for tuning a database statement using a join-tree data structure representation, including selectivity factors, of a master table and detail table 37 1996
5802523 Method and apparatus for reducing the memory required to store bind variable descriptors in a database 78 1996
6014656 Using overlapping partitions of data for query optimization 64 1996
5899993 Method and apparatus for achieving an enforced and valid constraint state 18 1996
5802521 Method and apparatus for determining distinct cardinality dual hash bitmaps 24 1996
5956705 Reverse-byte indexing 20 1996
6439783 Range-based query optimizer 90 1997
5899986 Methods for collecting query workload based statistics on column groups identified by RDBMS optimizer 45 1997
5822748 Group by and distinct sort elimination using cost-based optimization 49 1997
5903888 Method and apparatus for using incompatible types of indexes to process a single query 17 1997
5907844 Dynamic external control of rule-based decision making through user rule inheritance for database performance optimization 23 1997
5857180 Method and apparatus for implementing parallel operations in a database management system 193 1997
6026391 Systems and methods for estimating query response times in a computer system 107 1997
6370619 Managing partitioned cache 30 1998
5974408 Method and apparatus for executing a query that specifies a sort plus operation 35 1998
6029163 Methods for collecting query workload based statistics on column groups identified by RDBMS optimizer 75 1998
6505227 Method and apparatus for distributing work granules among processes based on the location of data accessed in the work granules 12 1999
6351742 Method and mechanism for database statement optimization 31 1999
6370522 Method and mechanism for extending native optimization in a database system 53 1999
6401083 Method and mechanism for associating properties with objects and instances 23 1999
6144957 Method and apparatus for using incompatible types of indexes to process a single query 57 1999
6421662 Generating and implementing indexes based on criteria set forth in queries 40 1999
6374257 Method and system for removing ambiguities in a shared database command 17 1999
6546394 Database system having logical row identifiers 27 1999
6581055 Query optimization with switch predicates 56 2000
6606627 Techniques for managing resources for multiple exclusive groups 42 2001
6470423 Managing partitioned cache 14 2001
6615206 Techniques for eliminating database table joins based on a join index 30 2002
 
MICROSOFT TECHNOLOGY LICENSING, LLC (1)
6356887 Auto-parameterization of database queries 77 1999
 
SOUND VIEW INNOVATIONS, LLC (1)
* 5963742 Using speculative parsing to process complex input data 32 1997
 
HITACHI, LTD. (1)
* 6457007 Distributed database management system including logical database constituted by a group of physical databases 107 1994
* Cited By Examiner

Patent Citation Ranking

Forward Cite Landscape

Patent Info (Count) # Cites Year
 
Other [Check patent profile for assignment information] (10)
* 2011/0098,115 SYSTEMS AND METHODS FOR ELECTRONIC DISCOVERY 1 2009
9710511 Dynamic table index mapping 0 2016
9690821 Computer data system position-index mapping 0 2016
9679006 Dynamic join processing using real time merged notification listener 0 2016
9672238 Dynamic filter processing 0 2016
9639570 Data store access permission system with interleaved application of deferred access control filters 0 2016
9619210 Parsing and compiling data system queries 0 2016
9612959 Distributed and optimized garbage collection of remote and exported table handle links to update propagation graph nodes 0 2016
9613018 Applying a GUI display effect formula in a hidden column to a section of data 0 2016
9613109 Query task processing based on memory allocation and performance criteria 0 2016
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (16)
* 2004/0019,587 Method and device for processing a query in a database management system 31 2003
* 2005/0071,346 Method, system, and program for optimized parameter binding 5 2003
* 7516138 Method for optimized parameter binding 1 2003
* 7412439 Method for statistics management 4 2004
* 2005/0149,505 Method, system, and program for statistics management 8 2004
* 2008/0126,393 COMPUTER PROGRAM PRODUCT AND SYSTEM FOR ANNOTATING A PROBLEM SQL STATEMENT FOR IMPROVED UNDERSTANDING 8 2006
* 2008/0033,912 Query Workload Statistics Collection in a Database Management System 6 2007
7984024 Statistics management 1 2008
* 2009/0030,875 STATISTICS MANAGEMENT 3 2008
8060495 Query execution plan efficiency in a database management system 1 2008
* 2010/0114,868 QUERY EXECUTION PLAN EFFICIENCY IN A DATABASE MANAGEMENT SYSTEM 16 2008
8805852 Automatic query execution plan management and performance stabilization for workloads 0 2009
* 2010/0223,253 AUTOMATIC QUERY EXECUTION PLAN MANAGEMENT AND PERFORMANCE STABILIZATION FOR WORKLOADS 13 2009
8352945 System, method, and apparatus for scan-sharing for business intelligence queries in an in-memory database 2 2009
* 2011/0040,744 SYSTEM, METHOD, AND APPARATUS FOR SCAN-SHARING FOR BUSINESS INTELLIGENCE QUERIES IN AN IN-MEMORY DATABASE 9 2009
* 2012/0278,305 DYNAMIC MERGING OF EXECUTABLE STRUCTURES IN A DATABASE SYSTEM 1 2012
 
VMWARE, INC. (4)
9384361 Distributed event system for relational models 0 2011
9195707 Distributed event system for relational models 0 2011
9058353 Computer relational database method and system having role based access control 0 2011
* 2011/0302,180 COMPUTER RELATIONAL DATABASE METHOD AND SYSTEM HAVING ROLE BASED ACCESS CONTROL 3 2011
 
SYBASE, INC. (2)
* 7174326 Database system providing methodology for prepared statement cloning 4 2004
* 7818313 Method for distributing processing of queries over a cluster of servers in a continuous processing system 41 2006
 
SAP SE (5)
* 7571191 Defining a data analysis process 15 2004
* 2005/0027,683 Defining a data analysis process 17 2004
8914353 Many-core algorithms for in-memory column store databases 1 2011
9384236 Method and system for operating on database queries 0 2013
* 9424313 Many-core algorithms for in-memory column store databases 0 2014
 
EXCALIBUR IP, LLC (4)
* 7962479 System and method for generating substitutable queries 10 2007
* 2008/0140,699 SYSTEM AND METHOD FOR GENERATING SUBSTITUTABLE QUERIES 42 2007
* 7831588 Context-sensitive query expansion 7 2008
* 2009/0198,672 CONTEXT-SENSITIVE QUERY EXPANSION 17 2008
 
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. (2)
* 7898817 Circuit board assembly 0 2006
* 2008/0091,645 Hybrid database query caching 4 2006
 
IANYWHERE SOLUTIONS, INC. (1)
7359922 Database system and methodology for generalized order optimization 13 2004
 
MICRON TECHNOLOGY, INC. (1)
* 2007/0263,462 NAND architecture memory devices and operation 17 2006
 
LINKEDIN CORPORATION (1)
7814072 Management of database statistics 1 2004
 
TERADATA US, INC. (1)
* 2008/0201,295 CACHING PLANS WITH USING DATA VALUES 3 2007
 
Perfect Search Corporation (14)
8176052 Hyperspace index 2 2007
7644082 Abbreviated index 0 2007
* 2008/0059,462 ABBREVIATED INDEX 9 2007
8266152 Hashed indexing 0 2007
7774347 Vortex searching 1 2007
7774353 Search templates 0 2007
* 2009/0063,479 SEARCH TEMPLATES 2 2007
* 2007/0294,235 HASHED INDEXING 12 2007
8032495 Index compression 1 2008
7912840 Indexing and filtering using composite data stores 0 2008
* 2009/0319,549 INDEX COMPRESSION 5 2008
8037075 Pattern index 7 2008
* 2009/0019,038 PATTERN INDEX 18 2008
8392426 Indexing and filtering using composite data stores 0 2011
 
TWITTER, INC. (2)
* 7668805 System and method for managing query access to information 1 2004
* 2005/0097,090 System and method for managing query access to information 3 2004
 
ORACLE INTERNATIONAL CORPORATION (80)
* 2005/0131,890 Communicating external expressions using a parallel single cursor model 2 2004
* 7702623 Extended cursor sharing 2 2007
* 7689550 Adaptive cursor sharing 15 2007
* 2009/0037,405 ADAPTIVE CURSOR SHARING 7 2007
7979420 Handling silent relations in a data stream management system 38 2007
* 2009/0100,029 Handling Silent Relations In A Data Stream Management System 51 2007
8296316 Dynamically sharing a subtree of operators in a data stream management system operating on existing queries 30 2007
7996388 Adding new continuous queries to a data stream management system operating on existing queries 49 2007
* 2009/0106,214 ADDING NEW CONTINUOUS QUERIES TO A DATA STREAM MANAGEMENT SYSTEM OPERATING ON EXISTING QUERIES 68 2007
* 2009/0106,189 Dynamically Sharing A Subtree Of Operators In A Data Stream Management System Operating On Existing Queries 55 2007
8073826 Support for user defined functions in a data stream management system 25 2007
* 2009/0106,190 Support For User Defined Functions In A Data Stream Management System 52 2007
8521867 Support for incrementally processing user defined aggregations in a data stream management system 25 2007
7991766 Support for user defined aggregations in a data stream management system 40 2007
* 7673065 Support for sharing computation between aggregations in a data stream management system 50 2007
* 2009/0106,218 Support for user defined aggregations in a data stream management system 45 2007
* 2009/0106,440 Support for incrementally processing user defined aggregations in a data stream management system 46 2007
* 2009/0106,198 Support for sharing computation between aggregations in a data stream management system 50 2007
9189522 SQL execution plan baselines 0 2008
9058356 SQL execution plan baselines 0 2008
8700608 SQL execution plan verification 1 2008
8600977 Automatic recognition and capture of SQL execution plans 3 2008
8335767 Maintaining and utilizing SQL execution plan histories 1 2008
* 2009/0106,320 Automatic Recognition and Capture of SQL Execution Plans 2 2008
8352517 Infrastructure for spilling pages to a persistent store 17 2009
8145859 Method and system for spilling from a queue to a persistent store 19 2009
* 2010/0223,305 INFRASTRUCTURE FOR SPILLING PAGES TO A PERSISTENT STORE 38 2009
* 2010/0223,606 FRAMEWORK FOR DYNAMICALLY GENERATING TUPLE AND PAGE CLASSES 41 2009
8387076 Standardized database connectivity support for an event processing server 18 2009
8321450 Standardized database connectivity support for an event processing server in an embedded context 35 2009
* 2011/0022,618 STANDARDIZED DATABASE CONNECTIVITY SUPPORT FOR AN EVENT PROCESSING SERVER IN AN EMBEDDED CONTEXT 36 2009
* 2011/0023,055 STANDARDIZED DATABASE CONNECTIVITY SUPPORT FOR AN EVENT PROCESSING SERVER 39 2009
8527458 Logging framework for a data stream processing server 30 2009
8386466 Log visualization tool for a data stream processing server 31 2009
* 2011/0029,485 LOG VISUALIZATION TOOL FOR A DATA STREAM PROCESSING SERVER 38 2009
* 2011/0029,484 LOGGING FRAMEWORK FOR A DATA STREAM PROCESSING SERVER 38 2009
9305238 Framework for supporting regular expression-based pattern matching in data streams 4 2009
8676841 Detection of recurring non-occurrences of events using pattern matching 29 2009
8589436 Techniques for performing regular expression-based pattern matching in data streams 27 2009
8498956 Techniques for matching a certain class of regular expression-based patterns in data streams 27 2009
* 2010/0057,735 FRAMEWORK FOR SUPPORTING REGULAR EXPRESSION-BASED PATTERN MATCHING IN DATA STREAMS 39 2009
* 2010/0057,663 TECHNIQUES FOR MATCHING A CERTAIN CLASS OF REGULAR EXPRESSION-BASED PATTERNS IN DATA STREAMS 38 2009
8301667 Method and system for implementing efficient cursor pruning 0 2010
* 2011/0208,757 METHOD AND SYSTEM FOR IMPLEMENTING EFFICIENT CURSOR PRUNING 1 2010
9305057 Extensible indexing framework using data cartridges 4 2010
* 2011/0161,352 EXTENSIBLE INDEXING FRAMEWORK USING DATA CARTRIDGES 39 2010
9430494 Spatial data cartridge for event processing systems 3 2010
* 2011/0161,328 SPATIAL DATA CARTRIDGE FOR EVENT PROCESSING SYSTEMS 41 2010
9058360 Extensible language framework using data cartridges 14 2010
8447744 Extensibility platform using data cartridges 27 2010
* 2011/0161,356 EXTENSIBLE LANGUAGE FRAMEWORK USING DATA CARTRIDGES 37 2010
* 2011/0161,321 EXTENSIBILITY PLATFORM USING DATA CARTRIDGES 35 2010
* 8849794 Compile time opcodes for efficient runtime interpretation of variables for database queries and DML statements 0 2011
* 2011/0173,182 COMPILE TIME OPCODES FOR EFFICIENT RUNTIME INTERPRETATION OF VARIABLES FOR DATABASE QUERIES AND DML STATEMENTS 0 2011
8959106 Class loading using java data cartridges 4 2011
8990416 Support for a new insert stream (ISTREAM) operation in complex event processing (CEP) 5 2011
9189280 Tracking large numbers of moving objects in an event processing system 10 2011
9329975 Continuous query language (CQL) debugger in complex event processing (CEP) 3 2011
8204875 Support for user defined aggregations in a data stream management system 20 2011
8713049 Support for a parameterized query/view in complex event processing 25 2011
8543558 Support for user defined functions in a data stream management system 25 2011
9563663 Fast path evaluation of Boolean predicates 3 2013
9390135 Executing continuous event processing (CEP) queries in parallel 3 2013
9047249 Handling faults in a continuous event processing (CEP) system 14 2013
9292574 Tactical query to continuous query conversion 4 2013
9286352 Hybrid execution of continuous and scheduled queries 5 2013
9256646 Configurable data windows for archived relations 8 2013
9098587 Variable duration non-event pattern matching 14 2013
9418113 Value based windows on relations in continuous data streams 3 2013
9361308 State initialization algorithm for continuous queries over archived relations 3 2013
9262479 Join operations for continuous queries over archived views 9 2013
* 9569514 Statement-level and procedural-level replication 0 2013
* 9110945 Support for a parameterized query/view in complex event processing 14 2013
* 2014/0136,514 SUPPORT FOR A PARAMETERIZED QUERY/VIEW IN COMPLEX EVENT PROCESSING 22 2013
9244978 Custom partitioning of a data stream 9 2014
9712645 Embedded event processing 0 2015
9262258 Handling faults in a continuous event processing (CEP) system 8 2015
9535761 Tracking large numbers of moving objects in an event processing system 3 2015
9715529 Hybrid execution of continuous and scheduled queries 0 2016
9703836 Tactical query to continuous query conversion 0 2016
 
ENT. SERVICES DEVELOPMENT CORPORATION LP (2)
* 7574421 Explicit key paging 1 2006
* 2007/0233,642 Explicit key paging 4 2006
 
MICROSOFT TECHNOLOGY LICENSING, LLC (5)
* 7640230 Query plan selection control using run-time association mechanism 6 2005
* 2006/0224,563 Query plan selection control using run-time association mechanism 26 2005
* 8032522 Optimizing parameterized queries in a relational database management system 12 2006
8103638 Partitioning of contended synchronization objects 8 2009
* 2010/0287,203 PARTITIONING OF CONTENDED SYNCHRONIZATION OBJECTS 0 2009
 
GOOGLE INC. (6)
* 7099858 Data management system that provides intelligent access plan caching 12 2003
* 2004/0153,454 Data management system that provides intelligent access plan caching 2 2003
* 7289978 Substituting parameter markers for literals in database query language statement to promote reuse of previously generated access plans 1 2003
* 2003/0200,204 Substituting parameter markers for literals in database query language statement to promote reuse of previously generated access plans 5 2003
* 7302422 Query workload statistics collection in a database management system 20 2004
* 2005/0234,900 Query workload statistics collection in a database management system 7 2004
 
NAVER CORPORATION (1)
* 2014/0136,515 METHOD AND SYSTEM FOR MANAGING DATABASE 0 2014
* Cited By Examiner

Maintenance Fees

Fee Large entity fee small entity fee micro entity fee due date
11.5 Year Payment $7400.00 $3700.00 $1850.00 Jul 10, 2017
Fee Large entity fee small entity fee micro entity fee
Surcharge - 11.5 year - Late payment within 6 months $160.00 $80.00 $40.00
Surcharge after expiration - Late payment is unavoidable $700.00 $350.00 $175.00
Surcharge after expiration - Late payment is unintentional $1,640.00 $820.00 $410.00