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: 20230394028Abstract: 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: ApplicationFiled: June 2, 2022Publication date: December 7, 2023Inventors: Chaitanya Sreenivas RAVELLA, Hanumantha Rao KODAVALLA, Prashanth PURNANANDA, Craig Steven FREEDMAN, Vasileios PAPADIMOS
-
Publication number: 20230350912Abstract: 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: ApplicationFiled: July 12, 2023Publication date: November 2, 2023Inventors: Alejandro Hernandez SAENZ, Cristian DIACONU, Krystyna Ewa REISTETER, Naveen PRAKASH, Sheetal SHROTRI, Rogério RAMOS, Alexander BUDOVSKI, Hanumantha Rao KODAVALLA
-
Patent number: 11755558Abstract: 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: GrantFiled: June 25, 2021Date of Patent: September 12, 2023Assignee: Microsoft Technology Licensing, LLCInventors: 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: 11748369Abstract: 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: GrantFiled: September 2, 2021Date of Patent: September 5, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Alejandro Hernandez Saenz, Cristian Diaconu, Krystyna Ewa Reisteter, Naveen Prakash, Sheetal Shrotri, Rogério Ramos, Alexander Budovski, Hanumantha Rao Kodavalla
-
Publication number: 20230046342Abstract: 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: ApplicationFiled: September 2, 2021Publication date: February 16, 2023Inventors: Alejandro Hernandez SAENZ, Cristian DIACONU, Krystyna Ewa REISTETER, Naveen PRAKASH, Sheetal SHROTRI, Rogério RAMOS, Alexander BUDOVSKI, Hanumantha Rao KODAVALLA
-
Publication number: 20220414081Abstract: 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: ApplicationFiled: June 25, 2021Publication date: December 29, 2022Applicant: Microsoft Technology Licensing, LLCInventors: 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: 11379433Abstract: 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: GrantFiled: August 24, 2018Date of Patent: July 5, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Raghavendra Thallam Kodandaramaih, Peter Byrne, Hanumantha Rao Kodavalla, Wei Chen, Girish Mittur Venkataramanappa, Adrian-Leonard Radu, Panagiotis Antonopoulos, Varun Kunjbihari Tibrewal
-
Patent number: 11288251Abstract: 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: GrantFiled: August 29, 2018Date of Patent: March 29, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Raghavendra Thallam Kodandaramaih, Girish Mittur Venkataramanappa, Hanumantha Rao Kodavalla, Peter Byrne
-
Patent number: 11003549Abstract: 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: GrantFiled: July 25, 2018Date of Patent: May 11, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Panagiotis Antonopoulos, Adrian-Leonard Radu, Hanumantha Rao Kodavalla, Peter Byrne, Wei Chen, Raghavendra Thallam Kodandaramaih, Girish Mittur Venkataramanappa
-
Publication number: 20200050692Abstract: 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: ApplicationFiled: August 10, 2018Publication date: February 13, 2020Inventors: Panagiotis Antonopoulos, Chaitanya Sreenivas Ravella, Yiqun Lin, Wei Chen, Girish Mittur Venkataramanappa, Hanumantha Rao Kodavalla
-
Publication number: 20200034251Abstract: 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: ApplicationFiled: July 25, 2018Publication date: January 30, 2020Inventors: Panagiotis Antonopoulos, Adrian-Leonard Radu, Hanumantha Rao Kodavalla, Peter Byrne, Wei Chen, Raghavendra Thallam Kodandaramaih, Girish Mittur Venkataramanappa
-
Publication number: 20190361997Abstract: 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: ApplicationFiled: August 24, 2018Publication date: November 28, 2019Inventors: Raghavendra THALLAM KODANDARAMAIH, Peter BYRNE, Hanumantha Rao KODAVALLA, Wei CHEN, Girish MITTUR VENKATARAMANAPPA, Adrian-Leonard RADU, Panagiotis ANTONOPOULOS, Varun Kunjbihari TIBREWAL
-
Publication number: 20190362001Abstract: 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: ApplicationFiled: August 29, 2018Publication date: November 28, 2019Inventors: Raghavendra THALLAM KODANDARAMAIH, Girish MITTUR VENKATARAMANAPPA, Hanumantha Rao KODAVALLA, Peter BYRNE
-
Publication number: 20180144015Abstract: 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: ApplicationFiled: November 18, 2016Publication date: May 24, 2018Inventors: Girish Mittur Venkataramanappa, Wei Chen, Nithin Mahesh, Peter Byrne, Steven John Lindell, Hanumantha Rao Kodavalla
-
Patent number: 9424286Abstract: 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: GrantFiled: February 4, 2013Date of Patent: August 23, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Robin Dhananjay Dhamankar, Hanumantha Rao Kodavalla
-
Patent number: 9384100Abstract: 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: GrantFiled: August 26, 2014Date of Patent: July 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Robin Dhananjay Dhamankar, Hanumantha Rao Kodavalla
-
Patent number: 9235531Abstract: 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: GrantFiled: November 28, 2011Date of Patent: January 12, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Pedro Celis, Dexter Paul Bradshaw, Sadashivan Krishnamurthy, Georgiy I. Reynya, Chengliang Zhang, Hanumantha Rao Kodavalla
-
Patent number: 9164793Abstract: 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: GrantFiled: December 21, 2012Date of Patent: October 20, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Panagiotis Antonopoulos, Hanumantha Rao Kodavalla, Naveen Prakash
-
Patent number: 9063980Abstract: 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: GrantFiled: December 21, 2012Date of Patent: June 23, 2015Assignee: Microsoft Technology Licenising, LLCInventors: Robin Dhananjay Dhamankar, Peter Byrne, Hanumantha Rao Kodavalla
-
Publication number: 20140365444Abstract: 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: ApplicationFiled: August 26, 2014Publication date: December 11, 2014Inventors: Robin Dhananjay Dhamankar, Hanumantha Rao Kodavalla