Patents by Inventor Andrew Witkowski

Andrew Witkowski has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20110137875
    Abstract: An incremental refresh of a materialized view may be simplified, and therefore made more cost efficient, by reducing the number of DML operations being merged with the materialized view during the incremental refresh. Specifically, subsequences of sequences of data manipulation language operations that have been recorded for a particular row of a base table may be inspected to determine whether the subsequences conform to particular patterns of data manipulation language operator types. If a subsequence conforms to one of the particular patterns, the subsequence may be replaced with a single substitute: either a single data manipulation language operation, or null. Refresh operations that are generated based on the simplified sequences of data manipulation language operations are more simple, and therefore, less costly to perform.
    Type: Application
    Filed: December 9, 2009
    Publication date: June 9, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mohamed Ziauddin, Andrew Witkowski
  • Publication number: 20110106790
    Abstract: Techniques are provided for improving efficiency of database systems, and in particular, to refreshing materialized views maintained by database systems and rewriting queries to access the materialized views. According to the approaches, a ranked materialized view is incrementally refreshed, and during the incremental refresh operation, rows in the partitions of the materialized view are ranked within the partitions.
    Type: Application
    Filed: January 12, 2011
    Publication date: May 5, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Abhinav Gupta, Andrew Witkowski
  • Patent number: 7912834
    Abstract: Techniques are provided for improving efficiency of database systems, and in particular, to refreshing materialized views maintained by database systems and rewriting queries to access the materialized views. According to the approaches, a ranked materialized view is incrementally refreshed, and during the incremental refresh operation, rows in the partitions of the materialized view are ranked within the partitions.
    Type: Grant
    Filed: May 19, 2006
    Date of Patent: March 22, 2011
    Assignee: Oracle International Corporation
    Inventors: Abhinav Gupta, Andrew Witkowski
  • Patent number: 7890497
    Abstract: In an embodiment, estimated costs are used to pick the best refresh technique (e.g., method) for a given MV. In another embodiment, estimated costs are used to schedule the refresh of a set MVs in an order such that overall time to refresh is reduced, or in an order that uses the smallest overall time, for refreshing when compared to other alternative refresh schedules. In another embodiment, the estimated cost of refreshing each of a set of MVs is used to select the set of CPU resources to allocate to refreshing each MV. Based on the estimated costs, the allocation of CPU resources is chosen to be more optimal (e.g., use less CPU time) than other available sets of CPU resources. In an embodiment, when refreshing an MV, delayed index maintenance is chosen if a significant portion of the base table and/or the partitions of the table has changed.
    Type: Grant
    Filed: March 18, 2005
    Date of Patent: February 15, 2011
    Assignee: Oracle International Corporation
    Inventors: Nathaniel Keith Folkert, Abhinav Gupta, Andrew Witkowski
  • Patent number: 7809712
    Abstract: Described herein are optimizations and execution strategies for spreadsheet extensions to SQL. The partitioning of data, as specified in a spreadsheet clause, provides a way to parallelize the computation of spreadsheet and to provide and improve scalability. Even if the partitioning is not explicitly specified in the spreadsheet clause, the database optimizer can automatically infer the partitioning in some cases. Efficient hash based access structures on relations can be used for symbolic array addressing, enabling fast computation of formulas. When rewriting SQL statements, formulas whose results are not referenced in outer blocks can be removed from the spreadsheet clause, thus removing unnecessary computations. The predicates from other query blocks can be moved inside query blocks with spreadsheets clauses, thus considerably reducing the amount of data to be processed. Conditions for validity of this transformation are given.
    Type: Grant
    Filed: November 2, 2006
    Date of Patent: October 5, 2010
    Assignee: Oracle International Corporation
    Inventors: Andrew Witkowski, Srikanth Bellamkonda, Tolga Bozkaya, Abhinav Gupta, Nathan Folkert, Sankar Subramanian
  • Patent number: 7761403
    Abstract: Described herein are optimizations and execution strategies for spreadsheet extensions to SQL. The partitioning of data, as specified in a spreadsheet clause, provides a way to parallelize the computation of spreadsheet and to provide and improve scalability. Even if the partitioning is not explicitly specified in the spreadsheet clause, the database optimizer can automatically infer the partitioning in some cases. Efficient hash based access structures on relations can be used for symbolic array addressing, enabling fast computation of formulas. When rewriting SQL statements, formulas whose results are not referenced in outer blocks can be removed from the spreadsheet clause, thus removing unnecessary computations. The predicates from other query blocks can be moved inside query blocks with spreadsheets clauses, thus considerably reducing the amount of data to be processed. Conditions for validity of this transformation are given.
    Type: Grant
    Filed: November 6, 2003
    Date of Patent: July 20, 2010
    Assignee: Oracle International Corporation
    Inventors: Andrew Witkowski, Srikanth Bellamkonda, Tolga Bozkaya, Abhinav Gupta, Nathan Folkert, Sankar Subramanian
  • Patent number: 7734602
    Abstract: In an embodiment, estimated costs are used to pick the best refresh technique (e.g., method) for a given MV. In another embodiment, estimated costs are used to schedule the refresh of a set MVs in an order such that overall time to refresh is reduced, or in an order that uses the smallest overall time, for refreshing when compared to other alternative refresh schedules. In another embodiment, the estimated cost of refreshing each of a set of MVs is used to select the set of CPU resources to allocate to refreshing each MV. Based on the estimated costs, the allocation of CPU resources is chosen to be more optimal (e.g., use less CPU time) than other available sets of CPU resources. In an embodiment, when refreshing an MV, delayed index maintenance is chosen if a significant portion of the base table and/or the partitions of the table has changed.
    Type: Grant
    Filed: March 18, 2005
    Date of Patent: June 8, 2010
    Assignee: Oracle International Corporation
    Inventors: Nathaniel Keith Folkert, Abhinav Gupta, Andrew Witkowski
  • Publication number: 20080208822
    Abstract: A method for processing queries is provided. A database server receives and executes a query to generate a relation. The query comprises first one or more clauses and a model clause. The model clause comprises a rule that has a left-side expression and a right-side expression. In one embodiment, the right-side expression of the rule includes a window function, which specifies one or more partition columns. In an embodiment, the left-side expression comprises a for-loop predicate. The for-loop predicate is unfolded after the database server compiles the query. In one embodiment, the left-side expression of the rule comprises one or more existential predicates, where each existential predicate evaluates to a Boolean value.
    Type: Application
    Filed: May 1, 2008
    Publication date: August 28, 2008
    Inventors: Tolga Bozkaya, Andrew Witkowski
  • Patent number: 7379933
    Abstract: Query rewrite techniques are provided for rewriting an aggregate query with multiple groupings using multiple summary tables. The rewrite is accomplished by expanding the aggregate query into an equivalent UNION ALL query with multiple subqueries, each containing a single grouping. One or more of the subqueries is then rewritten to reference a summary table. Thus, a grouping of an aggregate query is derived by executing a subquery that either scans the summary table for the grouping, like in the exact-match mode, or by performing a roll-up operation, like in the roll-up mode. In addition, if the grouping of some of the subqueries cannot be derived from a summary table, subqueries are combined into another subquery that computes groupings from the base tables of the aggregate query.
    Type: Grant
    Filed: November 27, 2002
    Date of Patent: May 27, 2008
    Assignee: Oracle International Corporation
    Inventors: Andrew Witkowski, Lei Sheng
  • Patent number: 7299223
    Abstract: Users can create computational models in a spreadsheet application and automatically apply the model to data stored in a relational database. By importing a sample of the data from a database table into the spreadsheet application, users can build spreadsheet models that perform analysis and computations on the sample data. Once the model is complete, the spreadsheet model is translated into an SQL format model understood by the database. The SQL model can operate on the entire data set in the database, rather than just the sample data used to construct the model. The SQL model and its associated data are stored in the database, and the model can be executed on a different sets of data. A web browser based front-end allows model users to access the SQL model via a web browser, eliminating the need for model users to have a spreadsheet application.
    Type: Grant
    Filed: July 15, 2004
    Date of Patent: November 20, 2007
    Assignee: Oracle International Corporation
    Inventors: Aman Namait, Allison Waingold, Martin Roth, Andrew Witkowski
  • Publication number: 20070078826
    Abstract: A method for processing queries is provided. A database server receives and executes a query to generate a relation. The query comprises first one or more clauses and a model clause. The model clause comprises a rule that has a left-side expression and a right-side expression. In one embodiment, the right-side expression of the rule includes a window function, which specifies one or more partition columns. In an embodiment, the left-side expression comprises a for-loop predicate. The for-loop predicate is unfolded after the database server compiles the query. In one embodiment, the left-side expression of the rule comprises one or more existential predicates, where each existential predicate evaluates to a Boolean value.
    Type: Application
    Filed: October 3, 2005
    Publication date: April 5, 2007
    Inventors: Tolga Bozkaya, Andrew Witkowski
  • Publication number: 20070055661
    Abstract: Described herein are optimizations and execution strategies for spreadsheet extensions to SQL. The partitioning of data, as specified in a spreadsheet clause, provides a way to parallelize the computation of spreadsheet and to provide and improve scalability. Even if the partitioning is not explicitly specified in the spreadsheet clause, the database optimizer can automatically infer the partitioning in some cases. Efficient hash based access structures on relations can be used for symbolic array addressing, enabling fast computation of formulas. When rewriting SQL statements, formulas whose results are not referenced in outer blocks can be removed from the spreadsheet clause, thus removing unnecessary computations. The predicates from other query blocks can be moved inside query blocks with spreadsheets clauses, thus considerably reducing the amount of data to be processed. Conditions for validity of this transformation are given.
    Type: Application
    Filed: November 2, 2006
    Publication date: March 8, 2007
    Inventors: Andrew Witkowski, Srikanth Bellamkonda, Tolga Bozkaya, Abhinav Gupta, Nathan Folkert, Sankar Subramanian
  • Patent number: 7177855
    Abstract: Described herein are optimizations and execution strategies for spreadsheet extensions to SQL. The partitioning of data, as specified in a spreadsheet clause, provides a way to parallelize the computation of spreadsheet and to provide and improve scalability. Even if the partitioning is not explicitly specified in the spreadsheet clause, the database optimizer can automatically infer the partitioning in some cases. Efficient hash based access structures on relations can be used for symbolic array addressing, enabling fast computation of formulas. When rewriting SQL statements, formulas whose results are not referenced in outer blocks can be removed from the spreadsheet clause, thus removing unnecessary computations. The predicates from other query blocks can be moved inside query blocks with spreadsheets clauses, thus considerably reducing the amount of data to be processed. Conditions for validity of this transformation are given.
    Type: Grant
    Filed: November 6, 2003
    Date of Patent: February 13, 2007
    Assignee: Oracle International Corporation
    Inventors: Andrew Witkowski, Srikanth Bellamkonda, Tolga Bozkaya, Abhinav Gupta, Nathan Folkert, Sankar Subramanian
  • Patent number: 7171427
    Abstract: A method and mechanism for performing an operation based on multidimensional data in a relational database. A query is generated that includes a first set of instructions to select a portion of multidimensional data for inclusion in a relational cube and a second set of instructions to group the portion of multidimensional data in the relational cube using at least two or more levels of granularity of at least one dimension, thereby causing a relational cube to be generated. Based on a received request for an operation to be performed, the query is modified to include a third set of instructions that represent the requested operation; and the query is submitted to the relational database engine of the relational database management system. Thereafter, the operation is performed against the relational cube.
    Type: Grant
    Filed: April 25, 2003
    Date of Patent: January 30, 2007
    Assignee: Oracle International Corporation
    Inventors: Andrew Witkowski, Gregory Dorman, David Greenfield
  • Publication number: 20060212436
    Abstract: Techniques are provided for improving efficiency of database systems, and in particular, to refreshing materialized views maintained by database systems and rewriting queries to access the materialized views. According to the approaches, a ranked materialized view is incrementally refreshed, and during the incremental refresh operation, rows in the partitions of the materialized view are ranked within the partitions.
    Type: Application
    Filed: May 19, 2006
    Publication date: September 21, 2006
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Abhinav Gupta, Andrew Witkowski
  • Patent number: 7111020
    Abstract: Techniques are provided for improving efficiency of database systems, and in particular, to refreshing materialized views maintained by database systems and rewriting queries to access the materialized views. According to the approaches, a ranked materialized view is incrementally refreshed, and during the incremental refresh operation, rows in the partitions of the materialized view are ranked within the partitions.
    Type: Grant
    Filed: March 26, 2002
    Date of Patent: September 19, 2006
    Assignee: Oracle International Corporation
    Inventors: Abhinav Gupta, Andrew Witkowski
  • Patent number: 7035843
    Abstract: Methods are provided for efficiently evaluating database queries including multiple rollup operators. With the computation of grouping identifiers to distinguish grouping levels of each rollup operator, evaluation of database queries that include concatenation of rollup operators includes nesting of the rollup operators and includes the grouping identifiers as sorting keys for subsequent processing. Furthermore, to optimize the query evaluation process, the order in which the rollup operators are computed can be determined based on cardinalities that estimate the number of records generated by each rollup operator, and parallel evaluation can be utilized by partitioning data records between rollup operator processing stages based on the grouping keys associated with the rollup operators that are not being processed at the next stage.
    Type: Grant
    Filed: February 15, 2002
    Date of Patent: April 25, 2006
    Assignee: Oracle International Corporation
    Inventors: Srikanth Bellamkonda, Abhinav Gupta, Andrew Witkowski
  • Publication number: 20060047622
    Abstract: In an embodiment, Partition Change Tracking (PCT) refresh is performed by using join dependencies on partitioning columns to derive and fill in identifiers of rows and/or partitions containing the rows in the refresh expressions. In an embodiment, the join dependencies that form the Materialized View's (MV's) query definition and the partitioning predicate of the table are used to automatically generate a statement which is run in order to derive and fill in identifiers of the rows and/or partitions that are being changed. The identifiers are then plugged into the refresh expression, and the refresh expression is run. Running the refresh expression causes the rows identified to be refreshed.
    Type: Application
    Filed: March 18, 2005
    Publication date: March 2, 2006
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Nathaniel Folkert, Abhinav Gupta, Andrew Witkowski
  • Patent number: 6985895
    Abstract: A method and system for performing spreadsheet-like operations in a database system is described herein. As explained, a database language is extended to introduce new clauses (“spreadsheet-like clauses”), for defining and executing spreadsheet-like operations on data contained within a RDBMS. According to one aspect of the invention, in response to receiving a database query that specifies an operation for manipulating data, data from a relational structure is retrieved and stored in a non-relational structure that can be addressed as a multi-dimensional array. The operation specified in the database query is the performed on then data.
    Type: Grant
    Filed: June 20, 2001
    Date of Patent: January 10, 2006
    Assignee: Oracle International Corporation
    Inventors: Andrew Witkowski, Gregory Dorman, Fred Zemke, Martin Roth, Cetin Ozbutun
  • Publication number: 20050235004
    Abstract: In an embodiment, estimated costs are used to pick the best refresh technique (e.g., method) for a given MV. In another embodiment, estimated costs are used to schedule the refresh of a set MVs in an order such that overall time to refresh is reduced, or in an order that uses the smallest overall time, for refreshing when compared to other alternative refresh schedules. In another embodiment, the estimated cost of refreshing each of a set of MVs is used to select the set of CPU resources to allocate to refreshing each MV. Based on the estimated costs, the allocation of CPU resources is chosen to be more optimal (e.g., use less CPU time) than other available sets of CPU resources. In an embodiment, when refreshing an MV, delayed index maintenance is chosen if a significant portion of the base table and/or the partitions of the table has changed.
    Type: Application
    Filed: March 18, 2005
    Publication date: October 20, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Nathaniel Folkert, Abhinav Gupta, Andrew Witkowski