Patents by Inventor James Shau

James Shau 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: 11243958
    Abstract: Disclosed are systems and methods for implementing contract-based polymorphic and parallelizable user-defined scalar and aggregate functions. The systems and methods can include receiving a query including a plurality of user-defined functions, parsing the query into a plurality of nodes (e.g., basic operation unit or atomic operator), generating an execution plan that minimizes data transfer between the plurality of nodes, and executing the plan in a distributed environment. Each of the plurality of user-defined functions can correspond to one of a plurality of nodes.
    Type: Grant
    Filed: March 2, 2016
    Date of Patent: February 8, 2022
    Assignee: Teradata US, Inc.
    Inventors: Xin Tang, James Shau, Robert Wehrmeister, Daniel T. Yu
  • Patent number: 10803066
    Abstract: Embodiments of the present invention provide a hardware accelerator that assists a host database system in processing its queries. The hardware accelerator comprises special purpose processing elements that are capable of receiving database query/operation tasks in the form of machine code database instructions, execute them in hardware without software, and return the query/operation result back to the host system.
    Type: Grant
    Filed: June 29, 2011
    Date of Patent: October 13, 2020
    Assignee: Teradata US, Inc.
    Inventors: James Shau, Jeremy L. Branscome, Krishnan Meiyyappan, Hung Viet Tran, Alan Lee Beck, Robert Hou, Michael Paul Corwin, Joseph Irawan Chamdani
  • Publication number: 20170193054
    Abstract: Disclosed are systems and methods for implementing contract-based polymorphic and parallelizable user-defined scalar and aggregate functions. The systems and methods can include receiving a query including a plurality of user-defined functions, parsing the query into a plurality of nodes (e.g., basic operation unit or atomic operator), generating an execution plan that minimizes data transfer between the plurality of nodes, and executing the plan in a distributed environment. Each of the plurality of user-defined functions can correspond to one of a plurality of nodes.
    Type: Application
    Filed: March 2, 2016
    Publication date: July 6, 2017
    Inventors: Xin Tang, James Shau, Robert Wehrmeister, Daniel S. Yu
  • Patent number: 9542442
    Abstract: Embodiments of the present invention provide hardware-friendly indexing of databases. In particular, forward and reverse indexing are utilized to allow for easy traversal of primary key to foreign key relationships. A novel structure known as a hit list also allows for easy scanning of various indexes in hardware. Group indexing is provided for flexible support of complex group key definition, such as for date range indexing and text indexing. A Replicated Reordered Column (RRC) may also be added to the group index to convert random I/O pattern into sequential I/O of only needed column elements.
    Type: Grant
    Filed: April 9, 2014
    Date of Patent: January 10, 2017
    Assignee: Teradata US, Inc.
    Inventors: Krishnan Meiyyappan, Liuxi Yang, Jeremy Branscome, Michael Paul Corwin, Ravindran Krishnamurthy, Kapil Laxmikant Surlaker, James Shau, Joseph Irawan Chamdani
  • Patent number: 9542426
    Abstract: Data can be stored in a memory for an in-memory processing system such the data is available for processing as soon as it is needed to be processed. A first portion and a second portion of the data can be stored in the memory of the in-memory processing system for processing by the in-memory processing system, such that the second portion of the data is stored in the memory before the in-memory processing system completes the processing of the first portion of the data, thereby allowing the in-memory processing system to process the second portion of the data when the processing system is able to process the second portion of the data.
    Type: Grant
    Filed: December 3, 2013
    Date of Patent: January 10, 2017
    Assignee: Teradata US, Inc.
    Inventor: James Shau
  • Publication number: 20140324821
    Abstract: Embodiments of the present invention provide hardware-friendly indexing of databases. In particular, forward and reverse indexing are utilized to allow for easy traversal of primary key to foreign key relationships. A novel structure known as a hit list also allows for easy scanning of various indexes in hardware. Group indexing is provided for flexible support of complex group key definition, such as for date range indexing and text indexing. A Replicated Reordered Column (RRC) may also be added to the group index to convert random I/O pattern into sequential I/O of only needed column elements.
    Type: Application
    Filed: April 9, 2014
    Publication date: October 30, 2014
    Applicant: Teradata Corporation
    Inventors: Krishnan Meiyyappan, Liuxi Yang, Jeremy Branscome, Michael Paul Corwin, Ravindran Krishnamurthy, Kapil Laxmikant Surlaker, James Shau, Joseph Irawan Chamdani
  • Patent number: 8862625
    Abstract: Embodiments of the present invention provide hardware-friendly indexing of databases. In particular, forward and reverse indexing are utilized to allow for easy traversal of primary key to foreign key relationships. A novel structure known as a hit list also allows for easy scanning of various indexes in hardware. Group indexing is provided for flexible support of complex group key definition, such as for date range indexing and text indexing. A Replicated Reordered Column (RRC) may also be added to the group index to convert random I/O pattern into sequential I/O of only needed column elements.
    Type: Grant
    Filed: April 7, 2008
    Date of Patent: October 14, 2014
    Assignee: Teradata US, Inc.
    Inventors: Krishnan Meiyyappan, Liuxi Yang, Jeremy Branscome, Michael Corwin, Ravi Krishnamurthy, Kapil Surlaker, James Shau, Joseph I. Chamdani
  • Publication number: 20140281303
    Abstract: Data can be stored in a memory for in-memory processing system such the data is available for processing as soon as it is needed to be processed. By way of example, first portion and a second portion of the data can be stored in the memory of the in-memory processing system for processing by the in-memory processing system, such that the second portion of the data is stored in the memory before the in-memory processing system completes the processing of the first portion of the data, thereby allowing the in-memory processing system to process the second portion of the data when the processing system is able to process the second portion of the data. Those skilled in the art will appreciate that this processing can, for example, be achieved by providing an execution plan that includes one or more components configured to faceplate storing data in the memory of an in-memory processing system, such the data is available for processing as soon as it is needed to be processed by the in-memory processing system.
    Type: Application
    Filed: December 3, 2013
    Publication date: September 18, 2014
    Applicant: Teradata Corporation
    Inventor: James Shau
  • Publication number: 20120117027
    Abstract: Embodiments of the present invention provide a hardware accelerator that assists a host database system in processing its queries. The hardware accelerator comprises special purpose processing elements that are capable of receiving database query/operation tasks in the form of machine code database instructions, execute them in hardware without software, and return the query/operation result back to the host system.
    Type: Application
    Filed: June 29, 2011
    Publication date: May 10, 2012
    Applicant: TERADATA US, INC.
    Inventors: James Shau, Jeremy L. Branscome, Krishnan Meiyappan, Hung Viet Tran, Alan Lee Beck, Robert Hou, Michael Paul Corwin, Joseph Irawan Chamdani
  • Patent number: 8165988
    Abstract: Embodiments of the present invention provide for batch and incremental loading of data into a database. In the present invention, the loader infrastructure utilizes machine code database instructions and hardware acceleration to parallelize the load operations with the I/O operations. A large, hardware accelerator memory is used as staging cache for the load process. The load process also comprises an index profiling phase that enables balanced partitioning of the created indexes to allow for pipelined load. The online incremental loading process may also be performed while serving queries.
    Type: Grant
    Filed: January 4, 2011
    Date of Patent: April 24, 2012
    Assignee: Teradata US, Inc.
    Inventors: James Shau, Krishnan Meiyyappan, Hung Tran, Ravi Krishnamurthy, Kapil Surlaker, Jeremy Branscome, Joseph I. Chamdani
  • Publication number: 20110099155
    Abstract: Embodiments of the present invention provide for batch and incremental loading of data into a database. In the present invention, the loader infrastructure utilizes machine code database instructions and hardware acceleration to parallelize the load operations with the I/O operations. A large, hardware accelerator memory is used as staging cache for the load process. The load process also comprises an index profiling phase that enables balanced partitioning of the created indexes to allow for pipelined load. The online incremental loading process may also be performed while serving queries.
    Type: Application
    Filed: January 4, 2011
    Publication date: April 28, 2011
    Applicant: TERADATA US INC.
    Inventors: James Shau, Krishnan Meiyyappan, Hung Tran, Ravi Krishnamurthy, Kapil Surlaker, Jeremy Branscome, Joseph I. Chamdani
  • Patent number: 7895151
    Abstract: Embodiments of the present invention provide for batch and incremental loading of data into a database. In the present invention, the loader infrastructure utilizes machine code database instructions and hardware acceleration to parallelize the load operations with the I/O operations. A large, hardware accelerator memory is used as staging cache for the load process. The load process also comprises an index profiling phase that enables balanced partitioning of the created indexes to allow for pipelined load. The online incremental loading process may also be performed while serving queries.
    Type: Grant
    Filed: June 23, 2008
    Date of Patent: February 22, 2011
    Assignee: Teradata US, Inc.
    Inventors: James Shau, Krishnan Meiyyappan, Hung Tran, Ravi Krishnamurthy, Kapil Surlaker, Jeremy Branscome, Joseph I Chamdani
  • Publication number: 20100005077
    Abstract: Embodiments of the present invention generate and optimize query plans that are at least partially executable in hardware. Upon receiving a query, the query is rewritten and optimized with a bias for hardware execution of fragments of the query. A template-based algorithm may be employed for transforming a query into fragments and then into query tasks. The various query tasks can then be routed to either a hardware accelerator, a software module, or sent back to a database management system for execution. For those tasks routed to the hardware accelerator, the query tasks are compiled into machine code database instructions.
    Type: Application
    Filed: July 7, 2008
    Publication date: January 7, 2010
    Applicant: Kickfire, Inc.
    Inventors: Ravi Krishnamurthy, Chi-Young Ku, James Shau, Chun Zhang, Kapil Surlaker, Jeremy Branscome, Michael Corwin, Joseph I. Chamdani
  • Publication number: 20090319550
    Abstract: Embodiments of the present invention provide for batch and incremental loading of data into a database. In the present invention, the loader infrastructure utilizes machine code database instructions and hardware acceleration to parallelize the load operations with the I/O operations. A large, hardware accelerator memory is used as staging cache for the load process. The load process also comprises an index profiling phase that enables balanced partitioning of the created indexes to allow for pipelined load. The online incremental loading process may also be performed while serving queries.
    Type: Application
    Filed: June 23, 2008
    Publication date: December 24, 2009
    Applicant: Kickfire, Inc.
    Inventors: James Shau, Krishnan Meiyyappan, Hung Tran, Ravi Krishnamurthy, Kapil Surlaker, Jeremy Branscome, Joseph I. Chamdani
  • Publication number: 20090254516
    Abstract: Embodiments of the present invention provide hardware-friendly indexing of databases. In particular, forward and reverse indexing are utilized to allow for easy traversal of primary key to foreign key relationships. A novel structure known as a hit list also allows for easy scanning of various indexes in hardware. Group indexing is provided for flexible support of complex group key definition, such as for date range indexing and text indexing. A Replicated Reordered Column (RRC) may also be added to the group index to convert random I/O pattern into sequential I/O of only needed column elements.
    Type: Application
    Filed: April 7, 2008
    Publication date: October 8, 2009
    Inventors: Krishnan Meiyyappan, Liuxi Yang, Jeremy Branscome, Michael Corwin, Ravi Krishnamurthy, Kapil Surlaker, James Shau, Joseph I. Chamdani
  • Publication number: 20080189251
    Abstract: Embodiments of the present invention provide processing elements that are capable of performing high level database operations in hardware based on machine code instructions. These processing elements employ a dataflow architecture that operates on data in hardware without interruption or software. A scanning/indexing processing element may comprise logic that analyze database column groups stored in local memory, perform parallel field extraction and comparison, and generates a list of row pointers (row ids or RIDs) referencing those rows whose value(s) satisfy an applied predicate. The scanning/indexing processing may also be used to project database column groups, search and join index structures, and manipulate in-flight metadata flows, composing, merging, reducing, and modifying multi-dimensional lists of intermediate and final results.
    Type: Application
    Filed: August 27, 2007
    Publication date: August 7, 2008
    Inventors: Jeremy Branscome, Michael Corwin, Liuxi Yang, James Shau, Ravi Krishnamurthy, Joseph I. Chamdani