U.S. patent application number 15/358198 was filed with the patent office on 2017-03-16 for media management and tracking.
This patent application is currently assigned to Catch Media, Inc.. The applicant listed for this patent is Catch Media, Inc.. Invention is credited to Boaz Ben-Yaacov, Yaacov Ben-Yaacov, Abraham Lieberman.
Application Number | 20170076334 15/358198 |
Document ID | / |
Family ID | 39492841 |
Filed Date | 2017-03-16 |
United States Patent
Application |
20170076334 |
Kind Code |
A1 |
Ben-Yaacov; Yaacov ; et
al. |
March 16, 2017 |
MEDIA MANAGEMENT AND TRACKING
Abstract
A system for enabling a user to listen to songs on a
network-enabled device, including an embedded receiver for
receiving at least one song list, and for receiving music streamed
over a wireless network, list navigation software, for navigating
the at least one song list and selecting a desired song therefrom,
using a keypad communicatively coupled with the network-enabled
device, an embedded transmitter for transmitting a song selection
to a tracking server, and an embedded audio player, for playing the
music streamed to the network-enabled device over the wireless
network, a tracking server, including a data store including at
least one song list, a receiver for receiving a song selection from
said network-enabled device, the song selection comprising an ID
for a selected song, and a transmitter for transmitting the at
least one song list to the network-enabled device, and for
transmitting the received song selection to a media server, and a
media server, including a data store including audio files for the
songs listed in the song list, an audio streamer, a receiver for
receiving an instruction from said tracking server to transmit the
selected song to the network-enabled device, and a transmitter for
streaming the selected song to the network-enabled device. A method
and a computer-readable storage medium are also described and
claimed
Inventors: |
Ben-Yaacov; Yaacov;
(Douglasville, GA) ; Ben-Yaacov; Boaz;
(Douglasville, GA) ; Lieberman; Abraham; (Modi'in,
IL) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Catch Media, Inc. |
Douglasville |
GA |
US |
|
|
Assignee: |
Catch Media, Inc.
Douglasville
GA
|
Family ID: |
39492841 |
Appl. No.: |
15/358198 |
Filed: |
November 22, 2016 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13282286 |
Oct 26, 2011 |
|
|
|
15358198 |
|
|
|
|
11607163 |
Dec 1, 2006 |
8918195 |
|
|
13282286 |
|
|
|
|
11261687 |
Oct 28, 2005 |
|
|
|
11607163 |
|
|
|
|
10893473 |
Jul 16, 2004 |
8732086 |
|
|
11261687 |
|
|
|
|
10829581 |
Apr 21, 2004 |
8666524 |
|
|
10893473 |
|
|
|
|
10336443 |
Jan 2, 2003 |
7191193 |
|
|
10829581 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06F 16/40 20190101;
G06F 21/10 20130101; G06Q 30/0267 20130101; G06Q 30/02 20130101;
G06F 16/64 20190101; G06Q 30/0241 20130101; G06F 16/639 20190101;
G06F 16/68 20190101 |
International
Class: |
G06Q 30/02 20060101
G06Q030/02; G06F 21/10 20060101 G06F021/10; G06F 17/30 20060101
G06F017/30 |
Claims
1. An advertising method comprising: playing an audio advertisement
on a portable media player; and presenting an image or text on a
screen of said portable media player during said playing.
2. A method according to claim 1, comprising: including meta-data
in the audio advertisement to specify said image or text.
3. A method for deploying advertisements within portable media
players, comprising: transmitting a plurality of audio
advertisements, each advertisement comprising meta-data specifying
image or text to display during the audio advertisement, and a
plurality of playback rules, to a plurality of portable media
players; periodically evaluating at least one of said plurality of
playback rules and deriving a schedule for playback of
advertisements based on the at least one playback rule, in each of
said plurality of portable media players; and playing at least one
advertisement according to said schedule, in each of the plurality
of portable media players and presenting said image or text on a
screen of said portable media player during said playing.
4. A method according to claim 3, wherein at least one of said
plurality of playback rules associates an advertisement with a song
stored in a portable media player from among said plurality of
portable media players.
5. A method according to claim 3, wherein at least one of said
plurality of playback rules defines an expiration event for an
advertisement.
6. A method according to claim 3, wherein at least one of said
plurality of playback rules assigns frequencies of playback to an
advertisement.
7. A method according to claim 3, wherein at least one of said
plurality of playback rules includes priorities, and wherein said
periodically evaluating uses the priorities to discriminate which
of a plurality of playback rules to use when the plurality of
playback rules are simultaneously satisfied.
8. A method according to claim 3, comprising: determining if there
is an advertisement to be played prior to playing a song on each of
said plurality of portable media players.
9. A method according to claim 3, wherein the playback rules in
each of the plurality of portable media players comprise
instructions to play one or more ads under one or more of the
following conditions: the portable media player has played media
items over a specified time period with a frequency that exceeds a
specified threshold; and the portable media player has played media
items of a specified genre over a specified time period with a
frequency that exceeds a specified threshold.
10. A system for deploying advertisements on portable media
players, comprising: a plurality of portable media players, each
portable media player being associated with a specific advertising
campaign from among a plurality of advertising campaigns; an
advertising server at least periodically in communication with each
of said plurality of portable media players, comprising: a database
of information pertaining to advertising campaigns including audio
advertisements comprising meta-data specifying image or text to
display during a specific audio advertisement, and playback rules
therefor, each audio advertisement and each playback rule being
associated with a specific advertising campaign; an ad provisioner
adapted to transfer audio advertisements and playback rules to each
of said portable media players in accord with said specific
campaign assigned to the specific player during said periodic
communication.
11. A system according to claim 10, wherein said advertising server
further comprises a tracking interface which generates tracking
information about deployment of ads in portable media players
associated with each of said plurality of advertising
campaigns.
12. A system according to claim 11, wherein each portable media
player further comprises a tracking engine for maintaining a
history of ads played, and for periodically uploading the history
to said advertising server and clearing the history thereafter.
13. A system according to claim 10, wherein at least one playback
rule associates an advertisement with a song stored in said
portable media player.
14. A system according to claim 10, wherein at least one playback
rule is an expiration event for an advertisement.
15. A system according to claim 10, wherein at least one playback
rule assigns frequencies of playback to a plurality of
advertisements.
16. A system according to claim 10, wherein playback rules comprise
priorities, the priorities being used to discriminate which of a
plurality of playback rules to use when the conditions of the
plurality of playback rules are simultaneously satisfied.
17. A system according to claim 10, wherein the playback rules
comprise instructions for a portable media player to play one or
more ads under one or more of the following conditions: the
portable media player has played media items over a specified time
period with a frequency that exceeds a specified threshold; and the
portable media player has played media items of a specified genre
over a specified time period with a frequency that exceeds a
specified threshold.
Description
CROSS REFERENCES TO RELATED APPLICATIONS
[0001] This application is a continuation of assignee's application
U.S. Ser. No. 13/282,286 filed on Oct. 26, 2011 and currently
pending which is a divisional of application U.S. Ser. No.
11/607,163 filed on Dec. 1, 2006 and granted as U.S. Pat. No.
8,918,195; which was a continuation in part of Ser. No. 11/261,687,
filed on Oct. 28, 2005, entitled "Method and System for Tracking
and Managing Rights for Digital Music," and currently pending,
which is a continuation-in-part of assignee's application U.S. Ser.
No. 10/893,473, filed on Jul. 16, 2004, and granted as U.S. Pat.
No. 8,732,086," which is a continuation-in-part of assignee's
application U.S. Ser. No. 10/829,581, filed on Apr. 21, 2004, and
granted as U.S. Pat. No. 8,666,524," which is a
continuation-in-part of assignee's application U.S. Ser. No.
10/336,443, filed on Jan. 2, 2003, and granted as U.S. Pat. No.
7,191,193; each of which is fully incorporated herein by
reference.
FIELD OF THE INVENTION
[0002] The present invention relates to rights management for use
and transfer of digital music recordings.
BACKGROUND OF THE INVENTION
[0003] Consumers are generally aware to some extent of copyright
laws concerning digital recordings, but there are no automatic
features in place to assist consumers in abiding with them. For
example, a consumer who purchases a song on a CD, or through a
subscription with an Internet music sharing service such as
Napster, generally does not know if he is permitted to make
personal copies of the song for himself, on one or more of his
computers, or on one or more CDs, or on one or more MP3
players.
[0004] Digital rights management (DRM) technology addresses this
concern by encapsulating songs within a DRM wrapper. The DRM
wrapper, which is generally encrypted, specifies whether or not a
specific device has the necessary rights to play a specific song.
Hardware or software within the player then enables or disables
playing of the song accordingly. Generally, DRM systems only enable
playing of a song on a device if the owner of the device has
purchased a license for the song. If the owner of the device has
not purchased a license for the song and wishes to do so, and if
the device is connected via a computer network to a licensing
authority, referred to as a "clearing house," then the owner may
purchase a license from the clearing house, in which case the DRM
wrapper is updated so as to reflect current ownership.
[0005] A disconnected device, however, generally cannot purchase
such a license unless the disconnected device connects with a
connected device that can access a clearing house. As such, the
disconnected device cannot play a song that is not licensed by the
owner of the device, when the owner is not located at a point of
connection.
[0006] For marketing purposes, it would be beneficial if
disconnected devices could play trial versions of songs that are
not licensed by the device owners, and if such trial versions could
be copied as trial versions from one disconnected device to
another. The owners of the disconnected devices could then listen
to the trial versions of the songs and afterwards, if they wish to
purchase licenses to the songs, could do so by connecting their
disconnected devices to a connected device, at their convenience,
and purchasing licenses from a clearing house.
[0007] It would thus be beneficial if a merchandising system was in
place to manage digital rights for songs that are obtained as trial
versions, copied from device to device, and subsequently converted
to fully licensed versions.
[0008] It would also be beneficial to track the history of license
purchases within such a merchandising system, as trial versions of
songs are copied from device to device through a sharing chain of
friends, some of whom eventually purchase licenses to the trial
versions. In particular, tracking of licensing history would enable
a profit-sharing arrangement whereby a portion of the payment paid
by a person along the sharing chain is allotted to the original
clearing house or vendor from which a song was licensed.
[0009] Additionally, it would be beneficial for an owner of digital
music to be able to listen to his music on networked devices that
do not store digital copies of the music itself. Such benefit would
enable the owner to access his music while away from his home,
essentially anywhere. The owner could then listen to his music on
cell phones, networked portable media players and public access
devices such as media center devices in hotel rooms, whether or not
such devices belong to the owner.
SUMMARY OF THE DESCRIPTION
[0010] The present invention concerns a configurable method and
system for managing copyright privileges when a digital work is
copied or streamed from one device to another, and for allowing the
owner of a digital work to enjoy the work on a plurality of
devices, inside the owner's home and outside, whether or not the
devices belong to the owner. The present invention applies to many
forms of digital copyright works, including inter alia songs,
movies and pictures. The ensuing description refers primarily to
digital songs, for the sake of clarity.
[0011] In a general setting, digital songs are (i) acquired from
external sources, including inter alia Internet music services such
as iTunes.RTM. and Napster.RTM., CDs and other recording media,
music kiosks and broadcast music stations such as cable and
satellite stations; and thereafter (ii) copied between digital
audio recorders and digital audio players. Transfer of songs may be
likened in some respects to a virtual water distribution system
with nodes and conduits, wherein the nodes store water and the
conduits transmit water from one node to another. External nodes
represent music sources such as record stores, kiosks and Internet
music services; and internal nodes represent audio recorders and
players.
[0012] Within this paradigm of water distribution, digital rights
management concerns controlling valves that restrict the flow of
water within the pipes, and controlling access to the water in the
nodes.
[0013] In a preferred embodiment of the present invention, [0014]
digital audio devices may be registered with one another; and
[0015] songs stored within recorders and players are labeled as
being "Purchased," "Recorded" or "Try & Buy."
[0016] Preferably, digital audio players are registered with either
zero or one digital audio recorder. In other words, a digital
player cannot be registered with more than one recorder, but one
digital recorder can have multiple digital players registered
therewith.
[0017] Preferably, the label of a song is used to identify
copyrights associated therewith. The Try & Buy label is used
for promotional or trial versions of songs, which generally include
an expiration event, upon occurrence of which the song
"evaporates"; i.e., can no longer be played in its entirety. For
example, a listener may be enabled to play a Try & Buy song for
a limited number of times, or for a limited time span. After the
song has expired, it cannot be played further. However, the
listener can generally purchase the song through an appropriate
device, including inter alia a kiosk, a cellular phone, or a PC
computer connected to the Internet.
[0018] In a preferred embodiment of the present invention,
copyright management is achieved by (i) restricting a song from
being copied from a source device to a target device; and (ii)
specifying the way a song is labeled within a target device when
the song is copied from a source device to the target device--based
on the source device, the target device, the label of the song in
the source device, and based on whether or not the source and
target device are commonly registered.
[0019] Further, in an alternate embodiment of the present
invention, copyright management may restrict the number of copies
permitted to be made for a song resident on a source device. For
example, when a recorder is used to copy songs to a plurality of
players, up to three copies of a song may be permitted.
[0020] Thus it may be appreciated that the present invention
enables audio device manufacturers to configure a flexible logic
for digital rights management in accordance with legal requirements
in their respective locales. Various such configurations are
described in the detailed description hereinbelow.
[0021] The present invention may be implemented in conjunction with
third-party digital rights management systems, in order to comply
with third-party DRM rules and in order to ensure backward
compatibility with third-party players. As such, the present
invention provides an enhancement to conventional DRM systems,
within conventional architectures.
[0022] The present invention may also be used advantageously for
tracking usage and merchandising. Specifically, a first user
purchases a license to a digital work. Subsequently the digital
work is copied from device to device along a sharing chain of
friends, one friend sharing with the next friend. The shared copies
are Try & Buy copies, which can only be accessed in limited
ways. Some or all of the friends along the chain may eventually
purchase their copy of the digital work, converting it from a Try
& Buy copy to an owned copy. Using the present invention, when
such a friend purchases a license to convert a shared Try & Buy
copy of the digital work into an owned copy, information as to the
original source of purchase as well as the friend's usage is
tracked. This information can be used inter alia to allot a portion
of the payment received from the friend to the original source of
purchase, and to aggregate usage and purchase statistics.
[0023] In distinction from the present invention, prior art digital
rights managers do not include the feature of adapting labels from
source label to target label when a song is copied from a source
device to a target device. One such prior art digital rights
manager is Microsoft Corporation's Windows Media Rights Manager,
which implements digital rights by encrypting audio files using
keys, and packaging the files with key IDs. In order to play the
audio files, a user obtains a license, which contains a key to
decrypt the file.
[0024] Another such prior art digital rights manager is Apple
Corporation's iTunes rights manager, which registers iPod music
players with computers, so that an iPod cannot download an MP3 song
from a computer that it is not registered with.
[0025] The present invention may be used for enabling a mobile user
who is away from home to access and navigate playlists of songs
stored on his home PC or other home media device, using his
cellular telephone, and to select songs for listening. The selected
songs are then streamed to an embedded player in the user's
cellular telephone upon demand, from one or more media servers.
[0026] The present invention may also be used for programmed
advertising. As part of an advertising campaign, a sponsor
distributes free portable media players, or free songs, to a
targeted set of users. In addition, audio files for advertisements
are also distributed to the users' media players as part of the
campaign, and programmed for automatic playback when conditions
specified by the sponsor are satisfied for the players. The present
invention provides a flexible interface for distributing songs to
specific players, and for associating one or more programmed
advertisements with individual songs, with groups of songs, or with
specific players.
[0027] There is thus provided in accordance with an embodiment of
the present invention a system for enabling a user to listen to
songs on a network-enabled device, including a network-enabled
device, including an embedded receiver for receiving at least one
song list, and for receiving music streamed over a wireless
network, list navigation software, for navigating the at least one
song list and selecting a desired song therefrom, using a keypad
communicatively coupled with the network-enabled device, an
embedded transmitter for transmitting a song selection to a
tracking server, and an embedded audio player, for playing the
music streamed to the network-enabled device over the wireless
network, a tracking server, including a data store including at
least one song list, a receiver for receiving a song selection from
said network-enabled device, the song selection comprising an ID
for a selected song, and a transmitter for transmitting the at
least one song list to the network-enabled device, and for
transmitting the received song selection to a media server, and a
media server, including a data store including audio files for the
songs listed in the song list, an audio streamer, a receiver for
receiving an instruction from said tracking server to transmit the
selected song to the network-enabled device, and a transmitter for
streaming the selected song to the network-enabled device.
[0028] There is further provided in accordance with an embodiment
of the present invention a method for a network-enabled device to
play songs, including transmitting a play request from a
network-enabled device to a tracking server, receiving at least one
song list from the tracking server, providing a user interface that
enables a user to navigate the at least one song list and to select
a desired song, using a keypad communicatively coupled with the
network-enabled device, transmitting an ID of the selected song to
the tracking server, receiving streamed audio data for the selected
song from a media server, and playing the streamed audio data on an
audio player embedded in the network-enabled device.
[0029] There is yet further provided in accordance with an
embodiment of the present invention a method for a tracking server
to cause music to be streamed to a network-enabled device,
including receiving a play request from a network-enabled device,
sending at least one song list to the network-enabled device, in
response to the received play request, receiving a selection
request from the network-enabled device with an ID for a selected
song, and sending an instruction to a media server to stream the
selected song to the network-enabled device.
[0030] There is moreover provided in accordance with an embodiment
of the present invention a system for enabling a user to listen to
songs on a network-enabled device, including a network-enabled
device, including an embedded receiver for receiving music streamed
over a wireless network, list navigation software, for navigating
at least one song list and selecting a desired song therefrom,
using a keypad communicatively coupled with the network-enabled
device, an embedded transmitter for transmitting the song selection
to a tracking server, and an embedded audio player, for playing the
music streamed to the network-enabled device over the wireless
network, a tracking server, including a receiver for receiving a
song selection from the network-enabled device, the song selection
comprising an ID for a selected song, and a transmitter for
transmitting the received song selection to a media server, and a
media server, including a data store including audio files for the
songs listed in the song list, an audio streamer, a receiver for
receiving an instruction from said tracking server to transmit the
selected song to the network-enabled device, and a transmitter for
streaming the selected song to the network-enabled device.
[0031] There is additionally provided in accordance with an
embodiment of the present invention a method for a network-enabled
device to play songs, including providing a user interface that
enables a user to navigate at least one song list and to select a
desired song, using a keypad communicatively coupled with a
network-enabled device, transmitting an ID of the selected song to
a tracking server, receiving streamed audio data for the selected
song from a media server, and playing the streamed audio data on an
audio player embedded in the network-enabled device.
[0032] There is further provided in accordance with an embodiment
of the present invention a method for a tracking server to cause
music to be streamed to a network-enabled device, including
receiving a selection request from a network-enabled device with an
ID for a selected song, and sending an instruction to a media
server to stream the selected song to the network-enabled
device.
[0033] There is yet further provided in accordance with an
embodiment of the present invention a system for deploying
advertisements on portable music players, including a portable
music player, including a database of audio advertisements and
playback rules therefor, wherein playback rules are used to govern
when to play advertisements, an ad updater for periodically
receiving advertisements and playback rules, and an ad scheduler
for scheduling playback of advertisements in accordance with their
playback rules, a host device that is periodically communicatively
coupled with the portable music player, including a database of
audio advertisements and playback rules therefore, an ad
provisioner for transferring ads and playback rules to the portable
music player, when the portable music player is communicatively
coupled with the host device, an ad updater for receiving
advertisements and playback rules from time to time, and an
advertising server that is communicatively coupled with the host
device, including a database of information about advertisers and
their advertising campaigns, and for storing audio advertisements,
distribution rules therefor and playback rules therefore, an ad
provisioner for transferring ads and playback rules to the host
device, and a web interface for receiving advertisements and
playback rules for an advertising campaign, from an advertiser's
computer.
[0034] There is moreover provided in accordance with an embodiment
of the present invention a portable music player, including a
database of audio advertisements and playback rules therefor,
wherein the playback rules are used to govern when to play the
advertisements, and wherein each one of the playback rules includes
a condition and an advertisement, or a condition and a plurality of
advertisements, an ad updater for receiving advertisements and
playback rules related to an advertising campaign, an ad scheduler
for periodically evaluating the playback rule conditions, and for
scheduling playback of the advertisements in accordance with the
playback rules, and a tracking engine for maintaining a history of
advertisements played, and for periodically uploading the history
to a server computer and clearing the history thereafter.
[0035] There is additionally provided in accordance with an
embodiment of the present invention a method for deploying
advertisements within portable music players, including uploading a
plurality of audio advertisements and a plurality of playback rules
to a server computer, the plurality of advertisements and the
plurality of playback rules being designated for deployment in a
plurality of portable music players, wherein playback rules are
used to govern when to play advertisements, transmitting the
plurality of advertisements and the plurality of playback rules to
a host device into which at least one of the plurality of portable
music players is periodically docked, transmitting at least one
advertisement and at least one playback rule from the host device
to each of at least one portable music players, when such portable
music player is docked in the host device, periodically evaluating
at least one playback rule, in each of the plurality of portable
music players, and playing at least one advertisement according to
the periodically evaluating, in each of the plurality of portable
music players.
BRIEF DESCRIPTION OF THE DRAWINGS
[0036] The present invention will be more fully understood and
appreciated from the following detailed description, taken in
conjunction with the drawings in which:
[0037] FIG. 1 is a front view of a digital archive, referred to as
a "Nest," in accordance with an embodiment of the present
invention;
[0038] FIG. 2 is a side view of a music player, referred to as an
"Egg", in accordance with an embodiment of the present
invention;
[0039] FIG. 3 is a bottom view of the music player of FIG. 2, in
accordance with an embodiment of the present invention;
[0040] FIG. 4 is an illustration of a user interface for copying
songs from the digital archive of FIG. 1 into the music player of
FIG. 2, in accordance with an embodiment of the present
invention;
[0041] FIG. 5 is a simplified block diagram of a tracking system
used to stream a customer's music to the customer's cell phone, in
accordance with an embodiment of the present invention;
[0042] FIG. 6 is a simplified flowchart of a method for streaming a
customer's music to the customer's cell phone, in accordance with
an embodiment of the present invention;
[0043] FIG. 7 is a simplified flowchart of a method for
"checking-out" songs from the digital archive of FIG. 1 to the
music player of FIG. 2, in accordance with an embodiment of the
present invention;
[0044] FIG. 8 is a simplified flowchart of a method for
"checking-in" songs from the music player of FIG. 2 to the digital
archive of FIG. 1, in accordance with an embodiment of the present
invention;
[0045] FIG. 9 is a simplified flowchart of a method for tracking
the number of times the same song is broadcast while the digital
archive of FIG. 1 is recording music, in accordance with an
embodiment of the present invention;
[0046] FIG. 10 is a simplified block diagram of a digital rights
management system, in accordance with an embodiment of the present
invention;
[0047] FIG. 11 is a simplified flow chart for a digital rights
management method, in accordance with an embodiment of the present
invention;
[0048] FIGS. 12A and 12B are simplified illustrations of a first
consumer use case of acquiring a song in accordance with an
embodiment of the present invention;
[0049] FIGS. 13A and 13B are simplified illustrations of a second
consumer use case of acquiring a song in accordance with an
embodiment of the present invention;
[0050] FIGS. 14A, 14B and 14C are simplified illustrations of a
third consumer use case of acquiring a song in accordance with an
embodiment of the present invention;
[0051] FIG. 15 is a simplified illustration of a workflow for
implementing digital rights management in conjunction with a
third-party DRM system, in accordance with an embodiment of the
present invention;
[0052] FIG. 16 is a simplified workflow for usage and merchandising
tracking in accordance with an embodiment of the present
invention;
[0053] FIG. 17, which is a simplified block diagram of a system for
deployment of advertisements in customer Egg players, in accordance
with an embodiment of the present invention; and
[0054] FIG. 18 is a simplified flowchart of a method for scheduling
advertisements according to evaluation of playback rules, in
accordance with an embodiment of the present invention.
[0055] The following definitions are employed throughout the
specification. [0056] EGG--a small portable digital music player,
such as the player illustrated in FIGS. 2 and 3; an Egg is
generally registered with a Nest. [0057] NEST--a host device
connected to a cable or satellite or Internet network, and
including a library of digital songs that can be copied to Eggs,
such as the host device illustrated in FIG. 1. [0058] TRY &
BUY--a limited right to play a song that is not owned until an
expiration occurs, at which time the song may be purchased for
ownership.
DETAILED DESCRIPTION
[0059] Digital music players are proliferating as standalone
consumer electronic devices, such as MP3 players, as bundled
components within portable devices such as personal data assistants
(PDAs) and cell-phones, and as home network appliances. Listeners
typically build up their own personal libraries of digital songs,
which are stored on memory units such as hard disk drives and
removable memory cards. Digital songs are typically acquired
through the Internet via subscription services and a la carte
purchases, via peer-to-peer exchanges, or by converting songs from
a compact disc (CD) and importing them into an MP3 library.
Acquiring digital music files may infringe copyrights, unless the
files are validly obtained through a service that pays royalties to
the copyright holders.
[0060] Digital songs typically include audio data and auxiliary
data, referred to as meta-data, used to index the songs within the
listener's library. For example, within MP3 files meta-data is
accessed through an ID3Tag; WMA files embed meta-data within the
files, and both file types can embed meta-data within the filenames
themselves. By indexing the songs, a listener can inspect his
library, search his library to access individual songs therein,
remove songs, and create playlists. Typically audio players provide
a user interface through which users view meta-data.
[0061] Barring copyright issues, building up a digital music
library requires a lot of time and work. Typically, a listener
first searches the Internet for one or more songs of interest, then
identifies locations of the songs, and then downloads them into a
database associated with a media player. Songs are typically stored
as digital files, formatted in compliance with a standard format,
such as MP3 or WMA. Once the songs are downloaded, the listener
typically uses software such as Windows Media Player or Winamp to
play the songs on a computer, or alternatively he copies the songs
onto a hardware device, such as an iPod.TM. or MP3 player, that
plays the songs.
[0062] A shortcoming in the world of digital music is the great
effort required to build custom music libraries at home. Often
individuals spend nights on end downloading their favorite songs
and building their own personal music libraries. An alternative is
to purchase libraries that have been prepared by others, but often
someone else's library does not match another listener's taste and
the listener prefers to collect his own favorite songs.
[0063] A popular source for a listener to hear his favorite songs
is on music stations. Cable, satellite broadcast and the Internet
provide music channels for almost every genre of music--classical
music, rock and roll, jazz, music of the 80's, etc. A listener can
enjoy music according to his taste by subscribing to such broadcast
services.
[0064] The present invention enables a listener to automatically
copy and import songs that are broadcast from a music station into
his digital music library, along with the songs' meta-data required
for indexing his library. Using the present invention a listener,
with practically no effort, can automatically build up a large
digital music library with tens of thousands of his choice of
songs, all properly indexed for search and retrieval. Moreover, an
additional feature of the present invention enables the listener to
select which songs from among those broadcast on the music stations
are to be imported into his library, based on one or more of
criteria including inter alia genre, song title, artist, album and
length of song.
[0065] Copying songs that are broadcast from a music station is
akin to copying television programs onto a VCR. Copyright law
permits a consumer to copy television programs broadcast to his
home onto his VCR. The technology for automatically copying songs,
however, is more complex since raw audio recording from a music
station does not provide the meta-data necessary to identify such
songs and incorporate them into a digital music library. Moreover,
each song has to be separated out from other songs, since songs are
played sequentially with overlapping on the music station,
generally without breaks in between.
[0066] The present invention concerns a method and system for
automatically building digital music libraries, from music channels
broadcast through cable and satellite stations. In an embodiment of
the present invention, broadcast songs are recorded into a digital
music library, along with meta-data necessary for indexing and
accessing each individual song, and for display while the songs are
being played. Using the present invention, the digital music
library generated from the broadcast music serves as a large
library of individual songs, with full search and access
capability.
[0067] The present invention provides a system that enables a
listener to automatically digitally record broadcast songs into a
digital music library, and automatically index each recorded song
according to genre, song title, artist and album title, as
described hereinbelow. Additionally, the present invention enables
the listener to filter songs to be automatically recorded, by
specifying inter alia a genre, song tile or artist, instead of
recording all of the broadcast songs. The listener need not be
present while the system of the present invention is in operation.
It may thus be appreciated that the present invention enables
automatic generation of large libraries of songs.
[0068] Embodiments of the present invention use a programmable
device, referred to herein as a "Nest," that can interface with
computers, with MP3 players and other digital music players, and
with other electronic devices that include MP3 players or other
digital music players therewithin, including inter alia cell
phones, PDAs, home network appliances and Internet appliances. In a
first embodiment, the Nest is coupled to a satellite/cable
receiver; in a second embodiment, the Nest is coupled to a
television; in a third embodiment, the Nest is coupled to various
external components via a USB and a Firewire connection.
[0069] In all embodiments, the memory storing the digital music
library can be either a large hard disk situated within the Nest
itself, or one or more smaller removable memory units such as
compact disks and memory cards, or a combination of hard disk and
removable memory. The advantage of a large hard disk is that the
listener's music library is consolidated into a single library that
can be searched and accessed in its entirety. The advantage of
removable memory units, such as compact disks, is that the listener
can insert the disks into portable players such as MP3 players.
Assuming that 40 songs on average require 128 MB of data and
include one and a half hour's worth of listening, a large 80 GB
hard disk can hold a library of approximately 25,600 songs; and a
640 MB compact disk can hold approximately 200 songs, or about 71/2
hours worth of listening.
[0070] Reference is now made to FIG. 1, which is a front view of a
Nest 100, in accordance with an embodiment of the present
invention. Nest 100 is shown with its front panel open. On the left
side of the front panel are female left and right analog audio-in
connectors 110 and 120, and female analog video-in connector 130,
preferably used for connecting auxiliary audio and video devices,
such as a CD player, in order to add content into the Nest. On the
right side of the front panel are female USB sockets 140 and 150,
preferably used for connecting foreign MP3 players to the Nest; a
female Ethernet connector 160, preferably for connecting the Nest
to a computer network; and a mini-jack socket 170, preferably used
to provide analog stereo audio-out for headphones.
[0071] In a preferred embodiment of the present invention, a Nest
includes one or more exchange ports 180, also referred to herein as
"cradles," through which one or more hand-held digital music
players, referred to herein as "Eggs," can be connected to the
Nest, for loading songs from a digital music library stored on the
Nest thereto. Such exchange ports may be circular or oval ports
into which Eggs are inserted. Thus it may be appreciated that Eggs
may be "charged up" with songs while they are plugged into the
cradles of the Nest.
[0072] Reference is now made to FIG. 2, which is a side view of an
Egg 200, in accordance with an embodiment of the present invention.
Egg 200 is shown with a panel 210 that displays meta-data for a
song currently being played. As can be seen in FIG. 2, the
meta-data includes a title ("Blowing in the Wind"), an author ("Bob
Dylan") and an album ("Bob Dylan's Greatest Hits").
[0073] Reference is now made to FIG. 3, which is a bottom view of
the Egg 200 of FIG. 2, in accordance with an embodiment of the
present invention. The bottom of the Egg includes a female
audio/video connector 310, preferably for transferring analog audio
and analog video between the Egg and a Nest; and a female USB
connector 320, preferably for transferring digital data between the
Egg and a Nest, between the Egg and a "filling station" kiosk, and
between the Egg and another Egg. Corresponding to connectors 310
and 320, the cradles of the Nest contain male analog audio/video
connectors and male USB connectors (not shown in FIG. 1).
[0074] A typical usage scenario for a Nest and Egg is as follows. A
listener sets his cable or satellite receiver box to a specific
music channel, preferably from a commercial-free radio station,
such as The Music Choice.RTM., and activates the Nest to capture
songs from the music channel. The Nest automatically creates a
digital music library and imports the broadcast songs therein.
Thereafter, the listener plugs an Egg into a cradle of the Nest,
and downloads selected songs from the music library onto the Egg.
If the Nest is connected to the listener's speaker system, then the
listener may also pipe music from the Nest into speakers in various
rooms. If the Nest is connected to a home network, the listener may
stream audio to a computer that is authorized to work with the
Nest.
[0075] Preferably, in addition to a Nest being able to download
songs to the Egg when the Egg is connected to the Nest, the Nest is
also able to remove songs stored in the Egg. Thus, if the Egg
storage is full, the Nest can remove songs from the Egg, in order
for the Egg to download a new set of songs.
[0076] It may be appreciated that Eggs of the present invention may
receive digital music from other sources, in addition to the Nest.
Thus the Eggs may be compatible with kiosks, such as music kiosks
located in music distribution stores, used for listening to songs
prior to purchase and for subsequent purchase. Preferably, when an
Egg is connected to a Nest, the digital music received from other
devices and stored within the Egg can be archived on the Nest.
[0077] It may further be appreciated that an Egg may receive
control commands through its USB connector. Specifically, [0078]
when connected to a Nest, the Nest may issue control commands to
the Egg, such as a command to advance to the next song; and [0079]
when connected to a docking station, such as a docking station for
the Egg in a room of a house, the docking station may receive infra
red commands issued by a user, and translate them into control
commands to the Egg over the USB connector.
[0080] Reference is now made to FIG. 4, which is an illustration of
a graphical user interface (GUI) for copying songs from the Nest of
FIG. 1 into the Egg of FIG. 2, in accordance with an embodiment of
the present invention. The GUI shown in FIG. 4 is preferably
displayed on a television or other display device connected to the
Nest, and interacted with through use of a remote control device,
such as an infra-red control unit. As such, the GUI of FIG. 4 is
intended for navigation with simple directional buttons and a
select button.
[0081] The GUI shown in FIG. 4 is used to organize a digital music
library and create playlists; i.e., sequences of songs for playing
from the Nest, or for copying to an Egg for playback from the
Egg.
[0082] The present invention enables a customer to listen to music
on his Nest, from sources other than the Nest itself, including
inter alia the Nest's associated Eggs, and the customer's cell
phone that has an embedded audio player. In this regard, reference
is now made to FIG. 5, which is a simplified block diagram of a
tracking system used to stream a customer's music to the customer's
cell phone, in accordance with an embodiment of the present
invention. Shown in FIG. 5 is a customer PC, 510, which includes a
library of the customer's music files, and meta-data describing the
music files and the customer's playlists. The customer uses the
present invention to register his PC 510 and his cell phone, 520,
with a media tracking server 530. Cell phone 520 includes an
embedded digital audio player 523, through which the customer can
listen to music. Specifically, PC 510 transmits customer
information to media tracking server 530, including inter alia (i)
customer name, (ii) customer cell phone 520 handset type, cell
provider and phone number, and (iii) PC 510 ID. Additionally, a
customer may register his entire household, and submit a household
name along multiple customer names, cell phones and PC IDs.
[0083] Access software 515 installed on PC 510 then scans PC 510 to
generate a list of IDs of songs resident on PC 510. Access software
515 also scans PC 510 for player databases, such as iTunes
databases, Windows Media Player databases, Napster databases and
other such player databases. Access software 515 also scans PC 510
for podcasts that the customer subscribes to and Internet radio
station preferences. With each song ID, access software 515 also
generates a song status, including inter alia digital rights
management data for the song, and time constraints for the
song.
[0084] Access software 515 identifies those of the customer's songs
that are eligible for tracking, and verifies that the digital
rights managed songs have valid licenses. For a song that access
software 515 does not recognize, access software sends a snippet of
the song to a song database, such as a Gracenote database, which
identifies the song from its snippet.
[0085] Access software 515 transmits the customer's song
information to media tracking server 530, which registers the
customer, the customer's cell phone, and the customer's song
information in its data store. Access software 515 may additionally
transmit the songs themselves to media tracking server 530. In such
case, media tracking server 530 maintains a copy of the user's
songs, or further transmits the songs to media streaming server
550, or both. Media tracking server 530 or media steaming server
550, or both, thus act as a remote backup of the user's songs.
[0086] Also shown in FIG. 5 is a media streaming server 550, which
contains a large database archive of audio files, including audio
files for the songs referenced in media tracking server 530.
[0087] Subsequent to registration, the customer can use navigation
software 527 on his cell phone 520 to access his songs.
Specifically, the customer issues a play request from cell phone
520, which is transmitted to a cell tower 540.
[0088] Cell tower 540 is used in FIG. 5 to represent both a cell
tower and a carrier back end. Generally a cell tower forwards
requests it receives to a cell carrier backend, and the carrier
back end forwards them on. More generally, cell tower 520 and cell
tower 540 may operate with any wireless network, including inter
alia cellular networks and wi-max networks.
[0089] Cell tower 540 forwards the request to media tracking server
530, which validates the customer's account, using an account
validator 533. If the customer's account is validated, media
tracking server 530 returns meta-data describing the customer's
song collections and playlists to cell tower 540. Specifically,
media tracking server 530 returns inter alia ID's of the customer's
songs, each song with corresponding meta-data including name,
album, artist and genre; and the customer's playlists, each
playlist with corresponding meta-data including names and song
IDs.
[0090] Cell tower 540 forwards the meta-data to cell phone software
527, which enables the customer to use the keypad of his cell phone
to navigate his collections of songs and playlists, and to select a
desired song for listening. An ID for the song selected by the
customer is sent from cell phone 520 to cell tower 540, and
forwarded to media tracking server 530. Media tracking server 530
verifies that the customer's digital rights management license for
the selected song is currently valid, using a song DRM license
validator 537. If the license for the selected song is currently
valid, then media tracking server 530 sends an instruction to media
streaming server 550 designating the song to be streamed and the
cell phone destination.
[0091] In response, media streaming server 550 streams the song to
cell tower 540, which in turn forwards the song to cell phone audio
player 523 for the customer's listening enjoyment. If a remote
backup of the user's songs is maintained on media tracking server
530, as described hereinabove, then the remote backup copy of the
user's selected song is streamed from media tracking server 530 to
cell tower 540, which in turn forwards the song to call phone audio
player 523.
[0092] Media tracking server 530 logs tracking information
indicating that the designated customer is listening to the
designated song, within a tracking history. Music streams may be
cached on the customer's cell phone 520, as appropriate, for
subsequent access.
[0093] Reference is now made to FIG. 6, which is a simplified
flowchart of a method for streaming a customer's music to the
customer's cell phone, in accordance with an embodiment of the
present invention. The flowchart of FIG. 6 is divided into five
columns. The first column on the left indicates steps performed by
a customer's personal computer, such as PC 510 (FIG. 5) running
access software 550. The second column indicates steps performed by
the customer's cell phone, such as cell phone 520 that includes an
embedded audio player 523 and play software 560. The third column
indicates steps performed by a cell tower and a carrier backend,
such as cell tower and carrier backend 540. The fourth column
indicates steps performed by a tracking server, such as media
tracking server 530. The fifth column indicates steps performed by
a media server, such as media streaming server 580.
[0094] FIG. 6 includes two stages; namely, a first stage for
registering a customer's PC with the tracking system, which begins
at step 605, and a second stage for enabling a customer to play his
songs on his cell phone, which begins at step 620.
[0095] At step 605 the customer's PC registers itself with the
tracking server. Access software running on the PC scans the PC and
generates a list of song IDs and playlists into which the customer
has organized his songs. At step 610 the PC uploads the list of the
customer's songs and his playlists to the tracking server, together
with information identifying the customer and the customer's cell
phone. The PC may additionally upload the customer's songs
themselves to the tracking server, as described hereinabove. At
step 615 the tracking server registers the customer and the
customer's cell phone, and stores the list of the customer's songs
and his playlists in its data store. At this stage the PC has been
registered with the tracking system, and the customer is then able
to listen to his songs on his cell phone.
[0096] At step 620 the customer issues a play request on his cell
phone. At step 625 the cell phone transmits the play request to the
cell tower, using a wireless transmission protocol, such as
GPRS/3G. At step 630 the cell tower receives the play request and
forwards it to the tracking server, via the wireless protocol. At
step 635 the tracking server receives the play request and
validates the customer's account. If the customer account is
successfully validate, than at step 640 the tracking server sends
the customer's song collections and playlist information to the
cell tower, via the wireless protocol. Otherwise, the tracking
server denies the customer's play request. At step 645 the cell
tower forwards the customer's song collections and playlist
information to the cell phone, via the wireless protocol.
[0097] Alternatively, the customer's playlist information may be
cached in the customer's cell phone, thereby obviating the need to
perform steps 630-645. Such cached playlist information is
periodically refreshed to ensure that it accurately reflects the
content and licenses on the customer's PC. The refresh operation
may be performed with or without user intervention.
[0098] At step 650 the customer uses the keypad of his cell phone
to navigate his playlists and select a desired song for listening.
The user's selection is then transmitted to the cell tower, via the
wireless protocol.
[0099] At step 655 the cell tower receives the user's song
selection, which it then forwards to the tracking server. At step
660 the tracking server validates the customer's digital rights
management license for the selected song, to ensure that the user
has the necessary license to play the song. The tracking server may
have the customer's license stored therein for examination, or else
query the customer's PC to determine validity of the customer's
license. In the latter case, the tracking server denies the
customer's play request if the customer's PC is not connected.
[0100] If the customer's license for the selected song is valid,
then at step 665 the tracking server sends instructions to the
media server to stream the selected song to the customer's cell
phone. Otherwise, the tracking server denies the customer's play
request. The tracking server may also log the event that the
designated customer is listening to the selected song, within a
tracking history.
[0101] At step 670 the media server receives the instruction from
the tracking server, and initiates streaming of the selected song
to the cell tower. The cell tower receives the streamed data, and
forwards it to the customer's cell phone for his listening
enjoyment. After the song finished playing the customer may return
to step 650 and select another song.
[0102] It will be appreciated by those skilled in the art step 660
ensures that the cell phone access enabled by the present invention
does not enable a customer to circumvent digital rights management
license restrictions.
Copyright Management
[0103] In accordance with an embodiment of the present invention,
an Egg is registered with at most one Nest, and only Eggs
registered with a Nest have the right to check-out non-promotional
songs therefrom, as described hereinbelow. Typically, a Nest will
have multiple Eggs registered with the Nest.
[0104] In accordance with an embodiment of the present invention, a
song within a Nest or an Egg is labeled as "Purchased", "Recorded"
or "Try & Buy". A "Purchased" song is one that is paid for by a
consumer. Purchased songs include inter alia songs purchased
through an Internet service such as iTunes.RTM. or Napster.RTM.,
songs purchased through a kiosk, and songs copied and converted
("ripped") to a format such as MP3 from a CD that is purchased.
"Recorded" songs include songs recorded for a consumer from a cable
or satellite music station. "Try & Buy" songs are promotional
or trial versions of songs that are provided to a consumer for
free, and eventually expire. If the consumer wishes to continue to
listen to such songs, he must obtain a Purchased or Recorded
version of the song.
[0105] Expiration of a Try & Buy song may occur inter alia
after a fixed time period, such as thirty days, or after a fixed
number of playbacks of the song. Upon expiration, a Try & Buy
song may cease to play altogether, or may play only a down-sampled
version of the song or a header of the song, or may instead play a
message explaining how to purchase the song, or otherwise enable
purchase of the song.
[0106] Preferably, the label of a Try & Buy song includes a URL
or other such identifier for one or more web sites that serve as a
clearinghouse through which the song can be purchased.
[0107] In accordance with an embodiment of the present invention,
the Nest includes a list of songs that are already contained within
the Nest and an auxiliary list of songs that are not already
contained within the Nest. For example, whenever a song from a
specific album by a specific artist is contained within the Nest,
the auxiliary list includes other songs from the same album or
other songs by the same artist. Songs that have been recorded
within the Nest are labeled as Recorded. Other songs, not contained
within the Nest, can preferably be downloaded to the Nest as trial
Try & Buy versions, upon request by a consumer. After listening
to a Try & Buy version of a song, the consumer may purchase the
song using the Nest, and the purchased song is then labeled as
Purchased. Such labeling of a song as Recorded, Purchased or Try
& Buy serves to identify the copyrights associated with the
song.
[0108] Preferably, when a song is copied from one device to another
device where the two devices are registered with one another, such
as from a Nest to an Egg that is registered with the Nest, or from
an Egg to a Nest that the Egg is registered with, the label of the
song is maintained; i.e., the label of the song on the target
device is set to the label of the song on the source device. For
example, if a Try & Buy song is copied from a Nest to an Egg
that is registered with the Nest, and then to another Egg that is
also registered with the same Nest, then the song is labeled as Try
& Buy on the two Eggs. Similarly, if an Egg is used to purchase
a song from a kiosk and the song is subsequently copied to a Nest
that the Egg is registered with, then the song is labeled as
Purchased on the Egg and on the Nest.
[0109] In an embodiment of the present invention, when a song is
copied from one device to another device where the two devices are
not registered with one another, such as from a Nest to an Egg or
from an Egg to a Nest, where the Egg is not registered with the
Nest, then regardless of the label of the song on the source
device, the song is labeled as Try & Buy on the target
device.
[0110] TABLE I summarizes the copyright labeling of a song on a
target device.
TABLE-US-00001 TABLE I Copyright Label of Song on Target Device
Source Label --> Target Source Device --> Target Device Label
Nest --> Egg registered with the Nest OR Purchased -->
Purchased Egg registered with Nest --> Nest OR Recorded -->
Recorded Egg --> Egg, both Eggs registered with Try & Buy
--> Try & Buy the same Nest Nest --> Egg not registered
with the Purchased --> Try & Buy Nest OR Egg not registered
with Nest --> Nest OR Recorded --> Try & Buy Egg -->
Egg, Eggs registered with the Try & Buy --> Try & Buy
different Nests Cable/satellite broadcast --> Nest -->
Recorded CD or other recording media (optical, magnetic, etc.)
--> Nest CD or other recording media (optical, --> Purchased
magnetic, etc.) --> Egg Internet music service (iTunes .RTM.,
Napster .RTM.) --> Nest Music kiosk --> Egg
[0111] The logic of TABLE I assumes that any two devices can
determine whether or not they are commonly registered. This
capability can be achieved, for example, if the registration
information is built into a Nest and an Egg at the time of
manufacture.
[0112] In addition to the logic of TABLE I, the label of a song
within a Nest or an Egg is changed from Try & Buy to Purchased
if a user purchases the song from a clearinghouse, using the Nest
or the Egg, respectively.
[0113] In an alternative embodiment of the present invention, the
Nest can directly determine whether an Egg is registered with it,
but an Egg cannot directly determine whether it is registered with
a Nest, or whether it and another Egg are registered to the same
Nest. This occurs, for example, if an Egg has the capability of
registering itself with any one of a plurality of Nests after it is
manufactured. In this latter case, the logic of TABLE I is modified
so that whenever a song is copied from a source Egg to a target
Egg, the song is labeled as Try & Buy in the target Egg.
Accordingly, the copyright labeling of a song on a target device
follows TABLE II.
TABLE-US-00002 TABLE II Copyright Label of Song on Target Device
(Alternate) Source Label --> Target Source Device --> Target
Device Label Nest --> Egg registered with the Nest OR Purchased
--> Purchased Egg registered with Nest --> Nest Recorded
--> Recorded Try & Buy --> Try & Buy Nest --> Egg
not registered with the Purchased --> Try & Buy Nest OR Egg
not registered with Nest --> Nest OR Recorded --> Try &
Buy Egg --> Egg Try & Buy --> Try & Buy
Cable/satellite broadcast --> Nest --> Recorded CD or other
recording media (optical, magnetic, etc.) --> Nest CD or other
recording media (optical, --> Purchased magnetic, etc.) -->
Egg Internet music service (iTunes .RTM., Napster .RTM.) -->
Nest Music kiosk --> Egg
[0114] In this alternative embodiment, an Egg that is registered
with a first Nest may be re-registered with a second Nest. In such
case, the Egg is no longer registered with the first Nest.
Preferably, there is a limit to the number of times an Egg can be
re-registered, and after an Egg re-registers itself a maximum
number of times, it is blocked from further re-registration.
[0115] In a second alternative embodiment of the present invention,
the distinction between Purchased and Recorded songs is ignored,
and both are identified as "Owned" songs. In this second
alternative embodiment, the copyright labeling of a song on a
target device follows TABLE III.
TABLE-US-00003 TABLE III Copyright Label of Song on Target Device
(Second Alternate) Source Label --> Target Source Device -->
Target Device Label Nest --> Egg registered with the Nest OR Egg
registered with Nest --> Nest OR Owned --> Owned Egg -->
Egg, both Eggs registered with Try & Buy --> Try & Buy
the same Nest Nest --> Egg not registered with the Nest OR Egg
not registered with Nest --> Nest OR Owned --> Try & Buy
Egg --> Egg, Eggs registered with the Try & Buy --> Try
& Buy different Nests Cable / satellite broadcast --> Nest
--> Owned CD or other recording media (optical, magnetic, etc.)
--> Nest CD or other recording media (optical, --> Owned
magnetic, etc.) --> Egg Internet music service (iTunes .RTM.,
Napster .RTM.) --> Nest Music kiosk --> Egg
[0116] In yet a third alternative embodiment of the present
invention, copying of songs from a Nest to multiple Eggs, each of
which is registered with the Nest, is restricted. This third
alternative embodiment has a more elaborate logic than the
preferred and first and second alternative embodiments. In order to
best describe this logic, the terms "checking-out" and
"checking-in" of songs are used as follows. When an Egg is
connected to a Nest in order to download songs from the Nest to the
Egg, this is referred to herein as "checking-out" of songs. When an
Egg is connected to a Nest in order to remove songs stored in the
Egg, this is referred to herein as "checking-in" of songs.
[0117] Often the same song can be broadcast multiple times from a
cable or satellite music station, while the Nest is operational to
record the broadcast songs. In a preferred embodiment of the
present invention, the Nest stores a count for each Recorded song,
which is incremented when the Nest encounters a broadcast song that
has already been recorded onto the Nest archive. Such count thus
corresponds to the total number of times the Recorded song has been
broadcast while the Nest was recording, and is denoted henceforth
as max_permitted_copies. For example, if a Recorded song is
re-played five times on the Music Channel while the Nest is
recording from the Music Channel, then max_permitted_copies=5 for
such song.
[0118] The max_permitted_copies count for a Recorded song is used
to restrict the number of different Eggs that the Nest allows to
check-out the song. For example, if max_permitted_copies=5 for a
Recorded song, then at most five different Eggs can check-out the
song from the Nest. That is, for each Recorded song in its archive,
the Nest stores a count for each song, which is incremented when an
Egg checks-out the song. Such count corresponds to the number of
Eggs that have checked-out the song, and is denoted henceforth as
number_copies_checked_out. For example, if three Eggs have
checked-out the same Recorded song from the Nest, then
number_copies_checked_out=3 for such song.
[0119] In accordance with a preferred embodiment of the present
invention, when an Egg checks-in a Recorded song with the Nest,
thereby removing the song from the Egg, the
number_copies_checked_out count is decremented. For example, if
number_copies_checked_out=3 for a Recorded song and an Egg that
checked-out the song subsequently checks-in the song, then
number_copies_checked_out is decremented to 2 for such song.
[0120] Reference is now made to FIG. 7 which is a simplified
flowchart of a method for tracking the number of times the same
song is broadcast while the Nest 100 of FIG. 1 is recording music,
in accordance with an embodiment of the present invention. At step
710 the Nest identifies a song being broadcast from a cable or
satellite station that is currently being recorded by the Nest. At
step 720 the Nest determines whether or not the song is already
stored within the Nest's digital archive. If so, then at step 730
the Nest increments max_permitted_copies by one. Otherwise, at step
740 the Nest initializes max_permitted_copies=1 for the song, and
number_copies_checked_out=0 for the song. At step 750 the Nest
stores the Recorded song and its meta-data within the Nest's
digital archive.
[0121] Reference is now made to FIG. 8, which is a simplified
flowchart of a method for "checking-out" Recorded songs from the
Nest of FIG. 1 to the Egg of FIG. 2, in accordance with an
embodiment of the present invention. At step 810 an Egg that is
connected to a cradle in a Nest requests to copy a Recorded song
from the Nest to the Egg. At step 820 the Nest determines whether
or not the Egg is registered with the Nest. If so, then at step 830
the Nest determines whether number_copies_checked_out is less than
max_permitted_copies for the requested song. If so, then at step
840 the Nest increments number_copies_checked_out for the song by
one, and at step 850 the Nest permits the Egg to copy the song from
the Nest to the Egg.
[0122] If, at step 820 the Nest determines that the Egg is not
registered with the Nest, or if, at step 830, the Nest determines
that number_copies_checked_out is equal to max_permitted_copies,
then the Egg's request for the Recorded song is denied at step 860.
Alternatively, the Recorded song may be copied onto the Egg as a
trial version, and labeled Try & Buy.
[0123] Reference is now made to FIG. 9, which is a simplified
flowchart of a method for "checking-in" songs from the Egg of FIG.
2 to the Nest of FIG. 1, in accordance with an embodiment of the
present invention. If a song labeled Try & Buy is checked in
from an Egg to a Nest, then the song is also labeled Try & Buy
on the Nest.
[0124] If a song labeled Recorded is checked in from an Egg to a
Nest, then at step 910 an Egg connected to a cradle in the Nest
requests to check-in the Recorded song. At step 920 the Nest
determines whether or not the Egg is registered with the Nest. If
so, then at step 930 the Nest determines whether or not the song
already resides within the Nest's digital archive. If so, then at
step 940 the Nest decrements number_copies_checked_out for the song
by one, and at step 950 the Nest instructs the Egg to erase the
song from the Egg.
[0125] If at step 920 the Nest determines that the Egg is not
registered with the Nest, than the Egg's request to check-in the
song is denied at step 960. Alternatively, the song may be copied
onto the Nest as a trial version, and labeled Try & Buy. If at
step 930 the Nest determines that the song does not currently
reside within its digital archive, then this indicates that the Egg
obtained the song from another source, such as from a kiosk. As
such, at step 970 the Nest initializes max_permitted_copies=1 for
the song, and number_copies_checked_out=0 for the song. At step 980
the Nest copies the song and its meta-data from the Egg into the
Nest's digital archive.
[0126] When a Recorded song is copied from a first Egg to a second
Egg in this embodiment, the song is labeled as Try & Buy on the
second Egg, even if the first and second Egg are both registered to
the same Nest.
[0127] Purchased songs may also be restricted for copying to
multiple Eggs with similar logic, by setting
max_permitted_copies=1.
[0128] In general, it may now be appreciated by those skilled in
the art that the present invention supports a general digital
rights configuration, by means of rules that specify whether or not
a song residing on a source device has requisite permission for
copying to a target device and, if so, how the song should be
labeled when copied to the target device. Such rules may be
embodied within functions
[0129] mayBeCopied(srcDeviceType, trgtDeviceType, isRegistered,
srcDeviceLabel),
[0130] trgtLabel(srcDeviceType, trgtDeviceType, isRegistered,
srcLabel),
where srcDeviceType and trgtDeviceType are device specific
parameters:
[0131] srcDeviceType indicates the type of the source device in
which the digital song resides, including inter alia Nest and Egg;
and
[0132] trgtDeviceType indicates the type of the target device onto
which the digital song is to be copied, including inter alia Nest
and Egg; where isRegistered is specific to a pair of devices:
[0133] isRegistered indicates whether or not the source device and
target device are commonly registered;
where srcLabel and trgtLabel are both song and device specific
parameters:
[0134] srcLabel indicates the label of the song on the source
device, including inter alia Recorded, Purchased and Try & Buy
or, alternatively, Owned and Try & Buy; and
[0135] trgtLabel indicates the label of the song on the target
device, including inter alia Recorded, Purchased and Try & Buy
or, alternatively, Owned and Try & Buy; and where:
[0136] mayBeCopied indicates whether or not the song may be copied
from the source device to the target device.
[0137] More generally, as described hereinabove, the functions
mayBeCopied( ) and trgtLabel( ) may have additional parameters
max_permitted_copies and number_copies_checked_out, where
max_permitted_copies and number_copies_checked_out are both song
and device specific parameters:
[0138] max_permitted_copies indicates the maximum number of copies
of the song that are permitted from the device; and
[0139] number_copies_checked_out indicates the current number of
copies of the song that have been made from the device.
[0140] It may be appreciated by those skilled in the art that
alternatively the functions mayBeCopied( ) and trgtLabel( ) may be
embodied as tables or other data structures.
[0141] Reference is now made to FIG. 10, which is a simplified
block diagram of a digital rights management system, in accordance
with an embodiment of the present invention. Shown in FIG. 10 is a
source device 1005 including a database manager 1010 and a rights
manager 1015. Database manager 1010 preferably controls a database
1020 that stores digital songs and meta-data associated therewith.
Preferably, the meta-data includes a label for each song,
indicating whether the song is Purchased, Recorded or Try &
Buy, as described hereinabove. Optionally, the meta-data may also
include max_permitted_copies and number_copies_checked_out for one
or more songs. The songs, their labels, and their
max_permitted_copies and number_copies_checked_out parameters are
accessible through database manager 1010.
[0142] It may be appreciated by those skilled in the art that
digital songs and their meta-data may be stored in one or more
database tables, within database 1020, that can be joined.
Alternatively, the binary song data may be stored in memory
locations outside of database 1020, and pointed to by address
entries in database 1020. It may also be appreciated that database
1020 may instead be structured as a plurality of databases.
[0143] Also shown in FIG. 10 is a target device 1025, including its
own database manager 1030, rights manager 1035 and database
1040.
[0144] Rights manager 1015 determines whether or not a song
resident on source device 1010 may be copied to a specified target
device, such as target device 1025. If copying of the song is
permitted, then rights manager 1015 further determines a label to
be used for the song on the target device, referred to as the
target label. In accordance with a preferred embodiment of the
present invention, rights manager 1015 bases its determination on
(i) the type of source device 1005, (ii) the type of target device
1025, (iii) the label of the song on source device 1005, and (iv)
the max_permitted_copies and number_copies_checked_out parameters
for the song on source device 1005. Rights manager 1015 preferably
implements functions such as mayBeCopied( ) and trgtLabel( )
described hereinabove.
[0145] After rights manager 1015 determines the target label, it
transmits the song and the target label to target device 1025.
Target device 1025 preferably adds the song to its database 1040
and labels the song in database 1040 according to the target
label.
[0146] Also shown in FIG. 10 is a clearing house 1045, for
purchasing songs. Source device 1005 and target device 1025 may
purchase songs directly from clearing house 1045. For songs not
currently resident on source device 1005 or target device 1025,
clearing house 1045 preferably sends the songs to the device that
purchases them. For songs currently resident on source device 1005
or target device 1025 labeled Try & Buy, clearing house 1045
preferably sends an authorization to source database manager 1010
or target database manager 1030 to change the label of the songs
from Try & Buy to Purchased. Clearing house 1045 preferably
includes a transaction processor 1050, which enables a user to
purchase rights to songs and verifies the user's payment. Upon
completion of a user's purchase of a song by transaction processor
1050, clearing house 1045 sends the songs to the user's device, or
sends an authorization to the user's device to change the label of
the song, as appropriate.
[0147] In accordance with a preferred embodiment of the present
invention, clearing house 1045 also freely distributes Try &
Buy versions of songs, which can be converted to Purchased versions
at a later date, if a user so desires.
[0148] Preferably, clearing house 1045 is administered by an entity
that has distribution privileges for the songs it sells, such as a
cable or satellite company.
[0149] Reference is now made to FIG. 11, which is a simplified flow
chart for a digital rights management method, in accordance with an
embodiment of the present invention. As can be seen, FIG. 11 is
divided into two columns, the leftmost column indicating steps
performed by a source audio device, such as source device 1005
(FIG. 10) and the rightmost column indicating steps performed by a
target audio device, such as target device 1025.
[0150] At step 1110 the target device requests a song to be copied
from the source device. At step 1120 the source device receives the
request and identifies the target device. In particular, the source
device determines the type of the target device, and whether or not
the source and target device are registered with one another.
[0151] At step 1130 the source device determines the label for the
requested song, and the max_permitted_copies and
number_copies_checked_out parameters for the requested song.
Preferably, this information is contained within a source device
database, such as database 1020 (FIG. 10). At step 1140 the source
device determines whether or not the target device has permission
to copy the song. Preferably such determination is made by a rights
manager within the source device, such as rights manager 1015. If
it is determined at step 1140 that the target device does not have
permission to copy the song from the source device, then at step
1150 the source device denies the copy request. Otherwise, if it is
determined at step 1140 that the target device does have permission
to copy the song from the source device, then at step 1160 the
source device determines how to label the song within the target
device. Preferably, such determination is also made by a rights
manager, such as rights manager 1015.
[0152] At step 1170 the source device transmits the requested song
and its label to the target device, and at step 1180 the target
device copies the requested song to its database, and labels it
accordingly.
[0153] In reading the above description, persons skilled in the art
will realize that there are many apparent variations that can be
applied to the methods and systems described. Thus, the
configurable logic described hereinabove for songs and audio
devices is applicable as well to movies and video devices, and to
other types of media and media devices.
[0154] Transfer of songs from sources devices to target devices,
and from clearinghouses to devices, may be performed in batches of
songs, such as entire albums, as well as for single songs. In
addition, devices may be "hot-synched" to one another. For example,
an Egg may be hot-synched to a Nest, using wired or wireless
communication, so that the Nest is updated periodically with the
songs in the Egg.
[0155] Reference is now made to FIGS. 12A and 12B, which are
simplified illustrations of a first consumer use case of acquiring
a song in accordance with an embodiment of the present invention.
As shown in FIG. 12A, a consumer 1210 downloads a trial version of
a song onto his Egg 1220 from a McMusic kiosk 1230 located within a
McDonald's store 1240. The song is labeled Try & Buy, and
consumer 1210 has limited rights to play the song for a one-week
trial period. Subsequently, as shown in FIG. 12B, consumer 1210
decides to purchase the song for $1.00 from a clearinghouse via
wireless communication. As a result of the purchase, the song is
re-labeled as Purchased in Egg 1220, and consumer 1210 is granted
full rights to the song.
[0156] Also shown in FIG. 12B is a pie chart 1250 illustrating how
the $1.00 of revenue for the song is allocated between the content
owner, the wireless provider, McDonald's and the owner of the
present invention, as described hereinbelow.
[0157] Reference is now made to FIGS. 13A and 13B, which are
simplified illustrations of a second consumer use case of acquiring
a song in accordance with an embodiment of the present invention.
As shown in FIG. 13A, a consumer downloads a trial version of a
song onto his Egg 1320 from a Starbuck's Sounds music kiosk 1330
located within a Starbuck's store 1340. The song is labeled Try
& Buy, and consumer 1310 has limited rights to play the song
for a one-week trial period. Subsequently, as shown in FIG. 13B,
consumer 1310 decides to purchase the song for $1.00 from a McMusic
kiosk 1350 located within a McDonald's store 1360. As a result of
the purchase, the song is re-labeled as Purchased in Egg 1320, and
consumer 1310 is granted full rights to the song.
[0158] Also shown in FIG. 13B is a pie chart 1370 illustrating how
the $1.00 of revenue for the song is allocated between the content
owner, Starbuck's, McDonald's and the owner of the present
invention, as described hereinbelow.
[0159] Reference is now made to FIGS. 14A, 14B and 14C, which are
simplified illustrations of a third consumer use case of acquiring
a song in accordance with an embodiment of the present invention.
As shown in FIG. 14A, a consumer 1410 records a song from a
DirectTV broadcast music station onto her Nest 1420, while enjoying
home entertainment on her television 1430. The recorded song is
labeled as Recorded, and consumer 1410 has corresponding rights to
the song. Consumer 1410 copies the song from her Nest 1420 onto her
Egg 1440.
[0160] Subsequently, as shown in FIG. 14B, consumer 1410 meets a
friend, namely consumer 1450, who expresses interest in the song.
Consumer 1410 then copies the song from her Egg 1440 onto his Egg
1460. Although the song is labeled as Recorded on Egg 1440, the
song is labeled as Try & Buy on Egg 1460. As such consumer 1450
only has limited rights to play the song for a one week trial
period.
[0161] Subsequently, as shown in FIG. 14C, consumer 1450 decides to
purchase the song, which he does for $1.00 via a music kiosk 1470
located in a Best Buy store 1480. After purchasing the song, the
song is re-labeled from Try & Buy to Purchased within Egg 1460,
as a result of which consumer 1450 then has full rights to the
song.
[0162] Also shown in FIG. 14C is a pie chart 1490, indicating
allocation of the $1.00 purchase price for the song between the
content owner, DirectTV, Best Buy and the owner of the present
invention, as described hereinbelow.
Implementation of the Present Invention in Conjunction with
Conventional Digital Rights Management Systems
[0163] The digital rights management of the present invention can
be implemented in conjunction with a third-party DRM method or
system. Conventional DRM systems typically allow usage of music on
a disconnected mobile device, but do not allow sharing from one
disconnected device to another. With conventional DRM systems, if a
disconnected mobile device receives music for which it does not
have a valid license, it is not able to play the music, and will
not be granted a license until it connects to a license server,
usually by docking to a personal computer.
[0164] In distinction, using the present invention music may be
shared from a first consumer's Egg to a second consumer's Egg, and
the second consumer is granted limited Try & Buy access to the
music, with an option to purchase the music.
[0165] If a conventional DRM wrapper is removed from digital music,
even if it is replaced with another DRM wrapper, then typically
conventional players will not be able to play the music at all. As
such, the present invention preserves the conventional DRM wrapper,
thus ensuring backward compatibility.
[0166] Reference is now made to FIG. 15, which is a simplified
illustration of a workflow for implementing digital rights
management in conjunction with a third-party DRM system, in
accordance with an embodiment of the present invention. Shown in
FIG. 15 is a first copy 1505 of a digital work stored in a user's
Nest. The copy includes a digital audio portion 1510, which has
been licensed by the user, and a third-party DRM wrapper 1515
specifying unlimited play for the user's nest only.
[0167] When the user copies the digital work from his Nest (copy
1505) to his Egg, a second copy, 1520, of the digital work is
created. The second copy 1520 includes a digital audio portion,
1525, preferably substantially similar to portion 1510, and a
third-party DRM wrapper 1530. However, the third-party DRM wrapper
has been modified so as to specify unlimited play on all eggs, with
a prescribed timeout, such as a two-week timeout. In addition, an
auxiliary DRM wrapper 1535 is added to the second copy, 1520,
specifying unlimited play on the user's Egg, and the ability to
generate limited play licenses for other devices.
[0168] When the user shares the digital work with his friend, a
third copy, 1540, of the digital work is created as the digital
work is copied from the user's Egg (copy 1520) to his friend's Egg
(1540). The third copy 1540 includes a digital audio portion, 1545,
preferably substantially similar to portion 1510, and a third-party
DRM wrapper 1550 that is substantially identical to the third-party
digital wrapper 1530 from the second copy 1520. The third copy 1540
also includes an auxiliary DRM wrapper 1555, but in distinction to
DRM wrapper 1535, DRM wrapper 1555 specifies limited play on the
friend's Egg, and the ability to generate limited play licenses for
other devices.
[0169] When the friend copies the digital work from the friend's
Egg (copy 1540) to the friend's Nest, a fourth copy, 1560, of the
digital work is created. The fourth copy 1560 includes a digital
audio portion, preferably substantially similar to portion 1510,
and a third-party DRM wrapper 1570 specifying limited play on the
friend's Nest only. It will be noted that the auxiliary DRM layer
is removed in copy 1560. As such, the music on the friend's Nest
can be played by a conventional player.
[0170] It may be appreciated in FIG. 15 that the auxiliary DRM
wrappers 1535 and 1555, instead of being stored within various
copies of the digital work, may instead be stored in separate files
associated within the copies of the digital work, or may
alternatively be stored in a database table having a primary key
that serves as an identifier for a copy of the digital work.
Similarly, the conventional third-party DRM wrappers 1515, 1530,
1550 and 1570 may also be stored in separate files or within a
database table.
Use of the Present Invention for Usage and Merchandising
Tracking
[0171] As illustrated in FIGS. 12B, 13B and 14C, the present
invention has application to usage tracking for purposes of revenue
sharing or aggregation of statistics. Licenses for digital music
may be purchased through several channels, including inter alia
[0172] (i) music recorded onto a Nest from broadcast,
off-the-air;
[0173] (ii) music purchased through a Nest from a licensing
authority; and
[0174] (iii) music purchased through an Egg from a music kiosk.
Music for preview, with a Try & Buy wrapper, may be licensed
from these same channels.
[0175] The present invention is advantageous for tracking the
following information for songs: [0176] (a) if recorded, when it
was recorded and from which provider; [0177] (b) if purchased
directly, the fulfiller of the purchase; [0178] (c) if shared, the
customer who originally owned the copy, the original fulfiller, and
the sharing chain of users; [0179] (d) play information for the
current owner, whether played on the owner's Nest or the owner's
Egg; and [0180] (e) if upgraded from a Try & Buy version, the
fulfiller of the original purchase by the original owner and the
fulfiller of the purchase from the Try & Buy version.
[0181] Reference is now made to FIG. 16, which is a simplified
workflow for usage and merchandising tracking in accordance with an
embodiment of the present invention. Shown in FIG. 16 is a first
copy, 1605, of a digital work that is purchased by user A, on user
A's Nest. User A may have purchased the digital work, for example,
over the Internet through a licensing authority, or on a CD at a
retail store. Copy 1605 includes a digital audio portion, 1610, and
a record, 1615, including user A's purchase information and user
A's usage data on user A's Nest.
[0182] When user A copies the digital work from his Nest to his
Egg, a second copy of the digital work, 1620, is created. Copy 1620
includes a digital audio portion, preferably substantially similar
to digital audio portion 1610, and a record, 1630, including user
A's purchase information and user A's usage data on user A's Nest
and user A's Egg.
[0183] When user A shares the digital work with user B, a third
copy of the digital work, 1635, is created. Copy 1635 is a Try
& Buy copy, since user B has not yet purchased a license for
the digital work. Copy 1635 includes a digital audio portion, 1640,
preferably substantially similar to digital audio portion 1610, and
a record, 1645, including user A's purchase information and user
B's usage data on user B's Egg.
[0184] When user B copies the digital work from user B's Egg to
user B's Nest, a fourth copy of the digital work, 1650, is created.
Copy 1650 includes a digital audio portion, 1655, preferably
substantially similar to digital audio portion 1610, and a record,
1660. When user B subsequently purchases a license for the digital
work, record 1660 is updated to reflect user A's purchase data,
user B's purchase data and user B's usage data on user B's Egg and
user B's Nest.
[0185] It may thus be appreciated that, for the purpose of
merchandising, a portion of user B's purchase price may be paid to
the fulfiller from which user A purchased the digital work. More
generally, the present invention can be used to track a purchase of
a digital work along a sharing chain, back to an original fulfiller
from which the digital work was purchased; and a portion of the
purchase prices along the sharing chain can be allotted to the
original fulfiller.
[0186] It may be appreciated in FIG. 16 that the records 1615,
1630, 1645 and 1660, instead of being stored within various copies
of the digital work, may instead be stored in separate files
associated within the copies of the digital work, or may
alternatively be stored in a database table having a primary key
that serves as an identifier for a copy of the digital work.
[0187] In accordance with an embodiment of the present invention,
an application programming interface (API) for Eggs is provided, in
order for third parties to use the tracking features of the present
invention. Inter alia, the Egg API includes the following
functions. [0188] addSongPlayToHistory(trackID) This function adds
information to an Egg's internal song playback history, when a
tracked song begins playing. [0189] addSongShareToHistory(trackID)
This function adds information to an Egg's internal song sharing
history, when a tracked song is shared from one device to another.
[0190] addSongSkipToHistory(trackID) This function adds information
to an Egg's internal song playback history, when a tracked song
gets skipped while playing; i.e., when a user jumps to another song
in the middle of playing the tracked song. [0191]
buildPlayerInventory( ) This function generates a list of tracked
songs on an Egg, and is used generally when connecting the Egg to a
kiosk or to a personal computer. [0192] buildPlayerDockInventory( )
This function generates a list of tracked songs on a Nest, and is
used generally when connecting an Egg to the Nest, so that the user
does not purchase a song at a kiosk that he already has on his Nest
at home. [0193] songOwnedOnPlayer(trackID) This function checks if
trackID is currently owned on an Egg. [0194]
songOwnedOnDock(trackID) This function checks if trackID is
currently owned on a Nest. [0195] buildSongPlayHistory(trackID)
This function builds a history of all times trackID has been played
or skipped. The history is generally uploaded to a personal
computer or to a kiosk, and then to a server computer for tracking
use. [0196] deleteSongPlayHistory(trackID) This function clears an
Egg's internal play history for trackID, and is generally called
after the Egg's play history has been uploaded to a tracking server
computer, in order that the same data is not uploaded twice. [0197]
storeContentLicense(trackID, contLicense) This function stores the
necessary licenses to played a digital rights managed song, in an
Egg's protected data store. This function also associates the
license with the song so that whenever the song is played, the
license may be used to unlock it. [0198]
storeOriginationData(trackID, origData) This function stores
information in the Egg's internal memory, as to the origin of a
song. [0199] shareHistory buildSongShareHistory(trackID) This
function builds a share history object that holds a history of all
times the designated track has been shared. The history is a trail
of devices that the song has passed through prior to arriving at
the current Egg. This function is generally called before sharing a
song with another device, and the share history is then sent to the
other device. [0200] deleteSongShareHistory(trackID) This function
clears a song's share history from an Egg's internal memory. This
function is generally called when a customer erases the song, or
when the customer purchases the song. [0201]
storeShareData(trackID, shrHistory) This function stores a share
history for a song in an Egg's internal memory, and is generally
called after the Egg receives a shared song. This function stores
the current share history, and also adds information about the Egg
to the share history, so that the next time the song is shared, the
Egg will be reflected in the share history.
[0202] The present invention includes an advertising and deployment
component that provides a wide range of advertising opportunities
for sponsors. Reference is now made to FIG. 17, which is a
simplified block diagram of a system for deployment of
advertisements in customer Egg players, in accordance with an
embodiment of the present invention. Shown in FIG. 17 are three
primary components; namely, (i) a portable player 1710, such as an
Egg, with a playback engine 1712, (ii) a host device 1720, such as
a Nest, a kiosk or a PC computer, and (iii) an advertising server
1730. The connection between Egg 1710 and host device 1720 is
generally via a docked connection, when Egg 1710 is docked into a
cradle of host device 1720. The connection between host device 1720
and advertising server 1730 is generally a remote connection, via a
cable network, a satellite network, a cellular network, or via the
Internet.
[0203] Briefly, advertiser computers, such as advertisers 1743,
1745 and 1747, upload ads, distribution rules and playback rules to
advertising server 1730. Playback rules govern when advertisements
are to be played. Distribution rules govern the process of moving
ads from advertising server 1730 to appropriate players 1710.
Distribution rules specify relationships between ads and content,
so that promotional content is associated with one or more desired
ads. Distribution rules are also used to specify relationships
between ads and player types, so that a targeted set of players
1710 receive specific advertisements. Advertising server 1730
transmits the ads and rules to host device 1720, for deployment in
players 1710 when the players connect to the host device.
Advertiser computers 1743, 1745 and 1747 are generally connected to
advertising server 1730 via the Internet.
[0204] Advertisers may sponsor songs, or Egg players 1710
themselves with pre-loaded content and with sponsored branding on
their cases. Advertisers may distribute sponsored content to
consumers' Eggs 1710 along with ads. An ad management interface
1735 provides a web interface through which a sponsor manages ads
that are deployed in consumers' Eggs 1710. Ad reporting &
metric interface 1733 provides a web interface through which a
sponsor receives tracking information including inter alia how many
ad impressions were generated.
[0205] Ad management interface 1735 gives the sponsor much
flexibility in controlling his advertising. The sponsor can use ad
management interface 1735 to submit ads, to remove ads, to update
ads and to insert new ads; and to submit sponsored music content,
to remove sponsored music content, to update sponsored music
content and to insert new sponsored content. The sponsor can also
use ad management interface 1735 to define rules in terms of
conditions that trigger the ads to be played, and to designate
which rules are to be used for which sponsored Eggs, as described
in detail hereinbelow. When Customers' sponsored Eggs 1710 are
connected to a host device 1720, ads and sponsored content and
rules are transferred to the Eggs. Conversely, statistical
information about ads that the customers heard on their Eggs is
transferred to advertising server 1730.
[0206] In accordance with an embodiment of the present invention, a
ad may be designated so that a customer cannot fast forward through
the ad or skip the ad, and so that a customer cannot delete the ad
from his Egg player without losing valuable content.
[0207] In accordance with an embodiment of the present invention,
an advertiser may distribute Eggs with branded casing and with
pre-loaded music to customers as part of an advertising campaign.
For example, the advertiser may distribute the Eggs at a sponsored
event such as at a concert or at a sports competition. Advertising
server 1730 displays information about the campaign to the sponsor
in ad management interface 1733, through which the advertiser
manages his campaign, adding new ads and deploying new content to
customers who received their Eggs 1710 through the campaign.
[0208] For deployment of ads, an advertiser 1743, 1745 or 1747
uploads the ads he wants to use in the advertising campaign to
advertisement server 1730, groups the ads into ad groups, defines
rules specifying events that trigger playing of the ads, and
activates the ads and their rules for deployment to the customers'
Eggs. For deployment of music content, the advertiser uploads the
music he wants to use in the advertising campaign, selects one or
more rules to use with the music content, and activates the content
and its rules for deployment to the sponsored customers' Eggs
1710.
[0209] In accordance with an embodiment, the present invention uses
five types of objects; namely, (i) advertisements, (ii) ad groups,
(iii) rules, (iv) content and (v) campaigns, all as described in
detail hereinbelow with reference to TABLES IV-XII. Objects are
reusable, so that, e.g., one advertisement can be used in multiple
ad groups, one ad group can be used in multiple rules, and one rule
can be used in multiple campaigns. As such, each object need only
be created once, and can be reused with other objects. Each object
as its own section in ad management interface 1735, where the
advertiser is able to add, modify and delete instances of the
object.
[0210] An advertisement object includes an audio file, with a
jingle or spoken words or both, that is to be played when an
appropriate event occurs, or a video file for video-capable Eggs
1710. In addition to the audio file, the advertisement object
includes meta-data about the ad, such as whether to play the ad
before, during or after a song, and information to display on the
Egg's LCD screen while the ad is playing. The advertisement object
section in ad management interface 1735 enables the advertiser to
upload new ads, to edit current ads, and to delete old ads. TABLE
IV indicates some data members of an advertising object.
TABLE-US-00004 TABLE IV Advertising object data members ad_id
number name text description text play_type `BEFORE`, `DURING`,
`AFTER` screen_text text screen_image_filespec text
ad_audio_filespec text
[0211] The member ad_audio_filespec is a location of the audio file
on disk, and the member screen_image_filespec is a location of the
file for the image that is displayed on the Egg's LCD screen when
the ad is played. Similarly, the member screen_text is the text
that is displayed on the LCD screen when the ad is played. The
member play_type indicates when the ad should be played; before the
song, during the song superposed on the audio, or after the
song.
[0212] An ad group object is used to group ads together, and is
useful in associating one rule with multiple ads. In accordance
with an embodiment of the present invention, each ad in an ad group
is assigned a probability frequency between 0 and 1, the
frequencies adding up to one. The frequency assigned to an ad
within an ad group determines the percentage of time that ad is
played with a rule within the ad group is invoked. TABLE V
indicates some data members of an ad group object, and TABLE VI
indicates some data members of individual entries within an ad
group object.
TABLE-US-00005 TABLE V Ad group object data members ad_group_id
number name text description text
TABLE-US-00006 TABLE VI Ad group entry data members ad_group_id
number ad_id number weighting number
[0213] A rule object is used to prescribe the conditions under
which an ad or an ad group is played. A rule object includes a
condition specifying when an ad should be played, and an ad or an
ad group specifying which ads to play when the condition is
satisfied. A rule object is of the general form [0214] if
condition=true then play ad from ad group
[0215] In accordance with an embodiment of the present invention,
rules are assigned priorities, which are used to determine while
rule to execute in case two or more rule conditions are satisfied
at once. A rule can also specify if another ad should be played
after its ad is played.
[0216] A rule condition may include logical combinations of
individual comparisons and tests. Individual comparisons and tests
include inter alia
TABLE-US-00007 current song ID = current song label ID = current
song artist ID = current song album ID = current song genre ID =
current weekday = number of rule invocations = current song
purchase status = purchasable/ non-purchasable current song's
ownership = Purchase/ Recorded/ Try & Buy current time
satisfies the condition current date satisfies the condition
current song play count satisfies the condition time since first
rule invocation satisfies the condition current ad/ad group has
been played les than times during the last
minutes/hours/days/songs
[0217] Each of the above comparisons and tests are made a run-time,
i.e., at song play time. Each comparison and test evaluates to true
or false, and multiple comparisons and tests can be logically
combined to form a complex advertising rule condition. TABLE VII
indicates some data members of a rule object.
TABLE-US-00008 TABLE VII Rule object data members rule_id number
advertiser_id number condition_id number ad_group_id number
priority_level number play_another_ad yes/no times_invoked number
first_invoked_timestamp date/time name text description text
[0218] A content object represents new media that an advertiser
wants to offer to a customer. Associated with the content is a set
of rules that are also sent to the customer along with the content.
The content object section of ad management interface 1735 enables
the advertiser to upload a new song, to set its ownership to Owned
or to Try & Buy, and to select one or more ad rules. TABLE VIII
indicates some data members of a content object, and TABLE IX
indicates joining of content with rules.
TABLE-US-00009 TABLE VIII Content object data members content_id
number advertiser_id number content_ownership `OWNED`, `TRY &
BUY` content_filespec text name text description text
TABLE-US-00010 TABLE IX Content joined with rules content_id number
rule_id number
[0219] A campaign object is used to deploy content and rules. An
advertiser sets up a campaign for each group of media players that
the advertiser distributes, such as one group of media players for
a concert tour campaign, and another group of media players for a
basketball team campaign. Each Egg player that the advertiser
distributes is associated with an appropriate campaign. As such,
the advertiser can deploy ads and rules to a large targeted group
of customers at once. The campaign object section of ad management
interface 1735 enables advertisers to activate pre-defined rules
and pre-uploaded content for a specific campaign. An advertiser may
have multiple campaigns, and may re-use the same rules and content
for two or more campaigns. TABLE X indicates some data members of a
campaign object, TABLE XI indicates some data members of individual
advertising content within a campaign object, and TABLE XII
indicates some data members of individual rules within a campaign
object.
TABLE-US-00011 TABLE X Campaign object data members campaign_id
number advertiser_id number player_id_range_start number
player_id_range_end number name text description text
TABLE-US-00012 TABLE XI Campaign data members for content entries
entry_id number campaign_id number content_id number
TABLE-US-00013 TABLE XII Campaign data members for rule entries
entry_id number campaign_id number rule_id number
[0220] After an advertiser deploys a campaign, advertising server
1730 tracks the campaign by monitoring inter alia the following
statistics: [0221] number of users that received an ad or a piece
of content; [0222] when the new ad or content was received on a
customer's Egg; [0223] number of times a rule was invoked/an ad was
played/an ad group was played; [0224] when a rule was invoked/an ad
was played/an ad group was played; and [0225] number of times a
user connected to receive new content. Advertising server 1730 also
enables an advertiser to simulate his campaign by running the
campaign on simulated groups of customers, including inter alia:
[0226] commuters, who listed to their Egg players during commute
time; [0227] avid listeners, who listen to music multiple times a
day; [0228] infrequent listeners, who listen to music randomly and
infrequently; and [0229] classical music/rock & roll/rap fans,
who play music of that genre. If an advertiser, for example, sets
too high of a priority for a rule that frequently gets invoked,
then other rules and ads may not get played. A campaign simulation
would detect such a problem before the advertiser deploys the
campaign.
[0230] Advertising server 1730 includes a bulk ad provisioner 1731
for transmitting ad, ad groups and rules to host device 1720.
Transmission of ads from advertising server 1730 to host device
1720 may be performed in bulk for a plurality of players 1710, or
individually for an individual player 1710, when player 1710 is
being updated. Advertising server 1730 also includes its own rules
engine 1737, used for simulation of campaigns, as described
hereinabove. Advertising server 1730 also includes a database of
advertisers 1739, advertisements, distribution rules and playback
rules.
[0231] Host device 1720 includes an ad provisioner 1722 for
transmitting ads to Egg player 1710, and an ad updater for updating
ads and rules on Egg player 1710. Host device 1720 also includes a
rules engine 1726 for evaluating conditions therefor and enforcing
rules. Host device 1720 also includes a database 1728 of
advertisements and rules.
[0232] Player 1710 includes a database 1718 of advertisements and
rules. Player 1710 also includes an ad scheduler 1714, for
scheduling playback of ads in database 1718 according to their
rules. Ad scheduler 1714 is invoked periodically, such as before a
song is played. Ad scheduler 1714 evaluates rules to determine if
ads should be played, and schedules their playback accordingly. If
a rule involves an ad group, then ad scheduler 1714 selects one of
the ads in the ad group based on the value of the ad's weighting
data member from TABLE VI.
[0233] Player 1710 also includes an ad updater 1716 for updating
ads, ad groups and rules in database 1718.
[0234] Reference is now made to FIG. 18, which is a simplified
flowchart of a method for scheduling advertisements according to
evaluation of playback rules, used by ad scheduler 1714, in
accordance with an embodiment of the present invention. At step
1805 the ad scheduler is invoked, and receives as input a reference
to a current song and its play history. The ad scheduler generates
a list of advertisements to be played as its output. At step 1810
the ad scheduler initializes this list, as a currently empty
list.
[0235] At step 1815 the ad scheduler begins a loop traversing rules
in order from highest priority to lowest priority. The loop spans
steps 1820-1860. At step 1820 the ad scheduler determines if there
are more rules to be processed. If not, then the loop ends, and the
ad scheduler returns the list of ads at step 1865 as its output. If
there are more rules to be processed, then at step 1825 the ad
scheduler fetches the next rule. As mentioned hereinabove, each
rule has a condition and an ad or an ad group. Since an ad can be
considered as a special case of an ad group that contains a single
ad with a weighting of 1, it is assumed in what follows that the
rule involves an ad group.
[0236] At step 1830 the ad scheduler evaluates the rule's
condition. The condition may involve the song's play history, a
reference to which was passed to the ad scheduler as input. At step
1835 the ad scheduler branches depending on whether the condition
evaluated at step 1830 is true or false. If the condition is false,
then the rule is not applied and the ad scheduler returns to the
beginning of the loop at step 1820. If the condition is true, then
the rule is to be applied, and at step 1840 the ad scheduler
selects one of the ads from the ad group associated with the rule,
based on the weightings assigned to the ads within the ad group.
Such selection may be a random selection with the weightings used
as probabilities, or it may be a deterministic selection in a
manner such that the frequency of occurrence of each ad within the
ad group is equal to, or approximately equal to, the ad's
weighting.
[0237] At step 1845 the ad scheduler inserts the ad chosen at step
1840 at the end of the list of advertisements. At step 1850 the ad
scheduler updates the chosen rule's times_invoked data member as
per TABLE VII. In addition, if this is the first time the rule is
invoked, then the ad scheduler also updates the rule's
first_invoked_timestamp data member as per TABLE VII. At step 1855
the ad scheduler updates the chosen advertisement's play count. In
addition, if this is the first time the chosen advertisement is
played, then the ad scheduler also updates the advertisement's
first played time.
[0238] At step 1860 the ad scheduler checks if the rule's
play_another_ad data member, as per TABLE VII, is true. If so, then
the ad scheduler returns to step 1820 to process the next rule.
Otherwise, the ad scheduler terminates at step 1865 and returns its
list of advertisements as output.
[0239] It may thus be appreciated that the advertising system of
FIG. 17 provides for a wide range of advertising opportunities. One
such opportunity is a pre-loaded demo, whereby a sponsor
distributes branded promotional players with pre-loaded content and
advertisements. A second such opportunity is a loyalty reward
program, whereby loyal customers are given free songs with
advertisements associated therewith. A third such opportunity is
label promotion, whereby a music label company distributes free
songs with associated advertisements at retail outlets. In case of
joint sponsors, advertisements from each sponsor can be organized,
for example, into multiple ad groups and triggered in alternate
succession.
[0240] As an example scenario, suppose company X sponsors a concert
tour of rock band Y. Attendees of the concert receive a free Egg
player with company X's logo imprinted on the Egg's casing.
Pre-loaded on the Eggs is the latest album of rock band Y, in a
digital rights managed WMA format, that the attendee receives for
free. When the attendee plays the pre-loaded songs, he periodically
hears advertisements for company X.
[0241] Company X uses ad management interface 1735 to update its
advertisements from time to time. Company X offers new free songs
of rock band Y as an incentive to have the attendees connect their
Eggs to a host device, such as a kiosk or a home PC, and receive
the new advertisements. When an attendee connects his Egg to the
host device, he automatically receives the new songs and the new
advertisements. In turn, his Egg sends statistical information
about the advertisements he has heard to administration server
1730.
[0242] Company X uses ad reporting & metrics interface 1733 to
receive statistics about the number of ad impressions they are
getting.
[0243] In accordance with an embodiment of the present invention,
an application programming interface (API) for Eggs is provided, in
order for third parties to use the advertising features of the
present invention. Inter alia, the Egg API includes the following
functions. [0244] addAdvertisement(newAd) This function is used to
add a new advertisement to an Egg's internal collection of
advertisements. [0245] addRule(newRule) This function is used to
add a new rules to an Egg's internal collection of rules. [0246]
addAdGroup(newAdGroup) This function is used to add a new ad group
to an Egg's internal collection of ad groups. [0247]
deleteAdvertisement(adID) This function is used to delete an old
advertisement from an Egg's internal collection of advertisements.
[0248] deleteRule(ruleID) This function is used to delete an old
rule from an Egg's internal collection of rules. [0249]
deleteAdGroup(adGroupID) This function is used to delete an old ad
group from an Egg's internal collection of rules. [0250]
getAdvertisementList( ) This function is used to get a list of
advertisement IDs from an Egg's internal collection of
advertisements. This function is generally called while the Egg is
connected to a host, to let the host know which advertisements the
Egg already has loaded therewithin. [0251] getRuleList( ) This
function is used to get a list of rule IDs from an Egg's internal
collection of advertisements. This function is generally called
while the Egg is connected to a host, to let the host know which
rules the Egg already has loaded therewithin. [0252]
getAdGroupList( ) This function is used to get a list of ad group
IDs from an Egg's internal collection of advertisements. This
function is generally called while the Egg is connected to a host,
to let the host know which ad groups the Egg already has loaded
therewithin. [0253] shouldPlayAdvertisement(songID, artistID,
albumID) This function is called before an Egg plays a song. The
Egg evaluates the rules from its internal collection of rules, and
determines if there is an advertisement that should be played. If
so, then the Egg saves an internal note of which advertisement to
play, and the function returns true. If not, then the function
returns false. [0254] getAdvertisementToPlay(adAudioData) This
function is called after a successful call to
shouldPlayAdvertisement. Based on the internal note that was saved,
the function sets adAudioData to point to the start of the ad
audio. In accordance with an embodiment of the present invention,
adAudioData is located in a protected store, so that a customer
cannot erase or modify it. This function returns the ID of the
advertisement to play, and also updates the tracking information of
the advertisement, ad group and rule that were involved in
selecting the advertisement to be played. [0255]
getAdvertisementTrackingInfo( ) This function is used to get a list
of times that advertisements were played. This function is
generally called in order to get tracking information to send to a
host, for the host to send to the advertising server. [0256]
clearAdvertisementTrackingInfo( ) This function is used to clear
advertisement tracking information after the information is
successfully uploaded to the advertising server, and is generally
called to prevent the same ad impressions from being counted more
than once. [0257] getTime( ) This function is used to get the
current time from an Egg's clock. [0258] setTime(newTime) This
function is used t set the current time in an Egg's clock. [0259]
getDeviceID( ) This function is used to get an Egg's unique ID.
[0260] In addition to the API for Eggs provided hereinabove, an API
for hosts, including kiosks, Nests and personal computers, is also
provided, in order for third parties to use the advertising
features of the present invention. Inter alia, the host API
includes the following functions. [0261] updateDeviceAds(deviceID,
newAds, newAdGroups, newRules, delAds, delAdGroups, delRules) This
function is used to communicate with the advertising server and
check whether there are new ads, new rules and new ad groups for
the specified customer Egg. The ads, rules and ad groups that the
host retrieves will be automatically placed onto the customer's
Egg, without prompting the customer. This function is also used to
communicate ads, rules and ad groups that are to be deleted from
the customer's Egg. The advertising server determines which
campaign the customer's Egg belongs to, and sends or deletes ads,
rules and ad groups accordingly. [0262]
getNewContentOffers(deviceID, newAds, newAdGroups, newRules,
newContent) This function checks with the advertising server
whether there is new content being offered for the host that makes
the function call, or for the specified customer Egg. The retrieved
content is then offered by the host to the customer. If the
customer accepts the host's offer, then the advertisements, ad
groups, rules and content are placed onto the customer's Egg. The
advertising server determines which campaign the customer's Egg
belongs to, and sends ads, ad groups and rules accordingly. [0263]
sendTrackingInfo(trackingInfo) This function is used to send
tracking information, including advertisement play history, to the
advertising server. If successful in sending the data, the function
returns true; otherwise, it returns false. [0264]
putAdvertisement(newAd) This function sends an advertisement to the
host. [0265] putRule(newRule) This function sends a rule to the
host. [0266] putAdGroup(newAdGroup) This function sends an ad group
to the host. [0267] putContent(newContent) This function sends
content to the Nest. [0268] getHostID( ) This function gets the
unique ID assigned to the host. [0269] addAddPlayToHistory( ) This
function adds information to an Egg's internal ad playback history
when an advertisement is played.
[0270] In the foregoing specification, the invention has been
described with reference to specific exemplary embodiments thereof.
It will, however, be evident that various modifications and changes
may be made to the specific exemplary embodiments without departing
from the broader spirit and scope of the invention as set forth in
the appended claims. Accordingly, the specification and drawings
are to be regarded in an illustrative rather than a restrictive
sense.
* * * * *