以下の記述において、様々な実施形態が説明される。説明の適用上、実施形態の完全な理解のために、特定的な構成及び詳細が明らかにされる。しかしながら、実施形態は、これらの特定的な詳細なしに実行可能であることは、当業者には明らかであろう。さらに、実施形態の説明を曖昧にしないために、周知の特徴は省略または簡略化され得る。
本明細書において説明される実施形態及び技術は、例えばオーディオトラック、ストリーミングオーディオ構成、オーディオブック、ビデオファイル、イメージファイル等を含むプレイリストに追加可能な任意の種類の電子コンテンツアイテムに適応し得ることが理解される。実施形態はまた、当業者にとって通例の任意のオーディオ、ビデオ、イメージ、その他のフォーマットを受入れるようにも構成され得る。一貫性のある簡潔な論述のため、当開示ではオーディオファイル、音楽ファイル、メディアファイル、及び/またはオーディオトラックに関する実施形態及び技術を主に説明する。しかしながら、このような論述は、開示内容をこれらの態様に限定することは決してない。
いくつかの実施例において、ユーザは第1音楽サービスの音楽プレイリストを第2音楽サービスで使用することを所望し得る。よってユーザは、第1音楽サービスにアクセスしながら第1音楽サービスから得た曲を含むプレイリストを生成し得る。そして第2音楽サービスは、ユーザから音楽プレイリストを受信し、音楽プレイリストの曲を通して再生できるように、第2音楽サービスの曲に一致させるように構成され得る。いくつかの実施例において、第2音楽サービスは、第2音楽サービスのライブラリにおいて、プレイリストの各トラックにビットレベルで正確に一致する曲を検索し得る。当レベルで一致する曲が、新規プレイリストに含まれる。いくつかの実施例において、第2音楽サービスは、一部のトラックに関してビットレベルで正確に一致する曲を見つけることが不可能であり得る。この場合、第2音楽サービスは、第2音楽サービスのライブラリにおいて、他の適合性のあるトラックを検索し得る。いくつかの事例において、他の適合性のあるトラックは、複製工程により少しだけ変化した複製、同一条件下での同一実演者による同一曲の代替実演、異なる条件下での同一実演者による同一曲の代替実演、異なる実演者による同一曲の異なる実演、及び同一曲の代替編曲であり得る。いくつかの態様において、第2音楽サービスから得た曲が新規プレイリストに一旦追加されると、第2音楽サービスは、ユーザに新規プレイリストを再生するように構成され得る。
さらに、いくつかの実施例において、ユーザは、異なるソースから得た様々な曲を含むプレイリストを再生するのに、単一のメディアプレーヤーを使用することを所望し得る。例えば、ユーザはネットワークベースの音楽サービスに登録し、かつローカルに格納された曲を含むコンピューティングデバイスのローカル音楽アプリケーションを使用し得る。いくつかの事例において、ネットワークベースの音楽サービスとローカル音楽アプリケーションの両方からの曲を含む統合プレイリストをユーザが再生できるように構成された統合メディアプレーヤーにより、ユーザはプレイリストを作成可能でなり得る(例えば2つのソースが異なる独自のフォーマットで符号化された曲ファイルを含む場合でも)。統合メディアプレーヤーは、ネットワークベースの音楽サービス、ローカル音楽アプリケーション、及びユーザが曲を利用可能なその他のソースにアクセスする(例えばそれぞれの独自のフォーマットで通信する)ように構成され得る。当アクセスにより、統合メディアプレーヤーはプレイリストを再生可能になり得る。いくつかの実施例において、統合プレイリストには少なくとも部分的に、統合メディアプレーヤーに対応付けられた音楽サービス(例えば前に論述された第2メディアサービス等)により特定された適合トラックが追加され得る。
例示的実施形態によれば、ユーザは、電子コンテンツアイテムを含むメディアライブラリを所有し得る、または電子コンテンツアイテムを含むメディアライブラリに対しアクセス可能であり得る。例えば、ユーザは以前、電子マーケットプレイスから多数のオーディオトラックを購入しダウンロードし得た。当該オーディオトラックは、メディアライブラリに含まれ、ユーザデバイス上のファイルディレクトリに従って格納され得る。いくつかの実施例において、メディアプレーヤーは、オーディオトラックのファイルディレクトリの場所に基づいて、オーディオトラックを編成し再生するように構成され得る。従って、メディアライブラリのオーディオトラックは、ユーザデバイス(例えばパーソナルコンピュータ、ラップトップ、タブレットコンピュータ、モバイルデバイス等)のローカルに、または別の場所(例えば外部ハードドライブ、ウェブベースストレージ等)に格納され得る。別の実施例においては、メディアライブラリは、利用規約または限定使用契約(例えば会員契約型ストリーミングメディアサービス、無料ストリーミングメディアサービス等)の下、ユーザが利用可能な曲を備え得る。しかしながら、現行の実施例に戻ると、ユーザは、オーディオプレーヤーまたは他のツール(複数可)を使用して、例示的プレイリストにオーディオトラックを整理し得る。同様のプレイリストは少なくとも1つのオーディオトラックを含み得るが、当実施例においては、プレイリストは複数のオーディオトラックを含み得る。プレイリストはユーザデバイスに特化され得る(すなわち、プレイリストにデータ追加し再生するために、プレイリストはユーザデバイス上の各オーディオトラックの格納ディレクトリの場所に依存し得る)ため、プレイリストはユーザデバイス上でのみ再生可能であり得る。従って、プレイリストを異なるメディアプレーヤー、異なるデバイス、またはその他で再生することは、ユーザにとって煩わしくあり得る。
しかしながら、本明細書の実施形態によれば、システムは、ユーザのプレイリストを別の場所またはサービスに作成及び/または移動することを可能にし得ると説明される。従って、プレイリストは、複数のユーザデバイス、メディアプレーヤー、及び/またはサービス上で再生可能であり得る。当実施例において、システムは、さらに詳しく後述される複数の方法のうちの少なくとも1つを使用して、プレイリストを備えるオーディオトラックを特定し得る。プレイリストのオーディオトラックの特定に少なくとも一部基づいて、システムは、特定されたオーディオトラックを、オーディオトラックの適合性ライブラリと比較し得る。いくつかの事例において、適合性ライブラリは、多数のオーディオトラックを備え、適合性ライブラリ内のオーディオトラックの適合性または関連性に従って編成され得る。このような編成は、適合性階層に少なくとも一部基づいて達成され得る。次に、システムは、異なるデバイス、メディアプレーヤー、及び/またはサービス上で再生可能であり、ユーザの元のプレイリストに含まれていたオーディオトラックに適合するオーディオトラックを含む新規プレイリストを生成し得る。従って、少なくとも当実施例において、新規プレイリストは元のプレイリストと類似し、複数のメディアプレーヤー及び/またはサービス上で再生可能であり得る。別の実施例において、新規プレイリストは、元のプレイリストと同一であり得る、または元のプレイリストより多くの、もしくは少ないオーディオトラックを含み得る。
追加例示実施形態によれば、前述のユーザは、複数の場所に格納された、及び/または複数のメディアコンテンツサービスに対応付けられたオーディオトラックもしくは他の電子コンテンツアイテムを所有し得る、またはその権利を有し得る。例えば、前述のユーザの元のプレイリストは、当実施例において、ユーザデバイスだけでなくウェブベースストレージドライブにも格納されたオーディオトラックを含み、さらにオンライン音楽ストリーミングサービスの一環としてオーディオトラックを再生する権利を備え得る。当例示的実施形態によれば、システムは、適合性ライブラリからのオーディオトラックに少なくとも一部基づいて、前述され、さらに詳しく後述される方法と技術を使用して、プレイリストにデータを追加し得る。当第2例示的実施形態によれば、統合メディアプレーヤーが提供され得る。システムの一部として、統合メディアプレーヤーは、それぞれのオーディオトラックの格納場所、及び/またはユーザがオーディオトラックの権利を有し得るサービスに関係なく、プレイリストに含まれる複数のオーディオトラックに対しアクセス可能であり得る。従って、統合メディアプレーヤーは、いくつかの実施例において、プレイリストを作成するのに使用されたメディアプレーヤーまたはサービスに関係なくプレイリストを再生するように構成され、とりわけ複数の異なるソース及び/またはサービスからのオーディオトラックを含むプレイリストを再生するように構成され得る。
本明細書において説明され提案される技術に沿った本開示の実施形態はとりわけ、適合性の面からオーディオファイルを分類することに関する。適合性の面からオーディオファイルを分類することにより、一般的音楽一致群の作成、すなわち最初の音楽ファイルにある点で類似するオーディオファイルの一致群の作成が可能となり得る。いくつかの実施例において、最初のオーディオファイルは、ユーザが作成したプレイリストに含まれる曲であり得る。プレイリストは、1曲以上を含み得る。ユーザは以前に、自身のユーザデバイス上で、またはウェブベース音楽サービスにおいて、またはその他の方法により、プレイリストを作成し得た。さらに、ユーザは、本明細書において説明されるシステム、実施形態、及び技術に関連する音楽サービスを使用して、プレイリストを作成し得た。プレイリストに含まれる曲は、ユーザがどのようにプレイリストを作成したかに関係なく、オーディオファイルの一部として記憶されたメタデータ(例えばアーティスト、アルバム、曲名、収録年等)と一緒に、例えば録音固有識別子(例えば録音の長さ、音の粒度等)を含む識別特性または識別情報を有し得る。しかしながら、ユーザはいくつかのサービスのうちいずれかのサービスを使用してプレイリストを作成し得たため、正確なオーディオファイルと関連識別特性及び/またはメタデータは、プレイリストの作成に使用したサービス以外のサービスでは認識不可能であり得る。従って、ユーザがプレイリストを1つのサービスから新規のサービスに変換しようとする、または同様のプレイリストを新規のサービスで作成しようとする場合、ユーザはプレイリストを楽しむことを妨げられ得る。
本明細書において説明される技術によれば、前述のユーザのプレイリストからの例示的曲は、高粒度で特定され、本明細書において説明される実施形態に従ってデータが追加される一般的音楽一致群のデータベースと比較され得る。当一般的音楽一致群のデータベースは、新規のサービスがプレイリストの曲を再生可能であるか、または異なる適合度の曲を推薦可能であるかを判定するのに使用され得る。例えば、一般的音楽一致群データベースは、適合性の高さに従って、データが追加され、並び替えまたは整理され得る。別の実施形態において、データベースは、適合性の低さに従って、並び替えまたは整理され得る。例えば、ビット単位同一オーディオファイル(すなわちビットレベルで同一のファイル)は、最も適合性の高い一致となり得る。一方で、ユーザの曲と比較して過去に録音されたオーディオファイル、及び/または異なるスタジオで録音されたオーディオファイル(従って、恐らくビット単位で同一ではない)は、適合性のより低い一致となり得る。本明細書において説明される少なくとも1つの実施形態は、当情報を利用して、ユーザに、ユーザの曲とデータベース内の曲との適合度を知らせ得る。そしてユーザは、適合度が受容可能であるか否かを判断し、受容可能であれば、新規のサービスから一致曲を購入し得る、または新規のサービスに配置されたプレイリストに一致曲を追加し得る。適合度の閾値を満たす曲がない場合、ユーザの曲は、いつか一致曲が見つかる可能性を見込んで、プレイリスト内に保持され得る。一般的音楽一致群とのユーザ対話に関する別の実施例は、さらに詳しく後述される。
さらに、本開示はまた、複数の異なるメディアソースからのメディアファイルのプレイリストに対応可能な統合メディアプレーヤーを提供することに関し得る。例えば、しばしばユーザは、複数の場所に配置されたメディアファイルに対する権利(例えば所有権、使用権、限定使用権等)を有し得る。これらの場所は、お互いに物理的に離れた、及び/または論理的に離れた状態であり得る。例えば、ユーザは、自身のパーソナルコンピュータ上にローカルに格納されたメディアファイル、及び/またはウェブベースのストレージシステムに格納されウェブベース会員契約サービスの一環としてアクセス可能なメディアファイル、及び/または他の場所に格納されたメディアファイルを有し得る。いくつかの実施例において、ユーザは、複数の場所に格納されたメディアファイルからプレイリストを作成することを所望し得る。本明細書において説明される1つの実施例において、統合メディアプレーヤーが開示される。当実施形態によれば、前述のようなプレイリストは、統合メディアプレーヤーにより、複数の場所から対応され得る(例えばユーザはプレイリスト内のメディアファイルを再生可能である)。統合メディアプレーヤーを実行するための別の実施例及び技術は、さらに詳しく後述される。
図1は、メディアファイルのプレイリストを管理する技術を実施した場合の例示的図解100を描く。これらの技術及び他は、少なくとも図2〜9に関連してさらに詳しく後述される。例示的図解100において示された実施形態によれば、プレイリスト102は、ユーザライブラリ104で見つかった電子コンテンツファイル(例えばオーディオトラック、ビデオファイル等)から作成され得る。ユーザライブラリ104及びプレイリスト102が3種類の識別情報(すなわち「アーティスト」、「曲」、「他の情報」)を含むことが示されることから、ローカル音楽サービス108は多少の識別情報を記憶し得ることが理解される。識別情報は、ユーザライブラリ104からのオーディオトラックに関連して記憶されたメタデータであり得る。当例示的実施形態において示されるオーディオトラック情報がメタデータを含み得ると同時に、他の情報はまた、本明細書において論述される各トラック、ライブラリ、またはプレイリストと共に格納され得る。このような情報には、例えばオーディオ録音の長さ、録音の品質、及び/または情報に関する他のデジタル指紋が含まれ得る。
当実施形態において、プレイリスト102は、「夏」と題され、5人の異なるアーティスト(すなわち「A、B、C、D、E」)による6つのトラックの集録である。本明細書において使用されるように、プレイリストは、少なくとも1つの特性を共有する少なくとも1つのメディアファイルを含むグループとして定義され得る。プレイリスト102の事例のように、しばしばプレイリストは特定のテーマに関して、またはあるイベントのために作成され得る。例えば、結婚式のプレイリストには、「花嫁入場(Here Comes the Bride)」及び踊るのに好適な音楽が含まれ得る。当例示的構成において、プレイリスト102は、「夏季」のテーマに従って作成されたことが示される。プレイリストは、ユーザ、サービス、ソフトウェア、及び/またはこれらの任意の組合せにより作成され得る。従って、いくつかの事例において、プレイリストの作成、データ追加、及び/またはユーザに対する推薦は、自動で行われ得る。例えば、オーディオトラックのユーザライブラリから最も頻繁に再生される25曲を含むプレイリストが作成され得る。当実施例において、プレイリスト102は、ユーザライブラリ104からユーザ106により作成され得る。別の実施例において、ユーザライブラリ104は、ローカル音楽サービス108に格納され得る。ローカル音楽サービス108は、モバイルデバイス、デスクトップコンピュータ、ノートブックコンピュータ、電子書籍リーダ、タブレットコンピューティングデバイス等が挙げられるがこれに限定されないユーザデバイス上で実行可能な記憶媒体及び制御ソフトウェア(プレイリストの作成、ライブラリの編成、音楽の再生等)を備え得る。ローカル音楽サービス108はまた、ユーザライブラリ104に配置され、プレイリスト102に編成されたオーディオファイルを再生するオーディオプレーヤー110を含み得る。
1つの非限定的実施例として、ユーザ106は、プレイリスト102をローカル音楽サービス108からウェブベース音楽サービス112に転送または移動することを所望し得る。別の実施例によれば、ユーザ106は、ウェブベース音楽サービス112を使用して第1インスタンスにプレイリスト102を作成することを所望し得る。論述のため、ローカル音楽サービス108とウェブベース音楽サービス112が異なるエンティティにより開発されたものと仮定すると、ローカル音楽サービス108とウェブベース音楽サービス112は、異なるプロトコルに従った動作、異なる情報を使用したプレイリストの編成等を行い得る。従って、いくつかの事例において、2つのサービスの直接的な適合性はあり得ない。しかしながら、本明細書において説明される技術によれば、プレイリスト102のローカサービス108からウェブベースサービス112への変換、及び/またはプレイリスト102に類似するプレイリストの作成は、適合性ライブラリ114を使用するウェブベース音楽サービス112により達成可能である。
例えば、ウェブベース音楽サービス112は、ローカル音楽サービス108を使用して作成されたプレイリスト102を分析し、ユーザ106がプレイリスト102に含めた曲を特定し得る。プレイリスト102に含まれるべき具体的な曲を特定した後、ウェブベース音楽サービス112は、プレイリスト102に含まれる各曲の適合性階層を確立し得る。例示的適合性階層のうち最も適合性の高い曲の実例が、ウェブベース音楽サービス112の適合性ライブラリ114において示される。さらに詳しく後で論述されるように、プレイリスト102内の各曲を分析し、分析結果をウェブベース音楽サービス112のプロバイダが保持する曲のライブラリと比較して、曲間の類似点、相違点を特定することにより、適合性は決定され得る。本明細書において説明される実施形態によれば、適合性が決定された後、適合性階層にデータが追加され、プレイリスト102は、適合性ライブラリ114に対応付けられ、結果プレイリスト116としてデータ追加され得る。
例示的図解100によれば、プレイリスト102内の曲と適合性ライブラリ114内で見つかった曲との相違点は後述され、結果プレイリスト116に示され得る。言い換えると、結果プレイリスト116は、プレイリスト102に含まれる曲に最も適合し得る適合性ライブラリ114の曲を含むプレイリストであり得る。結果プレイリスト116内の第1トラック(対応付けウィンドウ118に図示される)に着目すると、プレイリスト102のトラック番号1は、ウェブベース音楽サービス112により配置された曲(適合性ライブラリ114のトラック番号1として示される)に完全に適合し得る(すなわちビット単位同一ファイルであり得る)。言い換えると、ウェブベース音楽サービス112により、「アーティストA」による「曲M」というタイトルの「99年のライブ」で実演された音楽ファイル、従ってプレイリスト102に含まれる各情報要素を満たす音楽ファイルが配置され得た。当エントリは、結果プレイリスト116内のトラック番号1として表示され得る。
しかしながら、ウェブベース音楽サービス112は、プレイリスト102のトラック2から5に関して、ビット単位同一ファイルを見つけることができなかった。例えば、対応付けウィンドウ118において示されるように、プレイリスト102のトラック2は、「アーティストA」による「曲N」というタイトルの「99年のライブ」で録音されたトラックである。本明細書において説明される技術によれば、ウェブベース音楽サービス112は、「アーティストA」による「曲N」というタイトルであるが、「99年にスタジオ」で実演されたトラックを、プレイリスト102のトラック番号2に最も適合するトラックとして特定し得る。従って、ウェブベース音楽サービス112は、当適合曲をトラック番号2として結果プレイリスト116内に含め得る。別の例示的相違点が、結果プレイリスト116のトラック3から5に関連して示される。これらの相違点は、結果プレイリスト116において太字で示される。例えば、結果プレイリスト116内のトラック3は「サニー(Sunny)」スタジオではなく「アクミ(Acme)」スタジオで製作され得た点を除いて、プレイリスト102のトラック3に類似し得る。プレイリスト102のトラック6は、「アーティストE」による「曲T」というタイトルの「13年のライブ」で録音された曲である。示された実施形態によれば、ウェブベース音楽サービス112は、結果プレイリスト116に追加するための、当トラックに十分適合性のある曲を特定できなかった。従って、適合度閾値を満たすものがなかったため、結果プレイリスト116には、プレイリスト102のトラック番号6に適合するトラックが含まれ得ない。しかしながら、ウェブベース音楽サービス112は、ユーザ106に、当曲を「ウィッシュリスト」に含めるという選択肢を提供し得る。本明細書において説明される実施形態によれば、「ウィッシュリスト」は、ユーザが所望する(例えば既存または新規のプレイリストに含めたい)が現在ウェブベース音楽サービス112内では入手不可能な曲(または他の電子コンテンツアイテム)を収集し格納するのに使用され得る。ユーザ106は、入手不可能なトラックを、ハイパーリンクされたテキストをクリックし、当該テキストを特定の位置にドラッグかつドロップする等して、「ウィッシュリスト」内に配置し得る。
図2は、本明細書において説明されるプレイリスト管理システムを実行する例示的システムまたはアーキテクチャ200を描く。システム200において、1人以上のユーザまたは利用者202は、コンピューティングデバイス204(1)〜(N)(一括して「ユーザデバイス204」)を使用して、メディアコンテンツサーバ210上に格納されたプレイリストマネジャー212にネットワーク208を介してアクセスし得る。
いくつかの実施例において、ネットワーク208は、ケーブルネットワーク、インターネット、無線ネットワーク、セルラーネットワーク、他の私設及び/または公衆ネットワーク等の多数の異なる種類のネットワークのうち、任意の1つのネットワークまたはこれらを組合せたネットワークを含み得る。示された実施例により、ネットワーク208を介してプレイリストマネジャー212にアクセスするユーザ202が表されるが、説明される技術は、ユーザ202が固定電話を介して、キオスクを介して、またはその他の手法で1つ以上のユーザデバイス204を使用してプレイリストマネジャー212と対話する事例にも同様に適用され得る。説明される技術は、他のクライアント/サーバ配置(例えばセットトップボックス等)、並びに非クライアント/サーバ配置(例えばローカルに格納されたアプリケーション等)にも適用され得ることも留意されたい。
前記のように、アーキテクチャ200は、1つ以上のユーザデバイス204を含み得る。ユーザデバイス204は、携帯電話、スマートフォン、パーソナルデジタルアシスタント(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、シンクライアントデバイス、タブレットPC等が挙げられるがこれに限定されない任意の種類のコンピューティングデバイスであり得る。いくつかの実施例において、ユーザデバイス204は、ネットワーク208を介して、または他のネットワーク接続を介してメディアコンテンツサーバ210と通信し得る。
ユーザデバイス204は、メモリ206内にウェブサービスアプリケーション206を含み得る。ウェブサービスアプリケーション206により、ユーザ202は、プレイリストの作成、変換、インポート、及び/またはエクスポート、及び/またはオーディオファイルのアクセス、再生、購入、及び/または評価といったプレイリストマネジャー212との対話が可能になり得る。恐らくサーバのクラスタ内に、またはサーバファームとして配置された1つ以上のメディアコンテンツサーバ210は、ウェブサービスアプリケーション206を提供し得る。他のサーバアーキテクチャも、ウェブサービスアプリケーション206を提供するのに使用され得る。ウェブサービスアプリケーション206は、多数のユーザ202からの要求を処理し、要求に応じて、プレイリスト管理サービス212に関連するインターフェイスが挙げられるがこれに限定されない、ユーザデバイス204において表示可能な様々なユーザインターフェイスを提供することが可能であり得る。前に論述されたように、説明された技術は、ウェブサービスアプリケーション206の外部でも、例えばユーザデバイス204上で作動している他のアプリケーションとでも、同様に実施可能である。
ユーザデバイス204のメモリ214は、プロセッサ216(複数可)上でロード可能であり実行可能であるプログラム命令と、並びにこれらのプログラムを実行中に生成されるデータとを格納し得る。ユーザデバイス204の構成と種類により、メモリ214は、揮発性(ランダムアクセスメモリ(RAM)等)及び/または不揮発性(読出専用メモリ(ROM)、フラッシュメモリ等)であり得る。ユーザデバイス204はまた、磁気ストレージ、光ディスク、及び/またはテープストレージを含むがこれに限定されない追加のリムーバブルストレージ及び/または固定型ストレージも備え得る。ディスクドライブとその関連コンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及びコンピューティングデバイスのための他のデータの不揮発性ストレージを提供し得る。いくつかの実装例において、メモリ214には、静的ランダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)、またはROM等の複数の異なる種類のメモリが含まれ得る。
前記のように、プレイリストマネジャー212は、メディアコンテンツサーバ210のうちの1つ以上に備えられ得る。1つの例示的実施形態によれば、プレイリストマネジャー212は、メモリ218と、プロセッサ220(複数可)と、入出力デバイス222(複数可)と、ストレージ224とを備え得る。メモリ218は、プログラム命令を1つ以上のソフトウェアモジュールの形態で格納し、またオペレーティングシステム226も格納し得る。これらのモジュールは、プロセッサ220(複数可)上でロード可能であり実行可能であり、個別のタスクを実行し、プレイリストマネジャー212の目的を果たすためのプログラム命令を含み得る。プレイリストマネジャー212の一部として示されるモジュールは実施例であり、他のタスク及び/または後述のタスクと同様のタスクを実行する他の構成は、本明細書において説明される技術に従って実施され得る。オペレーティングシステム226には、プレイリストマネジャー212のハードウェアシステムを制御する任意の好適なオペレーティングシステムが含まれ得る。アーキテクチャ200によれば、メモリ218は、プレイリスト制御モジュール228と統合プレーヤーモジュール230とを含み得る。他のモジュール(図示せず)は、プレイリスト制御モジュール228と統合プレーヤーモジュール230と同一のタスク、または他のタスクを実行し、そして類似した様式で、または他の構成に従って実施され得る。
プロセッサ220(複数可)は、オペレーティングシステム226と、プレイリスト制御モジュール228と、統合プレーヤーモジュール230とからの命令を実行するように構成され得る。メディアコンテンツサーバ210の構成により、メモリ218は、揮発性(ランダムアクセスメモリ(RAM)等)及び/または不揮発性(読出専用メモリ(ROM)、フラッシュメモリ等)であり得る。メディアコンテンツサーバ210はまた、磁気ストレージ、光ディスク、及び/またはテープストレージを含むがこれに限定されない追加のリムーバブルストレージ及び/または固定型ストレージも備え得る。ディスクドライブとその関連コンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及びコンピューティングデバイスのための他のデータの不揮発性ストレージを提供し得る。いくつかの実装例において、メモリ218には、静的ランダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)、またはROM等の複数の異なる種類のメモリが含まれ得る。
プレイリストマネジャー212の一部として含まれるI/Oデバイス222(複数可)には、メディアコンテンツサーバ210のオペレータまたはコントローラによるプレイリストマネジャー212との対話を簡易にする任意の入出力デバイスが含まれ得る。ストレージ224は、メディアファイルを編成するためのデータベース及び/または任意の他のデータ構造を備え得る。ストレージ224には、揮発性(ランダムアクセスメモリ(RAM)等)及び/または不揮発性(読出専用メモリ(ROM)、フラッシュメモリ等)であり得るストレージが含まれ得る。プレイリストマネジャー212はまた、磁気ストレージ、光ディスク、及び/またはテープストレージを含むがこれに限定されない追加のリムーバブルストレージ及び/または固定型ストレージも備え得る。いくつかの実施形態によれば、ストレージ224は、例えばオーディオファイル、オーディオブックファイル、ビデオファイル、及び/または画像ファイルを含む電子コンテンツアイテムのデータベースを格納するように構成され得る。このようなデータベースは、電子コンテンツアイテムのライブラリと称され、本明細書において説明されるいくつかの技術に従って、プレイリストマネジャー212、メディアコンテンツサーバ210、及び/またはユーザ202によりネットワーク208を介してアクセス可能であり得る。
プレイリストマネジャー212のメモリ218と同様に、ユーザデバイス204のメモリ214は、クライアントプレイリスト制御モジュール232とクライアント統合プレーヤーモジュール234とを格納し得る。これらの2つのモジュール232、234の動作は、図3と7に関連してさらに詳しく後で論述されるように、プレイリストマネジャーのモジュール228、230の動作と類似し得る。従って、少なくとも1つの実施形態によれば、後述されるプレイリストマネジャー212の操作性は、ユーザデバイス204上に実装され得る。
いくつかの実施例において、メディアコンテンツサーバ210の管理者、経営者、または所有者は、他のメディアコンテンツサービス(例えば、ウェブベースストリーミングサービス、ソフトウェアベースオンラインデジタルメディアストア、デジタルサービスを提供する音楽ベンダー等)により提供される追加メディアコンテンツに対するアクセス権をユーザ102に与えるために、他のメディアコンテンツサービスと契約及び/または使用権を取り決め得る。このような追加メディアコンテンツに対するアクセス権は、いくつかの事例において、プレイリストマネジャー212により提供されるサービスの一環として、またはメディアコンテンツサーバ210により提供される追加サービスの一環として提供され得る。このような実施例において、メディアコンテンツサーバ210の所有者は、メディアコンテンツに対するその使用権が他のメディアコンテンツサービスに依存するため、間接使用権者と特定され得る。別の実施例において、メディアコンテンツサーバ210の所有者は、レコーディングスタジオ、実演者、演奏権協会(PRO)(例えば、米国作曲家作詞家出版者協会(ASCAP)、ブロードキャストミュージック社(BMI)、欧州舞台作詞家作曲家協会(SESAC)等)、及び/または他の著作権者もしくは使用権者と、直接使用権を取り決め得る。このような実施例において、メディアコンテンツサーバ210の所有者は、直接使用権者と特定され得る。従って、いくつかの実施例において、メディアコンテンツサーバ210の所有者は、他のメディアコンテンツサービスがスタジオ、実演者、またはPROと取り決めた間接使用権の下、メディアコンテンツを提供する権利を有し得る。間接使用権の下でメディアコンテンツサーバ210を介してメディアを提供することに少なくとも一部基づいた実施形態によれば、メディアコンテンツサーバ201は、ユーザ202がアクセスしているメディアコンテンツは何であるか、かつそのメディアは直接使用権下のメディアであるか、または間接使用権下のメディアであるかを記録し得る。このような記録は、いくつかの実施例において、他のメディアコンテンツサービスに対する報酬、及び/またはユーザ202のアクセスに関連する請求額を計算するのに使用され得る。
図3は、プレイリスト制御モジュール228を実行する例示的アーキテクチャ300を示す。前に論述されたように、プレイリスト制御モジュール228は、複数のサービスを制御するように構成され得る。プレイリスト制御モジュール228は、ソフトウェア、ハードウェア、及び/またはファームウェア上に実装され得る。プレイリスト制御モジュール228は、少なくとも形成/編集サービス302と、適合性サービス304と、生成サービス306と、推薦サービス308と、インポート/エクスポートサービス310と、オーディオプレーヤーサービス316とを備え得る。
ユーザまたは利用者202が新規及び既存のプレイリストを作成及び/または編集できるように、形成/編集サービス302は実行され得る。形成/編集サービス302を使用してプレイリストを形成することには、例えば、少なくとも1つのメディアファイル(例えばオーディオ、ビデオ、画像等)を複数の既知メディアファイルから選択すること、少なくとも1つのメディアファイルを複数の推薦メディアファイルから選択すること、少なくとも1つのメディアファイルを複数の以前に購入したメディアファイルから選択すること、少なくとも1つのメディアファイルを複数の購入対象メディアファイルから選択すること、及び/または少なくとも1つのメディアファイルを以前に作成したプレイリストから選択することが含まれ得る。プレイリストを編集することには、例えば、少なくとも1つのメディアファイルを既存のプレイリストに追加すること、少なくとも1つのメディアファイルを既存のプレイリストから削除すること、プレイリストに含まれる、もしくは含まれない少なくとも1つのメディアファイルに対応付けられたメタデータを編集すること、重複するメディアファイルを特定すること、及び/または重複するメディアファイルを削除することが含まれ得る。形成/編集サービス302によりまた、ユーザ202は、当技術における適正な熟練の知識に従って、メディアファイルに対する他の編集及び/または操作を行うことが可能になり得る。
いくつかの実施形態によれば、形成/編集サービス302は、ユーザ202がプレイリストに追加する各メディアファイルの一意的識別子を記録し得る。当識別子は、各メディアファイルに対応付けられ、プレイリストストレージ312に格納され得る。
図3に示される形成/編集サービス302を含むプレイリスト制御モジュール228は、プレイリストストレージ312にアクセス可能であり得る。プレイリストストレージ312には、例えば、揮発性(ランダムアクセスメモリ(RAM)等)及び/または不揮発性(読出専用メモリ(ROM)、フラッシュメモリ等)を含む記憶媒体のうちの任意の形態が含まれ得る。形成/編集サービス302は、プレイリストストレージ312にアクセスし、前に論述されたようにユーザ202が作成した新規プレイリストを保存し得る。形成/編集サービス302はまた、プレイリストストレージ312にアクセスし、プレイリスト、プレイリストのタイトル、プレイリストに対応付けられた非メタデータ情報、及び/またはプレイリストに含まれるメディアファイルに対応付けられたメタデータに対する任意の編集、並び替え、変動、及び/または変化を保存し得る。前に論述されたように、プレイリストの形成及びプレイリストの編集は、ユーザデバイス204を介してプレイリストマネジャー212を使用してユーザ202により、またはユーザデバイス204上で実行可能なプレイリスト制御モジュール228と同様のソフトウェアにより行われ得る。言い換えると、プレイリストマネジャー212は、メディアコンテンツサーバ210上で、またはユーザデバイス204上で、またはその他の好適な構成に従って、実行され得る。
プレイリスト制御モジュール228は、適合性サービス304も含み得る。適合性サービス304は、適合性階層ストレージ314にデータを追加するように構成され得る。形成/編集サービス302またはインポート/エクスポートサービス310(さらに詳しく後で論述される)を使用するユーザ202は、メディアコンテンツサーバ210またはユーザデバイス204上でデータ追加され再生されるプレイリストを作成及び/またはインポートし得る。適合性サービス304は、特定のプレイリストに含めるためにユーザ202が選択したメディアファイルごとに、適合メディアファイル群またはセットを適合性階層ストレージ314に追加し格納し得る。いくつかの実施形態によれば、適合性サービス304は、メディアコンテンツサーバ210上のストレージ224、またはプレイリスト制御モジュール228とネットワーク通信する別の場所に格納されたメディアファイルセットに対して、ユーザ202が選択した(例えばプレイリストを集成するため)第1メディアファイルの適合性または関連性を決定し得る。適合性サービス304は、前に論述された一意的識別子を使用して、特定のプレイリストに含めるためにユーザ202が選択した第1メディアファイルのインスタンスを対応付け得る。
いくつかの実施形態によれば、適合性サービス304は、適合性レベルに関して適合性階層を編成し得る。いくつかの実施例において、適合性階層は、複数の適合性レベルを含み得る。さらなる実施形態において、適合性サービス304により、ユーザ202が選択した第1メディアファイルに関して、そしてユーザ202が選択した後続のメディアファイルに関して、適合性階層が作成され得る。言い換えると、適合性サービス304は、ユーザ202が選択した各メディアファイルに関して、複数の適合性または関連性のレベルを含み得る適合性階層を作成し得る。1つの実施例において、階層は、降順の適合性で編成され得る。従って、少なくとも1つの実施例によれば、適合性サービス304により特定された最も適合性の高いメディアファイルが第1位置に配置され、そしてより適合性の低いメディアファイルがその後の位置を占め得る。
別の例示的実施形態において、適合性階層は、適合性測定の順位リストを備え得る。当実施形態によれば、適合性測定には、ユーザ202のプレイリストに含めるためにユーザ202が選択したメディアファイルに対する異なる一致度(例えば完全一致、複製アイテム一致、代替同一アイテム一致、代替異質アイテム一致、異質実演アイテム一致、及び/または変形アイテム一致)が含まれ得る。
少なくとも1つの実施形態によれば、適合性サービス304は、ユーザが選択したメディアファイルの識別(例えば曲)を特定し、次に適合性レベルを決定し得る。識別を特定するために、適合性サービス304は、ユーザ202により提供される曲のタイトルまたは編曲に注目し得る。別の実施形態によれば、適合性サービス304は、プレイリストに含めるためにユーザ202が選択した曲に対応付けられたメタデータを分析し得る。このような分析は、例えば、各曲のタイトル、アーティスト、アルバム、年、コメント、トラック番号、ジャンル、速度、開始時間、及び/または終了時間に関する情報を示し得る。適合性サービス304が曲を特定するには、当情報で足り得る。その後、適合性サービス304は、適合性階層に含めるための適合曲、または関連曲をメディアコンテンツサーバ210内で探し始め得る。
しかしながら、別の条件下で、メタデータは、適合性サービス304によりアクセス不可能であり得る、及び/または適合性サービス304が曲の識別を特定するには壊れた、欠損した、及び/または不十分な状態であり得る。このような事例において、適合性サービス304は、別の技術を使用して曲を識別しようと試み得る。例えば、適合性サービス304は、曲のオーディオ指紋を、メディアコンテンツサーバ210に対応付けられたデータベースに格納された他の曲のオーディオ指紋と比較するアルゴリズムを使用し得る。別の実施形態において、適合性サービス304は、曲がメディアコンテンツサーバ210上に格納された曲とビット単位で同一の曲であるか否かを判定するために、曲をハッシュし得る。別の実施形態において、適合性階層は、前に論述された識別ステップより前に作成され得た。
さらに別の実施例において、適合性サービス304は、曲の識別及び他の曲との適合性を決定するために、曲に対する少なくとも1種類のフーリエ変換を行い得る。別の事例において、適合性サービス304は、意図した結果を達成するために、複数種類の変換を行い得る。このような変換技術を使用することにより、いくつかの実施形態によれば、適合性サービス304は、周辺の雑音情報を取り除き、複数の曲の間の最小差異を特定することが可能になり得る。例えば、このような変換は、適合性の最高レベルのうちの1つのレベルの曲(例えば少しだけ変化した同一曲の複製)を分析し、曲の関連性を決定するのに最適であり得る。本明細書において説明される別の実施形態によれば、適合性サービス304は、ラビンチャンキング形式を使用して、複数の曲の間の類似度を決定し得る。別の実施形態によれば、適合性サービス304は、適合性を決定することを可能にし得る歌詞のデータベースにアクセス可能であり得る。当実施形態及び別の同様の実施形態によれば、適合性サービス304は、編集距離アルゴリズムを使用して、歌詞間のスペル、書式設定、及び/または他のマイナーな差異を検出し、かつメタデータにおけるマイナーな差異を検出し得る。編集距離アルゴリズムは、複数の閾値と対応付けられ、これらの閾値を下回る、または上回ると、曲は適合する、もしくは少なくとも適合レベルに入ると判断され得る。
プレイリストに含めるためにユーザ202が選択した曲を、適合性サービス304が1度特定すると、適合性サービス304は、メディアコンテンツサーバ210上に格納された曲に対する当曲の適合性を決定し得る。さらに、適合性階層は、ユーザ202が新規プレイリストの作成または既存のプレイリストの移動を要求する前に、作成され得た。このような構成は、プレイリスト制御モジュール228によりアクセス可能なメディアファイルの関連性の決定に関するより早い応答を可能にするのに好適であり得る。前に簡単に論述されたように、適合性決定の結果は、適合性階層ストレージ314に格納され、適合性レベルに分割され得る。少なくとも1つの実施形態によれば、第1適合性レベルには、ユーザ202の曲にビット単位で同一であると判定された曲が含まれ得る。別の実施例において、第2適合性レベルには、複製工程により少しだけ変化した同一コンテンツの複製であると思われる曲が含まれ得る。さらに別の実施例において、第3適合性レベルには、同一条件下での同一実演者による同一コンテンツの代替実演の曲が含まれ得る。なお別の実施例において、第4適合性レベルには、異なる条件下(例えばライブ実演に対しスタジオ実演)での同一実演者による同一コンテンツの代替実演の曲が含まれ得る。別の実施例において、第5適合性レベルには、異なる実演者による同一コンテンツの異なる実演の曲(例えば同一の歌詞で異なるアーティストにより実演された曲)が含まれ得る。さらに別の実施例において、第6適合性レベルには、変化したコンテンツの曲が含まれ得る(例えば代替編曲)。
前に提示された各実施例において、各レベル、いくつかのレベル、及び/または全てのレベルは、少なくとも1曲及び/または複数曲を有し得る、及び/または1曲も有し得ない。さらに、いくつかの実施形態において、適合性サービス304が、曲をユーザ202のプレイリストからのユーザ202の曲に「適合する」と指定する際、容認する最小及び/または最大許容変化量を、ユーザ202は指定し得る。別の実施例において、ユーザ202は、ユーザデバイス204を介して所望する適合度閾値を指定することで、指定した閾値に達さない、及び/または少しの一致度も有さない曲は、自動で除外されるようにし得る。ユーザ202はまた、ある実演場所、アーティスト、ジャンル等に対する選好を指定し得る。例えば、ユーザは「ライブ」及び「スタジオ」録音のどちらかを指定可能であり、ユーザ202は「スタジオ」録音を選好する。このような選好が他のものと一緒に適合性サービス304に提供されることで、適合性決定の精度は上がり、生成されたプレイリスト(後の論述参照)はユーザ202の好みに適合され得る。
さらに別の実施例において、プレイリスト制御モジュール228はユーザ202に、適合性サービス304により追加された適合可能曲のリストを提示し得る。このような提示の後、ユーザ202は、ユーザ202が適合すると思われる曲、またはユーザ202が不適合または適合性が低いと思われる曲を指定する(例えば、「承認」もしくは「却下」をクリックする、または「適合」として保持する曲を選択する)ことで、適合可能曲と対話し得る。これらの指定は、プレイリスト制御モジュール228または他のデバイスにより記録され、そして適合性決定の精度を上げるため、とりわけ適合性サービス304により使用され得る。これらのユーザ選好は、他のユーザプロファイルデータ(例えばユーザ層特性データ、サービスアクセス資格情報等)と一緒に、プレイリストマネジャー212、メディアコンテンツサーバ210の一部として、及び/またはプレイリスト制御モジュール228によりアクセス可能な他の関連ストレージ領域に格納され得る。
次に図3に示される例示的アーキテクチャ300の生成サービス306に着目する。生成サービス306は、プレイリストストレージ312と適合性階層ストレージ314にアクセス可能であり得る。本明細書において開示される実施形態によれば、生成サービス306は、ユーザ202が所望するプレイリストと適合性階層を使用して、メディアコンテンツサーバ210から入手可能な最も近い一致を含む新規プレイリストを生成し得る。前に論述されたように、生成サービス306は、新規プレイリストを作成しユーザ202に提示する時、ユーザ選好も使用し得る。
別の実施形態によれば、生成サービス306は、一致がなかった場合でも、ユーザ202がプレイリストに含めたい曲を保持し得る。このような曲を保持することにより、いくつかの実施形態によれば、いつか一致が見つかる可能性が考慮され得る。このような将来的一致は、購入また使用のために、曲を「ウィッシュリスト」に含める等、推薦サービス308によりユーザ202に推薦され得る。別の実施形態によれば、生成サービス306が生成したプレイリストに含まれる曲は、元のメディア識別を保持し得る。
アーキテクチャ300の推薦サービス308は、いくつかの実施形態によれば、プレイリストを集成するために曲を選択する機会をユーザ202に提示し得る。例えば、1つの実施形態によれば、推薦サービス308は、ユーザ202に様々な推薦曲を提供し得る。これらの曲は、いくつかの実施形態によれば、適合性サービス304により処理され、及び/または適合性階層ストレージ314内に配置され得た。従って、いくつかの実施形態において、ユーザ202には、適合性により(例えば適合性レベルセット内で)整理された推薦曲が提示され得る。別の実施形態において、推薦曲は、ユーザデバイス204上のローカルストレージ、ユーザ202に対応付けられたウェブベースストレージ、及び/またはユーザ202がアクセス可能なその他のサービスまたはデータベースに配置され得る。いくつかの実施形態において、プレイリスト制御モジュール228は、推薦サービス208が推薦する曲と、統合プレーヤーモジュール230に関連して説明される方法及び技術を使用して複数の場所に配置された他の曲とを再生可能であり得る。別の実施形態において、プレイリストマネジャー212は、別の格納場所及び/またはサービスに対するアクセス要求を、ユーザ202に通信することで、または直接別の格納場所及び/またはサービスに通信することで、実行し得る。
さらに別の実施形態において、推薦サービス308はユーザ202に、メディアコンテンツサービス210の所有者が所有する曲のデータベースから一致(すなわちあるレベルの適合性)が特定され得た曲を購入する機会を提示し得る。別の実施形態において、推薦サービス308はユーザ202に、ユーザ202のプレイリスト(複数可)及び/または生成サービス306が生成したプレイリストに含まれる曲に類似する曲、またはそれらの曲の補完的な曲を購入するように推薦し得る。ユーザ202が今は曲を購入しないことを選んだ場合、推薦サービス308はユーザ202に、「ウィッシュリスト」に曲を配置する、または後で購入する機会を提供し得る。別の実施形態によれば、ユーザ202は、他のユーザがユーザ202のために推薦曲を購入できるように、ウィッシュリスト情報を誰と共有するかを指定し得る。推薦サービス308はまた、いくつかの実施形態によれば、ユーザ202に、自分のプレイリストに含まれる曲及び/または自分のプレイリストにない曲に対し、批評、評価、及び/またはコメントする機会を提供し得る。ユーザ202により他の情報と一緒に提供され、ユーザ202とメディアコンテンツサービス210との対話から収集された当情報は、プレイリストマネジャー212のサービスを他のユーザ及びユーザ202に適合させるのに使用され得る。
本明細書において説明される実施形態によれば、プレイリスト制御モジュール228は、インポート/エクスポートサービス310も備え得る。インポート/エクスポートサービス310は、プレイリスト制御モジュール228により使用され、ユーザ202が既存のプレイリストを別のサービス及び/または別の格納場所からインポートすることを可能にし得る。別の実施形態によれば、インポート/エクスポートサービス310は、インポートされたプレイリストを、プレイリスト制御モジュール228が認識可能なフォーマットに変換するのに使用され得る。このような変換により、別の実施形態によれば、プレイリスト制御モジュール228がインポートされたプレイリストに対し前述のような動作を行うことが可能になり得る。インポート/エクスポートサービス310はまた、生成サービス306が生成したプレイリスト、インポート/エクスポートサービス310がインポートしたプレイリスト、及び/またはプレイリストマネジャー212もしくはプレイリストマネジャー212内で利用可能な動作を使用するユーザ202により自動で作成されたプレイリストを、ユーザ202がエクスポートすることを可能にし得る。本明細書において説明される実施形態によれば、ユーザ202は、インポート/エクスポートサービス310によりエクスポートされたプレイリストを、友達、家族、他のユーザに対し自由に共有または貸すことが可能であり得る。別の実施形態において、プレイリストマネジャー212は、プレイリストのエクスポートを制限し得る。
本明細書において説明される実施形態によれば、プレイリスト制御モジュール228は、オーディオプレーヤーサービス316も備え得る。オーディオプレーヤーサービス316は、例えば、停止、再生、一時停止、前方スキャン、後方スキャン、前方スキップ、後方スキップ、連続再生、ランダム再生、自動音量調整等、一般のオーディオ再生機能に対応し得る。オーディオプレーヤーサービス316は、いくつかの実施形態によれば、ネットワーク208を介してユーザデバイス204上のブラウザウィンドウ内で操作可能であり得る。別の実施形態によれば、プレイリストマネジャー212の配置場所により(すなわち、メディアコンテンツサーバ210上に格納されている、ユーザデバイス204上に格納されている、その2つまたは別の場所に分散されている)、オーディオプレーヤーサービス316は、ソフトウェア、ソフトウェアベースのアプリケーション、ファームウェア等に含まれ得る。
図4〜6は、複数のサービスにまたがってメディアコンテンツを管理するためのそれぞれの工程400〜600を表す例示的フロー図を示す。これらの工程は論理的フロー図として例示され、各動作は、ハードウェア、コンピュータ命令、またはそれらの組合せにおいて実行可能である一連の動作を表す。コンピュータ命令のコンテキストにおいて、動作は、1つ以上のコンピュータ可読記憶媒体上に記憶され、1つ以上のプロセッサにより実行されると列挙された動作を実行するコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令には、特定の機能を実行する、または特定のデータ種類を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれる。動作が説明される順序は、限定として解釈される意図はなく、そして任意の数の説明動作は、工程を実行するために、任意の順序及び/また並列に組わせることが可能である。
さらに、一部、任意、または全ての工程は、実行可能命令で構成された1つ以上のコンピュータシステムの制御の下で実行され、かつハードウェアまたはそれらの組合せにより1つ以上のプロセッサ上で集団的に実行されるコード(例えば実行可能命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実施され得る。前記のように、コードは、例えば1つ以上のプロセッサにより実行可能な複数の命令を含むコンピュータプログラムの形態で、コンピュータ可読記憶媒体に記憶され得る。コンピュータ可読記憶媒体は、非一時的であり得る。
図4は、複数のサービスにまたがってメディアコンテンツを管理する工程400を示す例示的フロー図を描く。図2に示されるメディアコンテンツサーバ210が、図4の工程400を実行し得る。工程400は、402において音楽トラックの第1ライブラリを特定することから始まる。402において説明される工程400によれば、音楽トラックは、音楽サービスに対応付けられている可能性がある。音楽サービスは、いくつかの実施例において、音楽トラックの第1ライブラリからプレイリストを生成することが可能であり、そしていくつかの実施例において、音楽トラックはメタデータを含み得る。404において、工程400は、メディアコンテンツサーバ210により、またはメディアコンテンツサーバ210を含む1つ以上のコンピュータにより、ステップ402の1つ以上の音楽トラックを含むプレイリストを受信し得る。406において、工程400は、音楽トラックの第2ライブラリ内を検索し得る。例えば、工程400は、第2ライブラリ内を検索して、ステップ404において受信したプレイリストからの少なくとも1つのトラックを特定し得る。前に論述されたように、当特定は、適合性階層に少なくとも一部基づき得る。適合性階層には、例えば、ステップ402において特定された1つ以上のトラックの対応メタデータと、音楽トラックの第2ライブラリからのそれぞれのトラックの対応メタデータとに少なくとも一部基づき得る複数の適合性レベルが含まれ得る。408において、工程400は、402において第1音楽サービスが生成したプレイリストを、音楽トラックの第2ライブラリのそれぞれのトラックで再生可能となるように、406において特定した一致トラック(複数可)をプレイリスト(複数可)に追加し得る。410において、工程400は、第2音楽サービスがプレイリストを使用して音楽トラックの第2ライブラリのそれぞれのトラックを再生することを可能にし得る。
図5は、複数のサービスにまたがってメディアコンテンツを管理する工程500を示す例示的フロー図を描く。図2に示されるメディアコンテンツサーバ210が、図5の工程500を実行し得る。工程500は、502において電子コンテンツアイテムを特定するリスト(複数可)を受信することから始まる。1つの実施例において、工程500は、電子コンテンツアイテム(複数可)を特定し、そして少なくとも1つのアイテムは、第1サービスプロバイダに対応付けられている可能性がある。504において、工程500は、502において特定された電子コンテンツアイテム(複数可)に対応し得る第2サービスプロバイダに対応付けられた一致アイテムを特定し得る。1つの実施例において、当特定は、適合性階層に少なくとも一部基づき得る。506において、工程500は、502において受信されたアイテムの代わりに一致アイテムに対しアクション(例えば再生)を実行するように第2サービスプロバイダに命令を与え得る。
図6は、複数のサービスにまたがってメディアコンテンツを管理する工程600を示す例示的フロー図を描く。図2に示されるメディアコンテンツサーバ210が、図6の工程600を実行し得る。工程600は、602において第1サービスプロバイダに対応する関連メタデータにより電子オーディオファイル(複数可)を特定することから始まる。604において、工程600は、第2サービスプロバイダの適合オーディオファイル(複数可)にアクセスする要求を受信し得る。606において、工程600は、電子オーディオファイル(複数可)に関連する情報に少なくとも一部基づいて、604の適合オーディオファイル(複数可)を特定し得る。いくつかの実施形態において、606における適合メディアファイルの特定は、適合性階層を使用し得る。適合性階層は、いくつかの実施例において、完全一致(複数可)、完全一致(複数可)が見つからない場合は複製一致(複数可)、複製一致(複数可)が見つからない場合は代替一致(複数可)、代替一致(複数可)が見つからない場合は異質一致(複数可)、及び/または異質一致(複数可)が見つからない場合は変形一致(複数可)を求めて、第2サービスのファイル内を検索し得る。
図7は、アーキテクチャ200の統合プレーヤーモジュール230を実行する例示的システムまたはアーキテクチャ700を描く。本開示の実施形態によれば、統合プレーヤーモジュール230は、実際の曲が複数の場所に保存または格納され得る、及び/または複数のソースから許可され得る曲のリストすなわちプレイリストを再生するために作動し得る。1つの非限定的実施例において、ユーザ202は、ユーザデバイス204上に配置された曲のライブラリからプレイリストを作成し得る。ユーザデバイス204上にプレイリストを格納するシステムは、いくつかの事例において、プレイリストに含まれるオーディオファイルの場所を見つけるためにファイルパスディレクトリを使用するため、このようなプレイリストはユーザデバイス204に特化され得る。オーディオファイルが異なる場所に移動される場合(すなわち異なるファイルパスディレクトリにおいて見つかる場合)、プレイリストはユーザデバイス204上で再生不可能となり得る。しかしながらいくつかの事例において、前に論述されたように、ユーザ202は、全てまたは一部のプレイリストを1つのサービスから別のサービスへインポートすることを所望し得る。本明細書において開示される実施形態によれば、このような移動は、図3に関連して説明されたインポート/エクスポートサービス310を使用して達成され得る。別の事例において、ユーザ202は、複数のサービスから音楽を購入し得た。従って、ユーザ202の音楽は全て1つの場所に、または1つのサービス内に格納され得ない。
図7の詳細に着目すると、統合メディアプレーヤー230は、ユーザ202のメディアファイルが格納され得る複数の場所と共に例示される。当例示的アーキテクチャ700において、統合メディアプレーヤー230は、ネットワーク710(複数可)を介して、ローカルストレージ702、ウェブベースストレージ704、及びウェブベース音楽サービス706と接続を共有する。ストレージ224もプレイリストマネジャー212の一部として含まれ、従って、統合プレーヤーモジュール230と接続を共有する。アーキテクチャ700は、前に列挙された格納場所にネットワーク710を介して接続された統合メディアプレーヤー230を備えることが図7において示されるが、物理的またはウェブベースの格納場所は多少、本明細書において説明される実施形態及び技術を使用して実行され得ることが理解される。図7において例示される格納場所及びサービスはそれぞれ、統合メディアプレーヤー230と、ネットワーク710を介して、または統合メディアプレーヤー203及び/または他の格納場所及び音楽サービスの間の接続性を提供するその他の方法により、接続され得る。いくつかの実施例において、ネットワーク710は、ケーブルネットワーク、インターネット、無線ネットワーク、セルラーネットワーク、他の私設及び/または公衆ネットワーク等の多数の異なる種類のネットワークのうち、任意の1つのネットワークまたはこれらを組合せたネットワークを含み得る。前に論述されたように、統合プレーヤーモジュール230は、複数のサービスを制御するように構成され得る。図2に関連してさらに詳しく論述されたように、統合プレーヤーモジュール230は、ソフトウェア、ハードウェア、ファームウェア等に実装され得る。
まずストレージ224に着目すると、プレイリストマネジャー212のストレージ224は、図2に関連して例示及び論述されたように、統合メディアプレーヤー230と接続を共有していることが描かれる。ストレージ224は、適合性階層のデータ追加に使用されるオーディオファイルを含み、メディアコンテンツサーバ210を介して統合メディアプレーヤー230によりアクセス可能であり得る。
統合メディアプレーヤー230は、ネットワーク710を介してローカルストレージ702にアクセス可能であり得る。いくつかの実施例において、ローカルストレージ702は、ユーザデバイス204上に格納されたオーディオファイルを含み得る。統合メディアプレーヤー230は、ネットワーク710(複数可)を介してユーザ202のウェブベースストレージ704にもアクセス可能であり得る。いくつかの実施例によれば、ウェブベースストレージ204には、「クラウドドライブ」、リモート接続ドライブ、ユーザデバイス204に物理的に接続されていない共有ドライブ、及び/またはユーザデバイス204のローカルではなく、またメディアコンテンツを供給する第3者により提供されていないその他の格納場所が含まれ得る。一方、ウェブベース音楽サービス706は、音楽または他のメディアコンテンツを供給する第3者により提供され得る。本明細書において開示される実施形態によれば、ウェブベース音楽サービス706は、ユーザ202がネットワーク接続を介して音楽を検索、格納、操作、及び/または再生できる機能を備え得る。いくつかの事例においては、ユーザ202は、ウェブベース音楽サービス706から購入した音楽を、ウェブベース音楽サービス706からストリーミングし得る。別の事例において、ユーザ202は、対価約定の一環として、ウェブベース音楽サービス706により提供される音楽をストリーミングする権利を有し得る。厳密には、ユーザ202は、ストリーミングサービスに対する金額を支払ったため、メディアコンテンツをストリーミングする権利を有し得る。別の約定においては、ユーザ202は、時々割り込むコマーシャルも傾聴するという条件で、メディアコンテンツをストリーミングする権利を有し得る。前に論述された格納場所(及び音楽サービス)それぞれにおいて、ユーザ202は、自分の音楽をどのように再生するかを管理及び/または編成し、これにはプレイリストを構築し操作することが含まれ得る。
図7は、プレイリスト708も含む。当実施例によれば、プレイリスト708は「サッカー」と題され、ユーザ202がスポーツのサッカーと対応付けたオーディオトラックを含み得る。本明細書において開示される実施形態によれば、プレイリスト708は、プレイリストマネジャー212を使用して作成され得る。当実施例において、プレイリスト708は、#(番号)、トラック、及び格納場所により編制され得る。表示を容易にするために、「トラック」名は省略され、格納場所が丸括弧内に示される。図7に描かれた実施形態によれば、トラック1はローカルストレージ702に格納され、トラック2はウェブベースストレージ704に格納され、トラック3はウェブベース音楽サービス706に接続的に配置され、そしてトラック4はストレージ224に格納され得る。
プレイリスト708の各トラックは、多数の独自のフォーマットのうちの少なくとも1つのフォーマットに従って符号化され得た(すなわち「ソース符号化」)。当ソース符号化は、ユーザがそれぞれのトラックを管理し、及び/またはプレイリスト708を作成するために使用したサービスまたはアプリケーションにより実行され得た。例えば、プレイリスト708の各トラックに対応付けられた異なる格納場所及び/またはサービスのため、トラック1のソース符号化は、トラック2のソース符号化と異なり得る。いくつかの実施例において、統合メディアプレーヤー230は、プレイリスト708の各トラックのソース符号化のフォーマットを特定するように構成され得る。ソース符号化フォーマットを特定することに加えて、統合メディアプレーヤー230は、いくつかの実施例において、ソースフォーマットを復号化し、及び/またはプレイリスト708の各トラックのソースフォーマットを統合フォーマットに再符号化するように構成され得る。統合フォーマットは、統合メディアプレーヤー230が異なるフォーマットにより符号化された異なるソースの曲を含むプレイリスト708を再生できるように、統合メディアプレーヤー230が読込み可能なフォーマットであり得る。いくつかの実施例において、プレイリスト708のそれぞれのトラックの符号化は同一または同様であり得、そして録音は各トラックを統合フォーマットにより符号化することを含み得る。
別の実施形態において、統合メディアプレーヤー230は、プレイリストストレージ312及び/または適合性階層ストレージ314にアクセスし得る。このようなアクセスにより、いくつかの実施例において、統合メディアプレーヤー230は、プレイリスト制御モジュール228が以前に動作を行ったメディアトラックを集約、統合、あるいは結合することが可能になり得る。例えば、統合メディアプレーヤー230は、適合性サービス304が特定したオーディオトラック及び/または生成サービス306が作成したプレイリストを再生し得る。
プレイリスト708に含まれるトラックは、異なる論理的及び/または物理的場所において格納またはアクセスされるため、統合プレーヤーモジュール230は、各個別トラックにどのメディアサービス及び/または格納場所が対応付けられているかを特定し得る。別の実施形態によれば、統合プレーヤーモジュール230は、プレイリスト708に含まれる各トラックにアクセスするためのアクセス経路を特定し得る。1つの実施例において、統合プレーヤーモジュール230は、プレイリスト708に含まれる各トラックへの各要求アクセスに対しデジタル通信を送信することで、各格納場所及び/またはメディアサービスと通信することを試み得る。いくつかの実施形態において、ユーザ202は、サービスまたは格納場所のうちの1つ以上から、統合プレーヤーモジュール230が作動するメディアコンテンツサーバ210に対するアクセスを許可するように求められ得る。別の事例において、統合プレーヤーモジュール230は、ユーザデバイス204上に存在し得る。一旦統合プレーヤーモジュール230にアクセスが認められると、統合プレーヤーモジュール230は、プレイリスト708内に列挙されたトラックの適合トラックを特定し、トラックとのユーザ対話(例えば、再生、ランダム再生、検索等)を許可し得る。
図8〜10は、複数のサービスにまたがってメディアコンテンツを管理するためのそれぞれの工程800〜1000を表す例示的フロー図を示す。これらの工程は論理的フロー図として例示され、各動作は、ハードウェア、コンピュータ命令、またはそれらの組合せにおいて実行可能である一連の動作を表す。コンピュータ命令のコンテキストにおいて、動作は、1つ以上のコンピュータ可読記憶媒体上に記憶され、1つ以上のプロセッサにより実行されると列挙された動作を実行するコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令には、特定の機能を実行する、または特定のデータ種類を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれる。動作が説明される順序は、限定として解釈される意図はなく、そして任意の数の説明動作は、工程を実行するために、任意の順序及び/また並列に組わせることが可能である。
さらに、一部、任意、または全ての工程は、実行可能命令で構成された1つ以上のコンピュータシステムの制御の下で実行され、かつハードウェアまたはそれらの組合せにより1つ以上のプロセッサ上で集団的に実行されるコード(例えば実行可能命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として実施され得る。前記のように、コードは、例えば1つ以上のプロセッサにより実行可能な複数の命令を含むコンピュータプログラムの形態で、コンピュータ可読記憶媒体に記憶され得る。コンピュータ可読記憶媒体は、非一時的であり得る。
図8は、複数のサービスにまたがってメディアコンテンツを管理する工程800を示す例示的フロー図を描く。図2に示されるメディアコンテンツサーバ210が、図8の工程800を実行し得る。工程800は、802において音楽ファイルの第1ライブラリを特定することから始まり得る。いくつかの実施例において、音楽ファイルの第1ライブラリは、ユーザによりアクセス可能な音楽ファイル第1セットを格納し得る。804において、工程800は、音楽ファイルの第2ライブラリを特定し得る。音楽ファイルの第2ライブラリは、音楽ファイル第2セットを備え、ユーザによりアクセス可能であり得る。いくつかの実施例において、第1ライブラリ及び第2ライブラリは、それぞれの音楽ファイルを別個のディレクトリに従って格納し得る。806において、工程800は、ユーザ(複数可)からプレイリスト(複数可)を受信し、いくつかの実施例において、プレイリスト(複数可)は、音楽プレーヤーにより再生可能であり、かつ802の音楽ファイル第1セットの少なくとも1つの音楽ファイルと、802の音楽ファイルセットの少なくとも1つの音楽ファイルとを含み得る。808において、工程800は、プレイリストの音楽ファイルごとに、少なくとも第1ライブラリ、第2ライブラリ、及び適合性ライブラリへのアクセスパス(複数可)を特定し得る。いくつかの実施例において、適合性ライブラリは、プレイリストの少なくとも1つの音楽ファイルに対応付けられた情報に少なくとも一部基づいて整理された音楽ファイルを含み得る。810において、工程80は、音楽プレーヤーがプレイリスト(複数可)を再生することを可能に得る。
図9に着目すると、複数のサービスにまたがってメディアコンテンツを管理する工程900を示す例示的フロー図が描かれる。図2に示されるメディアコンテンツサーバ210が、図9の工程900を実行し得る。工程900は、902において複数のソースを特定することから始まり得る。実施例として、ソースはそれぞれ、個別のオーディオファイルセット(複数可)を管理するように構成され得る。904において、工程900は、ユーザ(複数可)からプレイリスト(複数可)を受信し得る。いくつかの実施例において、プレイリスト(複数可)は、メディアプレーヤー(複数可)により再生されるオーディオファイル(複数可)のリスト(複数可)を特定し得る。906において、工程900は、902において特定された複数のソースのうち少なくとも1つから適合トラック(複数可)を特定し得る。いくつかの実施例において、906の特定は、適合性階層に少なくとも一部基づき得る。908において、工程900は、複数のソースから特定された少なくとも1つの適合トラック(複数可)をプレイリスト(複数可)に追加し得る。
図10は、複数のサービスにまたがってメディアコンテンツを管理する工程1000を示す例示的フロー図を描く。図2に示されるメディアコンテンツサーバ210が、図10の工程1000を実行し得る。工程1000は、1002において複数のソースを特定することから始まり得る。いくつかの実施例において、複数のソースはそれぞれ、電子コンテンツアイテムを含み得る。1004において、工程1000は、プレイリスト(複数可)に対するアクセス要求(複数可)を受信し得る。プレイリストは、いくつかの実施例において、複数のソースからの少なくとも1つの電子コンテンツアイテムを含み得る。1006において、工程1000は、適合電子コンテンツアイテムを、プレイリストの少なくとも1つの電子コンテンツアイテムと比較し得る。このような比較は、いくつかの実施例において、一致電子コンテンツアイテムを特定するために行われ得る。1006において比較された適合電子コンテンツアイテムは、いくつかの実施例において、複数のソースのうち少なくとも1つにより追加され得る。1008において、工程1000は、プレイリストに一致電子コンテンツアイテムのうち少なくとも1つを含めるように推薦し得る。1010において、工程1000は、一致電子コンテンツアイテムのうち少なくとも1つを含むプレイリストを再生する要求を処理し得る。1012において、工程1000は、各電子コンテンツアイテムへのアクセスパスを特定し得る。このような特定は、いくつかの実施例において、ソースの種類に少なくとも一部依存し得る。
図11は、様々な実施形態による態様を実行する例示的環境1100の態様を示す。説明のためにウェブベースの環境が使われているが、前述の内容から分かるように、様々な実施形態を実行するのに異なる環境が適宜使用可能である。環境は電子クライアントデバイス1102を含み、当電子クライアントデバイス1102には、要求、メッセージ、または情報を好適なネットワーク1104を介して送受信し、デバイスのユーザへ情報を返送することが可能な任意の好適なデバイスが含まれ得る。このようなクライアントデバイスの実施例には、パーソナルコンピュータ、携帯電話、手持ち型メッセージングデバイス、ラップトップコンピュータ、セットトップボックス、パーソナルデータアシスタント、電子書籍リーダ等が含まれる。ネットワークには、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、その他の同様のネットワーク、またはこれらの組合せを含む任意の好適なネットワークが含まれ得る。このようなシステムに使用される構成要素は、選択されたネットワーク及び/または環境の種類に少なくとも一部依存し得る。このようなネットワークを介して通信するプロトコル及び構成要素はよく知られているため、ここでは詳細について論述しない。ネットワークを介した通信は、有線、または無線接続、及びこれらの組合せにより行われ得る。当実施例において、要求を受信し、要求に応じてコンテンツを提供するウェブサーバ1106が環境に含まれるため、ネットワークにはインターネットが含まれるが、他のネットワークに関しては、当業者にとって明らかであるように、同様の目的にかなう代替デバイスを使用することも可能である。
例示的環境には、少なくとも1つのアプリケーションサーバ1108とデータストア1110とが含まれる。例示的環境には、いくつかのアプリケーションサーバ、レイヤー、または他の要素、工程、もしくは構成要素が存在し、これらは連結あるいは構成され、好適なデータストアからデータを取得するといったタスクを実行するために相互に作用可能である。本明細書において使用される「データストア」という用語は、データ記憶、データアクセス、データ取得が可能な任意のデバイスまたはデバイスの組合せを指し、任意の標準環境、分散環境、またはクラスタ環境における多数のデータサーバ、データベース、データストレージデバイス、データ記憶媒体、及びこれらの任意の組合せを含み得る。アプリケーションサーバには、クライアントデバイス用の1つ以上のアプリケーションの態様を実行するために必要に応じてデータストアと統合し、アプリケーションのデータアクセス及びビジネスロジックの大部分を統御する任意の好適なハードウェア及びソフトウェアが含まれ得る。アプリケーションサーバは、データストアと協働してアクセス制御サービスを提供し、かつユーザに伝送するテキスト、画像、オーディオ、及び/または映像等のコンテンツを生成可能である。当実施例において、生成されたコンテンツは、ハイパーテキストマークアップ言語(HTML)、拡張マークアップ言語(XML)、または別の好適な構造化言語の形式で、ウェブサーバからユーザに提供され得る。全ての要求及び応答の統御、並びにクライアントデバイス1102とアプリケーションサーバ1108間のコンテンツ配信は、ウェブサーバにより処理され得る。本明細書において論述する構造化コードは、本明細書の他の箇所に論述される任意の好適なデバイスまたはホストマシン上で実行可能であるため、ウェブサーバ及びアプリケーションサーバは必須ではなく、例示的構成要素にすぎないことは理解されよう。
データストア1110には、特定の態様に関連するデータを記憶するためのいくつかの個別のデータテーブル、データベース、または他のデータストレージ機構及び媒体が含まれ得る。例えば、例示されるデータストアには、製作側にコンテンツを提供するのに使用され得る製作データ1112及びユーザ情報1116を記憶する機構が含まれる。データストアには、報告、分析、またはその他の同様の目的に使用され得るログデータ1114を記憶する機構も含まれることが示される。例えばページ画像情報のため、及び正しい情報へアクセスするため、データストアに記憶される必要があり得る多数の他の態様が存在し、これらは、データストア1110内の前に列挙された機構のうちいずれかに適宜、または追加機構に記憶され得ることは理解されよう。データストア1110は、対応付けられたロジックを通して、アプリケーションサーバ1108から命令を受信し、命令に応じてデータを取得、更新あるいは処理することが可能である。1つの実施例において、ユーザはある種類のアイテムの検索を要求し得る。この場合、データストアは、ユーザ情報にアクセスしてユーザの本人確認を行い、そして当種類のアイテムに関する情報を取得するために、カタログ詳細情報にアクセスし得る。取得された情報は、例えばウェブページ上の結果一覧内でユーザに返され、ユーザはこれをユーザデバイス1102のブラウザを介して見ることが可能である。特定の注目アイテムに関する情報は、ブラウザの専門ページまたは専門ウィンドウにおいて見ることが可能である。
各サーバは、サーバの一般管理及び動作に関する実行可能プログラム命令を提供するオペレーティングシステムを一般に備え、かつ命令を記憶するコンピュータ可読記憶媒体(例えばハードディスク、ランダムアクセスメモリ、読取専用メモリ等)を一般に備え、当命令がサーバのプロセッサにより実行されると、サーバはその所定の機能を実行可能になる。サーバのオペレーティングシステム及び一般機能の好適な実装は、公知であり、または市販されており、当業者は、特に本明細書の開示を踏まえて、今すぐ実装可能である。
1つの実施形態における環境に、1つ以上のコンピュータネットワークまたは直接接続による通信リンクを介して相互接続されたいくつかのコンピュータシステム及び構成要素を使用する分散コンピューティング環境がある。しかしながら、このようなシステムは、図11に例示される構成要素よりも少ないまたは多い構成要素を有するシステムにおいても、同等に作動し得ることを、当業者は理解するであろう。従って、図11におけるシステム1100の描写は、本来例示として理解されるべきであり、開示内容の範囲を限定するものではない。
様々な実施形態はさらに、多様な動作環境において実行可能であり、いくつかの事例において、いくつかのアプリケーションのうちいずれかを作動させるのに使用され得る1つ以上のユーザコンピュータ、コンピューティングデバイス、または処理デバイスを含み得る。ユーザデバイスすなわちクライアントデバイスには、標準のオペレーティングシステムを実行するデスクトップまたはラップトップコンピュータ、並びにモバイルソフトウェアを実行し、いくつかのネットワーク及びメッセージ通信プロトコルに対応可能なセルラー、無線、及び手持ち型デバイス等、いくつかの汎用パーソナルコンピュータのうちいずれかが含まれ得る。このようなシステムはまた、開発及びデータベース管理等のため様々な市販のオペレーティングシステム及び他の公知のアプリケーションのうちいずれかを実行するいくつかのワークステーションを備え得る。これらのデバイスには、ダミー端末、シンクライアント、ゲーム機、及びネットワークを介して通信可能な他のデバイス等、他の電子デバイスも含まれ得る。
伝送制御プロトコル/インターネットプロトコル(TCP/IP)、開放型システム間相互接続(OSI)、ファイル転送プロトコル(FTP)、ユニバーサルプラグアンドプレイ(UpnP)、ネットワークファイルシステム(NFS)、共通インターネットファイルシステム(CIFS)及びアップルトーク等の様々な市販のプロトコルのうちいずれかを使用する通信に対応するために、大半の実施形態は、当業者によく知られる少なくとも1つのネットワークを利用する。ネットワークには、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びこれらの組合せがあり得る。
ウェブサーバを使用する実施形態において、ウェブサーバは、ハイパーテキスト転送プロトコル(HTTP)サーバ、FTPサーバ、共通ゲートウェイインターフェイス(CGI)サーバ、データサーバ、ジャバサーバ、及びビジネスアプリケーションサーバを含む、様々なサーバまたは中階層アプリケーションのうちいずれかを実行可能である。サーバ(複数可)はまた、ジャバ(Java(登録商標))、C、C#もしくはC++等の任意のプログラミング言語、またはパール(Perl)、パイソン(Python)もしくはツールコマンド言語(TCL)等の任意のスクリプト言語、並びにこれらの組合せで書かれた1つ以上のスクリプトまたはプログラムとして実装され得る1つ以上のウェブアプリケーションを実行すること等により、ユーザデバイスからの要求に応じて、プログラムまたはスクリプトを実行可能であり得る。サーバ(複数可)には、オラクル(Oracle(登録商標))、マイクロソフト(Microsoft(登録商標))、サイベース(Sybase(登録商標))、及びアイビーエム(IBM(登録商標))から市販されるデータベースサーバを限定することなく含むデータベースも含まれ得る。
環境には、前に論述されたように、様々なデータストアと他のメモリ及び記憶媒体が含まれ得る。これらは、1つ以上のコンピュータのローカルにある(及び/または1つ以上のコンピュータに属する)記憶媒体、またはネットワークを介して任意または全てのコンピュータのリモートにある記憶媒体等、様々な場所に存在し得る。特定の実施形態の一式において、情報は当業者によく知られるストレージエリアネットワーク(SAN)に保存され得る。同様に、コンピュータ、サーバ、または他のネットワークデバイスに属する機能を実行するために必要な任意のファイルは、ローカル及び/またはリモートに適宜格納され得る。システムがコンピュータ化デバイスを含む場合、このようなデバイスはそれぞれ、例えば少なくとも1つの中央処理装置(CPU)と、少なくとも1つの入力デバイス(例えばマウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド)と、少なくとも1つの出力デバイス(例えばディスプレイデバイス、プリンタ、またはスピーカ)とを含む、バスにより電気的に結合され得るハードウェア要素を含み得る。このようなシステムはまた、ディスクドライブ、光学ストレージデバイス、及び、ランダムアクセスメモリ(RAM)もしくは読出専用メモリ(ROM)、並びにリムーバブル媒体装置、メモリーカード、フラッシュカード等の固体ストレージデバイス等、1つ以上のストレージデバイスを含み得る。
このようなデバイスはまた、前述のように、コンピュータ可読記憶媒体リーダと、通信デバイス(例えばモデム、ネットワークカード(無線または有線)、赤外線通信デバイス等)と、作業メモリとを含み得る。コンピュータ可読記憶媒体リーダは、コンピュータ可読情報を一時的及び/またはより永久的に保有、記憶、送信、取得する、リモート、ローカル、固定、及び/またはリムーバブルのストレージデバイス並びに記憶媒体に相当するコンピュータ可読記憶媒体と接続、または当コンピュータ可読記憶媒体を受けるように構成され得る。システム及び様々なデバイスはまた一般に、クライアントアプリケーションまたはウェブブラウザ等のオペレーティングシステム及びアプリケーションプログラムを含む、少なくとも1つの作業メモリデバイス内に配置されたいくつかのソフトウェアアプリケーション、モジュール、サービス、または他の要素を含み得る。代替実施形態は、前述からの多数の変形を有し得ることは理解されよう。例えば、カスタマイズされたハードウェアも使用され、及び/または特定の要素がハードウェア、ソフトウェア(アプレット等のポータブルソフトウェアを含む)またはその両方に実装され得る。さらに、ネットワーク入力/出力デバイス等の他のコンピューティングデバイスへの接続が採用され得る。
コードまたはコードの一部を含む記憶媒体及びコンピュータ可読媒体には、当技術分野において既に知られている、または使用されている任意の好適な媒体が含まれ得る。好適な媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他データ等の情報の記憶及び/または送信に関する任意の方法または技術において実施される揮発性及び不揮発性、リムーバブル及び固定型媒体が挙げられるがこれに限定されない記憶媒体及び通信媒体が含まれる。これには、RAM、ROM、電気的消去再書込可能な読出専用メモリ(EEPROM)、フラッシュメモリ、または他のメモリ技術、読取専用コンパクトディスク(CD−ROM)、デジタル多用途ディスク(DVD)、もしくは他の光学ストレージ、磁気カセット、磁気テ?プ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、または所望の情報を記憶するために使用され、かつシステムデバイスによりアクセス可能なその他媒体が含まれる。本明細書において提供される開示及び教示に基づいて、当業者は、様々な実施形態を実行する他のやり方及び/または方法を理解するであろう。
従って、明細書及び図面は、限定的ではなく例示的な意味で見られるべきである。しかしながら、特許請求の範囲に記載される開示内容の広い精神と範囲から逸脱しない程度に、これらに対する様々な修正及び変更を行うことが可能であることは明白であろう。
他の変形は、本開示の精神の範囲内で行われる。従って、開示される技術は、様々な修正及び代替構造を実施することが可能であるが、これらのある例示的実施形態は図面に示され、前に詳述されている。しかしながら、特定の形式または開示された形式に開示内容を限定する意図はなく、それとは逆に、添付の請求項において定義される開示内容の精神と範囲に入る全ての修正、代替構造、及び同等物を含める意図があることは理解されよう。
開示される実施形態を説明する文脈(特に以下の請求項の文脈)において使用される「前記」及び同様の指示語は、本明細書において特に指示がないか、または明らかに文脈と矛盾しない限り、単数と複数の両方を対象にすると解釈されるべきである。「備える」、「有する」、「含む」の用語は、特に断りのない限り、無制限の用語(すなわち「含むがこれに限定されない」という意味)として解釈されるべきである。用語「接続される」は、何かが介在しているとしても、部分的または全体的に含まれる、取付けられる、結合される、という意味で解釈されるべきである。本明細書における値の範囲の詳述は、本明細書において特に指示のない限り、範囲内に入る個々の値を個別に指す簡略な方法として使用されることを単に意図し、そして個々の値は、本明細書において個別に詳述されているかのように、明細書に組み込まれる。本明細書において説明される全ての方法は、本明細書において特に指示がないか、または明らかに文脈と矛盾しない限り、任意の好適な順序で行うことが可能である。本明細書において提供される任意及び全ての実施例または例示語(例えば「等」)の使用は、単に開示の実施形態をより分かり易くすることを意図し、特に請求のない限り開示内容の範囲を限定するものではない。明細書におけるどの文面も、任意の非請求要素が、開示内容の実行に必須であるかのように解釈されるべきではない。
語句「X、Y、Zのうち少なくとも1つ」等の選言的言葉使いは、特に明言のない限り、項目、項等がX、Y、Zのいずれか、またはこれらの任意の組合せ(例えばX、Y、及び/またはZ)であり得ることを表すのに一般に使用される文脈の範囲内で理解される。従って、このような選言的言葉使いは、ある実施形態が少なくとも1つのX、少なくとも1つのY、少なくとも1つのZそれぞれが存在することを要求することを意味する意図は一般になく、また意味するべきではない。
開示の実施形態は以下の項を以って説明され得る。
(第1項)
第1音楽サービスに対応付けられた音楽トラックの第1ライブラリを特定することであって、第1音楽サービスは音楽トラックの第1ライブラリの1つ以上のトラックを含むプレイリストの生成を可能にし、1つ以上のトラックのうち少なくとも1つは1つ以上のトラックにそれぞれ対応するメタデータを含む、第1ライブラリを特定することと、
プレイリスト適合性サービスの1つ以上のコンピュータシステムにより、1つ以上のトラックを含むプレイリストを受信することと、
プレイリストの1つ以上のトラックのうち少なくとも1つのトラックに関して、一致トラックを求めて第2音楽サービスに対応付けられた音楽トラックの第2ライブラリを検索することであって、一致トラックは適合性階層に少なくとも一部基づいて特定され、適合性階層は、少なくとも1つのトラックに個々に対応するメタデータと、音楽トラックの第2ライブラリのそれぞれのトラックに対応する第2メタデータとに少なくとも一部基づいた複数の適合性レベルを含む、第2ライブラリを検索することと、
第1音楽サービスが生成したプレイリストが音楽トラックの第2ライブラリのそれぞれのトラックで再生可能なように、少なくとも一致トラックをプレイリストに追加することと、
第2音楽サービスがプレイリストを使用して音楽トラックの第2ライブラリのそれぞれのトラックを再生することを可能にすることと
を含むコンピュータ実施方法。
(第2項)
複数の適合性レベルは、ビット単位同一ファイル、ビット単位概同一ファイル、閾値未満で変化した複製ファイル、同一条件下での同一実演者による代替実演、異なる条件下での同一実演者による第2代替実演、または異なる実演者による異なる実演のうち、少なくとも2つ含む、第1項に記載のコンピュータ実施方法。
(第3項)
複数の適合性レベルに少なくとも一部基づいて、一致トラックに関する適合スコアを決定することをさらに含む第2項に記載のコンピュータ実施方法。
(第4項)
音楽トラックの第1ライブラリは、第2音楽サービスによりアクセス不可能である第1項に記載のコンピュータ実施方法。
(第5項)
プレイリストを使用して音楽トラックの第2ライブラリのそれぞれのトラックの再生を可能にするために、第2音楽サービスに対しプレイリストを提供することをさらに含む第1項に記載のコンピュータ実施方法。
(第6項)
コンピュータ実行可能命令を記憶するメモリと、
メモリにアクセスし、コンピュータ実行可能命令を実行して、集合的に少なくとも
複数の電子コンテンツアイテムを特定するリストを受信し、リストのうち少なくとも1つのアイテムは第1サービスプロバイダに対応付けられており、
適合性階層に少なくとも一部基づいて、少なくとも1つのアイテムに対応する第2サービスプロバイダに対応付けられた一致アイテムを特定し、
少なくとも1つのアイテムの代わりに一致アイテムに対しアクションを実行するように第2サービスプロバイダに命令を与える
ように構成されたプロセッサと
を備えるシステム。
(第7項)
適合性階層は、適合性測定の順位リストを備える、第6項に記載のシステム。
(第8項)
適合性測定には、完全アイテム一致、複製アイテム一致、代替同一アイテム一致、代替異質アイテム一致、異質実演アイテム一致、または変形アイテム一致のうち、少なくとも1つが含まれる、第7項に記載のシステム。
(第9項)
完全アイテム一致が第2サービスプロバイダにより提供される場合、一致アイテムは特定される、第8項に記載のシステム。
(第10項)
完全アイテム一致が第2サービスプロバイダにより提供されない場合、別のアイテムが推薦される、第8項に記載のシステム。
(第11項)
別のアイテムは、第2サービスプロバイダにより提供される、複製アイテム、代替同一アイテム、代替異質アイテム、異質実演アイテム、または変形アイテムのうち、少なくとも1つである、第10項に記載のシステム。
(第12項)
複数の電子コンテンツアイテムは、オーディオファイルまたはビデオファイルのうち少なくとも1つを含む、第6項に記載のシステム。
(第13項)
第1サービスプロバイダは、音楽サービス、ビデオサービス、またはメディアプレーヤーのうち少なくとも1つを備える、第6項に記載のシステム。
(第14項)
コンピュータ実行可能命令を記憶するメモリと、
メモリにアクセスし、コンピュータ実行可能命令を実行して、集合的に少なくとも
メタデータに対応付けられた、第1サービスプロバイダに対応する電子オーディオファイルを特定し、
第2サービスプロバイダの適合オーディオファイルに対するアクセス要求を受信し、
少なくとも
第2サービスプロバイダのファイル内で完全一致を検索し、
完全一致が見つからない場合、第2サービスプロバイダのファイル内で複製一致を検索し、
複製一致が見つからない場合、第2サービスプロバイダのファイル内で代替一致を検索し、
代替一致が見つからない場合、第2サービスプロバイダのファイル内で異質一致を検索し、
異質一致が見つからない場合、第2サービスプロバイダのファイル内で変形一致を検索する
ために、適合性階層を使用して、電子オーディオファイルの関連情報に少なくとも一部基づいて第2サービスプロバイダの適合オーディオファイルを特定する
ように構成されたプロセッサと
を備えるシステム。
(第15項)
完全一致は、電子オーディオファイルと適合オーディオファイルのビット単位完全一致を含む、第14項に記載のシステム。
(第16項)
複製一致は、複製工程により軽微に変化した、電子オーディオファイルのコンテンツの複製である適合オーディオファイルを含む、第14項に記載のシステム。
(第17項)
代替一致は、電子オーディオファイルのコンテンツの代替実演である適合オーディオファイルを含み、代替実演は、適合オーディオファイルに関して同一実演者と同一実演条件とを含む、第14項に記載のシステム。
(第18項)
代替一致は、電子オーディオファイルのコンテンツの代替実演である適合オーディオファイルを含み、代替実演は、適合オーディオファイルのコンテンツに関して同一実演者と異なる実演条件とを含む、第14項に記載のシステム。
(第19項)
異質一致は、電子オーディオファイルのコンテンツの異なる実演者による異なる実演である適合オーディオファイルを含む、第14項に記載のシステム。
(第20項)
変形一致は、電子オーディオファイルのコンテンツの異なる編曲である適合オーディオファイルを含む、第14項に記載のシステム。
(第21項)
ユーザによりアクセス可能な音楽ファイル第1セットを管理するように構成された第1ライブラリを特定することと、
コンピュータシステムにより、ユーザによりアクセス可能な音楽ファイル第2セットを管理するように構成された第2ライブラリを特定することであって、第1ライブラリと第2ライブラリは別個のディレクトリに従ってそれぞれの音楽ファイルを格納する、第2ライブラリを特定することと、
ユーザからプレイリストを受信することであって、リストに整理されたプレイリストは、音楽プレーヤーにより再生可能であり、音楽ファイル第1セットから少なくとも1つの音楽ファイルと、音楽ファイル第2セットから少なくとも1つの音楽ファイルとを含む、プレイリストを受信することと、
プレイリストの少なくとも1つの音楽ファイルに関して、少なくとも
第1ライブラリ、
第2ライブラリ、
または適合性ライブラリ
へのアクセスパスを特定することであって、適合性ライブラリの音楽ファイルはプレイリストの少なくとも1つの音楽ファイルに対応付けられた情報に少なくとも一部基づいて整理される、アクセスパスを特定することと、
音楽プレーヤーがプレイリストを再生することを可能にすることと
を含むコンピュータ実施方法。
(第22項)
音楽プレーヤーがプレイリストを再生することを可能にする前に、第1ライブラリに対し音楽ファイル第1セットへのアクセス要求を行うことと、第2ライブラリに対し音楽ファイル第2セットへのアクセス要求を行うこととをさらに含む第21項に記載のコンピュータ実施方法。
(第23項)
第1ライブラリはユーザのストレージデバイスに対応付けられ、第2ライブラリはユーザに対しネットワークを介して音楽ファイルを提供するように構成された音楽サービスに対応付けられている、第21項に記載のコンピュータ実施方法。
(第24項)
プレイリストは、適合性ライブラリの音楽ファイルのうち少なくとも1つを含む、第21項に記載のコンピュータ実施方法。
(第25項)
適合性ライブラリの音楽ファイルは、複数の一致レベルを有する適合性階層に少なくとも一部基づいて整理される、第21項に記載のコンピュータ実施方法。
(第26項)
複数の一致レベルは、ビット単位同一ファイル、ビット単位概同一ファイル、閾値未満で変化した複製ファイル、同一条件下での同一実演者による代替実演、異なる条件下での同一実演者による第2代替実演、または異なる実演者による異なる実演のうち、少なくとも2つ含む、第21項に記載のコンピュータ実施方法。
(第27項)
コンピュータ実行可能命令を記憶するコンピュータ可読ストレージデバイスであって、コンピュータ実行可能命令は1つ以上のコンピュータシステムにより実行されると、1つ以上のコンピュータシステムに
複数のソースを特定することであって、それぞれの複数のソースは、複数のソースごとにそれぞれ構成された独立したメディアコンテンツライブラリに対応付けられている、複数のソースを特定することと、
メディアプレーヤーが再生する複数のソースのメディアファイルを特定するプレイリストを受信することであって、メディアファイルのうち少なくとも1つは、複数のソースのうち少なくとも1つのソースの少なくとも1つの個別の構成において利用可能である、プレイリストを受信することと、
プレイリストのメディアファイルのうち少なくとも1つのメディアファイルに関して、複数のソースのうち少なくとも1つから適合メディアファイルを、適合性階層に少なくとも一部基づいて特定することと、
複数のソースのうち少なくとも1つから特定された適合メディアファイルをプレイリストに追加することと
を含む動作を実行させる、コンピュータ可読ストレージデバイス。
(第28項)
適合性階層はメディアファイル一致の複数の階層レベルを含み、複数の階層レベルは、ビット単位同一ファイル、ビット単位概同一ファイル、閾値未満で変化した複製ファイル、同一条件下での同一実演者による代替実演、異なる条件下での同一実演者による第2代替実演、または異なる実演者による異なる実演のうち、少なくとも2つ含む、第27項に記載のコンピュータ可読ストレージデバイス。
(第29項)
複数のソースには、1つ以上のコンピュータシステムのローカルストレージデバイス、1つ以上のコンピュータシステムの外部のストレージデバイス、またはネットワークを介してアクセス可能なサービスプロバイダが含まれる、第27項に記載のコンピュータ可読ストレージデバイス。
(第30項)
それぞれ個別に構成されたメディアコンテンツライブラリのファイルは、関連ソースのメディアプレーヤーで再生されるようにフォーマット化される、第27項に記載のコンピュータ可読ストレージデバイス。
(第31項)
第1メディアコンテンツライブラリの第1フォーマットは、第2メディアコンテンツライブラリの第2フォーマットとは異なる、第30項に記載のコンピュータ可読ストレージデバイス。
(第32項)
1つ以上のコンピュータシステムはさらに、メディアプレーヤーがデータ追加されたプレイリストを再生することを可能にすることを含む動作を実行するように構成される、第27項に記載のコンピュータ可読ストレージデバイス。
(第33項)
プレイリストは、メディアプレーヤーのユーザから受信される、第27項に記載のコンピュータ可読ストレージデバイス。
(第34項)
独立したメディアコンテンツライブラリはそれぞれ、ユーザに対応付けられている、第33項に記載のコンピュータ可読ストレージデバイス。
(第35項)
コンピュータ実行可能命令を記憶するメモリと、
メモリにアクセスし、コンピュータ実行可能命令を実行して、集合的に少なくとも
電子コンテンツアイテムをそれぞれ含む複数のソースを特定し、
複数のソースからの少なくとも1つの電子コンテンツアイテムを特定する情報を含むプレイリストへのアクセス要求を受信し、
一致電子コンテンツアイテムを特定するために、複数のソースのうち少なくとも1つにより追加された適合電子コンテンツアイテムと、プレイリストのうち少なくとも1つの電子コンテンツアイテムを比較し、
プレイリストに一致電子コンテンツアイテムのうち少なくとも1つを含めるように推薦し、
一致電子コンテンツアイテムのうち少なくとも1つを含むプレイリストを再生する要求を処理し、
プレイリストの各電子コンテンツアイテムに対する、ソースの種類に少なくとも一部基づくアクセスパスを特定する
ように構成されたプロセッサと
を備えるシステム。
(第36項)
複数のソースのうち少なくとも1つは、ネットワークを介してアクセス可能なウェブベースストレージサービスを備える、第35項に記載のシステム。
(第37項)
プロセッサはさらに、メモリにアクセスし、コンピュータ実行可能命令を実行して、集合的に少なくとも
複数のソースに対し、それぞれの電子コンテンツアイテムへのアクセス許可を要求し、
電子コンテンツアイテムへのアクセスが認められたか否かに関する通信を処理する
ように構成された、第35項に記載のシステム。
(第38項)
プレイリストは少なくとも一部、複数のソースのうち少なくとも1つにより作成される、第35項に記載のシステム。
(第39項)
複数のソースのうち少なくとも1つは、適合電子コンテンツアイテムを追加可能なソースと同じソースを含む、第38項に記載のシステム。
(第40項)
複数のソースのうち少なくとも1つへのアクセスパスは、公衆ネットワークを含む、第35項に記載のシステム。
(第41項)
プレイリストの電子コンテンツアイテムは、オーディオファイル、ビデオファイル、画像ファイル、オーディオブックファイル、ドキュメントファイルのうち、少なくとも1つを含む、第35項に記載のシステム。
(第42項)
一致電子コンテンツアイテムは、適合性階層に少なくとも一部基づいて特定される、第35項に記載のシステム。
本明細書において説明される当開示の好ましい実施形態には、説明された実施形態を実行するにあたって発明者が知る最適な形態が含まれる。当業者にとって、これらの好ましい実施形態の変形は、前述の説明を読むことで明らかになり得る。発明者は、当業者がこのような変形を適宜採用することを所望し、また発明者は、本明細書において開示される実施形態が、本明細書において具体的に記載された以外の方法で実行されることを想定する。従って、当開示は、本明細書に添付される請求項において詳述される内容の全ての修正及び均等物を、適用法令により認可したものとして含む。さらに、これらの全ての可能な変形における前述の要素の任意の組合せは、本明細書において特に指示がないか、または明らかに文脈と矛盾しない限り、開示内容に含まれる。
本明細書において引用された公報、特許出願及び特許を含む全ての参考文献は、各文献が参照により取込まれるように個別に具体的に示され、その全体が本明細書において記載されているのと同程度に、参照することにより本明細書に組み込まれる。