US Patent No: 6,985,904

Number of patents in Portfolio can not be more than 2000

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

1 Status Updates

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, CA5581

International Classification(s)

  • [Classification Symbol]
  • [Patents Count]

Inventor(s)

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

Cited Art Landscape

Patent Info (Count) # Cites Year
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (14)
* 5,615,359 Data server with data probes employing predicate tests in rule statements 26 1994
* 5,758,144 Database execution cost and system performance estimator 34 1994
* 5,875,334 System, method, and program for extending a SQL compiler for handling control statements packaged with SQL query statements 123 1995
* 5,734,884 Database execution cost and system performance estimator 36 1996
5,987,455 Intelligent compilation of procedural functions for query processing systems 33 1997
* 6,003,022 Database execution cost and system performance estimator 101 1997
* 6,269,373 Method and system for persisting beans as container-managed fields 151 1999
6,219,660 Access path selection for SQL with variables in a RDBMS 39 1999
* 6,598,041 Method, system, and program for processing modifications to data in tables in a database system 10 2000
* 6,665,678 Method, system, and program for optimistic concurrency control for scrollable cursors in a database 16 2000
* 6,643,637 Method, system, and program for using a fetch request to make data available to an application program 5 2001
* 6,694,305 Method, system, and program for processing modifications to data in tables in a database system 5 2001
* 6,721,731 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 37 2001
 
ORACLE INTERNATIONAL CORPORATION (34)
5,412,804 Extending the semantics of the outer join operator for un-nesting queries to a data base 210 1992
5,404,510 Database index design based upon request importance and the reuse and modification of similar existing indexes 140 1992
5,664,172 Range-based query optimizer 139 1994
5,495,608 Dynamic index retrieval, bit mapping, and optimization of a single relation access 99 1994
5,819,251 System and apparatus for storage retrieval and analysis of relational and non-relational data 118 1996
5,892,945 Method and apparatus for distributing work granules among processes based on the location of data accessed in the work granules 39 1996
* 5,761,654 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 35 1996
5,802,523 Method and apparatus for reducing the memory required to store bind variable descriptors in a database 69 1996
6,014,656 Using overlapping partitions of data for query optimization 63 1996
5,899,993 Method and apparatus for achieving an enforced and valid constraint state 18 1996
5,802,521 Method and apparatus for determining distinct cardinality dual hash bitmaps 23 1996
5,956,705 Reverse-byte indexing 19 1996
6,439,783 Range-based query optimizer 79 1997
5,899,986 Methods for collecting query workload based statistics on column groups identified by RDBMS optimizer 45 1997
5,822,748 Group by and distinct sort elimination using cost-based optimization 46 1997
5,903,888 Method and apparatus for using incompatible types of indexes to process a single query 17 1997
5,907,844 Dynamic external control of rule-based decision making through user rule inheritance for database performance optimization 23 1997
5,857,180 Method and apparatus for implementing parallel operations in a database management system 179 1997
6,026,391 Systems and methods for estimating query response times in a computer system 100 1997
6,370,619 Managing partitioned cache 30 1998
5,974,408 Method and apparatus for executing a query that specifies a sort plus operation 33 1998
6,029,163 Methods for collecting query workload based statistics on column groups identified by RDBMS optimizer 71 1998
6,505,227 Method and apparatus for distributing work granules among processes based on the location of data accessed in the work granules 10 1999
6,351,742 Method and mechanism for database statement optimization 31 1999
6,370,522 Method and mechanism for extending native optimization in a database system 51 1999
6,401,083 Method and mechanism for associating properties with objects and instances 23 1999
6,144,957 Method and apparatus for using incompatible types of indexes to process a single query 48 1999
6,421,662 Generating and implementing indexes based on criteria set forth in queries 36 1999
6,374,257 Method and system for removing ambiguities in a shared database command 16 1999
6,546,394 Database system having logical row identifiers 24 1999
6,581,055 Query optimization with switch predicates 52 2000
6,606,627 Techniques for managing resources for multiple exclusive groups 38 2001
6,470,423 Managing partitioned cache 14 2001
6,615,206 Techniques for eliminating database table joins based on a join index 23 2002
 
MICROSOFT TECHNOLOGY LICENSING, LLC (1)
6,356,887 Auto-parameterization of database queries 77 1999
 
SOUND VIEW INNOVATIONS, LLC (1)
* 5,963,742 Using speculative parsing to process complex input data 30 1997
 
HITACHI, LTD. (1)
* 6,457,007 Distributed database management system including logical database constituted by a group of physical databases 106 1994
* Cited By Examiner

Patent Citation Ranking

Forward Cite Landscape

