Patents by Inventor Jayashree Sadagopan
Jayashree Sadagopan 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: 11197010Abstract: Innovations in video playback using a browser-based video decoder are described. In a computer system that includes multiple central processing units (“CPUs”), a browser-based video decoder performs operations with multiple threads that may execute simultaneously on different CPUs. The video decoder can perform decoding operations in parallel for different sections of a picture. For example, with a main CPU thread associated with a browser, the video decoder performs a first decoding workload (e.g., bitstream parsing) for a picture. With auxiliary CPU threads associated with Web workers and simultaneously executing on different CPUs, the video decoder performs a second decoding workload (e.g., entropy decoding, decoding of side information) for different sections of the picture, one section per auxiliary CPU thread. If the computer system also includes a graphics processing unit (“GPU”), the video decoder can perform additional decoding workloads with shader routines executable on the GPU.Type: GrantFiled: October 7, 2016Date of Patent: December 7, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Jingyaw Sun, Winston M. P. Johnston, Jayashree Sadagopan, Lihua Zhu, Michael E. Seydl, Olof L. E. Mases, B. Anil Kumar
-
Patent number: 10637784Abstract: Technologies are described for performing equation-based rate control using delay. For example, an observed network data rate and a network delay can be obtained for a network communication. A target network data rate can be calculated using the observed network data rate and the network delay. The target network data rate is calculated using an equation-based approach. For example, the equation-based rate control can set the target network data rate to a value that is directly proportional to the observed network data rate and inversely related to the network delay. The target network data rate is used to set the bitrate for the network communication.Type: GrantFiled: May 20, 2019Date of Patent: April 28, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Weidong Zhao, Sanjeev Mehrotra, Jayashree Sadagopan, Costin Hagiu
-
Publication number: 20190273689Abstract: Technologies are described for performing equation-based rate control using delay. For example, an observed network data rate and a network delay can be obtained for a network communication. A target network data rate can be calculated using the observed network data rate and the network delay. The target network data rate is calculated using an equation-based approach. For example, the equation-based rate control can set the target network data rate to a value that is directly proportional to the observed network data rate and inversely related to the network delay. The target network data rate is used to set the bitrate for the network communication.Type: ApplicationFiled: May 20, 2019Publication date: September 5, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Weidong Zhao, Sanjeev Mehrotra, Jayashree Sadagopan, Costin Hagiu
-
Patent number: 10341240Abstract: Technologies are described for performing equation-based rate control using delay. For example, an observed network data rate and a network delay can be obtained for a network communication. A target network data rate can be calculated using the observed network data rate and the network delay. The target network data rate is calculated using an equation-based approach. For example, the equation-based rate control can set the target network data rate to a value that is directly proportional to the observed network data rate and inversely related to the network delay. The target network data rate is used to set the bitrate for the network communication.Type: GrantFiled: December 12, 2016Date of Patent: July 2, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Weidong Zhao, Sanjeev Mehrotra, Jayashree Sadagopan, Costin Hagiu
-
Patent number: 10129155Abstract: Technologies are described for performing hybrid rate control that switches between a delay-based mode and a passive loss-based mode for a flow of network traffic. The switching can be performed based on the presence of loss-based TCP network flows. For example, rate control can be performed for a flow of network traffic in a delay-based mode. When the presence of a loss-based TCP network flow is detected, the flow of network traffic can be switched from the delay-based mode to a passive loss-based mode and rate control can be performed in the passive loss-based mode. When the loss-based TCP flow is no longer detected, the flow of network traffic can be switched back to the delay-based mode.Type: GrantFiled: November 21, 2016Date of Patent: November 13, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Weidong Zhao, Sanjeev Mehrotra, Jayashree Sadagopan, Costin Hagiu
-
Publication number: 20180167328Abstract: Technologies are described for performing equation-based rate control using delay. For example, an observed network data rate and a network delay can be obtained for a network communication. A target network data rate can be calculated using the observed network data rate and the network delay. The target network data rate is calculated using an equation-based approach. For example, the equation-based rate control can set the target network data rate to a value that is directly proportional to the observed network data rate and inversely related to the network delay. The target network data rate is used to set the bitrate for the network communication.Type: ApplicationFiled: December 12, 2016Publication date: June 14, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Weidong Zhao, Sanjeev Mehrotra, Jayashree Sadagopan, Costin Hagiu
-
Publication number: 20180145780Abstract: Technologies are described for determining clock offsets between computing devices. Clock offsets between the computing devices are determined based on timestamp information associated with forward packets and reverse packets sent between the computing devices. For example, a forward series and a reverse series of timestamp points can be obtained from forward and reverse network packets. A forward anchor series and a reverse anchor series can be generated from the forward series and the reverse series. The clock offset between the computing devices can be estimated using the forward anchor series and the reverse anchor series.Type: ApplicationFiled: November 21, 2016Publication date: May 24, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Weidong Zhao, Jayashree Sadagopan
-
Publication number: 20180145914Abstract: Technologies are described for performing hybrid rate control that switches between a delay-based mode and a passive loss-based mode for a flow of network traffic. The switching can be performed based on the presence of loss-based TCP network flows. For example, rate control can be performed for a flow of network traffic in a delay-based mode. When the presence of a loss-based TCP network flow is detected, the flow of network traffic can be switched from the delay-based mode to a passive loss-based mode and rate control can be performed in the passive loss-based mode. When the loss-based TCP flow is no longer detected, the flow of network traffic can be switched back to the delay-based mode.Type: ApplicationFiled: November 21, 2016Publication date: May 24, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Weidong Zhao, Sanjeev Mehrotra, Jayashree Sadagopan, Costin Hagiu
-
Publication number: 20180103261Abstract: Innovations in video playback using a browser-based video decoder are described. In a computer system that includes multiple central processing units (“CPUs”), a browser-based video decoder performs operations with multiple threads that may execute simultaneously on different CPUs. The video decoder can perform decoding operations in parallel for different sections of a picture. For example, with a main CPU thread associated with a browser, the video decoder performs a first decoding workload (e.g., bitstream parsing) for a picture. With auxiliary CPU threads associated with Web workers and simultaneously executing on different CPUs, the video decoder performs a second decoding workload (e.g., entropy decoding, decoding of side information) for different sections of the picture, one section per auxiliary CPU thread. If the computer system also includes a graphics processing unit (“GPU”), the video decoder can perform additional decoding workloads with shader routines executable on the GPU.Type: ApplicationFiled: October 7, 2016Publication date: April 12, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Jingyaw Sun, Winston M.P. Johnston, Jayashree Sadagopan, Lihua Zhu, Michael E. Seydl, Olof L.E. Mases, B. Anil Kumar
-
Publication number: 20170046013Abstract: An invention is disclosed for conducting a remote presentation session with a client that uses a web browser to conduct the session. The client previously received browser-native program code that executes within a runtime environment of the web browser. The browser-native program code instantiates a remote presentation client executing within a runtime environment of the web browser. The server generates graphics encoded according to a remote presentation protocol and sends them to the remote presentation client for display in the web browser. The client captures user input at the web browser and sends it to the remote presentation client, which encodes it with the remote presentation protocol and sends it to the server to be processed.Type: ApplicationFiled: August 14, 2015Publication date: February 16, 2017Inventors: Raymond Matthew Reskusich, Jayashree Sadagopan, Lihua Zhu, Sridhar Sankuratri, Shir Aharon, Jeroen Eduard van Eesteren, Greg Sun, Derrick Isoka, Munindra Nath Das, Travis Michael Howe, B. Anil Kumar
-
Patent number: 9047103Abstract: A resource index on a computing device identifies multiple resource instances (e.g., multiple user interface (UI) resource instances) of multiple resource items (e.g., of multiple UI resource items), each resource instance having one or more resource instance conditions. In response to a request for a resource item received from an application, a determination is made based on the resource index of one of the multiple resource instances that satisfy conditions associated with the request, and the one of the multiple resource instances is returned to the application. Additionally, the resource index can be used to identify potential errors in running an application in various potential contexts.Type: GrantFiled: December 21, 2010Date of Patent: June 2, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Erik Fortune, Rylan M. Hawkins, Peter G. Constable, Sunggook Chue, Dennis Y. Chi, Laura Gonzalez Gomez, Jayashree Sadagopan
-
Publication number: 20120158891Abstract: A universal content representation system (“UCRS”) implements techniques for universally representing digital content such as files, device information, and applications across a group of electronic devices that includes at least a source electronic device and a remote electronic device. Proxy content items, which correspond with items of content (“source content items”) stored on the source electronic device, are data stores for the corresponding source content items, and visually represent the corresponding source content items on the remote electronic device, whether the source electronic device is online or offline. A user of the remote electronic devices uses the proxy content items to search for and view source content items prior to requesting full access to the source content items. From time-to-time, source content items and proxy content items are synchronized with each other.Type: ApplicationFiled: December 21, 2010Publication date: June 21, 2012Applicant: MICROSOFT CORPORATIONInventors: James Dooley, Anshul Rawat, Ketaki Deshpande, Jayashree Sadagopan, I-Ming Chen, Daniel Oliver, Relja Ivanovic, Chris Guzak
-
Publication number: 20120159260Abstract: A resource index on a computing device identifies multiple resource instances (e.g., multiple user interface (UI) resource instances) of multiple resource items (e.g., of multiple UI resource items), each resource instance having one or more resource instance conditions. In response to a request for a resource item received from an application, a determination is made based on the resource index of one of the multiple resource instances that satisfy conditions associated with the request, and the one of the multiple resource instances is returned to the application. Additionally, the resource index can be used to identify potential errors in running an application in various potential contexts.Type: ApplicationFiled: December 21, 2010Publication date: June 21, 2012Applicant: MICROSOFT CORPORATIONInventors: Erik Fortune, Rylan M. Hawkins, Peter G. Constable, Sunggook Chue, Dennis Y. Chi, Laura Gonzalez Gomez, Jayashree Sadagopan