Imparting real-time priority-based network communications in an encrypted communication session
First Claim
1. A computer program product comprising a memory storing instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
- at a client system, receiving an incoming data portion of a handshake network communication, the incoming data portion of the handshake network communication comprising a pre-defined portion reserved for random data and including cryptographic information;
accessing multiple different portions of the pre-defined portion reserved for random data;
determining multiple indices into the pre-defined portion of the incoming data portion of the handshake network communication based on the accessed multiple different portions of the pre-defined portion reserved for random data;
locating the cryptographic information within the pre-defined portion using at least one of the determined multiple indices;
establishing, based at least in part on the located cryptographic information, a communication session with a server system to receive one or more media streams;
receiving, from the server system via the established communication session, a plurality of network communications associated with the one or more media streams, wherein each network communication of the plurality of network communications has an associated data payload and an associated header including rendering information relating to a media rendering state associated with one network communication and one or more subsequent network communications, such that a portion of the rendering information that remains unchanged from the one network communication to a subsequent network communication is included in the header of the one network communication but is missing from a header of the subsequent network communication;
for each network communication of the plurality of network communications, determining playback information associated with the network communication at least in part byusing the rendering information from the associated header as the playback information associated with the network communication,determining that a portion of the rendering information from the associated header is missing, andin response to said determining that the portion of the rendering information from the associated header is missing, adding to the playback information associated with the network communication a corresponding portion of rendering information read from a header of a preceding network communication;
reassembling the one or more media streams based on respective playback information associated with each of the plurality of network communications; and
playing the reassembled one or more media streams by a media player of the client system.
2 Assignments
0 Petitions
Accused Products
Abstract
This specification describes technologies relating to imparting real-time priority-based network communications in an encrypted session. In general, aspects of the subject matter described can be embodied in methods that include establishing, based on cryptographic information in a reserved, random-data portion of a handshake communication, a session, receiving parameter values relating to a sub media stream, included in a header of a network communication, storing the parameter values, obtaining state information and a data payload included in a second network communication, identifying, from the state information, a purpose of the second network communication, and whether a header of the second network communication includes one or more new values corresponding to one or more of the parameters, updating one or more of the stored values based on the one or more new values, and processing the data payload based on the identified purpose and the stored parameter values.
163 Citations
30 Claims
-
1. A computer program product comprising a memory storing instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
-
at a client system, receiving an incoming data portion of a handshake network communication, the incoming data portion of the handshake network communication comprising a pre-defined portion reserved for random data and including cryptographic information; accessing multiple different portions of the pre-defined portion reserved for random data; determining multiple indices into the pre-defined portion of the incoming data portion of the handshake network communication based on the accessed multiple different portions of the pre-defined portion reserved for random data; locating the cryptographic information within the pre-defined portion using at least one of the determined multiple indices; establishing, based at least in part on the located cryptographic information, a communication session with a server system to receive one or more media streams; receiving, from the server system via the established communication session, a plurality of network communications associated with the one or more media streams, wherein each network communication of the plurality of network communications has an associated data payload and an associated header including rendering information relating to a media rendering state associated with one network communication and one or more subsequent network communications, such that a portion of the rendering information that remains unchanged from the one network communication to a subsequent network communication is included in the header of the one network communication but is missing from a header of the subsequent network communication; for each network communication of the plurality of network communications, determining playback information associated with the network communication at least in part by using the rendering information from the associated header as the playback information associated with the network communication, determining that a portion of the rendering information from the associated header is missing, and in response to said determining that the portion of the rendering information from the associated header is missing, adding to the playback information associated with the network communication a corresponding portion of rendering information read from a header of a preceding network communication; reassembling the one or more media streams based on respective playback information associated with each of the plurality of network communications; and playing the reassembled one or more media streams by a media player of the client system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
one or more hardware processors; and non-transitory computer storage medium storing instructions that when executed by the one or more hardware processors cause the system to perform operations comprising; receiving an incoming data portion of a handshake network communication, the incoming data portion of the handshake network communication comprising a pre-defined portion reserved for random data and including cryptographic information; accessing multiple different portions of the pre-defined portion reserved for random data; determining multiple indices into the pre-defined portion of the incoming data portion of the handshake network communication based on the accessed multiple different portions of the pre-defined portion reserved for random data; locating the cryptographic information within the pre-defined portion using at least one of the determined multiple indices; establishing, based at least in part on the located cryptographic information, a communication session with a server system to receive one or more media streams; receiving, from the server system via the established communication session, a plurality of network communications associated with the one or more media streams, wherein each network communication of the plurality of network communications has an associated data payload and an associated header including rendering information relating to a media rendering state associated with one network communication and one or more subsequent network communications, such that a portion of the rendering information that remains unchanged from the one network communication to a subsequent network communication is included in the header of the one network communication but is missing from a header of the subsequent network communication; for each network communication of the plurality of network communications, determining playback information associated with the network communication at least in part by using the rendering information from the associated header as the playback information associated with the network communication, determining that a portion of the rendering information from the associated header is missing, and in response to the operation of determining that the portion of the rendering information from the associated header is missing, adding to the playback information associated with the network communication a corresponding portion of rendering information read from a header of a preceding network communication; reassembling the one or more media streams based on respective playback information associated with each of the plurality of network communications; and playing the reassembled one or more media streams by a media player of the system. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method comprising:
-
at a client system, receiving an incoming data portion of a handshake network communication, the incoming data portion of the handshake network communication comprising a pre-defined portion reserved for random data and including cryptographic information; accessing multiple different portions of the pre-defined portion reserved for random data; determining multiple indices into the pre-defined portion of the incoming data portion of the handshake network communication based on the accessed multiple different portions of the pre-defined portion reserved for random data; locating the cryptographic information within the pre-defined portion using at least one of the determined multiple indices; establishing, based at least in part on the located cryptographic information, a communication session with a server system to receive one or more media streams; receiving, from the server system via the established communication session, a plurality of network communications associated with the one or more media streams, wherein each network communication of the plurality of network communications has an associated data payload and an associated header including rendering information relating to a media rendering state associated with one network communication and one or more subsequent network communications, such that a portion of the rendering information that remains unchanged from the one network communication to a subsequent network communication is included in the header of the one network communication but is missing from a header of the subsequent network communication; for each network communication of the plurality of network communications, determining playback information associated with the network communication at least in part by using the rendering information from the associated header as the playback information associated with the network communication, determining that a portion of the rendering information from the associated header is missing, and in response to said determining that the portion of the rendering information from the associated header is missing, adding to the playback information associated with the network communication a corresponding portion of rendering information read from a header of a preceding network communication; reassembling the one or more media streams based on respective playback information associated with each of the plurality of network communications; and playing the reassembled one or more media streams by a media player of the client system. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification