説明

APIアクセス可能メディア配布システム

メディア・リポジトリ内に複数のメディア・データ・ファイルを格納するメディア配布システムおよび方法。クライアント電子装置のユーザは、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることが可能となる。クライアント電子装置のユーザは、メディア配布システムに関連する1つまたは複数の加入アカウントを管理することが可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本願は、参照により本明細書に組み込まれる以下の出願の優先権を主張する。2006年8月31日出願の「API−Accessible Media Distribution System」という名称の米国仮特許出願第60/842,056号、および2006年9月8日出願の「API−Accessible Media Distribution System」という名称の米国仮特許出願第60/843,212号。
【0002】
本開示は、メディア配布システムに関し、より詳細には、APIアクセス可能メディア配布システムに関する。
【背景技術】
【0003】
メディア配布システム(例えば、ワシントン州シアトルのRealNetworks Inc.によって提供されるRhapsody(商標)サービス)は、メディア・データ・ファイルをメディア・サーバからユーザのクライアント電子装置(例えば、パーソナル・メディア・プレーヤ、携帯情報端末、またはマルチメディア携帯電話)に配布する。メディア配布システムは、ユーザが例えばダウンロード済みメディア・データ・ファイルを受信し、かつ/またはリモート・メディア・データ・ファイルをストリーミングすることを可能にすることにより、メディア・データ・ファイルを配布することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国仮特許出願第60/842,056号
【特許文献2】米国仮特許出願第60/843,212号
【発明の概要】
【発明が解決しようとする課題】
【0005】
遺憾ながら、メディア配布システムにアクセスするのにしばしば専用クライアント・アプリケーションが必要となる。さらに、この専用クライアント・アプリケーションは通常はパーソナル・コンピュータ(例えばデスクトップ・コンピュータまたはラップトップ・コンピュータ)上で実行されるので、メディア配布システムが、クライアント電子装置で直接的にアクセス可能ではない可能性がある。
【課題を解決するための手段】
【0006】
第1の実施態様では、メディア配布システムが、複数のメディア・データ・ファイルを格納するメディア・リポジトリを含む。アカウント・アプリケーション・プログラミング・インターフェースが、クライアント電子装置のユーザが、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にする。アカウント・アプリケーション・プログラミング・インターフェースは、クライアント電子装置のユーザが、メディア配布システムに関連する1つまたは複数の加入アカウントを管理することを可能にするように構成される。
【0007】
以下の特徴のうちの1つまたは複数を含めることができる。アカウント・アプリケーション・プログラミング・インターフェースは、1つまたは複数のクライアント・スタブと通信するように構成される1つまたは複数のサーバ・スタブを含むことができる。さらに、標準化プロトコルを使用してクライアント電子装置からデータ要求を受信し、受信したデータ要求に応答して、データをサード・パーティ使用可能フォーマット(サード・パーティアプリケーションで使用可能な標準化フォーマット)サード・パーティ使用可能フォーマットでクライアント電子装置に提供するようにアカウント・アプリケーション・プログラミング・インターフェースを構成することができる。
【0008】
別の実施態様では、方法は、メディア・リポジトリ内に複数のメディア・データ・ファイルを格納することを含む。クライアント電子装置のユーザは、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることが可能となる。クライアント電子装置のユーザは、メディア配布システムに関連する1つまたは複数の加入アカウントを管理することが可能となる。
【0009】
別の実施態様では、メディア配布システムは、複数のメディア・データ・ファイルを格納するメディア・リポジトリを含む。ライブラリ管理アプリケーション・プログラミング・インターフェースが、クライアント電子装置のユーザが、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にする。ライブラリ管理アプリケーション・プログラミング・インターフェースは、クライアント電子装置のユーザが、メディア配布システムに関連する1つまたは複数のメディア・ライブラリを管理することを可能にするように構成される。
【0010】
以下の特徴のうちの1つまたは複数を含めることができる。ライブラリ管理アプリケーション・プログラミング・インターフェースは、1つまたは複数のクライアント・スタブと通信するように構成される1つまたは複数のサーバ・スタブを含むことができる。さらに、標準化プロトコルを使用してクライアント電子装置からデータ要求を受信し、受信したデータ要求に応答して、データをサード・パーティ使用可能フォーマットでクライアント電子装置に提供するようにライブラリ管理アプリケーション・プログラミング・インターフェースを構成することができる。
【0011】
別の実施態様では、方法は、メディア・リポジトリ内に複数のメディア・データ・ファイルを格納することを含む。クライアント電子装置のユーザは、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることが可能となる。クライアント電子装置のユーザは、メディア配布システムに関連する1つまたは複数のメディア・ライブラリを管理することが可能となる。
【0012】
別の実施態様では、メディア配布システムは、複数のメディア・データ・ファイルを格納するメディア・リポジトリを含む。メタデータ・アプリケーション・プログラミング・インターフェースは、クライアント電子装置のユーザが、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にする。メタデータ・アプリケーション・プログラミング・インターフェースは、クライアント電子装置のユーザが、1つまたは複数の検索語句を定義することを可能にするように構成される。1つまたは複数の検索語句に基づいて、複数のメディア・データ・ファイルの少なくとも一部に対して照会が実行される。結果セットが生成され、結果セットの一部が、結果セット全体未満となるようにユーザに対して表示される。
【0013】
以下の特徴のうちの1つまたは複数を含めることができる。メタデータ・アプリケーション・プログラミング・インターフェースは、1つまたは複数のクライアント・スタブと通信するように構成される1つまたは複数のサーバ・スタブを含むことができる。さらに、標準化プロトコルを使用してクライアント電子装置からデータ要求を受信し、受信したデータ要求に応答して、データをサード・パーティ使用可能フォーマットでクライアント電子装置に提供するようにメタデータ・アプリケーション・プログラミング・インターフェースを構成することができる。
【0014】
別の実施態様では、方法は、メディア・リポジトリ内に複数のメディア・データ・ファイルを格納することを含む。クライアント電子装置のユーザは、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることが可能となる。クライアント電子装置のユーザは、1つまたは複数の検索語句を定義することが可能となる。1つまたは複数の検索語句に基づいて、複数のメディア・データ・ファイルの少なくとも一部に対して照会が実行される。結果セットが生成される。結果セットの一部が、結果セット全体未満となるようにユーザに対して表示される。
【0015】
別の実施態様では、メディア配布システムは、複数のメディア・データ・ファイルを格納するメディア・リポジトリを含む。再生アプリケーション・プログラミング・インターフェースは、クライアント電子装置のユーザが、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にする。再生アプリケーション・プログラミング・インターフェースは、ユーザによって確立された、音楽配布システムとの間の接続の数を監視するように構成される。ユーザによって確立可能な接続の数を定義済みの接続限度に制限する最大接続ポリシーが実施される。
【0016】
以下の特徴のうちの1つまたは複数を含めることができる。再生アプリケーション・プログラミング・インターフェースは、1つまたは複数のクライアント・スタブと通信するように構成される1つまたは複数のサーバ・スタブを含むことができる。さらに、標準化プロトコルを使用してクライアント電子装置からデータ要求を受信し、受信したデータ要求に応答して、データをサード・パーティ使用可能フォーマットでクライアント電子装置に提供するように再生アプリケーション・プログラミング・インターフェースを構成することができる。
【0017】
別の実施態様では、方法は、メディア・リポジトリ内に複数のメディア・データ・ファイルを格納することを含む。クライアント電子装置のユーザは、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることが可能となる。ユーザによって確立された、メディア配布システムとの間の接続の数が監視される。ユーザによって確立可能な接続の数を定義済みの接続限度に制限する最大接続ポリシーが実施される。
【0018】
別の実施態様では、メディア配布システムは、複数のメディア・データ・ファイルを格納するメディア・リポジトリを含む。検索アプリケーション・プログラミング・インターフェースが、クライアント電子装置のユーザが、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にする。検索アプリケーション・プログラミング・インターフェースは、ユーザが第1検索語句を定義し、第1検索語句に基づいて、複数のメディア・データ・ファイルの少なくとも一部の第1照会を実行することを可能にするように構成される。ユーザは、第2検索語句を定義し、第1および第2検索語句に基づいて、複数のメディア・データ・ファイルの少なくとも一部の第2照会を実行することが可能となる。
【0019】
以下の特徴のうちの1つまたは複数を含めることができる。検索アプリケーション・プログラミング・インターフェースは、1つまたは複数のクライアント・スタブと通信するように構成される1つまたは複数のサーバ・スタブを含むことができる。さらに、標準化プロトコルを使用してクライアント電子装置からデータ要求を受信し、受信したデータ要求に応答して、データをサード・パーティ使用可能フォーマットでクライアント電子装置に提供するように検索アプリケーション・プログラミング・インターフェースを構成することができる。
【0020】
別の実施態様では、方法は、メディア・リポジトリ内に複数のメディア・データ・ファイルを格納することを含む。クライアント電子装置のユーザは、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることが可能となる。ユーザは、第1検索語句を定義することが可能となる。複数のメディア・データ・ファイルの少なくとも一部の第1照会が、第1検索語句に基づいて実行される。ユーザは、第2検索語句を定義することが可能となる。複数のメディア・データ・ファイルの少なくとも一部の第2照会が、第1および第2検索語句に基づいて実行される。
【0021】
別の実施態様では、メディア配布システムは、複数のメディア・データ・ファイルと、複数のメディア・データ・ファイルのうちの1つまたは複数を識別するファイル・カタログとを格納するメディア・リポジトリを含む。アプリケーション・プログラム・インターフェースは、クライアント電子装置のユーザが、ファイル・カタログをブラウズ/検索して、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルを識別することを可能にする。アプリケーション・プログラム・インターフェースは、標準化プロトコルを使用してクライアント電子装置からデータ要求を受信し、受信したデータ要求に応答して、データをサード・パーティ使用可能フォーマットでクライアント電子装置に提供するように構成される。
【0022】
以下の特徴のうちの1つまたは複数を含めることができる。Simple Object Access Protocol(SOAP)、Java(登録商標) Script Object Notation(JSON)、REpresentational State Transfer(REST)、およびeXtensible Markup Language Remote Procedure call(XML−RPC)からなるグループから、標準化プロトコルを選ぶことができる。
【0023】
受信したデータ要求に応答して、データをサード・パーティ使用可能フォーマットでクライアント電子装置に提供することは、どのようにクライアント電子装置がメディア配布システムと通信することができるかを記述するサービス記述を、クライアント電子装置に提供することを含むことができる。サービス記述は、Web Services Description Language(WSDL)でよい。
【0024】
サービス記述を処理して、メディア配布システムにアクセスするための1つまたは複数のクライアント・スタブを生成するようにクライアント電子装置を構成することができる。アプリケーション・プログラム・インターフェースは、1つまたは複数のクライアント・スタブと通信するように構成される1つまたは複数のサーバ・スタブを含むことができる。
【0025】
別の実施態様では、方法は、メディア・リポジトリ内に複数のメディア・データ・ファイルを格納することを含む。複数のメディア・データ・ファイルのうちの1つまたは複数が、ファイル・カタログ内で識別される。標準化プロトコルを使用して、データ要求がクライアント電子装置から受信される。受信したデータ要求に応答して、データが、サード・パーティ使用可能フォーマットでクライアント電子装置に提供される。クライアント電子装置のユーザは、ファイル・カタログをブラウズ/検索して、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルを識別することが可能となる。
【0026】
以下の特徴のうちの1つまたは複数を含めることができる。Simple Object Access Protocol(SOAP)、Java(登録商標) Script Object Notation(JSON)、REpresentational State Transfer(REST)、およびeXtensible Markup Language Remote Procedure call(XML−RPC)からなるグループから、標準化プロトコルを選ぶことができる。
【0027】
受信したデータ要求に応答して、データをサード・パーティ使用可能フォーマットでクライアント電子装置に提供することは、どのようにクライアント電子装置がメディア配布システムと通信することができるかを記述するサービス記述を、クライアント電子装置に提供することを含むことができる。サービス記述は、Web Services Description Language(WSDL)でよい。
【0028】
サービス記述を処理して、メディア配布システムにアクセスするための1つまたは複数のクライアント・スタブを生成するようにクライアント電子装置を構成することができる。
【0029】
別の実施態様では、コンピュータ・プログラム製品が、複数の命令がその上に格納されたコンピュータ可読媒体上に常駐する。プロセッサによって実行されたとき、命令は、メディア・リポジトリ内に複数のメディア・データ・ファイルを格納することを含むオペレーションをプロセッサに実行させる。複数のメディア・データ・ファイルのうちの1つまたは複数が、ファイル・カタログ内で識別される。標準化プロトコルを使用して、データ要求がクライアント電子装置から受信される。受信したデータ要求に応答して、データが、サード・パーティ使用可能フォーマットでクライアント電子装置に提供される。クライアント電子装置のユーザは、ファイル・カタログをブラウズ/検索して、複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルを識別することが可能となる。
【0030】
以下の特徴のうちの1つまたは複数を含めることができる。Simple Object Access Protocol(SOAP)、Java(登録商標) Script Object Notation(JSON)、REpresentational State Transfer(REST)、およびeXtensible Markup Language Remote Procedure call(XML−RPC)からなるグループから、標準化プロトコルを選ぶことができる。
【0031】
受信したデータ要求に応答して、データをサード・パーティ使用可能フォーマットでクライアント電子装置に提供することは、どのようにクライアント電子装置がメディア配布システムと通信することができるかを記述するサービス記述を、クライアント電子装置に提供することを含むことができる。サービス記述は、Web Services Description Language(WSDL)でよい。
【0032】
サービス記述を処理して、メディア配布システムにアクセスするための1つまたは複数のクライアント・スタブを生成するようにクライアント電子装置を構成することができる。
【0033】
1つまたは複数の実施態様の詳細が、添付の図面および以下の説明で記述される。説明および図面から他の特徴および利点が明らかとなるであろう。
【図面の簡単な説明】
【0034】
【図1】分散コンピューティング・ネットワークに結合されたメディア配布システム、クライアント・アプリケーション、プロキシ・アプリケーション、およびパーソナル・メディア装置のダイアグラムである。
【図2】図1のパーソナル・メディア装置の等角投影図である。
【図3】図1のパーソナル・メディア装置のダイアグラムである。
【図4】図1のメディア配布システムとのデータ交換のダイアグラムである。
【図5】図1のメディア配布システムによって実行されるプロセスの流れ図である。
【図6】図1のメディア配布システムによって実行されるプロセスの流れ図である。
【図7】図1のメディア配布システムによって実行されるプロセスの流れ図である。
【図8】図1のメディア配布システムによって実行されるプロセスの流れ図である。
【図9】図1のメディア配布システムによって実行されるプロセスの流れ図である。
【図10】図1のメディア配布システムによって実行されるプロセスの流れ図である。
【発明を実施するための形態】
【0035】
システム概要
図1を参照すると、例えばパーソナル・メディア装置12(したがってユーザ14)が、メディア配布システム18からメディア・コンテンツ16を得ることを可能にするAPI(すなわちアプリケーション・プログラミング・インターフェース)10が示されている。メディア・コンテンツ16は、例えば、周知の圧縮技法を使用して圧縮することのできるデジタル符号化オーディオおよび/またはビデオ・メディア・データ・ファイルでよい。そのような圧縮技法の例は、限定はしないが、MPEG−1、MPEG−2、MPEG−4、H.263、H.264、Advanced Audio Coding、ならびに国際標準化機構(ISO)およびMotion Picture Experts Group(MPEG)によって公表された他の技法を含むことができる。
【0036】
メディア配布システム18から受信されるメディア・コンテンツ16のフォーマットの例は、例えば、メディア配布システム18から受信される購入済みダウンロード(すなわち、例えばユーザ14に対して永続的な使用のために許諾されたメディア・コンテンツ)と、メディア配布システム18から受信される加入ダウンロード(すなわち、例えばユーザ14に対して、メディア配布システム18との有効な加入契約が存在する間の使用のために許諾されたメディア・コンテンツ)と、メディア配布システム18からストリーミングされるメディア・コンテンツとを含むことができる。通常、メディア・コンテンツが、例えばコンピュータ28からパーソナル・メディア装置12にストリーミングされるとき、メディア・コンテンツのコピーは、パーソナル・メディア装置12上に永続的に保持されない。メディア配布システム18に加えて、他のソースからメディア・コンテンツを得ることができ、他のソースの例は、限定はしないが、音楽コンパクト・ディスクからリッピングされたファイルを含むことができる。
【0037】
メディア配布システム18によって配布されるメディア・コンテンツ16のタイプの例は、オーディオ・メディア・データ・ファイル(その例は、限定はしないが、例えば音楽ファイル、オーディオ・ニュース・ブロードキャスト、オーディオ・スポーツ・ブロードキャスト、および書籍の音声記録を含むことができる)と、ビデオ・メディア・データ・ファイル(その例は、限定はしないが、例えば音声を含まないビデオ場面を含むことができる)と、オーディオ/ビデオ・メディア・データ・ファイル(その例は、限定はしないが、例えばa/vニュース・ブロードキャスト、a/vスポーツ・ブロードキャスト、長編の映画およびムービークリップ、ミュージック・ビデオ、ならびにテレビジョン・ショーのエピソードを含むことができる)と、マルチメディア・コンテンツ・メディア・データ・ファイル(その例は、限定はしないが、例えば対話型のプレゼンテーションおよびスライドショーを含むことができる)とを含む。
【0038】
メディア配布システム18は、メディア・データ・ストリームおよび/またはメディア・データ・ファイルを複数のユーザ(例えばユーザ14、20、22、24、26)に提供することができる。そのようなメディア配布システム18の例は、ワシントン州シアトルのRealNetworks Inc.によって提供されるRhapsody(商標)サービスを含む。
【0039】
メディア配布システム18は、ネットワーク30(例えばインターネット)に接続されるコンピュータ28(例えばサーバコンピュータ)上に常駐し、コンピュータ28によって実行されるサーバアプリケーションでよい。コンピュータ28は、ネットワーク・オペレーティング・システムを実行するウェブサーバでよく、ネットワーク・オペレーティング・システムの例は、限定はしないが、Microsoft Windows(登録商標) XP Server(商標)、Novell Netware(商標)、またはRedhat Linux(商標)を含むことができる。
【0040】
コンピュータ28はまた、ウェブサーバ・アプリケーションも実行することができ、ウェブサーバ・アプリケーションの例は、限定はしないが、ネットワーク30を介してコンピュータ28へのHTTP(すなわちHyperText Transfer Protocol)アクセスを可能にするMicrosoft IIS(商標)、Novell Webserver(商標)、またはApache Webserver(商標)を含むことができる。例えばローカル・エリア・ネットワーク、広域ネットワーク、イントラネットなどの1つまたは複数の2次ネットワーク(例えばネットワーク32)にネットワーク30を接続することができる。
【0041】
コンピュータ28に結合された記憶装置34上に格納することのできる、メディア配布システム18およびAPI10の命令セットおよびサブルーチンを、コンピュータ28に組み込まれた1つまたは複数のプロセッサ(図示せず)ならびに1つまたは複数のメモリ・アーキテクチャ(図示せず)で実行することができる。さらに、メディア配布システム18から入手可能なメディア・データ・ファイルを、例えば、コンピュータ28に取り付けられた記憶装置34上に格納することができる。記憶装置34は、限定はしないが、ハード・ディスク・ドライブ、テープ・ドライブ、光学式ドライブ、RAIDアレイ、ランダム・アクセス・メモリ(RAM)、または読取り専用メモリ(ROM)を含むことができる。
【0042】
ユーザ14、20、22、24、26は、例えばネットワーク30および/または2次ネットワーク32を介して、メディア配布システム18にアクセスすることができる。さらに、擬似リンク線36で示されるように、2次ネットワーク32を介してコンピュータ28(すなわち、メディア配布システム18を実行するコンピュータ)をネットワーク30に接続することができる。
【0043】
メディア配布システム18に直接的にアクセスすることができ、またはプロキシ・コンピュータを介してアクセスすることができる。例えば、ユーザ20、24、26は、様々なクライアント電子装置を介してメディア配布システム18に直接的にアクセスすることができ、様々なクライアント電子装置の例は、限定はしないが、例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42、テレビジョン(図示せず)、ケーブル・ボックス(図示せず)、インターネットラジオ(図示せず)、または専用ネットワーク装置(例えば、A Roku(商標) Soundbridge M500、M1000、およびM2000、図示せず)を含むことができる。さらに/あるいは、クライアント・コンピュータ44を介してメディア配布システム18に直接的にアクセスすることができる。
【0044】
さらに、メディア配布システム18に直接的にアクセスする装置を、ネットワーク30(またはネットワーク32)に直接的に結合することができる。例えば、クライアント・コンピュータ44が、ハードワイヤード・ネットワーク接続を介してネットワーク30に直接的に結合されるように示されている。さらに、クライアント・コンピュータ44は、例えばユーザ22がネットワーク30(またはネットワーク32)を介してメディア配布システム18にアクセスし、メディア配布システム18を構成することを可能にするクライアント・アプリケーション46(その例は、限定はしないが、ワシントン州レドモンドのMicrosoft Inc.から入手可能なMicrosoft Internet Explorer(商標)、Netscape Navigator(商標)、ワシントン州シアトルのRealNetworks Inc.から入手可能なRhapsody(商標)クライアントおよびRealPlayer(商標)クライアント、または特殊インターフェースを含むことができる)を実行することができる。クライアント・コンピュータ44はオペレーティング・システムを実行することができ、オペレーティング・システムの例は、限定はしないが、Microsoft Windows(登録商標) XP(商標)またはRedhat Linux(商標)を含むことができる。
【0045】
クライアント・コンピュータ44に結合された記憶装置48上に格納することのできるクライアント・アプリケーション46の命令セットおよびサブルーチンを、クライアント・コンピュータ44に組み込まれた1つまたは複数のプロセッサ(図示せず)ならびに1つまたは複数のメモリ・アーキテクチャ(図示せず)で実行することができる。記憶装置48は、限定はしないが、ハード・ディスク・ドライブ、テープ・ドライブ、光学式ドライブ、RAIDアレイ、ランダム・アクセス・メモリ(RAM)、または読取り専用メモリ(ROM)を含むことができる。
【0046】
あるいは、メディア配布システム18に直接的にアクセスする装置を、ネットワーク30(またはネットワーク32)に間接的に結合することもできる。例えば、パーソナル・メディア装置38が、パーソナル・メディア装置38とワイヤレス・アクセス・ポイント(すなわちWAP)52との間で確立されたワイヤレス通信チャネル50を介してネットワーク30にワイヤレスに結合されるように示されており、WAP52が、ネットワーク30に直接的に結合されるように示されている。WAP52は、例えば、パーソナル・メディア装置38とWAP52の間の通信チャネル50を確立することのできるIEEE802.11a装置、IEEE802.11b装置、IEEE802.11g装置、Wi−Fi装置、および/またはBluetooth装置でよい。
【0047】
当技術分野で周知のように、IEEE802.11x仕様は、経路共有のためにイーサネット(登録商標)・プロトコルおよびキャリア検知多重アクセス/衝突回避(すなわちCSMA/CA)を使用することができる。様々な802.11x仕様は、例えば位相偏移キーイング(すなわちPSK)変調または相補符号キーイング(すなわちCCK)変調を使用することができる。当技術分野で周知のように、Bluetoothは、近距離ワイヤレス接続を使用して、例えば携帯電話、コンピュータ、および携帯情報端末を相互接続することを可能にする、電気通信業界の仕様である。
【0048】
さらに、携帯情報端末40が、セルラ/ネットワーク・ブリッジ54(ネットワーク30に直接的に結合されるように示されている)を介してネットワーク30にワイヤレスに結合されるように示されており、携帯電話42が、セルラ/ネットワーク・ブリッジ56(ネットワーク32に直接的に結合されるように示されている)を介してネットワーク32にワイヤレスに結合されるように示されている。
【0049】
メディア配布システム18に直接的にアクセスすることに加えて、クライアント電子装置は、プロキシ・コンピュータを介してメディア配布システム18に間接的にアクセスすることができる。例えば、パーソナル・メディア装置12が、プロキシ・コンピュータ58を介してメディア配布システム18にアクセスするように示されている。プロキシ・コンピュータ58はプロキシ・アプリケーション59を実行することができ、プロキシ・アプリケーション59は、クライアント・アプリケーション46の機能と同様の機能を有することができる。
【0050】
クライアント電子装置
上記で論じたように、クライアント電子装置の例は、パーソナル・メディア装置12、38、携帯情報端末40、および携帯電話42を含むことができる。したがって、以下の開示はパーソナル・メディア装置12、38を対象とするが、以下の開示を任意のクライアント電子装置(携帯情報端末40、携帯電話42、テレビジョン(図示せず)、ケーブル・ボックス(図示せず)、インターネットラジオ(図示せず)、および専用ネットワーク装置(図示せず)を含む)に対して同様に適用できることを理解されたい。
【0051】
図2も参照すると、ドッキング・クレードル60(受け台)を介してパーソナル・メディア装置12、38を例えばプロキシ・コンピュータ58に接続することができる。通常、パーソナル・メディア装置12、38は、パーソナル・メディア装置12、38をドッキング・クレードル60に結合するバス・インターフェース(以下でより詳細に議論する)を含む。ドッキング・クレードル60を、例えばプロキシ・コンピュータ58内に含まれるユニバーサル・シリアル・バス(すなわちUSB)ポート、シリアル・ポート、またはIEEE1394(すなわちFireWire)ポートに(ケーブル62で)結合することができる。例えば、パーソナル・メディア装置12、38内に含まれるバス・インターフェースはUSBインターフェースでよく、ドッキング・クレードル60は、USBハブ(すなわち、パーソナル・メディア装置12、38とドッキング・クレードル60の「ホット」結合および解放を可能にするプラグ・アンド・プレイ・インターフェース)として機能することができる。
【0052】
プロキシ・コンピュータ58は、パーソナル・メディア装置12、38に対するインターネット・ゲートウェイとして機能することができる。例えばユニバーサル・プラグ・アンド・プレイ・プロトコル(すなわちUPnP)の使用により、例えば、パーソナル・メディア装置12、38は、プロキシ・コンピュータ58を使用して、ネットワーク30(およびネットワーク32)を介してメディア配布システム18にアクセスし、メディア・コンテンツ16を得ることができる。具体的には、メディア配布システム18を求める要求をパーソナル・メディア装置12、38から受信したとき、プロキシ・コンピュータ58(パーソナル・メディア装置12、38の代わりにインターネット・クライアントとして働く)は、コンピュータ28(すなわち、メディア配布システム18を実行するコンピュータ)に適切なウェブページ/サービスを要求することができる。要求されたウェブページ/サービスがプロキシ・コンピュータ58に返されたとき、プロキシ・コンピュータ58は、返されたウェブページ/サービスを(パーソナル・メディア装置12、38によって行われた)元の要求と関係付けることができ、ウェブページ/サービスをパーソナル・メディア装置12、38に転送することができる。したがって、プロキシ・コンピュータ58は、パーソナル・メディア装置12、38をコンピュータ28に、したがってメディア配布システム18に結合するコンジットとして機能することができる。
【0053】
図3も参照すると、パーソナル・メディア装置12、38のダイアグラムが示されている。パーソナル・メディア装置12、38は、マイクロプロセッサ150(例えば、カリフォルニア州サンタクララのIntel Corporationによって製造されるARM(商標)マイクロプロセッサ)、不揮発性メモリ(例えば読取り専用メモリ152)、および揮発性メモリ(例えばランダム・アクセス・メモリ154)を含むことができ、そのそれぞれを、1つまたは複数のデータ/システム・バス156、158を介して相互接続することができる。パーソナル・メディア装置12、38はまた、例えばアナログ・オーディオ信号を、例えばヘッドフォン・アセンブリ164、リモート・スピーカ・アセンブリ166、またはイヤ・バッド・アセンブリ168と取外し可能に係合するオーディオ・ジャック162に提供するオーディオ・サブシステム160をも含むことができる。あるいは、1つまたは複数の内部オーディオ・スピーカ(図示せず)を含むようにパーソナル・メディア装置12、38を構成することもできる。
【0054】
パーソナル・メディア装置12、38は、装置アプリケーション64(その例は、限定はしないが、Rhapsody(商標)クライアント、RealPlayer(商標)クライアント、または特殊インターフェースを含むことができる)を実行することができる。パーソナル・メディア装置12、38は、オペレーティング・システムを実行することができ、オペレーティング・システムの例は、限定はしないが、Microsoft Windows(登録商標) CE(商標)、Redhat Linux(商標)、Palm OS(商標)、または装置特有のオペレーティング・システム(すなわちカスタム・オペレーティング・システム)を含むことができる。
【0055】
パーソナル・メディア装置12、38に結合された記憶装置66上に格納することのできる装置アプリケーション64の命令セットおよびサブルーチンを、パーソナル・メディア装置12、38に組み込まれた1つまたは複数のプロセッサ(図示せず)および1つまたは複数のメモリ・アーキテクチャ(図示せず)で実行することができる。記憶装置66は、例えば、ハード・ディスク・ドライブ、光学式ドライブ、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、CF(すなわちコンパクト・フラッシュ)カード、SD(すなわちsecure digital)カード、スマートメディア・カード、メモリ・スティック、およびマルチメディア・カードでよい。
【0056】
パーソナル・メディア装置12、38はまた、ユーザ・インターフェース170およびディスプレイ・サブシステム172をも含むことができる。ユーザ・インターフェース170は、パーソナル・メディア装置12、38内に含まれる様々な入力装置からデータ信号を受信することができ、様々な入力装置の例は、(限定はしないが)例えばレーティング・スイッチ74、76、後方スキップ・スイッチ78、前方スキップ・スイッチ80、再生/停止スイッチ82、メニュー・スイッチ84、ラジオ・スイッチ86、およびスライダ・アセンブリ88を含むことができる。ディスプレイ・サブシステム172は、パーソナル・メディア装置12、38内に含まれるディスプレイ・パネル90にディスプレイ信号を提供することができる。ディスプレイ・パネル90は、例えばアクティブ・マトリックス液晶ディスプレイ・パネル、パッシブ・マトリックス液晶ディスプレイ・パネル、発光ダイオード・ディスプレイ・パネルでよい。
【0057】
オーディオ・サブシステム160、ユーザ・インターフェース170、およびディスプレイ・サブシステム172を、(それぞれ)1つまたは複数のデータ/システム・バス174、176、178を介してマイクロプロセッサ150とそれぞれ結合することができる。
【0058】
パーソナル・メディア装置12、38の使用中、パーソナル・メディア装置12、38内に格納された様々なメディア・コンテンツ92、94、96の例えばタイトルおよびアーティストを表示するようにディスプレイ・パネル90を構成することができる。スライダ・アセンブリ88を使用して、パーソナル・メディア装置12、38内に格納されたメディア・コンテンツのリストを上方または下方にスクロールすることができる。所望のメディア・コンテンツが強調表示されるとき(例えば、「Taj Mahal」による「Phantom Blues」)、ユーザ14は、再生/停止スイッチ82を使用して、レンダリング(表示)のためにメディア・コンテンツを選択することができる。ユーザ14は、前方スキップ・スイッチ80を使用して、次のメディア・コンテンツ(例えば「Robert Johnson」による「Happy To Be Just...」)まで前方にスキップすることができ、または後方スキップ・スイッチ78を使用して、前のメディア・コンテンツ(例えば「Leroy Brownstone」による「Big New Orleans...」)まで後方にスキップすることができる。さらに、ユーザ14は、レーティング・スイッチ74、76を使用することにより、メディア・コンテンツを聴くときにメディア・コンテンツをレーティングすることができる。
【0059】
ユーザは、ディスプレイ・パネル90を例えばスライダ・アセンブリ88と共に使用して、パーソナル・メディア装置12、38内に格納され、かつ/またはメディア配布システム18から入手可能なメディア・コンテンツを検索/ブラウズすることができる。例えば、検索画面100をレンダリングするために、ユーザは、スライダ・アセンブリ88を押下して保持することができる。検索画面100は、アーティスト・フィールド102、アルバム・フィールド104、およびトラック・フィールド106を含むことができる。例えばスライダ・アセンブリ88を使用して、ユーザは、フィールド102、104、106の間を移動し、適切な検索語句を適切なフィールドに入力することができる。例えば、ユーザは、「Robert Johnson」という語句をアーティスト・フィールド102に入力することができる。フィールド102に入力するとき、スライダ・アセンブリ88を使用して、適切な文字を入力することができる。例えば、スライダ・アセンブリ88の上方移動または下方移動は、ユーザがフィールド間を移動することを可能にすることができ、スライダ・アセンブリ88の押下の結果、特定のフィールドを選択することができる。選択の後、スライダ・アセンブリ88の上方移動または下方移動は、ユーザが適切な文字を選択することを可能にすることができ、スライダ・アセンブリ88の押下の結果、文字を選択することができる。あるいは、フル・キーボードまたは部分的キーボード(図示せず)を含むようにパーソナル・メディア装置12、38を構成することもできる。検索語句が定義された後、ユーザは、「検索」ボタン108または(別法として)「取消し」ボタン110を選択することができる。
【0060】
上記で論じたように、パーソナル・メディア装置12、38は、ドッキング・クレードル60を介して例えばプロキシ・コンピュータ58とインターフェースするためのバス・インターフェース180を含むことができる。さらに、上記で論じたように、パーソナル・メディア装置12、38を、例えば、パーソナル・メディア装置12、38と、例えばWAP52との間で確立されたワイヤレス通信チャネル50を介して、ネットワーク30(および/または他のパーソナル・メディア装置)にワイヤレスに結合することができる。したがって、パーソナル・メディア装置12、38は、パーソナル・メディア装置12、38をネットワーク30(またはネットワーク32)および/または他のパーソナル・メディア装置にワイヤレスに結合するワイヤレス・インターフェース182を含むことができる。例えばWAP52に対するRF通信のためのアンテナ・アセンブリ184、および/または例えば第2パーソナル・メディア装置との赤外線通信のためのIR(すなわち赤外線)通信アセンブリ186に、ワイヤレス・インターフェース182を結合することができる。さらに、上記で論じたように、パーソナル・メディア装置12、38は、装置アプリケーション64の命令セットおよびサブルーチンを格納する記憶装置66を含むことができる。さらに、記憶装置66を使用して、メディア配布システム18からダウンロードされたメディア・データ・ファイルを格納し、メディア配布システム18からストリーミングされたメディア・データ・ストリーム(またはその部分)を一時的に格納することができる。
【0061】
記憶装置66、バス・インターフェース180、およびワイヤレス・インターフェース182を、(それぞれ)1つまたは複数のデータ/システム・バス188、190、192を介してマイクロプロセッサ150とそれぞれ結合することができる。
【0062】
上記で論じたように、メディア配布システム18は、ユーザ14、20、22、24、26にメディア・コンテンツを配布することができ、それによって、配布されるメディア・コンテンツは、メディア・データ・ストリームおよび/またはメディア・データ・ファイルの形式でよい。
【0063】
したがって、ユーザがメディア・データ・ファイルをダウンロードすることだけを可能にするようにメディア配布システム18を構成することができる。例えば、メディア配布システム18からメディア・データ・ファイル(その例は、限定はしないが、MP3エンコーダまたはAdvanced Audio Coding(AAC)エンコーダを使用して符号化および圧縮されたオーディオ・ファイル、あるいはデジタル・ビデオ符号化ファイルを含むことができる)をダウンロードすることをユーザ20に許可することができ、それによって、メディア・データ・ファイルのコピーが、パーソナル・メディア装置38に転送される。
【0064】
あるいは、ユーザがメディア・データ・ファイルのメディア・データ・ストリームを受信および処理することだけを可能にするようにメディア配布システム18を構成することもできる。例えば、メディア配布システム18から受信されるメディア・データ・ストリームを(携帯情報端末40上で)受信および処理することをユーザ24に許可することができる。上記で論じたように、メディア・コンテンツが例えばコンピュータ28から携帯情報端末40にストリーミングされるとき、メディア・データ・ファイルのコピーを携帯情報端末40上に永続的に保持することはできない。
【0065】
さらに、ユーザがメディア・データ・ストリームを受信および処理し、メディア・データ・ファイルをダウンロードすることを可能にするようにメディア配布システム18を構成することができる。そのようなメディア配布システムの例は、ワシントン州シアトルのRealNetworks,Inc.によって提供されるRhapsody(商標)サービスを含む。したがって、メディア配布システム18から、デジタル符号化メディア・データ・ファイルをダウンロードし、メディア・データ・ストリームを受信および処理することをユーザ26に許可することができる。したがって、メディア・データ・ファイルのコピーをコンピュータ28から携帯電話42に転送することができ、メディア・データ・ファイルのストリームをコンピュータ28から携帯電話42で受信することができる。
【0066】
直接的アクセス
上記で論じたように、メディア配布システム18に直接的にアクセスすることができ、またはプロキシ・コンピュータを介してアクセスすることができる。例えば、ユーザ20、24、26は、様々なクライアント電子装置を介してメディア配布システム18に直接的にアクセスすることができ、様々なクライアント電子装置の例は、限定はしないが、例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42、テレビジョン(図示せず)、ケーブル・ボックス(図示せず)、インターネットラジオ(図示せず)、または専用ネットワーク装置(図示せず)を含むことができる。
【0067】
メディア配布システム18に直接的にアクセスするとき、標準化プロトコルを使用することができる。例えば、SOAP(すなわちSimple Object Access Protocol)を使用して、クライアント電子装置(例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42)をメディア配布システム18に結合することができる。
【0068】
当技術分野で周知のように、SOAPプロトコルは、コンピュータ・ネットワーク(例えばネットワーク30、32)を介してXML(eXtensible Markup Language)メッセージを交換することを可能にする。HTTP(すなわちHyperText Transfer Protocol)を使用してこうしたメッセージを交換することができる。
【0069】
SOAPは、RPC(すなわちRemote Procedure Protocol)プロセスを使用することができ、RPCプロセスでは、第1ネットワーク・ノード(例えばパーソナル・メディア装置38)が別のネットワーク・ノード(例えばコンピュータ28)に要求メッセージを送信し、第2ネットワーク・ノード(例えばコンピュータ28)が第1ネットワーク・ノード(例えばパーソナル・メディア装置38)に応答メッセージを送信する。上記ではシステムがSOAPを使用するものとして説明されるが、他の構成も可能であり、本開示の範囲内にあるとみなされる。例えば、JSON(すなわちJava(登録商標) Script Object Natation)、REST(すなわちREpresentational State Transfer)、およびXML−RPC(すなわちeXtensible Markup Langeage Remote Procedure call)などの他のプロトコルを使用することができる。
【0070】
アプリケーション・プログラミング・インターフェース
図4および5も参照すると、上記で論じたように、メディア配布システム18は、コンピュータ28と、パーソナル・メディア装置38、携帯情報端末40、および携帯電話42との間の、例えばSOAPを介する通信を可能にするためにAPI10を含むことができる。さらに、以下でより詳細に論じるように、メディア配布システム18/API10は、装置アプリケーション64内に含まれる1つまたは複数のクライアント・スタブ202と対話するために1つまたは複数のサーバ・スタブ200を含むことができる。
【0071】
API10は、メディア配布システム18のサービスを求める要求を他のコンピュータ・プログラム(例えば装置アプリケーション64)によって作成することを可能にし、かつ/またはメディア配布システム18からデータを取り出すこと、および/またはメディア配布システム18にデータを提供することを可能にする、メディア配布システム18に対するインターフェースとして働くことができる。
【0072】
API10は、(メディア配布システム18内の)機能のソース・コードに対するアクセスを許可することなく、または(メディア配布システム18内の)機能の内部動作の詳細な理解を必要とすることなく、どのように装置アプリケーション64が(メディア配布システム18内の)1組の機能にアクセスすることができるかを記述することができる。
【0073】
上記で論じたように、メディア配布システム18は、(ダウンロードまたはストリームの形態の)メディア・データ・ファイル204を、例えば、パーソナル・メディア装置12、38、携帯情報端末40、携帯電話42などのクライアント電子装置に提供する。メディア配布システム18はまた、メディア・データ・ファイル204を索引付けし、メディア配布システム18を介して入手可能なメディア・データ・ファイル204をユーザが検索/ブラウズすることを可能にするファイル・カタログ206を維持することもできる。コンピュータ28に結合された記憶装置34上にファイル・カタログ206を維持することができる。メディア・データ・ファイル204および/またはファイル・カタログ206をメディア・リポジトリ207内に含めることができる。メディア・リポジトリ207の任意の例は、Oracle(商標)データベース、IBM DB2(商標)データベース、Sybase(商標)データベース、Computer Associates(商標)データベース、またはMicrosoft Access(商標)データベースなどのデータベースを含むことができる。
【0074】
以下でより詳細に論じるように、クライアント電子装置(例えばパーソナル・メディア装置12、38、携帯情報端末40、および携帯電話42)のユーザが、ファイル・カタログ206をブラウズ/検索し(250)、複数のメディア・データ・ファイル204から選ばれた1つまたは複数のメディア・データ・ファイルを識別する(252)ことを可能にするようにAPI10を構成することができる。さらに、標準化プロトコルを使用して、クライアント電子装置(例えばパーソナル・メディア装置12、38、携帯情報端末40、および携帯電話42)からデータ要求を受信し(254)、受信したデータ要求に応答して、データをサード・パーティ使用可能フォーマットでクライアント電子装置(例えばパーソナル・メディア装置12、38、携帯情報端末40、および携帯電話42)に提供する(256)ようにAPI10を構成することができる。
【0075】
クライアント電子装置の構成
メディア配布システム18に直接的にアクセスするようにクライアント電子装置(例えばパーソナル・メディア装置12、38、携帯情報端末40、および携帯電話42)を構成するとき、2つの装置(例えばクライアント電子装置とコンピュータ28)間で、標準化プロトコルを確立することができる。上記で論じたように、そのような標準化プロトコルの一例はSOAPである。標準化プロトコルが確立され、装置が互いに通信することができるようになると、例えば記憶装置34上に常駐する、1つまたは複数のWSDL(すなわちWeb Services Description Language)208をクライアント電子装置で処理して、任意の必要なクライアント・スタブ(例えばクライアント・スタブ202)の生成を自動化することができる。
【0076】
WSDL208は、クライアント装置がどのようにウェブ・サービスと通信することができるかを記述するサービス記述(通常はXML)である。例えば、WSDL208は、装置アプリケーション64(したがってクライアント電子装置)がどのようにメディア配布システム18/API10と通信することができるかを記述することができる。さらに、WSDL208は、例えば、メディア配布システム18と対話するのに必要なプロトコル・バインディングおよびメッセージ・フォーマットを定義することができる。通常、サポートされるオペレーションおよびメッセージが抽象的に記述され、次いでネットワーク・プロトコル(例えばSOAP)にバインドされる。したがって、WSDL208は、メディア配布システム18に対するパブリック・インターフェースを定義することができる。
【0077】
したがって、メディア配布システム18に直接的にアクセスするようにクライアント電子装置を構成するとき、通信がコンピュータ28(すなわち、メディア配布システム18を実行するコンピュータ)とクライアント電子装置(例えばパーソナル・メディア装置12、38、携帯情報端末40、および携帯電話42)との間で(標準化プロトコルを使用して)確立されると、クライアント電子装置は、1つまたは複数のWSDL208を(コンピュータ28から)得て、それを処理して、クライアント電子装置がアクセスすることを望むサービス/機能に関する適切なクライアント・スタブ(例えばクライアント・スタブ202)を生成することができる。WSDL208の例は以下の通りである。
アカウント管理WSDL(実施例1)
(コマンド)
ライブラリ管理WSDL(実施例2)
(コマンド)
メタデータWSDL(実施例3)
(コマンド)
再生WSDL(実施例4)
(コマンド)
検索WSDL(実施例5)
(コマンド)
【0078】
WSDLを生成するとき、WSDLが構成される方式(したがって、クライアント・スタブが生成される方式)は、プログラマの意図に基づいて変化する可能性がある。例えば、メディア配布システム18のすべてのサービス/機能に関するクライアント・スタブを生成するように単一のWSDLを設計することができる。あるいは、メディア配布システム18内で利用可能な各サービス/機能について別々のWSDLを利用可能にすることもできる。例えば、第1WSDL(上記で示される)を、メディア配布システム18のアカウント管理サービス/機能に関するクライアント・スタブを生成するのに利用可能にすることができ、第2WSDL(上記で示される)を、メディア配布システム18のライブラリ管理サービス/機能に関するクライアント・スタブを生成するのに利用可能にすることができ、第3WSDL(上記で示される)を、メディア配布システム18のメタデータ・サービス/機能に関するクライアント・スタブを生成するのに利用可能にすることができ、第4WSDL(上記で示される)を、メディア配布システム18の再生サービス/機能に関するクライアント・スタブを生成するのに利用可能にすることができ、第5WSDL(上記で示される)を、メディア配布システム18の検索サービス/機能に関するクライアント・スタブを生成するのに利用可能にすることができる。
【0079】
クライアント電子装置(例えばパーソナル・メディア装置12、38、携帯情報端末40、携帯電話42)がメディア配布システム18の様々なサービス/機能にアクセスすることを可能にするように適切なクライアント・スタブ(例えば、クライアント・スタブ202)が生成された後、クライアント電子装置は、例えば、ファイル・カタログ206をブラウズ/検索し(250)、複数のメディア・データ・ファイル204から選ばれた1つまたは複数のメディア・データ・ファイルを識別し(252)、標準化プロトコルを使用してクライアント電子装置からデータ要求(複数可)を受信し(254)、受信したデータ要求(複数可)に応答して、データをサード・パーティ使用可能フォーマットでクライアント電子装置に提供する(256)ことができる。メディア配布システム18の様々なサービス/機能の例は、検索サービス/機能、アカウント管理サービス/機能、再生サービス/機能、メタデータ・サービス/機能、およびライブラリ・サービス/機能を含む。
【0080】
RPC通信
上記で論じたように、SOAPは、RPC(すなわちRemote Procedure Protocol)プロセスを使用することができ、RPCプロセスでは、第1ネットワーク・ノード(例えばパーソナル・メディア装置38)が別のネットワーク・ノード(例えばコンピュータ28)に要求メッセージを送信し、第2ネットワーク・ノード(例えばコンピュータ28)が第1ネットワーク・ノード(例えばパーソナル・メディア装置38)に応答メッセージを送信する。
【0081】
RPCプロセスは通常、(例えば、装置アプリケーション64内の)クライアント側で開始する。装置アプリケーション64はクライアント・スタブ202を呼び出すことができ、上述のように、クライアント・スタブ202は、(通常はWSDLを使用して)メディア配布システム18の様々なサービス/機能へのアクセスを可能にするように生成される。通常、サービス/機能を実装するコードを含むのではなく、クライアント・スタブ202は、必要なパラメータを装置アプリケーション64から取り出すことができ、それをクライアント・ランタイム・ライブラリ210に提供することができる。装置アプリケーション64から得られるパラメータは、例えば、ファイル・カタログ202をブラウズ/検索する(250)ときに使用される検索語句を定義し、ダウンロードのための1つまたは複数のメディア・データ・ファイル200を識別し(252)、コンピュータ28にメタデータを要求または送信し、ユーザのライブラリにエントリを追加し、またはユーザのライブラリからエントリを除去し、あるいは加入アカウントをセットアップし、または取り消すことができる。
【0082】
クライアント・ランタイム・ライブラリ210は、(装置アプリケーション64から得られる)パラメータをNDR(すなわちNetwork Data Representaion)フォーマットのメッセージ212に変換することができる。標準化プロトコル214(例えばSOAP)を使用して、ネットワーク30、32を介してメッセージ212をコンピュータ28(すなわち、メディア配布システム18を実行するコンピュータ)に送信することができる。クライアント・ランタイム・ライブラリ210は、クライアント・スタブ202の機能をサポートするルーチンのオブジェクト・ライブラリでよい。
【0083】
コンピュータ28がクライアント電子装置からNDRメッセージ212を受信するとき(254)、サーバ・ランタイム・ライブラリ216は、NDRメッセージ212を受諾して、サーバ・スタブ200を呼び出すことができる。サーバ・スタブ200は、メッセージ212内に含まれるパラメータを取り出し、それを、ネットワーク伝送フォーマット(すなわちNDRフォーマット)から、コンピュータ28で使用可能なフォーマットに変換することができる。変換した後、サーバ・スタブ200は、メディア配布システム18内の要求されたサービス/機能を呼び出すことができる。
【0084】
メディア配布システム18内の要求されたサービス/機能が実行されると、1つまたは複数の出力パラメータを(コンピュータ28上で)生成することができる。メディア配布システム18で生成される出力パラメータは、例えば、検索結果を定義し、ダウンロード要求の受信を確認し、またはメタデータの受信を確認することができる。
【0085】
サーバ・ランタイム・ライブラリ216は、(メディア配布システム18で生成された)出力パラメータをNDRフォーマットのメッセージ218に変換することができる。ネットワーク30、32を介してクライアント電子装置(例えばパーソナル・メディア装置12、38、携帯情報端末40、または携帯電話42)にメッセージ218を(すなわち、標準化プロトコル220(例えばSOAP)を使用して)提供することができる(256)。サーバ・ランタイム・ライブラリ216は、サーバ・スタブ200の機能をサポートするルーチンのオブジェクト・ライブラリでよい。
【0086】
クライアント電子装置がコンピュータ28からNDRメッセージ218を受信したとき、クライアント・ランタイム・ライブラリ210は、NDRメッセージ218を受諾し、クライアント・スタブ202を呼び出すことができる。クライアント・スタブ202は、メッセージ218内に含まれる出力パラメータを取り出し、それを、ネットワーク伝送フォーマット(すなわちNDRフォーマット)から、クライアント電子装置で使用可能なフォーマットに変換することができる。
【0087】
上記で論じたように、クライアント電子装置に提供されるデータを、サード・パーティ使用可能フォーマット(すなわち、サード・パーティアプリケーションで使用可能な標準化フォーマット)で提供することができる。そのようなフォーマットの一例はXMLである。したがって、メッセージ212、218のうちの1つまたは複数は、様々なアプリケーション(例えばウェブ・ブラウザ)で処理可能なXMLベースのメッセージでよい。
【0088】
特殊API
上記で論じたように、WSDLを生成するとき、WSDLが構成される方式(したがって、クライアント・スタブが生成される方式)は、プログラマの意図に基づいて変化する可能性がある。例えば、メディア配布システム18内で利用可能な各サービス/機能について別々のWSDLを利用可能にすることができる。したがって、第1WSDLを、メディア配布システム18のアカウント管理サービス/機能に関するクライアント・スタブを生成するのに利用可能にすることができ、第2WSDLを、メディア配布システム18のライブラリ管理サービス/機能に関するクライアント・スタブを生成するのに利用可能にすることができ、第3WSDLを、メディア配布システム18のメタデータ・サービス/機能に関するクライアント・スタブを生成するのに利用可能にすることができ、第4WSDLを、メディア配布システム18の再生サービス/機能に関するクライアント・スタブを生成するのに利用可能にすることができ、第5WSDLを、メディア配布システム18の検索サービス/機能に関するクライアント・スタブを生成するのに利用可能にすることができる。
【0089】
アカウント管理API
図6も参照すると、クライアント電子装置(例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42)のユーザ(例えばユーザ20、24、26)が複数のメディア・データ・ファイル(例えばメディア・データ・ファイル204)から選ばれた1つまたは複数のメディア・データ・ファイルにアクセスする(300)ことを可能にすることのできるアカウント管理APIとしてAPI10を構成することができる。クライアント電子装置(例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42)のユーザ(例えばユーザ20、24、26)がメディア配布システム18に関連する1つまたは複数の加入アカウントを管理する(302)ことを可能にするようにアカウント管理APIを構成することができる。
【0090】
メディア配布システム18は、ユーザ(例えばユーザ20、24、26)がメディア配布システム18に加入し、メディア配布システム18へのアクセスの許可を受けるための、例えば月々の加入料を支払うという点で、加入ベースのサービスでよい。ユーザ(例えばユーザ20、24、26)がメディア配布システム18に加入すると、ユーザは、クライアント電子装置上で使用するためにメディア・コンテンツ(例えばメディア・データ・ファイル204)を得ることができ、クライアント電子装置の例は、限定はしないが、パーソナル・メディア装置38、携帯情報端末40、携帯電話42、テレビジョン(図示せず)、ケーブル・ボックス(図示せず)、インターネットラジオ(図示せず)、または専用ネットワーク装置(図示せず)を含むことができる。
【0091】
上記で論じたように、メディア配布システム18から得られるメディア・コンテンツ(例えばメディア・データ・ファイル204)は、例えば、メディア配布システム18から受信される購入済みダウンロード(すなわち、例えばユーザ20、24、26に対して、永続的な使用のために許諾されたメディア・コンテンツ)と、メディア配布システム18から受信される加入ダウンロード(すなわち、例えばユーザ20、24、26に対して、メディア配布システム18との有効な加入契約が存在する間の使用のために許諾されたメディア・コンテンツ)と、メディア配布システム18からストリーミングされるメディア・コンテンツの形態でよい。
【0092】
通常、メディア配布システム18にアクセスするとき、メディア配布システム18に対して、ユーザ(例えばユーザ20、24、26)および/またはクライアント電子装置(例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42)を識別するユーザ「証明書」を提供するようにユーザ20、24、26に要求することができる。こうした証明書の受信時に、メディア配布システム18は、証明書を検証することを試みることができ、検証された場合、ユーザ20、24、26および/または装置38、40、42に、メディア加入システム18へのアクセスを許可する。メディア配布システム18で受信および検証される証明書は、限定はしないが、ユーザ名、ユーザ・パスワード、ユーザ・キー、装置名、装置パスワード、装置キー、ならびに/あるいは1つまたは複数のデジタル証明書を含むことができる。
【0093】
最初にクライアント電子装置を構成するとき、ユーザにメディア配布システム18への「トライアル」加入を許可することができ、したがって、ユーザは、サービスを無料で試すことが可能となる。したがって、「トライアル」加入の生成を可能にするようにアカウント管理API(例えばAPI10)を構成することができる。しかし、こうした「トライアル」加入は、限定された期間(例えば1か月)についてのものでよく、または使用の制限を与えることができる(例えば25回の再生/ダウンロード)。したがって、トライアル加入の満了日/時刻を監視するようにAPI10を構成することができ、満了日/時刻(またはそれに妥当に近い日付/時刻)の発生時に、API10は、ユーザ(例えばユーザ20、24、26)に、ユーザの「トライアル」加入を有料加入に転換するオプションを提示することができる。例えばディスプレイ・パネル90(図2)を介して、この提案をユーザに提示することができる。提案が受諾された場合、追加の情報(例えば請求情報)を提供するようにユーザに要求することができる。
【0094】
アカウント管理API(例えばAPI10)を介して、他のアカウント管理サービス/機能をユーザ(例えばユーザ20、24、26)に対して利用可能にすることができる。例えば、API10は、例えばユーザがメディア配布システム18との新しい有料加入を生成し、メディア配布システム18との既存の有料加入を更新し、メディア配布システム18とのトライアル加入を取り消し、メディア配布システム18との有料加入を取り消すことを可能にすることができる。
【0095】
ライブラリ管理API
図7も参照すると、クライアント電子装置(例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42)のユーザ(例えばユーザ20、24、26)が複数のメディア・データ・ファイル(例えばメディア・データ・ファイル204)から選ばれた1つまたは複数のメディア・データ・ファイルにアクセスする(350)ことを可能にすることのできるライブラリ管理APIとしてAPI10を構成することができる。クライアント電子装置(例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42)のユーザ(例えばユーザ20、24、26)が、メディア配布システム18に関連する1つまたは複数のメディア・ライブラリを管理する(352)ことを可能にするようにライブラリ管理APIを構成することができる。
【0096】
限定はしないが、パーソナル・メディア装置38、携帯情報端末40、携帯電話42、テレビジョン(図示せず)、ケーブル・ボックス(図示せず)、インターネットラジオ(図示せず)、または専用ネットワーク装置(図示せず)を含むことのできるクライアント電子装置の使用中、クライアント電子装置上でレンダリングされるメディア・コンテンツ項目(例えばメディア・データ・ファイル204)を監視して、クライアント電子装置上でレンダリングされるメディア・コンテンツ項目のシーケンスを定義するメディア履歴ファイル112を編集するのに使用することができる。メディア履歴ファイル112は通常はローカルに維持される(例えば、クライアント電子装置上のメモリ内に維持される)が、別法として/さらに、メディア履歴ファイル112をリモート・メディア履歴ファイル112’としてリモートに維持する(例えば、コンピュータ28上に維持する)ことができる。
【0097】
クライアント電子装置を通じて、ユーザ(例えばユーザ20、24、26)は、メディア履歴ファイル112、112’(またはその部分)をプレイリストとして保存することができる。プレイリストの一例は、メディア配布システム18が順番にレンダリングすることのできるメディア・コンテンツ項目(例えば、ストリーミングされた加入トラックおよびアルバム、ダウンロードされた加入トラックおよびアルバム、ならびに購入/リッピングされたトラック)のグループを含むことができる。このことは、ユーザが、カスタム音楽コンピレーションを(複数のプレイリストの形態で)編集することを可能にする。
【0098】
ライブラリ管理API(例えばAPI10)は、クライアント電子装置のユーザが、メディア配布システム18に関連する1つまたは複数のメディア・ライブラリ・ファイル(例えばライブラリ・ファイル114、114’)を管理する(352)ことを可能にすることができる。プレイリストと同様に、メディア・ライブラリ・ファイル114、114’は、個々のメディア・コンテンツ項目(例えば、ストリーミングされた加入トラックおよびアルバム、ダウンロードされた加入トラックおよびアルバム、ならびに購入/リッピングされたトラック)をグループ化し、定義し、かつ/または配置することができる。メディア・ライブラリ・ファイル114は通常はローカルに維持される(例えば、クライアント電子装置上のメモリ内に維持される)が、別法として/さらに、メディア・ライブラリ・ファイル114をリモート・メディア・ライブラリ・ファイル114’としてリモートに維持する(例えば、コンピュータ28上に維持する)ことができる。
【0099】
ライブラリ管理API(例えばAPI10)を介して、他のライブラリ管理サービス/機能をユーザ(例えばユーザ20、24、26)に対して利用可能にすることができる。例えば、API10は、ユーザがライブラリ・ファイル(例えばライブラリ・ファイル114、114’)を定義し、ライブラリ・ファイルを保存し、ライブラリ・ファイルを削除し、ライブラリ・ファイルを修正し、ライブラリ・ファイルを(メディア配布システム18の別のユーザと)共有し、(メディア配布システム18の別のユーザによる閲覧のために)ライブラリ・ファイルを公表することを可能にすることができる。
【0100】
メタデータAPI
図8も参照すると、クライアント電子装置(例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42)のユーザ(例えばユーザ20、24、26)が、複数のメディア・データ・ファイル(例えばメディア・データ・ファイル204)から選ばれた1つまたは複数のメディア・データ・ファイルにアクセスする(400)ことを可能にすることのできるメタデータAPIとしてAPI10を構成することができる。クライアント電子装置(例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42)のユーザ(例えばユーザ20、24、26)が1つまたは複数の検索語句を定義する(402)ことを可能にするようにメタデータ・アプリケーション・プログラミング・インターフェースを構成することができる。1つまたは複数の検索語句に基づいて、複数のメディア・データ・ファイルの少なくとも一部に対して照会を実行することができる(404)。結果セットを生成することができ(406)、結果セットの一部を、その一部が結果セット全体未満となることができるようにユーザ(例えばユーザ20、24、26)に対して表示することができる(408)。
【0101】
上記で論じたように、メディア配布システム18は、メディア・データ・ストリームおよび/またはメディア・データ・ファイルをユーザ(例えばユーザ20、24、26)に提供することができる。メタデータを、メディア配布システム18によって提供される各メディア・データ・ストリームおよび/またはメディア・データ・ファイルと関連付けることができる。このメタデータは、(限定はしないが)例えばアーティスト識別子、アルバム識別子、トラック識別子、アルバム・カバー・イメージ、音楽ジャンル識別子、および優先順位レーティングを含むことができる。音楽ジャンル識別子の例は、限定はしないが「ロック」、「ブルース」、「クラシック」、「オールディーズ」、および「ヒップ・ホップ」を含むことができる。優先順位レーティングの例は、番号1〜10を含むことができる。したがって、番号1の優先順位レーティングは、非常に影響力のある/人気のあるアーティストを識別することができ、番号10の優先順位レーティングは、影響力のない/人気のないアーティストを識別することができる。メディア配布システム18の従業員がレーティングを定義することができるという点で、優先順位レーティングを編集式に決定することができる。あるいは/さらに、例えばトラックまたはアーティストが(任意のユーザによって)レンダリングされる回数がアーティストの優先順位レーティングを決定するという点で、優先順位レーティングを統計的に決定することができる。
【0102】
上記で論じたように、クライアント電子装置のユーザ(例えばユーザ20、24、26)は、検索画面100を例えばスライダ・アセンブリ88と共に使用して、パーソナル・メディア装置12、38内に格納され、かつ/またはメディア配布システム18から利用可能なメディア・コンテンツを検索/ブラウズすることができる。アーティスト・フィールド102、アルバム・フィールド104、およびトラック・フィールド106に加えて、検索画面100は、ジャンル・フィールド116および優先順位フィールド118を含むことができる。例えばスライダ・アセンブリ88を使用して、ユーザは、フィールド102、104、106、116、118の間を移動し、適切な検索語句を適切なフィールドに入力することができる。
【0103】
メタデータAPI(例えばAPI10)は、クライアント電子装置(例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42)のユーザ(例えばユーザ20、24、26)が、例えばフィールド102、104、106、116、118内の1つまたは複数の検索語句を定義する(402)ことを可能にすることができる。例えば、フィールド102、104、106を空白のままにすることができ、ユーザは、ジャンル・フィールド116に「ブルース」という語を入力し、優先順位フィールド118に「10」を入力することができる。上記で論じたように、フィールド(例えばフィールド116、118)に入力するとき、スライダ・アセンブリ88を使用して適切な文字を入力することができる。検索語句が定義されると、ユーザは、「検索」ボタン108または(別法として)「取消し」ボタン110を選択することができる。
【0104】
「検索」ボタン108が選択される場合、1つまたは複数の検索語句に基づいて、複数のメディア・データ・ファイルの少なくとも一部に対して照会を実行することができる(404)。例えば、検索語句が「ブルース」(ジャンルについて)および「10」(優先順位レーティングについて)である場合、API10は、メディア・データ・ファイル(例えばメディア・データ・ファイル204)を照会して、どのメディア・データ・ファイルが照会を満たすか(すなわち、どのメディア・データ・ファイルが優先順位レーティング「10」を有し、かつ「ブルース」として分類されるか)を判定することができる。上記で論じたように、メタデータを使用して、メディア・データ・ファイルの優先順位レーティングおよびジャンルを定義することができる。したがって、メディア・データ・ファイルに関連するメタデータを検索することにより、結果セットを生成することができる(406)。クライアント電子装置は、比較的小型のディスプレイ・パネル(例えば図2のディスプレイ・パネル90)を含むことがあるので、ディスプレイ・パネルの表示能力を超える、無制限の結果セットの生成は望ましくないことがある。例えば、ディスプレイ・パネル90が最大で10個の行項目を含む結果セットを表示することができ、生成される結果セットが350個の行項目を含む場合、結果セットを10個の行項目の増分で表示することが望ましいことがある。したがって、API10は、結果セットの一部のみを、その一部が結果セット全体未満となることができるように、ユーザ(例えばユーザ20、24、26)に対して表示することができる(408)。したがって、結果セットが大規模であり、ディスプレイ・パネルが最大で10個の行項目を表示することができる場合、API10は行項目1〜10を表示することができる。ディスプレイ・パネル90上で行項目11〜20を確認するために、例えばスライダ・アセンブリ88を下方向に移動するようにユーザに要求することができる。
【0105】
さらに/あるいは、大規模な結果セットについて、API10は、アルファベットの各文字についての開始行項目を識別するアルファベット索引をレンダリングすることができる。例えば、350個の行項目結果セットが生成される場合、ディスプレイ・パネル90上にアルファベット索引をレンダリングすることができる。そのようなアルファベット索引の一例は以下の通りである。
【表1】