Patent Info (Count) # Cites Year
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (16)
* 2004/0019,587 Method and device for processing a query in a database management system 30 2003
* 2005/0071,346 Method, system, and program for optimized parameter binding 4 2003
* 7,516,138 Method for optimized parameter binding 1 2003
* 7,412,439 Method for statistics management 4 2004
* 2005/0149,505 Method, system, and program for statistics management 2 2004
* 2008/0126,393 COMPUTER PROGRAM PRODUCT AND SYSTEM FOR ANNOTATING A PROBLEM SQL STATEMENT FOR IMPROVED UNDERSTANDING 6 2006
* 2008/0033,912 Query Workload Statistics Collection in a Database Management System 6 2007
7,984,024 Statistics management 0 2008
* 2009/0030,875 STATISTICS MANAGEMENT 3 2008
8,060,495 Query execution plan efficiency in a database management system 1 2008
* 2010/0114,868 QUERY EXECUTION PLAN EFFICIENCY IN A DATABASE MANAGEMENT SYSTEM 11 2008
8,805,852 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 7 2009
8,352,945 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 6 2009
* 2012/0278,305 DYNAMIC MERGING OF EXECUTABLE STRUCTURES IN A DATABASE SYSTEM 1 2012
 
Other [Check patent profile for assignment information] (1)
* 2011/0098,115 SYSTEMS AND METHODS FOR ELECTRONIC DISCOVERY 1 2009
 
VMWARE, INC. (3)
9,195,707 Distributed event system for relational models 0 2011
9,058,353 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 2 2011
 
SYBASE, INC. (2)
* 7,174,326 Database system providing methodology for prepared statement cloning 2 2004
* 7,818,313 Method for distributing processing of queries over a cluster of servers in a continuous processing system 26 2006
 
SAP SE (2)
* 7,571,191 Defining a data analysis process 10 2004
8,914,353 Many-core algorithms for in-memory column store databases 0 2011
 
EXCALIBUR IP, LLC (3)
* 7,962,479 System and method for generating substitutable queries 10 2007
* 2008/0140,699 SYSTEM AND METHOD FOR GENERATING SUBSTITUTABLE QUERIES 35 2007
* 7,831,588 Context-sensitive query expansion 6 2008
 
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. (2)
* 7,898,817 Circuit board assembly 0 2006
* 2008/0091,645 Hybrid database query caching 2 2006
 
HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP (2)
* 7,574,421 Explicit key paging 1 2006
* 2007/0233,642 Explicit key paging 4 2006
 
IANYWHERE SOLUTIONS, INC. (1)
7,359,922 Database system and methodology for generalized order optimization 11 2004
 
Micron Technology, Inc. (1)
* 2007/0263,462 NAND architecture memory devices and operation 16 2006
 
LINKEDIN CORPORATION (1)
7,814,072 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)
8,176,052 Hyperspace index 1 2007
7,644,082 Abbreviated index 0 2007
* 2008/0059,462 ABBREVIATED INDEX 9 2007
8,266,152 Hashed indexing 0 2007
7,774,347 Vortex searching 1 2007
7,774,353 Search templates 0 2007
* 2009/0063,479 SEARCH TEMPLATES 2 2007
* 2007/0294,235 HASHED INDEXING 8 2007
8,032,495 Index compression 0 2008
7,912,840 Indexing and filtering using composite data stores 0 2008
* 2009/0319,549 INDEX COMPRESSION 5 2008
8,037,075 Pattern index 5 2008
* 2009/0019,038 PATTERN INDEX 16 2008
8,392,426 Indexing and filtering using composite data stores 0 2011
 
TWITTER, INC. (2)
* 7,668,805 System and method for managing query access to information 1 2004
* 2005/0097,090 System and method for managing query access to information 2 2004
 
SAP AG (1)
* 2005/0027,683 Defining a data analysis process 16 2004
 
