JP6766270B2 - カスタムデジタルコンポーネント - Google Patents

カスタムデジタルコンポーネント Download PDF

Info

Publication number
JP6766270B2
JP6766270B2 JP2019538637A JP2019538637A JP6766270B2 JP 6766270 B2 JP6766270 B2 JP 6766270B2 JP 2019538637 A JP2019538637 A JP 2019538637A JP 2019538637 A JP2019538637 A JP 2019538637A JP 6766270 B2 JP6766270 B2 JP 6766270B2
Authority
JP
Japan
Prior art keywords
digital component
sdk
request
response
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019538637A
Other languages
English (en)
Other versions
JP2020508505A (ja
Inventor
クリストファー・ドーソン
ハスケル・アーロン・ガロン
ジェームズ・ジャイルズ
ヴィシャル・ヴィレシュ・クマール
スティーヴン・リース・ノラム
ジョージ・ジェイコブ・レヴィット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2020508505A publication Critical patent/JP2020508505A/ja
Application granted granted Critical
Publication of JP6766270B2 publication Critical patent/JP6766270B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本明細書は、デジタルコンポーネントの処理に関する。
インターネットは、世界中のユーザ間の情報交換を促進する。この情報交換により、デジタルコンポーネントなどのコンテンツに対する要求の処理が可能になる。いくつかの状況では、コンテンツは、クライアントデバイスにおいてコンテンツをレンダリングするためにデマンドソースによって呼び出すことができる。
いくつかの実装形態では、本開示の方法は、クライアントデバイスにおいてデジタルコンポーネントをレンダリングするための要求を処理するステップを含む。たとえば、本方法は、クライアントデバイスにインストールされているソフトウェア開発キット(SDK)からデジタルコンポーネントに対する要求を受信するステップを含むことができる。SDKは、クライアントデバイスの特定のプラットフォーム用のアプリケーションの作成を可能にするソフトウェア開発ツールのセットである。SDKは、特定のプラットフォーム用のアプリケーションを構築するために、ソースコード、開発ツール、エミュレータ、ライブラリなどを含むことができる。クライアントデバイスにおいて要求を開始したアプリケーションを識別するために、1つまたは複数のサーバによって要求を検証することができる。サーバは、SDKからのデジタルコンポーネントに対する要求に基づいてリアルタイム要求を生成するように構成することができる。リアルタイム要求の各々は、識別されたアプリケーションにインストールされている他のSDKのセットなどの情報を含むことができる。リアルタイム要求は、クライアントデバイスからの初期要求の受信後の特定の時間内に第三者デジタルコンポーネントプロバイダに送信することができる。リアルタイム要求は、直列に、並列に、またはそれらの任意の組合せで、第三者デジタルコンポーネントプロバイダに送信することができる。さらに、初期要求は、デジタルコンポーネントがクライアントデバイスに提供されることが要求される時間量を示すことができる。デジタルコンポーネントに対するリアルタイム要求の第三者デジタルコンポーネントプロバイダへの送信に応答して、サーバは、第三者デジタルコンポーネントプロバイダからの応答を受信するように構成することができる。サーバはまた、クライアントデバイスからの初期要求を満たすためにクライアントデバイスに送信するために、特定の応答を選択するように構成することができる。特定の態様では、特定の応答は、デジタルコンポーネントと、デジタルコンポーネントをレンダリングするためにクライアントデバイスにインストールされた特定のSDKを指定する命令とを含むことができる。
本明細書に記載の主題の1つの革新的な態様は、クライアントデバイスから、クライアントデバイスにインストールされた第1のソフトウェア開発キット(SDK)によって生成されたデジタルコンポーネントに対する要求を受信するステップと、1つまたは複数のカスタムデジタルコンポーネントサーバによって、要求の1つまたは複数のデータフィールドを検証するステップであって、1つまたは複数のデータフィールド内で、クライアントデバイスにおいて要求を開始したアプリケーションを指定するアプリケーションデータを識別するステップを含む、ステップと、1つまたは複数のサーバによって、複数のリアルタイム要求を生成するステップであって、データ構造内のインストールされたSDKに対するアプリケーションデータのマッピングに基づいて、クライアントデバイスにおいて要求を開始したアプリケーションにインストールされているSDKのセットを識別するステップと、各リアルタイム要求に、クライアントデバイスにおいて要求を開始したアプリケーションにインストールされているSDKのセットを指定するデータを含めるステップとを含む、ステップと、1つまたは複数のサーバによってネットワークを介して、各リアルタイム要求を対応する第三者デジタルコンポーネントプロバイダに送信するステップと、1つまたは複数のサーバによって、対応する第三者デジタルコンポーネントプロバイダからの複数のリアルタイム要求に対する応答のセットを受信するステップと、1つまたは複数のサーバによって、デジタルコンポーネントに対する要求に応答してクライアントデバイスに送信するために、応答のセットから特定の応答を選択するステップと、1つまたは複数のサーバによって、クライアントデバイスにインストールされたどのSDKが特定の応答に含まれるデジタルコンポーネントをレンダリングするために必要であるかを指定する命令とともに特定の応答を第1のSDKに送信するステップと、
のアクションを含む方法において具現化される。
この態様および他の態様の他の実装形態は、コンピュータストレージデバイス上に符号化された、方法のアクションを実行するように構成された対応するシステム、装置、およびコンピュータプログラムを含む。
実装形態はそれぞれ、任意で、以下の特徴のうちの1つまたは複数を含み得る。たとえば、本方法は、1つまたは複数のデータフィールド内で、クライアントデバイスにインストールされた第2のSDKによって生成された、暗号化データを識別するステップを含むことができ、複数のリアルタイム要求を生成するときに、暗号化データが、第2のSDKによって生成された暗号化データを解読することを許可された第三者のうちの特定の第三者に送信されたリアルタイム要求のうちの特定のリアルタイム要求に含まれる。この場合、本方法はまた、暗号化データを解読することなしに、特定のリアルタイム要求を特定の第三者デジタルコンポーネントプロバイダに送信するステップを含むことができる。
本方法は、インストールされたSDKに対するアプリケーションデータのマッピングにアクセスするステップと、マッピング内で、アプリケーションデータにおいて指定されたアプリケーションと、要求を開始したアプリケーションのバージョンとを識別するステップと、アプリケーションにマッピングされたSDKのセットおよび要求を開始したアプリケーションのバージョンを識別するステップとをさらに含むことができる。この場合、本方法は、データ構造に記憶された応答ログから、アプリケーションのバージョンによって開始された以前の要求に応答してアプリケーションのバージョンに以前に提供された以前の応答を識別するステップと、以前の応答から、以前の応答において指定された複数の異なるSDKのセットを識別するステップと、複数の異なるSDKのセット内の各SDKをデータ構造内のアプリケーションのバージョンにマッピングするステップとをさらに含むことができる。
特定の態様では、本方法は、特定の応答に含まれるデジタルコンポーネントをレンダリングするためにアプリケーションプログラミングインターフェース(API)呼出しを指定する命令を送信するステップを含むことができる。本方法はまた、1つまたは複数のサーバによってネットワークを介して、各リアルタイム要求を対応する第三者デジタルコンポーネントプロバイダに送信するステップであって、暗号化データを解読することなしに、特定のリアルタイム要求を特定の第三者デジタルコンポーネントプロバイダに送信するステップを備える、ステップを含むことができる。いくつかの態様では、本方法は、カスタムデジタルコンポーネントの提示の制御を特定のSDKに提供するステップを含むことができる。
本方法は、各リアルタイム要求を対応する第三者デジタルコンポーネントプロバイダに送信するステップであって、第2のSDKによって生成された暗号化データを解読することを許可されていない第三者に特定のリアルタイム要求を送信しないステップを備える、ステップと、対応する第三者デジタルコンポーネントプロバイダから複数のリアルタイム要求に対する応答のセットを受信するステップであって、所与の応答に含まれる特定のデジタルコンポーネントをレンダリングするために必要とされる、第1のSDK以外の特定のSDKを指定するセット内の所与の応答を受信するステップを備える、ステップと、所与の応答を特定の応答として送信するステップであって、特定のSDKが、所与の応答に含まれる特定のデジタルコンポーネントをレンダリングするように要求される、ステップとをさらに含むことができる。
有利な実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。本方法は、デジタルコンポーネント要求が異なるネットワークに並列に送信されることを可能にし、それによって、リアルタイム入札の方法において1つのSDKを使用するのとは対照的に、複数のSDKがサポートされていることを確認しながら、クライアント側の仲介で発生する待ち時間を短縮する。言い換えれば、クライアントデバイスにおけるアプリケーションがデジタルコンポーネントに対する要求を発行するとき、複数の異なるSDKに関連付けられる第三者デジタルコンポーネントプロバイダからの要求に対する応答を受信することが望ましい場合がある。したがって、本方法は、クライアント側の仲介の特性を維持しながら、リアルタイム入札の利点を活用することによってデジタルコンポーネントに対する要求を処理するために使用することができる。さらに、カスタムデジタルコンポーネントなどのデジタルコンポーネントに対する並列呼出しを用いたリアルタイム入札を介して取引しながら、クライアントデバイスにおいてカスタマイズされた信号を収集し、カスタムデジタルコンポーネントをレンダリングするために、SDKを使用することができる。具体的には、アプリケーションがメディアコンテンツに対する要求を発行するとき、異なるSDKに関連付けられる第三者からデジタルコンポーネントの供給の申し出を受信することが望ましい。
本発明の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載されている。本発明の他の特徴および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
カスタムデジタルコンポーネントに対する要求が処理される例示的な環境のブロック図である。 カスタムデジタルコンポーネントを処理するための例示的なプロセスのフローチャートである。 要求のデータフィールドを検証するための例示的なプロセスのフローチャートである。 リアルタイム要求を生成するための例示的なプロセスのフローチャートである。 デジタルコンポーネントプロバイダとの例示的な通信を示すブロック図である。 例示的なコンピューティングシステムのブロック図である。
様々な図面における同様の参照番号および名称は、同様の要素を示す。
この文書は、デジタルコンポーネントに対する要求を処理し、ネットワークを介してその要求を満たすために特定の応答を選択するために使用される方法、システム、およびデバイスを開示している。以下により詳細に説明するように、第1のSDKはデジタルコンポーネントに対する要求を生成することができる。要求はサーバによって受信され、その要求に対応するアプリケーション、ならびにそのアプリケーションにおけるデジタルコンポーネントレンダリングをサポートすることができるSDKのリストを識別するために検証することができる。サーバによってリアルタイム要求を生成するために、要求、および要求から抽出された情報を使用することができる。リアルタイム要求は、複数の第三者デジタルコンポーネントプロバイダに送信することができる。サーバは、第三者デジタルコンポーネントプロバイダからのリアルタイム要求に対する応答を受信することができる。応答は、特定のSDKによるカスタムレンダリングを必要とするカスタムデジタルコンポーネントなどのデジタルコンポーネントを含むことができる。応答はサーバによって受信することができ、次いで、サーバは、初期要求を満たすために応答のうちの特定の応答を選択するように構成され得る。この場合、選択された応答は、指定されたSDKによって選択された応答に関連付けられる特定のデジタルコンポーネントをレンダリングするためにサーバからクライアントデバイスに送信され得る。
この文書を通して使用されているように、「デジタルコンポーネント」という語句は、デジタルコンテンツまたはデジタル情報の個別の単位(たとえば、ビデオクリップ、オーディオクリップ、マルチメディアクリップ、画像、テキスト、または別のコンテンツ単位)を指す。デジタルコンポーネントは、単一のファイルまたはファイルの集まりとして物理的メモリデバイスに電子的に記憶することができ、デジタルコンポーネントは、ビデオファイル、オーディオファイル、マルチメディアファイル、画像ファイル、またはテキストファイルの形態をとることができ、広告がデジタルコンポーネントの一種であるように、広告情報を含むことができる。一般に、デジタルコンポーネントは、単一のプロバイダまたはソース(たとえば、広告主、発行者、または他のコンポーネントプロバイダ)によって定義される(または、それらによって提供される)。デジタルコンポーネントは、デジタルコンポーネントプロバイダとは異なる電子文書プロバイダによって提供される電子文書に統合する(たとえば、その中に提示する)ことができる。
図1は、カスタムデジタルコンポーネントに対する要求が処理される例示的な環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの任意の組合せなどのネットワーク102を含む。ネットワーク102は、クライアントデバイス106、デジタルコンポーネントサーバ110、およびデジタルコンポーネントプロバイダ114を接続する。例示的な環境100は、多くの異なるクライアントデバイス106、デジタルコンポーネントサーバ110、およびデジタルコンポーネントプロバイダ114を含み得る。
クライアントデバイス106は、ネットワーク102を介してデジタルコンポーネントなどのリソースを要求および受信することができる電子デバイスである。例示的なクライアントデバイス106は、パーソナルコンピュータ、モバイル通信デバイス、およびネットワーク102を介してデータを送受信することができる他のデバイスを含む。クライアントデバイス106は通常、ネットワーク102を介したデータの送受信を促進するためにウェブブラウザなどのユーザアプリケーションを含むが、クライアントデバイス106によって実行されるネイティブアプリケーションもまた、ネットワーク102を介したデータの送受信を促進することができる。
クライアントデバイス106は、クライアントデバイス106の各々にインストールされた複数のSDKを含むことができる。SDKは、それぞれクライアントデバイス106の特定のプラットフォーム用のアプリケーションの作成を可能にするソフトウェア開発ツールのセットに対応することができる。SDKは、特定のプラットフォーム用のアプリケーションを構築するために、ソースコード、開発ツール、エミュレータ、ライブラリなどを含むことができる。SDKは、ネットワーク102を介してデジタルコンポーネントサーバ110に送信されるデジタルコンポーネント112に対する要求を生成するために使用することができる。たとえば、クライアントデバイス106は、カスタムデジタルコンポーネントに対する要求112を生成するために、クライアントデバイス106にインストールされた第1のSDKを使用することができる。
要求112は、デジタルコンポーネントプロバイダ114の名前(または、ネットワークの場所)、要求しているデバイス(たとえば、クライアントデバイス106)の名前(または、ネットワークの場所)、および/または、デジタルコンポーネントサーバ110が要求112に応答して提供されるべきデジタルコンポーネントを選択するために使用することができる情報などの特徴を指定するデータを含むことができる。要求112は、クライアントデバイス106によって、ネットワーク102(たとえば、電気通信ネットワーク)を介してデジタルコンポーネントサーバ110のうちの1つまたは複数に送信される。要求112はまた、要求112を開始したアプリケーションを示すアプリケーションデータ、ならびにクライアントデバイス106にインストールされているSDKのセットなどの、他の特徴を指定するデータを含むことができる。
1つまたは複数のデジタルコンポーネントサーバを含むデジタルコンポーネントサーバ110は、要求112の検証および/または要求112に含まれる情報の使用に応答して、デジタルコンポーネントに対する複数のリアルタイム要求117を生成する。たとえば、デジタルコンポーネントサーバ110は、要求112の1つまたは複数のデータフィールドを検証することができる。クライアントデバイス106において要求112を開始した特定のアプリケーションを指定するアプリケーションデータを識別するために、データフィールドを検証することができる。さらに、デジタルコンポーネントサーバ110は、データフィールドから抽出された情報を使用して複数のリアルタイム要求117を生成するように構成することができる。
いくつかの例では、デジタルコンポーネントサーバ110は、クライアントデバイス106において要求112を開始した特定のアプリケーションにインストールされているSDKのセットを識別するように構成することができる。具体的には、デジタルコンポーネントサーバ110は、データ構造内のインストールされたSDKに対するアプリケーションデータのマッピングに基づいてSDKのセットを識別することができる。たとえば、デジタルコンポーネントサーバ110は、アプリケーションデータを特定のSDKに編成するデータ構造に基づいて、インストールされたSDKのセットを識別するように構成することができる。具体的には、データ構造は、クライアントデバイス106において様々なアプリケーションにインストールされている、インストールされたSDKに対するアプリケーションデータのマッピングを記憶することができる。したがって、デジタルコンポーネントサーバ110が要求112に基づいてアプリケーションデータを識別すると、デジタルコンポーネントサーバ110は、アプリケーションデータを特定のSDKにマッピングするために、ルックアップテーブルなどのデータ構造を使用することができる。
アプリケーションデータが特定のSDKにマッピングされると、デジタルコンポーネントサーバ110は、どのSDKがクライアントデバイス106において1つまたは複数のアプリケーションにインストールされているかを識別することができる。デジタルコンポーネントサーバ110はまた、識別された、インストールされたSDKのセットを指定するデータをリアルタイム要求117に含むように構成することができる。いくつかの態様では、データ構造は、初期要求112の前に定義され、デジタルコンポーネントサーバ110によってアクセスされる、あらかじめ定められたデータ構造であり得る。他の態様では、デジタルコンポーネントサーバ110は、指定されたSDKおよびアプリケーションに対するアプリケーションデータのマッピングを使用してデータ構造を生成するように構成することができる。
図1に示されるように、デジタルコンポーネントサーバ110は、ネットワーク102を介してリアルタイム要求117をデジタルコンポーネントプロバイダ114に送信するようにさらに構成することができる。たとえば、デジタルコンポーネントサーバ110は、3つのリアルタイム要求117a〜cを生成し、リアルタイム要求117a〜cの各々を特定のデジタルコンポーネントプロバイダ114a〜cに並列に送信し得る。この場合、第1のリアルタイム要求117aは第1のデジタルコンポーネントプロバイダ114aに送信され得、第2のリアルタイム要求117bは第2のデジタルコンポーネントプロバイダ114bに送信され得、第3のリアルタイム要求117cはデジタルコンポーネントプロバイダ114cに提供され得る。特定の態様では、単一のリアルタイム要求117が複数の異なるデジタルコンポーネントプロバイダ114に送信される。たとえば、第1のリアルタイム要求117aは、第1のデジタルコンポーネントプロバイダ114a、第2のデジタルコンポーネントプロバイダ114b、および第3のデジタルコンポーネントプロバイダ114cに並列に送信され得る。この場合、第1のリアルタイム要求117aなどの単一のリアルタイム要求117は、デジタルコンポーネントをレンダリングするためにデジタルコンポーネントプロバイダ114の各々から入札を受信するために、複数のデジタルコンポーネントプロバイダ114に送信され得る。初期要求117は、あらかじめ定められた期間内に提供されるべき応答を要求し得る。デジタルコンポーネントプロバイダ114の各々は、特定のデジタルコンポーネントに対する入札を含む応答118を要求117に提供し得る。したがって、応答118に対するあらかじめ定められた期間内の最高入札者に関連付けられるデジタルコンポーネントを迅速に受信するために、単一の要求117を複数のデジタルコンポーネントプロバイダ114に提供し得る。特定の態様では、要求117に対する応答118は、デジタルコンポーネントマークアップまたはデジタルコンポーネントマークアップに対するリンクなどの、レンダリングされるべきデジタルコンポーネントを任意で、または追加的に含み得る。
デジタルコンポーネントプロバイダ114は、第三者デジタルコンポーネントプロバイダなどの1つまたは複数のデジタルコンポーネントプロバイダを含むことができる。デジタルコンポーネントプロバイダ114a〜cは、リアルタイム要求117に対する応答118a〜cを生成するように構成することができる。応答118は、クライアントデバイス106においてレンダリングするためのデジタルコンポーネントを含むことができる。いくつかの態様では、応答118は、クライアントデバイス106においてレンダリングするための1つまたは複数の潜在的なデジタルコンポーネントを含むことができる。応答118のデジタルコンポーネントはまた、カスタムデジタルデジタルコンポーネントを含むことができる。カスタムデジタルコンポーネント(たとえば、カスタム広告)は、クライアントデバイス106にインストールされた特定のSDKによってレンダリングされ得るカスタムクリエイティブフォーマットを含むことができる。したがって、応答118に含まれるカスタムデジタルコンポーネントは、カスタムデジタルコンポーネントが、元の要求112を生成した第1のSDK以外のSDKによってレンダリングされる必要があることを示し得る。
応答118は、ネットワーク102を介してデジタルコンポーネントサーバ110によって受信することができる。デジタルコンポーネントサーバ110は、デジタルコンポーネントに対する要求112を満たすために特定の応答を選択するように構成することができる。たとえば、デジタルコンポーネントサーバ110は、リアルタイム要求117a〜cに応答する3つの応答118a〜cを受信することができる。3つの応答118a〜cのうちの特定の応答は、デジタルコンポーネントに対する初期要求112に応答してクライアントデバイス106に送信するためにデジタルコンポーネントサーバ110によって選択することができる。いくつかの態様では、特定の応答は、応答118a〜cの各々に関連付けられる入札に基づいてデジタルコンポーネントサーバ110によって選択され得る。他の態様では、特定の応答は、要求112の指定されたデジタルコンポーネントの特徴に基づいて選択され得る。
選択された応答は、ネットワーク102を介してデジタルコンポーネントサーバ110からクライアントデバイス106に送信することができる。選択された応答は、デジタルコンポーネントに対する初期要求112に対する返信120として送信することができる。特定の態様では、返信120は、要求112を生成した第1のSDKに送信することができる。返信120は、返信120に含まれるデジタルコンポーネントをレンダリングするために必要とされる、第1のSDK以外の、クライアントデバイス106にインストールされたSDKを指定する命令を含むことができる。
いくつかの態様では、クライアントデバイス106は、返信120に含まれる命令を実行する。たとえば、命令は、返信120に含まれる特定のデジタルコンポーネントのレンダリングを構成および有効にするためにクライアントデバイス106によって使用することができる。別の例では、クライアントデバイス106が対応するデジタルコンポーネントプロバイダ114から特定のデジタルコンポーネントを取得するように構成および有効にするために命令を使用することができる。たとえば、返信120内の命令は、デジタルコンポーネントプロバイダ114から特定のデジタルコンポーネントを取得するために、ネットワーク位置(たとえば、ユニフォームリソースロケータ(URL))、およびクライアントデバイス106にサーバ要求(SR)121を対応するデジタルコンポーネントプロバイダ114に送信させるスクリプトを含むことができる。要求121に応答して、デジタルコンポーネントプロバイダ114は、サーバ要求121において指定された特定のデジタルコンポーネントを識別し、クライアントデバイス106へのレンダリングのために特定のデジタルコンポーネントを送信するデジタルコンポーネントデータ(DCデータ)122をクライアントデバイス106に送信することができる。
図2は、カスタムデジタルコンポーネントを処理するための例示的なプロセス200のフローチャートである。プロセス200は、1つまたは複数のサーバあるいは他のコンピューティングデバイスによって実行することができる。たとえば、プロセス200の動作は、図1のデジタルコンポーネントサーバ110によって実行することができる。プロセス200の動作はまた、非一時的コンピュータ可読媒体に記憶された命令として実装することもでき、命令が1つまたは複数のサーバ(または、他のコンピューティングデバイス)によって実行されると、命令は、1つまたは複数のサーバにプロセス200の動作を実行させる。
ステップ202において、デジタルコンポーネントサーバは、クライアントデバイスにインストールされた第1のSDKによって生成されたデジタルコンポーネントに対する要求を受信する。デジタルコンポーネントに対する要求は、デジタルコンポーネントプロバイダの名前(または、ネットワークの場所)、要求しているデバイス(たとえば、クライアントデバイス)の名前(または、ネットワークの場所)、および/または、デジタルコンポーネントサーバが、要求に応答して提供されるべきデジタルコンポーネントを選択するために使用することができる情報などの特徴を指定するデータを含むことができる。要求は、ネットワーク(たとえば、電気通信ネットワーク)を介してデジタルコンポーネントサーバのうちの1つまたは複数によって受信される。要求はまた、要求を開始したアプリケーションを指定するアプリケーションデータ、ならびにクライアントデバイスにインストールされているSDKのセットなどの、他の特徴を示すデータを含むことができる。
ステップ204において、デジタルコンポーネントサーバは要求のデータフィールドを検証する。デジタルコンポーネントサーバは、要求の1つまたは複数のデータフィールドを検証することができる。データフィールドはそれぞれ、整数、文字列、日付などの異なる種類のデータを含むことができる。いくつかの態様では、デジタルコンポーネントサーバは、要求の暗号化データを識別するために、要求のデータフィールドを検証するように構成される。暗号化データは、クライアントデバイスにインストールされた第2のSDKによって生成されたものとして識別することができる。暗号化データは、以前にレンダリングされたデジタルコンポーネント(たとえば、第2のSDKによって、または第2のSDKを含むアプリケーション内で以前にレンダリングされた)に対応する独自の信号(たとえば、第2のSDKのプロバイダ独自の)を含むことができる。以前にレンダリングされたデジタルコンポーネントは、クライアントデバイスにインストールされた特定のSDKによってレンダリングすることができる。SDKを表す情報は、複数の異なるSDKと、異なるSDKに対応する複数の異なるバージョンのアプリケーションとを含むことができる。さらに、暗号化データは、クライアントデバイスに特有のデータを含むことができる。たとえば、暗号化データは、クライアントデバイスの向きを表す加速度計データ、クライアントデバイスの動きを表す加速度計データ、クライアントデバイスの地理的位置を表す位置信号などを含むことができる。
ステップ206において、デジタルコンポーネントサーバは、要求のデータフィールドの検証に基づいて複数のリアルタイム要求を生成する。リアルタイム要求は、1つまたは複数のデジタルコンポーネントに対する要求を含むことができる。デジタルコンポーネントサーバは、識別された、インストールされたSDKのセットを指定するデータをリアルタイム要求に含むように構成することができる。サーバは、SDKからのデジタルコンポーネントに対する要求に基づいてリアルタイム要求を生成するように構成することができる。リアルタイム要求の各々は、識別されたアプリケーションにインストールされている他のSDKのセットなどの情報を含むことができる。
いくつかの態様では、暗号化データはリアルタイム要求に含まれている。暗号化データは、デジタルコンポーネントプロバイダへの送信に備えてリアルタイム要求のうちの1つまたは複数に含めることができる。暗号化データは、特定のデジタルコンポーネントプロバイダへの送信に備えて特定のリアルタイム要求に含めることができる。特定のデジタルコンポーネントプロバイダは、暗号化データを解読することを許可されたデジタルコンポーネントプロバイダであり得る。暗号化データは、リアルタイム要求に含めることができるが、デジタルコンポーネントサーバから機密のままにされ、許可されたデジタルコンポーネントプロバイダによってのみ解読される。たとえば、暗号化データはすべてのリアルタイム要求に含まれ、キーを使用して許可されたデジタルコンポーネントプロバイダによってのみ解読され得る。
ステップ208において、デジタルコンポーネントサーバは、各リアルタイム要求を対応するデジタルコンポーネントプロバイダに送信する。たとえば、デジタルコンポーネントプロバイダは、第三者コンポーネントプロバイダであり得る。デジタルコンポーネントサーバは、ネットワークを介してリアルタイム要求をデジタルコンポーネントプロバイダに送信するように構成することができる。たとえば、デジタルコンポーネントサーバは、3つのリアルタイム要求を生成し、リアルタイム要求の各々を3つの特定のデジタルコンポーネントプロバイダのうちの1つに送信し得る。リアルタイム要求は、クライアントデバイスからの初期要求の受信後の特定の時間内にデジタルコンポーネントプロバイダに送信することができる。リアルタイム要求は、直列に、並列に、またはそれらの任意の組合せで、第三者デジタルコンポーネントプロバイダに送信することができる。さらに、初期要求は、デジタルコンポーネントがクライアントデバイスにデジタルコンポーネントサーバによって提供されることが要求される時間量を示すことができる。
リアルタイム要求は暗号化データを含むことができる。たとえば、暗号化データを含むリアルタイム要求は、デジタルコンポーネントサーバによって生成され、暗号化データを解読することなしに、許可されたデジタルコンポーネントサーバに送信され得る。したがって、デジタルコンポーネントサーバは、リアルタイム要求に含まれる暗号化データの機密性を損なうことなしに、リアルタイム要求を準備し、リアルタイム要求をデジタルコンポーネントプロバイダに向けるように構成することができる。さらに、デジタルコンポーネントサーバは、暗号化データを含むリアルタイム要求を許可されたデジタルコンポーネントプロバイダのみに送信するように構成することができる。
ステップ210において、デジタルコンポーネントサーバは、対応する第三者デジタルコンポーネントプロバイダから複数のリアルタイム要求に対する応答のセットを受信する。たとえば、各第三者デジタルコンポーネントプロバイダは、デジタルコンポーネントサーバに応答を提供することができる。応答はそれぞれ、クライアントデバイスにおいてレンダリングするためのデジタルコンポーネントを含むことができる。いくつかの態様では、応答は、クライアントデバイスにおいてレンダリングするための1つまたは複数の潜在的なデジタルコンポーネントを含むことができる。応答のデジタルコンポーネントは、カスタムデジタルデジタルコンポーネントを含むことができる。カスタムデジタルコンポーネントは、クライアントデバイスにおいて特定のSDKによってレンダリングされ得るカスタムクリエイティブフォーマットを含むことができる。したがって、応答に含まれるカスタムデジタルコンポーネントは、カスタムデジタルコンポーネントが、元の要求を生成した第1のSDK以外のSDKによってレンダリングされる必要があることを示し得る。
ステップ212において、デジタルコンポーネントサーバは、デジタルコンポーネントに対する要求に応答してクライアントデバイスに送信するために、応答のセットから特定の応答を選択する。たとえば、デジタルコンポーネントサーバは、リアルタイム要求に応答する3つの応答を受信し得る。3つの応答のうちの特定の応答は、クライアントデバイスに送信するためにデジタルコンポーネントサーバによって選択することができる。いくつかの態様では、特定の応答は、応答の各々に関連付けられる選択スコア(たとえば、入札、または複数の異なる利用可能なデジタルコンポーネントの中からデジタルコンポーネントをランク付けおよび/または選択するために使用することができる他の何らかの値)に基づいてデジタルコンポーネントサーバによって選択され得る。この場合、特定の応答は、受信されたすべての選択スコアのうち最も高い選択スコアに対応し得る。特定の態様では、特定の応答は、要求の指定されたデジタルコンポーネントの特徴に基づいて選択され得る。この場合、特定の応答は、クライアントデバイスからの初期要求の基準のすべてを満たすデジタルコンポーネントを含み得る。
ステップ214において、デジタルコンポーネントサーバは、クライアントデバイスにインストールされたどのSDKが特定の応答に含まれるデジタルコンポーネントをレンダリングするために必要であるかを指定する命令とともに特定の応答を第1のSDKに送信する。選択された応答は、ネットワークを介してデジタルコンポーネントサーバからクライアントデバイスに送信することができる。選択された応答は、デジタルコンポーネントに対する初期要求に対する返信として送信することができる。特定の態様では、特定の応答は、要求を生成した第1のSDKに送信することができる。特定の応答は、第1のSDK以外のSDKが、特定の応答に含まれるデジタルコンポーネントをレンダリングするために必要であることを指定する命令を含むことができる。この場合、第1のSDK以外のSDKは、特定のSDKでもよく、元の要求を生成した第1のSDKとは単に異なるSDKでもよい。
特定の態様では、命令は、特定の応答に含まれるデジタルコンポーネントをレンダリングするためにアプリケーションプログラミングインターフェース(API)呼出しを指定することができる。API呼出しは、クライアントデバイスにおいて特定のSDKによって実装することができる。API呼出しは、アプリケーションがタスクを実行するために呼び出す特定の動作のセットを含むことができる。そのため、API呼出しは、クライアントデバイスにおけるアプリケーションの特定のSDKを介してデジタルコンポーネントをレンダリングするために動作のセットを含むことができる。
いくつかの態様では、命令は特定のSDKに対するデジタルコンポーネントの提示の制御を提供することができる。言い換えれば、特定のSDKは、クライアントデバイスにおいてデジタルコンポーネントのレンダリングを実行するように構成することができる(たとえば、特定のSDKが有するが、クライアントデバイスにインストールされている他のSDKが有していない可能性があるレンダリング機能を使用して)。
図3は、デジタルコンポーネントの要求のデータフィールドを検証するための例示的なプロセスのフローチャートである。プロセス300は、プロセス200のステップ204のためのサブプロセスを含むことができる。プロセス300は、1つまたは複数のサーバあるいは他のコンピューティングデバイスによって実行することができる。たとえば、プロセス300の動作は、図1のデジタルコンポーネントサーバ110によって実行することができる。プロセス300の動作はまた、非一時的コンピュータ可読媒体に記憶された命令として実装することもでき、命令が1つまたは複数のサーバ(または、他のコンピューティングデバイス)によって実行されると、命令は、1つまたは複数のサーバにプロセス300の動作を実行させる。
ステップ302において、デジタルコンポーネントサーバは、データフィールド内で要求を開始したアプリケーションを指定するアプリケーションデータを識別する。具体的には、クライアントデバイスにおいて要求を開始した特定のアプリケーションを指定するアプリケーションデータを識別するために、データフィールドを検証することができる。データフィールドは、データフィールドの内容、ならびに要求に含まれるデータフィールドの種類に基づいて特定のアプリケーションに対応することができる。
ステップ304において、デジタルコンポーネントサーバは、要求の暗号化データを識別するために、要求のデータフィールドを検証するように構成される。暗号化データは、クライアントデバイスにインストールされた第2のSDKによって生成されたものとして識別することができる。暗号化データは、以前にレンダリングされたデジタルコンポーネントに対応する独自の信号を含むことができる。以前にレンダリングされたデジタルコンポーネントは、クライアントデバイスにインストールされた特定のSDKによってレンダリングすることができる。そのため、デジタルコンポーネントをレンダリングするために以前に使用されたSDKを表す情報も、暗号化データに含めることができる。SDKを表す情報は、複数の異なるSDKと、異なるSDKに対応する複数の異なるバージョンのアプリケーションとを含むことができる。さらに、暗号化データは、クライアントデバイスに特有のデータを含むことができる。たとえば、暗号化データは、クライアントデバイスの向きを表す加速度計データ、クライアントデバイスの動きを表す加速度計データ、クライアントデバイスの地理的位置を表す位置信号などを含むことができる。
図4は、リアルタイム要求を生成するための例示的なプロセスのフローチャートである。プロセス400は、プロセス200のステップ206のためのサブプロセスを含むことができる。プロセス400は、1つまたは複数のサーバあるいは他のコンピューティングデバイスによって実行することができる。たとえば、プロセス400の動作は、図1のデジタルコンポーネントサーバ110によって実行することができる。プロセス400の動作はまた、非一時的コンピュータ可読媒体に記憶された命令として実装することもでき、命令が1つまたは複数のサーバ(または、他のコンピューティングデバイス)によって実行されると、命令は、1つまたは複数のサーバにプロセス400の動作を実行させる。
ステップ402において、デジタルコンポーネントサーバは、クライアントデバイスにおいて要求を開始した特定のアプリケーションにインストールされているSDKのセットを識別する。具体的には、デジタルコンポーネントサーバは、データ構造内のインストールされたSDKに対するアプリケーションデータのマッピングに基づいてSDKのセットを識別することができる。いくつかの態様では、デジタルコンポーネントサーバは、インストールされているSDKに対するアプリケーションデータのマッピングにアクセスするように構成することができる。デジタルコンポーネントサーバは、アプリケーションデータのマッピング内で、アプリケーションデータにおいて指定されたアプリケーションと、要求を開始したアプリケーションのバージョンとを識別するようにさらに構成することができる。この場合、デジタルコンポーネントサーバは、アプリケーションにマッピングされたSDKのセットと、デジタルコンポーネントに対する初期要求を開始したアプリケーションのバージョンとを識別し得る。
たとえば、デジタルコンポーネントサーバは、アプリケーションデータを特定のSDKに分類するあらかじめ定められたデータ構造に基づいてインストールされたSDKのセットを識別するように構成することができる。したがって、デジタルコンポーネントサーバが要求に基づいてアプリケーションデータを識別すると、デジタルコンポーネントサーバは、アプリケーションデータを特定のSDKにマッピングするために、ルックアップテーブルなどのデータ構造を使用することができる。アプリケーションデータが特定のSDKにマッピングされると、デジタルコンポーネントサーバは、どのSDKがクライアントデバイスにおいてアプリケーションにインストールされているかを識別することができる。デジタルコンポーネントサーバは、識別された、インストールされたSDKのセットを指定するデータをリアルタイム要求に含むように構成することができる。
いくつかの態様では、デジタルコンポーネントサーバは、インストールされたSDKに対するアプリケーションデータのマッピングを生成するように構成することができる。この場合、デジタルコンポーネントサーバは、アプリケーションの特定のバージョンによって開始された以前の要求に応答して、アプリケーションの特定のバージョンに以前に提供された以前の応答を識別し得る。以前の応答は、データ構造に記憶されている応答ログから識別され得る。デジタルコンポーネントサーバは、以前の応答において指定された複数の異なるSDKのセットを識別するように構成することができる。さらに、デジタルコンポーネントサーバは、複数のSDKのセット内の各SDKをデータ構造内のアプリケーションの特定のバージョンにマッピングするように構成することができる。
ステップ404において、デジタルコンポーネントサーバは、各リアルタイム要求において、クライアントデバイスにおいて要求を開始したアプリケーションにインストールされているSDKのセットを指定するデータを含む。リアルタイム要求は互いに独立していてもよい。この場合、各リアルタイム要求は特定のデジタルコンポーネントプロバイダに対応し得る。リアルタイム要求は、クライアントデバイスにおいて要求を開始したアプリケーションにインストールされているSDKのセットに基づいて特定のデジタルコンポーネントプロバイダに送信され得る。
ステップ406において、デジタルコンポーネントサーバは、第2のSDKによって生成された暗号化データを解読することを許可された特定のデジタルコンポーネントプロバイダへの特定のリアルタイム要求に暗号化データを含める。暗号化データは、1つまたは複数のリアルタイム要求に含まれ得る。暗号化データは、許可されたデジタルコンポーネントプロバイダの各々に対して同じであり得る。他の態様では、データが対応する特定のデジタルコンポーネントプロバイダだけが解読できるように、暗号化データは各デジタルコンポーネントプロバイダの各々に限定的であり得る。
図5は、デジタルコンポーネントプロバイダとの例示的な通信を示すブロック図である。図5のイベント(A)に示されるように、クライアントデバイス510は、デジタルコンポーネントに対する要求515をデジタルコンポーネントサーバ520に提出することができる。要求515は、カスタムデジタルコンポーネントに対する要求であり得る。要求515は、クライアントデバイス510の特定のアプリケーションによって開始され、クライアントデバイス510にインストールされた第1のSDKによって生成され得る。第1のSDKは、クライアントデバイス510にインストールされた複数のSDKのうちの1つであり得、アプリケーションは、クライアントデバイス510にインストールされた複数のアプリケーションのうちの1つであり得る。
イベント(B)において、デジタルコンポーネントサーバ520は要求515を受信し、要求515の受信に応答して複数のリアルタイム要求526を生成する。デジタルコンポーネントサーバ520は、要求515の内容、ならびにクライアントデバイス510に関する情報を決定するために、要求515のデータフィールドを検証することができる。デジタルコンポーネントサーバ520は、要求515を検証することによってアプリケーションデータ521を識別するように構成することができる。アプリケーションデータ521は、要求515を開始した特定のアプリケーションを識別するために、デジタルコンポーネントサーバ520によって使用することができる。アプリケーションデータ521は、デジタルコンポーネントサーバ520によって、クライアントデバイス510にインストールされたSDK522のセットを識別するためにさらに使用することができる。
デジタルコンポーネントサーバ520は、クライアントデバイス510によって生成された要求515の代わりに複数のリアルタイム要求526を生成し得る。この場合、デジタルコンポーネントサーバ520は、クライアントデバイス510に代わって複数のリアルタイム要求526を生成するように構成することができる。
特定の態様では、デジタルコンポーネントサーバ520は、クライアントデバイス510にインストールされた第2のSDKによって生成された暗号化データを識別するために、要求515を検証することができる。暗号化データは、以前の要求515、以前にレンダリングされたデジタルコンポーネント、デジタルコンポーネントをレンダリングするために使用されるSDK、要求515が生成される時点で収集されたデータ、リアルタイム要求526が生成される時点で収集されたデータなどに対応することができる。
デジタルコンポーネントサーバ520は、デジタルコンポーネントプロバイダ530に提供するために1つまたは複数のリアルタイム要求526を生成するように構成することができる。いくつかの態様では、リアルタイム要求526は特定のデジタルコンポーネントプロバイダ530a〜nに対して指定される。この場合、リアルタイム要求526は、特定のデジタルコンポーネントプロバイダ530a〜nによって解読されることを許可された暗号化データ523a〜nを含み得る。そのため、デジタルコンポーネントサーバ520は、選択されたデジタルコンポーネントプロバイダ530a〜nに対応する暗号化データ523a〜nをそれぞれ含む複数のリアルタイム要求526を生成し得る。
デジタルコンポーネントサーバ520は、デジタルコンポーネントに対する要求を受信し処理する1つまたは複数のサーバを含むことができる。たとえば、デジタルコンポーネントサーバ520は、デジタルコンポーネントに対する要求を受信するフロントエンドサーバと、デジタルコンポーネントに対する要求を処理するように構成された別のサーバとを含むことができる。この場合、フロントエンドサーバと別のサーバは、ネットワークを介して通信する別々のデバイスとして実装することができる。当業者によって認識されるように、フロントエンドサーバおよび別のサーバは、単一のデジタルコンポーネントサーバ520などの単一のハードウェアデバイスとして統合することができる。
イベント(C)において、デジタルコンポーネントプロバイダ530は、リアルタイム要求526を受信し、リアルタイム要求526に対する応答535を提供する。デジタルコンポーネントプロバイダ530は、リアルタイム要求526に対する応答535としてデジタルコンポーネントを提供するように構成することができる。たとえば、各デジタルコンポーネントプロバイダ530a〜nは、リアルタイム要求526を受信し、クライアントデバイス510においてレンダリングするためのデジタルコンポーネントを含む応答535をデジタルコンポーネントサーバ520に提供し得る。
いくつかの態様では、デジタルコンポーネントプロバイダ530は、リアルタイム要求526に含まれる暗号化データ523a〜nを受信する。暗号化データ523a〜nは、許可されたデジタルコンポーネントプロバイダによって解読することができる。この場合、デジタルコンポーネントプロバイダ530は、リアルタイム要求526に対する応答535を提供するかどうか、応答535に関連付ける入札価格、応答535においてどのデジタルコンポーネントを返すべきかなどを決定するために、解読データ532a〜nを使用し得る。したがって、許可されたデジタルコンポーネントプロバイダは、各許可されたデジタルコンポーネントプロバイダが解読した解読データ532a〜nを使用してリアルタイム要求526に対する応答535を生成し、応答535をデジタルコンポーネントサーバ520に提供するように構成することができる。
イベント(D)において、デジタルコンポーネントサーバ520は、デジタルコンポーネントプロバイダ530からの応答535を受信し、クライアントデバイス510に送信するために特定の応答を選択する。デジタルコンポーネントサーバ520は、クライアントデバイス510にインストールされているSDKによるレンダリングのために特定の応答を選択することができる。いくつかの態様では、特定の応答は、応答535の各々に関連付けられる入札に基づいてデジタルコンポーネントサーバ520によって選択され得る。他の態様では、特定の応答は、初期要求515の指定されたデジタルコンポーネントの特徴に基づいて選択され得る。
選択された応答は、デジタルコンポーネントデータ528として、デジタルコンポーネントサーバ520からクライアントデバイス510に送信することができる。デジタルコンポーネントデータ528は、デジタルコンポーネントに対する初期要求515に対する返信として提供することができる。特定の態様では、デジタルコンポーネントデータ528は、クライアントデバイス510において要求515を生成した第1のSDKに送信することができる。デジタルコンポーネントデータ528は、デジタルコンポーネントデータ528に対応するデジタルコンポーネントをレンダリングするために必要とされる、第1のSDK以外の、クライアントデバイス510にインストールされた別のSDKを指定する命令を含むことができる。
図6は、上述の動作を実行するために使用することができる例示的なコンピューティングシステム600のブロック図である。システム600は、プロセッサ610、メモリ620、ストレージデバイス630、および入力/出力デバイス640を含む。コンポーネント610、620、630、および640の各々は、たとえばシステムバス650を使用して相互接続することができる。プロセッサ610は、システム600内で実行するための命令を処理することができる。一実装形態では、プロセッサ610はシングルスレッドプロセッサである。別の実施形態では、プロセッサ610はマルチスレッドプロセッサである。プロセッサ610は、メモリ620またはストレージデバイス630に記憶されている命令を処理することができる。
メモリ620は、システム600内に情報を記憶する。一実装形態では、メモリ620はコンピュータ可読媒体である。一実装形態では、メモリ620は揮発性メモリユニットである。別の実装形態では、メモリ620は不揮発性メモリユニットである。
ストレージデバイス630は、システム600に大容量ストレージデバイスを提供することができる。一実装形態では、ストレージデバイス630はコンピュータ可読媒体である。様々な異なる実装形態では、ストレージデバイス630は、たとえば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイスによってネットワークを介して共有されるストレージデバイス(たとえば、クラウドストレージデバイス)、または他の何らかの大容量ストレージデバイスを含むことができる。
入力/出力デバイス640は、システム600に入力/出力動作を提供する。一実装形態では、入力/出力デバイス640は、1つまたは複数のネットワークインターフェースデバイス、たとえばイーサネット(登録商標)カード、シリアル通信デバイス、たとえばRS-232ポート、および/またはワイヤレスインターフェースデバイス、たとえば802.11カードを含むことができる。別の実装形態では、入力/出力デバイスは、入力データを受信し、出力データを他の入力/出力デバイス、たとえばキーボード、プリンタ、およびディスプレイデバイス560に送信するように構成されたドライバデバイスを含むことができる。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビジョンクライアントデバイスなどの他の実装形態も使用することができる。
例示的な処理システムが図6に記載されているが、本明細書に記載の主題の実装形態および機能動作は、本明細書に開示されている構造およびそれらの構造上の均等物を含む他の種類のデジタル電子回路、あるいはコンピュータソフトウェア、ファームウェア、またはハードウェア、あるいはそれらの1つまたは複数の組合せにおいて実装することができる。
電子文書はファイルに対応していてもよいが、そうである必要はない。文書は、他の文書を保持するファイルの一部、問題の文書専用の単一のファイル、または複数の調整ファイルに記憶され得る。
いくつかの実装形態を説明した。それにもかかわらず、本開示の趣旨および範囲から逸脱することなしに様々な修正がなされ得ることが理解されるであろう。たとえば、ステップが順序を変えられ、追加され、または削除されたりして、上記に示される様々な形式のフローが使用され得る。
本発明の実施形態および本明細書に説明のすべての機能動作は、本明細書に開示されている構造およびそれらの構造上の均等物を含むデジタル電子回路、あるいはコンピュータソフトウェア、ファームウェア、またはハードウェア、あるいはそれらの1つまたは複数の組合せにおいて実装することができる。本発明の実施形態は、1つまたは複数のコンピュータプログラム製品、たとえばデータ処理装置による実行のための、またはデータ処理装置の動作を制御するためのコンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。コンピュータ可読媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、メモリデバイス、機械可読伝搬信号に影響を与える組成物、あるいはそれらの1つまたは複数の組合せであり得る。「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、あるいは複数のプロセッサまたはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組合せを構成するコードを含むことができる。伝搬信号は人工的に生成された信号、たとえば適切な受信装置への送信のために情報を符号化するために生成された機械的に生成された電気的、光学的、または電磁気的信号である。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語を含む任意の形式のプログラミング言語で記述でき、スタンドアロンプログラムとして、あるいはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適した他のユニットとして、を含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するわけではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(たとえば、マークアップ言語文書に記憶されている1つまたは複数のスクリプト)、問題のプログラム専用の単一のファイル、または複数の調整ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、あるいはコードの一部を記憶するファイル)に記憶することができる。コンピュータプログラムは、1つのサイトに配置されているか、または複数のサイトにわたって分散され、通信ネットワークによって相互接続されている、1つのコンピュータまたは複数のコンピュータ上で実行されるように展開することができる。
本明細書で説明されるプロセスおよび論理フローは、入力データを操作して出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローはまた、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によって実行することもでき、装置はそれらとして実装することもできる。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読出し専用メモリ、ランダムアクセスメモリ、またはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量ストレージデバイス、たとえば磁気ディスク、光磁気ディスク、または光ディスクを含むか、そこからデータを受信するか、またはそれらにデータを転送するように、またはその両方のために動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、ほんの数例を挙げると、コンピュータを別のデバイス、たとえばタブレットコンピュータ、モバイル電話、携帯情報端末(PDA)、モバイルオーディオプレーヤ、全地球測位システム(GPS)受信機に組み込むことができる。コンピュータプログラム命令およびデータを記憶するために適したコンピュータ可読媒体は、例として半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完されるか、またはその中に組み込まれ得る。
ユーザとの対話を可能にするために、本発明の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、たとえばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを有するコンピュータ上で実装することができる。ユーザとの対話を提供するために、他の種類のデバイスも使用することができる。たとえば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなどの任意の形態の感覚的フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信することができる。
本発明の実施形態は、たとえばデータサーバとしてのバックエンドコンポーネントを含むか、あるいはたとえばアプリケーションサーバなどのミドルウェアコンポーネントを含むか、あるいはユーザが本発明の実装形態と対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネントを含むコンピューティングシステムにおいて、あるいは、1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せにおいて実装することができる。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、たとえば通信ネットワークによって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、たとえばインターネットを含む。
コンピューティングシステムはクライアントとサーバを含むことができる。クライアントとサーバは一般に互いに離れており、通常は通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
本明細書は多くの詳細を含むが、これらは本発明の範囲または特許請求され得るものに対する限定として解釈されるべきではなく、むしろ本発明の特定の実施形態に特有の特徴の説明として解釈されるべきである。本明細書において別々の実施形態の文脈で説明されている特定の特徴は、単一の実施形態において組み合わせて実装することもできる。逆に、単一の実施形態の文脈で説明されている様々な特徴はまた、別々にまたは任意の適切なサブコンビネーションで複数の実施形態において実装することができる。さらに、特徴は特定の組合せで作用するものとして上記で説明され、最初はそのように主張され得るが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから切り取られてよく、請求された組合せは、サブコンビネーションまたはサブコンビネーションの変形に向けられてもよい。
同様に、動作は図面において特定の順序で描かれているが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序または順番に実行されること、または示されたすべての動作が実行されることを必要とすると理解されるべきではない。特定の状況では、マルチタスキングおよび並列処理が有利な場合がある。さらに、上述の実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてそのような分離を必要とすると理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
HTMLファイルが言及される各例において、他のファイルタイプまたはフォーマットが代用されてもよい。たとえば、HTMLファイルはXML、JSON、プレーンテキスト、または他の種類のファイルに置き換えられてもよい。さらに、テーブルまたはハッシュテーブルが言及される場合、他のデータ構造(スプレッドシート、リレーショナルデータベース、または構造化ファイルなど)が使用されてもよい。
本発明の特定の実施形態を説明した。他の実施形態は添付の特許請求の範囲内にある。たとえば、特許請求の範囲に記載されるステップは異なる順序で実行することができ、依然として望ましい結果を達成することができる。
100 例示的な環境
102 ネットワーク
106 クライアントデバイス
110 デジタルコンポーネントサーバ
112 デジタルコンポーネント
112 要求
112 初期要求
114 デジタルコンポーネントプロバイダ
114a〜c デジタルコンポーネントプロバイダ
117 リアルタイム要求
117 初期要求
117a〜c リアルタイム要求
118 応答
118a〜c 応答
120 返信
121 サーバ要求(SR)
122 デジタルコンポーネントデータ(DCデータ)
200 プロセス
300 プロセス
400 プロセス
510 クライアントデバイス
515 初期要求
515 要求
520 デジタルコンポーネントサーバ
521 アプリケーションデータ
522 SDK
523a〜n 暗号化データ
532a〜n 解読データ
526 リアルタイム要求
528 デジタルコンポーネントデータ
530 デジタルコンポーネントプロバイダ
530a〜n デジタルコンポーネントプロバイダ
535 応答
560 ディスプレイデバイス
600 コンピューティングシステム
610 プロセッサ
620 メモリ
630 ストレージデバイス
640 入力/出力デバイス
650 システムバス

