(57)【特許請求の範囲】
【請求項１】
1つまたは複数のサーバによって、クライアントデバイスに配信するための1つまたは複数の電子文書を識別するステップと、
第1の時間期間の間に、前記1つまたは複数のサーバによって、第1のデジタルコンポーネントのセットを識別するステップであって、前記第1のデジタルコンポーネントが、前記電子文書からの前記電子文書のうちの1つまたは複数が前記クライアントデバイスにおいて提示されるときに提示するためのものである、ステップと、
前記1つまたは複数のサーバによって、また第1のデジタルコンポーネントの前記セット内の各第1のデジタルコンポーネントに割り当てられた優先度インジケータを使用して、前記第1の時間期間の間に識別された第1のデジタルコンポーネントの前記セットから前記第1のデジタルコンポーネントの提示順序を指定するデジタルコンポーネント優先度キューを生成するステップであって、前記デジタルコンポーネント優先度キューが、前記電子文書が前記クライアントデバイスにおいて提示されるときに提示されるべきデジタルコンポーネントを決定するために、前記クライアントデバイスにおいて前記1つまたは複数の電子文書のうちの電子文書を提示するときに、前記クライアントデバイスによって照会されるように構成される、ステップと、
前記1つまたは複数のサーバによって、前記電子文書のうちの1つまたは複数、第1のデジタルコンポーネントの前記セット、および前記デジタルコンポーネント優先度キューを前記クライアントデバイスに送信するステップと、
前記第1の時間期間の後に発生する第2の時間期間の間に、前記1つまたは複数のサーバによって、第2のデジタルコンポーネントを識別するステップであって、前記第2のデジタルコンポーネントが、前記電子文書のうちの前記1つまたは複数が前記クライアントデバイスにおいて提示されるときに提示するためのものである、ステップと、
前記第2のデジタルコンポーネントに割り当てられた優先度インジケータに基づいて前記第2のデジタルコンポーネントを前記デジタルコンポーネント優先度キューに挿入させることを含む、前記1つまたは複数のサーバによって、前記クライアントデバイスにおいて前記デジタルコンポーネント優先度キューを更新するステップと
を備え、
前記電子文書が、電子文書のセットを備え、
前記1つまたは複数のサーバによって、i)電子文書の前記セットにおける少なくとも一部の電子文書とは異なるドメインによってホストされ、ii)電子文書の前記セットを含む、複合文書を生成するステップをさらに備え、
送信するステップが、前記1つまたは複数のサーバによって、複合ページ、第1のデジタルコンポーネントの前記セット、および前記デジタルコンポーネント優先度キューを前記クライアントデバイスに送信するステップをさらに含む、方法。
【請求項２】
更新するステップが、前記第2のデジタルコンポーネントに割り当てられた前記優先度インジケータおよび前記第1のデジタルコンポーネントの各々に割り当てられた前記優先度インジケータに基づいて、前記1つまたは複数のサーバによって、前記クライアントデバイスにおいて前記デジタルコンポーネント優先度キューを更新するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記デジタルコンポーネント優先度キューを更新するステップが、前記第2のデジタルコンポーネントが前記デジタルコンポーネント優先度キューに追加される時間ではなく、前記第2のデジタルコンポーネントに割り当てられた前記優先度インジケータに基づいて、前記第2のデジタルコンポーネントを前記デジタルコンポーネント優先度キューに挿入させるステップを含む、請求項1または2に記載の方法。
【請求項４】
第1のデジタルコンポーネントの前記セットが1つまたは複数のサードパーティシステムによって提案され、前記第2のデジタルコンポーネントが追加のサードパーティシステムによって提案される、請求項1から3のいずれか一項に記載の方法。
【請求項５】
各第1のデジタルコンポーネントの前記優先度インジケータが、それぞれの前記サードパーティシステムによって割り当てられ、前記第2のデジタルコンポーネントの前記優先度インジケータが、前記追加のサードパーティシステムによって割り当てられる、請求項4に記載の方法。
【請求項６】
前記第2の時間期間の後に発生する第3の時間期間の間に、前記1つまたは複数のサーバによって、前記電子文書のうちの前記1つまたは複数が前記クライアントデバイスにおいて提示されるとき、前記第3の時間期間の間にさらなるサードパーティシステムによって提案された、提示のための第3のデジタルコンポーネントを識別するステップと、
前記第3のデジタルコンポーネントに割り当てられた前記優先度インジケータに基づいて前記第3のデジタルコンポーネントを前記デジタルコンポーネント優先度キューに挿入させることを含む、前記1つまたは複数のサーバによって、前記クライアントデバイスにおいて前記デジタルコンポーネント優先度キューを更新するステップと
をさらに備える、請求項1から5のいずれか一項に記載の方法。
【請求項７】
更新するステップが、前記第3のデジタルコンポーネントに割り当てられた前記優先度インジケータ、前記第2のデジタルコンポーネントに割り当てられた前記優先度インジケータ、および前記第1のデジタルコンポーネントの各々に割り当てられた前記優先度インジケータに基づいて、前記1つまたは複数のサーバによって、前記クライアントデバイスにおいて前記デジタルコンポーネント優先度キューを更新するステップをさらに含む、請求項6に記載の方法。
【請求項８】
前記1つまたは複数のサーバによって、前記クライアントデバイスから検索クエリを受信するステップをさらに備え、
識別するステップが、前記1つまたは複数のサーバによって、前記検索クエリを使用して電子文書の前記セットを識別するステップをさらに含む、請求項1から7のいずれか一項に記載の方法。
【請求項９】
第1のデジタルコンポーネントの前記セットが、前記第2のデジタルコンポーネントよりもファイルサイズの小さいデジタルコンポーネントを備える、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1から9のいずれか一項に記載の方法を実行させるコンピュータ可読命令を記録したコンピュータ可読記録媒体。
【請求項１１】
システムであって、
1つまたは複数のプロセッサと、
メモリと
を備え、前記メモリが、前記1つまたは複数のプロセッサによって実行されると、前記システムに、請求項1から9のいずれか一項に記載の方法を実行させる命令を記憶する、システム。
【請求項１２】
1つまたは複数のサーバによって、クライアントデバイスへの配信のための電子文書のセットを識別するステップと、
第1の時間期間の間に、前記1つまたは複数のサーバによって、前記第1の時間期間の間に1つまたは複数のサードパーティシステムによって提案された第1のデジタルコンポーネントのセットを識別するステップであって、第1のデジタルコンポーネントの前記セットが、電子文書の前記セットからの前記電子文書のうちの1つまたは複数が前記クライアントデバイスにおいて提示されるときに提示するためのものである、ステップと、
前記1つまたは複数のサーバによって、また第1のデジタルコンポーネントの前記セット内の各第1のデジタルコンポーネントに割り当てられた優先度インジケータを使用して、前記第1の時間期間の間に識別された第1のデジタルコンポーネントの前記セットから前記第1のデジタルコンポーネントの提示順序を指定するデジタルコンポーネント優先度キューを生成するステップであって、前記デジタルコンポーネント優先度キューが、前記電子文書が前記クライアントデバイスにおいて提示されるときに提示されるべきデジタルコンポーネントを決定するために、前記クライアントデバイスにおいて前記1つまたは複数の電子文書のうちの電子文書を提示するときに、前記クライアントデバイスによって照会されるように構成される、ステップと、
前記1つまたは複数のサーバによって、電子文書の前記セットと、第1のデジタルコンポーネントの前記セットと、前記デジタルコンポーネント優先度キューとを前記クライアントデバイスに送信するステップと、
前記第1の時間期間の後に発生する第2の時間期間の間に、前記1つまたは複数のサーバによって、前記第2の時間期間の間に追加のサードパーティシステムによって提案された第2のデジタルコンポーネントを識別するステップであって、前記第2のデジタルコンポーネントが、前記電子文書のうちの前記1つまたは複数が前記クライアントデバイスにおいて提示されるときに提示するためのものである、ステップと、
前記第2のデジタルコンポーネントに割り当てられた優先度インジケータに基づいて前記第2のデジタルコンポーネントを前記デジタルコンポーネント優先度キューに挿入させることを含む、前記1つまたは複数のサーバによって、前記クライアントデバイスにおいて前記デジタルコンポーネント優先度キューを更新するステップと
を備え、
前記1つまたは複数のサーバによって、i)電子文書の前記セットにおける少なくとも一部の電子文書とは異なるドメインによってホストされ、ii)電子文書の前記セットを含む、複合文書を生成するステップをさらに備え、
送信するステップが、前記1つまたは複数のサーバによって、複合ページ、第1のデジタルコンポーネントの前記セット、および前記デジタルコンポーネント優先度キューを前記クライアントデバイスに送信するステップをさらに含む、方法。
【請求項１３】
更新するステップが、前記第2のデジタルコンポーネントに割り当てられた前記優先度インジケータおよび前記第1のデジタルコンポーネントの各々に割り当てられた前記優先度インジケータに基づいて、前記1つまたは複数のサーバによって、前記クライアントデバイスにおいて前記デジタルコンポーネント優先度キューを更新するステップをさらに含む、請求項12に記載の方法。
【請求項１４】
前記デジタルコンポーネント優先度キューを更新するステップが、前記第2のデジタルコンポーネントが前記デジタルコンポーネント優先度キューに追加される時間ではなく、前記第2のデジタルコンポーネントに割り当てられた前記優先度インジケータに基づいて、前記第2のデジタルコンポーネントを前記デジタルコンポーネント優先度キューに挿入させるステップを含む、請求項12に記載の方法。
【請求項１５】
各第1のデジタルコンポーネントの前記優先度インジケータが、それぞれの前記サードパーティシステムによって割り当てられ、前記第2のデジタルコンポーネントの前記優先度インジケータが、前記追加のサードパーティシステムによって割り当てられる、請求項12に記載の方法。
【請求項１６】
前記第2の時間期間の後に発生する第3の時間期間の間に、前記1つまたは複数のサーバによって、前記電子文書のうちの前記1つまたは複数が前記クライアントデバイスにおいて提示されるとき、前記第3の時間期間の間にさらなるサードパーティシステムによって提案された、提示のための第3のデジタルコンポーネントを識別するステップと、
前記第3のデジタルコンポーネントに割り当てられた前記優先度インジケータに基づいて前記第3のデジタルコンポーネントを前記デジタルコンポーネント優先度キューに挿入させることを含む、前記1つまたは複数のサーバによって、前記クライアントデバイスにおいて前記デジタルコンポーネント優先度キューを更新するステップと
をさらに備える、請求項12に記載の方法。
【請求項１７】
更新するステップが、前記第3のデジタルコンポーネントに割り当てられた前記優先度インジケータ、前記第2のデジタルコンポーネントに割り当てられた前記優先度インジケータ、および前記第1のデジタルコンポーネントの各々に割り当てられた前記優先度インジケータに基づいて、前記1つまたは複数のサーバによって、前記クライアントデバイスにおいて前記デジタルコンポーネント優先度キューを更新するステップをさらに含む、請求項16に記載の方法。
【請求項１８】
前記1つまたは複数のサーバによって、前記クライアントデバイスから検索クエリを受信するステップをさらに備え、
識別するステップが、前記1つまたは複数のサーバによって、前記検索クエリを使用して電子文書の前記セットを識別するステップをさらに含む、請求項12に記載の方法。
【請求項１９】
1つまたは複数のコンピュータによって実行可能な命令を備えるソフトウェアを記憶した非一時的コンピュータ可読記録媒体であって、実行されると、前記1つまたは複数のコンピュータに、
1つまたは複数のサーバによって、クライアントデバイスへの配信のための電子文書のセットを識別することと、
第1の時間期間の間に、前記1つまたは複数のサーバによって、前記第1の時間期間の間に1つまたは複数のサードパーティシステムによって提案された第1のデジタルコンポーネントのセットを識別することであって、第1のデジタルコンポーネントの前記セットが、電子文書の前記セットからの前記電子文書のうちの1つまたは複数が前記クライアントデバイスにおいて提示されるときに提示するためのものである、識別することと、
前記1つまたは複数のサーバによって、また第1のデジタルコンポーネントの前記セット内の各第1のデジタルコンポーネントに割り当てられた優先度インジケータを使用して、前記第1の時間期間の間に識別された第1のデジタルコンポーネントの前記セットから前記第1のデジタルコンポーネントの提示順序を指定するデジタルコンポーネント優先度キューを生成することであって、前記デジタルコンポーネント優先度キューが、前記電子文書が前記クライアントデバイスにおいて提示されるときに提示されるべきデジタルコンポーネントを決定するために、前記クライアントデバイスにおいて前記1つまたは複数の電子文書のうちの電子文書を提示するときに、前記クライアントデバイスによって照会されるように構成される、生成することと、
前記1つまたは複数のサーバによって、電子文書の前記セットと、第1のデジタルコンポーネントの前記セットと、前記デジタルコンポーネント優先度キューとを前記クライアントデバイスに送信することと、
前記第1の時間期間の後に発生する第2の時間期間の間に、前記1つまたは複数のサーバによって、前記第2の時間期間の間に追加のサードパーティシステムによって提案された第2のデジタルコンポーネントを識別することであって、前記第2のデジタルコンポーネントが、前記電子文書のうちの前記1つまたは複数が前記クライアントデバイスにおいて提示されるときに提示するためのものである、識別することと、
前記第2のデジタルコンポーネントに割り当てられた前記優先度インジケータに基づいて前記第2のデジタルコンポーネントを前記デジタルコンポーネント優先度キューに挿入させることを含む、前記1つまたは複数のサーバによって、前記クライアントデバイスにおいて前記デジタルコンポーネント優先度キューを更新することと
を備える動作を実行させ、
前記動作が、
前記1つまたは複数のサーバによって、i)電子文書の前記セットにおける少なくとも一部の電子文書とは異なるドメインによってホストされ、ii)電子文書の前記セットを含む、複合文書を生成することをさらに備え、
送信することが、前記1つまたは複数のサーバによって、複合ページ、第1のデジタルコンポーネントの前記セット、および前記デジタルコンポーネント優先度キューを前記クライアントデバイスに送信することをさらに含む、非一時的コンピュータ可読記録媒体。
【請求項２０】
更新する前記動作が、前記第2のデジタルコンポーネントに割り当てられた前記優先度インジケータおよび前記第1のデジタルコンポーネントの各々に割り当てられた前記優先度インジケータに基づいて、前記1つまたは複数のサーバによって、前記クライアントデバイスにおいて前記デジタルコンポーネント優先度キューを更新することをさらに含む、請求項19に記載の非一時的コンピュータ可読記録媒体。
【請求項２１】
前記デジタルコンポーネント優先度キューを更新する前記動作が、前記第2のデジタルコンポーネントが前記デジタルコンポーネント優先度キューに追加される時間ではなく、前記第2のデジタルコンポーネントに割り当てられた前記優先度インジケータに基づいて、前記第2のデジタルコンポーネントを前記デジタルコンポーネント優先度キューに挿入させることを含む、請求項19に記載の非一時的コンピュータ可読記録媒体。
【請求項２２】
前記動作が、
前記第2の時間期間の後に発生する第3の時間期間の間に、前記1つまたは複数のサーバによって、前記電子文書のうちの前記1つまたは複数が前記クライアントデバイスにおいて提示されるとき、前記第3の時間期間の間にさらなるサードパーティシステムによって提案された、提示のための第3のデジタルコンポーネントを識別することと、
前記第3のデジタルコンポーネントに割り当てられた前記優先度インジケータに基づいて前記第3のデジタルコンポーネントを前記デジタルコンポーネント優先度キューに挿入させることを含む、前記1つまたは複数のサーバによって、前記クライアントデバイスにおいて前記デジタルコンポーネント優先度キューを更新することと
をさらに備える、請求項19に記載の非一時的コンピュータ可読記録媒体。
【請求項２３】
更新する前記動作が、前記第3のデジタルコンポーネントに割り当てられた前記優先度インジケータ、前記第2のデジタルコンポーネントに割り当てられた前記優先度インジケータ、および前記第1のデジタルコンポーネントの各々に割り当てられた前記優先度インジケータに基づいて、前記1つまたは複数のサーバによって、前記クライアントデバイスにおいて前記デジタルコンポーネント優先度キューを更新することをさらに含む、請求項22に記載の非一時的コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、低遅延環境において高遅延デジタルコンポーネントを送信するための技法に関する。たとえば、大量のデジタルコンポーネントが、モバイル電話、タブレットデバイス、および他のポータブルコンピューティングデバイスなどのポータブルコンピューティングデバイスに分散される。多くの場合、これらのポータブルデバイスに分散されるデジタルコンポーネントは、モバイル電話ネットワーク(たとえば、セルラー通信ネットワーク)を含むワイヤレス接続を介して送信される。状況によっては、分散されるデジタルコンポーネントは、指定された遅延制約内で送信されなければならず、したがって遅延制約内にクライアントデバイスに提供されないデジタルコンポーネントはクライアントデバイスによって利用できない。
【発明の概要】
【課題を解決するための手段】
【０００２】
本明細書で説明する主題の革新的な態様は、1つまたは複数のサーバによって、クライアントデバイスに配信するための電子文書を識別するステップと、第1の時間期間の間に、電子文書からの電子文書のうちの1つまたは複数がクライアントデバイスにおいて提示されるとき、1つまたは複数のサーバによって、提示のための第1のデジタルコンポーネントのセットを識別するステップと、1つまたは複数のサーバによって、また第1のデジタルコンポーネントのセット内の各第1のデジタルコンポーネントに割り当てられた優先度インジケータを使用して、第1の時間期間の間に識別された第1のデジタルコンポーネントのセットから第1のデジタルコンポーネントの提示順序を指定するデジタルコンポーネント優先度キューを生成するステップと、1つまたは複数のサーバによって、電子文書、第1のデジタルコンポーネントのセット、およびデジタルコンポーネント優先度キューをクライアントデバイスに送信するステップと、第1の時間期間の後に発生する第2の時間期間の間に、1つまたは複数のサーバによって、電子文書のうちの1つまたは複数がクライアントデバイスにおいて提示されるとき、提示のための第2のデジタルコンポーネントを識別するステップと、第2のデジタルコンポーネントに割り当てられた優先度インジケータに基づいて第2のデジタルコンポーネントをデジタルコンポーネント優先度キューに挿入させることを含む、1つまたは複数のサーバによって、クライアントデバイスにおいてデジタルコンポーネント優先度キューを更新するステップとのアクションを含む方法において具現化され得る。
【０００３】
これらの態様の他の実施形態は、対応するシステム、装置、および、方法のアクションを実行するように構成され、コンピュータストレージデバイスに符号化されたコンピュータプログラムを含む。
【０００４】
これらおよび他の実施形態はそれぞれ、以下の機能のうちの1つまたは複数を任意で含み得る。たとえば、更新するステップは、第2のデジタルコンポーネントに割り当てられた優先度インジケータおよび第1のデジタルコンポーネントの各々に割り当てられた優先度インジケータに基づいて、1つまたは複数のサーバによって、クライアントデバイスにおいてデジタルコンポーネント優先度キューを更新するステップをさらに含む。デジタルコンポーネント優先度キューを更新するステップは、第2のデジタルコンポーネントがデジタルコンポーネント優先度キューに追加される時間ではなく、第2のデジタルコンポーネントに割り当てられた優先度インジケータに基づいて、第2のデジタルコンポーネントを第1のデジタルコンポーネント優先度キューに挿入させるステップを含む。第1のデジタルコンポーネントのセットは1つまたは複数のサードパーティシステムによって提案され、第2のデジタルコンポーネントは追加のサードパーティシステムによって提案される。各第1のデジタルコンポーネントの優先度インジケータは、それぞれのサードパーティシステムによって割り当てられ、第2のデジタルコンポーネントの優先度インジケータは、追加のサードパーティシステムによって割り当てられる。電子文書は、電子文書のセットを備える。1つまたは複数のサーバによって、i)電子文書のセットにおける少なくとも一部の電子文書とは異なるドメインによってホストされ、ii)電子文書のセットを含む、複合文書を生成するステップであって、送信するステップは、1つまたは複数のサーバによって、複合ページ、第1のデジタルコンポーネントのセット、およびデジタルコンポーネント優先度キューをクライアントデバイスに送信するステップをさらに含む。
【０００５】
さらなる機能は、たとえば、第2の時間期間の後に発生する第3の時間期間の間に、1つまたは複数のサーバによって、電子文書のうちの1つまたは複数がクライアントデバイスにおいて提示されるとき、第3の時間期間の間にさらなるサードパーティシステムによって提案された、提示のための第3のデジタルコンポーネントを識別するステップと、第3のデジタルコンポーネントに割り当てられた優先度インジケータに基づいて第3のデジタルコンポーネントをデジタルコンポーネント優先度キューに挿入させることを含む、1つまたは複数のサーバによって、クライアントデバイスにおいてデジタルコンポーネント優先度キューを更新するステップとを含む。更新するステップは、第3のデジタルコンポーネントに割り当てられた優先度インジケータ、第2のデジタルコンポーネントに割り当てられた優先度インジケータ、および第1のデジタルコンポーネントの各々に割り当てられた優先度インジケータに基づいて、1つまたは複数のサーバによって、クライアントデバイスにおいてデジタルコンポーネント優先度キューを更新するステップをさらに含む。1つまたは複数のサーバによって、クライアントデバイスから検索クエリを受信するステップであって、識別するステップは、1つまたは複数のサーバによって、検索クエリを使用して電子文書のセットを識別するステップをさらに含む。第1のデジタルコンポーネントのセットは、第2のデジタルコンポーネントよりも小さいデジタルコンポーネントを備える。
【０００６】
本明細書で説明される主題の革新的な態様は、クライアントデバイスへの配信のための電子文書のセットを識別する電子文書検査デバイスと、i)第1の時間期間の間に、電子文書のセットからの電子文書のうちの1つまたは複数がクライアントデバイスにおいて提示されるときに、提示のために1つまたは複数のサードパーティシステムによって提案されるデジタルコンポーネントの第1のセットと、ii)第1の時間期間の後に発生する第2の時間期間の間に、電子文書のうちの1つまたは複数がクライアントデバイスにおいて提示されるとき、提示のための追加のサードパーティシステムによって提案される第2のデジタルコンポーネントとを識別するデジタルコンポーネント識別デバイスと、i)デジタルコンポーネントのセット内の各第1のデジタルコンポーネントに割り当てられた優先度インジケータを使用して、第1の時間期間の間に識別されたデジタルコンポーネントのセットから第1のデジタルコンポーネントの提示順序を指定するデジタルコンポーネント優先度キューを生成することと、ii)第2のデジタルコンポーネントに割り当てられた優先度インジケータに基づいて第2のデジタルコンポーネントを含めるために、クライアントデバイスにおいてデジタルコンポーネント優先度キューを更新することとを行うデジタルコンポーネント優先度キューマネージャとを含むシステムにおいて具現化され得る。
【０００７】
これらの態様の他の実施形態は、対応する方法、および、方法のアクションを実行するように構成され、コンピュータストレージデバイスに符号化されたコンピュータプログラムを含む。
【０００８】
これらおよび他の実施形態はそれぞれ、以下の機能のうちの1つまたは複数を任意で含み得る。たとえば、デジタルコンポーネント優先度キューマネージャは、第2のデジタルコンポーネントに割り当てられた優先度インジケータおよび第1のデジタルコンポーネントの各々に割り当てられた優先度インジケータに基づいて、クライアントデバイスにおいてデジタルコンポーネント優先度キューをさらに更新する。デジタルコンポーネント優先度キューマネージャは、第2のデジタルコンポーネントがデジタルコンポーネント優先度キューに追加される時間ではなく、第2のデジタルコンポーネントに割り当てられた優先度インジケータに基づいて、第2のデジタルコンポーネントを第1のデジタルコンポーネント優先度キューに挿入することをさらに含む。各第1のデジタルコンポーネントの優先度インジケータは、それぞれのサードパーティシステムによって割り当てられ、第2のデジタルコンポーネントの優先度インジケータは、追加のサードパーティシステムによって割り当てられる。デジタルコンポーネント識別デバイスは、i)第2の時間期間の後に発生する第3の時間期間の間に、電子文書のうちの1つまたは複数がクライアントデバイスにおいて提示されるとき、第3の時間期間の間にさらなるサードパーティシステムによって提案された、提示のための第3のデジタルコンポーネントを識別し、デジタルコンポーネント優先度キューマネージャは、第3のデジタルコンポーネントに割り当てられた優先度インジケータに基づいて、第3のデジタルコンポーネントをデジタルコンポーネント優先度キューに挿入させることによって、クライアントデバイスにおいてデジタルコンポーネント優先度キューを更新する。デジタルコンポーネント優先度キューマネージャは、第3のデジタルコンポーネントに割り当てられた優先度インジケータ、第2のデジタルコンポーネントに割り当てられた優先度インジケータ、および第1のデジタルコンポーネントの各々に割り当てられた優先度インジケータに基づいて、クライアントデバイスにおいてデジタルコンポーネント優先度キューをさらに更新する。
【０００９】
本明細書で説明する主題の革新的な態様は、1つまたは複数のサーバによって、クライアントデバイスへの配信のための電子文書のセットを識別するステップと、第1の時間期間の間に、1つまたは複数のサーバによって、第1の時間期間の間に電子文書のセットからの電子文書のうちの1つまたは複数がクライアントデバイスにおいて提示されるとき、提示のための1つまたは複数のサードパーティシステムによって提案された第1のデジタルコンポーネントのセットを識別するステップと、1つまたは複数のサーバによって、また第1のデジタルコンポーネントのセット内の各第1のデジタルコンポーネントに割り当てられた優先度インジケータを使用して、第1の時間期間の間に識別された第1のデジタルコンポーネントのセットから第1のデジタルコンポーネントの提示順序を指定するデジタルコンポーネント優先度キューを生成するステップと、1つまたは複数のサーバによって、電子文書のセットと、第1のデジタルコンポーネントのセットと、デジタルコンポーネント優先度キューとをクライアントデバイスに送信するステップと、第1の時間期間の後に発生する第2の時間期間の間に、1つまたは複数のサーバによって、電子文書のうちの1つまたは複数がクライアントデバイスにおいて提示されるとき、第2の時間期間の間に、追加のサードパーティシステムによって提案された、提示のための第2のデジタルコンポーネントを識別するステップと、第2のデジタルコンポーネントに割り当てられた優先度インジケータに基づいて第2のデジタルコンポーネントをデジタルコンポーネント優先度キューに挿入させることを含む、1つまたは複数のサーバによって、クライアントデバイスにおいてデジタルコンポーネント優先度キューを更新するステップとのアクションを含む方法において具現化され得る。
【００１０】
これらの態様の他の実施形態は、対応するシステム、装置、および、方法のアクションを実行するように構成され、コンピュータストレージデバイスに符号化されたコンピュータプログラムを含む。
【００１１】
これらおよび他の実施形態はそれぞれ、以下の機能のうちの1つまたは複数を任意で含み得る。たとえば、更新するステップは、第2のデジタルコンポーネントに割り当てられた優先度インジケータおよび第1のデジタルコンポーネントの各々に割り当てられた優先度インジケータに基づいて、1つまたは複数のサーバによって、クライアントデバイスにおいてデジタルコンポーネント優先度キューを更新するステップをさらに含む。デジタルコンポーネント優先度キューを更新するステップは、第2のデジタルコンポーネントがデジタルコンポーネント優先度キューに追加される時間ではなく、第2のデジタルコンポーネントに割り当てられた優先度インジケータに基づいて、第2のデジタルコンポーネントを第1のデジタルコンポーネント優先度キューに挿入させるステップを含む。各第1のデジタルコンポーネントの優先度インジケータは、それぞれのサードパーティシステムによって割り当てられ、第2のデジタルコンポーネントの優先度インジケータは、追加のサードパーティシステムによって割り当てられる。1つまたは複数のサーバによって、i)電子文書のセットにおける少なくとも一部の電子文書とは異なるドメインによってホストされ、ii)電子文書のセットを含む、複合文書を生成するステップであって、送信するステップは、1つまたは複数のサーバによって、複合ページ、第1のデジタルコンポーネントのセット、およびデジタルコンポーネント優先度キューをクライアントデバイスに送信するステップをさらに含む。
【００１２】
さらなる機能は、たとえば、第2の時間期間の後に発生する第3の時間期間の間に、1つまたは複数のサーバによって、電子文書のうちの1つまたは複数がクライアントデバイスにおいて提示されるとき、第3の時間期間の間にさらなるサードパーティシステムによって提案された、提示のための第3のデジタルコンポーネントを識別するステップと、第3のデジタルコンポーネントに割り当てられた優先度インジケータに基づいて第3のデジタルコンポーネントをデジタルコンポーネント優先度キューに挿入させることを含む、1つまたは複数のサーバによって、クライアントデバイスにおいてデジタルコンポーネント優先度キューを更新するステップとを含む。更新するステップは、第3のデジタルコンポーネントに割り当てられた優先度インジケータ、第2のデジタルコンポーネントに割り当てられた優先度インジケータ、および第1のデジタルコンポーネントの各々に割り当てられた優先度インジケータに基づいて、1つまたは複数のサーバによって、クライアントデバイスにおいてデジタルコンポーネント優先度キューを更新するステップをさらに含む。1つまたは複数のサーバによって、クライアントデバイスから検索クエリを受信するステップであって、識別するステップは、1つまたは複数のサーバによって、検索クエリを使用して電子文書のセットを識別するステップをさらに含む。
【００１３】
本明細書で説明される主題の特定の実装形態は、以下の利点のうちの1つまたは複数を実現するように実装することができる。高遅延デジタルコンポーネント(たとえば、指定された遅延制約内でクライアントデバイスに提供されないデジタルコンポーネント)は、高遅延デジタルコンポーネントが指定された遅延制約内で識別されない、および/または提供されないという事実にかかわらず、クライアントデバイスによって使用するために依然として提供することができる。本開示の実装形態は、デジタルコンポーネントの優先度に基づいて、またデジタルコンポーネントがデジタルコンポーネントキューに追加される時間とは無関係に、デジタルコンポーネント(たとえば、ビデオ、画像、テキスト)をデジタルコンポーネントキューに追加することを提供する。すなわち、高遅延デジタルコンポーネントは指定された遅延制約を満たさなかったという事実にかかわらず、高遅延デジタルコンポーネントをデジタルコンポーネントキューに含むことができる。たとえば、サードパーティシステムで遅延関連の問題(たとえば、ネットワーク接続の問題、限られた帯域幅、デジタルコンポーネントのファイルサイズなど)が発生する可能性があり、サードパーティシステムが指定された遅延制約内にデジタルコンポーネントに対する要求に応答することを妨げる場合がある。サードパーティの遅延関連の問題および/またはクライアントデバイスにデジタルコンポーネントを配信するために利用可能な帯域幅の量により、より大きいデジタルコンポーネント(たとえば、オーディオ、ビデオ、または他のマルチメディアファイル)が、遅延制約内にクライアントデバイスに配信されること、および/または、クライアントデバイスにおいて維持されるデジタルコンポーネントキューに追加されることが妨げられる場合がある。より大きいデジタルコンポーネントの配信を妨げるサードパーティシステムの遅延関連の問題、および/または帯域幅の制約を補償するために、クライアントデバイスにおいて維持されるデジタルコンポーネントキューは、到着時刻によって並べ替えられるのではなく、デジタルコンポーネントに割り当てられた優先度インジケータによって並べ替えられる。したがって、そうすることによって、クライアントデバイスが、指定された遅延制約内で使用する低遅延デジタルコンポーネントを受信することと、それらの低遅延デジタルコンポーネントを使用してキューを作成することとを可能にし、さらに、後に(たとえば、指定された遅延制約の期限が切れた後に)高遅延デジタルコンポーネント(たとえば、ビデオデジタルコンポーネント)がデジタルコンポーネントキューに追加されることを可能にし、それによって、高遅延デジタルコンポーネントを提供するサードパーティシステムの遅延問題(たとえば、限られた帯域幅)、および/またはより大きいデジタルコンポーネントの配信を遅延させる可能性のある帯域幅の制約を補償する。さらに、デジタルコンポーネントキューの優先度インジケータに基づく管理により、それらの高遅延デジタルコンポーネントが、クライアントデバイスへの配信時間のみに基づいてデジタルコンポーネントキューに追加されるのではなく、指定された遅延制約内で提供されていたならデジタル���ンポーネントキューにおいて占有したであろう場所を占めることが可能になる。このように、本明細書で説明する技法は、指定された遅延制約内でクライアントデバイスにとってデジタルコンポーネントを利用可能にすることによって指定された遅延制約を依然として尊重しながら、通常ならコンピュータが指定された遅延制約により提供できなかったであろうデジタルコンポーネントを提供することを可能にすることによって、コンピュータの機能を改善する。
【００１４】
本明細書に記載される主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載される。本主題の他の潜在的な機能、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１５】
【図１Ａ】デジタルコンポーネントの分散の環境を示す図である。
【図１Ｂ】デジタルコンポーネントの分散の環境を示す図である。
【図１Ｃ】デジタルコンポーネントの分散の環境を示す図である。
【図２】デジタルコンポーネント優先度キューの一例を示す図である。
【図３】デジタルコンポーネント優先度キューの一例を示す図である。
【図４】デジタルコンポーネント優先度キューの一例を示す図である。
【図５】デジタルコンポーネント優先度キューの一例を示す図である。
【図６】デジタルコンポーネントを含む複合ページの一例を表示するグラフィカルユーザインターフェースの一例を示す図である。
【図７】デジタルコンポーネントを含む複合ページの一例を表示するグラフィカルユーザインターフェースの一例を示す図である。
【図８】デジタルコンポーネント優先度キューを管理するための例示的なプロセスを示す図である。
【図９】本明細書で説明される技法を実装するために使用され得る例示的なコンピューティングシステムおよびモバイルコンピューティングデバイスを示す図である。
【発明を実施するための形態】
【００１６】
本明細書は、低遅延環境において高遅延デジタルコンポーネントが分散されることを可能にする方法、システム、およびコンピュータ可読媒体について説明する。説明のために、所与のシステムが分散ネットワーク環境においてデジタルコンポーネントを分散すると仮定する。所与のシステムは、デジタルコンポーネントに対する要求の受信後、指定された時間内(たとえば、所与のシステムがデジタルコンポーネントを選択および分散しなければならない期間を指定する、指定された遅延制約内)にデジタルコンポーネントのセットを分散する(たとえば、送信する)必要があり得る。所与のシステムが指定された時間内にデジタルコンポーネントを分散できない場合、デジタルコンポーネントは、デジタルコンポーネントを要求したクライアントデバイスにおいて提示される電子文書での提示のために利用できない。このように、電子文書は、通常ならデジタルコンポーネントが提示されていたであろう1つまたは複数の空白スペースで提示され得る。また、デジタルコンポーネントを使用できない場合、クライアントデバイスにおいてページ読込みエラー(または、他のエラー)が発生する可能性がある。
【００１７】
所与のシステムは、様々な理由により、指定された時間内にデジタルコンポーネントを分散できない場合がある。たとえば、所与のシステムは、指定された時間内にデジタルコンポーネントに対する要求に単に応答できない場合がある。説明のために、所与のシステムが、要求に応じて提供されるデジタルコンポーネントを識別するためにサードパーティシステムに接続すると仮定する。これらのサードパーティシステムは、所与のシステムに応答するために、特定の時間(たとえば、所与のシステムがデジタルコンポーネントに対する要求に応答する必要がある指定された時間よりも短い時間)が割り振られ得る。しかしながら、これらのサードパーティシステムが十分に迅速に応答しない場合、所与のシステムは、デジタルコンポーネントに対する要求に応じてクライアントデバイスに提供するためにどのデジタルコンポーネントも識別していない可能性がある。この状況では、所与のシステムは、デジタルコンポーネントに対する要求後、指定された時間内にデジタルコンポーネントをクライアントデバイスに提供することができない。
【００１８】
別の例では、識別されたデジタルコンポーネントを指定された時間内にクライアントデバイスに送信することができない場合、所与のシステムは指定された時間内にデジタルコンポーネントをクライアントデバイスに分散できない場合がある。たとえば、デジタルコンポーネントのファイルサイズが大きい状況において、指定された時間内にデジタルコンポーネントのクライアントデバイスへの配信を完了するために、デジタルコンポーネントをクライアントデバイスに配信するための利用可能な帯域幅が不足している場合がある。たとえば、クライアントデバイスが低速なモバイルネットワーク上にある場合、またはクライアントデバイスによって使用されているネットワーク上に大量のトラフィックがある場合、デジタルコンポーネントの配信が指定された時間を超えて遅延することがある。同様に、所与のシステムとクライアントデバイスとの間の通信の中断は、指定された時間内のクライアントデバイスへのデジタルコンポーネントの配信を遅延させる可能性がある。
【００１９】
本明細書全体で説明されているように、低遅延環境において高遅延デジタルコンポーネントが配信されることを可能にするための技法を実装することができる。本明細書全体で使用されているように、低遅延環境という用語は、要求に応じてデジタルコンポーネントがクライアントデバイスに提供されるべき初期時間を指定するために、指定された遅延制約(たとえば、指定された時間)、または他の何らかの制約が使用される環境を指す。一方、高遅延デジタルコンポーネントという用語は、指定された時間内に提供されない任意のデジタルコンポーネントを指す。たとえば、低遅延デジタルコンポーネントは、高遅延デジタルコンポーネントと比較して、クライアントデバイスに送信するために低ビットレートを必要とするデジタルコンポーネントであり得る。たとえば、低遅延デジタルコンポーネントは、高遅延デジタルコンポーネントと比較して少数のビットを備え得る。
【００２０】
一般に、本明細書全体で説明される技法は、指定された時間内に低遅延デジタルコンポーネントが提供されることを可能にするが、依然として、指定された時間の終了後に高遅延デジタルコンポーネントが提供されることも可能にする。低遅延デジタルコンポーネントがクライアントデバイスに提供されると、クライアントデバイスには、低遅延デジタルコンポーネントがクライアントデバイスにおいて提示されるべき順序を指定するデジタルコンポーネントキューが提供される。高遅延デジタルコンポーネントがクライアントデバイスに提供されると、クライアントデバイスは、クライアントデバイスへの到着時間ではなく、優先度に基づいて高遅延デジタルコンポーネントをキュー内に配置するために、優先度インジケータを使用してデジタルコンポーネントキューを更新する。したがって、高遅延デジタルコンポーネントが指定された時間が終了した後にクライアントデバイスに到着したという事実にもかかわらず、高遅延デジタルコンポーネントは、依然としてデジタルコンポーネントキュー内で同じ優先順位が提供される。これらの技法は、必要に応じてクライアントデバイスにおける提示のためにデジタルコンポーネントが利用可能であることを確実にする遅延制約を利用する利点と、クライアントデバイスに提供されるデジタルコンポーネントを識別するためにより長い時間を提供する利点とを兼ね備えており、これにより、デジタルコンポーネントへの要求に応じてクライアントデバイスにおいて提示することができるデジタルコンポーネントのコーパスが拡張される。この技法により、たとえば、ネットワークを使用してユーザインターフェースが提供され、あらかじめ定められた期間内にクライアントデバイスにおいて表示され、その後、ネットワークを使用してクライアントデバイスに送信されるために追加の時間を必要とするコンポーネントを追加されることが可能になり得る。この技法は、デバイスへの送信がより遅いデジタルコンポーネントを用いて後で強化される第1のユーザインターフェースが提供されることを可能にし得る。
【００２１】
以下でより詳細に説明するように、本明細書で説明するシステムは、クライアントデバイスへの配信のための電子文書のセットを識別する。たとえば、システムは、第1の時間期間の間に、電子文書のセットから電子文書のうちの1つまたは複数がクライアントデバイスにおいて提示されるとき、提示のための1つまたは複数のサードパーティシステムによって提案された第1のデジタルコンポーネントのセットを第1の時間期間の間に識別する。本システムは、第1のデジタルコンポーネントのセット内の各第1のデジタルコンポーネントに割り当てられた優先度インジケータを使用して、第1の時間期間の間に識別された第1のデジタルコンポーネントのセットから第1のデジタルコンポーネントの提示順序を指定するデジタルコンポーネント優先度キューを生成する。本システムは、電子文書のセットと、第1のデジタルコンポーネントのセットと、デジタルコンポーネント優先度キューとをクライアントデバイスに送信する。本システムは、第1の時間期間の後に発生する第2の時間期間の間に、第2の時間期間に電子文書のうちの1つまたは複数がクライアントデバイスにおいて提示されるとき、提示のための追加のサードパーティシステムによって提案された第2のデジタルコンポーネントを識別する。本システムは、第2のデジタルコンポーネントに割り当てられた優先度インジケータに基づいて第2のデジタルコンポーネントをデジタルコンポーネント優先度キューに挿入させることを含む、クライアントデバイスにおいてデジタルコンポーネント優先度キューを更新する。
【００２２】
図1A〜図1Cは、デジタルコンポーネントの分散のための環境100を示している。環境100は、サーバコンピューティングシステム102と、クライアントコンピューティングデバイス104と、電子文書データベース106と、サードパーティコンピューティングシステム108a、108b、108c(サードパーティコンピューティングシステム108と総称される)と、デジタルコンポーネントリポジトリ110a、110b、110c(デジタルコンポーネントリポジトリ110と総称される)とを含む。サーバコンピューティングシステム102は、電子文書検査デバイス112と、デジタルコンポーネント識別デバイス114と、デジタルコンポーネント優先度キューマネージャ116とを含む。電子文書検査デバイス112、デジタルコンポーネント識別デバイス114、およびデジタルコンポーネント優先度キューマネージャ116の各々は、別個のサーバコンピューティングシステム、またはサーバコンピューティングシステムの組合せとすることができる。
【００２３】
サーバコンピューティングシステム102は、1つまたは複数のネットワークを介して、クライアントコンピューティングデバイス104、電子文書データベース106、およびサードパーティコンピューティングシステム108と通信している。サードパーティコンピューティングシステム108a、108b、108cの各々は、それぞれのサードパーティコンピューティングシステムによって分散されるデジタルコンポーネントをそれぞれ記憶する、それぞれのデジタルコンポーネントリポジトリ110a、110b、110cと通信し得る。デジタルコンポーネントは、テキスト、画像、ビデオ、またはマルチメディアデジタルコンテンツを含むことができる。いくつかの例では、デジタルコンポーネントは広告を含むことができる。
【００２４】
図1Aを参照すると、いくつかの実装形態では、サーバコンピューティングシステム102は、クライアントコンピューティングデバイス104から電子文書に対する要求120を受信する(動作A)。いくつかの例では、要求は検索クエリを含むことができる。要求120は、テキストクエリ、視覚クエリ、音声クエリ、またはそれらの組合せを含むことができる。
【００２５】
サーバコンピューティングシステム102、および具体的には電子検査デバイス112は、たとえば要求120に応じて、電子文書122のセットを識別する(動作B)。いくつかの例では、要求120が検索クエリを含む場合、電子検査デバイス112は、検索クエリ、すなわち検索クエリに応答する電子文書122を使用して、電子文書122を識別する。電子検査デバイス112は、キーワード、メタ情報、および電子文書122に含まれるコンテンツを示す他の情報を含む1つまたは複数の要因に基づいて、要求120に応じて電子文書122を識別することができる。いくつかの実装形態では、電子文書122は、様々な異なるニュースウェブサイトからのニュース記事であり得る。
【００２６】
サーバコンピューティングシステム102は、たとえば、電子文書122がクライアントコンピューティングデバイス104において提示されるとき、電子文書122を用いて提示するためのデジタルコンポーネントに対する要求124を生成する。サーバコンピューティングシステム102は、サードパーティコンピューティングシステム108の各々を含む、サードパーティコンピューティングシステム108の任意のサブセットに要求124を送信する(動作C)。いくつかの例では、サーバコンピューティングシステム102は、実質的に同時に(たとえば、並行して)サードパーティコンピューティングシステム108に要求を送信する。いくつかの例では、要求124は、電子文書122に関する情報、たとえば電子文書122のコンテンツの識別または電子文書のソース(たとえば、ウェブサイトURL)を含むことができる。いくつかの例では、要求124は、クライアントコンピューティングデバイス104の情報、たとえば、クライアントコンピューティングデバイス104および/またはクライアントコンピューティングデバイス104のユーザのプロファイル特性の識別を含むことができる。
【００２７】
サーバコンピューティングシステム102、および具体的にはデジタルコンポーネント識別デバイス114は、第1の時間期間の間(たとえば、指定された時間または遅延制約内)に、第1のデジタルコンポーネント126を識別する(動作D)。具体的には、要求124に応じて、電子文書122のうちの1つまたは複数がクライアントコンピューティングデバイス104において提示されるときに、サードパーティコンピューティングシステム108aによって提案されている、提示のための第1のデジタルコンポーネント126を識別するために、サードパーティコンピューティングシステム108aはデジタルコンポーネントリポジトリ110aにアクセスする。いくつかの例では、第1のデジタルコンポーネント126は、電子文書122のコンテンツ、クライアントコンピューティングデバイス104の特性、またはその両方に基づいて、サードパーティコンピューティングシステム108aによって識別され得る。いくつかの例では、第1のデジタルコンポーネント126は、検索クエリ自体、および/あるいは、キーワード、メタ情報、および電子文書122の内容を示す他の情報を含む電子文書122の1つまたは複数の基準に基づいて、要求120の検索クエリに応答すると決定できる。いくつかの例では、第1のデジタルコンポーネント126は、テキスト、画像、および/またはビデオを含む。サードパーティコンピューティングシステム108aは、たとえば、要求124に応じて、第1の時間期間の間に、第1のデジタルコンポーネント126をサーバコンピューティングシステム102に送信する。
【００２８】
第1のデジタルコンポーネント126は、本明細書でさらに説明するクライアントコンピューティングデバイス104による電子文書122の提示と組み合わせて提示され得る。いくつかの例では、電子文書122がクライアントコンピューティングデバイス104によって提示されるとき、第1のデジタルコンポーネント126は、1つまたは複数の電子文書122内に提示され得る。
【００２９】
サーバコンピューティングシステム102、および具体的にはデジタルコンポーネント優先度キューマネージャ116は、デジタルコンポーネント優先度キュー128を生成する(動作E)。デジタルコンポーネント優先度キュー128は、第1のデジタルコンポーネント134がクライアントコンピューティングデバイス104に提供されるときに、クライアントコンピューティングデバイス104に提供することができる。デジタルコンポーネント優先度キュー128は、第1の時間期間の間に識別された第1のデジタルコンポーネント126の提示の順序を指定する。第1のデジタルコンポーネント126の提示の順序は、クライアントコンピューティングデバイス104が本明細書でさらに説明する電子文書122内で第1のデジタルコンポーネント126を提示する順序である。たとえば、デジタルコンポーネント優先度キュー128の上部にあるデジタルコンポーネントは、デジタルコンポーネント優先度キュー128の上部の下にあるデジタルコンポーネントに先立って電子文書122を用いて提示するために選択される。
【００３０】
デジタルコンポーネント優先度キューマネージャ116は、優先度インジケータ130を使用してデジタルコンポーネント優先度キュー128を生成する。優先度インジケータ130は、各第1のデジタルコンポーネント126にそれぞれ割り当てられる。いくつかの例では、デジタルコンポーネント優先度キューマネージャ116は、それぞれの第1のデジタルコンポーネント126のリソース割振りに基づいて、第1のデジタルコンポーネント126の各々に優先度インジケータ130を割り当てる。いくつかの例では、サードパーティコンピューティングシステム108aは、優先度インジケータ130を第1のデジタルコンポーネント126の各々に割り当てる。
【００３１】
いくつかの例では、第1のデジタルコンポーネント126の優先度インジケータ130は、たとえば、電子文書122内のデジタルコンポーネントの提示のリアルタイムオークションに応じて、サードパーティコンピューティングシステム108aによって提供される入札に基づいている。したがって、優先度インジケータ130は、それぞれの第1のデジタルコンポーネント126の入札、または入札を使用して計算された値(たとえば、入札予測パフォーマンス)を示すことができる。
【００３２】
デジタルコンポーネント優先度キューマネージャ116は、優先度インジケータ130に基づいて、デジタルコンポーネント優先度キュー128内に第1のデジタルコンポーネント126を配置する。たとえば、優先度インジケータ130によって示されるように、より高い優先度を有するデジタルコンポーネントは、優先度インジケータ130によって示されるように、より低い優先度を有するデジタルコンポーネントと比較して、デジタルコンポーネント優先度キュー128内でより高い位置に配置される。
【００３３】
図2は、デジタルコンポーネント優先度キュー128の一例を示す図である。デジタルコンポーネント優先度キュー128は、第1のデジタルコンポーネント126の提示の順序を指定する。図示された例では、第1のデジタルコンポーネント126は、デジタルコンポーネントAと、デジタルコンポーネントBと、デジタルコンポーネントCとを含む。しかしながら、第1のデジタルコンポーネント126は、任意の数のデジタルコンポーネントを含むことができる。
【００３４】
図示された例では、デジタルコンポーネント優先度キューマネージャ116は、第1のデジタルコンポーネント126の各々の優先度インジケータ130に基づいて、第1の位置202内のデジタルコンポーネントAと、第2の位置204内のデジタルコンポーネントBと、第3の位置206内のデジタルコンポーネントCとを配置する。すなわち、デジタルコンポーネントAの優先度インジケータ130は、デジタルコンポーネントBの優先度インジケータ130よりも大きく、デジタルコンポーネントBの優先度インジケータ130は、デジタルコンポーネントCの優先度インジケータ130よりも大きい。
【００３５】
再び図1Aを参照すると、サーバコンピューティングシステム102は、クライアントコンピューティングデバイス104に、電子文書122のサブセット132と、第1のデジタルコンポーネント126のサブセット134と、デジタルコンポーネント優先度キュー128とを送信する(動作F)。電子文書122のサブセット132は、電子文書122の任意の部分、または電子文書122の各々であり得る。電子文書122は、別のコンピューティングシステムによって提供され得る(たとえば、別のエンティティによって動作され得る)点に留意されたい。第1のデジタルコンポーネント126のサブセット132は、第1のデジタルコンポーネント126の任意の部分、または第1のデジタルコンポーネント126の各々であり得る。第1のデジタルコンポーネント126のサブセット132は、第1の時間期間の間にクライアントコンピューティングデバイス104に送信される。
【００３６】
いくつかの実装形態では、サーバコンピューティングシステム102は、第1のデジタルコンポーネント126のサブセット132が、カウンタまたは他のタイミングメカニズムを使用して第1の時間期間内にクライアントコンピューティングデバイス104に送信されることを確実にする。たとえば、要求120を受信すると、サーバコンピューティングシステム102はタイマを開始することができる。タイマは、カウントアップタイマまたはカウントダウンタイマのいずれかであってよく、サーバコンピューティングシステム102は、タイマが指定された値(たとえば、カウントアップタイマが使用される場合は第1の時間期間の終了に対応する時間、またはカウントダウンタイマが使用される場合はゼロ)に到達すると、第1のデジタルコンポーネント126のサブセット132を送信するように構成することができる。
【００３７】
いくつかの例では、クライアントコンピューティングデバイス104は、電子文書122のサブセット132と、第1のデジタルコンポーネント126のサブセット134と、デジタルコンポーネント優先度キュー150として示されるデジタルコンポーネント優先度キュー128とを記憶することができる。すなわち、クライアントコンピューティングデバイス104は、デジタルコンポーネント優先度キュー128のローカルコピーをデジタルコンポーネント優先度キュー150として記憶する。
【００３８】
図1Bを参照すると、サーバコンピューティングシステム102、および具体的には、デジタルコンポーネント識別デバイス114は、第1の時間期間の後(たとえば、指定された時間または遅延制約が経過した後)。に発生する第2の時間期間の間に第2のデジタルコンポーネント152を識別する(動作G)。具体的には、要求124に応じて、サードパーティコンピューティングシステム108bは、電子文書のうちの1つまたは複数が、クライアントコンピューティングデバイス104において提示されるときにサードパーティコンピューティングシステム108bによって提案される、提示のための第2のデジタルコンポーネント152を識別するために、デジタルコンポーネントリポジトリ110bにアクセスする。いくつかの例では、第2のデジタルコンポーネント152は、電子文書122のコンテンツ、クライアントコンピューティングデバイス104の特性、またはその両方に基づいて、サードパーティコンピューティングシステム108bによって識別され得る。いくつかの例では、第2のデジタルコンポーネント152は、検索クエリ自体、および/あるいは、キーワード、メタ情報、および電子文書122の内容を示す他の情報を含む電子文書122の1つまたは複数の基準に基づいて、要求120の検索クエリに応答すると決定できる。いくつかの例では、第2のデジタルコンポーネント152は、テキスト、画像、および/またはビデオを含む。サードパーティコンピューティングシステム108bは、たとえば、要求124に応じて、第1の時間期間の後に発生する第2の時間期間の間に、第2のデジタルコンポーネント152をサーバコンピューティングシステム102に送信する。
【００３９】
第2のデジタルコンポーネント152は、本明細書でさらに説明するクライアントコンピューティングデバイス104による電子文書122の提示と組み合わせて提示され得る。いくつかの例では、電子文書122がクライアントコンピューティングデバイス104によって提示されるとき、第2のデジタルコンポーネント152は、1つまたは複数の電子文書122内に提示され得る。
【００４０】
サーバコンピューティングシステム102、および具体的にはデジタルコンポーネント優先度キューマネージャ116は、クライアントコンピューティングデバイス104においてデジタルコンポーネント優先度キュー150を更新する(動作H)。具体的には、デジタルコンポーネント優先度キューマネージャ116は、第2のデジタルコンポーネント152に割り当てられた優先度インジケータ130に基づいて第2のデジタルコンポーネント152のうちの1つまたは複数をデジタルコンポーネント優先度キュー150に挿入させるために、デジタルコンポーネント優先度キュー150を更新する。
【００４１】
優先度インジケータ130は、第2のデジタルコンポーネント152の各々に割り当てられる。いくつかの例では、デジタルコンポーネント優先度キューマネージャ116は、第2のデジタルコンポーネント152のそれぞれのリソース割振りに基づいて、第2のデジタルコンポーネント152の各々に優先度インジケータ130を割り当てる。いくつかの例では、サードパーティコンピューティングシステム108bは、優先度インジケータ130を第2のデジタルコンポーネント152の各々に割り当てる。
【００４２】
いくつかの例では、第2のデジタルコンポーネント152の優先度インジケータ130は、たとえば、電子文書122内のデジタルコンポーネントの提示のリアルタイムオークションに応じて、サードパーティコンピューティングシステム108bによって提供される入札に基づいている。したがって、優先度インジケータ130は、それぞれの第2のデジタルコンポーネント152の入札、(たとえば、入札予測パフォーマンス)を示すことができる。
【００４３】
デジタルコンポーネント優先度キューマネージャ116は、第2のデジタルコンポーネント152のサブセット154および第3のデジタルコンポーネント152のサブセット154の優先度インジケータ130をクライアントコンピューティングデバイス104に送信することによって、クライアントコンピューティングデバイス104においてデジタルコンポーネント優先度キュー150を更新する。具体的には、第2のデジタルコンポーネント152のサブセット154の優先度インジケータ130を送信することによって、デジタルコンポーネント優先度キューマネージャ116は、第2のデジタルコンポーネント152に割り当てられた優先度インジケータ130に基づいて、第2のデジタルコンポーネント152をデジタルコンポーネント優先度キュー150に挿入させる。第2のデジタルコンポーネント152のサブセット154は、第2のデジタルコンポーネント152の任意の部分、または第2のデジタルコンポーネント152の各々であり得る。第2のデジタルコンポーネント152のサブセット154は、第2の時間期間の間にクライアントコンピューティングデバイス104に送信される。
【００４４】
いくつかの実装形態では、サーバコンピューティングシステム102は、第2のデジタルコンポーネント152のサブセット154が、カウンタまたは他のタイミングメカニズムを使用して第2の時間期間内にクライアントコンピューティングデバイス104に送信されることを確実にする。たとえば、要求120を受信すると、サーバコンピューティングシステム102はタイマを開始することができる。タイマは、カウントアップタイマまたはカウントダウンタイマのいずれかであってよく、サーバコンピューティングシステム102は、タイマが指定された値(たとえば、カウントアップタイマが使用される場合は第2の時間期間の終了に対応する時間、またはカウントダウンタイマが使用される場合はゼロ)に到達すると、第2のデジタルコンポーネント152のサブセット154を送信するように構成することができる。
【００４５】
たとえば、クライアントコンピューティングデバイス104は、第2のデジタルコンポーネント152のサブセット154の優先度インジケータ130に基づいて、さらに、第1のデジタルコンポーネント126のサブセット134の優先度インジケータ130に基づいて、デジタルコンポーネント優先度キュー150を調整する。
【００４６】
図3は、第1のデジタルコンポーネント126および第2のデジタルコンポーネント152の提示の順序を指定するために更新した後の、デジタルコンポーネント優先度キュー150の一例を示す図である。具体的には、図3に示されるように、デジタルコンポーネント優先度キュー150は、第3の位置206に配置される第2のデジタルコンポーネント152のデジタルコンポーネントDを含むように更新され、デジタルコンポーネントCは第4の位置208に再配置される。すなわち、デジタルコンポーネントDの優先度インジケータ130は、デジタルコンポーネントCの優先度インジケータ130よりも大きく、さらに、デジタルコンポーネントBの優先度インジケータ130は、デジタルコンポーネントDの優先度インジケータ130よりも大きい。
【００４７】
いくつかの例では、デジタルコンポーネント優先度キューマネージャ116は、第2のデジタルコンポーネント152がデジタルコンポーネント優先度キュー150に追加される時間ではなく、第2のデジタルコンポーネント152の優先度インジケータ130に基づいて、クライアントコンピューティングデバイス104においてデジタルコンポーネント優先度キュー150を更新する。たとえば、第2のデジタルコンポーネント152が識別され、第1のデジタルコンポーネント126が識別されてデジタルコンポーネント優先度キュー128が生成された第1の時間よりも遅い第2の時間にデジタルコンポーネント優先度キュー150に追加される。したがって、デジタルコンポーネント優先度キュー150内の第1のデジタルコンポーネント126および第2のデジタルコンポーネント152の位置決めは、第1のデジタルコンポーネント126および第2のデジタルコンポーネント152の優先度インジケータ130に基づいており、第1のデジタルコンポーネント126および第2のデジタルコンポーネント152が識別され、および/またはデジタルコンポーネント優先度キュー150に追加された時間に基づいていない。
【００４８】
その結果、後で到着するデジタルコンポーネント-第2のデジタルコンポーネント152-は、時間に基づいてペナルティを受けることなく、デジタル優先度コンポーネントキュー150に追加することができる(たとえば、受信の時間に基づいて、デジタル優先度コンポーネントキュー150内の下位に移動する)。
【００４９】
図4は、デジタルコンポーネントAがデジタルコンポーネント優先度キュー150から除去された後の、デジタルコンポーネント優先度キュー150の一例を示す図である。たとえば、デジタルコンポーネントAは、クライアントコンピューティングデバイス104によって(たとえば、電子文書122の1つとともに)提示される。その結果、デジタルコンポーネントBは第1の位置202に再配置され、デジタルコンポーネントDは第2の位置204に再配置され、デジタルコンポーネントCは第3の位置206に再配置される。
【００５０】
図1Cに示されるように、サーバコンピューティングシステム102、および具体的にはデジタルコンポーネント識別デバイス114は、第2の時間期間の後に発生する第3の時間期間の間に第3のデジタルコンポーネント170を識別する(動作I)。具体的には、要求124に応じて、サードパーティコンピューティングシステム108cは、電子文書のうちの1つまたは複数が、クライアントコンピューティングデバイス104において提示されるときにサードパーティコンピューティングシステム108cによって提案される、提示のための第3のデジタルコンポーネント170を識別するために、デジタルコンポーネントリポジトリ110cにアクセスする。いくつかの例では、第3のデジタルコンポーネント170は、電子文書122のコンテンツ、クライアントコンピューティングデバイス104の特性、またはその両方に基づいて、サードパーティコンピューティングシステム108aによって識別され得る。いくつかの例では、第3のデジタルコンポーネント170は、検索クエリ自体、および/あるいは、キーワード、メタ情報、および電子文書122の内容を示す他の情報を含む電子文書122の1つまたは複数の基準に基づいて、要求120の検索クエリに応答すると決定できる。いくつかの例では、第3のデジタルコンポーネント170は、テキスト、画像、および/またはビデオを含む。サードパーティコンピューティングシステム108cは、たとえば、要求124に応じて、第2の時間期間の後に発生する第3の時間期間の間に、第3のデジタルコンポーネント170をサーバコンピューティングシステム102に送信する。
【００５１】
第3のデジタルコンポーネント170は、本明細書でさらに説明するクライアントコンピューティングデバイス104による電子文書122の提示と組み合わせて提示され得る。いくつかの例では、電子文書122がクライアントコンピューティングデバイス104によって提示されるとき、第3のデジタルコンポーネント170は、1つまたは複数の電子文書122内に提示され得る。
【００５２】
サーバコンピューティングシステム102、および具体的にはデジタルコンポーネント優先度キューマネージャ116は、クライアントコンピューティングデバイス104においてデジタルコンポーネント優先度キュー150を更新する(動作J)。具体的には、デジタルコンポーネント優先度キューマネージャ116は、第3のデジタルコンポーネント170に割り当てられた優先度インジケータ130に基づいて第3のデジタルコンポーネント170のうちの1つまたは複数をデジタルコンポーネント優先度キュー150に挿入させるために、デジタルコンポーネント優先度キュー150を更新する。
【００５３】
優先度インジケータ130は、第3のデジタルコンポーネント170の各々に割り当てられる。いくつかの例では、デジタルコンポーネント優先度キューマネージャ116は、第3のデジタルコンポーネント170のそれぞれのリソース割振りに基づいて、第3のデジタルコンポーネント170の各々に優先度インジケータ130を割り当てる。いくつかの例では、サードパーティコンピューティングシステム108cは、優先度インジケータ130を第3のデジタルコンポーネント170の各々に割り当てる。
【００５４】
いくつかの例では、第3のデジタルコンポーネント126の優先度インジケータ130は、たとえば、電子文書122内のデジタルコンポーネントの提示のリアルタイムオークションに応じて、サードパーティコンピューティングシステム108cによって提供される入札に基づいている。したがって、優先度インジケータ130は、それぞれの第3のデジタルコンポーネント170の入札(たとえば、入札予測パフォーマンス)を示すことができる。
【００５５】
デジタルコンポーネント優先度キューマネージャ116は、第3のデジタルコンポーネント170のサブセット172および第3のデジタルコンポーネント170のサブセット172の優先度インジケータ130をクライアントコンピューティングデバイス104に送信することによって、クライアントコンピューティングデバイス104においてデジタルコンポーネント優先度キュー150を更新する。具体的には、第3のデジタルコンポーネント170のサブセット172の優先度インジケータ130を送信することによって、デジタルコンポーネント優先度キューマネージャ116は、第3のデジタルコンポーネント170に割り当てられた優先度インジケータ130に基づいて、第3のデジタルコンポーネント170をデジタルコンポーネント優先度キュー150に挿入させる。第3のデジタルコンポーネント170のサブセット172は、第3のデジタルコンポーネント170の任意の部分、または第3のデジタルコンポーネント170の各々であり得る。第3のデジタルコンポーネント170のサブセット172は、第3の時間期間の間にクライアントコンピューティングデバイス104に送信される。
【００５６】
いくつかの実装形態では、サーバコンピューティングシステム102は、第3のデジタルコンポーネント170が、カウンタまたは他のタイミングメカニズムを使用して第3の時間期間内にクライアントコンピューティングデバイス104に送信されることを確実にする。たとえば、要求120を受信すると、サーバコンピューティングシステム102はタイマを開始することができる。タイマは、カウントアップタイマまたはカウントダウンタイマのいずれかであってよく、サーバコンピューティングシステム102は、タイマが指定された値(たとえば、カウントアップタイマが使用される場合は第1の時間期間の終了に対応する時間、またはカウントダウンタイマが使用される場合はゼロ)に到達すると、第3のデジタルコンポーネント170のサブセット172を送信するように構成することができる。
【００５７】
たとえば、クライアントコンピューティングデバイス104は、第3のデジタルコンポーネント170のサブセット172の優先度インジケータ130に基づいて、さらに、第1のデジタルコンポーネント126のサブセット134の優先度インジケータ130および第2のデジタルコンポーネント152のサブセット154に基づいて、デジタルコンポーネント優先度キュー150を調整する。
【００５８】
図5は、第1のデジタルコンポーネント126、第2のデジタルコンポーネント152、および第3のデジタルコンポーネント170の提示の順序を指定するために更新した後の、デジタルコンポーネント優先度キュー150の一例を示す図である。具体的には、図5に示されるように、デジタルコンポーネント優先度キュー150は、第2の位置204に配置される第3のデジタルコンポーネント170のデジタルコンポーネントEを含むように更新され、デジタルコンポーネントDは第3の位置206に再配置され、デジタルコンポーネントCは第4の位置208に再配置される。すなわち、デジタルコンポーネントEの優先度インジケータ130は、デジタルコンポーネントDの優先度インジケータ130よりも大きく、さらに、デジタルコンポーネントBの優先度インジケータ130は、デジタルコンポーネントEの優先度インジケータ130よりも大きい。
【００５９】
いくつかの例では、電子文書122のサブセット132は、複合電子文書を含むことができる。すなわち、サーバコンピューティングシステム102は、i)サブセット132の電子文書122のうちの少なくともいくつかとは異なるドメインにおいてホストされ、ii)サブセット132からの様々な電子文書122を含む、複合電子文書を生成することができる。複合電子文書は、電子文書122のサブセット132のドメインとは異なるドメイン(たとえばexample.com)においてホストすることができる。さらに、複合電子文書の初期バージョンに含まれる電子文書122は、要求120に応答するものとして識別される電子文書122の一部(または、スニペット)の表示を提供する。たとえば、複合電子文書の初期バージョンは、それぞれが対応する電子文書122のスニペットを含む検索結果を含むことができる。
【００６０】
いくつかの例では、複合電子文書は、たとえば、複合電子文書がクライアントコンピューティングデバイス104において最初に提示されるとき、電子文書122のうちの少なくともいくつかの提示を最初に隠す。しかしながら、複合電子文書の電子文書122の表示されたスニペットごとに、複合電子文書は、複合電子文書の初期表示から隠されている電子文書122の対応するデジタルコンテンツを含む。すなわち、複合電子文書の初期バージョンは、i)完全な電子文書122とは異なる電子文書122のスニペットを表示することができ、またii)複合電子文書の初期バージョンから隠された完全な電子文書122を含むことができる。
【００６１】
図6は、複合ページ602の一例を示している。複合ページ602は、要求120に応答する検索結果606(検索結果606a、606b、606c、606dとして示される)の形式のユーザインターフェースコンポーネントを含む。図示される例では、検索結果606は、「有名な歌手(famous singer)」の検索クエリを含む要求120に応答し、電子文書122に基づいている。検索結果606はそれぞれ、対応する電子文書122のスニペット(たとえば、電子文書122の見出し、電子文書122のドメイン、および対応する電子文書122の第1のテキスト部分)を含む、対応する電子文書122の修正バージョンを含む。さらに、図示される例では、複合ページ602は、電子文書122(たとえば、digitalcontentsource1.com、digitalcontentsource2.com、digitalcontentsource3.com、digitalcontentsource4.com)をホストするドメイン614(ドメイン614a、614b、614c、614dとして示される)とは異なるドメイン612(たとえば、example.com)においてホストされる。
【００６２】
いくつかの実装形態では、クライアントコンピューティングデバイス104は、検索結果606のうちの1つとの相互作用を検出する。たとえば、複合ページ602内に提供される電子文書122のスニペットのうちの1つは、たとえば、クライアントコンピューティングデバイス104のユーザによって選択される。選択に応じて、クライアントコンピューティングデバイス104は、選択されたスニペットの電子文書122を表示するために複合ページ602の視覚化を更新する。具体的には、複合ページ602は、電子文書122のスニペットを含む複合ページ602の初期バージョンから、選択されたスニペットの完全な電子文書122を含む複合ページ602の更新されたバージョンに移行するようにグラフィカルにアニメーション化(または、変更)される。複合ページ602のこの更新されたバージョンは、追加のネットワーク呼出しを必要とせずに、またはユーザ対話により表示される電子文書122に対する要求なしに提示することができる点に留意されたい。むしろ、クライアントコンピューティングデバイス104に記憶されている複合ページ602にすでに含まれている電子文書122がユーザに表示される。
【００６３】
いくつかの例では、複合ページ602は、電子文書122のコンテンツに対する追加の要求とは無関係に、選択されたスニペットの電子文書122を表示するために更新される。図7は、図6の複合ページ602に類似した例示的な複合ページ702を示している。具体的には、複合ページ702は、選択されたスニペットの完全な電子文書122を表示した後に提示される、図6の複合ページ602の更新されたバージョンである。たとえば、図6に示されるように、選択されたスニペットは検索結果606aに対応する。検索結果606aの選択に応じて、検索結果606aの完全な電子文書122を表示するために図6の複合ページ602が更新され、複合ページ702が形成される。図示される例では、検索結果606aは、検索クエリ「有名な歌手」によって識別されるニュース記事に対応し、検索結果606aの選択に応じて、検索結果606aの完全な電子文書122が表示され、完全なデジタルコンテンツ704として示される。さらに、複合ページ702は、複合ページ602のドメインと同様のドメイン(たとえば、example.com)においてホストされ、これは、完全なデジタルコンテンツ704(たとえば、digitalcontenstsource1.com)のドメインとは異なる。
【００６４】
いくつかの実装形態では、図7の複合ページ702によって示されるように、複合ページ602もデジタルコンポーネント750を含むように更新される。デジタルコンポーネント750は、デジタルコンポーネント優先度キュー150の提示の順序に基づいて、第1のデジタルコンポーネント126、第2のデジタルコンポーネント152、および第3のデジタルコンポーネント170のうちの1つである。たとえば、図5のデジタルコンポーネント優先度キュー150に基づいて、デジタルコンポーネントBは、たとえば、クライアントコンピューティングデバイス104によって、複合ページ702で提示するために選択され、「有名な歌手による新しいアルバムをダウンロードする(Download new album by Famous Singer)」というテキストおよび新しいアルバムの画像を含む。
【００６５】
図8は、デジタルコンテンツ資産の分散の例示的なプロセス800を示している。プロセス800は、たとえば、サーバコンピューティングシステム102および/またはクライアントコンピューティングデバイス104、あるいは別のデータ処理装置によって実行することができる。プロセス800は、コンピュータストレージ媒体に記憶された命令として実装することもでき、1つまたは複数のデータ処理装置による命令の実行により、1つまたは複数のデータ処理装置にプロセス800の動作の一部またはすべてを実行させる。
【００６６】
デジタルコンポーネント検査デバイス112は、クライアントコンピューティングデバイス104への配信のために電子文書122を識別する(802)。たとえば、サーバコンピューティングシステム102、および具体的には電子検査デバイス112は、要求124(検索クエリ)に応答する電子文書122を識別する。デジタルコンポーネント識別デバイス114は、第1の時間期間の間に、第1の時間期間の間に電子文書122のうちの1つまたは複数がクライアントコンピューティングデバイス104において提示されるときに、提示のためにサードパーティコンピューティングシステム108aによって提案された第1のデジタルコンポーネント126のセットを識別する(804)。たとえば、要求124に応じて、サードパーティコンピューティングシステム108aは、第1のデジタルコンポーネント126を識別するためにデジタルコンポーネントリポジトリ110aにアクセスする。サードパーティコンピューティングシステム108aは、電子文書122のコンテンツ、クライアントコンピューティングデバイス104の特性、またはその両方に基づいて第1のデジタルコンポーネント126を識別することができる。
【００６７】
デジタルコンポーネント優先度キューマネージャ116は、各第1のデジタルコンポーネント126に割り当てられた優先度インジケータ130を使用して、第1のデジタルコンポーネント126の提示の順序を指定するデジタルコンポーネント優先度キュー128を生成する(806)。たとえば、デジタルコンポーネント優先度キューマネージャ116は、第1のデジタルコンポーネント126の優先度インジケータ130を比較し、第1のデジタルコンポーネント126の第1のデジタルコンポーネントn1の優先度インジケータ130の方が、第1のデジタルコンポーネント126の第1のデジタルコンポーネントn2の優先度インジケータ130よりも大きいと決定し、第2のデジタルコンポーネントn2よりも高い位置に第1のデジタルコンポーネントn1を配置する。サーバコンピューティングシステム102は、クライアントコンピューティングデバイス104に、電子文書122と、第1のデジタルコンポーネント126とデジタルコンポーネント優先度キュー128とを送信する(808)。たとえば、サーバコンピューティングシステム102は、第1の時間期間の間に電子文書122と、第1のデジタルコンポーネント126と、デジタルコンポーネント優先度キュー128とを送信する。
【００６８】
デジタルコンポーネント識別デバイス114は、第1の時間期間の後に発生する第2の時間期間の間に、第2の時間期間の間に、電子文書122が、クライアントコンピューティングデバイス104において提示されるときにサードパーティコンピューティングシステム108bによって提案されている、提示のための第2のデジタルコンポーネント152を識別する。(810)。たとえば、要求124に応じて、サードパーティコンピューティングシステム108bは、第2のデジタルコンポーネント152を識別するためにデジタルコンポーネントリポジトリ110bにアクセスする。サードパーティコンピューティングシステム108bは、電子文書122のコンテンツ、クライアントコンピューティングデバイス104の特性、またはその両方に基づいて第2のデジタルコンポーネント152を識別することができる。デジタルコンポーネント優先度キューマネージャ116は、第2のデジタルコンポーネント152に割り当てられた優先度インジケータ130に基づいて、第2のデジタルコンポーネント152をデジタルコンポーネント優先度キュー130に挿入させることを含む、クライアントコンピューティングデバイス104においてデジタルコンポーネント優先度キュー150を更新する(812)。たとえば、クライアントコンピューティングデバイス104は、第1のデジタルコンポーネント126および第2のデジタルコンポーネント152の優先度インジケータ130を比較し、第2のデジタルコンポーネント152の第3のデジタルコンポーネントn3の優先度インジケータ130の方が、第1のデジタルコンポーネント126の第1のデジタルコンポーネントn1およびn2の優先度インジケータ130よりも大きいと決定し、第1のデジタルコンポーネントn1およびn2よりも高い位置に第3のデジタルコンポーネントn3を配置する。
【００６９】
図9は、一般的なコンピュータデバイス900および一般的なモバイルコンピュータデバイス950の一例を示しており、これらは本明細書で説明されている技法とともに使用され得る。コンピューティングデバイス900は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの、様々な形態のデジタルコンピュータを表すことが意図されている。コンピューティングデバイス950は、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスなどの、様々な形態のモバイルデバイスを表すことが意図されている。本明細書に示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、例示のみを目的としており、本明細書で説明および/または請求されている発明の実装形態を制限することが意図されるものではない。
【００７０】
コンピューティングデバイス900は、プロセッサ902と、メモリ904と、ストレージデバイス906と、メモリ904および高速拡張ポート910に接続する高速インターフェース908と、低速バス914およびストレージデバイス906に接続する低速インターフェース912とを含む。コンポーネント902、904、906、908、910、および912の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に、または必要に応じて他の方法で取り付けられ得る。プロセッサ902は、高速インターフェース908に結合されたディスプレイ916などの外部入力/出力デバイス上にGUIのグラフィカル情報を表示するために、メモリ904またはストレージデバイス906に記憶された命令を含む、コンピューティングデバイス900内での実行のための命令を処理し得る。他の実装形態では、必要に応じて、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが使用され得る。また、複数のコンピューティングデバイス900が接続され得、各デバイスが、必要な動作の一部を提供する(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【００７１】
メモリ904は、コンピューティングデバイス900内に情報を記憶する。一実装形態では、メモリ904は、1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ904は、1つまたは複数の不揮発性メモリユニットである。メモリ904はまた、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ可読媒体であり得る。
【００７２】
ストレージデバイス906は、コンピューティングデバイス900に大容量ストレージを提供することができる。一実装形態では、ストレージデバイス906は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、あるいはストレージエリアネットワーク内のデバイスまたは他の構成を含むデバイスのアレイなどのコンピュータ可読媒体であってもよく、それを含んでもよい。コンピュータプログラム製品は、情報担体において明白に具現化され得る。コンピュータプログラム製品は、実行されると、上記のような1つまたは複数の方法を実行する命令も含み得る。情報担体は、メモリ904、ストレージデバイス906、またはプロセッサ902上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【００７３】
高速コントローラ908は、コンピューティングデバイス900の帯域幅集約型の動作を管理し、低速コントローラ912は、より低い帯域幅集約型の動作を管理する。そのような機能の割当ては例示にすぎない。一実装形態では、高速コントローラ908は、メモリ904、ディスプレイ916(たとえば、グラフィックプロセッサまたはアクセラレータを通じて)、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート910に結合される。実装形態において、低速コントローラ912は、ストレージデバイス906および低速拡張ポート914に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得る低速拡張ポートは、たとえばネットワークアダプタを通じて、キーボード、ポインティングデバイス、スキャナ、あるいはスイッチまたはルータなどのネットワーキングデバイスなどの1つまたは複数の入力/出力デバイスに結合され得る。
【００７４】
コンピューティングデバイス900は、図面に示されるように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス900は、標準的なサーバ920として、またはそのようなサーバのグループにおいて複数回実装され得る。また、ラックサーバシステム924の一部として実装され得る。さらに、コンピューティングデバイス900は、ラップトップコンピュータ922などのパーソナルコンピュータに実装され得る。あるいは、コンピューティングデバイス900からのコンポーネントは、デバイス950などのモバイルデバイス(図示せず)内の他のコンポーネントと組み合わされ得る。そのようなデバイスの各々は、コンピューティングデバイス900、950の1つまたは複数を含み得、システム全体は、互いに通信する複数のコンピューティングデバイス900、950で構成され得る。
【００７５】
コンピューティングデバイス950は、他のコンポーネントの中でも特に、プロセッサ952と、メモリ964と、ディスプレイ954などの入力/出力デバイスと、通信インターフェース966と、トランシーバ968とを含む。デバイス950には、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなどのストレージデバイスが提供され得る。コンポーネント950、952、964、954、966、および968の各々は、様々なバスを使用して相互接続され、コンポーネントのうちのいくつかは共通のマザーボード上に、または必要に応じて他の方法で取り付けられ得る。
【００７６】
プロセッサ952は、メモリ964に記憶された命令を含むコンピューティングデバイス950内の命令を実行し得る。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装され得る。プロセッサは、たとえば、ユーザインターフェースの制御、デバイス950によって実行されるアプリケーション、およびデバイス950によるワイヤレス通信などの、デバイス950の他のコンポーネントの調整を提供し得る。
【００７７】
プロセッサ952は、ディスプレイ954に結合された制御インターフェース958およびディスプレイインターフェース956を通じてユーザと通信し得る。ディスプレイ954は、たとえば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)またはOLED(有機発光ダイオード)ディスプレイ、あるいは他の適切なディスプレイ技術であり得る。ディスプレイインターフェース956は、グラフィカルおよび他の情報をユーザに提示するために、ディスプレイ954を駆動するための適切な回路を備え得る。制御インターフェース958は、ユーザからコマンドを受信し、プロセッサ952への提出のためにそれらを変換することができる。さらに、外部インターフェース962は、デバイス950の他のデバイスとの近距離通信を可能にするために、プロセッサ952と通信するために提供され得る。外部インターフェース962は、たとえば、いくつかの実装形態ではワイヤード通信に、または他の実装形態ではワイヤレス通信に提供し得、複数のインターフェースも使用され得る。
【００７８】
メモリ964は、コンピューティングデバイス950内に情報を記憶する。メモリ964は、1つまたは複数のコンピュータ可読媒体、1つまたは複数の揮発性メモリユニット、あるいは1つまたは複数の不揮発性メモリユニットの1つまたは複数として実装され得る。拡張メモリ954も提供され、拡張インターフェース952を通じてデバイス950に提供および接続され得、拡張インターフェース952は、たとえば、SIMM(シングルインラインメモリモジュール)カードインターフェースを含み得る。そのような拡張メモリ954は、デバイス950に追加のストレージスペースを提供してもよく、またデバイス950のアプリケーションまたは他の情報を記憶してもよい。具体的には、拡張メモリ954は、上述のプロセスを実行または補足するための命令を含み得、安全な情報も含み得る。したがって、たとえば、拡張メモリ954は、デバイス950のセキュリティモジュールとして提供されてもよく、デバイス950の安全な使用を可能にする命令でプログラムされてもよい。さらに、SIMMカードを介して、追加情報とともに、ハッキング不可能な方法でSIMMカードに識別情報を配置するなどの安全なアプリケーションが提供され得る。
【００７９】
メモリは、以下で説明するように、たとえば、フラッシュメモリおよび/またはNVRAMメモリを含み得る。一実装形態では、コンピュータプログラム製品は、情報担体において明白に具現化される。コンピュータプログラム製品は、実行されると、上述のような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ964、拡張メモリ954、プロセッサ952上のメモリなどのコンピュータ可読媒体または機械可読媒体、あるいは、たとえばトランシーバ968または外部インターフェース962を介して受信され得る伝播信号である。
【００８０】
デバイス950は、必要に応じてデジタル信号処理回路を含み得る通信インターフェース966を通じてワイヤレスで通信し得る。通信インターフェース966は、とりわけ、GSM音声通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA、CDMA2000、またはGPRSなどの様々なモードまたはプロトコルの下での通信を提供し得る。そのような通信は、たとえば、無線周波数トランシーバ968を通じて行われ得る。さらに、Bluetooth、WiFi、または他のそのようなトランシーバ(図示せず)などを使用して、短距離通信が行われ得る。さらに、GPS(全地球測位システム)受信機モジュール950は、デバイス950に追加のナビゲーション関連ワイヤレスデータおよび位置関連ワイヤレスデータを提供し得、これは、デバイス950上で実行されるアプリケーションによって適切に使用され得る。
【００８１】
デバイス950はまた、オーディオコーデック960を使用して可聴通信し得、オーディオコーデック960はユーザから話された情報を受信し、それを使用可能なデジタル情報に変換し得る。同様に、オーディオコーデック960は、たとえばデバイス950のハンドセット内のスピーカなどを通じて、ユーザに対して可聴音を生成し得る。そのような音は、音声通話からの音を含み得、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含み得、デバイス950上で動作するアプリケーションによって生成される音も含み得る。
【００８２】
コンピューティングデバイス950は、図面に示されるように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス950はセルラー電話980として実装され得る。コンピューティングデバイス950はまた、スマートフォン982、携帯情報端末、または他の同様のモバイルデバイスの一部として実装され得る。
【００８３】
本明細書で説明されるシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現され得る。これらの様々な実装形態は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含み得、それらは専用でも汎用でもよく、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するように結合されている。
【００８４】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサの機械命令を含み、高レベルの手続き型および/またはオブジェクト指向プログラミング言語、ならびに/あるいはアセンブリ/機械言語において実装され得る。本明細書で使用される「機械可読媒体」「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【００８５】
ユーザとの対話を提供するために、本明細書で説明するシステムおよび技法は、ユーザに情報を表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)、ならびにユーザがコンピュータに入力を提供できるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)を有するコンピュータ上に実装され得る。ユーザとの対話を提供するために、他の種類のデバイスも使用され得る。たとえば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信され得る。
【００８６】
本明細書で説明されるシステムおよび技法は、バックエンドコンポーネントを含む(たとえば、データサーバとして)、またはミドルウェアコンポーネント(たとえば、アプリケーションサーバ)を含む、またはフロントエンドコンポーネント(たとえば、グラフィカルユーザインターフェースを有するクライアントコンピュータ、またはユーザが本明細書で説明するシステムおよび技法の実装形態と対話できるウェブブラウザなど)を含む、コンピューティングシステムに、あるいはそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せに実装することができる。システムのコンポーネントは、デジタルデータ通信の任意の形式または媒体(たとえば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットを含む。
【００８７】
コンピューティングシステムは、クライアントとサーバを含み得る。通常、クライアントとサーバは互いに離れており、通常は通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータで実行され、互いにクライアントとサーバの関係を有するコンピュータプログラムによって発生する。
【００８８】
本開示はいくつかの詳細を含むが、これらは本開示の範囲または請求されるものに対する制限としてではなく、本開示の例示的な実装形態の機能の説明として解釈されるべきである。別個の実装形態の文脈で本開示において説明される特定の機能は、単一の実装形態において組み合わせて提供することもできる。逆に、単一の実装形態の文脈において説明されている様々な機能は、複数の実装形態において個別に、または任意の適切なサブコンビネーションにおいて提供することもできる。さらに、機能は特定の組合せにおいて機能するものとして上記で説明され、最初にそのように主張されるが、主張された組合せからの1つまたは複数の機能は、場合によっては組合せから削除され、主張された組合せはサブコンビネーションまたはサブコンビネーションのバリエーションを対象とし得る。
【００８９】
同様に、動作は図面において特定の順序で描かれているが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序または順番で実行されること、あるいはすべての説明された動作が実行されることを要求するものとして理解されるべきではない。特定の状況では、マルチタスクと並列処理が有利な場合がある。さらに、上述の実装形態における様々なシステムコンポーネントの分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されているプログラムコンポーネントおよびシステムは、通常、単一のソフトウェア製品に統合したり、複数のソフトウェア製品にパッケージ化したりできることが理解されるべきである。
【００９０】
したがって、本開示の特定の実装形態について説明した。他の実装形態は、以下の特許請求の範囲内にある。たとえば、特許請求の範囲に記載されているアクションは、異なる順序で実行することができ、依然として望ましい結果を達成することができる。多くの実装形態が説明されている。それにもかかわらず、本開示の趣旨および範囲から逸脱することなしに、様々な修正がなされ得ることが理解されるであろう。たとえば、上記のフローの様々な形式が使用され得、ステップを並べ替えたり、追加したり、削除したりすることができる。したがって、他の実装形態は以下の特許請求の範囲内にある。
【符号の説明】
【００９１】
100  環境
102  サーバコンピューティングシステム
104  クライアントコンピューティングデバイス
106  電子文書データベース
108、108a、108b、108c  サードパーティコンピューティングシステム
110、110a、110b、110c  デジタルコンポーネントリポジトリ
112  電子文書検査デバイス、電子検査デバイス、デジタルコンポーネント検査デバイス
114  デジタルコンポーネント識別デバイス
116  デジタルコンポーネント優先度キューマネージャ
120  要求
122  電子文書
124  要求
126  第1のデジタルコンポーネント
128  デジタルコンポーネント優先度キュー
130  優先度インジケータ
132  サブセット
134  第1のデジタルコンポーネント
150  デジタルコンポーネント優先度キュー
152  第2のデジタルコンポーネント
154  サブセット
170  第3のデジタルコンポーネント
172  サブセット
202  第1の位置
204  第2の位置
206  第3の位置
602  複合ページ
606、606a、606b、606c、606d  検索結果
612  ドメイン
614、614a、614b、614c、614d  ドメイン
702  複合ページ
704  完全なデジタルコンテンツ
800  プロセス
900  コンピュータデバイス、コンピューティングデバイス
902  プロセッサ
904  メモリ
906  ストレージデバイス
908  高速インターフェース、高速コントローラ
910  高速拡張ポート
912  低速インターフェース、低速コントローラ
914  低速バス、低速拡張ポート
916  ディスプレイ
920  サーバ
922  ラップトップコンピュータ
924  ラックサーバシステム
950  モバイルコンピュータデバイス、コンピューティングデバイス、デバイス、GPS(全地球測位システム)受信機モジュール
952  プロセッサ、拡張インターフェース
954  ディスプレイ、拡張メモリ
956  ディスプレイインターフェース
958  制御インターフェース
960  オーディオコーデック
962  外部インターフェース
964  メモリ
966  通信インターフェース
968  トランシーバ、無線周波数トランシーバ
980  セルラー電話
982  スマートフォン
【図１Ａ】
0006931080.tif 000002
【図１Ｂ】
0006931080.tif 000003
【図１Ｃ】
0006931080.tif 000004
【図２】
0006931080.tif 000005
【図３】
0006931080.tif 000006
【図４】
0006931080.tif 000007
【図５】
0006931080.tif 000008
【図６】
0006931080.tif 000009
【図７】
0006931080.tif 000010
【図８】
0006931080.tif 000011
【図９】
0006931080.tif 000012