Abstract: A parameter estimating device (600) is provided with: a communication throughput acquisition unit (601) which acquires communication throughput which is a volume of data transmitted per unit of time; and a function identifying parameter estimation unit (602) which on the basis of the communication throughput acquired up to a first time point estimates function identifying parameters for identifying a probably density function in which the communication throughput at second time point which comes after the first time point is treated as a random variable.
2
DESCRIPTION
TITLE: PARAMETER ESTIMATION DEVICE, PARAMETER ESTIMATION METHOD,
AND PARAMETER ESTIMATION PROGRAM
5
TECHNICAL FIELD
[OOO 1 ]
The present invention relates to a communication throughput prediction device that
estimates communication throughput and a control parameter determination device that
10 determines a control parameter used for transmitting data.
BACKGROUND ART
[0002]
A communication throughput prediction device that estimates communication
15 throughput, which is the size (the amount) of data delivered (transmitted) per unit time, is
known. As one of this type of communication throughput prediction devices, a communication
throughput prediction device described in Patent Document 1 transmits test data having a
predetermined data size, and measures a time required for transmission of the test data to be
completed. Then, the communication throughput prediction device predicts future
20 communication throughput, based on the measured time.
Patent Document 1 : Japanese Unexamined Patent Application Publication No. 2003-037649
Communication throughput in communication using TCPIIP (Transmission Control
Protocol/Internet Protocol) relatively largely changes in a short period of time due to
complicated action of various factors (e.g., End-to-End delay, packet loss, cross traffic, the
5 intensity of radio waves in radio communication, etc.).
For example, in the communication throughput prediction device, communication
throughput may decrease due to increase of cross traffic after transmission of test data is
completed, or communication throughput may increase due to increase of the intensity of radio
10 waves in radio communication. In these cases, there is a problem that the communication
throughput prediction device cannot estimate communication throughput with high accuracy.
SUMMARY
[0006]
15 Accordingly, an object of the present invention is to provide a parameter estimation
device capable of solving the abovementioned problem, "there is a case where the accuracy of
estimation of communication throughput becomes excessively low." I
[0007]
In order to achieve the object, a parameter estimation device as an exemplary
20 embodiment of the present invention includes:
a communication throughput acquiring means for acquiring communication
throughput that is an amount of data transmitted per unit time; and
a function specification parameter estimating means for estimating a function
0 specification parameter for specifying a probability density function where communication
throughput at a second time point later than a first time point is a random variable, based on
the communication throughput acquired by the first time point.
5 [0008]
Further, a parameter estimation method as another exemplary embodiment of the
present invention is a method including:
acquiring communication throughput that is an amount of data transmitted per unit
time; and
10 estimating a function specification parameter for specifying a probability density
function where communication throughput at a second time point later than a first time point is
a random variable, based on the communication throughput acquired by the first time point.
[0009]
Further, a parameter estimation program as another exemplary embodiment of the
15 present invention is a program including instructions for causing an information processing
device to perform operations including:
acquiring communication throughput that is an amount of data transmitted per unit
I
time; and
estimating a function specification parameter for specifying a probability density
20 hction where communication throughput at a second time point later than a first time point is
a random variable, based on the communication throughput acquired by the first time point.
[OO lo]
With the configurations as described above, the present invention can increase the
-
accuracy of estimation of communication throughput.
BRIEF DESCRIPTION OF DRAWINGS
5 [OOll]
Fig. 1 is a block diagram showing a function of a communication throughput
prediction device according to a first exemplary embodiment of the present invention;
Fig. 2 is a graph showing an example of change of communication throughput
following a probability density function used by the communication throughput prediction
10 device according to the first exemplary embodiment of the present invention;
Fig. 3 is a graph in which a standard deviation calculated based on the probability
density function used by the communication throughput prediction device according to the
first exemplary embodiment of the present invention is compared with a standard deviation
calculated based on communication throughput measured in an actual communication
15 network; ~
Fig. 4 is a block diagram showing a function of a delivery device according to a
second exemplary embodiment of the present invention;
Fig. 5 is a block diagram showing a function of a delivery system according to a third
exemplary embodiment of the present invention;
20 Fig. 6 is a block diagram showing a function of a communication throughput
I
prediction device according to a fourth exemplary embodiment of the present invention;
Fig. 7 is a block diagram showing a function of a parameter estimation device
according to a fifth exemplary embodiment of the present invention; al -
Fig. 8 is a block diagram showing a function of a delivery system according to a sixth
I exemplary embodiment of the present invention;
Fig. 9 is a graph showing change of a remaining reproduction time in the delivery
5 system according to the sixth exemplary embodiment of the present invention; and
Fig. 10 is a graph showing change of a remaining reproduction time in a delivery
system that is a comparison example.
EXEMPLARY EMBODIMENTS
10 [0012]
Referring to Figs. 1 to 10, the respective exemplary embodiments of a parameter
I estimation device, a parameter estimation method and a parameter estimation program
according to the present invention will be described below.
As shown in Fig. 1, a communication throughput prediction device (a parameter
estimation device) 100 according to a first exemplary embodiment is a device that predicts
communication throughput. Communication throughput is the amount of data transmitted per
20 unit time.
[00 141
The communication throughput prediction device 100 is an information processing.
device. For example, the communication throughput prediction device 100 is a personal e
computer, a mobile phone terminal, a PHs (Personal Handyphone System), a PDA (Personal
1 Data Assistance, Personal Digital Assistant), a smartphone, a car navigation terminal, a game
terminal, or the like.
5 [0015]
The communication throughput prediction device 100 includes a central processing
unit (CPU) and a storage device (a memory and a hard disk drive (HDD)), which are not
illustrated in the drawings. The communication throughput prediction device 100 is configured
to realize a function described later by the CPU's execution of a program stored in the storage
10 device.
[00 161
(Function)
Fig. 1 is a block diagram showing a function of the communication throughput
prediction device 100 configured as described above. The function of the communication
15 throughput prediction device 100 includes a communication throughput measuring part (a
I communication throughput acquiring means) 101, a drift calculating part 102, a variance
calculating part 103, and a communication throughput predicting part (a communication status
estimating means) 104. The drift calculating part 102 and the variance calculating part 103
configure a function specification parameter estimating means.
20 [0017]
The communication throughput measuring part 10 1 measures (acquires) current
communication throughput (communication throughput at a current time point) in -
transmission of data to be the target of prediction of communication throughput (in this e
exemplary embodiment, transmission by streaming). The communication throughput
prediction device 100 may be configured to acquire communication throughput by receiving
from another device.
5 [0018]
In this exemplary embodiment, transmission of data to be the target of prediction of
communication throughput is transmission of data representing a moving image from a server
device to a client device connected with the server device via a communication network. The
client device is configured to reproduce a moving image based on received data.
10 [0019]
Further, in this exemplary embodiment, the server device transmits data to the client
device via the communication network by using TCPAP (Transmission Control
Protocol/Internet Protocol). Therefore, in this exemplary embodiment, communication
throughput predicted by the communication throughput prediction device 100 is
15 communication throughput in a TCP session established between the server device and the
client device.
[0020]
The communication throughput prediction device 100 may be configured to acquire
communication throughput relating to data transmitted by using a communication protocol
20 that is other than TCPIIP and that ensures arrival of data.
[002 11
Further, given that current communication throughput at certain time t [sec] is u(t) . .
[bps (bit per second)], the current communication throughput u(t) is calculated as shown by Q
Formula 1 ;
I [Formula 11
5 where AT [sec] is a preset time (e.g., 2 [sec]), and AS [bit] is the amount of data (the size of
data) transmitted during a period from time t-AT that is AT earlier than the time t to the time t.
[0022]
In this exemplary embodiment, the communication throughput measuring part 101
measures current communication throughput u every preset interval I [sec]. Thus, the
1 10 communication throughput measuring part 101 acquires time series data u(n1) (a series of data
measured with time) of communication throughput, where n takes integers 1 to N, and N
denotes the number of times that the communication throughput n is measured up to a first
time point (in this exemplary embodiment, a current time point).
[0023]
15 The drift calculating part 102 calculates drift based on the time series data u(n1) of the
communication throughput u acquired by the communication throughput measuring part 101.
I
I
I Drift represents a long-term temporal change rate of the communication throughput u. Drift
forms part of a function specification parameter. Herein, a function specification parameter is
a parameter for specifying a probability density function (a probability density function shown
20 by Formula 5 described later) in which a random variable is communication throughput at a
second time point (in this exemplary embodiment, a fkture time point) later than the first time -
In this exemplary embodiment, the drift calculating part 102 calculates drift based on
the latest m time series data u(NI), u((N-l)I), . . ., u((N-m+l)I) of all the time series data u(n1)
5 acquired by the communication throughput measuring part 10 1.
[0025]
To be specific, the drift calculating part 102 calculates the slope of a linear function
approximating the time series data u(NI), u((N-l)I), ..., u((N-m+l)I) as drift by using the
least squares method. That is to say, the drift calculating part 102 calculates drift p as shown
10 by Formula 2;
[Formula 21
where CXk denotes the sum of Xk when k takes integers fiom "N-m+lW to N."
[0026]
15 The drift calculating part 102 may be configured to calculate drift by using the
weighted least squares method that communication throughput measured at a time point closer
to a current time point is more largely weighted.
[0027]
Further, the drift calculating part 102 may be configured to calculate the derivative of
20 the time series data u(n1) at time t (=NI) as drift. In this case, it is preferred that the drift
calculating part 102 is configured to calculate drift p by using the simplest three point formula.,
[0028]
In a case where AT is set to a relatively small value, the measured communication
5 throughput u(n1) relatively largely changes. In this case, it is preferred that the drift calculating
part 102 is configured to smooth the time series data u(n1) by passing through a low-pass filter
(e.g., an IIR (Infinite Impulse Response) filter) and calculate the derivative based on the
smoothed time series data u(nI). Thus, it is possible to calculate drift with high accuracy.
100291
10 The variance calculating part 103 calculates variance a2 of the time series data u(n1)
of the communication throughput u acquired by the communication throughput measuring part
101. Variance forms part of a function specific parameter.
[0030]
To be specific, the variance calculating part 103 calculates unbiased variance as
15 variance a2 as shown by Formula 4;
[Formula 41
where u,,, denotes a value obtained by averaging the latest m time series data u(NI), u((N-l)I),
. . ., u((N-m+l)I) of all the time series data u(n1) acquired by the communication throughput
20 measuring part 10 1. , .
In this exemplary embodiment, the communication throughput prediction device 100
is configured to use the current time point (i.e., a time point to execute a process of calculating
a function specific parameter) as the first time point. The communication throughput
5 prediction device 100 may use a time point earlier than the current time point, as the first time
point. In this case, the communication throughput prediction device 100 may use, as the
second time point, a time point earlier than the current time point, the current time point, or a
time point later than the current time point in a range of time points later than the first time
point.
10 [0032]
The communication throughput predicting part 104 calculates a probability that actual
communication throughput at future time t is within a target range, based on the drift p
calculated by the drift calculating part 102, the variance o2 calculated by the variance
calculating part 103, and a probability density function f(u,t) shown by Formula 5. A target
15 range is a range of communication throughput set in advance.
[Formula 51
1
f (u,t ) = N(uo + pt, 02t)= J%z 202t
The communication throughput predicting part 104 may be configured to calculate
20 the upper bound value and lower bound value of a target probability range at future time t. A
13
target probability range is a range of communication throughput that a value obtained by
0
integrating the probability density function f(u,t) over the target probability range is a preset
target probability value. Further, a target probability value is the value of a probability to be
the target.
5 [0034]
Further, the communication throughput predicting part 104 may be configured to
estimate a time required for transmission of data to be completed, based on at least one of the
calculated upper bound value and lower bound value of the target probability range.
[0035]
10 Further, the communication throughput predicting part 104 may be configured to
estimate the amount of data that can be transmitted in a period at or after the first time point,
based on at least one of the calculated upper bound value and lower bound value of the target
probability range.
[0036]
15 Thus, it can be said that the communication throughput predicting part 104
stochastically predicts communication throughput u at future time t, based on drift p calculated
by the drift calculating part 102, variance o2 calculated by the variance calculating part 103,
and the probability density function f(u,t) shown by Formula 5.
[0037]
20 A method for deriving Formula 5 will be described. In this exemplary embodiment,
Formula 5 is derived with the assumption that communication throughput changes so as to
perform Brown motion with drift. Change of communication throughput so as to perform
Brownian motion with drift corresponds to that a stochastic process W with communication 0
throughput as a random variable is a generalized Wiener process.
When a stochastic process B(t) is a Wiener process (i.e., Brownian motion) with
5 variance 02, the following conditions (1) to (3) are satisfied:
(1) B(t) is an independent increment;
(2) with respect to any s and PO, B(s+t)-B(s) follows N(0,02t); and
(3) B(O)=O, and B(t) is continuous when t=O.
10 Herein, N@,02) represents a normal distribution with an expected value p and
variance 2. Moreover, B(t) being an independence increment refers to that, when O to), communication 8
throughput u(to) measured at time to, and Formula 8.
[Formula 81
5 [0049]
This process is executed every time the preset time AT passes, with respect to various
prediction times T. Then, a histogram (frequency distribution) of the normalized
communication throughput v is acquired with respect to each of the prediction times T. Then,
with respect to each of the prediction times T, the standard deviation is calculated based on the
10 acquired histogram.
[0050]
In Fig. 3, the standard deviation calculated based on the probability density hction
f(u,t) shown by Formula 5 has a value sufficiently close to the standard deviation calculated
based on the communication throughput measured on the actual communication network. That
15 is to say, a probability density function specified by the communication throughput prediction
device 100 represents communication throughput on an actual communication network with
high accuracy.
[005 11
As described above, the communication throughput prediction device 100 according
20 to the first exemplary embodiment of the present invention can increase the accuracy of
estimation of communication throughput. To be specific, the communication throughput
18
prediction device 100 can estimate communication throughput (e.g., the upper bound value 0
and lower bound value of a target probability range) with high accuracy, based on a
probability density hnction specified with an estimated function specification parameter.
I
[0052]
5 The communication throughput prediction device 100 according to a modified
example of the first exemplary embodiment may be configured to use, instead of the
probability density function f(u,t) shown by Formula 5, a probability density function derived
with the assumption that communication throughput changes so as to perform Brownian
motion (i.e., Brownian motion without drift). Change of communication throughput so as to
10 perform Brownian motion without drift corresponds to that a stochastic process W with
communication throughput as a random variable is a Wiener process.
[0053]
In this case, the communication throughput prediction device 100 according to this
modified example is described by setting p=0 in the description of the first exemplary
15 embodiment. Moreover, in this case, it is preferred that the function of the communication
throughput prediction device 100 does not include the drift calculating part 102.
20 Next, a delivery device according to a second exemplary embodiment of the present
invention will be described. The delivery device according to the second exemplary
ernbadiment is different fiom the communication throughput prediction device 100 according .
19
to the first exemplary embodiment, in delivering content, and in determining an encoding rate 8
of content to be delivered based on a hction specification parameter. Therefore, a description
I
will be made below focusing on the different points.
I [0055]
5 As shown in Fig. 4, a delivery device (a parameter estimation device) 200 according
to the second exemplary embodiment is a device that transmits (delivers) data representing
content. The delivery device 200 is an information processing device. The delivery device 200
includes a central processing unit (CPU) and a storage device (a memory and an HDD), which
are not shown in the drawings. The delivery device 200 is configured to realize a function to
10 be described later by the CPU's execution of a program stored in the storage device.
[0056]
(Function)
Fig. 4 is a block diagram showing the hction of the delivery device 200 configured
as described above. The function of the delivery device 200 includes a communication
15 throughput measuring part (a communication throughput acquiring means) 201, a drift
calculating part 202, a variance calculating part 203, a rate controlling part (a control
parameter determining means) 204, a content accumulating part 205, and a data transmitting
part 206. The drift calculating part 202 and the variance calculating part 203 configure a
function specification parameter estimating means.
20 [0057]
The communication throughput measuring part 201, the drift calculating part 202 and
the variance calculating part 203 have the-same functions as the mmmunication throughput20
measuring part 101, the drift calculating part 102 and the variance calculating part 103 0
according to the first exemplary embodiment, respectively. The communication throughput
measuring part 201 measures communication throughput in transmission of data by the data
transmitting part 206 to be described later.
5 [0058]
The rate controlling part 204 calculates (determines) an encoding rate r* of data to be
transmitted at future time t, based on drift p calculated by the drift calculating part 202,
variance c? calculated by the variance calculating part 203, Formula 9, and Formula 10. In this
exemplary embodiment, an encoding rate forms a control parameter used for transmitting data.
10 [0059]
To be specific, the rate controlling part 204 calculates an encoding rate r* that
minimizes the value of an evaluation function J shown by Formula 10 under a constraint
condition that a remaining reproduction time Tp(t) shown by Formula 9 is always set to a value
larger than 0.
15 [Formula91
[Formula 101
[0060]
20. - A remaining reproduction time Tp [sec] is a time that content can be reproduced based
21
on a part not reproduced yet of data stored in a storage device of a client device. A client 8
device is configured to, while receiving data representing content from the delivery device 200
by streaming, store the received data into the storage device and reproduce the content based
on the stored data.
5 [0061]
Further, p [dimensionless] is a reproduction rate set in accordance with an instruction
from a user. A reproduction rate is a reproduction time of content reproduced per unit time. In
other words, a reproduction rate is a value obtained by dividing a content reproduction speed
by a reproduction speed corresponding to reproduction at equal speeds. Moreover, r [bps]
10 denotes an encoding rate of data transmitted by the delivery device 200.
[0062]
Symbol a denotes a coefficient previously set in accordance with a target probability
value that is the value of a probability to be the target. The details of the coefficient a will be
described later. Moreover, a, and a2 are preset coefficients, respectively. The details of the
15 coefficient a, and the coefficient a2 will be described later. Moreover, rave denotes a value
obtained by averaging encoding rates of data transmitted by the delivery device 200 up to the
current time point.
[0063]
In order to prevent reproduction of content in a client device from stopping, it is
20 necessary to always maintain a state in which the remaining reproduction time Tp(t) is larger
than 0. Therefore, as described above, the rate controlling part 204 calculates the encoding rate
r* under a constraint condition that the remaining reproduction time-Tp(t) shown by Formula 9
is set to a value larger than 0 at all times. 0
Next, a method for deriving Formula 9 will be described.
A range of values that future communication throughput u can take diffuses in direct
5 proportion to the square root tlR of time t as shown by the probability density function f(u,t)
(as shown in Fig. 2).
Therefore, a lower bound value uinAt) of a target probability range can be obtained as
shown by Formula 11. The target probability range is a range of communication throughput,
10 and is a range in which a value obtained by integrating the probability density function f(u,t)
over the range is a target probability value. In other words, the target probability value is a
probability that actual communication throughput at future time t is equal to or more than the
lower bound value uinf (t) of the target probability range.
[Formula 111
In this exemplary embodiment, the target probability value is set to 99.87%. In this
case, the target probability range is a range of -3olul+oo. Therefore, the coefficient a is set to
3. In a case where the target probability value is set to 84.13%, the target probability range is a
20 range of -osu<+oo. Therefore, the coefficient a is set to 1 in this case.
- . . .
Further, a differential equation on the remaining reproduction time Tp is expressed as
shown by Formula 12. 0
[Formula 121
[0068]
By substituting the lower bound value uinf (t) of the target probability range shown by
Formula 11 for the communication throughput u in Formula 12, and integrating both the sides
v
in a range of time 0 to time t, Formula 9 is derived.
[0069]
Thus, Formula 9 is derived with the assumption that communication throughput is the
lower bound value of a target probability range. That is to say, the rate controlling part 204
calculates the encoding rate r* with the assumption that fiture communication throughput is
the lower bound value of a target probability range. Therefore, it can be said that the rate
controlling part 204 is configured to calculate an encoding rate that is more fail-safe (i.e., a
remaining reproduction time is hard to become equal to or less than 0).
[0070]
Next, a method for deriving Formula 10 will be described.
The higher the encoding rate of data is, the higher the reproduction quality of content
(the image quality of content in a case where the content is a moving image) is. Moreover,
change of the reproduction quality of content (flicker in the image quality of content in a case
where the content is a moving image) is more inhibited as change of the encoding rate of data
received by a client device becomes smaller. As a result, a content reproduction quality felt by
the user increases.
That is to say, it is thought to be preferred to determine the evaluation function J so as
to have a value that becomes smaller as the encoding rate r becomes higher and that becomes
5 smaller as change of the encoding rate r becomes smaller.
[0072]
In this exemplary embodiment, a function obtained by integrating the sums of the first
term inversely proportional to the square of the encoding rate r and the second term directly
proportional to the square of the difference between the average value rave and the encoding
10 rate r in a range from time 0 to time t is determined as the evaluation function J.
[0073]
Both a proportionality coefficient a, of the first term and a proportionality coefficient
a;! of the second term are positive values. The first term has a value that is smaller as the
encoding rate r is higher. The second term has a value that is smaller as change of the encoding
15 rate r is smaller.
Thus, Formula 10 is derived.
[0074]
The rate controlling part 204 recalculates the encoding rate r* every time a preset
update period passes.
20 [0075]
The content accumulating part 205 previously stores (accumulates) data obtained by
encoding one content (e.g;, information representing a video image or a speech) by a plurality
of encoding rates different from each other. 0
The data transmitting part 206 acquires data encoded by the latest encoding rate r*
calculated by the rate controlling part 204 of the data stored by the content accumulating part
5 205, and transmits (delivers) the acquired data to a client device connected so as to be capable
of communicating with the delivery device 200.
[0077]
In this exemplary embodiment, in a case where data encoded by the encoding rate r*
calculated by the rate controlling part 204 is not stored by the content accumulating part 205,
10 the data transmitting part 206 acquires data encoded by the largest encoding rate within a
range not exceeding the encoding rate r*.
[0078]
The data transmitting part 206 may be configured to, in a case where data encoded by
the encoding rate r* calculated by the rate controlling part 204 is not stored by the content
15 accumulating part 205, acquire data encoded by an encoding rate closest to the encoding rate
r*.
[0079]
As described above, the delivery device 200 according to the second exemplary
embodiment of the present invention can determine an encoding rate with high accuracy based
20 on a probability density function specified with an estimated function specification parameter.
[OOSO]
. Further, the delivery device 200 acoord.ing to the second exemplary embodiment of . .
26
Q the present invention determines a control parameter with the assumption that communication
throughput is the lower bound value of a target probability range.
[008 11
According to this, it is possible to sufficiently increase a probability that data is
5 transmitted with communication throughput that is high enough for a determined encoding
rate. As a result, it is possible to sufficiently decrease a probability that, when the delivery
device 200 (a server device) delivers data representing content to a client device by streaming,
the reproduction quality of the content in the client device becomes excessively low.
10 The delivery device 200 according to the second exemplary embodiment is
configured to determine an encoding rate as a control parameter, but may be configured to
determine a control parameter other than an encoding rate.
Further, the delivery device 200 according to the second exemplary embodiment is
15 configured to determine a control parameter with the assumption that communication
throughput is the lower bound value of a target probability range, but may be configured to
determine a control parameter with the assumption that communication throughput is the
upper bound value of a target probability range.
20 [0084]
cThird Exemplary Embodiment>
Next, a delivery system according to, a third exemplary embodiment of the present ,
invention will be described. The delivery system according to the third exemplary embodiment 0
is different from the delivery device 200 according to the second exemplary embodiment, in
that a client device determines an encoding rate. Therefore, a description will be made below
focusing on the different point.
5 [0085]
As shown in Fig. 5, a delivery system 1 according to the third exemplary embodiment
includes a client device 300 that reproduces content, and a server device 400 that delivers data
representing content. The client device 300 and the server device 400 are connected so as to be
capable of communicating with each other via a communication network (in this exemplary
10 embodiment, an IP (Internet Protocol) network)).
[0086]
The client device 300 and the server device 400 are information processing devices,
respectively. The client device 300 and the server device 400 each include a central processing
unit (CPU) and a storage device (a memory and an HDD), which are not shown in the
15 drawings. Each of the client device 300 and the server device 400 is configured to realize a
function to be described later by the CPU's execution of a program stored in the storage
device.
[0087]
(Function)
20 Fig. 5 is a block diagram showing a function of the delivery system 1 configured as
described above.
The fwction of the client device 300 includes a data receivingpart 301, a content
28
reproducing part 302, a communication throughput measuring part (a communication 8
throughput acquiring means) 303, a drift calculating part 304, a variance calculating part 305,
and a rate controlling part (a control parameter determining means) 306. The drift calculating
part 304 and the variance calculating part 305 configure a function specification parameter
5 estimating means.
[0088]
While receiving data that represents content and that is transmitted (delivered) by the
server device 400, the data receiving part 301 stores the received data into the storage device
of the client device 300.
10 [0089]
The content reproducing part 302 reproduces content based on the data stored by the
storage device. In this exemplary embodiment, the content reproducing part 302 reproduces
content via a display and a speaker, which serve as output devices.
[0090]
15 The communication throughput measuring part 303, the drift calculating part 304 and
the variance calculating part 305 have the same functions as the communication throughput
measuring part 101, the drift calculating part 102 and the variance calculating part 103
according to the first exemplary embodiment, respectively. The communication throughput
measuring part 303 measures communication throughput in reception of data by the data
20 receiving part 30 1.
[009 11
The rate eontrolling part 306 has the same function as the -rate controlling part 204 .
29
according to the second exemplary embodiment. Besides, the rate controlling part 306 8
transmits the calculated encoding rate r* to the server device 400.
[0092]
The function of the server device 400 includes a content accumulating part 401, and a
5 data transmitting part 402. The content accumulating part 401 has the same function as the
content accumulating part 205 according to the second exemplary embodiment.
[0093]
The data transmitting part 402 receives an encoding rate transmitted by the client
device 300. The data transmitting part 402 acquires data encoded by the received latest
10 encoding rate r* of the data stored by the content accumulating part 401, and transmits the
acquired data to the client device 300.
[0094]
In this exemplary embodiment, in a case where data encoded by the received
encoding rate r* is not stored by the content accumulating part 401, the data transmitting part
15 402 acquires data encoded by the largest encoding rate within a range not exceeding the
encoding rate r* .
[0095]
As described above, the delivery system 1 according to the third exemplary
embodiment of the present invention can produce actions and effects comparable to those of
20 the delivery device 200 according to the second exemplary embodiment.
0
Next, a communication throughput prediction device according to a fourth exemplary
embodiment of the present invention will be described. The communication throughput
prediction device according to the fourth exemplary embodiment is different from the
5 communication throughput prediction device 100 according to the first exemplary
embodiment, in using a probability density function derived with the assumption that
communication throughput changes so as to perform geometric Brownian motion. Therefore, a
description will be made below focusing on the different point.
10 As shown in Fig. 6, a communication throughput prediction device 500 is an
information processing device having a configuration similar to that of the communication
throughput prediction device 100 according to the first exemplary embodiment.
(Function)
15 Fig. 6 is a block diagram showing a function of a communication throughput
prediction device 500 configured as described above. The hction of the communication
throughput prediction device 500 includes a communication throughput measuring part (a
communication throughput acquiring means) 501, a function specification parameter
estimating part (a function specification parameter estimating means) 502, and a
20 communication throughput predicting part (a communication status estimating means) 503.
[0099]
- The communication throughput measuring part 501 has the same function as the
31
0 communication throughput measuring part 101 according to the first exemplary embodiment.
[O 1 001
The function specification parameter estimating part 502 estimates a function
specification parameter for specifying a probability density function with future
5 communication throughput as a random variable, based on communication throughput u
measured by the communication throughput measuring part 50 1.
[OlOl]
In this exemplary embodiment, the communication throughput prediction device 500
uses a probability density function f(u,t) derived with the assumption that communication
10 throughput performs geometric Brownian motion, as shown by Formula 13.
[Formula 131
A first parameter K is also referred to as "percentage drift." The first parameter K
15 represents the average of increase ratios with respect to communication throughput u at
current time. A second parameter 8 is also referred to as "percentage volatility." The first
parameter K and the second parameter 8 form function specification parameters.
[0 1 031
To be specific, the function specification parameter estimating part 502 calculates
20 converted communication throughput u' based on Formula 14 and communication throughput
u measured by the communication throughput measuring part 501. 0
[Formula 141
I U u = log -
uo
5 Then, the function specification parameter estimating part 502 substitutes the
calculated converted communication throughput u' for the communication throughput u in
Formula 3, thereby calculating drift p with respect to the converted communication throughput
10 Furthermore, the function specification parameter estimating part 502 substitutes the
calculated converted communication throughput u' for the communication throughput u in
Formula 4, thereby calculating variance cr2 with respect to the converted communication
throughput u' .
15 Then, the function specification parameter estimating part 502 calculates (estimates)
the first parameter K and the second parameter 0 based on the calculated drift p, the calculated
variance cr2, Formula 15, and Formula 16 (i.e., by solving simultaneous equations formed by
Formula 15 and Formula 16).
[Formula 151
The communication throughput predicting part 503 calculates a probability that actual
5 communication throughput at future time t is within a target range, based on the first
parameter K and second parameter 0 calculated by the function specification parameter
estimating part 502, and the probability density function f(u,t) shown by Formula 13.
[0108]
The communication throughput predicting part 503 may be configured to calculate
10 the upper bound value and lower bound value of a target probability range at future time t.
Moreover, the communication throughput predicting part 503 may be configured to estimate a
time required for transmission of data to be completed, based on at least one of the calculated
upper bound value and lower bound value of the target probability range.
[0 1091
15 Further, the communication throughput predicting part 503 may be configured to
estimate the amount of data that can be transmitted in a period at or after the first time point,
based on at least one of the calculated upper bound value and lower bound value of a target
probability range.
[Ol lo]
20 Further, the communication throughput predicting part 503 may be configured to
calculate an average value (an expected value) E [u(t)] of communication throughput at future
time t, based on the first parameter K calculated by the function specification parameter
estimating part 502, and Formula 17. 0
[Formula 171
E [ ~ ( t=) ]uo exp ( ~ t )
[Olll]
5 Further, the communication throughput predicting part 503 may be configured to
calculate a standard deviation V [u(t)] of communication throughput at future time t, based on
the first parameter K and the second parameter 8 calculated by the function specification
parameter estimating part 50, and Formula 18.
[Formula 181
V [u(t)=] u: exp ( k t ){ exp (02t)- I}
10
Thus, it can be said that the communication throughput predicting part 503
stochastically predicts communication throughput u at future time t, based on the first
parameter K and second parameter 8 calculated by the function specification parameter
15 estimating part 502 and the probability density function f(u,t) shown by Formula 13.
[0113]
Herein, a method for deriving Formula 13 will be described. As described above,
Formula 13 is derived with the assumption that communication throughput changes so as to
perform geometric Brownian motion. Therefore, a stochastic differential equation with respect
20 to communication throughput u is expressed as shown by Formula 19;
[Formula 191
where Wt denotes the Wiener process.
[0114]
By solving Formula 19, Formula 20 representing communication throughput u is
5 derived. Moreover, Formula 13 representing a probability density function with future
communication throughput u as a random variable is obtained based on Formula 20.
[Formula 201
[0115]
10 As described above, the communication throughput prediction device 500 according
to the fourth exemplary embodiment of the present invention can produce actions and effects
comparable to those of the communication throughput prediction device 100 according to the
first exemplary embodiment.
[0116]
15 The delivery device 200 according to the second exemplary embodiment and the
.delivery system 1 according to the third exemplary embodiment may be each configured to
I
use a probability density function derived with the assumption that communication throughput
changes so as to perform geometric Brownian motion.
20 [0117]
1
36
Q Next, a parameter estimation device according to a fifth exemplary embodiment of
the present invention will be described referring to Fig. 7.
A parameter estimation device 600 according to the fifth exemplary embodiment
includes:
5 a communication throughput acquiring part (a communication throughput acquiring
means) 601 for acquiring communication throughput, which is the amount of data transmitted
per unit time; and
a function specification parameter estimating part (a function specification parameter
estimating means) 602 for estimating a function specification parameter for specifying a
10 probability density function with future communication throughput as a random variable,
based on the acquired communication throughput.
[0118]
According to this, it is possible to estimate communication throughput with high
accuracy based on a probability density function specified with an estimated function
15 specification parameter. Moreover, it is also possible to determine a control parameter such as
an encoding rate with high accuracy based on a probability density function specified with an
estimated function specification parameter.
[0119]
20
Next, a delivery system according to a sixth exemplary embodiment of the present
invention will be described. The delivery system according to the sixth exemplary
embodiment is different from the delivery device 200 according to the second exemplary
all
embodiment, in determining a stoppage time based on a function specification parameter.
Herein, a stoppage time is a time to stop transmission of data representing content. Therefore,
a description will be made below focusing on the different point.
5 [0120]
In a case where the user of a client device stops reproduction of content while a server
device is transmitting data representing the content to the client device by streaming, an
unreproduced part of the data already received by the client device will not be used. That is to
say, this part is data wastefully transmitted fiom the server device to the client device. There is
10 a fear that such wastefully transmitted data meaninglessly increases communication load.
[0121]
Then, in the delivery system according to the sixth exemplary embodiment, the server
device alternately and repeatedly executes a transmission process of transmitting data
representing content to the client device and a stoppage process of stopping transmission of
15 the data for a predetermined stoppage time. At this moment, the server device determines a
stoppage time so as to make a remaining reproduction time close to a target remaining
reproduction time.
[O 1 221
Herein, a remaining reproduction time is a time that the client device can reproduce
20 content based on an unreproduced part of data received by the client device. Moreover, a
target remaining reproduction time is a target value of a remaining reproduction time.
Thus, it is possible to avoid wastehlly transmitting much data from the server device
to the client device.
I
I
To be specific, as shown in Fig. 8, a delivery system 2 according to the sixth
! exemplary embodiment includes a client device 700 that reproduces content, and a server
5 device (a parameter estimation device) 800 that delivers data representing content. The client
device 700 and the server device 800 are connected so as to be capable of communicating with
each other via a communication network (in this exemplary embodiment, an IP (Internet
Protocol) network).
[0 1 241
10 The client device 700 and the server device 800 are information processing devices
respectively. The client device 700 and the server device 800 each include a central processing
unit (CPU) and a storage device (a memory and an HDD), which are not shown in the
drawings. The client device 700 and the server device 800 are each configured to realize a
function to be described later by the CPU's execution of a program stored by the storage
15 device.
[0 1251
(Function)
Fig. 8 is a block diagram showing a function of the delivery system 2 configured as
described above.
20 The function of the client device 700 includes a data receiving part 701, a buffer part
702, and a content reproducing part 703.
1 [0 1 261
While receiving data that represents content and that is transmitted (delivered) by the
server device 800, the data receiving part 701 stores the received data into the buffer part 702.
Based on the data stored in the buffer part 702, the content reproducing part 703
5 reproduces content represented by the data. In this exemplary embodiment, the content
reproducing part 703 reproduces content via a display and a speaker that serve as output
devices.
[0128]
The function of the server device 800 includes a communication throughput
10 measuring part (a communication throughput acquiring means) 801, a drift calculating part
802, a variance calculating part 803, a stoppage time determining part (a control parameter
determining means) 804, a content accumulating part 805, and a data transmitting part 806.
The drift calculating part 802 and the variance calculating part 803 configure a hction
specification parameter estimating means. The content accumulating part 805 has the same
15 function as the content accumulating part 205 according to the second exemplary embodiment.
[0 1291
The communication throughput measuring part 801, the drift calculating part 802 and
the variance calculating part 803 have the same functions as the communication throughput
measuring part 101, the drift calculating part 102 and the variance calculating part 103
20 according to the first exemplary embodiment, respectively. The communication throughput
measuring part 801 measures communication throughput in transmission of data by the data
transmitting part 800 to be described later.
The stoppage time determining part 804 calculates (determines) a stoppage time
based on drift p calculated by the drift calculating part 802 and variance o2 calculated by the
variance calculating part 803. In this exemplary embodiment, a stoppage time forms a control
5 parameter used for transmitting data. The detailed function of the stoppage time determining
part 804 will be described later.
[0131]
The data transmitting part 806 alternately and repeatedly executes a transmission
process of transmitting data stored by the content accumulating part 805 to the client device
10 700 by streaming, and a stoppage process of stopping transmission of the data for a stoppage
time determined by the stoppage time determining part 804.
[0132]
The data transmitting part 806 transmits a preset data amount of data in one
transmission process. That is to say, data transmitted by the data transmitting part 806 in one
15 transmission process is one of a plurality of partial data generated by dividing data
representing content by the data amount.
[0133]
Herein, the detailed hction of the stoppage time determining part 804 will be
described.
20 Every time the data transmitting part 806 ends execution of a transmission process,
the stoppage time determining part 804 determines a stoppage time in a stoppage process
executed by the data transmitting part 806 next,. at a time point of ending execution of the
0 transmission process.
Next, the outline of a method for determining a stoppage time will be described.
The stoppage time determining part 804 determines a stoppage time so as to make a
5 remaining reproduction time close to a preset target remaining reproduction time, within a
range that the remaining reproduction time is kept equal to or more than the target remaining
reproduction time.
[0135]
Herein, a remaining reproduction time is a time that the client device 700 can
10 reproduce content based on an unreproduced part of data stored in the buffer part 702 of the
client device 700 (i.e., data received by the client device 700). Moreover, a target remaining
reproduction time is a target value (e.g., 10 seconds, 30 seconds, etc.) of a remaining
reproduction time.
[0136]
15 In this exemplary embodiment, the stoppage time determining part 804 determines a
stoppage time with the assumption that future communication throughput is the lower bound
value of a target probability range.
[0137]
Next, the details of the stoppage time determining method will be described.
20 Herein, a case where data representing content is divided into n partial data
(segments) vi (i = 1, 2, . . ., n) will be assumed. Let the data size (data amount) of each partial
data vi be si. Moreover,. let a reproduction time be Ti, which is.a time that content can be . a
reproduced based on each partial data vi. 0
A case where, at a time point that the data transmitting part 806 ends execution of a
transmission process of transmitting i-1 th partial data vi.1, the stoppage time determining part
5 804 determines a stoppage time a1 in a stoppage process executed immediately before a
transmission process of transmitting i" partial data vi will be assumed. A time point t that the
data transmitting part 806 ends execution of the transmission process of transmitting the i-1'
partial data vi.1 is set to 0.
[0139]
10 First, the stoppage time determining part 804 determines whether Formula 21 holds
or not. When Formula 21 holds, it is possible to complete transmission of the i" partial data vi
in a period within a range of the time point t from 0 (a current time point) to a transmission
ending upper bound time point Tsup (i.e., a period from the current time point to a time point
the transmission ending upper bound time point Tsup later).
1 5 [Formula 2 1 ]
Tsll,,
uint(t)dt?si
[0 1 401
A transmission ending upper bound time point Tsup is expressed by Formula 22,
where a communication throughput boundary time point t, is a time point that a lower bound
20 value uinAt) of a target probability range of communication throughput becomes 0, and an
estimation accuracy upper bound time point I is an upper bound time point that the accuracy of. ,
4 3
estimation of communication throughput is kept relatively high. The estimation accuracy 8
upper bound time point I is a preset value. It is preferred that the estimation accuracy upper
bound time point I is set to a value within a range from ten seconds to tens of seconds.
[Formula 221
Tsup = rnin {t, , I )
5
[0141]
The communication throughput boundary time point t, can be obtained by solving
Formula 23 representing that the lower bound value ui,At) of the target probability range is
equal to 0.
10 [Formula 231
U ~ + ~ ~ - C Y O ~ = O
[0 1421
In a case where drift p calculated by the drift calculating part 802 is 0, Formula 24 is
derived from Formula 23. Therefore, the stoppage time determining part 804 calculates the
15 communication throughput boundary time point t, based on Formula 25.
[Formula 241
2 a a 2 t-uo2= O
[Formula 251
In a case where drift p calculated by the drift calculating part 802 is not 0, Formula 26
is derived from Formula 23. Moreover, Formula 27 that is a quadratic equation for the time
point t is derived from Formula 26.
[Formula 261
[Formula 271
[O 1441
A discriminant of Formula 27, representing whether a solution in a range of real
10 numbers exists or not, is expressed as shown by Formula 28.
[Formula 281
D = a2 02 ( a2 02 - 4 p o )
[0 1451
In a case where a value D in Formula 28 is negative, a solution of Formula 27 in the
15 range of real numbers does not exist. Therefore, in this case, the stoppage time determining
part 804 sets the communication throughput boundary time point t, to oo as shown by Formula
29.
[Formula 291
t, = oo where D < 0
On the other hand, in a case where the value D in Formula 28 is equal to or more than
0, a solution of Formula 27 in the range of real numbers exists. Therefore, in this case, the
stoppage time determining part 804 calculates the communication throughput boundary time
point t, based on Formula 30.
5 [Formula 301
a 2a 2 - 2 p u o - a a ~ a 2 a 2 - 4 p u o t, =
2p2
where D 2 0
[0147]
In the case of determining that Formula 21 does not hold, the stoppage time
determining part 804 determines that the stoppage time ai is 0. In this case, even if transmitting
10 data throughout a period fiom the current time point to the transmission ending upper bound
time point T, it is impossible to complete transmission of the im partial data vi. Therefore, it
is preferred to start transmission of the ith partial data vi immediately at the current time point.
Consequently, it is possible to prevent a remaining reproduction time in the client device 700
fiom becoming excessively short.
15 [0148]
On the other hand, in the case of determining that Formula 21 holds, the stoppage
time determining part 804 calculates a minimum remaining reproduction time Tmin(0)a nd a
minimum remaining reproduction time Tmin(T,,,), respectively. Herein, a minimum remaining
reproduction time Tmin(ai) is the minimum value of a remaining reproduction time Tp(t) in a
20 period from a current time point to a transmission ending time point bi. The transmission
ending time point bi is a time point to end (complete) transmission of the ith partial data vi. The
4 6
0 minimum remaining reproduction time Tmin(aii)s expressed by Formula 3 1.
[Formula 3 11
Tmin(ai) = min Tp(t)
t€[O,bi]
[0 1491
5 The remaining reproduction time Tp(t) at the time point t is expressed by Formula 32
and Formula 3 3.
[Formula 321
Tp(t)= Tp(0)- t t E [O,ai)
[Formula 331
Further, the transmission ending time point bi is obtained by Formula 34. Formula 34
is derived from Formula 35. The stoppage time ai is also referred to as a transmission starting
time point because transmission of the i" partial data vi starts at a time point that is a stoppage
15 time after the current time point.
[Formula 341
uo(bi - ai) + 1 2 2 3 3 3 -/L (bi - ai ) - -ao (b: - a:) = si
2 2
[Formula 351
[0151]
The minimum remaining reproduction time Tmin(ai)m onotonically decreases in
accordance with increase of the stoppage time a,. Therefore, in a case where the minimum
5 remaining reproduction time Tmin(0)i s smaller than a target remaining reproduction time T,,
the stoppage time determining part 804 determines the stoppage time ai as 0.
[0 1 521
Further, in a case where the minimum remaining reproduction time Tmin(0i)s equal to
or more than the target remaining reproduction time T,, and the minimum remaining
10 reproduction time Tmin(Tsupis) smaller than the target remaining reproduction time T,, the
stoppage time determining part 804 determines the stoppage time ai so as to make the
minimum remaining reproduction time Tmin(ai) coincide with the target remaining
reproduction time T,.
[0153]
15 To be specific, the stoppage time determining part 804 calculates a minimum
remaining reproduction time Tmin(ciw) ith respect to each of a plurality of provisional stoppage
times ci different from each other within a range from a current time point (t = 0) to a
transmission ending upper bound time point (t = Tsup), and determines the provisional
stoppage time ci that the minimum remaining reproduction time Tmin(cic)l osest to the target
20 remaining reproduction time T, is calculated based on, as the stoppage time ai.
[0 1541
4 8
Further, in a case where the minimum remaining reproduction time Tmin('Tsuips) l arger 0
than the target remaining reproduction time T,, the stoppage time determining part 804 sets the
transmission ending time point bi to the transmission ending upper bound time point Tsup.
Moreover, the stoppage time determining part 804 determines the stoppage time ai based on
5 the transmission ending time point bi (= Tsup) and Formula 34.
[0155]
Thus, it can be said that the stoppage time determining part 804 determines the
stoppage time ai so as to make the remaining reproduction time Tp(t) close to the target
remaining reproduction time T, in a range that the remaining reproduction time Tp(t) is kept
10 equal to or more than the target remaining reproduction time T,.
[0156]
Next, an effect produced by the delivery system 2 according to this exemplary
embodiment will be described.
Fig. 9 is a graph showing change of a remaining reproduction time in the delivery
15 system 2. In Fig. 9, a dashed line represents communication throughput, a dashed dotted line
represents an encoding rate, and a continuous line represents a remaining reproduction time.
[0157]
Herein, a case where data representing content that an encoding rate is 750 kbps is
transmitted is wsumed. The target remaining reproduction time Tr is set to 10 seconds. The
20 data size of each partial data vi is a size that enables reproduction of content based on the
partial data vi for ten seconds.
[0158]
Further, in this exemplary embodiment, communication throughput relatively largely
changes as shown in Fig. 9. Even in such a case, according to the delivery system 2, it is
possible avoid that a remaining reproduction time becomes 0, and it is also possible to prevent
a remaining reproduction time from becoming excessively large.
5 [0159]
On the other hand, Fig. 10 is a graph showing change of a remaining reproduction
time in a delivery system of a comparison example (a comparison delivery system). This
comparison delivery system is different from the delivery system 2 in determining a stoppage
time with the assumption that communication throughput has the same value as
10 communication throughput at a current time point at all times in the future.
[0 1 601
As shown in Fig. 10, according to this comparison delivery system, a remaining
reproduction time may become 0. That is to say, there is a relatively high probability that a
remaining reproduction time becomes excessively short and the content reproduction quality
15 in a client device thereby lowers excessively.
[0161]
As described above, the server device 800 according to the sixth exemplary
embodiment of the present invention can determine a stoppage time with high accuracy based
on a probability density function specified with an estimated function specification parameter.
20 [0162]
Further, the server device 800 according to the sixth exemplary embodiment of the
present invention determines a stoppage time of a control parameter with the assumption that
communication throughput is the lower bound value of a target probability range.
@
According to this, it is possible to sufficiently increase a probability that data is
transmitted with sufficiently high communication throughput with respect to a determined
I 5 stoppage time. As a result, it is possible to sufficiently decrease a probability that the content
1 reproduction quality in the client device 700 excessively lowers.
[0 1 641
Further, the server device 800 according to the sixth exemplary embodiment of the
present invention determines a stoppage time so as to make a remaining reproduction time
10 close to a target remaining reproduction time in a range that the remaining reproduction time is
kept equal to or more than the target remaining reproduction time.
I According to this, it is possible to avoid that a remaining reproduction time becomes I
excessively short. As a result, it is possible to more securely avoid that the content
15 reproduction quality in the client device 700 excessively lowers.
[0 1661
Next, the delivery system 2 according to a modified example of the sixth exemplary
embodiment will be described. The delivery system 2 according to this modified example is
different from the delivery system 2 according to the sixth exemplary embodiment in that the
20 stoppage time determining method is simplified. Therefore, a description will be made below
focusing on the different point.
The stoppage time determining part 804 according to this modified example 0
determines the stoppage time ai so as to make a remaining reproduction time Tp(bi) at the
transmission ending time point bi, which is a time point of ending (completing) transmission
of the ith partial data vi, close to the target remaining reproduction time T,.
5 [0168]
The remaining reproduction time Tp(bi) at the transmission ending time point bi is
obtained by Formula 36 derived from Formula 33.
[Formula 361
Tp(bi=) T p(0-) bi + Ti
10 [0169]
Letting a time point that the remaining reproduction time Tp(t) coincides with the
target remaining reproduction time T, be a target coincident time point b,, the target coincident
time point b, is expressed by Formula 37 derived from Formula 36.
[Formula 371
First, the stoppage time determining part 804 calculates the target coincident time
point b, based on Formula 37.
Then, in a case where the target coincident time point b, has a value within a range
20 from 0 to the transmission ending upper bound time point Tsup, the stoppage time determining
part 804 determines the target coincident time point b, as the transmission ending time point bi.
On the other hand, in a case where the target coincident time point b, does not have a
value within the range from 0 to the transmission ending upper bound time point Tsup, the
I
stoppage time determining part 804 determines the transmission ending upper bound time
5 point Tsup as the transmission ending time point bi.
[0 1721
Then, the stoppage time determining part 804 determines the stoppage time ai based
on the determined transmission ending time point bi and Formula 34. At this moment, in a case
where the stoppage time ai does not have a value within a range from 0 to the transmission
10 ending time point bi, the stoppage time determining part 804 resets the stoppage time ai to 0.
[0 1 731
Thus, the stoppage time determining part 804 determines the stoppage time ai so as to
make the remaining reproduction time Tp(bi) at the transmission ending time point bi close to
the target remaining reproduction time T,.
15 [0174]
The delivery system 2 according to this modified example can also produce actions
and effects comparable to the delivery system 2 according to the sixth exemplary embodiment.
[0 1 751
Although the present invention is described above referring to the exemplary
20 embodiments, the present invention is not limited to the exemplary embodiments. The
configurations and details of the present invention can be modified in various manners that can
be understood by one skilled in the art within the scope of the present invention.
For example, in each of the exemplary embodiments, the parameter estimation device
is configured to estimate a function specification parameter for specifLing a probability
density function in which a random variable is communication throughput at a second time
5 point later than a first time point, based on communication throughput acquired by the first
time point. However, in a modified example of each of the exemplary embodiments, the
parameter estimation device may be configured to, based on communication throughput
acquired in a certain period, estimate a function specification parameter for specifying a
probability density function in which a random variable is communication throughput at a
10 time point before (earlier than) the period.
[0 1771
The respective functions of the parameter estimation device in each of the exemplary
embodiments are realized by the CPU's execution of the program (software), but may be
realized by hardware such as circuits.
Further, the program is stored in the storage device in each of the exemplary
embodiments, but may be stored in a computer-readable recording medium. For example, the
recording medium is a portable medium such as a flexible disk, an optical disk, a
magneto-optical disk, and a semiconductor memory.
20 [0179]
Further, as another modified example of each of the exemplary embodiments, any
combinations of the abovementioned exemplary embodiments and modified examples may be -
5 The whole or part of the exemplary embodiments disclosed above can be described as,
but not limited to, the following supplementary notes.
(Supplementary Note 1)
A parameter estimation device including:
10 a communication throughput acquiring means for acquiring communication
throughput that is an amount of data transmitted per unit time; and
a function specification parameter estimating means for estimating a function
specification parameter for specifying a probability density function where communication
throughput at a second time point later than a first time point is a random variable, based on
15 the communication throughput acquired by the first time point.
[0 1 821
According to this, it is possible to increase the accuracy of estimation of
communication throughput. Therefore, for example, it is possible to estimate communication
throughput with high accuracy based on a probability density function specified with an
20 estimated function specification parameter. Also, it is possible to determine a control
parameter such as an encoding rate with high accuracy based on a probability density function
specified with an estimated function specification parameter:
(Supplementary Note 2)
The parameter estimation device according to Supplementary Note 1, including a
control parameter determining means for determining a control parameter used for
I
5 transmitting data, based on the estimated function specification parameter.
[0 1841
According to this, it is possible to determine a control parameter such as an encoding
I
rate with high accuracy.
[0 1 851
10 (Supplementary Note 3)
The parameter estimation device according to Supplementary Note 2, wherein the
control parameter determining means is configured to determine the control parameter with an
assumption that the communication throughput is an upper bound value or a lower bound
value of a target probability range, the target probability range being a range of the
15 communication throughput, and the target probability range being a range in which a value
obtained by integrating the probability density function specified with the estimated function
specification parameter over the range is a target probability value that is a value of a
probability to be a target.
[0 1 861
20 (Supplementary Note 4)
The parameter estimation device according to Supplementary Note 2 or 3, wherein:
the control parameter is an encoding rate of the data to be transmitted; and .
56
0 the control parameter determining means is configured to determine the encoding rate
with an assumption that the communication throughput is a lower bound value of a target
probability range, the target probability range being a range of the communication throughput,
and the target probability range being a range in which a value obtained by integrating the
5 probability density hction specified with the estimated function specification parameter over
the range is a target probability value that is a value of a probability to be a target.
[0187]
According to this, it is possible to sufficiently increase a probability that data is
transmitted with sufficiently high communication throughput for a determined encoding rate.
10 As a result, for example, in a case where a server device delivers data representing content to a
client device by streaming, it is possible to sufficiently decrease a probability that the content
reproduction quality in the client device excessively lowers.
[0188]
(Supplementary Note 5)
The parameter estimation device according to Supplementary Note 2 or 3, being
configured to alternately and repeatedly execute a transmission process of transmitting the
data representing content to a client device by streaming and a stoppage process of stopping
transmission of the data for a predetermined stoppage time, wherein:
the control parameter is the stoppage time; and
the control parameter determining means is configured to determine the stoppage
time so as to make a remaining reproduction time close to a preset target remaining
. , reproduction time, the remaining reproduction time being a time allawing reproduction of the
57
0 content based on an unreproduced part of the data received by the client device, with an
assumption that the communication throughput is a lower bound value of a target probability
range, the target probability range being a range of the communication throughput, and the
target probability range being a range in which a value obtained by integrating the probability
5 density function specified with the estimated function specification p'arameter over the range is
a target probability value that is a value of a probability to be a target.
[0189]
According to this, it is possible to sufficiently increase a probability that data is
transmitted with sufficiently high communication throughput for a determined stoppage time.
10 As a result, it is possible to sufficiently decrease a probability that the content reproduction
quality in the client device excessively lowers.
[0 1 901
(Supplementary Note 6)
The parameter estimation device according to Supplementary Note 5, wherein the
15 control parameter determining means is configured to determine the stoppage time in the
stoppage process to be executed next, at a time point of ending execution of the transmission
process.
[0191]
(Supplementary Note 7)
The parameter estimation device according to Supplementary Note 5 or 6, wherein
the control parameter determining means is configured to determine the stoppage time so as to
make the remaining reproduction time dose to the target remaining reproduction time in a
58
e range in which the remaining reproduction time is kept equal to or more than the target
remaining reproduction time.
[0 1921
According to this, it is possible to avoid that a remaining reproduction time becomes
5 excessively short. As a result, it is possible to more securely avoid that the content
reproduction quality in the client device excessively lowers.
[0 1931
(Supplementary Note 8)
The parameter estimation device according to any of Supplementary Notes 1 to 7,
10 including a communication status estimating means for estimating at least one among the
communication throughput, a time required for transmission of data to be completed, and an
amount of data that can be transmitted in a period at or after the first time point, based on the
estimated function specification parameter.
[0 1 941
According to this, it is possible to estimate communication throughput, a time
required for transmission of data to be completed, and/or the amount of data that can be
transmitted in a period at or after a first time point, with high accuracy based on a probability
density function specified with an estimated function specification parameter.
[0 1 951
20 (Supplementary Note 9)
The parameter estimation device according to any of Supplementary Notes 1 to 8,
wherein the probability: d-ensit hction .is a function derived with an assumption that the -
59
communication throughput changes so as to perform Brownian motion. e
[O 1 961
Change of communication throughput is well expressed by Brownian motion.
5 Therefore, according to the parameter estimation device configured as described above, it is
possible to estimate communication throughput with high accuracy, and it is also possible to
determine a control parameter with high accuracy.
[0 1971
(Supplementary Note 10)
10 The parameter estimation device according to any of Supplementary Notes 1 to 8,
wherein the probability density function is a function derived with an assumption that the
communication throughput changes so as to perform Brownian motion with drift.
[0 1 981
Change of communication throughput is well expressed by Brownian motion with
15 drift. Therefore, according to the parameter estimation device configured as described above,
it is possible to estimate communication throughput with high accuracy, and it is also possible
to determine a control parameter with high accuracy.
[0 1 991
(Supplementary Note 1 1)
20 The parameter estimation device according to any of Supplementary Notes 1 to 8,
wherein the probability density function is a function derived with an assumption that the
communication throughput changes so as to perform geometric Brownian motion.
Change of communication throughput is well expressed by geometric Brownian
motion. Therefore, according to the parameter estimation device configured as described
above, it is possible to estimate communication throughput with high accuracy, and it is also
5 possible to determine a control parameter with high accuracy.
[020 11
(Supplementary Note 12)
! A parameter estimation method including:
acquiring communication throughput that is an amount of data transmitted per unit
10 time; and
estimating a function specification parameter for specifying a probability density
function where communication throughput at a second time point later than a first time point is
a random variable, based on the communication throughput acquired by the first time point.
[0202]
15 (Supplementary Note 13)
The parameter estimation method according to Supplementary Note 12, including
determining a control parameter used for transmitting data, based on the estimated function
specification parameter.
[0203]
20 (Supplementary Note 14)
The parameter estimation method according to Supplementary Note 13, including
determining the control parameter with an assumption that the communication throughput is
I
61
0 an upper bound value or a lower bound value of a target probability range, the target
probability range being a range of the communication throughput, and the target probability
range being a range in which a value obtained by integrating the probability density function
specified with the estimated function specification parameter over the range is a target
5 probability value that is a value of a probability to be a target.
[0204]
(Supplementary Note 15)
The parameter estimation method according to any of Supplementary Notes 12 to 14,
including estimating at least one among the communication throughput, a time required for
10 transmission of data to be completed, and an amount of data that can be transmitted in a period
at or after the first time point, based on the estimated function specification parameter.
[0205]
(Supplementary Note 16)
A parameter estimation program including instructions for causing an information
15 processing device to perform operations including:
acquiring communication throughput that is an amount of data transmitted per unit
time; and
estimating a function specification parameter for specifying a probability density
function where communication throughput at a second time point later than a first time point is
20 a random variable, based on the communication throughput acquired by the first time point.
[0206]
(Supplementary Note 17) -
~ 62
e The parameter estimation program according to Supplementary Note 16, including
I
instructions for causing the 'inkmation processing device to further perform operations
including determining a control parameter used for transmitting data, based on the estimated
function specification parameter.
5 [0207]
(Supplementary Note 18)
The parameter estimation program according to Supplementary Note 17, wherein the
operations include determining the control parameter with an assumption that the
communication throughput is an upper bound value or a lower bound value of a target
10 probability range, the target probability range being a range of the communication throughput,
and the target probability range being a range in which a value obtained by integrating the
probability density function specified with the estimated function specification parameter over
the range is a target probability value that is a value of a probability to be a target.
[0208]
15 (Supplementary Note 19)
The parameter estimation program according to any of Supplementary Notes 16 to 18,
including instructions for causing the information processing device to further perform
operations including estimating at least one among the communication throughput, a time
' required for transmission of data to be completed, and an amount of data that can be
20 transmitted in a period at or after the first time point, based on the estimated function
specification parameter.
[0209]
63
The present invention is based upon and claims the benefit of priority from Japanese e
patent application No. 20 1 1 - 15 1349, filed on July 8,20 1 1, and Japanese patent application No.
201 1-1 92642, filed on September 5, 201 1, the disclosures of which are incorporated herein in
their entirety by reference.
5
INDUSTRIAL APPLICABILITY
[02 lo]
The present invention can be applied to a communication throughput prediction
device that estimates communication throughput, a control parameter determination device
10 that determines a control parameter used for transmitting data, and so on.
DESCRIPTION OF REFERENCE NUMERALS
[0211]
1 delivery system
15 100 communication throughput prediction device
1 0 1 communication throughput measuring part
102 drift calculating part
103 variance calculating part
104 communication throughput predicting part
20 200 delivery device
20 1 communication throughput measuring part
202 drift calculating part
variance calculating part
rate controlling part
content accumulating part
data transmitting part
client device
data receiving part
content reproducing part
communication throughput measuring part
drift calculating part
variance calculating part
rate controlling part
server device
content accumulating part
data transmitting part
communication throughput prediction device
communication throughput measuring part
hnction specification parameter estimating part
communication throughput predicting part
parameter estimation device
communication throughput acquiring part
function specification parameter estimating part
delivery system
client device
data receiving part
buffer part
content reproducing part
server device
communication throughput measuring part
drift calculating part
variance calculating part
stoppage time determining part
content accumulating part
data transmitting part
CLAIM
1. A parameter estimation device comprising:
a communication throughput acquiring means for acquiring communication
5 throughput that is an amount of data transmitted per unit time; and
a function specification parameter estimating means for estimating a function
specification parameter for specifying a probability density hction where communication
throughput at a second time point later than a first time point is a random variable, based on
the communication throughput acquired by the first time point.
10
2. The parameter estimation device according to Claim 1, comprising a control
parameter determining means for determining a control parameter used for transmitting data,
based on the estimated function specification parameter.
15 3. The parameter estimation device according to Claim 2, wherein the control parameter
determining means is configured to determine the control parameter with an assumption that
the communication throughput is an upper bound value or a lower bound value of a target
probability range, the target probability range being a range of the communication throughput,
and the target probability range being a range in which a value obtained by integrating the
20 probability density function specified with the estimated function specification parameter over
the range is a target probability value that is a value of a probability to be a target.
The parameter estimation device according to Claim 2 or 3, wherein:
fL *i l,j$,c 2\13
C the control parameter is an encoding rate of the data to be transmitted; and
the control parameter determining means is configured to determine the encoding rate
with an assumption that the communication throughput is a lower bound value of a target
5 probability range, the target probability range being a range of the communication throughput,
and the target probability range being a range in which a value obtained by integrating the
probability density function specified with the estimated function specification parameter over
the range is a target probability value that is a value of a probability to be a target.
10 5. The parameter estimation device according to Claim 2 or 3, being configured to
alternately and repeatedly execute a transmission process of transmitting the data representing
content to a client device by streaming and a stoppage process of stopping transmission of the
data for a predetermined stoppage time, wherein:
the control parameter is the stoppage time; and
15 the control parameter determining means is configured to determine the stoppage
time so as to make a remaining reproduction time close to a preset target remaining
reproduction time, the remaining reproduction time being a time allowing reproduction of the
content based on an unreproduced part of the data received by the client device, with an
assumption that the communication throughput is a lower bound value of a target probability
20 range, the target probability range being a range of the communication throughput, and the
target probability range being a range in which a value obtained by integrating the probability
density function specified with the estimated function specification parameter over the range is
0 a target probability value that is a value of a probability to be
6. The parameter estimation device according to Claim 5, wherein the control parameter
determining means is configured to determine the stoppage time in the stoppage process to be
5 executed next, at a time point of ending execution of the transmission process.
7. The parameter estimation device according to Claim 5 or 6, wherein the control
parameter determining means is configured to determine the stoppage time so as to make the
remaining reproduction time close to the target remaining reproduction time in a range in
10 which the remaining reproduction time is kept equal to or more than the target remaining
reproduction time.
8. The parameter estimation device according to any of Claims 1 to 7, comprising a
communication status estimating means for estimating at least one among the communication
15 throughput, a time required for transmission of data to be completed, and an amount of data
that can be transmitted in a period at or after the first time point, based on the estimated
function specification parameter.
9. The parameter estimation device according to any of Claims 1 to 8, wherein the
20 probability density function is a function derived with an assumption that the communication
throughput changes so as to perform Brownian motion.
ell 10. The parameter estimation device according to any of Claims 1 to 8, wherein the
probability density function is a function derived with an assumption that the communication
throughput changes so as to perform Brownian motion with drift.
5 11. The parameter estimation device according to any of Claims 1 to 8, wherein the
probability density function is a function derived with an assumption that the communication
throughput changes so as to perform geometric Brownian motion.
12. A parameter estimation method comprising:
10 acquiring communication throughput that is an amount of data transmitted per unit
time; and
estimating a function specification parameter for specifying a probability density
function where communication throughput at a second time point later than a first time point is
a random variable, based on the communication throughput acquired by the first time point.
13. The parameter estimation method according to Claim 12, comprising determining a
control parameter used for transmitting data, based on the estimated function specification
parameter.
20 14. The parameter estimation method according to Claim 13, comprising determining the
control parameter with an assumption that the communication throughput is an upper bound
value or a lower bound value of a target probability range, the target probability range being a
70
I
I e range of the communication throughput, and the target prob
I
which a value obtained by integrating the probability density function specified with the
estimated function specification parameter over the range is a target probability value that is a
value of a probability to be a target.
5
15. The parameter estimation method according to any of Claims 12 to 14, comprising
estimating at least one among the communication throughput, a time required for transmission
of data to be completed, and an amount of data that can be transmitted in a period at or after
the first time point, based on the estimated function specification parameter.
10
16. A parameter estimation program comprising instructions for causing an information
processing device to perform operations including:
acquiring communication throughput that is an amount of data transmitted per unit
time; and
estimating a function specification parameter for specifLing a probability density
function where communication throughput at a second time point later than a first time point is
a random variable, based on the communication throughput acquired by the first time point.
17. The parameter estimation program according to Claim 16, comprising instructions for
20 causing the information processing device to further perform operations including determining
a control parameter used for transmitting data, based on the estimated function specification
parameter.
18. The parameter -atitm program according to Claim 17, wherein the operations
include determining the control parameter with an assumption that the communication
I throughput is an upper bound value or a lower bound value of a target probability range, the
5 target probability range being a range of the communication throughput, and the target
probability range being a range in which a value obtained by integrating the probability
density function specified with the estimated function specification parameter over the range is
a target probability value that is a value of a probability to be a target.
10 19. The parameter estimation program according to any of Claims 16 to 18, comprising
instructions for causing the information processing device to further perform operations
including estimating at least one among the communication throughput, a time required for
transmission of data to be completed, and an amount of data that can be transmitted in a period
at or after the first time point, based on the estimated function specification parameter.
15
Dated this 2oth day of December 2013
u
Of Anand and Anand Advocates
Agent for the Applicant
| # | Name | Date |
|---|---|---|
| 1 | 10995-DELNP-2013.pdf | 2014-01-09 |
| 2 | 10995-delnp-2013-Form-3-(09-05-2014).pdf | 2014-05-09 |
| 3 | 10995-delnp-2013-Correspondence-Others-(09-05-2014).pdf | 2014-05-09 |
| 4 | 10995-delnp-2013-GPA.pdf | 2014-05-19 |
| 5 | 10995-delnp-2013-Form-5.pdf | 2014-05-19 |
| 6 | 10995-delnp-2013-Form-3.pdf | 2014-05-19 |
| 7 | 10995-delnp-2013-Form-2.pdf | 2014-05-19 |
| 8 | 10995-delnp-2013-Form-18.pdf | 2014-05-19 |
| 9 | 10995-delnp-2013-Form-1.pdf | 2014-05-19 |
| 10 | 10995-delnp-2013-Drawings.pdf | 2014-05-19 |
| 11 | 10995-delnp-2013-Description (Complete).pdf | 2014-05-19 |
| 12 | 10995-delnp-2013-Correspondence-others.pdf | 2014-05-19 |
| 13 | 10995-delnp-2013-Claims.pdf | 2014-05-19 |
| 14 | 10995-delnp-2013-Abstract.pdf | 2014-05-19 |
| 15 | 10995-delnp-2013-Form-3-(12-12-2014).pdf | 2014-12-12 |
| 16 | 10995-delnp-2013-Correspondance Others-(12-12-2014).pdf | 2014-12-12 |
| 17 | 10995-delnp-2013-Form-3-(26-06-2015).pdf | 2015-06-26 |
| 18 | 10995-delnp-2013-Correspondence Others-(26-06-2015).pdf | 2015-06-26 |
| 19 | 10995-delnp-2013-Form-3-(13-01-2016).pdf | 2016-01-13 |
| 20 | 10995-delnp-2013-Correspondence Others-(13-01-2016).pdf | 2016-01-13 |
| 21 | Form 3 [12-09-2016(online)].pdf | 2016-09-12 |
| 22 | 10995-DELNP-2013-FER.pdf | 2018-05-30 |
| 23 | 10995-DELNP-2013-OTHERS [29-11-2018(online)].pdf | 2018-11-29 |
| 24 | 10995-DELNP-2013-FORM 3 [29-11-2018(online)].pdf | 2018-11-29 |
| 25 | 10995-DELNP-2013-FER_SER_REPLY [29-11-2018(online)].pdf | 2018-11-29 |
| 26 | 10995-DELNP-2013-CORRESPONDENCE [29-11-2018(online)].pdf | 2018-11-29 |
| 27 | 10995-DELNP-2013-COMPLETE SPECIFICATION [29-11-2018(online)].pdf | 2018-11-29 |
| 28 | 10995-DELNP-2013-CLAIMS [29-11-2018(online)].pdf | 2018-11-29 |
| 29 | 10995-DELNP-2013-FORM-26 [01-12-2020(online)].pdf | 2020-12-01 |
| 30 | 10995-DELNP-2013-Correspondence to notify the Controller [01-12-2020(online)].pdf | 2020-12-01 |
| 31 | 10995-DELNP-2013-Written submissions and relevant documents [14-12-2020(online)].pdf | 2020-12-14 |
| 32 | 10995-DELNP-2013-PETITION UNDER RULE 137 [14-12-2020(online)].pdf | 2020-12-14 |
| 33 | 10995-DELNP-2013-PatentCertificate25-02-2021.pdf | 2021-02-25 |
| 34 | 10995-DELNP-2013-IntimationOfGrant25-02-2021.pdf | 2021-02-25 |
| 35 | 10995-DELNP-2013-RELEVANT DOCUMENTS [14-09-2021(online)].pdf | 2021-09-14 |
| 36 | 10995-DELNP-2013-US(14)-HearingNotice-(HearingDate-03-12-2020).pdf | 2021-10-17 |
| 37 | 10995-DELNP-2013-FORM-26 [02-11-2021(online)].pdf | 2021-11-02 |
| 38 | 10995-DELNP-2013-RELEVANT DOCUMENTS [20-09-2022(online)].pdf | 2022-09-20 |
| 39 | 10995-DELNP-2013-RELEVANT DOCUMENTS [11-09-2023(online)].pdf | 2023-09-11 |
| 1 | 10995_DELNP_2013_30-01-2018.pdf |