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: 11243958Abstract: 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: GrantFiled: March 2, 2016Date of Patent: February 8, 2022Assignee: Teradata US, Inc.Inventors: Xin Tang, James Shau, Robert Wehrmeister, Daniel T. Yu
-
Patent number: 10803066Abstract: 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: GrantFiled: June 29, 2011Date of Patent: October 13, 2020Assignee: 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: 20170193054Abstract: 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: ApplicationFiled: March 2, 2016Publication date: July 6, 2017Inventors: Xin Tang, James Shau, Robert Wehrmeister, Daniel S. Yu
-
Patent number: 9542442Abstract: 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: GrantFiled: April 9, 2014Date of Patent: January 10, 2017Assignee: 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: 9542426Abstract: 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: GrantFiled: December 3, 2013Date of Patent: January 10, 2017Assignee: Teradata US, Inc.Inventor: James Shau
-
Publication number: 20140324821Abstract: 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: ApplicationFiled: April 9, 2014Publication date: October 30, 2014Applicant: Teradata CorporationInventors: Krishnan Meiyyappan, Liuxi Yang, Jeremy Branscome, Michael Paul Corwin, Ravindran Krishnamurthy, Kapil Laxmikant Surlaker, James Shau, Joseph Irawan Chamdani
-
Patent number: 8862625Abstract: 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: GrantFiled: April 7, 2008Date of Patent: October 14, 2014Assignee: Teradata US, Inc.Inventors: Krishnan Meiyyappan, Liuxi Yang, Jeremy Branscome, Michael Corwin, Ravi Krishnamurthy, Kapil Surlaker, James Shau, Joseph I. Chamdani
-
Publication number: 20140281303Abstract: 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: ApplicationFiled: December 3, 2013Publication date: September 18, 2014Applicant: Teradata CorporationInventor: James Shau
-
Publication number: 20120117027Abstract: 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: ApplicationFiled: June 29, 2011Publication date: May 10, 2012Applicant: 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: 8165988Abstract: 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: GrantFiled: January 4, 2011Date of Patent: April 24, 2012Assignee: Teradata US, Inc.Inventors: James Shau, Krishnan Meiyyappan, Hung Tran, Ravi Krishnamurthy, Kapil Surlaker, Jeremy Branscome, Joseph I. Chamdani
-
Publication number: 20110099155Abstract: 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: ApplicationFiled: January 4, 2011Publication date: April 28, 2011Applicant: TERADATA US INC.Inventors: James Shau, Krishnan Meiyyappan, Hung Tran, Ravi Krishnamurthy, Kapil Surlaker, Jeremy Branscome, Joseph I. Chamdani
-
Patent number: 7895151Abstract: 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: GrantFiled: June 23, 2008Date of Patent: February 22, 2011Assignee: Teradata US, Inc.Inventors: James Shau, Krishnan Meiyyappan, Hung Tran, Ravi Krishnamurthy, Kapil Surlaker, Jeremy Branscome, Joseph I Chamdani
-
Publication number: 20100005077Abstract: 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: ApplicationFiled: July 7, 2008Publication date: January 7, 2010Applicant: Kickfire, Inc.Inventors: Ravi Krishnamurthy, Chi-Young Ku, James Shau, Chun Zhang, Kapil Surlaker, Jeremy Branscome, Michael Corwin, Joseph I. Chamdani
-
Publication number: 20090319550Abstract: 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: ApplicationFiled: June 23, 2008Publication date: December 24, 2009Applicant: Kickfire, Inc.Inventors: James Shau, Krishnan Meiyyappan, Hung Tran, Ravi Krishnamurthy, Kapil Surlaker, Jeremy Branscome, Joseph I. Chamdani
-
Publication number: 20090254516Abstract: 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: ApplicationFiled: April 7, 2008Publication date: October 8, 2009Inventors: Krishnan Meiyyappan, Liuxi Yang, Jeremy Branscome, Michael Corwin, Ravi Krishnamurthy, Kapil Surlaker, James Shau, Joseph I. Chamdani
-
Publication number: 20080189251Abstract: 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: ApplicationFiled: August 27, 2007Publication date: August 7, 2008Inventors: Jeremy Branscome, Michael Corwin, Liuxi Yang, James Shau, Ravi Krishnamurthy, Joseph I. Chamdani