(57)【特許請求の範囲】
【請求項１】
ライブストリームの広告をプリフェッチングすることを容易にする方法であって、
ライブストリーミングサーバによって、クライアント上に表示するためのライブストリームを送信するステップと、
前記ライブストリーミングサーバによって、新しい広告プリフェッチング基準を前記ライブストリームに取り込むステップと、
前記ライブストリーミングサーバによって、前記クライアント上で広告プリフェッチング基準のデフォルトセットを更新するために、前記取り込まれた新しいプリフェッチング基準を前記クライアントに送信するステップと、
前記ライブストリーミングサーバによって、前記クライアントがアイドル状態である時間を判定するステップと、
前記ライブストリーミングサーバによって、広告プリフェッチング基準の前記更新されたデフォルトセットに基づいて、前記時間に前記ライブストリーミングサーバから広告をプリフェッチするように前記クライアントに通知するステップと、
前記ライブストリーミングサーバによって、前記プリフェッチされた広告を表示するように前記クライアントに通知するステップとを備える方法。
【請求項２】
広告プリフェッチング基準の前記デフォルトセットが、人気のあるアクセスリスト、クライアントプロファイル、推奨されるプリフェッチリスト、キャリア要求リスト、プリフェッチ要求リスト、または広告されたメディアコンテンツのうちの少なくとも1つまたは複数からなる群から選択される、請求項1に記載の方法。
【請求項３】
ライブストリームのための広告をプリフェッチする方法であって、
ライブストリーミングサーバからクライアント上に表示するためのライブストリームを受信するステップと、
前記クライアント上で広告プリフェッチング基準のデフォルトセットを設定するステップと、
新しい広告プリフェッチング基準を前記ライブストリームからパースするステップと、
前記パースされた新しい広告プリフェッチング基準を介して、前記クライアント上で広告プリフェッチング基準の前記デフォルトセットを更新するステップと、
広告をプリフェッチするように前記ライブストリーミングサーバから第1の通知を受信するステップであって、前記第1の通知は、前記ライブストリーミングサーバによって判定された時間であって、前記クライアントがアイドル状態である時間を含む、ステップと、
前記第1の通知を受信することに応答して、前記更新されたデフォルトセットに基づいて、前記時間に前記プリフェッチされる広告を前記ライブストリーミングサーバから取得するステップと、
前記クライアント上に広告を表示するために前記ライブストリーミングサーバから第2の通知を受信するステップと、
前記プリフェッチされた広告を前記クライアント上に表示するステップとを備える方法。
【請求項４】
前記プリフェッチされた広告が、前記クライアント上で広告プリフェッチング基準の前記更新されたセットに基づく、請求項3に記載の方法。
【請求項５】
広告プリフェッチング基準の前記デフォルトセットが、人気のあるアクセスリスト、クライアントプロファイル、推奨されるプリフェッチリスト、キャリア要求リスト、プリフェッチ要求リスト、または広告されたメディアコンテンツのうちの少なくとも1つまたは複数からなる群から選択される、請求項3に記載の方法。
【請求項６】
広告を表示するための前記ライブストリーミングサーバからの前記第2の通知に応答して、前記クライアントが前記プリフェッチされた広告を表示する、請求項3に記載の方法。
【請求項７】
プリフェッチされた広告が、広告プリフェッチング基準の前記更新されたセットに基づく、請求項3に記載の方法。
【請求項８】
前記プリフェッチング動作が、広告をプリフェッチするように前記ライブストリームから前記第1の通知を受信する前記ステップの後に、ランダム時間遅延で実行される、請求項3に記載の方法。
【請求項９】
前記ランダム時間遅延が、秒を単位とする計算された時間フレームであり、前記計算された時間フレームが広告を表示するための通知の総数に分割され、計算された時間フレーム内でのライブストリーミングサーバに対する、呼出しの総QPS数の減少をもたらす、請求項8に記載の方法。
【請求項１０】
1つまたは複数のプロセッサ上で実行されると、前記1つまたは複数のプロセッサに、ライブストリームで広告を供給しながら、広告をプリフェッチするための動作を実行するように指示する命令を格納した1つまたは複数のコンピュータ可読記憶媒体であって、前記動作が、
ライブストリーミングサーバによって、クライアント上に表示するためのライブストリームを送信するステップと、
前記ライブストリーミングサーバによって、新しい広告プリフェッチング基準を前記ライブストリームに取り込むステップと、
前記ライブストリーミングサーバによって、前記クライアント上で広告プリフェッチング基準のデフォルトセットを更新するために、前記取り込まれた新しいプリフェッチング基準を前記クライアントに送信するステップと、
前記ライブストリーミングサーバによって、前記クライアントがアイドル状態である時間を判定するステップと、
前記ライブストリーミングサーバによって、広告プリフェッチング基準の前記更新されたデフォルトセットに基づいて、前記時間に前記ライブストリーミングサーバから広告をプリフェッチするように前記クライアントに通知するステップと、
前記ライブストリーミングサーバによって、前記プリフェッチされた広告を表示するように前記クライアントに通知するステップとを備える、コンピュータ可読記憶媒体。
【請求項１１】
広告プリフェッチング基準の前記デフォルトセットが、人気のあるアクセスリスト、クライアントプロファイル、推奨されるプリフェッチリスト、キャリア要求リスト、プリフェッチ要求リスト、または広告されたメディアコンテンツのうちの少なくとも1つまたは複数からなる群から選択される、請求項10に記載の1つまたは複数のコンピュータ可読記憶媒体。
【請求項１２】
1つまたは複数のプロセッサ上で実行されると、前記1つまたは複数のプロセッサに、ライブストリームのための広告をプリフェッチするための動作を実行するように指示する命令を格納した1つまたは複数のコンピュータ可読記憶媒体であって、前記動作が、
ライブストリーミングサーバからクライアント上に表示するためのライブストリームを受信するステップと、
前記クライアント上で広告プリフェッチング基準のデフォルトセットを設定するステップと、
新しい広告プリフェッチング基準を前記ライブストリームからパースするステップと、
前記パースされた新しい広告プリフェッチング基準を介して、前記クライアント上で広告プリフェッチング基準の前記デフォルトセットを更新するステップと、
広告をプリフェッチするように前記ライブストリーミングサーバから第1の通知を受信するステップであって、前記第1の通知は、前記ライブストリーミングサーバによって判定された時間であって、前記クライアントがアイドル状態である時間を含む、ステップと、
前記第1の通知を受信することに応答して、前記更新されたデフォルトセットに基づいて、前記時間に前記プリフェッチされる広告を前記ライブストリーミングサーバから取得するステップと、
前記クライアント上に広告を表示するために前記ライブストリーミングサーバから第2の通知を受信するステップと、
前記プリフェッチされた広告を前記クライアント上に表示するステップとを備える、コンピュータ可読記憶媒体。
【請求項１３】
前記プリフェッチされた広告が、前記クライアント上で広告プリフェッチング基準の前記更新されたセットに基づく、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
【請求項１４】
広告プリフェッチング基準の前記デフォルトセットが、人気のあるアクセスリスト、クライアントプロファイル、推奨されるプリフェッチリスト、キャリア要求リスト、プリフェッチ要求リスト、または広告されたメディアコンテンツのうちの少なくとも1つまたは複数からなる群から選択される、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
【請求項１５】
広告を表示するための前記ライブストリーミングサーバからの前記第2の通知に応答して、前記クライアントが、1)プリフェッチされた広告がある場合、前記プリフェッチされた広告を表示する、または、2)広告サーバから広告をフェッチして、前記広告を表示する、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
【請求項１６】
前記クライアントが、ランダム時間遅延で広告をプリフェッチするように構成される、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
【請求項１７】
前記ランダム時間遅延が、秒を単位とする計算された時間フレームであり、前記計算された時間フレームが広告を表示するための通知の総数に分割され、計算された時間フレーム内でのライブストリーミングサーバに対する、呼出しの総QPSの減少をもたらす、請求項16に記載の1つまたは複数のコンピュータ可読記憶媒体。
【請求項１８】
前記プリフェッチされた広告が、広告プリフェッチング基準の前記更新されたセットに基づく、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライブストリームで広告を供給しながら、広告をプリフェッチすることに関する。
【背景技術】
【０００２】
オンラインのライブストリーミングビデオ(すなわち、「ライブストリーム」)を視聴するユーザがますます増加している。たとえば、何人かのユーザ(すなわち、「閲覧者」)は、プロバスケットボール協会(NBA)の試合をESPN(商標)のウェブサイト(または、ビデオホスティングサービス上のMachinima(商標)試合)で視聴することができる。全般的に、ライブストリーミングビデオはすべての閲覧者のために同期される。したがって、各閲覧者は、ライブストリーミングされた広告(すなわち、「ストリーミング広告」)を同じ実時間(wall-clock time)で見ることになる。反対に、ビデオオンデマンド(VOD)の閲覧者は同期されておらず、したがって、ストリーミングビデオの視聴をいつでも開始することができる。VODの閲覧者は、任意の時刻に、または非同期的に、ストリーミング広告を見る。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書では、ライブストリーミングビデオで広告を供給しながら、広告をプリフェッチすることに関する技法を説明する。一実装形態では、プリフェッチングメカニズムは、クライアント上でプリフェッチング基準のデフォルトセットを設定するステップと、新しい/余分なプリフェッチング基準をライブストリームからパースするステップと、パースされた新しい/余分なプリフェッチング基準を介して、クライアント上でプリフェッチング基準のデフォルトセットを更新するステップと、広告をプリフェッチするようにライブストリームから通知を受信するステップと、プリフェッチされた広告をライブストリームから取得するステップと、クライアント上に広告を表示するようにライブストリームから通知を受信するステップと、プリフェッチされた広告をクライアント上に表示するステップとを含む。
【０００４】
この概要は、特許請求の範囲または意味を解釈または制限するために使用されないという了解のもとで提出される。この概要は、特許請求の範囲に記載された対象の主要な特徴または本質的な特徴を識別することを意図するものではなく、また特許請求の範囲に記載された対象の範囲を決定する際に役立つものとして使用されることを意図するものでもない。
【図面の簡単な説明】
【０００５】
【図１】本技術の実装形態による、ワイヤレスセル内の、ワイヤレス、および場合によってはモバイルクライアントへの広告基地局ライブストリーミングビデオの例示的なアーキテクチャである。
【図２Ａ】本技術の実装形態による、例示的な広告基地局の詳細なブロック図である。
【図２Ｂ】開示された技術を利用することができるシステムの例示的な構成の詳細なブロック図である。
【図３】本技術の実装形態による、サーバサイドタイムラインの図表示である。
【図４】本技術の実装形態による、クライアントサイドタイムラインの図表示である。
【図５】本方法または処理の一実装形態による、サーバによって行われ得るステップを示す流れ図である。
【図６】本方法または処理の一実装形態による、クライアントによって行われ得るステップを示す流れ図である。
【図７】本技術の実装形態の機能の実行に適したシステムタイプの例示的なブロック図である。
【発明を実施するための形態】
【０００６】
詳細な説明は添付の図面を参照する。図面において、参照番号の左端の数字は参照番号が最初に現れる図面を特定する。同様の機能およびコンポーネントを参照するために、図面を通じて同じ番号が使用される。
【０００７】
本明細書に記載の技術によって、ライブストリーミング広告(「広告」)サーバは、クライアントが適切な同期された時間に表示するために、プリフェッチされた広告をクライアントに配信することによって、ライブストリームの間にストリーミング広告を求める予想される圧倒的な要求を満たすことができる。
【０００８】
膨大な数(たとえば、1000万)の閲覧者がライブストリームを視聴している場合、ストリーミング広告(すなわち「広告」)は、特定の指定された時刻(たとえば、イベント/試合開始の20分後)に表示するようにスケジューリングされる。この例では、1000万人のクライアントが同時に、またはほぼ同時に、広告サーバに広告要求を送信する。広告サーバのQPS(query per second)は極めて高くなる(たとえば、約1000万QPS)。広告サーバはそのような高いQPSを満たすことができない場合があるので、広告サーバは多くの要求を拒否せざるを得ない場合がある。したがって、ストリーミング広告を閲覧することができたライブストリームの閲覧者は、ライブストリームの全閲覧者よりも少ないので、ストリーミング広告の配信からの収入が減少してしまう場合がある。
【０００９】
本明細書に記載の技術は、クライアントが後に同時に表示するために、ライブストリーム内の広告をプリフェッチすることによって、広告サーバのQPSを減少させる。従来のライブストリーミングでは、広告サーバは、多数のライブストリーミング広告を、そのような広告をほぼ同時に要求する多数のクライアントに適切に提供することができない。新しいライブストリーミング技術では、クライアントは、クライアントが後に他のクライアントと同時に表示するために、広告サーバから広告をプリフェッチすることができる。これにより、広告サーバの全体的なQPSが減少する。新しい技術により、ライブストリーミングプロバイダは、さらなる広告サーバを追加する必要性を減少させることによって費用を節約することができる。
【００１０】
本開示に記載の1つまたは複数の実装形態によって、ユーザは、データ収集の態様に関連して、個人情報(たとえば、彼らのクライアント、またはユーザプロファイル)、人口学的情報、位置情報、極秘情報、機密情報などの提供をオプトアウトすることができることが理解されるべきである。さらに、本明細書に記載の1つまたは複数の実装形態は、匿名化のために、収集、受信、または伝送されたデータを提供することができる。
【００１１】
例示的なライブストリーミングシナリオ
図1は、本明細書に記載の技術を実装することができる、例示的なライブストリーミングシナリオ100を示している。例示的なライブストリーミングシナリオ100は、広告基地局102、モバイル通信(たとえば、ワイヤレス)アンテナ104、ネットワーク106(たとえば、インターネット)、ライブストリーミングサーバ108、110、ライブストリームソース109、広告サーバ112、および1つまたは複数のクライアント(タブレットコンピュータ114、ラップトップコンピュータ116、およびスマートフォン118など)を含む。
【００１２】
ライブストリーミングサーバ108、110は、ライブストリームソース109からビデオを取得する。一般的に、そのようなソースビデオは、スポーツの試合、音楽コンサート、授賞式、祝祭イベント(gala happening)、または他のイベントなどが発生しているとき(または、その直後)の、ライブイベントからのものである。ライブストリーミングサーバ108、110は、ネットワーク106を介して、ビデオをリアルタイムでクライアントに提供する。したがって、この方法で提供されたビデオは「ライブストリーム」と呼ばれ得る。本明細書で使用されるように、ライブストリームは、複数の閲覧者に同時に提供されたストリームを含む。コンテンツは、それが伝送されているときにイベントが発生しているという意味では、実際に「ライブ」である必要はない。
【００１３】
ネットワーク106から、広告基地局102は、ライブビデオをモバイル通信(たとえば、ワイヤレス)アンテナ104上でワイヤレスまたはモバイルクライアント114〜118にストリーミングする。要求されると、広告サーバ112は、ネットワーク106を介してストリーミング広告(「広告」)をクライアントに提供する。本技術によって、広告基地局102は、広告サーバ112から、広告を要求しているクライアントに広告をプリフェッチする際に、助けることになる。
【００１４】
ネットワーク106は、相互接続された、および場合によっては単一の大きなネットワーク(たとえば、インターネットまたはイントラネット)として機能する、複数の異なるタイプのネットワークのうちの任意の1つ、またはそれらの組合せを表す。ネットワーク106は、ワイヤベースのネットワーク(たとえば、ケーブル)およびワイヤレスネットワーク(たとえば、セルラー、衛星等)を含み得る。
【００１５】
クライアント114〜118が、通信アンテナ104にワイヤレスに接続されているように示されているが、1つまたは複数のそのようなクライアントが、ワイヤード通信ネットワークを介して接続されてよい。クライアント114〜118は、ライブストリーミングサーバ108または110からライブストリームを受信して、1人または複数の閲覧者によって閲覧するためにそのようなライブストリームを再生することに適した任意のコンピューティングデバイスでよい。たとえば、クライアントは、ラップトップ、タブレットコンピュータ、携帯情報端末(「PDA」)、モバイル電話(セルラー式電話、またはスマートフォンなど)、シンクライアント、ポータブルゲーム機、家庭用電子機器(テレビ、DVDプレイヤ、セットトップボックス、モニタ、ディスプレイなど)、パブリックコンピューティングデバイス(キオスク、店内音楽サンプリングデバイス、現金自動預入支払機(ATM)、キャッシュレジスタなど)、ナビゲーションデバイス、および/またはキッチン家電、自動車制御(たとえば、ハンドル)などの非従来型コンピューティングデバイス、あるいはそれらの組合せでよい。クライアント114〜118は、プロセッサ、グラフィックカード、ストレージコンポーネント、メモリコンポーネント、アンテナ、通信コンポーネント、およびスピーカ、ディスプレイ、キーパッド、マイクなどの入力/出力コンポーネントなどの、ハードウェアコンポーネントを含み得る。
【００１６】
例示的なライブストリーミング広告基地局
図2Aは、本明細書に記載の技術の1つまたは複数の実装形態に適した広告基地局102の例の詳細なブロック図を示している。広告基地局102は、プロセッサ200、広告リポジトリ202、ライブストリームフィーダ204、広告フィーダ206、クライアント通知器208、および広告挿入マネージャ210を含む。
【００１７】
広告基地局102のプロセッサ200は、単一のプロセッサ、分散されるか中央に位置し得る複数のプロセッサなどの任意の適切なタイプのプロセッサを含み得る。たとえば、プロセッサ200は、デスクトップコンピューティングデバイスプロセッサ、モバイル通信デバイスプロセッサ、ハンドヘルドプロセッサなどでよい。プロセッサ200は、キャッシュ、メモリ、記憶装置などの他の任意の適切なハードウェア、および/あるいはソフトウェアを含んでもよく、それらにリンクしてもよい。
【００１８】
広告基地局102の広告リポジトリ202は、ネットワーク106を介して広告サーバ112、ライブストリーミングサーバ108、110から受信された、プリフェッチされるべき広告を格納するように構成され得る。ライブストリームフィーダ204は、通信アンテナ104を介して、クライアント114〜118にライブストリームをフィードまたはパスするように構成され得る。広告フィーダ206は、ライブストリームフィーダ204と同様の方法で、プリフェッチされた広告をフィードまたはパスするように構成され得る。
【００１９】
クライアント通知器208は、広告をプリフェッチするために、またはプリフェッチされた広告を表示するために、クライアント114〜118にコマンドを送信するように構成され得る。広告挿入マネージャ210は、ライブストリーミングサーバ108、110、広告サーバ112、および/またはネットワーク106から受信された任意の呼出しに基づいて、広告リポジトリ202からその広告が呼び出され、ライブストリームにプリフェッチされるコントローラとして機能するように構成され得る。
【００２０】
例示的なプリフェッチング構成
図2Bは、開示された技法を利用することができるシステムの例示的な構成を示している。本システムは、クライアント(クライアント114など)、サービスプロバイダ222、およびネットワーク106を介して通信し得るライブストリーミングサーバ110を含み得る。クライアント114、サービスプロバイダ222、またはライブストリーミングサーバ110は、別々に、または相互に組み合わせて、広告プリフェッチング基準223のデフォルトセットをコンパイルするために、情報を維持、更新、または提供することができる。
【００２１】
図2Bに示される実装形態では、クライアント114は、ディスプレイコンポーネント216、1つまたは複数のプロセッサ218、広告受信マネージャ214、入力/出力コンポーネント220、および、データベースとして示されている、プリフェッチされた広告リポジトリストレージ212を含む。これらのそれぞれのコンポーネントは、リソースおよび情報を共有するために相互接続され得る。広告コンテンツは、テキスト、オーディオ、静止画像、アニメーション、ビデオ、インタラクティブなコンテンツフォームなどでよい。
【００２２】
ディスプレイコンポーネント216は、視覚的受信、聴覚的受信、触覚的受信などのための情報を提示するための任意の形態のディスプレイでよい。たとえば、ディスプレイコンポーネントは、一般的なテレビセットディスプレイ、コンピュータモニタ、ハンドヘルドLCDスクリーンなどでよい。広告受信マネージャ214は、アンテナ、通信ポート、またはネットワーク106などのネットワークとの通信リンクを確立するために使用され得る同等物を含み得る。次いで、広告受信マネージャ214は、デバイスと、ライブストリーミングサーバ110またはサービスプロバイダ222などの他のコンピューティングコンポーネントまたはサーバとを接続するために、ネットワークを介してサーバなどと通信することができる。
【００２３】
クライアント114のプロセッサ218は、単一のプロセッサ、分散されるか中央に位置し得る複数のプロセッサなどの任意の適切なタイプのプロセッサを含み得る。たとえば、プロセッサ218は、デスクトップコンピューティングデバイスプロセッサ、モバイル通信デバイスプロセッサ、ハンドヘルドプロセッサなどでよい。プロセッサ218は、キャッシュ、メモリ、記憶装置などの他の任意の適切なハードウェア、および/あるいはソフトウェアを含んでもよく、それらにリンクしてもよい。
【００２４】
入力/出力コンポーネント220は、たとえば、キーパッド、タッチスクリーン、ボタン、マイクなどの入力コンポーネント、および送信機、スピーカ、マイクなどの出力コンポーネントを含み得る。ユーザは、様々なタイプのメディアコンテンツにアクセスするために、入力/出力コンポーネント220を介してクライアント114と対話することができる。たとえば、ユーザはオーディオファイルを聴取することを選択してもよく、ディスプレイコンポーネント216上でビデオディスプレイを閲覧することを選択してもよい。ユーザは、インターネットなどのネットワークを介してメディアコンテンツをストリーミングすることがしばしばある。たとえば、ディスプレイコンポーネント216上で閲覧可能なウェブブラウザを介して、ユーザは入力/出力コンポーネントを介してインターネットをブラウジングすることができる。ユーザは、クライアント114などのユーザのローカルマシンにダウンロードまたはストリーミングするためにキャリアからアクセス可能なメディアファイルを選択してもよく、それを「クリック」してもよい。本明細書に開示されるように、広告コンテンツは、非要求されたインスタンスでクライアント114に配信されて、プリフェッチされた広告リポジトリデータベース212に格納され得る。
【００２５】
図2Bに示される例示的な構成では、広告コンテンツデータベース240に広告コンテンツが格納される。広告コンテンツデータベース240は、たとえばストレージモジュール、デバイス、またはメモリを含む、任意の形態のデータストレージでよい。広告コンテンツデータベース240は、データベース管理システム、オブジェクト指向データベース管理システム、リレーショナルデータベース管理システム(たとえば、DB2)、ファイルシステム、または別の従来型のデータベースパッケージとして提供され得る。さらに、データベースは、構造化照会言語(SQL)、または当業者に知られている他のツールを介してアクセスされ得る。
【００２６】
図2Bに示されているように、クライアントはネットワーク106と通信することができる。ネットワーク106は、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セルラー式電話ネットワークなどの任意のタイプのネットワークでよい。たとえば、ネットワーク106は、グローバルシステムフォーモバイルコミュニケーション(「GSM（登録商標）」)、汎用パケット無線サービス(「GPRS」)、ユニバーサル移動電話システム(「UMTS」)、周波数分割複信(「FDD」)と時分割複信(「TDD」)、高速パケットデータアクセス(「HERMDA」)、CDMA2000 1x Evolution Data Optimized(「EVDO」)、符号分割多元接続-2000(「cdma2000 3x」)、時分割同期符号分割多元接続(「TD-SCDMA」)、広帯域符号分割多元接続(「WCDMA（登録商標）」)、拡張データGSM（登録商標）環境(「EDGE」)、国際移動体通信-2000(「IMT-2000」)、デジタル拡張コードレス通信(「DECT」)、Wi-Fi、WiMAXなどの、例示的なネットワークを含み得る。
【００２７】
クライアント114は、ネットワーク106を介してサービスプロバイダ222と通信することができる。サービスプロバイダ222は、通常は購読やウェブサービスを介して企業や個人にサービスを提供する任意のエンティティでよい。たとえば、サービスプロバイダ222は、ネットワークやインターネットサービスプロバイダ、セルラー式電話プロバイダ、アプリケーションサービスプロバイダ、マネージドサービスプロバイダ、ケーブルサービスプロバイダなどでよい。ネットワーク106は、サービスプロバイダ222によって操作され得る。
【００２８】
例示的な実装形態によれば、サービスプロバイダのネットワークマネージャは、加入者と、セルラー式電話、PDA、PC、ボイスオーバーインターネットプロトコルデバイス、アナログ電話デバイスなどの他のデバイスとの間の通信を可能にするために、その加入者に帯域幅および/またはネットワークアクセスを提供することができる。一実装形態では、ネットワークプロバイダによって提供される帯域幅および/またはネットワークアクセスは、メディアオブジェクトをクライアントまたは加入者に配信するために利用され得る。
【００２９】
クライアント114は、セルラー、SMR、PCS、コードレス、無認可(unlicensed)AWS、700メガヘルツ、または他のスペクトルで動作して、衛星、電波、またはケーブルを介してサービスプロバイダまたはキャリアと通信することができる。しかしながら、実装形態はネットワークアクセスを有するものに限定されず、ネットワークアクセスを説明する実装形態は、デバイスにサービスを提供するネットワークによって限定されない。したがって、実装形態は、たとえばTDMA、CDMA、WCDMA（登録商標）、GSM（登録商標）、Wi-Fi、WiMAX、OFDM、UMTS、EV-DO、HSDPA/HSUPA、および現在知られている、または将来開発される他の規格を含む、任意のネットワークタイプに適用可能とすることができる。
【００３０】
クライアント114は、ネットワーク106を介してライブストリーミングサーバ110と通信することができる。ライブストリーミングサーバ110は、クライアント114〜118と同様に、本明細書に開示された技法を実現することに適した任意のデバイスでよい。クライアント114〜118と同様に、例示的なコンテンツサーバは、入力/出力コンポーネント、通信コンポーネント、プロセッサ、およびハードウェアコンポーネントを制御し得るオペレーティングシステムなどのソフトウェアコンポーネントを含み得る。
【００３１】
図2Bに示されている例示的なライブストリーミングサーバ110は、プロセッサ238、通信コンポーネント236、および広告コンテンツデータベース240へのアクセスを備える。ライブストリーミングサーバ110は、クライアント114〜118と同様に、本明細書に開示された技法を実現することに適した任意のデバイスでよい。ライブストリーミングサーバ110は、他のサーバと相互接続して、ネットワーク106を介して加入者、サービスプロバイダ222などと通信して、メディアコンテンツを格納するか、メディアコンテンツにアクセスすることができるデバイスである。
【００３２】
広告コンテンツデータベース240は、様々なサービスプロバイダに関連付けられる記録および/またはデータの構造化された収集、サービスプロバイダまたはデバイスに関連付けられる、クライアント114などのデバイスおよびユーザ/エンティティ、ネットワーク106上のデバイスとの通信をサポートするネットワークなどの、広告コンテンツ情報のインベントリを含み得る。広告コンテンツは、ケーブルネットワークキャリア、音楽サイト、ビデオレンタルエンティティなどからの広告を含み得る。広告コンテンツデータベース240内の情報は、人またはプログラムが、ユーザと情報を共有するために、所望の情報を抽出することを可能にするために構造化され得る。たとえば、プロセッサ238が広告コンテンツデータベース240を新しい広告コンテンツで更新すると、クライアント114のプロセッサ218、またはサービスプロバイダ222は、データベースを検索することによってそのような情報にアクセスすることができる。
【００３３】
したがって、ユーザは、クライアントを介してライブストリーミングサーバ110に広告コンテンツを要求することができる。たとえばユーザは、ウェブブラウザ上で、オーディオファイルまたはビデオファイルなどの広告コンテンツへのアクセスを要求することができる。ウェブブラウザはサービスプロバイダ222のウェブブラウザでよい。サービスプロバイダは、ライブストリーミングサーバ110を直接管理することもでき、ネットワーク106を介してアクセスを取得することもできる。サービスプロバイダがライブストリーミングサーバ110を直接管理してアクセスする場合、コンテンツサーバは、サービスプロバイダ特有の広告コンテンツを含み得る。たとえば、サービスプロバイダが、ユーザがサイトにアップロードおよびダウンロードするビデオクリップのプロバイダである場合、広告コンテンツデータベース240は、要求に応じて検証されたユーザに配信するために、アップロードされた広告ビデオを格納することができる。
【００３４】
本明細書では、記述したライブストリーミングサーバ110などの、広告コンテンツを提供または管理するエンティティから広告コンテンツをプリフェッチするための技法を開示する。特定の広告オブジェクトへのアクセスを求める任意の要求の前に、コンテンツサーバは、ユーザのローカルマシンに格納するために、ネットワークを介して広告オブジェクトを提供することができる。提供されるべき広告は、図2Bのプリフェッチ基準223によって表されるように、広告プリフェッチ基準のコンパイルされたデフォルトセットに基づいて選択され得る。クライアント114、サービスプロバイダ222、およびライブストリーミングサーバ110などの適切なエンティティは、広告プリフェッチング基準にアクセス、更新、または維持して、任意の要求の前に配信されるべき広告コンテンツを決定するためにそれを使用することができる。たとえば、広告オブジェクトが広告プリフェッチング基準を満たす場合、ユーザのローカルマシンに格納するために広告オブジェクトが配信され得る。したがって、ユーザがネットワークを介して、たとえばサービスプロバイダのウェブサイトを介して、その広告コンテンツにアクセスしようとするか、それを呼び出そうとすると、広告オブジェクトはすでにローカルに格納されている(すなわち、プリフェッチされている)。
【００３５】
広告コンテンツが配信されて、ユーザのローカルマシンに格納されている点に留意されたい。広告プリフェッチングコンテンツは、ライブストリーム内の任意の場所にリンクすることができる。たとえば、ニュースレポートは、固定されているカメラに基づいて、いくつかの背景スタジオ広告(background studio ad)を有してよい。これらの背景は、プリフェッチされて、ライブストリームと混合されてよく、ライブストリームの帯域幅ニーズを減少させる。ユーザのデバイスは、たとえばローカルに格納された広告を再生、閲覧、アクセス、または他の方法でアクセスすることによって、ローカルに格納された広告を実装することができる。ローカルに格納された広告は、たとえば、テキスト、オーディオ、画像、アニメーション、ビデオ、またはインタラクティブなコンテンツのうちの少なくとも1つでよい。ローカルアクセスによって、ネットワーク上の輻輳(すなわち、QPS)が減少し、また、特に最初のアクセスの場合、ユーザに広告オブジェクトへのより高速なスタートアップアクセスを提供する。
【００３６】
広告プリフェッチング基準は、これに限定されないが、プリフェッチウィッシュリスト224、キャリア要求リスト226、推奨されるプリフェッチリスト228、人気のあるアクセスリスト230、クライアントプロファイル232、または広告されたメディアコンテンツ234などのいくつかの要因に個別に基づいて、またはそれらの組合せに基づいてコンパイルされ得る。上述のように、ユーザまたはクライアントは、これらの広告プリフェッチング基準をコンパイルするために、それらの情報がアクセスされることをオプトアウトすることができる。
【００３７】
広告プリフェッチング基準は、配信するべき広告コンテンツを決定するために、人気のある広告リスト230を使用することができる。たとえば、人気のあるアクセスリストは、サービスプロバイダまたはコンテンツプロバイダに広告コンテンツを要求するユーザによって一般にアクセスされるコンテンツのリストでよい。したがって、特定のビデオまたは特定の歌が一般にアクセスされると、そのビデオまたは特定の歌に関連付けられる広告オブジェクトがクライアントのローカルマシンに配信され得る。
【００３８】
キャリアリスト226は、ケーブル会社などの特定のキャリアが提供する、または配信することを希望する、広告コンテンツのコンパイルでよい。たとえば、ケーブル会社が、オンラインで頻繁にアクセスされると予測する特定の映画にスポットライトを当てる場合があり、または音楽制作会社が、対応する広告コンテンツへの要求のために、大量のネットワークトラフィックを生じさせると予測する、発売されている歌を選択する場合もある。広告されたメディアコンテンツ234のコンパイルは、過剰なネットワークトラフィックを生成することが予測される、キャリアなどによって頻繁に広告されたコンテンツでよい。
【００３９】
クライアントプロファイル232は、ユーザの嗜好を設定する、あるいはユーザのアクセス履歴またはユーザの傾向を監視するために、クライアントを含む任意の適切なエンティティによって維持され得る。たとえば、ユーザは、広告コンテンツをフィルタリングするために使用され得る、たとえば選択された映画ジャンル、好きな女優などの嗜好を設定することができる。クライアントプロファイル232は、年齢、住所、興味などの、ユーザについての人口学的情報を含み得る。別の例では、ユーザは、特定のキーワード(たとえば、ドーベルマン、スケートボード等)に基づいて日常的にビデオを検索してもよく、ユーザは特定のテレビショーをオンラインで視聴してもよく、旅行前または週末前にダウンロードするための新しい映画リリースを一般に要求してもよい。ユーザのデバイスは、ユーザの利用またはユーザの旅行計画を監視して(個人的なプランナプログラムを介するなどして)、適切なコンテンツをプリフェッチウィッシュリストに追加するように設定され得る。
【００４０】
当然、ユーザに関連付けられるデータは、ユーザのアイデンティティには関連付けられない。ユーザのプライバシーは常に尊重され、そのようなデータへのアクセスは厳しく制限される。ユーザは常に、彼らに関して収集された任意のデータをオプトアウトする機能を有する。
【００４１】
プリフェッチウィッシュリスト224は、ユーザのマシンからユーザによって作成されたコンパイルでよい。たとえば、ユーザがそのような配信をオプトアウトしていないと仮定すると、ユーザは、新しい映画リリース、または特定の歌手の任意のオーディオファイルが、プリフェッチされてユーザのローカルマシンに配信された広告コンテンツの一部になるように、開示された技法を利用することができる。別の例では、ユーザが特定のコンテンツのオンラインレンタルまたはダウンロードのためのサービスに加入して、ユーザのキューがプリフェッチウィッシュリスト224を決定することができる。ユーザは、プリフェッチウィッシュリストからのコンテンツにアクセスしてもよく、アクセスしなくてもよいが、アクセスする場合、少なくともローカルに格納された広告コンテンツへのアクセスは、より高速で効率的なアクセスをユーザに提供する。
【００４２】
推奨されるプリフェッチリスト228は、キャリアまたはサービスプロバイダ222などによって、ユーザの代わりにコンパイルされ得る。推奨されるプリフェッチリスト228は、コンパイルの組合せを利用することができる。たとえば、広告プリフェッチング基準に基づく広告コンテンツの選択は、たとえば人気のある広告リスト230などの他の広告プリフェッチング基準とともに、プリフェッチウィッシュリスト224またはクライアントプロファイル232からの情報を使用して、特定のユーザの代わりにフィルタリングされ得る。この例では、人気のある広告リスト230が、クライアントプロファイル232内の特徴と同じまたは類似の特徴を有するクライアントによってアクセスされた人気のあるアクセスリスト内の広告を選択する、クライアントプロファイル232内の機能によってフィルタリングされ得る。したがって、推奨されるプリフェッチリスト228は、配信するための広告コンテンツをフィルタリングするために、クライアントプロファイル232またはプリフェッチウィッシュリスト224を使用することができる。あるいは、クライアントプロファイル232、および/またはプリフェッチウィッシュリスト224は、広告コンテンツをフィルタリングするために単独で使用され得る。
【００４３】
やはり、上述のように、ユーザまたはクライアントは、これらの広告プリフェッチング基準をコンパイルするために、それらの情報がアクセスされることをオプトアウトすることができる。
【００４４】
配信するための広告コンテンツを選択するために広告プリフェッチング基準を使用して、アクセスを求める任意の要求の前に、広告オブジェクトの少なくとも一部を配信して、クライアント114などのクライアントのローカルデバイスに事前格納することができる。ユーザがネットワークから特定のメディアストリームにアクセスしようとすると、クライアントのデバイスが所望の広告オブジェクトをすでに格納している場合、格納された広告へのアクセスを、クライアントのデバイスから直接行うことができる。多くの環境では、特に広告オブジェクトの最初のアクセスの場合、キャッシング方法に依存するよりも、直接アクセスの方が望ましい。
【００４５】
広告の配信は、ストリーミング、ダウンロード、ブロードキャスト、マルチキャスト、または、ユーザのクライアント114に格納するために広告を提供する他の任意の適切な方法の形態でよい。マルチキャストは、プリフェッチされた広告コンテンツを有する特定のグループの加入者にターゲットを絞るために使用され得る。マルチメディアブロードキャストマルチキャストサービス(MBMS)を使用することによって、GSM（登録商標）およびUMTSセルラーネットワークなどの、セルラーネットワーク用のブロードキャストのためのサービスが可能になる。MBMSは、デバイスごとのポイントツーポイントリンクの代わりにコアネットワーク内のマルチキャスト配信を使用して、サービスとユーザとの間の対話のために、アップリンクチャネルの使用を可能にするために構造化されている。
【００４６】
帯域幅をさらに効率的に使用するために、ユーザのローカルマシンに格納されるべき広告オブジェクトの配信において、帯域外で、またはネットワークリソースのバランスに基づいて配信が行われてよい。配信は、主なデータストリームとは別のストリーム上の帯域外で発生してよい。さらに、広告のディストリビュータは、ネットワークリソースのバランスに基づいて配信することができる。ネットワークバランスは、メディアオブジェクトを配信するために必要なアカウントビットレート要件、クライアントとサーバとの間の利用可能な帯域幅、および同等物を考慮すると、ネットワーク意識およびストリーム意識の両方でよい。ネットワークバランスは、特定のユーザがネットワークにアクセスする可能性が低い場合に配信が発生する(たとえば、クライアントが一定の時間にわたってスリープ状態またはアイドル状態のときに配信する)ように、特定のユーザまたは地理的領域に対処(account for)することができる。メディアコンテンツの配信が最も効率的に利用可能な帯域幅を利用するのは、どのタイプおよびどの時間かを決定するために、ネットワークのアイドル時間およびネットワークタイプも評価され得る。
【００４７】
例示的な実装形態タイムライン
図3は、本技術のサーバサイドライブストリームタイムライン実装形態300の例を示しており、ライブストリーミングビデオに配置された、サーバサイドライブストリームタイムライン302、イベント開始時間304、PARAM="FORD"に設定された基準/パラメータでのキューポイント挿入306、PARAM="PREFETCH"に設定された基準/パラメータでのキューポイント挿入308、PARAM="SHOW ADS"に設定された基準/パラメータでのキューポイント挿入310を示している。
【００４８】
キューポイントは、ビデオプレイヤまたはライブストリーミングサーバが、ビデオファイルプレイヤを再生、またはストリーミングしている間に、cuePoint(商標)イベントをディスパッチするポイントである点に留意されたい。キューポイントは、ウェブページ上の別の要素のために動作が発生することが求められる、または所望されるときに、FLASH(登録商標)(FLV)ファイルに追加され得る。たとえば、テキストまたはグラフィックが表示されてもよく、FLASH (登録商標)アニメーションと同期されてもよく、一時停止すること、ビデオ内の異なるポイントを探すこと、または別のFLVファイルに切り替えることによって、FLVファイルの再生に影響を与えてもよい。
【００４９】
キューポイントによって、FLVファイル内のポイントをウェブページ上の他の動作と同期するために、ActionScript(登録商標)コードで制御を受信できるようになる。ActionScript(登録商標)は、特にウェブサイトアニメーション用に設計されたオブジェクト指向プログラミング言語である。キューポイントをライブストリームに挿入するための方法はいくつかある。たとえば、FLASH(登録商標)メディアエンコーダが使用され得る。
【００５０】
キューポイントを実装するさらなるオプションは、a)FLASH(登録商標)キューポイントを使用する代わりに、広告プリフェッチング関連情報をAPPLE(登録商標)HTTPライブストリーミング(HLS)ストリームM3Uファイルに追加することによって、HLS規格を使用することができる、および/または、b)広告プリフェッチング関連データを同期させるために、ライブストリーミングサーバとクライアントとの間に別のデータパスを有する、を含み得る。HLSは、HTTPベースのメディアストリーミング通信プロトコルである。M3Uファイルは、1つまたは複数のメディアファイルの位置を指定するプレーンテキストファイルである。
【００５１】
図4は、本技術のクライアントサイドライブストリームタイムライン実装形態400を示しており、クライアントサイドライブストリームタイムライン402、広告プリフェッチング基準のデフォルトセット作成404、PARAM="FORD"に設定された基準/パラメータセットでの、広告プリフェッチ基準のデフォルトセットへのキューポイント受信406、PARAM="PREFETCH"に設定された基準/パラメータセットでのキューポイント受信408、(したがってクライアント114〜118は所与の時間プラス「X」秒で広告をフェッチして、「X」は乱数計算である(たとえば、[0,5〜60秒]の間))、PARAM="SHOW ADS"に設定された基準/パラメータセットでのキューポイント受信410(したがってクライアント114〜118はプリフェッチされた広告を見せる/表示する)を示している。タイムライン402は技術的実装形態ではない点に留意されたい。この例では、タイムライン402は、クライアントサイドの正しいイベントシーケンスを示すために示されている。
【００５２】
例示的な方法実装形態
図5は、本技術のサーバサイド実装形態によって実行され得る動作(必ずしも任意の特定の順序でなくてよい)を示す流れ図500を示している。本動作は、510で、少なくとも1つのクライアントにライブストリームを送信するライブストリーミングサーバを含む。
【００５３】
520で、ライブストリーミングサーバが、新しい/余分な広告プリフェッチング基準をライブストリームに取り込む。たとえば、FLASH(登録商標)ストリームファイルにキューポイントを挿入する間、「時間=100」、「スポンサー=FORD」などの、いくつかの新しい/余分なプリフェッチング基準/パラメータが指定され得る。
【００５４】
530で、ライブストリーミングサーバが、クライアント上で広告プリフェッチング基準のデフォルトセットを更新するために、取り込まれた新しい/余分な広告プリフェッチング基準をクライアントに送信する。
【００５５】
540で、ライブストリーミングサーバが、広告プリフェッチング基準のセットに基づいて広告をプリフェッチするようにクライアントに通知する。
【００５６】
550で、ライブストリーミングサーバが、広告を表示するようにクライアントに通知する。
【００５７】
図6は、本技術のクライアントサイド実装形態によって実行され得る動作(必ずしも任意の特定の順序でなくてよい)を示す流れ図600を示している。本動作は、610で、クライアントがライブストリーミングサーバからライブストリームを受信するステップを含む。
【００５８】
620で、クライアントが、クライアント上で広告プリフェッチング基準のデフォルトセットを設定する。
【００５９】
630で、クライアントが、新しい/余分な広告プリフェッチング基準をライブストリームからパースする。たとえば、クライアントサイドでは、ActionScript(登録商標)はキューポイントイベント上に聴取者を有することができる。キューポイントが受信されると、ActionScript(登録商標)は、キューポイントで基準/パラメータを取得することができる。
【００６０】
640で、クライアントが、パースされた新しい/余分な広告プリフェッチング基準を介して、クライアント上で広告プリフェッチング基準のデフォルトセットを更新する。
【００６１】
650で、クライアントが、広告をプリフェッチするように、ライブストリームから通知を受信する。
【００６２】
660で、クライアントが、ライブストリームから広告を取得する。
【００６３】
670で、クライアントが、プリフェッチされた広告を表示するように、ライブストリームから通知を受信する。
【００６４】
680で、クライアントが、プリフェッチされた広告を表示する。
【００６５】
ライブストリーム内で広告をプリフェッチする技法の使用を通じて、本方法の一実装形態は、クライアント上で広告プリフェッチング基準のデフォルトセット(たとえば、年齢=ユーザ年齢、性別=ユーザの性別、プラットフォーム=アンドロイド、等)を設定して、広告プリフェッチング基準のセットに基づいてライブストリーミングサーバを介してクライアントに広告を挿入する。次に、クライアントを介してライブストリーミングから広告プリフェッチング基準のセットをパースして、クライアントサイドデバイスの基準/パラメータのローカル広告ターゲットセットを更新することによって、本方法は、ライブストリーミングサーバを介して、広告をプリフェッチするように、クライアントサイドデバイスに通知する。
【００６６】
ライブストリーミングサーバが、広告をプリフェッチするようにクライアントに通知すると、クライアントサイドは、広告をランダム遅延でフェッチするように構成される。次に、ライブストリーミングサーバが、広告を表示するようにクライアントに通知して、クライアントは、1)プリフェッチされた広告がある場合、プリフェッチされた広告を表示する、または、2)広告サーバから広告をフェッチして、広告を表示する、のいずれかを行うように構成される。
【００６７】
たとえば、Adobe Flash(商標)キューポイントを使用することによって広告プリフェッチングメカニズムを実装する実例として、図3および図4参照する。ユーザがクライアントサイドデバイス/ツール上でサーバサイドライブストリームを視聴すると、広告プリフェッチング基準のセットは、(たとえば、年齢=ユーザ年齢、性別=ユーザの性別、プラットフォーム=アンドロイド、等)を含む。次に、サーバサイドは、ライブストリーム内のイベントに「FORDの広告を表示する」を挿入して、次の広告がFORDからのものであるべきことを表示することができる。次に、ユーザがクライアントデバイス上でサーバサイドライブストリームを視聴して、クライアントがライブストリームから「FORDの広告を表示する」を受信すると、クライアントはプリフェッチング基準に新しい/余分な項目「FORDの広告を表示する」を追加する。次に、サーバサイドが100万個のモバイルデバイスに2012年1月20日の午前10時に広告をプリフェッチするように通知すると、それらの100万個のデバイスは、[午前10時から午前10時5分]内に広告をランダムにフェッチすることができ、すなわち、100万個のクエリが5分間にわたって650回ランダムに配信され、したがってQPSが100万から100万/(5*60秒)= 3,333QPSに減少し、それによって広告サーバ上の負荷が著しく減少する。後に、たとえば午前10時30分に、「広告を表示する」の基準/パラメータでキューポイントが受信されて、広告サーバを介して広告が表示される。
【００６８】
本明細書に記載の技術は、全体的な広告サーバQPSを減少させるために、すべてのオンラインライブストリームプロバイダによって利用され得る。本技術の多くの特徴および利点は明らかであり、当業者には数多くの修正形態および変形形態が容易に想起されるので、本明細書に記載の技術を、図示および記述された正確な構成および操作に限定することは望ましくなく、したがって、すべての適切な修正形態および均等物が用いられてよく、それらは本技術の範囲内である。
【００６９】
例示的なシステムアーキテクチャ
図7は、一実装形態によるプリフェッチング広告技術を使用することができる、ビデオホスティングサービス700のブロック図である。ビデオホスティングサービス700は、ビデオを格納して、クライアントデバイス735を介してユーザに提供するビデオホスティングサービスのシステムなどのシステムを表す。ビデオホスティングサービス700は、ユーザ間のビデオコンテンツの共有を容易にするために、ネットワーク740を介して、複数のコンテンツプロバイダ730およびクライアントデバイス735と通信する。ビデオホスティングサービス700は、様々な外部ウェブサイト725からデータをさらに取得することができる。コンテンツプロバイダ130からのビデオデータ、および(任意で)ウェブサイト725からのウェブページまたは他のデータが、ビデオホスティングサービス700によって実行される分類器訓練のための入力データとして機能する。図7を明確にするために、ウェブサイト725、コンテンツプロバイダ730、およびクライアントデバイス735の1つの例だけを示しているが、これらはそれぞれいくつでもよいという点に留意されたい。
【００７０】
一般的に、コンテンツプロバイダデバイス730のユーザは、ビデオコンテンツをビデオホスティングサービス700に提供して、ユーザは(通常は異なる)クライアントデバイス735(単に「クライアント」とも呼ばれる)を使用してそのコンテンツを閲覧する。実際には、コンテンツプロバイダデバイス730は、コンテンツを閲覧するためにも使用され得る。さらに、特定のコンテンツプロバイダデバイス730は、ビデオホスティングサービス700を操作するのと同じエンティティによって操作され得る。
【００７１】
コンテンツプロバイダデバイス730のユーザは、様々なコンテンツプロバイダ機能を実行する。コンテンツプロバイダ機能は、たとえば、ビデオをビデオホスティングサービス700にアップロードするステップ、ビデオホスティングサービス700によって格納されたビデオを編集するステップ、ビデオについてのメタデータ情報を編集するステップ、またはビデオに関連付けられるコンテンツプロバイダの嗜好を編集するステップを含み得る。
【００７２】
クライアントデバイス735は、ネットワーク740を介してビデオホスティングサービス700に接続するために、およびビデオを表示するために、ウェブブラウザまたは内蔵クライアントアプリケーションなどのクライアントソフトウェアを実行するコンピューティングデバイスである。クライアントサーバ735は、たとえば、パーソナルコンピュータ、携帯情報端末、セルラー、モバイル、またはスマートフォン、テレビ「セットトップボックス」、あるいはラップトップコンピュータでよい。いくつかの実装形態では、クライアント735は、たとえばAdobe Systems, Inc.からのFLASHプレイヤ、あるいはビデオホスティングサービス700で使用されるビデオファイルフォーマットに適合された他の任意のプレイヤなどの、埋め込まれたビデオプレイヤを含む。
【００７３】
本明細書で使用される「クライアント」および「コンテンツプロバイダ」という用語は、その用語が使用される文脈から明らかなように、ソフトウェアを提供するクライアントおよびコンテンツを提供する機能、ソフトウェアが実行されるハードウェアデバイス、あるいはソフトウェアおよび/またはハードウェアを操作するエンティティを指す場合がある点に留意されたい。
【００７４】
ウェブサイト725は、ネットワーク740を介してビデオホスティングサービス700にアクセス可能な1つまたは複数のウェブページを備える。ウェブページは、たとえば、HTMLなどのテキストコンテンツを備える。ウェブサイトは、一般的なテキスト文書、プレゼンテーション、オーディオファイル、画像ファイル、および同等物などの、さらなるタイプのメディアコンテンツを利用可能にすることができる。
【００７５】
ネットワーク740は、一般的にはインターネットであるが、これに限定されないが、LAN、MAN、WAN、モバイルワイヤードまたはワイヤレスネットワーク、プライベートネットワーク、あるいは仮想プライベートネットワークを含む、任意のネットワークでよい。
【００７６】
ビデオホスティングサービス700は、ビデオ分類器訓練の際に、コンテンツプロバイダ730からの(および任意で、ウェブサイト725からの)ビデオデータ上で動作する。ビデオホスティングサービスは、フロントエンドインターフェース702、ビデオサービングモジュール704、ビデオ検索モジュール706、アップロードサーバ708、およびビデオリポジトリ716を含む。ファイヤウォール、ロードバランサ、認証サーバ、アプリケーションサーバ、フェイルオーバサーバ、サイト管理ツールなどの他の従来の機能は、ビデオホスティングサービス700の機能をより明確に示すために図示されていない。
【００７７】
本明細書では、「モジュール」という用語は、指定された機能を提供するための計算ロジックを指す。モジュールは、ハードウェア、ファームウェア、および/またはソフトウェアに実装され得る。本明細書に記載の名前を付けられたモジュールは、本開示の一実装形態を表し、他の実装形態は他のモジュールを含み得ることが理解されよう。さらに、他の実装形態は、本明細書に記載のモジュールを欠いている、および/または、説明された機能を異なる方法でモジュール間に配信する場合がある。さらに、複数のモジュールに起因する機能性を、単一のモジュールに組み込むことができる。本明細書に記載のモジュールがソフトウェアとして実装される場合、モジュールはスタンドアロン型プログラムとして実装されてもよく、また他の手段を介して、たとえば、より大きなプログラムの一部として、複数の別個のプログラムとして、あるいは1つまたは複数の静的または動的にリンクされたライブラリとして実装されてもよい。これらのソフトウェア実装形態のいずれかでは、サービス700のコンピュータ可読永続記憶装置にモジュールが格納され、メモリにロードされ、サービスのコンピュータの1つまたは複数のプロセッサによって実行される。上記は、本明細書に「サーバ」として記載されるコンポーネントにさらに適合する。明らかになるように、本明細書に記載の様々なデータ処理操作は、本開示の実装形態を実施するために、システム700などのコンピュータシステムの操作を必要とすることに関して十分に複雑かつ時間がかかるものである。
【００７８】
ビデオホスティングサービス700のアップロードサーバ708が、コンテンツプロバイダ730からビデオコンテンツを受信する。受信されたコンテンツは、ビデオリポジトリ716に格納される。クライアント735からの要求に応答して、ビデオサービングモジュール704が、ビデオリポジトリ716からクライアントにビデオデータを提供する。クライアント735は、関心のあるキーワードを含むテキストクエリを入力することなどによって、ビデオ検索モジュール706を使用して、ビデオリポジトリ716に格納された関心のあるビデオを検索することもできる。フロントエンドインターフェース702は、クライアント735とビデオホスティングサービス700の様々なコンポーネントとの間にインターフェースを提供する。
【００７９】
ビデオリポジトリ716は、コンテンツプロバイダ730によって提出されたビデオ717のセットを含む。ビデオリポジトリ716は、たとえば何万もの、または何億もの、任意の数のビデオ717を含むことができる。ビデオリポジトリ716は、インデックス作成のためのデータベースやファイルシステム、およびビデオをインデックス付けして検索するためのインデックス作成システムを使用して実装される。それぞれのビデオ717は、それぞれの他のビデオから区別する、テキスト名(たとえば、文字列「a91qrx8」)、整数、またはビデオを一意に菜漬する他の任意の方法などの、一意のビデオ識別子を有する。ビデオ717は、AVI、MP4、またはMOVなどの様々なコンテナにパッケージ化することができ、また、MPEG-2、MPEG-4、H.264、および同等物などのビデオコーデックを使用して符号化することができる。それらのオーディオビジュアルコンテンツに加えて、ビデオ717は、ビデオをアップロードしたコンテンツプロバイダ730によって提供される、またはコンポーネントビデオホスティングサービス700によって行われたビデオの分析によって取得される、タイトル、記述、および/またはタグ等のテキストメタデータなどの、関連メタデータ717Aをさらに有する。
【００８０】
サービス700は、単一のコンピュータ、またはクラウドベースのコンピュータ実装形態を含むコンピュータのネットワークを使用して実装され得る。コンピュータは、1つまたは複数の高性能CPU、および1ギガ以上のメインメモリ、ならびに500ギガバイトから2テラバイトのコンピュータ可読メモリ、永続ストレージを含み、LINUX（登録商標）またはその変形などのオペレーティングシステム上で実行している、サーバクラスコンピュータであることが望ましい。本明細書に記載のサービス700の操作は、本明細書に記載の機能を実行するために、ハードウェアを通じて、あるいはコンピュータストレージにインストールされてそのようなサーバのプロセッサによって実行されるコンピュータプログラムを通じて制御され得る。サービス700は、ネットワークインターフェースおよびプロトコル、データ入力のための入力デバイス、ならびにデータの表示、印刷、または他の提示のための出力デバイスを含む、本明細書に記載の操作に必要な他のハードウェア要素を含む。
【００８１】
本開示は、1つの可能な実装形態を特に詳細に説明してきた。当業者は、本開示が他の実装形態で実施され得ることを理解できるだろう。第1に、コンポーネントおよび変数の特定のネーミング、用語の大文字化、属性、データ構造、あるいは他の任意のプログラミングまたは構造的側面は、必須でも重要でもなく、メカニズムまたは特徴は、異なる名称、フォーマット、またはプロトコルを有してもよい。また、本明細書に記載の様々なシステムコンポーネント間の機能性の特定の分割は例示的なものにすぎず、必須ではない。単一のシステムコンポーネントによって実行される機能は、代わりに複数のコンポーネントによって実行されてもよく、複数のコンポーネントによって実行される機能は、代わりに単一のコンポーネントによって実行されてもよい。
【００８２】
上記の説明のいくつかの部分は、情報に対する操作のアルゴリズムおよび記号表現の特徴を示している。これらのアルゴリズム記述および表現は、仕事の本質を他の当業者に最も効果的に伝えるために、データ処理分野の当業者によって使用される手段である。これらの操作は、機能的または論理的に説明されるが、コンピュータプログラムによって実装されるものと理解される。さらに、一般性を失うことなく、モジュールとして、または機能名によって動作のこれらの構成を参照することが時には便利であることも証明されている。
【００８３】
特に断りのない限り、上記の説明から明らかなように、本明細書を通じて、「決定する(determining)」、または「表示する(displaying)」などの用語を利用する記述は、コンピュータシステムメモリまたはレジスタ、あるいはそのような情報ストレージ、伝送またはディスプレイデバイス内の物理(電子)量として表されるデータを操作および変換する、コンピュータシステム、または同様の電子コンピューティングデバイスの動作および処理を指すことが理解される。
【００８４】
本開示のいくつかの態様は、アルゴリズムの形で本明細書に記載の処理ステップおよび命令を含む。本開示の処理ステップおよび命令は、ソフトウェア、ファームウェア、またはハードウェアに組み込まれ得ること、またソフトウェアに組み込まれる場合、リアルタイムのネットワークオペレーティングシステムによって使用される異なるプラットフォーム上に常駐するために、またはそこから操作されるために、ダウンロードされ得る点に留意されたい。
【００８５】
本開示は、本明細書の動作を実行するための装置にも関する。この装置は、必要な目的のために特に構築されてもよく、コンピュータによってアクセスされ得るコンピュータ可読媒体に格納されたコンピュータプログラムによって選択的に起動または再構成された汎用コンピュータを備えてもよい。そのようなコンピュータプログラムは、これに限定されないが、フロッピー（登録商標）ディスク、光ディスク、CD-ROM、光磁気ディスクを含む任意のタイプのディスク、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、特定用途向け集積回路(ASIC)、あるいは電子命令の格納に適した任意のタイプのコンピュータ可読記憶媒体などを含むコンピュータ可読記憶媒体に格納することができ、それぞれがコンピュータシステムバスに結合されている。さらに、本明細書で参照されるコンピュータは、単一のプロセッサを含んでもよく、増加する計算能力のために複数のプロセッサ設計を使用するアーキテクチャでもよい。
【００８６】
本明細書に示されるアルゴリズムおよび操作は、本質的に、どの特定のコンピュータまたは他の装置にも関連していない。様々な汎用システムは、本明細書の教示によってプログラムで使用されてもよく、必要な方法ステップを実行するためにより特化した装置を構築するために便利であることがわかってもよい。これらの様々なシステムに必要な構造は、同等の変形形態とともに、当業者には明らかだろう。さらに、本開示は任意の特定のプログラミング言語を参照して説明されていない。本明細書に記載の本発明の教示を実装するために、様々なプログラミング言語が使用されてよく、特定の言語への参照は、有効化の発明(invention of enablement)、および本発明の最良の形態のために提供されることが理解されよう。
【００８７】
本開示は、多数のトポロジーを介する様々なコンピュータネットワークシステムによく適している。この分野内では、大規模ネットワークの構成および管理は、インターネットなどのネットワークを介して異種のコンピュータおよび記憶装置に通信可能に接続されている、記憶装置およびコンピュータを備える。
【００８８】
これは、本明細書で使用される言語は、主として読みやすさ、および説明の目的で選択されており、本発明の主題を詳述または限定するために選択されていない点に留意されたい。したがって、本開示は、以下の特許請求の範囲で説明される装置、方法、およびコンピュータ可読記憶媒体の範囲を限定することではなく、例示することを意図している。
【００８９】
最後に、本技術の多くの特徴および利点は、詳述された明細書から明らかであり、したがって、本技術の真の精神および範囲内に入る、本技術のすべてのそのような特徴および利点を添付の特許請求の範囲によってカバーすることが意図される。さらに、当業者には数多くの修正形態および変形形態が容易に想起されるので、本技術を、図示および記述された正確な構成および操作に限定することは望ましくなく、したがってすべての適切な修正形態および均等物が用いられてよく、それらは本技術の範囲内である。
【００９０】
本明細書に添付の特許請求の範囲では、特許請求において「〜のための手段(means for)」または「〜のためのステップ(steps for)」という用語が使用される場合のみ、発明者は米国特許法第112条第6段落を適用する。そのような用語が特許請求の範囲において使用されない場合、発明者は、特許請求の範囲が、本明細書に記載の対応する構造、物質、または動作(およびそれらの均等物)を、米国特許法第112条第6段落によってカバーするように構築されることを意図しない。
【符号の説明】
【００９１】
200  プロセッサ
202  広告リポジトリ
204  ライブストリームフィーダ
206  広告フィーダ
208  クライアント通知器
210  広告挿入マネージャ
212  プリフェッチされた広告リポジトリストレージ
212  プリフェッチされた広告リポジトリデータベース
214  広告受信マネージャ
216  ディスプレイコンポーネント
218  プロセッサ
220  入力/出力コンポーネント
222  サービスプロバイダ
223  広告プリフェッチング基準
224  プリフェッチウィッシュリスト
226  キャリア要求リスト
228  推奨されるプリフェッチリスト
230  人気のあるアクセスリスト
232  クライアントプロファイル
234  広告されたメディアコンテンツ
236  通信コンポーネント
238  プロセッサ
240  広告コンテンツデータベース
【図１】
0006284521.tif 000002
【図２Ａ】
0006284521.tif 000003
【図２Ｂ】
0006284521.tif 000004
【図３】
0006284521.tif 000005
【図４】
0006284521.tif 000006
【図５】
0006284521.tif 000007
【図６】
0006284521.tif 000008
【図７】
0006284521.tif 000009