JP2021530758A - 動的アプリケーションコンテンツ分析 - Google Patents

動的アプリケーションコンテンツ分析 Download PDF

Info

Publication number
JP2021530758A
JP2021530758A JP2020567968A JP2020567968A JP2021530758A JP 2021530758 A JP2021530758 A JP 2021530758A JP 2020567968 A JP2020567968 A JP 2020567968A JP 2020567968 A JP2020567968 A JP 2020567968A JP 2021530758 A JP2021530758 A JP 2021530758A
Authority
JP
Japan
Prior art keywords
content
application
digital component
previous
current
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.)
Granted
Application number
JP2020567968A
Other languages
English (en)
Other versions
JP7193555B2 (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 JP2021530758A publication Critical patent/JP2021530758A/ja
Priority to JP2022029443A priority Critical patent/JP7119246B2/ja
Priority to JP2022123394A priority patent/JP7422823B2/ja
Application granted granted Critical
Publication of JP7193555B2 publication Critical patent/JP7193555B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • 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/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • H04N21/4542Blocking scenes or portions of the received content, e.g. censoring scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Abstract

クライアントデバイス上のアプリケーション(たとえば、ネイティブアプリケーション)内に表示されているコンテンツを分析し、アプリケーション内のコンテンツの提示に関して決定するための装置を含む、方法、システムおよび装置。一態様では、プロセスは、アプリケーション内で生じるイベントを識別するステップを含む。イベントは、アプリケーションによるコンテンツの表示を示し得る。表示されることになるコンテンツは、アプリケーションから受信される。コンテンツを表す情報がサーバに送信される。応答がサーバから受信される。応答は、アプリケーション内に表示するためのコンテンツの適合性を示す。

Description

本明細書は、動的アプリケーションコンテンツ分析に関する。
インターネットは、幅広いリソースに対するアクセスを提供する。たとえば、ビデオおよび/またはオーディオファイル、ならびに特定の主題または特定のニュース記事に関するウェブページはインターネット上でアクセス可能である。リソースは、特定の主題または特定のニュース記事に関するコンテンツを提示し得る。特定のプラットフォームまたは特定のタイプのデバイスに対して開発されたネイティブアプリケーションなどのアプリケーションを使用してコンテンツにアクセスすることも可能である。
本明細書は、アプリケーション内に表示されている動的コンテンツを分析して、分析に基づいて、アプリケーション内に提示するための追加のコンテンツを選択することに関する技術について説明する。
クライアントデバイス上のウェブブラウザ内に表示されているコンテンツを分析するための技法が存在する。たとえば、サーバは、たとえば、ウェブサーバからそのコンテンツを要求することによって、コンテンツがクライアントデバイス上に表示される前に、そのコンテンツをそのソースから取り出すことができる。サーバは、次いで、取り出されたコンテンツを分析して、たとえば、そのコンテンツが、悪意のあるコード、成人向けの話題、ヘイトスピーチなど、望ましくないコンテンツを含むかどうかを識別することができる。
しかしながら、ウェブブラウザ以外のアプリケーション内に表示されているコンテンツを分析することは技術的に困難である。ウェブブラウザと異なり、コンテンツがアプリケーション内に表示される前に、そのコンテンツのソースを識別することは必ずしも可能であるとは限らない。したがって、悪意のあるアプリケーション開発者など、「有害な当事者」が、望ましくないコンテンツを取り出し、そのコンテンツをユーザに表示するアプリケーションを配信する可能性が存在する。この問題は、動的コンテンツの存在によって悪化する。動的コンテンツは、頻繁に更新され、かつ/もしくは特定のユーザに対してカスタマイズされ得るか、またはさもなければ、異なる時点でまたは異なるクライアントデバイスによって表示されるとき、異なり得る。たとえば、そのコンテンツをアプリケーション内にレンダリングする際に容認できない表示を引き起こさずに、動的コンテンツを分析することは困難であり得る。
アプリケーション自体の外部のサーバによってアプリケーションコンテンツを直接取得することが可能でないこともある。たとえば、一部のコンテンツは、クライアントデバイスにおいてアプリケーションにログインされたユーザに対してカスタマイズされ得る。そのようなコンテンツは、アプリケーション外部では利用可能でないことになる。一部のコンテンツは、アプリケーションが開かれるかまたはコンテンツをロードするとき、アプリケーションによって要求され、アプリケーションがライブであり、そのコンテンツを要求したときのみ分析のために利用可能になる。たとえば、アプリケーションは、アプリケーション内に提示するためのコンテンツをウェブサイトから要求することがある。アプリケーションは、ウェブページなど、特定のユニフォームリソースロケータ(URL)に連結されていないため、確定的なデータソースは存在しない。加えて、アプリケーションは、オフラインである(たとえば、そこからアプリケーションがコンテンツを取得し得るネットワークに接続されていない)ときにコンテンツを提示することがあり、ウェブブラウザ内に提示されるウェブコンテンツに対するアプリケーションのコンテンツの分析をさらに困難にする。
アプリケーション発行者からアプリケーション内に提示されることになるコンテンツを取得し、そのコンテンツがアプリケーション内に提示されるのに先立って、そのコンテンツを分析することは非効率的な場合もある。たとえば、有害な当事者は、アプリケーション自体の中に異なるコンテンツを提供すると同時に、誤解を招くコンテンツを分析のために提供することがある。
本開示は、クライアントデバイス上の(たとえば、旧来のブラウザ以外の)アプリケーション内に表示されているコンテンツの分析を可能にする。具体的には、クライアントデバイスは、コンテンツがアプリケーション内にいつ表示最中であるか(または、表示間近であるか)を識別し、コンテンツの適合性の分析のために、コンテンツ(または、そのハッシュ値)をサーバに送信する。サーバによるコンテンツの分析に応じて、クライアントデバイスは、アプリケーション内のコンテンツの表示に関してさらに決断することができる。このようにして、アプリケーション内に表示されることになるコンテンツは、コンテンツをレンダリングする際に容認できない表示を生じさせることなく、迅速に分析され得る。コンテンツの機密性は、分析のためにコンテンツ自体ではなく、ハッシュ値をサーバに送信することによって維持され得る。
加えて、他のコンテンツ、たとえば、デジタルコンポーネントが、そのコンテンツとともに提示するために選択され得る。アプリケーションのコンテンツは動的であり得る(たとえば、頻繁に変更され得る)ため、前に分析されたコンテンツに対してそのコンテンツが変更されたかどうかを決定することができる。そうでない場合、コンテンツの前の分析を使用して、デジタルコンポーネントを選択し得る。コンテンツが変更された場合、コンテンツは、いくつかのデジタルコンポーネント、たとえば、デジタルコンポーネントが、成人向けの話題、ヘイトスピーチなど、特定のタイプのコンテンツとともに提示され得ないことを示す1つまたは複数の選択基準を有するデジタルコンポーネントを提供するのに先立って分析される必要があり得る。この分析は時間がかかることがあるため、たとえば、成人向けの話題またはヘイトスピーチを含む任意のタイプのコンテンツとともに提示され得るデジタルコンポーネントは提示のために提供され得るが、それとともに提示され得るコンテンツのタイプに対する制約を含むデジタルコンポーネントは、提示のために不適格と見なされ得る。これは、デジタルコンポーネントに対する選択基準の遵守をやはり確実にし、そのようなデジタルコンポーネントが適さないコンテンツとともに提示されるのを防止すると同時に、デジタルコンポーネントを提供および提示する際のレイテンシを低減する。
概して、本明細書において説明する主題の1つの革新的な態様は、クライアントデバイス上のアプリケーション内に表示されることになるコンテンツを分析するための方法で実施され得る。これらの方法は、クライアントデバイスによって実行可能であり、アプリケーション内で生じるイベントを識別するステップを含む。イベントは、アプリケーションによるコンテンツの表示を示す。表示されることになるコンテンツは、アプリケーションから受信される。コンテンツを表す情報がサーバに送信される。応答がサーバから受信される。応答は、アプリケーション内に表示するためのコンテンツの適合性を示す。この態様の他の実装形態は、コンピュータ記憶デバイス上で符号化された、これらの方法の態様を実行するように構成された、対応する装置、システム、およびコンピュータプログラムを含む。
これらのおよび他の実装形態は、各々、以下の特徴のうちの1つまたは複数を随意に含み得る。いくつかの態様では、コンテンツを表す情報は、コンテンツの少なくとも一部分に対してハッシュ関数を実行することによって生成されるハッシュ値を含む。
いくつかの態様は、応答が、そのコンテンツが表示に適さないことを示すとき、アプリケーション内のコンテンツの表示を防止するステップを含み得る。いくつかの態様は、応答が、そのコンテンツがアプリケーション内の表示に適していることを示すとき、追加のコンテンツを受信するステップと、コンテンツがアプリケーション内に表示されているとき、追加のコンテンツをクライアントデバイス上に表示するステップとを含み得る。イベントは、スクリーン更新イベントであり得る。
概して、本明細書で説明する主題のもう1つの革新的な態様は、クライアントデバイスにおいて実行され、1つまたは複数のデータ処理装置によって直接アクセス可能でないアプリケーションによって表示される現在のコンテンツを表す情報をクライアントデバイスから受信するステップを含む方法の形で実施され得る。1つまたは複数のデータ処理装置は、受信された情報に基づいて、アプリケーションによって表示される現在のコンテンツが1つまたは複数のクライアントデバイスにおいてアプリケーションによって前に表示された前のコンテンツから変更されたかどうかを決定する。1つまたは複数のデータ処理装置は、現在のコンテンツが前のコンテンツから変更されたかどうかに基づいて、情報に応答し、この応答は、現在のコンテンツが前のコンテンツから変更されていないとの決定に応答して、前のコンテンツに対して、前のコンテンツの少なくとも一部分が割り当てられたコンテンツカテゴリーを各々が示す1つまたは複数のラベルを取得するステップを含む。1つまたは複数のラベルは、(i)情報が受信されるのに先立って実行された、かつ(ii)前のコンテンツが制限付きデジタルコンポーネントの提示に対してホワイトリストに登録されていることを示す、前のコンテンツの前の分析に基づいて、前のコンテンツに割り当てられる。応答はまた、1つまたは複数のラベルに基づいて、そのコンテンツが制限付きデジタルコンポーネントの提示に対してホワイトリストに登録されていることを示す1つまたは複数のラベルが割り当てられているコンテンツとともに提示されることにのみ適格である制限付きデジタルコンポーネントのセットを選択するステップと、現在のコンテンツとともにアプリケーションにおいて提示するための制限付きデジタルコンポーネントのうちの1つまたは複数を制限付きデジタルコンポーネントのセットから選択するステップと、選択された1つまたは複数の制限付きデジタルコンポーネントを、情報を受信したクライアントデバイスに提供するステップとを含む。現在のコンテンツが変更されたとの決定に応答して、制限付きデジタルコンポーネントのうちの1つまたは複数ではなく、コンテンツがホワイトリストに登録されているかどうかにかかわらず、提示に適格である制限無しデジタルコンポーネントが選択される。この態様の他の実装形態は、コンピュータ記憶デバイス上で符号化された、これらの方法の態様を実行するように構成された、対応する装置、システム、およびコンピュータプログラムを含む。
これらのおよび他の実装形態は、各々、以下の特徴のうちの1つまたは複数を随意に含み得る。いくつかの態様では、制限無しデジタルコンポーネントを選択するステップは、コンテンツがホワイトリストに登録されているかどうかにかかわらず、提示に適格である制限無しデジタルコンポーネントのセットを識別するステップと、制限無しデジタルコンポーネントに対する1つまたは複数の配信基準に基づいて、制限無しデジタルコンポーネントを制限無しデジタルコンポーネントのセットから選択するステップとを含み得る。
いくつかの態様は、現在のコンテンツが前のコンテンツから変更されたとの決定に応答して、アプリケーションの現在のコンテンツを分析するステップと、分析に基づいて、現在のコンテンツが制限付きデジタルコンポーネントの提示に対してホワイトリストに登録されていることを示す、少なくとも1つのラベルを現在のコンテンツに割り当てるステップを含み得る。
いくつかの態様では、1つまたは複数のラベルのうちの少なくとも1つは、現在のコンテンツが所与の適さないコンテンツカテゴリーを含むとして分類されていることを示す。制限付きデジタルコンポーネントのセットを選択するステップは、所与のデジタルコンポーネントが、所与のデジタルコンポーネントが所与の適さないコンテンツカテゴリーを含むコンテンツとともに提示されることに適格ではないことを示す1つまたは複数の選択基準を有すると決定するステップと、所与のデジタルコンポーネントが、所与のデジタルコンポーネントが所与の適さないコンテンツカテゴリーを含むコンテンツとともに提示されることに適格ではないことを示す1つまたは複数の選択基準を有するとの決定に応答して、制限付きデジタルコンポーネントのセット内に所与のデジタルコンポーネントを含めないと決定するステップとを含み得る。
いくつかの態様では、現在のコンテンツを表す情報は、現在のコンテンツの少なくとも一部分に対してハッシュ関数を実行することによって生成されたハッシュ値を含み、受信された情報に基づいて、現在のコンテンツが前のコンテンツから変更されたと決定するステップは、ハッシュ値を前のコンテンツに対する前のハッシュ値と比較するステップを含む。
いくつかの態様では、現在のコンテンツを表す情報は複数のハッシュ値を含み、各ハッシュ値は、アプリケーションによって表示される現在のコンテンツの一部分を表す。いくつかの態様では、アプリケーションは、スクリーン更新イベントの検出に応答して、アプリケーションによって表示されるコンテンツを表す情報を提供する。
本明細書で説明する主題は、以下の利点のうちの1つまたは複数を実現するように、特定の実施形態で実装され得る。アプリケーションコンテンツが変更されたかどうかを決定することによって、アプリケーションコンテンツとともに提示するための追加のコンテンツ、たとえば、デジタルコンポーネントの選択は、コンテンツ選択時にアプリケーションコンテンツを分析するよりもかなり高速に行われ得る。これはコンテンツを提供および提示する際のレイテンシを低減し、これはまた、追加のコンテンツを待機する間にアプリケーション内に生じるエラーをやはり削減し得る。コンテンツ選択時にアプリケーションコンテンツが変更されたかどうかを決定することによって、システムは、制限付きデジタルコンポーネントが、動的に変更されるコンテンツを提示するアプリケーションに対してすら適さないコンテンツイベントとともに提示されないことを確実にし得る。コンテンツを表す情報のサーバへの送信をトリガするためにアプリケーション内で生じるイベントの識別情報を使用することによって、そのコンテンツがサーバにとって直接的にアクセス可能であり得なくても、コンテンツは、サーバによって分析され得る。さらに、適したコンテンツを表示するとき、かなりのレイテンシを生じさせずに、適さないコンテンツがアプリケーション内に表示される可能性が低減され得る。
前述の主題の様々な特徴および利点について図に関して以下で説明する。追加の特徴および利点は、本明細書で説明する主題および特許請求の範囲から明らかである。
例示的なデジタルコンポーネント配信システムが、アプリケーションのコンテンツを分析し、分析に基づいて、アプリケーション内に提示するためのデジタルコンポーネントを配信する環境のブロック図である。 アプリケーションによって提示されることになるコンテンツの適合性を示す応答を取得するための例示的なプロセスを示す流れ図である。 アプリケーションによって表示されるコンテンツに基づいて、アプリケーションによって提示するためのデジタルコンポーネントを選択および提供するための例示的なプロセスを示す流れ図である。
様々な図面における同様の番号および記号は、同様の要素を示す。
概して、本明細書で説明するシステムおよび技法は、クライアントデバイス上のアプリケーション(たとえば、ネイティブアプリケーション)内に表示されているコンテンツを分析し得る。システムは、その場合、アプリケーション内のコンテンツの提示に関して決断し得る。たとえば、追加のコンテンツは、分析に基づいて、アプリケーション内に提示するために選択され得る。
デジタルコンポーネントなどの追加のコンテンツは、それとともに追加のコンテンツが提示されるべきではないコンテンツのタイプ、カテゴリー、および/または評価を示す1つまたは複数の関連する選択基準を有し得る。たとえば、デジタルコンポーネントの発行者は、そのデジタルコンポーネントが、ヘイトスピーチとして分類される、または暴力的な画像を含むコンテンツとともに提示されることを禁じることができる。アプリケーション内に提示されるコンテンツは、動的であり、たとえば、特定のユーザに対してカスタマイズされること、頻繁に更新されること、またはアプリケーションがライブであるとき他のソースから要求されることが多いため、アプリケーションのコンテンツが、テキストを含むか、画像を含むか、またはそれとともに何らかの追加のコンテンツを提示することに適格でない他のコンテンツを含むかを正確に決定することは困難であり得る。アプリケーションのコンテンツとともに何の追加のコンテンツが提示され得るかに関してより高速に決断するために、本明細書で説明するシステムおよび技法は、アプリケーションによって提示される現在のコンテンツがアプリケーションによって提示された前のコンテンツから変更されたかどうかに基づいて、追加のコンテンツを選択し得る。
たとえば、システムは、クライアントデバイス上のアプリケーションによって表示される(または、表示されることになる)現在のコンテンツの表示を受信し得る。システムは、現在のコンテンツが同じクライアントデバイスにおいてまたは異なるクライアントデバイスにおいてのいずれかで、アプリケーションによって提示された前のコンテンツから変更されたかどうかを決定し得る。現在のコンテンツが前のコンテンツと同じである場合、前のコンテンツの前の分析の結果を使用して、アプリケーション内に提示するための追加のコンテンツを選択することができる。たとえば、前の分析に基づいて、前のコンテンツとともに提示することに適格である追加のコンテンツが選択され得る。現在のコンテンツが前のコンテンツとは異なる場合、システムは、現在のコンテンツの主題または評価にかかわらず、提示に適格である無制限コンテンツを選択することができる。このようにして、システムは、現在のコンテンツとともに提示するための追加のコンテンツを選択するのに先立って、現在のコンテンツが分析されるのを待機する必要がなく、結果として、コンテンツを選択および提示する際のレイテンシを低減する。
図1は、例示的なデジタルコンポーネント配信システム150が、アプリケーションのコンテンツを分析し、分析に基づいて、アプリケーション内に提示するためのデジタルコンポーネント116を配信する環境100のブロック図である。本書を通して使用される「デジタルコンポーネント」という句は、個別単位のデジタルコンテンツまたはデジタル情報(たとえば、ビデオクリップ、オーディオクリップ、マルチメディアクリップ、画像、テキスト、または他のコンテンツ単位)を指す。デジタルコンポーネント116は、単一ファイルとして物理メモリデバイス内に、またはファイルの収集物内に電子的に記憶されてよく、デジタルコンポーネントは、ビデオファイル、オーディオファイル、マルチメディアファイル、画像ファイル、またはテキストファイルの形をとってよく、広告がデジタルコンポーネントのタイプであるように、広告情報を含んでよい。たとえば、デジタルコンポーネントは、アプリケーションコンテンツを補完することが意図されるコンテンツであり得る。より具体的には、デジタルコンポーネントは、アプリケーションコンテンツに関連するデジタルコンテンツを含み得る(たとえば、デジタルコンポーネントは、アプリケーションコンテンツと同じトピックに関してよく、または関連するトピックに関してよい)。デジタルコンポーネント配信システム150によるデジタルコンポーネントの提供は、したがって、補完的であり、概して、アプリケーションコンテンツを拡張し得る。
デジタルコンポーネント配信システム150は、クライアントデバイス110上で動作しているアプリケーション111による提示のためのデジタルコンポーネント116を1つまたは複数のクライアントデバイス110に送信し得る。クライアントデバイス110は、データ通信ネットワーク120、たとえば、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、モバイルネットワーク、またはそれらの組合せを介して通信することが可能な電子デバイスである。例示的なクライアントデバイス110は、パーソナルコンピュータ、モバイル通信デバイス、たとえば、スマートフォン、およびネットワーク120を介してデータを送信および受信することができる他のデバイスを含む。クライアントデバイス110は、特定のプラットフォームまたは特定のデバイスに対して開発されたネイティブアプリケーションなど、様々なアプリケーションを含み得る。たとえば、アプリケーション111は、特定のスマートフォンまたは特定のモバイルデバイスオペレーティングシステムに対して開発されたネイティブアプリケーションであってよい。
アプリケーション111は、コンテンツ、たとえば、テキスト、画像、および/またはビデオをクライアントデバイス110のユーザに提示し得る。たとえば、スポーツニュースアプリケーションは、ニュース、スコア、記事、ハイライトビデオ、スポーツイベント中に撮影された写真、または他のスポーツ関連コンテンツを提示し得る。アプリケーション111は、コンテンツとともにデジタルコンポーネントを提示することもできる。たとえば、アプリケーション111のアプリケーションページ117は、アプリケーションコンテンツ(たとえば、スポーツコンテンツ)を提示するためのコンテンツエリア118と、1つまたは複数のデジタルコンポーネント116を提示するための、1つまたは複数のデジタルコンポーネントスロット119とを含み得る。
アプリケーション111は、たとえば、デジタルコンポーネントスロット119内に提示するためのデジタルコンポーネントを要求するために、ネットワーク120を介して、デジタルコンポーネント要求115をデジタルコンポーネント配信システム150に提出し得る。以下でより詳細に説明するように、デジタルコンポーネント要求115は、アプリケーション111によって表示されるか、または表示されることになるコンテンツを表す情報を含み得る。
デジタルコンポーネント配信システム150は、デジタルコンポーネント要求115をクライアントデバイス110から受信し、要求に応答して、デジタルコンポーネント116をクライアントデバイス110に提供する、1つまたは複数のフロントエンドサーバ152を含む。デジタルコンポーネント配信システム150は、1つまたは複数のアプリケーションコンテンツ分析サーバ160および1つまたは複数のデジタルコンポーネント選択サーバ170を含む、バックエンドサーバをやはり含む。フロントエンドサーバ152は、たとえば、内部データ通信ネットワーク、たとえば、LANまたはWANを介して、バックエンドサーバと通信し得る。
アプリケーションコンテンツ分析サーバ160は、クライアントデバイス110上で動作しているアプリケーション111によって表示されたコンテンツを分析する。たとえば、以下でより詳細に説明するように、アプリケーション111がデジタルコンポーネント要求115をデジタルコンポーネント配信システム150に提出するとき、デジタルコンポーネント要求115は、アプリケーションのコンテンツ、またはそれとともに、要求に応答して選択されたデジタルコンポーネントが提示されることになるコンテンツに対する1つまたは複数のハッシュ値を含み得る。次いで、コンテンツの分析を使用して、アプリケーションコンテンツとともに提示するためのデジタルコンポーネントを選択することができる。
アプリケーションコンテンツ分析サーバ160は、アプリケーションコンテンツを分析して、アプリケーションコンテンツ内に含まれたコンテンツのタイプ、カテゴリー、および/または評価を示すためのラベル(または、他のデータ)をコンテンツに割り当てることができる。たとえば、アプリケーションコンテンツ分析サーバ160は、アプリケーションコンテンツのテキストを分析して、テキストが、下品な言葉、ヘイトスピーチ、特定の用語、または特定の話題を含むかどうかを決定し得る。たとえば、アプリケーションコンテンツ分析サーバ160は、テキスト内の用語または句を下品な言葉もしくは句のリスト、ヘイトスピーチの用語もしくは句のリスト、および/またはそれに対してコンテンツがラベルされ得る用語もしくは句のリストと比較し得る。アプリケーションコンテンツ分析サーバ160は、次いで、テキストがそのような言語または話題を含むかどうかを示すラベルをアプリケーションコンテンツに割り当てることができる。たとえば、テキストが下品な用語を含む場合、アプリケーションコンテンツ分析サーバ160は、アプリケーションコンテンツが下品な言葉を含んでいたことを示す「下品な言葉」ラベルをアプリケーションコンテンツに割り当てることができる。
いくつかの実装形態では、アプリケーションコンテンツ分析サーバ160は、テキストのハッシュ値を分析して、テキストが、下品な言葉、ヘイトスピーチ、特定の用語、または特定の話題を含むかどうかを決定し得る。たとえば、以下でより詳細に説明するように、アプリケーション111は、ハッシュ関数を使用してテキストに対するハッシュ値を計算するハッシュエンジン114を含み得る。アプリケーション111は、たとえば、実際のテキストではなく、ハッシュ値をデジタルコンポーネント要求115内に含み得る。デジタルコンポーネント要求115を傍受する(またはさもなければ、受信する)当事者がハッシュ値からアプリケーションコンテンツ118を導出することは、不可能ではないにしろ、困難であり得るため、ハッシュ値の使用はアプリケーションコンテンツ118の機密性を維持し得る。
アプリケーションコンテンツ分析サーバ160は、アプリケーションコンテンツ内に含まれた画像を分析することもできる。たとえば、アプリケーションコンテンツ分析サーバ160は、画像に対してオブジェクト検出技法、オブジェクト認識技法、および/またはコンピュータビジョン分析を使用して、特定のオブジェクト、たとえば、武器、アルコール、薬物、もしくは薬物道具など、および/または特定のタイプのコンテンツ、たとえば、流血、過剰な肌の露出などの存在を検出し得る。アプリケーションコンテンツ分析サーバ160は、次いで、画像が特定のオブジェクトまたは特定のタイプのコンテンツを含むかどうかを示すラベルをアプリケーションコンテンツに割り当てることができる。
アプリケーションコンテンツ分析サーバ160は、アプリケーションコンテンツ内に含まれたオーディオコンテンツを分析することもできる。たとえば、アプリケーションコンテンツ分析サーバ160は、たとえば、オーディオ転写技法を使用して、オーディオをテキストに変換し、アプリケーションコンテンツ内に含まれたテキストが分析される方法と同様に、変換されたテキストを分析し得る。アプリケーションコンテンツ分析サーバ160は、次いで、オーディオが何らかの下品な言葉、ヘイトスピーチ、特定の用語、または特定の話題を含むかどうかを示すラベルをアプリケーションコンテンツに割り当てることができる。
アプリケーションコンテンツ分析サーバ160は、アプリケーションコンテンツ内に含まれたビデオを分析することもできる。たとえば、アプリケーションコンテンツ分析サーバ160は、1つまたは複数のビデオフレームをサンプリングし、アプリケーションコンテンツ分析サーバ160が画像を分析するのと同様の方法で各フレームを分析し得る。同様に、アプリケーションコンテンツ分析サーバ160は、ビデオ内に含まれたオーディオをテキストに変換し、アプリケーションコンテンツ分析サーバ160がオーディオコンテンツに対して変換されたテキストを分析するのと同様の方法で、変換されたテキストを分析し得る。アプリケーションコンテンツ分析サーバ160は、次いで、各画像フレームおよび変換されたテキストに対するラベルをアプリケーションコンテンツに割り当てることができる。アプリケーションコンテンツ分析サーバ160は、画像と変換されたテキストの組合せに基づいて、ラベルをアプリケーションコンテンツに割り当てることもできる。たとえば、アプリケーションコンテンツ分析サーバ160は、画像内で認識されたオブジェクトおよびテキストが同じ話題に対応すると決定し、アプリケーションコンテンツがその話題に関係することを示すラベルをアプリケーションコンテンツに割り当てることができる。
アプリケーション分析コンテンツサーバ160は、コンテンツ内に含まれたテキスト、画像、オーディオ、および/またはビデオの分析に基づいて、アプリケーションコンテンツに評価を割り当てることもできる。たとえば、アプリケーション分析コンテンツサーバ160は、一定の視聴者または一定の年齢層に対するアプリケーションコンテンツの適合性に基づいて、評価を割り当てることができる。特定の例では、アプリケーション分析コンテンツサーバ160は、アプリケーションコンテンツ内で識別された用語、画像内で認識されたコンテンツのオブジェクトまたはタイプなどに基づいて、エレクトロニックソフトウェアレーティングボード(ESRB:Electronic Software Rating Board)システム評価、たとえば、G、PG、13歳以上(Teen)、または17歳以上(Mature)をアプリケーションコンテンツに割り当てることができる。別の例では、評価は、すべての視聴者に適すまたはすべての視聴者に適さない、のいずれかであり得る。
アプリケーションコンテンツ分析サーバ160は、アプリケーションコンテンツの分析に基づいて、それに対して制限付きデジタルコンポーネントが提示に適格であるアプリケーションコンテンツを含むホワイトリストにアプリケーションコンテンツを含めるかどうかを決定することもできる。以下でより詳細に説明するように、制限付きデジタルコンポーネントは、ホワイトリストに含まれているアプリケーションコンテンツとともに提示されることにのみ適格であるデジタルコンポーネントである。たとえば、アプリケーションコンテンツ分析サーバ160は、1つまたは複数の評価、たとえば、GまたはPGのみを有するアプリケーションコンテンツをホワイトリストに含めることができる。13歳以上の評価が割り当てられたアプリケーションコンテンツをホワイトリストに含めることはできない。アプリケーションコンテンツ分析サーバ160は、アプリケーションコンテンツが制限付きデジタルコンポーネントの提示に対してホワイトリストに登録されていることを示す1つまたは複数のラベルをホワイトリストに登録されたアプリケーションコンテンツに割り当てることができる。
別の例では、ホワイトリストは、アプリケーションコンテンツ分析サーバ160によって分析され、分析に基づいて、それに対して、1つまたは複数のラベルがアプリケーションコンテンツに割り当てられているアプリケーションコンテンツを含み得る。以下でより詳細に説明するように、次いで、ラベルを使用して、それらのラベルを含むアプリケーションコンテンツとともに提示することに適格でない制限付きデジタルコンポーネントを選択しないと同時に、それらのラベルを含むアプリケーションコンテンツとともに提示することに適格である制限付きデジタルコンポーネントを選択し得る。
アプリケーション分析コンテンツサーバ160は、アプリケーションコンテンツ、アプリケーションコンテンツに対する識別子、そこからアプリケーションコンテンツが受信されたアプリケーションに対する識別子、および/またはアプリケーションコンテンツデータ記憶ユニット164内のコンテンツに対するラベルを記憶し得る。アプリケーションコンテンツに対する識別子は、そのコンテンツを含むアプリケーションページに対するユニフォームリソースロケータ(URI)を含み得る。別の例では、アプリケーションコンテンツに対する識別子は、たとえば、アプリケーションコンテンツが受信されるときフロントエンドサーバ152によって、またはアプリケーションコンテンツが分析されるときアプリケーションコンテンツ分析サーバ160によって、アプリケーションコンテンツに割り当てられた一意の鍵であり得る。たとえば、アプリケーションコンテンツ分析サーバ160が、現在のコンテンツがアプリケーションから受信された前のアプリケーションコンテンツに一致すると決定した場合、アプリケーションコンテンツ分析サーバ160は、前のアプリケーションコンテンツの識別子を現在のコンテンツに割り当てることができる。
いくつかのアプリケーションは、コンテンツの複数の部分、たとえば、動的コンテンツの複数の部分を含み得る。たとえば、ソーシャルネットワーキングアプリケーションは、ソーシャルネットワーキングアプリケーションにログインされているユーザに対して選択された複数のメッセージまたは更新を含む、ニュースフィードまたはメッセージフィードを生成し得る。この例では、アプリケーションコンテンツ分析サーバ160は、コンテンツの各部分、たとえば、各メッセージまたは更新を分析し、分析に基づいて、コンテンツの各部分にラベルを割り当てることができる。アプリケーションコンテンツ分析サーバ160は、コンテンツの各部分に一意の識別子を割り当て、コンテンツ、識別子、およびコンテンツの各部分に対するラベルをアプリケーションコンテンツデータ記憶ユニット164内に記憶することもできる。
アプリケーションコンテンツ分析サーバ160は、アプリケーションコンテンツおよび/またはアプリケーションコンテンツの部分のハッシュ値を計算することもできる。アプリケーションコンテンツ分析サーバ160は、ハッシュ関数を使用して、コンテンツのハッシュ値を計算し得る。たとえば、分析サーバ160は、MD5、SHA-512、SHA-256、もしくはSHA-1のハッシュ関数、または他の適切なハッシュ関数を使用し得る。アプリケーションコンテンツ分析サーバ160は、アプリケーションコンテンツの各部分に対するハッシュ値をアプリケーションコンテンツデータ記憶ユニット164内に記憶し得る。たとえば、アプリケーションコンテンツデータ記憶ユニット164は、アプリケーションコンテンツの各部分に対して、アプリケーションコンテンツに対する識別子、アプリケーションコンテンツを提示するアプリケーションに対する識別子、アプリケーションコンテンツに対するハッシュ値、およびアプリケーションコンテンツに割り当てられた各ラベルを含む行を含む、1つまたは複数の表またはデータベースを含み得る。例示的な表165は、アプリケーションコンテンツの各部分に対して、コンテンツに対する識別子、コンテンツに対するハッシュ値、およびコンテンツに対する1つまたは複数のラベルを含む。
アプリケーションコンテンツ分析サーバ160は、現在のアプリケーションコンテンツのハッシュ値を前のアプリケーションコンテンツのハッシュ値と比較して、アプリケーションのコンテンツが変更されたかどうかを決定することもできる。たとえば、アプリケーションページの現在のバージョンに対して決定されたハッシュ値が同じアプリケーションページの前のバージョンに対して計算されたハッシュ値(または、同じアプリケーションページの複数の前のバージョンに対するハッシュ値)と異なる場合、アプリケーションコンテンツ分析サーバ160は、アプリケーションページのコンテンツが変更されたと決定し得る。現在のバージョンに対するハッシュ値が前のバージョンに一致する場合、アプリケーションコンテンツ分析サーバ160は、アプリケーションページのコンテンツが変更されていないと決定し得る。
デジタルコンポーネント選択サーバ170は、クライアントデバイス110から受信されたデジタルコンポーネント要求115に応じて提示するために提供するためのデジタルコンポーネントを選択し得る。デジタルコンポーネントは、デジタルコンポーネントデータ記憶ユニット172内に記憶され得る。デジタルコンポーネントは、制限付きデジタルコンポーネントおよび制限無しデジタルコンポーネントを含み得る。制限付きデジタルコンポーネントは、ホワイトリストに登録されたコンテンツとともに提示されることにのみ適格であるデジタルコンポーネントである。たとえば、制限付きデジタルコンポーネントは、コンテンツが制限付きデジタルコンポーネントの提示に対してホワイトリストに登録されていることを示す1つまたは複数のラベルが割り当てられているコンテンツとともに提示されることにのみ適格であり得る。
制限付きデジタルコンポーネントは、それとともに制限付きデジタルコンポーネントが提示されることに適格でないコンテンツを指定する、1つまたは複数の関連する選択基準を有してもよい。たとえば、デジタルコンポーネント発行者140は、そのデジタルコンポーネントが一定のタイプ、カテゴリー、および/または評価のコンテンツとともに提示されることを許可しないことが可能である。制限付きデジタルコンポーネントに対する選択基準は、PGを上回る評価、流血、武器、または銃を含むコンテンツ、下品な言葉を含むコンテンツなど、除外されたタイプ、カテゴリー、および/または評価のコンテンツを指定し得る。デジタルコンポーネント要求115のアプリケーションコンテンツに対するラベルが制限付きデジタルコンポーネントに対して除外されたコンテンツを含む場合、制限付きデジタルコンポーネントは、デジタルコンポーネント要求に応答して選択することに適格でないことになる。
制限無しデジタルコンポーネントは、コンテンツがホワイトリストに登録されているかどうかにかかわらず、提示に対して適格なデジタルコンポーネントである。たとえば、いくつかのデジタルコンポーネント発行者140は、そのデジタルコンポーネントがいずれのタイプ、カテゴリー、または評価のコンテンツとともに提示されることを許可することが可能である。
制限付きデジタルコンポーネントおよび制限無しデジタルコンポーネントは、デジタルコンポーネント要求115に応答して提供するためのデジタルコンポーネントを選択するためにデジタルコンポーネント選択サーバ170によって使用される1つまたは複数の配信基準を有し得る。この配信基準は、アプリケーションのコンテンツ、アプリケーション自体、クライアントデバイスに関するデータ(たとえば、クライアントデバイスの地理的位置またはユーザ)、または他の適切な基準に関係し得る。たとえば、デジタルコンポーネント発行者140は、デジタルコンポーネントが特定のキーワードを含むアプリケーションコンテンツとともに、特定のアプリケーション内に、または特定の地理的エリア内に位置するクライアントデバイス上で動作しているアプリケーション内に提示することに適格であることを指定し得る。以下でより詳細に説明するように、デジタルコンポーネント選択サーバ170は、現在のアプリケーションコンテンツが前のアプリケーションコンテンツから変更されたかどうかに基づいて、適格なデジタルコンポーネントのセットを識別し、次いで、配信基準に基づいて、1つまたは複数のデジタルコンポーネントを適格なデジタルコンポーネントから選択し得る。
アプリケーション111は、イベント検出器112、コンテンツエンジン113、およびハッシュエンジン114を含む。いくつかの実装形態では、イベント検出器112、コンテンツエンジン113、およびハッシュエンジン114は、ソフトウェア開発者のキット(SDK)内に含まれる。たとえば、アプリケーション開発者は、アプリケーション111がデジタルコンポーネント配信システム150からデジタルコンポーネントを要求し得るように、デジタルコンポーネント配信システム150(または、別のシステム)からSDKをダウンロードし、SDKをアプリケーション111内に含めることができる。
イベント検出器112は、アプリケーション111内で生じるイベントを検出し得る。イベント検出器112は、アプリケーション111によるコンテンツの表示を示すイベントを検出し得る。たとえば、イベント検出器112は、それに関してアプリケーション111が現在のコンテンツ、たとえば、アプリケーションによって現在提示されていないコンテンツに対してスクリーンを更新することになるスクリーン更新イベントを検出し得る。特定の例では、イベント検出器112は、アプリケーションページがサーバからいつロードまたはダウンロードされているかを検出し得る。別の例では、イベント検出器112は、ウェブビューがいつ作成されてアクティブ化されるかを検出し得る。さらに別の例では、ウェブビュー内に画素が含まれてよく、イベント検出器112は、画素がいつ閲覧者に可視であるかを決定し得る。
イベント検出器112がアプリケーション111によるコンテンツの表示を示すイベントを検出したとき、コンテンツエンジン113は、アプリケーション111によって表示されている(または、表示されることになる)コンテンツを表す情報をデジタルコンポーネント配信システム150に送信し得る。アプリケーション111がコンテンツとともにデジタルコンポーネントを提示することになる場合、コンテンツエンジン113は、コンテンツとともに提示するための1つまたは複数のデジタルコンポーネントを要求しているデジタルコンポーネント要求内でこの情報を送信し得る。
コンテンツエンジン113は、コンテンツを表す情報として、コンテンツ自体、コンテンツに対する1つもしくは複数のハッシュ値、またはコンテンツのいくつかの部分とコンテンツの他の部分に対する1つもしくは複数のハッシュ値の組合せを送信し得る。ハッシュ値を送信するとき、ハッシュエンジン114は、1つまたは複数のハッシュ関数を使用してコンテンツに基づいてハッシュ値を計算し得る。これらのハッシュ関数は、コンテンツエンジン113によって送信されたハッシュ値がアプリケーションコンテンツ分析サーバ160によって計算されたハッシュ値と比較され得るように、アプリケーションコンテンツ分析サーバ160によって使用されるハッシュ関数と同じハッシュ関数であってよい。
コンテンツエンジン113は、実際のコンテンツ、または特定のタイプのコンテンツに対するコンテンツのハッシュ値を送信するように構成され得る。たとえば、いくつかのアプリケーションは、アプリケーション発行者130(または、ユーザ)が第三者に送信することを望まない可能性がある機密性の高いデータまたは個人データを提示する。特定の例では、銀行業務アプリケーションは、ユーザの金融データを提示し得る。この例では、コンテンツエンジン113は、ユーザの金融データがデジタルコンポーネント配信システム150に送信されないように、テキスト自体ではなく、アプリケーション内にテキストを表す1つまたは複数のハッシュ値を送信するように構成され得る。他のアプリケーション、たとえば、ニュース報告アプリケーションは、個人データまたは機密性の高いデータを提示することができない。コンテンツエンジン113は、これらのアプリケーションに対して、テキストのハッシュ値ではなく、テキスト自体を送信するように構成される。
アプリケーション111内にテキストを表すハッシュ値を送信するとき、ハッシュエンジン114は、テキストのすべてに対するハッシュ値を計算し得る。ハッシュエンジン114は、用語の個々のグループ、たとえば、個々の対または個々の用語に対するそれぞれのハッシュ値を計算することもできる。コンテンツエンジン113は、コンテンツを表す情報とともに、テキストのすべてに対するハッシュ値および/またはテキストのグループに対するハッシュ値を送信し得る。
いくつかの画像は、機密性の高いデータまたは個人データを表すテキストをやはり含むことがある。そのような画像を提示し得るアプリケーションの場合、コンテンツエンジン113は、たとえば、光学文字認識(OCR)技法を使用して、画像内のテキストを認識するように構成され得る。画像をデジタルコンポーネント配信システム150に送信するのに先立って、コンテンツエンジン113は、たとえば、画像ぼかし技法を使用して、画像内のテキストおよび/または他の機密性の高いデータもしくは個人データを不明瞭にし得る。コンテンツエンジン113は、画像内のテキストに対する1つまたは複数のハッシュ値を計算するためのハッシュエンジン114をやはり有し得る。コンテンツエンジン113は、その場合、コンテンツを表す情報内に、ぼやけた画像およびテキストに対するハッシュ値を含めることができる。
上記で説明したように、いくつかのアプリケーション、たとえば、ソーシャルネットワーキングアプリケーションは、コンテンツの複数の部分、たとえば、動的コンテンツの複数の部分を含み得る。そのようなアプリケーションの場合、コンテンツエンジン113は、コンテンツの各部分に関するデータ、たとえば、コンテンツの各部分に対する1つまたは複数のハッシュ値を送信し得る。このようにして、アプリケーションコンテンツ分析サーバ160は、各部分が前に分析されたコンテンツの部分および割り当てられた標識に一致するかどうかを決定し得る。
コンテンツエンジン113は、アプリケーションのコンテンツを表す情報を含むデジタルコンポーネント要求115を生成して、デジタルコンポーネント配信システム150に送信し得る。デジタルコンポーネント要求115は、追加のデータ、たとえば、アプリケーションに対する識別子、コンテンツに対する識別子、たとえば、コンテンツを含むアプリケーションページに対するURI、コンテキストデータ、たとえば、クライアントデバイス110の地理的位置、および/または他の適切なデータを含んでもよい。
デジタルコンポーネント配信システム150がデジタルコンポーネント要求115を受信したとき、アプリケーションコンテンツ分析サーバ160は、デジタルコンポーネント要求115内でデータによって表された現在のコンテンツが、そこからデジタルコンポーネント要求が受信されたクライアントデバイス110において、または別のクライアントデバイスにおいて、アプリケーションによって前に提示された前のコンテンツから変更されたかどうかを決定し得る。これを行うために、デジタルコンポーネント配信システム150は、現在のコンテンツに対する1つまたは複数のハッシュ値をアプリケーションコンテンツデータ記憶ユニット164内に記憶された1つまたは複数のハッシュ値と比較し得る。
いくつかの実装形態では、アプリケーションコンテンツ分析サーバ160は、アプリケーションコンテンツデータ記憶ユニット164内に記憶されたアプリケーションに対する前のコンテンツが存在するかどうかを決定し得る。たとえば、アプリケーションコンテンツ分析サーバ160は、コンテンツに対する識別子をアプリケーションコンテンツデータ記憶ユニット164内に記憶されたコンテンツに対する識別子と比較し得る。一致が存在する場合、アプリケーションコンテンツ分析サーバ160は、現在のコンテンツがそれに関するデータがアプリケーションコンテンツデータ記憶ユニット164内に記憶されたコンテンツの1つまたは複数の前のバージョンから変更されたかどうかを決定し得る。
アプリケーションコンテンツ分析サーバ160は、現在のコンテンツに対する1つまたは複数のハッシュ値をアプリケーションコンテンツデータ記憶ユニット164内に記憶された前のコンテンツに対する1つまたは複数の対応するハッシュ値と比較することによって、コンテンツが変更されたかどうかを決定し得る。デジタルコンポーネント要求115が、たとえば、ハッシュ値ではなく、現在のコンテンツを含んでいた場合、アプリケーションコンテンツ分析サーバ160は、現在のコンテンツに対するハッシュ値を計算し得る。いくつかの実装形態では、アプリケーションコンテンツ分析サーバ160は、現在のコンテンツ全体に対する、たとえば、現在のコンテンツのすべてに対する、全体的なハッシュ値を前のコンテンツに対する全体的なハッシュ値と比較する。これらのハッシュ値が一致する場合、アプリケーションコンテンツ分析サーバ160は、現在のコンテンツが前のコンテンツから変更されていないと決定し得る。これらのハッシュ値が一致しない場合、アプリケーションコンテンツ分析サーバ160は、現在のコンテンツが前のコンテンツから変更されたと決定し得る。
アプリケーションコンテンツは複数回変更され得るため、アプリケーションコンテンツ分析サーバ160は、現在のコンテンツに対するハッシュ値を分析されているアプリケーションコンテンツの複数の前のバージョンの各々に対する対応するハッシュ値と比較し得る。たとえば、コンテンツの最近のバージョンが削除された場合、アプリケーションは、コンテンツのさらに前の(たとえば、2つの最新バージョンのさらに前の)バージョンに戻ることができる。現在のコンテンツが、分析されているより古いバージョンに一致する場合、より古いバージョンの分析を使用してデジタルコンポーネントを選択することができる。
いくつかの実装形態では、アプリケーションコンテンツ分析サーバ160は、現在のコンテンツに対する複数のハッシュ値を前のコンテンツに対する複数の対応するハッシュ値と比較する。たとえば、アプリケーションがコンテンツの複数の個々の部分、たとえば、複数のニュースフィード部分を含む場合、現在のコンテンツの各それぞれの部分に対するハッシュ値を前のコンテンツの各部分に対する対応するハッシュ値と比較することができる。現在のコンテンツに対する1つまたは複数のハッシュ値が前のコンテンツに対する対応するハッシュ値に一致しない場合、アプリケーションコンテンツ分析サーバ160は、現在のコンテンツが前のコンテンツから変更されたと決定し得る。現在のコンテンツに対するハッシュ値のすべてが前のコンテンツの対応するハッシュ値に一致する場合、アプリケーションコンテンツ分析サーバ160は、現在のコンテンツが前のコンテンツから変更されたと決定し得る。
例示のために、ソーシャルネットワーキング投稿が複数のユーザのニュースフィード上に提示され得る。この投稿は、その投稿を一意に識別する識別子を有し得る。投稿が第1のユーザに対してソーシャルネットワーキングアプリケーションによって提示されるとき、アプリケーションコンテンツ分析サーバ160は、その投稿のコンテンツを分析して、それに1つまたは複数のラベルを割り当て、コンテンツのハッシュを計算し得る。その後、その投稿を作成したユーザはそれを修正することができる。修正された投稿が次いで第2のユーザに提示され得る。修正された投稿に対するハッシュ値は、元の投稿に対するハッシュ値とは異なることになる。したがって、第2のユーザがユーザのニュースフィード上で複数の投稿を閲覧している場合、アプリケーションコンテンツ分析サーバ160は、不一致のハッシュ値に基づいて、この特定の投稿がその前のバージョンから変更されたと決定することになる。
このようにコンテンツのそれぞれの部分の各々を分析することは、アプリケーションコンテンツ分析サーバ160上の計算負担を軽減し得る。たとえば、現在のコンテンツがコンテンツの複数のそれぞれの部分を組み合わせることによって生成されていると仮定する。コンテンツのそれぞれの部分のうちのいくつかまたはすべては前にアプリケーションコンテンツ分析サーバ160によって分析されているが、それらの部分が、アプリケーションコンテンツ分析サーバ160が前に遭遇したことがない方法で組み合わされているとさらに仮定する。アプリケーションコンテンツ分析サーバ160が現在のコンテンツの全体を分析する必要は、コンテンツのそれぞれの部分のうちのいくつかまたはすべての前の分析の結果を使用することによって回避され得、それにより、計算上の負担を軽減する。
いくつかの実装形態では、現在のコンテンツに対するハッシュ値を前のコンテンツに対するハッシュ値と比較するのではなく、アプリケーションコンテンツ分析サーバ160は、実際のコンテンツを比較することができる。しかしながら、これは、ハッシュ値を比較するよりもさらに多くの時間を消費することがあり、結果として、デジタルコンポーネント要求115に応答してデジタルコンポーネント116を提供する際のレイテンシを増大させる。
いくつかの実装形態では、アプリケーションコンテンツ分析サーバ160は、デジタルコンポーネント要求115内のデータによって表される現在のコンテンツに対する識別子を有さなくてよい。そのような例では、アプリケーションコンテンツ分析サーバ160は、現在のコンテンツに対するハッシュ値をアプリケーションコンテンツデータ記憶ユニット164内に記憶されたアプリケーション111の各前のコンテンツに対するハッシュ値と比較し得る。一致が存在する場合、一致するコンテンツに対するラベルを使用して、デジタルコンポーネントを選択し得る。そうでない場合、デジタルコンポーネント要求115に応答して、制限無しデジタルコンポーネントが提供されてよく、アプリケーションコンテンツ分析サーバ160は、上記で説明したように、コンテンツを分析し、分析に基づいて、コンテンツにラベルを割り当てることができる。その場合、ラベルは、同じコンテンツに対する後続のデジタルコンポーネント要求に対して制限付きデジタルコンポーネントを選択するために使用され得る。
コンテンツ、たとえば、アプリケーションの新しいアプリケーションページが初めて受信されるとき、アプリケーションコンテンツ分析サーバ160は、それが変更されたコンテンツであるかのようにそのコンテンツを扱うことができる。たとえば、アプリケーションコンテンツ分析サーバ160は、コンテンツを分析し、分析に基づいて、コンテンツにラベルを割り当てることができる。アプリケーションコンテンツ分析サーバ160は、上記で説明したように、コンテンツに対する1つまたは複数のハッシュ値を計算することもできる。
アプリケーションコンテンツ分析サーバ160が、現在のコンテンツが前のコンテンツから変更されたと決定した場合、デジタルコンポーネント選択サーバ170は、コンテンツがホワイトリストに登録されているかどうかにかかわらず提供され得る制限無しデジタルコンポーネント(制限付きデジタルコンポーネントではなく)のセットを識別し得る。デジタルコンポーネント選択サーバ170は、次いで、デジタルコンポーネント要求に応答して提供するための制限無しデジタルコンポーネントのうちの1つまたは複数を、たとえば、制限無しデジタルコンポーネントに対する選択基準に基づいて、選択し得る。これは、デジタルコンポーネント選択サーバ170が、現在のコンテンツが制限付きデジタルコンポーネントに適切であるかどうかを決定するために現在のコンテンツが分析されるのを待機せずに、デジタルコンポーネントを提供することを可能にする。現在のコンテンツは少なくともいくつかのデジタルコンポーネントに適さない可能性がある未知のコンテンツを含むため、分析が完了するまで、制限付きデジタルコンポーネントは不適格であり得る。これは、デジタルコンポーネント要求に応答して、デジタルコンポーネントを提供する際のレイテンシを低減する。
アプリケーションコンテンツ分析サーバ160が、現在のコンテンツが前のコンテンツから変更されていないと決定した場合、デジタルコンポーネント選択サーバ170は、前のコンテンツの前の分析に基づいて、前のコンテンツに割り当てられた1つまたは複数のラベルを取得し得る。デジタルコンポーネント選択サーバ170は、その場合、1つまたは複数のラベルを含むコンテンツとともに提供されることに適格である制限付きデジタルコンポーネントのセットを選択し得る。たとえば、ラベルのうちの1つが前のコンテンツがアルコールを含むことを示す場合、デジタルコンポーネント選択サーバ170は、アルコールを含むコンテンツとともに提示されることに適格である制限付きデジタルコンポーネントを選択し得る。デジタルコンポーネント選択サーバ170は、次いで、制限付きデジタルコンポーネントに対する選択基準に基づいて、デジタルコンポーネント要求115に応答して提供するための制限付きデジタルコンポーネントのセット内の制限付きデジタルコンポーネントのうちの1つまたは複数を選択し得る。
デジタルコンポーネント選択サーバ170は、選択されたデジタルコンポーネントをフロントエンドサーバ152に提供し得る。次に、フロントエンドサーバ152は、選択されたデジタルコンポーネントを、そこからデジタルコンポーネント要求115が受信されたクライアントデバイス110に提供し得る。アプリケーション111は、現在のコンテンツとともに、受信されたデジタルコンポーネントを、たとえば、デジタルコンポーネントスロット内で提示し得る。
図1の例では、デジタルコンポーネント要求115は、アプリケーション識別子「アプリ1」、アプリケーション111によって提示されることになる現在のコンテンツを識別するコンテンツ識別子「ページ1」、および現在のコンテンツに対する「3hx9mg7」のハッシュ値を含む。アプリケーションコンテンツ分析サーバ160は、アプリケーションデータ記憶ユニット164内で、表165の破線欄内に示したようなアプリ1のページ1に対する前のコンテンツを識別し得る。アプリケーションコンテンツ分析サーバ160は、デジタルコンポーネント要求内に含まれたハッシュ値を表165内に含まれたハッシュ値と比較し得る。この例では、2つのハッシュ値は一致するため、デジタルコンポーネント選択サーバ170は、一致している前のコンテンツに対するラベル、すなわち、17歳以上および薬物の評価を取得し得る。デジタルコンポーネント選択サーバ170は、次いで、R評価を有し、薬物を含むコンテンツとともに提示されることに適格である制限付きデジタルコンポーネントを選択し得る。この例では、デジタルコンポーネント3は、デジタルコンポーネントがヘイトスピーチまたは流血を含むコンテンツとともに提示されることからのみ除外されるため、このデジタルコンポーネント3は適格である。デジタルコンポーネント2は、デジタルコンポーネントが無制限であり、コンテンツのタイプまたは評価にかかわらず、そのコンテンツとともに提示され得るため、このデジタルコンポーネント2もやはり適格である。これらのハッシュ値が一致しなかった場合、デジタルコンポーネント2は制限無しデジタルコンポーネントであるため、提示に適格になるが、デジタルコンポーネント3は制限付きデジタルコンポーネントであるため、適格にならない。
アプリケーション111は、ハッシュデータ記憶ユニット109、たとえば、ハッシュデータベースをやはり含む。クライアントデバイス110によって提供されたコンテンツを分析した後、デジタルコンポーネント配信システム150は、ハッシュデータ記憶ユニット109内に記憶するために、コンテンツに対するハッシュ、および各ハッシュに対するラベルをクライアントデバイス110に提供し得る。アプリケーション111がデジタルコンポーネント要求115を送信するとき、ハッシュエンジン114は、アプリケーション111によって提示された(または、提示されることになる)コンテンツのハッシュをハッシュデータ記憶ユニット109内のハッシュと比較し得る。一致が存在する場合、コンテンツエンジン113は、デジタルコンポーネント要求115内に、ハッシュ自体ではなく、各一致するハッシュに対するラベルを含み得る。このようにして、デジタルコンポーネント選択サーバ170は、ハッシュまたはコンテンツを分析するのではなく、ラベルを使用してデジタルコンポーネントを選択し得る。
これは、アプリケーション111がオフラインであるとき、アプリケーション111がデジタルコンポーネントを提示することをやはり可能にする。たとえば、デジタルコンポーネント配信システム150は、デジタルコンポーネント要求115に応答して、デジタルコンポーネントのセットをアプリケーション111に提供し得る。各デジタルコンポーネントに対して、デジタルコンポーネント配信システム150は、たとえば、アプリケーション111のコンテンツに対するラベルに基づいて、デジタルコンポーネントがいつ提示され得るかを定義する規則のセットを提供することも可能である。アプリケーション111がオフラインであるとき、またはネットワーク120の帯域幅が低い(たとえば、クライアントデバイス110が、セルタワーまたは他のネットワークアクセスポイントからあまりにも遠い距離にあることにより)とき、コンテンツエンジン113は、ハッシュデータ記憶ユニット109内に記憶されたハッシュに対するラベルを使用して、デジタルコンポーネントが提示され得るかどうかを決定し、そうである場合、提示のためのデジタルコンポーネントを選択し得る。コンテンツエンジン113はまた、アプリケーション111がオンラインであり、帯域幅が、たとえば、デジタルコンポーネントを提示する際のレイテンシを低減させるために高いときですら、この技法を使用し得る。
たとえば、アプリケーション111によって提示されるコンテンツのハッシュがハッシュデータ記憶ユニット109内の対応するハッシュに一致する場合、コンテンツエンジン113は、各デジタルコンポーネントに対する規則、およびハッシュに対するラベルを使用して、提示のためのデジタルコンポーネントを選択し得る。コンテンツの1つまたは複数のハッシュがハッシュデータ記憶ユニット109内に記憶されたハッシュに一致しない場合、コンテンツエンジン113は、制限無しデジタルコンポーネントを選択し得るか、またはデジタルコンポーネントを提示しないと決定し得る(たとえば、何の制限無しデジタルコンポーネントもデジタルコンポーネントのセット内で提供されない場合)。
コンテンツエンジン113は、アプリケーション111によって提示されたコンテンツのハッシュをハッシュデータ記憶ユニット109内のハッシュと比較して、デジタルコンポーネント配信システム150からデジタルコンポーネントを待機するかどうかを決定することもできる。たとえば、コンテンツのハッシュがハッシュデータ記憶ユニット109内に記憶されたハッシュに一致しない場合、ラベルをコンテンツに割り当てるためにコンテンツが分析される必要があり得るため、コンテンツエンジン113は、デジタルコンポーネントを提示しないと決定し得る。
いくつかの実装形態では、クライアントデバイス110は、アプリケーションコンテンツ分析サーバ160と同様に、アプリケーション111のコンテンツを分析するオンデバイスコンテンツ分析エンジンを含み得る。オンデバイスコンテンツ分析エンジンは、イベント検出器112、コンテンツエンジン113、およびハッシュエンジン114とともに、SDK内にやはり含まれ得る。オンデバイスコンテンツ分析エンジンは、分析に基づいて、ラベルをコンテンツに割り当てることができる。オンデバイスコンテンツ分析エンジンは、クライアントデバイスの限定されたメモリをより少なく消費するように、アプリケーションコンテンツ分析サーバ160よりも集約的であるか、または範囲がより狭いことがある。たとえば、オンデバイスコンテンツ分析エンジンは、コンテンツ内で見出されたテキストのみを分析し、分析に基づいて、ラベルをテキストに割り当てることができる。この例では、コンテンツエンジン113は、テキストのハッシュとともに、ラベルをデジタルコンポーネント配信システム150に送信し得る。将来のデジタルコンポーネント要求に対して、コンテンツエンジン113は、分析されたテキストに対するハッシュおよびラベルを同様に提供して、たとえば、アプリケーションコンテンツ分析サーバ160によって実行される分析を合理化し得る。
いくつかの実装形態では、アプリケーションコンテンツ分析サーバ160は、アプリケーションのコンテンツが変更されるかどうか、かつ/またはどの程度頻繁に変更されるかを追跡する。たとえば、アプリケーションコンテンツ分析サーバ160が特定のアプリケーションページ(または、アプリケーションコンテンツの他の識別可能な部分)に対するデジタルコンポーネント要求を受信するたびに、アプリケーションコンテンツ分析サーバ160は、上記で説明したように、コンテンツが変更されたかどうかを決定し得る。各アプリケーションページまたはアプリケーションコンテンツの他の部分に対して、アプリケーションコンテンツ分析サーバ160は、たとえば、経時的に、そのコンテンツが変更された回数のカウントを維持し得る。アプリケーションコンテンツ分析サーバ160は、その場合、たとえば、カウントがしきい値を超える場合、それを動的として割り当てることによって、カウントに基づいて、アプリケーションページまたはアプリケーションコンテンツの他の部分を静的または動的として分類し得る。別の例では、アプリケーションコンテンツ分析サーバ160は、アプリケーションコンテンツ分析サーバ160が、コンテンツが分析された過去N回(たとえば、100回、200回、または別の適切な数)にわたってコンテンツが変更されていないと決定した場合、アプリケーションページまたはアプリケーションコンテンツの他の部分を静的と分類し得る。
静的アプリケーションコンテンツの場合、アプリケーションコンテンツ分析サーバ160は、アプリケーションの実際のコンテンツがアプリケーションコンテンツ分析サーバ160にとって利用可能でないとき、前に割り当てられたラベルを使用してデジタルコンポーネントを選択し得るが、これは、そのコンテンツが、デジタルコンポーネントが制限され得るコンテンツを含むように変更された可能性が低いためである。アプリケーションコンテンツ分析サーバ160は、たとえば、コンテンツを周期的に分析することによって、またはしきい値数のデジタルコンポーネント要求がアプリケーションページまたはアプリケーションコンテンツの他の部分に対して受信された後、統計的サンプリングを実行して、コンテンツが静的状態のままであることを確実にし得る。
図2は、アプリケーションによって提示されることになるコンテンツの適合性を示す応答を取得するための例示的なプロセス200を示す流れ図である。プロセス200は、たとえば、図1のクライアントデバイス110によって実装され得る。プロセス200の動作は、非一時的コンピュータ可読媒体内に記憶された命令として実装されてもよく、1つまたは複数のデータ処理装置による命令の実行は、1つまたは複数のデータ処理装置にプロセス200の動作を実行させ得る。
アプリケーション111内で生じるイベントを識別する(202)。イベントは、クライアントデバイス110上で動作しているアプリケーションによるコンテンツの表示を示し得る。アプリケーションによるコンテンツの表示を示すイベントは、アプリケーションがアプリケーションによって前に提示されなかった現在のコンテンツに対してスクリーンを更新しているスクリーン更新イベントであり得る。たとえば、イベントは、更新されたコンテンツ(たとえば、更新されたソーシャルネットワーキングコンテンツまたは更新されたスポーツイベントスコア)を提示するためにコンテンツをリフレッシュするためのユーザ要求または現在提示されているアプリケーションページとは異なるアプリケーションページをダウンロードおよび提示するためのユーザ要求によって開始され得る。上記で説明したように、イベントは、アプリケーション内に含まれたSDKによって検出され得る。別の例では、アプリケーションは、イベントが生じていることを示すデータをSDKに提供するコードを含み得る。
表示されることになるコンテンツをアプリケーションから受信する(204)。たとえば、そのアプリケーションまたは同じクライアントデバイス上で動作している異なるアプリケーションのSDKは、アプリケーションによって表示されることになるコンテンツを取得し得る。SDKは、コンテンツがアプリケーションに供給されるとき、コンテンツを取得するスクリプトまたはラッパー関数を含み得る。
コンテンツを表す情報をサーバ、たとえば、デジタルコンポーネント配信システム150またはその構成要素であるサーバ152、160、170のうちのいずれかに送信する(206)。情報は、アプリケーション内で生じているイベントの識別に応答して送信され得る。上記で説明したように、コンテンツを表す情報は、コンテンツ自体、コンテンツに基づいて計算されたハッシュ値、またはそれらの組合せを含み得る。たとえば、コンテンツを表す情報は、コンテンツの画像、オーディオ、および/またはビデオを含み得る。テキストの場合、コンテンツを表す情報は、テキスト自体、または、たとえば、テキスト全体に対して、かつ/もしくはテキストのそれぞれのグループに対して、テキストに基づいて計算された1つまたは複数のハッシュ値を含み得る。
応答をサーバから受信する(208)。応答は、アプリケーション内に表示するためのコンテンツの適合性を示す。たとえば、サーバは、コンテンツを表す情報を分析し、分析に基づいて、ラベルをコンテンツに割り当てることができる。上記で説明したように、ラベルは、アプリケーションコンテンツ内に含まれた、コンテンツのタイプ、カテゴリー、および/または評価を示し得る。
サーバから受信された要求に基づいて、追加の動作が実行され得る。たとえば、アプリケーション(または、アプリケーションのSDK)は、応答が、コンテンツが表示に適さないことを示すとき、アプリケーション内のコンテンツの表示を防止することができる。特定の例では、コンテンツに17歳以上の評価が割り当てられ、アプリケーションのユーザが、特定の年齢、たとえば、18に満たない場合、アプリケーションは、コンテンツの表示を防止することができる。別の例では、応答が、コンテンツが特定のタイプのコンテンツ、たとえば、悪意のあるコードまたはヘイトスピーチを含むことを示す場合、アプリケーションはそのコンテンツの表示を防止し得る。
応答が、コンテンツがアプリケーション内の表示に適していることを示すとき、アプリケーション内に表示するために追加のコンテンツが受信され得る。たとえば、サーバは、上記で説明したように、コンテンツの分析に基づいて、アプリケーション内に提示するための1つまたは複数の制限付きデジタルコンポーネントを識別し得る。サーバは、たとえば、応答とともに、識別されたデジタルコンポーネントをアプリケーションに提供し得る。アプリケーションは、コンテンツとともにデジタルコンポーネントを提示し得る。
図3は、アプリケーションによって提示されることになる他のコンテンツに基づいて、アプリケーションによる提示のためにコンテンツを選択および提供するための例示的なプロセス300を示す流れ図である。プロセス300は、たとえば、図1のデジタルコンポーネント配信システム150によって実装され得る。プロセス300の動作は、非一時的コンピュータ可読媒体上に記憶された命令として実装されてもよく、1つまたは複数のデータ処理装置による命令の実行は、1つまたは複数のデータ処理装置にプロセス300の動作を実行させ得る。
アプリケーションによって表示される現在のコンテンツを表す情報をクライアントデバイス110から受信する(302)。現在のコンテンツは、アプリケーション111によって現在提示されているコンテンツ、またはたとえば、アプリケーション内で生じているイベントに応答して提示されることになるコンテンツであり得る。上記で説明したように、コンテンツを表す情報は、コンテンツ自体、コンテンツに基づいて計算されたハッシュ値、またはそれらの組合せを含み得る。
アプリケーションのコンテンツは、アプリケーションの外部で直接的にアクセス可能でないことがある。たとえば、コンテンツは、たとえば、アプリケーション自体によってアプリケーションにログインされた特定のユーザに対してカスタマイズされてよい。特定の例では、コンテンツは、アプリケーションにログインされたユーザに提示するために選択されたソーシャルネットワーキング投稿を含み得る。別の例では、コンテンツは、コンテンツを事前に取得することが、提示されているコンテンツを表さないことになるように、頻繁に更新され得る。たとえば、コンテンツは、一日を通して変更され得る、株式相場、スポーツスコア、またはニュースコンテンツを含み得る。
アプリケーションによって表示される現在のコンテンツが1つまたは複数のクライアントデバイスにおいてアプリケーションによって前に提示された前のコンテンツから変更されたかどうかを決定する(304)。たとえば、同じコンテンツが異なるクライアントデバイスにおいて複数のユーザに提示され得る。いくつかの動的コンテンツは、1つのクライアントデバイスにおいてアプリケーションによって提示されたコンテンツが別のクライアントデバイスにおいてアプリケーションによって提示されたコンテンツとは異なり得るように、経時的に変更され得る。いくつかのコンテンツは、コンテンツが異なるユーザに対して異なるように、アプリケーションにログインしたユーザに基づいてカスタマイズされ得る。
上記で説明したように、1つまたは複数のハッシュ値が前のコンテンツに対して、かつ現在のコンテンツに対して、計算され得る。ハッシュ値は、現在のコンテンツが前のコンテンツから変更されたかどうかを決定するために、互いと比較され得る。たとえば、現在のコンテンツに対して全体的なハッシュ値が計算されてよく、全体的なハッシュ値が前のコンテンツに対して計算されてよい。これらのハッシュ値が一致する場合、現在のコンテンツは前のコンテンツから変更されていない、すなわち、現在のコンテンツは前のコンテンツに一致する。これらのハッシュ値が一致しない場合、現在のコンテンツは、前のコンテンツから変更された、すなわち、現在のコンテンツは前のコンテンツに一致しない。
現在のコンテンツが前のコンテンツから変更されたかどうかに基づいて、応答を行う。現在のコンテンツが前のコンテンツから変更されていない場合、動作306〜312が実行される。現在のコンテンツが前のコンテンツから変更された場合、動作314〜320が実行される。
現在のコンテンツが前のコンテンツから変更されていないとの決定に応答して、前のコンテンツに対する1つまたは複数のラベルを取得する(306)。1つまたは複数のラベルは、前のコンテンツの前の分析に基づいて、前のコンテンツに割り当てられてよい。たとえば、前のコンテンツを表す情報は、現在のコンテンツが受信されるのに先立って、アプリケーションから受信されていることがある。前のコンテンツを表す情報は、上記で説明したように分析されてよく、1つまたは複数のラベルは、分析に基づいて、前のコンテンツに割り当てられてよい。
上記で説明したように、各ラベルは、分析に基づいて、前のコンテンツの少なくとも一部分が割り当てられたカテゴリー、タイプ、または評価を示し得る。1つまたは複数のラベルは、前のコンテンツが制限付きデジタルコンポーネントの提示に対してホワイトリストに登録されているかどうかを示すラベルを含んでもよい。
1つまたは複数のラベルに基づいて、制限付きデジタルコンポーネントのセットを選択する(308)。制限付きデジタルコンポーネントは、コンテンツが制限付きデジタルコンポーネントの提示に対してホワイトリストに登録されていることを示す1つまたは複数のラベルが割り当てられているコンテンツとともに提示されることにのみ適格であるデジタルコンポーネントである。各制限付きデジタルコンポーネントは、それとともにデジタルコンポーネントが提示されることが禁じられるコンテンツのカテゴリー、タイプ、および/または評価を示す1つまたは複数の選択基準に関連付けられ得る。1つまたは複数のラベルは、制限付きデジタルコンポーネントのセットを選択するために、選択基準と比され得る。たとえば、制限付きデジタルコンポーネントが前のコンテンツの1つまたは複数のラベルが割り当てられたコンテンツとともに提示されることに適格であることを示す選択基準を有する各制限付きデジタルコンポーネントが制限付きデジタルコンポーネントのセット内に含めるために選択され得る。制限付きデジタルコンポーネントが、制限付きデジタルコンポーネントが前のコンテンツに対するラベルのうちの1つによって指定されたコンテンツとともに提示することに適格でないことを示す選択基準を含む場合、制限付きデジタルコンポーネントを制限付きデジタルコンポーネントのセット内に含めることはできない。
コンテンツとともに提示するための1つまたは複数のデジタルコンポーネントを選択する(310)。1つまたは複数のデジタルコンポーネントは、制限付きデジタルコンポーネントのセットから選択され得る。たとえば、1つまたは複数のデジタルコンポーネントは、アプリケーションの現在のコンテンツに関する配信基準、アプリケーション自体、クライアントデバイスに関するデータ(たとえば、クライアントデバイスの地理的位置またはユーザ)、または他の適切な基準に基づいて選択され得る。
現在のコンテンツとともにアプリケーション内に提示するために、選択されたデジタルコンポーネントをクライアントデバイスに提供する(312)。アプリケーションは、デジタルコンポーネントを受信し、そのデジタルコンポーネントをアプリケーションの現在のコンテンツとともに、たとえば、アプリケーションの1つまたは複数のデジタルコンポーネントスロット内に提示し得る。
動作304に戻ると、現在のコンテンツが前のコンテンツから変更されたとの決定に応答して、制限無しデジタルコンポーネントのセットを選択する(314)。各制限無しデジタルコンポーネントは、現在のコンテンツがホワイトリストに登録されているかどうかにかかわらず、提示に適格であるデジタルコンポーネントである。たとえば、制限無しデジタルコンポーネントは、それとともに制限無しデジタルコンポーネントが提示され得るコンテンツのタイプ、カテゴリー、または評価に対して何の制限も有さなくてよい。したがって、制限無しデジタルコンポーネントは、任意のアプリケーションコンテンツとともに提示され得る。
現在のコンテンツとともに提示するための1つまたは複数のデジタルコンポーネントを制限無しデジタルコンポーネントのセットから選択する(316)。制限付きデジタルコンポーネントと同様に、制限無しデジタルコンポーネントは、アプリケーションの現在のコンテンツに関する配信基準、アプリケーション自体、クライアントデバイスに関するデータ(たとえば、クライアントデバイスの地理的位置またはユーザ)、または他の適切な基準に基づいて選択され得る。
現在のコンテンツとともにアプリケーション内に提示するために、選択されたデジタルコンポーネントをクライアントデバイスに提供する(318)。アプリケーションは、デジタルコンポーネントを受信し、アプリケーションの現在のコンテンツとともに、デジタルコンポーネントを、たとえば、アプリケーションの1つまたは複数のデジタルコンポーネントスロット内に提示し得る。
アプリケーションの現在のコンテンツを分析する(320)。現在のコンテンツは前のコンテンツとは異なるため、現在のコンテンツを分析して、現在のコンテンツのタイプ、カテゴリー、および評価を示す1つまたは複数のラベルを現在のコンテンツに割り当てることができる。現在のコンテンツを分析して、現在のコンテンツが制限付きコンテンツの提示に対してホワイトリストに登録されていることを示すラベルを現在のコンテンツに割り当てることもできる。このようにして、同じコンテンツが後で受信される場合、ラベルを使用して、動作306〜312において説明したようにデジタルコンポーネントを選択し得る。コンテンツはすでに分析され、ラベルが割り当てられているため、これは、低減されたレイテンシで、同じコンテンツを表す情報の受信に応答して、制限付きデジタルコンポーネントが提供されることを可能にする。
本明細書で説明した本主題の実施形態および動作は、デジタル電子回路で、もしくは本明細書で開示した構造およびその構造的均等物を含めて、コンピュータソフトウェア、ファームウェア、もしくはハードウェアで、またはそれらのうちの1つもしくは複数の組合せで実装され得る。本明細書で説明した主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行するために、またはデータ処理装置の動作を制御するために、コンピュータ記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替または追加として、プログラム命令は、データ処理装置による実行のために適した受信機装置に送信するための情報を符号化するために生成される、人工的に生成された伝搬信号、たとえば、機械生成された電気信号、光信号、または電磁信号に対して符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基盤、ランダムアクセスメモリアレイもしくはランダムアクセスメモリデバイスまたはシリアルメモリアレイもしくはシリアルメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであってよいか、またはそれらの中に含まれてよい。その上、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号内で符号化されたコンピュータプログラム命令のソースまたは宛先であってよい。コンピュータ記憶媒体は、1つまたは複数の別個の物理的構成要素または物理的媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であってよく、またはそれらの中に含まれてもよい。
本明細書で説明した動作は、1つまたは複数のコンピュータ可読記憶デバイス上に記憶された、または他のソースから受信された、データに対してデータ処理装置によって実行される動作として実装され得る。
「データ処理装置」という用語は、例として、1つのプログラマブルプロセッサ、コンピュータ、システムオンチップ、もしくは複数のプログラマブルプロセッサ、コンピュータ、システムオンチップ、または前述の組合せを含めて、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含み得る。装置は、ハードウェアに加えて、当該コンピュータプログラムに対する実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想機械、またはこれらのうちの1つもしくは複数の組合せを含んでもよい。装置および実行環境は、ウェブサービス、分散型コンピューティングインフラストラクチャ、およびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現し得る。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイル型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含めて、任意の形態のプログラミング言語で書き込まれてよく、コンピュータプログラムは、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、オブジェクト、またはコンピューティング環境で使用するのに適した他のユニットとして、を含めて、任意の形態で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応し得るが、そうでなくてもよい。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語文書内に記憶された1つまたは複数のスクリプト)を保持するファイルの一部分内に、当該プログラム専用の単一ファイル内に、または複数の協調ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)内に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するか、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された、複数のコンピュータ上で実行されるように展開され得る。
本明細書で説明したプロセスおよび論理フローは、入力データに対して実行し、出力を生成することによって活動を実行する、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されてもよく、装置はそれらとして実装されてもよい。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。概して、プロセッサは、読取り専用メモリ、もしくはランダムアクセスメモリ、または両方から命令およびデータを受信することになる。コンピュータの必須要素は、命令に従って活動を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリである。概して、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むことになるか、またはそこからデータを受信するように、もしくはそこにデータを転送するように、または両方を行うように、動作可能に結合されることになる。しかしながら、コンピュータはそのようなデバイスを有さなくてもよい。その上、コンピュータは、別のデバイス、たとえば、ほんの数例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオプレーヤもしくはモバイルビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)内に埋め込まれてよい。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス;磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク;光磁気ディスク;ならびにCD ROMディスクおよびDVD-ROMディスクを含めて、すべての形態の不揮発性メモリ、メディアデバイスおよびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完されてよく、またはその中に組み込まれてもよい。
ユーザとの対話を提供するために、本明細書で説明した主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタ、および、それによってユーザが入力をコンピュータに提供し得る、キーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上で実装され得る。ユーザと対話するために、他の種類のデバイスが同様に使用されてよい。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってよく、ユーザからの入力は、オーディオ入力、音声入力、または触覚入力を含めて、任意の形態で受信されてよい。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そこから文書を受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答して、ウェブページをそのウェブブラウザに送信することによって、ユーザと対話し得る。
本明細書で説明した主題の実施形態は、バックエンド構成要素、たとえば、データサーバを含む、もしくはミドルウェア構成要素、たとえば、アプリケーションサーバを含む、またはフロンドエンド構成要素、たとえば、それを通してユーザが本明細書で説明した主題の実施形態と対話し得るグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ、または1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロンドエンド構成要素の任意の組合せを含むコンピューティングシステムで実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、概して、互いと遠隔であり、一般に、通信ネットワークを通して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行する、互いとクライアント-サーバ関係を有するコンピュータプログラムにより生じる。いくつかの実施形態では、サーバはデータ(たとえば、HTMLページ)をクライアントデバイスに送信する(たとえば、クライアントデバイスと対話するユーザにデータに表示し、ユーザからユーザ入力を受信するために)。クライアントデバイスにおいて生成されるデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信され得る。
本明細書は、多くの特定な実装形態詳細を含むが、これらは、いずれの発明の範囲または特許請求されるものに対する限定と見なされるべきではなく、むしろ、特定の発明の特定の実施形態に固有の特徴の記述と見なされるべきである。別個の実施形態の文脈で本明細書において説明したいくつかの特徴は、単一の実施形態において組み合わせて実装されてもよい。逆に、単一の実施形態の文脈で説明した様々な特徴は、複数の実施形態で別個に、または任意の適した下位組合せで実装されてもよい。その上、特徴は、特定の組合せで動作するとして上記で説明され、またそういうものとして当初特許請求すらされ得るが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、組合せから削除されてよく、特許請求される組合せは、下位組合せまたは下位組合せの変形を対象とし得る。
同様に、動作は、図面において特定の順序で示されているが、これは、所望の結果を達成するために、そのような動作が示された特定の順序でまたは連続して実行されること、またはすべての示された動作が実行されることを必要とすると理解すべきではない。状況によっては、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離が必要とされると理解すべきではなく、説明したプログラム構成要素およびシステムは、概して、単一のソフトウェア製品内に一緒に統合され得るか、または複数のソフトウェア製品に梱包され得ると理解すべきである。
これにより、主題の特定の実施形態について説明した。他の実施形態は以下の請求項の範囲内である。場合によっては、請求項で列挙される活動は、異なる順序で実行されてよく、依然として、所望の結果を達成する。加えて、添付の図面に示すプロセスは、所望の結果を達成するために、必ずしも示した特定の順序、または順番を必要とするとは限らない。いくつかの実装形態では、マルチタスキングおよび並列処理が有利であり得る。
100 環境
109 ハッシュデータ記憶ユニット
110 クライアントデバイス
111 アプリケーション
112 イベント検出器
113 コンテンツエンジン
114 ハッシュエンジン
115 デジタルコンポーネント要求
116 デジタルコンポーネント
117 アプリケーションページ
118 コンテンツエリア、アプリケーションコンテンツ
119 デジタルコンポーネントスロット
120 データ通信ネットワーク、ネットワーク
130 アプリケーション発行者
140 デジタルコンポーネント発行者
150 デジタルコンポーネント配信システム
152 フロントエンドサーバ、サーバ
160 アプリケーションコンテンツ分析サーバ、分析サーバ、サーバ
164 アプリケーションコンテンツデータ記憶ユニット
165 表
170 デジタルコンポーネント選択サーバ、サーバ
172 デジタルコンポーネントデータ記憶ユニット
200 プロセス
300 プロセス

