(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-09
(45)【発行日】2022-05-17
(54)【発明の名称】アプリケーションオープン動作中にデジタルコンテンツを追加するためのシステムおよび方法
(51)【国際特許分類】
H04N 21/266 20110101AFI20220510BHJP
H04N 21/24 20110101ALI20220510BHJP
G06F 3/0481 20220101ALN20220510BHJP
【FI】
H04N21/266
H04N21/24
G06F3/0481
(21)【出願番号】P 2020569145
(86)(22)【出願日】2019-12-13
(86)【国際出願番号】 GR2019000089
(87)【国際公開番号】W WO2021116719
(87)【国際公開日】2021-06-17
【審査請求日】2021-02-10
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マーガレット・カリオペ・ジョージアディス
(72)【発明者】
【氏名】パトリシア・モル
(72)【発明者】
【氏名】タイラー・ロビン・プレッツ
(72)【発明者】
【氏名】トーマス・アンドリュー・シムコ・ジュニア
(72)【発明者】
【氏名】シアヴァシュ・セディ・ネジャド
(72)【発明者】
【氏名】サラ・クリスティーン・アドキンズ
(72)【発明者】
【氏名】ロン・ロン
【審査官】鈴木 隆夫
(56)【参考文献】
【文献】特表2018-523102(JP,A)
【文献】特開2019-145090(JP,A)
【文献】特表2019-515523(JP,A)
【文献】特表2017-527925(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/266
H04N 21/24
G06F 3/0481
(57)【特許請求の範囲】
【請求項1】
ユーザデバイスから、アプリケーションを識別するアプリケーション識別子と、アプリケーションパラメータ値とを含むデジタルコンテンツ要求を受信するステップと、
前記ユーザデバイス上でアプリケーション状態がアクティブフォーカスに変更されたことに応答して前記デジタルコンテンツ要求が送られていることを前記アプリケーションパラメータ値が指定すると判定するステップと、それに応答して、
前記ユーザデバイスにおいて表示されるときに前記アプリケーションを視覚的に識別する1つまたは複数のデジタルコンポーネントに対するデータ要求を送信するステップであって、前記データ要求が前記アプリケーション識別子を含む、ステップと、
前記データ要求に応答して、前記1つまたは複数のデジタルコンポーネントのための1つまたは複数の識別子を受信するステップと、
前記アプリケーションのためのデジタルコンテンツを識別するステップと、
前記デジタルコンテンツ要求に対するデジタルコンテンツ応答を生成するステップであって、前記デジタルコンテンツ応答が、前記1つまたは複数のデジタルコンポーネントの前記1つまたは複数の識別子と、前記デジタルコンテンツのための識別子とを含み、前記デジタルコンテンツ応答が、前記ユーザデバイスによって処理されるとき、前記デジタルコンテンツ要求を受信したことに応答して前記ユーザデバイスに前記デジタルコンテンツおよび前記1つまたは複数のデジタルコンポーネントを表示させる、ステップと、
前記デジタルコンテンツ応答を前記ユーザデバイスに送信するステップと
を含む、方法。
【請求項2】
前記デジタルコンテンツ応答を生成するステップが、
前記アプリケーションパラメータ値に基づいて、前記デジタルコンテンツのためのテンプレートを選択するステップであって、前記テンプレートが、前記1つまたは複数のデジタルコンポーネントおよび前記デジタルコンテンツがどのように前記ユーザデバイスのディスプレイ上に配置されるべきかを定義する1つまたは複数の命令を含む、ステップと、
前記テンプレートと、前記1つまたは複数の命令と、前記1つまたは複数のデジタルコンポーネントのための前記1つまたは複数の識別子と、前記デジタルコンテンツのための前記識別子とを含むパッケージを生成するステップと
を含む、請求項1に記載の方法。
【請求項3】
前記ユーザデバイス上で前記アプリケーション状態が前記アクティブフォーカスに変更されたことに応答して前記デジタルコンテンツ要求が送られていることを前記アプリケーションパラメータ値が指定すると判定するステップが、
前記デジタルコンテンツ要求から前記アプリケーションパラメータ値を取り出すステップと、
前記アプリケーションが起動されたことまたは前記アプリケーションがバックグラウンドからフォアグラウンドになったことを前記アプリケーションパラメータ値が示すと判定するステップと
を含む、請求項1または2に記載の方法。
【請求項4】
前記データ要求に応答して、前記1つまたは複数のデジタルコンポーネントのための前記1つまたは複数の識別子を受信するステップが、前記1つまたは複数のデジタルコンポーネントを取り出すための1つまたは複数のロケーションを受信するステップを含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
ユーザデバイス上で、アプリケーションのアプリケーション状態をアクティブフォーカスに変更する命令を検出するステップと、
前記アプリケーション状態を前記アクティブフォーカスに変更する前記命令を検出したことに基づいて、
前記アプリケーションを識別するアプリケーション識別子を取り出すステップと、
サーバに、前記アプリケーション識別子と、前記アプリケーション状態が前記アクティブフォーカスに変更されたことに応答してデジタルコンテンツに対するデジタルコンテンツ要求が送られていることを指定するアプリケーションパラメータ値とを含む前記デジタルコンテンツ要求を送信するステップと、
前記デジタルコンテンツ要求に対するデジタルコンテンツ応答を受信するステップであって、前記デジタルコンテンツ応答が、前記デジタルコンテンツのための識別子と、前記ユーザデバイスにおいて表示されるときに前記アプリケーションを視覚的に識別する1つまたは複数のデジタルコンポーネントの1つまたは複数の識別子とを含む、ステップと、
前記デジタルコンテンツと、前記ユーザデバイスにおいて表示されるときに前記アプリケーションを視覚的に識別する前記1つまたは複数のデジタルコンポーネントとに対する1つまたは複数のデータ要求を送信するステップと、
前記1つまたは複数のデータ要求に応答して、前記1つまたは複数のデジタルコンポーネントおよび前記デジタルコンテンツを受信するステップと、
表示用に前記1つまたは複数のデジタルコンポーネントおよび前記デジタルコンテンツを生成するステップと
を含む方法。
【請求項6】
前記デジタルコンテンツ要求に対する前記デジタルコンテンツ応答を受信するステップが、前記デジタルコンテンツおよび前記1つまたは複数のデジタルコンポーネントを表示するための1つまたは複数の命令と、前記1つまたは複数のデジタルコンポーネントの前記1つまたは複数の識別子と、前記デジタルコンテンツのための前記識別子とを含むテンプレートを受信するステップを含む、請求項5に記載の方法。
【請求項7】
表示用に前記1つまたは複数のデジタルコンポーネントおよび前記デジタルコンテンツを生成するステップが、
表示用に前記アプリケーションのためのローディング画面を生成するステップであって、前記ローディング画面が、前記アプリケーションから受信された視覚データを含む、ステップと、
前記ローディング画面を表示した後に、第1の一時停止コマンドを実行するステップと、
前記第1の一時停止コマンドを実行した後に、前記ローディング画面の上のオーバーレイにおいて、表示用に前記1つまたは複数のデジタルコンポーネントを生成するステップと、
表示用に前記1つまたは複数のデジタルコンポーネントを生成した後に、第2の一時停止コマンドを実行するステップと、
表示用に前記1つまたは複数のデジタルコンポーネントを生成した後に、前記オーバーレイにおける同時表示用に前記1つまたは複数のデジタルコンポーネントとともに前記デジタルコンテンツを生成するステップと
を含む、請求項5または請求項6に記載の方法。
【請求項8】
コンピュータプログラムを符号化された非一時的コンピュータ記憶媒体であって、前記コンピュータプログラムが、データ処理装置によって実行されると前記データ処理装置に動作を実施させる命令を含み、前記動作が、
ユーザデバイスから、アプリケーションを識別するアプリケーション識別子と、アプリケーションパラメータ値とを含むデジタルコンテンツ要求を受信することと、
前記ユーザデバイス上でアプリケーション状態がアクティブフォーカスに変更されたことに応答して前記デジタルコンテンツ要求が送られていることを前記アプリケーションパラメータ値が指定すると判定することと、それに応答して、
前記ユーザデバイスにおいて表示されるときに前記アプリケーションを視覚的に識別する1つまたは複数のデジタルコンポーネントに対するデータ要求を送信することであって、前記データ要求が前記アプリケーション識別子を含む、送信することと、
前記データ要求に応答して、前記1つまたは複数のデジタルコンポーネントのための1つまたは複数の識別子を受信することと、
前記アプリケーションのためのデジタルコンテンツを識別することと、
前記デジタルコンテンツ要求に対するデジタルコンテンツ応答を生成することであって、前記デジタルコンテンツ応答が、前記1つまたは複数のデジタルコンポーネントの前記1つまたは複数の識別子と、前記デジタルコンテンツのための識別子とを含み、前記デジタルコンテンツ応答が、前記ユーザデバイスによって処理されるとき、前記デジタルコンテンツ要求を受信したことに応答して前記ユーザデバイスに前記デジタルコンテンツおよび前記1つまたは複数のデジタルコンポーネントを表示させる、生成することと、
前記デジタルコンテンツ応答を前記ユーザデバイスに送信することと
を含む、非一時的コンピュータ記憶媒体。
【請求項9】
前記デジタルコンテンツ応答を生成することが、
前記アプリケーションパラメータ値に基づいて、前記デジタルコンテンツのためのテンプレートを選択することであって、前記テンプレートが、前記1つまたは複数のデジタルコンポーネントおよび前記デジタルコンテンツがどのように前記ユーザデバイスのディスプレイ上に配置されるべきかを定義する1つまたは複数の命令を含む、選択することと、
前記テンプレートと、前記1つまたは複数の命令と、前記1つまたは複数のデジタルコンポーネントのための前記1つまたは複数の識別子と、前記デジタルコンテンツのための前記識別子とを含むパッケージを生成することと
を含む、請求項8に記載の非一時的コンピュータ記憶媒体。
【請求項10】
前記ユーザデバイス上で前記アプリケーション状態が前記アクティブフォーカスに変更されたことに応答して前記デジタルコンテンツ要求が送られていることを前記アプリケーションパラメータ値が指定すると判定することが、
前記デジタルコンテンツ要求から前記アプリケーションパラメータ値を取り出すことと、
前記アプリケーションが起動されたことまたは前記アプリケーションがバックグラウンドからフォアグラウンドになったことを前記アプリケーションパラメータ値が示すと判定することと
を含む、請求項8または9に記載の非一時的コンピュータ記憶媒体。
【請求項11】
前記データ要求に応答して、前記1つまたは複数のデジタルコンポーネントのための前記1つまたは複数の識別子を受信することが、前記1つまたは複数のデジタルコンポーネントを取り出すための1つまたは複数のロケーションを受信することを含む、請求項8から10のいずれか一項に記載の非一時的コンピュータ記憶媒体。
【請求項12】
コンピュータプログラムを符号化された非一時的コンピュータ記憶媒体であって、前記コンピュータプログラムが、データ処理装置によって実行されると前記データ処理装置に動作を実施させる命令を含み、前記動作が、
ユーザデバイス上で、アプリケーションのアプリケーション状態をアクティブフォーカスに変更する命令を検出することと、
前記アプリケーション状態を前記アクティブフォーカスに変更する前記命令を検出したことに基づいて、
前記アプリケーションを識別するアプリケーション識別子を取り出すことと、
サーバに、前記アプリケーション識別子と、前記アプリケーション状態が前記アクティブフォーカスに変更されたことに応答してデジタルコンテンツに対するデジタルコンテンツ要求が送られていることを指定するアプリケーションパラメータ値とを含む前記デジタルコンテンツ要求を送信することと、
前記デジタルコンテンツ要求に対するデジタルコンテンツ応答を受信することであって、前記デジタルコンテンツ応答が、前記デジタルコンテンツのための識別子と、前記ユーザデバイスにおいて表示されるときに前記アプリケーションを視覚的に識別する1つまたは複数のデジタルコンポーネントの1つまたは複数の識別子とを含む、受信することと、
前記デジタルコンテンツと、前記ユーザデバイスにおいて表示されるときに前記アプリケーションを視覚的に識別する前記1つまたは複数のデジタルコンポーネントとに対する1つまたは複数のデータ要求を送信することと、
前記1つまたは複数のデータ要求に応答して、前記1つまたは複数のデジタルコンポーネントおよび前記デジタルコンテンツを受信することと、
表示用に前記1つまたは複数のデジタルコンポーネントおよび前記デジタルコンテンツを生成することと
を含む、非一時的コンピュータ記憶媒体。
【請求項13】
前記デジタルコンテンツ要求に対する前記デジタルコンテンツ応答を受信することが、前記デジタルコンテンツおよび前記1つまたは複数のデジタルコンポーネントを表示するための1つまたは複数の命令と、前記1つまたは複数のデジタルコンポーネントの前記1つまたは複数の識別子と、前記デジタルコンテンツのための前記識別子とを含むテンプレートを受信することを含む、請求項12に記載の非一時的コンピュータ記憶媒体。
【請求項14】
表示用に前記1つまたは複数のデジタルコンポーネントおよび前記デジタルコンテンツを生成することが、
表示用に前記アプリケーションのためのローディング画面を生成することであって、前記ローディング画面が、前記アプリケーションから受信された視覚データを含む、生成することと、
前記ローディング画面を表示した後に、第1の一時停止コマンドを実行することと、
前記第1の一時停止コマンドを実行した後に、前記ローディング画面の上のオーバーレイにおいて、表示用に前記1つまたは複数のデジタルコンポーネントを生成することと、
表示用に前記1つまたは複数のデジタルコンポーネントを生成した後に、第2の一時停止コマンドを実行することと、
表示用に前記1つまたは複数のデジタルコンポーネントを生成した後に、前記オーバーレイにおける同時表示用に前記1つまたは複数のデジタルコンポーネントとともに前記デジタルコンテンツを生成することと
を含む、請求項12または13に記載の非一時的コンピュータ記憶媒体。
【請求項15】
サーバを備えるシステムであって、前記サーバが、
ユーザデバイスから、アプリケーションを識別するアプリケーション識別子と、アプリケーションパラメータ値とを含むデジタルコンテンツ要求を受信することと、
前記ユーザデバイス上でアプリケーション状態がアクティブフォーカスに変更されたことに応答して前記デジタルコンテンツ要求が送られていることを前記アプリケーションパラメータ値が指定すると判定することと、それに応答して、
前記ユーザデバイスにおいて表示されるときに前記アプリケーションを視覚的に識別する1つまたは複数のデジタルコンポーネントに対するデータ要求を送信することであって、前記データ要求が前記アプリケーション識別子を含む、送信することと、
前記データ要求に応答して、前記1つまたは複数のデジタルコンポーネントのための1つまたは複数の識別子を受信することと、
前記アプリケーションのためのデジタルコンテンツを識別することと、
前記デジタルコンテンツ要求に対するデジタルコンテンツ応答を生成することであって、前記デジタルコンテンツ応答が、前記1つまたは複数のデジタルコンポーネントの前記1つまたは複数の識別子と、前記デジタルコンテンツのための識別子とを含み、前記デジタルコンテンツ応答が、前記ユーザデバイスによって処理されるとき、前記デジタルコンテンツ要求を受信したことに応答して前記ユーザデバイスに前記デジタルコンテンツおよび前記1つまたは複数のデジタルコンポーネントを表示させる、生成することと、
前記デジタルコンテンツ応答を前記ユーザデバイスに送信することと
を行うように構成される、システム。
【請求項16】
前記デジタルコンテンツ応答を生成することが、
前記アプリケーションパラメータ値に基づいて、前記デジタルコンテンツのためのテンプレートを選択することであって、前記テンプレートが、前記1つまたは複数のデジタルコンポーネントおよび前記デジタルコンテンツがどのように前記ユーザデバイスのディスプレイ上に配置されるべきかを定義する1つまたは複数の命令を含む、選択することと、
前記テンプレートと、前記1つまたは複数の命令と、前記1つまたは複数のデジタルコンポーネントのための前記1つまたは複数の識別子と、前記デジタルコンテンツのための前記識別子とを含むパッケージを生成することと
を含む、請求項15に記載のシステム。
【請求項17】
前記ユーザデバイス上で前記アプリケーション状態が前記アクティブフォーカスに変更されたことに応答して前記デジタルコンテンツ要求が送られていることを前記アプリケーションパラメータ値が指定すると判定することが、
前記デジタルコンテンツ要求から前記アプリケーションパラメータ値を取り出すことと、
前記アプリケーションが起動されたことまたは前記アプリケーションがバックグラウンドからフォアグラウンドになったことを前記アプリケーションパラメータ値が示すと判定することと
を含む、請求項15または請求項16に記載のシステム。
【請求項18】
前記データ要求に応答して、前記1つまたは複数のデジタルコンポーネントのための前記1つまたは複数の識別子を受信することが、前記1つまたは複数のデジタルコンポーネントを取り出すための1つまたは複数のロケーションを受信することを含む、請求項15から17のいずれか一項に記載のシステム。
【請求項19】
ユーザデバイスを備えるシステムであって、前記ユーザデバイスが、
前記ユーザデバイス上で、アプリケーションのアプリケーション状態をアクティブフォーカスに変更する命令を検出することと、
前記アプリケーション状態を前記アクティブフォーカスに変更する前記命令を検出したことに基づいて、
前記アプリケーションを識別するアプリケーション識別子を取り出すことと、
サーバに、前記アプリケーション識別子と、前記アプリケーション状態が前記アクティブフォーカスに変更されたことに応答してデジタルコンテンツに対するデジタルコンテンツ要求が送られていることを指定するアプリケーションパラメータ値とを含む前記デジタルコンテンツ要求を送信することと、
前記デジタルコンテンツ要求に対するデジタルコンテンツ応答を受信することであって、前記デジタルコンテンツ応答が、前記デジタルコンテンツのための識別子と、前記ユーザデバイスにおいて表示されるときに前記アプリケーションを視覚的に識別する1つまたは複数のデジタルコンポーネントの1つまたは複数の識別子とを含む、受信することと、
前記デジタルコンテンツと、前記ユーザデバイスにおいて表示されるときに前記アプリケーションを視覚的に識別する前記1つまたは複数のデジタルコンポーネントとに対する1つまたは複数のデータ要求を送信することと、
前記1つまたは複数のデータ要求に応答して、前記1つまたは複数のデジタルコンポーネントおよび前記デジタルコンテンツを受信することと、
表示用に前記1つまたは複数のデジタルコンポーネントおよび前記デジタルコンテンツを生成することと
を行うように構成される、システム。
【請求項20】
表示用に前記1つまたは複数のデジタルコンポーネントおよび前記デジタルコンテンツを生成することが、
表示用に前記アプリケーションのためのローディング画面を生成することであって、前記ローディング画面が、前記アプリケーションから受信された視覚データを含む、生成することと、
前記ローディング画面を表示した後に、第1の一時停止コマンドを実行することと、
前記第1の一時停止コマンドを実行した後に、前記ローディング画面の上のオーバーレイにおいて、表示用に前記1つまたは複数のデジタルコンポーネントを生成することと、
表示用に前記1つまたは複数のデジタルコンポーネントを生成した後に、第2の一時停止コマンドを実行することと、
表示用に前記1つまたは複数のデジタルコンポーネントを生成した後に、前記オーバーレイにおける同時表示用に前記1つまたは複数のデジタルコンポーネントとともに前記デジタルコンテンツを生成することと
を含む、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションオープン動作中にデジタルコンテンツを追加するためのシステムおよび方法に関する。
【背景技術】
【0002】
ユーザデバイス(たとえば、スマートフォンおよび電子タブレット)は、ユーザが時としてアプリと呼ばれる様々な異なるアプリケーションを開くことおよび閉じることを可能にするように設計されている。アプリがロードしている間に、アプリの発行者はデバイスの画面を使用して情報をユーザに提供することができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本文書は、アプリケーションがロードしている間に、(たとえば、デジタルコンポーネントの形態の)情報をユーザに提供するための技法について論じる。いくつかの現在利用可能なシステムでは、アプリケーションオープン動作が受信されると、アプリケーションの発行者がデジタルコンテンツをユーザに提示する。デジタルコンテンツは通常、アプリケーションのいかなる識別情報も有しておらず、したがって、アプリケーションを起動したユーザは、正しいアプリケーションが開いているかどうかに関して混乱することがある。この混乱は、最終的にそのアプリケーションをユーザデバイスから削除すること、またはアプリケーションがロードするかもしくは他の方法でフォーカスをアプリケーションに変更する前にアプリケーションを閉じることをユーザに行わせる可能性がある。加えて、アプリケーションの発行者がアプリケーションのローディング中にデジタルコンテンツを提示することを選択するとき、その発行者はその情報を画面の正確な寸法にフォーマット化する必要があるが、このことは、受信された情報が他の情報と組み合わされるときは特に、困難である可能性がある。
【課題を解決するための手段】
【0004】
これらのおよび他の問題を解決するために、本文書は、表示用にデジタルコンポーネント(たとえば、アプリケーションまたはアプリケーションの発行者についてのブランドデータ)と一緒にデジタルコンテンツ(たとえば、広告、フィードアイテム、または何らかの他の情報)を生成するためのシステムおよび方法を提供する。具体的には、システムは、様々なアクションが実施されるサーバおよびユーザデバイスを含むことができる。サーバは、ユーザデバイスからデジタルコンテンツ要求を受信する。デジタルコンテンツ要求は、アプリケーションを識別するデータを含むことができ、アプリケーション状態がアクティブフォーカスに変更されたことに応答してデジタルコンテンツが要求されたかどうか、または異なる条件(たとえば、アプリケーションオープンコマンドが要求をトリガしたかどうか)に基づいてデジタルコンテンツが要求されたかどうかをサーバにシグナリングするデータも含むことができる。このデータはアプリケーションパラメータ値と呼ばれる。たとえば、サーバは、名前(またはアプリケーションの別の識別子)と、要求につながる条件を示す別の値(アプリケーションパラメータ値)とを含むデジタルコンテンツ要求を受信することができる。
【0005】
アプリケーション状態がアクティブフォーカスに変更されたことに応答してデジタルコンテンツ要求が送られているとサーバが判定する場合、サーバは以下で論じられる様々な動作を実施することができる。サーバは、ユーザデバイスにおいて表示されるときにアプリケーションを視覚的に識別する1つまたは複数のデジタルコンポーネントに対するデータ要求を送信することができる。各データ要求は、アプリケーション識別子を含むことができる。たとえば、アプリケーションを起動するかまたはアプリケーションをフォアグラウンドにするユーザ入力によってデジタルコンテンツ要求がトリガされたと(たとえば、受信されたデータに基づいて)サーバが判定する場合、サーバは、ユーザデバイスから、広告をユーザに提示するという要求を受信することができる。要求が受信されると、サーバは、ユーザがアプリケーションを開かれることになるアプリケーションとして識別するためのブランド情報とともに広告が表示され得るように、アプリケーションについてのブランド情報に対する1つまたは複数のデータ要求を生成することができる。
【0006】
いくつかの実装形態では、サーバは、以下のアクションを実施することによって、ユーザデバイス上でアプリケーション状態がアクティブフォーカスに変更されたことに応答してデジタルコンテンツ要求が送られていることをアプリケーションパラメータ値が指定すると判定する。サーバは、デジタルコンテンツ要求からアプリケーションパラメータ値を取り出すことができる。たとえば、アプリケーションパラメータ値は、テキスト値、数値、16進値、または別の適切な値であり得る。サーバは、アプリケーションが起動されたことまたはアプリケーションがバックグラウンドからフォアグラウンドになったことをアプリケーションパラメータ値が示すと(たとえば、アプリケーションパラメータ値を既知のパラメータ値と比較することに基づいて)判定することができる。
【0007】
データ要求に応答して、サーバは、1つまたは複数のデジタルコンポーネントのための1つまたは複数の識別子を受信することができる。たとえば、サーバは、デジタルコンポーネントのためのリンクまたはアドレスを受信することができる。いくつかの実装形態では、識別子は、対応するデジタルコンポーネントを取り出すための対応するロケーションを含むことができる。それらのデジタルコンポーネントは、テキストデータ、ピクチャデータ、ビデオデータ、またはデジタルコンテンツ(たとえば、広告)とともに表示されるときにアプリケーションを視覚的に識別する他の適切なデータを含むことができる。サーバはまた、アプリケーションのためのデジタルコンテンツを識別する。たとえば、サーバは、ユーザに表示すべき広告を識別することができる。いくつかの実装形態では、サーバは、要求をデジタルコンテンツ用のデジタルコンテンツデータベースまたはデジタルコンテンツサーバに送信する。
【0008】
サーバは、1つまたは複数のデジタルコンポーネント(たとえば、アプリケーションについてのブランドデータ)の1つまたは複数の識別子と、デジタルコンテンツ(たとえば、広告)のための識別子とを含むデジタルコンテンツ応答を生成する。デジタルコンテンツ応答は、ユーザデバイスによって処理されるとき、デジタルコンテンツ要求に応答してユーザデバイスにデジタルコンテンツおよびデジタルコンポーネントを表示させる。ユーザデバイスは、同時表示用にデジタルコンテンツおよびデジタルコンポーネントの合成物をレンダリングし得る。たとえば、サーバは、ユーザデバイスが処理するための広告パッケージを生成することができる。広告パッケージは、広告を取り出すためのリンクまたはアドレスと、アプリケーションを視覚的に識別するブランドデータを取り出すための1つまたは複数のリンクまたはアドレスとを含むことができる。サーバは、1つまたは複数のデジタルコンポーネントの1つまたは複数の識別子とデジタルコンテンツの識別子の両方を合成されたデジタルコンテンツ応答として提供することができるので、ユーザデバイスによって表示するためのデータは、より一貫性があり、信頼性があり、統一された方法で提供され得る。これは、ユーザデバイスによるデジタルコンテンツ要求の処理における計算効率をもたらすことができる。たとえば、それぞれの識別子は、対応するフォーマットのものとすることができるか、または対応する通信プロトコルを使用してリンクを提供することができ、このことは、ユーザデバイスが並行して実施する必要がある異なる動作の数を低減することができる。合成されたデジタルコンテンツ応答の提供はまた、ユーザデバイスによって表示するためのデータの提供の際に縮小されたデータの転送を可能にし得る。さらなる通信およびコンテンツの発行者からのユーザデバイスへの入力を必要とする代わりに、サーバは、1つまたは複数のデジタルコンポーネントの1つまたは複数の識別子とデジタルコンテンツのための識別子とを合成する単一のデジタルコンテンツ応答を通信することができる。これは、送信されることを必要とする通信の数を低減することができ、複数の通信に関連付けられたオーバーヘッドを複製する必要なしに単一の通信における異なる識別子のより効率的な符号化を可能にすることができる。
【0009】
いくつかの実装形態では、サーバは、デジタルコンテンツ応答を生成するためにテンプレートを使用する。具体的には、サーバは、アプリケーションパラメータ値に基づいて(たとえば、アプリケーションオープンコマンドが受信されたとの判定に基づいて)、デジタルコンテンツ(たとえば、広告)のためのテンプレートを選択することができる。テンプレートは、1つまたは複数のデジタルコンポーネント(たとえば、ブランドデータ)およびデジタルコンテンツ(たとえば、広告)がどのようにユーザデバイスのディスプレイ上に配置されるべきかを定義する1つまたは複数の命令を含むことができる。次いで、サーバは、テンプレートと、1つまたは複数の命令と、1つまたは複数のデジタルコンポーネントのための1つまたは複数の識別子と、デジタルコンテンツのための識別子とを含むパッケージを生成する。たとえば、アプリケーション起動コマンドに応答して要求が送られたとの判定に基づいて、サーバは、選択されたデジタルコンテンツ(たとえば、広告)およびデジタルコンポーネント(たとえば、アプリケーションを識別するブランドデータ)をどのようにディスプレイ画面上に配置するかをユーザデバイスに命令するコマンドを含むテンプレートを選択することができる。
【0010】
次いで、サーバは、デジタルコンテンツ応答をユーザデバイスに送信する。1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツがどのように配置されるべきかを定義する1つまたは複数の命令を含むテンプレートの使用は、より一貫性があり、信頼性があり、統一された方法で1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツがレンダリングされることを可能にすることができる。テンプレートおよびデジタルコンテンツ応答は、1つまたは複数のデジタルコンポーネントとデジタルコンテンツの両方のための識別子を提供するサーバを使用して提供され得るので、1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツの両方を同時に表示することに関連するいかなる不適合性も回避され得る。たとえば、2つの異なるソースからの矛盾する命令は、場合によっては、1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツを互いと重複するようにレンダリングすることをユーザデバイスに試みさせることがある。これは、ユーザデバイスが矛盾する命令の両方を実施することを試みるせいで、画像の不要な反復されるレンダリングを引き起こすことがある。
【0011】
対照的に、サーバは、任意選択でテンプレートを使用して、矛盾する命令を実施する試みを回避することによって、表示されるべきデータの改善された適合性を提供し、したがって向上した計算効率を提供することによって、そのような問題を回避し得る。これは、特定のアスペクト比を有する画面を含むユーザデバイス上で1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツが一貫して表示されることを可能にし得る。このアスペクト比を定義する情報は、デジタルコンテンツ要求においてユーザデバイスによってサーバに提供され得る。これは、たとえばテンプレートによって、サーバが命令を提供することを可能にすることができ、テンプレートは、1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツの重複をもたらすことなしに1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツによる利用可能な画面スペースの最適な使用を実現するために1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツの表示用の寸法を提供する。テンプレートは、ユーザデバイスの配向に応じて選択的に使用可能であり得るポートレートおよびランドスケープモードで1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツを表示するための命令を含み得る。
【0012】
開示されるシステムの別の利点は、説明されるアクションの結果として、システムが、部分的な画面が表示される状態を排除することである。たとえば、発行者は、画面の残りの部分が、デジタルコンテンツが受信され、適切なロケーションに配置されるのを待っている間に、そのデジタルコンポーネントを直ちに表示することができる。発行者はアプリケーションに進むようにシステムを構成することができるが、(たとえば、少なくともある時間期間にわたってほとんどブランクである画面があったので)ユーザエクスペリエンスが不完全である可能性がある。
【0013】
ユーザデバイスはまた、デジタルコンテンツ要求がサーバに送られる前とデジタルコンテンツ応答がサーバから受信された後の両方で、様々なアクションを実施する。具体的には、ユーザデバイスは、アプリケーションのアプリケーション状態をアクティブフォーカスに変更する命令を検出する。たとえば、ユーザデバイスは、開くことになるアプリケーションを選択するユーザ入力(たとえば、アイコンを選択するタッチスクリーン入力)を検出することができる。アプリケーション状態をアクティブフォーカスに変更する命令を検出したことに基づいて、ユーザデバイスは、アプリケーションを識別するアプリケーション識別子を取り出し、サーバにデジタルコンテンツ要求を送信する。デジタルコンテンツ要求は、アプリケーションの識別子と、アプリケーション状態がアクティブフォーカスに変更されたことに応答してデジタルコンテンツに対するデジタルコンテンツ要求が送られていることを指定するアプリケーションパラメータ値とを含むことができる。たとえば、上記で論じられたように、アプリケーション識別子は、アプリケーションの名前であり得る。いくつかの実装形態では、アプリケーション識別子は、テキスト文字列、数、16進値、または別の適切な識別子であり得る。
【0014】
デジタルコンテンツ要求に応答して、ユーザデバイスは、デジタルコンテンツ応答を受信する。デジタルコンテンツ応答は、デジタルコンテンツのための識別子と、ユーザデバイスにおいて表示されるときにアプリケーションを視覚的に識別する1つまたは複数のデジタルコンポーネントの1つまたは複数の識別子とを含むことができる。上記で論じられたように、各デジタルコンポーネントのための各識別子は、そのデジタルコンポーネント(たとえば、広告)を取り出すためのリンクまたはアドレスを含むことができる。
【0015】
いくつかの実装形態では、ユーザデバイスは、デジタルコンテンツおよび1つまたは複数のデジタルコンポーネントを表示するための1つまたは複数の命令と、1つまたは複数のデジタルコンポーネントの1つまたは複数の識別子と、デジタルコンテンツのための識別子とを含むテンプレートを受信する。ユーザデバイスは、テンプレートからデジタルコンテンツ識別子およびデジタルコンポーネント識別子を取り出すようにテンプレートを処理することができる。ユーザデバイスはまた、ディスプレイ画面上にデジタルコンテンツおよびデジタルコンポーネントを配置するためにテンプレート内の命令を実行することを準備することができる。
【0016】
次いで、ユーザデバイスは、デジタルコンテンツと、1つまたは複数のデジタルコンポーネントとに対する1つまたは複数のデータ要求を送信する。たとえば、ユーザデバイスは、デジタルコンポーネントおよびデジタルコンテンツの各々のためのリンクまたはアドレスを使用して、対応するソース(たとえば、デジタルコンポーネントデータベースおよび/またはデジタルコンテンツサーバ/データベース)からのそのコンテンツを要求することができる。次いで、ユーザデバイスは、1つまたは複数のデータ要求に応答して、デジタルコンテンツおよび1つまたは複数のデジタルコンポーネントを受信し、表示用に1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツを生成する。
【0017】
いくつかの実装形態では、表示用に1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツを生成するとき、ユーザデバイスはスタガード手法を使用することができる。具体的には、ユーザデバイスは、表示用にアプリケーションのためのローディング画面を生成することができる。ローディング画面は、アプリケーションから受信された視覚データを含むことができる。たとえば、ローディング画面は、アプリケーションのバックグラウンドを有することができる。ローディング画面を表示した後に、ユーザデバイスは第1の一時停止コマンドを実行することができる。たとえば、他の画面をロードアップする前の一時停止コマンドは、ユーザのためにアプリケーションの部分を表示することができる。
【0018】
第1の一時停止コマンドを実行した後に、ユーザデバイスは、ローディング画面の上のオーバーレイにおいて、表示用に1つまたは複数のデジタルコンポーネントを生成する。たとえば、オーバーレイは、アプリケーションについてのブランド情報を含むことができる。ブランド情報は、アプリケーションのロゴ、アプリケーションを識別するテキストおよび/またはアプリケーションを識別する他の適切なデータを含むことができる。表示用に1つまたは複数のデジタルコンポーネントを生成した後に、ユーザデバイスは第2の一時停止コマンドを実行する。第2の一時停止コマンドは、広告が表示される前にユーザがデジタルコンポーネント(たとえば、ブランド情報)を見ることを可能にする。表示用に1つまたは複数のデジタルコンポーネントを生成した後に、ユーザデバイスは、オーバーレイにおける同時表示用に1つまたは複数のデジタルコンポーネントとともにデジタルコンテンツを生成する。この時点で、ユーザデバイスはアプリケーションを識別する情報をユーザに表示しており、それによってユーザの混乱を回避する。1つまたは複数のデジタルコンポーネントは最初に、アプリがロードしていることを示すことがある。表示用にデジタルコンテンツを生成した後の定義された間隔で、1つまたは複数のデジタルコンポーネントは、アプリがユーザが対話するのに利用可能であることを示すことがあり、ユーザがアプリに進むことを可能にする機能を提供することがある。したがって、1つまたは複数のデジタルコンポーネントは動的であってもよく、デジタルコンテンツと組み合わせてレンダリングされている間にユーザ対話が可能であってもよく、ユーザインターフェースとしての1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツの合成された表示において改善された機能を提供する。
【0019】
本明細書で説明される主題の1つまたは複数の技法の詳細は、添付の図面および以下の説明に記載される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【0020】
【
図1】デジタルコンテンツ配信システムのための例示的なコンポーネントのブロック図である。
【
図2】デジタルコンテンツを配信するときにサーバが取ることができるアクションのブロック図である。
【
図3】デジタルコンテンツ要求のためのデータ構造の一例を示す図である。
【
図4】アプリケーション状態がアクティブフォーカスに変更されたことをアプリケーションパラメータ値がシグナリングするかどうかを判定するためのアクションのブロック図である。
【
図5】デジタルコンテンツ応答のためのデータ構造の一例を示す図である。
【
図6】デジタルコンテンツを受信するときにユーザデバイスが取ることができるアクションのブロック図である。
【
図7】デジタルコンテンツおよび1つまたは複数のデジタルコンポーネントを表示するときにユーザデバイス上で表示され得る画面を示す図である。
【発明を実施するための形態】
【0021】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【0022】
本文書は、デジタルコンテンツをユーザデバイスに配信することを可能にする方法、システム、およびデバイスを開示する。
図1は、デジタルコンテンツ配信システムのためのコンポーネントのブロック図である。システム100は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せなどのネットワーク102を含む。ネットワーク102は、デジタルコンポーネントサーバ104、デジタルコンポーネントデータベース112、デジタルコンテンツデータベース110、デジタルコンテンツサーバ108、および1つまたは複数のユーザデバイス106を含む様々なシステムコンポーネントを接続する。ネットワーク102は、他のデバイス(図示せず)のための接続を容易にすることができる。
【0023】
デジタルコンポーネントサーバ104は、ユーザデバイス(たとえば、ユーザデバイス106)に配信するためのデジタルコンポーネントを提供する。デジタルコンポーネントサーバ104の各々は、デジタルコンポーネントに対する要求を受信することができ、要求は、デジタルコンポーネントを識別するためのデータを含む。デジタルコンポーネント要求は、時としてデータ要求と呼ばれる。デジタルコンポーネントは、デジタルコンポーネントデータベース112に記憶され得る。各デジタルコンポーネントは、デジタルコンポーネントが視覚的に区別することができるアプリケーションを識別する関連付けられたデジタルコンポーネントメタデータを有することができる。本文書全体を通して使用される場合、「デジタルコンポーネント」という句は、デジタルコンテンツまたはデジタル情報の個別のユニット(たとえば、ビデオクリップ、オーディオクリップ、マルチメディアクリップ、画像、テキスト、またはコンテンツの別のユニット)を指す。デジタルコンポーネントは、単一のファイルとしてまたはファイルの集合体において、電子的に物理メモリデバイスに記憶され得、デジタルコンポーネントは、ビデオファイル、オーディオファイル、マルチメディアファイル、画像ファイル、またはテキストファイルの形態を取り、アプリケーションを視覚的に識別するための識別情報を含むことができる。
【0024】
デジタルコンポーネントサーバ104およびデジタルコンポーネントデータベース112は異なるコンポーネントとして示されているが、それらのコンポーネントは、1つのサーバによってホストされ得る。いくつかの実装形態では、それらのコンポーネントは、データ要求を受信し、デジタルコンポーネントの各々についてデータ要求内の情報をメタデータと比較し、アプリケーション識別子と一致する1つまたは複数のデジタルコンポーネントを選択する、1つのコンポーネントに組み合わされ得る。たとえば、サーバは、データ要求からのアプリケーション識別子を記憶された各デジタルコンポーネントのメタデータ内のアプリケーション識別子と比較することができる。
【0025】
システム100はまた、デジタルコンテンツサーバ108を含む。いくつかの実装形態では、デジタルコンテンツサーバ108は、ユーザデバイス106からデジタルコンテンツ要求を受信し、デジタルコンテンツ要求を処理することができる。デジタルコンテンツサーバ108の各々はまた、デジタルコンポーネント要求を各デジタルコンポーネントサーバ104に送信することができる。デジタルコンテンツは、デジタルコンテンツデータベース110に記憶され得る。デジタルコンテンツサーバ108およびデジタルコンテンツデータベース110は別個のコンポーネントとして示されているが、それらのコンポーネントは、1つのサーバまたはサーバのセット上にインストールされ得る。システム100はまた、ユーザデバイス106を含む。ユーザデバイスは、ユーザがアプリケーションを実行することを可能にする電子デバイスであり得る。ユーザデバイスは、ラップトップコンピュータ、スマートフォン、電子タブレット、または別の適切なデバイスであり得る。
【0026】
デジタルコンテンツ配信システムは、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せを含むことができる。いくつかの実装形態では、デジタルコンテンツ配信システムは、デジタルコンテンツサーバ108のうちの1つまたは複数の上で構成され得る。デジタルコンテンツサーバ108は複数のサーバを含むものとして列挙されるが、ある特定の事例におけるデジタルコンテンツサーバは、デジタルコンテンツ配信システムのアクションを実施する1つの論理サーバを含むことができる。
【0027】
加えて、デジタルコンテンツ配信システムは、ユーザデバイス106上のコンポーネントを含むことができる。デジタルコンテンツサーバ108のうちの1つまたは複数は、ユーザデバイス106からデジタルコンテンツ要求を受信し、受信されたデジタルコンテンツ要求を処理することができる。ユーザデバイス106は、様々なデータを送信および受信するために、ネットワーク102を通じてデジタルコンテンツサーバ108と通信することができる。加えて、ユーザデバイス106は、デジタルコンポーネントを要求および受信するために、デジタルコンポーネントサーバ104および/またはデジタルコンポーネントデータベース112と通信することができる。デジタルコンポーネントサーバ104およびデジタルコンテンツサーバ108は両方とも複数のサーバとして示されているが、これらのコンポーネントの各々は単一の論理サーバまたは物理サーバであり得る。
【0028】
図2は、デジタルコンテンツを配信するときにサーバが取ることができるアクションのブロック図である。
図2のアクションは、1つまたは複数のデジタルコンテンツサーバ108上で実行され得る。202において、サーバ(たとえば、デジタルコンテンツサーバ108)は、ユーザデバイスから、アプリケーションパラメータ値と、アプリケーションを識別するアプリケーション識別子とを含むデジタルコンテンツ要求を受信する。
図3は、デジタルコンテンツ要求のためのデータ構造の一例を示す。デジタルコンテンツ要求300は、要求のソース302を含むことができる。たとえば、ソースは、ユーザデバイス106の識別子であり得る。いくつかの実装形態では、識別子は、ユーザデバイス(たとえば、ユーザデバイス106)に割り当てられたインターネットプロトコルアドレスであり得る。いくつかの実装形態では、ソースは、デジタルコンテンツ要求が受信されたユーザデバイスを識別する数または16進値であり得る。デジタルコンテンツ要求はまた、アプリケーション識別子304を含む。アプリケーション識別子は、サーバに対するおよびシステム100の他のコンポーネントに対するアプリケーションを一意に識別する。アプリケーション識別子は、アプリケーションの名前、16進値、数、またはアプリケーションを一意に識別するための別の適切な識別子であり得る。
【0029】
加えて、デジタルコンテンツ要求は、アプリケーションパラメータ値306を含む。アプリケーションパラメータ値は、デジタルコンテンツ要求に対するトリガを識別することができる。たとえば、アプリケーションパラメータ値は、アプリケーション状態がアクティブフォーカスに変更されたことに応答してデジタルコンテンツ要求が送られていることを示すことができる。「アクティブフォーカス」という用語は、「アクティブステータス」という用語と交換可能に使用され得る。アプリケーションパラメータ値は、テキスト値、16進値、数、または別の適切な値であり得る。いくつかの実装形態では、サーバおよびユーザデバイスは、アプリケーションパラメータ値および対応するトリガを記憶するテーブルを含むことができる。たとえば、「アプリオープン(App Open)」のアプリケーションパラメータ値は、アプリケーション状態がアクティブフォーカスに変更されたことに応答してデジタルコンテンツ要求が送られていることを示すことができる。異なるアプリケーションパラメータ値は、アプリケーションの内部関数がデジタルコンテンツ要求に対するトリガであることを示すことができる。デジタルコンテンツ要求は、データ構造300の属性1フィールド308によって示されるような他の属性を含むことができる。他の情報は、表示画面寸法、表示画面解像度、およびユーザデバイスの他の適切なデータを含むことができる。
【0030】
図2に戻って参照すると、204において、サーバ(たとえば、デジタルコンテンツサーバ108)は、ユーザデバイス上でアプリケーション状態がアクティブフォーカスに変更されたことに応答してデジタルコンテンツ要求が送られていることをアプリケーションパラメータ値が指定すると判定する。いくつかの実装形態では、アプリケーション状態がアクティブフォーカスに変更されることは、アプリケーションが起動されることまたはアプリケーションがバックグラウンド処理状態からフォアグラウンド処理状態になることを含むことができる。ユーザデバイスは、これらのインスタンスに対する異なるアプリケーションパラメータ値を生成することができる。サーバは、デジタルコンテンツ要求からアプリケーションパラメータ値を取り出し、アプリケーションが起動されたことまたはアプリケーションがバックグラウンドからフォアグラウンドになったことをアプリケーションパラメータ値が示すと判定することができる。いくつかの実装形態では、サーバは、アプリケーションパラメータ値を、テーブルに記憶された既知のアプリケーションパラメータ値と比較することができる。
【0031】
図4は、アプリケーション状態がアクティブフォーカスに変更されたことをアプリケーションパラメータ値がシグナリングするかどうかを判定するためのアクションのブロック
図400である。402において、サーバ(たとえば、デジタルコンテンツサーバ108)は、デジタルコンテンツ要求にアクセスする。たとえば、サーバは、メモリに存在するデジタルコンテンツ要求にアクセスすることができる。404において、サーバ(たとえば、デジタルコンテンツサーバ108)は、デジタルコンテンツ要求からアプリケーションパラメータ値を取り出す。たとえば、サーバは、デジタルコンテンツ要求からアプリケーションパラメータ値を取り出すためにアプリケーションプログラミングインターフェース(「API」)を使用することができる。いくつかの実装形態では、デジタルコンテンツ要求は、サーバがデジタルコンテンツ要求を取り出すためにナビゲートすることができるデータ構造であり得る。
【0032】
406において、サーバ(たとえば、デジタルコンテンツサーバ108)は、アプリケーションパラメータ値を、アプリケーション状態がアクティブフォーカスに変更されたことをシグナリングする既知の値と比較する。たとえば、サーバは、既知のアプリケーションパラメータ値と対応するトリガとの間のマッピング(たとえば、テーブル)を記憶することができる。サーバは、マッピングを取り出し、取り出されたアプリケーションパラメータ値を対応するマッピング内の各アプリケーションパラメータ値と比較して、アプリケーション状態がアクティブフォーカスに変更されたことを受信されたアプリケーションパラメータ値がシグナリングするかどうかを判定することができる。
【0033】
408において、サーバ(たとえば、デジタルコンテンツサーバ108)は、アプリケーションパラメータ値が既知の値と一致するかどうかを判定する。アプリケーションパラメータ値が、アプリケーション状態がアクティブフォーカスに変更されたことをシグナリングするための既知の値と一致しない場合、プロセス400は410に移動し、そこでサーバは、デジタルコンポーネントなしでデジタルコンテンツ要求処理を実施する。アプリケーションパラメータ値が、アプリケーション状態がアクティブフォーカスに変更されたことをシグナリングするための既知の値と一致する場合、プロセス400は412に移動し、そこでサーバは、
図2に関連してさらに論じられるように、デジタルコンポーネントありでデジタルコンテンツ要求処理を実施する。
【0034】
206において、サーバ(たとえば、デジタルコンテンツサーバ108)は、ユーザデバイスにおいて表示されるときにアプリケーションを視覚的に識別する1つまたは複数のデジタルコンポーネントに対するデータ要求を送信する。データ要求は、アプリケーション識別子(たとえば、デジタルコンテンツ要求において受信されたアプリケーション識別子)を含むことができる。いくつかの実装形態では、アプリケーション識別子は、デジタルコンテンツ要求において受信されたアプリケーション識別子から判定され得る。たとえば、デジタルコンテンツ要求がアプリケーションの名前をアプリケーション識別子として含む場合、サーバは、デジタルコンポーネントが記憶されるサーバにおいて(たとえば、デジタルコンポーネントサーバ104および/またはデジタルコンポーネントデータベース112において)アプリケーションを識別する対応するアプリケーション識別子(たとえば、数、16進値、または別の適切な識別子)を判定することができる。
【0035】
208において、サーバ(たとえば、デジタルコンテンツサーバ108)は、データ要求に応答して、1つまたは複数のデジタルコンポーネントの1つまたは複数の識別子を受信する。いくつかの実装形態では、デジタルコンテンツサーバ108は、ネットワーク102を通じてデジタルコンポーネント要求を1つまたは複数のデジタルコンポーネントサーバ104に送信する。デジタルコンポーネントサーバ104の各々は、要求を受信し、要求からアプリケーション識別子を取り出すことができる。デジタルコンポーネントサーバ104の各々は、アプリケーション識別子を使用して、アプリケーション識別子と一致するデジタルコンポーネントのルックアップを実施することができる。デジタルコンポーネントの各々は、そのデジタルコンポーネントを取り出すために使用され得る識別子を含むことができる。したがって、デジタルコンポーネント要求に応答するデジタルコンポーネントサーバは、応答において、一致するデジタルコンポーネントの各々を取り出すためのロケーションを含むことができる。たとえば、ロケーションは、デジタルコンポーネントデータベース112のアドレスおよびデジタルコンポーネントの識別子であり得る。アドレスおよび識別子に基づいて、デジタルコンポーネントは、デジタルコンポーネントデータベース112によって識別され、送信のために取り出され得る。いくつかの実装形態では、各識別子は、対応するデジタルコンポーネントを取り出すためのリンク、または対応するデジタルコンポーネントを識別するために使用され得る値(たとえば、10進、16進、テキスト、または別の適切な値)であり得る。
【0036】
210において、サーバ(たとえば、デジタルコンテンツサーバ108)は、アプリケーションのためのデジタルコンテンツを識別する。たとえば、サーバは、アプリケーションの名前またはアプリケーションのタイプに基づいて、アプリケーションのためのデジタルコンテンツを識別することができる。本文書全体を通して使用される場合、「デジタルコンテンツ」という句は、デジタル情報の個別のユニット(たとえば、ビデオクリップ、オーディオクリップ、マルチメディアクリップ、画像、テキスト、またはコンテンツの別のユニット)を指す。デジタルコンテンツは、単一のファイルとしてまたはファイルの集合体において物理メモリデバイスに電子的に記憶され得、デジタルコンテンツは、ビデオファイル、オーディオファイル、マルチメディアファイル、画像ファイル、またはテキストファイルの形態を取り、広告が1つのタイプのデジタルコンテンツであるように広告情報を含むことができる。いくつかの実装形態では、サーバは、1つもしくは複数のデジタルコンポーネントまたはデジタルコンテンツを受信するのに失敗することがある。それらの実装形態では、サーバは、アプリケーションに関連する他の情報を識別し、その情報を使用して、アプリケーションを識別するためにクライアントに送ることができる。他の情報は、サーバ上に記憶されたテキスト情報を含むことができる。いくつかの実装形態では、サーバは、たとえば、テンプレートにおいて、デジタルコンポーネントの代わりにクライアントに知られているアプリケーション情報を使用するというクライアントへの命令を含むことができる。デジタルコンテンツが受信されない実装形態では、サーバは、デジタルコンテンツを他の識別情報に置き換えることをアプリケーションに命令する応答をクライアントに返すことができる。いくつかの実装形態では、デジタルコンテンツを識別するとき、サーバは、どのデジタルコンテンツを選択すべきかを様々なパラメータに基づいて動的に調整することができる。たとえば、サーバは、どのデジタルコンテンツが選択されるかに関して頻度制限を使用することができる。
【0037】
212において、サーバ(たとえば、デジタルコンテンツサーバ108)は、デジタルコンテンツ要求に対するデジタルコンテンツ応答を生成し、デジタルコンテンツ応答は、1つまたは複数のデジタルコンポーネントの1つまたは複数の識別子と、デジタルコンテンツのための識別子とを含む。ユーザデバイスによって処理されるとき、デジタルコンテンツ応答は、ユーザデバイスに、デジタルコンテンツおよび1つまたは複数のデジタルコンポーネントを表示させる。いくつかの実装形態では、サーバは、デジタルコンテンツ応答を生成するときに1つまたは複数のテンプレートを使用することができる。具体的には、サーバは、アプリケーションパラメータ値に基づいて、デジタルコンテンツのためのテンプレートを選択することができる。テンプレートは、1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツがどのようにユーザデバイスのディスプレイ上に配置されるべきかを定義する1つまたは複数の命令を含むことができる。次いで、サーバは、1つまたは複数の命令と、1つまたは複数のデジタルコンポーネントのための1つまたは複数の識別子と、デジタルコンテンツのための識別子とを備えたテンプレートを含むパッケージを生成することができる。
【0038】
214において、サーバ(たとえば、デジタルコンテンツサーバ108)は、デジタルコンテンツ応答をユーザデバイスに送信する。たとえば、サーバは、
図3に示されるようにデジタルコンテンツ応答をソース302に送信することができる。
図5は、デジタルコンテンツ応答のためのデータ構造500の一例を示す。フィールド502は、1つまたは複数のデジタルコンポーネント識別子を含む。上記で論じられたように、デジタルコンポーネント識別子は、対応するデジタルコンポーネントを取り出すためのリンク、またはユーザデバイスが対応するデジタルコンポーネントを要求することを可能にする別の値であり得る。フィールド504は、ユーザデバイスがユーザに表示するためのデジタルコンテンツを取り出すことを可能にするデジタルコンテンツ識別子を含むことができる。フィールド506は、デジタルコンテンツおよび1つまたは複数のデジタルコンポーネントがユーザデバイスの画面上でどのように表示されるべきかに関してユーザデバイスに命令するテンプレートデータを含む。フィールド508は任意選択であり、デジタルコンテンツおよびデジタルコンポーネントを表示する際にユーザデバイスにとって有用であり得る他のデータを含むことができる。たとえば、フィールド508は、デジタルコンポーネントおよび/またはデジタルコンテンツについてのメタデータを含むことができる。
【0039】
ユーザ配信システムの少なくとも一部分は、ユーザデバイス上に存在することができる。
図6は、デジタルコンテンツを受信するときにユーザデバイスが取ることができるアクションのブロック図である。602において、ユーザデバイス(たとえば、ユーザデバイス106)は、アプリケーション状態をアクティブフォーカスに変更する命令を検出する。たとえば、ユーザデバイスは、タッチスクリーンディスプレイを含む電子タブレットまたはスマートフォンであり得る。ユーザデバイスは、アプリケーションのアイコンを含むディスプレイ上の特定の場所におけるタッチ入力の形態でユーザ入力を受信することができる。タッチ入力を受信したことに応答して、ユーザデバイスは検出を行うことができる。いくつかの実装形態では、入力は、ポインティングデバイス(たとえば、コンピュータマウス)を使用する入力であり得る。
【0040】
604において、ユーザデバイス(たとえば、ユーザデバイス106)は、アプリケーションを識別するアプリケーション識別子を取り出す。たとえば、アプリケーション識別子は、アプリケーションの名前または別の適切な値であり得る。ユーザデバイスは、アプリケーションに対応するメタデータからアプリケーション識別子を取り出すことができる。606において、ユーザデバイス(たとえば、ユーザデバイス106)は、アプリケーションの識別子と、アプリケーションパラメータ値とを含むデジタルコンテンツ要求を送信する。アプリケーションパラメータ値は、アプリケーション状態がアクティブフォーカスに変更されたことに応答してデジタルコンテンツに対するデジタルコンテンツ要求が送られていることを指定する。デジタルコンテンツ要求は、
図2に関連して説明されたものと同じ要求であり得る。いくつかの実装形態では、アプリケーションのアプリケーション状態をアクティブフォーカスに変更する命令を検出することによって、アクション604および606がトリガされる。ユーザデバイス106は、デジタルコンテンツ要求をデジタルコンテンツサーバ108に送信することができる。
【0041】
608において、ユーザデバイス(たとえば、ユーザデバイス106)は、デジタルコンテンツ要求に対するデジタルコンテンツ応答を受信する。デジタルコンテンツ応答は、デジタルコンテンツのための識別子と、ユーザデバイスにおいて表示されるときにアプリケーションを視覚的に識別する1つまたは複数のデジタルコンポーネントの1つまたは複数の識別子とを含むことができる。
図2に関連して上記で論じられたように、デジタルコンテンツサーバ108は、ユーザデバイスのためのデジタルコンテンツおよび1つまたは複数のデジタルコンポーネントを識別し、テンプレートと一緒にデータを送信することができる。ユーザデバイスは、デジタルコンテンツを表示するためのおよび1つまたは複数のデジタルコンポーネントを表示するための1つまたは複数の命令と、1つまたは複数のデジタルコンポーネントの1つまたは複数の識別子と、デジタルコンテンツのための識別子とを含むテンプレートを受信することができる。
【0042】
610において、ユーザデバイス(たとえば、ユーザデバイス106)は、デジタルコンテンツと、ユーザデバイスにおいて表示されるときにアプリケーションを視覚的に識別する1つまたは複数のデジタルコンポーネントとに対する1つまたは複数のデータ要求を送信する。たとえば、ユーザデバイスは、デジタルコンテンツと、1つまたは複数のデジタルコンポーネントとに対するいくつかの要求を送信することができる。デジタルコンテンツに対する要求は、デジタルコンテンツデータベース110に送信され得る。要求は、デジタルコンテンツデータベースが、対応するデジタルコンテンツを識別し、そのコンテンツを取り出し、そのデジタルコンテンツをユーザデバイスに送信するために使用することができるデジタルコンテンツの識別子を含むことができる。ユーザデバイスはまた、各デジタルコンポーネントに対する要求を生成し、要求の各々をデジタルコンポーネントデータベース112に送信することができる。各要求は、デジタルコンポーネントデータベース112が正しいデジタルコンポーネントを識別し、そのデジタルコンポーネントを取り出し、そのデジタルコンポーネントをユーザデバイスに送信することができるように、対応するデジタルコンポーネントの識別子を含むことができる。
【0043】
612において、ユーザデバイス(たとえば、ユーザデバイス106)は、1つまたは複数のデータ要求に応答して、1つまたは複数のデジタルコンポーネントを受信する。デジタルコンポーネントは、テキスト、ビデオ、ピクチャ、および他の適切なデータであり得る。デジタルコンテンツは、たとえば、広告であり得る。614において、ユーザデバイス(たとえば、ユーザデバイス106)は、表示用に1つまたは複数のデジタルコンポーネントおよびデジタルコンテンツを生成する。
図7は、デジタルコンテンツおよびデジタルコンポーネントを表示するときにユーザデバイス上で表示され得る画面を示す。いくつかの実装形態では、ユーザデバイスは、表示用にアプリケーションのためのローディング画面を生成する。ローディング画面は、アプリケーションから受信された視覚データを含むことができる。画面702は、アプリケーションのためのローディング画面の一例であり得る。バックグラウンドは画面702上に示されていないが、ユーザデバイスは、表示用に、アプリケーションからバックグラウンド画面を生成することができる。
【0044】
ローディング画面を表示した後に、ユーザデバイスは第1の一時停止コマンドを実行することができる。第1の一時停止コマンドは、しきい値持続時間(たとえば、1秒)のものであり得る。第1の一時停止コマンドを実行した後に、ユーザデバイスは、表示用に、ローディング画面の上のオーバーレイにおいて、1つまたは複数のデジタルコンポーネントを生成することができる。画面704は、アプリケーション名と、アプリケーションに対応するピクチャ(たとえば、アプリケーションアイコン)を含むピクチャデジタルコンポーネントとを含むテキストデジタルコンポーネント710を有するエリアを含むオーバーレイを示す。
【0045】
表示用に1つまたは複数のデジタルコンポーネントを生成した後に、ユーザデバイスは、第2の一時停止コマンドを実行することができる。第2の一時停止コマンドは、第1コマンドの持続時間に等しい持続時間(たとえば、1秒)のものまたは異なる持続時間(たとえば、2秒)のものであり得る。いくつかの実装形態では、一時停止コマンドは、可変の持続時間のものであり得る。第1の持続時間は事前キャッシュされるデジタルコンテンツに対して設定され得、第2の持続時間は事前キャッシュされないデジタルコンテンツに対して設定され得る。表示用に1つまたは複数のデジタルコンポーネントを生成した後に、ユーザデバイスは、オーバーレイにおける同時表示用に1つまたは複数のデジタルコンポーネントとともにデジタルコンテンツを生成する。画面706は、テキストデジタルコンポーネントと、ピクチャデジタルコンポーネントとを含むデジタルコンポーネントエリア712を示す。加えて、画面706は、エリア712と同時にデジタルコンテンツ(たとえば、広告)を表示するエリア714を含む。いくつかの実装形態では、エリア712は、選択され得るインタラクティブ要素を含むことができる。たとえば、インタラクティブ要素は、要素が選択されたときにシステムが取るアクションをユーザに合図するためのテキストまたは他のシンボルを含むことができる。たとえば、インタラクティブ要素は、その要素を選択することがディスプレイから広告を削除し、ユーザがアプリケーションに進むことを可能にするということをユーザに合図する「アプリケーションに進む(proceed to application)」というラベルを含むことができる。ユーザデバイスがインタラクティブ要素の選択を受信する場合、ユーザデバイスはアプリケーションがロードしたかどうかを判定することができる。アプリケーションがロードした場合、ユーザデバイスは、画面からデジタルコンテンツおよびデジタルコンポーネントを削除し、アプリケーションを表示することに進むことができる。アプリケーションがまだロードしていない場合、ユーザデバイスは、1つまたは複数の機能を実施することができる。たとえば、ユーザデバイスは、デジタルコンテンツを削除し、デジタルコンポーネントをそのままにすることができる。
【0046】
いくつかの実装形態では、デジタルコンテンツ配信システムは、1つまたは複数のアプリケーションプログラミングインターフェース(API)を使用して実装され得る。ユーザデバイスとサーバ(たとえば、デジタルコンテンツサーバおよび/またはデジタルコンポーネントサーバ)の両方の上にインストールされ得るAPIが構築され得る。追加または代替として、あるAPIは各デジタルコンテンツサーバ用、別のAPIはユーザデバイス用、および別のAPIはデジタルコンポーネントサーバ用である、複数のAPIが構築され得る。ユーザデバイス上のデジタルコンテンツ配信システムは、デジタルコンテンツ要求をサーバ側のAPIにサブミットするためのプログラミングを含むことができる。加えて、中間サーバがデータ要求をサーバにサブミットするための実行コードが作成され得る。各デジタルコンテンツサーバがデジタルコンテンツ要求を受信し、それらのデジタルコンテンツ要求を処理するための第2のAPIが作成され得る。各デジタルコンポーネントサーバがデジタルコンポーネント要求を受信し、それらのデジタルコンポーネント要求を処理するための第3のAPIが作成され得る。いくつかの実装形態では、これらのAPIは組み合わされ得る。
【0047】
主題の実施形態および本明細書で説明される動作は、デジタル電子回路において、または本明細書で開示される構造およびそれらの構造的等価物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実装され得る。本明細書で説明される主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のためにまたはデータ処理装置の動作を制御するためにコンピュータ記憶媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替または追加として、プログラム命令は、人工的に生成された伝搬信号、たとえば、データ処理装置による実行のために適切な受信機装置に送信するための情報を符号化するために生成される、機械で生成された電気信号、光信号、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組合せであり得るか、あるいはそれらに含まれ得る。コンピュータ記憶媒体または非一時的コンピュータ記憶媒体は、コンピュータ可読媒体と呼ばれることがある。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号において符号化されたコンピュータプログラム命令の送信元または宛先であり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の物理コンポーネントまたは媒体(たとえば、複数のCD、ディスク、フラッシュドライバ、または他の記憶デバイス)であり得るか、またはそれらに含まれ得る。
【0048】
本明細書で説明される動作は、1つまたは複数のコンピュータ可読記憶デバイス上に記憶されたまたは他のソースから受信されたデータに対してデータ処理装置によって実施される動作として実装され得る。
【0049】
「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、または上記の複数のものもしくは上記の組合せを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、当該のコンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングインフラストラクチャおよびグリッドコンピューティングインフラストラクチャなどの、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【0050】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイル型言語またはインタプリタ型言語、宣言型言語または手続き型言語を含む任意の形態のプログラミング言語で書かれることが可能であり、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境における使用に適した他のユニットとしてを含む任意の形態で展開されることが可能である。コンピュータプログラムは、そうである必要はないが、ファイルシステム内のファイルに対応し得る。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語文書に記憶された1つもしくは複数のスクリプト)を保持するファイルの一部分に、当該のプログラム専用の単一のファイルに、あるいは複数の協調ファイル(たとえば、1つもしくは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に配置されるかもしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。ユーザデバイスまたはサーバは、コンピュータであり得る。
【0051】
本明細書で説明されるプロセスおよび論理フローは、入力データを操作し、出力を生成することによってアクションを実施するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実施され得る。プロセスおよび論理フローはまた、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施され得、装置はまた、それらとして実装され得る。
【0052】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令に従ってアクションを実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つもしくは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、あるいは、これらからデータを受信することもしくはこれらにデータを転送することまたはその両方を行うために動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、ほんの数例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込まれ得る。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得るか、または専用論理回路に組み込まれ得る。
【0053】
ユーザとの対話を提供するために、本明細書で説明される主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)モニタ、OLED(有機発光ダイオード)モニタまたはLCD(液晶ディスプレイ)モニタと、ユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有する電子デバイス上で実装され得る。他の種類のデバイスも、ユーザとの対話を提供するために使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送り、そのデバイスから文書を受信することによって、たとえば、ユーザデバイス上のウェブブラウザから受信された要求に応答して、そのウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。
【0054】
本明細書で説明される主題の実施形態は、たとえばデータサーバとして、バックエンドコンポーネントを含むか、またはミドルウェアコンポーネント、たとえば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、たとえば、ユーザが本明細書で説明される主題の一実装形態と対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムにおいて実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形態の媒体、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【0055】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いから離れており、典型的には通信ネットワークを通じて対話する。たとえば、ユーザデバイスはクライアントであり得、デジタルコンテンツサーバまたはデジタルコンポーネントサーバはサーバであり得る。「ユーザデバイス」および「クライアントデバイス」という用語は、交換可能に使用され得る。クライアントとサーバの関係は、コンピュータプログラムがそれぞれのコンピュータ上で動作し、互いとのクライアント-サーバ関係を有することによって生じる。いくつかの実施形態では、サーバは、(たとえば、クライアントデバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信する目的で)データ(たとえば、HTMLページ)をクライアントデバイスに送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信され得る。
【0056】
本明細書は多くの特定の実装形態の詳細を含んでいるが、これらは、任意の発明の範囲または特許請求され得るものの範囲に対する制限として解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に特有の特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書で説明されるある特定の特徴はまた、単一の実施形態において組み合わせて実装され得る。逆に、単一の実施形態の文脈において説明される様々な特徴はまた、複数の実施形態において別々にまたは任意の適切な副組合せで実装され得る。さらに、特徴はある特定の組合せで働くものとして上記で説明されることがあり、そのようなものとして最初に特許請求されることさえあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除されることがあり、特許請求される組合せは、副組合せまたは副組合せの変形形態を対象とし得る。
【0057】
同様に、動作は特定の順序で図面に示されるが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序でもしくは逐次順序で実施されること、またはすべての示された動作が実施されることを必要とするものとして理解されるべきではない。ある特定の状況では、マルチタスクおよび並列処理が有利であり得る。さらに、上記で説明された実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは一般に、単一のソフトウェア製品に一緒に統合され得るか、または複数のソフトウェア製品にパッケージされ得ることが理解されるべきである。
【0058】
このように、主題の特定の実施形態について説明した。他の実施形態は以下の特許請求の範囲の範囲内に入る。場合によっては、特許請求の範囲において列挙されるアクションは、異なる順序で実施され、それでもやはり、望ましい結果を達成することができる。加えて、添付の図に示されるプロセスは、望ましい結果を達成するために、必ずしも示された特定の順序または逐次順序を必要とするとは限らない。ある特定の実装形態では、マルチタスクおよび並列処理が有利であり得る。
【符号の説明】
【0059】
100 システム
102 ネットワーク
104 デジタルコンポーネントサーバ
106 ユーザデバイス
108 デジタルコンテンツサーバ
110 デジタルコンテンツデータベース
112 デジタルコンポーネントデータベース
300 デジタルコンテンツ要求、データ構造
302 ソース
304 アプリケーション識別子
306 アプリケーションパラメータ値
308 属性1フィールド
400 ブロック図、プロセス
500 データ構造
502 フィールド
504 フィールド
506 フィールド
508 フィールド
702 画面
704 画面
706 画面
710 テキストデジタルコンポーネント
712 デジタルコンポーネントエリア、エリア
714 エリア