Patents by Inventor Shasank Kisan Chavan

Shasank Kisan Chavan 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: 11507590
    Abstract: Techniques are introduced herein for maintaining geometry-type data on persistent storage and in memory. Specifically, a DBMS that maintains a database table, which includes at least one column storing spatial data objects (SDOs), also maintains metadata for the database table that includes definition data for one or more virtual columns of the table. According to an embodiment, the definition data includes one or more expressions that calculate minimum bounding box values for SDOs stored in the geometry-type column in the table. The one or more expressions in the metadata maintained for the table are used to create one or more in-memory columns that materialize the bounding box data for the represented SDOs. When a query that uses spatial-type operators to perform spatial filtering over data in the geometry-type column is received, the DBMS replaces the spatial-type operators with operators that operate over the scalar bounding box information materialized in memory.
    Type: Grant
    Filed: June 17, 2020
    Date of Patent: November 22, 2022
    Assignee: Oracle International Corporation
    Inventors: Siva Ravada, Ying Hu, Zhen Hua Liu, Shasank Kisan Chavan, Aurosish Mishra, Vikas Arora
  • 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
  • Patent number: 11429604
    Abstract: The present invention relates to optimized access of a database. Herein are techniques to accelerate execution of any combination of ad hoc query, heterogenous hardware, and fluctuating workload. In an embodiment, a computer receives a data access request for data tuples and compiles the data access request into relational operators. A particular implementation of a particular relational operator is dynamically selected from multiple interchangeable implementations. Each interchangeable implementation contains respective physical operators. A particular hardware operator for a particular physical operator is selected from multiple interchangeable hardware operators that include: a first hardware operator that executes on first processing hardware, and a second hardware operator that executes on second processing hardware that is functionally different from the first processing hardware.
    Type: Grant
    Filed: September 9, 2020
    Date of Patent: August 30, 2022
    Assignee: Oracle International Corporation
    Inventors: Shasank Kisan Chavan, Garret F. Swart, Weiwei Gong
  • 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
  • Patent number: 11403367
    Abstract: Techniques described herein perform spherical PIP analysis by detecting whether a test ray (defined by a test point (TP) and a point (EP) that is external to a spherical polygon) crosses edge arcs (“edges”) of the polygon based on relative orientations of vertices of the test ray and edges. A classifier vector (CV) for a test ray is calculated based on the cross-product of the TP and the EP. Using the CV, the orientation of each vertex of the polygon with respect to the test ray is determined. Candidate edges having vertices with opposite orientations with respect to the test ray are identified. Crossing edges are determine by calculating CVs for each candidate edge, and determining orientations of the TP and EP with respect to each candidate edge. A set of crossing edges is determined, where the TP and the EP have opposite orientations with respect to each crossing edge.
    Type: Grant
    Filed: April 14, 2020
    Date of Patent: August 2, 2022
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: William Martinez Cortes, Shasank Kisan Chavan, Siva Ravada, Ying Hu
  • Patent number: 11379410
    Abstract: Techniques are provided for a DBMS automating ILM on indexes, based on index composition, to efficiently reduce index storage footprints. According to an embodiment, a user sets an index-specific ILM (ISILM) policy, which comprises one or both of an index-test requirement and a time requirement. Based on the ISILM policy being met, or on some other way of initiating analysis, the DBMS automatically analyzes the data blocks storing the index to determine an index condition metric (e.g., percentage of free space). This analysis is performed on a sample of data blocks storing the index without blocking the index from other operations during the analysis. The condition metric for the entire index is estimated based on analysis of the sample data blocks. Using the determined condition metric for an index, the DBMS automatically selects an option for optimally managing the index (e.g., coalesce, shrink space, index rebuild, no action, etc.).
    Type: Grant
    Filed: July 10, 2020
    Date of Patent: July 5, 2022
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Kamaljit Shergill, Hariharan Lakshmanan, Viral Shah, Shasank Kisan Chavan
  • 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: 11288275
    Abstract: For join acceleration, a computer stores local encoding dictionaries (ED), including a build ED that contains a plurality of distinct build dictionary codes (DC) and a probe ED that contains a plurality of distinct probe DCs that is not identical to the plurality of distinct build DCs (BDC). Build data rows (DR) that contain a build key that contains BDCs from the plurality of distinct BDCs is stored. Probe DRs that contain a probe key that contains probe DCs from the plurality of distinct probe DCs is stored. A request for a relational join of the build DRs with the probe DRs is received. The BDCs from the build key and the probe DCs from the probe key are transcoded to global DCs (GDC) of a global ED. Based on GDCs for the build key, a build array whose offsets are respective GDCs of the global ED is populated. Based on GDCs for the probe key, offsets of the build array are accessed. A response to the request for the relational join that is based on accessing offsets of the build array is sent.
    Type: Grant
    Filed: September 9, 2020
    Date of Patent: March 29, 2022
    Assignee: Oracle International Corporation
    Inventors: Chinmayi Krishnappa, Jim Kearney, Weiwei Gong, Shasank Kisan Chavan
  • Publication number: 20220083553
    Abstract: Herein are techniques for dynamic aggregation of results of a database request, including concurrent grouping of result items in memory based on quasi-dense keys. Each of many computational threads concurrently performs as follows. A hash code is calculated that represents a particular natural grouping key (NGK) for an aggregate result of a database request. Based on the hash code, the thread detects that a set of distinct NGKs that are already stored in the aggregate result does not contain the particular NGK. A distinct dense grouping key for the particular NGK is statefully generated. The dense grouping key is bound to the particular NGK. Based on said binding, the particular NGK is added to the set of distinct NGKs in the aggregate result.
    Type: Application
    Filed: November 30, 2021
    Publication date: March 17, 2022
    Inventors: Shasank Kisan Chavan, William Martinez Cortes, Weiwei Gong
  • Patent number: 11222018
    Abstract: Herein are techniques for dynamic aggregation of results of a database request, including concurrent grouping of result items in memory based on quasi-dense keys. Each of many computational threads concurrently performs as follows. A hash code is calculated that represents a particular natural grouping key (NGK) for an aggregate result of a database request. Based on the hash code, the thread detects that a set of distinct NGKs that are already stored in the aggregate result does not contain the particular NGK. A distinct dense grouping key for the particular NGK is statefully generated. The dense grouping key is bound to the particular NGK. Based on said binding, the particular NGK is added to the set of distinct NGKs in the aggregate result.
    Type: Grant
    Filed: July 8, 2020
    Date of Patent: January 11, 2022
    Assignee: Oracle International Corporation
    Inventors: Shasank Kisan Chavan, William Martinez Cortes, Weiwei Gong
  • 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
  • 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: 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
  • Publication number: 20210081410
    Abstract: The present invention relates to hash join acceleration. In an embodiment, a computer receives a request to join build data rows with probe data rows. Each data row is associated with a respective join key value. From multiple buckets of a hash table, a bucket is selected that contains entries of multiple respective join key values in respective locations within the bucket. Whether or not the bucket contains an entry of the join key value of a build data row is detected. While building, multiple locations within the bucket are concurrently inspected to find an empty location in which to store the entry of the join key value of the build data row. The bucket is concurrently probed to detect whether or not the entries in the bucket include an entry of a join key value of a probe data row. For the join request, a response is sent that is based on the concurrent probing of the bucket.
    Type: Application
    Filed: September 11, 2020
    Publication date: March 18, 2021
    Inventors: Shasank Kisan Chavan, JAMES KEARNEY, WEIWEI GONG
  • Publication number: 20210081417
    Abstract: The present invention relates to join acceleration. In an embodiment, a computer receives a request for a relational join of build data rows with probe data rows. Based on the request for the relational join, a particular kind of data map from many kinds of data map that can implement the relational join is dynamically selected. Based on the build data rows, an instance of the particular kind of data map is populated. A response is sent for the request for the relational join that is based on the probe data rows and the instance of the particular kind of data map.
    Type: Application
    Filed: September 11, 2020
    Publication date: March 18, 2021
    Inventors: Shasank Kisan Chavan, JAMES KEARNEY, WEIWEI GONG
  • Publication number: 20210081428
    Abstract: Techniques are introduced herein for maintaining geometry-type data on persistent storage and in memory. Specifically, a DBMS that maintains a database table, which includes at least one column storing spatial data objects (SDOs), also maintains metadata for the database table that includes definition data for one or more virtual columns of the table. According to an embodiment, the definition data includes one or more expressions that calculate minimum bounding box values for SDOs stored in the geometry-type column in the table. The one or more expressions in the metadata maintained for the table are used to create one or more in-memory columns that materialize the bounding box data for the represented SDOs. When a query that uses spatial-type operators to perform spatial filtering over data in the geometry-type column is received, the DBMS replaces the spatial-type operators with operators that operate over the scalar bounding box information materialized in memory.
    Type: Application
    Filed: June 17, 2020
    Publication date: March 18, 2021
    Inventors: Siva Ravada, Ying Hu, Zhen Hua Liu, Shasank Kisan Chavan, Aurosish Mishra, Vikas Arora
  • Publication number: 20210081356
    Abstract: Techniques are provided for a DBMS automating ILM on indexes, based on index composition, to efficiently reduce index storage footprints. According to an embodiment, a user sets an index-specific ILM (ISILM) policy, which comprises one or both of an index-test requirement and a time requirement. Based on the ISILM policy being met, or on some other way of initiating analysis, the DBMS automatically analyzes the data blocks storing the index to determine an index condition metric (e.g., percentage of free space). This analysis is performed on a sample of data blocks storing the index without blocking the index from other operations during the analysis. The condition metric for the entire index is estimated based on analysis of the sample data blocks. Using the determined condition metric for an index, the DBMS automatically selects an option for optimally managing the index (e.g., coalesce, shrink space, index rebuild, no action, etc.).
    Type: Application
    Filed: July 10, 2020
    Publication date: March 18, 2021
    Inventors: Kamaljit Shergill, Hariharan Lakshmanan, Viral Shah, Shasank Kisan Chavan
  • Publication number: 20210081490
    Abstract: Techniques described herein perform spherical PIP analysis by detecting whether a test ray (defined by a test point (TP) and a point (EP) that is external to a spherical polygon) crosses edge arcs (“edges”) of the polygon based on relative orientations of vertices of the test ray and edges. A classifier vector (CV) for a test ray is calculated based on the cross-product of the TP and the EP. Using the CV, the orientation of each vertex of the polygon with respect to the test ray is determined. Candidate edges having vertices with opposite orientations with respect to the test ray are identified. Crossing edges are determine by calculating CVs for each candidate edge, and determining orientations of the TP and EP with respect to each candidate edge. A set of crossing edges is determined, where the TP and the EP have opposite orientations with respect to each crossing edge.
    Type: Application
    Filed: April 14, 2020
    Publication date: March 18, 2021
    Inventors: William Martinez Cortes, Shasank Kisan Chavan, Siva Ravada, Ying Hu
  • Publication number: 20210073233
    Abstract: Herein are techniques for dynamic aggregation of results of a database request, including concurrent grouping of result items in memory based on quasi-dense keys. Each of many computational threads concurrently performs as follows. A hash code is calculated that represents a particular natural grouping key (NGK) for an aggregate result of a database request. Based on the hash code, the thread detects that a set of distinct NGKs that are already stored in the aggregate result does not contain the particular NGK. A distinct dense grouping key for the particular NGK is statefully generated. The dense grouping key is bound to the particular NGK. Based on said binding, the particular NGK is added to the set of distinct NGKs in the aggregate result.
    Type: Application
    Filed: July 8, 2020
    Publication date: March 11, 2021
    Inventors: Shasank Kisan Chavan, William Martinez Cortes, Weiwei Gong
  • Publication number: 20210073221
    Abstract: For join acceleration, a computer stores local encoding dictionaries (ED), including a build ED that contains a plurality of distinct build dictionary codes (DC) and a probe ED that contains a plurality of distinct probe DCs that is not identical to the plurality of distinct build DCs (BDC). Build data rows (DR) that contain a build key that contains BDCs from the plurality of distinct BDCs is stored. Probe DRs that contain a probe key that contains probe DCs from the plurality of distinct probe DCs is stored. A request for a relational join of the build DRs with the probe DRs is received. The BDCs from the build key and the probe DCs from the probe key are transcoded to global DCs (GDC) of a global ED. Based on GDCs for the build key, a build array whose offsets are respective GDCs of the global ED is populated. Based on GDCs for the probe key, offsets of the build array are accessed. A response to the request for the relational join that is based on accessing offsets of the build array is sent.
    Type: Application
    Filed: September 9, 2020
    Publication date: March 11, 2021
    Inventors: SHASANK KISAN CHAVAN, CHINMAYI KRISHNAPPA, WEIWEI GONG, JIM KEARNEY