Patents by Inventor Vasudha Krishnaswamy

Vasudha Krishnaswamy 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: 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: 20240126745
    Abstract: A database-native Lock-Free Reservation infrastructure is used to provide automatic compensation for the reservable column updates made by successful local transactions (or microservice actions) that are part of a saga that is being aborted. The automatic compensation is achieved by tracking the reservable column updates in a reservations journal, within the database, during the execution of the local transaction and remembering them beyond the commit of the local transaction until the finalization of the saga that the transaction is a part of. If the saga aborts, then the database server automatically uses the information retained in the reservations journal to compensate for the changes made by the committed transactions that were part of the saga.
    Type: Application
    Filed: July 19, 2023
    Publication date: April 18, 2024
    Inventors: VASUDHA KRISHNASWAMY, DIETER GAWLICK, MAHESH BABURAO GIRKAR, AMIT KETKAR, JIAQI WANG, PAVAS NAVANEY
  • 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: 20230281190
    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: March 6, 2023
    Publication date: September 7, 2023
    Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Juan R. Loaiza, Tirthankar Lahiri
  • Patent number: 11657037
    Abstract: Techniques related to query execution against an in-memory standby database are disclosed. A first database includes PF data stored on persistent storage in a persistent format. The first database is accessible to a first database server that converts the PF data to a mirror format to produce MF data that is stored within volatile memory. The first database server receives, from a second database server, one or more change records indicating one or more transactions performed against a second database. The one or more change records are applied to the PF data, and a reference timestamp is advanced from a first to a second timestamp. The first database server invalidates any MF data that is changed by a subset of the one or more transactions that committed between the first and second timestamps.
    Type: Grant
    Filed: August 31, 2016
    Date of Patent: May 23, 2023
    Assignee: Oracle International Corporation
    Inventors: Vasudha Krishnaswamy, Yunrui Li, Vivekanandhan Raja, Tirthankar Lahiri, Mahesh B. Girkar, Sukhada Pendse, Kartik Kulkarni, Jing Zheng, Shruti Gautam, Henry Chau
  • Patent number: 11599421
    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: December 30, 2020
    Date of Patent: March 7, 2023
    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: 20230050727
    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: October 26, 2022
    Publication date: February 16, 2023
    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
  • Patent number: 11550771
    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 14, 2020
    Date of Patent: January 10, 2023
    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
  • Patent number: 11514029
    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: December 29, 2020
    Date of Patent: November 29, 2022
    Assignee: Oracle International Corporation
    Inventors: Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Ajit Mylavarapu, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza
  • Publication number: 20220114153
    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: October 14, 2020
    Publication date: April 14, 2022
    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: 20220114058
    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: December 30, 2020
    Publication date: April 14, 2022
    Inventors: Ajit Mylavarapu, Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza
  • Publication number: 20220114164
    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: December 29, 2020
    Publication date: April 14, 2022
    Inventors: Vasudha Krishnaswamy, Sukhada Pendse, Solmaz Kolahi, Ankita Kumar, Ajit Mylavarapu, Garret F. Swart, Tirthankar Lahiri, Juan R. Loaiza
  • Patent number: 10747752
    Abstract: Embodiments store transaction metadata in dedicated pools of allocated memory chunks. Portions of the pools of allocated memory chunks are dedicated to the respective apply slave processes that mine and process change records. Also, the pools of allocated memory chunks are anchored within the structure of a transaction log such that buffering and application of metadata for one transaction does not block required buffering and application of metadata for other transactions. The standby database system pre-processes transaction metadata in preparation for application of the metadata to invalidate appropriate portions of MF data. Further, embodiments divide the work of pre-processing invalidation records among the many apply slave processes that record the invalidation records. A garbage collection selects memory chunks for garbage collection in reverse order of how the chunks were allocated.
    Type: Grant
    Filed: February 9, 2018
    Date of Patent: August 18, 2020
    Assignee: Oracle International Corporation
    Inventors: Vasudha Krishnaswamy, Kartik Kulkarni, Sukhada Pendse, Akshay Kulkarni
  • Patent number: 10474653
    Abstract: Techniques are described herein for distributing distinct portions of a database object across volatile memories of selected nodes of a plurality of nodes in a clustered database system. The techniques involve storing a unit-to-service mapping that associates a unit (a database object or portion thereof) to one or more database services. The one or more database services are mapped to one or more nodes. The nodes to which a service is mapped may include nodes in disjoint database systems, so long as those database systems have access to a replica of the unit. The database object is treated as in-memory enabled by nodes that are associated with the service, and are treated as not in-memory enabled by nodes that are not associated with the service.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: November 12, 2019
    Assignee: Oracle International Corporation
    Inventors: Niloy Mukherjee, Jesse Kamp, Tirthankar Lahiri, Maria Colgan, Vivekanandhan Raja, Vasudha Krishnaswamy, Aditi Gupta, Kartik Kulkarni
  • Patent number: 10372699
    Abstract: Techniques are described for maintaining coherency of a portion of a database object populated in the volatile memories of multiple nodes in a database cluster. The techniques involve maintaining a local invalidation bitmap for which identifies block-level invalidity data and item-level invalidity data. In response to detecting a patch-up triggering event, a particular node identifies, in the block-level invalidity data, blocks that have been marked as invalid. For each block that has been marked as invalid, the node identifies specific items that have changed and marks the items as invalid in the item-level invalidity data. The node then updates the block-level invalidity data to indicate that the blocks are no longer invalid.
    Type: Grant
    Filed: September 14, 2016
    Date of Patent: August 6, 2019
    Assignee: Oracle International Corporation
    Inventors: Xiaoming He, Solmaz Kolahi, Vivekanandhan Raja, Tirthankar Lahiri, Vasudha Krishnaswamy, Sanket Hase
  • Patent number: 10303788
    Abstract: A minimum value (MV) is computed for start timestamps that each correspond to an uncommitted transaction. In an embodiment, the MV is computed for a pluggable database that is open on at least first and second instances of a database. The MV is computed for the first instance as of a first current timestamp (CT). The MV and the first CT are communicated to a second instance that has a second CT. If the first and second CTs are equal, the second instance store the MV. If the first CT is bigger, the second CT also becomes equal to the first CT. If the first CT is smaller, the MV is discarded, and the first CT becomes equal to the second CT. In an embodiment, if the MV remains unchanged for a predetermined time period, a start timestamp corresponding to the MV is advanced to a current or future timestamp.
    Type: Grant
    Filed: August 31, 2016
    Date of Patent: May 28, 2019
    Assignee: Oracle International Corporation
    Inventors: Kartik Kulkarni, Juan R. Loaiza, Vivekanandhan Raja, Kothanda Umamageswaran, Sanket Hase, Vasudha Krishnaswamy, Tirthankar Lahiri
  • Patent number: 10248685
    Abstract: A minimum value (MV) is computed for start timestamps that each correspond to an uncommitted transaction. In an embodiment, the MV is computed for a pluggable database that is open on at least first and second instances of a database. The MV is computed for the first instance as of a first current timestamp (CT). The MV and the first CT are communicated to a second instance that has a second CT. If the first and second CTs are equal, the second instance store the MV. If the first CT is bigger, the second CT also becomes equal to the first CT. If the first CT is smaller, the MV is discarded, and the first CT becomes equal to the second CT. In an embodiment, if the MV remains unchanged for a predetermined time period, a start timestamp corresponding to the MV is advanced to a current or future timestamp.
    Type: Grant
    Filed: August 31, 2016
    Date of Patent: April 2, 2019
    Assignee: Oracle International Corporation
    Inventors: Kartik Kulkarni, Juan R. Loaiza, Vivekanandhan Raja, Kothanda Umamageswaran, Sanket Hase, Vasudha Krishnaswamy, Tirthankar Lahiri
  • Publication number: 20180165324
    Abstract: Embodiments store transaction metadata in dedicated pools of allocated memory chunks. Portions of the pools of allocated memory chunks are dedicated to the respective apply slave processes that mine and process change records. Also, the pools of allocated memory chunks are anchored within the structure of a transaction log such that buffering and application of metadata for one transaction does not block required buffering and application of metadata for other transactions. The standby database system pre-processes transaction metadata in preparation for application of the metadata to invalidate appropriate portions of MF data. Further, embodiments divide the work of pre-processing invalidation records among the many apply slave processes that record the invalidation records. A garbage collection selects memory chunks for garbage collection in reverse order of how the chunks were allocated.
    Type: Application
    Filed: February 9, 2018
    Publication date: June 14, 2018
    Inventors: Vasudha Krishnaswamy, Kartik Kulkarni, Sukhada Pendse, Akshay Kulkarni
  • Publication number: 20180096010
    Abstract: Techniques are described herein for distributing distinct portions of a database object across volatile memories of selected nodes of a plurality of nodes in a clustered database system. The techniques involve storing a unit-to-service mapping that associates a unit (a database object or portion thereof) to one or more database services. The one or more database services are mapped to one or more nodes. The nodes to which a service is mapped may include nodes in disjoint database systems, so long as those database systems have access to a replica of the unit. The database object is treated as in-memory enabled by nodes that are associated with the service, and are treated as not in-memory enabled by nodes that are not associated with the service.
    Type: Application
    Filed: September 30, 2016
    Publication date: April 5, 2018
    Inventors: Niloy Mukherjee, Jesse Kamp, Tirthankar Lahiri, Maria Colgan, Vivekanandhan Raja, Vasudha Krishnaswamy, Aditi Gupta, Kartik Kulkarni
  • Publication number: 20180075079
    Abstract: Techniques are described for maintaining coherency of a portion of a database object populated in the volatile memories of multiple nodes in a database cluster. The techniques involve maintaining a local invalidation bitmap for which identifies block-level invalidity data and item-level invalidity data. In response to detecting a patch-up triggering event, a particular node identifies, in the block-level invalidity data, blocks that have been marked as invalid. For each block that has been marked as invalid, the node identifies specific items that have changed and marks the items as invalid in the item-level invalidity data. The node then updates the block-level invalidity data to indicate that the blocks are no longer invalid.
    Type: Application
    Filed: September 14, 2016
    Publication date: March 15, 2018
    Inventors: Xiaoming He, Solmaz Kolahi, Vivekanandhan Raja, Tirthankar Lahiri, Vasudha Krishnaswamy, Sanket Hase