Patents by Inventor Hassan Chafi

Hassan Chafi 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: 20230237047
    Abstract: Data structures and methods are described for applying mutations on a distributed graph in a fast and memory-efficient manner. Nodes in a distributed graph processing system may store graph information such as vertices, edges, properties, vertex keys, vertex degree counts, and other information in graph arrays, which are divided into shared arrays and delta logs. The shared arrays on a local node remain immutable and are the starting point of a graph, on top of which mutations build new snapshots. Mutations may be supported at both the entity and table levels. Periodic delta log consolidation may occur at multiple levels to prevent excessive delta log buildup. Consolidation at the table level may also trigger rebalancing of vertices across the nodes.
    Type: Application
    Filed: January 26, 2022
    Publication date: July 27, 2023
    Inventors: Vasileios Trigonakis, Paul Renauld, Jinsu Lee, Petr Koupy, Sungpack Hong, Hassan Chafi
  • Publication number: 20230199026
    Abstract: Herein are graph machine learning explainability (MLX) techniques for invalid traffic detection. In an embodiment, a computer generates a graph that contains: a) domain vertices that represent network domains that received requests and b) address vertices that respectively represent network addresses from which the requests originated. Based on the graph, domain embeddings are generated that respectively encode the domain vertices. Based on the domain embeddings, multidomain embeddings are generated that respectively encode the network addresses. The multidomain embeddings are organized into multiple clusters of multidomain embeddings. A particular cluster is detected as suspicious. In an embodiment, an unsupervised trained graph model generates the multidomain embeddings. Based on the clusters of multidomain embeddings, feature importances are unsupervised trained. Based on the feature importances, an explanation is automatically generated for why an object is or is not suspicious.
    Type: Application
    Filed: December 21, 2021
    Publication date: June 22, 2023
    Inventors: Valentin Venzin, Rhicheek Patra, Sungpack Hong, Hassan Chafi
  • 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: 20230139718
    Abstract: Herein are acceleration and increased reliability based on classification and scoring techniques for machine learning that compare two similar datasets of different ages to detect data drift without a predefined drift threshold. Various subsets are randomly sampled from the datasets. The subsets are combined in various ways to generate subsets of various age mixtures. In an embodiment, ages are permuted and drift is detected based on whether or not fitness scores indicate that an age binary classifier is confused. In an embodiment, an anomaly detector measures outlier scores of two subsets of different age mixtures. Drift is detected when the outlier scores diverge. In a two-arm bandit embodiment, iterations randomly alternate between both datasets based on respective probabilities that are adjusted by a bandit reward based on outlier scores from an anomaly detector. Drift is detected based on the probability of the younger dataset.
    Type: Application
    Filed: October 28, 2021
    Publication date: May 4, 2023
    Inventors: Mojtaba Valipour, Yasha Pushak, Robert Harlow, Hesam Fathi Moghadam, Sungpack Hong, Hassan Chafi
  • Publication number: 20230121198
    Abstract: Techniques herein minimally communicate between computers to repartition a graph. In embodiments, each computer receives a partition of edges and vertices of the graph. For each of its edges or vertices, each computer stores an intermediate representation into an edge table (ET) or vertex table. Different edges of a vertex may be loaded by different computers, which may cause a conflict. Each computer announces that a vertex resides on the computer to a respective tracking computer. Each tracking computer makes assignments of vertices to computers and publicizes those assignments. Each computer that loaded conflicted vertices transfers those vertices to computers of the respective assignments. Each computer stores a materialized representation of a partition based on: the ET and vertex table of the computer, and the vertices and edges that were transferred to the computer. Edges stored in the materialized representation are stored differently than edges stored in the ET.
    Type: Application
    Filed: December 19, 2022
    Publication date: April 20, 2023
    Inventors: Petr Koupy, Thomas Manhardt, Siegfried Depner, Sungpack Hong, Hassan Chafi
  • Patent number: 11630864
    Abstract: Techniques are described for a vectorized queue, which implements a vectorized ‘contains’ function that determines whether a value is in the queue. A three-phase vectorized shortest-path graph search splits each expanding and probing iteration into three phases that utilize vectorized instructions: (1) The neighbors of nodes that are in a next queue are fetched and written into a current queue. (2) It is determined whether the destination node is among the fetched neighbor nodes in the current queue. (3) The fetched neighbor nodes that have not yet been visited are put into the next queue. According to an embodiment, a vectorized copy operation performs vector-based data copying using vectorized load and store instructions. Specifically, vectors of data are copied from a source to a destination. Any invalid data copied to the destination is overwritten, either with a vector of additional valid data or with a vector of nonce data.
    Type: Grant
    Filed: February 27, 2020
    Date of Patent: April 18, 2023
    Assignee: Oracle International Corporation
    Inventors: Benjamin Schlegel, Martin Sevenich, Pit Fender, Matthias Brantner, Hassan Chafi
  • Publication number: 20230109463
    Abstract: Herein is fast and memory efficient iteration of elements of a graph that has (e.g. topological) changes. In an embodiment, a computer generates an element iterator that is based on a graph that contains many elements (e.g. vertices, edges, and their properties) and a delta log that represents modification(s) of the graph. The delta log only records changes, such that only some graph elements are modified and occur in the delta log. Thus, iteration of only some graph elements may need to retrieve data from the delta log. Based on the element iterator and the delta log, a first graph element is accessed during iteration. Based on the element iterator but not the delta log, a second graph element is accessed. For example, a result may be generated that is based on the first element and the second element that were iterated based on different respective data structures.
    Type: Application
    Filed: September 20, 2021
    Publication date: April 6, 2023
    Inventors: Damien Hilloulin, Valentin Venzin, Vasileios Trigonakis, Martin Sevenich, Alexander Weld, 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: 11573793
    Abstract: Techniques are provided for lazy push optimization, allowing for constant time push operations. A d-heap is used as the underlying data structure for indexing values being inserted. The d-heap is vectorized by storing values in a contiguous memory array. Heapify operations are delayed until a retrieve operation occurs, improving insert performance of vectorized d-heaps that use horizontal aggregation SIMD instructions at the cost of slightly lower retrieve performance.
    Type: Grant
    Filed: March 18, 2020
    Date of Patent: February 7, 2023
    Assignee: Oracle International Corporation
    Inventors: Harshad Kasture, Matthias Brantner, Hassan Chafi, Benjamin Schlegel, Pit Fender
  • Patent number: 11567932
    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 into a SQL query that can then be executed by the relational engine. As a result, techniques enable execution of graph pattern matching queries on top of the relational engine by avoiding any change in the existing SQL engine.
    Type: Grant
    Filed: October 26, 2020
    Date of Patent: January 31, 2023
    Assignee: Oracle International Corporation
    Inventors: Vlad Haprian, Laurent Daynes, Zhen Hua Liu, Lei Sheng, Hugo Kapp, Marco Arnaboldi, Jean-Pierre Lozi, Andrew Witkowski, Hassan Chafi, Sungpack Hong
  • Patent number: 11561780
    Abstract: Techniques herein minimally communicate between computers to repartition a graph. In embodiments, each computer receives a partition of edges and vertices of the graph. For each of its edges or vertices, each computer stores an intermediate representation into an edge table (ET) or vertex table. Different edges of a vertex may be loaded by different computers, which may cause a conflict. Each computer announces that a vertex resides on the computer to a respective tracking computer. Each tracking computer makes assignments of vertices to computers and publicizes those assignments. Each computer that loaded conflicted vertices transfers those vertices to computers of the respective assignments. Each computer stores a materialized representation of a partition based on: the ET and vertex table of the computer, and the vertices and edges that were transferred to the computer. Edges stored in the materialized representation are stored differently than edges stored in the ET.
    Type: Grant
    Filed: October 13, 2020
    Date of Patent: January 24, 2023
    Assignee: Oracle International Corporation
    Inventors: Petr Koupy, Thomas Manhardt, Siegfried Depner, Sungpack Hong, Hassan Chafi
  • Patent number: 11537609
    Abstract: To execute function-step-based graph queries on a graph engine that has its own graph query language, rather than re-implementing an existing infrastructure to support function-step-based graph protocols, function-step-based graph queries are transformed to the graph query language that is understood by the graph engine. The existing infrastructure computes the results of the transformed queries. Result sets are then transformed to function-based-based result sets, which are returned to customers. In this manner, the graph engine supports function-step-based graph query workloads without implementation of the function-step-based graph protocol.
    Type: Grant
    Filed: June 30, 2020
    Date of Patent: December 27, 2022
    Assignee: Oracle International Corporation
    Inventors: Martijn Dwars, Martin Sevenich, Sungpack Hong, Guido Wachsmuth, Hassan Chafi
  • Patent number: 11531652
    Abstract: Herein are techniques that extend a software system to embed new guest programing languages (GPLs) that interoperate in a transparent, modular, and configurable way. In embodiments, a computer inserts an implementation of a GPL into a deployment of the system. A command registers the GPL, define subroutines for the GPL, generates a guest virtual environment, and adds a binding of a dependency to a guest module. In an embodiment, a native programing language invokes a guest programing language to cause importing intra- or inter-language dependencies. An embodiment defines a guest object that is implemented in a first GPL and accessed from a second GPL. In an embodiment, dependencies are retrieved from a virtual file system having several alternative implementation mechanisms that include: an archive file or an actual file system, and a memory buffer or a column of a database table.
    Type: Grant
    Filed: August 30, 2019
    Date of Patent: December 20, 2022
    Assignee: Oracle International Corporation
    Inventors: Pit Fender, Harshad Kasture, Alexander Ulrich, Benjamin Schlegel, Matthias Brantner, Hassan Chafi
  • Patent number: 11526673
    Abstract: According to an embodiment, a method includes converting a knowledge base into a graph. In this embodiment, the knowledge base contains a plurality of entities and specifies a plurality of relationships among the plurality of entities, and entities in the knowledge base correspond to vertices in the graph, and relationships between entities in the knowledge base correspond to edges between vertices in the graph. The method may also include extracting a plurality of vertex embeddings from the graph. An example vertex embedding of the plurality of vertex embeddings represents, for a particular vertex, a proximity of the particular vertex to other vertices of the graph. Further, the method may include performing, based at least in part on the plurality of vertex embeddings, entity linking between input text and the knowledge base.
    Type: Grant
    Filed: January 20, 2021
    Date of Patent: December 13, 2022
    Assignee: Oracle International Corporation
    Inventors: Rhicheek Patra, Davide Bartolini, Sungpack Hong, Hassan Chafi, Alberto Parravicini
  • Publication number: 20220391392
    Abstract: The present invention relates to execution optimization of database queries. Herein are techniques for optimal execution based on query interpretation by translation to a domain specific language (DSL), with optimizations such as partial evaluation, abstract syntax tree (AST) rewriting, just in time (JIT) compilation, dynamic profiling, speculative logic, and Futamura projection. In an embodiment, a database management system (DBMS) that is hosted on a computer generates a query tree that represents a database query that contains an expression that is represented by a subtree of the query tree. The DBMS generates a sequence of DSL instructions that represents the subtree. The sequence of DSL instructions is executed to evaluate the expression during execution of the database query. In an embodiment, an AST is generated from the sequence of DSL instructions. In an embodiment, the DSL AST is optimally rewritten based on a runtime feedback loop that includes dynamic profiling information.
    Type: Application
    Filed: August 17, 2022
    Publication date: December 8, 2022
    Inventors: Pit Fender, Alexander Ulrich, Laurent Daynes, Matthias Brantner, Bastian Hossbach, Benjamin Schlegel, Hassan Chafi
  • Patent number: 11513806
    Abstract: Techniques are provided for vectorizing Heapsort. A K-heap is used as the underlying data structure for indexing values being sorted. The K-heap is vectorized by storing values in a contiguous memory array containing a beginning-most side and end-most side. The vectorized Heapsort utilizes horizontal aggregation SIMD instructions for comparisons, shuffling, and moving data. Thus, the number of comparisons required in order to find the maximum or minimum key value within a single node of the K-heap is reduced resulting in faster retrieval operations.
    Type: Grant
    Filed: April 9, 2021
    Date of Patent: November 29, 2022
    Assignee: Oracle International Corporation
    Inventors: Benjamin Schlegel, Pit Fender, Harshad Kasture, Matthias Brantner, Hassan Chafi
  • Patent number: 11507579
    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 into a SQL query that can then be executed by the relational engine. As a result, techniques enable execution of graph pattern matching queries on top of the relational engine by avoiding any change in the existing SQL engine.
    Type: Grant
    Filed: October 26, 2020
    Date of Patent: November 22, 2022
    Assignee: Oracle International Corporation
    Inventors: Vlad Haprian, Laurent Daynes, Zhen Hua Liu, Lei Sheng, Hugo Kapp, Marco Arnaboldi, Jean-Pierre Lozi, Andrew Witkowski, Hassan Chafi, Sungpack Hong
  • Patent number: 11461130
    Abstract: In an embodiment, a computer of a cluster of computers receives graph logic that specifies a sequence of invocations, including a current invocation and a next invocation, of parallelism operations that can detect whether the graph logic should prematurely terminate. The computer initiates, on the computers of the cluster, execution of the graph logic to process a distributed graph. Before the current invocation, the graph logic registers reversion logic for a modification of the distributed graph that execution of the graph logic has caused. During the current invocation, it is detected that the graph logic should prematurely terminate. Execution of the graph logic on the cluster is terminated without performing the next invocation in the sequence of invocations. The reversion logic reverses the modification of the distributed graph to restore consistency. The distributed graph is retained in volatile memory of the cluster for reuse such as relaunch of the graph logic.
    Type: Grant
    Filed: May 26, 2020
    Date of Patent: October 4, 2022
    Assignee: Oracle International Corporation
    Inventors: Petr Koupy, Vasileios Trigonakis, Iraklis Psaroudakis, Jinsoo Lee, Sungpack Hong, Hassan Chafi
  • Patent number: 11461324
    Abstract: The present invention relates to execution optimization of database queries. Herein are techniques for optimal execution based on query interpretation by translation to a domain specific language (DSL), with optimizations such as partial evaluation, abstract syntax tree (AST) rewriting, just in time (JIT) compilation, dynamic profiling, speculative logic, and Futamura projection. In an embodiment, a database management system (DBMS) that is hosted on a computer generates a query tree that represents a database query that contains an expression that is represented by a subtree of the query tree. The DBMS generates a sequence of DSL instructions that represents the subtree. The sequence of DSL instructions is executed to evaluate the expression during execution of the database query. In an embodiment, an AST is generated from the sequence of DSL instructions. In an embodiment, the DSL AST is optimally rewritten based on a runtime feedback loop that includes dynamic profiling information.
    Type: Grant
    Filed: August 29, 2019
    Date of Patent: October 4, 2022
    Assignee: Oracle International Corporation
    Inventors: Pit Fender, Alexander Ulrich, Laurent Daynes, Matthias Brantner, Bastian Hossbach, Benjamin Schlegel, Hassan Chafi
  • Patent number: 11456946
    Abstract: A pattern matching engine interprets a query into a data structure resembling a finite state machine. Vertices in the query pattern are treated as states or stages, while edges connecting them are treated as state transitions or hops. To match the full pattern, the first stage is first matched by applying vertex filters, if any. If the vertex is eligible, its edges that satisfy the edge filters, if any, are followed to move to the neighbors that can potentially produce results, thus progressing to the next stage. This process is repeated; if all stages are matched, then the whole pattern has been matched successfully.
    Type: Grant
    Filed: June 11, 2020
    Date of Patent: September 27, 2022
    Assignee: Oracle International Corporation
    Inventors: Petar Tonkovic, Vasileios Trigonakis, Tomas Faltin, Sungpack Hong, Hassan Chafi