Patents by Inventor Ashvinkumar Sanghvi

Ashvinkumar Sanghvi 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: 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
  • 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
  • Patent number: 9858114
    Abstract: Tools and techniques for migrating applications to compute clouds are described herein. A tool may be used to migrate any arbitrary application to a specific implementation of a compute cloud. The tool may use a library of migration rules, apply the rules to a selected application, and in the process generate migration output. The migration output may be advisory information, revised code, patches, or the like. There may be different sets of rules for different cloud compute platforms, allowing the application to be migrated to different clouds. The rules may describe a wide range of application features and corresponding corrective actions for migrating the application. Rules may specify semantic behavior of the application, code or calls, storage, database instances, interactions with databases, operating systems hosting the application, and others.
    Type: Grant
    Filed: December 26, 2016
    Date of Patent: January 2, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert Fries, Ashvinkumar Sanghvi
  • Patent number: 9807129
    Abstract: A logical communication path is provided between a target virtual machine (VM) and a host or application communicating with the VM. The target VM runs on a hypervisor host that has a hypervisor and a proxy agent. The hypervisor manages execution of the VM. A mapping is maintained indicating which VMs execute on which hosts. When the host or application is to send a message or packet to the target VM, the mapping is consulted and the hypervisor host hosting the target VM is identified. The message or packet, which may identify the target VM, is transmitted to the hypervisor host. A proxy agent at the hypervisor host selects a communication channel between the hypervisor and the target VM. The hypervisor then passes the message or packet through the selected channel to the target VM.
    Type: Grant
    Filed: October 30, 2015
    Date of Patent: October 31, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert Fries, Srivatsan Parthasarathy, Ashvinkumar Sanghvi, Aravind Ramarathinam, Michael Grier
  • Publication number: 20170139743
    Abstract: Tools and techniques for migrating applications to compute clouds are described herein. A tool may be used to migrate any arbitrary application to a specific implementation of a compute cloud. The tool may use a library of migration rules, apply the rules to a selected application, and in the process generate migration output. The migration output may be advisory information, revised code, patches, or the like. There may be different sets of rules for different cloud compute platforms, allowing the application to be migrated to different clouds. The rules may describe a wide range of application features and corresponding corrective actions for migrating the application. Rules may specify semantic behavior of the application, code or calls, storage, database instances, interactions with databases, operating systems hosting the application, and others.
    Type: Application
    Filed: December 26, 2016
    Publication date: May 18, 2017
    Inventors: Robert Fries, Ashvinkumar Sanghvi
  • Patent number: 9569259
    Abstract: Tools and techniques for migrating applications to compute clouds are described herein. A tool may be used to migrate any arbitrary application to a specific implementation of a compute cloud. The tool may use a library of migration rules, apply the rules to a selected application, and in the process generate migration output. The migration output may be advisory information, revised code, patches, or the like. There may be different sets of rules for different cloud compute platforms, allowing the application to be migrated to different clouds. The rules may describe a wide range of application features and corresponding corrective actions for migrating the application. Rules may specify semantic behavior of the application, code or calls, storage, database instances, interactions with databases, operating systems hosting the application, and others.
    Type: Grant
    Filed: October 16, 2015
    Date of Patent: February 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert Fries, Ashvinkumar Sanghvi
  • Publication number: 20160248818
    Abstract: A logical communication path is provided between a target virtual machine (VM) and a host or application communicating with the VM. The target VM runs on a hypervisor host that has a hypervisor and a proxy agent. The hypervisor manages execution of the VM. A mapping is maintained indicating which VMs execute on which hosts. When the host or application is to send a message or packet to the target VM, the mapping is consulted and the hypervisor host hosting the target VM is identified. The message or packet, which may identify the target VM, is transmitted to the hypervisor host. A proxy agent at the hypervisor host selects a communication channel between the hypervisor and the target VM. The hypervisor then passes the message or packet through the selected channel to the target VM.
    Type: Application
    Filed: October 30, 2015
    Publication date: August 25, 2016
    Inventors: Robert Fries, Srivatsan Parthasarathy, Ashvinkumar Sanghvi, Aravind Ramarathinam, Michael Grier
  • Publication number: 20160034302
    Abstract: Tools and techniques for migrating applications to compute clouds are described herein. A tool may be used to migrate any arbitrary application to a specific implementation of a compute cloud. The tool may use a library of migration rules, apply the rules to a selected application, and in the process generate migration output. The migration output may be advisory information, revised code, patches, or the like. There may be different sets of rules for different cloud compute platforms, allowing the application to be migrated to different clouds. The rules may describe a wide range of application features and corresponding corrective actions for migrating the application. Rules may specify semantic behavior of the application, code or calls, storage, database instances, interactions with databases, operating systems hosting the application, and others.
    Type: Application
    Filed: October 16, 2015
    Publication date: February 4, 2016
    Inventors: Robert Fries, Ashvinkumar Sanghvi
  • Patent number: 9191454
    Abstract: A logical communication path is provided between a target virtual machine (VM) and a host or application communicating with the VM. The target VM runs on a hypervisor host that has a hypervisor and a proxy agent. The hypervisor manages execution of the VM. A mapping is maintained indicating which VMs execute on which hosts. When the host or application is to send a message or packet to the target VM, the mapping is consulted and the hypervisor host hosting the target VM is identified. The message or packet, which may identify the target VM, is transmitted to the hypervisor host. A proxy agent at the hypervisor host selects a communication channel between the hypervisor and the target VM. The hypervisor then passes the message or packet through the selected channel to the target VM.
    Type: Grant
    Filed: June 27, 2011
    Date of Patent: November 17, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert Fries, Srivatsan Parthasarathy, Ashvinkumar Sanghvi, Aravind Ramarathinam, Michael Grier
  • Patent number: 9176773
    Abstract: Tools and techniques for migrating applications to compute clouds are described herein. A tool may be used to migrate any arbitrary application to a specific implementation of a compute cloud. The tool may use a library of migration rules, apply the rules to a selected application, and in the process generate migration output. The migration output may be advisory information, revised code, patches, or the like. There may be different sets of rules for different cloud compute platforms, allowing the application to be migrated to different clouds. The rules may describe a wide range of application features and corresponding corrective actions for migrating the application. Rules may specify semantic behavior of the application, code or calls, storage, database instances, interactions with databases, operating systems hosting the application, and others.
    Type: Grant
    Filed: June 29, 2011
    Date of Patent: November 3, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert Fries, Ashvinkumar Sanghvi
  • 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
  • Publication number: 20130007216
    Abstract: Tools and techniques for migrating applications to compute clouds are described herein. A tool may be used to migrate any arbitrary application to a specific implementation of a compute cloud. The tool may use a library of migration rules, apply the rules to a selected application, and in the process generate migration output. The migration output may be advisory information, revised code, patches, or the like. There may be different sets of rules for different cloud compute platforms, allowing the application to be migrated to different clouds. The rules may describe a wide range of application features and corresponding corrective actions for migrating the application. Rules may specify semantic behavior of the application, code or calls, storage, database instances, interactions with databases, operating systems hosting the application, and others.
    Type: Application
    Filed: June 29, 2011
    Publication date: January 3, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Robert Fries, Ashvinkumar Sanghvi
  • Publication number: 20120331461
    Abstract: A logical communication path is provided between a target virtual machine (VM) and a host or application communicating with the VM. The target VM runs on a hypervisor host that has a hypervisor and a proxy agent. The hypervisor manages execution of the VM. A mapping is maintained indicating which VMs execute on which hosts. When the host or application is to send a message or packet to the target VM, the mapping is consulted and the hypervisor host hosting the target VM is identified. The message or packet, which may identify the target VM, is transmitted to the hypervisor host. A proxy agent at the hypervisor host selects a communication channel between the hypervisor and the target VM. The hypervisor then passes the message or packet through the selected channel to the target VM.
    Type: Application
    Filed: June 27, 2011
    Publication date: December 27, 2012
    Inventors: Robert Fries, Srivatsan Parthasarathy, Ashvinkumar Sanghvi, Aravind Ramarathinam, Michael Grier
  • Publication number: 20120324446
    Abstract: Techniques are described for composing virtual machine images, generating signatures thereof, and verifying virtual machine images. A virtual machine image may be generated by installing or inserting software to a base virtual machine image. A signature may be computed using hash values of blocks of the base virtual machine image; blocks of the base image that are unchanged need not be hashed to generate the signature. A copy of the new virtual machine image can be verified at a computer hosting virtual machines by computing hashes only for modified or new blocks (relative to the base image). Block verification can take place in the background when a virtual machine starts; all of the blocks are verified (hashed and compared) in some order, and at the same time, unverified blocks are verified on demand as needed by the virtual machine.
    Type: Application
    Filed: June 17, 2011
    Publication date: December 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Robert Fries, Ashvinkumar Sanghvi
  • Publication number: 20120260259
    Abstract: Enhanced requirement-capability definitions are employed for resource consumption and allocation. Business requirements can be specified with respect to content to be hosted, and a decision can be made as to whether, and how, to allocate resources for the content based on the business requirements and resource capabilities. Capability profiles can also be employed to hide underlying resource details while still providing information about resource capabilities.
    Type: Application
    Filed: April 6, 2011
    Publication date: October 11, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Srivatsan Parthasarathy, Ashvinkumar Sanghvi, James Finnigan, Anders Vinberg
  • Publication number: 20120257820
    Abstract: A master image can be generated based upon evaluation of virtual machine images. The master image includes single instances of data segments that are shared across virtual machine images within a virtual machine environment. The master image can be further be constructed as a function of a peer pressure technique that includes data segments common to a majority of the virtual machine images within the master image. The data segments included within the master image can further be defined by prioritizing data within virtual machine images as well as identifying influential data with a peer pressure technique.
    Type: Application
    Filed: April 7, 2011
    Publication date: October 11, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Ashvinkumar Sanghvi, Shobana Balakrishnan, Vishwajith Kumbalimutt, Anders Vinberg, Srivatsan Parthasarathy, James Finnigan
  • 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: 20070261017
    Abstract: Portable packages containing encodings of processes are applied to software stacks. The packages are portable and distinct from the software stacks. The packages may be in the form of declarative code for configuring the software stack and can be plugged into the software stack to allow the technology stack to play the packages, thereby configuring the stacks to be capable of automating the processes encoded by the packages. An application or software component can be provided to read a package and apply parts thereof to appropriate corresponding software stack components.
    Type: Application
    Filed: April 24, 2006
    Publication date: November 8, 2007
    Applicant: Microsoft Corporation
    Inventors: Ashvinkumar Sanghvi, Giedrius Zizys, Vij Rajarajan