Dynamic rotation of streaming protocols
AssigneeAmazon Technologies, Inc.
InventorsNathan Bartholomew Thomas, Eugene Michael Farrell, Erik Jonathon Tellvik, Deepak Suryanarayanan
Life of this patent
Estimating the term…
Abstract
A method and apparatus for dynamic rotation of streaming protocols are disclosed. In the method and apparatus, a first portion of content is streamed to a client device in accordance with a first content delivery protocol. Further, information indicating client device attributes, network conditions or usage conditions is received. A plurality of content delivery protocols including the first content delivery protocol are evaluated based at least in part on the received information to identify a content delivery protocol for streaming the a second portion of the content.
Claims20
A computer-implemented method, comprising:
- receiving information indicative of client device attributes and network conditions, the information being usable for selecting a content delivery protocol for streaming content associated with a remotely executed computer system desktop environment to a client device, and the network conditions specifying one or more measures of network connectivity performance;
- selecting, based at least in part on the information, a first content delivery protocol;
- establishing, in accordance with the first content delivery protocol, a streaming session for delivery of the content to the client device;
- streaming, over the streaming session, a first portion of the content to the client device using the first content delivery protocol, the content including encoded audiovisual media;
- receiving a usage condition associated with the remotely executed computer system desktop environment, the usage conditions indicating one or more actions taken on the client device, the one or more actions causing changes to the client device attributes;
- evaluating the usage condition to determine that a second portion of the content is to be delivered using a second content delivery protocol from a plurality of content delivery protocols;
- modifying the streaming session in accordance with the second content delivery protocol;
- and
- streaming, over the streaming session, the second portion of the content using the second content delivery protocol.
A system, comprising:
- one or more processors;
- and
- memory including instructions that, as a result of being executed by the one or more processors, cause the system to:
- send, to a client device, a first portion of content encoding a media remote desktop session over a streaming session in accordance with a first content delivery protocol;
- receive information indicating a usage condition of the client device, the usage condition indicating one or more client device user interface operations corresponding to the first portion of the content that cause changes to the remote desktop session of the client device;
- evaluate the information to determine that a second portion of the content is to be delivered to the client device in accordance with a second content delivery protocol, the second content delivery protocol being different than the first content delivery protocol;
- modify the streaming session in accordance with the second content delivery protocol;
- and
- send the second portion of the content over the streaming session in accordance with the second content delivery protocol.
A non-transitory computer-readable storage medium comprising executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
- stream, to a client device over a streaming session in accordance with a first content delivery protocol, a first portion of content;
- receive information indicating one or more operations associated with a user interface of the client device that cause changes to an application displaying the first portion of the content;
- select, based at least in part on the information, a second content delivery protocol from a plurality of content delivery protocols, the second content delivery protocol being different from the first content delivery protocol;
- modify the streaming session in accordance with the second content delivery protocol;
- and
- stream, over the streaming session, a second portion of the content in accordance with the second content delivery protocol, the first content delivery protocol and second content delivery protocol are delivered over an underlying internet protocol, the underlying internet protocol including Transmission Control Protocol (TCP) or User Datagram Protocol (UDP).
Dependencies are inferred from the claim text.