Patents by Inventor David Mizell
David Mizell 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: 10846278Abstract: A system for updating an index into a tuple table of tuples is provided. An indexing system updates an index into a tuple table using fine-grain locking of the index. The index includes a values table with an entry for each index value of an index field that references a value-tuple table that includes, for each tuple with the index value, a row that identifies a tuple of the tuple table with that indexed value. After a new tuple is added to the tuple table with a value, the index is updated by locking the entry in the values table, updating the value-tuple table for the value, and then unlocking the entry. When the index is accessed for locating tuples with a value, the accessor locks the entry in the values table for the value, uses the value-tuple table to locate the tuples, and unlocks the entry.Type: GrantFiled: April 22, 2015Date of Patent: November 24, 2020Assignee: Cray Inc.Inventor: David Mizell
-
Patent number: 10789260Abstract: A method and system for identifying results of a query that includes a type predicate is provided. A search system maintains a collection of facts that includes a triple for each fact and a type table that maps entities of the facts to their corresponding type. The search system uses the type table to speed up the process of identifying the search results when the query includes a non-type query triple and a type query triple. A type query triple is a triple that has a type predicate, rather than a non-type predicate. To execute a query that contains a non-type query triple and a type query triple, the search system identifies the triples of the collection that match the non-type query triple. The search system then uses the type table to determine which of the identified triples match the type query triple for inclusion in the search results.Type: GrantFiled: April 5, 2016Date of Patent: September 29, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: David Mizell, Christopher Douglas Rickett, Andrew Steven Kopser
-
Patent number: 10296834Abstract: A method and system for inferring facts in parallel in a multiprocessor computing environment is provided. An inference system infers facts by applying rules to a collection of existing facts. For each existing fact, the inference system schedules a thread to apply the rules to that existing fact. As a thread infers a new fact (i.e., one that is not already in the collection of facts), the thread adds that inferred fact to the collection of facts. When a thread adds a new fact to the collection, the thread also applies the rules to that new fact. After the threads complete execution, the inference system may apply the rules to the facts of the collection, including the newly inferred facts, by again launching a thread for each fact to apply the rules to that fact. The inference system performs this processing iteratively until a termination condition is satisfied.Type: GrantFiled: August 13, 2014Date of Patent: May 21, 2019Assignee: Cray, Inc.Inventors: David Mizell, Christopher Douglas Rickett
-
Publication number: 20160217189Abstract: A method and system for identifying results of a query that includes a type predicate is provided. A search system maintains a collection of facts that includes a triple for each fact and a type table that maps entities of the facts to their corresponding type. The search system uses the type table to speed up the process of identifying the search results when the query includes a non-type query triple and a type query triple. A type query triple is a triple that has a type predicate, rather than a non-type predicate. To execute a query that contains a non-type query triple and a type query triple, the search system identifies the triples of the collection that match the non-type query triple. The search system then uses the type table to determine which of the identified triples match the type query triple for inclusion in the search results.Type: ApplicationFiled: April 5, 2016Publication date: July 28, 2016Inventors: David Mizell, Christopher Douglas Rickett, Andrew Steven Kopser
-
Patent number: 9372938Abstract: A method and system for identifying results of a query that includes a type predicate is provided. A search system maintains a collection of facts that includes a triple for each fact and a type table that maps entities of the facts to their corresponding type. The search system uses the type table to speed up the process of identifying the search results when the query includes a non-type query triple and a type query triple. A type query triple is a triple that has a type predicate, rather than a non-type predicate. To execute a query that contains a non-type query triple and a type query triple, the search system identifies the triples of the collection that match the non-type query triple. The search system then uses the type table to determine which of the identified triples match the type query triple for inclusion in the search results.Type: GrantFiled: June 21, 2012Date of Patent: June 21, 2016Assignee: Cray Inc.Inventors: David Mizell, Christopher D. Rickett, Andrew S. Kopser
-
Patent number: 9311731Abstract: A method and system in a computer system for dynamically providing a graphical representation of a data store of entries via a matrix interface is disclosed. A dynamic graph system provides a matrix interface that exposes to an application program a graphical representation of data stored in a data store such as a semantic database storing triples. To the application program, the matrix interface represents the graph as a sparse adjacency matrix that is stored in compressed form. Each entry of the data store is considered to represent a link between nodes of the graph. Each entry has a first field and a second field identifying the nodes connected by the link and a third field with a value for the link that connects the identified nodes. The first, second, and third fields represent the rows, column, and elements of the adjacency matrix.Type: GrantFiled: December 15, 2014Date of Patent: April 12, 2016Assignee: Cray Inc.Inventor: David Mizell
-
Patent number: 9201689Abstract: A method and system for software emulation of hardware support for multi-threaded processing using virtual hardware threads is provided. A software threading system executes on a node that has one or more processors, each with one or more hardware threads. The node has access to local memory and access to remote memory. The software threading system manages the execution of tasks of a user program. The software threading system switches between the virtual hardware threads representing the tasks as the tasks issue remote memory access requests while in user privilege mode. Thus, the software threading system emulates more hardware threads than the underlying hardware supports and switches the virtual hardware threads without the overhead of a context switch to the operating system or change in privilege mode.Type: GrantFiled: April 22, 2011Date of Patent: December 1, 2015Assignee: Cray Inc.Inventors: Steven L. Scott, Gregory B. Titus, Sung-Eun Choi, Troy A. Johnson, David Mizell, Michael F. Ringenburg, Karlon West
-
Publication number: 20150227570Abstract: A system for updating an index into a tuple table of tuples is provided. An indexing system updates an index into a tuple table using fine-grain locking of the index. The index includes a values table with an entry for each index value of an index field that references a value-tuple table that includes, for each tuple with the index value, a row that identifies a tuple of the tuple table with that indexed value. After a new tuple is added to the tuple table with a value, the index is updated by locking the entry in the values table, updating the value-tuple table for the value, and then unlocking the entry. When the index is accessed for locating tuples with a value, the accessor locks the entry in the values table for the value, uses the value-tuple table to locate the tuples, and unlocks the entry.Type: ApplicationFiled: April 22, 2015Publication date: August 13, 2015Inventor: David Mizell
-
Patent number: 9047333Abstract: A system for updating an index into a tuple table of tuples is provided. An indexing system updates an index into a tuple table using fine-grain locking of the index. The index includes a values table with an entry for each index value of an index field that references a value-tuple table that includes, for each tuple with the index value, a row that identifies a tuple of the tuple table with that indexed value. After a new tuple is added to the tuple table with a value, the index is updated by locking the entry in the values table, updating the value-tuple table for the value, and then unlocking the entry. When the index is accessed for locating tuples with a value, the accessor locks the entry in the values table for the value, uses the value-tuple table to locate the tuples, and unlocks the entry.Type: GrantFiled: September 20, 2012Date of Patent: June 2, 2015Assignee: Cray IncInventor: David Mizell
-
Publication number: 20150138206Abstract: A method and system in a computer system for dynamically providing a graphical representation of a data store of entries via a matrix interface is disclosed. A dynamic graph system provides a matrix interface that exposes to an application program a graphical representation of data stored in a data store such as a semantic database storing triples. To the application program, the matrix interface represents the graph as a sparse adjacency matrix that is stored in compressed form. Each entry of the data store is considered to represent a link between nodes of the graph. Each entry has a first field and a second field identifying the nodes connected by the link and a third field with a value for the link that connects the identified nodes. The first, second, and third fields represent the rows, column, and elements of the adjacency matrix.Type: ApplicationFiled: December 15, 2014Publication date: May 21, 2015Inventor: David Mizell
-
Patent number: 8943068Abstract: A method and system in a computer system for dynamically providing a graphical representation of a data store of entries via a matrix interface is disclosed. A dynamic graph system provides a matrix interface that exposes to an application program a graphical representation of data stored in a data store such as a semantic database storing triples. To the application program, the matrix interface represents the graph as a sparse adjacency matrix that is stored in compressed form. Each entry of the data store is considered to represent a link between nodes of the graph. Each entry has a first field and a second field identifying the nodes connected by the link and a third field with a value for the link that connects the identified nodes. The first, second, and third fields represent the rows, column, and elements of the adjacency matrix.Type: GrantFiled: February 26, 2013Date of Patent: January 27, 2015Assignee: Cray IncInventor: David Mizell
-
Publication number: 20140351195Abstract: A method and system for inferring facts in parallel in a multiprocessor computing environment is provided. An inference system infers facts by applying rules to a collection of existing facts. For each existing fact, the inference system schedules a thread to apply the rules to that existing fact. As a thread infers a new fact (i.e., one that is not already in the collection of facts), the thread adds that inferred fact to the collection of facts. When a thread adds a new fact to the collection, the thread also applies the rules to that new fact. After the threads complete execution, the inference system may apply the rules to the facts of the collection, including the newly inferred facts, by again launching a thread for each fact to apply the rules to that fact. The inference system performs this processing iteratively until a termination condition is satisfied.Type: ApplicationFiled: August 13, 2014Publication date: November 27, 2014Inventors: David Mizell, Christopher Douglas Rickett
-
Publication number: 20140280282Abstract: A method and system for interfacing SPARQL front ends of SPARQL systems to a non-SPARQL system is provided. A translated SPARQL (“tSPARQL”) system inputs a translated SPARQL query, generates commands for a non-SPARQL system based on the tSPARQL query, and provides those commands to the non-SPARQL system for executing the SPARQL query corresponding to the tSPARQL query. The tSPARQL system translates the tSPARQL query into commands that are provided to a non-SPARQL query engine for executing the SPARQL query represented by the tSPARQL query. When the tSPARQL system receives results of the commands, it provides the results to the SPARQL front end.Type: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Applicant: CRAY INC.Inventor: David Mizell
-
Patent number: 8832014Abstract: A method and system for inferring facts in parallel in a multiprocessor computing environment is provided. An inference system infers facts by applying rules to a collection of existing facts. For each existing fact, the inference system schedules a thread to apply the rules to that existing fact. As a thread infers a new fact (i.e., one that is not already in the collection of facts), the thread adds that inferred fact to the collection of facts. When a thread adds a new fact to the collection, the thread also applies the rules to that new fact. After the threads complete execution, the inference system may apply the rules to the facts of the collection, including the newly inferred facts, by again launching a thread for each fact to apply the rules to that fact. The inference system performs this processing iteratively until a termination condition is satisfied.Type: GrantFiled: June 21, 2012Date of Patent: September 9, 2014Assignee: Cray Inc.Inventors: David Mizell, Christopher D. Rickett
-
Publication number: 20140244657Abstract: A method and system in a computer system for dynamically providing a graphical representation of a data store of entries via a matrix interface is disclosed. A dynamic graph system provides a matrix interface that exposes to an application program a graphical representation of data stored in a data store such as a semantic database storing triples. To the application program, the matrix interface represents the graph as a sparse adjacency matrix that is stored in compressed form. Each entry of the data store is considered to represent a link between nodes of the graph. Each entry has a first field and a second field identifying the nodes connected by the link and a third field with a value for the link that connects the identified nodes. The first, second, and third fields represent the rows, column, and elements of the adjacency matrix.Type: ApplicationFiled: February 26, 2013Publication date: August 28, 2014Applicant: CRAY INC.Inventor: David Mizell
-
Publication number: 20140081934Abstract: A system for updating an index into a tuple table of tuples is provided. An indexing system updates an index into a tuple table using fine-grain locking of the index. The index includes a values table with an entry for each index value of an index field that references a value-tuple table that includes, for each tuple with the index value, a row that identifies a tuple of the tuple table with that indexed value. After a new tuple is added to the tuple table with a value, the index is updated by locking the entry in the values table, updating the value-tuple table for the value, and then unlocking the entry. When the index is accessed for locating tuples with a value, the accessor locks the entry in the values table for the value, uses the value-tuple table to locate the tuples, and unlocks the entry.Type: ApplicationFiled: September 20, 2012Publication date: March 20, 2014Applicant: CRAY INC.Inventor: David Mizell
-
Publication number: 20130346354Abstract: A method and system for inferring facts in parallel in a multiprocessor computing environment is provided. An inference system infers facts by applying rules to a collection of existing facts. For each existing fact, the inference system schedules a thread to apply the rules to that existing fact. As a thread infers a new fact (i.e., one that is not already in the collection of facts), the thread adds that inferred fact to the collection of facts. When a thread adds a new fact to the collection, the thread also applies the rules to that new fact. After the threads complete execution, the inference system may apply the rules to the facts of the collection, including the newly inferred facts, by again launching a thread for each fact to apply the rules to that fact. The inference system performs this processing iteratively until a termination condition is satisfied.Type: ApplicationFiled: June 21, 2012Publication date: December 26, 2013Inventors: David Mizell, Christopher D. Rickett
-
Publication number: 20130346445Abstract: A method and system for identifying results of a query that includes a type predicate is provided. A search system maintains a collection of facts that includes a triple for each fact and a type table that maps entities of the facts to their corresponding type. The search system uses the type table to speed up the process of identifying the search results when the query includes a non-type query triple and a type query triple. A type query triple is a triple that has a type predicate, rather than a non-type predicate. To execute a query that contains a non-type query triple and a type query triple, the search system identifies the triples of the collection that match the non-type query triple. The search system then uses the type table to determine which of the identified triples match the type query triple for inclusion in the search results.Type: ApplicationFiled: June 21, 2012Publication date: December 26, 2013Inventors: David Mizell, Christopher D. Rickett, Andrew S. Kopser
-
Publication number: 20120272247Abstract: A method and system for software emulation of hardware support for multi-threaded processing using virtual hardware threads is provided. A software threading system executes on a node that has one or more processors, each with one or more hardware threads. The node has access to local memory and access to remote memory. The software threading system manages the execution of tasks of a user program. The software threading system switches between the virtual hardware threads representing the tasks as the tasks issue remote memory access requests while in user privilege mode. Thus, the software threading system emulates more hardware threads than the underlying hardware supports and switches the virtual hardware threads without the overhead of a context switch to the operating system or change in privilege mode.Type: ApplicationFiled: April 22, 2011Publication date: October 25, 2012Inventors: Steven L. Scott, Gregory B. Titus, Sung-Eun Choi, Troy A. Johnson, David Mizell, Michael F. Ringenburg, Karlon West