Patents by Inventor Paul Laurence Sinclair

Paul Laurence Sinclair 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).

  • Patent number: 11468061
    Abstract: Techniques for improving complex database queries are provided. A determination is made whether to adopt a static or dynamic query execution plan for a received database query based on metrics. When a dynamic query execution plan is adopted, the database query is separated into query fragments. A plan fragment is generated for each query fragment and executed to generate feedback for the plan fragment. The feedback from the execution of each plan fragment is used to initiate query rewrite rules to simplify the corresponding query fragments. The rewritten query fragments are combined to generate the dynamic query plan.
    Type: Grant
    Filed: December 12, 2018
    Date of Patent: October 11, 2022
    Assignee: Teradata US, Inc.
    Inventors: Bin Cao, Yi Xia, Sanjib Mishra, Rama Krishna Korlapati, Tri Minh Tran, Mohammed Al-Kateb, Paul Laurence Sinclair, Chengyang Zhang
  • Patent number: 11308053
    Abstract: A system and method for loading data into column-partitioned database tables. The system and method incorporate a mechanism for buffering data extracted from the rows of a source table in column-oriented fashion within an in-buffer memory, enabling an efficient bulk-write of large arrays of values from the buffer into column-partitioned database tables. The system and method may also include optimizations for grouping columns according to data types and altering the order in which columns are inserted into the database tables.
    Type: Grant
    Filed: October 27, 2016
    Date of Patent: April 19, 2022
    Assignee: Teradata US, Inc.
    Inventors: Rui Zhang, Sanjay Nair, Paul Laurence Sinclair, Mamatha Govind Rao
  • Patent number: 10997168
    Abstract: One or a soft correlation of a database can be adjusted (e.g., modified, replaced, overwritten) for use with respect to one or more record(s) of the database associated with the soft correlation, by considering at least one or more violations of the soft correlations in the one or more of records database records associated with the soft correlation. In addition, an adjusted soft correlation can be stored and used for optimizations of database queries pertaining to one or more records associated with the adjusted soft correlation. Typically, the adjusted soft correlation is adjusted by at least considering the violations of an original soft correlation in the one or more records relating to the database queries.
    Type: Grant
    Filed: December 13, 2018
    Date of Patent: May 4, 2021
    Assignee: Teradata US, Inc.
    Inventors: Mohamed Yassin Eltabakh, Grace Kwan-On Au, Sanjay Nair, Mohammed Al-Kateb, Paul Laurence Sinclair
  • Publication number: 20200192893
    Abstract: One or a soft correlation of a database can be adjusted (e.g., modified, replaced, overwritten) for use with respect to one or more record(s) of the database associated with the soft correlation, by considering at least one or more violations of the soft correlations in the one or more of records database records associated with the soft correlation. In addition, an adjusted soft correlation can be stored and used for optimizations of database queries pertaining to one or more records associated with the adjusted soft correlation. Typically, the adjusted soft correlation is adjusted by at least considering the violations of an original soft correlation in the one or more records relating to the database queries.
    Type: Application
    Filed: December 13, 2018
    Publication date: June 18, 2020
    Inventors: Mohamed Yassin Eltabakh, Grace Kwan-On Au, Sanjay Nair, Mohammed Al-Kateb, Paul Laurence Sinclair
  • Patent number: 10635651
    Abstract: Data portions of a database can be grouped and ranked in order of priory for reassignment from one or more maps to another one or more maps. It should be noted that a first map can assign the data portions to a first configuration of processors for processing the data portions, and a second map assigns the data portions to a second configuration of processors, different than the first configuration, for processing the data portions in a database system and/or environment. The data portions are reassigned in groups during an available time (window) for reassignment by taking the first one of the groups can be reassigned (“moved”) in the available, then the second one in the available reaming time, and so on, until no group of data portions can be moved in the remaining time or all of them have been moved.
    Type: Grant
    Filed: November 10, 2017
    Date of Patent: April 28, 2020
    Assignee: Teradata US, Inc.
    Inventors: Donald Raymond Pederson, Philip Jason Benton, Frederick S. Kaufmann, Paul Laurence Sinclair, Louis Martin Burger
  • Patent number: 10545923
    Abstract: A database operation is performed in a file system residing on a plurality of processing modules. The file system includes a first relation having a plurality of first-relation entries. Each of the plurality of first-relation entries has a first-relation attribute that is of interest in the database operation. A value of a distribution attribute in each of the first-relation entries is set to a unique value selected from among a domain of unique values. The first-relation entries of the first relation are redistributed among the plurality of processing modules based on the first-relation attribute and the distribution attribute. The computational operation is performed to produce a result.
    Type: Grant
    Filed: December 19, 2017
    Date of Patent: January 28, 2020
    Assignee: Teradata US, Inc.
    Inventors: Richard Leon Kimball, III, Paul Laurence Sinclair, Grace Kwan-On Au
  • Patent number: 10459906
    Abstract: The number of processors that store data can be limited for some data in order to improve efficiency in database system that uses multiple processing units to process data. For example, a map can be provided for one or more sparse database tables (or tables) that are relatively small in view of the number of processors that are available. The map can effectively assign distinct portions of the data, e.g., rows of a database, for processing only to a limited number of processors (or processing units). The database system can use the map to process data accordingly.
    Type: Grant
    Filed: October 20, 2017
    Date of Patent: October 29, 2019
    Assignee: Teradata US, Inc.
    Inventors: Frederick S. Kaufmann, Paul Laurence Sinclair
  • Patent number: 10459907
    Abstract: An order (or priority) for reassigning data portions of a database from a first map to a second map can be determined. It should be noted that the first map assigns the data portions to a first configuration of processors for processing the data portions, and the second map assigns the data portions to a second configuration of processors, different than the first configuration, for processing the data portions in a database system and/or environment. The order can be determined by grouping the data in multiple groups and ordering the groups in accordance with a determined priority for reassignment. In doing so, one or more relationships between the data portions and/or cost of use for each one the groups can be considered.
    Type: Grant
    Filed: October 30, 2017
    Date of Patent: October 29, 2019
    Assignee: Teradata US, Inc.
    Inventors: Frederick S. Kaufmann, Rajendran Kolandasamy, Philip Jason Benton, Paul Laurence Sinclair, Donald Raymond Pederson, Louis Martin Burger
  • Publication number: 20190114295
    Abstract: Techniques for improving complex database queries are provided. A determination is made whether to adopt a static or dynamic query execution plan for a received database query based on metrics. When a dynamic query execution plan is adopted, the database query is separated into query fragments. A plan fragment is generated for each query fragment and executed to generate feedback for the plan fragment. The feedback from the execution of each plan fragment is used to initiate query rewrite rules to simplify the corresponding query fragments. The rewritten query fragments are combined to generate the dynamic query plan.
    Type: Application
    Filed: December 12, 2018
    Publication date: April 18, 2019
    Applicant: Teradata US, Inc.
    Inventors: Bin Cao, Yi Xia, Sanjib Mishra, Rama Krishna Korlapati, Tri Minh Tran, Mohammed Al-Kateb, Paul Laurence Sinclair, Chengyang Zhang
  • Publication number: 20180067977
    Abstract: Data portions of a database can be grouped and ranked in order of priory for reassignment from one or more maps to another one or more maps. It should be noted that a first map can assign the data portions to a first configuration of processors for processing the data portions, and a second map assigns the data portions to a second configuration of processors, different than the first configuration, for processing the data portions in a database system and/or environment. The data portions are reassigned in groups during an available time (window) for reassignment by taking the first one of the groups can be reassigned (“moved”) in the available, then the second one in the available reaming time, and so on, until no group of data portions can be moved in the remaining time or all of them have been moved.
    Type: Application
    Filed: November 10, 2017
    Publication date: March 8, 2018
    Applicant: Teradata US, Inc.
    Inventors: Donald Raymond Pederson, Philip Jason Benton, Frederick S. Kaufmann, Paul Laurence Sinclair, Louis Martin Burger
  • Publication number: 20180052877
    Abstract: An order (or priority) for reassigning data portions of a database from a first map to a second map can be determined. It should be noted that the first map assigns the data portions to a first configuration of processors for processing the data portions, and the second map assigns the data portions to a second configuration of processors, different than the first configuration, for processing the data portions in a database system and/or environment. The order can be determined by grouping the data in multiple groups and ordering the groups in accordance with a determined priority for reassignment In doing so, one or more relationships between the data portions and/or cost of use for each one the groups can be considered.
    Type: Application
    Filed: October 30, 2017
    Publication date: February 22, 2018
    Applicant: Teradata US, Inc.
    Inventors: Frederick S. Kaufmann, Rajendran Kolandasamy, Philip Jason Benton, Paul Laurence Sinclair, Donald Raymond Pederson, Louis Martin Burger
  • Publication number: 20180039664
    Abstract: The number of processors that store data can be limited for some data in order to improve efficiency in database system that uses multiple processing units to process data. For example, a map can be provided for one or more sparse database tables (or tables) that are relatively small in view of the number of processors that are available. The map can effectively assign distinct portions of the data, e.g., rows of a database, for processing only to a limited number of processers (or processing units). The database system can use the map to process data accordingly.
    Type: Application
    Filed: October 20, 2017
    Publication date: February 8, 2018
    Applicant: Teradata US, Inc.
    Inventors: Frederick S. Kaufmann, Paul Laurence Sinclair
  • Publication number: 20170116237
    Abstract: A system and method for loading data into column-partitioned database tables. The system and method incorporate a mechanism for buffering data extracted from the rows of a source table in column-oriented fashion within an in-buffer memory, enabling an efficient bulk-write of large arrays of values from the buffer into column-partitioned database tables. The system and method may also include optimizations for grouping columns according to data types and altering the order in which columns are inserted into the database tables.
    Type: Application
    Filed: October 27, 2016
    Publication date: April 27, 2017
    Applicant: Teradata US, Inc.
    Inventors: Rui Zhang, Sanjay Nair, Paul Laurence Sinclair, Mamatha Govind Rao
  • Patent number: 7672926
    Abstract: A method, computer program, and database system are disclosed for executing database queries. The database includes a first table (T1) having a primary key (PK) column and a first correlated value column (CV1) and a second table (T2) having a foreign key (FK) column related to the primary key column of the first table and a second correlated value column (CV2). One implementation of the method includes preparing a database query for execution based at least in part on application of a derived constraint rule (DCR) having the form, (PK=FK)?CV2+C1?CV1?CV2+C2, where C1 and C2 are constants and “?” means “implies,” to produce an execution plan. A frequency of errors due to changes in DCRs is taken into account when preparing the execution plan. The plan is then executed.
    Type: Grant
    Filed: August 13, 2007
    Date of Patent: March 2, 2010
    Assignee: Teradata US, Inc.
    Inventors: Ahmad Said Ghazal, Paul Laurence Sinclair
  • Patent number: 7272591
    Abstract: A method, computer program, and database system are disclosed for executing database queries. The database includes a first table (T1) having a primary key (PK) column and a first correlated value column (CV1) and a second table (T2) having a foreign key (FK) column related to the primary key column of the first table and a second correlated value column (CV2). One implementation of the method includes preparing a database query for execution based at least in part on application of a derived constraint rule (DCR) having the form, (PK=FK)?CV2+C1?CV1?CV2+C2, where C1 and C2 are constants and “?” means “implies,” to produce an execution plan. Abort steps that are conditioned on changes in the DCR are also included in the execution plan. The plan is then executed.
    Type: Grant
    Filed: January 22, 2004
    Date of Patent: September 18, 2007
    Assignee: NCR Corporation
    Inventors: Ahmad Said Ghazal, Paul Laurence Sinclair
  • Patent number: 6999967
    Abstract: A method, computer program and system for joining two tables, t1 and t2 are described. Each table contains rows and columns and is divided into one or more partitions. A correlation function is calculated between a first correlated value column of table t1 and a second correlated value column of table t2. Following a query request, a joining algorithm is used to join t1 and t2, using a reduced set of partitions based in part upon the correlation function.
    Type: Grant
    Filed: December 26, 2001
    Date of Patent: February 14, 2006
    Assignee: NCR Corp.
    Inventors: Ahmad Said Ghazal, Paul Laurence Sinclair
  • Patent number: 6845375
    Abstract: A database system with multi-level partitioning is disclosed. The system includes a plurality of storage facilities with each storage facility storing data that represents rows of database tables. In each storage facility table rows corresponding to a specific table are logically ordered according to a row identifier, also called the row ID. The row ID includes a first value that is based on one or more columns of the table. The row ID also includes a second value that is based on one or more columns of the table. The row ID also includes a third value. The first value is calculated based on a single-level function. The single-level function is a combination of a plurality of functions. The single-level function produces different values for two rows when any of the plurality of functions produces different values for the two rows. The first value of the row ID is predominate in determining the order of the rows in the storage facilities.
    Type: Grant
    Filed: October 20, 2001
    Date of Patent: January 18, 2005
    Assignee: NCR Corporation
    Inventor: Paul Laurence Sinclair
  • Patent number: 6772163
    Abstract: A method, computer system, and computer program are claimed for selecting rows from first and second tables each having rows containing values in columns. In at least the first table, the rows are divided into partitions at least one of which is populated by one or more rows.
    Type: Grant
    Filed: December 20, 2001
    Date of Patent: August 3, 2004
    Assignee: NCR Corporation
    Inventors: Paul Laurence Sinclair, Kuorong Chiang
  • Patent number: 6662175
    Abstract: A method and computer system for optimizing queries to a database are disclosed. The database includes a first table (T1) having a primary key (PK) column and a first correlated value column (CV1) and a second table (T2) having a foreign key (FK) column related to the primary key column of the first table and a second correlated value column (CV2). The method includes joining T1 to the T2 using PK=FK as the join condition to produce a join result having rows. Each row includes a value from CV1 and a value from CV2. The method further includes creating an initial running constraint (RC). The initial running constraint includes a null range.
    Type: Grant
    Filed: May 8, 2001
    Date of Patent: December 9, 2003
    Assignee: NCR Corporation
    Inventors: Ahmad Said Ghazal, Paul Laurence Sinclair
  • Patent number: 6643636
    Abstract: A method, database system and computer program are disclosed for optimizing a SQL query, in which the SQL query includes a WHERE clause and a FROM clause. An evaluation is done to determine whether a non-covering join index partially but not completely covers the query. If it does, the join index is added to the FROM clause of the query without removing the partially covered base tables and the WHERE clause of the query is modified by: (1) mapping a query condition to the join index for its partially covered base tables; and (2) adding a join back condition from the join index to a base table from which the join index was formed.
    Type: Grant
    Filed: June 5, 2001
    Date of Patent: November 4, 2003
    Assignee: NCR Corporation
    Inventors: Grace Kwan-On Au, Ahmad Said Ghazal, Paul Laurence Sinclair