Patents by Inventor Oskar Van Rest

Oskar Van Rest 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: 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
  • 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: 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: 11256750
    Abstract: Techniques herein accelerate graph querying by caching neighbor vertices (NVs) of super-node vertices. In an embodiment, a computer receives a graph query (GQ) to extract result paths from a graph in a database. The GQ has a sequence of query vertices (QVs) and a sequence of query edges (QEs). The computer successively traverses each QE and QV to detect paths of the graph that match the GQ. Traversing each QE and QV entails retrieving NVs of a current graph vertex (CGV) of a current traversal path. If the CGV is a key in a cache whose keys are graph vertices having an excessive degree, then the computer retrieves NVs from the cache. Otherwise, the computer retrieves NVs from the database. If the degree is excessive, and the CGV is not a key in the cache, then the computer stores, into the cache, the CGV as a key for the NVs.
    Type: Grant
    Filed: August 14, 2019
    Date of Patent: February 22, 2022
    Assignee: Oracle International Corporation
    Inventors: Oskar Van Rest, Jinha Kim, Xuming Meng, Sungpack Hong, Hassan Chafi
  • Patent number: 11120082
    Abstract: Techniques are provided herein for efficient representation of heterogeneous graphs in memory. In an embodiment, vertices and edges of the graph are segregated by type. Each property of a type of vertex or edge has values stored in a respective vector. Directed or undirected edges of a same type are stored in compressed sparse row (CSR) format. The CSR format is more or less repeated for edge traversal in either forward or reverse direction. An edge map translates edge offsets obtained from traversal in the reverse direction for use with data structures that expect edge offsets in the forward direction. Subsequent filtration and/or traversal by type or property of vertex or edge entails minimal data access and maximal data locality, thereby increasing efficient use of the graph.
    Type: Grant
    Filed: April 18, 2018
    Date of Patent: September 14, 2021
    Assignee: Oracle International Corporation
    Inventors: Damien Hilloulin, Davide Bartolini, Oskar Van Rest, Alexander Weld, Sungpack Hong, Hassan Chafi
  • Publication number: 20210279282
    Abstract: Techniques are provided herein for efficient representation of heterogeneous graphs in memory. In an embodiment, vertices and edges of the graph are segregated by type. Each property of a type of vertex or edge has values stored in a respective vector. Directed or undirected edges of a same type are stored in compressed sparse row (CSR) format. The CSR format is more or less repeated for edge traversal in either forward or reverse direction. An edge map translates edge offsets obtained from traversal in the reverse direction for use with data structures that expect edge offsets in the forward direction. Subsequent filtration and/or traversal by type or property of vertex or edge entails minimal data access and maximal data locality, thereby increasing efficient use of the graph.
    Type: Application
    Filed: May 25, 2021
    Publication date: September 9, 2021
    Inventors: DAMIEN HILLOULIN, DAVIDE BARTOLINI, OSKAR VAN REST, Alexander Weld, 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: 20210209108
    Abstract: Herein are techniques to accelerate finding a top few shortest paths between two vertices of a graph. In an embodiment, a computer calculates, for a graph that contains vertices that include landmark vertices, distances between each vertex and each landmark vertex. Based on the distances from each vertex to each landmark vertex, a top few shortest paths from a source vertex to a target vertex are calculated. In an embodiment, triangulation establishes a lower bound on a distance from a neighbor vertex of a current vertex to a target vertex of a query. In an embodiment, distance predictions based on the distance lower bounds are used to accelerate a K-A star search for the top few shortest paths.
    Type: Application
    Filed: January 3, 2020
    Publication date: July 8, 2021
    Inventors: Vlad Haprian, Oskar Van Rest, Sungpack Hong, Hassan Chafi, Bence Czipo
  • Patent number: 10942970
    Abstract: Techniques are described for generating and re-using reachability graphs for efficient execution of queries. In an embodiment, a query is received for execution on a data graph. Such a query may include one or more expressions for edges in the data graph, which when executed select one or more paths in the data graph to generate results for the query. The system uses a repository to store reachability graphs and may determine whether a reachability graph for an expression of the query for the data graph is stored in a repository. Such a reachability graph is generated by applying the expression on the data graph to qualify or disqualify the edges in the data graph to be included as part of edges of the reachability graph. For example, an edge in a reachability graph exists between two vertices when at least one edge of the data graph has qualified between two vertices of the data graph that correspond to the two vertices of the reachability graph.
    Type: Grant
    Filed: October 12, 2018
    Date of Patent: March 9, 2021
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Vlad Haprian, Oskar Van Rest, Sungpack Hong, Hassan Chafi
  • Patent number: 10896223
    Abstract: Techniques herein optimize subgraph pattern matching. A computer receives a graph vertex array and a graph edge array. Each vertex and each edge has labels. The computer stores an array of index entries and an array of edge label sets. Each index entry corresponds to a respective vertex originating an edge and associates an offset of the edge with an offset of the respective vertex. Each edge label set contains labels of a respective edge. The computer selects a candidate subset of edges originating at a current vertex. The edge labels of each candidate edge of the candidate subset include a same particular query edge labels. The computer selects the candidate subset based on the index array and afterwards selects a result subset of vertices from among the terminating vertices of the candidate edges. The labels of each vertex of the result subset include a same particular query vertex labels.
    Type: Grant
    Filed: December 18, 2018
    Date of Patent: January 19, 2021
    Assignee: Oracle International Corporation
    Inventors: Jinha Kim, Oskar Van Rest, Sungpack Hong, Hassan Chafi
  • Patent number: 10853137
    Abstract: Techniques are described herein for allocating and rebalancing computing resources for executing graph workloads in manner that increases system throughput. According to one embodiment, a method includes receiving a request to execute a graph processing workload on a dataset, identifying a plurality of graph operators that constitute the graph processing workload, and determining whether execution of each graph operator is processor intensive or memory intensive. The method also includes assigning a task weight for each graph operator of the plurality of graph operators, and performing, based on the assigned task weights, a first allocation of computing resources to execute the plurality of graph operators. Further, the method includes causing, according to the first allocation, execution of the plurality of graph operators by the computing resources, and monitoring computing resource usage of graph operators executed by the computing resources according to the first allocation.
    Type: Grant
    Filed: March 12, 2019
    Date of Patent: December 1, 2020
    Assignee: Oracle International Corporation
    Inventors: Vlad Ioan Haprian, Iraklis Psaroudakis, Alexander Weld, Oskar Van Rest, Sungpack Hong, Hassan Chafi
  • Patent number: 10810257
    Abstract: Techniques herein are for fast processing of path-finding queries in large graph databases. A computer system receives a graph search request to find a set of result paths between one or more source vertices of a graph and one or more target vertices of the graph. The graph comprises vertices connected by edges. During a first pass, the computer system performs one or more breadth-first searches to identify a subset of edges of the graph. The one or more breadth-first searches originate at the one or more source vertices. After the first pass and during a second pass, the computer system performs one or more depth-first searches to identify the set of result paths. The one or more depth-first searches originate at the one or more target vertices. The one or more depth-first searches traverse at most the subset of edges of the graph.
    Type: Grant
    Filed: August 27, 2015
    Date of Patent: October 20, 2020
    Assignee: Oracle International Corporation
    Inventors: Oskar Van Rest, Jinha Kim, Sungpack Hong, Hassan Chafi
  • Publication number: 20200293372
    Abstract: Techniques are described herein for allocating and rebalancing computing resources for executing graph workloads in manner that increases system throughput. According to one embodiment, a method includes receiving a request to execute a graph processing workload on a dataset, identifying a plurality of graph operators that constitute the graph processing workload, and determining whether execution of each graph operator is processor intensive or memory intensive. The method also includes assigning a task weight for each graph operator of the plurality of graph operators, and performing, based on the assigned task weights, a first allocation of computing resources to execute the plurality of graph operators. Further, the method includes causing, according to the first allocation, execution of the plurality of graph operators by the computing resources, and monitoring computing resource usage of graph operators executed by the computing resources according to the first allocation.
    Type: Application
    Filed: March 12, 2019
    Publication date: September 17, 2020
    Inventors: Vlad Ioan Haprian, Iraklis Psaroudakis, Alexander Weld, Oskar Van Rest, Sungpack Hong, Hassan Chafi
  • Publication number: 20200265090
    Abstract: Herein are computerized techniques for processing a heterogeneous graph according to scan-avoidant query planning. In an embodiment, a computer respectively stores a first and second kind of vertices of a property graph into a first and second vertex tables. The computer generates, without scanning the second vertex table: a) an initial partial result of a query of the property graph based on the first vertex table, and b) a subsequent partial result of the query based on the initial partial result and the second kind of vertices. Herein are graph encodings that are dense, without requiring extra computation, and that exploit graph heterogeneity to achieve an aggregation granularity that reduces data working set scope, optimizes for caching, and encourages compression. Herein are query execution mechanisms and techniques that intelligently avoid accessing circumstantially extraneous data and/or structures and that can horizontally scale.
    Type: Application
    Filed: February 20, 2019
    Publication date: August 20, 2020
    Inventors: Damien Hilloulin, Davide Bartolini, Oskar Van Rest, Vlad Haprian,, Sungpack Hong, Hassan Chafi,
  • Publication number: 20200117762
    Abstract: Techniques are described for generating and re-using reachability graphs for efficient execution of queries. In an embodiment, a query is received for execution on a data graph. Such a query may include one or more expressions for edges in the data graph, which when executed select one or more paths in the data graph to generate results for the query. The system uses a repository to store reachability graphs and may determine whether a reachability graph for an expression of the query for the data graph is stored in a repository. Such a reachability graph is generated by applying the expression on the data graph to qualify or disqualify the edges in the data graph to be included as part of edges of the reachability graph. For example, an edge in a reachability graph exists between two vertices when at least one edge of the data graph has qualified between two vertices of the data graph that correspond to the two vertices of the reachability graph.
    Type: Application
    Filed: October 12, 2018
    Publication date: April 16, 2020
    Inventors: VLAD HAPRIAN, OSKAR VAN REST, SUNGPACK HONG, HASSAN CHAFI
  • Patent number: 10614126
    Abstract: Techniques herein are for query editing with semantic analysis of a query based on information extracted from a tuple graph. In an embodiment, a computerized method involves processing a dataset to extract an extracted schema that describes types and relationships that occur within the dataset. The dataset is not associated with a schema that is not contained in the dataset. The dataset has a graph of tuples. During an incremental parse, an abstract syntax tree (AST) that represents a query is modified. The extracted schema and the dataset are used to perform semantic analysis on the AST. In an embodiment, the tuples are resource description framework (RDF) triples. In an embodiment, the RDF triples include RDF schema statements. Extracting an extracted schema involves processing RDF schema statements. In an embodiment, the query is a SPARQL query and semantic analysis includes error alerting and code completion.
    Type: Grant
    Filed: May 21, 2015
    Date of Patent: April 7, 2020
    Assignee: Oracle International Corporation
    Inventors: Oskar Van Rest, Raghavan Raman, Sungpack Hong, Hassan Chafi
  • Publication number: 20200073868
    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: Application
    Filed: April 8, 2019
    Publication date: March 5, 2020
    Inventors: Arnaud Delamare, Vasileios Trigonakis, Vlad Ioan Haprian, Oskar Van Rest, Sungpack Hong, Hassan Chafi, Tomas Faltin, Jean-Pierre Lozi
  • Publication number: 20190370289
    Abstract: Techniques herein accelerate graph querying by caching neighbor vertices (NVs) of super-node vertices. In an embodiment, a computer receives a graph query (GQ) to extract result paths from a graph in a database. The GQ has a sequence of query vertices (QVs) and a sequence of query edges (QEs). The computer successively traverses each QE and QV to detect paths of the graph that match the GQ. Traversing each QE and QV entails retrieving NVs of a current graph vertex (CGV) of a current traversal path. If the CGV is a key in a cache whose keys are graph vertices having an excessive degree, then the computer retrieves NVs from the cache. Otherwise, the computer retrieves NVs from the database. If the degree is excessive, and the CGV is not a key in the cache, then the computer stores, into the cache, the CGV as a key for the NVs.
    Type: Application
    Filed: August 14, 2019
    Publication date: December 5, 2019
    Inventors: Oskar Van Rest, Jinha Kim, Xuming Meng, Sungpack Hong, Hassan Chafi
  • Publication number: 20190325075
    Abstract: Techniques are provided herein for efficient representation of heterogeneous graphs in memory. In an embodiment, vertices and edges of the graph are segregated by type. Each property of a type of vertex or edge has values stored in a respective vector. Directed or undirected edges of a same type are stored in compressed sparse row (CSR) format. The CSR format is more or less repeated for edge traversal in either forward or reverse direction. An edge map translates edge offsets obtained from traversal in the reverse direction for use with data structures that expect edge offsets in the forward direction. Subsequent filtration and/or traversal by type or property of vertex or edge entails minimal data access and maximal data locality, thereby increasing efficient use of the graph.
    Type: Application
    Filed: April 18, 2018
    Publication date: October 24, 2019
    Inventors: DAMIEN HILLOULIN, DAVIDE BARTOLINI, OSKAR VAN REST, Alexander Weld, Sungpack Hong, Hassan Chafi
  • Patent number: 10423663
    Abstract: Techniques herein accelerate graph querying by caching neighbor vertices (NVs) of super-node vertices. In an embodiment, a computer receives a graph query (GQ) to extract result paths from a graph in a database. The GQ has a sequence of query vertices (QVs) and a sequence of query edges (QEs). The computer successively traverses each QE and QV to detect paths of the graph that match the GQ. Traversing each QE and QV entails retrieving NVs of a current graph vertex (CGV) of a current traversal path. If the CGV is a key in a cache whose keys are graph vertices having an excessive degree, then the computer retrieves NVs from the cache. Otherwise, the computer retrieves NVs from the database. If the degree is excessive, and the CGV is not a key in the cache, then the computer stores, into the cache, the CGV as a key for the NVs.
    Type: Grant
    Filed: January 18, 2017
    Date of Patent: September 24, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Oskar Van Rest, Jinha Kim, Xuming Meng, Sungpack Hong, Hassan Chafi