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: 10360262Abstract: 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: GrantFiled: June 23, 2017Date of Patent: July 23, 2019Assignee: International Business Machines CorporationInventors: Mihaela Ancuta Bornea, Julian Dolby, Achille Belly Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
-
Patent number: 9785673Abstract: 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: GrantFiled: June 29, 2016Date of Patent: October 10, 2017Assignee: International Business Machines CorporationInventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
-
Patent number: 9715560Abstract: 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: GrantFiled: June 27, 2013Date of Patent: July 25, 2017Assignee: International Business Machines CorporationInventors: Mihaela Ancuta Bornea, Julian Dolby, Achille Belly Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
-
Publication number: 20160306850Abstract: 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: ApplicationFiled: June 29, 2016Publication date: October 20, 2016Inventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
-
Patent number: 9471635Abstract: 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: GrantFiled: January 12, 2016Date of Patent: October 18, 2016Assignee: International Business Machines CorporationInventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
-
Patent number: 9471636Abstract: 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: GrantFiled: January 12, 2016Date of Patent: October 18, 2016Assignee: International Business Machines CorporationInventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
-
Publication number: 20160154849Abstract: 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: ApplicationFiled: January 12, 2016Publication date: June 2, 2016Inventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
-
Publication number: 20160154850Abstract: 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: ApplicationFiled: January 12, 2016Publication date: June 2, 2016Inventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
-
Patent number: 9280584Abstract: 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: GrantFiled: November 25, 2013Date of Patent: March 8, 2016Assignee: International Business Machines CorporationInventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
-
Patent number: 9135147Abstract: 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: GrantFiled: April 26, 2012Date of Patent: September 15, 2015Assignee: International Business Machines CorporationInventors: Shay Artzi, Julian Dolby, Salvatore A. Guarnieri, Simon H. Jensen, Marco Pistoia, Manu Sridharan, Frank Tip, Omer Tripp
-
Publication number: 20150149440Abstract: 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: ApplicationFiled: November 25, 2013Publication date: May 28, 2015Applicant: International Business Machines CorporationInventors: Mihaela A. Bornea, Julian Dolby, Achille B. Fokoue-Nkoutche, Anastasios Kementsietsidis, Kavitha Srinivas
-
Patent number: 9043761Abstract: 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: GrantFiled: September 1, 2010Date of Patent: May 26, 2015Assignee: International Business Machines CorporationInventors: Shay Artzi, Julian Dolby, Marco Pistoia, Frank Tip
-
Patent number: 8955139Abstract: 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: GrantFiled: November 9, 2012Date of Patent: February 10, 2015Assignee: International Business Machines CorporationInventors: Julian Dolby, Salvatore A. Guarnieri, Marco Pistoia, Omer Tripp
-
Patent number: 8943478Abstract: 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: GrantFiled: July 14, 2009Date of Patent: January 27, 2015Assignee: International Business Machines CorporationInventors: Shay Artzi, Julian Dolby, Frank Tip
-
Patent number: 8918434Abstract: 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: GrantFiled: April 24, 2012Date of Patent: December 23, 2014Assignee: International Business Machines CorporationInventors: Bishwaranjan Bhattacharjee, Mihaela Ancuta Bornea, Patrick Dantressangle, Julian Dolby, Kavitha Srinivas, Octavian Udrea
-
Patent number: 8869127Abstract: 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: GrantFiled: January 3, 2011Date of Patent: October 21, 2014Assignee: International Business Machines CorporationInventors: Julian Dolby, Manu Sridharan, Frank Tip, Max Schaefer
-
Patent number: 8694971Abstract: 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: GrantFiled: October 5, 2011Date of Patent: April 8, 2014Assignee: International Business Machines CorporationInventors: Satish Chandra, Julian Dolby, Manu Sridharan, Frank Tip
-
Patent number: 8689191Abstract: 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: GrantFiled: March 5, 2010Date of Patent: April 1, 2014Assignee: International Business Machines CorporationInventors: Julian Dolby, Max Schaefer, Manu Sridharan, Frank Tip, Emina Torlak
-
Patent number: 8578342Abstract: 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: GrantFiled: July 14, 2009Date of Patent: November 5, 2013Assignee: International Business Machines CorporationInventors: Shay Artzi, Julian Dolby, Frank Tip
-
Publication number: 20130275951Abstract: 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: ApplicationFiled: April 16, 2012Publication date: October 17, 2013Applicant: International Business Machines CorporationInventors: Julian Dolby, Boris Petrov, Manu Sridharan, Martin Vechev