Patents Represented by Attorney Howard Speight
  • Patent number: 8346714
    Abstract: A temporal table is present in an active data warehouse (“ADW”) on a massively parallel processing system (“MPP system”). The MPP system includes a plurality of units of parallelism. Each of the plurality of units of parallelism maintains its own moving system time separate from that of the other units of parallelism. A load-job for the ADW is accepted. The load-job includes a requested modification to an identified row. The identified row is stored in the temporal table on a first of the MPP system's units of parallelism. The requested modification is implemented on the identified row. The identified row is timestamped with the moving system time maintained by the first of the MPP system's units of parallelism at the time of the implementation of the modification.
    Type: Grant
    Filed: December 17, 2009
    Date of Patent: January 1, 2013
    Assignee: Teradota US, Inc.
    Inventors: Bhashyam Ramesh, Donald Pederson
  • Patent number: 8335772
    Abstract: A method, system, and computer program for optimizing execution of a DML statement on a temporal database are disclosed. A first execution package is provided to an execution engine. The first execution package includes a plurality of operations to be executed if the contents of a row in a table in the temporal database indicate the row has a first temporal condition. A second execution package is provided to the execution engine. The second execution package includes a plurality of operations to be executed if the contents of the row in the table in the temporal database indicate the row has a second temporal condition. The execution engine is run to produce a result. The result is saved.
    Type: Grant
    Filed: November 12, 2008
    Date of Patent: December 18, 2012
    Assignee: Teradata US, Inc.
    Inventors: Bhashyam Ramesh, Manjula Koppuravuri
  • Patent number: 8321420
    Abstract: A method, computer program, and database system for performing a request on a table associated with an index are disclosed. A database contains a table, an index, and a partition elimination list and accepts a query. A table has one or more rows stored in one or more partitions. The index contains index entries, each of which references a row in a partition, where the row is in the table. The query has a first and a second condition. The partition elimination list is populated with partitions based on the first condition of the query. Only index entries that are identified by the request because of the second condition and that reference partitions that are not eliminated by the partition elimination list are read.
    Type: Grant
    Filed: December 10, 2003
    Date of Patent: November 27, 2012
    Assignee: Teradata US, Inc.
    Inventors: Paul L. Sinclair, Ganesan Gopal
  • Patent number: 8311989
    Abstract: Query processing statistics are logged in a multi-database system containing a plurality of system databases. A plurality of query log entries generated using information regarding the execution of a plurality of queries are temporarily stored in a database query log (DBQL). The information is received from a plurality of system databases. Each query log entry is generated using information regarding execution of one query by the plurality of system databases. Each query log entry includes a field identifying a system database that was the source of the information in that entry. An express request is created upon occurrence of a triggering event. The express request contains a subset of the query log entries temporarily stored in the DBQL cache. The created express request is transmitted to a plurality of system databases and the contents of the transmitted express request are stored in each of plurality of system databases to which it was transmitted.
    Type: Grant
    Filed: December 29, 2008
    Date of Patent: November 13, 2012
    Assignee: Teradata US, Inc.
    Inventors: John Mark Morris, Douglas P. Brown
  • Patent number: 8307017
    Abstract: Methods, computer programs, and database systems for protecting one or more database objects are disclosed. The methods include designating one or more database objects for protection and characterizing one or more data storage units by a set of dimensions. The method include, for one or more database objects designated for protection: selecting one or more data storage units to store protection information for the database object based on one or more dimensions, and storing protection information in the one or more selected data storage units.
    Type: Grant
    Filed: December 7, 2004
    Date of Patent: November 6, 2012
    Assignee: Teradata US, Inc.
    Inventor: J. Mark Morris
  • Patent number: 8301934
    Abstract: A base table temporal row affected by a transaction is timestamped. The temporal row has a row ID. The temporal row in the base table is modified according to the transaction. The row ID for the modified temporal row is associated with an identifier for the transaction in a temporal work table. Upon committing the transaction: the temporal work table is searched to determine the row ID of the temporal row modified by the transaction, and a commit-time is saved into the temporal row identified by the row ID.
    Type: Grant
    Filed: April 17, 2009
    Date of Patent: October 30, 2012
    Assignee: Teradata US, Inc.
    Inventors: Bhashyam Ramesh, Manjula Koppuravuri
  • Patent number: 8301657
    Abstract: A method and computer program are disclosed for increasing the efficiency of a row sequential database operation by transforming procedural logic, which applies serially to one row at a time, into set logic, which applies in parallel to many rows or all rows at once. The method includes dividing the row sequential operation into a plurality of portions. A hierarchy is determined for the portions. A set level operation is generated in accordance with the portion hierarchy.
    Type: Grant
    Filed: May 9, 2002
    Date of Patent: October 30, 2012
    Assignee: Teradata US, Inc.
    Inventor: George J. Coleman
  • Patent number: 8290935
    Abstract: A method, computer program, and database system are disclosed for optimizing a query of a table based on one or more values in one or more columns of the table. The method includes repeating the following steps for a series of rows in the table and optimizing an execution plan for the query based at least in part on a calculated number of rows per unique value. One or more values for the one or more columns are read. The read values are determined to be different from all previously read values in some cases. When the read values are different, the one or more values are recorded in a data structure corresponding to the result of applying a hash function to the one or more values.
    Type: Grant
    Filed: May 27, 2004
    Date of Patent: October 16, 2012
    Assignee: Teradata US, Inc.
    Inventors: Arthur Vargas Lopes, Pradeep Sathyanarayan
  • Patent number: 8280867
    Abstract: A method, computer program, and database system are disclosed for identifying a second source of a request sent to a database management system by a first source. A database message is received from the first source. The database message includes a second value for a second source-identifying parameter. The second value identifies a second source. The second value for the second source-identifying parameter is stored in a log.
    Type: Grant
    Filed: October 20, 2005
    Date of Patent: October 2, 2012
    Assignee: Teradata US, Inc.
    Inventors: Douglas P. Brown, Bhashyam Ramesh, Anita Richards
  • Patent number: 8280869
    Abstract: A temporary computer-stored first-unit intermediate result is generated while executing a first unit of work on a computer-based database management system. The first-unit intermediate result has properties. It is determined that the properties of the first-unit intermediate result are similar to properties of a second-unit intermediate result to be generated for a second unit of work when the second unit of work is executed on the computer-based database management system. In response, the first-unit intermediate result is saved for use in executing the second unit of work.
    Type: Grant
    Filed: July 10, 2009
    Date of Patent: October 2, 2012
    Assignee: Teradata US, Inc.
    Inventors: Louis Martin Burger, Thomas Patrick Julien, Douglas P. Brown, Jeffrey S. Shelton
  • Patent number: 8275800
    Abstract: A spatial feature is considered for storage in a database system running on a computer. The spatial feature includes a polygon, P. The polygon includes an outer ring, OR, and the area within the outer ring. The polygon includes an interior ring contained within the polygon. The computer removes the interior ring from the polygon. The computer determines a line along which to split the polygon without regard for the location of the inner ring within the polygon. The computer splits the polygon into two polygons, SP1 and SP2, along the line. The computer applies the interior ring to the two split polygons by invoking a point set difference between the interior ring and the two split polygons. The computer stores the split polygons in the database system on the computer.
    Type: Grant
    Filed: August 5, 2010
    Date of Patent: September 25, 2012
    Assignee: Teradata US, Inc.
    Inventors: Kevin D. Virgil, Michael Leon Reed
  • Patent number: 8250064
    Abstract: A computer system programmed as a database receives a query Q1. Q1 includes a predicate. The predicate includes a reference to a current timestamp of time TT1. The database has R data structures. The computer system creates a plan, Plan 1, to execute Q1. Plan 1 includes the identification of a first set of data structures, P1, to be accessed in executing Plan 1, at the current timestamp of time TT1. The number of data structures in P1 is less than R. The computer system determines that Plan 1 is valid for a period of time. The computer system stores in a cache Plan 1 and an indication that Plan 1 is valid for the period of time.
    Type: Grant
    Filed: April 6, 2010
    Date of Patent: August 21, 2012
    Assignee: Teradata US, Inc.
    Inventors: Bhashyam Ramesh, Manjula Koppuravuri
  • Patent number: 8250108
    Abstract: A method, computer program, and computer network are disclosed for transferring data to a database system. The method includes preparing a plurality of input records, each including a plurality of fields and a selector configurable to represent a plurality of states. For each input record of the plurality of input records, the following steps are performed. A state represented by the selector for an input record is read. Based on the state represented by the selector, a subset of the fields for the input record is transferred to the database system.
    Type: Grant
    Filed: February 7, 2003
    Date of Patent: August 21, 2012
    Assignee: Teradata US, Inc.
    Inventor: Bruce Wayne Britton
  • Patent number: 8214371
    Abstract: A method, computer program, database system and data structure for indexing spatial objects are disclosed. Each spatial object has a location in an n-dimensional space. The indexing is for use in a partitioned parallel environment including P partitions. Each partition resides on one or more parallel processing systems. The n-dimensional space is divided into quad-tree cells (QTCs) in a quad-tree structure. Each spatial object is assigned to one or more QTCs based on the location of the spatial object in the n-dimensional space. A spatial object index entry is created which includes a designator for the QTC to which the spatial object is assigned and a pointer to the spatial object. The entries are sorted by their QTC numbers into a list. The list of entries is divided into P substantially equal parts. The entries associated with each part are stored in a different one of the P partitions.
    Type: Grant
    Filed: July 18, 2003
    Date of Patent: July 3, 2012
    Assignee: Teradata US, Inc.
    Inventors: Bhashyam Ramesh, Michael W. Watzke
  • Patent number: 8140521
    Abstract: A method, computer program, and database system are disclosed for processing a database query that includes one or more expressions. The method includes resolving columns in one or more of the expressions. Expression optimization is performed on one or more of the expressions. Afterward, further query optimization is performed.
    Type: Grant
    Filed: March 15, 2004
    Date of Patent: March 20, 2012
    Assignee: Teradata US, Inc.
    Inventors: Stephen Fife Sheldon, Arthur Vargas Lopes, Grace Kwan-On Au, Ahmad Said Ghazal
  • Patent number: 8108382
    Abstract: Optimizing the execution of a query in a multi-database system includes identifying a region within a table, the table being referenced in the query. The region is stored on a data-storage device on a first of the system databases in the multi-database system. The region is stored on a data-storage device on a second of the system databases in the multi-database system, the second system database being a different system database than the first system database. A first access plan for the query is developed, the first access plan comprising accessing the version of the region stored on the first system database. A second access plan for the query is developed, the second access plan comprising accessing the version of the region stored on the second system database. A selection is made between the first access plan and the second access plan to execute the query. The query is executed using the selected access plan to produce a result. The result is stored.
    Type: Grant
    Filed: December 29, 2008
    Date of Patent: January 31, 2012
    Assignee: Teradata US, Inc.
    Inventors: Douglas Brown, John Mark Morris
  • Patent number: 7996425
    Abstract: A method, computer program, and database system are disclosed for storing element-based descriptions of documents in a database. The database system includes one or more nodes. Each of the one or more nodes provides access to one or more of a plurality of CPUs. Each of the one or more CPUs provides access to one or more of a plurality of virtual processes. Each virtual process is configured to manage data stored in one of a plurality of data-storage facilities. The data stored in the plurality of data-storage facilities includes data representing a database table. A row of the table corresponds to an element of the element-based document description and includes: data describing the element, an order identifier corresponding to the element, and a range identifier corresponding to the element.
    Type: Grant
    Filed: April 28, 2009
    Date of Patent: August 9, 2011
    Assignee: Teradata US, Inc.
    Inventor: Shu-Yao Chien
  • Patent number: 7877372
    Abstract: A method, computer program, and database system are disclosed for querying tables stored on multiple processing modules. The method includes specifying module group characteristics. A plurality of modules corresponding to the module group characteristics are then identified. The identified modules are sampled for statistics concerning at least one table specified in a query. An execution plan for the query is optimized based at least in part on the sampled statistics.
    Type: Grant
    Filed: May 24, 2004
    Date of Patent: January 25, 2011
    Assignee: Teradata US, Inc.
    Inventors: Arthur Vargas Lopes, Jerry Lynn Klindt, Kuorong Chiang, Donald Raymond Pederson, Pradeep Sathyanarayan
  • Patent number: 7873629
    Abstract: Methods, computer programs, and database systems for performing a database query to join a column A and a column B on an inequality condition are disclosed. A database includes value-count indexes for columns A and B. Minimum and a maximum values for A and B are determined, using the value-count indexes for A and B, respectively. The method includes defining three or more sets of values in A and B, relative to the minimum and maximum values for B and A, respectively. The method includes generating one or more Cartesian products between values in A and B. The database query is performed on a set of values in A and a set of values in B to generate a partial query result. The method includes merging one or more Cartesian products and the partial query result.
    Type: Grant
    Filed: June 7, 2004
    Date of Patent: January 18, 2011
    Assignee: Teradata US, Inc.
    Inventors: J. Mark Morris, Bhashyam Ramesh
  • Patent number: 7860833
    Abstract: Statistics for temporary tables are used in optimizing the execution of a database request. A first temporary table is created using data from a data source as the result of performing an operation while executing the request. A subset of the demographics of the data source is saved in a session level memory as the demographics of the first temporary table. The saved demographics are used in optimizing the execution of the portion of the request involving the first temporary table.
    Type: Grant
    Filed: November 28, 2007
    Date of Patent: December 28, 2010
    Assignee: Teradata US, Inc.
    Inventor: Ramakrishna Korlapati