Patents by Inventor William K. Johnson, III
William K. Johnson, III 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).
-
Publication number: 20200265491Abstract: Documents and data are analyzed to determine one or more data facets. The documents, data and other information contained therein may be presented according to statistically-determined groupings based on the data facets.Type: ApplicationFiled: January 9, 2020Publication date: August 20, 2020Inventors: Jonathan H. Young, Sid Probstein, Rik Tamm-Daniels, William K. Johnson, III
-
Patent number: 9916350Abstract: A computer system processes a plurality of unrelated database tables to create a join graph where each node in the join graph represents a table. The nodes in the join graph are connected by weighted, directed edges, where each directed edge represents a join from a first column in a first table to a second column in a second table and where the weight of the directed edge represents a predicted level of success in performing the join. The edge weights can be based on a likelihood of finding a value from the first column in the second column. A user selects a subset of the tables, and the system creates a join tree with recommended joins between the tables selected by the user. The recommended joins are used to create a structured query language statement which is executed to return a result to the user.Type: GrantFiled: November 28, 2016Date of Patent: March 13, 2018Inventors: Jonathan Young, John O'Neil, William K. Johnson, III, Martin Serrano, Gregory George, Udayan Das
-
Publication number: 20170193045Abstract: A computer system processes a plurality of unrelated database tables to create a join graph where each node in the join graph represents a table. The nodes in the join graph are connected by weighted, directed edges, where each directed edge represents a join from a first column in a first table to a second column in a second table and where the weight of the directed edge represents a predicted level of success in performing the join. The edge weights can be based on a likelihood of finding a value from the first column in the second column. A user selects a subset of the tables, and the system creates a join tree with recommended joins between the tables selected by the user. The recommended joins are used to create a structured query language statement which is executed to return a result to the user.Type: ApplicationFiled: November 28, 2016Publication date: July 6, 2017Inventors: Jonathan Young, John O'Neil, William K. Johnson, III, Martin Serrano, Gregory George, Udayan Das
-
Patent number: 9507824Abstract: A computer system processes a plurality of unrelated database tables to create a join graph where each node in the join graph represents a table. The nodes in the join graph are connected by weighted, directed edges, where each directed edge represents a join from a first column in a first table to a second column in a second table and where the weight of the directed edge represents a predicted level of success in performing the join. The edge weights can be based on a likelihood of finding a value from the first column in the second column. A user selects a subset of the tables, and the system creates a join tree with recommended joins between the tables selected by the user. The recommended joins are used to create a structured query language statement which is executed to return a result to the user.Type: GrantFiled: August 24, 2015Date of Patent: November 29, 2016Assignee: Attivio Inc.Inventors: Jonathan Young, John O'Neil, William K. Johnson, III, Martin Serrano, Gregory George, Udayan Das
-
Patent number: 9367301Abstract: A distributed system with multiple nodes, each of which processes input data streams according to a set of independent, asynchronous processing components connected in a manner represented by a directed graph, is dynamically updated. Such a dynamic update occurs while the system is processing input data by pausing the input data stream, making changes to the system configuration, and then restarting the input data stream. If the update fails for any reason, the system configuration is rolled back to its prior state.Type: GrantFiled: March 6, 2013Date of Patent: June 14, 2016Assignee: Attivio Inc.Inventors: Martin Anthony Serrano, William K. Johnson, III
-
Publication number: 20160055212Abstract: A computer system processes arbitrary data sets to identify fields of data that can be the basis of a join operation. Each data set has a plurality of entries, with each entry having a plurality of fields. For each pair of data sets, the computer system compares the values of fields in a first data set in the pair of data sets to the values of fields in a second data set in the pair of data sets, to identify fields having substantially similar sets of values. Given pairs of fields that have similar sets of values, the computer system measures entropy with respect to an intersection of the sets of values of the pair of fields. The computer system can recommend fields for a join operation between any pair of data sets in the plurality of data sets based on such statistical measures.Type: ApplicationFiled: August 22, 2014Publication date: February 25, 2016Inventors: Jonathan Young, John O'Neil, William K. Johnson, III, Martin Serrano, Gregory George
-
Publication number: 20160055205Abstract: A computer system processes a plurality of unrelated database tables to create a join graph where each node in the join graph represents a table. The nodes in the join graph are connected by weighted, directed edges, where each directed edge represents a join from a first column in a first table to a second column in a second table and where the weight of the directed edge represents a predicted level of success in performing the join. The edge weights can be based on a likelihood of finding a value from the first column in the second column. A user selects a subset of the tables, and the system creates a join tree with recommended joins between the tables selected by the user. The recommended joins are used to create a structured query language statement which is executed to return a result to the user.Type: ApplicationFiled: August 24, 2015Publication date: February 25, 2016Inventors: Young Jonathan, John O'Neil, William K. Johnson, III, Martin Serrano, Gregory George, Udayan Das
-
Patent number: 8875155Abstract: A data flow processing system represents processing by a directed graph including processing nodes that generate, and process, groups of dependent messages and that can process such groups of messages in order. To identify a group of messages, the system applies message identifiers to messages. Processing of a message may generate child messages. A child message is assigned a message identifier that incorporates the message identifier of the parent message. The message identifier of the parent message is annotated to indicate the number of related child messages. The processing node maintains a buffer to store messages in the group. When a message is received, its message identifier indicates whether it is in a group and information about the group. From this information the processing node determines whether all messages within the group have been received, at which time the processing node can process the messages in order.Type: GrantFiled: July 16, 2013Date of Patent: October 28, 2014Assignee: Attivio, Inc.Inventors: William K. Johnson, III, Martin Anthony Serrano
-
Publication number: 20140052798Abstract: A data flow processing system represents processing by a directed graph including processing nodes that generate, and process, groups of dependent messages and that can process such groups of messages in order. To identify a group of messages, the system applies message identifiers to messages. Processing of a message may generate child messages. A child message is assigned a message identifier that incorporates the message identifier of the parent message. The message identifier of the parent message is annotated to indicate the number of related child messages. The processing node maintains a buffer to store messages in the group. When a message is received, its message identifier indicates whether it is in a group and information about the group. From this information the processing node determines whether all messages within the group have been received, at which time the processing node can process the messages in order.Type: ApplicationFiled: July 16, 2013Publication date: February 20, 2014Inventors: William K. Johnson, III, Martin Anthony Serrano
-
Patent number: 8495656Abstract: A highly parallel, asynchronous data flow processing system in which processing is represented by a directed graph model, can include processing nodes that generate, and process, groups of dependent messages and that process messages within such groups in order. Other messages can be processed in whatever order they are received by a processing node. To identify a group of dependent messages, message identifiers are applied to a message. Processing of a message may generate child messages. A child message is assigned a message identifier that incorporates the associated message identifier of the parent message. The message identifier of the parent message is annotated to indicate the number of related child messages. When a group of messages is to be processed by a processing node in order, the processing node maintains a buffer in which messages in the group are stored.Type: GrantFiled: October 15, 2010Date of Patent: July 23, 2013Assignee: Attivio, Inc.Inventors: William K. Johnson, III, Martin Anthony Serrano
-
Publication number: 20120096475Abstract: A highly parallel, asynchronous data flow processing system in which processing is represented by a directed graph model, can include processing nodes that generate, and process, groups of dependent messages and that process messages within such groups in order. Other messages can be processed in whatever order they are received by a processing node. To identify a group of dependent messages, message identifiers are applied to a message. Processing of a message may generate child messages. A child message is assigned a message identifier that incorporates the associated message identifier of the parent message. The message identifier of the parent message is annotated to indicate the number of related child messages. When a group of messages is to be processed by a processing node in order, the processing node maintains a buffer in which messages in the group are stored.Type: ApplicationFiled: October 15, 2010Publication date: April 19, 2012Applicant: Attivio, Inc.Inventors: William K. Johnson, III, Martin Anthony Serrano