Patents by Inventor Girish Mittur Venkataramanappa

Girish Mittur Venkataramanappa 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: 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
  • Patent number: 10929379
    Abstract: A Distributed Availability Group (DAG) spans two AGs, each spanning one or more replica nodes and functioning as primary or secondary AG. A primary AG is replicated to the secondary AG synchronously or asynchronously. A failover in the DAG results in the AGs swapping their roles. Multiple DAGs can be linked together as a chain, which provides many useful features including disaster recovery across geographical regions, massive read scale (numerous readable secondary nodes), online migration of databases (across different operating systems and computing environments). The systems using DAGs can replicate databases across multiple independent high availability (HA) failover clusters using complex replication topologies and allow for manual failover and failback. The systems allow chaining of multiple AGs to provision a treelike structure of replicas and numerous secondary replicas without impacting performance.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: February 23, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Girish Mittur Venkataramanappa, Zhengguo Sun, Varun Kunjbihari Tibrewal, Steven John Lindell, Sameer Arun Verkhedkar, Sandeep Lingam, Colin Neville
  • Patent number: 10909108
    Abstract: A Distributed Availability Group (DAG) spans two AGs, each spanning one or more replica nodes and functioning as primary or secondary AG. A primary AG is replicated to the secondary AG synchronously or asynchronously. A failover in the DAG results in the AGs swapping their roles. Multiple DAGs can be linked together as a chain, which provides many useful features including disaster recovery across geographical regions, massive read scale (numerous readable secondary nodes), online migration of databases (across different operating systems and computing environments). The systems using DAGs can replicate databases across multiple independent high availability (HA) failover clusters using complex replication topologies and allow for manual failover and failback. The systems allow chaining of multiple AGs to provision a treelike structure of replicas and numerous secondary replicas without impacting performance.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: February 2, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Girish Mittur Venkataramanappa, Zhengguo Sun, Varun Kunjbihari Tibrewal, Steven John Lindell, Sameer Arun Verkhedkar, Sandeep Lingam, Colin Neville
  • Patent number: 10909107
    Abstract: A Distributed Availability Group (DAG) spans two AGs, each spanning one or more replica nodes and functioning as primary or secondary AG. A primary AG is replicated to the secondary AG synchronously or asynchronously. A failover in the DAG results in the AGs swapping their roles. Multiple DAGs can be linked together as a chain, which provides many useful features including disaster recovery across geographical regions, massive read scale (numerous readable secondary nodes), online migration of databases (across different operating systems and computing environments). The systems using DAGs can replicate databases across multiple independent high availability (HA) failover clusters using complex replication topologies and allow for manual failover and failback. The systems allow chaining of multiple AGs to provision a treelike structure of replicas and numerous secondary replicas without impacting performance.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: February 2, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Girish Mittur Venkataramanappa, Zhengguo Sun, Varun Kunjbihari Tibrewal, Steven John Lindell, Sameer Arun Verkhedkar, Sandeep Lingam, Colin Neville
  • Patent number: 10872074
    Abstract: A Distributed Availability Group (DAG) spans two AGs, each spanning one or more replica nodes and functioning as primary or secondary AG. A primary AG is replicated to the secondary AG synchronously or asynchronously. A failover in the DAG results in the AGs swapping their roles. Multiple DAGs can be linked together as a chain, which provides many useful features including disaster recovery across geographical regions, massive read scale (numerous readable secondary nodes), online migration of databases (across different operating systems and computing environments). The systems using DAGs can replicate databases across multiple independent high availability (HA) failover clusters using complex replication topologies and allow for manual failover and failback. The systems allow chaining of multiple AGs to provision a treelike structure of replicas and numerous secondary replicas without impacting performance.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: December 22, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Girish Mittur Venkataramanappa, Zhengguo Sun, Varun Kunjbihari Tibrewal, Steven John Lindell, Sameer Arun Verkhedkar, Sandeep Lingam, Colin Neville
  • Patent number: 10725998
    Abstract: A Distributed Availability Group (DAG) spans two AGs, each spanning one or more replica nodes and functioning as primary or secondary AG. A primary AG is replicated to the secondary AG synchronously or asynchronously. A failover in the DAG results in the AGs swapping their roles. Multiple DAGs can be linked together as a chain, which provides many useful features including disaster recovery across geographical regions, massive read scale (numerous readable secondary nodes), online migration of databases (across different operating systems and computing environments). The systems using DAGs can replicate databases across multiple independent high availability (HA) failover clusters using complex replication topologies and allow for manual failover and failback. The systems allow chaining of multiple AGs to provision a treelike structure of replicas and numerous secondary replicas without impacting performance.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: July 28, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Girish Mittur Venkataramanappa, Zhengguo Sun, Varun Kunjbihari Tibrewal, Steven John Lindell, Sameer Arun Verkhedkar, Sandeep Lingam, Colin Neville
  • 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
  • Patent number: 10467058
    Abstract: Systems and methods according to various embodiments disclose a worker process manager adapted to spawn one or more worker processes on a server and to load an application on each of the worker processes. The worker process manager is adapted to isolate the one or more worker processes from each other and to control resource usage by the worker processes. A resource manager is adapted to detect applications that overuse system resources. The worker process manager is adapted to isolate worker processes and to control resource usage using one or more of the following techniques: least-privilege execution, messaging isolation, credentials isolation, data isolation, network isolation, fair share resource usage, and managed runtime security. Heuristic algorithms are used to detect applications that frequently overuse system resources that are unchargeable and that cause system unresponsiveness.
    Type: Grant
    Filed: December 20, 2011
    Date of Patent: November 5, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Girish Mittur Venkataramanappa, Mandyam Kishore, Andreas Ulbrich, Aarthi Rajmohan Saravanakumar, Chandra Prasad, Yann Christensen, Dharma Shukla, Amol Kulkarni
  • 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
  • Publication number: 20180096068
    Abstract: A Distributed Availability Group (DAG) spans two AGs, each spanning one or more replica nodes and functioning as primary or secondary AG. A primary AG is replicated to the secondary AG synchronously or asynchronously. A failover in the DAG results in the AGs swapping their roles. Multiple DAGs can be linked together as a chain, which provides many useful features including disaster recovery across geographical regions, massive read scale (numerous readable secondary nodes), online migration of databases (across different operating systems and computing environments). The systems using DAGs can replicate databases across multiple independent high availability (HA) failover clusters using complex replication topologies and allow for manual failover and failback. The systems allow chaining of multiple AGs to provision a treelike structure of replicas and numerous secondary replicas without impacting performance.
    Type: Application
    Filed: January 10, 2017
    Publication date: April 5, 2018
    Inventors: Girish Mittur VENKATARAMANAPPA, Zhengguo SUN, Varun Kunjbihari TIBREWAL, Steven John LINDELL, Sameer Arun VERKHEDKAR, Sandeep LINGAM, Colin NEVILLE
  • Publication number: 20180095836
    Abstract: A Distributed Availability Group (DAG) spans two AGs, each spanning one or more replica nodes and functioning as primary or secondary AG. A primary AG is replicated to the secondary AG synchronously or asynchronously. A failover in the DAG results in the AGs swapping their roles. Multiple DAGs can be linked together as a chain, which provides many useful features including disaster recovery across geographical regions, massive read scale (numerous readable secondary nodes), online migration of databases (across different operating systems and computing environments). The systems using DAGs can replicate databases across multiple independent high availability (HA) failover clusters using complex replication topologies and allow for manual failover and failback. The systems allow chaining of multiple AGs to provision a treelike structure of replicas and numerous secondary replicas without impacting performance.
    Type: Application
    Filed: January 10, 2017
    Publication date: April 5, 2018
    Inventors: Girish Mittur VENKATARAMANAPPA, Zhengguo Sun, Varun Kunjbihari Tibrewal, Steven John Lindell, Sameer Arun Verkhedkar, Sandeep Lingam, Colin Neville
  • Publication number: 20180096066
    Abstract: A Distributed Availability Group (DAG) spans two AGs, each spanning one or more replica nodes and functioning as primary or secondary AG. A primary AG is replicated to the secondary AG synchronously or asynchronously. A failover in the DAG results in the AGs swapping their roles. Multiple DAGs can be linked together as a chain, which provides many useful features including disaster recovery across geographical regions, massive read scale (numerous readable secondary nodes), online migration of databases (across different operating systems and computing environments). The systems using DAGs can replicate databases across multiple independent high availability (HA) failover clusters using complex replication topologies and allow for manual failover and failback. The systems allow chaining of multiple AGs to provision a treelike structure of replicas and numerous secondary replicas without impacting performance.
    Type: Application
    Filed: September 30, 2016
    Publication date: April 5, 2018
    Inventors: Girish Mittur Venkataramanappa, Zhengguo Sun, Varun Kunjbihari Tibrewal, Steven John Lindell, Sameer Arun Verkhedkar, Sandeep Lingam, Colin Neville
  • Publication number: 20180095850
    Abstract: A Distributed Availability Group (DAG) spans two AGs, each spanning one or more replica nodes and functioning as primary or secondary AG. A primary AG is replicated to the secondary AG synchronously or asynchronously. A failover in the DAG results in the AGs swapping their roles. Multiple DAGs can be linked together as a chain, which provides many useful features including disaster recovery across geographical regions, massive read scale (numerous readable secondary nodes), online migration of databases (across different operating systems and computing environments). The systems using DAGs can replicate databases across multiple independent high availability (HA) failover clusters using complex replication topologies and allow for manual failover and failback. The systems allow chaining of multiple AGs to provision a treelike structure of replicas and numerous secondary replicas without impacting performance.
    Type: Application
    Filed: January 10, 2017
    Publication date: April 5, 2018
    Inventors: Girish Mittur VENKATARAMANAPPA, Zhengguo SUN, Varun Kunjbihari TIBREWAL, Steven John LINDELL, Sameer Arun VERKHEDKAR, Sandeep LINGAM, Colin NEVILLE
  • Publication number: 20180096023
    Abstract: A Distributed Availability Group (DAG) spans two AGs, each spanning one or more replica nodes and functioning as primary or secondary AG. A primary AG is replicated to the secondary AG synchronously or asynchronously. A failover in the DAG results in the AGs swapping their roles. Multiple DAGs can be linked together as a chain, which provides many useful features including disaster recovery across geographical regions, massive read scale (numerous readable secondary nodes), online migration of databases (across different operating systems and computing environments). The systems using DAGs can replicate databases across multiple independent high availability (HA) failover clusters using complex replication topologies and allow for manual failover and failback. The systems allow chaining of multiple AGs to provision a treelike structure of replicas and numerous secondary replicas without impacting performance.
    Type: Application
    Filed: January 10, 2017
    Publication date: April 5, 2018
    Inventors: Girish Mittur VENKATARAMANAPPA, Zhengguo SUN, Varun Kunjbihari TIBREWAL, Steven John LINDELL, Sameer Arun VERKHEDKAR, Sandeep LINGAM, Colin NEVILLE
  • Publication number: 20130160115
    Abstract: Systems and methods according to various embodiments disclose a worker process manager adapted to spawn one or more worker processes on a server and to load an application on each of the worker processes. The worker process manager is adapted to isolate the one or more worker processes from each other and to control resource usage by the worker processes. A resource manager is adapted to detect applications that overuse system resources. The worker process manager is adapted to isolate worker processes and to control resource usage using one or more of the following techniques: least-privilege execution, messaging isolation, credentials isolation, data isolation, network isolation, fair share resource usage, and managed runtime security. Heuristic algorithms are used to detect applications that frequently overuse system resources that are unchargeable and that cause system unresponsiveness.
    Type: Application
    Filed: December 20, 2011
    Publication date: June 20, 2013
    Applicant: Microsoft Corporation
    Inventors: Girish Mittur Venkataramanappa, Mandyam Kishore, Andreas Ulbrich, Aarthi Rajmohan Saravanakumar, Chandra Prasad, Yann Christensen, Dharma Shukla, Amol Kulkarni