Patents by Inventor Rajeev Sudhakar

Rajeev Sudhakar 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: 11269679
    Abstract: Distributed transactions are performed over a collection of servers operating as replicas of a data set, where a successful transaction involves meeting a quorum count of replicas that locally commit the transaction. However, performance constraints of data sets and consuming applications may vary (e.g., sensitivity to latency, scalability, and/or consistency), and the performance characteristics of the server set may be partly determined by the transactional commitment and quorum selection. The distributed transaction may be applied by designating the replicas as a set of followers and a leader that initiates the transaction and receives acknowledgments of local commits by each follower. On condition of the acknowledgments meeting a quorum count for the data set according to the performance characteristics of the application, the leader locally commits the transaction and delivers a result.
    Type: Grant
    Filed: May 4, 2018
    Date of Patent: March 8, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karthik Raman, Arsalan Ahmad, Momin Mahmoud Al-Ghosien, Padma Priya Aradhyula Bhavani, Rajeev Sudhakar Bhopi, Junyan Guo, Ji Huang, Atul Katiyar, Hemant Kumar, Sujit Vattathil Kuruvilla, Ovidiu Constantin Platon, Venkata Sivaramakrishna Ramadugu, Ankur Savailal Shah, Pankaj Sharma, Dharma Shukla, Shreshth Singhal, Shireesh Kumar Thota
  • Patent number: 10911521
    Abstract: Techniques for monitoring web application performance are provided. A request for a web application is received at an application server. A response pipeline at the application server generates client application code corresponding to the requested web application. The client application code is intercepted in the response pipeline. Instrumentation code is inserted into the intercepted client application code to generate an instrumented client application code. The instrumentation code is configured to be executed when the instrumented client application code is rendered at the client to capture performance information at the client, and is configured to transmit the captured performance information from the client.
    Type: Grant
    Filed: May 11, 2018
    Date of Patent: February 2, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ilarie Letca, Alexandre Coelho, Venkata Seshu Kumar Kurapati, Rajeev Sudhakar, Daniel Savage, Ashvinkumar Sanghvi, Jin Soon Lim
  • Patent number: 10885018
    Abstract: A data service may be distributed over a set of servers in order to provide a database with properties such as low latency, high availability, and support for various consistency levels. Presented herein is a particular architecture that promotes rapid provisioning to promote scalability and failover; adaptive load-balancing to accommodate fluctuations in demand; and resiliency in the event of various types of failure, such as network partitions or regional outages. For a service comprising a resource set, a container is provided that hosts a set of replicas of a partition, and that is assigned an allocation of computing capabilities of one or more servers. The resource set of the service may be distributed over the replicas of the container. Scalability is achieved by adding replicas to the container, and load-balancing may be provided by splitting, merging, or otherwise refactoring the partition to accommodate anticipated and unanticipated fluctuations in service demand.
    Type: Grant
    Filed: May 29, 2018
    Date of Patent: January 5, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karthik Raman, Momin Mahmoud Al-Ghosien, Rajeev Sudhakar Bhopi, Madhan Gajendran, Atul Katiyar, Liang Li, Ankur Savailal Shah, Pankaj Sharma, Dharma Shukla, Hari Sudan Sundar, Shireesh Kumar Thota
  • Patent number: 10817506
    Abstract: Workloads are often performed by a server set according to a service level agreement, and are often provisioned and load-balanced by dedicating selected computational resources (e.g., servers and bandwidth) for application to the workload. However, resource-based provisioning may not accurately reflect the computational resource expenditure of the workload, leading to overprovisioning or underprovisioning of servers for the workload. Instead, the workload may be evaluated according to a service unit as a measurement of a volume of computational resources consumed by a workload unit, including performance dimensions specified in the service level agreement. The service level agreement may indicate a service unit rate for the workload. The workload may therefore be allocated to a subset of servers in portions according to a service unit rate, where the sum of the service unit rates for the portions allocated to the servers satisfies the service unit rate specified in the service level agreement.
    Type: Grant
    Filed: May 29, 2018
    Date of Patent: October 27, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Dharma Shukla, Momin Mahmoud Al-Ghosien, Rajeev Sudhakar Bhopi, Samer Boshra, Madhan Gajendran, Artavazd Ginosian, Atul Katiyar, Liang Li, Karthik Raman, Ankur Savailal Shah, Pankaj Sharma, Hari Sudan Sundar, Krishnan Sundaram, Shireesh Kumar Thota, Lalitha Manjapara Viswanathan
  • Publication number: 20190342380
    Abstract: Processing services are often provisioned by defining and adjusting the performance capabilities of individual servers, and in multitenancy scenarios, servers may allocate computational resources to ensure that a first client workload does not impact a second client workload. However, a reduced performance capability of a server may create a processing jam with respect to an upstream server of the process path of the workload, where the processing rate mismatch creates a risk of failing to fulfill the performance guarantee for the workload. Instead, the downstream server may monitor and compare its performance capability with the performance guarantee. If a performance guarantee failure risk arises, the server may transmit a performance capability alert to the upstream server, which may rate-limit the processing of the workload. Rate-limiting by the first server in the server path may limit workload intake to a volume for which the process path can fulfill the performance guarantee.
    Type: Application
    Filed: May 29, 2018
    Publication date: November 7, 2019
    Inventors: Shireesh Kumar THOTA, Momin Mahmoud AL-GHOSIEN, Rajeev Sudhakar BHOPI, Samer BOSHRA, Madhan GAJENDRAN, Atul KATIYAR, Abhijit Padmanabh PAI, Karthik RAMAN, Ankur Savailal SHAH, Pankaj SHARMA, Dharma SHUKLA, Shreshth SINGHAL, Hari Sudan SUNDAR, Lalitha Manjapara VISWANATHAN
  • Publication number: 20190342379
    Abstract: Workloads are often performed by a server set according to a service level agreement, and are often provisioned and load-balanced by dedicating selected computational resources (e.g., servers and bandwidth) for application to the workload. However, resource-based provisioning may not accurately reflect the computational resource expenditure of the workload, leading to overprovisioning or underprovisioning of servers for the workload. Instead, the workload may be evaluated according to a service unit as a measurement of a volume of computational resources consumed by a workload unit, including performance dimensions specified in the service level agreement. The service level agreement may indicate a service unit rate for the workload. The workload may therefore be allocated to a subset of servers in portions according to a service unit rate, where the sum of the service unit rates for the portions allocated to the servers satisfies the service unit rate specified in the service level agreement.
    Type: Application
    Filed: May 29, 2018
    Publication date: November 7, 2019
    Inventors: Dharma SHUKLA, Momin Mahmoud AL-GHOSIEN, Rajeev Sudhakar BHOPI, Samer BOSHRA, Madhan GAJENDRAN, Artavazd GINOSIAN, Atul KATIYAR, Liang LI, Karthik RAMAN, Ankur Savailal SHAH, Pankaj SHARMA, Hari Sudan SUNDAR, Krishnan SUNDARAM, Shireesh Kumar THOTA, Lalitha Manjapara VISWANATHAN
  • Publication number: 20190340011
    Abstract: Distributed transactions are performed over a collection of servers operating as replicas of a data set, where a successful transaction involves meeting a quorum count of replicas that locally commit the transaction. However, performance constraints of data sets and consuming applications may vary (e.g., sensitivity to latency, scalability, and/or consistency), and the performance characteristics of the server set may be partly determined by the transactional commitment and quorum selection. The distributed transaction may be applied by designating the replicas as a set of followers and a leader that initiates the transaction and receives acknowledgments of local commits by each follower. On condition of the acknowledgments meeting a quorum count for the data set according to the performance characteristics of the application, the leader locally commits the transaction and delivers a result.
    Type: Application
    Filed: May 4, 2018
    Publication date: November 7, 2019
    Inventors: Karthik Raman, Arsalan AHMAD, Momin Mahmoud AL-GHOSIEN, Padma Priya ARADHYULA BHAVANI, Rajeev Sudhakar BHOPI, Junyan GUO, Ji HUANG, Atul KATIYAR, Hemant KUMAR, Sujit Vattathil KURUVILLA, Ovidiu Constantin PLATON, Venkata Sivaramakrishna RAMADUGU, Ankur Savailal SHAH, Pankaj SHARMA, Dharma SHUKLA, Shreshth SINGHAL, Shireesh Kumar THOTA
  • Publication number: 20190340265
    Abstract: A data service may be distributed over a set of servers in order to provide a database with properties such as low latency, high availability, and support for various consistency levels. Presented herein is a particular architecture that promotes rapid provisioning to promote scalability and failover; adaptive load-balancing to accommodate fluctuations in demand; and resiliency in the event of various types of failure, such as network partitions or regional outages. For a service comprising a resource set, a container is provided that hosts a set of replicas of a partition, and that is assigned an allocation of computing capabilities of one or more servers. The resource set of the service may be distributed over the replicas of the container. Scalability is achieved by adding replicas to the container, and load-balancing may be provided by splitting, merging, or otherwise refactoring the partition to accommodate anticipated and unanticipated fluctuations in service demand.
    Type: Application
    Filed: May 29, 2018
    Publication date: November 7, 2019
    Inventors: Karthik RAMAN, Momin Mahmoud AL-GHOSIEN, Rajeev Sudhakar BHOPI, Madhan GAJENDRAN, Atul KATIYAR, Liang LI, Ankur Savailal SHAH, Pankaj SHARMA, Dharma SHUKLA, Hari Sudan SUNDAR, Shireesh Kumar THOTA
  • Publication number: 20180375924
    Abstract: Techniques for monitoring web application performance are provided. A request for a web application is received at an application server. A response pipeline at the application server generates client application code corresponding to the requested web application. The client application code is intercepted in the response pipeline. Instrumentation code is inserted into the intercepted client application code to generate an instrumented client application code. The instrumentation code is configured to be executed when the instrumented client application code is rendered at the client to capture performance information at the client, and is configured to transmit the captured performance information from the client.
    Type: Application
    Filed: May 11, 2018
    Publication date: December 27, 2018
    Inventors: Ilarie Letca, Alexandre Coelho, Venkata Seshu Kumar Kurapati, Rajeev Sudhakar, Daniel Savage, Ashvinkumar Sanghvi, Jin Soon Lim
  • Patent number: 9973568
    Abstract: Techniques for monitoring web application performance are provided. A request for a web application is received at an application server. A response pipeline at the application server generates client application code corresponding to the requested web application. The client application code is intercepted in the response pipeline. Instrumentation code is inserted into the intercepted client application code to generate an instrumented client application code. The instrumentation code is configured to be executed when the instrumented client application code is rendered at the client to capture performance information at the client, and is configured to transmit the captured performance information from the client.
    Type: Grant
    Filed: January 7, 2015
    Date of Patent: May 15, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ilarie Letca, Alexandre Coelho, Venkata Seshu Kumar Kurapati, Rajeev Sudhakar, Daniel Savage, Ashvinkumar Sanghvi, Jin Soon Lim
  • Publication number: 20150304398
    Abstract: Techniques for monitoring web application performance are provided. A request for a web application is received at an application server. A response pipeline at the application server generates client application code corresponding to the requested web application. The client application code is intercepted in the response pipeline. Instrumentation code is inserted into the intercepted client application code to generate an instrumented client application code. The instrumentation code is configured to be executed when the instrumented client application code is rendered at the client to capture performance information at the client, and is configured to transmit the captured performance information from the client.
    Type: Application
    Filed: January 7, 2015
    Publication date: October 22, 2015
    Inventors: Ilarie Letca, Alexandre Coelho, Venkata Seshu Kumar Kurapati, Rajeev Sudhakar, Daniel Savage, Ashvinkumar Sanghvi, Jin Soon Lim
  • Patent number: 8938721
    Abstract: Techniques for monitoring web application performance are provided. A request for a web application is received at an application server. A response pipeline at the application server generates client application code corresponding to the requested web application. The client application code is intercepted in the response pipeline. Instrumentation code is inserted into the intercepted client application code to generate an instrumented client application code. The instrumentation code is configured to be executed when the instrumented client application code is rendered at the client to capture performance information at the client, and is configured to transmit the captured performance information from the client.
    Type: Grant
    Filed: July 21, 2010
    Date of Patent: January 20, 2015
    Assignee: Microsoft Corporation
    Inventors: Ilarie Letca, Alexandre Coelho, Venkata Seshu Kumar Kurapati, Rajeev Sudhakar, Daniel Savage, Ashvinkumar Sanghvi, Jin Soon Lim
  • Patent number: 8893156
    Abstract: Methods, systems, and computer-readable media are disclosed for monitoring a distributed application. A particular method identifies a plurality of components of a distributed application. The method also identifies a specific technology associated with a particular component and attaches a technology specific interceptor to the particular component based on the identified specific technology. The method includes intercepting messages that are sent by or received by the particular component using the technology specific interceptor. At least one potential work item is generated based on the intercepted messages. The method includes determining whether to schedule the at least one potential work item for execution based on a predicted impact of the at least one work potential item on performance of the distributed application.
    Type: Grant
    Filed: March 24, 2009
    Date of Patent: November 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Alexandre A. Coelho, Venkata Seshu Kumar Kurapati, Ilarie G. Letca, Ashvinkumar J. Sanghvi, Dhananjay M. Mahajan, Rajeev Sudhakar, Anandha K. Ganesan
  • Patent number: 8402311
    Abstract: Techniques are described herein that are capable of monitoring activity with respect to a distributed application. A server system includes logical tiers, each including processing system(s) configured to process messages in accordance with a respective protocol (e.g., an ASP.net® protocol, WCF protocol, SQL protocol, etc.). When a user initiates an activity with respect to a distributed application, hops are performed between the logical tiers and/or between components of the distributed application to complete the requested activity. A hop is a transfer of a message or a procedure call from one processing system to another processing system. A common identifier may be assigned to each of the hops that are performed with regard to the activity. If a failure occurs with respect to the activity, the common identifier may be used to gather information regarding the hops. For instance, the information may be used to determine a source of the failure.
    Type: Grant
    Filed: July 19, 2010
    Date of Patent: March 19, 2013
    Assignee: Microsoft Corporation
    Inventors: Venkata Seshu Kumar Kurapati, Ilarie G. Letca, Ashvinkumar J. Sanghvi, Dhananjay Madhusudan Mahajan, Alexandre A. Coelho, Rajeev Sudhakar, Anandha Ganesan
  • Publication number: 20120023487
    Abstract: Techniques for monitoring web application performance are provided. A request for a web application is received at an application server. A response pipeline at the application server generates client application code corresponding to the requested web application. The client application code is intercepted in the response pipeline. Instrumentation code is inserted into the intercepted client application code to generate an instrumented client application code. The instrumentation code is configured to be executed when the instrumented client application code is rendered at the client to capture performance information at the client, and is configured to transmit the captured performance information from the client.
    Type: Application
    Filed: July 21, 2010
    Publication date: January 26, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Ilarie Letca, Alexandre Coelho, Venkata Seshu Kumar Kurapati, Rajeev Sudhakar, Daniel Savage, Ashvinkumar Sanghvi, Jin Soon Lim
  • Publication number: 20120017120
    Abstract: Techniques are described herein that are capable of monitoring activity with respect to a distributed application. A server system includes logical tiers, each including processing system(s) configured to process messages in accordance with a respective protocol (e.g., an ASP.net® protocol, WCF protocol, SQL protocol, etc.). When a user initiates an activity with respect to a distributed application, hops are performed between the logical tiers and/or between components of the distributed application to complete the requested activity. A hop is a transfer of a message or a procedure call from one processing system to another processing system. A common identifier may be assigned to each of the hops that are performed with regard to the activity. If a failure occurs with respect to the activity, the common identifier may be used to gather information regarding the hops. For instance, the information may be used to determine a source of the failure.
    Type: Application
    Filed: July 19, 2010
    Publication date: January 19, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Venkata Seshu Kumar Kurapati, Ilarie G. Letca, Ashvinkumar J. Sanghvi, Dhananjay Madhusudan Mahajan, Alexandre A. Coelho, Rajeev Sudhakar, Anandha Ganesan
  • Publication number: 20100251263
    Abstract: Methods, systems, and computer-readable media are disclosed for monitoring a distributed application. A particular method identifies a plurality of components of a distributed application. The method also identifies a specific technology associated with a particular component and attaches a technology specific interceptor to the particular component based on the identified specific technology. The method includes intercepting messages that are sent by or received by the particular component using the technology specific interceptor. At least one potential work item is generated based on the intercepted messages. The method includes determining whether to schedule the at least one potential work item for execution based on a predicted impact of the at least one work potential item on performance of the distributed application.
    Type: Application
    Filed: March 24, 2009
    Publication date: September 30, 2010
    Applicant: Microsoft Corporation
    Inventors: Alexandre A. Coelho, Venkata Seshu Kumar Kurapati, Ilarie G. Letca, Ashvinkumar J. Sanghvi, Dhananjay M. Mahajan, Rajeev Sudhakar, Anandha K. Ganesan
  • Publication number: 20100241690
    Abstract: Methods, systems, and computer-readable media are disclosed for discovering components and dependencies in a distributed computing environment. A particular method includes discovering a first component and a second component of a distributed computing environment, where the first component and the second component are associated with different discoverable technologies. Each component is discovered based on a match between a characteristic of the component and a technology specification associated with the discoverable technology. The method also includes discovering a dependency between the first component and the second component.
    Type: Application
    Filed: March 20, 2009
    Publication date: September 23, 2010
    Applicant: Microsoft Corporation
    Inventors: Venkata Seshu Kumar Kurapati, Ilarie G. Letca, Dhananjay M. Mahajan, Alexandre A. Coelho, Rajeev Sudhakar, Anandha K. Ganesan
  • Patent number: 7577888
    Abstract: A system and method for monitoring processes corresponding to measurable values based on signatures associated with the measurable values is provided. The signatures can be created based on data from auxiliary data sets or auxiliary data sources. Additional monitoring information can be obtained by collecting dimensional data for the measurable values.
    Type: Grant
    Filed: February 1, 2006
    Date of Patent: August 18, 2009
    Assignee: Microsoft Corporation
    Inventors: Rajeev Sudhakar, Anandha Ganesan, Ashvin Sanghvi, Ilarie Letca, Thomas Theiner, Dhananjay M. Mahajan
  • Publication number: 20070208983
    Abstract: A system and method for monitoring processes corresponding to measurable values based on signatures associated with the measurable values is provided. The signatures can be created based on data from auxiliary data sets or auxiliary data sources. Additional monitoring information can be obtained by collecting dimensional data for the measurable values.
    Type: Application
    Filed: February 1, 2006
    Publication date: September 6, 2007
    Applicant: Microsoft Corporation
    Inventors: Rajeev Sudhakar, Anandha Ganesan, Ashvin Sanghvi, Ilarie Letca, Thomas Theiner, Dhanajay Mahajan