Patents by Inventor Hanumantha Rao Kodavalla

Hanumantha Rao Kodavalla 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: 20230394028
    Abstract: Example aspects include techniques for anomaly detection via sparse judgmental samples. These techniques may include generating a qualified timestamp corresponding to execution of a first operation of a first transaction over a database and determining, based on the qualified timestamp, that a row of a table is not locked by a second operation of a second transaction over the database. In addition, the techniques may include determining that the row meets a condition of the first operation. Further, the techniques may include updating, based on the qualified timestamp, the row in response to the row meeting the condition, the updating including acquiring a lock on the row of the table.
    Type: Application
    Filed: June 2, 2022
    Publication date: December 7, 2023
    Inventors: Chaitanya Sreenivas RAVELLA, Hanumantha Rao KODAVALLA, Prashanth PURNANANDA, Craig Steven FREEDMAN, Vasileios PAPADIMOS
  • Publication number: 20230350912
    Abstract: Distributed database systems including compute nodes and page servers are described herein that enable separating logical and physical storage of database files in a distributed database system. A distributed database system includes a page server and a compute node, and is configured to store a logical database file that includes data and is associated with a file identifier. Each page server is configurable to store slices (i.e., subportions) of the logical database file. The compute node is coupled to the plurality of page servers and configured to store the logical database file responsive to a received command. In an aspect, such storage may comprise slicing the data comprising the logical database file into a set of slices with each being associated with a respective page server, maintaining an endpoint mapping for each slice of the first set of slices, and transmitting each slice to the associated for storage thereby.
    Type: Application
    Filed: July 12, 2023
    Publication date: November 2, 2023
    Inventors: Alejandro Hernandez SAENZ, Cristian DIACONU, Krystyna Ewa REISTETER, Naveen PRAKASH, Sheetal SHROTRI, Rogério RAMOS, Alexander BUDOVSKI, Hanumantha Rao KODAVALLA
  • Patent number: 11755558
    Abstract: A computing device is provided, including non-volatile memory storing a database including a table having a plurality of rows. The computing device may further include a processor configured to receive a request to perform a first transaction on a row. The processor may assign a first transaction identifier (TID) of the first transaction to the row. The processor may impose a first exclusive TID lock on the first TID of the row and may impose a first exclusive data lock associated with the first transaction on the row. The processor may perform the first transaction on the row. Performing the first transaction may include modifying the table as stored in the memory. In response to completing the first transaction, the processor may release the first exclusive data lock on the row and release the first exclusive TID lock on the first TID of the row.
    Type: Grant
    Filed: June 25, 2021
    Date of Patent: September 12, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Chaitanya Sreenivas Ravella, Prashanth Purnananda, Raghavendra Thallam Kodandaramaih, Peter Byrne, Hanumantha Rao Kodavalla, Girish Mittur Venkataramanappa, Panagiotis Antonopoulos, Adrian-Leonard Radu, Wei Chen, Craig Steven Freedman
  • Patent number: 11748369
    Abstract: Distributed database systems including compute nodes and page servers are described herein that enable separating logical and physical storage of database files in a distributed database system. A distributed database system includes a page server and a compute node and is configured to store a logical database file that includes data and is associated with a file identifier. Each page server is configurable to store slices (i.e., subportions) of the logical database file. The compute node is coupled to the plurality of page servers and configured to store the logical database file responsive to a received command. In an aspect, such storage may comprise slicing the data comprising the logical database file into a set of slices with each being associated with a respective page server, maintaining an endpoint mapping for each slice of the first set of slices, and transmitting each slice to the associated for storage thereby.
    Type: Grant
    Filed: September 2, 2021
    Date of Patent: September 5, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Alejandro Hernandez Saenz, Cristian Diaconu, Krystyna Ewa Reisteter, Naveen Prakash, Sheetal Shrotri, Rogério Ramos, Alexander Budovski, Hanumantha Rao Kodavalla
  • Publication number: 20230046342
    Abstract: Distributed database systems including compute nodes and page servers are described herein that enable separating logical and physical storage of database files in a distributed database system. A distributed database system includes a page server and a compute node and is configured to store a logical database file that includes data and is associated with a file identifier. Each page server is configurable to store slices (i.e., subportions) of the logical database file. The compute node is coupled to the plurality of page servers and configured to store the logical database file responsive to a received command. In an aspect, such storage may comprise slicing the data comprising the logical database file into a set of slices with each being associated with a respective page server, maintaining an endpoint mapping for each slice of the first set of slices, and transmitting each slice to the associated for storage thereby.
    Type: Application
    Filed: September 2, 2021
    Publication date: February 16, 2023
    Inventors: Alejandro Hernandez SAENZ, Cristian DIACONU, Krystyna Ewa REISTETER, Naveen PRAKASH, Sheetal SHROTRI, Rogério RAMOS, Alexander BUDOVSKI, Hanumantha Rao KODAVALLA
  • Publication number: 20220414081
    Abstract: A computing device is provided, including non-volatile memory storing a database including a table having a plurality of rows. The computing device may further include a processor configured to receive a request to perform a first transaction on a row. The processor may assign a first transaction identifier (TID) of the first transaction to the row. The processor may impose a first exclusive TID lock on the first TID of the row and may impose a first exclusive data lock associated with the first transaction on the row. The processor may perform the first transaction on the row. Performing the first transaction may include modifying the table as stored in the memory. In response to completing the first transaction, the processor may release the first exclusive data lock on the row and release the first exclusive TID lock on the first TID of the row.
    Type: Application
    Filed: June 25, 2021
    Publication date: December 29, 2022
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Chaitanya Sreenivas RAVELLA, Prashanth PURNANANDA, Raghavendra THALLAM KODANDARAMAIH, Peter BYRNE, Hanumantha Rao KODAVALLA, Girish MITTUR VENKATARAMANAPPA, Panagiotis ANTONOPOULOS, Adrian-Leonard RADU, Wei CHEN, Craig Steven FREEDMAN
  • Patent number: 11379433
    Abstract: A relational database system that implements persistent version storage may include an in-row module that is executable by one or more processors to implement an in-row scheme by storing in-row previous version information within a payload of a row within a database page. The relational database system may additionally include an off-row module that is executable by the one or more processors to implement an off-row scheme by storing off-row previous version information in an off-row page that is separate from the database page. The relational database system may additionally include a storage policy that defines when previous version information is stored in accordance with the in-row scheme and when the previous version information is stored in accordance with the off-row scheme. The relational database system may additionally include a cleanup module that cleans up older versions when they are deemed unnecessary by the system.
    Type: Grant
    Filed: August 24, 2018
    Date of Patent: July 5, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Raghavendra Thallam Kodandaramaih, Peter Byrne, Hanumantha Rao Kodavalla, Wei Chen, Girish Mittur Venkataramanappa, Adrian-Leonard Radu, Panagiotis Antonopoulos, Varun Kunjbihari Tibrewal
  • Patent number: 11288251
    Abstract: A method for supporting concurrent updates to a database page may include providing shared access to the database page. A first update may be performed with respect to a first record in the database page. A second update may be performed with respect to a second record in the database page. The first update and the second update may be performed concurrently while the shared access to the database page is being provided. The method may also include synchronizing the first update and the second update.
    Type: Grant
    Filed: August 29, 2018
    Date of Patent: March 29, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Raghavendra Thallam Kodandaramaih, Girish Mittur Venkataramanappa, Hanumantha Rao Kodavalla, Peter Byrne
  • Patent number: 11003549
    Abstract: Database recovery can be performed in substantially constant time. From a database transaction log, the state of one or more transactions is identified including those that were active at a time of a crash but not committed. Transactions can be reapplied sequentially starting from the beginning of a last successful checkpoint to the end of the transaction log. Uncommitted user transactions are not undone synchronously, but simply marked as aborted. Subsequently, versions of affected data elements can be reverted back to a prior saved version asynchronously.
    Type: Grant
    Filed: July 25, 2018
    Date of Patent: May 11, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Panagiotis Antonopoulos, Adrian-Leonard Radu, Hanumantha Rao Kodavalla, Peter Byrne, Wei Chen, Raghavendra Thallam Kodandaramaih, Girish Mittur Venkataramanappa
  • Publication number: 20200050692
    Abstract: Consistent read queries are enabled from a secondary compute node. In response to a read query, a page of data can be requested from a storage node with a first log sequence number indicating an update state of a local store of a compute node. The page of data can be received from the storage node with a second log sequence number indicating an update state of the page. Processing can be deferred until the first log sequence number is greater than or equal to the second log sequence number, wherein the first log sequence number is updated in response to automatic updates of the local store. A row of data can be retrieved from the page in accordance with the request. Further, a version of the row of data can be retrieved that has a timestamp equal to or before a timestamp associated with initiation of the read request.
    Type: Application
    Filed: August 10, 2018
    Publication date: February 13, 2020
    Inventors: Panagiotis Antonopoulos, Chaitanya Sreenivas Ravella, Yiqun Lin, Wei Chen, Girish Mittur Venkataramanappa, Hanumantha Rao Kodavalla
  • Publication number: 20200034251
    Abstract: Database recovery can be performed in substantially constant time. From a database transaction log, the state of one or more transactions is identified including those that were active at a time of a crash but not committed. Transactions can be reapplied sequentially starting from the beginning of a last successful checkpoint to the end of the transaction log. Uncommitted user transactions are not undone synchronously, but simply marked as aborted. Subsequently, versions of affected data elements can be reverted back to a prior saved version asynchronously.
    Type: Application
    Filed: July 25, 2018
    Publication date: January 30, 2020
    Inventors: Panagiotis Antonopoulos, Adrian-Leonard Radu, Hanumantha Rao Kodavalla, Peter Byrne, Wei Chen, Raghavendra Thallam Kodandaramaih, Girish Mittur Venkataramanappa
  • Publication number: 20190361997
    Abstract: A relational database system that implements persistent version storage may include an in-row module that is executable by one or more processors to implement an in-row scheme by storing in-row previous version information within a payload of a row within a database page. The relational database system may additionally include an off-row module that is executable by the one or more processors to implement an off-row scheme by storing off-row previous version information in an off-row page that is separate from the database page. The relational database system may additionally include a storage policy that defines when previous version information is stored in accordance with the in-row scheme and when the previous version information is stored in accordance with the off-row scheme. The relational database system may additionally include a cleanup module that cleans up older versions when they are deemed unnecessary by the system.
    Type: Application
    Filed: August 24, 2018
    Publication date: November 28, 2019
    Inventors: Raghavendra THALLAM KODANDARAMAIH, Peter BYRNE, Hanumantha Rao KODAVALLA, Wei CHEN, Girish MITTUR VENKATARAMANAPPA, Adrian-Leonard RADU, Panagiotis ANTONOPOULOS, Varun Kunjbihari TIBREWAL
  • Publication number: 20190362001
    Abstract: A method for supporting concurrent updates to a database page may include providing shared access to the database page. A first update may be performed with respect to a first record in the database page. A second update may be performed with respect to a second record in the database page. The first update and the second update may be performed concurrently while the shared access to the database page is being provided. The method may also include synchronizing the first update and the second update.
    Type: Application
    Filed: August 29, 2018
    Publication date: November 28, 2019
    Inventors: Raghavendra THALLAM KODANDARAMAIH, Girish MITTUR VENKATARAMANAPPA, Hanumantha Rao KODAVALLA, Peter BYRNE
  • Publication number: 20180144015
    Abstract: Aspects extend to methods, systems, and computer program products redoing transaction log records in parallel. Different aspects of replaying log records are allocated to different threads, for example, read threads, analysis threads, logical operation redo threads, and page operation redo threads. The different threads can be distributed across different processor cores. Activities at read threads, analysis threads, logical operation redo threads, and page operation redo threads can be performed on an ongoing basis and in parallel with activities at other threads (including user tasks). In some aspects, pre-allocated memory blocks are used in a lock free manner to store log records prior to processing by a page operation redo thread.
    Type: Application
    Filed: November 18, 2016
    Publication date: May 24, 2018
    Inventors: Girish Mittur Venkataramanappa, Wei Chen, Nithin Mahesh, Peter Byrne, Steven John Lindell, Hanumantha Rao Kodavalla
  • Patent number: 9424286
    Abstract: Managing database recovery time. A method includes receiving user input specifying a target recovery time for a database. The method further includes determining an amount of time to read a data page of the database from persistent storage. The method further includes determining an amount of time to process a log record of the database to apply changes specified in the log record to a data page. The method further includes determining a number of dirty pages that presently would be read in recovery if a database failure occurred. The method further includes determining a number of log records that would be processed in recovery if a database failure occurred. The method further includes adjusting at least one of the number of dirty pages that presently would be read in recovery or the number of log records that would be processed in recovery to meet the specified target recovery time.
    Type: Grant
    Filed: February 4, 2013
    Date of Patent: August 23, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robin Dhananjay Dhamankar, Hanumantha Rao Kodavalla
  • Patent number: 9384100
    Abstract: Embodiments are directed to implementing a transitional redo phase to allow pre-redo phase data access and to determining which data pages including unprocessed transactions are to be processed during a transitional redo phase. In an embodiment, a computer system initiates an analysis phase of a database recovery that scans a database transaction log and builds a dirty page table that includes pages corresponding to unprocessed data transactions. The computer system determines from the dirty page table which pages are to be processed during the transitional redo phase, before the final redo phase. The computer system processes the determined pages during the transitional redo phase, before the final redo phase is reached and, upon completion of the system transaction undo phase, makes available those pages that were processed during the transitional redo phase, as well as those database pages that are not scheduled for processing during the final redo phase.
    Type: Grant
    Filed: August 26, 2014
    Date of Patent: July 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robin Dhananjay Dhamankar, Hanumantha Rao Kodavalla
  • Patent number: 9235531
    Abstract: A buffer manager that manages blocks of memory amongst multiple levels of buffer pools. For instance, there may be a first level buffer pool for blocks in first level memory, and a second level buffer pool for blocks in second level memory. The first level buffer pool evicts blocks to the second level buffer pool if the blocks are not used above a first threshold level. The second level buffer pool evicts blocks to a yet lower level if they have not used above a second threshold level. The first level memory may be dynamic random access memory, whereas the second level memory may be storage class memory, such as a solid state disk. By using such a storage class memory, the working block set of the buffer manager may be increased without resorting to lower efficiency random block access from yet lower level memory such as disk.
    Type: Grant
    Filed: November 28, 2011
    Date of Patent: January 12, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Pedro Celis, Dexter Paul Bradshaw, Sadashivan Krishnamurthy, Georgiy I. Reynya, Chengliang Zhang, Hanumantha Rao Kodavalla
  • Patent number: 9164793
    Abstract: A method includes requesting a lock on a resource. The request for the lock on the resource is specified as a low priority non-blocking request that does not block one or more other requests such that one or more other requests can request a lock on the resource and obtain the lock on the resource in priority to the low priority non-blocking request. Based on the low priority request, the method includes maintaining the low priority request in a non-blocking fashion until a predetermined condition occurs. As a result of the predetermined condition occurring, the method includes handling the low priority request such that it is no longer treated as a low priority non-blocking request. Embodiments may further include a kill request which kills any operations on the resource, aborts any transactions having a lock on the resource, and locks the resource.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: October 20, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Panagiotis Antonopoulos, Hanumantha Rao Kodavalla, Naveen Prakash
  • Patent number: 9063980
    Abstract: Consolidating a set of tenant log streams from separate user databases into a consolidated log stream. The method includes receiving a plurality of tenant log streams from separate user data bases. The method further includes recording the plurality of tenant log streams as a consolidated log stream. The method further includes maintaining metadata about the consolidated log stream to map log records from the plurality of tenant log streams to their location in the consolidated log stream.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: June 23, 2015
    Assignee: Microsoft Technology Licenising, LLC
    Inventors: Robin Dhananjay Dhamankar, Peter Byrne, Hanumantha Rao Kodavalla
  • Publication number: 20140365444
    Abstract: Embodiments are directed to implementing a transitional redo phase to allow pre-redo phase data access and to determining which data pages including unprocessed transactions are to be processed during a transitional redo phase. In an embodiment, a computer system initiates an analysis phase of a database recovery that scans a database transaction log and builds a dirty page table that includes pages corresponding to unprocessed data transactions. The computer system determines from the dirty page table which pages are to be processed during the transitional redo phase, before the final redo phase. The computer system processes the determined pages during the transitional redo phase, before the final redo phase is reached and, upon completion of the system transaction undo phase, makes available those pages that were processed during the transitional redo phase, as well as those database pages that are not scheduled for processing during the final redo phase.
    Type: Application
    Filed: August 26, 2014
    Publication date: December 11, 2014
    Inventors: Robin Dhananjay Dhamankar, Hanumantha Rao Kodavalla