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: 20200265491
    Abstract: 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: Application
    Filed: January 9, 2020
    Publication date: August 20, 2020
    Inventors: Jonathan H. Young, Sid Probstein, Rik Tamm-Daniels, William K. Johnson, III
  • Patent number: 9916350
    Abstract: 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: Grant
    Filed: November 28, 2016
    Date of Patent: March 13, 2018
    Inventors: Jonathan Young, John O'Neil, William K. Johnson, III, Martin Serrano, Gregory George, Udayan Das
  • Publication number: 20170193045
    Abstract: 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: Application
    Filed: November 28, 2016
    Publication date: July 6, 2017
    Inventors: Jonathan Young, John O'Neil, William K. Johnson, III, Martin Serrano, Gregory George, Udayan Das
  • Patent number: 9507824
    Abstract: 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: Grant
    Filed: August 24, 2015
    Date of Patent: November 29, 2016
    Assignee: Attivio Inc.
    Inventors: Jonathan Young, John O'Neil, William K. Johnson, III, Martin Serrano, Gregory George, Udayan Das
  • Patent number: 9367301
    Abstract: 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: Grant
    Filed: March 6, 2013
    Date of Patent: June 14, 2016
    Assignee: Attivio Inc.
    Inventors: Martin Anthony Serrano, William K. Johnson, III
  • Publication number: 20160055212
    Abstract: 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: Application
    Filed: August 22, 2014
    Publication date: February 25, 2016
    Inventors: Jonathan Young, John O'Neil, William K. Johnson, III, Martin Serrano, Gregory George
  • Publication number: 20160055205
    Abstract: 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: Application
    Filed: August 24, 2015
    Publication date: February 25, 2016
    Inventors: Young Jonathan, John O'Neil, William K. Johnson, III, Martin Serrano, Gregory George, Udayan Das
  • Patent number: 8875155
    Abstract: 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: Grant
    Filed: July 16, 2013
    Date of Patent: October 28, 2014
    Assignee: Attivio, Inc.
    Inventors: William K. Johnson, III, Martin Anthony Serrano
  • Publication number: 20140052798
    Abstract: 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: Application
    Filed: July 16, 2013
    Publication date: February 20, 2014
    Inventors: William K. Johnson, III, Martin Anthony Serrano
  • Patent number: 8495656
    Abstract: 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: Grant
    Filed: October 15, 2010
    Date of Patent: July 23, 2013
    Assignee: Attivio, Inc.
    Inventors: William K. Johnson, III, Martin Anthony Serrano
  • Publication number: 20120096475
    Abstract: 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: Application
    Filed: October 15, 2010
    Publication date: April 19, 2012
    Applicant: Attivio, Inc.
    Inventors: William K. Johnson, III, Martin Anthony Serrano