Claims (17)

  1. クライアントデバイスから、前記クライアントデバイスにインストールされた第1のソフトウェア開発キット(SDK)によって生成されたデジタルコンポーネントに対する要求を受信するステップと、
    1つまたは複数のカスタムデジタルコンポーネントサーバによって、前記要求の1つまたは複数のデータフィールドを検証するステップであって、
    前記1つまたは複数のデータフィールド内で、前記クライアントデバイスにおいて前記要求を開始したアプリケーションを指定するアプリケーションデータを識別するステップを含む、ステップと、
    前記1つまたは複数のカスタムデジタルコンポーネントサーバによって、複数のリアルタイム要求を生成するステップであって、
    データ構造内のインストールされたSDKに対するアプリケーションデータのマッピングに基づいて、前記クライアントデバイスにおいて前記要求を開始した前記アプリケーションにインストールされているSDKのセットを識別するステップと、
    各リアルタイム要求に、前記クライアントデバイスにおいて前記要求を開始した前記アプリケーションにインストールされているSDKの前記セットを指定するデータを含めるステップと
    を含む、ステップと、
    前記1つまたは複数のカスタムデジタルコンポーネントサーバによってネットワークを介して、各リアルタイム要求を対応する第三者デジタルコンポーネントプロバイダに送信するステップと、
    前記1つまたは複数のカスタムデジタルコンポーネントサーバによって、前記対応する第三者デジタルコンポーネントプロバイダからの前記複数のリアルタイム要求に対する応答のセットを受信するステップと、
    前記1つまたは複数のカスタムデジタルコンポーネントサーバによって、前記デジタルコンポーネントに対する前記要求に応答して前記クライアントデバイスに送信するために、応答の前記セットから特定の応答を選択するステップと、
    前記1つまたは複数のカスタムデジタルコンポーネントサーバによって、前記クライアントデバイスにインストールされたどのSDKが前記特定の応答に含まれるデジタルコンポーネントをレンダリングするために必要であるかを指定する命令とともに前記特定の応答を前記第1のSDKに送信するステップと、
    を備える、方法。
  2. 1つまたは複数のカスタムデジタルコンポーネントサーバによって、前記第1のSDKによって生成された前記要求の1つまたは複数のデータフィールドを検証するステップが、前記1つまたは複数のデータフィールド内で、前記クライアントデバイスにインストールされた第2のSDKによって生成された、暗号化データを識別するステップを含み、
    前記複数のリアルタイム要求を生成するときに、前記暗号化データが、前記第2のSDKによって生成された前記暗号化データを解読することを許可された前記第三者デジタルコンポーネントプロバイダのうちの特定の第三者デジタルコンポーネントプロバイダに送信された前記リアルタイム要求のうちの特定のリアルタイム要求に含まれる、請求項1に記載の方法。
  3. 前記1つまたは複数のカスタムデジタルコンポーネントサーバによってネットワークを介して、各リアルタイム要求を対応する第三者デジタルコンポーネントプロバイダに送信するステップが、前記暗号化データを解読することなしに、前記特定のリアルタイム要求を前記特定の第三者デジタルコンポーネントプロバイダに送信するステップを備える、請求項2に記載の方法。
  4. 各リアルタイム要求を対応する第三者デジタルコンポーネントプロバイダに送信するステップであって、前記第2のSDKによって生成された前記暗号化データを解読することを許可されていない第三者に前記特定のリアルタイム要求を送信しないステップを備える、ステップと、
    前記対応する第三者デジタルコンポーネントプロバイダから前記複数のリアルタイム要求に対する応答の前記セットを受信するステップであって、所与の応答に含まれる特定のデジタルコンポーネントをレンダリングするために必要とされる、前記第1のSDK以外の特定のSDKを指定する前記セット内の前記所与の応答を受信するステップを備える、ステップと、
    前記所与の応答を前記特定の応答として送信するステップであって、前記特定のSDKが、前記所与の応答に含まれる前記特定のデジタルコンポーネントをレンダリングするように要求される、ステップと
    をさらに備える、請求項2または3に記載の方法。
  5. 前記要求を開始した前記アプリケーションにインストールされているSDKのセットを識別するステップが、
    インストールされたSDKに対するアプリケーションデータの前記マッピングにアクセスするステップと、
    前記マッピング内で、前記アプリケーションデータにおいて指定された前記アプリケーションと、前記要求を開始した前記アプリケーションのバージョンとを識別するステップと、
    前記アプリケーションにマッピングされたSDKの前記セットおよび前記要求を開始した前記アプリケーションの前記バージョンを識別するステップと
    を備える、請求項1から4のいずれか一項に記載の方法。
  6. データ構造に記憶された応答ログから、前記アプリケーションの前記バージョンによって開始された以前の要求に応答して前記アプリケーションの前記バージョンに以前に提供された以前の応答を識別するステップと、
    前記以前の応答から、前記以前の応答において指定された複数の異なるSDKのセットを識別するステップと、
    複数の異なるSDKの前記セット内の各SDKを前記データ構造内の前記アプリケーションの前記バージョンにマッピングするステップと
    含む、インストールされたSDKに対するアプリケーションデータの前記マッピングを生成するステップをさらに備える、請求項5に記載の方法。
  7. 前記クライアントデバイスにインストールされたどのSDKが前記特定の応答に含まれるデジタルコンポーネントをレンダリングするために必要であるかを指定する命令とともに前記特定の応答を前記第1のSDKに送信するステップが、前記特定の応答に含まれる前記デジタルコンポーネントをレンダリングするためにアプリケーションプログラミングインターフェース(API)呼出しを指定する命令を送信するステップを備える、請求項1から6のいずれか一項に記載の方法。
  8. 前記クライアントデバイスにインストールされたどのSDKが前記特定の応答に含まれるデジタルコンポーネントをレンダリングするために必要であるかを指定する命令とともに前記特定の応答を前記第1のSDKに送信するステップが、前記デジタルコンポーネントの提示の制御を前記指定されたSDKに提供するステップを備える、請求項1から7のいずれか一項に記載の方法。
  9. 様々なアプリケーションにインストールされている、インストールされたソフトウェア開発キット(SDK)に対するアプリケーションデータのマッピングを記憶するデータ構造と、
    クライアントデバイスから、前記クライアントデバイスにインストールされた第1のSDKによって生成されたデジタルコンポーネントに対する要求を受信するように構成されたフロントエンドサーバと、
    動作を実行することによって前記要求を処理するように構成されたカスタムデジタルコンポーネントサーバとを備え、前記動作が、
    前記クライアントデバイスから、前記クライアントデバイスにインストールされた前記第1のSDKによって生成された前記デジタルコンポーネントに対する前記要求を受信するステップと、
    前記要求の1つまたは複数のデータフィールドを検証するステップであって、
    前記1つまたは複数のデータフィールド内で、前記クライアントデバイスにおいて前記要求を開始したアプリケーションを指定するアプリケーションデータを識別するステップを含む、ステップと、
    複数のリアルタイム要求を生成するステップであって、
    前記データ構造内のインストールされたSDKに対するアプリケーションデータの前記マッピングに基づいて、前記クライアントデバイスにおいて前記要求を開始した前記アプリケーションにインストールされているSDKのセットを識別するステップと、
    各リアルタイム要求に、前記クライアントデバイスにおいて前記要求を開始した前記アプリケーションにインストールされているSDKの前記セットを指定するデータを含めるステップと
    を含む、ステップと、
    ネットワークを介して、各リアルタイム要求を対応する第三者デジタルコンポーネントプロバイダに送信するステップと、
    前記対応する第三者デジタルコンポーネントプロバイダからの前記複数のリアルタイム要求に対する応答のセットを受信するステップと、
    前記デジタルコンポーネントに対する前記要求に応答して前記クライアントデバイスに送信するために、応答の前記セットから特定の応答を選択するステップと、
    前記クライアントデバイスにインストールされたどのSDKが前記特定の応答に含まれるデジタルコンポーネントをレンダリングするために必要であるかを指定する命令とともに前記特定の応答を前記第1のSDKに送信するステップと、
    を含む、システム。
  10. 前記第1のSDKによって生成された前記要求の前記1つまたは複数のデータフィールドを検証するとき、前記カスタムデジタルコンポーネントサーバが、前記1つまたは複数のデータフィールド内で、前記クライアントデバイスにインストールされた第2のSDKによって生成された、暗号化データを識別するように構成され、
    前記複数のリアルタイム要求を生成するとき、前記カスタムデジタルコンポーネントサーバが、前記第2のSDKによって生成された前記暗号化データを解読することを許可された第三者のうちの特定の第三者に送信するために、前記リアルタイム要求のうちの特定のリアルタイム要求に前記暗号化データを含めるように構成される、請求項9に記載のシステム。
  11. ネットワークを介して、各リアルタイム要求を対応する第三者デジタルコンポーネントサーバプロバイダに送信するときに、前記カスタムデジタルコンポーネントサーバが、前記暗号化データを解読することなしに、前記特定のリアルタイム要求を前記特定の第三者デジタルコンポーネントプロバイダに送信するように構成される、請求項10に記載のシステム。
  12. 各リアルタイム要求を対応する第三者デジタルコンポーネントプロバイダに送信するとき、前記カスタムデジタルコンポーネントサーバが、前記特定のリアルタイム要求を、前記第2のSDKよって生成された前記暗号化データを解読することを許可されていない第三者に送信しないように構成され、
    前記対応する第三者デジタルコンポーネントプロバイダからの前記複数のリアルタイム要求に対する応答の前記セットが、所与の応答に含まれる特定のデジタルコンポーネントをレンダリングするために必要な、前記第1のSDK以外の特定のSDKを指定する前記所与の応答を含む場合、前記カスタムデジタルコンポーネントサーバが、前記所与の応答を前記特定の応答として送信するように構成される、請求項10または11に記載のシステム。
  13. 前記要求を開始した前記アプリケーションにインストールされているSDKの前記セットを識別するとき、前記カスタムデジタルコンポーネントサーバが、
    インストールされたSDKに対するアプリケーションデータの前記マッピングにアクセスすることと、
    前記マッピング内で、前記アプリケーションデータにおいて指定された前記アプリケーションと、前記要求を開始した前記アプリケーションのバージョンとを識別することと、
    前記アプリケーションにマッピングされたSDKの前記セットおよび前記要求を開始した前記アプリケーションの前記バージョンを識別することと、
    を行うように構成される、請求項9から12のいずれか一項に記載のシステム。
  14. 前記動作が、
    前記データ構造に記憶された応答ログから、前記アプリケーションの前記バージョンによって開始された以前の要求に応答して前記アプリケーションの前記バージョンに以前に提供された以前の応答を識別するステップと、
    前記以前の応答から、前記以前の応答において指定された複数の異なるSDKのセットを識別するステップと、
    複数の異なるSDKの前記セット内の各SDKを前記データ構造内の前記アプリケーションの前記バージョンにマッピングするステップと
    含む、インストールされたSDKに対するアプリケーションデータの前記マッピングを生成するステップをさらに備える、請求項13に記載のシステム。
  15. 前記クライアントデバイスにインストールされたどのSDKが前記特定の応答に含まれるデジタルコンポーネントをレンダリングするために必要であるかを指定する命令とともに前記特定の応答を前記第1のSDKに送信するときに、前記カスタムデジタルコンポーネントサーバが、前記特定の応答に含まれる前記デジタルコンポーネントをレンダリングするためにアプリケーションプログラミングインターフェース(API)呼出しを指定する命令を送信するように構成される、請求項9から14のいずれか一項に記載のシステム。
  16. 前記クライアントデバイスにインストールされたどのSDKが前記特定の応答に含まれるデジタルコンポーネントをレンダリングするために必要であるかを指定する命令とともに前記特定の応答を前記第1のSDKに送信するステップが、前記デジタルコンポーネントの提示の制御を前記指定されたSDKに提供するステップを備え、前記カスタムデジタルコンポーネントサーバが、前記デジタルコンポーネントの前記提示の制御を前記指定されたSDKに提供するように構成される、請求項9から15のいずれか一項に記載のシステム。
  17. コンピュータプログラムで符号化され、前記コンピュータプログラムが、データ処理装置によって実行されると、前記データ処理装置に、請求項1から8のいずれか一項に記載の方法を実行させる命令を備える、非一時的コンピュータ記憶媒体。
