Patents by Inventor Mihhail KONOVALOV

Mihhail KONOVALOV 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).

  • Publication number: 20230308729
    Abstract: Techniques are described for low-latency streaming of media content using a lossless protocol. For example, a media stream, comprising encoded video data, can be streamed to a plurality of streaming clients via the lossless protocol. The plurality of streaming clients can be monitored to determine whether any of them have fallen behind in streaming the media stream. When a streaming client falls behind, a portion of video data to be streamed to the streaming client can be selectively dropped based on scalability information and/or long term reference (LTR) frame information. The low-latency streaming can be performed without using per-client quality feedback from the plurality of streaming clients. When streaming using a semi-lossy protocol, a plurality of delivery modes can be used, where each delivery mode is for a different type of encoded video data and provides a different level of reliability.
    Type: Application
    Filed: June 2, 2023
    Publication date: September 28, 2023
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Rajesh GUNNALAN, Mihhail KONOVALOV, Tin QIAN, Satya Sasikanth BENDAPUDI
  • Patent number: 11736552
    Abstract: Techniques are described for streaming (e.g., low-latency streaming) of media content by performing sender-based adaptive bit rate control operations. The operations can include streaming a media stream to a streaming client. While streaming the media stream, an outgoing queue of buffered streaming content to be sent to the streaming client can be monitored. When a step down condition is satisfied, based at least in part on the monitoring, a switch can be made to a lower bit rate media stream for streaming to the streaming client. When a step up condition is satisfied, based at least in part on the monitoring, a switch can be made to a higher bit rate media stream for streaming to the streaming client. The operations are performed without receiving any quality feedback from the streaming client and without measuring bandwidth of the network channel.
    Type: Grant
    Filed: September 21, 2022
    Date of Patent: August 22, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rajesh Gunnalan, Ilja Tsahhirov, Mihhail Konovalov, Tin Qian
  • Patent number: 11706497
    Abstract: Techniques are described for low-latency streaming of media content using a lossless protocol. For example, a media stream, comprising encoded video data, can be streamed to a plurality of streaming clients via the lossless protocol. The plurality of streaming clients can be monitored to determine whether any of them have fallen behind in streaming the media stream. When a streaming client falls behind, a portion of video data to be streamed to the streaming client can be selectively dropped based on scalability information and/or long term reference (LTR) frame information. The low-latency streaming can be performed without using per-client quality feedback from the plurality of streaming clients. When streaming using a semi-lossy protocol, a plurality of delivery modes can be used, where each delivery mode is for a different type of encoded video data and provides a different level of reliability.
    Type: Grant
    Filed: February 11, 2022
    Date of Patent: July 18, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rajesh Gunnalan, Mihhail Konovalov, Tin Qian, Satya Sasikanth Bendapudi
  • Publication number: 20230117444
    Abstract: Techniques are described for low-latency real-time streaming of media content. For example, streaming media content can be received from a media source, where the streaming media content comprises audio and/or video content. An audio/video stream can be streamed to one or more streaming clients. The audio/video stream is streamed as a sequence of encoded audio and/or video frames, which are independent encoded audio and/or video frames that are not grouped into chunks for streaming. The sequence of encoded audio and/or video frames is streamed to the one or more streaming clients as a one-way stream and without receiving any requests from the one or more streaming clients for subsequent frames or chunks.
    Type: Application
    Filed: October 19, 2021
    Publication date: April 20, 2023
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Rajesh Gunnalan, Mihhail Konovalov, Tin Qian, Timothy Mark Moore
  • Patent number: 11245734
    Abstract: A conferencing computing device, including memory storing one or more dispatch data structures. The conferencing computing device may further include a processor configured to, at a port, receive, from a sender computing device, a first input packet including first input packet data and a second input packet that includes a copy of the first input packet data, via a first communication channel and a second communication channel, respectively. Based on the input packet data and the one or more dispatch data structures, the processor may add the input packets to a queue of a transport provider bound to the port. The processor may transmit the input packets to an application program instance associated with the queue. The processor may determine that the first communication channel or the second communication channel is disconnected and may maintain communication with the sender computing device through the port via a remaining communication channel.
    Type: Grant
    Filed: September 10, 2020
    Date of Patent: February 8, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rajesh Gunnalan, Mihhail Konovalov, Tin Qian
  • Patent number: 11240277
    Abstract: A conferencing computing device, including memory storing one or more dispatch data structures. The conferencing computing device may further include a processor configured to receive a plurality of input packets at a shared port from a plurality of sender computing devices. Based on input packet data and the one or more dispatch data structures, the processor may add each input packet to an input queue bound to the shared port. The processor may transmit the input packets to a plurality of application program instances associated with the input queues. The processor may generate a plurality of output packets at the application program instances. The processor may add each output packet to an output queue associated with the application program instance at which that output packet was generated. The processor may, through the shared port, transmit the output packets to a plurality of recipient computing devices.
    Type: Grant
    Filed: September 10, 2020
    Date of Patent: February 1, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rajesh Gunnalan, Mihhail Konovalov, Tin Qian
  • Patent number: 11228957
    Abstract: Techniques to select a network interface herein can be used with an application that is configured to send and receive data. These techniques include detecting an event indicative of a problem with network connectivity associated with a first network interface of the plurality of network interfaces in an application utilizing the first network interface; testing connectivity of each network interface of the plurality of network interfaces other than the first network interface to produce a set of candidate network interfaces; selecting a candidate network interface from the candidate network interfaces; and routing data for the application through the selected candidate network interface.
    Type: Grant
    Filed: September 13, 2019
    Date of Patent: January 18, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rajesh Gunnalan, Mihhail Konovalov, Tin Qian
  • Publication number: 20210084556
    Abstract: Techniques to select a network interface herein can be used with an application that is configured to send and receive data. These techniques include detecting an event indicative of a problem with network connectivity associated with a first network interface of the plurality of network interfaces in an application utilizing the first network interface; testing connectivity of each network interface of the plurality of network interfaces other than the first network interface to produce a set of candidate network interfaces; selecting a candidate network interface from the candidate network interfaces; and routing data for the application through the selected candidate network interface.
    Type: Application
    Filed: September 13, 2019
    Publication date: March 18, 2021
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Rajesh GUNNALAN, Mihhail KONOVALOV, Tin QIAN
  • Publication number: 20200412775
    Abstract: A conferencing computing device, including memory storing one or more dispatch data structures. The conferencing computing device may further include a processor configured to, at a port, receive, from a sender computing device, a first input packet including first input packet data and a second input packet that includes a copy of the first input packet data, via a first communication channel and a second communication channel, respectively. Based on the input packet data and the one or more dispatch data structures, the processor may add the input packets to a queue of a transport provider bound to the port. The processor may transmit the input packets to an application program instance associated with the queue. The processor may determine that the first communication channel or the second communication channel is disconnected and may maintain communication with the sender computing device through the port via a remaining communication channel.
    Type: Application
    Filed: September 10, 2020
    Publication date: December 31, 2020
    Applicant: Micosoft Technology Licensing, LLC
    Inventors: Rajesh GUNNALAN, Mihhail Konovalov, Tin Qian
  • Publication number: 20200412774
    Abstract: A conferencing computing device, including memory storing one or more dispatch data structures. The conferencing computing device may further include a processor configured to receive a plurality of input packets at a shared port from a plurality of sender computing devices. Based on input packet data and the one or more dispatch data structures, the processor may add each input packet to an input queue bound to the shared port. The processor may transmit the input packets to a plurality of application program instances associated with the input queues. The processor may generate a plurality of output packets at the application program instances. The processor may add each output packet to an output queue associated with the application program instance at which that output packet was generated. The processor may, through the shared port, transmit the output packets to a plurality of recipient computing devices.
    Type: Application
    Filed: September 10, 2020
    Publication date: December 31, 2020
    Applicant: Microsoft Technology Licensing, LLC.
    Inventors: Rajesh GUNNALAN, Mihhail KONOVALOV, Tin QIAN
  • Patent number: 10785271
    Abstract: A conferencing computing device, including memory storing one or more dispatch data structures. The conferencing computing device may further include a processor configured to receive a plurality of input packets at a port from a plurality of sender computing devices. Based on input packet data and the one or more dispatch data structures, for each input packet, the processor may to add that input packet to a queue of a transport provider bound to the port. The processor may transmit the plurality of input packets to a plurality of application program instances and instantiate a respective plurality of concurrent multipoint conferencing sessions. The processor may transmit a plurality of output packets from the plurality of application program instances to a plurality of recipient computing devices. The plurality of output packets may be multiplexed through the port and each have a multiplexed local socket address of the port.
    Type: Grant
    Filed: June 4, 2019
    Date of Patent: September 22, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rajesh Gunnalan, Mihhail Konovalov, Tin Qian
  • Patent number: 10778726
    Abstract: A method for bidirectional data exchange includes, on a network computing device, receiving a first request from a first computing device via a request and response protocol, the first request including a first-device-provided portion of a data stream. The first-device-provided portion of the data stream is sent to a second computing device. A second-device-provided portion of the data stream is received from the second computing device. A second request is received from the first computing device via the request and response protocol, the second request soliciting the second-device-provided portion of the data stream. A response to the second request is sent to the first computing device via the request and response protocol, the response including the second-device-provided portion of the data stream.
    Type: Grant
    Filed: August 31, 2017
    Date of Patent: September 15, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ilja Tsahhirov, Tin Qian, Rajesh Gunnalan, Mihhail Konovalov, Marcin Goliszewski, Aadu Adok, Mykhailo Moroz
  • Publication number: 20190068652
    Abstract: A method for bidirectional data exchange includes, on a network computing device, receiving a first request from a first computing device via a request and response protocol, the first request including a first-device-provided portion of a data stream. The first-device-provided portion of the data stream is sent to a second computing device. A second-device-provided portion of the data stream is received from the second computing device. A second request is received from the first computing device via the request and response protocol, the second request soliciting the second-device-provided portion of the data stream. A response to the second request is sent to the first computing device via the request and response protocol, the response including the second-device-provided portion of the data stream.
    Type: Application
    Filed: August 31, 2017
    Publication date: February 28, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Ilja TSAHHIROV, Tin QIAN, Rajesh GUNNALAN, Mihhail KONOVALOV, Marcin GOLISZEWSKI, Aadu ADOK, Mykhailo MOROZ
  • Publication number: 20190068684
    Abstract: A method for bidirectional data exchange includes, on a computing device, sending a first request to a remote computing device via a request and response protocol, the first request including an outgoing portion of a data stream. A second, separate request is sent to the remote computing device via the request and response protocol, the second request soliciting an incoming portion of the data stream. From the remote computing device, a response to the second request is received via the request and response protocol, the request including the incoming portion of the data stream.
    Type: Application
    Filed: August 31, 2017
    Publication date: February 28, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Ilja TSAHHIROV, Tin QIAN, Rajesh GUNNALAN, Mihhail KONOVALOV, Marcin GOLISZEWSKI, Aadu ADOK, Mykhailo MOROZ