ORACLE INTERNATIONAL CORPORATION (67)
* 2005/0131,890 Communicating external expressions using a parallel single cursor model 2 2004
* 7,702,623 Extended cursor sharing 2 2007
* 7,689,550 Adaptive cursor sharing 15 2007
* 2009/0037,405 ADAPTIVE CURSOR SHARING 3 2007
7,979,420 Handling silent relations in a data stream management system 29 2007
* 2009/0100,029 Handling Silent Relations In A Data Stream Management System 43 2007
8,296,316 Dynamically sharing a subtree of operators in a data stream management system operating on existing queries 22 2007
7,996,388 Adding new continuous queries to a data stream management system operating on existing queries 36 2007
* 2009/0106,214 ADDING NEW CONTINUOUS QUERIES TO A DATA STREAM MANAGEMENT SYSTEM OPERATING ON EXISTING QUERIES 55 2007
8,073,826 Support for user defined functions in a data stream management system 19 2007
* 2009/0106,190 Support For User Defined Functions In A Data Stream Management System 42 2007
8,521,867 Support for incrementally processing user defined aggregations in a data stream management system 18 2007
7,991,766 Support for user defined aggregations in a data stream management system 31 2007
* 7,673,065 Support for sharing computation between aggregations in a data stream management system 41 2007
* 2009/0106,218 Support for user defined aggregations in a data stream management system 35 2007
* 2009/0106,440 Support for incrementally processing user defined aggregations in a data stream management system 36 2007
* 2009/0106,198 Support for sharing computation between aggregations in a data stream management system 42 2007
9,189,522 SQL execution plan baselines 0 2008
9,058,356 SQL execution plan baselines 0 2008
8,700,608 SQL execution plan verification 1 2008
8,600,977 Automatic recognition and capture of SQL execution plans 0 2008
8,335,767 Maintaining and utilizing SQL execution plan histories 1 2008
* 2009/0106,320 Automatic Recognition and Capture of SQL Execution Plans 2 2008
8,352,517 Infrastructure for spilling pages to a persistent store 11 2009
8,145,859 Method and system for spilling from a queue to a persistent store 13 2009
* 2010/0223,305 INFRASTRUCTURE FOR SPILLING PAGES TO A PERSISTENT STORE 28 2009
8,387,076 Standardized database connectivity support for an event processing server 11 2009
8,321,450 Standardized database connectivity support for an event processing server in an embedded context 29 2009
* 2011/0022,618 STANDARDIZED DATABASE CONNECTIVITY SUPPORT FOR AN EVENT PROCESSING SERVER IN AN EMBEDDED CONTEXT 28 2009
8,527,458 Logging framework for a data stream processing server 19 2009
8,386,466 Log visualization tool for a data stream processing server 15 2009
* 2011/0029,485 LOG VISUALIZATION TOOL FOR A DATA STREAM PROCESSING SERVER 29 2009
* 2011/0029,484 LOGGING FRAMEWORK FOR A DATA STREAM PROCESSING SERVER 30 2009
9,305,238 Framework for supporting regular expression-based pattern matching in data streams 0 2009
8,676,841 Detection of recurring non-occurrences of events using pattern matching 20 2009
8,589,436 Techniques for performing regular expression-based pattern matching in data streams 18 2009
8,498,956 Techniques for matching a certain class of regular expression-based patterns in data streams 20 2009
* 2010/0057,735 FRAMEWORK FOR SUPPORTING REGULAR EXPRESSION-BASED PATTERN MATCHING IN DATA STREAMS 29 2009
* 2010/0057,663 TECHNIQUES FOR MATCHING A CERTAIN CLASS OF REGULAR EXPRESSION-BASED PATTERNS IN DATA STREAMS 28 2009
8,301,667 Method and system for implementing efficient cursor pruning 0 2010
* 2011/0208,757 METHOD AND SYSTEM FOR IMPLEMENTING EFFICIENT CURSOR PRUNING 1 2010
9,305,057 Extensible indexing framework using data cartridges 0 2010
* 2011/0161,352 EXTENSIBLE INDEXING FRAMEWORK USING DATA CARTRIDGES 30 2010
* 2011/0161,328 SPATIAL DATA CARTRIDGE FOR EVENT PROCESSING SYSTEMS 31 2010
9,058,360 Extensible language framework using data cartridges 7 2010
8,447,744 Extensibility platform using data cartridges 20 2010
* 2011/0161,356 EXTENSIBLE LANGUAGE FRAMEWORK USING DATA CARTRIDGES 29 2010
* 8,849,794 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
8,959,106 Class loading using java data cartridges 3 2011
8,990,416 Support for a new insert stream (ISTREAM) operation in complex event processing (CEP) 1 2011
9,189,280 Tracking large numbers of moving objects in an event processing system 3 2011
9,329,975 Continuous query language (CQL) debugger in complex event processing (CEP) 0 2011
8,204,875 Support for user defined aggregations in a data stream management system 15 2011
8,713,049 Support for a parameterized query/view in complex event processing 17 2011
8,543,558 Support for user defined functions in a data stream management system 17 2011
9,047,249 Handling faults in a continuous event processing (CEP) system 7 2013
9,292,574 Tactical query to continuous query conversion 0 2013
9,286,352 Hybrid execution of continuous and scheduled queries 0 2013
9,256,646 Configurable data windows for archived relations 0 2013
9,098,587 Variable duration non-event pattern matching 7 2013
9,361,308 State initialization algorithm for continuous queries over archived relations 0 2013
9,262,479 Join operations for continuous queries over archived views 0 2013
* 9,110,945 Support for a parameterized query/view in complex event processing 7 2013
* 2014/0136,514 SUPPORT FOR A PARAMETERIZED QUERY/VIEW IN COMPLEX EVENT PROCESSING 14 2013
9,244,978 Custom partitioning of a data stream 0 2014
9,262,258 Handling faults in a continuous event processing (CEP) system 0 2015
 
MICROSOFT TECHNOLOGY LICENSING, LLC (5)
* 7,640,230 Query plan selection control using run-time association mechanism 4 2005
* 2006/0224,563 Query plan selection control using run-time association mechanism 18 2005
* 8,032,522 Optimizing parameterized queries in a relational database management system 11 2006
8,103,638 Partitioning of contended synchronization objects 6 2009
* 2010/0287,203 PARTITIONING OF CONTENDED SYNCHRONIZATION OBJECTS 0 2009
 
GOOGLE INC. (6)
* 7,099,858 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
* 7,289,978 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
* 7,302,422 Query workload statistics collection in a database management system 19 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