(57)【特許請求の範囲】
【請求項１】
プロセッサ及びメモリを備えるネットワーク化されたレンダリングデバイスによってマルチメディアレコードの再生のための認可を管理する方法であって、
レコードを識別するメタデータを含む楽曲をライブラリに受信するステップと、
前記ライブラリから選択された楽曲をプレイリストに追加するステップと、
前記楽曲のレコードを提供するソースを検索するステップと、
前記ソースが利用可能であるか否かを判断するステップと、
前記ソースが利用可能でない場合、前記楽曲を前記ライブラリ及び前記プレイリストから削除するステップと、
前記ソースが利用可能である場合、前記ソースに、前記レコードを前記レンダリングデバイスに送達することを認可するトークンを取得するステップと、
前記トークンが利用可能であるか否かを判断するステップと、
前記トークンが利用可能でない場合、前記楽曲を前記ライブラリ及び前記プレイリストから削除するステップと、
前記トークンが利用可能である場合、前記ソースに前記トークンを提供し、レンダリング可能な前記レコードの送信を前記ソースに要求するステップと、
前記トークンが有効であるか否かを判断するステップと、
前記トークンが有効でない場合、前記楽曲を前記ライブラリ及び前記プレイリストから削除するステップと、
前記トークンが有効である場合、前記レコードを前記ソースから受信し、前記受信した前記レコードをレンダリングした後、前記楽曲を前記プレイリストから削除すると共に前記ライブラリに留め再び前記プレイリストに追加可能になされるステップと、
を含む、方法。
【請求項２】
プロセッサ及びメモリを備えるネットワーク化されたレンダリングデバイスによってマルチメディアレコードの再生のための認可を管理する方法であって、
複数の認可済みソースから楽曲のレコードを提供する第１のソースを検索するステップと、
前記第１のソースの検索の結果、前記楽曲のレコードを提供する前記第１のソースを見つけ、それによって前記第１のソースが前記楽曲について利用可能であると判断する場合、前記第１のソースによって提供される前記楽曲のレコードを受信してレンダリングし、前記第１のソースが前記楽曲について利用可能でないと判断する場合、前記楽曲について利用可能な第２のソースをネットワーク検索し、前記第２のソースから前記楽曲のレコードをレンダリングすることをユーザが望む場合、前記第２のソースによって提供される前記楽曲のレコードを受信してレンダリングするステップと、
前記第２のソースを前記複数の認可済みソースに追加するステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークマルチメディアに関し、より詳細には、ネットワーク化されたデジタルマルチメディアデバイス及びサービスに関する。
【背景技術】
【０００２】
個人がインターネットを介してデジタルマルチメディアにアクセスすることを可能にする多くの技法が存在する。デジタルマルチメディアは、オーディオファイル及びビデオファイルを含む。インターネットを介してデジタルマルチメディアへのアクセスを提供することの１つの課題は、デジタルマルチメディアの演奏者、発行者及び所有者のライセンス付与権利を確保することである。デジタルマルチメディア配信の様々なモデルが存在する。例えば、ダウンロードストアは、購入されたデジタルマルチメディアファイルを、購入者のインターネットアクセスデバイスにダウンロードするために提供することができる。ダウンロードされたオーディオファイルは、デジタル著作権管理（ＤＲＭ）を含むことができ、ＤＲＭは、いずれのデバイスがマルチメディアファイルを再生することができるかを制限することができる。
【０００３】
別のモデルはストリーミングサービスであり、マルチメディアファイルをダウンロードする代わりに、マルチメディアファイルのコンテンツのストリームが加入者のデバイスに送信され、このデバイスにおいてストリームがレンダリング用にバッファリングされるが、他の形では記憶されない。インターネットラジオは、プロバイダーによって選択及びプログラムされた音楽へのアクセスを提供する別の配信システムであり、配信がラジオではなくインターネットを介することを除けば、従来のラジオ局とよく似ている。
【０００４】
別のタイプのデジタルマルチメディア配信は、クラウドサービスを用いる。インターネットを介してアクセス可能なデータファイルのネットワークストレージの利用は、クラウドストレージとして知られている。クラウドストレージを提供するサービスは、クラウドサービスと呼ばれる。クラウド音楽サービスにアクセスを有するデジタル音楽プレーヤーによって、ユーザーが、音楽データを記憶する物理的なメディアに直接アクセスすることを必要とせずに、自身のデジタルコレクション内の音楽を聴くことが可能になった。ユーザーは、インターネットアクセスを有するところではどこでも、クラウドサービスから音楽に無線アクセスすることができる。幾つかのクラウド音楽サービスは、加入者が、クラウドサービスのライブラリ内の楽曲にライセンスを付与することを可能にし、それによって、楽曲はその後、要求に応じて加入者にストリーミング及び／又はダウンロードすることが可能になる。幾つかのサービスは、加入者が、加入者によって既に購入／ライセンス付与された音楽ファイルを特定し、又はクラウドサービスを介してアクセスするためにクラウド音楽サービスにアップロードすることを可能にする。例えば、加入者は、別のフォーマットで加入者によって既に所有されているサービスにおけるファイルを特定することもできるし、又は加入者が所有するコンパクトディスク（ＣＤ）からリッピングしたファイルをアップロードすることもできる。
【０００５】
これらの及び他の配信システムは互いに大きく異なっているが、これらの配信システムはそれぞれ、デジタルマルチメディアを再生する認可を有する個人又は組織によるデジタルマルチメディアのレンダリングを意図したものである。そのような認可の形態は、例えば、音楽ファイルを含む物理的媒体、例えばＣＤの購入、ファイルのデジタルダウンロード、例えばｍｐ３ファイルの購入、音楽ストリーミングサービスへの加入の購入、クラウド音楽サービスにおける指定された楽曲にアクセスするライセンスの購入を含む。
【０００６】
図１は、従来技術のデジタルマルチメディアハブ１００を示す。ハブ１００は、コントローラー１１０と、ネットワークインターフェース１３０と、ストレージデバイス１５０と、オーディオ／ビデオプロセッサ１４０と、オーディオ／ビデオ出力１４２とを備える。ストレージデバイス１５０は、内部にデジタルマルチメディアファイルを記憶することができる。オーディオ／ビデオ出力１４２は、オーディオ及び／又はビデオをオーディオ／ビデオシステム１８０、例えば、ビデオディスプレイ１８４及び少なくとも１つのラウドスピーカー１８８を有するホームエンターテイメントセンターに出力し、オーディオ／ビデオシステム１８０にメディアファイル及びインターネットメディアサービスアクセスを提供する。ハブ１００は、ローカルエリアネットワーク（ＬＡＮ）２６０にアクセスを提供するネットワークインターフェース１３０を備える。ＬＡＮ２６０は、例えば、ケーブルモデム（図示せず）を介したインターネット２９０へのアクセス、及び、タブレットコンピューター２６４、ハンドヘルドｍｐ３プレーヤー２６６又はパーソナルコンピューター２６８等のＬＡＮ２６０内の消費者電子デバイスへのアクセスを含む、ネットワークデバイスへの有線アクセス又は無線アクセスを提供することができる。
【０００７】
ハブ１００は、オーディオ／ビデオシステム１８０を介して消費者電子デバイス２６４、２６６、２６８に記憶されたメディアファイルを再生するためのアクセスを可能にするユーザーインターフェースを提供する。例えば、ハブ１００は、例えば、コマンド及び／又はサービスのメニューを表示するためのユーザーインターフェース目的でビデオディスプレイ（１８４）を用いることができる。ハブ１００は、リモートコントロールデバイス、例えば無線周波数リモートコントロール若しくは赤外線リモートコントロール（図示せず）を介して、又は消費者電子デバイス２６４、２６６、２６８におけるコントローラーアプリケーションを介して入力を受信することができる。ハブ１００は、１つ又は複数のデジタルメディアサービス２９５、例えば、オンデマンドビデオ及び／又はオーディオストリーミングサービスから、インターネット２９０を介してストリーミングされたコンテンツにアクセスすることができる。加えて、ハブ１００は、ストレージデバイス１５０にデジタルマルチメディアサービス２９５のためのアカウント情報を記憶することができる。例えば、ハブ１００は、デジタルマルチメディアサービス２９５のアカウントホルダーのユーザー名及びパスワードを記憶することができる。ハブ１００は、デジタルマルチメディアサービス２９５ごとに単一のアカウントホルダーのアカウント情報を記憶する。ハブ１００は、デジタルマルチメディアソースの事前設定されたリストにアクセスすることに限定され、ハブに接続された単一のオーディオ／ビデオシステム１８０にレンダリングを提供することに更に限定される。
【０００８】
多くの人々は、懇親会中に音楽を聴くことを楽しむ。これらの会合において個人が自身の個人的な音楽コレクションからの楽曲を会合のために共有したいと考える場合がある。しかしながら、多岐にわたるデジタル音楽配信システム及びデジタル著作権管理システムに起因して、個人のデジタルコレクションからの楽曲を、デジタルマルチメディアのライセンス契約に違反することなく、デジタルマルチメディアハブ１００等の従来技術を用いて会合と共有することは、困難又は不便である場合がある。さらに、会合における個人は、会合で知った音楽にアクセスするのが困難又は不便であると感じる場合がある。したがって、本業界において、上記で述べた制限に対処する必要がある。
【発明の概要】
【０００９】
本発明の実施形態は、インタラクティブなマルチメディアプレイリストをレンダリングするネットワークデバイス及び方法を提供する。簡単に述べると、本発明の第１の態様は、プロセッサ及びメモリを備えるネットワーク化されたレンダリングデバイスによってマルチメディアレコードの再生のための認可を管理する方法を対象とする。本方法は、レコードを識別するメタデータを含む楽曲を受信するステップと、レコードを提供するソースを検索するステップと、ソースに、レコードをレンダリングデバイスに送達することを認可するトークンを取得するステップと、トークンをソースに提供するステップと、レコードをソースから受信するステップと、レンダリングデバイスによってレコードをレンダリングするステップとを含む。
【００１０】
簡単に述べると、本発明の第２の態様は、プロセッサ及びメモリを備えるネットワーク化されたレンダリングデバイスによってレコードをレンダリングするための認可を管理する方法を対象とする。本方法は、レコードを識別するメタデータを有する楽曲を楽曲ライブラリ内に受信するステップと、楽曲をプレイリストに追加するステップと、楽曲を提供するソースを検索するステップと、ソースからレコードを受信するステップと、レコードをレンダリングするステップとを含む。
【００１１】
簡単に述べると、本発明の第３の態様は、メモリを有するプロセッサによってネットワーク内のデジタルメディアを管理する方法を対象とする。本方法は、レコードを識別するメタデータを含む楽曲を有するプレイリストを受信するステップと、所定の複数の認可済みソースからレコードを提供する第１のソースを検索するステップとを含む。検索により第１のソースが得られる場合、第１のソースからレコードがレンダリングされる。検索により第１のソースが得られない場合、レコードを提供する第２のソースを求めてネットワークが検索される。
【００１２】
簡潔に述べると、アーキテクチャにおいて、本発明の第４の態様は、ネットワークにおいてデジタルメディアをレンダリングするデバイスを対象とする。本デバイスは、ネットワークインターフェースと、メモリを有するプロセッサと、メモリに記憶された楽曲ライブラリと、メモリに記憶されたプレイリストとを備える。プロセッサは、メモリに記憶された非一時的命令を実行して、特定のオーディオパフォーマンスのレコードを識別するメタデータを有する楽曲を楽曲ライブラリ内に受信するステップと、楽曲をプレイリストに追加するステップと、楽曲を提供するソースを検索するステップと、ソースからレコードを受信するステップと、レンダリングデバイスによってレコードをレンダリングするステップとを実行するように構成される。レコードはレンダリング後、メモリ内に保持されない。
【００１３】
簡単に述べると、アーキテクチャにおいて、本発明の第５の態様は、第１のデジタルメディアレンダリングデバイス及び第２のデジタルメディアレンダリングデバイスを有するネットワークにおいてデジタルメディアをレンダリングするシステムを対象とする。第１のデジタルメディアレンダリングデバイス及び第２のデジタルメディアレンダリングデバイスはそれぞれ、ネットワークインターフェースと、メモリを有するプロセッサとを備え、このプロセッサは、メモリに記憶される非一時的命令を実行して、レコードを識別するメタデータを含む楽曲を楽曲ライブラリ内に受信するステップと、楽曲をプレイリストに追加するステップと、楽曲を提供するソースを検索するステップと、ソースからレコードを受信するステップと、レンダリングデバイスによってレコードをレンダリングするステップとを実行するように構成される。レコードはレンダリング後、メモリ内に保持されない。第２のデジタルメディアレンダリングデバイスは、第１のデジタルメディアレンダリングデバイスと同期してレコードをレンダリングするように切り替え可能に構成される。
【００１４】
簡単に述べると、アーキテクチャにおいて、本発明の第６の態様は、ネットワーク内でデジタルメディアをレンダリングするシステムを対象とする。本システムは、エージェント及びメディアレンダリングデバイスを備える。エージェントは、第１のネットワークインターフェースと、第１のメモリを有する第１のプロセッサとを備える。第１のプロセッサは第１のメモリに記憶される非一時的命令を実行して、デジタルメディアレコードを識別するメタデータを有する楽曲を有する第１のクエリを第１のネットワークインターフェースを介して受信するステップと、メタデータをフォーマット設定してデジタルメディアサービスへの第２のクエリにするステップと、第２のクエリを第１のネットワークインターフェースを介してデジタルメディアサービスに送信するステップとを含むステップを実行するように構成される。メディアレンダリングデバイスは、第２のネットワークインターフェースと、第２のメモリを有する第２のプロセッサとを備える。第２のプロセッサは、第２のメモリに記憶された非一時的命令を実行して、第１のクエリをフォーマット設定するステップと、第２のネットワークインターフェースを介して第１のクエリをエージェントに送信するステップと、デジタルメディアレコードをデジタルメディアサービスから第２のネットワークインターフェースを介して受信するステップと、デジタルメディアレコードをレンダリングするステップとを含むステップを実行するように構成される。デジタルメディアレコードはレンダリング後、メディアレンダリングデバイスに保持されない。
【００１５】
簡単に述べると、アーキテクチャにおいて、本発明の第７の態様は、メディアレンダリングデバイスとデジタルメディアサービスとの間の仲介者としての役割を果たすネットワークエージェントを対象とする。ネットワークエージェントは、ネットワークインターフェースと、メモリを有するプロセッサとを備える。プロセッサは、メモリに記憶された非一時的命令を実行して、ネットワークインターフェースを介して、メディアレンダリングデバイスから、デジタルメディアレコードを識別するメタデータを含む楽曲を有する第１のクエリを受信するステップと、メタデータをフォーマット設定して、デジタルメディアサービスのアプリケーションインターフェースに従う第２のクエリにするステップと、第２のクエリを、ネットワークインターフェースを介してデジタルメディアサービスに送信するステップとを含むステップを実行するように構成される。
【００１６】
本発明の他のシステム、方法及び特徴は、以下の図面及び詳細な説明を検討した当業者には明らかであるか又は明らかとなるであろう。全てのそのような更なるシステム、方法及び特徴は本明細書に含まれ、本発明の範囲内にあり、添付の特許請求の範囲によって保護されることが意図される。
【００１７】
添付の図面は、本発明の更なる理解をもたらすように含められ、本明細書の一部に組込まれ、本明細書の一部をなす。図面は本発明の実施形態を示し、明細書とともに、本発明の原理を説明する役割を果たす。
【図面の簡単な説明】
【００１８】
【図１】従来技術のデジタルマルチメディアハブを示す概略図である。
【図２】ライセンス管理メディアレンダリングデバイスの第１の例示的な実施形態のブロック図である。
【図３】図２のレンダリングデバイスによって実行される例示的なソフトウェアモジュールを示すブロック図である。
【図４】図２のプレイリストの例示的な構造のブロック図である。
【図５】幾つかのライセンス管理音楽レンダリングデバイスを有するシステムを示す概略図である。
【図６】ネットワークデバイスによってデジタルマルチメディアをレンダリングする第１の例示的な方法のフローチャートである。
【図７】ネットワークデバイスによってデジタルマルチメディアをレンダリングする第２の例示的な方法のフローチャートである。
【図８】本発明の機能を実行するシステムの例を示す概略図である。
【図９】本発明の機能を実行する外部エージェントを含む例示的なスピーカーシステムの概略図である。
【発明を実施するための形態】
【００１９】
ここで、本発明の実施形態を詳細に参照する。実施形態の例は添付の図面に示される。可能である限り、同じ参照符号は、図面及び説明において、同じ部分又は類似した部分を参照するのに用いられる。
【００２０】
以下の定義は、本明細書に開示する実施形態の特徴に適用される用語を解釈するのに有用であり、本開示における要素を定義することのみを意図したものである。特許請求の範囲において用いられる用語に対する限定は意図されておらず、これによって導出されるべきではない。添付の特許請求の範囲において用いられる用語は、適用可能な分野におけるそれらの慣例的な意味によってのみ限定されるべきである。
【００２１】
本開示において用いられるとき、「楽曲」とは、オーディオレコード及び／又はビデオレコードを識別するのに用いられるメタデータである。メタデータは、楽曲タイトル、演奏アーティスト、発行者、楽曲のバージョン、楽曲の長さ、楽曲のレコーディング日、楽曲の演奏がレコーディングされた場所を示すレコーディング地、楽曲のマスタリング日、及びレコードの特定のバージョンを識別する他の情報を含むことができる。楽曲は、オーディオ又はビデオ自体を含むのではなく、レコードを識別するのに用いられる情報のみを含む。楽曲は通常、所有権情報を含まない。楽曲のレコーディングは、楽曲をレンダリング（再生）するために必要である。「楽曲のレンダリング」は、楽曲によって識別されるレコードのレンダリングの簡潔表現である。
【００２２】
本開示において用いられるとき、「レコード」は、楽曲の再生をレンダリングするのに用いられる、記憶されたオーディオ及び／又はビデオ情報を指す。これは例えば、限定ではないが、磁気媒体上のアナログオーディオ、ＷＡＶ又はＭＰ３フォーマットのデータにおけるオーディオサンプル、又はＭＰ４若しくはＡＶＩフォーマットのデータ等の圧縮若しくは非圧縮デジタルビデオである。レコードのコンテンツは楽曲によって識別される。レコードはアナログ形態で、例えば磁気レコード媒体に記憶することもできるし、又はデジタル形態で、例えば、限定ではないが、磁気媒体、光媒体及び電子媒体を含むデジタルメディアに記憶されたアナログ波形のデジタル化サンプルとして記憶され得る。
【００２３】
本開示において用いられるとき、楽曲の「レンダリング」は、楽曲に関連付けられたレコードのオーディオ及び／又はビデオによる再現、例えば、レコードの記憶されたオーディオ／ビデオファイルの再生、又は楽曲によって識別されるレコードのストリーミングメディアの再生を意味する。
【００２４】
本開示において用いられるとき、「ソース」は、オーディオレコード及び／又はビデオレコードの提供者である。ソースは、レンダリングに利用可能な楽曲によって識別されるレコードを作成する。ソースの例は、データドライブ等のローカルメディア上に記憶されるオーディオファイル、及びサービス、例えばクラウドベースのメディアストリーミングサービス、又はインターネットラジオを含む。ソースは、デジタル出力又はアナログ出力（信号）を提供することができる。
【００２５】
本開示において用いられるとき、「プレイリスト」は、０個以上の楽曲の順序付けされたリストを含む変更可能なデータ構造である。プレイリストは、例えば、スピーカー、サーバー、又はスマートフォン／タブレットに記憶することができる。プレイリストは、楽曲を追加、削除及び／又は並べ替えするように変更することができる。プレイリストはオーディオコンテンツ又はビデオコンテンツを含んでいないので、一般的にサイズが小さく、したがって容易にトランスポート可能である。表示プレイリストは、プレイリスト内の楽曲をリストにするテキストであり、タイトル、アーティスト及び日付等の楽曲の識別パラメーターのサブセットを含むことができる。
【００２６】
本開示において用いられるとき、「ライブラリ」は、ストレージデバイスに記憶された楽曲の検索可能なリストである。プレイリストと異なり、ライブラリ内の楽曲は通常、順序付けされていない。ライブラリは通常、例えば、中でも、タイトル、アーティスト及びレコーディング日等のパラメーターによって、単一の楽曲及び／又は楽曲のクラスを突き止めるように検索可能である。ライブラリは、メディアレンダリングデバイスに利用可能であり得る。楽曲は、プレイリストに含めるためにライブラリから選択することができる。
【００２７】
プレイリスト及び／又はライブラリは、プレイリストのコンテンツの人間及び／又は機械可読リストを、例えば、レンダリングデバイスのユーザーインターフェースに、又はレンダリングデバイスと通信する電子デバイスに提供することによって、「発行」することができる。
【００２８】
本開示において用いられるとき、「ストリーミング」は、ソースによって受信デバイスにレコードのデジタルマルチメディアを送信するプロセスを指す。受信デバイスは、レコード全体が送信される前に、レコードのレンダリングを開始することができる。ストリーミングは通常一時的であり、したがって、ストリーミングされたデータは、レンダリングされた後、保持されない。受信ストリームの部分はレンダリングのためにバッファリングされ、例えば、ストリーミングされた送信の短い中断の間、レンダリングが中断されないことを確保することができる。対照的に、ダウンロードされたデジタルマルチメディアファイルは通常、その全体受信された後、レンダリングが可能になる。ダウンロードされたデジタルマルチメディアファイルは通常、後続のレンダリングのためにメモリ内に保持されるのに対し、ストリーミングされたファイルは通常、後続のレンダリングの場合に再ストリーミングされる。「楽曲のストリーミング」は、楽曲によって識別されるレコードのデジタルメディアのストリーミングの簡略表現である。
【００２９】
本開示において用いられるとき、「スピーカー」はレンダリングのためにネットワーク化されたマルチメディアオーディオデバイスであり、楽曲の少なくとも１つのプレイリストへのアクセス及び１つ又は複数のソースへのアクセスを有する。
【００３０】
認可済みソースとは、ソースと通信するスピーカー又は他のレンダリングデバイスのローカルエリアネットワーク（ＬＡＮ）内の少なくとも１人の個人にライセンス付与された１つ又は複数のレコードのソースである。ローカルソース、例えば、ＬＡＮ内のレコードを記憶するデバイスは通常、認可済みとみなされる。
【００３１】
本開示において用いられるとき、「トークン」は、ソースからの１つ又は複数の楽曲をレンダリングすることの認可の表現である。認可は、ソースの少なくとも１人のライセンス付与されたユーザー又はソースへの加入者によるソースへのアクセスを示す。例えば、トークンは、仮想の証明書とすることができ、Ｓｐｏｔｉｆｙ（商標）又はＲｈａｐｓｏｄｙ（商標）等のデジタルメディアサービスへのアクセスをスピーカーに提供することができる。
【００３２】
本明細書において用いられるとき、「ローカルメディア」は、１つ又は複数のレコードを記憶するストレージデバイスを有するソースであり、ソースは、レンダリングデバイスのＬＡＮ内に位置する。ローカルメディアにおけるレコードは、暗黙的なトークンを有するとみなすことができる。ローカルメディアの例は、ｍｐ３プレーヤー、ハードドライブ、サムドライブ、光ディスク（ＣＤ等）、及び家庭／施設の音楽サーバーへのアクセスを有するＬＡＮを含む。ローカルメディアは、アナログ又はデジタルのオーディオ及び／又はビデオインターフェース、コンピューターバス、例えばユニバーサルシリアルバス（ＵＳＢ）を介して、又はＢｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉｆｉ、ＲＦ若しくは他の無線接続手段を介して無線でスピーカーと通信することができる。
【００３３】
以下で説明する実施形態は通常、オーディオレコードのレンダリングについて記載しているが、他の実施形態は、中でもビデオ及び／又はオーディオを含む、他のタイプのマルチメディアレコードをレンダリングすることができることが理解されよう。
【００３４】
図２は、スピーカー２００の第１の実施形態を示す概略図である。スピーカー２００は、内部にメモリ３００を有するコントローラー２１０と、ネットワークインターフェース２３０と、ストレージデバイス２５０とを備える音楽再生及び認可管理デバイスである。コントローラー２１０はコンピューター及び／又はプロセッサとすることができ、通常、スピーカー２００の動作を制御する。
【００３５】
ユーザーインターフェース２８０は、スピーカー２００のユーザーに、スピーカー２００の様々なパラメーターを制御するためのアクセスを提供する。そのようなユーザーインターフェースの例は、限定ではないが、グラフィカルユーザーインターフェース（ＧＵＩ）を含むことができる。ユーザーインターフェース２８０には、例えば、スピーカー２００上の又はスピーカー２００に取り付けられたタッチスクリーン（図示せず）により、スピーカー２００から直接アクセスすることができる。スピーカーにおけるローカルユーザーインターフェースに替えて、又はそれに加えて、ユーザーインターフェースは、ローカルエリアネットワーク２６０における１つ又は複数のデバイス、例えば、スマートフォン２６２、タブレット２６４、ハンドヘルドｍｐ３プレーヤー２６６又はパーソナルコンピューター２６８上のアプリケーションにより提供することができる。
【００３６】
ユーザーインターフェース２８０を用いて、ストレージデバイス２５０に記憶されたプレイリスト２５８及び／又は楽曲ライブラリ２５２へのアクセスを提供することができる。プレイリスト２５８は、スピーカー２００による再生のために順序付けされたキュー（例えば、順次、ランダム）内の１つ又は複数の楽曲をリストにする。ユーザーインターフェース２８０は、例えば、楽曲ライブラリ２５２からのプレイリスト２５８に楽曲を追加することによって、ユーザーがプレイリスト２５８を管理することを可能にする。楽曲ライブラリ２５２は、スピーカー２００によってレンダリングするために利用可能な全ての楽曲のリストである。ユーザーは、以下で更に説明するように、プレイリスト２５８内の楽曲を削除又は並べ替えすることもできる。
【００３７】
スピーカー２００は、オーディオファイルをレンダリングするための幾つかのコンポーネントを備える。補助オーディオ入力２４２は、補助オーディオ入力２４２に接続されたローカルメディアデバイス２７０に物理的に接続し、そこからオーディオレコードを受信するのに用いられる。例えば、補助オーディオ入力２４２は、ＭＰ３プレーヤー、光ディスクプレーヤー、写真プレーヤー、又はアナログオーディオ再生若しくはデジタルオーディオ再生を提供する他のデバイスに接続されたアナログオーディオケーブル又はデジタルオーディオケーブルを接続するためのケーブルレセプタクルを備えることができる。同様に、補助オーディオ入力２４２は、デジタルメディアアクセスポートとすることができる。デジタルメディアアクセスポートは、例えば、サムドライブ若しくはハードドライブ等の、デジタルオーディオファイルを記憶するローカルメディアデバイス２７０、又はスマートフォン２６２を接続するためのユニバーサルシリアルバス（ＵＳＢ）ポートである。
【００３８】
オーディオプロセッサ２４０は、スピーカー２００によって受け入れられる１つ又は複数の形態、例えば、デジタルオーディオファイル、デジタルオーディオストリーム、及び補助オーディオ入力２４２を介して受信されるオーディオ信号の形態でレコードを処理するのに用いられる。オーディオプロセッサ２４０は、デジタルデータを、例えば、デジタル／アナログコンバーター（ＤＡＣ）を用いてオーディオ信号に変換し、オーディオ処理機能、例えば、中でも、等価、圧縮、フィルタリング、及び音量制御を提供することができる。オーディオプロセッサ２４０は、オーディオアンプ２４４にオーディオ信号を提供する。オーディオアンプ２４４は、オーディオプロセッサ２４０からのオーディオ信号を増幅するための利得段を提供する。オーディオアンプ２４４は、増幅したオーディオ信号を１つ又は複数のオーディオトランスデューサー２４８に提供する。オーディオトランスデューサー２４８は、オーディオアンプ２４４からの増幅したオーディオ信号を音波に変換する。
【００３９】
本発明の代替的な実施形態によれば、オーディオプロセッサ２４０、オーディオアンプ２４４及び／又はオーディオトランスデューサー２４８は、スピーカー２００内の他のコンポーネントと別個に収容することができる。更に、本発明の別個の代替的な実施形態によれば、コントローラー２１０、ネットワークインターフェース２３０及び／又はストレージデバイス２５０は、スピーカー２００から取外し可能とすることができるか、又はスピーカー２００と通信するスタンドアローン型ユニットとすることができる。
【００４０】
ストレージデバイス２５０は、ソース２５４のリストを含む。ソース２５４はスピーカー２００の１人又は複数のユーザーから収集されたものであり、楽曲ライブラリ２５２内の任意の楽曲にアクセスするために参照可能である。
【００４１】
複数の判断基準に基づいてソースを優先順位付けすることができる。そのような判断基準は、限定ではないが、スピーカー２００とソースとの間のネットワーク接続の品質（速度、輻輳、ネットワークホップ数）、ソースを用いるコスト、ソースが或る期間にわたってアクセスすることができる曲数に対する制限を有するか否か、及びサービスによって提供されるオーディオ品質（ビット深度、サンプリングレート、圧縮フォーマット）を含むことができる。例えば、ソースＡ及びソースＢが共に楽曲１を提供する場合、スピーカー２００は、ソースＡが、ソースＢによって提供される楽曲１のレコードよりも高いオーディオ品質を有する楽曲１のレコードを提供する場合、ソースＡに楽曲１を要求することができる。
【００４２】
トークンは、デジタルメディアファイルへのアクセスが認可済みであることの証明をソースに提供するのに用いられる。ストレージデバイス２５０は、トークン２５６のリストを含む。トークンは、個々の楽曲、ソースへの加入者、又はソースに関連付けることができる。トークンは、楽曲がプレイリスト２５８及び／又は楽曲ライブラリ２５２に追加される時点で、ソース若しくはソースへの加入者によってスピーカー２００に提供することもできるし、又は楽曲のメディアファイルがレンダリングされる時点よりも僅かにのみ前に提供することもできる。トークンが、実質的にレンダリング時、例えば楽曲がプレイリストの先頭に到達する時点又はそれに近い時点に提供される場合、スピーカー２００は、ストレージデバイス２５０内にトークン２５６のリストを記憶することができない。一方、トークンがレンダリングよりも大幅に前の時点、例えば、楽曲がプレイリスト又はライブラリに追加される時点にスピーカー２００に提供されるとき、ストレージデバイス２５０におけるトークン２５６のリストにトークンを記憶することができる。
【００４３】
トークンは、ソースからデジタルメディアファイルにアクセスする認可を提供する。トークンは、ソースの加入者又はアカウントホルダーの識別情報、例えば、ユーザー名及びパスワード又は個人識別番号（ＰＩＮ）を提供することができる。識別情報は、識別情報を確保するために暗号化されることが好ましい。代替的に、トークンは識別情報を含まず、代わりに、ソースへのアクセスを認証するのに用いられる認可プロトコルを示す情報を含む場合がある。
【００４４】
加入者がスピーカー２００におけるプレイリスト２５８に楽曲を追加するとき、コントローラー２１０は、ソースから、加入者に関連付けられた１つ又は複数のトークンを取得することができる。トークンは、ソースから利用可能な全ての楽曲に対する認可を提供することもできるし、又は、ソースから利用可能な１つ若しくは複数の楽曲のサブセットに対する認可のみを提供することもできる。一般に、トークンは、ソースからレンダリングされる楽曲をストリーミングするための、ソースによって提供される認可である。トークンは、トークンと引き換えに、ソースのユーザー／加入者の識別証明書を提供することによってソースから取得することができる。一般に、トークンの形態はソースによって決定され、ソースごとに異なる形態又はフォーマットを有することができる。
【００４５】
ソースは、幾つかの方法でトークンの受信に応答することができる。例えば、ソースは、例えば、ダウンロード又はストリーミングにより、レンダリングのための送信をすぐに開始することができる。ソースは、代わりに、トークンに確認応答し、レンダリングのための送信を開始するために、後続のコマンドを待つこともできる。代替的に、ソースはトークンを拒否し、否定応答メッセージを用いてコントローラー２１０にトークンが無効であることを示すこともできる。各ソースは独自のインターフェースを有することができ、ソースマネージャー３５４（図３）によって管理することができる。
【００４６】
オーディオバッファー２５９は、レンダリングされている楽曲のオーディオデータを一時的に記憶するのに用いられるストレージデバイス２５０の一部である。例えば、オーディオバッファー２５９は、オーディオプロセッサ２４０によって、レンダリングするためのオーディオストリームの部分をまとめるのに用いることができる。オーディオストリームは、ソースによってスピーカー２００にストリーミングされる。
【００４７】
代替的に、オーディオバッファー２５９は、ＬＡＮ２６０内のユーザーのユーザーデバイス２６２、２６４、２６６、２６８から転送されたレコードを一時的に記憶することができる。そのようなレコードは通常、関連付けられた楽曲メタデータがプレイリスト２５８の先頭に到達する時点又はその直前にユーザーデバイス２６２、２６４、２６６、２６８から読み込まれ、楽曲がオーディオプロセッサ２４０によってレンダリングされている間にオーディオバッファー２５９に記憶され、次に、レンダリングが完了した後、オーディオバッファー２５９から消去されるか又はオーディオバッファー２５９において上書きされる。オーディオバッファー２５９は、揮発性ストレージ、例えば読出し専用メモリ（ＲＡＭ）において実装することができ、それによって、オーディオバッファー２５９のコンテンツはスピーカー２００のパワーサイクルにわたって保持されない。
【００４８】
本システム及び方法は、レコードが、レンダリングの開始時にレコードの所有者又はライセンシーがＬＡＮ２６０内に存在しているときにのみレンダリングされることを確保する。コントローラー２１０は、ＬＡＮ２６０内のデバイス２６２、２６４、２６６、２６８（おそらく、施設にいる人物のデバイス）からのみレコードをダウンロードし、レンダリング中のみレコードを保持することによってこれを行う。レコードは、所望するだけ何度でもレンダリングすることができるが、各レンダリングの前に、所有者／ライセンシーデバイスからオーディオバッファー２５９に新たにダウンロードされることが好ましい。レコードの新たなレンダリングは、レコードの所有者／ライセンシーがネットワークを出た後は、レコードの別のソース、例えば、レコードを提供するプロバイダーに加入するＬＡＮ２６０内の別の個人が見つかるまで開始することができない。
【００４９】
ネットワークインターフェース２３０は、スピーカー２００と、ローカルエリアネットワーク２６０と、インターネット２９０と、セルラーネットワーク２８５との間のインターフェースを提供する。ネットワークインターフェース２３０は、ユーザーが、ソースを求めて、ローカルエリアネットワーク２６０、インターネット２９０及びセルラーネットワーク２８５のうちのいずれを検索し又はそこにアクセスすることができるかを選択することを可能にすることができる。
【００５０】
代替的な実施形態では、楽曲、例えばアクティブプレイリスト内の楽曲を提供するいかなるソースにも有効なトークンが利用可能でない場合、ユーザーは、例えば、音楽サービスに加入するか、オーディオファイルをダウンロードするか、又はクラウド音楽サービスに楽曲を追加することによる、トークンを取得する機会を提案される。そのようなトランザクションは、購入エージェント（purchasing agent）３６０（図３）によって仲介することができる。
【００５１】
スピーカー２００は、楽曲ライブラリ２５２からの任意の楽曲をプレイリスト２５８に追加することができる。楽曲ライブラリ２５２は動的とすることができ、追加のソースがＬＡＮ２６０に利用可能になると拡張することができ、ソースがもはやアクセス可能でなくなると収縮することができる。楽曲ライブラリ２５２は、ＬＡＮ２６０内のデバイス２６２、２６４、２６６、２６８に記憶される全ての楽曲、及びデバイス２６２、２６４、２６６、２６８に利用可能なソースを介してデバイス２６２、２６４、２６６、２６８にアクセス可能な全ての楽曲を含むことができる。楽曲ライブラリ２５２内の楽曲は、楽曲の唯一のソースがもはやＬＡＮ２６０にアクセス可能でない場合、例えば、楽曲の唯一のソースを提供するデバイス２６２、２６４、２６６、２６８がオフにされるか、又はＬＡＮ２６０から物理的に取り外されるか若しくは他の形でＬＡＮ２６０にアクセス不可能になる場合に、ライブラリ２５２から削除することができる。
【００５２】
プレイリスト２５８内の楽曲は、１回又は複数回レンダリングすることができる。例えば、第１のソースの場合、楽曲のレンダリングは、第２のトークンを取得する必要なく繰り返すことができる。一方、第２のソースは、レンダリングごとに新たなトークンが取得されることを必要とする場合がある。第３のソースは、タイムスタンプをトークンに関連付けることができ、それによって、スピーカー２００は、或る時間ウィンドウ内、例えば、タイムスタンプによって示される１時間又は１日の時間内で単一のトークンを用いて任意の回数楽曲をレンダリングすることができる。
【００５３】
トークンの無効化、取り消し又は満了によって、スピーカー２００は、ソースに応じて様々な方法で応答する場合がある。第１のソースからレンダリングされている楽曲は、スピーカー２００に、即座にレンダリングを中止させ、プレイリスト２８０内の次の楽曲のレンダリングに進ませる場合がある。代替的に、第２のソースからレンダリングされている楽曲は、トークンが満了しているか又は無効化されているとき、再生を継続することができるが、同じソース又は別のソースから別のトークンを取得することなく後続のレンダリングを行うことを防ぐようにプレイリスト２８０から削除される。
【００５４】
ユーザーが楽曲をスピーカー２００に利用可能にするとき、楽曲は、スピーカープレイリスト２５８、楽曲ライブラリ２５２又は双方に追加することができる。ユーザーがオンライン音楽サービスを介してレコードにアクセスを有する場合、ユーザーはトークンをスピーカー２００に転送し、ユーザーがスピーカー２００の付近にいる間、スピーカー２００がオンライン音楽サービスを介して楽曲にアクセスすることを認可することができる。例えば、スピーカー２００は、以下で更に説明するように、トークンを取得するために、音楽サービスとインタラクトする仲介ウェブサーバー（図示せず）と通信することができる。スピーカー２００の近接性は、幾つかの手段、例えば、ＬＡＮ２６０内のユーザーに属するＷｉＦｉ対応デバイス２６２、２６４、２６６、２６８を検出することによって判断することができる。
【００５５】
図３に示すように、コントローラー２５０は、スピーカー（図２）の特定のタスクを管理するための幾つかのソフトウェアモジュールを含むことができる。図３は幾つかの例示的なモジュールを示すが、これらのモジュールはスピーカー（図２）の全ての実施形態に存在するわけではない場合がある。同様に、図３には示されない追加のモジュールがスピーカー（図２）に含まれる場合がある。代替的な実施形態では、図３に示すモジュールのうちの１つ又は複数によって実行される機能は、スピーカー（図２）の外部のデバイス、例えば、以下で更に説明するように、スピーカー２００（図２）と１つ又は複数のソースとの間のエージェントとしての役割を果たす仲介ウェブサーバーによって実行されてもよい。
【００５６】
ユーザーインターフェースマネージャー３８０は、ユーザーがプレイリスト２５８（図４）を管理することを可能にする。以下で更に説明するように、この能力において、ユーザーインターフェースマネージャー３８０は、ユーザーとプレイリストマネージャー３５８との間のインターフェースとしての役割を果たし、ユーザーに、プレイリストマネージャー３５８の機能、例えば、プレイリスト２５８（図４）をプレイリスト２５８内の次の楽曲に進めること、楽曲をプレイリスト２５８から削除すること、楽曲ライブラリ２５２からの楽曲をプレイリスト２５８（図４）に追加することのうちの１つ又は複数へのアクセスを提供する。
【００５７】
ユーザーインターフェースマネージャー３８０は、ユーザーが、例えば、アーティスト、タイトル、ジャンル、レコーディング日等によって、スピーカー上の楽曲ライブラリ２５２（図２）をブラウズすることを可能にするブラウザーを提供する。ブラウザーは楽曲ライブラリマネージャー３５２とインタラクトすることができる。例えば、ユーザーは、アーティスト名をブラウザーに入力することができ、ユーザーインターフェースマネージャー３８０は、そのアーティストによる楽曲ライブラリ２５２（図２）内の全ての楽曲を含む第１のリストを編集する。次に、ブラウザーは、第１のリスト内の楽曲ごとに現在のソースが利用可能であるか否かに関してソースマネージャー３５４に問い合わせることによって、ソースマネージャー３５４とインタラクトすることができる。楽曲レコードを提供するソースが利用可能である場合、ユーザーインターフェースマネージャー３８０は、トークンマネージャー３５６に問い合わせて、楽曲のための有効なトークンが存在するか否かを判断し、存在する場合、楽曲が第２のリストに追加される。次に、ユーザーインターフェースマネージャー３８０は、第１のリスト及び／又は第２のリストを、ユーザーインターフェース２８０（図２）を介して、例えば、スクロール可能なウィンドウにおいてユーザーに提供することができる。次に、ユーザーは、プレイリスト２５８（図４）に追加される楽曲を第１のリスト又は第２のリストから選択することができる。上記で説明したように、第２のリスト内の楽曲はソースにより検証済みであるため、楽曲は第２のリストからプレイリスト２５８（図４）に直接移すことができる。第１のリストから選択された楽曲は、ソースマネージャー３５４及び／又はトークンマネージャー３５６により検証することができ、その後、プレイリスト２５８（図４）に移される。
【００５８】
ソースマネージャー３５４は、外部ソースによって提供されるインターフェース、例えば、ソースによって提供されるウェブサイト又はアプリケーションインターフェース（ＡＰＩ）を介して、デジタルメディアサービス２９５（図２）等の外部ソースとインタラクトすることができる。ソースマネージャー３５４は、楽曲メタデータを、ソースのＡＰＩに従ってメッセージ又はクエリに変換し、楽曲の利用可能性を判断し、他の情報、例えば、限定ではないが、楽曲をストリーミングするための価格情報、楽曲に関連付けられた挿絵、楽曲の歌詞、及び楽曲を演奏するアーティストに関する情報を取得する。
【００５９】
ユーザーインターフェースマネージャー３８０は、ユーザーが、ユーザーの楽曲コレクションからの１つ又は複数の楽曲を楽曲ライブラリに利用可能にすることも可能にする。例えば、ユーザーは、ユーザーのコレクションから楽曲を再生するためのスマートフォン等の音楽レンダリングデバイスを有することができる。幾つかの楽曲は、スマートフォンに記憶されるレコードと関連付けることができ、他の楽曲はクラウドサービスを介して利用可能であり、また他の楽曲は加入サービスにより利用可能である。
【００６０】
ルームマネージャーモジュール３２０は、以下で更に説明するように、複数のスピーカー（図２）のレンダリングを同期させるのに用いられる。ネットワークマネージャーモジュール３００は、スピーカー２００（図２）が通信する様々なネットワーク、例えばＬＡＮ２６０（図２）及びセルラーネットワーク２８５（図２）における設定を管理するのに用いられる。レンダリングマネージャーモジュール３４０は、ネットワークインターフェース（図２）を介してオーディオプロセッサ２４０（図２）に受信されたストリーム及びダウンロードのルーティングを扱う。購入エージェント３６０は、楽曲のソースがいずれも現在スピーカー（図２）に利用可能でない場合、レコードの購入を仲介する。
【００６１】
プレイリスト２５８は、スピーカー２００のストレージデバイス２５０におけるデータ構造である。図４は、プレイリスト２５８の例示的な構造を示すブロック図を示す。プレイリスト２５８はｎ個の楽曲を含む。ここで、ｎは非負の整数である。ユーザーは、プレイリスト、例えば、ネットワークデバイス２６２、２６４、２６６、２６８（図２）上のアプリケーションとインタラクトすることができる。プレイリスト２５８は、例えばプレイリストマネージャーモジュール３５８（図３）を用いて、楽曲を追加することによって拡張することができるか、又は楽曲を削除することによって縮小することができる。プレイリスト２５８は、図４に楽曲0として示される、スピーカー２００（図２）によってレンダリングされる次の楽曲の位置を示す先頭４１０を有する。楽曲は、オーディオプロセッサ２４０（図２）によって、レンダリングのための先頭位置から削除される場合がある。この時点で、以前の先頭位置から順次後ろの楽曲が、先頭位置、例えば図４の楽曲1に移る。末尾４２０は、プレイリスト内の最後の楽曲を示す。幾つかの実施形態では、先頭は、現在レンダリングされている楽曲を指すことができる。
【００６２】
当業者であれば、実施時に、ストレージデバイス２５０（図２）内の楽曲のロケーションは、楽曲がキューに追加されるか、キューから削除されるか、又はキュー内で並べ替えされるときに一般的に変化しないことを認識するであろう。代わりに、ストレージデバイス２５０（図２）内の楽曲メタデータを動かすことなくプレイリスト内の楽曲を管理するためのメカニズム、例えば、一重又は二重にリンクされたリストが利用される。実際に、プレイリスト２５８は、楽曲データを含む別個のデータ構造ではない場合があり、代わりに、楽曲ライブラリ２５２（図２）内に記憶される楽曲データファイル又はデータ構造を参照するリンクされたリストである場合がある。
【００６３】
プレイリスト２５８（図２）は、線形として示されているが、他のタイプのプレイリストが可能である。例えば、円形のキュー型のプレイリストが連続再生することができる。そのような円形構造では、先頭４１０及び末尾４２０は隣接しているものとみなすことができる。
【００６４】
プレイリスト２５８に移された楽曲を、先頭４１０に移して先頭に置き換えるか、末尾４２０に移すか、又は先頭と末尾との間の任意の位置に移して、例えば、現在再生中の楽曲（先頭４１０）の直後に再生するように楽曲をキューに入れることができる。幾つかの状況では、先頭４１０及び末尾４２０は、例えば、単一の楽曲を含むプレイリスト２５８において同じ楽曲を指すことができる。同様に、空のプレイリスト２５８の場合、先頭４１０及び末尾４２０の双方がヌルエントリーを指すことができる。
【００６５】
スピーカー２００（図２）は、１つ又は複数のプレイリスト２５８を記憶することができ、ユーザーインターフェース２８０（図２）を介してレンダリングされるプレイリストのうちの１つを指定することができる。レンダリングされているプレイリストはアクティブプレイリストである。
【００６６】
スピーカーの所有者でないユーザーのデバイスからスピーカーへのレコードの転送は通常、幾つかの状況において音楽ライセンス付与合意に違反する場合があるので、ユーザーのデバイスにおけるレコードは、楽曲がレンダリングのためのプレイリストの先頭に達するとき、代わりに、ユーザーデバイスからスピーカー（図２）にストリーミングすることができる（以下を参照されたい）。ストリーミングは、無線、例えば、中でも、ＷｉＦｉ又はＢｌｕｅｔｏｏｔｈ（登録商標）接続を介して行うことができる。
【００６７】
システムにおいて２つ以上のスピーカーをリンクさせることができる。互いの可聴範囲内に複数のスピーカーが用いられているとき、通常、それらのスピーカーがそれぞれ同じプレイリストを再生することが望ましい。そのような構成におけるスピーカーは、同じ「部屋」又は「ステージ」にあるとみなされ、同じトランスポート（開始及び停止)制御に応答し、同じプレイリストにアクセスするようにリンクさせることができる。共通ネットワークにおける別個の部屋内のスピーカーも同様にリンクさせることができる。幾つかの状況において、別個の部屋内のスピーカーが共通の楽曲ライブラリを共有するが、リンクされず、このため異なる部屋が独立したプレイリスト及びスピーカートランスポート制御を有することができることが望ましい場合がある。
【００６８】
リンクされたスピーカーは、１つのスピーカーがプライマリ又はマスターとして動作するように構成することができ、それによって、プライマリスピーカーの制御部及びメモリを用いて１つ又は複数のセカンダリ（スレーブ）スピーカーが制御され、セカンダリスピーカーは、プライマリスピーカーからセカンダリスピーカーにストリーミングされたオーディオをレンダリングし、ユーザーインターフェースコマンドをプライマリスピーカーに中継するにすぎない。代替的に、当該技術分野の当業者にはよく知られているように、リンクされたスピーカーは、メモリ及び処理能力等のリソースを共有し、本質的に分散システムとしてふるまうことができる。
【００６９】
図５は、マルチスピーカーシステムの例示的な実施形態を示す。家５００は、３つの部屋５０１、５０２、５０３に配置された４つのスピーカー２００ａ〜ｄを備える。家５００は、実質的に、ローカルエリアネットワーク２６０、例えば、家庭用無線ネットワークに含まれる。第１の部屋５０１は、第１のスピーカー２００ａ及び第２のスピーカー２００ｂを備える。第２の部屋５０２は第３のスピーカー２００ｃを備える。第３の部屋５０３は第４のスピーカー２００ｄを備える。第１のスピーカー２００ａ、第２のスピーカー２００ｂ及び第３のスピーカー２００ｃは、第１のスピーカー２００ａと第２のスピーカー２００ｂとの間の第１の制御リンク５１２、及び第２のスピーカー２００ｂと第３のスピーカー２００ｃとの間の第２の制御リンクによって示されるように、共通制御される。上記で説明したように、リンクされたスピーカー２００は、共通の第１のプレイリスト（この場合はプレイリスト５１１）、及び第１のプレイリスト５１１からレンダリングする楽曲のための共通トランスポート制御部を共有する。対照的に、第３のスピーカー２００ｃと第４のスピーカー２００ｄとの間のリンク５３４等の開いたリンクは、第３の部屋５０３内の第４のスピーカー２００ｄが独立したトランスポート制御部を有し、第４のスピーカー２００ｄが独立した第２のプレイリスト５１４から楽曲をレンダリングすることを示す。
【００７０】
説明の目的で、第１の部屋５０１は、キッチン及びリビングルームが組み合わされた空間である場合があり、第１のスピーカー２００ａがリビングルームにあり、第２のスピーカー２００ｂがキッチンに配置されている。第２の部屋５０２は第３のスピーカー２００ｃを含む私室とすることができ、それによって、キッチン、リビングルーム及び私室内の人物は全て第１のプレイリスト５１１のレンダリングを聴いている。第３の部屋５０３は地下室とすることができ、第４のスピーカー２００ｄは、第２のプレイリスト５１４を独立してレンダリングしている。
【００７１】
上記で説明したように、第１のプレイリスト５１１及び第２のプレイリスト５１４は共に、楽曲ライブラリ２５２（図２）から楽曲を取り出す。ここで、楽曲ライブラリ２５２（図２）は、スピーカー２００ａ〜ｄのうちの任意の１つにおけるストレージデバイス２５０（図２）に記憶することもできるし、スピーカー２００ａ〜ｄの全てに冗長記憶することもできるし、２つ以上のスピーカー２００ａ〜ｄにおけるストレージデバイス２５０（図２）にわたって分散させることもできる。
【００７２】
図５は、簡単にするために、スピーカー２００ａ〜ｄを直列でリンクされているものとして示しているが、他のリンク接続、例えば、スター型接続、又は仮想ハブ（図示せず）を介したＬＡＮ２６０を通じた個々の接続が好ましい場合もある。同様に、図面はスピーカー間のリンクを開いたスイッチ及び閉じたスイッチとして示しているが、これは、リンクがスピーカー２００間で通信を確立又は中断することを示すものではない。そうではなく、スイッチは単に、閉じたリンクが、スピーカー間の制御関係を確立し、開いたリンクが独立した制御を示すことを示している。
【００７３】
また、スピーカー２００ａ〜２００ｄは互いに有線接続することもできるし、又はＬＡＮ２６０（図２）若しくはセルラーネットワーク２８５（図２）を介して共に無線ネットワーク化することもできることにも留意されたい。
【００７４】
図６は、ネットワーク化されたレンダリングデバイスによってデジタルメディアをレンダリングする方法の第１の例示的な実施形態のフローチャートである。フローチャートの任意のプロセスの説明又はブロックは、プロセス内の特定の論理機能を実施するための１つ又は複数の命令を含むモジュール、セグメント、コード部又はステップを表すものとして理解されるべきであり、本発明の当該技術分野における或る程度の知識を有する当業者によって理解されるように、関与する機能に応じて、機能が、実質的に同時に又は逆の順序で実行されることを含めて、示したもの又は論考したものと異なる順序で実行される場合がある代替的な実施態様が本発明の範囲内に含まれることに留意されたい。
【００７５】
図６のフローチャートは、本発明のレンダリングデバイス、例えば、図２に示すようなスピーカー２００等のレンダリングデバイスの第１の実施形態に追加される楽曲のライフサイクルをマッピングする。上記で説明したように、楽曲は通常、レコードを識別するメタデータのコレクションである。ブロック６１０に示すように、楽曲は、楽曲ライブラリマネージャー３５２（図３）によってレンダリングデバイスの楽曲ライブラリ内に受信される。例えば、楽曲は、レコードメディアファイルを含む電子デバイスのユーザーによって選択可能とすることができるか、又はネットワークを介して楽曲レンダリングデバイスに利用可能な音楽ストリーミングソースから利用可能とすることができる。
【００７６】
ブロック６２０に示すように、楽曲はプレイリストマネージャー３５８（図３）によってライブラリから選択され、プレイリスト２５８（図４）に追加される。この選択は、ライブラリからの楽曲をリストにするアプリケーション、例えば、ユーザーインターフェースマネージャー３６０（図３）によるものとすることができる。レンダリングデバイスは、ブロック６３０に示すように、楽曲のレコードを提供するソースを検索する。この検索は、ソースマネージャー３５４（図３）によって行われ、楽曲がプレイリストの先頭に到達するとき、又はその直前に生じることができる。上記で説明したように、ソースは、中でも、ローカルストレージデバイス、ネットワーク化ストレージデバイス、又はデジタルメディアストリーミングサービスとすることができる。ブロック６３５によって示すように、分岐は、検索により、楽曲のソースが利用可能であると判断されるか否かに応じて生じる。楽曲のソースが利用可能でない場合、ブロック６９０に示すように、楽曲は、楽曲ライブラリマネージャー３５２（図３）によってライブラリから削除され、プレイリストマネージャー３５８（図３）によってプレイリストから削除される。
【００７７】
ブロック６４０によって示すように、ソースが利用可能である場合、楽曲レンダリングデバイスのトークンマネージャー３５６（図３）は、ソースのためのトークンを取得することを試みる。例えば、トークンマネージャー３５６（図３）は、ソースによって提供されるネットワークサーバーに直接トークンを要求するメッセージを送信することができる。トークンを要求するメッセージは、例えば、ソースに対する加入者の識別情報、加入者がアクセスすることができるサービスのタイプ、要求されている楽曲、及びソースへのアクセスキー、例えばアカウントパスワードを含むことができる。代替的に、トークンの要求は、トークンマネージャー３５６（図３）と１つ又は複数の楽曲リソースとの間のエージェントとしての役割を果たす仲介ウェブサーバー又はプロキシサーバーによって処理することができる。プロキシサーバーは、トークンマネージャー３５６（図３）からのトークン要求を受理し、ソースによって提供される特定のＡＰＩに従ってトークン要求をフォーマット設定する。このようにして、レンダリングデバイスは、ソースが追加されるか自身のＡＰＩを変更するときに更新される必要がなく、代わりに、プロキシサーバーのみが更新されればよい。
【００７８】
ブロック６４５に示すように、分岐は、トークンマネージャー３５６（図３）が、トークンが利用可能であると判断するか否かに応じて生じる。トークンが利用可能でない場合、ブロック６９０によって示すように、楽曲はライブラリ及びプレイリストから削除される。トークンが利用可能である場合、ブロック６５０に示すように、楽曲レンダリングデバイスのトークンマネージャー３５６（図３）は、トークンをソースに提供し、レンダリング可能な楽曲データ（レコード）の送信をソースに要求する。
【００７９】
幾つかの例において、トークンは有効でない場合がある。例えば、トークンに関連付けられたソースのユーザーは、別のネットワークからのソースにアクセスし、それによってトークンを無効にすることができる。例えば、ソースは、トークンに関連付けられたユーザーが現在、例えば別のネットワークのソースからの別のストリームにアクセスしている場合、トークンを拒否することができる。そのような例では、ブロック６５５に示すように、分岐は、検索によってトークンが有効であると判断されるか否かに依拠して生じる。ブロック６９０に示すように、トークンが有効でない場合、楽曲はライブラリ及びプレイリストから削除される。トークンが有効である場合、ソースは、レコードをレンダリングデバイスに送信することを開始することができる。例えば、ソースは、ネットワークを介してレンダリングデバイスに宛てられた楽曲のレコードのデジタルメディアをストリーミングすることができる。ブロック６６０に示すように、レンダリングデバイスは、レンダリング可能な楽曲データを受信し、ブロック６７０に示すように、レンダリングマネージャー３４０（図３）は楽曲データをレンダリングする。楽曲データがレンダリングされた後、ブロック６８０に示すように、レンダリングデバイスはプレイリストから楽曲を削除することができる。１つの実施形態によれば、楽曲は、プレイリストから削除された後、ライブラリに留まることができる。次に、ブロック６２０に示すように、楽曲は、プレイリストマネージャー３５８（図３）によって再びプレイリストに追加することができる。
【００８０】
代替的な実施形態において、楽曲をレンダリングすることができない場合に楽曲をライブラリ及び／又はプレイリストから削除する代わりに、レンダリングデバイスはライブラリ及び／又はプレイリストから楽曲を除去せず、単にプレイリスト内の次の楽曲に進むことができる。未来の時点において、レンダリングデバイスは、再びその楽曲をレンダリングしようとすることができる。
【００８１】
ネットワークデバイス、例えばスマートフォン上のアプリケーションが、入力としてプレイリストを受信し、レンダリングのためにプレイリスト内の楽曲のソースを検索することができる。アプリケーションのユーザーが加入したソースがいずれもプレイリスト内の楽曲を提供しない場合、アプリケーションは楽曲を提供するソースのリストを提供し、ユーザーに、楽曲を購入するオプションを与えることができる。例えば、アプリケーションは、ソースのリストからのソースに反復的に接触し、楽曲の利用可能性、並びに、楽曲が利用可能である場合、楽曲にアクセスするための課金及び購入オプションについて各ソースに問い合わせることができる。代替的に、アプリケーションは、上記で説明したように、楽曲ソースとインタラクトするエージェントとしての役割を果たす仲介ウェブサーバーと通信することができる。アプリケーションは、幾つかの方法で、例えば、ネットワークのユーザーが加入したソースを価格順に最初に提示することによって、返された結果を順序付けすることができるか、又はソースはアプリケーションプロバイダーによる収益合意に基づいて優先順位付けすることができる。
【００８２】
図７は、ネットワークデバイスによってデジタルメディアをレンダリングする第２の方法を示すフローチャートである。第２の方法の下で、デバイス又はアプリケーションは、デバイス／アプリケーションにアクセス可能な楽曲のライブラリに関連付けられていない場合がある楽曲のプレイリストを受信する。ブロック７１０に示すように、プレイリストは、デバイス／アプリケーションによって受信される。プレイリストは、１つ又は複数の楽曲を含み、ここで、各楽曲は、特定のオーディオパフォーマンスのレコードを識別するメタデータを含む。概して、楽曲は、レコードをレンダリングするためのデータを含まない。デバイス／アプリケーションは、所定の複数の認可されたソースからレコードを提供する第１のソースを検索する。例えば、特定のデバイス／アプリケーションは、第１のソースとしてローカルハードドライブ上のメディアファイルにアクセスすることができる場合があり、第２のソースとして第１のストリーミングデジタルメディアサービスにアクセスする認可を与えられる場合がある。デバイス／アプリケーションは、ローカルハードドライブのファイルのインデックスをブラウジングし、検索クエリを第１のストリーミングサービスに送信することによって楽曲を提供する第１のソースを検索することができる。デバイス／アプリケーションが、検索結果として楽曲の第１のソースを見つけ、それによって楽曲のソースが利用可能であると判断する場合（ブロック７３０）、ブロック７４０に示すように、デバイス／アプリケーションは、第１のソースによって提供されるレコードをレンダリングする。例えば、このレンダリングは、ストレージにおけるメディアファイルの再生、又はストリーミングサービスからのストリームのレンダリングを含むことができる。
【００８３】
第１のソースが、デバイス／アプリケーションに利用可能な複数の認可済みソースのうちの１つでない場合、ブロック７５０に示すように、デバイス／アプリケーションは、レコードを提供する第２のソースを求めてネットワークを探索する。例えば、デバイス／アプリケーションは、現在デバイス／アプリケーションによって加入されていないストリーミングソース、又はメディアファイルダウンロードを提供する小売業者を見つけるためにインターネットをブラウジングすることができる。次に、デバイス／アプリケーションは、このデバイス／アプリケーションのユーザーに、例えば、ダウンロードを購入するか、１ショットストリームを購入するか、又はストリーミングサービスに加入することによって、第２のソースからレコードをレンダリングすることの認可を得ることをユーザーが望む否かを問い合わせることができる。デバイス／アプリケーションは、ユーザーと第２のサービスとの間の認可を仲介し、次に、第２のソースからレコードをレンダリングすることができる。次に、デバイス／アプリケーションは、楽曲の後続のソースの検索のために、第２のソースを所定の複数の認可済みソースに追加することができる。
【００８４】
上述したように、上記で詳細に説明した機能を実行するための本システムはコンピューターとすることができ、その例が図８の概略図に示されている。システム８００はプロセッサ８０２と、ストレージデバイス８０４と、上述した機能を定義するソフトウェア８０８を内部に記憶したメモリ８０６と、入出力（Ｉ／Ｏ）デバイス８１０（又は周辺機器）と、ローカルバス、又はシステム８００内の通信を可能にするローカルインターフェース８１２とを含む。ローカルインターフェース８１２は、例えば、限定ではないが、当該技術分野において既知であるような、１つ又は複数のバス又は他の有線接続若しくは無線接続とすることができる。ローカルインターフェース８１２は、簡単にするために省かれる、コントローラー、バッファー（キャッシュ）、ドライバー、リピーター及び受信機等の、通信を可能にするための追加の要素を有することができる。さらに、ローカルインターフェース８１２は、上述した構成要素間で適切な通信を可能にするためのアドレス、制御及び／又はデータ接続を含むことができる。
【００８５】
プロセッサ８０２は、特にメモリ８０６に記憶されたソフトウェアを実行するためのハードウェアデバイスである。プロセッサ８０２は、任意の特注の又は市販のシングルコアプロセッサ若しくはマルチコアプロセッサ、中央処理装置（ＣＰＵ）、本システム８００に関連付けられた幾つかのプロセッサ間の補助プロセッサ、半導体ベースのマイクロプロセッサ（マイクロチップ又はチップセットの形態）、マクロプロセッサ、又は通常、ソフトウェア命令を実行するための任意のデバイスとすることができる。
【００８６】
メモリ８０６は、揮発性記憶素子（例えば、ランダムアクセスメモリ（ＤＲＡＭ、ＳＲＡＭ、ＳＤＲＡＭ等のＲＡＭ））、及び不揮発性記憶素子（例えば、ＲＯＭ、ハードドライブ、テープ、ＣＤＲＯＭ等）の任意の１つ又は複数の組み合わせを含むことができる。さらに、メモリ８０６は、電子、磁気、光及び／又は他のタイプのストレージ媒体を組み込むことができる。メモリ８０６は分散アーキテクチャを有することができ、様々なコンポーネントが互いに遠隔に位置するが、プロセッサ８０２によってアクセスすることができることに留意されたい。
【００８７】
ソフトウェア８０８は、本発明による、システム８００によって実行される機能を定義する。メモリ８０６内のソフトウェア８０８は、１つ又は複数の別個のプログラムを含むことができ、これらはそれぞれ、以下で説明するように、システム８００の論理機能を実施するための実行可能な命令の順序付けされたリストを含む。メモリ８０６は、オペレーティングシステム（Ｏ／Ｓ）８２０を含むことができる。オペレーティングシステムは、本質的に、システム８００内のプログラムの実行を制御し、スケジューリング、入出力制御、ファイル及びデータ管理、メモリ管理、並びに通信制御及び関連サービスを提供する。
【００８８】
Ｉ／Ｏデバイス８１０は入力デバイス、例えば、限定ではないが、キーボード、マウス、スキャナー、マイクロフォン等を含むことができる。さらに、Ｉ／Ｏデバイス８１０は、出力デバイス、例えば、限定ではないが、プリンター、ディスプレイ等も含むことができる。最後に、Ｉ／Ｏデバイス８１０は、入力及び出力の両方により通信するデバイス、例えば、限定ではないが、変調器／復調器（別のデバイス、システム又はネットワークにアクセスするためのモデム）、無線周波数（ＲＦ）若しくは他の送受信機、電話インターフェース、ブリッジ、ルーター又は他のデバイスを更に含むことができる。
【００８９】
システム８００が動作中のとき、プロセッサ８０２は、上記で説明したように、メモリ８０６に記憶されたソフトウェア８０８を実行して、メモリ８０６に及びメモリ８０６からデータを通信し、ソフトウェア８０８に従うシステム８００の動作を総括制御するように構成される。
【００９０】
上記に示すように、代替的な実施形態では、図３に示すコントローラー２１０のモジュールのうちの１つ又は複数によって実行される機能は、スピーカー２００（図２）の外部のデバイス、例えば、スピーカー２００（図２）と１つ又は複数のデジタルメディアサービス２９５（図２）との間のエージェントとして動作する仲介ウェブサーバーによって実行することができる。
【００９１】
図９は、スピーカー２００がエージェント９１０を介して１つ又は複数のデジタルメディアサービス２９５と通信するシステムの例示的な実施形態を示す。スピーカー２００、デジタルメディアサービス２９５及びエージェント９１０は通常、インターネット２９０を介して互いに通信する。エージェント９１０は、１つ又は複数のアプリケーション、例えば、スピーカー２００及び／又はデジタルメディアサービス２９５の遠隔に位置する１つ又は複数のウェブサーバーによってホスティングされるアプリケーションを含むことができる。エージェント９１０は、スピーカー２００のコントローラー２１０（図３）におけるモジュールと協調して機能することができるか又はスピーカー２００のコントローラー２１０（図３）における１つ若しくは複数のモジュールの機能に取って代わることができる１つ又は複数の機能モジュール９５４、９５６、９６０を備える。
【００９２】
概して、エージェント９１０は、スピーカー２００とソースとの間の仲介者、特に、デジタルメディアサービス２９５としての役割を果たすことができる。このようにして、スピーカー２００は、各デジタルメディアサービス２９５によって提供されるインターフェースの知識なしで動作し、代わりに、スピーカー２００内部で用いられる同じ楽曲メタデータを含むエージェント９１０とメッセージを交換することによってデジタルメディアサービス２９５とインタラクトすることができる。ソースエージェントモジュール９５４は、楽曲メタデータを含むスピーカー２００からクエリを受信し、クエリタイプ及びメタデータを、デジタルメディア２９５及び他のソースによって理解されるフォーマットに変換する。以上で説明したように、トークンエージェントモジュール９５６は、デジタルメディアをストリーミングする認可を扱うための、スピーカー２００とデジタルメディアサービス２９５との間の仲介者としての役割を果たす。
【００９３】
例えば、スピーカー２００は、エージェント９１０に、楽曲のストリーミングを要求する楽曲メタデータを含むメッセージ９２０を送信することができる。メッセージが特定のソースを指定することもできるし、又はソースエージェント９５４が、１つ若しくは複数のデジタルメディアサービス２９５に問い合わせて適切なソースを突き止めることもできる。次に、トークンエージェント９５６は、選択されたソースへのメッセージをフォーマット設定し、選択されたデジタルメディアサービス２９５に、デジタルメディアデータのストリーム９４０をスピーカー２００に送信することを認可する認証情報をソースに提供する。次に、デジタルメディアサービス２９５は、スピーカー２００に直接トークンを供給することができる。代替的に、デジタルメディアサービス２９５は、トークンをエージェント９１０に送信してもよく、この場合、次いでエージェント９１０がトークンをスピーカー２００に転送する。次に、スピーカーはトークンをデジタルメディアサービス２９５に提供し、例えば、楽曲がプレイリスト（図４）の先頭に達すると、メディアデータ９４０のストリーミングを開始する。
【００９４】
トークンを取得することが金融取引を伴う例では、購入エージェント９６０は、デジタルメディアサービス２９５のユーザーの口座への支払い、又はユーザーの口座からの信用取引の精算を認可するための、スピーカー２００とデジタルメディアサービス２９５との間の仲介者としての役割を果たす。
【００９５】
この実施形態の構成は通常、スピーカーのコントローラー２１０（図３）内のソフトウェアモジュールの動作を簡単にし、スピーカー２００がデジタル音楽サービス２９５等のソースとインタラクトする機能を集中化する。例えば、デジタル音楽サービス２９５が自身のＡＰＩを変更する場合、エージェント９１０のみがその変化に対応するように更新されればよい。同様に、新たなソースが利用可能になると、スピーカー２００は、エージェント９１０が新たなソースと通信するように更新されると、変更なしで新たなソースにアクセスすることができる。
【００９６】
例えば、スピーカー２００は、楽曲メタデータを含むクエリメッセージ９２０をエージェント９１０に送信することによって、楽曲に関してエージェント９１０に問い合わせることができる。次に、エージェント９１０は、受信した楽曲メタデータを用いて、１つ又は複数のデジタルメディアサービス２９５に対する１つ又は複数のクエリメッセージ９３０をフォーマット設定する。ここで、各クエリメッセージは、デジタルメディアサービス２９５のＡＰＩに従ってフォーマット設定される。次に、エージェント９１０は、楽曲のためのデジタルメディアサービス２９５のうちの１つからトークンを取得し、このトークンをスピーカー２００に提供することができる。次に、スピーカー２００はトークンを供給したデジタルメディアサービス２９５にこのトークンを提供することができ、このとき、デジタルメディアサービス２９５は楽曲をスピーカー２００にレンダリングするためにメディアデータ９４０をストリーミングする。
【００９７】
代替的な実施形態において、エージェント９１０の１つ又は複数の機能は、デジタルメディアサービス２９５と同じ位置にあるアプリケーションによって実行することができる。図９は３つの機能モジュール、すなわち、ソースエージェント９５４、トークンエージェント９５６及び購入エージェント９６０を有するエージェント９１０を示しているが、エージェント９１０の代替的な実施形態は、スピーカー２００とデジタル音楽サービス２９５との間の仲介者サービスを提供する追加の機能モジュールを含むことができる。
【００９８】
図９は、スピーカー２００からエージェント９１０、エージェント９１０からデジタルメディアサービス２９５、デジタルメディアサービス２９５からスピーカー２００への方向を有するデータフローを示すが、メッセージは、スピーカー２００、エージェント９１０及びデジタルメディアサービス２９５の任意のものの間でいずれの方向においても交換することができる。
【００９９】
当業者には、本発明の範囲又は趣旨から逸脱することなく、本発明の構造に対し様々な変更及び変形を行うことができることが明らかであろう。上記に鑑みて、本発明の変更及び変形が添付の特許請求の範囲及びそれらの均等物の範囲内にある限り、本発明はそれらの変更及び変形を包含することが意図される。
【図１】
0006752144.tif 000002
【図２】
0006752144.tif 000003
【図３】
0006752144.tif 000004
【図４】
0006752144.tif 000005
【図５】
0006752144.tif 000006
【図６】
0006752144.tif 000007
【図７】
0006752144.tif 000008
【図８】
0006752144.tif 000009
【図９】
0006752144.tif 000010