(57)【要約】  メディアサーバは、ネットワークを介してクライアントにメディアアイテムを提供する。場合によっては、ネットワークの制限されたネットワークパフォーマンスが、メディアアイテムのストリーミングまたはオンデマンドダウンロードを実行不可能にする。このような場合には、メディアサーバは、ネットワークパフォーマンスが許す限りダウンロードのためにクライアントにメディアアイテムを自動的に提供する。メディアアイテムは、クライアントのユーザのアクティビティを中断することなく、および、ユーザによる能動的なモニタリングまたは監視を行うことなく、クライアントに提供され得る。クライアントは、提供されたメディアアイテムを提示する準備が整うとユーザに通知を発行し得るし、クライアントは、ユーザが消費するためにメディアアイテムを提示し得る。
2018527658.tif 000002
【特許請求の範囲】
【請求項１】
制限されたネットワークパフォーマンスを有する環境においてクライアントデバイス上にメディアアイテムをダウンロードして記憶するための方法であって、前記方法は、
クライアントデバイスにおいて、メディアアイテムをダウンロードして記憶するように前記クライアントデバイスに命令するサーバからのコマンドを受信するステップであって、前記コマンドは、メディアサーバと前記クライアントデバイスとに接続しているネットワークが制限されたネットワークパフォーマンスと一致する特性を有していると検出したことに応じて、前記クライアントデバイスに送信される、ステップと、
前記コマンドに応じて、前記メディアアイテムを前記サーバから前記クライアントデバイスに自動的にダウンロードするステップであって、前記ダウンロードするステップは、前記クライアントデバイス上のユーザアクティビティを中断しないプロセスとして生じる、ステップと、
前記クライアントデバイス上で前記メディアアイテムを提示する準備が整ったことを示す前記クライアントデバイス上の通知を発行するステップと
を含む、方法。
【請求項２】
前記制限されたネットワークパフォーマンスと一致する特性は、制限された帯域幅、制限されたスループット、遅延、ジッター、およびエラーレートのうちの少なくとも1つである、請求項1に記載の方法。
【請求項３】
前記通知を発行するステップは、特定のパーセンテージの前記メディアアイテムが前記サーバからダウンロードされたと決定し、前記決定に応じて前記通知を発行するステップを含む、請求項1に記載の方法。
【請求項４】
前記通知を発行するステップは、前記クライアントデバイスが特定の地理的エリア内にあると決定し、前記決定に応じて前記通知を発行するステップを含む、請求項1に記載の方法。
【請求項５】
前記通知を発行するように前記クライアントデバイスに命令する前記サーバからの第2のコマンドを受信するステップであって、前記通知は、前記第2のコマンドを受信したことに応じて発行される、ステップをさらに含む、請求項1に記載の方法。
【請求項６】
前記サーバからの前記コマンドは、通知条件を規定する第2の部分を含み、前記通知を発行するステップは、前記通知条件に従って生じる、請求項1に記載の方法。
【請求項７】
前記ネットワークを介して前記サーバから前記クライアントデバイスへと通過するデータのスループットのレートは、前記クライアントデバイス上に前記メディアアイテムをストリーミングし、並行して提示するのに必要なレートより遅い、請求項1に記載の方法。
【請求項８】
前記メディアアイテムの提示を開始する前記クライアントデバイスのユーザからの要求を受信するステップと、
前記クライアントデバイス上に前記メディアアイテムを提示するステップと
をさらに含む、請求項1に記載の方法。
【請求項９】
制限されたネットワークパフォーマンスを有する環境においてクライアントデバイスにメディアアイテムを提供するための方法であって、前記方法は、
サーバとクライアントデバイスとに接続しているネットワークが制限されたネットワークパフォーマンスと一致する特性を有していると検出するステップであって、前記検出に応じて、
前記クライアントデバイスに提供するためにメディアアイテムを自動的に選択することと、
コマンドを前記クライアントデバイスに送信することであって、前記コマンドは、前記メディアアイテムをダウンロードして記憶するように前記クライアントデバイスに命令する、送信することと
をする、ステップと、
前記クライアントデバイスから、前記メディアアイテムをダウンロードする要求を受信するステップと、
前記要求に応じて前記メディアアイテムを前記クライアントデバイスに送信するステップと
を含む、方法。
【請求項１０】
第2のコマンドを前記クライアントデバイスに送信するステップであって、前記第2のコマンドは、前記クライアントデバイス上で前記メディアアイテムを提示する準備が整ったことを示す通知を発行するように前記クライアントデバイスに命令する、ステップをさらに含む、請求項9に記載の方法。
【請求項１１】
前記制限されたネットワークパフォーマンスと一致する特性は、制限された帯域幅、制限されたスループット、遅延、ジッター、およびエラーレートのうちの少なくとも1つである、請求項9に記載の方法。
【請求項１２】
前記ネットワークを介して前記サーバから前記クライアントデバイスへと通過するデータのスループットのレートは、前記クライアントデバイス上に前記メディアアイテムをストリーミングし、並行して提示するのに必要なレートより遅い、請求項9に記載の方法。
【請求項１３】
前記サーバからの前記コマンドは、前記クライアントデバイス上で前記メディアアイテムを提示する準備が整ったことを示す通知を発行するように前記クライアントデバイスに命令する第2の部分を含む、請求項9に記載の方法。
【請求項１４】
前記コマンドの前記第2の部分は、前記クライアントデバイスが特定のパーセンテージの前記メディアアイテムが前記サーバからダウンロードされたと決定したことに応じて、前記通知を発行するように前記クライアントデバイスに命令する、請求項13に記載の方法。
【請求項１５】
制限されたネットワークパフォーマンスを有する環境においてクライアントデバイス上にメディアアイテムをダウンロードして記憶するための命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されると前記プロセッサに、
クライアントデバイスにおいて、メディアアイテムをダウンロードして記憶するように前記クライアントデバイスに命令するサーバからのコマンドを受信することであって、前記コマンドは、メディアサーバと前記クライアントデバイスとに接続しているネットワークが制限されたネットワークパフォーマンスと一致する特性を有していると検出したことに応じて、前記クライアントデバイスに送信される、受信することと、
前記コマンドに応じて、前記メディアアイテムを前記サーバから前記クライアントデバイスに自動的にダウンロードすることであって、前記ダウンロードすることは、前記クライアントデバイス上のユーザアクティビティを中断しないプロセスとして生じる、ダウンロードすることと、
前記メディアアイテムがダウンロードされたことに応じて、前記クライアントデバイス上で前記メディアアイテムを提示する準備が整ったことを示す前記クライアントデバイス上の通知を発行することと
をさせるように構成される、コンピュータ可読記憶媒体。
【請求項１６】
前記制限されたネットワークパフォーマンスと一致する特性は、制限された帯域幅、制限されたスループット、遅延、ジッター、およびエラーレートのうちの少なくとも1つである、請求項15に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記通知を発行することは、特定のパーセンテージの前記メディアアイテムが前記サーバからダウンロードされたと決定し、前記決定に応じて前記通知を発行することを含む、請求項15に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記通知を発行することは、前記クライアントデバイスが特定の地理的エリア内にあると決定し、前記決定に応じて前記通知を発行することを含む、請求項15に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記通知は、前記通知を発行するように前記クライアントデバイスに命令する前記サーバからの第2のコマンドを受信したことに応じて発行される、請求項15に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記ネットワークを介して前記サーバから前記クライアントデバイスへと通過するデータのスループットのレートは、前記クライアントデバイス上に前記メディアアイテムをストリーミングし、並行して提示するのに必要なレートより遅い、請求項15に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、制限されたネットワークパフォーマンスを有する環境においてコンピュータデバイス上に提示を目的としてメディアコンテンツを提供することに関し、より具体的には、ネットワーク特性が許す限りユーザアクティビティを中断することなく、コンピュータデバイス上にメディアアイテムを自動的にダウンロードして記憶し、メディアアイテムが提示に関して利用可能である場合にはユーザに通知することに関する。
【背景技術】
【０００２】
ビデオストリーミングウェブサイトおよび他のメディアサーバは、ユーザがメディアコンテンツの無数のアイテム(メディアアイテム)にアクセスすることを可能にしている。高いユーザの順調な動作が、コンテンツクリエータ、広告主、およびメディアサーバの他の加入者の重要な目的である。そのため、ユーザが可能な限り多くのビデオを視聴することが望ましい。
【０００３】
多くのユーザが、制限されたネットワークパフォーマンスを有するエリアに位置している。例えば、ユーザは、ある時間またはロケーションにおいてのみネットワーク接続性を有する場合がある。さらに、ユーザがネットワーク接続性を有している際に、ネットワークが、コンテンツを効率的にストリーミング(同時に閲覧およびダウンロード)するには十分な帯域幅またはスループットを有していない場合がある。それゆえ、視聴セッションは、接続性が十分ある場合にはある時間およびロケーションに制限されることになり得るし、一部のユーザは、メディアアイテムを全く消費できなくなり得る。このことは、標準以下のユーザエクスペリエンスをもたらすことになり、ユーザに視聴セッションを中止させることになり得る。
【発明の概要】
【課題を解決するための手段】
【０００４】
特許請求の範囲に記載の手段により課題を解決する。
【図面の簡単な説明】
【０００５】
【図１Ａ】ある実施形態による、制限されたネットワークパフォーマンスを有する環境においてクライアントにメディアアイテムを提供し、クライアント上でメディアアイテムを提示する準備が整ったことをクライアントのユーザに通知するためのコンピューティング環境の図である。
【図１Ｂ】ある実施形態による、制限されたネットワークパフォーマンスを有する環境においてクライアントにメディアアイテムを提示するためのメディアサーバの図である。
【図１Ｃ】ある実施形態による、メディアアイテムをダウンロードして記憶し、通知を発行するための例示的なクライアントコンピュータデバイスの図である。
【図２】制限されたネットワークパフォーマンスを有する環境においてクライアントにメディアアイテムを提供するようにメディアサーバによって行われる例示的なプロセスのためのステップのフローチャートである。
【図３】提示のためにメディアアイテムを受信し、それに応じて、制限されたネットワークパフォーマンスを有する環境においてクライアントのユーザに通知を発行するようにクライアントによって行われる例示的なプロセスのためのステップのフローチャートである。
【図４】一実施形態において本明細書に記載の1つまたは複数のエンティティのうちの一部またはすべてとして使用されるコンピュータの物理コンポーネントを図示するハイレベル・ブロック図である。
【発明を実施するための形態】
【０００６】
図面および以下の説明は、例示のみのために例示的な実施形態に関する。以下の記載から、本明細書に開示の構造および方法の代替の実施形態が、請求していることの原理から逸脱することなく採用され得る実行可能な代替として、容易に認識されるであろうことに留意されたい。
【０００７】
I. 構成概要
メディアサーバは、ネットワークを介してクライアントにメディアアイテムを提供する。場合によっては、ネットワークの制限されたネットワークパフォーマンスが、メディアアイテムのストリーミングまたはオンデマンドダウンロードを実行不可能にする。このような場合には、メディアサーバは、ネットワークパフォーマンスが許す限りクライアントにメディアアイテムを自動的に提供し得る。メディアアイテムは、クライアントのユーザのアクティビティを中断することなく、および、ユーザによる能動的なモニタリングまたは監視を行うことなく、クライアントに提供され得る。クライアントは、提供されたメディアアイテムを提示する準備が整うとユーザに通知を発行し得るし、クライアントは、ユーザが消費するためにメディアアイテムを提示し得る。
【０００８】
メディアサーバは、ネットワークの制限されたネットワークパフォーマンスを示す1つまたは複数の特性を検出し得る。メディアサーバのメディア配信モジュールは、メディアアイテムを自動的に選択して、ネットワークパフォーマンスが許す限りクライアントに提供し得る。メディアサーバのコマンドモジュールは、メディアアイテムを自動的にダウンロードして記憶するようにクライアントにダウンロードコマンドを発行し得る。コマンドモジュールは、加えて、クライアント上でメディアアイテムを提示する準備が整うと通知を発行するようにクライアントに通知コマンドを発行し得る。メディアサーバのメディア配信モジュールは、メディアデータストアからメディアアイテムを読み出し、ネットワークパフォーマンスが許す限りクライアントにメディアアイテムを提供し得る。
【０００９】
クライアントのメディアプレーヤアプリケーションは、クライアントに、メディアアイテムを自動的にダウンロードして記憶し、クライアント上でメディアアイテムを提示する準備が整うと通知を発行するように命令する、メディアサーバからの1つまたは複数のコマンドを受信する。クライアントは、ネットワークパフォーマンスが許す限りクライアントメディアデータストアにメディアアイテムを自動的にダウンロードして記憶する。コマンドを受信しメディアアイテムをダウンロードして記憶することは、ユーザアクティビティを中断することなく、または、ユーザがモニタリングすることを要求することなく、バックグラウンドプロセスとして自動的に生じる。クライアントの通知モジュールは、クライアント上でメディアアイテムを提示する準備が整うと通知を発行する。メディアプレーヤアプリケーションは、メディアアイテムを提示するクライアントのユーザからの要求を受信したことに応じて、クライアント上にメディアアイテムを提示する。
【００１０】
II. コンピューティング環境
図1Aは、ある実施形態による、制限されたネットワークパフォーマンスを有する環境においてクライアント110にメディアアイテムを提供し、クライアント上でメディアアイテムを提示する準備が整ったことをクライアントのユーザに通知するためのコンピューティング環境を図示している。環境は、メディアサーバコンピュータ120にネットワーク150によって接続されるクライアントコンピュータデバイス110を含む。図1は、1つのクライアント110および1つのメディアサーバ120を図示しているが、これらのエンティティの各々について複数のインスタンスが存在していてもよい。例えば、複数のメディアサーバ120と通信している数千または数万のクライアント110が存在していてもよい。
【００１１】
ネットワーク150は、有線および無線の双方の通信システムを使用する、ローカルエリアおよび/もしくはワイドエリアネットワーク、インターネット、または1つまたは複数のイントラネットの任意の組合せを含み得る。様々な実施形態において、ネットワーク150のネットワークパフォーマンスは、ネットワークまたはクライアント110の特性によって制限され得る。制限されたネットワークパフォーマンスは、帯域幅制限、スループット制限、遅延、ジッター、およびエラーレートによって特徴付けられ得る。制限されたネットワークパフォーマンスは、例えば、ネットワークが、低帯域幅有線ネットワーク、2G、3G、EDGEなどといったセルラネットワーク、低品質WIFIネットワーク、または衛星または航空機によって提供される無線ネットワークである場合には、ネットワーク150の特性に起因し得る。制限されたネットワークパフォーマンスはまた、例えば、クライアントが、制限されたネットワーク接続性能を有する、不良なネットワーク受信状況のエリアに位置する、または、ネットワークアクセスを提供しているネットワークハブからかなりの距離に位置している場合には、クライアント110の特性に起因し得る。
【００１２】
制限されたネットワークパフォーマンスの結果として、メディアアイテムを、ストリーミングまたはオンデマンドダウンロードにとって十分速くクライアントに提供することができない。例えば、メディアアイテムを、ユーザが途切れることなくそれを消費する(例えば、閲覧する、聞く、またはその両方)ことができるように、クライアントがメディアを提供するのに必要な表示速度(フレームレート)を維持するくらい十分速くダウンロードすることができない。制限されたネットワークパフォーマンスを有する環境においてクライアント110にメディアアイテムを提供するために、メディアサーバ120は、ネットワークパフォーマンスが許す限り、メディアアイテムをクライアントに自動的に提供し得るし、クライアント110は、バックグラウンドにメディアアイテムをダウンロードして記憶し、メディアアイテムがダウンロードされると、メディアアイテムを提示する準備が整ったことを示すユーザへの通知を発行し得る。
【００１３】
II.A. 例示的なメディアサーバ
図1Bは、ある実施形態による、制限されたネットワークパフォーマンスを有する環境においてクライアント110にメディアアイテムを提供するためのメディアサーバ120を図示している。メディアサーバ120は、メディアアイテムをクライアント110に提供する1つまたは複数のコンピュータサーバを含む。メディアサーバ120は、例えば、ビデオストリーミングウェブサイト(例えば、YouTube(登録商標))であり得る。メディアアイテムは、様々なタイプ(例えば、ビデオメディアアイテムまたはオーディオメディアアイテムなど)、フォーマット(4:3のアスペクト比、16:9のアスペクト比など)であり得るし、様々な技法(H.264、MPEGなど)を使用して符号化/圧縮され得る。メディアアイテムは、広告を含み得る。メディアアイテムは、メディアサーバ120のメディアデータストア128に記憶され得る。実施形態にもよるが、メディアデータストア128は、1つまたは複数のタイプの非一時的コンピュータ可読持続的記憶媒体を含み得る。
【００１４】
メディアサーバ120は、メディアアイテムに関連する情報を、例えば、メディアデータストア128に、保持する。メディアアイテムに関連する情報は、メディアアイテム識別子(ID)、メディアアイテムアドレス、およびメディアアイテムに関連付けられたメタデータを含み得る。メディアアイテムIDは、メディアアイテムを一意に識別する。メディアアイテムアドレスは、メディアアイテムが物理的に記憶されるとともにそこからダウンロードまたはストリーミングされ得るコンピュータネットワークアドレスである。メディアアイテムの物理ストレージロケーションは、メディアサーバ120に関連付けられたクライアント110のサブセットに近接している地理的領域に位置するメディアサーバ120の特定のインスタンスであり得る。例えば、一つは日本、もう一つは中国、もう一つはインドなどに位置する、メディアサーバ120の複数の独立したインスタンスが存在していてもよい。メタデータは、メディアアイテムの異なる態様を記述する。メタデータは、例えば、作者、出版日、レビュー、ジャンル情報、パブリッシャ、レーティング、およびメディアアイテム識別子を含み得る。広告については、メディアアイテムに関連する情報は、保存されているユーザ情報に基づいて特定のユーザに広告を配信するためのパラメータを含む、広告情報をさらに含み得る。
【００１５】
メディアサーバ120内のアカウントモジュール126は、ユーザがメディアサーバ120でアカウントを管理することを可能にする。アカウントモジュール126は、さらに、メディアサーバ120に関連するユーザのアクティビティに対応するユーザ情報を受信および記憶する。ユーザ情報は、提供されたメディアアイテムに関するビューカウントおよびレーティングを含む、ユーザに関連付けられたクライアントデバイス110に関する情報(例えば、デバイスのタイプ、ネットワーク特性および性能、デバイスロケーション、デバイスストレージ情報など)、ユーザに関連付けられた1つまたは複数のクライアント110に提供されるメディアアイテムの識別子、ユーザプリファレンス、およびユーザに関連付けられた再生データを含み得る。ユーザ情報は、図1Cを参照して以下に定義および記載しているように、通知プリファレンスをさらに含み得る。ユーザ情報および他のアカウント情報は、メディアサーバ120のアカウントデータストア130に記憶され得る。実施形態にもよるが、アカウントデータストア130は、1つまたは複数のタイプの非一時的コンピュータ可読持続的記憶媒体を含み得る。
【００１６】
メディア配信モジュール122は、メディアアイテムをクライアント110に提供する。メディア配信モジュール122は、クライアント110からメディアアイテム要求を受信し、メディアデータストア128からメディアアイテムを読み出してクライアントに提供する。メディア配信モジュール122は、ストリーミングおよび並行提示のために、または、後で提示することを目的としたダウンロードおよび記憶のために、クライアント110にメディアアイテムを提供し得る。制限されたネットワークパフォーマンスを有する状況においては、メディア配信モジュール122は、メディアアイテムをクライアント110に自動的に提供する。メディア配信モジュール122は、以前提供されたメディアアイテムおよびユーザプリファレンスなどといったユーザ情報に基づいて、メディアアイテムを自動的に選択し得る。選択されたメディアアイテムが、クライアント110に自動的に提供されるとともに、ユーザによる要求もなくおよびユーザがプロセスを能動的に監視またはモニタリングすることもなく発生するバックグラウンドプロセスとしてクライアント110によって記憶され得る。ユーザは、図1Cおよび3を参照して以下により詳細に記載しているように、メディアアイテムを再生する準備が整うと通知され得る。
【００１７】
メディアアイテムをクライアント110に提供するための方法を決定するために、メディア配信モジュール122は、クライアント110およびネットワーク150のネットワーク特性を分析して、クライアント110がメディアアイテムをストリーミングおよび並行して提示することができるかどうかを決定し得る。このことは、継続的に、または特定の間隔で、発生し得る。メディア配信モジュール122は、クライアント110に送信するためにメディアアイテムを準備してもよい。メディアアイテムを準備することは、例えば、符号化すること、圧縮すること、メディアアイテムフォーマットを変更すること、およびデータ構造を変更すること(例えば、ストリーミングまたはダウンロードするためにパケットに分割すること)を含み得る。準備は、メディアアイテムをクライアントに提供するために使用される方法に応じて変化し得る。例えば、高帯域幅の状況においては、より高品質の符号化および圧縮スキームを使用してもよい一方で、制限された帯域幅状況においては、より低品質の符号化および圧縮スキームを使用してもよい。
【００１８】
上述したように、メディア配信モジュール122は、メディアアイテムを自動的に選択して、制限されたネットワークパフォーマンスを有する状況においてクライアント110に提供し得る。メディア配信モジュール122は、以前消費したメディアアイテム、メディアアイテムのレーティング、または他のプリファレンスなどといった、クライアント110のユーザのユーザ情報に基づいて、メディアアイテムを選択し得る。例えば、ユーザがあるジャンルにおいてメディアアイテムを以前視聴して高いレーティングを付けていた場合には、そのジャンルからメディアアイテムを選択してもよい。メディアアイテムはまた、他のユーザ(例えば、同一の地理的エリア内にいる、類似したユーザなど)のユーザ情報、または広告情報などといった、メディアサーバ120上に記憶されている他の情報を使用して選択されてもよい。メディアアイテムはまた、例えば、ある好ましいジャンルまたは選択されたメディアアイテムに関する他の好ましい特性を示す、アカウントデータストア130に記憶されているユーザプリファレンスに基づいて、選択されてもよい。
【００１９】
メディアサーバ120のコマンドモジュール124は、コマンドを生成しクライアント110に送信する。コマンドは、例えば、クライアント110に、選択されたメディアアイテムを自動的にダウンロードして記憶し、クライアント110のユーザに通知を発行するように命令する、メディアサーバ120によってクライアント110に送信される命令である。コマンドは、ダウンロードが完了するまでユーザを煩わせることなく、メディアアイテムをクライアント110上のバックグラウンドに自動的にダウンロードすることができるように、制限されたネットワーク状況においてクライアント110にメディアアイテムを提供するのに役立つ。通知は、例えば、ダウンロードし終えたメディアアイテムを提示する準備が整ったことをユーザに示し得るし、図1C、2、および3を参照して以下に詳細に記載している。特定のメディアアイテムに関するユーザの明示的な入力がなくても事前にダウンロードし、それらがデバイスに既にダウンロードされている場合にのみそれらを通知することによって、メディアサーバ120は、制限されたネットワーク可用性によって妨げられることがない、改善されたメディア消費体験をユーザに提供することを可能にしている。
【００２０】
II.B. 例示的なクライアントコンピュータデバイス
クライアント110は、ユーザがオーディオおよび/またはビデオメディアアイテムデータを消費することを可能にするコンピュータプログラム命令、例えば、ウェブブラウザ、電子ブックリーダ、メディアプレーヤ、または他のクライアントソフトウェアアプリケーションを実行する、コンピュータデバイスである。クライアント110は、例えば、パーソナルコンピュータ、タブレットコンピュータ、スマートフォン、ラップトップコンピュータ、少なくともオーディオ再生機能を含む専用電子リーダ、またはネットワーク接続されたテレビまたはセットトップボックスなどといった他のタイプのネットワーク対応デバイスであってもよい。
【００２１】
図1Cは、ある実施形態による、メディアアイテムをダウンロードして記憶し、通知を発行するための例示的なクライアントコンピュータデバイス110を図示している。メディアプレーヤアプリケーション114は、メディアサーバ120から受信したメディアアイテムをクライアントのユーザに提示する。メディアプレーヤアプリケーション114は、クライアント110を操作するユーザにメディアアイテムを提示するためにクライアント110のプロセッサによって実行されたソフトウェアアプリケーションであり得る。メディアプレーヤアプリケーション114は、クライアント110のオペレーティングシステムと連動して実行し得る。ある実施形態においては、メディアプレーヤアプリケーション114は、メディアサーバ120と特に連携するように設計された専用のソフトウェアアプリケーションである。別の実施形態においては、メディアプレーヤアプリケーション114は、多くのタイプのコンテンツにアクセスするためのウェブブラウザなどといったより汎用的なアプリケーションを介して提供される。ブラウザは、例えば、ウェブインターフェースを介して、メディアサーバ120へのアクセスを提供し得る。
【００２２】
メディアプレーヤアプリケーション114は、クライアント110上で要求メディアアイテムを提示するためにメディアサーバ120に要求メッセージを送信し、それに応じてメディアサーバからメディアアイテムを受信する。要求メッセージは、例えば、ユーザが特定のメディアアイテムを消費することを望んでいることを示すユーザ入力に応じて、送信されてもよい。本実施形態においては、メディアアイテムは、メディアサーバ120からストリーミングされ、クライアント110上に並行して表示され得る。
【００２３】
図1Aを参照して上述したように、いくつかの状況においては、メディアアイテムの並行したストリーミングと表示とが、制限されたネットワークパフォーマンスに起因して実行不可能となる。並行したストリーミングおよび表示が実行不可能である場合にクライアント110のユーザがメディアアイテムを消費できるように、メディアプレーヤアプリケーション114は、選択されたメディアアイテムを自動的にダウンロードして記憶し、メディアアイテムを提示する準備が整うとユーザに通知し得る。図1Bを参照して上述したように、自動ダウンロードは、ユーザが特にダウンロードを要求したりダウンロードプロセスを能動的に監視またはモニタリングしたりすることがなくても、クライアント110上のバックグラウンドプロセスとして生じる。結果として、クライアント110上のユーザのアクティビティが、自動ダウンロードによって中断または変更されることはない。
【００２４】
ある実施形態においては、メディアプレーヤアプリケーション114がメディアサーバ120からメディアアイテムをダウンロードするダウンロードコマンドを受信すると、自動ダウンロードがクライアント110上で開始する。メディアプレーヤアプリケーション114は、ユーザ入力なしにメディアサーバ120に要求メッセージを自動的に送信する。ダウンロードコマンドは、いつまたはどのような状況でクライアントがメディアアイテムをダウンロードすべきかを指定し得る。ダウンロードコマンドは、クライアントに、特定の時間に、特定のネットワーク条件下で、他のメディアアイテムがダウンロードされた後に、メディアアイテムを消費し終えた後に、または、ユーザによって指定された条件に従って、メディアアイテムを自動的にダウンロードして記憶するように命令し得る。ユーザは、クライアント110がWIFIネットワークに接続されている場合にはクライアントがメディアアイテムをダウンロードのみをし、クライアントがセルラデータネットワークに接続されている場合にはダウンロードしないことを指定し得る。メディアアイテムは、ネットワークパフォーマンスが許す限り(例えば、ネットワーク接続性または帯域幅が利用可能である限り)ダウンロードコマンドに従ってメディアサーバ120からダウンロードされ、メディアデータストア116にローカルに記憶される。上述したように、メディアアイテムのダウンロードおよび記憶は、クライアント110のユーザにとっては見えないバックグラウンドプロセスとして生じ得る。
【００２５】
通知モジュール112は、クライアント110上でダウンロードしたメディアアイテムを提示する準備が整うとユーザに通知を発行する。通知は、メディアアイテムが提示に関して利用可能であることをユーザに通知する、テキスト、画像、またはソフトウェア構成を含み得る。通知のタイプは、テキストメッセージ(例えば、SMSメッセージ)、電子メール、ネイティブデバイスメッセージ(例えば、iMessage)、デバイス通知(例えば、プッシュ通知、バッジ、サウンドなど)、およびクライアント110または他のコンピュータデバイスのソフトウェアアプリケーション内のメッセージを含み得る。通知はまた、クライアント110のユーザがクライアントのオペレーティングシステム内のメディアプレーヤアプリケーション114にナビゲートすることを可能にするUniform Resource Locator(URL)などのハイパーリンクを含み得る。
【００２６】
通知モジュール112は、メディアサーバ120からの通知コマンドを受信したことに応じて、または、通知条件に従って、通知を発行し得る。通知条件は、いつまたはどのような状況で通知モジュール112が通知を発行するかを指定している。例えば、通知条件は、メディアアイテムのダウンロードが完了した場合に、特定のパーセンテージのメディアアイテムがダウンロードされた(例えば、25%、50%、75%など)場合に、または、クライアント110がある地理的エリアにいる場合に通知が発行されることを指定してもよい。通知条件は、ネットワークタイプおよびダウンロード速度を含む、ネットワーク150の1つまたは複数の特性に基づいていてもよい。例えば、条件は、メディアアイテムが中断することなく表示され得るように十分なメディアアイテムがダウンロードされるとともにメディアアイテムが十分な速度でダウンロードされているとメディアプレーヤアプリケーション114が決定した場合に通知が発行されることを指定してもよい。
【００２７】
通知モジュール112は、ユーザが明示的に入力した通知プリファレンスに基づいて、通知条件を修正し得る。通知プリファレンスは、ユーザが受信する通知のタイプ、通知が発行され得る回数、通知条件、通知サウンド、および通知表示特性(例えば、デバイス画面をオンにするかどうか、どのように通知をデバイス上に表示するかなど)を指定し得る。通知プリファレンスは、例えば、メディアプレーヤアプリケーション114のユーザインターフェース、または、オペレーティングシステムの設定アプリケーションなどといった、クライアント110の別のユーザインターフェースにより、ユーザによって選択され得る。ユーザが1つまたは複数の通知プリファレンスを選択していなかった場合に適用されるデフォルトの通知プリファレンスが存在していてもよい。通知プリファレンスは、クライアント110に固有のものであり得るし、または、ユーザに関連付けられた複数のクライアント110に適用され、通知データストア118にもしくはアカウントデータストア130に記憶され得る。
【００２８】
通知コンテンツ、通知条件、および通知プリファレンスは、(例えば、コマンドの一部として)メディアサーバ120またはメディアプレーヤアプリケーション114から通知モジュール112によって受信され、通知データストア118に記憶され得る。通知プリファレンスはまた、それらをユーザのアカウントに関連付けられたすべてのクライアント110に配信することができるように、メディアサーバ120に送信され、アカウントデータストア130に記憶され得る。
【００２９】
III. メディアサーバアクティビティ
図2は、制限されたネットワークパフォーマンスを有する環境においてクライアントにメディアアイテムを提供するようにメディアサーバによって行われる例示的なプロセスのためのステップのフローチャートである。メディアサーバ120は、ネットワーク条件を分析し、クライアント110にメディアアイテムをストリーミングすることが実行不可能であると決定する205。メディアサーバ120は、その後、メディアアイテムを選択して、クライアント110に自動的に提供する。メディアサーバ120は、クライアント上のユーザのアクティビティを中断することなく、選択されたメディアアイテムを自動的にダウンロードして記憶するようにクライアント110に命令するダウンロードコマンドを送信する215。メディアサーバ120は、選択されたメディアアイテムをダウンロードするクライアント110からの要求を受信する220。メディアサーバ120は、その後、ネットワーク条件が許す限り、ある期間にわたってクライアント110に選択されたメディアアイテムを送信する225。メディアサーバ120は、クライアントのユーザに通知を発行するようにクライアント110に命令する追加の通知コマンドを送信する230。通知は、メディアアイテムを再生する準備が整ったことをユーザに通知し、通知条件に従って、メディアアイテムを再生する準備が整ったと決定されると、クライアント110上で発行される。それゆえ、ユーザエクスペリエンスが、例えば、ダウンロードを待機することによって、影響を受けないようにまたは中断されないように、メディアアイテムを再生する準備が整うまで、クライアント110上のユーザのアクティビティが中断または変更されることはない。
【００３０】
別の実施形態においては、ステップ215のコマンドは、ダウンロードコマンドおよび通知コマンドの両方を含むとともに、通知コンテンツ、通知条件、または通知プリファレンスを含み得る。結果として、クライアント110に通知を発行するように命令するための情報をステップ215のコマンドが含んでいるため、ステップ230のコマンドは不要となり得る。
【００３１】
IV. クライアントアクティビティ
図3は、提示のためにメディアアイテムを受信し、制限されたネットワークパフォーマンスを有する環境においてクライアントのユーザに通知を発行するようにクライアントによって行われる例示的なプロセスのためのステップのフローチャートである。クライアント110は、メディアサーバ120から選択されたメディアアイテムを自動的にダウンロードして記憶するダウンロードコマンドを受信する305。クライアント110は、その後、メディアアイテムをダウンロードするメディアサーバ120への要求を自動的に送信する310。クライアント110は、メディアサーバ120からメディアアイテムを受信し315、クライアント上のアクティビティを中断することなくクライアント上にメディアアイテムを記憶する。クライアント110は、ネットワーク条件が許す限りメディアサーバ120からメディアアイテムをダウンロードする。クライアント110は、クライアントのユーザに通知を発行するようにクライアントに命令する追加のコマンドを受信する320。
【００３２】
別の実施形態においては、ステップ305のコマンドは、ダウンロードコマンドおよび通知コマンドの両方を含むとともに、通知コンテンツ、通知条件、または通知プリファレンスを含み得る。結果として、クライアント110に通知を発行するように命令するための情報をステップ305のコマンドが含んでいるため、ステップ320のコマンドは不要となり得る。
【００３３】
クライアント110は、メディアアイテムを提示する準備が整ったことをユーザに示す通知を発行する325。ユーザは、例えば通知とやりとりすることによって、メディアアイテムの提示を開始し得る。メディアアイテムの提示を開始するユーザ入力を受信したことに応じて、クライアント110は、ユーザにメディアアイテムを提示する330。
【００３４】
VI. 追加の構成
図4は、一実施形態において本明細書に記載の1つまたは複数のエンティティのうちの一部またはすべてとして使用されるコンピュータ400の物理コンポーネントを図示するハイレベル・ブロック図である。例えば、例示したコンピュータ400のインスタンスは、クライアント110またはメディアサーバ120として使用されてもよい。チップセット404に接続されている少なくとも1つのプロセッサ402を図示している。また、メモリ406、ストレージデバイス408、キーボード410、グラフィックスアダプタ412、ポインティングデバイス414、およびネットワークアダプタ416が、チップセット404に接続されている。ディスプレイ418は、グラフィックスアダプタ412に接続されている。ある実施形態においては、チップセット404の機能は、メモリコントローラハブ420およびI/Oコントローラハブ422によって提供される。別の実施形態においては、メモリ406は、チップセット404の代わりにプロセッサ402に直接接続される。ある実施形態においては、1つまたは複数のオーディオ出力デバイスは、チップセット404に接続される。
【００３５】
ストレージデバイス408は、ハードドライブ、コンパクトディスクリードオンリーメモリ(CD-ROM)、DVD、またはソリッドステートメモリデバイスなどといった、任意の非一時的コンピュータ可読記憶媒体である。メモリ406は、プロセッサ402によって使用される命令およびデータを保持している。ポインティングデバイス414は、マウス、トラックボール、または他のタイプのポインティングデバイスであってもよく、データをコンピュータ400に入力するためにキーボード410と組み合わせて使用される。グラフィックスアダプタ412は、画像および他の情報をディスプレイ418上に表示する。ネットワークアダプタ416は、コンピュータシステム400をローカルまたはワイドエリアネットワークに接続する。
【００３６】
当該技術分野において知られているように、コンピュータ400は、図4に図示したものとは異なるおよび/または他のコンポーネントを有していてもよい。加えて、コンピュータ400は、図示したあるコンポーネントを有していなくてもよい。ある実施形態においては、コンピュータ400は、キーボード410、ポインティングデバイス414、グラフィックスアダプタ412、および/またはディスプレイ418を有していなくてもよい。さらに、ストレージデバイス408は、ローカルおよび/または(ストレージエリアネットワーク(SAN)内に具現化されるなど)コンピュータ400からリモートに存在していてもよい。
【００３７】
当該技術分野において知られているように、コンピュータ400は、本明細書に記載の機能を提供するためのコンピュータプログラムモジュールを実行するように構成される。本明細書で使用しているように、「モジュール」という用語は、特定の機能を提供するために使用されるコンピュータプログラムロジックを指す。そのため、モジュールは、ハードウェア、ファームウェア、および/またはソフトウェアで実装され得る。ある実施形態においては、プログラムモジュールは、ストレージデバイス408上に記憶され、メモリ406にロードされ、プロセッサ402によって実行される。
【００３８】
本説明のいくつかの部分は、情報の演算についてのアルゴリズムおよびシンボリック表現の観点から実施形態を記載している。このようなアルゴリズム的な説明および表現は、データ処理の技術分野の当業者によって、彼らの仕事の内容を他の当業者に効果的に伝えるために一般的に使用されている。これらの演算は、機能的、コンピュータ的、または論理的に記載しているが、コンピュータプログラムまたは同等の電気回路、マイクロコードなどによって実装されることを理解されたい。
【００３９】
名称付きコンポーネントは一実施形態を表し、他の実施形態が他のコンポーネントを含み得ることは理解されよう。加えて、他の実施形態は、本明細書に記載のコンポーネントを有していなくてもよいし、および/または、異なる方式でコンポーネント間で説明した機能を分配してもよい。加えて、2つ以上のコンポーネントに起因する機能を単一のコンポーネントに組み込んでもよい。
【００４０】
最後に、本明細書において使用した言語は、読みやすさと説明を目的として主に選択されており、発明の主題を詳述または制限するために選択していない場合がある。したがって、発明の範囲がこのような詳細な説明によってではなく本明細書に基づいた適用に由来する任意の請求項によって限定されることを意図している。それゆえ、記載した実施形態の開示は、限定ではなく、添付の特許請求の範囲に記載されている、保護可能な事柄の範囲の例示を意図している。
【符号の説明】
【００４１】
110  クライアント
112  通知モジュール
114  メディアプレーヤアプリケーション
116  メディアデータストア
118  通知データストア
120  メディアサーバ
122  メディア配信モジュール
124  コマンドモジュール
126  アカウントモジュール
128  メディアデータストア
130  アカウントデータストア
150  ネットワーク
400  コンピュータ
402  プロセッサ
404  チップセット
406  メモリ
408  ストレージデバイス
410  キーボード
414  ポインティングデバイス
416  ネットワークアダプタ
418  グラフィックアダプタ
418  ディスプレイ
420  メモリコントローラハブ
422  I/Oコントローラハブ
【図１Ａ】
2018527658.tif 000003
【図１Ｂ】
2018527658.tif 000004
【図１Ｃ】
2018527658.tif 000005
【図２】
2018527658.tif 000006
【図３】
2018527658.tif 000007
【図４】
2018527658.tif 000008
【国際調査報告】
2018527658.tif 000009
2018527658.tif 000010