(57)【要約】  ユーザデバイスにおいてユーザにコンテンツを表示する方法であって、ユーザデバイスにおいて、ウェブ要素を示すウェブ要素要求を開始することと；ウェブ要素サーバにおいて、ウェブ要素要求に応答してウェブ要素をユーザデバイスに送信することと；コード供給サーバにおいて、ウェブ要素要求に応答してコード部分要求を受信することと；コード供給サーバにおいて、コード部分要求に応答してユーザデバイスにコード部分を送信することと；ユーザデバイスにおいて、ウェブ要素要求に応答してコード部分を実行することであって、コード部分を実行することにより、ユーザデバイスのプロセッサに、ユーザデバイスにおいてユーザデータを照合させ、照合されたユーザデータに基づいてアクションを実行させる命令を生成させる、ことと、を含む、方法。
2021508400.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツをユーザに表示するためのシステムにおいて、
前記システムは、ユーザデバイスと、ウェブ要素サーバと、コード供給サーバと、を含み、
前記ユーザデバイスは、ウェブ要素を示すウェブ要素要求を開始するように構成され、
前記ウェブ要素サーバは、前記ウェブ要素要求に応答して前記ウェブ要素を前記ユーザデバイスに送信するように構成され、
前記コード供給サーバは、前記ウェブ要素要求に応答してコード部分要求を受信するように構成され、
前記コード供給サーバは、前記コード部分要求に応答してコード部分を前記ユーザデバイスに送信するように構成され、
前記ユーザデバイスは、前記ウェブ要素要求に応答して前記コード部分を実行するように構成され、
前記コード部分を実行することにより、前記ユーザデバイスのプロセッサは、
前記ユーザデバイスにおいてユーザデータを照合し、
照合された前記ユーザデータに基づいてアクションを実行させる命令を生成する、システム。
【請求項２】
前記アクションを実行させる命令は、前記ユーザデバイスにおいてコンテンツを表示させるコンテンツ命令を含み、
前記コンテンツは、前記照合されたユーザデータに基づいており、
前記コード部分を実行することにより、前記ユーザデバイスのプロセッサは、前記コンテンツ命令に応答して前記コンテンツを表示する、請求項１に記載のシステム。
【請求項３】
前記アクションを実行させる命令は、フラグを前記ユーザデバイスのユーザと関連付けさせるフラグ命令を生成することを含み、
前記フラグは、前記照合されたユーザデータに基づいている、請求項１に記載のシステム。
【請求項４】
前記コード部分を実行することにより、前記ユーザデバイスの前記プロセッサは、前記ユーザを複数のカテゴリのうちの少なくとも１つのカテゴリと関連付ける、請求項１に記載のシステム。
【請求項５】
前記アクションは、前記ユーザと関連付けられた予め決定された前記少なくとも１つのカテゴリに基づいて選択される、請求項４に記載のシステム。
【請求項６】
前記命令を生成することは、前記ユーザデバイスからコンテンツサーバに、前記照合されたユーザデータの少なくとも一部を示すデータ項目を含む前記命令を送信することを含む、請求項１に記載のシステム。
【請求項７】
前記コンテンツサーバは、前記コンテンツ命令に応答して、前記照合されたユーザデータの前記一部に基づくコンテンツを送信するように構成されている、請求項６に記載のシステム。
【請求項８】
前記命令を生成することは、前記ユーザデバイスからコンテンツサーバに、前記少なくとも１つのカテゴリを示すデータ項目を含む前記命令を送信することを含む、請求項４に記載のシステム。
【請求項９】
前記コンテンツサーバは、前記コンテンツ命令に応答して、前記少なくとも１つのカテゴリに基づくコンテンツを前記ユーザデバイスに送信するように構成されている、請求項８に記載のシステム。
【請求項１０】
前記コード供給サーバは、複数のカテゴリを定義し、前記コード部分要求に応答して前記複数のカテゴリの少なくともサブセットを前記ユーザデバイスに送信するように構成されている、請求項１に記載のシステム。
【請求項１１】
カテゴリを定義することは、前記カテゴリについて少なくとも１つの基準を選択することを含み、
前記ユーザをカテゴリと関連付けることは、前記照合されたユーザデータの少なくとも一部を前記カテゴリの前記少なくとも１つの基準と適合させることを含む、請求項４に記載のシステム。
【請求項１２】
前記コンテンツ命令に応答して前記コンテンツを表示することは、前記コンテンツを前記ウェブ要素に埋め込むことを含む、請求項２に記載のシステム。
【請求項１３】
前記ユーザデバイスは、ウェブ要素を示す追加のウェブ要素要求を開始し、前記ユーザデバイスにおける前記コード部分のバージョンが、前記コード供給サーバにおける前記コード部分のバージョンに対応すると決定するように構成されている、請求項１に記載のシステム。
【請求項１４】
前記ユーザデバイスは、前記ユーザデバイスにおける前記コード部分の前記バージョンが前記コード供給サーバにおけるバージョンに対応しないと決定することに応答して、前記コード供給サーバにおける前記コード部分の前記バージョンを受信するように構成されている、請求項１３に記載のシステム。
【請求項１５】
前記コード供給サーバにおける前記コード部分の前記バージョンは、最新バージョンである、請求項１３に記載のシステム。
【請求項１６】
前記ウェブ要素は、ウェブページ、ビデオコンテンツ、およびオンラインゲームのうちの少なくとも１つを含む、請求項１に記載のシステム。
【請求項１７】
前記ユーザを複数のカテゴリのうちの少なくとも１つのカテゴリと関連付けることは、
照合された前記ユーザが、複数のカテゴリのうちの少なくとも１つのカテゴリの基準に適合しない否定的な状態から、前記カテゴリに適合する肯定的な状態に移行したかどうかを検出すること、
前記照合されたユーザが、複数のカテゴリのうちの少なくとも１つのカテゴリの基準に適合する肯定的な状態から、前記カテゴリに適合しない否定的な状態に移行したかどうかを検出すること、
前記照合されたユーザが複数のカテゴリのうちの少なくとも１つのカテゴリの基準に適合するかどうかを検出すること、および、
前記照合されたユーザが１つのクエリ値から新しいクエリ値に移行したかどうかを検出すること、
のうちの少なくとも１つを含む、請求項４に記載のシステム。
【請求項１８】
前記ウェブ要素サーバは、前記ウェブ要素要求に応答してコードスニペットを前記ユーザデバイスに送信するように構成され、
前記ユーザデバイスは、前記コード部分要求を開始するために前記コードスニペットを実行するように構成されている、請求項１に記載のシステム。
【請求項１９】
ユーザデバイスにおいてユーザにコンテンツを表示するためのサーバにおいて、
前記ユーザデバイスで開始されたウェブ要素要求に応答してコード部分要求を受信するステップと、
前記コード部分要求に応答してコード部分を前記ユーザデバイスに送信するステップと、
を実行するように構成されたプロセッサを含み、
前記コード部分は、前記ユーザデバイスにおいて実行され、前記ユーザデバイスのプロセッサに、
前記ユーザデバイスにおいてユーザデータを照合させ、
照合された前記ユーザデータに基づいてアクションを実行させる命令を生成させるように構成されている、サーバ。
【請求項２０】
ユーザデバイスにおいてユーザにコンテンツを表示する方法において、
前記ユーザデバイスにおいて、ウェブ要素を示すウェブ要素要求を開始することと、
ウェブ要素サーバにおいて、前記ウェブ要素要求に応答して前記ウェブ要素を前記ユーザデバイスに送信することと、
コード供給サーバにおいて、前記ウェブ要素要求に応答してコード部分要求を受信することと、
前記コード供給サーバにおいて、前記コード部分要求に応答して前記ユーザデバイスにコード部分を送信することと、
前記ユーザデバイスにおいて、前記ウェブ要素要求に応答して前記コード部分を実行することであって、前記コード部分を実行することにより、前記ユーザデバイスのプロセッサに、
前記ユーザデバイスにおいてユーザデータを照合させ、
照合された前記ユーザデータに基づいてアクションを実行させる命令を生成させる、ことと、
を含む、方法。
【発明の詳細な説明】
【開示の内容】
【０００１】
〔技術分野〕
本開示は、特定のコンテンツを高速かつ安全にユーザに提供するためのシステム、サーバ、ユーザデバイス、方法、およびコンピュータプログラムに関する。
【０００２】
〔背景〕
現代の環境では、データおよびデジタルコンテンツを識別しユーザに提供することが非常に重要である。特に、特定のコンテンツの正確な識別、およびそのコンテンツがユーザに提供され得る速度は、多くの技術研究開発の焦点である。
【０００３】
データおよびデジタルコンテンツは、医療データ、統計データ、科学研究データ、およびユーザデータなどに基づく個人化コンテンツのような多くの形態をとることができる。本発明は、一般にユーザにデータが提供され得る速度および精度を向上させることを目的とする。しかしながら、個人化コンテンツの提供は、本明細書では、提供される技術的利点を示す、本発明の特定の適用として説明される。
【０００４】
従来のコンピューティング環境では、ユーザに特化したコンテンツが埋め込まれたウェブサイトをユーザが初めて訪問したときに、示されるコンテンツは、しばしば不正確に識別されてきた（またはユーザに関連しない）。これは、コンテンツ選択プロセスが、その選択の基礎となるいかなるユーザ情報も有していないか、またはシステムが、「クラウド」においてユーザ情報を送信および収集することによってコンテンツを適合させることができるユーザプロファイルを構築するために時間を必要とするかのいずれかによる可能性が高い。
【０００５】
既存のシステムでは、クラウドにおいてユーザデータを送信、処理、および解析する時間は１２〜２４時間程度かかり、ユーザがそのウェブサイトを次に訪問する前には不完全である場合がある。この長い時間枠には問題がある。
【０００６】
さらに、従来のシステムでは、（広告ターゲット「セグメント」としても知られる）特定のユーザを配置するための新しいカテゴリを作成するには、クラウドにおいて大量のユーザデータを処理することを必要とする。これには多大な時間がかかり、高速で効率的なセグメント更新の「ボトルネック」となる可能性がある。これは、セグメントが定義されるのとセグメントが実装されるのとの間の時間遅延の結果として、ターゲティング機会の損失につながる可能性がある。
【０００７】
現在、ほとんどのコンテンツパーソナライゼーションプラットフォームは、バッチベースの処理モデルを使用している。これには、ユーザの行動に関連するデータを収集し、プロファイリング情報データを格納し、その後、解析ソフトウェアを実行して、パターンマッチングに基づき、所与のカテゴリ内のユーザにルールを適用して、所与のユーザの関心対象となり得る製品を決定することが含まれる。
【０００８】
このアプローチはいくつかの制限を呈する。第一に、新しい分類メトリクスに基づいて処理する必要がある場合、取り込まれたデータはこれらのルールを適用するために十分ではない場合があり、これらのルールによりユーザ分類を実行することは、将来収集されるデータでのみ可能となり得るという点で制限される。第二に、本質的にはより複雑な形態のセグメントである新しいクエリは、典型的には、新しいデータでのみ実行されるが、理想的なソリューションであれば、過去のデータを解析して、これらのクエリをすぐに役に立つようにすることができるであろう。第三に、この解析エンジンは、通常、サーバ側に実装され、したがって、いかなるオフラインアクティビティも捕捉することができず、これは、ユーザデバイスが、セッション中に接続に出入りすることができるという点でモバイルである場合の使用事例にとって重要である。
【０００９】
典型的には、ウェブカスタマイズプラットフォームは、ユーザに関する大量のデータを収集し、次に、クエリを実行し、セグメントおよび統計の洞察を可能にするために、サーバでこのデータをバッチ処理する。これらは、典型的には、２４時間毎に一回実行され、その結果、顧客プロファイリング情報が、例えば広告に使用され得る前に、かなりの遅れを生じる。これは、例えば、ユーザが短時間に非常に素早く閲覧している可能性が高く、再訪問の可能性が限られている場合で、ユーザの行動が非常に変動的で、速度に焦点を当てているような場合に、有効性の損失をもたらす場合がある。いくつかのリアルタイム解析プラットフォームが存在するが、それらは典型的には、ライブコンポーネントを提供するために使用されるデータを単純化し、例えば現在位置のみを使用するか、または、Ｇｍａｉｌおよび他のグーグル製品などのサービスに専用である。
【００１０】
携帯電話、タブレット、ノートパソコン、およびその他のインターネット接続された個人用デバイスの数が増加し、今後数年間でＩｏＴデバイスの劇的な増加が予想される結果、収集されるデータの量は、クラウドベースの集中型サーバへの取り込みデータのタイムリーな送信およびクラウドベースの集中型サーバでの取り込みデータの処理が重大な技術的課題を呈するほどに増加することが予想されるという懸念がある。利用可能な伝送帯域幅が制限されることは、データ処理プロセスをさらに遅くする制約となる可能性が高い。
【００１１】
上記を考慮すると、本明細書で特定される技術的問題の少なくともいくつかを軽減するシステムを提供する必要がある。
【００１２】
〔概要〕
この概要は、以下の詳細な説明でさらに説明される概念の抜粋を簡略化した形で紹介するために提供される。この概要は、特許請求される主題の重要な特徴または本質的な特徴を特定することを意図したものではなく、また、特許請求される主題の範囲を決定する助けとして使用されることを意図したものでもない。
【００１３】
一態様によれば、ユーザデバイスにおいてユーザにコンテンツを表示する方法があり、この方法は、ユーザデバイスにおいて、ウェブ要素を示すウェブ要素要求を開始することと；ウェブ要素サーバにおいて、ウェブ要素要求に応答してウェブ要素をユーザデバイスに送信することと；コード供給サーバにおいて、ウェブ要素要求に応答してコード部分要求を受信することと；コード供給サーバにおいて、コード部分要求に応答してユーザデバイスにコード部分を送信することと；ユーザデバイスにおいて、ウェブ要素要求に応答してコード部分を実行することであって、コード部分を実行することにより、ユーザデバイスのプロセッサに、ユーザデバイスにおいてユーザデータを照合させ、照合されたユーザデータに基づいてアクションを実行させる命令を生成させる、ことと、を含む。
【００１４】
この方法では、ユーザデータを外部デバイスに送信せずにデバイスにおいてユーザデータを照合することにより、ユーザデータに基づく（またはユーザに特化した）アクションを実行する（例えば、コンテンツを識別してユーザに表示する）ことができる。これにより、セキュリティの整っていない可能性のあるデバイスではユーザデータを利用できないため、セキュリティが強化される。また、ユーザデータはユーザデバイスにおいて処理されるため、ユーザデータの照合に伴う処理負担が分散される。これは、ユーザの数が、例えば、数万人、数十万人、または数百万人のユーザに至るほど大きい場合、複数のユーザにとって特に有利である。
【００１５】
ユーザデータに基づいて実行されるアクションの例として、照合されたユーザデータに基づいてコンテンツを表示することが挙げられるが、このコンテンツを表示する代わりに、またはそれに加えて、他のアクションが実行され得ることも考えられる。例えば、特定のユーザと関連付けられたセグメントまたはクエリがイベントに応答して変化する場合、実行されるアクションは、ユーザデバイスにおいてコード部分によってデバイス上で実行され得る任意のアクションであり得、ここで、コンテンツの表示は単なる一例である。一例では、セグメントの変更に応答して、例えば、フェイスブックのようなソーシャルネットワークのオーディエンスＡＰＩ内で、目的の特定のトピックに対していくらか好みを有するとしてユーザにフラグを立てるＡＰＩコールを行うアクションを実行することができる。この例では、コンテンツがユーザに表示されず、代わりに、後日ソーシャルネットワークを介してユーザをターゲットにするためにフラグが設定されることが可能である。別の例では、実行されるアクションは電子メールに関連してもよく、例えば、アクションは、照合されたユーザデータに基づいて電子メールを送信させることができる。
【００１６】
本方法は、ウェブ要素サーバにおいて、ウェブ要素要求に応答してコードスニペットをユーザデバイスに送信することと；ユーザデバイスにおいてコードスニペットを実行し、コード部分要求を開始することと、をさらに含み得る。このようにして、ウェブ要素サーバがこの要求を開始するよう要求されるのとは対照的に、ユーザデバイスにコード部分要求を発行させることができる。しかし、いくつかの実施形態では、ウェブ要素サーバが、ユーザデバイスを経由せずにコード供給サーバにコード部分要求を発行し得ることが十分に可能である。別の実施形態では、ウェブ要素サーバおよびコード供給サーバは、同じサーバ内に含まれてもよい。
【００１７】
コード部分を実行することにより、ユーザデバイスのプロセッサは、ユーザを複数のカテゴリのうちの少なくとも１つと関連付けることができる。コンテンツは、ユーザと関連付けられた少なくとも１つのカテゴリに基づいて選択することができる。このようにして、照合されたユーザデータを全体として記憶するのではなく、ユーザデータを単一のカテゴリと関連付けることができる。例えば、いったんユーザのカテゴリが確立されると、照合されたユーザデータを破棄し、ユーザをカテゴリと関連付けて保持することが可能となり得る。これにより、本方法によって必要とされるデータ記憶量を削減することができる。
【００１８】
ユーザを複数のカテゴリのうちの少なくとも１つと関連付けることは、照合されたユーザが、複数のカテゴリのうちの少なくとも１つの基準に適合しない否定的な状態から、そのカテゴリに適合する肯定的な状態に移行したかどうかを検出することを含み得る。ユーザを複数のカテゴリのうちの少なくとも１つと関連付けることは、照合されたユーザが、複数のカテゴリのうちの少なくとも１つの基準に適合する肯定的な状態から、そのカテゴリに適合しない否定的な状態に移行したかどうかを検出することを含み得る。ユーザを複数のカテゴリのうちの少なくとも１つと関連付けることは、照合されたユーザが複数のカテゴリのうちの少なくとも１つの基準に適合するかどうかを検出することを含み得る。
【００１９】
コンテンツ命令を生成することは、ユーザデバイスからコンテンツサーバに、照合されたユーザデータの少なくとも一部を示すデータ項目を含むコンテンツ命令を送信することを含み得る。このようにして、コンテンツサーバは、ユーザデバイスに提供されることが意図されたコンテンツを正確に識別することができる。
【００２０】
アクションを実行させる命令は、ユーザデバイスにおいてコンテンツを表示させるコンテンツ命令を含むことができ、コンテンツは、照合されたユーザデータに基づいており、コード部分を実行することにより、ユーザデバイスのプロセッサは、コンテンツ命令に応答してコンテンツを表示する。コンテンツ命令を生成することは、ユーザデバイスからコンテンツサーバに、少なくとも１つのカテゴリを示すデータ項目を含むコンテンツ命令を送信することを含み得る。（例えば、照合されたユーザデータ全体が存在しない場合に）カテゴリを送信することは、送信されるデータ量が削減されるため有益であり、よって、帯域幅の使用量とストレージの負荷が軽減される。さらに、カテゴリを送信することで、機密性の高い可能性のあるユーザデータが他のデバイスおよび第三者に送信されることが回避され、セキュリティおよびプライバシーが強化される。
【００２１】
コンテンツ命令は、データエンリッチメントサーバを介してユーザデバイスからコンテンツサーバに送信され得る。データエンリッチメントサーバは、照合されたユーザデータに追加のユーザを提供することができる。照合されたユーザデータは、ウェブ要素から抽出されたデータと組み合わせることができる。ウェブ要素からのデータは、データエンリッチメントサーバによって抽出され得る。照合されたユーザデータは、ユーザの位置の推定値を示すジオロケーションデータと組み合わせられ得る。ジオロケーションデータは、データエンリッチメントサーバによって生成され得る。よって、ユーザデータに基づき得るデータをより正確に識別することができる。
【００２２】
コンテンツサーバは、コンテンツ命令に応答して、照合されたユーザデータの一部または少なくとも１つのカテゴリに基づくコンテンツをユーザデバイスに送信するように構成され得る。このようにして、コンテンツサーバは、コンテンツがユーザデバイスによって提供されるのとは対照的に、コンテンツを提供することができる。よって、より広範囲の可能なコンテンツ項目からコンテンツを選択することができる。
【００２３】
本方法は、コード供給サーバにおいて複数のカテゴリを定義することと；コード部分要求に応答して複数のカテゴリの少なくともサブセットをユーザデバイスに送信することと、をさらに含み得る。複数のカテゴリのうちの少なくとも１つまたはすべてがユーザ定義され得る。
【００２４】
カテゴリを定義することは、カテゴリについて少なくとも１つの基準を選択することを含み得、ユーザをカテゴリと関連付けることは、照合されたユーザデータの少なくとも一部をカテゴリの少なくとも１つの基準と適合させることを含む。
【００２５】
コンテンツ命令に応答してコンテンツを表示することは、コンテンツをウェブ要素に埋め込むことを含み得る。
【００２６】
本方法は、ユーザデバイスにおいて、ウェブ要素を示す追加のウェブ要素要求を開始することと；ユーザデバイスにおけるコード部分のバージョンがコード供給サーバにおけるコード部分のバージョンに対応すると決定することと、をさらに含み得る。このようにして、コード部分の最近のバージョンを確実に実行することができる。これにより、古いコード部分を実行するという不必要な処理負担を回避することができる。
【００２７】
本方法は、ユーザデバイスにおけるコード部分のバージョンがコード供給サーバにおけるバージョンに対応しないと決定することに応答して、コード供給サーバにおけるコード部分のバージョンを受信することをさらに含み得る。コード部分のバージョンは、最近のバージョンであっても、最新バージョンであってもよい。
【００２８】
本方法は、ユーザデバイスにおいて、ウェブ要素を示す追加のウェブ要素要求を開始することと；ユーザデバイスにおいて、追加のウェブ要素要求に応答してコード部分を実行することであって、コード部分を実行することにより、ユーザデバイスのプロセッサは、ユーザデバイスにおいてユーザデータを照合する、ことと；ユーザデバイスにおいてコンテンツを表示させるコンテンツ命令を生成することであって、コンテンツは、照合されたユーザデータに基づく、ことと；コンテンツ命令に応答してコンテンツを表示することと、をさらに含み得る。このようにして、実行のためにコード部分を再ダウンロードする処理、帯域幅およびストレージ負荷を回避することができる。
【００２９】
ウェブ要素はウェブページを含み得る。ウェブ要素は、ビデオコンテンツを含み得る。ウェブ要素は、オンラインゲームを含む。照合されたユーザデータの少なくとも一部は、ユーザに近接するインターネット対応デバイスから受信され得る。
【００３０】
別の態様によれば、ユーザデバイスにおいてユーザにコンテンツを表示する方法があり、この方法は、コード供給サーバにおいて、ユーザデバイスで開始されたウェブ要素要求に応答してコード部分要求を受信することと；コード部分要求に応答してコード部分をユーザデバイスに送信することと、を含み、コード部分は、ユーザデバイスで実行され、ユーザデバイスのプロセッサに、ユーザデバイスにおいてユーザデータを照合させ、かつ照合されたユーザデータに基づいてアクションを実行させる命令を生成させるように構成されている。
【００３１】
別の態様によれば、ユーザデバイスにおいてユーザにコンテンツを表示する方法があり、この方法は、ユーザデバイスにおいて、ウェブ要素を示すウェブ要素要求を開始することと；ユーザデバイスにおいて、コード供給サーバからのウェブ要素要求に応答してコード部分を受信することと；ユーザデバイスにおいて、ウェブ要素要求に応答してコード部分を実行することであって、コード部分を実行すると、ユーザデバイスにおいてユーザデータが照合される、ことと；ユーザデバイスにおいて、ウェブ要素要求に応答して、ウェブ要素要求に対応するウェブ要素をウェブ要素サーバから受信することと；照合されたユーザデータに基づいてアクションを実行させる命令を生成することと、を含む。
【００３２】
別の態様によれば、ユーザデバイスにおいてユーザにコンテンツを表示する方法があり、この方法は、ウェブ要素サーバにおいて、ユーザデバイスからウェブ要素を示すウェブ要素要求を受信することと；ウェブ要素サーバにおいて、ウェブ要素要求に応答してウェブ要素およびコードスニペットをユーザデバイスに送信することと、を含み、コードスニペットは、ユーザデバイスにおいて実行され、ユーザデバイスのプロセッサに、ユーザデバイスにおいてユーザデータを照合させ、かつ照合されたユーザデータに基づいてアクションを実行させる命令を生成させるように構成されている。
【００３３】
別の態様によれば、コンテンツをユーザに表示するためのシステムがあり、このシステムは、ユーザデバイスと、ウェブ要素サーバと、コード供給サーバと、を含み、ユーザデバイスは、ウェブ要素を示すウェブ要素要求を開始するように構成され、ウェブ要素サーバは、ウェブ要素要求に応答してウェブ要素をユーザデバイスに送信するように構成され、コード供給サーバは、ウェブ要素要求に応答してコード部分要求を受信するように構成され、コード供給サーバは、コード部分要求に応答してコード部分をユーザデバイスに送信するように構成され、ユーザデバイスは、ウェブ要素要求に応答してコード部分を実行するように構成され、コード部分を実行することにより、ユーザデバイスのプロセッサは、ユーザデバイスにおいてユーザデータを照合し、照合されたユーザデータに基づいて命令を生成する。
【００３４】
別の態様によれば、ユーザデバイスにおいてユーザにコンテンツを表示するためのサーバがあり、このサーバは、ユーザデバイスで開始されたウェブ要素要求に応答してコード部分要求を受信するステップと、コード部分要求に応答してコード部分をユーザデバイスに送信するステップと、を実行するように構成されたプロセッサを含み、コード部分は、ユーザデバイスにおいて実行され、ユーザデバイスのプロセッサに、ユーザデバイスにおいてユーザデータを照合させ、照合されたユーザデータに基づいてアクションを実行させる命令を生成させるように構成されている。
【００３５】
別の態様によれば、コンテンツをユーザに表示するためのユーザデバイスがあり、このユーザデバイスは、ウェブ要素を示すウェブ要素要求を開始するステップと；コード供給サーバからのウェブ要素要求に応答してコード部分を受信するステップと；ウェブ要素要求に応答してコード部分を実行するステップであって、コード部分を実行することにより、ユーザデバイスにおいてユーザデータを照合する、ステップと；ウェブ要素要求に応答して、ウェブ要素要求に対応するウェブ要素をウェブ要素サーバから受信するステップと；照合されたユーザデータに基づいてアクションを実行させる命令を生成するステップと、を実行するように構成されたプロセッサを含む。
【００３６】
別の態様によれば、ユーザデバイスにおいてユーザにコンテンツを表示するためのサーバがあり、このサーバは、ユーザデバイスからウェブ要素を示すウェブ要素要求を受信するステップと；ウェブ要素要求に応答してユーザデバイスにウェブ要素およびコードスニペットを送信するステップと、を実行するように構成されたプロセッサを含み、コードスニペットは、ユーザデバイスにおいて実行され、ユーザデバイスのプロセッサに、ユーザデバイスにおいてユーザデータを照合させ、照合されたユーザデータに基づいてアクションを実行させる命令を生成させるように構成されている。
【００３７】
別の態様によれば、ユーザデバイスにおいてユーザにコンテンツを表示するためのサーバがあり、このサーバは、ウェブ要素要求に応答してユーザデバイス上で実行されるコード部分によって照合されたユーザデータをユーザデバイスから受信するステップと；照合されたユーザデータに基づいてコンテンツを識別するステップと；識別されたコンテンツをユーザデバイスにおいて表示するためにユーザに送信するステップと、を実行するように構成されたプロセッサを含む。
【００３８】
別の態様によれば、命令を含むコンピュータプログラムがあり、この命令は、プログラムがコンピュータによって実行されると、コンピュータに本明細書に記載の方法を実行させる。
【００３９】
別の態様によれば、命令を含むコンピュータ可読媒体があり、この命令は、コンピュータによって実行されると、コンピュータに本明細書に記載の方法を実行させる。
【００４０】
本明細書で説明するコンピュータプログラムを運ぶデータキャリア信号。
【００４１】
以下の図面を参照して、本発明の様々な実施形態を、単なる例として説明する。
【図面の簡単な説明】
【００４２】
【図１】高速かつ安全なコンテンツ提供のためのシステムの概略図を示す。
【図２】このシステムによって実行される方法を示すフローチャートを示す。
【図３】ウェブ要素サーバの観点からのフローチャートを示す。
【図４】システム内のデバイス間で送信されるデータの概略図を示す。
【図５】図の方法のフローチャートをより詳細に示す。
【図６】コード供給サーバによって実行される方法のフローチャートを示す。
【図７】ソフトウェア開発キットへのＪａｖａＳｃｒｉｐｔの導入を示す。
【図８】システム内の例としてのデバイスの概略図を示す。
【００４３】
〔詳細な説明〕
本明細書に記載される実施例は、いわゆる「エッジコンピューティング」を利用して、すなわち、処理タスクを集中ポイントから離れて分散することによって、各ユーザの情報を各自のデバイス上で処理することによって、上記の問題の両方を解決する。さらに、ユーザが、例えばウェブページを訪問することによって、イベントをトリガするたびにデータベース全体を処理するのではなく、システムは、新しいイベントごとに反復的に更新される状態を記憶する。
【００４４】
本発明のシステムアーキテクチャおよびエッジ処理は、ユーザ情報が収集され、ユーザがセグメント化され、ターゲットを絞った広告が、ウェブページのロードを要求してから最初の数百ミリ秒以内に供給されることを可能とし、したがってウェブページのロードに要する時間内に完了する。
【００４５】
エッジ上の新しいセグメントまたは更新されたセグメントの処理は、データ伝送遅延がないため、より高速であり、使用可能な伝送帯域幅に関連する問題がない。これまでのユーザデータの「状態」がセグメントを計算するために必要な情報を含む場合には、これまでのユーザデータをすべて処理する必要もなく、その状態の情報はすでに最新であるため、かなりの時間を節約する。
【００４６】
本発明は、ユーザまたはデバイス入力を検出および処理することができるインターネット接続デバイスのシステム、集中型サーバベースのデータベース、ならびにユーザデバイスをデータベースと接続するインターネットベースのネットワークを含む。本発明の１つの重要な利点は、ローカルのオンデバイス処理を利用することによってほぼリアルタイムで、ユーザまたはデバイス入力によって分割された非常に大量のデータを処理する能力である（例えば、１分当たり数百万のイベントを処理し、各イベントは１ＫＢを超えるデータの処理を伴う）。
【００４７】
本発明は、先行技術における上記の問題に対処し、それによって、過去および将来のデータからユーザまたはデバイスの行動をほぼリアルタイムで処理することを可能にするプラットフォームを提供することができる。また、エッジ処理のソリューションはスケーラブルであるため、多数のインターネット接続デバイス（例えば、数億台のデバイス）からの非常に大量のデータに対処すると共に、伝送帯域幅、および利用可能なクラウドベースの処理能力の制限という問題を解決することができる。
【００４８】
本発明は、特にターゲットとされたユーザタイプに関連コンテンツ（例えば広告）を表示するためのシステムであり、これは、ユーザの複数のインターネット接続デバイスと、インターネットを介してユーザデバイスにデータを送信し、ユーザデバイスからデータを受信することができる集中型サーバベースのデータベースと、を含む。
【００４９】
ユーザをターゲットとしたコンテンツを配信するためのハイブリッドコンピューティングシステムが本明細書に記載され、これにより、ユーザデータまたはデバイス入力データの計算処理の大部分が、分散されたデバイス上でローカルに行われる。いわゆる「エッジコンピューティング」である。取り込まれたデータのサブセットはデバイスに記憶され、完全なデータセットは集中型のクラウドベースのデータベースに記憶される。データセット全体の解析は、クラウド内のサーバで行うことができる。セグメントが利用可能であること、およびセグメントが構成された直後にデバイスに分配され得る容易さは、特に有利である。
【００５０】
エッジにおける現在のセグメントを知った上で、また、クラウドでの処理集約的な結合を行う必要なしに、不変の元帳データ記憶構造と組み合わせて、各ユーザのデータを処理するために、分散されたデバイスの処理手段を利用すると、およそミリ秒単位の、または効果的にはリアルタイムの処理速度がもたらされる。したがって、ターゲットコンテンツは、ロードが完了する前にウェブページに埋め込まれ得る。これにより、コンテンツ制作者は、ウェブサイトを初めて訪問したときから、ターゲットとなる視聴者と交流することができ、データの処理および送信が実施されたら、個人化コンテンツを配信するのにユーザがウェブサイトを繰り返し訪問することを当てにする必要がなくなる。ユーザが属するセグメントはデバイス上でもリアルタイムでも知られているため、すべてのイベントは、セグメントＩＤのリストを含むイベントのプロパティとして、イベントが発生した時点でユーザがいたセグメントによって強化される。ユーザの現在のセグメントを含めることは、計算コストのかかる、いくつかの結合操作を避け得ることを意味する。例えば、フォーム「イベント「Ｘ」を実施し、その時点でセグメント「Ｓ」にいた（did perform event ‘X’ and was in segment ‘S’ at the time）」のセグメントは、ユーザがその時点でセグメント「Ｓ」にいたかどうかを再計算する必要なく形成され得る。
【００５１】
プラットフォームは、すべてのユーザの膨大な量のデータを処理することができ、したがって、コンテンツをユーザに向ける際のプラットフォームの精度を高めるであろう。ユーザのデバイス上でエッジコンピューティングを利用することは、ユーザおよびデバイスの数が増えるので、そのような大量のデータ（例えば、毎月数億人のユーザについて、毎日数十億のイベント）を収集し処理することが可能になることも意味し、これはスケーラブルなソリューションである。
【００５２】
このシステムは、ヘッダー入札を活用するのにも使用され得る。ユーザのセグメント化に基づいて、プラットフォーム内でキー値ペアが作成されると、アドエクスチェンジに送り込まれる。この追加情報により、ユーザの所与のセグメントにコンテンツを表示することに関心のある広告会社は、そのユーザに入札することができる。システムは入札に利用できる時間を増やすことができる。
【００５３】
本発明の別の有利な特徴は、ユーザのセグメント化の高度な個人化である。開示された発明において、セグメントは、多種多様なユーザおよびウェブページの属性およびデータから作成され得る。任意の一般的なデータを任意の複雑さで取り込むことができる。さらに、クエリの形で適用されるロジックは複雑である可能性がある。これにより、ユーザが作成するセグメントをより制御できるという点で、既存の技術に比べて利点がもたらされる。
【００５４】
このシステムはまた、複雑さおよび実行コストが低減されるという点で有利である。ハイブリッド処理の使用は、クラウドベースのシステムが必要とするのと同じ規模で大きなコンピュータ処理設備を必要としないことを意味する。
【００５５】
ローカル処理およびストレージの使用により、システムは、接続性の問題に対する堅牢性が向上している。
【００５６】
本明細書で提案される発明は、ユーザによって分割された大量のユーザ生成データを処理することができ、これを使用して、高度に個人化された関連するアクションまたは反応をリアルタイムでユーザに配信することができる、システムを提供し得る。本発明の目的は、ユーザがウェブページを初めて訪問したときから、ユーザデータ処理およびセグメント化を介して、ユーザにターゲットコンテンツを提供することである。
【００５７】
本発明の別の利点は、ユーザの新しいセグメントまたは更新されたセグメントのほぼリアルタイム（例えば、およそミリ秒または秒で）の実装を可能にすることである。新しいセグメントまたは更新されたセグメントの実装時間は、特定のデバイス／ユーザについて以前に記録されたイベントの数の関数である。
【００５８】
本発明の別の目的は、エッジコンピューティングの利用を通じてデバイスのローカル処理能力を利用することにより、ＩｏＴデバイスと共に機能し、インターネット接続デバイスまたはＩｏＴデバイスの数が著しく増加することが予想され、デバイスが収集するデータが急速に増加することが予想されるにつれて、スケールアップできるプラットフォームを提供することである。
【００５９】
本発明の別の利点は、ユーザに配信されるコンテンツの個人化が利用可能な収集されたユーザデータのすべてに基づくように、複数のデバイス（例えば、スマートフォン、デスクトップ、タブレット）およびクラウドサーバデータベースにわたってユーザのデータを同期させるプラットフォームを提供することである。
【００６０】
本発明の別の利点は、第三者から追加のユーザプロファイリング情報を供給し、入力データを強化して、収集されるユーザデータの量を拡大し、ユーザをセグメント化する、より広い範囲の属性を提供することである。
【００６１】
本発明の別の利点は、ユーザの（例えば、平均バスケット値（average basket value）に基づく）高度に個人化されたセグメント化を定義してプラットフォームに提供し、よってターゲティングするための複雑なクエリ言語を提供することである。
【００６２】
本発明は、将来的にＩｏＴに適用される可能性がある、広告、コンテンツ推薦および個人化のためのウェブ解析プラットフォームを含む。本発明の目的は、スケーラブルでリアルタイムの関連コンテンツ配信ソリューションを顧客に提供することである。
【００６３】
ここで詳述する実施形態は、関連するターゲットを絞った広告を提示するための方法を説明するが、任意の種類の関連デジタルコンテンツを示すことを含む多くの異なる形態で、アクションを提供するか、または反応するために使用され得ることを理解されたい。本明細書に記載される特定の実施形態は、関連するターゲットを絞った広告を提示するための方法に関連するが、任意の種類の関連デジタルコンテンツを示すこと、またはターゲットを絞ったデータを第三者によるサービスに送信することを含む多くの異なる形態で、アクションを提供するか、または反応するために、実施形態が使用され得ることを理解されたい。
【００６４】
本発明の主要な態様は、分散されたユーザデバイスのローカル処理能力を利用することにより、ユーザまたはデバイス入力によって分割された非常に大量のデータをリアルタイムで処理する能力である。
【００６５】
イベントは、デバイスまたはユーザからの任意の形態の対話を含むことができる。これは、例えば、ウェブページへのユーザの訪問、またはデバイスで行われた温度読み取りとすることができる。
【００６６】
システムアーキテクチャ
図１は、コンテンツの高速かつ安全な提供のためのシステム１の一般的なアーキテクチャを示す。システム１は、ユーザデバイス３（例えば、デバイス２００）と、ウェブ要素サーバ５（例えば、ウェブホスティングシステム２０６）と、コンテンツサーバ９（例えば、分配システム２２２）と、コード供給サーバ７（例えば、クラウドサーバシステム２０９）と、データエンリッチメントサーバ１１（例えば、データエンリッチメントソース２１５）と、を含むコンピューティング／電子デバイスを含む。
【００６７】
コンピューティングデバイス３、５、７、９、１１は、通信ネットワーク１３を介して互いに通信するように構成される。通信ネットワーク１３は、この実施例では、インターネット１３である。しかしながら、任意の適切な形態の通信ネットワーク１３を使用し得ることが理解されよう。
【００６８】
コンピューティングデバイス３、５、７、９、１１は、埋め込みブラウザまたは「アプリ」または同様のものを含むことによってウェブ対応である。さらに、各デバイス３、５、７、９、１１は、ディスプレイ、ＵＩ、プロセッサ、およびメモリを含むことができる。
【００６９】
デバイス３、５、７、９、１１は、任意の適切な通信プロトコルまたは接続を介して互いの間でデータを通信するように構成することができる。例えば、デバイス３、５、７、９、１１は、有線および／または無線接続を介して互いに通信することができる。
【００７０】
方法の概要
図２は、システム１によって実行される方法のフローチャートを示す。ステップ２１では、ユーザデバイス３のユーザは、ウェブページのようなウェブ要素の要求を開始し、これがウェブ要素サーバ５に送信される。ステップ２３では、ウェブ要素サーバ５は、ユーザデバイス３にウェブページを提供することによりウェブページ要求に応答する。ステップ２５では、ウェブ要素サーバ５は、オプションとして、ウェブページ要求に応答して、コードの一部または「コードスニペット」をユーザデバイス３に送信することもできる。ステップ２７では、コードスニペットがユーザデバイス３で実行され、ユーザデバイス３はコード部分の要求をコード供給サーバ７に送信する。代替的な実施形態では、ウェブ要素サーバ５は、最初にコードスニペットをユーザデバイス３に送信することなく、コード供給サーバ７にコード部分要求を送信してもよい。別の実施例では、ウェブ要素サーバ５とコード供給サーバ７とが同じサーバであってもよく、よって、コード部分の要求は外部に送信する必要はなく、代わりに、コード部分要求は、同じサーバ内のサーバのウェブ要素部からサーバのコード供給部に渡される。
【００７１】
ステップ２９では、コード部分をユーザデバイス３に提供する。ステップ３１では、ユーザデバイス３でコード部分を実行し、ユーザデータを照合する。ユーザデータは、ユーザデバイス３に記憶されたデータを用いて照合されてよく、かつ／または、データは、ユーザデバイス３において外部ソースから照合されてもよい。オプションのステップ３１ａ〜３１ｃでは、ユーザデータは、データエンリッチメントサーバ１１によって補足されてよく、データエンリッチメントサーバは、ステップ３１ａにおける追加のユーザデータの要求に応答することができる。追加のユーザデータは、ウェブ要素から抽出されたデータ、ユーザと関連付けられたジオロケーションデータ、および／またはユーザと関連付けられたさらなるデータを含むことができる。このデータは、ステップ３１ａでの要求に応答する必要なく、ウェブ要素サーバ５に送信され得る。このデータは、データエンリッチメントサーバ１１によって定期的に送信され得る。ユーザデータは、ステップ３１ｃでユーザデバイス３に転送され得る。
【００７２】
オプションのステップ３３では、ユーザデータは、例えばユーザデータが、あるカテゴリと関連付けられた少なくとも１つの基準に適合する場合に、ユーザを分類するために使用される。ステップ３５では、アクションを実行させる命令（例えばコンテンツ命令）がユーザデバイス３で生成される。コンテンツ命令は、ユーザデバイス３に既に記憶されているデータをユーザに提示させる命令を含み得る。例えば、コンテンツ命令により、ウェブページのデータが、例えば「ポップアップ」ウィンドウを介して、ユーザに示されることができる。ステップ４１では、アクションが実行され、例えば、コンテンツがユーザに表示され得る。オプションとして、コンテンツ命令はステップ３７および３９を含み得、ここで、コンテンツサーバ９に命令が送信される。この命令は、照合されたユーザデータおよび／またはユーザのカテゴリを示すデータ項目を含むことができる。ステップ３９では、コンテンツサーバ９は、データ項目をコンテンツ項目と一致させ、そのコンテンツをユーザデバイス３に送信する。ステップ４１では、識別されたコンテンツがユーザデバイス３において表示される。
【００７３】
ユーザデータに基づいて実行されるアクションの例として、照合されたユーザデータに基づいてコンテンツを表示することが挙げられるが、このコンテンツを表示する代わりに、またはそれに加えて、他のアクションが実行され得ることも考えられる。例えば、特定のユーザと関連付けられたセグメントまたはクエリがイベントに応答して変化する場合、実行されるアクションは、ユーザデバイスにおいてコード部分によってデバイス上で実行され得る任意のアクションであり得、ここで、コンテンツの表示は単なる一例である。一実施例では、セグメントの変更に応答して、例えば、フェイスブックのようなソーシャルネットワークのオーディエンスＡＰＩ内で、目的の特定のトピックに対していくらか好みを有するとしてユーザにフラグを立てるＡＰＩコールを行うアクションを実行することができる。この実施例では、コンテンツがユーザに表示されず、代わりに、後日ソーシャルネットワークを介してユーザをターゲットにするためにフラグが設定されることが可能である。別の実施例では、実行されるアクションは電子メールに関連し、例えば、アクションは、照合されたユーザデータに基づいて電子メールを送信させることができる。
【００７４】
ウェブページサーバの観点
ウェブサイトプロバイダーは、コンテンツ（例えば広告）をウェブページに埋め込むことができる。以下のサブセクションでは、その観点から、ウェブページでターゲットを絞った広告を生成および配信するために実行されるプロセスについて説明する。
【００７５】
高いレベルで、開示された発明のウェブページサーバの観点から見たフローチャートを、図３に示す。プラットフォームがウェブサイトに埋め込まれると（１００）、システムはデフォルトのイベントおよびセグメントを自動的に収集することができ、クエリおよび反応をダッシュボードで定義し得る（１０１）。
【００７６】
ウェブサイトは、そのウェブページ上に、ターゲットを絞った広告を特徴とする広告要素を含み得る（１０２）。広告要素は、ウェブページ上のスペースまたは領域で、ここに広告を配置することができる。これは、長方形のボックス、正方形のボックス、バナー、ポップアップブラウザウィンドウまたはスポンサー付きコンテンツであってもよいが、これらに限定されない。パートナーが作成する広告要素が多ければ多いほど、プラットフォームがウェブページの訪問者に合わせて広告を調整しなければならない機会が多くなる。フローチャートには（１０１）と（１０２）が並行して示されているが、広告要素がパートナーのウェブページに埋め込まれる前、前記ウェブページの作成に並行して、またはウェブページが公開された後に、セグメント、クエリ、および反応を定義することができる。
【００７７】
いったんセグメント、クエリおよび反応が設定されると、ユーザが１つ以上の埋め込み広告を有するウェブページを訪問した場合に（１０３）、ユーザは、その以前のイベントおよび進行中のイベントに従ってセグメント化される（１０４）。このユーザセグメント化プロセスは、実行される広告要素を自動オークションに通知するのに役立つ（１０５）。このオークションの結果は、ウェブページ上で広告要素の中に置かれた、ユーザをターゲットにした広告である（１０６）。
【００７８】
セグメント
セグメントは、ユーザのイベント履歴を処理し、所与のユーザについてブール値のＴＲＵＥまたはＦＡＬＳＥの出力を返す。
【００７９】
プラットフォームがいつ反応すべきかを定義するには、プラットフォームのユーザがブラウザベースのダッシュボードに１つ以上のセグメントを作成する必要がある。ユーザは、ユーザのイベントに関する基準を定義することによって、典型的な広告ターゲットユーザの典型的な行動および属性、プロファイルを指定する必要がある。
【００８０】
セグメントの名前、セグメントのフィルタリングおよび検索を容易にするセグメントに関連付けられたタグ、ならびにセグメントの説明を含む、セグメントと関連付けられたメタデータが必要とされ得る。これらの入力に続いて、セグメント基準に適合するユーザの前述の行動またはプロファイルが定義される。
【００８１】
セグメントを作成する必要がある状況の例として、ユーザが、販売したい広告スペースを有するウェブページを有する、システムを使用するオンラインプレゼンスを有する新聞社であると仮定する。その新聞社は、仕事を探しているビジネスアナリストのためのセグメントを作りたいと考えている。この例では、新聞社がセグメントを作成するであろう。この例では、ユーザが広告スペースを有するウェブページに訪問するセグメント基準に適合する場合、セグメントは、ユーザの状態を例えばＦＡＬＳＥからＴＲＵＥに変更することにより、そのインスタンスにフラグを立てるであろう。プラットフォームは次に、このイベントに対して指示されたとおりに反応するであろう。ユーザのこのセグメントは、例えば、このユーザの前でロードされているウェブページ上の広告要素に入札することができる求人リストを持っているコンサルティング会社にとって興味深いものとなり得る。
【００８２】
クエリ
クエリは、セグメントと同様に、ユーザの行動またはプロファイルに応答してユーザのイベント履歴を処理する。しかし、クエリは、データのグループ化または集約を必要とする、より複雑なロジックに対応することができる。好ましい実施形態では、平均、合計、カウント、最大値および最小値を含むがこれらに限定されない数学関数がクエリでサポートされる。セグメントは、反応され得るＴＲＵＥおよびＦＡＬＳＥの値を生成するが、クエリは任意の特定のタイプの値を生成する。例えば、クエリで、ユーザの購入イベントについて平均バスケット値を計算することができる。これは、セグメントによって提供されるＴＲＵＥまたはＦＡＬＳＥ値だけでなく、任意のタイプの値に基づいてクエリに対する反応を決定できることを意味する。
【００８３】
クエリは、ユーザインタフェースを介してクエリ言語を使用して書かれる。セグメントは、ダッシュボードのセグメント・ビルダー・インタフェースを使用して構築される。
【００８４】
反応
反応は、セグメントを他のプラットフォームに渡すことができるプロセスである。
【００８５】
セグメントは、反応をトリガするために使用される。好ましい実施形態では、トリガには３つのタイプがある。
ｉ．入力時（On Entry）：ユーザがセグメントを入力すると、反応がトリガされる。
ｉｉ．終了時（On Exit）：ユーザがセグメントを終了すると、反応がトリガされる。
ｉｉｉ．毎回（Every Time）：そのセグメントにいる間にユーザがページを訪問するたびに、反応がトリガされる。
【００８６】
トリガに対するプラットフォームの応答は、例えばユーザインタフェースを介して、ユーザが定義することができる。
【００８７】
好ましい実施形態では、ユーザは、ユーザの行動に合わせた広告を含む自身のウェブサイトを閲覧するユーザを選択的にターゲティングするために、１つ以上のウェブページ上で本明細書に記載された発明を使用する。
【００８８】
ウェブページへの最初の訪問
開示される発明の好ましい実施形態では、図４に示すように、５つのグループのコンポーネントがある。第一に、ターゲットを絞った広告が埋め込まれたウェブサイトにアクセスする、ユーザのデバイス（２００）がある。ユーザデバイス（２００）と通信するのは、クラウドサーバシステム（２０９）、データエンリッチメントソース（２１５）、広告販売および配信システム（２２２）、ならびにウェブホスティングシステム（２０６）である。
【００８９】
以前にウェブサイトにアクセスしたことがないユーザのためのプロセスにおける第１のステップは、ユーザのデバイス（２００）上でのウェブページ（２０１）に対するユーザの要求である。ウェブページ（２０１）は、広告要素（２０２）を含む。ＵＲＬは、メッセージ（２０４）をウェブホストのサーバ（２０５）に送信することによって、ブラウザにウェブページを供給するように指示する。これに応答して、ウェブホストサーバ（２０５）は、ＨＴＭＬ形式のウェブページコンテンツを、ウェブサイトの各ウェブページに付加されたＪａｖａＳｃｒｉｐｔスニペットと共に、デバイス（２００）上のブラウザに送信する（２０４）。次に、スニペットが実行され、これによりサーバ（２０８）にｐｉｎｇを送り、ソフトウェア開発キット（ＳＤＫ）をダウンロードして初期化する（２１８）。
【００９０】
好ましい実施形態では、ユーザプロファイリング情報は、データ（２１３）をサーバ（２０８）のＡＰＩに連続的にストリーミングする、「Ｔｈｅ  Ｎｉｅｌｓｅｎ  Ｃｏｍｐａｎｙ  （ＵＳ），  ＬＬＣ」などのユーザデータ集約を専門とする会社のデータベース（２１４）から得られる。ユーザ情報は、ユーザの性別、年齢、および個人的関心を含み得るが、これらに限定されない。
【００９１】
サーバ（２０８）は、ウェブページ情報を、ＩＢＭ  Ｗａｔｓｏｎのような自然言語処理（ＮＬＰ）プロバイダ（２１１）に中継し（２１０）、これにより、概念、タグ、または他の強化されたウェブページデータを抽出する。好ましい実施形態では、サーバ（２０８）は、そのデータベース内に、ＵＲＬとＮＬＰプロバイダ分類との間の関連付けを含む。ＮＬＰ分類が必要な場合、およびデータベース（２０８）に存在するＵＲＬを有するイベントがＡＰＩに送信された場合（２１８）、ＡＰＩはデータベースを使用して、データベース（２０８）に記憶されたＮＬＰプロバイダ分類でイベントを強化する。データベース（２０８）にＵＲＬの分類が存在しない場合、要求（２１０）が、ＵＲＬのテキスト本文と共にＮＬＰプロバイダ（２１１）に送信される。ＮＬＰプロバイダ（２１１）からの応答（２１２）はサーバ（２０８）に送信され、そこで、将来の分類要求のためにデータベースに記憶される。
【００９２】
代替実施形態では、ＮＬＰプロバイダの出力は、ユーザのデバイス（２００）に直接送信され（２１２）、そこで、そのデータは、ユーザのセグメント化のためにその他のユーザデータと組み合わせられる。次いで、情報がサーバ（２０８）と同期される（２１８）。
【００９３】
クライアント側エンリッチメントとして知られる別の代替実施形態では、ウェブページ情報は、デバイス（２００）からユーザ・プロファイリング・データベース（２１４）またはデータ・エンリッチメント・プロバイダに直接送信される（２２３）。
【００９４】
エンリッチメントの別の形態であるジオロケーションは、ユーザのＩＰアドレスの供給に依存する。この強化されたデータに対する要求は、ＡＰＩ（２０８）からジオロケーションプロバイダ（２１７）にプッシュされる（２１０）。ＧｅｏＩＰなどのジオロケーションプロバイダー（２１７）は、ユーザに関する強化されたロケーションデータを返信する（２１６）。そのデータは次に、ユーザデバイス（２００）内のＳＤＫに中継される（２１８）。
【００９５】
代替実施形態では、ジオロケーションプロバイダ（２１７）への、またジオロケーションプロバイダ（２１７）からのデータの要求および送信は、サーバ（２０８）をバイパスして、ユーザデバイス（２００）に対して、またユーザデバイス（２００）からそのように直接行われる。
【００９６】
代替実施形態では、他のデータソースを使用して、ＡＰＩＨｕｂ，  Ｉｎｃ（「Ｃｌｅａｒｂｉｔ」）のような会社からの、ＩＡＢ広告分類およびインターネットサービスプロバイダの詳細およびビジネス情報などの分類などであるがこれらに限定されない追加の強化されたコンテンツを提供することができる。
【００９７】
サーバはＳＤＫをユーザのデバイス（２００）に送信し（２１８）、そこで、ＳＤＫはデバイス（２００）上のブラウザのローカルストレージに記憶される。
【００９８】
ユーザのセグメント化に続いて、広告要素およびユーザのカテゴリに関する情報がブラウザからアドサーバ（２２１）に送信される（２２３）。次いで、アドサーバ（２２１）は、広告要素のオークションのために、この情報をアドエクスチェンジ（２１９）に転送する（２２０）。広告のためのオークションが完了した後、メッセージがアドサーバ（２２２）に送られ（２２０）、落札した広告を要求する。次いで、広告がユーザのデバイス（２００）のブラウザに送られ（２２３）、そこでウェブページ（２０１）の広告要素（２０２）に埋め込まれる。
【００９９】
好ましい実施形態では、図４に示すように、システム内のデバイス間で送信されているユーザデータを保護するために、通信チャネルのうちの１つ以上に暗号化が適用される。
【０１００】
上述のコンテンツ（例えば広告）選択プロセスは、図５で見ることができるフローチャートにおいて可視化されている。
【０１０１】
ユーザによるウェブページの要求からユーザのセグメント化までのプロセス（４００）〜（４１０）は、図４の説明のとおりである。追加のタイプの強化されたコンテンツ、および、第三者のエンリッチメントソースと、サーバと、ユーザのデバイスとの間の代替的なデータ送信のような代替実施形態は、図５から省略されているが、依然として本発明の範囲内である。
【０１０２】
図５の要素（４１１）〜（４１４）は、キー値ペアがユーザのセグメント化から作成される場合のイベントのシーケンスを示す。次に、キー値ペアがヘッダー入札プロセスで使用される。ヘッダー入札は重要な新しいプログラム技術であり、これにより、広告掲載がページにロードされる前に、パブリッシャーがページロードごとにオークションを実行する。オークションは、パブリッシャーのアドサーバの外部、すなわちユーザのブラウザ内のウェブページのヘッダーで行われ、パブリッシャーがオークションを制御する。ページのロードが開始されると、ユーザのブラウザはパブリッシャーのデマンドパートナーすべてを同時に呼び出し、それぞれがユーザのページ上のスロットに入札する。従来のようにアドエクスチェンジの最低価格が次々と下落するのとは対照的に、広告主はあらゆるインプレッションを見ることができ、パブリッシャーは直接注文よりも価値の高い広告を選ぶことができる。
【０１０３】
このシステムのリアルタイムのオンデバイス機能により、パブリッシャーはヘッダー入札を利用することができる。パブリッシャーのページを設定してヘッダー入札をイベント（例えば、イベントのプロパティとして入札価格を有する）に変換すると、クエリが作成されて、リアルタイムでユーザの平均、最小および最大付け値を計算し、オークションの効率に影響を及ぼすようにリアルタイムでオークションに情報を追加するリアルタイムの反応設定を計算することができる。例えば、落札額の最小値を取ることで、オークションの最低価格をこの最小値に設定でき、これは、入札がより高く開始されるため、オークションが実行される限られた期間にわたって入札の値が上昇する時間が増えることを意味する。
【０１０４】
対照的に、ユーザの情報がセグメントの基準に適合しない場合、デフォルトのアドサーバ処理が続き、それにより、ユーザに対する広告のある量の個人化は、依然として可能であるが、図５に示された代替経路によって示すのと同じ程度まで可能ではない。
【０１０５】
好ましい実施形態では、ウェブページがユーザによって要求されて（４００）から広告がアドサーバから送信される（４１４）または（４１７）までの経過時間は、２００ミリ秒程度であり、ウェブページのロードが完了する前に、広告がデバイスに送信される。
【０１０６】
ウェブページへの再訪問
ウェブページへの次の訪問の際に取り上げられるターゲットを絞った広告の配信を管理するプロセスをここで説明する。
【０１０７】
ユーザが最初にウェブページを訪問するのとは対照的に、この場合、ユーザのデバイスは既にＳＤＫをブラウザのキャッシュに有している。より最近のバージョンのＳＤＫが利用可能な場合、または新しいセグメントもしくは更新されたセグメントが利用可能な場合は、サーバからダウンロードされる。以前のウェブサイトへの訪問により収集されたユーザデータの最近のサブセットは、キャッシュに記憶される。ＳＤＫに記憶されて実行される状態は、以前に取得されたデータを反映するように最新である。この再訪問では、状態の再更新を促すイベントが生成される。反応が設定されていて、状態に対する変更によってトリガされる場合、これらが実行される。前のセクションで説明し、図５に示したような広告オークションのプロセスは同じであるが、再訪問時には、この訪問から収集されたデータを補足する、ユーザデータの履歴データベースがあるため、より多くの量のユーザデータが、広告配信を調整するのに利用可能である。例えば、ユーザが訪問したことがあり、かつ訪問しているウェブページのための概念タグの蓄積により、ユーザの興味に関してシステムにより良く通知される。このデータは、より多くのキー値ペア、またはより正確なキー値ペアを生成するために使用され、オークションにおける改善されたユーザと広告とのマッチングをもたらす可能性が高い。
【０１０８】
セグメントの実装
デバイス上でのユーザの行動を取り込むために、セグメントは、プラットフォームを実行させているウェブページにアクセスした任意のユーザに分配される。好ましい実施形態では、セグメントは、ＪａｖａＳｃｒｉｐｔ  ＳＤＫの形態で分配される。図６のフローチャートは、セグメントを更新するために必要とされるプラットフォームのバックエンドに含まれるステップを詳述する。
【０１０９】
このウェブページへの訪問で取り込まれた情報は、キャッシュとしても知られる、デバイス（２００）のブラウザのローカルストレージにおける、ユーザが訪問したウェブサイトの以前に取り込まれた履歴データに追加される。
【０１１０】
セグメントを作成し、そのロジックをダッシュボード・セグメント・ビルダーに定義することができる（５００）。好ましい実施形態では、これは、任意のインターネット接続デバイス上で行うことができる。これが完了すると、集中型サーバはセグメントＳＱＬを生成する（５０１）。好ましい実施形態では、ＳＱＬ（５０１）は、次に、クエリ構文木に構文解析され（５０２）、その後、コンパイルされてセグメントＪａｖａＳｃｒｉｐｔ（５０３）、Ｃ、または他の解釈を作成する。ＪａｖａＳｃｒｉｐｔをＳＤＫに導入する次のステップ（５０４）を図７に示す。
【０１１１】
顧客のユーザのエンドデバイス（５０５）に分配され、それぞれのブラウザキャッシュに記憶されるＳＤＫ（６００）は、汎用ＳＤＫ（６０２）、および導入されたＪａｖａＳｃｒｉｐｔセグメント（６０１）の２つのコンポーネントを有する。
【０１１２】
汎用ＳＤＫ（６０２）は、いくつかの重要な役割を果たす。これらは次のとおりである：
ｉ．取り込み（Ingestion）：ユーザの行動をユーザイベントとして取り込み、サーバＡＰＩにｐｉｎｇする。
ｉｉ．セグメント処理：イベントおよび現在の状態を取得し、新しい状態を生成する更新関数にイベントを供給する責任がある。
ｉｉｉ．反応：新しい状態に基づいて、反応をトリガするかどうかを決定する。
ｉｖ．ローカルストレージ管理：キャッシュに記憶されたセグメントを管理する。
ｖ．クラウドとの同期：集中型コピー（centralized copy）のため、ローカルで生成されたイベントをサーバにプッシュし、必要に応じて集中型コピーからイベントをプルする（例えば、ユーザが別のデバイスにログインし、そこでイベントを生成した場合）。
【０１１３】
汎用ＳＤＫへの更新はまれであり、多くの場合、コードのパフォーマンスが改善された場合、またはバグ修正が行われた場合に行われるに過ぎない。ＳＤＫは、デバイス（２００）のブラウザのキャッシュに記憶される。
【０１１４】
ユーザがセグメントまたはクエリを変更するたびに、導入されたセグメントが更新され、ユーザのウェブページのうちの１つに次にアクセスしたときにユーザのデバイスにダウンロードされる。
【０１１５】
状態
状態とは、セグメント結果を生成するためにイベントから必要な情報をすべてカプセル化した、必要最小限の情報を表す１つのデータまたはデータ構造である。これらの状態は増分的に更新され、特定のユーザと関連付けられた過去のイベントに応答して更新することができる。さらに、ＳＤＫがユーザのデバイスにダウンロードされると発生する新しいイベントに応答して、これらの状態を更新することができる。
【０１１６】
例としての一実施形態では、結果が平均である場合、その状態で２つのデータを取り込む必要がある。つまり、この場合、合計とカウントである。次に、合計をカウントで除算するだけで、セグメント結果を算出することができる。
【０１１７】
ユーザ、ウェブページおよび広告要素に関する情報は、アドエクスチェンジにおける広告要素のためのオークションに送られる。ユーザのセグメント化を利用して、キー値ペアが作成され得る。キー値ペアは、ユーザに関するより多くの情報を提供するため、プログラマティックエクスチェンジに参加している広告関係者（advertising party）は、メッセージ送信でこの視聴者をターゲットにすることを望む場合、より多くの料金を支払うことにさらに意欲的となる。
【０１１８】
ユーザデータストレージ
各ユーザのプロファイルデータは、好ましい実施形態では一意的な文字列の形式をとる、一意的なユーザＩＤと関連付けられる。ユーザの複数のデバイスを、電子メールアドレス、ペイパル番号、または別の形態のＩＤによってデータベース内でリンクさせることができる。これは、ウェブサイトのログインページでのユーザ入力と、システム内の一意的なユーザＩＤとの間にリンクを作成することによって、行われ得る。
【０１１９】
ユーザがウェブサイトにアクセスするたびに、その訪問またはイベントからのデータが、イベントとしてユーザデータに追加される。いくつかのユーザ定義セグメントは、より多くのデータがより正確な平均を意味するため、平均化関数に基づくものなどの、より多くの量のデータの蓄積から利益を得る。これらのサイトへのユーザの訪問回数が多いほど、より多くのデータが生成される。このデータは、より正確なセグメントを生成するために、したがって、より正確なキー値ペアを生成するために使用され、オークションにおいて改善されたユーザ広告マッチングをもたらす可能性が高い。
【０１２０】
データベースでは、ユーザのデータがサーバのＡＰＩによって受信された後、データがユーザによって分割される前にストリーミングデータパイプラインが使用される。ストリーミングデータパイプラインは、大規模データ解析を処理することを可能にし、一方、分割データストレージは、エッジコンピューティングを可能にするために、そのデータの分配およびユーザデバイスとの同期を容易にする。
【０１２１】
本発明のさらなる態様は、クッキーを使用せずに実施されることである。本発明は、ユーザのデバイスのローカルストレージ手段が利用され、第三者のクッキーを記憶する必要性をなくすように実施することができ、クッキーなしのソリューションである。プライバシーの問題から、第三者のクッキーがますます制限されるようになっている。したがって、このソリューションはこれらの制限を受けない。
【０１２２】
同期
ユーザプロファイルデータは、ユーザのデバイス（２００）がウェブページにアクセスしているときに、ユーザデバイス（２００）と集中型クラウドベースサーバとの間で同期される。好ましい実施形態では、ローカルデバイス（２００）上のストレージの制約により、最新のイベントに関するデータのサブセットのみが、デバイス（２００）内のブラウザのローカルストレージに記憶され、一方、集中型サーバは完全なデータセットを記憶する。好ましい実施形態では、データは、デバイス（２００）内のローカルストレージに圧縮フォーマットで記憶され、ローカルに記憶されるユーザのデータの割合が増加する。
【０１２３】
所与のユーザの新しいデバイスがウェブページにアクセスする場合、既にサーバに記憶されているユーザのデータは、以前に回避されたようにキャッシュがサポートできる範囲で、デバイスにダウンロードされる。
【０１２４】
履歴データからの情報を必要とする新しいセグメントまたはクエリが作成された場合、いったんセグメントが汎用ＳＤＫに導入され、ユーザのブラウザに送信されると、すべての履歴データがサーバから順番にプルされる。イベントがダウンロードされると、ユーザのデバイス上でセグメントまたはクエリを処理するためにエッジコンピューティングが使用され、デバイス上のＳＤＫは、イベントがダウンロードされる際にすべてのイベントを調べる。すべてのイベントがダウンロードされるが、前述同様に、最新のイベントのみがそのときローカルデバイスのブラウザのキャッシュに記憶される。エッジ処理からの結果は、ユーザのすべてのデータに対して実行された最終状態である。代替実施形態では、新しいセグメントまたはクエリの処理は、クラウド内のユーザのデータ上で実行される。
【０１２５】
他の追加の使用事例
ＩＰＴＶは開示される発明の潜在的な使用事例であり、それによって、コマーシャルの時間中に、バナー上に、または別のピクチャインピクチャ形式で、番組を視聴しているユーザに、インターネットを介して個人化された広告が供給される。重要なのは、ユーザがチャンネルに初めてアクセスしたときから、そのユーザに特化した、調整された広告が提供され、視聴した番組に関する情報がユーザ情報データベースに追加されるにつれて、ユーザデータが絶えず更新されていることである。
【０１２６】
スマートポスターとの対話は、ポスターを最初に訪問するかまたはこれと対話したときから調整された広告が必要とされることにより、本発明に適している。他の非リアルタイムソリューションでは、典型的には訪問時間が短く、再訪問の頻度が低く、ゼロにさえなるという課題がある。
【０１２７】
ハイブリッドコンピューティングを使用してリアルタイムで膨大な量のデータを解析する本明細書に記載のソリューションの能力は、「モノのインターネット」（「ＩｏＴ」）デバイスに適している。ユーザの活動および行動を監視するのではなく、例えば冷蔵庫の内部温度またはスマートハウスのエネルギー使用量など、ＩｏＴデバイスからセンサーデータを追跡する。データはＩｏＴデバイスによってセグメント化され得る。ＩｏＴデバイスの所有者から収集したデータに基づいて、コンテンツ、製品、またはサービスがＩｏＴデバイスの所有者に提供され得る。別の潜在的な使用事例では、このソリューションは、ＩｏＴデバイスを監視、追跡、および管理するためのオンラインの総合的なツールと組み合わせることができる。
【０１２８】
マーケティングすること、例えば、小売業者のサイト上で、ユーザが好む製品もしくはサービスの調整された製品推薦または注文リストを提供することは、開示される発明の別の実行可能な使用事例である。
【０１２９】
本発明のもう１つの潜在的な用途はｅコマースにある。ショッピング空間でのマーケティングにおける本発明の使用に加えて、本発明は、金融取引プロセスのバックエンドシステムにおいても使用されることができる。複数のソースからデータを集めて顧客のプロファイリングを行い、取引を承認するためにユーザの支出傾向を監視することは、より一般的になると思われる。本発明のエッジコンピューティング態様は、独自の処理手段を有し得る電子財布またはスマートカードの場合に特に有用であり得る。
【０１３０】
異常検出は、プラットフォームのさらに別の使用事例である。異常検出の例としては、不正なトラフィックの検出、および広告ブロックソフトウェアがインストールされているユーザの識別などが含まれる。このような大量のデータを処理し、このような短時間でデータに反応する能力は、これらの適用に適している。不正なトラフィックを検出するために、ユーザのウェブページの閲覧時間を解析することができ、そのデータはシステムによって取り込まれ得る。また、このシステムは、ユーザが閲覧したウェブページの数を監視しながら、ユーザが閲覧した広告の数を決定することもできる。この情報を使用して、ユーザがデバイスのブラウザで広告ブロッカーを実行させているかどうかを確認することができる。
【０１３１】
ゲームも本発明の別の潜在的な使用事例である。ターゲットを絞ったゲーム内広告の提供、またはユーザのゲームプレイのリアルタイム解析もしくはそれに対する反応のいずれかのためのものである。あるいは、ゲームの要素がリアルタイムで処理される特定の要素の属性に依存する、ゲーム自体の不可欠な側面とすることもできる。
【０１３２】
「ライブの」ユーザ対話の他の例では、ユーザに特化したコンテンツをオンザフライで提供するメリットがある。
【０１３３】
例としての電子デバイス
図８は、本開示の電子デバイス（ユーザデバイス３、ウェブ要素サーバ５、コンテンツサーバ９、コード供給サーバ７、またはデータエンリッチメントサーバ１１など）のいずれかによる例示的な電子デバイス８０１を示す。電子デバイスは、処理回路８１０（マイクロプロセッサなど）およびメモリ８１２を含む。電子デバイス８０１はまた、以下のサブシステム：電源８１４、ディスプレイ８１６、短距離無線トランシーバ８１８、長距離無線トランシーバ８２０、スピーカ８２２、および入力装置８２６のうちの１つ以上を含むことができる。
【０１３４】
処理回路８１０は、電子デバイス８０１およびサブシステム８１２〜８２２の動作を制御することができる。プロセッサ８１０は、サブシステム８１２〜８２８と通信可能に連結される。メモリ８１２は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、フラッシュメモリ、他の揮発性メモリ、および他の不揮発性メモリのうちの１つ以上を含み得る。
【０１３５】
ディスプレイ８１６は、処理回路８１０と通信可能に連結され得、処理回路は、ディスプレイ８１６に画像を出力させるように構成され得る。ディスプレイ８１６は、タッチスクリーンディスプレイのようなタッチセンシティブインターフェースを含むことができる。ディスプレイ８１６は、電子デバイス８０１のプロセッサ８１０上で動作するソフトウェアと対話するために使用され得る。タッチセンシティブインターフェースは、処理回路および本明細書に記載される機能の動作を制御するための、慎重な接触、複数の接触、または１つ以上のジェスチャを介して、ユーザが処理回路８１０に入力を提供することを可能にする。入力デバイスにキーボードまたはマウスを含み得る入力装置８２６などの、他の形態の入力インターフェースを同じ目的のために追加的または代替的に使用してもよいことが、認識されるであろう。
【０１３６】
短距離無線トランシーバ８１８は、短距離無線プロトコルに従って動作するように構成された短距離無線装置であってもよい。短距離無線トランシーバ８１８は、短距離無線プロトコルを介して通信するように構成することができる。短距離無線プロトコルは、ブルートゥース、またはブルートゥースローエナジー、またはブルートゥーススマートとすることができ、短距離無線トランシーバは、そのようなプロトコルに従って、無線ビーコンなどの他のデバイスと通信するように構成することができる。この点に関し、および短距離無線プロトコルに関する本明細書のすべての実施形態の目的のために、短距離無線プロトコルは、１、５、１０、２０、３０、４０、５０、または１００ｍ未満での通信が可能であり、かつそのように設計されたプロトコルであってよい。
【０１３７】
長距離無線トランシーバ８２０は、ＬＴＥ、ＵＭＴＳ、３Ｇ、ＥＤＧＥ、ＧＰＲＳ、ＧＳＭ、およびＷｉ−Ｆｉなどの通信規格に従って動作するように構成された１つ以上の長距離ＲＦトランシーバとすることができる。例えば、電子デバイス８０１は、ＬＴＥ、ＵＭＴＳ、３Ｇ、ＥＤＧＥ、ＧＰＲＳ、またはＧＳＭなどのセルラデータプロトコルを介してセルタワー８０３と通信するように構成されたセルラトランシーバなどの第１の長距離無線トランシーバ８２１と、８０２．１１  ａｃ／ｎ／ｇ／ｂ／ａなどのＷｉ−Ｆｉ規格を介して無線アクセスポイント８０４と通信するように構成されたＷｉ−Ｆｉトランシーバなどの第２の長距離無線トランシーバ８２８と、を含み得る。この点に関し、長距離無線プロトコルに関する本明細書のすべての実施形態の目的のために、長距離無線プロトコルは、５ｍ、１０ｍ、２０ｍ、３０ｍ、４０ｍ、５０ｍ、または１００ｍでの通信が可能であり、かつそのように設計されたプロトコルであってよい。これは、上述の短距離無線プロトコルとは対照的である。長距離無線プロトコルは、短距離無線プロトコルよりも高い電力を利用して通信することができる。長距離無線プロトコルのための長距離エンドノード（電子デバイスおよびルーターまたは基地局）間の範囲（例えば、視線距離）は、短距離エンドノード（例えば、電子デバイスおよび無線ビーコン）間の範囲（例えば、視線距離）よりも大きくてよい。
【０１３８】
電子デバイス８０１は、長距離無線トランシーバ８２０を介してネットワーク８４０と通信するように構成され得る。ネットワーク８４０は、インターネットのような広域ネットワークであってもよいし、ローカルエリアネットワークであってもよい。電子デバイス８０１は、長距離無線トランシーバ８２０およびネットワーク８４０を介して、１つ以上のサーバまたはユーザデバイスと通信するようにさらに構成され得る。これらのサーバまたはユーザデバイスは、本明細書に記載されているもののうちいずれか１つとすることができる。
【０１３９】
用語「含む（comprising）」は、「含む（including）」ならびに「なる（consisting）」を包含し、例えば、Ｘを「含む」組成物は、Ｘのみからなり得るか、または何か追加のもの、例えば、Ｘ＋Ｙを含み得る。
【０１４０】
単語「実質的に」は、「完全に」を排除するものではなく、例えば、Ｙを「実質的に含まない」組成物は、Ｙを全く含まなくてもよい。必要な場合、単語「実質的に」は、本発明の定義から省略することができる。
【０１４１】
数値ｘに関する「約」という用語はオプションであり、例えばｘ＋１０％を意味する。
【０１４２】
別段の指示がない限り、本明細書に記載される各実施形態は、本明細書に記載される別の実施形態と組み合わせることができる。
【０１４３】
本明細書に記載される方法は、プログラムがコンピュータ上で実行されるときに本明細書に記載される方法のいずれかのステップのすべてを実行するように適合されたコンピュータプログラムコード手段を含むコンピュータプログラムの形態などの、有形ストレージ媒体上の機械可読形態のソフトウェアによって実行され得、コンピュータプログラムはコンピュータ可読媒体上に具現化され得る。有形（または非一時的）ストレージ媒体の例は、ディスク、サムドライブ、メモリカードなどを含み、伝播された信号を含まない。ソフトウェアは、方法ステップが任意の適切な順序で、または同時に実行され得るように、パラレルプロセッサまたはシリアルプロセッサ上での実行に適していてもよい。これにより、ファームウェアおよびソフトウェアが、別個に取引可能な貴重な商品となり得ることが認められる。これは、所望の機能を実行するために、「データ処理能力のない」ハードウェアもしくは標準ハードウェア上で実行されるかまたはこれを制御するソフトウェアを包含することを意図している。また、所望の機能を実行するために、シリコンチップを設計するために、またはユニバーサルプログラマブルチップを構成するために使用されるような、ＨＤＬ（ハードウェア記述言語）ソフトウェアなど、ハードウェアの構成を「記述」または定義するソフトウェアを包含することも意図されている。
【０１４４】
本明細書に記載されるモジュールは、ハードウェアまたはソフトウェアで実施されてもよいことが理解されよう。さらに、モジュールは、システム全体の様々な場所に実装することができる。
【０１４５】
当業者であれば、プログラム命令を記憶するために使用されるストレージデバイスをネットワークにわたって分散させ得ることを理解するであろう。例えば、リモートコンピュータは、ソフトウェアとして記述されるプロセスの一例を記憶することができる。ローカルコンピュータまたはターミナルコンピュータは、リモートコンピュータにアクセスし、ソフトウェアの一部または全部をダウンロードしてプログラムを実行することができる。あるいは、ローカルコンピュータは、必要に応じていくつかのソフトウェアをダウンロードするか、またはローカル端末でいくつかのソフトウェア命令を実行し、リモートコンピュータ（もしくはコンピュータネットワーク）でいくつかのソフトウェア命令を実行してもよい。当業者はまた、当業者に既知の従来技術を利用することによって、ソフトウェア命令の全てまたは一部が、ＤＳＰ、プログラマブル論理アレイなどの専用回路によって実行され得ることを理解するであろう。
【０１４６】
当業者に明らかなように、本明細書で与えられる任意の範囲またはデバイス値は、求められる効果を失うことなく拡張または変更することができる。
【０１４７】
上述の利益および利点は、１つの実施形態に関連してもよいし、いくつかの実施形態に関連してもよいことが理解されよう。実施形態は、記載された問題のいずれかもしくはすべてを解決するもの、または記載された利益および利点のいずれかもしくはすべてを有するものに限定されない。
【０１４８】
「ある」アイテムへのいかなる言及も、これらのアイテムのうちの１つ以上を指す。「含む（comprising）」という用語は、本明細書では、特定された方法ブロックまたは要素を含むことを意味するために使用されるが、そのようなブロックまたは要素は、排他的リストを含まず、方法または装置が追加のブロックまたは要素を含み得る。
【０１４９】
本明細書に記載される方法のステップは、任意の適切な順序で、または適切な場合は同時に実施することができる。さらに、個々のブロックは、本明細書に記載される主題の趣旨および範囲から逸脱することなく、方法のうち任意のものから削除することができる。上述の実施例のいずれかの態様を、上述のその他の実施例のいずれかの態様と組み合わせて、求められる効果を失うことなく、さらなる実施例を形成することができる。上述したモジュールのいずれも、ハードウェアまたはソフトウェアで実装することができる。
【０１５０】
上述の好ましい実施形態の説明は単に例として記載されたものであり、種々の変更を当業者が行い得ることが理解されるであろう。種々の実施形態が、ある程度の特殊性をもって、または１つ以上の個々の実施形態を参照して上述されてきたが、当業者は、本発明の範囲から逸脱することなく、開示された実施形態に多数の変更を加えることができる。
【０１５１】
〔実施の態様〕
（１）  コンテンツをユーザに表示するためのシステムにおいて、
前記システムは、ユーザデバイスと、ウェブ要素サーバと、コード供給サーバと、を含み、
前記ユーザデバイスは、ウェブ要素を示すウェブ要素要求を開始するように構成され、
前記ウェブ要素サーバは、前記ウェブ要素要求に応答して前記ウェブ要素を前記ユーザデバイスに送信するように構成され、
前記コード供給サーバは、前記ウェブ要素要求に応答してコード部分要求を受信するように構成され、
前記コード供給サーバは、前記コード部分要求に応答してコード部分を前記ユーザデバイスに送信するように構成され、
前記ユーザデバイスは、前記ウェブ要素要求に応答して前記コード部分を実行するように構成され、
前記コード部分を実行することにより、前記ユーザデバイスのプロセッサは、
前記ユーザデバイスにおいてユーザデータを照合し、
照合された前記ユーザデータに基づいてアクションを実行させる命令を生成する、システム。
（２）  前記アクションを実行させる命令は、前記ユーザデバイスにおいてコンテンツを表示させるコンテンツ命令を含み、
前記コンテンツは、前記照合されたユーザデータに基づいており、
前記コード部分を実行することにより、前記ユーザデバイスのプロセッサは、前記コンテンツ命令に応答して前記コンテンツを表示する、実施態様１に記載のシステム。
（３）  前記アクションを実行させる命令は、フラグを前記ユーザデバイスのユーザと関連付けさせるフラグ命令を生成することを含み、
前記フラグは、前記照合されたユーザデータに基づいている、実施態様１に記載のシステム。
（４）  前記コード部分を実行することにより、前記ユーザデバイスの前記プロセッサは、前記ユーザを複数のカテゴリのうちの少なくとも１つのカテゴリと関連付ける、実施態様１に記載のシステム。
（５）  前記アクションは、前記ユーザと関連付けられた予め決定された前記少なくとも１つのカテゴリに基づいて選択される、実施態様４に記載のシステム。
【０１５２】
（６）  前記命令を生成することは、前記ユーザデバイスからコンテンツサーバに、前記照合されたユーザデータの少なくとも一部を示すデータ項目を含む前記命令を送信することを含む、実施態様１に記載のシステム。
（７）  前記コンテンツサーバは、前記コンテンツ命令に応答して、前記照合されたユーザデータの前記一部に基づくコンテンツを送信するように構成されている、実施態様６に記載のシステム。
（８）  前記命令を生成することは、前記ユーザデバイスからコンテンツサーバに、前記少なくとも１つのカテゴリを示すデータ項目を含む前記命令を送信することを含む、実施態様４に記載のシステム。
（９）  前記コンテンツサーバは、前記コンテンツ命令に応答して、前記少なくとも１つのカテゴリに基づくコンテンツを前記ユーザデバイスに送信するように構成されている、実施態様８に記載のシステム。
（１０）  前記コード供給サーバは、複数のカテゴリを定義し、前記コード部分要求に応答して前記複数のカテゴリの少なくともサブセットを前記ユーザデバイスに送信するように構成されている、実施態様１に記載のシステム。
【０１５３】
（１１）  カテゴリを定義することは、前記カテゴリについて少なくとも１つの基準を選択することを含み、
前記ユーザをカテゴリと関連付けることは、前記照合されたユーザデータの少なくとも一部を前記カテゴリの前記少なくとも１つの基準と適合させることを含む、実施態様４に記載のシステム。
（１２）  前記コンテンツ命令に応答して前記コンテンツを表示することは、前記コンテンツを前記ウェブ要素に埋め込むことを含む、実施態様２に記載のシステム。
（１３）  前記ユーザデバイスは、ウェブ要素を示す追加のウェブ要素要求を開始し、前記ユーザデバイスにおける前記コード部分のバージョンが、前記コード供給サーバにおける前記コード部分のバージョンに対応すると決定するように構成されている、実施態様１に記載のシステム。
（１４）  前記ユーザデバイスは、前記ユーザデバイスにおける前記コード部分の前記バージョンが前記コード供給サーバにおけるバージョンに対応しないと決定することに応答して、前記コード供給サーバにおける前記コード部分の前記バージョンを受信するように構成されている、実施態様１３に記載のシステム。
（１５）  前記コード供給サーバにおける前記コード部分の前記バージョンは、最新バージョンである、実施態様１３に記載のシステム。
【０１５４】
（１６）  前記ウェブ要素は、ウェブページ、ビデオコンテンツ、およびオンラインゲームのうちの少なくとも１つを含む、実施態様１に記載のシステム。
（１７）  前記ユーザを複数のカテゴリのうちの少なくとも１つのカテゴリと関連付けることは、
照合された前記ユーザが、複数のカテゴリのうちの少なくとも１つのカテゴリの基準に適合しない否定的な状態から、前記カテゴリに適合する肯定的な状態に移行したかどうかを検出すること、
前記照合されたユーザが、複数のカテゴリのうちの少なくとも１つのカテゴリの基準に適合する肯定的な状態から、前記カテゴリに適合しない否定的な状態に移行したかどうかを検出すること、
前記照合されたユーザが複数のカテゴリのうちの少なくとも１つのカテゴリの基準に適合するかどうかを検出すること、および、
前記照合されたユーザが１つのクエリ値から新しいクエリ値に移行したかどうかを検出すること、
のうちの少なくとも１つを含む、実施態様４に記載のシステム。
（１８）  前記ウェブ要素サーバは、前記ウェブ要素要求に応答してコードスニペットを前記ユーザデバイスに送信するように構成され、
前記ユーザデバイスは、前記コード部分要求を開始するために前記コードスニペットを実行するように構成されている、実施態様１に記載のシステム。
（１９）  ユーザデバイスにおいてユーザにコンテンツを表示するためのサーバにおいて、
前記ユーザデバイスで開始されたウェブ要素要求に応答してコード部分要求を受信するステップと、
前記コード部分要求に応答してコード部分を前記ユーザデバイスに送信するステップと、
を実行するように構成されたプロセッサを含み、
前記コード部分は、前記ユーザデバイスにおいて実行され、前記ユーザデバイスのプロセッサに、
前記ユーザデバイスにおいてユーザデータを照合させ、
照合された前記ユーザデータに基づいてアクションを実行させる命令を生成させるように構成されている、サーバ。
（２０）  ユーザデバイスにおいてユーザにコンテンツを表示する方法において、
前記ユーザデバイスにおいて、ウェブ要素を示すウェブ要素要求を開始することと、
ウェブ要素サーバにおいて、前記ウェブ要素要求に応答して前記ウェブ要素を前記ユーザデバイスに送信することと、
コード供給サーバにおいて、前記ウェブ要素要求に応答してコード部分要求を受信することと、
前記コード供給サーバにおいて、前記コード部分要求に応答して前記ユーザデバイスにコード部分を送信することと、
前記ユーザデバイスにおいて、前記ウェブ要素要求に応答して前記コード部分を実行することであって、前記コード部分を実行することにより、前記ユーザデバイスのプロセッサに、
前記ユーザデバイスにおいてユーザデータを照合させ、
照合された前記ユーザデータに基づいてアクションを実行させる命令を生成させる、ことと、
を含む、方法。
【図１】
2021508400.tif 000003
【図２】
2021508400.tif 000004
【図３】
2021508400.tif 000005
【図４】
2021508400.tif 000006
【図５】
2021508400.tif 000007
【図６】
2021508400.tif 000008
【図７】
2021508400.tif 000009
【図８】
2021508400.tif 000010
【国際調査報告】
2021508400.tif 000011
2021508400.tif 000012