【0106】
したがって、350個の行項目を含む結果セットについて、(API10によってレンダリングされた)アルファベット索引は、アルファベットの各文字についての開始行項目を定義することができる。例えば、ユーザが「Robert Johnson」に関心があった場合、「Robert Johnson」が行項目110から行項目122の中のどこかにリストされることになるので(アーティストがラスト・ネーム、ファースト・ネームのフォーマットでリストされると仮定する)、ユーザは、行項目110まで前方にスキップすることができる。
【0107】
API10がアルファベット索引をレンダリングするとき、ユーザは、例えばスライダ・アセンブリ88を使用して、適切な行項目開始地点(例えば行項目110)を選択することができる。ユーザが適切な行項目開始地点(例えば行項目110)を選択すると、API10は、定義済みのいくつかの行項目(例えば10個)を、例えばディスプレイ・パネル90内でレンダリングすることができる。例えば、上述のアルファベット索引から「110」を選択するとき、API10は、(ディスプレイ・パネル90内で)行項目110〜119をレンダリングすることができる。ユーザが次の10個の行項目を確認することを望む場合、ユーザは、例えばスライダ・アセンブリ88を使用することができる。
【0108】
再生API
図9も参照すると、クライアント電子装置(例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42)のユーザ(例えばユーザ20、24、26)が複数のメディア・データ・ファイル(例えばメディア・データ・ファイル204)から選ばれた1つまたは複数のメディア・データ・ファイルにアクセスする(450)ことを可能にする再生APIとしてAPI10を構成することができる。ユーザ(例えばユーザ20、24、26)によって確立された、音楽配布システム18との間の接続の数を監視する(452)ように再生APIを構成することができる。ユーザ(例えばユーザ20、24、26)によって確立可能な接続の数を定義済みの接続限度に制限する最大接続ポリシーを実施することができる(454)。
【0109】
具体的には、音楽配布システム18を複数の装置と共に働くように構成することができる。例えば、クライアント電子装置(例えば、パーソナル・メディア装置38、携帯情報端末40、および携帯電話42)は、ユーザ(例えばユーザ20、24、26)が(例えば、車内にいる間、ジョギング中、ハイキング中、または運動中に)メディア配布システム18にリモートにアクセスすることを可能にすることができる。さらにクライアント・コンピュータ44は、ユーザが自宅または仕事場にいる間にメディア配布システム18にアクセスすることを可能にすることができる。さらに、専用ネットワーク装置(例えば、A Roku(商標) Soundbridge M500、M1000、およびM2000、図示せず)が、メディア配布システム18をホーム・エンターテイメント・システム(図示せず)とインターフェースさせることができ、したがって、ホーム・エンターテイメント・システムを使用してメディア・コンテンツ項目をレンダリングすることが可能となる。したがって、単一の加入が複数の同時接続をサポートすることを可能にするようにメディア配布システム18を構成することができる。したがって、ユーザが、仕事場にいる間にメディア配布システム18にアクセスすることができると共に、ユーザの配偶者が、自宅にいる間にメディア配布システム18に同時にアクセスすることができる。
【0110】
したがって、ユーザ(例えばユーザ20、24、26)によって確立された、音楽配布システム18との間の接続の数を監視する(452)ように再生APIを構成することができる。ユーザ(例えばユーザ20、24、26)によって確立可能な接続の数を定義済みの接続限度に制限する最大接続ポリシーを実施することができる(454)。したがって、定義済みの接続限度が2である場合、ユーザが、(例えば仕事場から)メディア配布システム18にアクセスすることができると共に、ユーザの配偶者が、(例えば自宅から)メディア配布システム18に同時にアクセスすることができる。しかし、ユーザの息子がジョギング中に(パーソナル・メディア装置38を使用して)メディア配布システム18に同時にアクセスすることを試みる場合、(この例では)第3の接続を許可することは、同時接続が2つという例示的接続限度を超過することになるので、接続を拒否することができる。
【0111】
検索API
図10も参照すると、クライアント電子装置(例えばパーソナル・メディア装置38、携帯情報端末40、携帯電話42)のユーザが複数のメディア・データ・ファイル(例えばメディア・データ・ファイル204)から選ばれた1つまたは複数のメディア・データ・ファイルにアクセスする(500)ことを可能にすることのできる検索APIとしてAPI10を構成することができる。ユーザ(例えばユーザ20、24、26)が第1検索語句を定義し(502)、第1検索語句に基づいて複数のメディア・データ・ファイルの少なくとも一部の第1照会を実行する(504)ことを可能にするように検索APIを構成することができる。ユーザ(例えばユーザ20、24、26)が第2検索語句を定義し(506)、第1および第2検索語句に基づいて、複数のメディア・データ・ファイルの少なくとも一部の第2照会を実行する(508)ことを可能にすることができる。
【0112】
上記で論じたように、クライアント電子装置のユーザ(例えばユーザ20、24、26)は、検索画面100を例えばスライダ・アセンブリ88と共に使用して、パーソナル・メディア装置12、38内に格納され、かつ/またはメディア配布システム18から入手可能なメディア・コンテンツを検索/ブラウズすることができる。検索画面100は、アーティスト・フィールド102、アルバム・フィールド104、トラック・フィールド106、ジャンル・フィールド116、および優先順位フィールド118などの複数の検索フィールドを含むことができる。
【0113】
上述の検索手順に加えて、各文字がフィールド102、104、106、116、118のうちの1つに入力された後に照会を自動的に実行することができる。例えば、ユーザが「Johnson」から「J」を定義する場合(502)、照会を自動的に実行して(504)、どのアーティストが「J」で始まるラスト・ネームを有するかを判定することができる。この結果、可能性のある合致が例えば50,000個得られることがある。次いでユーザは、第2語句(すなわち「O」)をアーティスト・フィールド102内に定義することができ(506)(合計で2つの検索語句、すなわち「JO」)、第2照会を自動的に実行することができる(508)。この結果、可能性のある合致が例えば30,000個得られることがある。次いでユーザは、結果セットが、例えばサイズがディスプレイ・パネル90上で容易にナビゲート可能となるまで、引き続き追加の文字を入力することができる(その結果、検索語句の合計数が多くなる)。したがって、固有であり、かつ長いラスト・ネームを有するアーティストについて、管理可能な結果セットを生成するために、ユーザが必要なのは、アーティストの(ラスト・ネーム全体ではなく)ラスト・ネームの小部分を入力することだけでよい。
【0114】
いくつかの実施態様を説明した。それでも、様々な修正を行うことができることを理解されよう。したがって、他の実施態様は、以下の特許請求の範囲の範囲内にある。