Claims (16)

  1. クライアントデバイス上のアプリケーション内に表示されることになるコンテンツを分析するための方法であって、前記方法が、前記クライアントデバイスによって実行され、前記方法が、
    前記アプリケーション内で生じるイベントを識別するステップであって、前記イベントが、前記アプリケーションによるコンテンツ表示を示す、ステップと、
    表示されることになる前記コンテンツを前記アプリケーションから受信するステップと、
    前記コンテンツを表す情報をサーバに送信するステップと、
    応答を前記サーバから受信するステップであって、前記応答が、前記アプリケーション内に表示するための前記コンテンツの適合性を示す、ステップと
    を含む、方法。
  2. 前記コンテンツを表す前記情報が、前記コンテンツの少なくとも一部分に対してハッシュ関数を実行することによって生成されるハッシュ値を含む、請求項1に記載の方法。
  3. 前記コンテンツが表示に適していないことを前記応答が示すとき、前記アプリケーション内の前記コンテンツの表示を防止するステップ
    をさらに含む、請求項1または2に記載の方法。
  4. 前記コンテンツが前記アプリケーション内の表示に適していることを前記応答が示すとき、追加のコンテンツを受信するステップと、
    前記コンテンツが前記アプリケーション内に表示されているとき、前記追加のコンテンツを前記クライアントデバイス上に表示するステップと
    をさらに含む、請求項1または2に記載の方法。
  5. 前記イベントがスクリーン更新イベントである、請求項1から4のいずれか一項に記載の方法。
  6. 1つまたは複数のデータ処理装置によって実行される方法であって、
    クライアントデバイスにおいて実行され、前記1つまたは複数のデータ処理装置によって直接アクセス可能でない、アプリケーションによって表示される現在のコンテンツを表す情報を前記クライアントデバイスから受信するステップと、
    前記1つまたは複数のデータ処理装置によって、前記受信された情報に基づいて、前記アプリケーションによって表示される前記現在のコンテンツが1つまたは複数のクライアントデバイスにおいて前記アプリケーションによって前に表示された前のコンテンツから変更されたかどうかを決定するステップと、
    前記1つまたは複数のデータ処理装置によって、前記現在のコンテンツが前記前のコンテンツから変更されたかどうかに基づいて、前記情報に応答するステップと
    を含み、前記応答するステップが、
    前記現在のコンテンツが前記前のコンテンツから変更されていないとの決定に応答して、
    前記前のコンテンツに対して、前記前のコンテンツの少なくとも一部分が割り当てられたコンテンツカテゴリーを各々が示す1つまたは複数のラベルを取得するステップであって、前記1つまたは複数のラベルが、(i)前記情報が受信されるのに先立って実行された、かつ(ii)前記前のコンテンツが制限付きデジタルコンポーネントの提示に対してホワイトリストに登録されていることを示す、前記前のコンテンツの前の分析に基づいて、前記前のコンテンツに割り当てられる、ステップと、
    前記1つまたは複数のラベルに基づいて、コンテンツが制限付きデジタルコンポーネントの提示に対してホワイトリストに登録されていることを示す前記1つまたは複数のラベルが割り当てられている前記コンテンツとともに提示されることにのみ適格である制限付きデジタルコンポーネントのセットを選択するステップと、
    前記現在のコンテンツとともに前記アプリケーションにおいて提示するための前記制限付きデジタルコンポーネントのうちの1つまたは複数を前記制限付きデジタルコンポーネントのセットから選択するステップと
    を含む、ステップと、
    前記選択された1つまたは複数の制限付きデジタルコンポーネントを、前記情報を受信した前記クライアントデバイスに提供するステップと、
    前記現在のコンテンツが変更されたとの決定に応答して、前記制限付きデジタルコンポーネントのうちの前記1つまたは複数ではなく、コンテンツがホワイトリストに登録されているかどうかにかかわらず、提示に適格である制限無しデジタルコンポーネントを選択するステップと
    を含む、方法。
  7. 前記制限無しデジタルコンポーネントを選択するステップが、
    コンテンツがホワイトリストに登録されているかどうかにかかわらず、提示に適格である制限無しデジタルコンポーネントのセットを識別するステップと、
    前記制限無しデジタルコンポーネントに対する1つまたは複数の配信基準に基づいて、前記制限無しデジタルコンポーネントを制限無しデジタルコンポーネントの前記セットから選択するスステップと
    を含む、請求項6に記載の方法。
  8. 前記現在のコンテンツが前記前のコンテンツから変更されたとの決定に応答して、前記アプリケーションの前記現在のコンテンツを分析するステップと、
    前記現在のコンテンツが制限付きデジタルコンポーネントの提示に対してホワイトリストに登録されていることを示す、少なくとも1つのラベルを、前記分析に基づいて前記現在のコンテンツに割り当てるステップと
    をさらに含む、請求項7に記載の方法。
  9. 前記1つまたは複数のラベルのうちの少なくとも1つが、前記現在のコンテンツが所与の適さないコンテンツカテゴリーを含むとして分類されていることを示し、
    前記制限付きデジタルコンポーネントのセットを選択するステップが、
    前記所与のデジタルコンポーネントが前記所与の適さないコンテンツカテゴリーを含むコンテンツとともに提示されることに適格ではないことを示す1つまたは複数の選択基準を所与のデジタルコンポーネントが有すると決定するステップと、
    前記所与のデジタルコンポーネントが前記所与の適さないコンテンツカテゴリーを含むコンテンツとともに提示されることに適格ではないことを示す1つまたは複数の選択基準を前記所与のデジタルコンポーネント有するとの決定に応答して、前記制限付きデジタルコンポーネントのセット内に前記所与のデジタルコンポーネントを含めないと決定するステップと
    を含む、請求項6から8のいずれか一項に記載の方法。
  10. 前記現在のコンテンツを表す前記情報が、前記現在のコンテンツの少なくとも一部分に対してハッシュ関数を実行することによって生成されたハッシュ値を含み、
    前記受信された情報に基づいて、前記現在のコンテンツが前記前のコンテンツから変更されたかどうかを決定するステップが、前記ハッシュ値を前記前のコンテンツに対する前のハッシュ値と比較するステップを含む
    請求項6から9のいずれか一項に記載の方法。
  11. 前記現在のコンテンツを表す前記情報が複数のハッシュ値を含み、各ハッシュ値が、前記アプリケーションによって表示される前記現在のコンテンツの一部分を表す、請求項6から10のいずれか一項に記載の方法。
  12. 前記アプリケーションが、スクリーン更新イベントの検出に応答して、前記アプリケーションによって表示されるコンテンツを表す前記情報を提供する、請求項6から11のいずれか一項に記載の方法。
  13. アプリケーションページのコンテンツが変更されていないと決定される回数に基づいて、前記現在のコンテンツを含む前記アプリケーションページを静的と分類するステップと、
    静的としての前記アプリケーションページの分類に応答して、前記アプリケーションページのコンテンツに対して前に割り当てられたラベルを使用して、前記アプリケーションのコンテンツが利用可能でないとき、前記アプリケーションにおいて提示するための制限付きデジタルコンポーネントを選択するステップと
    をさらに含む、請求項6から11のいずれか一項に記載の方法。
  14. 請求項1から13のいずれか一項に記載の方法を実行するように構成された、装置。
  15. 命令を備えたコンピュータ可読媒体であって、前記命令が、コンピュータによって実行されると、前記コンピュータに、請求項1から13のいずれか一項に記載の方法を実行させる、コンピュータ可読媒体。
  16. 命令を備えたコンピュータプログラム製品であって、前記命令が、コンピュータによって実行されると、前記コンピュータに請求項1から13のいずれか一項に記載の方法を実行させる、コンピュータプログラム製品。
