U.S. patent application number 12/080216 was filed with the patent office on 2009-07-30 for reducing network and battery consumption during content delivery and playback.
Invention is credited to Trevor Fiatal.
Application Number | 20090193338 12/080216 |
Document ID | / |
Family ID | 40900341 |
Filed Date | 2009-07-30 |
United States Patent
Application |
20090193338 |
Kind Code |
A1 |
Fiatal; Trevor |
July 30, 2009 |
Reducing network and battery consumption during content delivery
and playback
Abstract
Methods and systems for content delivery are provided. A user of
a media device may select one or more media content files, which
may be located locally or remotely. The content selected by the
user is located. If selected content is located at a remote source,
that file is downloaded to the media device using maximum available
radio bandwidth and stored in local storage. That data is provided
as a stream to a media player from the local storage.
Inventors: |
Fiatal; Trevor; (Fremont,
CA) |
Correspondence
Address: |
CARR & FERRELL LLP
2200 GENG ROAD
PALO ALTO
CA
94303
US
|
Family ID: |
40900341 |
Appl. No.: |
12/080216 |
Filed: |
March 31, 2008 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61062797 |
Jan 28, 2008 |
|
|
|
Current U.S.
Class: |
715/716 ;
709/219 |
Current CPC
Class: |
H04W 12/06 20130101;
H04L 63/08 20130101; H04L 51/38 20130101; H04L 63/10 20130101; H04L
51/24 20130101; H04L 67/02 20130101; H04L 45/026 20130101; H04L
67/36 20130101 |
Class at
Publication: |
715/716 ;
709/219 |
International
Class: |
G06F 3/048 20060101
G06F003/048; G06F 15/16 20060101 G06F015/16 |
Claims
1. A method for reducing power consumption during content delivery
and playback, comprising: receiving a selection designating content
at a content source; downloading the designated content to local
storage of a media device, wherein the content is downloaded at a
maximum available network bandwidth using a radio at the media
device; streaming a downloaded portion of the designated content
from the local storage to a media player of the media device; and
deactivating the radio when the designated content is completely
downloaded.
2. The method of claim 1, further comprising generating an
interface for receiving the one or more user selections.
3. The method of claim 1, further comprising generating a playlist
based on the one or more user selections.
4. The method of claim 3, wherein downloading the content is based
on an order of the playlist.
5. The method of claim 3, further comprising updating the playlist
based on user input.
6. The method of claim 1, further comprising generating a request
to a proxy for the designated content.
7. The method of claim 1, wherein the downloaded content in the
local storage may be provided to the media player based on user
input.
8. The method of claim 7, wherein access to the local storage
device is limited to one or more media players associated with the
media device.
9. A media device for receiving content delivery, comprising a user
interface configured to receive a selection designating content; a
media broker configured to locate the designated content at a
content source; a radio configured to download the located content
to local storage at a maximum available network bandwidth, the
radio further configured to deactivate when the designated content
is completely downloaded; and a media proxy configured to provide a
downloaded portion of the designated content via streaming from the
local storage to a media player.
10. The media device of claim 9, further comprising the media
player, the media player being configured to play streamed
content.
11. The media device of claim 9, further comprising a playlist
generator configured to generate a playlist based on the one or
more user selections.
12. The media device of claim 9, wherein the media broker is
further configured to download the designated content from the
remote content source based on an order of the playlist.
13. The media device of claim 9, wherein the media proxy is further
configured to provide a user with information concerning content
from one or more content sources;
14. The media device of claim 9, wherein the local storage is
configured to provide the downloaded content to the media player
based on user input.
15. The media device of claim 9, wherein access to the local
storage is limited to one or more media players associated with the
media device.
16. The media device of claim 9, further comprising a storage
handler configured to manage content from one or more local content
sources.
17. The media device of claim 9, further comprising a radio/power
manager configured to manage the power of the radio.
18. A system for content delivery, comprising a content source; and
a media device including local storage, a radio, and a media
player, the media device configured to: receive a selection
designating content from the content source, download the
designated content to the local storage at a maximum available
network bandwidth using the radio, stream a downloaded portion of
the designated content from the local storage to the media player,
and deactivate the radio when the designated content is completely
downloaded.
19. The system of claim 18, further comprising a relay server
configured to intercept content from one or more remote content
sources and to process the intercepted content for playing on the
media device.
20. A computer-readable storage medium having embodied thereon a
program being executable by a computer processor to perform a
method for content delivery, the method comprising: receiving a
selection designating content at a content source; downloading the
designated content to local storage of a media device, wherein the
content is downloaded at a maximum available network bandwidth
using a radio at the media device; streaming a downloaded portion
of the designated content from the local storage to a media player
of the media device; and deactivating the radio when the designated
content is completely downloaded
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the priority benefit of U.S.
provisional patent application No. 61/062,797 filed Jan. 28, 2008
and entitled "Systems and Methods for Data Transport," the
disclosure of which is incorporated herein by reference.
[0002] This application is related to 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."
BACKGROUND OF THE INVENTION
[0003] 1. Field of the Invention
[0004] The present invention generally relates to content delivery.
More specifically, the present invention relates to reducing
network and battery consumption during content delivery and
playback.
[0005] 2. Description of Related Art
[0006] Media content (e.g., audio and/or video), may be played
using any variety of media players including, RealPlayer.RTM. from
Real Networks, the QuickTime.RTM./iTunes.RTM. media player from
Apple and the Windows Media Player.RTM. from Microsoft. One or more
media players may be present on any variety of media devices such
as personal computers, laptops, MP3 players and iPods.RTM., and
mobile phones. Most media devices are now portable and allow the
user to play media content regardless of the location of the
user.
[0007] The media content may be provided to a media device from a
variety of content sources. Content sources may include a personal
computer, a media server, a database of content, and various
Internet-based content providers (e.g., the iTunes.RTM. Music
Store, MySpace.RTM., and YouTube.RTM.). The media content is
traditionally delivered from the content source to the media device
via download or streaming.
[0008] Downloading a media file involves the transfer of the media
file from a content source to a recipient device (e.g., the
aforementioned media device). Once downloaded, the media content is
stored locally on the device. While downloading generally allows
for delivery of content quickly (subject to network bandwidth
constraints), there are various problematic issues involved with
downloading content to a media device. For example, a particular
media device may not have sufficient local storage to store a
complete copy of a media file. This may prove particularly
problematic in those instances where users may not be able to play
the media file until it is completely downloaded.
[0009] Streaming of content usually allows the user to play a media
file as it is being delivered to the media device. A streamed file
is delivered to a media device at a rate required for the media
device to play it (e.g., an encoded bit rate). While streaming
generally uses less bandwidth than downloading a file, the rate at
which data is streamed to a device may be much slower than the rate
at which the data could be downloaded. Streamed media, however, may
generally begin playback as soon as large enough cache of data has
been delivered to a memory buffer at the media device as to allow
for uninterrupted playback.
[0010] Streamed media is, however, often inferior in quality with
respect to sampling and bit rate. Further, the `just in time`
delivery approach for streamed media often results in more glitches
and skips when the memory buffer becomes `starved` of data.
Streamed media, too, is usually not permanently or semi-permanently
stored by the media device. Data associated with the streamed media
is often discarded almost immediately after it is initially
rendered by the media player. Thus, if the user wishes to replay a
media file or a portion thereof again (e.g., `seek` or `rewind` the
media), the data must be re-streamed to the media device.
[0011] For portable media devices, especially mobile and smart
phones, downloading and streaming may occur using a wireless radio
embedded in the portable device. While downloading files to
portable media devices may occur at a maximum available bandwidth
of the network just as would occur with a laptop or desktop
computer, the user may still have to wait until an entire media
file is downloaded before being able to commence playback. With
streamed media, the already low quality and lack of smooth playback
may be exacerbated from being `wirelessly` streamed as wireless
network usually encounter more disruptive interference than a
landline network such as DSL or cable.
[0012] Mobile devices with a wireless radio also consume battery
power at an accelerated rate. The wireless radio of a mobile device
is one of the largest-if not the largest-consumer of already
limited battery resources in the device. Many mobile devices will
not last more than 90 minutes to an hour if the radio is in
constant use. Wireless networks, which were already under stress
due to the continued proliferation of mobile devices that now
outnumber `landlines` have been placed under additional strains in
light of the increasing availability of remote access to content.
Downloading and/or streaming of music consumes a large amount of
bandwidth-video is even more bandwidth intensive. When multiplied
by the number of users accessing content and in multiple instances,
many networks are operating at full capacity. There is, therefore,
a need in the art for improved methods and systems of content
delivery that reduce network and battery consumption during
delivery and playback.
SUMMARY OF THE INVENTION
[0013] Exemplary systems and methods of the present invention
provide for content delivery. A user of a media device may wish to
play one or more media content files. The media content files may
be located on the media device in various content sources,
including a personal computing device, a storage device, and
various Internet-based content providers. If a selected media
content file is located on a remote source, that file is downloaded
wirelessly to local storage of the media device at maximum
available network bandwidth. As soon as enough data from the media
file has been downloaded, that data is provided as a stream to a
media player from local storage.
[0014] Various embodiments of the present invention include methods
for content delivery. Such methods may include receiving one or
more user selections of content from local and remote sources,
downloading the content at maximum available network bandwidth
using a radio, storing the downloaded content to local storage,
streaming the stored content to a media player, and deactivating
the radio when the content is completely downloaded. Some
embodiments further provide for generating a playlist, downloading
according to the order of the playlist, and limiting access to the
local storage.
[0015] Embodiments of the present invention further include media
devices for receiving content delivery. Such media devices may
include a user interface, a media broker, a radio, and a media
proxy. Some embodiments may further include a media player, a
playlist generator, a local storage device, a storage/cache
handler, and a radio/power manager.
[0016] Various embodiments of the present invention include systems
for content delivery. Such systems may include one or more content
sources and a media device. Some embodiments may further include a
relay for processing content from the content sources before the
content is downloaded to the media device.
[0017] Embodiments of the present invention include computer media
and instructions for content delivery. Such embodiments may include
computer-readable storage media having a program embodied thereon
that is executable by a computer processor to perform a method for
content delivery.
BRIEF DESCRIPTION OF THE FIGURES
[0018] FIG. 1 is an illustration of an exemplary system for content
delivery.
[0019] FIG. 2 is an illustration of an exemplary media device that
may be used in a content delivery system like that illustrated in
FIG. 1.
[0020] FIG. 3 is a flowchart depicting an exemplary method for
content delivery.
DETAILED DESCRIPTION
[0021] A user of a media device may select one or more media
content files, which may be located on a local storage device or at
one of several remote storage sources. If a selected media content
file is located at a remote source, that file is downloaded to the
media device using maximum available network bandwidth. That data
is then provided in a stream of content to the media player from
local device storage once the content is completely downloaded.
[0022] FIG. 1 is an illustration of an exemplary system for content
delivery 100. A media device 110 may request and receive content
from various remote content sources 130A-C. A relay server 120 may
intercept communication transmission between the media device 110
and the various remote content sources 130A-C. Relay server--and
the system 100 in general--may implement a data transport system
architecture like that described in U.S. provisional patent
application No. 61/062,797, the disclosure of which has previously
been incorporated herein by reference.
[0023] A communications network in which the aforementioned system
100 is implement may generally be understood as a group of
computing devices that may be communicatively connected to one
another. The computing devices in the communications network of
system 100 may be coupled to one another via a variety of
communications channels (e.g., mobile telephone base stations,
wired local area networks, Wi-MAX). In that regard, networks should
be interpreted as being inclusive rather than exclusive.
[0024] Media device 110 may be representative of any variety of
media devices including MP3 players, portable media players,
cellular telephones, smart phones, PDAs, handheld computers, and
laptop/notebook computers that are capable of communicating
wirelessly and/or over the Internet. Media device 110 may include
one or more media player applications (e.g., the iTunes.RTM. media
player), which may be capable of playing various types of
downloaded or streamed media.
[0025] Optional relay server 120 may convey communications (e.g.,
content requests, provided content) between the media device 110
and the various content sources 130A-C. Relay server 120 may be
further configured to intercept and process media content for
playback on the media device 110. Processing may include
reformatting the content or converting the content for playback in
a particular media player application as described in co-pending
U.S. patent application Ser. No. 12/002,300 and entitled "Content
Delivery to a Mobile Device from a Content Service" and filed Dec.
13, 2007, the disclosure of which has previously been incorporated
herein by reference.
[0026] Remote content sources 130A-C may include any remote content
source available to the user. Remote content sources 130A-C may
include a personal computing device or storage device belonging to
or associated with the user or various Internet-based content
providers. For example, a user may store media content on a
personal computing device or a storage device coupled to a network.
While such content may not be immediately available on media device
110, that content (or selections thereof) may be located and
delivered to the media device 110 from the personal computer or
storage device (i.e., content sources 130A-C).
[0027] FIG. 2 is an illustration of an exemplary media device 110
that may be used in a content delivery system like that illustrated
in FIG. 1. The media device 110 may include a user interface 210, a
media player 220, a playlist generator 230, a media proxy 240, a
media broker 250, local storage 260, a storage/cache handler 270,
and a radio/power manager 280.
[0028] User interface 210 may be configured to display a user
environment through which various applications, such as media
player 220, may be accessed and manipulated by the user. User
interface 210 may operate alone or in conjunction with media player
220 and/or playlist generator 230 to provide a display of available
content, playlists, etc. The user may designate one or more
selections of content available locally or over a network from a
remote content source and to view the selections as a playlist in
the display provided by user interface 210.
[0029] Media device 110 may further include one or more media
players 220. Media player 220 may be any application for receiving
and playing media content. Examples of media player 220 may include
the iTunes.RTM. media player from Apple Computer, the Windows Media
Player.RTM. from Microsoft, or RealPlayer.RTM. from RealNetworks.
Media player 220 may receive a user selection via the user
interface 210 and generate a request (e.g., an HTTP request) for
particular content designated by the user selection.
[0030] Media device 110 may further include a playlist generator
230. Playlist generator 230 generates a list of content to be
played on media player 220 based on one or more user selections
concerning content. For example, a user may select a particular
album or a custom playlist. The content included in the album or
custom playlist may be represented in the playlist. Some media
player applications 220 may have a built-in playlist generator
whereas other devices may implement the playlist generator 230 as a
separate application that interacts with the user interface 210
and/or media player 220.
[0031] The media proxy 240 of FIG. 2 provides information
concerning the content available to the user. For example, content
may be located in multiple locations including remote and local
storage. Media proxy 240 may simulate being a source of all such
content regardless of actual content location. Operating in
conjunction with user interface, media proxy 240 may provide the
user with information concerning all the content available to the
user regardless of actual location. Media proxy 240 may further be
configured to respond to user selections indicating the desire for
access to certain content, provide the selections to media broker
250 for location and/or retrieval, and to stream the selected
content to media player 220 following download of said content
[0032] If the user selects content that is not available locally,
that content may be downloaded from one or more the remote content
sources 130A-C. Media proxy 240 may relay the user selections (or
playlist of user selections) to media broker 250, which locates the
content associated with the user selections over a network. Content
determined to be located on a remote content source is downloaded
as quickly as possible to media device 110.
[0033] Operating alone or in conjunction with a radio/power manager
280, media broker 250 aggressively retrieves remotely located
content using maximum available radio bandwidth until the content
is completely downloaded. For example, content may be encoded at a
bit rate of 64 kbps per second but the media broker 250 may
instruct for the content to be retrieved and transmitted at 256
kbps or some other transmission rate in excess of a real-time
playback rate. In this way, the broker 250 and radio/power manager
280 may make use of unused network bandwidth to more rapidly
retrieve the content for storage and playback at the device
110.
[0034] In some embodiments, a predetermined amount of content may
be downloaded at an accelerated rate such that a `cushion` exists
within local storage for playback whereby streaming of the content
will not exceed the available content in the buffer. Once that
predetermined amount of content is achieved, the radio may throttle
back and download content at its normal bit rate. Throttling back
the radio in this embodiment continues to reduce stress on the
network.
[0035] Media broker 250 may retrieve remotely located content based
on the order of the playlist. For example, tracks 2, 3, and 6 of a
playlist may be located on a remote content source. Media broker
250 would, in conjunction with radio/power manager 280, retrieve
track 2 first, then track 3 second, and track 6 last. If a user
wishes to skip to a particular track, however, media broker 250 may
aggressively pull in content based on the updated list. For
example, if the user indicates that the user wishes to play track
6, media broker 250 may immediately begin to retrieve track 6
utilizing the aggressive download techniques described above.
[0036] Media device 110 may include one or more local storage
devices 260. Local storage 260 may include a local hard drive,
random access memory (RAM), flash drive, or removable flash device.
The remotely located content retrieved by media broker 250 may, in
some instances, be stored in local storage 260. The retrieved
content stored in local storage 260 may be accessed by media proxy
240, which effectively streams the content to media player 220
thereby bypassing the download operation described above.
[0037] Media device 110 may further include an optional
storage/cache handler 270 for managing one or more local storage
devices and/or caches. Some media devices 110 may have limited
storage available, so storage/cache handler 270 may determine how
the downloaded content is stored. For example, storage/cache
handler 270 may set aside some RAM for downloaded content, discard
the content after playing, and reusing the same RAM for caching
further downloaded content. Various metrics may be used to maintain
the storage. For example, recently or repeatedly accessed content
may be retained over content that has not been played in some time
or that is played on a less regular basis. The number of playlists
in which particular content appears may also be of relevance with
respect to storage decision making processes.
[0038] Radio/power manager 280 allows for control of the radio and
central processing unit (CPU) of the media device 110. Radio/power
manager 280 allows for transactions to be conducted in a manner
most likely to preserve battery resources at device 110 and network
resources related thereto (e.g., a particular network over which
the device 110 operates). For example, downloading content at a
maximum or accelerated rate in light of available bandwidth allows
for the content to be received faster. This aggressive download, in
turn, allows for the radio to throttle back and/or shut down sooner
thereby preserving battery resources and reducing ongoing stress on
the network. In contrast, streaming content at a lower rate may
require that the radio to operate for a longer period of time. In
some embodiments, radio/power manager 280 may be part of media
broker 250 or a separate component operating in conjunction with
media broker 250. The manager 280 may operate based on certain
instructions provided by the aforementioned broker 250, which may
provide those instructions in light of the content or amount of
content to be retrieved.
[0039] FIG. 3 is a flowchart depicting an exemplary method 300 for
content delivery. Through method 300, a user selection is received,
a playlist generated, content corresponding to the playlist
requested, and the requested content is located. If requested
content is located remotely, the content is downloaded using
maximum available network bandwidth, the downloaded content is
stored or cached once completely downloaded, and the content is
streamed to the media player on the media device.
[0040] In step 310, one or more user selections are received. A
user may request that certain content be played using a media
player (e.g., media player 220) on a media device like media device
110. A user may simply request a particular album or tracks from
that album. Alternatively, media proxy 240 may simulate being the
source of the content and provide menu information for display by
user interface 210, and the user may designate content for playback
from the display.
[0041] In step 320, a playlist is generated by playlist generator
230 based on the one or more user selections. If an album was
selected by the user, the playlist may include all the tracks on
the album listed in order of publication. Alternatively, if the
user selects tracks from multiple albums, a custom playlist may be
generated in which the tracks may be listed in the order designated
by the user.
[0042] In step 330, content designated by the user selections is
requested by the media player (e.g., media player 220). For
example, media player 220 may make an HTTP request for the
designated content. Because media proxy 240 simulates being the
source of content, the requests for content are relayed to media
proxy 240.
[0043] In step 340, the designated content is located by the media
broker 250. There may be multiple sources for the designated
content including local and remote content sources. For example,
media broker 250 may determine the location for each track in an
album. Tracks 1-3 may be located in a local flash drive, tracks 4-7
may be located on the user's PC, and track 8-11 may be available
from an Internet content provider (e.g., iTunes.RTM.).
[0044] In step 350, a determination is made concerning whether
designated content is located on a remote content source. If
designated content is determined to be located remotely, the method
proceeds to step 360. If designated content is determined to be
located locally, the method proceeds to step 380. For a playlist of
multiple tracks, the determination of local or remote location may
be made with respect to each track.
[0045] In step 360, the designated content is downloaded using
maximum available network bandwidth. Media device 110 can
communicate and download content wirelessly using a radio within
the device. The media broker 250 aggressively uses maximum
available bandwidth to download content as quickly as possible.
Radio/power manager 280 may manage the download so that it proceeds
quickly and efficiently. Remotely located content may be downloaded
in order of the playlist. If a user changes the order, the order of
content to be downloaded may change as well.
[0046] In step 370, downloaded content is stored or cached locally.
Depending on the specific media device 110, there may be various
possible local storage devices, such as local storage 260. In some
instances, there may not be enough local storage for all the tracks
in a playlist to persist locally. If so, storage/cache handler 270
may manage content storage so that tracks from the playlist can be
played in order.
[0047] In step 380, content is streamed to the media player 220
from local storage 260. Some content may already be in local
storage 260, while some content may be downloaded from a remote
content source and then stored in local storage 260. Such content
may be accessed by media proxy 240, which provides the content as a
stream to media player 220 in the order of the playlist generated
in step 320.
[0048] While the present invention has been described in connection
with a series of preferred embodiment, these descriptions are not
intended to limit the scope of the invention to the particular
forms set forth herein. To the contrary, the present descriptions
are intended to cover such alternatives, modifications, and
equivalents as may be included within the spirit and scope of the
invention as defined by the appended claims and otherwise
appreciated by one of ordinary skill in the art.
* * * * *