Flow-rate adaptation for a connection of time-varying capacity
First Claim
1. A system for data streaming, comprising:
- at least one processor;
a signal source;
an adaptable encoder for encoding signals produced by said signal source;
anda non-transitory computer readable storage medium having computer readable instructions stored thereon for execution by said at least one processor forming;
a source reporter for formulating downstream control packets directed to respective client devices of a plurality of client devices during successive time windows; and
a flow controller for;
receiving upstream control packets, corresponding to said downstream control packets, from said plurality of client devices, each upstream control packet indicating a state of a connection from said adaptable encoder to a respective client device;
anddetermining preferred individual encoding rates for connections from said adaptable encoder to said plurality of client devices based on comparing states of at least one connection over successive time windows with a predefined range of acceptable connection states.
6 Assignments
0 Petitions
Accused Products
Abstract
A system and methods for adapting streaming data for transmission over a connection of time-varying capacity are disclosed. A streaming server individually adapts transmission rates of signals directed to subtending clients according to measurements characterizing connections from the streaming server to the clients. The measurements may relate to characteristics such as transfer delay, data-loss fraction, and occupancy level of a buffer at a client'"'"'s receiver. A flow controller associated with the streaming server derives metrics from measurements taken over selected time windows to determine a permissible transmission rate from the server to each active client. Metrics related to a specific characteristic may include a mean value over a moving window as well as short and long term tendencies of respective measurements. An adaptable encoder at the streaming server encodes signals to meet permissible transmission rates.
-
Citations
29 Claims
-
1. A system for data streaming, comprising:
-
at least one processor; a signal source; an adaptable encoder for encoding signals produced by said signal source; and a non-transitory computer readable storage medium having computer readable instructions stored thereon for execution by said at least one processor forming; a source reporter for formulating downstream control packets directed to respective client devices of a plurality of client devices during successive time windows; and a flow controller for; receiving upstream control packets, corresponding to said downstream control packets, from said plurality of client devices, each upstream control packet indicating a state of a connection from said adaptable encoder to a respective client device; and determining preferred individual encoding rates for connections from said adaptable encoder to said plurality of client devices based on comparing states of at least one connection over successive time windows with a predefined range of acceptable connection states. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for data streaming, comprising:
-
a signal source; at least one processor; an adaptable encoder for encoding signals produced by said signal source; and a memory device storing computer readable instructions which cause said at least one processor to; formulate downstream control packets directed to respective client devices of a plurality of client devices during successive time windows; receive, from said plurality of client devices, upstream control packets, corresponding to said downstream control packets, each upstream control packet indicating a state of a connection from said adaptable encoder to a respective client device; determine at least two metrics representing different characteristics of said connection; and determine a preferred encoding rate for said connection based on said at least two metrics. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A method of data streaming, comprising:
-
encoding signals produced by a signal source using an adaptable encoder; executing, by at least one processor, processor readable instructions stored in a memory device for; formulating downstream control packets directed to respective client devices of a plurality of client devices during successive time windows; and receiving upstream control packets, corresponding to said downstream control packets, from said plurality of client devices, each upstream control packet indicating a state of a connection from said adaptable encoder to a respective client device; and determining preferred individual encoding rates for connections from said adaptable encoder to said plurality of client devices based on comparing states of at least one connection over successive time windows with a predefined range of acceptable connection states. - View Dependent Claims (25, 26)
-
-
27. A method of data streaming implemented by at least one processor executing computer readable instructions stored in a memory device, the method comprising:
-
encoding signals produced by a signal source using an adaptable encoder; formulating downstream control packets directed to respective client devices of a plurality of client devices during successive time windows; receiving, from said plurality of client devices, upstream control packets, corresponding to said downstream control packets, each upstream control packet indicating a state of a connection from said adaptable encoder to a respective client device; determining at least two metrics representing different characteristics of said connection; and determining a preferred encoding rate for said connection based on said at least two metrics. - View Dependent Claims (28, 29)
-
Specification