JP2020567968A 2019-02-01 2019-10-23 動的アプリケーションコンテンツ分析 Active JP7193555B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022029443A JP7119246B2 (ja) 2019-02-01 2022-02-28 動的アプリケーションコンテンツ分析
JP2022123394A JP7422823B2 (ja) 2019-02-01 2022-08-02 動的アプリケーションコンテンツ分析

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962800172P 2019-02-01 2019-02-01
US62/800,172 2019-02-01
PCT/US2019/057541 WO2020159591A1 (en) 2019-02-01 2019-10-23 Dynamic application content analysis

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022029443A Division JP7119246B2 (ja) 2019-02-01 2022-02-28 動的アプリケーションコンテンツ分析

Publications (2)

Publication Number Publication Date
JP2021530758A true JP2021530758A (ja) 2021-11-11
JP7193555B2 JP7193555B2 (ja) 2022-12-20

Family

ID=68583493

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020567968A Active JP7193555B2 (ja) 2019-02-01 2019-10-23 動的アプリケーションコンテンツ分析
JP2022029443A Active JP7119246B2 (ja) 2019-02-01 2022-02-28 動的アプリケーションコンテンツ分析
JP2022123394A Active JP7422823B2 (ja) 2019-02-01 2022-08-02 動的アプリケーションコンテンツ分析

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2022029443A Active JP7119246B2 (ja) 2019-02-01 2022-02-28 動的アプリケーションコンテンツ分析
JP2022123394A Active JP7422823B2 (ja) 2019-02-01 2022-08-02 動的アプリケーションコンテンツ分析

