Patents by Inventor Julian Dolby

Julian Dolby 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: 10360262
    Abstract: Various embodiments of the invention relate to optimizing storage of schema-less data. At least one of a schema-less dataset including a plurality of resources one or more query workloads associated with the plurality of resources is received. Each resource is associated with at least a plurality of properties. At least one set of co-occurring properties from the plurality of properties is identified. A graph including a plurality of nodes is generated. Each of the nodes represents a unique property in the set of co-occurring properties. The graph further includes an edge connecting each node representing a pair of co-occurring properties. A schema is generated based on the graph that assigns a column identifier from a table to each unique property represented by one of the nodes in the graph.
    Type: Grant
    Filed: June 23, 2017
    Date of Patent: July 23, 2019
    Assignee: International Business Machines Corporation
    Inventors: Mihaela Ancuta Bornea, Julian Dolby, Achille Belly Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
  • Patent number: 9785673
    Abstract: Systems and methods for optimizing a query, and more particularly, systems and methods for finding optimal plans for graph queries by casting the task of finding the optimal plan as an integer programming (ILP) problem. A method for optimizing a query, comprises building a data structure for a query, the data structure including a plurality of components, wherein each of the plurality of components corresponds to at least one graph pattern, determining a plurality of flows of query variables between the plurality of components, and determining a combination of the plurality of flows between the plurality of components that results in a minimum cost to execute the query.
    Type: Grant
    Filed: June 29, 2016
    Date of Patent: October 10, 2017
    Assignee: International Business Machines Corporation
    Inventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
  • Patent number: 9715560
    Abstract: Various embodiments of the invention relate to optimizing storage of schema-less data. At least one of a schema-less dataset including a plurality of resources one or more query workloads associated with the plurality of resources is received. Each resource is associated with at least a plurality of properties. At least one set of co-occurring properties from the plurality of properties is identified. A graph including a plurality of nodes is generated. Each of the nodes represents a unique property in the set of co-occurring properties. The graph further includes an edge connecting each node representing a pair of co-occurring properties. A schema is generated based on the graph that assigns a column identifier from a table to each unique property represented by one of the nodes in the graph.
    Type: Grant
    Filed: June 27, 2013
    Date of Patent: July 25, 2017
    Assignee: International Business Machines Corporation
    Inventors: Mihaela Ancuta Bornea, Julian Dolby, Achille Belly Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
  • Publication number: 20160306850
    Abstract: Systems and methods for optimizing a query, and more particularly, systems and methods for finding optimal plans for graph queries by casting the task of finding the optimal plan as an integer programming (ILP) problem. A method for optimizing a query, comprises building a data structure for a query, the data structure including a plurality of components, wherein each of the plurality of components corresponds to at least one graph pattern, determining a plurality of flows of query variables between the plurality of components, and determining a combination of the plurality of flows between the plurality of components that results in a minimum cost to execute the query.
    Type: Application
    Filed: June 29, 2016
    Publication date: October 20, 2016
    Inventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
  • Patent number: 9471635
    Abstract: Systems and methods for optimizing a query, and more particularly, systems and methods for finding optimal plans for graph queries by casting the task of finding the optimal plan as an integer programming (ILP) problem. A method for optimizing a query, comprises building a data structure for a query, the data structure including a plurality of components, wherein each of the plurality of components corresponds to at least one graph pattern, determining a plurality of flows of query variables between the plurality of components, and determining a combination of the plurality of flows between the plurality of components that results in a minimum cost to execute the query.
    Type: Grant
    Filed: January 12, 2016
    Date of Patent: October 18, 2016
    Assignee: International Business Machines Corporation
    Inventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
  • Patent number: 9471636
    Abstract: Systems and methods for optimizing a query, and more particularly, systems and methods for finding optimal plans for graph queries by casting the task of finding the optimal plan as an integer programming (ILP) problem. A method for optimizing a query, comprises building a data structure for a query, the data structure including a plurality of components, wherein each of the plurality of components corresponds to at least one graph pattern, determining a plurality of flows of query variables between the plurality of components, and determining a combination of the plurality of flows between the plurality of components that results in a minimum cost to execute the query.
    Type: Grant
    Filed: January 12, 2016
    Date of Patent: October 18, 2016
    Assignee: International Business Machines Corporation
    Inventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
  • Publication number: 20160154849
    Abstract: Systems and methods for optimizing a query, and more particularly, systems and methods for finding optimal plans for graph queries by casting the task of finding the optimal plan as an integer programming (ILP) problem. A method for optimizing a query, comprises building a data structure for a query, the data structure including a plurality of components, wherein each of the plurality of components corresponds to at least one graph pattern, determining a plurality of flows of query variables between the plurality of components, and determining a combination of the plurality of flows between the plurality of components that results in a minimum cost to execute the query.
    Type: Application
    Filed: January 12, 2016
    Publication date: June 2, 2016
    Inventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
  • Publication number: 20160154850
    Abstract: Systems and methods for optimizing a query, and more particularly, systems and methods for finding optimal plans for graph queries by casting the task of finding the optimal plan as an integer programming (ILP) problem. A method for optimizing a query, comprises building a data structure for a query, the data structure including a plurality of components, wherein each of the plurality of components corresponds to at least one graph pattern, determining a plurality of flows of query variables between the plurality of components, and determining a combination of the plurality of flows between the plurality of components that results in a minimum cost to execute the query.
    Type: Application
    Filed: January 12, 2016
    Publication date: June 2, 2016
    Inventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
  • Patent number: 9280584
    Abstract: Systems and methods for optimizing a query, and more particularly, systems and methods for finding optimal plans for graph queries by casting the task of finding the optimal plan as an integer programming (ILP) problem. A method for optimizing a query, comprises building a data structure for a query, the data structure including a plurality of components, wherein each of the plurality of components corresponds to at least one graph pattern, determining a plurality of flows of query variables between the plurality of components, and determining a combination of the plurality of flows between the plurality of components that results in a minimum cost to execute the query.
    Type: Grant
    Filed: November 25, 2013
    Date of Patent: March 8, 2016
    Assignee: International Business Machines Corporation
    Inventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
  • Patent number: 9135147
    Abstract: A novel system, computer program product, and method are disclosed for feedback-directed automated test generation for programs, such as JavaScript, in which execution is monitored to collect information that directs the test generator towards inputs that yield increased coverage. Several instantiations of the framework are implemented, corresponding to variations on feedback-directed random testing, in a tool called Artemis.
    Type: Grant
    Filed: April 26, 2012
    Date of Patent: September 15, 2015
    Assignee: International Business Machines Corporation
    Inventors: Shay Artzi, Julian Dolby, Salvatore A. Guarnieri, Simon H. Jensen, Marco Pistoia, Manu Sridharan, Frank Tip, Omer Tripp
  • Publication number: 20150149440
    Abstract: Systems and methods for optimizing a query, and more particularly, systems and methods for finding optimal plans for graph queries by casting the task of finding the optimal plan as an integer programming (ILP) problem. A method for optimizing a query, comprises building a data structure for a query, the data structure including a plurality of components, wherein each of the plurality of components corresponds to at least one graph pattern, determining a plurality of flows of query variables between the plurality of components, and determining a combination of the plurality of flows between the plurality of components that results in a minimum cost to execute the query.
    Type: Application
    Filed: November 25, 2013
    Publication date: May 28, 2015
    Applicant: International Business Machines Corporation
    Inventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
  • Patent number: 9043761
    Abstract: Disclosed is a novel computer implemented system, on demand service, computer program product and a method that leverages combined concrete and symbolic execution and several fault-localization techniques to automatically detects failures and localizes faults in PHP Hypertext Preprocessor (“PHP”) Web applications.
    Type: Grant
    Filed: September 1, 2010
    Date of Patent: May 26, 2015
    Assignee: International Business Machines Corporation
    Inventors: Shay Artzi, Julian Dolby, Marco Pistoia, Frank Tip
  • Patent number: 8955139
    Abstract: A method, an apparatus, and a computer program product are disclosed that include tracking, using a data flow model of a program suitable for taint analysis of the program, information from sources of taint to entities in a heap using a model of the heap based on the program. The tracking is performed so that the information is relevant for taint propagation and is performed in a manner that is field-sensitive for the entities in the heap. The method, apparatus, and computer program product also include, based on output of the tracking, the operation of performing data-flow analysis to determine taint flow from the sources of the taint through data flow paths to sinks using the taint.
    Type: Grant
    Filed: November 9, 2012
    Date of Patent: February 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: Julian Dolby, Salvatore A. Guarnieri, Marco Pistoia, Omer Tripp
  • Patent number: 8943478
    Abstract: The present invention provides a system, computer program product and a computer implemented method for prioritizing code fragments based on the use of a software oracle and on a correlation between the executed code fragments and the output they produce. Also described is a computer-implemented method generates additional user inputs based on execution information associated with path constraints and based on information from the oracle. Advantageously, the embodiment is useful in a test generation tool that generated many similar inputs when a failure-inducing input is found, in order to enhance fault localization. Further, described is a computer-implemented flow for extending the existing idea of concolic testing to applications that interact with persistent state.
    Type: Grant
    Filed: July 14, 2009
    Date of Patent: January 27, 2015
    Assignee: International Business Machines Corporation
    Inventors: Shay Artzi, Julian Dolby, Frank Tip
  • Patent number: 8918434
    Abstract: Various embodiments of the invention relate to optimizing storage of schema-less data. A schema-less dataset including a plurality of resources is received. Each resource is associated with at least a plurality of properties. At least one set of co-occurring properties from the plurality of properties is identified. A graph including a plurality of nodes is generated. Each of the nodes represents a unique property in the set of co-occurring properties. The graph further includes an edge connecting each node representing a pair of co-occurring properties. A graph coloring operation is performed on the graph. The graph coloring operation includes assigning each of nodes to a color, where nodes connected by an edge are assigned different colors. A schema is generated that assigns a column identifier from a table to each unique property represented by one of the nodes in the graph based on the color assigned to the node.
    Type: Grant
    Filed: April 24, 2012
    Date of Patent: December 23, 2014
    Assignee: International Business Machines Corporation
    Inventors: Bishwaranjan Bhattacharjee, Mihaela Ancuta Bornea, Patrick Dantressangle, Julian Dolby, Kavitha Srinivas, Octavian Udrea
  • Patent number: 8869127
    Abstract: Disclosed is a novel computer implemented system, on demand service, computer program product and a method that provides a set of lock usages that improves concurrency resulting in execution performance of the software application by reducing lock contention through refactoring. More specifically, disclosed is a method to refactor a software application. The method starts with accessing at least a portion of a software application that can execute in an operating environment where there are more two or more threads of execution. Next, a determination is made if there is at least one lock used in the software application to enforce limits on accessing a resource. In response to determining that there is a lock with a first type of construct with a given set of features, the software application is refactored with the lock to preserve behavior of the software application.
    Type: Grant
    Filed: January 3, 2011
    Date of Patent: October 21, 2014
    Assignee: International Business Machines Corporation
    Inventors: Julian Dolby, Manu Sridharan, Frank Tip, Max Schaefer
  • Patent number: 8694971
    Abstract: A novel system, computer program product, and method are disclosed for transforming a program to facilitate points-to analysis. The method begins with accessing at least a portion of program code, such as JavaScript. In one example, a method with at least one dynamic property correlation is identified for extraction. When a method m is identified for extraction with the dynamic property correlation, a body of the loop l in the method m is extracted. A new method mp is created to include the body of the loop l with the variable i as a parameter. The loop l is substituted in the program code of the method m with the new method mp to create a transformed program code.
    Type: Grant
    Filed: October 5, 2011
    Date of Patent: April 8, 2014
    Assignee: International Business Machines Corporation
    Inventors: Satish Chandra, Julian Dolby, Manu Sridharan, Frank Tip
  • Patent number: 8689191
    Abstract: Automated refactorings as implemented in modern IDEs for Java usually make no special provisions for concurrent code. Thus, refactored programs may exhibit unexpected new concurrent behaviors. We analyze the types of such behavioral changes caused by current refactoring engines and develop techniques to make them behavior-preserving, ranging from simple techniques to deal with concurrency-related language constructs to a framework that computes and tracks synchronization dependencies. By basing our development directly on the Java Memory Model we can state and prove precise correctness results about refactoring concurrent programs. We show that a broad range of refactorings are not influenced by concurrency at all, whereas other important refactorings can be made behavior-preserving for correctly synchronized programs by using our framework. Experience with a prototype implementation shows that our techniques are easy to implement and require only minimal changes to existing refactoring engines.
    Type: Grant
    Filed: March 5, 2010
    Date of Patent: April 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: Julian Dolby, Max Schaefer, Manu Sridharan, Frank Tip, Emina Torlak
  • Patent number: 8578342
    Abstract: The present invention provides a system, computer program product and a computer implemented method for prioritizing code fragments based on the use of a software oracle and on a correlation between the executed code fragments and the output they produce. Also described is a computer-implemented method generates additional user inputs based on execution information associated with path constraints and based on information from the oracle. Advantageously, the embodiment is useful in a test generation tool that generated many similar inputs when a failure-inducing input is found, in order to enhance fault localization. Further, described is a computer-implemented flow for extending the existing idea of concolic testing to applications that interact with persistent state.
    Type: Grant
    Filed: July 14, 2009
    Date of Patent: November 5, 2013
    Assignee: International Business Machines Corporation
    Inventors: Shay Artzi, Julian Dolby, Frank Tip
  • Publication number: 20130275951
    Abstract: A method of executing a rendering engine including executing a web application including at least two operations a single thread of execution, generating an auxiliary map for instrumentation accesses of the web application, and detecting and reporting concurrent memory accesses of the web application as a race.
    Type: Application
    Filed: April 16, 2012
    Publication date: October 17, 2013
    Applicant: International Business Machines Corporation
    Inventors: Julian Dolby, Boris Petrov, Manu Sridharan, Martin Vechev