Patents Assigned to LogicBlox, Inc.
  • Patent number: 10204126
    Abstract: An aspect includes concurrently executing two or more transactions over a database. A plurality of transactions is executed in parallel while recording each transaction's sensitivities and output deltas. A sensitivity of a transaction identifies an aspect of a database state whose modification has a potential of altering an output of the transaction, and an output delta of the transaction indicates a change to the database state that is a result of the transaction being executed. The output deltas are fed from a first transaction through a filter for a second transaction. The filter is based on the second transaction's sensitivities. The filtered deltas are processed in the second transaction to incrementally compute revised deltas and sensitivities for the second transaction. For each transaction that successfully commits, the transaction's deltas are applied to update the database.
    Type: Grant
    Filed: March 19, 2015
    Date of Patent: February 12, 2019
    Assignee: LogicBlox, Inc.
    Inventor: Todd L. Veldhuizen
  • Patent number: 10120906
    Abstract: A method for joining records from database tables is proposed. Join attributes are ordered into a sequence S0, and a scope C is initialized to empty. Tables including a join attribute A that is first in S0 are identified. A new sequence S? omits A from S0. Iteration through each identified table proceeds in join attribute A order. The iteration utilizes a tree index structure for each identified table where the index key includes all join attributes in the identified table in S0 order. For each matched value v of the join attribute located during the iterating, a new scope Cv is created by appending “A=v” to the scope C. If S? is empty, a tuple corresponding to the scope Cv is output. Otherwise, S0 is set to S? and for each scope Cv, C is set to Cv and the steps beginning with the identifying step are recursively invoked.
    Type: Grant
    Filed: October 21, 2015
    Date of Patent: November 6, 2018
    Assignee: LogicBlox, Inc.
    Inventor: Todd L. Veldhuizen
  • Patent number: 9779137
    Abstract: Salient sampling for query size estimation includes identifying two or more columns in a database table that have corresponding columns in one or more other tables. One or more hash functions are applied to domains of each of the identified columns. A first hash function is applied to a domain of the first column and a second hash function to a domain of the second column. A subset of the rows in the database table is selected. The selecting includes selecting rows in the database table where results of the first hash function meet a first numeric threshold and selecting rows in the database table where results of the second hash function meet a second numeric threshold. A sample database table corresponding to the database table is created. The sample database table includes the selected subset of the rows in the database table.
    Type: Grant
    Filed: June 6, 2014
    Date of Patent: October 3, 2017
    Assignee: LOGICBLOX INC.
    Inventor: Todd L. Veldhuizen
  • Patent number: 9424304
    Abstract: An aspect includes a method for maintaining active queries. The method includes executing a query based on data items in at least two relations in a database. The executing includes outputting a query result and control information associated with the query. The query result and the control information are recorded. A notification that at least one of the data items has been updated subsequent to the executing is received. The query result is modified, responsive to the control information, to reflect the data items that were updated subsequent to the executing.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: August 23, 2016
    Assignee: LOGICBLOX, INC.
    Inventor: Todd L. Veldhuizen
  • Patent number: 9177026
    Abstract: A method for joining records from database tables is proposed. Join attributes are ordered into a sequence S0, and a scope C is initialized to empty. Tables including a join attribute A that is first in S0 are identified. A new sequence S? omits A from S0. Iteration through each identified table proceeds in join attribute A order. The iteration utilizes a tree index structure for each identified table where the index key includes all join attributes in the identified table in S0 order. For each matched value v of the join attribute located during the iterating, a new scope Cv is created by appending “A=v” to the scope C. If S? is empty, a tuple corresponding to the scope Cv is output. Otherwise, S0 is set to S? and for each scope Cv, C is set to Cv and the steps beginning with the identifying step are recursively invoked.
    Type: Grant
    Filed: September 5, 2013
    Date of Patent: November 3, 2015
    Assignee: LogicBlox, Inc.
    Inventor: Todd L. Veldhuizen
  • Publication number: 20140181081
    Abstract: An aspect includes a method for maintaining active queries. The method includes executing a query based on data items in at least two relations in a database. The executing includes outputting a query result and control information associated with the query. The query result and the control information are recorded. A notification that at least one of the data items has been updated subsequent to the executing is received. The query result is modified, responsive to the control information, to reflect the data items that were updated subsequent to the executing.
    Type: Application
    Filed: December 20, 2012
    Publication date: June 26, 2014
    Applicant: LogicBlox, Inc.
    Inventor: Todd L. Veldhuizen
  • Publication number: 20140089292
    Abstract: A method for joining records from database tables is proposed. Join attributes are ordered into a sequence S0, and a scope C is initialized to empty. Tables including a join attribute A that is first in S0 are identified. A new sequence S? omits A from S0. Iteration through each identified table proceeds in join attribute A order. The iteration utilizes a tree index structure for each identified table where the index key includes all join attributes in the identified table in S0 order. For each matched value v of the join attribute located during the iterating, a new scope Cv is created by appending “A=v” to the scope C. If S? is empty, a tuple corresponding to the scope Cv is output. Otherwise, S0 is set to S? and for each scope Cv, C is set to Cv and the steps beginning with the identifying step are recursively invoked.
    Type: Application
    Filed: September 5, 2013
    Publication date: March 27, 2014
    Applicant: LogicBlox, Inc.
    Inventor: Todd L. Veldhuizen