U.S. patent application number 12/577213 was filed with the patent office on 2010-06-10 for bandwidth measurement.
Invention is credited to Trevor Fiatal.
Application Number | 20100146107 12/577213 |
Document ID | / |
Family ID | 42232299 |
Filed Date | 2010-06-10 |
United States Patent
Application |
20100146107 |
Kind Code |
A1 |
Fiatal; Trevor |
June 10, 2010 |
Bandwidth Measurement
Abstract
Methods for testing network bandwidth availability in a
non-intrusive manner. By implementing occasional, base-line
bandwidth testing, a more accurate indication of actual transfer
rate results. When an application dependent upon network bandwidth
is first executed, a series of file transfers takes place utilizing
a series of different sized pieces of content.
Inventors: |
Fiatal; Trevor; (Fremont,
CA) |
Correspondence
Address: |
CARR & FERRELL LLP
2200 GENG ROAD
PALO ALTO
CA
94303
US
|
Family ID: |
42232299 |
Appl. No.: |
12/577213 |
Filed: |
October 12, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61104674 |
Oct 10, 2008 |
|
|
|
Current U.S.
Class: |
709/224 |
Current CPC
Class: |
H04L 67/06 20130101;
H04L 69/28 20130101; H04L 43/0882 20130101 |
Class at
Publication: |
709/224 |
International
Class: |
G06F 15/173 20060101
G06F015/173 |
Claims
1. A method for measuring bandwidth, the method comprising:
requesting a series of files for delivery to a client device,
wherein the size of the series of file is known and the request
takes place without user intervention; measuring the time for the
series of files to be received from a server at the client device;
calculating actual bandwidth availability based on the size of the
series of files divided by the time to receive the series of files
at the client device; requesting a piece of content, wherein the
request for the piece of content is made from the client device and
accompanied by information concerning actual bandwidth
availability; and receiving the piece of content from a server
hosting the content.
2. The method of claim 1, wherein the piece of content was
re-encoded prior to receipt in light of the information concerning
actual bandwidth availability.
3. The method of claim 1, wherein the series of files are related
to the piece of content.
4. The method of claim 3, wherein the series of files are metadata.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims the priority benefit of U.S.
provisional patent application No. 61/104,674 filed Oct. 10, 2008
and entitled "Bandwidth Measurement," the disclosure of which is
incorporated herein by reference.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The present invention generally relates to content delivery
over a communications network. More specifically, the present
invention relates to measurement of actual, transfer bit rate in a
communications network.
[0004] 2. Description of the Related Art
[0005] To measure bandwidth availability, any number of various
testing methodologies may be employed. In one such testing method,
a relatively small file of 0s or 1s is transferred from the content
source to a receiving computing device before content is
transferred or received. The time to transfer the test file aids in
the determination of bandwidth quality and the rate at which
requested content can be served to a user.
[0006] A determination that the bandwidth between the server and
user is of low and/or unreliable quality may result in serving, for
example, a lower quality video file. The quality of the content
embodied in the lower quality video file is less than that of a
file embodying, for example, high definition video content. While
the quality of the content is lower, delivery of the file in a
timely manner is more likely assured. Serving the lower quality
file thereby avoids issues related to packet loss and jitter that
would be rampant with respect to the higher quality video file,
which is dependent upon high throughput and reliable bandwidth.
[0007] In another example, content may be transferred and reside in
a user's local cache for viewing. Playback may not begin until
several seconds afterward because the content is arriving slower
than real time. For example, one second of actual content arrives
every two seconds meaning that if content playback began
immediately, or even after a few seconds following the initial
receipt of content, that the cache of content would soon be
`starved` resulting in hiccups and jitter during playback.
[0008] A player application at a client device may `tune` itself in
response to actual bandwidth conditions as they pertain to the
arrival of content versus real-world playback speed. This may
require that the player be informed of the total playback time so
that a determination of total content playback time versus content
in cache versus time to receive said cached content may be made.
Such information may be included in an initial header file.
[0009] In another instance, a user picks bandwidth quality and
content is transferred in light of that selection. In most
instances, a user does not know the quality of their bandwidth much
less total available bandwidth. As such, a user makes a best
guesses that is likely to adversely affect content playback.
[0010] The aforementioned testing methods are intrusive and time
consuming with respect to providing `instant-on` playback of
content while operating in light of network constraints. There is a
need for determining an actual bandwidth situation without
intrusive and/or inaccurate testing methodologies as part of an
integrated content delivery system.
SUMMARY OF THE INVENTION
[0011] A method for measuring bandwidth is disclosed. Through the
method, a series of files are requested, the size of the series of
file being known. The request takes place without user
intervention. The time for the series of files to be received is
measures and the actual bandwidth availability is calculated based
on the size of the series of files divided by the time to receive
the series of files. A request for a piece of content is then made.
The request for content is accompanied by information concerning
actual bandwidth availability. The content is then received.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG. 1 illustrates a method for implementing occasional,
base-line bandwidth testing.
DETAILED DESCRIPTION
[0013] FIG. 1 illustrates a method 100 for implementing occasional,
base-line bandwidth testing to result in a more accurate indication
of actual transfer rate. When an application dependent upon network
bandwidth is first executed, a series of file transfers takes place
in step 110 utilizing a series of different sized pieces of content
(e.g., files ranging from small to large).
[0014] In the prior art, only small files are used (e.g., a file of
only 0s or 1s). This sampling in the prior art is too small to be
relied upon with any degree of accuracy, especially when the test
is made in the context of a soon-to-be-transferred media file such
as a two-hour high definition movie. Instead, 100 thumbnail files
may be transferred resulting in a large byte stream more indicative
of actual delays. Subsequent calibrations may be made to ensure
that the bandwidth conditions are kept up-to-date.
[0015] These transfers may be executed through Remote Procedure
Call (RPC) where a bandwidth testing application (in accordance
with one or more rules and/or algorithms) requests delivery of test
content from a server. The size of the test file is known in
advance (e.g., one-hundred, 20-KB files) as is the start time (when
the RPC is made). Once the final file is received, the finish time
is likewise known.
[0016] A careful measurement of transfer time may then be made in
step 120. Measurement of transfer time takes into account actual
packet loss and stoppages in transfer as those events may be
measured in the context of having full content of the file transfer
taking place in light of those events (e.g., file size, nature of
the file, start/stop time). Testing may take place continuously,
according to a schedule, or randomly depending on other transfers
taking place (or not taking place) over the network. As a result,
up-to-date surveillance of network bandwidth may take place without
intrusive testing.
[0017] For example, as a user is browsing through thumbnails or
descriptions of available content, testing may be taking
transparently taking place in the background. Thus, when the user
makes an actual selection of content, bandwidth conditions are
already known and transfer may take place in light of the bandwidth
measurement. In some instances, as a user browses or investigates a
particular piece of content, testing may take place that is
specific to some particularity of that piece of content as it
concerns file format, size, number, or metadata, for example.
[0018] Measurements may also be based on metadata related to that
content as it is being browsed. For example, as a user is browsing
through a library of content, metadata is being transferred to
provide the user with information about the browsed content. The
transferred metadata may be the content used for the
measurement.
[0019] In some instances, a series of measurements might be used to
create an even more accurate measurement of bandwidth through
statistical analysis in optional step 130. For example, a series of
measurements might take place every 30 seconds. A first measurement
might coincide with another network event that is causing
significant network congestion, that event being a one-time
anomaly. If the measurement were based on that sole instance,
however, network availability might be indicated as being lower
than is actually available.
[0020] A series of five additional measurements taken over the next
21/2 minutes would reflect that the first measurement was such an
anomaly. Anomalies may be included as a part of a final measurement
and prediction or may be thrown out as having been recognized as
anomalies. Various statistical tools or methodologies may be used
in this context including the arithmetic mean (i.e., the average),
mode, or median.
[0021] Trends may be identified over particular periods of time in
optional step 140. For example, a trend over time may be combined
with an actual measurement in the here-and-now. Statistical
analyses performed in step 130 may also be introduced into
identification of such a trend. As such, predictions for network
conditions on a Monday at 2 PM may be combined with an actual
measurement (which may be near the same) to be used as a predictor.
Such a measurement would differ significantly versus a measurement
at 2 PM on a Saturday when the network in question is an office
network. Likewise, the measurements would probably differ
significantly if the network was a home network.
[0022] Ultimately, bandwidth availability is determined at step
150. This determination may involve only steps 110 and 120 or may
additionally incorporate steps 130 and/or 140 with respect to
statistical analyses and/or identification of trends. The end
result is a determination as to bandwidth availability at any given
date and time with respect to a particular network. These
determinations may, in and of themselves, be maintained as a part
of a library later referenced in a statistical analysis or
identification of trends.
[0023] In light of the determination arrived at in step 150, and in
practical application, a user might have a piece of content that is
encoded at 700 Kbits. A WiFi connection for a mobile device may
have an effective transfer rate of 400 Kbits, the transfer rate
arrived at through the method described above. Trying to transfer
this content may result in packet loss. Based on the aforementioned
testing methodology, when the request for actual content delivery
takes place, an indication that the transfer cannot take place in
excess of 400 Kbits may be delivered to the content server. The
content server may utilize a codec engine that re-encodes the 700
Kbit file into a 350 Kbit file to avoid exceeding network capacity.
Such re-encoding may take place in optional step 160.
[0024] Content is ultimately delivered in step 170. Content may be
delivered in response to a request for content, the request
accompanied by information concerning actual bandwidth availability
as determined in step 150. The delivered content may be re-encoded
content as a result of a re-encoding operation that took place in
step 160 and further in light of the need to re-encode the content.
Content may be delivered at a lower bit rate as a result of a
pre-existing lower bit rate file having been selected from a number
of available files. Content may further be delivered utilizing
brute force with a notification to the user that the existing
network bandwidth is not optimal to the selected content and that
an interruption in delivery or other quality of services issues may
result. Alternatively, content not ideal to the tested network may
simply be made unavailable to the user either for delivery or
initial selection.
[0025] An exemplary system that could implement this testing
methodology is described in U.S. patent application Ser. No.
12/002,300 filed Dec. 13, 2007 and entitled "Content Delivery to a
Mobile Device from a Content Service," the disclosure of which is
incorporated herein by reference. The aforementioned testing
methodology may be implemented through software stored in a
computer readable storage medium. Such software would be executable
by a processor device operable to access and retrieve software
instructions from the aforementioned storage medium. Such a testing
methodology may be executed from a client or a server or at an
intermediate computing device thereby between.
[0026] The embodiments illustrated, described, and/or discussed
herein are illustrative of the present invention. As these
embodiments of the present invention are described with reference
to illustrations, various modifications or adaptations of the
methods and or specific structures described may become apparent to
those skilled in the art. It will be appreciated that modifications
and variations are covered by the above teachings and within the
scope of the appended claims without departing from the spirit and
intended scope thereof. All such modifications, adaptations, or
variations that rely upon the teachings of the present invention,
and through which these teachings have advanced the art, are
considered to be within the spirit and scope of the present
invention. Hence, these descriptions and drawings should not be
considered in a limiting sense, as it is understood that the
present invention is in no way limited to only the embodiments
illustrated.
* * * * *