Imparting real-time priority-based network communications in an encrypted communication session
DCFirst Claim
1. A method comprising:
- establishing, based at least in part on cryptographic information in a pre-defined portion of a handshake network communication, a communication session to communicate a media stream, wherein the pre-defined portion of the handshake network communication is reserved for random data;
receiving through the communication session, as part of the media stream, values of parameters relating to a sub media stream, included in a first header portion of a first real-time, priority-based network communication;
storing the values of the parameters;
obtaining through the communication session, as part of the media stream, state information included in a control portion of a second real-time, priority-based network communication and a data payload included in the second network communication;
identifying, from the state information, a purpose of the second network communication in relation to the media stream, and whether a second header portion of the second network communication includes one or more new values corresponding to one or more of the parameters;
updating, when the second header portion includes the one or more new values, one or more of the stored values based at least in part on the one or more new values; and
processing the data payload based at least in part on the identified purpose and the stored values of the parameters.
2 Assignments
Litigations
1 Petition
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.
-
Citations
34 Claims
-
1. A method comprising:
-
establishing, based at least in part on cryptographic information in a pre-defined portion of a handshake network communication, a communication session to communicate a media stream, wherein the pre-defined portion of the handshake network communication is reserved for random data; receiving through the communication session, as part of the media stream, values of parameters relating to a sub media stream, included in a first header portion of a first real-time, priority-based network communication; storing the values of the parameters; obtaining through the communication session, as part of the media stream, state information included in a control portion of a second real-time, priority-based network communication and a data payload included in the second network communication; identifying, from the state information, a purpose of the second network communication in relation to the media stream, and whether a second header portion of the second network communication includes one or more new values corresponding to one or more of the parameters; updating, when the second header portion includes the one or more new values, one or more of the stored values based at least in part on the one or more new values; and processing the data payload based at least in part on the identified purpose and the stored values of the parameters. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
establishing, based at least in part on cryptographic information in a pre-defined portion of a handshake network communication, a communication session to communicate a media stream, wherein the pre-defined portion of the handshake network communication is reserved for random data and the media stream comprises sub media streams; associating priority values with the sub media streams; generating a total priority value based on the priority values; calculating desired transmission proportions corresponding to the sub media streams based on the priority values and the total priority value; communicating a set of real-time priority based network communications over the sub media streams; assessing sub media stream counts corresponding to the sub media streams based on the communicated set; summing a total count based on the sub media stream counts; determining actual transmission proportions corresponding to the sub media streams based on the sub media stream counts and the total count; figuring ratios corresponding to the sub media streams based on the desired transmission proportions and the actual transmission proportions; and storing the figured ratios. - View Dependent Claims (9)
-
-
10. A method comprising:
-
establishing, based at least in part on cryptographic information in a pre-defined portion of a handshake network communication, a cryptographic key and a communication session to communicate a media stream, wherein the pre-defined portion of the handshake network communication is reserved for random data; initiating the communication session as an encrypted communication session based at least in part on the cryptographic key; receiving through the communication session, as part of the media stream, values of parameters relating to a sub media stream, included in a first header portion of a first real-time, priority-based network communication; storing the values of the parameters; obtaining through the communication session, as part of the media stream, state information included in a control portion of a second real-time, priority-based network communication and a data payload included in the second network communication; identifying, from the state information, a purpose of the second network communication in relation to the media stream, and whether a second header portion of the second network communication includes one or more new values corresponding to one or more of the parameters, wherein identifying the purpose comprises identifying the purpose from a set of possible purposes including; beginning a new sub media stream, the second header portion including sub media stream values corresponding to the parameters, indicating a new media type, the second header portion including the one or more values corresponding to fewer than all of the parameters, providing a new time, the second header portion including one new value corresponding to one of the parameters, and continuing the sub media stream, the second header portion not including the one or more new values; updating, when the second header portion includes the one or more new values, one or more of the stored values based at least in part on the one or more new values; and processing the data payload based at least in part on the identified purpose and the stored values of the parameters. - View Dependent Claims (11)
-
-
12. A non-transitory computer-readable medium having a computer program product encoded therein, the computer program product operable to cause data processing apparatus to perform operations comprising:
-
establishing, based at least in part on cryptographic information in a pre-defined portion of a handshake network communication, a communication session to communicate a media stream, wherein the pre-defined portion of the handshake network communication is reserved for random data; receiving through the communication session, as part of the media stream, values of parameters relating to a sub media stream, included in a first header portion of a first real-time, priority-based network communication; storing the values of the parameters; obtaining through the communication session, as part of the media stream, state information included in a control portion of a second real-time, priority-based network communication and a data payload included in the second network communication; identifying, from the state information, a purpose of the second network communication in relation to the media stream, and whether a second header portion of the second network communication includes one or more new values corresponding to one or more of the parameters; updating, when the second header portion includes the one or more new values, one or more of the stored values based at least in part on the one or more new values; and processing the data payload based at least in part on the identified purpose and the stored values of the parameters. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable medium having a computer program product encoded therein, the computer program product operable to cause data processing apparatus to perform operations comprising:
-
establishing, based at least in part on cryptographic information in a pre-defined portion of a handshake network communication, a communication session to communicate a media stream, wherein the pre-defined portion of the handshake network communication is reserved for random data and the media stream comprises sub media streams; associating priority values with the sub media streams; generating a total priority value based on the priority values; calculating desired transmission proportions corresponding to the sub media streams based on the priority values and the total priority value; communicating a set of real-time priority based network communications over the sub media streams; assessing sub media stream counts corresponding to the sub media streams based on the communicated set; summing a total count based on the sub media stream counts; determining actual transmission proportions corresponding to the sub media streams based on the sub media stream counts and the total count; figuring ratios corresponding to the sub media streams based on the desired transmission proportions and the actual transmission proportions; and storing the figured ratios. - View Dependent Claims (20)
-
-
21. A non-transitory computer-readable medium having a computer program product encoded therein, the computer program product operable to cause data processing apparatus to perform operations comprising:
-
establishing, based at least in part on cryptographic information in a pre-defined portion of a handshake network communication, a cryptographic key and a communication session to communicate a media stream, wherein the pre-defined portion of the handshake network communication is reserved for random data; initiating the communication session as an encrypted communication session based at least in part on the cryptographic key; receiving through the communication session, as part of the media stream, values of parameters relating to a sub media stream, included in a first header portion of a first real-time, priority-based network communication; storing the values of the parameters; obtaining through the communication session, as part of the media stream, state information included in a control portion of a second real-time, priority-based network communication and a data payload included in the second network communication; identifying, from the state information, a purpose of the second network communication in relation to the media stream, and whether a second header portion of the second network communication includes one or more new values corresponding to one or more of the parameters, wherein identifying the purpose comprises identifying the purpose from a set of possible purposes including; beginning a new sub media stream, the second header portion including sub media stream values corresponding to the parameters, indicating a new media type, the second header portion including the one or more values corresponding to fewer than all of the parameters, providing a new time, the second header portion including one new value corresponding to one of the parameters, and continuing the sub media stream, the second header portion not including the one or more new values; updating, when the second header portion includes the one or more new values, one or more of the stored values based at least in part on the one or more new values; and processing the data payload based at least in part on the identified purpose and the stored values of the parameters. - View Dependent Claims (22)
-
-
23. A system comprising:
-
a server computer, programmed to establish encrypted sessions over a network with a client computer using a session startup handshake including a handshake network communication including a pre-defined portion reserved for random data; and the client computer, programmed to establish encrypted sessions with the server computer using the session startup handshake including cryptographic information in the pre-defined portion of the handshake network communication, wherein the server computer and the client computer are programmed to perform operations comprising; establishing, based at least in part on the cryptographic information, an encrypted communication session to communicate a media stream, receiving through the communication session, as part of the media stream, values of parameters relating to a sub media stream, included in a first header portion of a first real-time, priority-based network communication, storing the values of the parameters, obtaining through the communication session, as part of the media stream, state information included in a control portion of a second real-time, priority-based network communication and a data payload included in the second network communication, identifying, from the state information, a purpose of the second network communication in relation to the media stream, and whether a second header portion of the second network communication includes one or more new values corresponding to one or more of the parameters, updating, when the second header portion includes the one or more new values, one or more of the stored values based at least in part on the one or more new values, and processing the data payload based at least in part on the identified purpose and the stored values of the parameters. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
-
31. A system comprising:
-
a server, programmed to establish encrypted sessions over a network with a client using a session startup handshake including a handshake network communication including a pre-defined portion reserved for random data; and the client, programmed to establish encrypted sessions with the server using the session startup handshake including cryptographic information in the pre-defined portion of the handshake network communication, wherein the server and the client are programmed to perform operations comprising; establishing, based at least in part on the cryptographic information, an encrypted communication session to communicate a media stream, wherein the media stream comprises sub media streams, associating priority values with the sub media streams, generating a total priority value based on the priority values, calculating desired transmission proportions corresponding to the sub media streams based on the priority values and the total priority value, communicating a set of real-time priority based network communications over the sub media streams, assessing sub media stream counts corresponding to the sub media streams based on the communicated set, summing a total count based on the sub media stream counts, determining actual transmission proportions corresponding to the sub media streams based on the sub media stream counts and the total count, figuring ratios corresponding to the sub media streams based on the desired transmission proportions and the actual transmission proportions, and storing the figured ratios. - View Dependent Claims (32)
-
-
33. A system comprising:
-
a server, programmed to establish encrypted sessions over a network with a client using a session startup handshake including a handshake network communication including a pre-defined portion reserved for random data; and the client, programmed to establish encrypted sessions with the server using the session startup handshake including cryptographic information in the pre-defined portion of the handshake network communication, wherein the server and the client are programmed to perform operations comprising;
establishing, based at least in part on the cryptographic information, a cryptographic key and a communication session to communicate a media stream, initiating the communication session as an encrypted communication session based at least in part on the cryptographic key, receiving through the communication session, as part of the media stream, values of parameters relating to a sub media stream, included in a first header portion of a first real-time, priority-based network communication, storing the values of the parameters, obtaining through the communication session, as part of the media stream, state information included in a control portion of a second real-time, priority-based network communication and a data payload included in the second network communication, identifying, from the state information, a purpose of the second network communication in relation to the media stream, and whether a second header portion of the second network communication includes one or more new values corresponding to one or more of the parameters, wherein identifying the purpose comprises identifying the purpose from a set of possible purposes including beginning a new sub media stream, the second header portion including sub media stream values corresponding to the parameters, indicating a new media type, the second header portion including the one or more values corresponding to fewer than all of the parameters, providing a new time, the second header portion including one new value corresponding to one of the parameters, and continuing the sub media stream, the second header portion not including the one or more new values, updating, when the second header portion includes the one or more new values, one or more of the stored values based at least in part on the one or more new values, and processing the data payload based at least in part on the identified purpose and the stored values of the parameters. - View Dependent Claims (34)
-
Specification