Patents by Inventor Timothy Mark Moore
Timothy Mark Moore 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: 10230771Abstract: 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: GrantFiled: October 27, 2016Date of Patent: March 12, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
-
Publication number: 20190052608Abstract: A communication event is established between an initiating device and a responding device under the control of a remote communications controller. In a pre-communication event establishment phase, a secure connection is established between the initiating device and the communications controller, and session key negotiation messages are exchanged between the initiating device and the communications controller via the secure connection to obtain session key data in an electronic storage location accessible to the initiating device. The secure connection terminates once the session key data has been obtained. In a subsequent communication event establishment phase—after the session key data has been obtained and the secure connection has terminated in the pre-establishment phase—a communication event request is transmitted from the initiating device to the communications controller comprising a payload encrypted with the session key data.Type: ApplicationFiled: October 17, 2018Publication date: February 14, 2019Inventors: Uladzimir A. Skuratovich, Namendra Kumar, Andrey Belenko, Timothy Mark Moore
-
Publication number: 20190052609Abstract: A communication event is established between an initiating device and a responding device under the control of a remote communications controller. In a pre-communication event establishment phase, a secure connection is established between the initiating device and the communications controller, and session key negotiation messages are exchanged between the initiating device and the communications controller via the secure connection to obtain session key data in an electronic storage location accessible to the initiating device. The secure connection terminates once the session key data has been obtained. In a subsequent communication event establishment phase—after the session key data has been obtained and the secure connection has terminated in the pre-establishment phase—a communication event request is transmitted from the initiating device to the communications controller comprising a payload encrypted with the session key data.Type: ApplicationFiled: October 17, 2018Publication date: February 14, 2019Inventors: Uladzimir A. Skuratovich, Namendra Kumar, Andrey Belenko, Timothy Mark Moore
-
Patent number: 10193934Abstract: A communication event is established between an initiating device and a responding device under the control of a remote communications controller. In a pre-session establishment phase: a compression dictionary or a dictionary link that identifies an addressable memory location, at which a compression dictionary is held, is received at the initiating device. The received compression dictionary or the received dictionary link is stored in electronic storage of the initiating device. In response to a communication event establishment instruction received at the initiating device after the dictionary or the dictionary link has been received and stored at the initiating device, a session is established between the initiating device and the communications controller by the initiating device transmitting an initial session establishment message—compressed using the dictionary—to the communications controller to establish the communication event.Type: GrantFiled: December 3, 2015Date of Patent: January 29, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Uladzimir A. Skuratovich, Namendra Kumar, Andrey Belenko, Timothy Mark Moore
-
Patent number: 10171511Abstract: A media session is established between a first endpoint and a second endpoint via a communication network based on connectivity checks performed by the endpoints. A set of candidate pairs, each comprising a first network address available to the first endpoint and a second network address available to the second endpoint, is generated. To each candidate pair of the candidate pair set, a respective priority is assigned. If none of the criteria is determined to be met by the first endpoint, the priorities are assigned by the first endpoint according to a standardized networking protocol as specified by the standardized networking protocol, and if any of the criteria is determined to be met by the first endpoint, at least one of the priorities assigned by the first endpoint is different from that specified by the standardized networking protocol.Type: GrantFiled: November 18, 2015Date of Patent: January 1, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
-
Patent number: 10158679Abstract: A media session is established between a first endpoint and a second endpoint via a communication network based on connectivity checks performed by the endpoints. Depending on whether or not at least one of a set of one or more reduced connectivity check criteria is determined to be met, a full or a reduced set of candidate pairs is generated, each candidate pair of whichever set is generated comprising a first network address available to the first endpoint and a second network address available to the second endpoint. Connectivity checks are not performed for any candidate pair in the full candidate pair set that is not also in the reduced candidate pair set if it is determined that at least one of the reduced connectivity check criteria is met.Type: GrantFiled: November 18, 2015Date of Patent: December 18, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
-
Publication number: 20180309716Abstract: 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: ApplicationFiled: June 25, 2018Publication date: October 25, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
-
Publication number: 20180309717Abstract: 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: ApplicationFiled: June 26, 2018Publication date: October 25, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
-
Publication number: 20180302457Abstract: Techniques for endpoint configuration for a communication session are described. According to various implementations, a cloud-based connectivity service maintains network path information that identifies routing paths for routing communication sessions across different networks. The connectivity service is also able to determine configuration information for configuring endpoint devices to participate in a communication session. According to various implementations, configuration information is determined based on a packet quality of a routing path. Thus, an endpoint device can apply the configuration information to attempt to increase packet quality across a routing path, and thus increase media quality for a communication session at the endpoint device.Type: ApplicationFiled: April 18, 2017Publication date: October 18, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Amer Aref Hassan, Timothy Mark Moore, Gareth L. E. Bridges, Gunter Leeb
-
Publication number: 20180287931Abstract: Techniques for provisioning a network node for attribute sharing are described. According to various implementations, a cloud-based connectivity service maintains network path information that identifies routing paths for routing communication sessions across different networks. The connectivity service also tracks whether particular network nodes across the different paths are provisioned with an attribute sharing functionality. An entity such as a communication service and/or a client device can query the connectivity service for a routing path for routing a communication session, and the connectivity service can respond identifying a routing path. In at least some implementations, the connectivity service selects a routing path based on a historical and/or real-time signal quality for the routing path.Type: ApplicationFiled: March 28, 2017Publication date: October 4, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Gareth L. E. Bridges, Amer Aref Hassan, Timothy Mark Moore
-
Patent number: 10079863Abstract: A media session is established between a first endpoint and a second endpoint via a communication network based on connectivity checks performed by the endpoints. A set of candidate pairs, each comprising a first network address available to the first endpoint and a second network address available to the second endpoint, is generated. Depending on whether or not at least one of a set of one or more reduced connectivity check criteria is determined to be met, a probe threshold for at least one of the candidate pairs. Connectivity checks are performed for the at least one candidate pair by transmitting, by the first endpoint, a number of probe messages from the first network address of that pair to the second network address of that pair that is limited by the probe threshold.Type: GrantFiled: November 18, 2015Date of Patent: September 18, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
-
Publication number: 20180234471Abstract: 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: ApplicationFiled: February 15, 2017Publication date: August 16, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Tin Qian, Rajesh Gunnalan, Timothy Mark Moore
-
Publication number: 20180124123Abstract: 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: ApplicationFiled: October 27, 2016Publication date: May 3, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
-
Publication number: 20170163694Abstract: A communication event is established between an initiating device and a responding device under the control of a remote communications controller. In a pre-session establishment phase: a compression dictionary or a dictionary link that identifies an addressable memory location, at which a compression dictionary is held, is received at the initiating device. The received compression dictionary or the received dictionary link is stored in electronic storage of the initiating device. In response to a communication event establishment instruction received at the initiating device after the dictionary or the dictionary link has been received and stored at the initiating device, a session is established between the initiating device and the communications controller by the initiating device transmitting an initial session establishment message—compressed using the dictionary—to the communications controller to establish the communication event.Type: ApplicationFiled: December 3, 2015Publication date: June 8, 2017Inventors: Uladzimir A. Skuratovich, Namendra Kumar, Andrey Belenko, Timothy Mark Moore
-
Publication number: 20170163607Abstract: A communication event is established between an initiating device and a responding device under the control of a remote communications controller. In a pre-communication event establishment phase, a secure connection is established between the initiating device and the communications controller, and session key negotiation messages are exchanged between the initiating device and the communications controller via the secure connection to obtain session key data in an electronic storage location accessible to the initiating device. The secure connection terminates once the session key data has been obtained. In a subsequent communication event establishment phase—after the session key data has been obtained and the secure connection has terminated in the pre-establishment phase—a communication event request is transmitted from the initiating device to the communications controller comprising a payload encrypted with the session key data.Type: ApplicationFiled: December 3, 2015Publication date: June 8, 2017Inventors: Uladzimir A. Skuratovich, Namendra Kumar, Andrey Belenko, Timothy Mark Moore
-
Publication number: 20170163693Abstract: A session is established between an initiating device and a remote device. A session request is transmitted from the initiating device to the remote device according to a preferred networking protocol. If no provisional response to the request is received at the initiating device within an initial duration, the initiating device transmits another session request to the other device according to a non-preferred protocol. If a provisional response to the request is received within the initial duration, the initiating device continues to monitor the elapsed time for an so extended duration. If no final response to the request is received within the extended duration, the initiating device transmits another session request to the other device according to a non-preferred protocol. If a final response is received within the extended duration, a session between the initiating device and the other device is established according to the preferred networking protocol.Type: ApplicationFiled: December 3, 2015Publication date: June 8, 2017Inventors: Uladzimir A. Skuratovich, Namendra Kumar, Andrey Belenko, Timothy Mark Moore
-
Publication number: 20170142165Abstract: A media session is established between a first endpoint and a second endpoint via a communication network based on connectivity checks performed by the endpoints. A set of candidate pairs, each comprising a first network address available to the first endpoint and a second network address available to the second endpoint, is generated. Depending on whether or not at least one of a set of one or more reduced connectivity check criteria is determined to be met, a probe threshold for at least one of the candidate pairs. Connectivity checks are performed for the at least one candidate pair by transmitting, by the first endpoint, a number of probe messages from the first network address of that pair to the second network address of that pair that is limited by the probe threshold.Type: ApplicationFiled: November 18, 2015Publication date: May 18, 2017Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
-
Publication number: 20170142164Abstract: A media session is established between a first endpoint and a second endpoint via a communication network based on connectivity checks performed by the endpoints. Depending on whether or not at least one of a set of one or more reduced connectivity check criteria is determined to be met, a full or a reduced set of candidate pairs is generated, each candidate pair of whichever set is generated comprising a first network address available to the first endpoint and a second network address available to the second endpoint. Connectivity checks are not performed for any candidate pair in the full candidate pair set that is not also in the reduced candidate pair set if it is determined that at least one of the reduced connectivity check criteria is met.Type: ApplicationFiled: November 18, 2015Publication date: May 18, 2017Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
-
Publication number: 20160380967Abstract: 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: ApplicationFiled: March 4, 2016Publication date: December 29, 2016Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan
-
Publication number: 20160094591Abstract: A media session is established between a first endpoint and a second endpoint via a communication network based on connectivity checks performed by the endpoints. A set of candidate pairs, each comprising a first network address available to the first endpoint and a second network address available to the second endpoint, is generated. To each candidate pair of the candidate pair set, a respective priority is assigned. If none of the criteria is determined to be met by the first endpoint, the priorities are assigned by the first endpoint according to a standardized networking protocol as specified by the standardized networking protocol, and if any of the criteria is determined to be met by the first endpoint, at least one of the priorities assigned by the first endpoint is different from that specified by the standardized networking protocol.Type: ApplicationFiled: November 18, 2015Publication date: March 31, 2016Inventors: Timothy Mark Moore, Tin Qian, Rajesh Gunnalan