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: 11507590Abstract: 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: GrantFiled: June 17, 2020Date of Patent: November 22, 2022Assignee: Oracle International CorporationInventors: Siva Ravada, Ying Hu, Zhen Hua Liu, Shasank Kisan Chavan, Aurosish Mishra, Vikas Arora
-
Patent number: 11500868Abstract: 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: GrantFiled: January 29, 2021Date of Patent: November 15, 2022Assignee: Oracle International CorporationInventors: Andrea Segalini, Jean-Pierre Lozi, Laurent Daynes, Marco Arnaboldi, Vlad Ioan Haprian, Hugo Kapp, Shasank Kisan Chavan, Zhen Hua Liu, Danica Porobic
-
Patent number: 11429604Abstract: 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: GrantFiled: September 9, 2020Date of Patent: August 30, 2022Assignee: Oracle International CorporationInventors: Shasank Kisan Chavan, Garret F. Swart, Weiwei Gong
-
Publication number: 20220245147Abstract: 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: ApplicationFiled: January 29, 2021Publication date: August 4, 2022Inventors: Andrea Segalini, Jean-Pierre Lozi, Laurent Daynes, Marco Arnaboldi, Vlad Ioan Haprian, Hugo Kapp, Shasank Kisan Chavan, Zhen Hua Liu, Danica Porobic
-
Patent number: 11403367Abstract: 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: GrantFiled: April 14, 2020Date of Patent: August 2, 2022Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: William Martinez Cortes, Shasank Kisan Chavan, Siva Ravada, Ying Hu
-
Patent number: 11379410Abstract: 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: GrantFiled: July 10, 2020Date of Patent: July 5, 2022Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Kamaljit Shergill, Hariharan Lakshmanan, Viral Shah, Shasank Kisan Chavan
-
Publication number: 20220114178Abstract: 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: ApplicationFiled: January 29, 2021Publication date: April 14, 2022Inventors: 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: 11288275Abstract: 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: GrantFiled: September 9, 2020Date of Patent: March 29, 2022Assignee: Oracle International CorporationInventors: Chinmayi Krishnappa, Jim Kearney, Weiwei Gong, Shasank Kisan Chavan
-
Publication number: 20220083553Abstract: 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: ApplicationFiled: November 30, 2021Publication date: March 17, 2022Inventors: Shasank Kisan Chavan, William Martinez Cortes, Weiwei Gong
-
Patent number: 11222018Abstract: 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: GrantFiled: July 8, 2020Date of Patent: January 11, 2022Assignee: Oracle International CorporationInventors: Shasank Kisan Chavan, William Martinez Cortes, Weiwei Gong
-
Publication number: 20210334249Abstract: 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: ApplicationFiled: July 8, 2021Publication date: October 28, 2021Inventors: Marco Arnaboldi, Jean-Pierre Lozi, Laurent Phillipe Daynes, Vlad Ioan Haprian, Shasank Kisan Chavan, Hugo Kapp, Sungpack Hong
-
Patent number: 11093459Abstract: 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: GrantFiled: January 21, 2020Date of Patent: August 17, 2021Assignee: Oracle International CorporationInventors: Marco Arnaboldi, Jean-Pierre Lozi, Laurent Phillipe Daynes, Vlad Ioan Haprian, Shasank Kisan Chavan, Hugo Kapp, Sungpack Hong
-
Publication number: 20210224235Abstract: 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: ApplicationFiled: January 21, 2020Publication date: July 22, 2021Inventors: Marco Arnaboldi, Jean-Pierre Lozi, Laurent Phillipe Daynes, Vlad Ioan Haprian, Shasank Kisan Chavan, Hugo Kapp, Sungpack Hong
-
Publication number: 20210081410Abstract: 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: ApplicationFiled: September 11, 2020Publication date: March 18, 2021Inventors: Shasank Kisan Chavan, JAMES KEARNEY, WEIWEI GONG
-
Publication number: 20210081417Abstract: 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: ApplicationFiled: September 11, 2020Publication date: March 18, 2021Inventors: Shasank Kisan Chavan, JAMES KEARNEY, WEIWEI GONG
-
Publication number: 20210081428Abstract: 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: ApplicationFiled: June 17, 2020Publication date: March 18, 2021Inventors: Siva Ravada, Ying Hu, Zhen Hua Liu, Shasank Kisan Chavan, Aurosish Mishra, Vikas Arora
-
Publication number: 20210081356Abstract: 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: ApplicationFiled: July 10, 2020Publication date: March 18, 2021Inventors: Kamaljit Shergill, Hariharan Lakshmanan, Viral Shah, Shasank Kisan Chavan
-
Publication number: 20210081490Abstract: 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: ApplicationFiled: April 14, 2020Publication date: March 18, 2021Inventors: William Martinez Cortes, Shasank Kisan Chavan, Siva Ravada, Ying Hu
-
Publication number: 20210073233Abstract: 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: ApplicationFiled: July 8, 2020Publication date: March 11, 2021Inventors: Shasank Kisan Chavan, William Martinez Cortes, Weiwei Gong
-
Publication number: 20210073221Abstract: 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: ApplicationFiled: September 9, 2020Publication date: March 11, 2021Inventors: SHASANK KISAN CHAVAN, CHINMAYI KRISHNAPPA, WEIWEI GONG, JIM KEARNEY