【文献】
中澤 直也,ゼロからのWebサービス制作も自由自在 WEB API PROGRAMMING! 第2回 YouTube Data APIを使ってオリジナルのマイページをつくろう!,web creators vol.72,(株)エムディエヌコーポレーション,2007年12月 1日,第72巻,144〜147頁
【文献】
yaku,定番ツール 設定の急所、アルバムアートをiTunesっぽく表示,ネトラン 第3巻 第1号,株式会社にゅーあきば,2009年 1月 1日,第3巻 第1号,86〜86頁
(58)【調査した分野】(Int.Cl.,DB名)
前記第1の相手及び前記第2の相手は異なるビジネスエンティティであり、前記ホストアプリケーションは前記第1の相手によって開発され、前記補足アプリケーションは前記第2の相手によって開発され、前記第1の相手によって承認される、請求項1に記載の方法。
前記補足アプリケーションは、前記ホストアプリケーションの1つ又は複数のアプリケーションプログラミングインタフェースを介して、前記ホストアプリケーション及び前記第1の相手のうちの一方又は両方のサービスにアクセスする、請求項1〜14のいずれか一項に記載の方法。
前記ホストアプリケーションとは別個に実行されるアプリケーションは、前記ライセンス供与されるコンテンツを利用可能ではない、請求項1〜16のいずれか一項に記載の方法。
前記ライセンス供与されるコンテンツは、前記ホストアプリケーションとは別個の前記クライアントコンピュータシステムで実行中のアプリケーションによって再生されることが許可されない、請求項1〜19のいずれか一項に記載の方法。
【発明の概要】
【0003】
いくつかの実施態様は、コンテンツへのアクセスを提供するコンピュータ実施方法を提供する。本方法は少なくとも部分的に、プロセッサ及びメモリを有するクライアントコンピュータシステムにおいて実行される。本方法は、第1の相手(party:パーティ)に関連付けられたホストアプリケーションを実行することを含む。本方法は、ホストアプリケーションと、第1の相手に関連付けられたサーバとの間でセキュア通信チャネルを開始することを更に含む。本方法は、第2の相手に関連付けられた補足アプリケーションを実行することを更に含む。本方法は、補足アプリケーションを用いて、第1の相手にライセンス供与されたコンテンツにアクセスすることを更に含み、補足アプリケーションは、ライセンス契約の条項の対象であるセキュア通信チャネルを介して、ライセンス供与されたコンテンツにアクセス可能である。
【0004】
いくつかの実施態様では、補足アプリケーションは、ホストアプリケーションの機能を拡張する。いくつかの実施態様では、補足アプリケーションはホストアプリケーションへのプラグインである。いくつかの実施態様では、ホストアプリケーションはメディプレーヤアプリケーションである。いくつかの実施態様では、補足アプリケーションは、ホストアプリケーションとの併用について第1の相手から許可される。いくつかの実施態様では、サーバは第2のクライアントコンピュータシステムである。
【0005】
いくつかの実施態様では、ライセンス供与されるコンテンツは複数のオーディオファイルを含む。いくつかの実施態様では、ライセンス供与されるコンテンツにアクセスすることは、補足アプリケーションによって提供されるアフォーダンスを介して複数のオーディオファイルのうちの1つの再生を開始することを含む。いくつかの実施態様では、ライセンス供与されるコンテンツにアクセスすることは、サーバからクライアントコンピュータシステムにオーディオファイルをストリーミングすることを更に含む。
【0006】
いくつかの実施態様では、ライセンス供与されるコンテンツは複数のビデオファイルを含む。いくつかの実施態様では、ライセンス供与されるコンテンツにアクセスすることは、補足アプリケーションによって提供されるアフォーダンスを介して複数のビデオファイルのうちの1つの再生を開始することを含む。いくつかの実施態様では、ライセンス供与されるコンテンツにアクセスすることは、サーバからクライアントコンピュータシステムにビデオファイルをストリーミングすることを更に含む。
【0007】
いくつかの実施態様では、補足アプリケーションは、ホストアプリケーションの1つ又は複数のアプリケーションプログラミングインタフェースを介して、ホストアプリケーション及び第1の相手のうちの一方又は両方のサービスにアクセスする。
【0008】
いくつかの実施態様では、ホストアプリケーションとは別個に実行されるアプリケーションは、ライセンス供与されるコンテンツを利用可能ではない。いくつかの実施態様では、セキュア通信チャネルは、ホストアプリケーションとは別個に実行されるアプリケーションにアクセスすることができない。いくつかの実施態様では、ホストアプリケーションは、オペレーティングシステム内で実行される。いくつかの実施態様では、補足アプリケーションは、ホストアプリケーションと併せてのみ実行可能である。いくつかの実施態様では、ライセンス契約は、ホストアプリケーションとは別個にクライアントコンピュータシステムで実行中のアプリケーションによるライセンス供与されるコンテンツへのアクセスを許可しない。
【0009】
いくつかの実施態様では、セキュア通信チャネルはハイパーテキスト転送プロトコルセキュア(HTTPS)を使用する。いくつかの実施態様では、セキュア通信チャネルは暗号化通信を使用する。いくつかの実施態様では、セキュア通信チャネルを開始することは、サーバを認証することを含む。
【0010】
いくつかの実施態様は、コンテンツへのアクセスを提供するコンピュータ実施方法を提供する。本方法は少なくとも部分的に、プロセッサ及びメモリを有するクライアントコンピュータシステムで実行される。本方法は、ホストアプリケーションを実行することを含む。本方法は、補足アプリケーションを実行することを更に含む。本方法は、補足アプリケーションを用いて、ホストアプリケーションのプロバイダと、1人又は複数のコンテンツ所有者との間でのライセンス契約の対象であるコンテンツにアクセスすることを更に含み、ライセンス契約の条項の対象である補足アプリケーションは、ライセンス供与されるコンテンツにアクセス可能である。
【0011】
いくつかの実施態様は、アプリケーション許可を処理するコンピュータ実施方法を提供する。本方法は少なくとも部分的に、プロセッサ及びメモリを有するクライアントコンピュータシステムで実行される。本方法は、ホストアプリケーションを実行することを含む。本方法は、ユーザから、補足アプリケーションを使用する要求を受信することを更に含む。本方法は、第1の組の許可を使用して、ホストアプリケーションと併せて補足アプリケーションを実行することを更に含む。本方法は、ユーザが補足アプリケーションを承認したことを検出することを更に含む。本方法は、検出に応答して、第2の組の許可を補足アプリケーションに関連付けることと、第2の組の許可を使用して補足アプリケーションを実行することとを更に含む。いくつかの実施態様では、本方法は、補足アプリケーションをプラグインとしてホストアプリケーションにインストールすることを更に含む。
【0012】
いくつかの実施態様では、第1の組の許可は、補足アプリケーションに対して、ユーザのアカウントに関連付けられたデータへの読み取りのみのアクセスを認可する。いくつかの実施態様では、第1の組の許可は、補足アプリケーションに対して、ユーザのアカウントに関連付けられたプレイリスト及びコンテンツ履歴データを読み出す許可を認可する。
【0013】
いくつかの実施態様では、第2の組の許可は、補足アプリケーションに対して、ユーザのアカウントに関連付けられたデータへの読み/書きアクセスを認可する。いくつかの実施態様では、第2の組の許可は、補足アプリケーションに対して、ユーザのアカウントに関連付けられたプレイリストを作成し変更する許可を認可する。
【0014】
いくつかの実施態様では、本方法は、補足アプリケーションが、ユーザによって第1のクライアントコンピュータにインストールされたことを示すように、ユーザに関連付けられたアカウント情報を更新することを更に含む。いくつかの実施態様では、本方法は、補足アプリケーションに適用すべき許可を示すように、ユーザに関連付けられたアカウント情報を更新することを更に含む。
【0015】
いくつかの実施態様では、本方法は、第2のクライアントコンピュータシステムにおいて以下のステップを実行することを更に含む。第2のホストアプリケーションを実行すること。ユーザに関連付けられたアカウント情報から、補足アプリケーションが第1のクライアントコンピュータにインストールされたこと及び補足アプリケーションに適用すべき許可を判断すること。補足アプリケーションを第2のクライアントコンピュータにインストールすること。判断された許可を使用して補足アプリケーションを実行すること。
【0016】
いくつかの実施態様は、リソースへのアクセスを許可するコンピュータ実施方法を提供する。本方法は少なくとも部分的に、プロセッサ及びメモリを有するクライアントコンピュータシステムにおいて実行される。本方法はホストアプリケーションと併せて実行される補足アプリケーションを受信することを含み、ホストアプリケーションは、ホストアプリケーションのプロバイダとコンテンツ項目の所有者との間でのライセンス契約の対象であるライセンス供与されるコンテンツ項目へのアクセスを提供する。本方法は、補足アプリケーションに関連付けられた認証ファイルを受信することを更に含む。本方法は、ホストアプリケーションに関連付けられたリソースにアクセスする要求を検出することを更に含む。本方法は、認証ファイルを使用して、補足アプリケーションが、リソースにアクセスする許可を有するか否かを判断することを更に含む。本方法は、補足アプリケーションが、リソースへのアクセス許可を有する場合、リソースへのアクセスを提供することと、補足アプリケーションが、リソースへのアクセス許可を有さない場合、リソースへのアクセスを提供しないこととを更に含む。
【0017】
いくつかの実施態様では、リソースへのアクセス要求は補足アプリケーションから発せられる。いくつかの実施態様では、リソースへのアクセス要求は、ライセンス供与されるコンテンツ項目のうちの少なくとも1つにアクセスする要求である。いくつかの実施態様では、ライセンス供与されるコンテンツ項目のうちの少なくとも1つは、クライアントコンピュータシステムからリモートであるサーバに記憶される。いくつかの実施態様では、リソースへのアクセス要求は、ホストアプリケーションのアプリケーションプログラミングインタフェースへのアクセス要求である。いくつかの実施態様では、認証ファイルは暗号化される。いくつかの実施態様では、認証ファイルは暗号署名される。
【0018】
いくつかの実施態様によれば、コンピュータ可読記憶媒体(例えば、非一時的なコンピュータ可読記憶媒体)が提供され、コンピュータ可読記憶媒体は、電子装置の1つ又は複数のプロセッサによって実行される1つ又は複数のプログラムを記憶し、1つ又は複数のプログラムは、本明細書に記載の任意の方法を実行する命令を含む。
【0019】
いくつかの実施態様によれば、本明細書に記載の任意の方法を実行する命令を含む電子装置が提供される。
【0020】
いくつかの実施態様によれば、本明細書に記載の任意の方法を実行するように構成される処理ユニットを含む電子装置が提供される。
【0021】
いくつかの実施態様によれば、1つ又は複数のプロセッサと、1つ又は複数のプロセッサによって実行される1つ又は複数のプログラムを記憶するメモリとを含む電子装置が提供され、1つ又は複数のプログラムは、本明細書に記載の任意の方法を実行する命令を含む。
【0022】
いくつかの実施態様によれば、電子装置で使用される情報処理装置が提供され、情報処理装置は、本明細書に記載の任意の方法を実行する手段を含む。
【0023】
本明細書において開示される実施態様は、添付図面の図に限定ではなく例として示される。図面全体を通して、同様の参照符号は対応する部分を指す。
【発明を実施するための形態】
【0025】
電子装置を使用するメディア消費はますます人気になっている。ユーザはますます、音楽、映画、テレビショー、ポッドキャスト等をラップトップコンピュータ、タブレットコンピュータ、mp3、及び他のデジタルメディアプレーヤ、携帯電話等で消費するようになっている。メディアコンテンツは、これらの装置に様々な異なる方法で配信することができる。例えば、多くのブロードキャストプロバイダ(例えば、ラジオ局、テレビネットワーク)は、インターネットを介して各自のブロードキャスト番組へのアクセスを提供している。ユーザは、これらのプロバイダに関連付けられたウェブページに移動(又は専用のソフトウェア及び/又はハードウェアを使用)し、コンテンツにリアルタイムでアクセスすることができる。別のコンテンツ配信モデルでは、ユーザは、オンラインマーケットプレイスからメディアコンテンツ項目を購入し、好きな期間にわたりコンテンツ項目を記憶することができる。例えば、ユーザは、オーディオトラック、映画、オーディオブック等をユーザのコンピュータに直接ダウンロードすることと引き換えに、第三者に料金を支払い得る。これらの場合、コンテンツ項目は、コンテンツ項目の販売者に関連付けられていない場合、又はコンテンツ項目の販売者によって提供されてない場合であっても、様々なコンピュータアプリケーションによって再生可能であるか、又は他の様式でアクセス可能であり得る。例えば、歌がコンピュータにダウンロードされると、その歌はそのコンピュータで再生可能であるか、又は別の装置(例えば、スマートフォン、異なるコンピュータ等)に転送し得る。これらのコンテンツ配信方法は、多くの点において、ブロードキャストメディア及び従来型のマーケットプレイスというより従来的なコンテンツ配信チャネルに類似する。
【0026】
別のコンテンツ配信モデルは、ユーザにコンテンツ項目単位で課金せずに、コンテンツカタログへのオンデマンドアクセスを提供する。そのようなサービスは、例えば、有料である(例えば、全体のコンテンツカタログにアクセスすることと引き換えの加入料金)か、「無料」である(例えば、広告収益若しくは別の収益源によってサポートされる)か、又はこれらの組み合わせ(例えば、限られた無料サービスが、無制限サービスに対して他者が支払う料金でサポートされる)で提供し得る。しかし、これらのタイプの配信モデルは、コンテンツプロバイダとコンテンツ所有者及び制作者(例えば、アーティスト、レコードレーベル、映画スタジオ、テレビネットワーク等)との間で必要なライセンス契約の交渉に長い時間、大きな尽力、及び多額の金銭がかかるため、実施が難しかった。特に、ユーザの支払いは項目毎ではないため、ロイヤルティ料はいくらか非伝統的である。さらに、これらのライセンス契約では通常、コンテンツを不正アクセス及び不正コピーから保護することが求められる。これは多くの場合、不正ユーザ、不正アプリケーション、及び/又は不正装置によるコンテンツへのアクセスを阻止するデジタル権利管理(「DRM」)技法の使用を通して達成される。例えば、音楽コンテンツのプロバイダは、専用メディアブラウザ及び/又はプレーヤアプリケーションを提供し得、ユーザは、それ(ら)を用いて、音楽コンテンツを閲覧し聴くことができるとともに、プレイリストの構築、友人との音楽提案の共有等を行うことができる。(同様のアプリケーションを、オーディオ(例えば、ポッドキャスト、音楽、話された言葉、ラジオショー等)、ビデオ(例えば、映画、テレビショー、ユーザ生成ビデオ、アニメーション等)、画像、又はこれらのコンテンツタイプの様々な組み合わせ等の他のコンテンツの閲覧及び提示にも同様に提供することもできる)。コンテンツには、コンテンツプロバイダによって提供される特定のアプリケーションでしかアクセスすることができないため、コンテンツの違法なコピー及び配信を阻止するか、又は少なくとも妨げることができる。
【0027】
しかし、コンテンツへのアクセス制限は、ユーザがコンテンツと対話し、コンテンツを消費する方法を制限することになり得る。特に、コンテンツプロバイダは、コンテンツを消費する際にユーザ経験を強化し得る様々な独自の興味深い特徴及び機能の全てをアプリケーション内に含む能力又は望みを有さないことがある。幅広い独自の特徴及び機能を消費者に提供しながら、同様にコンテンツラインセス契約の条項を満たすために、本願は、補足アプリケーションのプラットフォームとして機能するホストアプリケーションを記載する。補足アプリケーションは、ホストアプリケーションによって既に提供されている特徴及び機能を拡張し、且つ/又は補足することができる。ホストアプリケーションの一例は、ユーザが音楽を閲覧して再生するとともに、プレイリストの作成、編集、及び共有を行えるようにするメディアプレーヤ/ブラウザである。補足アプリケーションは、ホストアプリケーションにインストールし、且つ/又はホストアプリケーションと併せて実行することができ、それにより、ホストアプリケーションによって再生中の歌詞の表示、音楽のお奨めの提供、プレイリストの協働的キュレーションの可能化、他の情報(提示中のトラックのアーティストについての情報等)へのアクセス及び提示の可能化等の他の特徴を提供する。勿論、後述するように、他の補足アプリケーション及びホストアプリケーションも考慮される。
【0028】
いくつかの実施態様では、ホストアプリケーションはコンテンツプロバイダによって作成され、且つ/又は提供され、一方、補足アプリケーションは、コンテンツプロバイダ又は他のエンティティを含め、任意のエンティティによって作成され、且つ/又は提供される。この構成の一利点は、コンテンツプロバイダ−コンテンツクリエータとのライセンス契約によってメディアコンテンツへのアクセスを提供することが許可されている−が、他の開発者のクリエイティビティ及び創造力を利用して、新規の刺激的なユーザ経験をユーザに提供可能なことである。それと引き換えに、開発者は、普通ならアクセスすることができない視聴者及びコンテンツカタログにアクセスすることができる。例えば、音楽の批評及び解説を提供することが良く知られている雑誌が、その雑誌によって作成され、且つ/又は推奨されるプレイリストを提供する補足アプリケーションを開発することができる。次に、ユーザは、ホストアプリケーションに提示するために、これらのプレイリストを選択することができる。したがって、ホストアプリケーションは、ライセンス供与されるコンテンツへのアクセスを促進する(そして、オーディオ/ビジュアル再生インタフェース、制御機構等のメディア提示機能を提供する)一方で、補足アプリケーションは、コンテンツプロバイダが普通なら提供しないことが多い追加のユーザ機能及び特徴を提供する。さらに、補足アプリケーションの開発者は、普通なら到達することができないことがある視聴者に到達することが可能であるとともに、ホストアプリケーションを介して、普通なら提供することができないコンテンツへのアクセスを提供することができる。そして、上記例では、ホストアプリケーションへの拡張機能としてプレイリストの提案が説明されるが、多くの他の特徴及び機能も可能である。例えば、いくつかのアプリケーションは、ライナーノート、批評、歌詞、バンド/アーティスト/俳優のプロフィール、ツアーの日程、フォトスライドショー等の現在提示されているメディア項目についての情報を提供し得る。いくつかのアプリケーションは、主題であるメディアコンテンツの提示を開始するメディア再生制御機構を含む批評、解説、及び/又はお奨めの提供等のメディアコンテンツの提示を開始する異なる方法を提供し得る。他のアプリケーションは、現在再生されているアーティストの来るコンサート(又は同様のアーティスト)をユーザに通知し得、さらにはユーザが、補足アプリケーション及び/又はホストアプリケーションを介してコンサートのチケットを購入できるようにする。さらに他のアプリケーションでは、ユーザは、現在再生されているアーティスト(又は同様のアーティスト若しくは推奨されるアーティスト)によるCD又はデジタルメディアを購入することができる。
【0029】
補足アプリケーションがライセンス供与されるコンテンツの大きなカタログにアクセスすることができるプラットフォームを提供することにより、仮に各補足アプリケーションプロバイダが各自のアプリケーションを独立して提供しようとする場合では達成が困難であるか、又は不可能ないくつかの利点が提供される。例えば、ホストアプリケーションのプロバイダは、補足アプリケーションがライセンス供与されるメディアコンテンツの大きなカテゴリにアクセスできるようにし、個々のアプリケーションプロバイダが、同じコンテンツにアクセスするために、コンテンツ所有者と交渉することは困難であり、高価である。したがって、消費者から、メディアコンテンツについて学び、メディアコンテンツを消費し、メディアコンテンツと対話する新しく興味深い方法が奪われる。しかし、ライセンス契約は、プラットフォーム(例えば、ホストアプリケーション)のプロバイダとコンテンツ所有者との間で既に整備されており、コンテンツは最終的に、ホストアプリケーションによってアクセスされるため、補足アプリケーションは、コンテンツ所有者からの追加のライセンスなしで、ライセンス供与されるコンテンツにアクセスすることができる。
【0030】
さらに、ホストアプリケーションは、ユーザがメディアコンテンツにアクセスし消費する統合環境を提供する。したがって、ユーザは、補足アプリケーションによって提供される(又は補足アプリケーションがアクセス可能な)拡張特徴及び/又はコンテンツの恩恵も受けながら、1つのホストアプリケーション(馴染みのある再生制御機構、ソーシャルメディア共有オプション、メディア管理特徴、プレイリスト作成/管理オプション等を有する)を使用することが可能である。
【0031】
これより、図、特にいくつかの実施態様によるクライアントサーバ環境100のブロック図である
図1に注目する。クライアントサーバ環境100は、ネットワーク108を通して接続されるクライアントコンピュータ102と、コンテンツサーバ104と、補足アプリケーションサーバ(106−1、・・・、106n)とを含む。いくつかの実施態様では、補足アプリケーションサーバ106−nは、コンテンツサーバ104等の1つ又は複数の他のコンピュータを通してネットワーク108に接続される。
【0032】
いくつかの実施態様では、コンテンツサーバ104にはコンテンツプロバイダ105が関連付けられる。(いくつかの実施態様では、1つ又は複数の補足アプリケーションサーバ106−nにもコンテンツプロバイダ105が関連付けられる)。いくつかの実施態様では、コンテンツプロバイダ105は、音楽、映画、テレビショー、ビデオ等のメディアコンテンツ項目のカタログへのアクセスを提供する。上述したように、いくつかの実施態様では、コンテンツプロバイダ105によって提供されるコンテンツのうちの少なくともいくつかは、コンテンツプロバイダ105と、1人又は複数のメディアコンテンツ所有者及び/又はクリエータ107との間の1つ又は複数のライセンス契約の対象である。いくつかの実施態様では、コンテンツサーバ104はまた、後述するように、補足アプリケーションへのアクセスを提供し、且つ/又は補足アプリケーションへのアクセスを促進する。
【0033】
いくつかの実施態様では、補足アプリケーションサーバ106−nには、1つ又は複数の第三者が関連付けられ、このアプリケーションサーバ106−nは、補足アプリケーション114−nへのアクセスを提供し、これについて後述する。いくつかの実施態様では、補足アプリケーションは、補足アプリケーションサーバ106−nからクライアントコンピュータシステム102にダウンロードすることができる。いくつかの実施態様では、配信のためにコンテンツサーバ104に提供される。いくつかの実施態様では、第三者はコンテンツプロバイダ105とは異なるエンティティである。例えば、コンテンツプロバイダ105は、デジタル音楽へのアクセスを提供するビジネスエンティティ(及びデジタル音楽へのアクセスを可能にするハードウェア及び/又はソフトウェアツール)であり得、補足アプリケーションサーバ106−nには、他のビジネスエンティティ(コンサートプロモータからソフトドリンク製造業者の範囲の任意のビジネスを含む)又はコンテンツプロバイダ105とは別個の非ビジネスエンティティ(例えば、個人又は人のグループ)を関連付け得る。
【0034】
クライアントコンピュータ102は、ホストアプリケーション112と、補足アプリケーション(114−1、・・・、114−n)とを含む。いくつかの実施態様では、クライアントコンピュータ102は、パーソナルコンピュータ、モバイル電子装置、ラップトップ、タブレットコンピュータ、携帯電話、デジタルメディアプレーヤ、又はメディアコンテンツを提示可能な他の任意の電子装置からなる群の1つである。
【0035】
一般に、アプリケーションは、ユーザが特定のタスクを実行するのに役立つように設計されるコンピュータソフトウェア(例えば、1つ又は複数のコンピュータプログラムで構成される)として理解し得る。アプリケーションは、コンピュータのプロセッサによって実行可能である命令を含み得、ソースコード(例えば、人間可読プログラミング言語)及び/又はオブジェクトコード(例えば、コンピュータ可読二進コード)でインスタンス化し得る。アプリケーションのいくつかの例としては、言語処理アプリケーション、ゲーム、メディアプレーヤ/ブラウザ、画像ビューア、画像/フォトエディタ、プレイリストマネージャ等が挙げられる。多くの場合、アプリケーションはオペレーティングシステムとは異なり、オペレーティングシステムは、メモリ、プロセッサ、ハードディスク、及び/又は周辺機器等を含むコンピュータのハードウェアリソースの制御、管理、アクセス管理を行う。アプリケーションは、オペレーティングシステムと併せて実行し得、プログラム的にオペレーティングシステムと対話し得る。例えば、オペレーティングシステムは、アプリケーションが入力装置及び出力装置(スピーカ、キーボード、ディスプレイ等を含む)、記憶装置等のハードウェアリソースにアクセスするため、又は他のプロセス、アルゴリズム、ルーチン、若しくはオペレーティングシステムによって提供されるプログラムにアクセスするために使用することができるプログラム的インタフェース(例えば、アプリケーションプログラミングインタフェース又はAPI)を提供し得る。いくつかの実施態様では、アプリケーションは、動作するためにオペレーティングシステム内で実行されなければならないようにプログラムされる。
【0036】
いくつかの実施態様では、ホストアプリケーション112はメディアプレーヤ/ブラウザである。いくつかの実施態様では、ホストアプリケーションソフトウェアは完全に、又は部分的にクライアントコンピュータ102に存在する。例えば、ユーザは、メディアプレーヤ/ブラウザ(例えば、ホストアプリケーション112)を、典型的なコンピュータアプリケーション(例えば、アプリケーションの実行可能コードがコンピュータのメモリ(例えば、ハードドライブ)に記憶される)としてクライアントコンピュータ102にインストールし得る。いくつかの実施態様では、ホストアプリケーション112は完全に、又は部分的にウェブベースのアプリケーションである。例えば、ウェブベースのメディアプレーヤ/ブラウザアプリケーションには、ウェブブラウザ(又はウェブベースのアプリケーションにアクセスし、且つ/又は実行することができる他の任意のアプリケーション若しくはオペレーティングシステム)からアクセス可能であり得る。いくつかの実施態様では、ウェブベースのアプリケーションの実行可能コードのうちのいくつか又は全ては、クライアントコンピュータ102からリモートのコンピュータ及び/又はサーバ(例えば、コンテンツサーバ104)に記憶されるか、又はキャッシュされる。適切なコンピュータプログラム(例えば、ウェブブラウザ、オペレーティングシステム等)を、例えば、ユニフォームリソースロケータ識別子(「URI」)を供給することによってアプリケーションを見つけることができるアドレスにナビゲートすることにより、ウェブベースのアプリケーションにアクセスすることができる。次に、ウェブベースのアプリケーションは、1つ又は複数のコンピュータ(例えば、コンテンツサーバ104、クライアントコンピュータ102、及び/又はこれら又は他のコンピュータ/装置の任意の組み合わせを含む)によって実行される。いくつかの実施態様では、本明細書に記載のホストアプリケーション112の動作は、クライアントベース及びウェブベースのホストアプリケーションの両方に等しく、又は同様に適用される。
【0037】
補足アプリケーション114−nは、ホストアプリケーション112の機能を拡張し、且つ/又は補足するように構成される。例えば、補足アプリケーション114−nは、追加のコンテンツ又は情報(及び/又は管理又は監督されるコンテンツ)へのアクセスを提供し、コンテンツサーバ104から利用可能なコンテンツと対話する様々な方法等を提供することができる。補足アプリケーション114−nは、ホストアプリケーション112と併せて動作するように設計されるコンピュータソフトウェア(例えば、1つ又は複数のコンピュータプログラムで構成される)として理解し得る。いくつかの実施態様では、補足アプリケーション114−nは、ホストアプリケーション112にインストールされるか、又はホストアプリケーション112と併せて実行されるように構成されたコードモジュール(例えば、ソースコード、オブジェクトコード等)であるか、又はそのようなコードモジュールを含む。いくつかの実施態様では、補足アプリケーション114−nは、ホストアプリケーション112への「プラグイン」又は「アドオン」である。
【0038】
いくつかの実施態様では、補足アプリケーション114−nは、ホストアプリケーション112と併せてのみ実行可能である。そのような場合、補足アプリケーション114−nは、ホストアプリケーション112がクライアントコンピュータ102にインストールされておらず、且つ/又は実行中ではない場合には実行することができないように、ホストアプリケーション112にプログラム的にリンクされる。例えば、補足アプリケーション114−nを構成するコードは、ホストアプリケーション112によって提供されるプロセス、リソース、及び/又はAPIを参照し、呼び出し、又はそれ(ら)に頼ることができる。いくつかの実施態様では、補足アプリケーション114−nは、ホストアプリケーション112と併せて実行可能になるには、その前に認証されなければならない。したがって、悪意のあるアプリケーション又はプログラムによるホストアプリケーション112のリソース及び/又はサービスへのアクセスを阻止又は制限することができる。いくつかの実施態様では、補足アプリケーション114−nの認証は認証トークン(例えば、暗号署名されたファイル)によって提供され、認証トークンにより、ホストアプリケーション112は、補足アプリケーション114−nが適宜許可されていることを検証することができる。補足アプリケーションの認証に関連する更なる詳細について本明細書において説明する。
【0039】
いくつかの実施態様では、補足アプリケーション114−nは、ユニフォームリソース識別子(「URI」)(例えば、ユニフォームリソースロケータ(「URL」)、IPアドレス等)であるか、又はURIを含む。そのような場合、補足アプリケーションを構成するプログラム(例えば、コンピュータコード)は、URIに関連付けられたリモート装置(例えば、補足アプリケーションサーバ106−n)に記憶し得、全体的又は部分的にクライアントコンピュータ102にダウンロードして、ホストアプリケーション112と併せて実行し得る。いくつかの実施態様では、プログラム又はプログラムの部分はリモート装置で実行し得る。したがって、ホストアプリケーション112のように、補足アプリケーション114−nは、クライアントコンピュータ102にインストールされて(例えば、ハードドライブに記憶されて)実行し得、又は完全に若しくは部分的にリモートコンピュータ(例えば、後述する補足アプリケーションサーバ106−n)に記憶し、且つ/又は実行し得る。説明した補足アプリケーション114−nは、ホストアプリケーション112がクライアントベース(例えば、プログラムはクライアントコンピュータ102によって記憶され、且つ/又は実行される)又はウェブベース(例えば、プログラムは少なくとも部分的にリモート装置によって記憶され、且つ/又は実行される)である実施態様で使用し得る。補足アプリケーション114−nのいくつかの特定の例について本明細書において考察する。
【0040】
いくつかの実施態様では、補足アプリケーション114−nは、補足アプリケーションサーバ(106−1、・・・、106−n)によって提供される。上述したように、補足アプリケーションサーバ106−nには、ホストアプリケーション112と併用される補足アプリケーション114−nを開発し、且つ/又は提供するビジネスエンティティ又は個人を関連付け得る。上述したように、いくつかの実施態様では、補足アプリケーション114−nは、補足アプリケーションサーバ106−nからクライアントコンピュータ102にダウンロードされ、ホストアプリケーション112と併用される。しかし、補足アプリケーションは、補足アプリケーションサーバ106−nによってホストされ、補足アプリケーションサーバ106−nと通信し、又は補足アプリケーションサーバ106−nに頼る必要はない。例えば、任意の特定のビジネスエンティティをアフィリエートせず、補足アプリケーションサーバ106−nをホストしないアプリケーション開発者は、補足アプリケーションをコンテンツプロバイダ105に提供し得、したがって、コンテンツプロバイダ105は、クライアントコンピュータ102が補足アプリケーションにアクセスできるようにし得る。
【0041】
いくつかの実施態様では、補足アプリケーション114−nは、クライアントコンピュータ102によって実行される場合、補足アプリケーションサーバ106−nに記憶された情報を使用し、且つ/又は補足アプリケーションサーバ106−nに記憶された情報にアクセスする。例えば、補足アプリケーション114−nは、ホストアプリケーション112によって再生される(且つコンテンツサーバ104によって提供される)歌の歌詞を表示し得る。この例では、補足アプリケーションサーバ106−nは、歌詞を記憶し、補足アプリケーション114−nに提供し得る。簡潔にするために、補足アプリケーション114−nは、補足アプリケーション114−nがダウンロードされるサーバと同じサーバからの情報(例えば、歌詞、コンテンツ批評、プレイリスト等)にアクセスするものとして説明される。しかし、補足アプリケーション114−nは他のソースからの情報にも同様にアクセスし得るため、これが常に当てはまるわけではない。例えば、WIKIPEDIAに関連しないアプリケーション開発者は、ユーザが聴いているバンドの公にアクセス可能なWIKIPEDIAページを表示する補足アプリケーションを提供し得る。その場合、補足アプリケーションは、WIKIPEDIAに関連付けられたサーバにアクセスし、ホストアプリケーション112内でユーザに提示し得る。
【0042】
いくつかの実施態様では、補足アプリケーション114−nは、ホストアプリケーション112が補足アプリケーションをクライアントコンピュータ102にインストール及び/又は実行可能にするために、又は補足アプリケーションがホストアプリケーション112及び/又はコンテンツサーバ104のリソースにアクセス可能にするために、コンテンツプロバイダ105(例えば、コンテンツサーバ104に関連付けられたビジネスエンティティ)によって承認されなければならない。いくつかの実施態様では、承認プロセスは、アプリケーションをコンテンツプロバイダ105に提供することと、補足アプリケーションが承認されると、暗号署名された認証ファイル(「デジタル署名」とも呼ばれる)をコンテンツプロバイダから受信することとを含む。暗号署名された認証ファイルは次に、補足アプリケーション114−nの部分として含み得る。ホストアプリケーション112は、デジタル署名を使用して、ホストアプリケーション112のリソース及び/又はコンテンツサーバ104からのライセンス供与されるコンテンツへのアクセスを要求する任意の補足アプリケーション114−nが、そうするように適宜許可されることを補償するように構成される。いくつかの実施態様では、ホストアプリケーション112は、デジタル署名を使用して、補足アプリケーションが実際に、コンテンツプロバイダ105によって承認されたと判断し、補足アプリケーションが承認された後、補足アプリケーションが変更されてないことを保証する。そのような対策は、ライセンス供与されたコンテンツの著作権侵害(又はホストアプリケーション112及び/又はコンテンツサーバ104への他の不正アクセス)の阻止に役立ち、その理由は、ホストアプリケーション112が、いかなる不正又は不良なアプリケーションもインストールせず、又は実行しないためである。ラインセンス供与されるコンテンツへのアクセスを制限する(又は少なくとも、全てのアクセスが、ホストアプリケーション112又はコンテンツプロバイダ105によって制御されることを保証する)これら又は他の同様の対策は、コンテンツプロバイダ105とコンテンツ所有者107との間でのライセンス契約の条項によって要求され得る。
【0043】
上述したように、補足アプリケーション114−nの認証は、不正アプリケーションがコンテンツサーバ104からのコンテンツにアクセスできないことを保証するために重要である。そのような認証技法は、コンテンツサーバ104が、補足アプリケーション114−nに関連するコンテンツアクセス許可(又は他のタイプの許可)を識別することができるように、コンテンツサーバ104に対して補足アプリケーション114−nを識別するのに役立つために使用することもできる。例えば、補足アプリケーション114−nは、特定の補足アプリケーション114−nによってのみアクセス可能なコンテンツ項目へのアクセスを要求し得る。コンテンツサーバ104は、要求側補足アプリケーション114−nのデジタル署名を使用して、そのアプリケーションがトラックにアクセスする許可を有するか否かを判断することができる。例示的な一使用事例は、エンティティ(例えば、ビジネス、個人、取引グループ等)が、そのエンティティの補足アプリケーションを介して非関連音楽トラックへのアクセスを提供することである(そして、補足アプリケーションは、広告を表示し、ブランド露出を提供し、又は他の様式でそのエンティティに何らかの金融的恩恵若しくは他の恩恵を提供することができる)。まず、エンティティは、コンテンツプロバイダ105及び/又はコンテンツ所有者107からコンテンツにアクセスする権利を取得し得る。次に、補足アプリケーションには、コンテンツプロバイダ105により、非関連トラックにアクセスするアクセス権が与えられる。コンテンツプロバイダ105が、非関連トラックに対する要求をクライアントコンピュータ102から受信する場合、コンテンツサーバ104はデジタル署名を使用して、要求側補足アプリケーションが実際に、そのトラックにアクセスする許可を有するか否かを検証し、アクセスを適宜許可するか又は拒絶する。
【0044】
図1に戻ると、ホストアプリケーション112は、セキュアで暗号化される通信チャネル110を使用してコンテンツサーバ104と通信するように構成される。セキュアで暗号化された通信チャネルを使用することは、データ送信の傍受を阻止し、コンテンツサーバ104が許可されたクライアントコンピュータのみと通信する(逆も同様)ことを保証することにより、コンテンツサーバ104からクライアントコンピュータ102へのラインセス供与されるコンテンツの送信のセキュリティの保証に役立つ。暗号署名された認証ファイルのように、これらの対策も、ライセンス供与されるコンテンツ著作権侵害及び不正アクセスを阻止するのに役立ち、コンテンツプロバイダ105とコンテンツ所有者107との間でのライセンス契約の条項で要求され得る。いくつかの実施態様では、セキュアで暗号化される通信チャネル110(「通信チャネル110」とも呼ばれる)は、ホストアプリケーション112とコンテンツサーバ104との間でハイパーテキスト転送プロトコルセキュア(HTTPS)通信プロトコルを使用する。いくつかの実施態様では、他の通信プロトコル及び暗号化技法が通信チャネル110に使用される。
【0045】
いくつかの実施態様では、ホストアプリケーションは、許可された通信のみをコンテンツサーバ104とクライアントコンピュータ102との間で送信されるように、通信チャネル110を制御する。例えば、ホストアプリケーション112は、クライアントコンピュータ102で実行中の他のアプリケーション(例えば、クライアントコンピュータのオペレーティングシステム内で実行されるが、ホストアプリケーション112外部にある他のアプリケーション)が通信チャネル110にアクセスするのを許可しない。さらに、ホストアプリケーション112は、不正又は不良補足アプリケーション114−nをホストアプリケーション112にインストールできないようにし、且つ/又はホストアプリケーション112によって実行できないようにするか、又は他の様式で通信チャネル110を介してコンテンツサーバ104との通信を阻止する。
【0046】
本明細書に記載のアプリケーションプラットフォームは、無数の補足アプリケーションをサポートすることができ、補足アプリケーションは、ホストアプリケーション112の機能を拡張することができるとともに、ユーザがコンテンツと対話し、且つ/又はコンテンツを消費する新規で興味深い方法を生成することができる。しかし、多くの異なる補足アプリケーションが利用可能になる場合、ユーザの混乱及び/又は様々な補足アプリケーション間での不要な干渉が生じるおそれがある。例えば、補足アプリケーションは、ホストアプリケーション112においてユーザが作成したプレイリストの変更、作成、又は削除、再生設定の変更、ソーシャルネットワークへの掲示等により、ホストアプリケーション112及び/又はユーザのメディア情報に変更を行うことが可能であり得る。いくつかの実施態様では、本明細書に記載のアプリケーションプラットフォームは、階層許可構造を使用して、ユーザが、補足アプリケーションが必要とし得る全ての許可を必ずしも提供する必要なく、補足アプリケーションをプレビューできるようにする。
【0047】
いくつかの実施態様では、階層許可構造は、補足アプリケーション114−nに第1の組の許可を提供するのみならず、階層許可構造により、ユーザは、ホストアプリケーション112と併用する補足アプリケーション114−nを選択することができる。いくつかの実施態様では、第1の組の許可は、補足アプリケーション114−nがその全ての機能及び/又は特徴を可能にするために必要とする全ての許可に満たない。いくつかの実施態様では、第1の組の許可は、ユーザの情報(プレイリスト、再生履歴、プロフィール情報、ソーシャルネットワーキング活動、メディア共有データ等を含む)への「読み取りのみ」の許可を含む。したがって、ユーザに、補足アプリケーション114−nが、ユーザが許可するまで、ユーザの情報を変更不可能なことを保証することができる。いくつかの実施態様では、第1の組の許可により、補足アプリケーション114−nは新しいプレイリストを作成するか、又はメディアコンテンツの提示を開始することができるが、補足アプリケーション114−nによるプレイリストの変更、プレイリストの削除、ユーザのソーシャルネットワークへの掲示、ユーザの個人情報及び/又はプロフィール情報へのアクセス等は許可されない。いくつかの実施態様では、第1の組の許可はコンテンツプロバイダ105によって決定される。例えば、コンテンツプロバイダ105は、「プレビュー」期間中に全て又はいくつかの補足アプリケーション114−nに適用される許可を決定し得る。いくつかの実施態様では、補足アプリケーション114−nのプロバイダは、「プレビュー」期間中に適用されるべき許可を決定するか、又は要求する。ユーザは、ユーザが許可を許容するか、又は拒絶することができるように、任意の補足アプリケーション114−nによって要求される許可にアクセス可能であり得る。
【0048】
いくつかの実施態様では、第1の組の許可は、「プレビュー」期間中にデフォルトにより、プレビューされた各補足アプリケーションに、許可に対する別個のユーザ同意を必要とせずに、全ての補足アプリケーション114−nに対して認可される。追加の許可が必要であるか、又は補足アプリケーション114−nによって要求される場合(例えば、ユーザが補足アプリケーションを「承認」する場合)、ユーザは、認可すべき許可への同意を提供するように求められる。いくつかの実施態様では、補足アプリケーションの「プレビュー」期間は、ユーザ、ホストアプリケーション112、及び/又はコンテンツサーバ104に補足アプリケーション114−nが関連付けられたことの許可レベルによって定義される。そのような場合、補足アプリケーション114−nは、「プレビュー」期間中及びその後と同様に、クライアントコンピュータ102にインストールし、ホストアプリケーション112とプログラム的に対話し得(例えば、アプリケーションプログラミングインタフェースコールを通して)、唯一の違いは、補足アプリケーション114−nが、特定の機能及び/又はデータへのアクセス又は変更に関して制限されることである。
【0049】
記載される階層許可の例示的な一実施態様では、ユーザは、例えば、ホストアプリケーション112のアプリケーション閲覧インタフェースから補足アプリケーションを選択することにより、補足アプリケーション114−nの「プレビュー」を選択し得る。プレビューに選択されると、補足アプリケーション114−nには第1の組の許可が関連付けられ、ホストアプリケーション112を通してユーザに提供される。(例えば、補足アプリケーション114−nが、ホストアプリケーション112のユーザインタフェースの「インストール済みアプリケーション」リスト又は「トライアルアプリケーション」リストに出現し得る)。次に、ユーザは、第1の組の許可によって許可される程度まで自由に補足アプリケーション114−nを使用することができる。次に、ユーザは、例えば、補足アプリケーション114−nの要件と範囲が等しい許可を認可することによってアプリケーションの「承認」を決定し得る。
【0050】
図2は、いくつかの実施態様による、コンテンツへのアクセスを提供する方法200を表す流れ図である。方法200は少なくとも部分的にクライアントコンピュータ(例えば、クライアントコンピュータ102)で実行され、クライアントコンピュータは少なくとも1つのプロセッサ及びメモリを有し、メモリはプロセッサによって実行される命令を記憶する。
【0051】
第1の相手に関連付けられたホストアプリケーションが実行される(202)。いくつかの実施態様では、第1の相手はビジネスエンティティ、サーバコンピュータ、及び/又は個人である。いくつかの実施態様では、第1の相手は、ホストアプリケーションを作成し、配信し、且つ/又は提供するコンテンツプロバイダである。いくつかの実施態様では、第1の相手は、コンテンツプロバイダと1人又は複数のコンテンツ所有者及び/又は制作者との間でのライセンス契約の対象であるメディアコンテンツ項目へのアクセスも提供するコンテンツプロバイダである。いくつかの実施態様では、ホストアプリケーションはメディアプレーヤ/ブラウザアプリケーションである(204)。メディアプレーヤアプリケーションにより、ユーザはメディアコンテンツを検索し、提示することができる。いくつかの実施態様では、ホストアプリケーションはオペレーティングシステム内で実行される(206)。いくつかの実施態様では、ホストアプリケーションは、本明細書に記載のように、補足アプリケーションの使用もサポートする。
【0052】
セキュア通信チャネルが、ホストアプリケーションと、第1の相手に関連付けられたサーバとの間で開始される(205)。いくつかの実施態様では、セキュア通信チャネルは、ホストアプリケーションとは別個に実行されるアプリケーションにアクセスすることができない。例えば、セキュア通信チャネルは、ホストアプリケーション(例えば、ホストアプリケーション112)によって開始し、ホストアプリケーションによって制御及び/又は調停を行うことができ、それにより、セキュア通信チャネルを使用して、許可された通信のみを行い得る。これは、不正のアプリケーション又は他のプロセスによるセキュア通信チャネルを使用しての情報の送信又は受信を阻止することを含み得る。いくつかの実施態様では、セキュア通信チャネルはハイパーテキスト転送プロトコルセキュア(HTTPS)を使用する。いくつかの実施態様では、セキュア通信チャネルは、暗号化された通信(例えば、HTTPSプロトコルに従って)を使用する。いくつかの実施態様では、セキュア通信チャネルを開始することは、サーバを認証することを含む(例えば、HTTPSプロトコルに従って)。いくつかの実施態様では、セキュア通信チャネルは、クライアントコンピュータ(例えば、クライアントコンピュータ102)とサーバ(例えば、コンテンツサーバ104)との間での許可されたセッションである。
【0053】
第2の相手に関連付けられた補足アプリケーションが実行される(210)。いくつかの実施態様では、第2の相手は第1の相手とは異なるビジネスエンティティ、サーバコンピュータ、及び/又は個人である。例えば、第1の相手が、音楽コンテンツへのアクセスを提供する(例えば、1つ又は複数のサーバコンピュータから)ビジネスである場合、第2の相手は、コンテンツプロバイダとは異なるビジネスエンティティ、組織、又は個人であり得る。いくつかの実施態様では、第2の相手は、補足アプリケーション(例えば、補足アプリケーション114−n)を作成し、配信し、且つ/又は提供する。いくつかの実施態様では、第1の相手及び第2の相手は異なるビジネスエンティティであり、ホストアプリケーションは第1の相手によって開発され、補足アプリケーションは第2の相手によって開発され、第1の相手によって承認される。
【0054】
いくつかの実施態様では、補足アプリケーションは、ホストアプリケーションの機能を拡張する(212)。例えば補足アプリケーション(例えば、補足アプリケーション114−n)は、ホストアプリケーションでは以前は利用可能ではなかった特徴、機能、又は動作を追加するように構成されるか、又はホストアプリケーションの既に利用可能な特徴、機能、若しくは動作を複製する(若しくは向上させる)。いくつかの実施態様では、補足アプリケーションは、ホストアプリケーションへのプラグインである(214)。いくつかの実施態様では、補足アプリケーションは、ホストアプリケーションが普通ならアクセスするように構成されない追加のコンテンツ及び/又は情報(例えば、歌詞、アルバムアート、情報ページ、コンサートの日程、映画の開始時間等)にアクセスする。いくつかの実施態様では、補足アプリケーションは、ホストアプリケーションと併用されることについて第1の相手によって許可される。いくつかの実施態様では、補足アプリケーションは、ホストアプリケーションと併せてのみ実行することができる(216)。例えば、補足アプリケーションは、実行に関してプログラム的にホストアプリケーションに頼り得る。いくつかの実施態様では、補足アプリケーションは、プレイリストの作成及び管理、メディア提示、ソーシャルネットワークアクセス(読み取り及び/又は書き込みアクセス)等を可能にするような、ホストアプリケーションによって提供されるサービス、プロセス、及び/又は機能を使用する。
【0055】
いくつかの実施態様では、補足アプリケーションは、ホストアプリケーションの1つ又は複数のアプリケーションプログラミングインタフェースを介して、ホストアプリケーション及び第1の相手のうちの一方又は両方のサービスにアクセスする。いくつかの実施態様では、サービスは、コンテンツ項目の提示の開始(例えば、オーディオ/ビデオ再生の開始)、コンテンツ項目の提示の終了(例えば、オーディオ/ビデオコンテンツの停止/一時停止/スキップ)、既存のプレイリストへのコンテンツ項目の追加、既存のプレイリスト内のコンテンツ項目の順序替え、ホストアプリケーションへの新規プレイリストの関連付け(例えば、新規プレイリストが、ホストアプリケーションのGUIにおけるプレイリストのリストに表示されるように)、コンテンツ項目の購入の可能化、コンテンツ項目のトップチャート(及び/又は監督又は管理されたチャート)のリストへのアクセス、コンテンツ項目の編集批評(例えば、バンド、アルバム、歌、ポッドキャスト、書籍、映画、テレビショー、他のビデオ等の批評)へのアクセス、コンテンツ項目の個人推奨へのアクセス、選択されたコンテンツ項目に関連するコンテンツ項目へのアクセス(例えば、選択されたコンテンツ項目と同様のコンテンツ項目のプレイリストへのアクセス、要求、及び/又は初期化)、来るコンサート又はイベントの通知の提供(例えば、現在再生中のアーティストの来るコンサートのリストを表示するために)、コンサート又はイベントについてのプロモーション資料へのアクセス、コンサート又はイベントへのチケットの購入、ゲームの提示の開始、ゲームでの高得点の登録、ゲームでの高得点スコアボードへのアクセス、歌詞へのアクセス、歌詞の追加、編集、又は修正、ソーシャルグラフでのユーザについての情報へのアクセス、ソーシャルネットワークでのフォロアのリストへのアクセス、ソーシャルネットワークでの影響点へのアクセス、ソーシャルネットワークでのステータス通知へのアクセス、ソーシャルネットワークでのステータス通知の掲示、及びソーシャルネットワークでのユーザへのコンテンツ項目のプッシュであるサービスからなる群から選択される。
【0056】
第1の相手にライセンス供与されたコンテンツに、補足アプリケーションを用いてアクセスする(218)。補足アプリケーションは、ライセンス契約の条項の対象であるセキュア通信チャネルを介してライセンス供与されたコンテンツにアクセス可能である。上述したように、コンテンツプロバイダは、コンテンツ所有者及び/又は制作者とのライセンス契約により、コンテンツプロバイダがアクセスすることができるコンテンツ(音楽、映画、テレビショー等)へのアクセスを提供し得る。したがって、補足アプリケーション(例えば、補足アプリケーション114−n)は、ホストアプリケーションを介して、ホストアプリケーションによって開始されるセキュア通信チャネルを使用してコンテンツにアクセスする。いくつかの実施態様では、コンテンツは、サーバからダウンロードされることによってアクセスされる。いくつかの実施態様では、コンテンツは前もって、サーバからクライアントコンピュータシステムにダウンロードされている。
【0057】
いくつかの実施態様では、ライセンス供与されるコンテンツは複数のオーディオファイルを含む(220)。いくつかの実施態様では、ライセンス供与されるコンテンツは複数のビデオファイルを含む(222)。いくつかの実施態様では、方法は、複数のオーディオファイル及び/又はビデオファイルのうちの1つの再生を開始することを含む(224)。いくつかの実施態様では、ライセンス供与されるコンテンツにアクセスすること(218)は、補足アプリケーションによって提供されるアフォーダンスを介して複数のオーディオファイル及び/又はビデオファイルのうちの1つの再生を開始することを含む。いくつかの実施態様では、オーディオ/ビデオファイルは、再生が開始された後、サーバ(例えば、コンテンツサーバ104又はクライアントコンピュータシステム102とは別個の第2のクライアントコンピュータシステム)からクライアントコンピュータ(例えば、クライアントコンピュータ102)にストリーミングされる(226)。
【0058】
いくつかの実施態様では、上述したように、ライセンス供与されるコンテンツは、ホストアプリケーションとは別個に実行されるアプリケーションを利用可能ではない(228)。いくつかの実施態様では、セキュア通信チャネルは、ホストアプリケーションとは別個に実行されるアプリケーションにアクセスすることができない(230)。例えば、ホストアプリケーションは、クライアントコンピュータシステム102によって実行される他のアプリケーション(すなわち、ホストアプリケーションと併せて実行されるように構成された補足アプリケーション114−nではないアプリケーション)に対する、コンテンツプロバイダからのライセンス供与されるコンテンツへのアクセスを許可しない。これは、ホストアプリケーション(例えば、ホストアプリケーション112)と、第1の相手に関連付けられたサーバ(例えば、コンテンツプロバイダ105に関連付けられたコンテンツサーバ104)との間のセキュア通信チャネルへの、他のアプリケーションによるアクセスを阻止することによって達成し得る。
【0059】
図3Aは、いくつかの実施形態による、アプリケーション許可を処理する方法300を表す流れ図である。方法300は少なくとも部分的にクライアントコンピュータ(例えば、クライアントコンピュータ102)で実行され、クライアントコンピュータは少なくとも1つのプロセッサ及びメモリを有し、メモリはプロセッサによって実行される命令を記憶する。
【0060】
ホストアプリケーションが実行される(302)(例えば、ホストアプリケーション112)。いくつかの実施態様では、ホストアプリケーションはメディアプレーヤ/ブラウザアプリケーションである(304)。いくつかの実施態様では、ホストアプリケーションはオペレーティングシステム内で実行される。ホストアプリケーションの例及び属性については上述してある。
【0061】
ユーザから、補足アプリケーションを使用する要求が受信される(306)。いくつかの実施態様では、要求は、補足アプリケーションのユーザ選択に対応する。例えば、ホストアプリケーションは、補足アプリケーション閲覧エリアを有し得、そこでユーザは、ホストアプリケーションと併せて使用する補足アプリケーションの閲覧及び/又は検索を行うことができる。したがって、ユーザは、例えば、アフォーダンスを選択することによって補足アプリケーションを選択し得る。いくつかの実施態様では、アフォーダンスは、「プレビュー」、「使用」、「ダウンロード」、「試行」、「インストール」、「追加」等と記されたボタン又は他の選択可能な要素である。いくつかの実施態様では、アフォーダンスは、ユーザ固有のアプリケーションリストに補足アプリケーションを追加せずに補足アプリケーションを起動させるアイコンである。
【0062】
補足アプリケーションは、第1の組の許可を使用して、ホストアプリケーションと併せて実行される(308)。ホストアプリケーションと併せて補足アプリケーションを実行するいくつかの態様は上述されている。いくつかの実施態様では、第2の組の許可を使用してホストアプリケーションと併せて補足アプリケーションを実行することは、補足アプリケーションから発行される要求及び/又はコマンド(例えば、ホストアプリケーションへのアプリケーションプログラミングインタフェースコールとして)が、第1の組の許可によって許可されるか否かを判断することを含む。いくつかの実施態様では、ホストアプリケーションは、要求及び/又はコマンドが第1の組の許可によって許可されているか否かを判断する。いくつかの実施態様では、コンテンツサーバは、要求及び/又はコマンドが第1の組の許可によって許可されているか否かを判断する。これは、補足アプリケーションが要求及び/又はコマンドをコンテンツサーバに直接(すなわち、ホストアプリケーションが要求及び/又はコマンドを傍受し、且つ/又は制限せずに)発行する場合に実施し得る。
【0063】
いくつかの実施態様では、第1の組の許可は、補足アプリケーションに対する、ユーザのアカウントに関連付けられたデータへの読み取りのみのアクセスを認可する(310)。いくつかの実施態様では、読み取りのみのアクセスにより、補足アプリケーションは、ユーザのアカウントに関連付けられたプレイリスト、プロフィール情報、コンテンツ履歴データ(例えば、再生履歴)、ソーシャルネットワーキング活動(例えば、ユーザへの掲示、ユーザによる掲示、又はユーザについての掲示)、共有メディア項目についてのデータ等を読み取ることができるが、変更することはできない(312)。いくつかの実施態様では、第1の組の許可内の許可は、全ての補足アプリケーションで同じである。
【0064】
ユーザが補足アプリケーションを承認したことが検出される(314)。いくつかの実施態様では、ユーザは、「プレビュー」、「使用」、「ダウンロード」、「試行」、「インストール」、「追加」、「承認」、「お気に入り」等と記されるボタン又は他の選択可能な要素等のアフォーダンスを選択することによって補足アプリケーションを承認する。いくつかの実施態様では、ユーザが補足アプリケーションを承認したことを検出することは、アフォーダンスの選択を受信する(例えば、クライアントコンピュータ102において)ことを含む。いくつかの実施態様では、ユーザが補足アプリケーションを承認したことを検出することは、ユーザが補足アプリケーションを以前に承認したことの表示をコンテンツサーバ(例えば、コンテンツサーバ104)から受信することを含む。
【0065】
検出に応答して、第2の組の許可には補足アプリケーションが関連付けられる(318)。いくつかの実施態様では、第2の組の許可は、ユーザのアカウントに関連付けられたデータへの補足アプリケーションによる読み/書きアクセスを認可する(320)。いくつかの実施態様では、第2の組の許可は、ユーザのアカウントに関連付けられたプレイリストを作成し変更する許可を補足アプリケーションに対して認可する(322)。第2の組の許可は、ユーザの代理としてのソーシャルネットワークへの掲示、他のユーザとのプレイリストの共有等を補足アプリケーションが行えるようにもし得る。
【0066】
補足アプリケーションは、第2の組の許可を使用して実行される(324)。ホストアプリケーションと併せて補足アプリケーションを実行するいくつかの態様は上述してある。第1の組の許可を用いて補足アプリケーションを実行することと同様に、いくつかの実施態様では、第2の組の許可を使用してホストアプリケーションと併せて補足アプリケーションを実行することは、補足アプリケーションから発行される要求及び/又はコマンド(例えば、ホストアプリケーションへのアプリケーションプログラミングインタフェースコールとして)が、第2の組の許可によって許可されるか否かを判断することを含む。いくつかの実施態様では、ホストアプリケーションは、要求及び/又はコマンドが第2の組の許可によって許可されているか否かを判断する。いくつかの実施態様では、コンテンツサーバは、要求及び/又はコマンドが第2の組の許可によって許可されているか否かを判断する。これは、補足アプリケーションが要求及び/又はコマンドをコンテンツサーバに直接(すなわち、ホストアプリケーションが要求及び/又はコマンドを傍受し、且つ/又は制限せずに)発行する場合に実施し得る。
【0067】
方法300は
図3Bに続き、
図3Bは、ユーザの補足アプリケーション及びそれに関連付けられた許可が、ホストアプリケーションの装置及び/又はインタフェースにわたって同期される、方法300の実施態様に関する。例えば、コンテンツプロバイダ(例えば、コンテンツプロバイダ105)は、アカウント情報を記憶し得(例えば、コンテンツサーバ104に)、それにより、ユーザは、様々な異なる装置でホストアプリケーションからのコンテンツにアクセスすることができる。アカウント情報を記憶することにより、ユーザの好み、履歴、プロフィール情報等の情報を、ホストアプリケーションが実行されている装置が何であれ関係なく、ホストアプリケーション112の異なるインスタンスに提供することができる。したがって、ユーザは、あるときに各自のホームコンピュータからコンテンツサーバ104にアクセスし、次に、別のときに各自のスマートフォンからコンテンツサーバ104にアクセスすることができる−いずれの場合でも、記憶された情報を使用して、両方の使用インスタンスに関するユーザ経験を同期することができる。したがって、ユーザのプレイリスト、再生履歴、友人リスト、ソーシャルネットワークアカウント情報、保存された/気に入ったメディアコンテンツ等に、両装置からアクセス可能である。いくつかの実施態様では、ユーザのアカウント情報は、ユーザによってインストールされた補足アプリケーション及び/又はユーザが試行又はプレビューに選択した補足アプリケーションの識別子も含む。次に、ホストアプリケーションの一インスタンスでユーザが選択し、且つ/又はインストールした補足アプリケーションは、ホストアプリケーションの別のインスタンス(例えば、異なる装置)にインストールし、且つ/又はユーザに提供し得る。さらに、ホストアプリケーションがウェブベースの実施態様では、ホストアプリケーションはユーザのアカウント情報−ホストアプリケーションの異なるインスタンスでユーザによって選択され、且つ/又はインストールされた補足アプリケーションを含む−にアクセスすることができ、それらの補足アプリケーションをユーザに提供することができる。例えば、ユーザがウェブベースのホストアプリケーションにログインする場合、ユーザが選択し、且つ/又はインストールした補足アプリケーションはアプリケーションリストに表示され、そのリストからユーザは選ぶことができる。
【0068】
図3Bに戻ると、いくつかの実施態様では、ユーザに関連付けられたアカウント情報は、補足アプリケーションがユーザによって第1のクライアントコンピュータにインストールされたことを示すように更新される(326)。したがって、上述したように、クライアントコンピュータ及び/又はホストアプリケーションは、ユーザのアカウント情報にアクセスして、どの補足アプリケーションをユーザが他のクライアントコンピュータ及び/又はホストアプリケーションにインストールしたかを判断し得る。いくつかの実施態様では、ユーザに関連付けられたアカウント情報は、補足アプリケーションに適用すべき許可を示すように更新される(327)。したがって、コンピュータ及び/又はホストアプリケーションは、アカウント情報にアクセスして、どの補足アプリケーションをインストールすべきか(及びどの許可を補足アプリケーションに関連付けるべきか)を判断する場合、ユーザに関連付けられた他のクライアントコンピュータ及び/又はホストアプリケーションの構成を模倣する。
【0069】
いくつかの実施態様では、インストールされた補足アプリケーションの識別子を含むアカウント情報は、コンテンツプロバイダに関連付けられたサーバ(例えば、コンテンツプロバイダ105のコンテンツサーバ104)に記憶される。第2のクライアントコンピュータシステムにおいて、第2のホストアプリケーションが実行される(328)。いくつかの実施態様では、第2のクライアントコンピュータシステムは、第1のクライアントコンピュータシステムとは別個の任意のコンピュータシステム(例えば、パーソナルコンピュータ、タブレットコンピュータ、スマートフォン、又は第2のホストアプリケーションを実行可能な他の任意の装置)である。いくつかの実施態様では、第2のホストアプリケーションは、第1のホストアプリケーションの別個のインスタンスである(例えば、同じプログラムであるが、異なるコンピュータ又は同じコンピュータの異なるユーザアカウント内で実行されている)。いくつかの実施態様では、第2のホストアプリケーションは、第1のホストアプリケーションと同じであるか、又は同様のコンテンツアクセスを提供するが、異なる装置によって実行されるように構成される。例えば、第1のホストアプリケーションは、パーソナルコンピュータ(例えば、実行中のWINDOWS(登録商標)又はMAC OSオペレーティングシステム)によって実行されるように構成し得、一方、第2のホストアプリケーションは、スマートフォン又はタブレットコンピュータ(例えば、実行中のIOS又はANDROID(登録商標)モバイルオペレーティングシステム)によって実行されるように構成し得る。
【0070】
いくつかの実施態様では、補足アプリケーションが第1のクライアントコンピュータにインストールされたか否かを判断する(330)。上述したように、この情報は、ユーザに関連付けられ、サーバに記憶されるアカウント情報に含め得る。したがって、いくつかの実施態様では、補足アプリケーションが第1のコンピュータにインストールされたか否かを判断することは、コンテンツサーバ(例えば、コンテンツサーバ104)から、ユーザが補足アプリケーションを第1のクライアントコンピュータにインストールしたことの表示を受信することを含む。いくつかの実施態様では、補足アプリケーションに適用すべき許可が決定される(332)。いくつかの実施態様では、補足アプリケーションは第2のクライアントコンピュータにインストールされる(334)。したがって、例えば、第2のホストアプリケーションが開始されると、第2のクライアントコンピュータ及び/又はコンテンツサーバは、どの補足アプリケーションが第1のクライアントコンピュータにインストールされたか、及びどの許可をそれらの補足アプリケーションに適用すべきかを決定する(例えば、コンテンツサーバ104上のユーザのアカウント情報を参考にすることにより)。したがって、ユーザの補足アプリケーションの全て(又はサブセット)が第2の電子装置にインストールされ、「プレビュー」期間である補足アプリケーションは、第1の組の許可を用いてのみ実行され、一方、承認された補足アプリケーションは第2の組の許可を用いて実行される。いくつかの実施態様では、補足アプリケーションは、決定された許可を使用して実行される(例えば、第2のクライアントコンピュータシステムで)(336)。
【0071】
図4は、いくつかの実施態様による、アプリケーション許可を処理する方法400を表す流れ図である。方法400は少なくとも部分的にクライアントコンピュータ(例えば、クライアントコンピュータ102)で実行され、クライアントコンピュータは少なくとも1つのプロセッサ及びメモリを有し、メモリはプロセッサによって実行される命令を記憶する。
【0072】
ホストアプリケーションと併せて実行される補足アプリケーションが受信され、ホストアプリケーション(例えば、ホストアプリケーション112)はライセンス供与されるコンテンツ項目へのアクセスを提供し、ライセンス供与されるコンテンツ項目は、ホストアプリケーションのプロバイダ(例えば、コンテンツプロバイダ105)とコンテンツ項目の所有者(例えば、コンテンツ所有者107)との間でのライセンス契約の対象である(402)。コンテンツライセンス契約並びにライセンス供与されるコンテンツの配信に使用される技術及び方法に対するコンテンツライセンス契約の影響については上述してある。
【0073】
補足アプリケーションに関連付けられた認証ファイルが受信される(404)。いくつかの実施態様では、認証ファイルは暗号化される。いくつかの実施態様では、認証ファイルは暗号署名される。いくつかの実施態様では、認証ファイルは、補足アプリケーションのコンピュータコードのハッシュを暗号化することによって作成される。公開鍵暗号化(すなわち、非対称鍵暗号化)等の暗号化技法が使用されるが、任意の適切な暗号化方式を使用することが可能である。補足アプリケーションの認証ファイルは、コンテンツプロバイダ105が、補足アプリケーション112との併用について補足アプリケーションを承認した後、コンテンツプロバイダ105によって作成し得る。例えば、第三者が、補足アプリケーションを生成し、承認のためにコンテンツプロバイダに提出し得る。承認されると、コンテンツプロバイダはコードのハッシュを作成し、秘密鍵を使用してハッシュを暗号化する。次に、この認証ファイルは、補足アプリケーションと共に配信される。次に、補足アプリケーションが実行されるか、又はインストールされる場合、ホストアプリケーション(及び/又はコンテンツサーバ104)は、コードのリアルタイムハッシュを作成し、公開鍵を使用してハッシュを復号化し、復号化値をリアルタイムハッシュと比較し、値が一致するか否かを判断することができる。一致は、補足アプリケーションが実際に、コンテンツプロバイダによって承認された補足アプリケーションと同じものであることを示す。
【0074】
方法400に戻ると、ホストアプリケーションに関連付けられたリソースへのアクセス要求が検出される(406)。いくつかの実施態様では、要求へのアクセス要求は、補足アプリケーションから発せられる。いくつかの実施態様では、リソースへのアクセス要求は、補足アプリケーションのインストール手順及び/又はその手順の部分に対応する。いくつかの実施態様では、リソースへのアクセス要求は、ライセンス供与されるコンテンツ項目のうちの少なくとも1つへのアクセス要求である。(いくつかの実施態様では、ライセンス供与されるコンテンツ項目のうちの少なくとも1つは、クライアントコンピュータシステムからリモートのサーバに記憶し得、いくつかの実施態様では、クライアントコンピュータシステムに記憶される)。いくつかの実施態様では、リソースへのアクセス要求は、ホストアプリケーションのアプリケーションプログラミングインタフェースへのアクセス要求である。
【0075】
認証ファイルを使用して、補足アプリケーションが、リソースにアクセスする許可を有するか否かが判断される(408)。上述したように、いくつかの実施態様では、これは、認証ファイルからのハッシュ値が、補足アプリケーションのリアルタイムハッシュに一致するか否かを判断することを含む。補足アプリケーションが、リソースにアクセスする許可を有する場合、リソースへのアクセスが提供される(410)。例えば、要求されたコンテンツファイルが、補足アプリケーション及び/又はホストアプリケーションに提供され(例えば、ユーザへの提示、プレイリストへの包含等のために)、ホストアプリケーションは、補足アプリケーションによって発行されるアプリケーションプログラミングインタフェースコール等に応答する。いくつかの実施態様では、リソースにアクセスを提供することは、暗号化通信チャネルを介してリソースへのアクセスを提供すること(412)を含む。上述したように、いくつかの実施態様では、ホストアプリケーションは、コンテンツサーバ(例えば、サーバ104、サーバとして動作している他のクライアントコンピュータ等)との暗号化通信チャネルを制御する。したがって、いくつかの実施態様では、補足アプリケーションがリソース(例えば、コンテンツサーバ104に記憶されているコンテンツ項目)にアクセスする許可を有すると判断される場合、ホストアプリケーションは、補足アプリケーションがコンテンツサーバへの通信を直接発行できるようにする。
【0076】
しかし、補足アプリケーションがリソースへのアクセス許可を有さない場合、リソースへのアクセスは提供されない(414)。いくつかの実施態様では、これにより、補足アプリケーションはホストアプリケーション112にインストールされない。いくつかの実施態様では、これにより、インストールされた補足アプリケーションからの要求は拒絶され、無視され、又は作用されない。
【0077】
図5は、いくつかの実施態様によるクライアントコンピュータ102を示すブロック図である。クライアントコンピュータ102は通常、プログラム(例えば、メモリ510に記憶されたプログラム)を実行する1つ又は複数の処理ユニット(CPU、プロセッサと呼ばれることもある)502と、1つ又は複数のネットワーク又は他の通信インタフェース504と、ユーザインタフェース505と、メモリ510と、これらの構成要素を相互接続する1つ又は複数の通信バス501とを含む。通信バス501は、システム構成要素を相互接続し、システム構成要素間の通信を制御する回路(チップセットと呼ばれることもある)を含み得る。いくつかの実施態様では、ユーザインタフェース505はディスプレイ506及び入力装置507(例えば、キーボード、マウス、タッチスクリーン、キーパッド等)を含む。
【0078】
メモリ510は、DRAM、SRAM、DDR RAM、又は他のランダムアクセス固体状態メモリ装置等の高速ランダムアクセスメモリを含むとともに、通常、1つ又は複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ装置、又は他の不揮発性固体状態記憶装置等の不揮発性メモリを含む。メモリ510は任意選択的に、CPU502からリモートに配置された1つ又は複数の記憶装置を含む。メモリ510又は代替的にメモリ510内の不揮発性メモリ装置は、非一時的なコンピュータ可読記憶媒体を含む。いくつかの実施態様では、メモリ510又はメモリ510のコンピュータ可読記憶媒体は、以下のプログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する:
・様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するプロシージャを含むオペレーティングシステム512、
・1つ又は複数の通信インタフェース504(有線又は無線)と、インターネット、他の広域ネットワーク、ローカルエリアネットワーク、大都市圏ネットワーク等の1つ又は複数の通信ネットワーク108とを介して、クライアントコンピュータ102を他のコンピュータ(例えば、コンテンツサーバ104及び/又は補足アプリケーションサーバ106−n)に接続するのに使用される通信モジュール514、
・入力装置507を介してユーザからコマンドを受信し、表示装置506においてユーザインタフェースオブジェクトを生成するユーザインタフェースモジュール516、
・ユーザが、コンテンツサーバ104、補足アプリケーションサーバ106−n、他のクライアントコンピュータ等に記憶されたリソース(例えば、コンテンツ項目(例えば、メディアコンテンツ)、補足アプリケーション114−n等)にアクセスできるようにするとともに、補足アプリケーション114−nのプラットフォームとして機能するホストアプリケーション112、
・ホストアプリケーション114にインストールされ、且つ/又はホストアプリケーション114と併せて実行されるように構成される1つ又は複数の補足アプリケーション114−n、並びに
・補足アプリケーション114−nが、コンテンツサーバ104及び/又はホストアプリケーション112のリソースにアクセスする許可を有するか否かを判断する補足アプリケーション許可モジュール518。
【0079】
いくつかの実施態様では、上記で識別されたプログラム又はモジュールは、
図1〜
図4を参照して説明されたものを含め、上述した機能又は方法を実行する命令セットに対応する。命令セットは、1つ又は複数のプロセッサ(例えば、CPU502)によって実行することができる。上記で識別されたモジュール又はプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、プロシージャ、又はモジュールとして実施する必要はなく、したがって、これらのプログラム又はモジュールの様々なサブセットを、様々な実施態様において組み合わせることができ、又は他の様式で再構成することができる。いくつかの実施態様では、メモリ510は、上記で識別されたモジュール及びデータ構造のサブセットを記憶する。さらに、メモリ510は、上述されていない追加のモジュール及びデータ構造を記憶し得る。
【0080】
図6は、いくつかの実施形態によるコンテンツサーバ104を示すブロック図である。コンテンツサーバ104は通常、プログラム(例えば、メモリ610に記憶されたプログラム)を実行する1つ又は複数の処理ユニット(CPU、プロセッサと呼ばれることもある)602と、1つ又は複数のネットワーク又は他の通信インタフェース604と、任意選択的なユーザインタフェース605と、メモリ610と、これらの構成要素を相互接続する1つ又は複数の通信バス601とを含む。通信バス601は、システム構成要素を相互接続し、システム構成要素間の通信を制御する回路(チップセットと呼ばれることもある)を含み得る。いくつかの実施態様では、ユーザインタフェース605はディスプレイ606及び入力装置607(例えば、キーボード、マウス、タッチスクリーン、キーパッド等)を含む。
【0081】
メモリ610は、DRAM、SRAM、DDR RAM、又は他のランダムアクセス固体状態メモリ装置等の高速ランダムアクセスメモリを含むとともに、通常、1つ又は複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ装置、又は他の不揮発性固体状態記憶装置等の不揮発性メモリを含む。メモリ610は任意選択的に、CPU602からリモートに配置された1つ又は複数の記憶装置を含む。メモリ610又は代替的にメモリ610内の不揮発性メモリ装置は、非一時的なコンピュータ可読記憶媒体を含む。いくつかの実施態様では、メモリ610又はメモリ610のコンピュータ可読記憶媒体は、以下のプログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する:
・様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するプロシージャを含むオペレーティングシステム612、
・1つ又は複数の通信インタフェース604(有線又は無線)と、インターネット、他の広域ネットワーク、ローカルエリアネットワーク、大都市圏ネットワーク等の1つ又は複数の通信ネットワーク108とを介して、コンテンツサーバ104を他のコンピュータ(例えば、クライアントコンピュータ102及び/又は補足アプリケーションサーバ106−n)に接続するのに使用される通信モジュール614、
・入力装置607を介してユーザからコマンドを受信し、表示装置606においてユーザインタフェースオブジェクトを生成する任意選択的なユーザインタフェースモジュール616、
・コンテンツ項目(例えば、ポッドキャスト、音楽、話された言葉、ラジオショー、映画、テレビショー、ユーザ生成ビデオ、アニメーション、画像、又はこれらのコンテンツタイプの様々な組み合わせ等のメディアコンテンツ項目)を含むコンテンツライブラリ618、
・(各ユーザの)アカウント信用情報(コンテンツプロバイダ104のアカウント及び/又はソーシャルネットワーク及び/又は他のサービス等の他のアカウントを含む)、ユーザプロフィール、ユーザの好み、インストールされた補足アプリケーション114−nの識別子、補足アプリケーション114−nに関連付けられた許可、プレイリスト、再生履歴、リンクされた/お気に入りの/嫌いなコンテンツ項目のリスト、及び/又は他のユーザ情報を含め、コンテンツサーバ104のユーザのアカウント情報を記憶するユーザアカウント情報データベース620、
・補足アプリケーション114−nが、コンテンツサーバ104及び/又はホストアプリケーション112のリソースにアクセスする許可を有するか否かを判断する補足アプリケーション許可モジュール622、並びに
・クライアントコンピュータ102のホストアプリケーション112がアクセス可能な(例えば、ダウンロード、遠隔実行、及び/又はインストールのために)補足アプリケーション624。
【0082】
いくつかの実施態様では、上記で識別されたプログラム又はモジュールは、
図1〜
図4を参照して説明されたものを含め、上述した機能又は方法を実行する命令セットに対応する。命令セットは、1つ又は複数のプロセッサ(例えば、CPU602)によって実行することができる。上記で識別されたモジュール又はプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、プロシージャ、又はモジュールとして実施する必要はなく、したがって、これらのプログラム又はモジュールの様々なサブセットを、様々な実施態様において組み合わせることができ、又は他の様式で再構成することができる。いくつかの実施態様では、メモリ610は、上記で識別されたモジュール及びデータ構造のサブセットを記憶する。さらに、メモリ610は、上述されていない追加のモジュール及びデータ構造を記憶し得る。
【0083】
図7は、いくつかの実施形態による補足アプリケーションサーバ106−nを示すブロック図である。補足アプリケーションサーバ106−nは通常、プログラム(例えば、メモリ710に記憶されたプログラム)を実行する1つ又は複数の処理ユニット(CPU、プロセッサと呼ばれることもある)702と、1つ又は複数のネットワーク又は他の通信インタフェース704と、任意選択的なユーザインタフェース705と、メモリ710と、これらの構成要素を相互接続する1つ又は複数の通信バス701とを含む。通信バス701は、システム構成要素を相互接続し、システム構成要素間の通信を制御する回路(チップセットと呼ばれることもある)を含み得る。いくつかの実施態様では、ユーザインタフェース705はディスプレイ706及び入力装置707(例えば、キーボード、マウス、タッチスクリーン、キーパッド等)を含む。
【0084】
メモリ710は、DRAM、SRAM、DDR RAM、又は他のランダムアクセス固体状態メモリ装置等の高速ランダムアクセスメモリを含むとともに、通常、1つ又は複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ装置、又は他の不揮発性固体状態記憶装置等の不揮発性メモリを含む。メモリ710は任意選択的に、CPU702からリモートに配置された1つ又は複数の記憶装置を含む。メモリ710又は代替的にメモリ710内の不揮発性メモリ装置は、非一時的なコンピュータ可読記憶媒体を含む。いくつかの実施態様では、メモリ710又はメモリ710のコンピュータ可読記憶媒体は、以下のプログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する:
・様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するプロシージャを含むオペレーティングシステム712、
・1つ又は複数の通信インタフェース704(有線又は無線)と、インターネット、他の広域ネットワーク、ローカルエリアネットワーク、大都市圏ネットワーク等の1つ又は複数の通信ネットワーク108とを介して、補足アプリケーションサーバ106−nを他のコンピュータ(例えば、クライアントコンピュータ102、ウェブサーバ104、トークンサーバ502、及び/又はDNSサーバ114)に接続するのに使用される通信モジュール714、
・入力装置707を介してユーザからコマンドを受信し、表示装置706においてユーザインタフェースオブジェクトを生成する任意選択的なユーザインタフェースモジュール716、
・クライアントコンピュータ102のホストアプリケーション112及び/又はコンテンツサーバ104がアクセス可能な(例えば、ダウンロード、遠隔実行、及び又はインストールのために)補足アプリケーション114−n、並びに
・そのサーバに関連付けられた補足アプリケーション114−nが、実行時にアクセスし、ダウンロードし、変更し、又は他の様式で使用し得る追加の情報記憶装置718。
【0085】
いくつかの実施態様では、追加の情報718は、補足アプリケーションサーバ106−nに関連付けられた補足アプリケーション114−nが使用するか、又は頼る任意の情報を含む。例えば、補足アプリケーションは、ホストアプリケーション112で再生中の歌の歌詞を表示させ得る。それらの歌詞は、補足アプリケーションサーバ106−nの追加の情報記憶装置718に記憶し得る。追加の情報記憶装置718に記憶し得る他の情報としては、例えば、ユーザのアカウント情報(例えば、ログイン信用情報、ユーザプロフィール情報等)、批評(例えば、音楽、映画、テレビ、又は他のコンテンツの編集者批評)、ユーザ再生履歴、プレイリスト、ソーシャル活動等が挙げられるが、これらに限定されない。
【0086】
いくつかの実施態様では、上記で識別されたプログラム又はモジュールは、
図1〜
図4を参照して説明されたものを含め、上述した機能又は方法を実行する命令セットに対応する。命令セットは、1つ又は複数のプロセッサ(例えば、CPU702)によって実行することができる。上記で識別されたモジュール又はプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、プロシージャ、又はモジュールとして実施する必要はなく、したがって、これらのプログラム又はモジュールの様々なサブセットを、様々な実施態様において組み合わせることができ、又は他の様式で再構成することができる。いくつかの実施態様では、メモリ710は、上記で識別されたモジュール及びデータ構造のサブセットを記憶する。さらに、メモリ710は、上述されていない追加のモジュール及びデータ構造を記憶し得る。
【0087】
図5〜
図7はクライアントコンピュータ及びサーバコンピュータを示すが、これらの図は、本明細書に記載される実施態様の構造的概略としてよりも、これらのコンピュータに存在し得る様々な特徴の機能的説明として意図される。実際には、当業者に認識されるように、別個に示されるアイテムは組み合わせることができ、いくつかのアイテムを分離することができる。例えば、
図5〜
図10に別個に示されるいくつかのアイテムは、単一モジュール又はデータ構造で実施することができる。
【0088】
本明細書において単数形として説明される構成要素、動作、又は構造の複数形を提供することもできる。最後に、様々な構成要素、動作、及びデータ記憶装置間の境界はいくらか任意のものであり、特定の動作は、特定の例示的な構成の状況で示される。機能の他の割り振りが考えられ、実施態様の範囲内にあり得る。一般に、構成例において別個の構成要素として提示された構造体及び機能は、結合された構造体又は構成要素として実施することもできる。同様に、単一の構成要素として提示される構造体及び機能は別個の構成要素として実施することもできる。これら及び他の変形、変更、追加、及び改良が、記載される実施態様の範囲内にある。
【0089】
上記説明は、説明のために、特定の実施態様を参照して説明された。しかし、上記の例示的な考察は、包括的であることを意図されず、すなわち、開示される概念を開示される厳密な形態に限定する意図はない。上記教示に鑑みて、多くの変更及び変形が可能である。実施態様は、開示される概念の原理及び実際用途を最良に説明し、それにより、意図される特定の用途に合うように様々な変更を用いて様々な実施形態で当業者が最良に利用できるようにするために選ばれ、説明された。
【0090】
さらに、上記説明では、例示される概念の完全な理解を提供するために、多くの特定の詳細が記載されている。しかし、これらの特定の詳細なしでこれらの概念を実施し得ることが当業者には明らかだろう。他の場合では、当業者に周知の方法、手順、構成要素、及びネットワークは、本明細書に提示される概念の態様を曖昧にしないように、詳述していない。
【0091】
「第1の」、「第2の」等の用語を、本明細書において、様々な要素を説明するために使用し得るが、これらの用語がこれらの用語によって限定されるべきではないことも理解されるだろう。これらの用語は、ある要素を別の要素から区別するためだけに使用される。「第1のサーバ」の全ての発生が、一貫して名称変更され、「第2のサーバ」の全ての発生が一貫して名称変更される限り、説明の意味を変更せずに、例えば、第1のサーバを第2のサーバと呼ぶことができ、同様に、第2のサーバを第1のサーバと呼ぶことができる。
【0092】
さらに、本明細書で使用される用語は、特定の実施態様を説明するためだけを目的とし、特許請求の範囲の限定を意図しない。実施形態及び添付の特許請求の範囲の説明で使用されるように、単数形「a」、「an」、及び「the」は、文脈により明らかに別のことが示される場合を除き、複数形も同様に包含することが意図される。本明細書で使用される場合、「及び/又は」という用語が、関連付けられ、列挙された項目のうちの1つ又は複数の可能なありとあらゆる組み合わせを指し、包含することも理解されるだろう。本明細書で使用される場合、「含む」及び/又は「含んでいる」という用語が、述べられる特徴、整数、ステップ、動作、要素、及び/又は組み合わせの存在を指定するが、1つ又は複数の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそのグループの存在又は追加を除外しないことが更に理解されるだろう。
【0093】
最後に、本明細書で使用される場合、「場合」という用語は、文脈に応じて、先行して述べられた条件が、真である「とき」、真で「あると」、真であるとの「判断に応答して」、真であるとの「判断に従って」、又は真であることの「検出に応答して」を意味するものとして解釈し得る。同様に、「(先行して述べられた条件が真であると)判断される場合」、「(先行して述べられた条件が真である)場合」、又は「(先行して述べられた条件が真である)とき」という語句は、文脈に応じて、先行して述べられた条件が、真であると「判断されると」、真であるとの「判断に応答して」、真であるとの「判断に従って」、真であることが「検出されると」、又は真であることの「検出に応答して」を意味するものと解釈し得る。