JP2019538637A 2017-02-02 2017-02-02 カスタムデジタルコンポーネント Active JP6766270B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/016220 WO2018143990A1 (en) 2017-02-02 2017-02-02 Custom digital components

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020154564A Division JP7072619B2 (ja) 2020-09-15 2020-09-15 カスタムデジタルコンポーネント

Publications (2)

Publication Number Publication Date
JP2020508505A JP2020508505A (ja) 2020-03-19
JP6766270B2 true JP6766270B2 (ja) 2020-10-07

Family

ID=58054525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019538637A Active JP6766270B2 (ja) 2017-02-02 2017-02-02 カスタムデジタルコンポーネント

Country Status (7)

Country Link
US (4) US10455058B2 (ja)
JP (1) JP6766270B2 (ja)
KR (2) KR102393818B1 (ja)
CN (2) CN108684205B (ja)
DE (1) DE202017106604U1 (ja)
GB (1) GB2564165B (ja)
WO (1) WO2018143990A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2564165B (en) 2017-02-02 2021-11-24 Google Llc Custom digital components
WO2019125434A1 (en) * 2017-12-20 2019-06-27 James Giles Joint transmission commitment simulation
US11538091B2 (en) * 2018-12-28 2022-12-27 Cloudblue Llc Method of digital product onboarding and distribution using the cloud service brokerage infrastructure
US10917494B2 (en) * 2019-02-01 2021-02-09 Google Llc Dynamic application content analysis
KR102364970B1 (ko) 2019-04-26 2022-02-18 구글 엘엘씨 콘텐츠 요청들에 대응한 컴퓨팅 리소스의 효율적 사용
JP7069356B2 (ja) * 2019-12-13 2022-05-17 グーグル エルエルシー アプリケーションオープン動作中にデジタルコンテンツを追加するためのシステムおよび方法
CN111372132B (zh) * 2020-02-25 2022-03-08 广州华多网络科技有限公司 进行音视频传输的方法、装置、设备及存储介质
US11698822B2 (en) 2020-06-10 2023-07-11 Snap Inc. Software development kit for image processing
CN111949421B (zh) * 2020-08-12 2023-09-05 北京奇艺世纪科技有限公司 Sdk调用方法、装置、电子设备和计算机可读存储介质
CN112463862B (zh) * 2020-11-05 2024-05-17 深圳市和讯华谷信息技术有限公司 一种基于配置权限的数据采集方法及装置
RU2760625C1 (ru) * 2021-03-12 2021-11-29 Акционерное общество "Лаборатория Касперского" Способ настройки IoT-устройств в зависимости от типа сети
CN115756670A (zh) * 2021-09-01 2023-03-07 北京字跳网络技术有限公司 组件处理方法、装置、电子设备、存储介质和产品

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7404515B1 (en) * 2000-05-25 2008-07-29 Diebold Self-Service Systems Divison Of Diebold, Incorporated Cash dispensing automated banking machine diagnostic system and method
WO2003009102A2 (en) * 2001-07-19 2003-01-30 Wind River Systems, Inc. Browser having dynamically self-adjusting rendering functionality
JP2003271487A (ja) 2002-03-12 2003-09-26 Nec Corp 通信システム、ゲートウエイ装置、ゲートウエイプログラム
JP2004040209A (ja) 2002-06-28 2004-02-05 Toppan Printing Co Ltd サーバ、icカード、コンテンツの配信方法、コンテンツの取得処理方法およびプログラム
US20070220083A1 (en) * 2006-03-17 2007-09-20 Microsoft Corporation Estimation of initial dynamic rendering control data
EP2471005A4 (en) * 2009-08-28 2013-04-03 Zynga Inc APPARATUSES, METHODS, AND SYSTEMS FOR A DISTRIBUTED OBJECT RENDERING DEVICE
US8868637B2 (en) * 2009-09-02 2014-10-21 Facebook, Inc. Page rendering for dynamic web pages
CN102081775A (zh) * 2009-11-27 2011-06-01 阿里巴巴集团控股有限公司 一种广告投放方法、系统和设备
KR101359690B1 (ko) * 2009-12-18 2014-02-10 한국전자통신연구원 온라인 개발환경 서버, 온라인 마켓플레이스 서버, 온라인 개발환경 구성 방법 및 개발된 애플리케이션 서비스 방법
JP5624121B2 (ja) 2010-03-26 2014-11-12 パナソニック株式会社 再生装置、コンテンツ配信システム、再生方法、コンピュータプログラム及び集積回路
US20110289067A1 (en) * 2010-05-18 2011-11-24 Rovi Technologies Corporation User interface for content browsing and selection in a search portal of a content system
US8843616B2 (en) * 2010-09-10 2014-09-23 Intel Corporation Personal cloud computing with session migration
JP2012064144A (ja) 2010-09-17 2012-03-29 Sharp Corp 中継サーバ、及び広告配信システム
US8452837B2 (en) * 2010-11-03 2013-05-28 Google Inc. Data delivery
CN102479367B (zh) * 2010-11-30 2016-05-04 百度(中国)有限公司 一种用于确定网络推广资源的保留价格的方法和设备
US20120278185A1 (en) * 2011-05-01 2012-11-01 Vinod Kumar Ramachandran Method to adapt ads rendered in a mobile device based on existence of other mobile applications
CN102222005B (zh) 2011-07-12 2013-10-30 铜陵玉成软件科技有限责任公司 面向业务模型的软件运行平台、运行方式及一种开发方法
US8793235B2 (en) * 2012-01-19 2014-07-29 Google Inc. System and method for improving access to search results
CN102647455B (zh) * 2012-03-23 2015-08-05 华为技术有限公司 移动广告的处理方法、代理服务器及终端
US8887178B1 (en) 2012-10-23 2014-11-11 Google Inc. Method to customize native operating system views using web technologies in mobile devices
WO2014065811A1 (en) * 2012-10-26 2014-05-01 Empire Technology Development Llc Securitization of developer credentials
US8862534B1 (en) * 2012-12-07 2014-10-14 Robust Links, LLC Software service infrastructure indexing user demographics, interests and expertise
EP2973328A4 (en) * 2013-03-15 2016-08-31 Yahoo Inc COMPACT DATA INTERFACE FOR REAL TIME OFFERS IN DIGITAL VIDEO LEVERAGE SYSTEMS
KR102220127B1 (ko) * 2013-06-18 2021-03-02 시암벨라 리미티드 커스터마이징된 소프트웨어 개발 키트(sdk) 생성을 위한 방법 및 장치
US20150011311A1 (en) * 2013-07-03 2015-01-08 Iswifter, Inc. System and method for experiencing advertised interactive applications
US10643253B2 (en) * 2013-10-24 2020-05-05 Oath Inc. Multi-protocol interactive mobile video advertising
US10025468B2 (en) * 2013-11-15 2018-07-17 Google Llc Personalization of map content via an application programming interface
US11521229B2 (en) * 2014-01-09 2022-12-06 Xandr Inc. Systems and methods for mobile advertisement review
US20150213516A1 (en) * 2014-01-25 2015-07-30 Leo Jeremias Computer system for displaying video ads on web pages
US20170102925A1 (en) * 2014-03-26 2017-04-13 Syed Adeel Ali Automatch process and system for software development kit for application programming interface
US9336538B2 (en) * 2014-04-03 2016-05-10 Vungle, Inc. Systems and methods for providing advertising services to devices with an advertising exchange
US20150310495A1 (en) * 2014-04-23 2015-10-29 Mobile Majority Technology and process for digital, mobile advertising at scale
US20150310494A1 (en) * 2014-04-23 2015-10-29 Mobile Majority Technology and process for digital, mobile advertising at scale
US20150332333A1 (en) * 2014-05-14 2015-11-19 Arfan Chaudhry System and Method for Providing Advertising Slots Before Hyperlink Destination
CN105354013B (zh) * 2014-08-18 2019-07-23 阿里巴巴集团控股有限公司 应用界面渲染方法及装置
WO2016049170A1 (en) * 2014-09-23 2016-03-31 Adelphic, Inc. Providing data and analysis for advertising on networked devices
WO2016067103A2 (en) * 2014-10-27 2016-05-06 Yintao Yu Cross device identity matching for online advertising
US10423985B1 (en) * 2015-02-09 2019-09-24 Twitter, Inc. Method and system for identifying users across mobile and desktop devices
US9743137B2 (en) 2015-04-02 2017-08-22 Yume, Inc. Run-time SDK integration for connected video players
US9818134B2 (en) * 2015-04-02 2017-11-14 Vungle, Inc. Systems and methods for dynamic ad selection of multiple ads or ad campaigns on devices
US10146512B1 (en) * 2015-08-28 2018-12-04 Twitter, Inc. Feature switching kits
US10672026B2 (en) * 2016-01-31 2020-06-02 Assaf Toval System and a method for surveying advertisements in mobile applications
CN112989239A (zh) * 2016-03-17 2021-06-18 谷歌有限责任公司 混合的客户端-服务器数据提供的方法
US20170345056A1 (en) * 2016-05-27 2017-11-30 App Annie Inc. Advertisement data metric determination within mobile applications
CN106095423B (zh) * 2016-06-02 2020-12-01 腾讯科技(深圳)有限公司 提供浏览服务的方法、终端及服务器
CN106296283B (zh) * 2016-08-08 2020-04-14 时趣互动(北京)科技有限公司 一种基于移动应用的广告播放方法及系统
US20180130098A1 (en) * 2016-11-04 2018-05-10 Aki Technologies, Inc. Networked system for processing sensor data and external data for an ad server
GB2564165B (en) * 2017-02-02 2021-11-24 Google Llc Custom digital components

