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: 10911521Abstract: 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: GrantFiled: May 11, 2018Date of Patent: February 2, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Ilarie Letca, Alexandre Coelho, Venkata Seshu Kumar Kurapati, Rajeev Sudhakar, Daniel Savage, Ashvinkumar Sanghvi, Jin Soon Lim
-
Publication number: 20180375924Abstract: 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: ApplicationFiled: May 11, 2018Publication date: December 27, 2018Inventors: Ilarie Letca, Alexandre Coelho, Venkata Seshu Kumar Kurapati, Rajeev Sudhakar, Daniel Savage, Ashvinkumar Sanghvi, Jin Soon Lim
-
Patent number: 9973568Abstract: 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: GrantFiled: January 7, 2015Date of Patent: May 15, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Ilarie Letca, Alexandre Coelho, Venkata Seshu Kumar Kurapati, Rajeev Sudhakar, Daniel Savage, Ashvinkumar Sanghvi, Jin Soon Lim
-
Patent number: 9858114Abstract: 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: GrantFiled: December 26, 2016Date of Patent: January 2, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Robert Fries, Ashvinkumar Sanghvi
-
Patent number: 9807129Abstract: 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: GrantFiled: October 30, 2015Date of Patent: October 31, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Robert Fries, Srivatsan Parthasarathy, Ashvinkumar Sanghvi, Aravind Ramarathinam, Michael Grier
-
Publication number: 20170139743Abstract: 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: ApplicationFiled: December 26, 2016Publication date: May 18, 2017Inventors: Robert Fries, Ashvinkumar Sanghvi
-
Patent number: 9569259Abstract: 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: GrantFiled: October 16, 2015Date of Patent: February 14, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Robert Fries, Ashvinkumar Sanghvi
-
Publication number: 20160248818Abstract: 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: ApplicationFiled: October 30, 2015Publication date: August 25, 2016Inventors: Robert Fries, Srivatsan Parthasarathy, Ashvinkumar Sanghvi, Aravind Ramarathinam, Michael Grier
-
Publication number: 20160034302Abstract: 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: ApplicationFiled: October 16, 2015Publication date: February 4, 2016Inventors: Robert Fries, Ashvinkumar Sanghvi
-
Patent number: 9191454Abstract: 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: GrantFiled: June 27, 2011Date of Patent: November 17, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Robert Fries, Srivatsan Parthasarathy, Ashvinkumar Sanghvi, Aravind Ramarathinam, Michael Grier
-
Patent number: 9176773Abstract: 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: GrantFiled: June 29, 2011Date of Patent: November 3, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Robert Fries, Ashvinkumar Sanghvi
-
Publication number: 20150304398Abstract: 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: ApplicationFiled: January 7, 2015Publication date: October 22, 2015Inventors: Ilarie Letca, Alexandre Coelho, Venkata Seshu Kumar Kurapati, Rajeev Sudhakar, Daniel Savage, Ashvinkumar Sanghvi, Jin Soon Lim
-
Patent number: 8938721Abstract: 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: GrantFiled: July 21, 2010Date of Patent: January 20, 2015Assignee: Microsoft CorporationInventors: Ilarie Letca, Alexandre Coelho, Venkata Seshu Kumar Kurapati, Rajeev Sudhakar, Daniel Savage, Ashvinkumar Sanghvi, Jin Soon Lim
-
Publication number: 20130007216Abstract: 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: ApplicationFiled: June 29, 2011Publication date: January 3, 2013Applicant: MICROSOFT CORPORATIONInventors: Robert Fries, Ashvinkumar Sanghvi
-
Publication number: 20120331461Abstract: 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: ApplicationFiled: June 27, 2011Publication date: December 27, 2012Inventors: Robert Fries, Srivatsan Parthasarathy, Ashvinkumar Sanghvi, Aravind Ramarathinam, Michael Grier
-
Publication number: 20120324446Abstract: 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: ApplicationFiled: June 17, 2011Publication date: December 20, 2012Applicant: MICROSOFT CORPORATIONInventors: Robert Fries, Ashvinkumar Sanghvi
-
Publication number: 20120257820Abstract: 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: ApplicationFiled: April 7, 2011Publication date: October 11, 2012Applicant: MICROSOFT CORPORATIONInventors: Ashvinkumar Sanghvi, Shobana Balakrishnan, Vishwajith Kumbalimutt, Anders Vinberg, Srivatsan Parthasarathy, James Finnigan
-
Publication number: 20120260259Abstract: 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: ApplicationFiled: April 6, 2011Publication date: October 11, 2012Applicant: MICROSOFT CORPORATIONInventors: Srivatsan Parthasarathy, Ashvinkumar Sanghvi, James Finnigan, Anders Vinberg
-
Publication number: 20120023487Abstract: 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: ApplicationFiled: July 21, 2010Publication date: January 26, 2012Applicant: MICROSOFT CORPORATIONInventors: Ilarie Letca, Alexandre Coelho, Venkata Seshu Kumar Kurapati, Rajeev Sudhakar, Daniel Savage, Ashvinkumar Sanghvi, Jin Soon Lim
-
Publication number: 20070261018Abstract: Described is sharing of portable packages containing encodings of processes. The packages can be provided to and shared among organizations or firms so that the packages can be applied to their software stacks. The packages are portable and distinct from the technology stacks. The packages can cross reference each other. The packages may be in the form of declarative code for configuring the technology stacks and can be plugged into the technology stacks to allow the technology stack to play the packages, thereby automating the processes encoded by the packages. The packages can be digitally signed or provided with certificates that can be used to verify their authenticity. The packages can be distributed over a network as requested by the various firms or organizations.Type: ApplicationFiled: April 24, 2006Publication date: November 8, 2007Applicant: Microsoft CorporationInventors: Ashvinkumar Sanghvi, Giedrius Zizys, Vij Rajarajan