【特許請求の範囲】
【請求項1】
複数のメディア・データ・ファイルを格納するメディア・リポジトリと、
アカウント・アプリケーション・プログラミング・インターフェースであって、
クライアント電子装置のユーザが、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にし、
前記クライアント電子装置の前記ユーザが、前記メディア配布システムに関連する1つまたは複数の加入アカウントを管理することを可能にする
ように構成されたアカウント・アプリケーション・プログラミング・インターフェースと
を備えるメディア配布システム。
【請求項2】
前記アカウント・アプリケーション・プログラミング・インターフェースが、1つまたは複数のクライアント・スタブと通信するように構成される1つまたは複数のサーバ・スタブを含む請求項1に記載のメディア配布システム。
【請求項3】
前記アカウント・アプリケーション・プログラミング・インターフェースがさらに、
標準化プロトコルを使用して前記クライアント電子装置からデータ要求を受信し、
受信した前記データ要求に応答して、データをサード・パーティ使用可能フォーマットで前記クライアント電子装置に提供する
ように構成される請求項1に記載のメディア配布システム。
【請求項4】
メディア・リポジトリ内に複数のメディア・データ・ファイルを格納すること、
クライアント電子装置のユーザが、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にすること、および
前記クライアント電子装置の前記ユーザが、前記メディア配布システムに関連する1つまたは複数の加入アカウントを管理することを可能にすること
を含む方法。
【請求項5】
複数のメディア・データ・ファイルを格納するメディア・リポジトリと、
ライブラリ管理アプリケーション・プログラミング・インターフェースであって、
クライアント電子装置のユーザが、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にし、
前記クライアント電子装置の前記ユーザが、前記メディア配布システムに関連する1つまたは複数のメディア・ライブラリを管理することを可能にする
ように構成されたライブラリ管理アプリケーション・プログラミング・インターフェースと
を備えるメディア配布システム。
【請求項6】
前記ライブラリ管理アプリケーション・プログラミング・インターフェースが、1つまたは複数のクライアント・スタブと通信するように構成される1つまたは複数のサーバ・スタブを含む請求項5に記載のメディア配布システム。
【請求項7】
前記ライブラリ管理アプリケーション・プログラミング・インターフェースがさらに、
標準化プロトコルを使用して前記クライアント電子装置からデータ要求を受信し、
受信した前記データ要求に応答して、データをサード・パーティ使用可能フォーマットで前記クライアント電子装置に提供する
ように構成される請求項5に記載のメディア配布システム。
【請求項8】
メディア・リポジトリ内に複数のメディア・データ・ファイルを格納すること、
クライアント電子装置のユーザが、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にすること、および
前記クライアント電子装置の前記ユーザが、前記メディア配布システムに関連する1つまたは複数のメディア・ライブラリを管理することを可能にすること
を含む方法。
【請求項9】
複数のメディア・データ・ファイルを格納するメディア・リポジトリと、
メタデータ・アプリケーション・プログラミング・インターフェースであって、
クライアント電子装置のユーザが、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にし、
前記クライアント電子装置の前記ユーザが、1つまたは複数の検索語句を定義することを可能にし、
前記1つまたは複数の検索語句に基づいて、前記複数のメディア・データ・ファイルの少なくとも一部に対して照会を実行し、
結果セットを生成し、
前記結果セットの一部を、結果セット全体未満となるように前記ユーザに対して表示する
ように構成されたメタデータ・アプリケーション・プログラミング・インターフェースと
を備えるメディア配布システム。
【請求項10】
前記メタデータ・アプリケーション・プログラミング・インターフェースが、1つまたは複数のクライアント・スタブと通信するように構成される1つまたは複数のサーバ・スタブを含む請求項9に記載のメディア配布システム。
【請求項11】
前記メタデータ・アプリケーション・プログラミング・インターフェースがさらに、
標準化プロトコルを使用して前記クライアント電子装置からデータ要求を受信し、
受信した前記データ要求に応答して、データをサード・パーティ使用可能フォーマットで前記クライアント電子装置に提供する
ように構成される請求項9に記載のメディア配布システム。
【請求項12】
メディア・リポジトリ内に複数のメディア・データ・ファイルを格納すること、
クライアント電子装置のユーザが、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にすること、
前記クライアント電子装置の前記ユーザが、1つまたは複数の検索語句を定義することを可能にすること、
前記1つまたは複数の検索語句に基づいて、前記複数のメディア・データ・ファイルの少なくとも一部に対して照会を実行すること、
結果セットを生成すること、および
前記結果セットの一部を、結果セット全体未満となるように前記ユーザに対して表示すること
を含む方法。
【請求項13】
複数のメディア・データ・ファイルを格納するメディア・リポジトリと、
再生アプリケーション・プログラミング・インターフェースであって、
クライアント電子装置のユーザが、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にし、
前記ユーザによって確立された、前記メディア配布システムとの間の接続の数を監視し、
前記ユーザによって確立可能な接続の数を定義済みの接続限度に制限する最大接続ポリシーを実施する
ように構成された再生アプリケーション・プログラミング・インターフェースと
を備えるメディア配布システム。
【請求項14】
前記再生アプリケーション・プログラミング・インターフェースが、1つまたは複数のクライアント・スタブと通信するように構成される1つまたは複数のサーバ・スタブを含む請求項13に記載のメディア配布システム。
【請求項15】
前記再生アプリケーション・プログラミング・インターフェースがさらに、
標準化プロトコルを使用して前記クライアント電子装置からデータ要求を受信し、
受信した前記データ要求に応答して、データをサード・パーティ使用可能フォーマットで前記クライアント電子装置に提供する
ように構成される請求項13に記載のメディア配布システム。
【請求項16】
メディア・リポジトリ内に複数のメディア・データ・ファイルを格納すること、
クライアント電子装置のユーザが、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にすること、
前記ユーザによって確立された、メディア配布システムとの間の接続の数を監視すること、および
前記ユーザによって確立可能な接続の数を定義済みの接続限度に制限する最大接続ポリシーを実施すること
を含む方法。
【請求項17】
複数のメディア・データ・ファイルを格納するメディア・リポジトリと、
検索アプリケーション・プログラミング・インターフェースであって、
クライアント電子装置のユーザが、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にし、
ユーザが第1検索語句を定義することを可能にし、
前記第1検索語句に基づいて、前記複数のメディア・データ・ファイルの少なくとも一部の第1照会を実行し、
ユーザが第2検索語句を定義することを可能にし、
前記第1および第2検索語句に基づいて、前記複数のメディア・データ・ファイルの少なくとも一部の第2照会を実行する
ように構成された検索アプリケーション・プログラミング・インターフェースと
を備えるメディア配布システム。
【請求項18】
前記検索アプリケーション・プログラミング・インターフェースが、1つまたは複数のクライアント・スタブと通信するように構成される1つまたは複数のサーバ・スタブを含む請求項17に記載のメディア配布システム。
【請求項19】
前記検索アプリケーション・プログラミング・インターフェースがさらに、
標準化プロトコルを使用して前記クライアント電子装置からデータ要求を受信し、
受信した前記データ要求に応答して、データをサード・パーティ使用可能フォーマットで前記クライアント電子装置に提供する
ように構成される請求項17に記載のメディア配布システム。
【請求項20】
メディア・リポジトリ内に複数のメディア・データ・ファイルを格納すること、
クライアント電子装置のユーザが、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルにアクセスすることを可能にすること、
ユーザが第1検索語句を定義することを可能にすること、
前記第1検索語句に基づいて、前記複数のメディア・データ・ファイルの少なくとも一部の第1照会を実行すること、
ユーザが第2検索語句を定義することを可能にすること、および
前記第1および第2検索語句に基づいて、前記複数のメディア・データ・ファイルの少なくとも一部の第2照会を実行すること
を含む方法。
【請求項21】
複数のメディア・データ・ファイルを格納するように構成されたメディア・リポジトリと、
前記複数のメディア・データ・ファイルのうちの1つまたは複数を識別するファイル・カタログと、
クライアント電子装置のユーザが前記ファイル・カタログをブラウズ/検索し、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルを識別することを可能にするように構成されたアプリケーション・プログラム・インターフェースと
を備えるメディア配布システムであって、
前記アプリケーション・プログラム・インターフェースがさらに、
標準化プロトコルを使用して前記クライアント電子装置からデータ要求を受信し、
受信した前記データ要求に応答して、データをサード・パーティ使用可能フォーマットで前記クライアント電子装置に提供する
ように構成されるメディア配布システム。
【請求項22】
前記標準化プロトコルが、
Simple Object Access Protocol(SOAP)、Java(登録商標) Script Object Notation(JSON)、REpresentational State Transfer(REST)、およびeXtensible Markup Language Remote Procedure Protocol(XML−RPC)
からなるグループから選ばれる請求項21に記載のメディア配布システム。
【請求項23】
受信した前記データ要求に応答して、データをサード・パーティ使用可能フォーマットで前記クライアント電子装置に提供することが、
どのように前記クライアント電子装置が前記メディア配布システムと通信することができるかを記述するサービス記述を、前記クライアント電子装置に提供すること
を含む請求項21に記載のメディア配布システム。
【請求項24】
前記サービス記述がWeb Services Description Language(WSDL)である請求項23に記載のメディア配布システム。
【請求項25】
前記クライアント電子装置が、
前記サービス記述を処理して、前記メディア配布システムにアクセスするための1つまたは複数のクライアント・スタブを生成する
ように構成される請求項23に記載のメディア配布システム。
【請求項26】
前記アプリケーション・プログラム・インターフェースが、1つまたは複数のクライアント・スタブと通信するように構成される1つまたは複数のサーバ・スタブを含む請求項21に記載のメディア配布システム。
【請求項27】
メディア・リポジトリ内に複数のメディア・データ・ファイルを格納すること、
前記複数のメディア・データ・ファイルのうちの1つまたは複数をファイル・カタログ内で識別すること、
標準化プロトコルを使用して、クライアント電子装置からデータ要求を受信すること、
受信した前記データ要求に応答して、データをサード・パーティ使用可能フォーマットで前記クライアント電子装置に提供すること、および
前記クライアント電子装置のユーザが、前記ファイル・カタログをブラウズ/検索して、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルを識別することを可能にすること
を含む方法。
【請求項28】
前記標準化プロトコルが、
Simple Object Access Protocol(SOAP)、Java(登録商標) Script Object Notation(JSON)、REpresentational State Transfer(REST)、およびeXtensible Markup Language Remote Procedure Protocol(XML−RPC)
からなるグループから選ばれる請求項27に記載の方法。
【請求項29】
受信した前記データ要求に応答して、データをサード・パーティ使用可能フォーマットで前記クライアント電子装置に提供することが、
どのように前記クライアント電子装置が前記メディア配布システムと通信することができるかを記述するサービス記述を、前記クライアント電子装置に提供すること
を含む請求項27に記載の方法。
【請求項30】
前記サービス記述がWeb Services Description Language(WSDL)である請求項29に記載の方法。
【請求項31】
前記クライアント電子装置が、
前記サービス記述を処理して、前記メディア配布システムにアクセスするための1つまたは複数のクライアント・スタブを生成する
ように構成される請求項29に記載の方法。
【請求項32】
複数の命令が格納されたコンピュータ可読媒体上に常駐するコンピュータ・プログラム製品であって、前記複数の命令が、プロセッサによって実行されたとき、前記プロセッサに、
メディア・リポジトリ内に複数のメディア・データ・ファイルを格納すること、
前記複数のメディア・データ・ファイルのうちの1つまたは複数をファイル・カタログ内で識別すること、
標準化プロトコルを使用して、クライアント電子装置からデータ要求を受信すること、
受信した前記データ要求に応答して、データをサード・パーティ使用可能フォーマットで前記クライアント電子装置に提供すること、および
前記クライアント電子装置のユーザが、前記ファイル・カタログをブラウズ/検索して、前記複数のメディア・データ・ファイルから選ばれた1つまたは複数のメディア・データ・ファイルを識別することを可能にすること
を含むオペレーションを実行させるコンピュータ・プログラム製品。
【請求項33】
前記標準化プロトコルが、
Simple Object Access Protocol(SOAP)、Java(登録商標) Script Object Notation(JSON)、REpresentational State Transfer(REST)、およびeXtensible Markup Language Remote Procedure Protocol(XML−RPC)
からなるグループから選ばれる請求項32に記載のコンピュータ・プログラム製品。
【請求項34】
受信した前記データ要求に応答して、データをサード・パーティ使用可能フォーマットで前記クライアント電子装置に提供する前記命令が、
どのように前記クライアント電子装置が前記メディア配布システムと通信することができるかを記述するサービス記述を、前記クライアント電子装置に提供する
命令を含む請求項32に記載のコンピュータ・プログラム製品。
【請求項35】
前記サービス記述がWeb Services Description Language(WSDL)である請求項34に記載のコンピュータ・プログラム製品。
【請求項36】
前記クライアント電子装置が、
前記サービス記述を処理して、前記メディア配布システムにアクセスするための1つまたは複数のクライアント・スタブを生成する
ように構成される請求項34に記載のコンピュータ・プログラム製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公表番号】特表2010−503080(P2010−503080A)
【公表日】平成22年1月28日(2010.1.28)
【国際特許分類】
【出願番号】特願2009−526938(P2009−526938)
【出願日】平成19年8月31日(2007.8.31)
【国際出願番号】PCT/US2007/077420
【国際公開番号】WO2008/028145
【国際公開日】平成20年3月6日(2008.3.6)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(508102277)リアルネットワークス,インコーポレーテッド (5)
【Fターム(参考)】