Also Published As

Publication number Publication date
US10455058B2 (en) 2019-10-22
CN108684205B (zh) 2021-10-15
CN114020378A (zh) 2022-02-08
GB2564165A (en) 2019-01-09
CN114020378B (zh) 2023-12-12
WO2018143990A1 (en) 2018-08-09
KR20210080600A (ko) 2021-06-30
CN108684205A (zh) 2018-10-19
KR102393818B1 (ko) 2022-05-03
US20210051214A1 (en) 2021-02-18
US20200007657A1 (en) 2020-01-02
JP2020508505A (ja) 2020-03-19
US11375044B2 (en) 2022-06-28
GB2564165B (en) 2021-11-24
KR20190094235A (ko) 2019-08-12
US11743348B2 (en) 2023-08-29
DE202017106604U1 (de) 2018-05-15
US10862999B2 (en) 2020-12-08
US20180278719A1 (en) 2018-09-27
KR102270749B1 (ko) 2021-06-29
US20220303353A1 (en) 2022-09-22
GB201717717D0 (en) 2017-12-13

Similar Documents

Publication Publication Date Title
JP6766270B2 (ja) カスタムデジタルコンポーネント
US8156419B2 (en) Intelligent preloads of views and asynchronous loading of models using the MVC design pattern
KR102120370B1 (ko) 지연 감소
JP7422823B2 (ja) 動的アプリケーションコンテンツ分析
US11893604B2 (en) Server-side content management
US8612291B2 (en) Optimized display of ad landing page
US9160800B1 (en) Integrating web services with a content item
US8874654B2 (en) System for processing requests to portlets
JP2023164813A (ja) 強化されたオンラインプライバシ
CN109075987B (zh) 优化数字组件分析系统
US20190138566A1 (en) Optimized digital components
US20220292144A1 (en) Provision of different content pages based on varying user interactions with a single content item
JP7072619B2 (ja) カスタムデジタルコンポーネント
JP7405969B2 (ja) コンテンツへのセキュアウォーターマークの組込み
US12014039B2 (en) Interaction tracking controls
US10482520B2 (en) Recommending outgoing values based on incoming values
US20180101526A1 (en) Optimized digital component analysis system
GB2597384A (en) Custom digital components
WO2024096893A1 (en) Efficient, flexible, and secure dynamic digital content creation
CN117171160A (zh) 报表的访问方法、装置、设备和介质
CN115053530A (zh) 一种跨网络分发个性化视频内容的方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190718

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190718

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200812

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200916

R150 Certificate of patent or registration of utility model

Ref document number: 6766270

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250