(57)【特許請求の範囲】
【請求項１】
複数のクライアントデバイスにコンテンツを提供するためのシステムであって、プロセッサとメモリデバイスとを備えるコンピューティングデバイスを備え、前記プロセッサが分類器を実行し、前記分類器が、
複数のクライアントデバイスに送信された第1のコンテンツストリームを受信することであって、前記第1のコンテンツストリームが、コンテンツセグメントと、セカンダリコンテンツスロットとを備える、受信することと、
前記第1のコンテンツストリームに関連付けられる複数のセカンダリコンテンツスロットについての期間を備えるアレイを受信することと、
前記第1のコンテンツストリームについて複数のクラスを決定することであって、前記複数のクラスの各々が、異なる時間期間に関連付けられる、決定することと、
前記第1のコンテンツストリームを同時に受信している前記複数のクライアントデバイスの数を決定することと、
前記複数のクライアントデバイスの数が所定のしきい値を上回っている場合、
前記第1のコンテンツストリームに関連付けられる複数のセカンダリコンテンツスロットについての期間を備える前記アレイに基づいて、前記第1のコンテンツストリームの前記セカンダリコンテンツスロットを前記複数のクラスのうちの第1のクラスに分類することと、
前記セカンダリコンテンツスロットが分類された前記複数のクラスのうちの前記第1のクラスの時間期間に基づいて、前記第1のコンテンツストリームの前記セカンダリコンテンツスロット中に表示するための、前記複数のクライアントデバイスの各々のためのセカンダリコンテンツ項目を検索することと
前記複数のクライアントデバイスの数が前記所定のしきい値を下回っている場合、
前記セカンダリコンテンツ項目のための前記セカンダリコンテンツスロットの長さの前記期間を受信することと、
前記第1のコンテンツストリームの前記セカンダリコンテンツスロットに入れるために、前記セカンダリコンテンツ項目のための前記セカンダリコンテンツスロットの長さの前記期間に対応する第2のコンテンツ項目を選択することと
を行うように構成される、システム。
【請求項２】
前記分類器が、
前記セカンダリコンテンツスロットを前記複数のクラスのうちの前記第1のクラスに前記分類するための信頼度スコアを計算することと、
前記信頼度スコアが所定のしきい値を下回っていると決定することと、
前記信頼度スコアが前記所定のしきい値を下回っているという前記決定に応答して、前記第1のコンテンツストリームの前記セカンダリコンテンツスロットに入れるための、所定の時間期間を有する第2のコンテンツ項目を選択することと
を行うようにさらに構成される、請求項1に記載のシステム。
【請求項３】
前記分類器が、
前記第1のコンテンツストリームの発行者識別子および前記第1のコンテンツストリームの表示時間期間を受信することと、
前記発行者識別子および前記表示時間期間に基づいて前記セカンダリコンテンツスロットを前記複数のクラスのうちの1つに分類することと
を行うようにさらに構成される、請求項1に記載のシステム。
【請求項４】
前記分類器が、
前記第1のコンテンツストリームのコンテンツストリーム特性を決定することと、
前記第1のコンテンツストリームについて、前記コンテンツストリーム特性に基づいて前記複数のクラスを決定することと
を行うようにさらに構成される、請求項1に記載のシステム。
【請求項５】
前記分類器が、長期短期ニューラルネットワークを備える、請求項1に記載のシステム。
【請求項６】
前記分類器が、
前記セカンダリコンテンツスロットの期間を受信することと、
前記セカンダリコンテンツスロットの前記期間を含むように前記アレイを更新することと
を行うようにさらに構成される、請求項1に記載のシステム。
【請求項７】
コンテンツを複数のクライアントデバイスに提供するための方法であって、
コンピューティングデバイスのプロセッサによって実行される分類器によって、複数のクライアントデバイスに送信された第1のコンテンツストリームを受信するステップであって、前記第1のコンテンツストリームが、コンテンツセグメントと、セカンダリコンテンツスロットとを備える、ステップと、
前記分類器によって、前記第1のコンテンツストリームに関連付けられる複数のセカンダリコンテンツスロットについての期間を備えるアレイを受信するステップと、
前記分類器によって、前記第1のコンテンツストリームについて複数のクラスを決定するステップであって、前記複数のクラスの各々が、異なる時間期間に関連付けられる、ステップと、
前記分類器によって、前記第1のコンテンツストリームを同時に受信している前記複数のクライアントデバイスの数を決定するステップと、
前記複数のクライアントデバイスの数が所定のしきい値を上回っている場合、
前記分類器によって、前記第1のコンテンツストリームに関連付けられる複数のセカンダリコンテンツスロットについての期間を備える前記アレイに基づいて、前記セカンダリコンテンツスロットを前記複数のクラスのうちの第1のクラスに分類するステップと、
前記第1のクラスの時間期間に基づいて、前記第1のコンテンツストリームの前記セカンダリコンテンツスロット中に表示するための、前記複数のクライアントデバイスの各々のためのセカンダリコンテンツ項目を検索するステップと、
前記複数のクライアントデバイスの数が前記所定のしきい値を下回っている場合、
前記セカンダリコンテンツ項目のための前記セカンダリコンテンツスロットの長さの前記期間を受信するステップと、
前記第1のコンテンツストリームの前記セカンダリコンテンツスロットに入れるために、前記セカンダリコンテンツ項目のための前記セカンダリコンテンツスロットの長さの前記期間に対応する第2のコンテンツ項目を選択するステップと
を備える、方法。
【請求項８】
前記分類器によって、前記セカンダリコンテンツスロットを前記複数のクラスのうちの前記第1のクラスに前記分類するための信頼度スコアを計算するステップと、
前記信頼度スコアが所定のしきい値を下回っていると決定するステップと、
前記信頼度スコアが前記所定のしきい値を下回っているという前記決定に応答して、前記第1のコンテンツストリームの前記セカンダリコンテンツスロットに入れるための、所定の時間期間を有する第2のコンテンツ項目を選択するステップと
をさらに備える、請求項7に記載の方法。
【請求項９】
前記分類器によって、前記第1のコンテンツストリームの発行者識別子および前記第1のコンテンツストリームの表示時間期間を受信するステップと、
前記プロセッサによって実行される前記分類器によって、前記発行者識別子および前記表示時間期間に基づいて前記セカンダリコンテンツスロットを前記複数のクラスのうちの1つに分類するステップと
をさらに備える、請求項7に記載の方法。
【請求項１０】
前記第1のコンテンツストリームのコンテンツストリーム特性を決定するステップと、
前記分類器によって、前記第1のコンテンツストリームについて、前記コンテンツストリーム特性に基づいて前記複数のクラスを決定するステップと
をさらに備える、請求項7に記載の方法。
【請求項１１】
前記分類器が、長期短期ニューラルネットワークを備える、請求項7に記載の方法。
【請求項１２】
前記セカンダリコンテンツスロットの期間を受信するステップと、
前記セカンダリコンテンツスロットの前記期間を含むように前記アレイを更新するステップと
をさらに備える、請求項7に記載の方法。
【請求項１３】
複数のクライアントデバイスにコンテンツを提供するためのシステムであって、プロセッサとメモリデバイスとを備えるコンピューティングデバイスを備え、前記プロセッサが分類器を実行し、前記分類器が、長期短期ニューラルネットワークを備え、前記分類器が、
複数のクライアントデバイスに送信された第1のコンテンツストリームを受信することであって、前記第1のコンテンツストリームが、コンテンツセグメントと、セカンダリコンテンツスロットとを備える、受信することと、
前記第1のコンテンツストリームに関連付けられる複数のセカンダリコンテンツスロットについての期間を備えるアレイを受信することと、
前記第1のコンテンツストリームについて複数のクラスを決定することであって、前記複数のクラスの各々が、異なる時間期間に関連付けられる、決定することと、
前記第1のコンテンツストリームを同時に受信している前記複数のクライアントデバイスの数を決定することと、
前記複数のクライアントデバイスの数が所定のしきい値を上回っている場合、
前記第1のコンテンツストリームに関連付けられる複数のセカンダリコンテンツスロットについての期間を備える前記アレイに基づいて、前記第1のコンテンツストリームの前記セカンダリコンテンツスロットを前記複数のクラスのうちの第1のクラスに分類することと、
前記セカンダリコンテンツスロットが分類された前記複数のクラスのうちの前記第1のクラスの時間期間に基づいて、セカンダリコンテンツ項目を検索することと
前記複数のクライアントデバイスの数が前記所定のしきい値を下回っている場合、
前記セカンダリコンテンツ項目のための前記セカンダリコンテンツスロットの長さの前記期間を受信することと、
前記第1のコンテンツストリームの前記セカンダリコンテンツスロットに入れるために、前記セカンダリコンテンツ項目のための前記セカンダリコンテンツスロットの長さの前記期間に対応する第2のコンテンツ項目を選択することと
を行うように構成される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、その全体が参照により本明細書に組み入れられる、2017年2月13日に出願された「Predicting Break Durations in Content Streams」と題するPCT出願第PCT/US2017/017687号の利益および優先権を主張する。
【背景技術】
【０００２】
コンテンツプロバイダは、遠隔クライアントデバイスに媒体をストリーミングすることができる。ストリームは、セカンダリコンテンツに対する中断を含むことがあり、セカンダリコンテンツは、前記クライアントデバイスによる要求に応じて、セカンダリサーバからクライアントデバイスに提供され得る。セカンダリコンテンツに対する中断が十分に事前に識別されるようにストリームコンテンツがあらかじめ定められている場合、クライアントデバイスは、同様に十分に事前にコンテンツを要求し受信し得る。しかしながら、ストリームコンテンツが動的またはライブの場合、セカンダリサーバは事前に中断の長さを知り得ず、対応する長さのセカンダリコンテンツを事前に選択して配信することができない場合がある。セカンダリサーバが中断の長さを知らされていれば、セカンダリサーバはクライアントデバイスに配信するためにセカンダリコンテンツ項目を検索することができる。この遅延のために、多数のクライアントデバイスが同時にセカンダリコンテンツを要求する場合、セカンダリサーバは要求を効率的に、または時間内に満たすことができない場合がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
クライアントデバイスからの多数の要求を満たすことができるスケーラブルなシステムを提供するために、セカンダリサーバが、第1のコンテンツストリームにおける中断の期間の動的推定値を生成し、それらの中断によりよく一致するセカンダリコンテンツストリームが事前に選択され生成され得るようする。さらに、そのような推定値は、第1のコンテンツストリーム内に提供される任意の帯域内マーカの前に生成され得、複数のユーザデバイスの各々に固有のセカンダリコンテンツストリームを生成およびプリキャッシュするためのより長いウィンドウを提供する。さらに、第1のコンテンツが複数の第1のユーザによって同時に視聴されることを可能にする中断が決定され得る。
【０００４】
本発明の第1の態様では、複数のクライアントデバイスにコンテンツを提供するためのシステムであって、プロセッサとメモリデバイスとを備えるコンピューティングデバイスを備え、プロセッサが分類器を実行するシステムが提供される。分類器は、複数のクライアントデバイスに送信された第1のコンテンツストリームの表示を受信することであって、第1のコンテンツストリームが、コンテンツ項目およびセカンダリコンテンツ項目スロットを備える、受信することと、コンテンツストリームに関連付けられる複数のセカンダリコンテンツ項目スロットの期間を備えるアレイを受信することと、第1のコンテンツストリームについて複数のクラスを決定することであって、複数のクラスの各々が、対応する複数の時間期間の異なる時間期間に関連付けられる、決定することと、コンテンツストリームに関連付けられる複数のセカンダリコンテンツ項目スロットの期間を備えるアレイに基づいて、第1のコンテンツストリームのセカンダリコンテンツ項目スロットを複数のクラスのうちの第1のクラスに分類することと、セカンダリコンテンツ項目スロットが分類された複数のクラスのうちの第1のクラスの時間期間に基づいて、セカンダリコンテンツ項目を検索することとを行うように構成される。
【０００５】
任意で、第1のコンテンツストリームのセカンダリコンテンツ項目スロット中に表示するために、複数のクライアントデバイスの各々について、異なるセカンダリコンテンツ項目が検索され得る。
【０００６】
たとえば、異なるコンテンツ項目が異なるユーザに送信されてもよいが、各コンテンツ項目は第1のクラスに属する。
【０００７】
分類器は、セカンダリコンテンツ項目スロットを複数のクラスのうちの第1のクラスに分類するための信頼度スコアを計算することと、信頼度スコアが所定のしきい値を下回っていると決定することと、信頼度スコアが所定のしきい値を下回っているという決定に応答して、第1のコンテンツストリームのセカンダリコンテンツ項目スロットに入れるためのデフォルト時間期間を有する第2のコンテンツ項目を選択することとを行うようにさらに構成される。
【０００８】
分類器は、複数のクライアントデバイスの数が所定のしきい値を下回っていると決定することと、セカンダリコンテンツ項目のためのセカンダリコンテンツ項目スロットの長さの期間の表示を受信することと、複数のクライアントデバイスの数が所定のしきい値を下回っているという決定に応答して、セカンダリコンテンツ項目のためのセカンダリコンテンツ項目スロットの長さの期間の表示に応答して、第1のコンテンツストリームのセカンダリコンテンツ項目スロットに入れるための第2のコンテンツ項目を選択することとを行うようにさらに構成され得る。
【０００９】
分類器は、第1のコンテンツストリームの発行者識別子および第1のコンテンツストリームの表示時間を受信することと、発行者識別子および表示時間に基づいてセカンダリコンテンツ項目スロットを複数のクラスのうちの1つに分類することとを行うようにさらに構成され得る。
【００１０】
分類器は、発行者識別子に基づいて分類モデルの1つまたは複数の重みを選択するようにさらに構成され得る。
【００１１】
アレイ内の期間の各々は、第1のデータストリーム内の以前に測定されたスロットの時間期間であり得る。
【００１２】
分類器は、第1のデータストリームのコンテンツストリーム特性を決定することと、第1のコンテンツストリームについて、コンテンツストリーム特性に基づいて複数のクラスを決定することとを行うようにさらに構成され得る。
【００１３】
分類器は、長期短期ニューラルネットワークを備え得る。
【００１４】
分類器は、セカンダリコンテンツ項目スロットの期間を受信することと、セカンダリコンテンツ項目スロットの期間を含むようにアレイを更新することとを行うようにさらに構成され得る。
【００１５】
本発明の第2の態様では、コンテンツを複数のクライアントデバイスに提供するための方法が提供される。本方法は、コンピューティングデバイスのプロセッサによって実行される分類器によって、複数のクライアントデバイスに送信された第1のコンテンツストリームの表示を受信するステップであって、第1のコンテンツストリームが、コンテンツ項目およびセカンダリコンテンツ項目スロットを備える、ステップと、分類器によって、コンテンツストリームに関連付けられる複数のセカンダリコンテンツ項目スロットの期間を備えるアレイを受信するステップと、分類器によって、第1のコンテンツストリームについて複数のクラスを決定するステップであって、複数のクラスの各々が、対応する複数の時間期間の異なる時間期間に関連付けられる、ステップと、分類器によって、コンテンツストリームに関連付けられる複数のセカンダリコンテンツ項目スロットの期間を備えるアレイに基づいて、セカンダリコンテンツ項目のスロットを複数のクラスのうちの第1のクラスに分類するステップと、第1のクラスの時間期間に基づいて、セカンダリコンテンツ項目を検索するステップとを備える。
【００１６】
任意で、第1のコンテンツストリームのセカンダリコンテンツ項目スロット中に表示するために、複数のクライアントデバイスの各々について、異なるセカンダリコンテンツ項目が検索され得る。
【００１７】
たとえば、異なるコンテンツ項目が異なるユーザに送信されてもよいが、各コンテンツ項目は第1のクラスに属する。
【００１８】
本方法は、分類器によって、セカンダリコンテンツ項目スロットを複数のクラスのうちの第1のクラスに分類するための信頼度スコアを計算するステップと、信頼度スコアが所定のしきい値を下回っていると決定するステップと、信頼度スコアが所定のしきい値を下回っているという決定に応答して、第1のコンテンツストリームのセカンダリコンテンツ項目スロットに入れるためのデフォルト時間期間を有する第2のコンテンツ項目を選択するステップとをさらに備え得る。
【００１９】
本方法は、複数のクライアントデバイスの数が所定のしきい値を下回っていると決定するステップと、セカンダリコンテンツ項目スロットの長さの期間の表示を受信するステップと、複数のクライアントデバイスの数が所定のしきい値を下回っているという決定に応答して、セカンダリコンテンツ項目のためのセカンダリコンテンツ項目スロットの長さの期間の表示に応答して、第1のコンテンツストリームのセカンダリコンテンツ項目スロットに入れるための第2のコンテンツ項目を選択するステップとをさらに備え得る。
【００２０】
本方法は、分類器によって、第1のコンテンツストリームの発行者識別子および第1のコンテンツストリームの表示時間を受信するステップと、データ処理システムのプロセッサによって実行される分類器によって、発行者識別子および表示時間に基づいてセカンダリコンテンツ項目スロットを複数のクラスのうちの1つに分類するステップとを行うようにさらに構成され得る。
【００２１】
本方法は、発行者識別子に基づいて分類モデルの1つまたは複数の重みを選択するステップをさらに備え得る。
【００２２】
アレイ内の期間の各々は、第1のデータストリーム内の以前のセカンダリコンテンツ項目スロットの時間期間であり得る。
【００２３】
本方法は、第1のデータストリームのコンテンツストリーム特性を決定するステップと、分類器によって、第1のコンテンツストリームについて、コンテンツストリーム特性に基づいて複数のクラスを決定するステップとをさらに備え得る。
【００２４】
分類器は、長期短期ニューラルネットワークを備え得る。
【００２５】
本方法は、セカンダリコンテンツ項目スロットの期間を受信するステップと、セカンダリコンテンツ項目スロットの期間を含むようにアレイを更新するステップとをさらに備え得る。
【００２６】
本発明の第3の態様では、複数のクライアントデバイスにコンテンツを提供するためのシステムであって、プロセッサとメモリデバイスとを備えるコンピューティングデバイスを備え、プロセッサが分類器を実行するシステムが提供される。分類器は、長期短期ニューラルネットワークを含む。分類器は、複数のクライアントデバイスに送信された第1のコンテンツストリームの表示を受信することであって、第1のコンテンツストリームが、コンテンツ項目およびセカンダリコンテンツ項目スロットを備える、受信することと、コンテンツストリームに関連付けられる複数のセカンダリコンテンツ項目スロットの期間を備えるアレイを受信することと、第1のコンテンツストリームについて複数のクラスを決定することであって、複数のクラスの各々が、対応する複数の時間期間の異なる時間期間に関連付けられる、決定することと、コンテンツストリームに関連付けられる複数のセカンダリコンテンツ項目スロットの期間を備えるアレイに基づいて、第1のコンテンツストリームのセカンダリコンテンツ項目スロットを複数のクラスのうちの第1のクラスに分類することと、セカンダリコンテンツ項目スロットが分類された複数のクラスのうちの第1のクラスの時間期間に基づいて、セカンダリコンテンツ項目を検索することとを行うように構成される。
【００２７】
図面の、上記の一般的な説明および以下の説明、ならびに詳細な説明は、例示的かつ説明的なものであり、特許請求の範囲に記載された本発明のさらなる説明を提供することが意図されている。他の目的、利点、および新規な特徴は、以下の図面の簡単な説明および本発明の詳細な説明から当業者には容易に明らかになるであろう。
【００２８】
当業者であれば、本明細書に記載されている図面は例示目的のみのためであることを理解するであろう。いくつかの例では、説明された実装形態の理解を容易にするために、説明された実装形態の様々な態様が誇張または拡大されて示されることがあることを理解されたい。図面において、同様の参照文字は、一般に、様々な図面全体にわたって、同様の特徴、機能的に類似および/または構造的に類似の要素を指す。図面は必ずしも一定の縮尺で描かれているわけではなく、むしろ教示の原理を説明することに重点が置かれている。図面は、決して本教示の範囲を限定することが意図されるものではない。本システムおよび方法は、添付の図面を参照しながら以下の例示的な説明からよりよく理解されるであろう。
【図面の簡単な説明】
【００２９】
【図１】コンテンツストリームにおける中断期間を予測するためのシステムのブロック図である。
【図２】図1に示されるシステムを用いてストリーミングされ得るコンテンツストリームの実装形態のブロック図である。
【図３】図1に示されるシステムを使用してコンテンツスロット期間を予測するための方法のブロック図である。
【図４】コンピュータシステムの実装形態のブロック図である。
【発明を実施するための形態】
【００３０】
説明された概念はいかなる特定の実装方法にも限定されないので、上記で紹介され以下でより詳細に説明される様々な概念は、任意の多数の方法で実装され得る。特定の実装形態および適用の例は、主に例示目的で提供されている。
【００３１】
トラフィック急増中は、リニア/ライブの動的コンテンツ挿入(DCI)を多数のデバイスに提供することは困難な場合がある。各視聴者が選択されたセカンダリコンテンツを受信することを可能にするために、ビデオストリームの帯域内で中断がアナウンスされたとき、DCIシステムは通常、Nが同時視聴者の数である場合、N個の固有のセカンダリコンテンツ要求を実行するためにかかる時間は10秒未満である。Nが十分に大きい(たとえば、100,000を超える)場合、セカンダリコンテンツシステムは圧倒される可能性がある。いくつかの実装形態では、システムはいくつかの要求の後に応答を抑制することができる。これにより、同時視聴者にストリーミングするコンテンツスロットの充填率が低くなる可能性がある。
【００３２】
トラフィック急増を軽減するための1つの可能な方法は、次のセカンダリコンテンツ中断(または、オープンコンテンツスロット)のためにコンテンツをプリフェッチすることである。適切なコンテンツ項目を検索するために、システムはコンテンツスロットの長さを知る必要がある。事前にスケジューリングされたコンテンツ(たとえば、プロデューサによってあらかじめ定められた、知られている長さのセカンダリコンテンツ中断を有する放送テレビ)では、これは簡単であり得る。しかしながら、ライブのまたはユーザ制作のコンテンツでは、コンテンツスロットの長さは、5秒以下などの、コンテンツスロットの前の小さなウィンドウ内でのみサーバまたはクライアントに利用可能であり、システムがコンテンツをプリフェッチするための能力を制限する。本システムは、高度な機械学習モデルを使用して、チャネルにわたるオープンコンテンツスロット期間を予測することができる。
【００３３】
ユーザデバイス上での再生のためのコンテンツストリームは、1回または複数回以上の再生中断を含み得、その結果、中断中の再生のためにセカンダリコンテンツストリームが動的にコンテンツストリームに挿入され得る。一般に、マーカは、次の中断の期間を示すためにコンテンツストリームの帯域内メッセージングまたはメタデータに含まれ、それにより、セカンダリコンテンツストリームのプロバイダは正しい期間(すなわち、中断の期間と最もよく一致する期間)のセカンダリコンテンツストリームを提供することができる。帯域内マーカは通常、中断の直前に提供されるので、セカンダリコンテンツのプロバイダは、コンテンツストリームへの動的挿入のためのセカンダリコンテンツを準備するために対応する短いウィンドウを有する。短いウィンドウは一般に、単一のセカンダリコンテンツストリームがユーザデバイスの各々に提供されるべきであるという問題を提示していない。しかしながら、各ユーザデバイスに、そのユーザデバイスに固有の(たとえば、そのユーザデバイスのユーザに固有の)セカンダリコンテンツストリームを提供することが望ましい場合がある。インターネットおよび関連技術は、地理的に離れたユーザが「ソーシャルビューイング」に従事することを可能にし、それによって(互いに知られているかもしれない)ユーザのグループは同時に第1のコンテンツストリームを見る。コンテンツストリームの視聴中に、第1のコンテンツストリームの中断中にグループ内の他のユーザに再生するためのセカンダリコンテンツストリームを生成するために、グループ内の1人または複数のユーザの反応が取得され得る。したがって、ソーシャルビューイング構成においては、ユーザは、彼らに固有のセカンダリコンテンツストリーム(たとえば、自分のグループ内の他のユーザに基づくセカンダリコンテンツストリーム)を提供され得る。これは、第1のコンテンツストリーム内の帯域内マーカによって提供される短期間のウィンドウに対応するのは困難であり得る。
【００３４】
他の実装形態では、第1のコンテンツストリームは所定の中断を含まなくてもよい。しかしながら、第1のコンテンツストリームに中断を提供し、中断中の再生のためにセカンダリコンテンツストリームを提供することが望ましい場合がある。ソーシャルビューイング中、特定のソーシャルビューインググループのユーザは、異なる帯域幅の接続を介して第1のコンテンツストリームをストリーミングしている可能性があり、したがって異なるバッファ要件を有する可能性がある。したがって、ソーシャルビューインググループの各ユーザに対して第1のコンテンツストリームの視聴が同期されることを可能にする、第1のコンテンツストリームへの中断の期間を決定することが望ましい場合がある。本明細書の教示から当業者に明らかになるように、第1のコンテンツストリームにおける中断の期間の決定は、ソーシャルビューイング以外の分野において有用であり得ることが理解されよう。
【００３５】
第1のコンテンツストリームにおける中断の期間の動的推定値を提供することによって、それらの中断によりよく一致するセカンダリコンテンツストリームが生成され得る。さらに、そのような推定値は、第1のコンテンツストリーム内に提供される任意の帯域内マーカの前に生成され得、複数のユーザデバイスの各々に固有のセカンダリコンテンツストリームを生成およびプリキャッシュするためのより長いウィンドウを提供する。さらに、第1のコンテンツが複数の第1のユーザによって同時に視聴されることを可能にする中断が決定され得る。
【００３６】
図1は、コンテンツストリームにおける中断期間を予測するためのシステム100のブロック図である。システム100は、プライマリコンテンツ発行者サーバ101と、データ処理システム107を含む動的コンテンツ挿入サーバ103(コンテンツサーバ103とも呼ばれる)とを含む。システムはまた、セカンダリコンテンツサーバ102と複数のクライアントデバイス104とを含む。システム100の構成要素は、ネットワーク105を介して通信する。いくつかの実装形態では、ネットワーク105は、LANネットワーク、Wi-Fiネットワーク、セルラーネットワーク、広域ネットワーク(WAN)、公衆交換電話網(PSTN)などの電話ネットワーク、ワイヤレスリンク、衛星リンク、デバイス間メッシュネットワーク、イントラネット、インターネット、またはそれらの組合せを含み得る。
【００３７】
概観として、また図2を簡単に参照すると、動的コンテンツ挿入サーバ103は、コンテンツストリームを1つまたは複数のクライアントデバイス104にストリーミングする。図2は、コンテンツストリーム200の実装形態を示している。コンテンツストリームは、これらに限定されないが、映画、テレビ番組、スポーツイベント、またはニュース放送のビデオ、オーディオ、メタデータ、または字幕などのプライマリコンテンツを含むビデオストリームとすることができる。プライマリコンテンツは、セカンダリコンテンツスロット202から互いに分離され得るコンテンツセグメント201に分割され得る。セカンダリコンテンツサーバ102はセカンダリコンテンツスロット202にコンテンツを提供することができ、プライマリコンテンツ発行者サーバ101はプライマリコンテンツを提供することができる。複数のクライアントデバイス104の各々が同じプライマリコンテンツストリームを受信することができる一方で、クライアントデバイス104の各々に提供されるセカンダリコンテンツは、特定のクライアントデバイス104への配信のためにセカンダリコンテンツサーバ102によって選択され得る。クライアントデバイス104の各々は、ゲームがライブで再生されるのと同じフットボールの試合のためのコンテンツストリームを受信することができるが、セカンダリコンテンツサーバ102は、フットボールの試合のセカンダリコンテンツスロット中にクライアントデバイス104の各々にストリーミングされるべきカスタマイズされたセカンダリコンテンツ項目を選択することができる。
【００３８】
図1を参照すると、プライマリコンテンツ発行者サーバ101およびセカンダリコンテンツサーバ102は、それぞれのコンテンツデータベース106にコンテンツを記憶することができる。動的コンテンツ挿入サーバ103は、複数のクライアントデバイス104に送信されるコンテンツストリームを生成することができる。動的コンテンツ挿入サーバ103は、同じコンテンツストリームのコピーを同時にクライアントデバイス104のうちの多数に送信することができる。コンテンツストリームは、プライマリコンテンツ発行者サーバ101によって提供されるプライマリコンテンツを含むことができる。コンテンツストリームは、セカンダリコンテンツスロットを含むことができる。セカンダリコンテンツサーバ102は、コンテンツストリームのセカンダリコンテンツスロットにコンテンツを提供することができる。いくつかの実装形態では、コンテンツストリームは、クライアントデバイス104がセカンダリコンテンツスロットに到達したときに、クライアントデバイス104にセカンダリコンテンツサーバ102からセカンダリコンテンツ項目をフェッチ(または要求)させるプロセッサ実行可能命令を含むことができる。たとえば、クライアントデバイス上のウェブブラウザは、セカンダリコンテンツサーバ102からセカンダリビデオコンテンツ項目をフェッチするビデオプレーヤを実行することができる。次いで、ビデオプレーヤは、セカンダリコンテンツサーバ102から受信されたときにセカンダリビデオコンテンツを表示することができる。動的コンテンツ挿入サーバ103はまた、クライアントデバイスがセカンダリコンテンツ項目をフェッチするためにセカンダリコンテンツサーバ102に連絡しないように、セカンダリコンテンツ項目をコンテンツストリームに挿入することができる。
【００３９】
プライマリコンテンツ発行者サーバ101は、サーバのそれぞれのデータベース106に記憶されているプライマリコンテンツを含むことができる。プライマリコンテンツは、ネットワーク105を介して、コンテンツストリームとして複数のクライアントデバイス104に提供され得る。図2に関してさらに説明されるように、コンテンツストリームはセカンダリコンテンツスロットを含むことができる。プライマリコンテンツは、これらに限定されないが、映画、テレビ番組、スポーツイベント、ユーザ生成ビデオコンテンツ、およびポッドキャストなどのオーディオコンテンツなどのビデオコンテンツを含むことができる。
【００４０】
セカンダリコンテンツサーバ102は、サーバのデータベース106に記憶されたセカンダリコンテンツを含むことができる。セカンダリコンテンツは、コンテンツストリームのセカンダリコンテンツスロットを満たすために供給される補足コンテンツまたは関連コンテンツを含むことができる。
【００４１】
動的コンテンツ挿入サーバ103は、メモリ109と電気的に通信するプロセッサ108を含むデータ処理システム107を含むことができる。メモリは、分類器110および信頼度スコアラ111のための命令を記憶する。データ処理システム107はまた、分類器データベース112およびプリフェッチコンテンツデータベース113を含む。分類器データベース112、プリフェッチコンテンツデータベース113、およびデータベース106は、メモリ109に記憶され得る。
【００４２】
データ処理システム107は、コンテンツストリーム内の次のセカンダリコンテンツスロットの期間の予測をすることができる。図1に示されるように、データ処理システム107は動的コンテンツ挿入サーバ103の構成要素である。いくつかの実装形態では、データ処理システム107はスタンドアロンサーバとすることができる。他の実装形態では、データ処理システム107は、セカンダリコンテンツサーバ102またはプライマリコンテンツ発行者サーバ101の構成要素とすることができる。
【００４３】
分類器110は、次のセカンダリコンテンツスロットの期間の予測をすることができる。次のセカンダリコンテンツスロットの期間の予測をした後、データ処理システム107は、コンテンツストリームを受信するクライアントデバイス104の各々についてセカンダリコンテンツをプリフェッチすることができる。プリフェッチされたセカンダリコンテンツは、プリフェッチコンテンツデータベース113に記憶され得る。クライアントデバイス104がセカンダリコンテンツをセカンダリコンテンツサーバ102に要求すると、データ処理システム107はプリフェッチされたセカンダリコンテンツをプリフェッチコンテンツデータベース113から検索し、プリフェッチされたセカンダリコンテンツを要求側クライアントデバイス104に送信することができる。
【００４４】
分類器110は、次のセカンダリコンテンツスロットの期間を予測するために、機械学習を使用することができる。いくつかの実装形態では、分類器110は、次のセカンダリコンテンツスロットの長さを予測するために、ロジスティック回帰を使用することができる。ロジスティック回帰は、次のセカンダリコンテンツスロットがクラスのグループの1つに属する確率を提供することができる(クラスの各々は異なる時間期間に関連付けられる)。ロジスティック関数は、クラスに属する次のセカンダリコンテンツスロットxの確率F(x)を提供することができる:
【００４５】
【数１】
0006823170.tif 000002
【００４６】
上式で、β0およびβ1は、単一の入力特徴とクラスとの間の関係を定義するパラメータである。入力特徴は、過去のセカンダリコンテンツ項目スロットの期間のアレイであり得る。アレイに加えて、他の入力特徴は、コンテンツストリームID、タイトル、ジャンル、合計期間、表示時間、製作者または発行者ID、あるいはそれらの組合せを含むことができる。入力特徴の各々についてロジスティック回帰を繰り返すことによって、複数の入力特徴に基づいて次のセカンダリコンテンツ項目をクラスに分類するために、多項ロジスティック回帰が使用され得る。
【００４７】
分類器110は、ニューラルネットワークを使用して次のセカンダリコンテンツスロットの期間を予測することができる。いくつかの実装形態では、分類器110は、長期短期記憶(LSTM)ニューラルネットワークなどのリカレントニューラルネットワークを使用することができる。以前のセカンダリコンテンツスロット期間のアレイがLSTMニューラルネットワークに提供され得る。アレイの値は、LSTMが次のセカンダリコンテンツスロット期間をクラスに分類するために使用する1つまたは複数の入力特徴に関連付けられ得る。これらの実装形態では、分類器110は、次のセカンダリコンテンツスロットを、それぞれが異なる期間に対応するクラスに分類することができる。クラスは、可能な限り最長の期間を重複しないクラスにまとめることによって作成され得る。ビンの長さが5秒の場合、0〜5秒のスロットは第1のビン、5〜10秒のスロットは第2のビン、10〜15秒のスロットは第3のビンなどに分類される。ビンの長さは、約5〜60秒の間、約5〜30秒の間、または約5〜15秒の間であり得る。
【００４８】
LSTMニューラルネットワークは、ニューロンの代わりに相互接続されたメモリブロックを含むことができる。メモリブロックの各々は、メモリブロックの現在の状態および出力を制御するゲートを含むことができる。ゲートは忘却ゲート、入力ゲート、および出力ゲートを含むことができる。忘却ゲートは、メモリブロック内のどの情報が削除されるかを決定することができ、入力ゲートは、メモリブロックを更新するためにどの入力情報が使用されるかを決定することができ、出力ゲートは、メモリブロックから何が出力されるかを決定することができる。ゲートの各々はシグモイドベースの関数と点ごとの乗算演算とを含むことができる。メモリブロックへの入力は最初に忘却ゲートを通じて処理され、0(忘却)と1(保持)との間の数を出力し、これは、どの値が忘却されていてどれが保持されているかを決定するために、メモリブロックの現在の状態に対して乗算される。次いで、入力ゲートはどの値が更新されるべきかを決定し、メモリブロックの現在の状態に追加される新しい候補値を生成する。次いで、メモリブロックの現在の状態は出力ゲートを通過する。出力ゲートのシグモイドベースの関数は、メモリブロックの現在の状態からどの値が出力されるかを決定する。ゲートの各々は、ゲートの動作を制御する重みおよびバイアスを含む。重みおよびバイアスは、最初はランダムな値とし、次いで、ニューラルネットワークのトレーニングを通じて調整することができる。重みおよびバイアスはまた、次のコンテンツスロットでニューラルネットワークの動作中に調整され得る。トレーニングは、LSTMニューラルネットワークのトレーニングの逆伝播スルータイム(Backpropagation Through Time)法などの勾配ベースのトレーニングを含むことができる。分類器のトレーニングは、たとえば、図3に示される方法300に関して以下に説明されるステップ301の前に、オフラインで行われ得る。オフライントレーニング段階中に生成されたモデルは、データ処理システムのデータベースに記憶され得る。分類器は、特に、異なるプライマリコンテンツ発行者の各々について、異なるモデルを生成することができる。たとえば、異なるプライマリコンテンツサーバの各々が異なるテレビチャネルに関連付けられている場合、分類器はチャネルの各々について異なるモデルを生成することができる。分類器はまた、チャネルIDや発行者IDなどの特性によって発行者を区別できる単一のモデルを生成することができる。
【００４９】
信頼度スコアラ111は、予測の精度に関連する信頼度スコアを決定することができる。信頼度スコアは、二乗平均平方根誤差関数として計算され得る。信頼度スコアラ111が予測について低い信頼度スコアを計算する場合、データ処理システム107は、セカンダリコンテンツをプリフェッチしないか、またはデフォルト長のセカンダリコンテンツをプリフェッチする場合がある。
【００５０】
再び、およびより詳細に図2を参照すると、図2はコンテンツストリーム200の実装形態のブロック図を示している。コンテンツストリーム200は、プライマリコンテンツセグメント201(1)〜201(n)(一般にコンテンツセグメント201と呼ばれる)を含む。コンテンツセグメント201の各々は、プライマリコンテンツ項目の一部であり得るか、または個々のプライマリコンテンツ項目であり得る。コンテンツセグメント201は、それぞれのセカンダリコンテンツスロット202によって分離されている。セカンダリコンテンツスロット202は、異なる期間を有することができる。セカンダリコンテンツスロット202は、いくつかの実装形態では約5秒から約900秒の間とすることができるが、より短いスロットおよびより長いスロットも可能である。隣接するセカンダリコンテンツスロット202間の間隔(たとえば、コンテンツセグメント201の長さ)もまた変わり得る。コンテンツストリーム200は、コンテンツスロット期間の表示203も含むことができる。表示は、コンテンツスロット202の各々に先行することができる。図示される実装形態では、表示203(2)はコンテンツスロット202(2)に先行する。表示203は、比較的短い時間の期間だけそれぞれのコンテンツスロット202に先行することができる。表示203とコンテンツスロット202との間の時間は、約0秒から約20秒の間、約0秒から約15秒の間、約0秒から約10秒の間、または約0秒から約5秒の間、あるいは任意の他のそのような値または値のペアであり得る。
【００５１】
動的コンテンツ挿入サーバ103は、コンテンツストリーム200を複数のクライアントデバイス104に送信することができる。プライマリコンテンツ項目は、動的コンテンツ挿入サーバ103がクライアントデバイス104の各々にストリーミングしているというスポーツイベントとすることができる。セカンダリコンテンツスロット202は、コンテンツストリーム200に挿入される中断であり得る。クライアントデバイスの各々は、それらがコンテンツストリーム200を受信しているという通知をセカンダリコンテンツサーバに送信することができる。いくつかの実装形態では、動的コンテンツ挿入サーバ103は、動的コンテンツ挿入サーバ103がコンテンツストリーム200をクライアントデバイス104に送信しているという通知をセカンダリコンテンツサーバ102に送信することができる。コンテンツストリーム200は、セカンダリコンテンツサーバ102にコンテンツを要求するようにクライアントデバイス104の各々に指示する命令を含むことができる。セカンダリコンテンツサーバ102にコンテンツを要求する命令は、セカンダリコンテンツスロット202に実質的に間に合うようにコンテンツストリーム200に含まれ得る。コンテンツを要求する命令は、セカンダリコンテンツスロット202の開始から5秒以内であり得る。クライアントデバイス104の各々は同じコンテンツストリーム200のコピーを受信することができるので(たとえば、クライアントデバイス104は同じスポーツイベントをストリーミングしている)、クライアントデバイス104の各々へのコンテンツに対する要求は、セカンダリコンテンツサーバ102がセカンダリコンテンツをクライアントデバイス104に送信する必要がある短い期間内に、セカンダリコンテンツサーバ102によって受信される。N個のクライアントデバイス104がコンテンツストリーム200を受信している場合、セカンダリコンテンツサーバ102は、セカンダリコンテンツスロット202の開始前にセカンダリコンテンツについてN回の検索を実行しなければならない。いくつかの実装形態では、セカンダリコンテンツサーバ102は、所与の期間にわたってX回の検索を処理することができる。NがXよりも大きい場合、セカンダリコンテンツサーバは割り当てられた時間内に検索を実行することができず、セカンダリコンテンツをクライアントデバイス104の各々に返すことができない。NがXよりも大きい場合、セカンダリコンテンツサーバは、次のセカンダリコンテンツスロット202の長さおよび発生について予測を行うことができる。データ処理システムがクライアントデバイスの各々についてセカンダリコンテンツ項目をプリフェッチし記憶することができるように、セカンダリコンテンツスロット202の発生前の実質的に十分な時間に予測を行うことができる。
【００５２】
図3は、コンテンツスロット期間を予測するための方法300のブロック図を示している。方法300のステップの概要として、方法300は、データ処理システムが1つまたは複数のクライアントデバイスに送信されるデータストリームの表示を受信するステップを含む(ステップ301)。データ処理システムは過去のセカンダリコンテンツスロット期間のアレイを受信することができる(ステップ302)。方法300はまた、複数の異なるクラスを生成するステップを含むことができる(ステップ303)。方法300は、第1のデータストリームを同時に受信しているデバイスの数がしきい値を上回るかどうかを決定するステップを含むことができる(ステップ304)。数がしきい値を上回る場合、方法300は、次のセカンダリコンテンツスロットを複数のクラスのうちの1つに分類するステップを含むことができる(ステップ305)。データ処理システムは、次のセカンダリコンテンツスロットの分類の信頼度スコアを決定することができる(ステップ306)。ステップ307において、信頼度スコアがしきい値を上回る場合、データ処理システムはセカンダリコンテンツ項目をフェッチすることができる(ステップ308)。
【００５３】
ステップ304に戻ると、同時デバイスの数がしきい値を下回る場合、データ処理システムは、表示セカンダリコンテンツスロットの実際の期間が受信されるまで待機することができる(ステップ309)。データ処理システムは、スロットの実際の期間に基づいてセカンダリコンテンツ項目を検索することができる(ステップ310)。いくつかの実装形態では、ステップ301の後にステップ304が発生し、同時デバイスの数がしきい値を超える場合にのみステップ302および303が発生するようにすることができる。分類器が最終的に分類を行わない場合にはステップ302および303が実行されないので、方法300の早い段階で同時デバイスの数がしきい値を上回るかどうかを決定することで、計算の無駄を減らすことができる。
【００５４】
ステップ307に戻ると、信頼度スコアがしきい値を下回る場合、データ処理システムは、デフォルト期間に基づいてセカンダリコンテンツ項目をフェッチすることができる(ステップ311)。いくつかの実装形態では、データ処理システムは、最後に測定された期間に基づいてセカンダリコンテンツ項目をフェッチすることができる。方法300は、コンテンツスロットの期間の実際の期間を測定するステップを含むことができる(ステップ312)。コンテンツスロットの期間は、過去のコンテンツスロット期間のアレイに添付され得る(ステップ313)。
【００５５】
上述したように、およびより詳細には、方法300は、第1のデータストリームの表示を受信するステップを含むことができる(ステップ301)。データストリームは、複数のクライアントデバイスに送信され得る。データストリームは、プライマリコンテンツおよび1つまたは複数のセカンダリコンテンツスロットを含むことができる。コンテンツストリームは、図2に関して上述したコンテンツストリームと同様であり得る。コンテンツストリームは、動的コンテンツ挿入サーバから1つまたは複数のクライアントデバイスにストリーミングされるビデオを含むことができる。動的コンテンツ挿入サーバがコンテンツストリームをクライアントデバイスに送信すると、動的コンテンツ挿入サーバは、コンテンツストリームがクライアントデバイスにストリーミングされているという表示をデータ処理システムに送信することができる。他の実装形態では、クライアントデバイスがコンテンツストリームを受信すると、クライアントデバイスは、クライアントデバイスがコンテンツストリームのビデオを受信しているという表示をデータ処理システムに送信することができる。表示は、コンテンツストリームおよび受信クライアントデバイス(または、そのリスト)の識別を含むことができる。
【００５６】
本方法はまた、過去のセカンダリコンテンツスロット期間のアレイを受信するステップを含むことができる(ステップ302)。アレイはデータ処理システムによって検索され得る。データ処理システムは、以前のセカンダリコンテンツスロットの期間のデータベースを維持することができる。アレイは、現在ストリーミングされているコンテンツ項目の以前のコンテンツスロット期間を含むことができる。アレイは、プライマリコンテンツ発行者コンテンツサーバからの任意のコンテンツの以前のコンテンツスロット期間を含むことができる。アレイは、最後の5つのセカンダリコンテンツスロットの期間、あるいはより多数またはより少数のコンテンツスロットを含むことができる。アレイは、最後の5から20、5から15、または5から10の間のセカンダリコンテンツスロットの間の期間を含むことができる。アレイは、過去30分間、1時間、2時間、6時間、1日、または1週間にわたるコンテンツストリームに含まれるセカンダリコンテンツスロットの期間を含むことができる。アレイは、現在ストリーミングされているコンテンツ項目の特性と一致する以前のセカンダリコンテンツスロット期間を含むことができる。いくつかの実装形態では、データ処理システムはコンテンツストリームの特性を決定することができる。コンテンツストリームの特性は、コンテンツストリームID、タイトル、ジャンル、合計期間、表示時間、製作者、またはそれらの組合せを含むことができる。セカンダリコンテンツは、広告を含むあらゆる形態を取り得る。ステップ302において、データ処理システムはまた、ジャンル、時刻、曜日、発行者ID、またはそれらの組合せなどのコンテンツストリームの特性を検索することができる。
【００５７】
方法300はまた、クラスを生成するステップ(ステップ303)を含み得る。データ処理システムは、セカンダリコンテンツスロットが分類され得る可能なクラスを決定することができる。いくつかの実装形態では、クラスは可能なセカンダリコンテンツスロット期間に基づく。そのような一実装形態では、クラスの各々は約5秒の長さであり得る。最長の可能なコンテンツスロットが900秒の場合、クラス1は0〜5秒、クラス2は5〜10秒、...、クラス180は895〜900秒であり得る。いくつかの実装形態では、可能なクラスの一部だけが使用される。可能なクラスの一部の選択は、ジャンル、時刻、曜日、またはそれらの組合せなどの、コンテンツストリームの1つまたは複数の特性に基づくことができる。いくつかの実装形態では、映画の間、セカンダリコンテンツスロットは、30秒、1分、1.5分、または2分の期間を有する可能性がより高い可能性があり、30秒、1分、1.5分、および2分の期間に対応するクラスが可能なクラスの一部として選択され得る。コンテンツの他のジャンルまたは種類については、異なる期間が採用され得る。スポーツイベントのコンテンツストリームの場合、セカンダリコンテンツ項目はより多様な期間を有し得る。システムは、使用可能なクラスのより大きな部分(または、可能なクラスのすべて)を選択することができる。
【００５８】
方法300は、コンテンツストリームを受信している同時デバイスの数がしきい値を超えているかどうかを決定するステップを含むことができる(ステップ304)。コンテンツストリームを受信する同時デバイスの数がしきい値を下回ると、データ処理システムは、セカンダリコンテンツスロットの期間の受信とセカンダリコンテンツスロットの開始との間の時間内にデバイスの各々についてセカンダリコンテンツ項目を検索することができる。上述のように、コンテンツストリームは、セカンダリコンテンツスロットの長さの表示を含むことができる。長さの表示は、セカンダリコンテンツスロットの開始の所定の時間量の前にコンテンツストリームに含まれ得る(たとえば、表示は、セカンダリコンテンツスロットの開始より約5秒先行し得る)。同時デバイスの数(n)がしきい値を下回ると、データ処理システムは、表示の受信とセカンダリコンテンツスロットの開始との間にセカンダリコンテンツ項目をn回フェッチすることができる。ステップ304のしきい値は、約25,000と約500,000との間、約50,000と約250,000との間、または約100,000と約250,000との間の同時デバイスであり得る。
【００５９】
同時デバイスの数がしきい値を下回ると、データ処理システムは、セカンダリコンテンツスロットの期間まで受信を待つことができる。セカンダリコンテンツサーバは、セカンダリコンテンツスロット期間の表示を受信することができる(ステップ309)。データ処理システムがコンテンツスロットの期間を知ると、データ処理システムは、コンテンツスロットの期間と一致する(または、それより短い)期間を有するセカンダリコンテンツ項目をフェッチすることができる(ステップ310)。データ処理システムは、コンテンツストリームを同時に受信しているコンピューティングデバイスの各々についてセカンダリコンテンツ項目をフェッチすることができる。
【００６０】
ステップ304に戻ると、コンテンツストリームを同時に受信するデバイスの数が所定のしきい値を上回る場合、データ処理システムは、次のセカンダリコンテンツスロットをステップ303中に生成されたクラスのうちの1つに分類することによって、次のセカンダリコンテンツスロットの長さを予測することができる(ステップ305)。分類器は、セカンダリコンテンツスロットを複数のクラスのうちの1つに分類することによって、次のセカンダリコンテンツスロット期間を予測することができる。上述のように、データ処理システムは、LSTMニューラルネットワークなどのニューラルネットワークを使用して、次のセカンダリコンテンツスロットの長さを予測することができる。分類器は、ステップ302において受信したアレイを分類器への入力として使用することができる。分類器はコンテンツストリームの特性を入力として使用することができる。以前のコンテンツスロットは、LSTMニューラルネットワークへの入力として使用され得る。以前のコンテンツスロット期間の時間は、LSTMニューラルネットワークのための予期される出力(または、従属変数)として使用され得る。コンテンツスロット期間の特性は、予期される出力を生成するためにLSTMニューラルネットワークに入力される入力特徴(または、独立変数)であり得る。LSTMニューラルネットワークは、アレイに含まれるデータを使用してトレーニングすることができる。LSTMニューラルネットワークは、LSTMニューラルネットワークがコンテンツストリームのセカンダリコンテンツスロットを分類するために使用する重みおよびバイアスを生成するために、勾配降下および逆伝播技法を使用してトレーニングされ得る。
【００６１】
方法300は、分類に対する信頼度スコアを計算するステップを含むことができる(ステップ306)。データ処理システムは、分類の二乗平均平方根誤差関数を使用して信頼間隔を計算することができる。信頼度スコアは、ステップ302において受信された、アレイに記憶された過去のスロット期間の数に基づき得る。分類器は、実際の過去の期間と、ニューラルネットワークまたは分類器の他のモデルによって予測される期間との間の二乗平均平方根誤差を計算するために、アレイに記憶された過去の期間を使用することができる。二乗平均平方根誤差関数は、予測された期間とアレイに記憶された観測された期間との間の差の標準偏差を表すことができる。いくつかの実装形態では、コンテンツストリームの開始時に起こり得るように、アレイ内のスロット期間の数が少ない(たとえば、5未満)とき、信頼度スコアは低くなり得る。セカンダリコンテンツサーバがより多くの分類をするにつれて、後続の分類の信頼度が高められ得る。信頼度スコアは、現在のコンテンツストリームに関連付けられる発行者からのコンテンツストリームについての分類器のオフライントレーニング中に観測された精度であり得る。
【００６２】
信頼度スコアが所定のしきい値を下回る場合、データ処理システムは、デフォルト期間に基づいてコンテンツ項目をフェッチすることができる(ステップ311)。信頼度スコアが60%、70%、80%、90%、または95%を下回る場合、データ処理システムはデフォルト期間に基づいてコンテンツ項目をフェッチすることができる。いくつかの実装形態では、デフォルト期間は30秒であり得る。デフォルト期間は、コンテンツストリームに含まれる最も一般的な期間、または過去のセカンダリコンテンツスロット期間の平均であり得る。
【００６３】
信頼度スコアが所定のしきい値を上回る場合、データ処理システムは分類器からの期間に基づいてコンテンツ項目をフェッチすることができる(ステップ308)。データ処理システムは、コンテンツストリームを同時に受信しているクライアントデバイスの各々についてセカンダリコンテンツ項目を検索することができる。データ処理システムは、セカンダリコンテンツ項目をプリフェッチコンテンツ項目としてプリフェッチコンテンツデータベースに保存することができる。
【００６４】
方法300はまた、セカンダリコンテンツスロットの期間を受信するステップを含むことができる(ステップ312)。コンテンツスロットの実際の期間を受信するステップは任意のステップであり得る。データ処理システムが実際のセカンダリコンテンツスロット期間を受信すると、ステップ313において、実際のセカンダリコンテンツスロット期間がアレイに追加され得る。他の実装形態では、ステップ312がスキップされると、ステップ313において、予測されたセカンダリコンテンツスロット期間がアレイに追加され得る。実際のセカンダリコンテンツスロット期間を使用することによって、データ処理システムは分類器の精度を改善することができる。ニューラルネットワーク内の接続を強化するために、予測された期間と実際の期間とが比較され得る。
【００６５】
方法300はまた、期間をアレイに追加するステップを含むことができる(ステップ313)。測定された、または予測されたコンテンツスロット期間は、ステップ302の間に受信されたアレイに追加され得る。アレイ内のセカンダリコンテンツスロット期間の数を増やすことによって、ステップ305において行われる予測の精度を高めることができる。
【００６６】
したがって、本明細書に開示されているのは、コンテンツを複数のクライアントデバイスに提供するためのシステムおよび方法である。本開示の一態様によれば、コンテンツを複数のクライアントデバイスに提供するためのシステムは、少なくとも1つのプロセッサと少なくとも1つのメモリデバイスとを含む、少なくとも1つのコンピューティングデバイスを含む。少なくとも1つのプロセッサは分類器を実行する。分類器は、複数のクライアントデバイスに送信される第1のコンテンツストリームの表示を受信するように構成される。第1のコンテンツストリームは、コンテンツ項目とセカンダリコンテンツ項目スロットとを含む。分類器はまた、過去の複数のセカンダリコンテンツ項目スロットの期間を含むアレイを受信するように構成され得る。過去のセカンダリコンテンツ項目スロットは、コンテンツストリームと関連付けられてもよく、他のコンテンツストリームと関連付けられてもよい。分類器はまた、第1のコンテンツストリームについて複数のクラスを決定するように構成される。複数のクラスの各々は、対応する複数の時間期間の異なる時間期間に関連付けられる。分類器はまた、第1のコンテンツストリームのためのセカンダリコンテンツ項目スロットを複数のクラスのうちの第1のクラスに分類するように構成される。分類器はまた、セカンダリコンテンツ項目スロットが分類された複数のクラスのうちの第1のクラスの時間期間の表示をセカンダリコンテンツサーバに送信するように構成され得る。
【００６７】
動的コンテンツ挿入サーバは、分類器を実行するのと同じコンピューティングデバイスによって提供され得る。時間期間の表示を送信することは、動的コンテンツ挿入サーバにとって時間期間の表示を利用可能にする任意の方法を備え得る。複数の過去のセカンダリコンテンツ項目スロットの期間を含むアレイが受信される場合、第1のコンテンツストリームのための複数のクラスの決定は少なくとも部分的にそのアレイに基づいてもよい。
【００６８】
動的コンテンツ挿入サーバは、送信された時間期間の表示に応答して、第1のコンテンツストリームのセカンダリコンテンツ項目スロット中に表示するために、複数のクライアントデバイスの各々について、第2のコンテンツ項目を選択するように構成され得る。特定のクライアントデバイスに対する第2のコンテンツ項目の選択は、そのクライアントデバイスの特性にさらに基づき得る。動的コンテンツ挿入サーバは、それぞれの選択された第2のコンテンツ項目をクライアントデバイスに送信し得る。分類器は、セカンダリコンテンツ項目スロットを複数のクラスのうちの第1のクラスに分類するための信頼度スコアを計算するように構成され得る。分類器はまた、信頼度スコアが所定のしきい値を下回っていると決定することと、デフォルト時間期間を有する第2のコンテンツ項目を選択することとを行うように構成することができる。デフォルト時間期間を有する第2のコンテンツ項目は、信頼度スコアが所定のしきい値を下回っているという決定に応答して、第1のコンテンツストリームのセカンダリコンテンツ項目スロットに入れられることができる。
【００６９】
分類器は、コンテンツストリームを同時に受信している複数のクライアントデバイスの数が所定のしきい値を下回っていると決定するように構成され得る。分類器は、セカンダリコンテンツ項目のためのセカンダリコンテンツ項目スロットの長さの期間の表示を受信することができる。分類器は、セカンダリコンテンツ項目のためのセカンダリコンテンツ項目スロットの長さの期間の表示に応答して、第1のコンテンツストリームのセカンダリコンテンツ項目スロットに入れるための第2のコンテンツ項目を選択することができる。
【００７０】
分類器は、第1のコンテンツストリームの発行者識別子および第1のコンテンツストリームの表示時間を受信するように構成され得る。分類器は、発行者識別子および表示時間に基づいてセカンダリコンテンツ項目スロットを複数のクラスのうちの1つに分類することができる。分類器は、発行者識別子に基づいて分類モデルの1つまたは複数の重みを設定するようにさらに構成され得る。アレイ内の期間の各々は、第1のデータストリーム内の以前に測定されたスロットの時間期間であり得る。
【００７１】
分類器は、第1のデータストリームのコンテンツストリーム特性を決定することと、第1のコンテンツストリームについて、コンテンツストリーム特性に基づいて複数のクラスを決定することとを行うように構成され得る。分類器は、長期短期ニューラルネットワークであり得る。
【００７２】
本開示の別の態様によれば、複数のクライアントデバイスにコンテンツを提供するための方法は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行される分類器によって、複数のクライアントデバイスに送信された第1のコンテンツストリームの表示を受信するステップを含む。第1のコンテンツストリームは、コンテンツ項目と、セカンダリコンテンツ項目スロットとを含むことができる。本方法は、分類器によって、コンテンツストリームに関連付けられる複数のセカンダリコンテンツ項目スロットの期間を含むアレイを受信するステップを含むことができる。本方法は、分類器によって、第1のコンテンツストリームについて複数のクラスを決定するステップを含むことができる。複数のクラスの各々は、対応する複数の時間期間の異なる時間期間に関連付けられ得る。本方法は、分類器によって、セカンダリコンテンツ項目のためのスロットを複数のクラスのうちの第1のクラスに分類するステップを含むことができる。本方法は、分類器によって動的コンテンツ挿入サーバに、第1のクラスの時間期間の表示を送信するステップを含むことができる。
【００７３】
動的コンテンツ挿入サーバは、分類器を実行するのと同じコンピューティングデバイスによって提供され得る。時間期間の表示を送信することは、動的コンテンツ挿入サーバにとって時間期間の表示を利用可能にする任意の方法を備え得る。複数の過去のセカンダリコンテンツ項目スロットの期間を含むアレイが受信される場合、第1のコンテンツストリームのための複数のクラスの決定は少なくとも部分的にそのアレイに基づいてもよい。
【００７４】
本方法は、分類器によって、送信された時間期間の表示に応答して、第1のコンテンツストリームのセカンダリコンテンツ項目スロット中に表示するために、複数のクライアントデバイスの各々について、第2のコンテンツ項目を選択するステップを含み得る。
【００７５】
本方法は、分類器によって、セカンダリコンテンツ項目スロットを複数のクラスのうちの第1のクラスに分類するための信頼度スコアを計算するステップと、信頼度スコアが所定のしきい値を下回っていると決定するステップとを含むことができる。本方法は、第1のコンテンツストリームのセカンダリコンテンツ項目スロットに入れるためのデフォルト時間期間を有する第2のコンテンツ項目を選択するステップを含むことができる。
【００７６】
本方法は、複数のクライアントデバイスの数が所定のしきい値を下回っていると決定するステップを含むことができる。本方法は、セカンダリコンテンツ項目スロットの長さの期間の表示を受信するステップを含むことができる。本方法は、セカンダリコンテンツ項目のためのセカンダリコンテンツ項目スロットの長さの期間の表示に応答して、第1のコンテンツストリームのセカンダリコンテンツ項目スロットに入れるための第2のコンテンツ項目を選択するステップを含むことができる。選択は、複数のクライアントデバイスの数が所定のしきい値を下回っているという決定に応答することができる。
【００７７】
本方法は、分類器によって、第1のコンテンツストリームの発行者識別子および第1のコンテンツストリームの表示時間を受信するステップを含むことができる。本方法は、データ処理システムのプロセッサによって実行される分類器によって、発行者識別子および表示時間に基づいてセカンダリコンテンツ項目スロットを複数のクラスのうちの1つに分類するステップを含むことができる。本方法は、発行者識別子に基づいて分類モデルの1つまたは複数の重みを選択するステップをさらに含むことができる。アレイ内の期間の各々は、第1のデータストリーム内の以前のセカンダリコンテンツ項目スロットの時間期間であり得る。
【００７８】
本方法は、第1のデータストリームのコンテンツストリーム特性を決定するステップと、分類器によって、第1のコンテンツストリームについて、コンテンツストリーム特性に基づいて複数のクラスを決定するステップとを含むことができる。分類器は、長期短期ニューラルネットワークであり得る。本方法は、セカンダリコンテンツ項目スロットの期間を受信するステップと、セカンダリコンテンツ項目スロットの期間を含むようにアレイを更新するステップとを含むことができる。
【００７９】
図4は、コンピュータシステム400の実装形態のブロック図を示している。コンピュータシステムまたはコンピューティングデバイス400は、システム100または動的コンテンツ挿入サーバ103などのその構成要素を含むか、またはそれらを実装するために使用することができる。コンピューティングシステム400は、情報を通信するためのバス405または他の通信構成要素と、情報を処理するためにバス405に結合されたプロセッサ410または処理回路とを含む。コンピューティングシステム400はまた、情報を処理するためにバスに結合された1つまたは複数のプロセッサ410あるいは処理回路を含むことができる。コンピューティングシステム400はまた、情報を記憶するためにバス405に結合されたランダムアクセスメモリ(RAM)または他の動的ストレージデバイスなどのメインメモリ415と、プロセッサ410によって実行される命令とを含む。メインメモリ415は、データリポジトリ145とすることができ、またはデータリポジトリ145を含むことができる。メインメモリ415はまた、プロセッサ410による命令の実行中に位置情報、一時変数、または他の中間情報を記憶するために使用され得る。コンピューティングシステム400は、静的情報およびプロセッサ410用の命令を記憶するためにバス405に結合された読出し専用メモリ(ROM)420または他の静的ストレージデバイスをさらに含み得る。ソリッドステートデバイス、磁気ディスク、または光ディスクなどのストレージデバイス425は、情報および命令を永続的に記憶するためにバス405に結合され得る。ストレージデバイス425は、データリポジトリ145を含むか、またはその一部とすることができる。
【００８０】
コンピューティングシステム400は、情報をユーザに表示するために、バス405を介して液晶ディスプレイまたはアクティブマトリクスディスプレイなどのディスプレイ435に結合され得る。英数字および他のキーを含むキーボードなどの入力デバイス430は、情報およびコマンド選択をプロセッサ410に通信するためにバス405に結合され得る。入力デバイス430は、タッチスクリーンディスプレイ435を含むことができる。入力デバイス430はまた、方向情報およびコマンド選択をプロセッサ410に通信するため、およびディスプレイ435上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キーなどのカーソル制御を含むことができる。ディスプレイ435は、データ処理システム107、クライアントコンピューティングデバイス150、または図1の他の構成要素の一部とすることができる。
【００８１】
本明細書に記載のプロセス、システム、および方法は、プロセッサ410がメインメモリ415に含まれる命令の構成を実行することに応答して、コンピューティングシステム400によって実装され得る。そのような命令は、ストレージデバイス425などの別のコンピュータ可読媒体からメインメモリ415に読み込まれ得る。メインメモリ415に含まれる命令の構成の実行は、コンピューティングシステム400に本明細書に記載の例示的なプロセスを実行させる。多重処理構成における1つまたは複数のプロセッサもまた、メインメモリ415に含まれる命令を実行するために採用され得る。本明細書に記載のシステムおよび方法とともに、ハードワイヤード回路がソフトウェア命令の代わりに、またはそれらと組み合わせて使用され得る。本明細書に記載のシステムおよび方法は、ハードウェア回路とソフトウェアの任意の特定の組合せに限定されない。
【００８２】
例示的なコンピューティングシステムが図4に記載されているが、本明細書に記載された動作を含む主題は、他のタイプのデジタル電子回路、あるいは本明細書に開示されている構造およびそれらの構造上の均等物を含む、コンピュータソフトウェア、ファームウェア、またはハードウェア、あるいはそれらの1つまたは複数の組合せにおいて実装され得る。
【００８３】
本明細書で論じられるシステムがユーザに関する個人情報を収集する、または個人情報を利用する可能性がある状況では、ユーザは、個人情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションまたは活動、ユーザの嗜好、あるいはユーザの位置に関する情報)を収集し得るプログラムまたは機能を制御するための、あるいは、ユーザにとってより関連性があり得るコンテンツサーバまたは他のデータ処理システムからコンテンツを受信するかどうか、またはその受信方法を制御するための機会を与えられ得る。さらに、特定のデータは、それが記憶または使用される前に1つまたは複数の方法で匿名化されてもよく、それによって、パラメータを生成する際に個人を識別可能な情報が削除される。たとえば、そのユーザについて個人を識別可能な情報を決定できないようにするためにユーザの識別が匿名化されてもよく、ユーザの特定の場所が決定されないようにするために、位置情報が取得される場合はユーザの地理的位置(都市、郵便番号、州レベルなど)が一般化されてもよい。したがって、ユーザは、自分に関する情報が収集されコンテンツサーバによって使用される方法を制御し得る。
【００８４】
本明細書に記載された主題および動作は、本明細書に開示された構造およびそれらの構造上の均等物を含む、デジタル電子回路、あるいはコンピュータソフトウェア、ファームウェア、またはハードウェア、あるいはそれらの1つまたは複数の組合せにおいて実装され得る。本明細書に記載の主題は、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために1つまたは複数のコンピュータストレージ媒体上に符号化された1つまたは複数のコンピュータプログラム、たとえば1つまたは複数のコンピュータプログラム命令の回路として実装され得る。代替的にまたは追加的に、プログラム命令は、人工的に生成された伝搬信号、たとえば、データ処理装置による実行のために適切な受信装置への送信用の情報を符号化するために生成された、機械生成電気、光、または電磁信号上に符号化され得る。コンピュータストレージ媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、あるいはそれらの1つまたは複数の組合せであってもよく、それらに含まれてもよい。コンピュータストレージ媒体は伝搬信号ではないが、コンピュータストレージ媒体は、人工的に生成された伝搬信号に符号化されたコンピュータプログラム命令の送信元または宛先となり得る。コンピュータストレージ媒体はまた、1つまたは複数の別個の構成要素または媒体(たとえば、複数のCD、ディスク、または他のストレージデバイス)でもよく、それらに含まれてもよい。本明細書で説明されている動作は、1つまたは複数のコンピュータ可読ストレージデバイスに記憶されている、または他のソースから受信されたデータに対してデータ処理装置によって実行される動作として実装され得る。
【００８５】
「データ処理システム」、「コンピューティングデバイス」、「構成要素」、または「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ、またはそれらの複数のもの、あるいは前述の組合せを含む、データを処理するための様々な装置、デバイス、および機械を包含する。装置は、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの特殊目的論理回路を含むことができる。装置はまた、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を作成するコード、たとえばプロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、あるいはそれらの1つまたは複数の組合せを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。図1に関連して上述した構成要素は、1つまたは複数のデータ処理装置、システム、コンピューティングデバイス、またはプロセッサを含むか、または共有することができる。
【００８６】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む、任意の形式のプログラミング言語で記述され得、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、オブジェクト、あるいはコンピューティング環境における使用に適した他のユニットとして、を含む、任意の形式で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応し得る。コンピュータプログラムは、他のプログラムまたはデータを保持するファイルの一部(たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプト)、問題のプログラム専用の単一のファイル、または複数の協調ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、あるいはコードの一部を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのサイトに配置されているかまたは複数のサイトにわたって分散され、通信ネットワークによって相互接続されている1つのコンピュータまたは複数のコンピュータ上で実行されるように展開され得る。
【００８７】
本明細書で説明されるプロセスおよび論理フローは、入力データを操作して出力を生成することによってアクションを実行するために1つまたは複数のコンピュータプログラム(たとえばデータ処理システム107の構成要素)を実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。プロセスおよび論理フローはまた、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの特殊目的論理回路によって実行され得、装置はそれらとして実装され得る。コンピュータプログラム命令およびデータを記憶するために適したデバイスは、例として半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMを含む、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路によって補完されるか、またはその中に組み込まれることが可能である。
【００８８】
本明細書に記載される主題は、たとえばデータサーバとしてバックエンド構成要素を含むか、たとえばアプリケーションサーバなどのミドルウェア構成要素を含むか、ユーザが本明細書に記載される主題の実装形態と対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含むコンピューティングシステム、あるいは1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の組合せにおいて実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【００８９】
システム100またはシステム400などのコンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバは一般に互いに離れており、通常は通信ネットワーク(たとえば、ネットワーク165)を通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。いくつかの実装形態では、サーバはデータ(たとえば、コンテンツ項目を表すデータパケット)をクライアントデバイスに送信する(たとえば、クライアントデバイスと対話するユーザにデータを表示し、クライアントデバイスと対話するユーザからユーザ入力を受信する目的で)。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信され得る(たとえば、クライアントデバイス、またはコンテンツプロバイダコンピューティングデバイス、またはサービスプロバイダコンピューティングデバイスから、データ処理システムによって受信される)。
【００９０】
図面において動作は特定の順序で描かれているが、そのような動作は示された特定の順序または連続した順序で実行される必要はなく、例示されたすべての動作が実行される必要はない。本明細書に記載のアクションは異なる順序で実行され得る。
【００９１】
様々なシステム構成要素の分離は、すべての実装形態において分離を必要とせず、そして説明されたプログラム構成要素は、単一のハードウェアまたはソフトウェア製品に含まれ得る。
【００９２】
いくつかの例示的な実装形態を説明してきたが、前述のものは例示的なものであり限定的なものではなく、例として提示されたものであることは明らかである。特に、本明細書に提示される例の多くは方法行動またはシステム要素の特定の組合せを含むが、それらの行動およびそれらの要素は同じ目的を達成するために他の方法で組み合わされてもよい。一実装形態に関連して論じられた行動、要素、および特徴は、他の実装形態または実装形態における同様の役割から除外されることが意図されていない。
【００９３】
本明細書で使用されている表現および用語は説明を目的としており、限定と見なされるべきではない。本明細書における「含む(including)」、「備える(comprising)」、「有する(having)」、「含む(containing)」、「含む(involving)」「〜によって特徴付けられる(characterized by)」、「〜の点を特徴とする(characterized in that)」、およびそれらの変形の使用は、それ以降に列挙される項目、それらの均等物、および追加の項目、ならびにそれ以降に排他的に列挙された項目からなる代替実装形態も包含することが意味される。一実装形態では、本明細書で説明されているシステムおよび方法は、説明された要素、行動、または構成要素のうちの1つ、2つ以上の各組合せ、またはすべてからなる。
【００９４】
本明細書において単数形で参照されるシステムまたは方法の、実装形態または要素または行動に対するあらゆる参照はまた、複数のこれらの要素を含む実装形態を包含し得、本明細書における任意の実装形態または要素または行動に対する複数のあらゆる参照はまた、単一の要素のみを含む実装形態を包含し得る。単数形または複数形の言及は、現在開示されているシステムまたは方法、それらの構成要素、行動、あるいは要素を単一または複数の構成に限定することが意図されるものではない。任意の情報、行動、または要素に基づく任意の行動または要素への言及は、その行動または要素が少なくとも部分的に任意の情報、行動、または要素に基づく実装形態を含み得る。
【００９５】
本明細書で開示される任意の実装形態は、任意の他の実装形態または実施形態と組み合わせられてよく、「ある実装形態」、「いくつかの実装形態」、「一実装形態」などに対するあらゆる言及は必ずしも相互排他的ではなく、実装形態に関連して説明された特定の特徴、構造、または特性が、少なくとも1つの実装形態または実施形態に含まれ得ることを示すことが意図される。本明細書で使用されているそのような用語は、必ずしもすべてが同じ実装形態を指すとは限らない。本明細書に開示された態様および実装形態と一致する任意の方法で、任意の実装形態が他の任意の実装形態と包括的または排他的に組み合わせられ得る。
【００９６】
「または」への言及は、「または」を使用して記載された任意の用語が、記載された用語のうちの単一、複数、およびすべてを示し得るように包括的として解釈され得る。たとえば、「「A」と「B」の少なくとも1つ」への言及は、「A」のみ、「B」のみ、ならびに「A」と「B」の両方を含むことができる。「備える」または他のオープン用語と併せて使用されるそのような言及は、さらなる項目を含み得る。
【００９７】
図面、詳細な説明、または任意の請求項における技術的特徴の後に参照符号が続く場合、それらの参照符号は、図面、詳細な説明、および請求項の理解度を高めるために含まれている。したがって、参照符号もそれらの欠如もいずれの請求項要素の範囲にもなんら限定的な影響を及ぼさない。
【００９８】
本明細書に記載のシステムおよび方法は、それらの特徴から逸脱することなしに他の特定の形態で実施され得る。前述の実装形態は、説明されたシステムおよび方法を限定するのではなく例示的なものである。したがって、本明細書に記載のシステムおよび方法の範囲は、前述の説明ではなく添付の特許請求の範囲によって示され、特許請求の範囲の均等物の意味および範囲内にある変更はその中に包含される。
【符号の説明】
【００９９】
100  システム
101  プライマリコンテンツ発行者サーバ
102  セカンダリコンテンツサーバ
103  動的コンテンツ挿入サーバ
103  コンテンツサーバ
104  クライアントデバイス
105  ネットワーク
106  コンテンツデータベース
107  データ処理システム
108  プロセッサ
109  メモリ
110  分類器
111  信頼度スコアラ
112  分類器データベース
113  プリフェッチコンテンツデータベース
145  データリポジトリ
150  クライアントコンピューティングデバイス
165  ネットワーク
200  コンテンツストリーム
201  コンテンツセグメント
201(1)〜201(n)  プライマリコンテンツセグメント
202  セカンダリコンテンツスロット
202(2)  コンテンツスロット
203  表示
203(2)  表示
300  方法
400  コンピュータシステム
400  コンピューティングデバイス
405  バス
410  プロセッサ
415  メインメモリ
420  読出し専用メモリ(ROM)
425  ストレージデバイス
430  入力デバイス
435  ディスプレイ
【図１】
0006823170.tif 000003
【図２】
0006823170.tif 000004
【図３】
0006823170.tif 000005
【図４】
0006823170.tif 000006