Real-time priority-based media communication
First Claim
1. A computer storage medium comprising program instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
- at a client system, establishing a communication session to receive a media stream from a server system;
receiving through the communication session, as part of the media stream, values of parameters relating to a sub media stream, the values included in a header portion of a first real-time, priority-based network communication of the communication session;
storing the values of the parameters at the client system;
receiving through the communication session, as part of the media stream from the server system, state information and a data payload, the state information being included in a control portion of a second real-time, priority-based network communication of the communication session, and the data payload being included in the second real-time, priority-based network communication;
determining, from the state information, a purpose of the second real-time, priority-based network communication in relation to the media stream from the server system in accordance with whether a header portion of the second real-time, priority-based network communication includes, either, only one or more new values corresponding to one or more of the parameters, or no values corresponding to 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 determined purpose and the stored values of the parameters.
3 Assignments
0 Petitions
Accused Products
Abstract
Representative embodiments are disclosed of a real-time priority-based communication system and method for communicating media streams made up of multiple media message sub-streams, the communication system comprising a chunk configurator for dividing media message sub-streams into chunks, a state machine configured to translate between information regarding the media message sub-streams and the chunks and state associations to the information, the state associations written into a header for each of the chunks, a queue for holding the chunks waiting to be transmitted, and a processor for executing a scheduling algorithm, wherein the scheduling algorithm determines ones of the chunks in the queue to transmit next.
101 Citations
24 Claims
-
1. A computer storage medium comprising program instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
-
at a client system, establishing a communication session to receive a media stream from a server system; receiving through the communication session, as part of the media stream, values of parameters relating to a sub media stream, the values included in a header portion of a first real-time, priority-based network communication of the communication session; storing the values of the parameters at the client system; receiving through the communication session, as part of the media stream from the server system, state information and a data payload, the state information being included in a control portion of a second real-time, priority-based network communication of the communication session, and the data payload being included in the second real-time, priority-based network communication; determining, from the state information, a purpose of the second real-time, priority-based network communication in relation to the media stream from the server system in accordance with whether a header portion of the second real-time, priority-based network communication includes, either, only one or more new values corresponding to one or more of the parameters, or no values corresponding to 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 determined purpose and the stored values of the parameters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
one or more hardware processors; and a storage system communicatively coupled with the one or more hardware processors and encoding instructions that, when executed by the one or more hardware processors, cause the system to perform operations comprising; establishing a communication session to receive a media stream from a server system; receiving through the communication session, as part of the media stream, values of parameters relating to a sub media stream, the values included in a header portion of a first real-time, priority-based network communication of the communication session; storing the values of the parameters on the storage system; receiving through the communication session, as part of the media stream from the server system, state information and a data payload, the state information being included in a control portion of a second real-time, priority-based network communication of the communication session, and the data payload being included in the second real-time, priority-based network communication; determining, from the state information, a purpose of the second real-time, priority-based network communication in relation to the media stream from the server system in accordance with whether a header portion of the second real-time, priority-based network communication includes, either, only one or more new values corresponding to one or more of the parameters, or no values corresponding to 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 determined purpose and the stored values of the parameters. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
at a client system, establishing a communication session to receive a media stream from a server system; receiving through the communication session, as part of the media stream, values of parameters relating to a sub media stream, the values included in a header portion of a first real-time, priority-based network communication of the communication session; storing the values of the parameters on the client system; receiving through the communication session, as part of the media stream from the server system, state information and a data payload, the state information being included in a control portion of a second real-time, priority-based network communication of the communication session, and the data payload being included in the second real-time, priority-based network communication; determining, by the client system from the received state information, a purpose of the second real-time, priority-based network communication in relation to the media stream from the server system in accordance with whether a header portion of the second real-time, priority-based network communication includes, either, only one or more new values corresponding to one or more of the parameters, or no values corresponding to 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, by the client system, the data payload based at least in part on the determined purpose and the stored values of the parameters. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification