Patents by Inventor Vlad Ioan Haprian

Vlad Ioan Haprian 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: 20240126764
    Abstract: Techniques support graph pattern matching queries inside a relational database management system (RDBMS) that supports SQL execution. The techniques compile a graph pattern matching query that includes a bounded recursive pattern query into a SQL query that can then be executed by the relational engine. As a result, techniques enable execution of graph pattern matching queries that include bounded recursive patterns on top of the relational engine by avoiding any change in the existing SQL engine.
    Type: Application
    Filed: October 13, 2022
    Publication date: April 18, 2024
    Inventors: VLAD IOAN HAPRIAN, LEI SHENG, LAURENT DAYNES, ZHEN HUA LIU, HUGO KAPP, MARCO ARNABOLDI, ANDREW WITKOWSKI, SUNGPACK HONG, HASSAN CHAFI
  • Patent number: 11928097
    Abstract: Efficiently implemented herein is a deterministic semantic for property updates by graph queries. Mechanisms of determinism herein ensure data consistency for graph mutation. These mechanisms facilitate optimistic execution of graph access despite a potential data access conflict. This approach may include various combinations of special activities such as detecting potential conflicts during query compile time, applying query transformations to eliminate those conflicts during code generation where possible, and executing updates in an optimistic way that safely fails if determinism cannot be guaranteed. In an embodiment, a computer receives a request to modify a graph. The request to modify the graph is optimistically executed after preparation and according to safety precautions as presented herein. Based on optimistically executing the request, a data access conflict actually occurs and is automatically detected.
    Type: Grant
    Filed: September 20, 2021
    Date of Patent: March 12, 2024
    Assignee: Oracle International Corporation
    Inventors: Bence Czipo, Vlad Ioan Haprian, Oskar Van Rest, Damien Hilloulin, Vasileios Trigonakis, Yahya Ez-zainabi, Sungpack Hong, Hassan Chafi
  • Patent number: 11921785
    Abstract: Techniques described herein allow a user of an RDBMS to specify a graph algorithm function (GAF) declaration, which defines a graph algorithm that takes a graph object as input and returns a logical graph object as output. A database dictionary stores the GAF declaration, which allows addition of GAFs without changing the RDBMS kernel. GAFs are used within graph queries to compute output properties of property graph objects. Output properties are accessible in the enclosing graph pattern matching query, and are live for the duration of the query cursor execution. According to various embodiments, the declaration of a GAF includes a DESCRIBE function, used for semantic analysis of the GAF, and an EXECUTE function, which defines the operations performed by the GAF. Furthermore, composition of GAFs in a graph query is done by supplying, as the input graph argument of an outer GAF, the result of an inner GAF.
    Type: Grant
    Filed: January 25, 2022
    Date of Patent: March 5, 2024
    Assignee: Oracle International Corporation
    Inventors: Hugo Kapp, Laurent Daynes, Vlad Ioan Haprian, Jean-Pierre Lozi, Zhen Hua Liu, Marco Arnaboldi, Sabina Petride, Andrew Witkowski, Hassan Chafi, Sungpack Hong
  • Publication number: 20230409610
    Abstract: A method, apparatus, and product to provide a parser for property graph queries with precise error reporting and auto-completion based on information from property graph schemas. The approach generally comprises analysis of graph queries prior to their execution to identify issues prior to execution. In some embodiments, the approach includes any of: use of a property graph schema to determine whether names in a received property graph query exist within a corresponding property graph; determining whether the property graph query includes a comparison of mismatched data types; providing an autocomplete suggestion feature for assistance in resolving errors or corresponding to a cursor position within a query string; or evaluation of a property graph query to determine whether it would return an empty result. In some embodiments, property graph query analysis is performed using a context aware approach.
    Type: Application
    Filed: June 21, 2022
    Publication date: December 21, 2023
    Applicant: Oracle International Corporation
    Inventors: Florian GRATZER, Oskar VAN REST, Vlad Ioan HAPRIAN, Vasileios TRIGONAKIS, Korbinian SCHMID, Steven SERRA, Sungpack HONG, Hassan CHAFI
  • Publication number: 20230267120
    Abstract: Techniques described herein allow a user of an RDBMS to specify a graph algorithm function (GAF) that takes a graph object as input and returns a logical graph object as output. GAFs are used within graph queries to compute temporary and output properties (“GAF-computed properties”), which are live for the duration of the query cursor execution. GAF-computed output properties are accessible in the enclosing graph pattern matching query as though they were part of the input graph object of the GAF. Temporary cursor-duration tables are generated for the query cursor during compilation of a graph query that includes a GAF, and are used to store the GAF-computed properties. Each temporary table corresponds to one of the primary tables of the input graph, and includes, as a foreign key, primary key information from the corresponding primary table. Thus, the input graph of a GAF may be a “heterogeneous” graph.
    Type: Application
    Filed: January 26, 2022
    Publication date: August 24, 2023
    Inventors: Hugo Kapp, Laurent Daynes, Vlad Ioan Haprian, Jean-Pierre Lozi, Zhen Hua Liu, Marco Arnaboldi, Sabina Petride, Andrew Witkowski, Hassan Chafi, Sungpack Hong
  • Publication number: 20230252077
    Abstract: Techniques described herein allow a user of an RDBMS to specify a graph algorithm function (GAF) declaration, which defines a graph algorithm that takes a graph object as input and returns a logical graph object as output. A database dictionary stores the GAF declaration, which allows addition of GAFs without changing the RDBMS kernel. GAFs are used within graph queries to compute output properties of property graph objects. Output properties are accessible in the enclosing graph pattern matching query, and are live for the duration of the query cursor execution. According to various embodiments, the declaration of a GAF includes a DESCRIBE function, used for semantic analysis of the GAF, and an EXECUTE function, which defines the operations performed by the GAF. Furthermore, composition of GAFs in a graph query is done by supplying, as the input graph argument of an outer GAF, the result of an inner GAF.
    Type: Application
    Filed: January 25, 2022
    Publication date: August 10, 2023
    Inventors: Hugo Kapp, Laurent Daynes, Vlad Ioan Haprian, Jean-Pierre Lozi, Zhen Hua Liu, Marco Arnaboldi, Sabina Petride, Andrew Witkowski, Hassan Chafi, Sungpack Hong
  • Patent number: 11675785
    Abstract: Techniques are described for enabling in-memory execution of any-sized graph data query by utilizing both depth first search (DFS) principles and breadth first search (BFS) principles to control the amount of memory used during query execution. Specifically, threads implementing a graph DBMS switch between a BFS mode of data traversal and a DFS mode of data traversal. For example, when a thread detects that there are less than a configurable threshold number of intermediate results in memory, the thread enters BFS-based traversal techniques to increase the number of intermediate results in memory. When the thread detects that there are at least the configurable threshold number of intermediate results in memory, the thread enters DFS mode to produce final results, which generally works to move the intermediate results that are currently available in memory to final query results, thereby reducing the number of intermediate results in memory.
    Type: Grant
    Filed: January 31, 2020
    Date of Patent: June 13, 2023
    Assignee: Oracle International Corporation
    Inventors: Vasileios Trigonakis, Tomas Faltin, Jean-Pierre Lozi, Vlad Ioan Haprian, Sungpack Hong, Hassan Chafi
  • Publication number: 20230095703
    Abstract: Efficiently implemented herein is a deterministic semantic for property updates by graph queries. Mechanisms of determinism herein ensure data consistency for graph mutation. These mechanisms facilitate optimistic execution of graph access despite a potential data access conflict. This approach may include various combinations of special activities such as detecting potential conflicts during query compile time, applying query transformations to eliminate those conflicts during code generation where possible, and executing updates in an optimistic way that safely fails if determinism cannot be guaranteed. In an embodiment, a computer receives a request to modify a graph. The request to modify the graph is optimistically executed after preparation and according to safety precautions as presented herein. Based on optimistically executing the request, a data access conflict actually occurs and is automatically detected.
    Type: Application
    Filed: September 20, 2021
    Publication date: March 30, 2023
    Inventors: Bence Czipo, Vlad Ioan Haprian, Oskar Van Rest, Damien Hilloulin, Vasileios Trigonakis, Yahya Ez-zainabi, Sungpack Hong, Hassan Chafi
  • Patent number: 11593323
    Abstract: Herein are techniques that concurrently populate entries in a compressed sparse row (CSR) encoding, of a type of edge of a heterogenous graph. In an embodiment, a computer obtains a mapping of a relational schema to a graph data model. The relational schema defines vertex tables that correspond to vertex types in the graph data model, and edge tables that correspond to edge types in the graph data model. Each edge type is associated with a source vertex type and a target vertex type. For each vertex type, a sequence of persistent identifiers of vertices is obtained. Based on the mapping and for a CSR representation of each edge type, a source array is populated that, for a same vertex ordering as the sequence of persistent identifiers for the source vertex type, is based on counts of edges of the edge type that originate from vertices of the source vertex type.
    Type: Grant
    Filed: July 8, 2021
    Date of Patent: February 28, 2023
    Assignee: Oracle International Corporation
    Inventors: Marco Arnaboldi, Jean-Pierre Lozi, Laurent Phillipe Daynes, Vlad Ioan Haprian, Shasank Kisan Chavan, Hugo Kapp, Sungpack Hong
  • Patent number: 11537579
    Abstract: In an embodiment, a computer obtains a mapping of a relational schema of a database to a graph data model. The relational schema identifies vertex table(s) that correspond to vertex type(s) in the graph data model and edge table(s) that correspond to edge type(s) in the graph data model. Each edge type is associated with a source vertex type and a target vertex type. Based on that mapping, a forward compressed sparse row (CSR) representation is populated for forward traversal of edges of a same edge type. Each edge originates at a source vertex and terminates at a target vertex. Based on the forward CSR representation, a reverse CSR representation of the edge type is populated for reverse traversal of the edges of the edge type. Acceleration occurs in two ways. Values calculated for the forward CSR are reused for the reverse CSR. Elastic and inelastic scaling may occur.
    Type: Grant
    Filed: March 12, 2020
    Date of Patent: December 27, 2022
    Assignee: Oracle International Corporation
    Inventors: Jean-Pierre Lozi, Marco Arnaboldi, Laurent Phillipe Daynes, Vlad Ioan Haprian, Hugo Kapp
  • Patent number: 11500868
    Abstract: Vertex/edge table rows are mapped to unique integer identifiers, to enable construction of in-memory representation of a graph from existing, unmodified RDBMS tables. The unique integer identifiers are based on an encoding of primary key values of the table rows. The unique integer identifiers are used as graph indexes of the in-memory representation.
    Type: Grant
    Filed: January 29, 2021
    Date of Patent: November 15, 2022
    Assignee: Oracle International Corporation
    Inventors: Andrea Segalini, Jean-Pierre Lozi, Laurent Daynes, Marco Arnaboldi, Vlad Ioan Haprian, Hugo Kapp, Shasank Kisan Chavan, Zhen Hua Liu, Danica Porobic
  • Publication number: 20220245147
    Abstract: Techniques are provided for mapping vertex/edge table rows to unique integer identifiers, to enable construction of in-memory representation of a graph from existing, unmodified RDBMS tables. The unique integer identifiers are based on an encoding of primary key values of the table rows. The unique integer identifiers are used as graph indexes of the in-memory representation.
    Type: Application
    Filed: January 29, 2021
    Publication date: August 4, 2022
    Inventors: Andrea Segalini, Jean-Pierre Lozi, Laurent Daynes, Marco Arnaboldi, Vlad Ioan Haprian, Hugo Kapp, Shasank Kisan Chavan, Zhen Hua Liu, Danica Porobic
  • Publication number: 20220114178
    Abstract: Techniques are provided for processing a graph query by exploiting an in-memory graph index and minimizing the number of storage accesses needed to project properties of generated paths. A predefined number of paths from a graph query runtime is accumulated, using different data structures, before executing storage accesses necessary to retrieve all properties needed. A first data structure stores all paths from the graph query runtime that hit cache(s) entirely. A second data structure stores paths that do not hit caches at any level or only a subset of the levels does. Once any of these data structures are full, result rows are produced based on the two data structures prior to extracting more paths from the graph query runtime.
    Type: Application
    Filed: January 29, 2021
    Publication date: April 14, 2022
    Inventors: Vlad Ioan Haprian, Mikael Gonzalez Morales, Laurent Daynes, Zhen Hua Liu, Danica Porobic, Marco Arnaboldi, Jean-Pierre Lozi, Hugo Kapp, Sungpack Hong, Shasank Kisan Chavan, Hassan Chafi
  • Patent number: 11250059
    Abstract: Techniques are described herein for early pruning of potential graph query results. Specifically, based on determining that property values of a path through graph data cannot affect results of a query, the path is pruned from a set of potential query solutions prior to fully exploring the path. Early solution pruning is performed on prunable queries that project prunable functions including MIN, MAX, SUM, and DISTINCT, the results of which are not tied to a number of paths explored for query execution. A database system implements early solution pruning for a prunable query based on intermediate results maintained for the query during query execution. Specifically, when a system determines that property values of a given potential solution path cannot affect the query results reflected in intermediate results maintained for the query, the path is discarded from the set of possible query solutions without further exploration of the path.
    Type: Grant
    Filed: January 9, 2020
    Date of Patent: February 15, 2022
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Arnaud Delamare, Vasileios Trigonakis, Jean-Pierre Lozi, Vlad Ioan Haprian, Petr Koupy, Hassan Chafi, Sungpack Hong
  • Publication number: 20210334249
    Abstract: Herein are techniques that concurrently populate entries in a compressed sparse row (CSR) encoding, of a type of edge of a heterogenous graph. In an embodiment, a computer obtains a mapping of a relational schema to a graph data model. The relational schema defines vertex tables that correspond to vertex types in the graph data model, and edge tables that correspond to edge types in the graph data model. Each edge type is associated with a source vertex type and a target vertex type. For each vertex type, a sequence of persistent identifiers of vertices is obtained. Based on the mapping and for a CSR representation of each edge type, a source array is populated that, for a same vertex ordering as the sequence of persistent identifiers for the source vertex type, is based on counts of edges of the edge type that originate from vertices of the source vertex type.
    Type: Application
    Filed: July 8, 2021
    Publication date: October 28, 2021
    Inventors: Marco Arnaboldi, Jean-Pierre Lozi, Laurent Phillipe Daynes, Vlad Ioan Haprian, Shasank Kisan Chavan, Hugo Kapp, Sungpack Hong
  • Publication number: 20210286790
    Abstract: In an embodiment, a computer obtains a mapping of a relational schema of a database to a graph data model. The relational schema identifies vertex table(s) that correspond to vertex type(s) in the graph data model and edge table(s) that correspond to edge type(s) in the graph data model. Each edge type is associated with a source vertex type and a target vertex type. Based on that mapping, a forward compressed sparse row (CSR) representation is populated for forward traversal of edges of a same edge type. Each edge originates at a source vertex and terminates at a target vertex. Based on the forward CSR representation, a reverse CSR representation of the edge type is populated for reverse traversal of the edges of the edge type. Acceleration occurs in two ways. Values calculated for the forward CSR are reused for the reverse CSR. Elastic and inelastic scaling may occur.
    Type: Application
    Filed: March 12, 2020
    Publication date: September 16, 2021
    Inventors: Jean-Pierre Lozi, Marco Arnaboldi, Laurent Phillipe Daynes, Vlad Ioan Haprian, Hugo Kapp
  • Patent number: 11093459
    Abstract: Herein are techniques that concurrently populate entries in a compressed sparse row (CSR) encoding, of a type of edge of a heterogenous graph. In an embodiment, a computer obtains a mapping of a relational schema to a graph data model. The relational schema defines vertex tables that correspond to vertex types in the graph data model, and edge tables that correspond to edge types in the graph data model. Each edge type is associated with a source vertex type and a target vertex type. For each vertex type, a sequence of persistent identifiers of vertices is obtained. Based on the mapping and for a CSR representation of each edge type, a source array is populated that, for a same vertex ordering as the sequence of persistent identifiers for the source vertex type, is based on counts of edges of the edge type that originate from vertices of the source vertex type.
    Type: Grant
    Filed: January 21, 2020
    Date of Patent: August 17, 2021
    Assignee: Oracle International Corporation
    Inventors: Marco Arnaboldi, Jean-Pierre Lozi, Laurent Phillipe Daynes, Vlad Ioan Haprian, Shasank Kisan Chavan, Hugo Kapp, Sungpack Hong
  • Publication number: 20210240705
    Abstract: Techniques are described for enabling in-memory execution of any-sized graph data query by utilizing both depth first search (DFS) principles and breadth first search (BFS) principles to control the amount of memory used during query execution. Specifically, threads implementing a graph DBMS switch between a BFS mode of data traversal and a DFS mode of data traversal. For example, when a thread detects that there are less than a configurable threshold number of intermediate results in memory, the thread enters BFS-based traversal techniques to increase the number of intermediate results in memory. When the thread detects that there are at least the configurable threshold number of intermediate results in memory, the thread enters DFS mode to produce final results, which generally works to move the intermediate results that are currently available in memory to final query results, thereby reducing the number of intermediate results in memory.
    Type: Application
    Filed: January 31, 2020
    Publication date: August 5, 2021
    Inventors: Vasileios Trigonakis, Tomas Faltin, Jean-Pierre Lozi, Vlad Ioan Haprian, Sungpack Hong, Hassan Chafi
  • Patent number: 11074260
    Abstract: Techniques are described herein for space-efficient encoding of label information of property graphs. In an embodiment, an input graph is received. The input graph comprises a plurality of entities and a plurality of label sets. Each entity of said plurality of entities is associated with a label set of the plurality of label sets and each label set of the plurality of label sets comprises zero or more labels of a plurality of labels. A first mapping is generated that maps each label of the plurality of labels to a label code. A second mapping is generated that maps each label integer set of a plurality of label integer sets to a label code. Each label integer set of the plurality of label integer sets corresponds to a label set of the plurality of label sets, wherein each label integer set of the plurality of label integer sets comprises label codes from the first mapping that are mapped to each label included in the corresponding label set.
    Type: Grant
    Filed: April 8, 2019
    Date of Patent: July 27, 2021
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Arnaud Delamare, Vasileios Trigonakis, Vlad Ioan Haprian, Oskar Van Rest, Sungpack Hong, Hassan Chafi, Tomas Faltin, Jean-Pierre Lozi
  • Publication number: 20210224235
    Abstract: Herein are techniques that concurrently populate entries in a compressed sparse row (CSR) encoding, of a type of edge of a heterogenous graph. In an embodiment, a computer obtains a mapping of a relational schema to a graph data model. The relational schema defines vertex tables that correspond to vertex types in the graph data model, and edge tables that correspond to edge types in the graph data model. Each edge type is associated with a source vertex type and a target vertex type. For each vertex type, a sequence of persistent identifiers of vertices is obtained. Based on the mapping and for a CSR representation of each edge type, a source array is populated that, for a same vertex ordering as the sequence of persistent identifiers for the source vertex type, is based on counts of edges of the edge type that originate from vertices of the source vertex type.
    Type: Application
    Filed: January 21, 2020
    Publication date: July 22, 2021
    Inventors: Marco Arnaboldi, Jean-Pierre Lozi, Laurent Phillipe Daynes, Vlad Ioan Haprian, Shasank Kisan Chavan, Hugo Kapp, Sungpack Hong