Country Status (6)

Country Link
US (3) US10917494B2 (ja)
EP (1) EP3814958A1 (ja)
JP (3) JP7193555B2 (ja)
KR (2) KR102446963B1 (ja)
CN (2) CN112262386B (ja)
WO (1) WO2020159591A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11974023B2 (en) 2021-04-02 2024-04-30 Google Llc Selection and provision of digital components during display of content

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003225565A (ja) 2001-11-20 2003-08-12 San-Dia Polymer Ltd 吸水剤、その製法、吸水剤を用いた吸収体並びに吸収性物品
US10917494B2 (en) 2019-02-01 2021-02-09 Google Llc Dynamic application content analysis
IL281328A (en) 2021-03-08 2022-10-01 Google Llc Flexible content selection processes through multi-sided secure calculation
IL283674A (en) 2021-06-03 2023-01-01 Google Llc Distribution and monitoring of cross-disciplinary experimental groups to maintain privacy
CN114363669B (zh) * 2021-12-29 2023-05-30 北京达佳互联信息技术有限公司 信息显示方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126267A1 (en) * 2001-12-27 2003-07-03 Koninklijke Philips Electronics N.V. Method and apparatus for preventing access to inappropriate content over a network based on audio or visual content
US8234168B1 (en) * 2012-04-19 2012-07-31 Luminate, Inc. Image content and quality assurance system and method
US20140189047A1 (en) * 2012-12-31 2014-07-03 Google Inc. Expanding content inventory
US20160323307A1 (en) * 2015-04-29 2016-11-03 Symantec Corporation Systems and methods for evaluating content provided to users via user interfaces

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080040748A1 (en) 2006-08-09 2008-02-14 Ken Miyaki Dynamic rating of content
US8255873B2 (en) 2006-11-20 2012-08-28 Microsoft Corporation Handling external content in web applications
US7844693B2 (en) 2007-09-13 2010-11-30 International Business Machines Corporation Methods and systems involving monitoring website content
US8386314B2 (en) 2008-12-11 2013-02-26 Accenture Global Services Limited Online ad detection and ad campaign analysis
US20100257182A1 (en) 2009-04-06 2010-10-07 Equiom Labs Llc Automated dynamic style guard for electronic documents
US20160140611A1 (en) 2010-12-20 2016-05-19 Sizmek Technologies Ltd. System and method for criteria-based advertisement blocking
US20130013705A1 (en) * 2011-07-08 2013-01-10 Image Vision Labs, Inc. Image scene recognition
US9053416B1 (en) 2012-01-03 2015-06-09 Google Inc. Systems and methods for screening potentially inappropriate content
WO2015048338A1 (en) 2013-09-26 2015-04-02 Publicover Mark W Providing targeted content based on a user's moral values
JP6134246B2 (ja) * 2013-10-16 2017-05-24 日本電信電話株式会社 ハッシュ関数生成方法、ハッシュ値生成方法、ハッシュ関数生成装置、ハッシュ値生成装置、ハッシュ関数生成プログラム及びハッシュ値生成プログラム
US9246875B2 (en) 2013-12-31 2016-01-26 Dropbox, Inc. Identifying and blocking prohibited content items in a content management system
CN105099796B (zh) 2014-04-22 2018-07-20 深圳市志友企业发展促进中心 一种多媒体内容更改检测方法、装置及资源传播系统
US20160019210A1 (en) 2014-07-21 2016-01-21 Dropbox, Inc. Sharing unmanaged content using a content management system
US10820051B2 (en) 2014-10-21 2020-10-27 At&T Mobility Ii Llc Inhibiting display of advertisements with age-inappropriate content
US9986280B2 (en) * 2015-04-11 2018-05-29 Google Llc Identifying reference content that includes third party content
CN105096162B (zh) * 2015-07-31 2020-01-10 小米科技有限责任公司 内容项显示方法及装置
CN105916005B (zh) * 2016-06-12 2019-01-08 腾讯科技(深圳)有限公司 多媒体信息的内容模式控制方法和装置
US10015280B2 (en) * 2016-08-18 2018-07-03 Google Llc Content delivery acceleration system
WO2018084854A1 (en) * 2016-11-04 2018-05-11 Rovi Guides, Inc. Methods and systems for recommending content restrictions
CN114020378B (zh) * 2017-02-02 2023-12-12 谷歌有限责任公司 用于处理数字组件的方法及系统
US11113757B1 (en) * 2017-02-13 2021-09-07 Wells Fargo Bank, N.A. Systems and methods for filtering digital content having a negative financial influence
US10404840B1 (en) * 2018-04-27 2019-09-03 Banjo, Inc. Ingesting streaming signals
US11233776B1 (en) * 2017-11-01 2022-01-25 Amazon Technologies, Inc. Providing content including sensitive data
WO2019098895A1 (en) * 2017-11-17 2019-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for detecting digital content tampering
CN109617999A (zh) * 2019-01-08 2019-04-12 平安科技(深圳)有限公司 内容推送方法、装置、计算机设备及存储介质
CN109902223B (zh) * 2019-01-14 2020-12-04 中国科学院信息工程研究所 一种基于多模态信息特征的不良内容过滤方法
US10917494B2 (en) 2019-02-01 2021-02-09 Google Llc Dynamic application content analysis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126267A1 (en) * 2001-12-27 2003-07-03 Koninklijke Philips Electronics N.V. Method and apparatus for preventing access to inappropriate content over a network based on audio or visual content
US8234168B1 (en) * 2012-04-19 2012-07-31 Luminate, Inc. Image content and quality assurance system and method
US20140189047A1 (en) * 2012-12-31 2014-07-03 Google Inc. Expanding content inventory
US20160323307A1 (en) * 2015-04-29 2016-11-03 Symantec Corporation Systems and methods for evaluating content provided to users via user interfaces

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11974023B2 (en) 2021-04-02 2024-04-30 Google Llc Selection and provision of digital components during display of content

