Patents by Inventor Tirthankar Lahiri

Tirthankar Lahiri 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: 20250231932
    Abstract: A shared-nothing database system is provided in which parallelism and workload balancing are increased by assigning the rows of each table to “slices”, and storing multiple copies (“duplicas”) of each slice across the persistent storage of multiple nodes of the shared-nothing database system. When the data for a table is distributed among the nodes of a shared-nothing system in this manner, requests to read data from a particular row of the table may be handled by any node that stores a duplica of the slice to which the row is assigned. For each slice, a single duplica of the slice is designated as the “primary duplica”. All DML operations (e.g. inserts, deletes, updates, etc.) that target a particular row of the table are performed by the node that has the primary duplica of the slice to which the particular row is assigned. The changes made by the DML operations are then propagated from the primary duplica to the other duplicas (“secondary duplicas”) of the same slice.
    Type: Application
    Filed: April 7, 2025
    Publication date: July 17, 2025
    Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza
  • Patent number: 12321353
    Abstract: Disclosed herein are techniques for storing, within a database system, metadata that indicates an intended usage (IU). Once created, an IU may be assigned to a column to (a) indicate how the column is intended to be used, and (b) affect how the database server behaves when database operations involve values from the column. The IU assigned to a column supplements, but does not replace, the datatype definition for the column. Each IU may have an IU-bundle. The IU-bundle of an IU indicates how the database server behaves with respect to any column that is assigned the IU. For example, the IU-bundle may indicate constraints that the database server must validate during operations on values from columns assigned to the IU. Techniques are also described for implementing multi-column IUs and flexible IUs.
    Type: Grant
    Filed: January 19, 2023
    Date of Patent: June 3, 2025
    Assignee: Oracle International Corporation
    Inventors: Tirthankar Lahiri, Juan R. Loaiza, Beda Christoph Hammerschmidt, Andrew Witkowski, Sankar Subramanian, Sabina Petride, Ajit Mylavarapu, Gerald Venzl
  • Publication number: 20250147936
    Abstract: Techniques for automatically migrating documents from a document database to a relational database are provided. In one technique, it is determined whether a set of documents, from a document database system, can be stored in a relational database system. If so, one or more entities to be normalized are identified based on a hierarchical structure of the set of documents. One or more scripts are generated based on the identified one or more entities. In a related technique, a set of documents from a document database system is stored. It is validated that the set of documents can be converted to one or more duality views. Data of the set of documents is normalized for storing in a relational database system. A script is generated that, when executed, generates the one or more duality views.
    Type: Application
    Filed: January 23, 2024
    Publication date: May 8, 2025
    Inventors: Shashank Gugnani, Ajit Mylavarapu, Sukhada Pendse, Tirthankar Lahiri, Shadab Ahmed, Sanju Gowda, Beda C. Hammerschmidt, Zhen Hua Liu
  • Patent number: 12287777
    Abstract: JSON Duality Views are object views that return JDV objects. JDV objects are virtual because they are not stored in a database as JSON objects. Rather, JDV objects are stored in shredded form across tables and table attributes (e.g. columns) and returned by a DBMS in response to database commands that request a JDV object from a JSON Duality View. Through JSON Duality Views, changes to the state of a JDV object may be specified at the level of a JDV object. JDV objects are updated in a database using optimistic lock.
    Type: Grant
    Filed: October 14, 2022
    Date of Patent: April 29, 2025
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Zhen Hua Liu, Juan R. Loaiza, Sundeep Abraham, Shubha Bose, Hui Joe Chang, Shashank Gugnani, Beda Christoph Hammerschmidt, Tirthankar Lahiri, Ying Lu, Douglas James McMahon, Aurosish Mishra, Ajit Mylavarapu, Sukhada Pendse, Ananth Raghavan
  • Patent number: 12271372
    Abstract: One or more engine instances are executed on each host to form an engine cluster. A plurality of control instances are executed on a first set of hosts to form a control cluster and comprise a control instance leader and one or more control instance followers. In response to a first host indicating a failure of a neighbor host, a pair-wise focused investigation is initiated to check peer-to-peer connections between the first host and the neighbor host. In response to one or more additional hosts indicating failures of neighbor hosts while the pair-wise focused investigation is being performed, a wide investigation is performed to check connections between the control cluster and the plurality of hosts. One or more hosts are added to an eviction list and an eviction protocol is performed to evict the one or more hosts from the engine cluster using the eviction list.
    Type: Grant
    Filed: April 11, 2024
    Date of Patent: April 8, 2025
    Assignee: Oracle International Corporation
    Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R Loaiza
  • Publication number: 20250094399
    Abstract: Techniques for automatically selecting a type of vector index are provided. In one technique, in response to determining to generate a vector index based on a base table that stores a plurality of vectors, a number of the plurality of vectors is identified. Based at least on the number of the plurality of vectors, a particular type of vector index is identified from among a plurality of types of vector indexes. Examples of the plurality of types include an HNSW index and an IVF index. A vector index of the particular type is generated for the base table. Another criterion in identifying a type of vector index to generate is the number of neighbors that is a parameter in generating a certain type of vector index.
    Type: Application
    Filed: September 14, 2024
    Publication date: March 20, 2025
    Inventors: Aurosish Mishra, Shasank Kisan Chavan, Tirthankar Lahiri, Agnivo Saha, Rohan Aggarwal, Weiwei Gong, Juan R. Loaiza
  • Publication number: 20250094294
    Abstract: Techniques are described for Transaction Guard to impose at-most-once execution by generating and using the database's native transaction identifier, DB XID. In an implementation, DB XID is unique within a (pluggable) database instance (with local undo) and uniquely identifies a transaction in the database. The Transaction Guard that is extended to use native transaction information determines the commit outcome using the native transaction identifier of the transaction instead of relying on the persistence of the Logical Transaction Identifier (LTXID) in a separate table. Using the native transaction identifier, the Transaction Guard significantly improves performance by eliminating the extra write(s) incurred during commit operations.
    Type: Application
    Filed: September 13, 2024
    Publication date: March 20, 2025
    Inventors: Natesh Kedlaya, Sukhada Pendse, Ajit Mylavarapu, Tirthankar Lahiri, Carol Lyndall Colrain, Xiaoli Qi, Juan R. Loaiza
  • Publication number: 20250094412
    Abstract: Techniques for providing a transactionally-consistent Hierarchical Navigable Small Worlds (HNSW) index are described. In one technique, a HNSW index for a plurality of vectors is stored. In response to receiving a set of changes to the plurality of vectors, storing the set of changes in a shared journal table instead of applying the set of changes to the HNSW index. in response to receiving a vector query that includes a query vector, a subset of the set of changes in the shared journal table is identified based on the query vector. Also, based on the query vector and the HNSW index, a subset of the plurality of vectors is identified. A result of the vector query is generated based on the subset of the set of changes and the subset of the plurality of vectors.
    Type: Application
    Filed: September 14, 2024
    Publication date: March 20, 2025
    Inventors: Aurosish Mishra, Sukhada Shashank Pendse, Agnivo Saha, Rohan Aggarwal, Xianqi Wang, Shasank Kisan Chavan, Tirthankar Lahiri
  • Publication number: 20250094400
    Abstract: Techniques for deploying a vector index on multiple nodes of a cluster are provided. In one technique, an instruction is received to create a vector index on a set of vectors that is stored in a vector database that is connected to the multiple nodes. In response, an HNSW index is created based on the set of vectors and the HNSW index is stored on each node. In response to receiving a vector query, a node processes the vector query against its copy of the HNSW index. In another technique, each node retrieves, from a vector database, a respective subset of a set of vectors and generates, based on the respective subset, a respective HNSW index. A vector query is transmitted to each node, which traverses its HNSW index to generate results of the vector query. The results from each node are combined to generate final results.
    Type: Application
    Filed: September 14, 2024
    Publication date: March 20, 2025
    Inventors: Aurosish Mishra, Shasank Kisan Chavan, Agnivo Saha, Shubha Bose, Chinmayi Krishnappa, Tirthankar Lahiri
  • Patent number: 12147398
    Abstract: A computer analyzes a relational schema of a database to generate a data entry schema and encodes the data entry schema as JSON. The data entry schema is sent to a database client so that the client can validate entered data before the entered data is sent for storage. From the client, entered data is received that conforms to the data entry schema because the client used the data entry schema to validate the entered data before sending the data. Into the database, the entered data is stored that conforms to the data entry schema. The data entry schema and the relational schema have corresponding constraints on a datum to be stored, such as a range limit for a database column or an express set of distinct valid values. A constraint may specify a format mask or regular expression that values in the column should conform to, or a correlation between values of multiple columns.
    Type: Grant
    Filed: February 28, 2023
    Date of Patent: November 19, 2024
    Assignee: Oracle International Corporation
    Inventors: Tirthankar Lahiri, Srikrishnan Suresh, Beda Christoph Hammerschmidt, Adrian Daniel Popescu, Jesse Kamp, Zhen Hua Liu
  • Publication number: 20240289318
    Abstract: Disclosed is an approach to autonomously abort a lower priority transaction that is blocking a higher priority transaction, where the lower priority transaction is holding a lock on a resource for which there is contention. Some approaches also provide an efficient way to implement identification of a blocker transaction, which drastically reduces the response time to abort the blocker transaction.
    Type: Application
    Filed: February 28, 2023
    Publication date: August 29, 2024
    Applicant: Oracle International Corporation
    Inventors: Sarat Inuguri, Kishy Kumar, Ajit Mylavarapu, Sue Kyong Lee, Manoj Dhanapal, Subrata Sen, Tirthankar Lahiri, Sanjay Singh, Mukul Pandey
  • Publication number: 20240273087
    Abstract: One or more engine instances are executed on each host to form an engine cluster. A plurality of control instances are executed on a first set of hosts to form a control cluster and comprise a control instance leader and one or more control instance followers. In response to a first host indicating a failure of a neighbor host, a pair-wise focused investigation is initiated to check peer-to-peer connections between the first host and the neighbor host. In response to one or more additional hosts indicating failures of neighbor hosts while the pair-wise focused investigation is being performed, a wide investigation is performed to check connections between the control cluster and the plurality of hosts. One or more hosts are added to an eviction list and an eviction protocol is performed to evict the one or more hosts from the engine cluster using the eviction list.
    Type: Application
    Filed: April 11, 2024
    Publication date: August 15, 2024
    Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza
  • Patent number: 11983170
    Abstract: One or more engine instances are executed on each host to form an engine cluster. A plurality of control instances are executed on a first set of hosts to form a control cluster and comprise a control instance leader and one or more control instance followers. In response to a first host indicating a failure of a neighbor host, a pair-wise focused investigation is initiated to check peer-to-peer connections between the first host and the neighbor host. In response to one or more additional hosts indicating failures of neighbor hosts while the pair-wise focused investigation is being performed, a wide investigation is performed to check connections between the control cluster and the plurality of hosts. One or more hosts are added to an eviction list and an eviction protocol is performed to evict the one or more hosts from the engine cluster using the eviction list.
    Type: Grant
    Filed: March 6, 2023
    Date of Patent: May 14, 2024
    Assignee: Oracle International Corporation
    Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza
  • Patent number: 11971869
    Abstract: A shared-nothing database system is provided in which parallelism and workload balancing are increased by assigning the rows of each table to “slices”, and storing multiple copies (“duplicas”) of each slice across the persistent storage of multiple nodes of the shared-nothing database system. When the data for a table is distributed among the nodes of a shared-nothing system in this manner, requests to read data from a particular row of the table may be handled by any node that stores a duplica of the slice to which the row is assigned. For each slice, a single duplica of the slice is designated as the “primary duplica”. All DML operations (e.g. inserts, deletes, updates, etc.) that target a particular row of the table are performed by the node that has the primary duplica of the slice to which the particular row is assigned. The changes made by the DML operations are then propagated from the primary duplica to the other duplicas (“secondary duplicas”) of the same slice.
    Type: Grant
    Filed: October 26, 2022
    Date of Patent: April 30, 2024
    Assignee: Oracle International Corporation
    Inventors: Jesse Kamp, Allison L. Holloway, Meichun Hsu, Hideaki Kimura, Boris Klots, Vasudha Krishnaswamy, Kartik Kulkarni, Teck Hua Lee, Yunrui Li, Aurosish Mishra, Ajit Mylavarapu, Sukhada Pendse, Garret F. Swart, Shasank K. Chavan, Tirthankar Lahiri, Juan R. Loaiza
  • Publication number: 20240126729
    Abstract: JSON Duality Views are object views that return JDV objects. JDV objects are virtual because they are not stored in a database as JSON objects. Rather, JDV objects are stored in shredded form across tables and table attributes (e.g. columns) and returned by a DBMS in response to database commands that request a JDV object from a JSON Duality View. Through JSON Duality Views, changes to the state of a JDV object may be specified at the level of a JDV object. JDV objects are updated in a database using optimistic lock.
    Type: Application
    Filed: October 14, 2022
    Publication date: April 18, 2024
    Inventors: ZHEN HUA LIU, JUAN R. LOAIZA, SUNDEEP ABRAHAM, SHUBHA BOSE, HUI JOE CHANG, SHASHANK GUGNANI, BEDA CHRISTOPH HAMMERSCHMIDT, TIRTHANKAR LAHIRI, YING LU, DOUGLAS JAMES MCMAHON, AUROSISH MISHRA, AJIT MYLAVARAPU, SUKHADA PENDSE, ANANTH RAGHAVAN
  • Publication number: 20240126743
    Abstract: JSON Duality Views are object views that return JDV objects. JDV objects are virtual because they are not stored in a database as JSON objects. Rather, JDV objects are stored in shredded form across tables and table attributes (e.g. columns) and returned by a DBMS in response to database commands that request a JDV object from a JSON Duality View. Through JSON Duality Views, changes to the state of a JDV object may be specified at the level of a JDV object. JDV objects are updated in a database using optimistic lock.
    Type: Application
    Filed: October 14, 2022
    Publication date: April 18, 2024
    Inventors: ZHEN HUA LIU, JUAN R. LOAIZA, SUNDEEP ABRAHAM, SHUBHA BOSE, HUI JOE CHANG, SHASHANK GUGNANI, BEDA CHRISTOPH HAMMERSCHMIDT, TIRTHANKAR LAHIRI, YING LU, DOUGLAS JAMES MCMAHON, AUROSISH MISHRA, AJIT MYLAVARAPU, SUKHADA PENDSE, ANANTH RAGHAVAN
  • Publication number: 20240126728
    Abstract: JSON Duality Views are object views that return JDV objects. JDV objects are virtual because they are not stored in a database as JSON objects. Rather, JDV objects are stored in shredded form across tables and table attributes (e.g. columns) and returned by a DBMS in response to database commands that request a JDV object from a JSON Duality View. Through JSON Duality Views, changes to the state of a JDV object may be specified at the level of a JDV object. JDV objects are updated in a database using optimistic lock.
    Type: Application
    Filed: October 14, 2022
    Publication date: April 18, 2024
    Inventors: ZHEN HUA LIU, JUAN R. LOAIZA, SUNDEEP ABRAHAM, SHUBHA BOSE, HUI JOE CHANG, SHASHANK GUGNANI, BEDA CHRISTOPH HAMMERSCHMIDT, TIRTHANKAR LAHIRI, YING LU, DOUGLAS JAMES MCMAHON, AUROSISH MISHRA, AJIT MYLAVARAPU, SUKHADA PENDSE, ANANTH RAGHAVAN
  • Publication number: 20240126741
    Abstract: A Lock-Free Reservation mechanism is provided. When a transaction issues an update that affects a value in a “reservable column” of a row, the database server does not immediately obtain a lock that covers the row. Instead, the database server adds a reservation to a reservation journal. At the time the transaction commits, a lock is obtained and the requested update is made. In one implementation, before adding the reservation to the reservation journal, the database server determines whether making the update would violate any constraints involving the reservable column. In one implementation, the constraint check not only takes into account the current value of the data item that is being updated and the amount of the update, but also pre-existing reservations in the reservation journal that affect the same data item.
    Type: Application
    Filed: July 19, 2023
    Publication date: April 18, 2024
    Inventors: VASUDHA KRISHNASWAMY, DIETER GAWLICK, TIRTHANKAR LAHIRI, WEIWEI GONG
  • Publication number: 20240126763
    Abstract: Disclosed herein are techniques for storing, within a database system, metadata that indicates an intended usage (IU). Once created, an IU may be assigned to a column to (a) indicate how the column is intended to be used, and (b) affect how the database server behaves when database operations involve values from the column. The IU assigned to a column supplements, but does not replace, the datatype definition for the column. Each IU may have an IU-bundle. The IU-bundle of an IU indicates how the database server behaves with respect to any column that is assigned the IU. For example, the IU-bundle may indicate constraints that the database server must validate during operations on values from columns assigned to the IU. Techniques are also described for implementing multi-column IUs and flexible IUs.
    Type: Application
    Filed: January 19, 2023
    Publication date: April 18, 2024
    Inventors: Tirthankar Lahiri, Juan R. Loaiza, Beda Christoph Hammerschmidt, Andrew Witkowski, Sankar Subramanian, Sabina Petride, Ajit Mylavarapu, Gerald Venzl
  • Publication number: 20240119031
    Abstract: A computer analyzes a relational schema of a database to generate a data entry schema and encodes the data entry schema as JSON. The data entry schema is sent to a database client so that the client can validate entered data before the entered data is sent for storage. From the client, entered data is received that conforms to the data entry schema because the client used the data entry schema to validate the entered data before sending the data. Into the database, the entered data is stored that conforms to the data entry schema. The data entry schema and the relational schema have corresponding constraints on a datum to be stored, such as a range limit for a database column or an express set of distinct valid values. A constraint may specify a format mask or regular expression that values in the column should conform to, or a correlation between values of multiple columns.
    Type: Application
    Filed: February 28, 2023
    Publication date: April 11, 2024
    Inventors: Tirthankar Lahiri, Srikrishnan Suresh, Beda Christoph Hammerschmidt, Adrian Daniel Popescu, Jesse Kamp, Zhen Hua Liu