Patents by Inventor Tin Qian

Tin Qian 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: 11089078
    Abstract: Techniques for providing improved online communication are provided herein. In one example, a model may be used to predict network parameters of a network connection of a computing device. One or more attributes specifying characteristics of the network connection for the computing device may be received and used by the model to predict the network parameters. The predicted network parameters may be provided to a computing device for initiation of a media session.
    Type: Grant
    Filed: September 13, 2019
    Date of Patent: August 10, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rajesh Gunnalan, Huazhou Liu, Jiannan Zheng, Tin Qian
  • Patent number: 11019117
    Abstract: In a device including a processor and a memory in communication with the processor, the memory includes executable instructions that, when executed by the processor, cause the processor to control the device to perform functions of connecting to a plurality of remote devices, using a network address and a port number that are usable for a plurality of remote devices to access the device; providing a plurality of tokens to a plurality of remote devices, respectively, each token being unique and associated with a different one of the plurality of remote devices; receiving from a first remote device, a first data packet including first media data and a first token associated with the first remote device; and identifying, based on the received first token, the first remote device as a source of the received first data packet.
    Type: Grant
    Filed: July 8, 2019
    Date of Patent: May 25, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Tin Qian, Rajesh Gunnalan, Timothy Mark Moore
  • Patent number: 10972510
    Abstract: A media session is established between a first device (e.g., endpoint) and a second device (e.g., endpoint) via a communication network based on connectivity checks performed by the devices. A set of candidate pairs, including network addresses available to the first device and the second device, is generated. Among the candidate pairs of the candidate pair set, a respective priority is initially assigned for connectivity checks. If a connectivity check modification condition is determined to be met for candidate pairs used for connectivity checks, the priority ordering of the candidate pairs is modified to produce a second priority ordering. This second priority ordering assigns a higher priority for a candidate pair which meets the connectivity check modification condition than a candidate pair that does not meet the condition. Based on the modified ordering, connectivity checks are performed, and the media session is configured and established using a candidate pair determined to be valid.
    Type: Grant
    Filed: December 12, 2018
    Date of Patent: April 6, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
  • 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: 20210084093
    Abstract: Techniques for providing improved online communication are provided herein. In one example, a model may be used to predict network parameters of a network connection of a computing device. One or more attributes specifying characteristics of the network connection for the computing device may be received and used by the model to predict the network parameters. The predicted network parameters may be provided to a computing device for initiation of a media session.
    Type: Application
    Filed: September 13, 2019
    Publication date: March 18, 2021
    Inventors: Rajesh Gunnalan, Huazhou Liu, Jiannan Zheng, 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
  • 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
  • Patent number: 10862863
    Abstract: Techniques for a session identifier for a communication session are described. According to various implementations, a session identifier that is usable for initiating a communication session is allocated prior to the communication session being initiated. The session identifier can then be activated to enable the session identifier to be used for routing data packets of a communication session.
    Type: Grant
    Filed: June 25, 2018
    Date of Patent: December 8, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
  • Patent number: 10855654
    Abstract: Techniques for a session identifier for a communication session are described. According to various implementations, a session identifier that is usable for initiating a communication session is allocated prior to the communication session being initiated. The session identifier can then be activated to enable the session identifier to be used for routing data packets of a communication session.
    Type: Grant
    Filed: June 26, 2018
    Date of Patent: December 1, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
  • 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
  • Patent number: 10601879
    Abstract: A media session is configured between a first endpoint and a second endpoint on a communication network based on connectivity checks performed by the endpoints. When a reduced connectivity check condition is met, based on characteristics of the communication network operable between the first endpoint and the second endpoint, a reduced candidate pairing procedure is initiated. The reduced candidate pairing procedure includes connectivity checks performed from the first endpoint with a reduced set of candidate pairs that is smaller than an available set of candidate pairs. The reduced set of candidate pairs is identified based on the characteristics of the communication network at the respective pairs, and a particular candidate pair in the reduced set is determined to be valid based on a result of connectivity checks using the candidate pair.
    Type: Grant
    Filed: December 4, 2018
    Date of Patent: March 24, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
  • Publication number: 20190334960
    Abstract: A conferencing server is directly accessible from the public Internet and has a host transport address, which is a combination of a public IP address on the public Internet and an associated port. It comprises conference hosting logic for hosting at least one conference, in which media data is transmitted and received via the conferencing server between participant endpoints; media processing logic configured to process received media data of the conference for transmission in the conference; multiplexing control logic configured to determine a plurality of multiplexing tokens to be used by the participant endpoints; and demultiplexing logic configured to identify received multiplexing tokens in transport layer payload data of a sequence data packets received from the participant endpoints at the host transport address, and use the multiplexing tokens identified in the transport layer payload data to demultiplex the data packets for processing by the media processing logic.
    Type: Application
    Filed: July 8, 2019
    Publication date: October 31, 2019
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Tin Qian, Rajesh Gunnalan, Timothy Mark Moore
  • Patent number: 10348784
    Abstract: A conferencing server is directly accessible from the public Internet and has a host transport address, which is a combination of a public IP address on the public Internet and an associated port. It comprises conference hosting logic for hosting at least one conference, in which media data is transmitted and received via the conferencing server between participant endpoints; media processing logic configured to process received media data of the conference for transmission in the conference; multiplexing control logic configured to determine a plurality of multiplexing tokens to be used by the participant endpoints; and demultiplexing logic configured to identify received multiplexing tokens in transport layer payload data of a sequence data packets received from the participant endpoints at the host transport address, and use the multiplexing tokens identified in the transport layer payload data to demultiplex the data packets for processing by the media processing logic.
    Type: Grant
    Filed: February 15, 2017
    Date of Patent: July 9, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Tin Qian, Rajesh Gunnalan, Timothy Mark Moore
  • Publication number: 20190158545
    Abstract: A first device is disclosed, which includes a processor and a memory in communication with the processor.
    Type: Application
    Filed: January 23, 2019
    Publication date: May 23, 2019
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
  • Publication number: 20190116208
    Abstract: A media session is established between a first device (e.g., endpoint) and a second device (e.g., endpoint) via a communication network based on connectivity checks performed by the devices. A set of candidate pairs, including network addresses available to the first device and the second device, is generated. Among the candidate pairs of the candidate pair set, a respective priority is initially assigned for connectivity checks. If a connectivity check modification condition is determined to be met for candidate pairs used for connectivity checks, the priority ordering of the candidate pairs is modified to produce a second priority ordering. This second priority ordering assigns a higher priority for a candidate pair which meets the connectivity check modification condition than a candidate pair that does not meet the condition. Based on the modified ordering, connectivity checks are performed, and the media session is configured and established using a candidate pair determined to be valid.
    Type: Application
    Filed: December 12, 2018
    Publication date: April 18, 2019
    Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
  • Publication number: 20190109879
    Abstract: A media session is configured between a first endpoint and a second endpoint on a communication network based on connectivity checks performed by the endpoints. When a reduced connectivity check condition is met, based on characteristics of the communication network operable between the first endpoint and the second endpoint, a reduced candidate pairing procedure is initiated. The reduced candidate pairing procedure includes connectivity checks performed from the first endpoint with a reduced set of candidate pairs that is smaller than an available set of candidate pairs. The reduced set of candidate pairs is identified based on the characteristics of the communication network at the respective pairs, and a particular candidate pair in the reduced set is determined to be valid based on a result of connectivity checks using the candidate pair.
    Type: Application
    Filed: December 4, 2018
    Publication date: April 11, 2019
    Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
  • Patent number: 10237236
    Abstract: A media session is established between a first endpoint and a second endpoint, by transmitting the following messages from the first endpoint in parallel: to the second endpoint, a message indicating a first server network address of a media relay server available to the first endpoint and comprising a unique session identifier; to the media relay server, an activation request comprising the unique session identifier. This activates the session identifier by causing it to be associated at the media relay server with a source address conveyed by the activation request. Once the session identifier has been activated, a media packet received from the second endpoint at the first server network address that comprises the unique session identifier is relayed from the media relay server to the source address for receiving by the first endpoint.
    Type: Grant
    Filed: March 4, 2016
    Date of Patent: March 19, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
  • Patent number: 10230771
    Abstract: A media session between a first device and a second device is established. The following candidate pairs are determined at the first device, by exchanging network addresses between the devices: (i) a relayed-relayed candidate pair comprising a first media relay server network address and a second media relay server, and (ii) at least one alternative candidate pair. Connectivity checks are performed for at least the alternative candidate pair to determine whether or not the alternative candidate pair is valid. However, the media session is established initially using the relayed-relayed candidate pair without any connectivity checks having been performed by the devices for the relayed-relayed candidate pair and before the connectivity checks for the alternative candidate pair have been completed. If the alternative candidate pair is determined to be valid in the connectivity checks, the established media session is switched to the alternative candidate pair in response.
    Type: Grant
    Filed: October 27, 2016
    Date of Patent: March 12, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
  • 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