Also Published As

Publication number Publication date
US10917494B2 (en) 2021-02-09
KR20220136443A (ko) 2022-10-07
JP2022171654A (ja) 2022-11-11
US20200252478A1 (en) 2020-08-06
US20210136174A1 (en) 2021-05-06
JP7422823B2 (ja) 2024-01-26
US20220360638A1 (en) 2022-11-10
EP3814958A1 (en) 2021-05-05
CN112262386B (zh) 2021-09-14
JP7193555B2 (ja) 2022-12-20
KR20210005255A (ko) 2021-01-13
WO2020159591A1 (en) 2020-08-06
JP2022082538A (ja) 2022-06-02
KR102446963B1 (ko) 2022-09-23
CN113761516A (zh) 2021-12-07
CN112262386A (zh) 2021-01-22
US11722575B2 (en) 2023-08-08
JP7119246B2 (ja) 2022-08-16
US11388254B2 (en) 2022-07-12
KR102626275B1 (ko) 2024-01-17

Similar Documents

Publication Publication Date Title
JP7119246B2 (ja) 動的アプリケーションコンテンツ分析
JP6321019B2 (ja) 動的コンテンツアイテム作成
US10503803B2 (en) Animated snippets for search results
US9787797B2 (en) Organization targeted status updates
CN106095766A (zh) 使用选择性重新讲话来校正话音识别
JP7233435B2 (ja) 推測された意図に基づく場所的拡張のトリガ
US9043425B2 (en) Resource locator remarketing
WO2021076900A1 (en) Multi-tier scalable media analysis
CN111104583A (zh) 一种直播间推荐方法、存储介质、电子设备及系统
CN106570003B (zh) 数据推送方法及装置
US20160239155A1 (en) Adaptive media
US9749438B1 (en) Providing a content item for presentation with multiple applications
US11347812B2 (en) Percentile linkage clustering
US10846738B1 (en) Engaged view rate analysis
JP7274592B2 (ja) クライアントデバイス上での冗長デジタルコンポーネントの提供および表示の制限
JP7223164B2 (ja) データインテグリティの最適化
US20230259815A1 (en) Machine learning techniques for user group based content distribution
WO2024039474A1 (en) Privacy sensitive estimation of digital resource access frequency

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221208

R150 Certificate of patent or registration of utility model

Ref document number: 7193555

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150