JP2021503110A - ネットワーク利用の最適化 - Google Patents

ネットワーク利用の最適化 Download PDF

Info

Publication number
JP2021503110A
JP2021503110A JP2020516405A JP2020516405A JP2021503110A JP 2021503110 A JP2021503110 A JP 2021503110A JP 2020516405 A JP2020516405 A JP 2020516405A JP 2020516405 A JP2020516405 A JP 2020516405A JP 2021503110 A JP2021503110 A JP 2021503110A
Authority
JP
Japan
Prior art keywords
user
user session
website
content
duration
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
JP2020516405A
Other languages
English (en)
Other versions
JP7048729B2 (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 JP2021503110A publication Critical patent/JP2021503110A/ja
Application granted granted Critical
Publication of JP7048729B2 publication Critical patent/JP7048729B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • G06F11/3423Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

所与のオンラインリソースのコードに含まれ、所与のオンラインリソースにアクセスしているユーザに対応する識別子を含むタグのシグナリングによって生成されるパケット化されたメッセージを受信することと、所与のオンラインリソースを含むウェブサイトにおけるユーザセッションの開始としてタイムスタンプを記録することと、追加のパケット化されたメッセージが引き続き受信されている間、ユーザセッションがアクティブのままであると決定することと、ウェブサイトにおけるユーザセッションが終了したと決定することと、タイムスタンプと、ウェブサイトにおけるユーザセッションが終了したと決定された時間との差に基づいて、ユーザセッションの期間を計算することと、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正することとを行うための、コンピュータストレージ媒体に符号化されたコンピュータプログラムを含む、方法、システム、および装置が提供される。

Description

本明細書は、ネットワークの以前の利用に基づいたネットワーク利用の最適化に関連する技術を説明する。
インターネットは、様々なリソースへのアクセスを提供する。たとえば、ビデオファイルおよび/またはオーディオファイル、ならびに特定の主題または特定のニュース記事のウェブページには、インターネットを介してアクセスすることができる。インターネットを介してコンテンツを配信するために消費される帯域幅は、メディアリッチコンテンツの配信がより一般的になるにつれて増加し続けている。状況によっては、この帯域幅の利用を改善することができる。
一般に、本明細書で説明する主題の革新的な一態様は、(i)所定のオンラインリソースのコードに含まれるタグのシグナリングによって生成され、かつ(ii)所与のオンラインリソースにアクセスしているユーザに対応する識別子を含む、パケット化されたメッセージを、ネットワークを介してデジタルコンポーネント配信システムによって受信するステップと、デジタルコンポーネント配信システムによって、所与のオンラインリソースを含むウェブサイトにおけるユーザセッションの開始として、パケット化されたメッセージのタイムスタンプを記録するステップと、デジタルコンポーネント配信システムによって、ウェブサイト内の追加タグのシグナリングによって生成された追加のパケット化されたメッセージが、直近に受信されたパケット化されたメッセージのタイムスタンプの時刻後の指定された時間内に受信され続ける間、ウェブサイトにおけるユーザセッションがアクティブのままであると決定するステップと、デジタルコンポーネント配信システムによって、(i)直近に受信されたパケット化されたメッセージのタイムスタンプが受信された時刻後の指定された時間、または(ii)ユーザに対応する識別子を含んだ要求に応じてサードパーティのコンテンツが別のウェブサイトに提供されたことを指定するコンテンツビューデータを検出したこと、のうちの1つに基づき、ウェブサイトにおけるユーザセッションが終了したと決定するステップと、デジタルコンポーネント配信システムによって、タイムスタンプと、ウェブサイトにおけるユーザセッションが終了したと決定された時間との差に基づいて、ユーザセッションの期間を計算するステップと、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正するステップとのアクションを含む方法において具現化することができる。
これらおよび他の実施形態はそれぞれ、以下の特徴のうちの1つまたは複数を任意で含むことができる。
いくつかの例では、パケット化されたメッセージのタイムスタンプは、パケット化されたメッセージに含まれる、またはパケット化されたメッセージの到着時間に基づいて決定される。
いくつかの例では、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正するステップは、ユーザセッションの計算された期間に基づいて、コンテンツの配信のための帯域幅の使用を制御するステップを含む。
いくつかの例では、ユーザセッションの期間に基づいてコンテンツの配信のための帯域幅の使用を制御するステップは、ユーザセッションの期間が指定された量を下回ったときに、ユーザへのコンテンツの配信のために使用される帯域幅の量を減少させるステップを含む。
いくつかの例では、本方法は、ユーザセッションの期間がしきい値期間を超えていると決定するステップを含み、ユーザセッションの期間に基づいてユーザへのコンテンツの配信を修正するステップは、ユーザセッションがしきい値期間を超えるという決定に応じて、ユーザのクライアントデバイスにおいて、ユーザがその後ウェブサイトにおいて新しいセッションを開始したときのウェブサイトのウェブページのデータを事前キャッシュすることを含む。
いくつかの例では、本方法は、ウェブサイトを訪れたユーザのユーザセッションデータの集約セットを取得するために、ユーザのユーザセッションの計算された期間とユーザの識別子を、他のユーザのウェブサイトにおける他のユーザセッション期間および他のユーザの他の識別子とともにデータ構造に記憶するステップと、ユーザセッションの期間によって指定された時間の長さに基づいて、ユーザセッションデータの集約セットを2つ以上のサブセットにセグメント化するステップであって、指定された期間よりも短いユーザセッション期間に対応するユーザの識別子を含むユーザセッションデータの第1のサブセットを作成することと、指定された期間を超えるユーザセッション期間に対応するユーザの識別子を含むユーザセッションデータの第2のサブセットを作成することとを含む、ステップを含む。
いくつかの例では、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正するステップは、第2のサブセット内の識別子に対応するユーザに、ウェブサイトに関連する追加コンテンツを、それらのユーザが第2のサブセットに含まれていることに基づき、それらのユーザが他のウェブサイトを訪れるときに提供するステップを含む。
いくつかの例では、本方法は、各サブセットに含まれるいくつかの識別子を含む、2つ以上のサブセットに関する情報をウェブサイトの管理者に提示するユーザインターフェースを提供するステップと、識別子に対応するユーザが他のウェブサイトまたはネイティブアプリケーションを訪れたときに、ウェブサイトに関連する追加コンテンツの意図された受信者として、2つ以上のサブセットのうちの少なくとも1つを指定する制御を、管理者に提供するステップとを含む。
いくつかの例では、本方法は、パケット化されたメッセージ、およびデバイスタイプに対応する識別子を含む他のパケット化されたメッセージにおける、デバイスタイプ識別子を検出するステップと、パケット化されたメッセージ、および他のパケット化されたメッセージに対応するユーザセッション用に、デバイスタイプ識別子に基づいてモバイルデバイスを使用して行われたユーザセッションの一部を決定するステップであって、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正するステップが、モバイルデバイスを使用して行われたユーザセッションの一部に基づいてコンテンツの配信を修正するステップを含む、ステップとを含む。
この態様の他の実施形態は、方法のアクションを実行するように構成され、コンピュータストレージデバイスに符号化された、対応するシステム、装置、およびコンピュータプログラムを含むことができる。
一般に、本明細書で説明する主題の別の革新的な態様は、データ処理装置と、データ処理装置とデータ通信する非一時的コンピュータ可読ストレージ媒体とを含むシステムにおいて具現化することができ、この非一時的コンピュータ可読ストレージ媒体は、データ処理装置によって実行可能であり、そのように実行されるとデータ処理装置に動作を実行させる命令を備える。本動作は、(i)所定のオンラインリソースのコードに含まれるタグのシグナリングによって生成され、かつ(ii)所与のオンラインリソースにアクセスしているユーザに対応する識別子を含む、パケット化されたメッセージを、ネットワークを介してデジタルコンポーネント配信システムによって受信することと、デジタルコンポーネント配信システムによって、所与のオンラインリソースを含むウェブサイトにおけるユーザセッションの開始として、パケット化されたメッセージのタイムスタンプを記録することと、デジタルコンポーネント配信システムによって、ウェブサイト内の追加タグのシグナリングによって生成された追加のパケット化されたメッセージが、直近に受信されたパケット化されたメッセージのタイムスタンプの時刻後の指定された時間内に受信され続ける間、ウェブサイトにおけるユーザセッションがアクティブのままであると決定することと、デジタルコンポーネント配信システムによって、(i)直近に受信されたパケット化されたメッセージのタイムスタンプが受信された時刻後の指定された時間、または(ii)ユーザに対応する識別子を含んだ要求に応じてサードパーティのコンテンツが別のウェブサイトに提供されたことを指定するコンテンツビューデータを検出したこと、のうちの1つに基づき、ウェブサイトにおけるユーザセッションが終了したと決定することと、デジタルコンポーネント配信システムによって、タイムスタンプと、ウェブサイトにおけるユーザセッションが終了したと決定された時間との差に基づいて、ユーザセッションの期間を計算することと、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正することとを含む。
一般に、本明細書で説明する主題の別の革新的な態様は、コンピュータプログラムで符号化された非一時的コンピュータストレージ媒体において具現化することができ、コンピュータプログラムは、データ処理装置によって実行されると、データ処理装置に動作を実行させる命令を含む。本動作は、(i)所定のオンラインリソースのコードに含まれるタグのシグナリングによって生成され、かつ(ii)所与のオンラインリソースにアクセスしているユーザに対応する識別子を含む、パケット化されたメッセージを、ネットワークを介してデジタルコンポーネント配信システムによって受信することと、デジタルコンポーネント配信システムによって、所与のオンラインリソースを含むウェブサイトにおけるユーザセッションの開始として、パケット化されたメッセージのタイムスタンプを記録することと、デジタルコンポーネント配信システムによって、ウェブサイト内の追加タグのシグナリングによって生成された追加のパケット化されたメッセージが、直近に受信されたパケット化されたメッセージのタイムスタンプの時刻後の指定された時間内に受信され続ける間、ウェブサイトにおけるユーザセッションがアクティブのままであると決定することと、デジタルコンポーネント配信システムによって、(i)直近に受信されたパケット化されたメッセージのタイムスタンプが受信された時刻後の指定された時間、または(ii)ユーザに対応する識別子を含んだ要求に応じてサードパーティのコンテンツが別のウェブサイトに提供されたことを指定するコンテンツビューデータを検出したこと、のうちの1つに基づき、ウェブサイトにおけるユーザセッションが終了したと決定することと、デジタルコンポーネント配信システムによって、タイムスタンプと、ウェブサイトにおけるユーザセッションが終了したと決定された時間との差に基づいて、ユーザセッションの期間を計算することと、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正することとを含む。
本明細書で説明される主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装することができる。ユーザの特定のセットまたはサブセットに提供されるコンテンツを修正すると、帯域幅およびコンピューティングリソースをより効率的に利用することができるようになる。たとえば、ウェブサイトにおいて費やす時間がより長いユーザに提供されるコンテンツの量(または、サイズ)は、ウェブサイトにおいて費やす時間がより少ないユーザに提供されるコンテンツの量(または、サイズ)よりも大きくなる場合がある。状況によっては、ユーザがウェブサイトにおいて費やす時間がより長いユーザのうちの1人として分類されている場合(たとえば、少なくとも指定された時間)、クライアントデバイスにおいて追加のコンテンツを事前キャッシュすることができる。あるいは、ウェブサイトにおいて費やす時間がより長いユーザのうちの1人としてユーザが分類された場合、ダウンロードにかかる時間がより長いコンテンツ(たとえば、画像コンテンツおよび/またはマルチメディアコンテンツ)を提供することができる。一方、ユーザがウェブサイトにおいて費やす時間がより少ないユーザのうちの1人として分類されている場合、ダウンロードにかかる時間がより短いコンテンツ(たとえば、テキストコンテンツ)を提供することができる。このようにして、ウェブサイトにおいて費やす時間がより長いと分類されたユーザにコンテンツを提供するために、より多くの帯域幅が利用される。さらに、ウェブサイトにおいて費やす時間がより長いユーザへのダウンロードにかかる時間がより長いコンテンツの配信を制限すると、コンテンツがクライアントデバイスにダウンロードされる前にユーザがウェブサイトから移動する尤度が低くなるので、コンテンツをダウンロードするために利用される帯域幅が無駄にならない。状況によっては、ウェブサイトにおいて費やす時間がしきい値の時間未満のユーザを、特定のコンテンツの受信から除外することができ、それによって、ウェブサイトにおいて費やす時間がより長いユーザにコンテンツを提供するための帯域幅が維持される。
したがって、本明細書で説明されるいくつかの実施形態によれば、ユーザセッションの計算された期間に基づいて、帯域幅の使用が制御され得る。たとえば、帯域幅の使用を制御することには、クライアントデバイスによって使用される通信チャネルの帯域幅を増加または減少させることを含み得る。たとえば、ユーザセッションの計算された期間は、帯域幅の前記増加または減少をもたらす帯域幅コントローラに通信され得る。たとえば、上記の方法のさらなるアクションは、ユーザセッションの計算された期間を示す制御メッセージの生成を含み得、生成されたメッセージは、制御メッセージの受信に応じて前記帯域幅の修正を実行するように構成されたネットワークエンティティに通信され得る。
さらなる実施形態によれば、ユーザセッションデータの集約セットを2つ以上のサブセットにセグメント化することにより、(たとえば、ユーザが所与のウェブサイトにおいて費やした時間に基づいて)ユーザの集団の自動セグメンテーションの予測モデルを改善することができる。コンテンツプロバイダは、どのユーザのサブセットにコンテンツが提供されるべきかを指定するために、ユーザの集団のセグメンテーションを利用することができる。たとえば、所与のコンテンツプロバイダは、所与のウェブサイトにおいて少なくとも指定された時間を費やすユーザのみがコンテンツを受信するように指定し得る。
さらに、1つまたは複数の実施形態によれば、ユーザセッション期間データを決定することによって、以前は利用できなかった情報で分析ツールをさらに強化することができる。たとえば、強化されたデータにより、コンテンツに関連する様々な結果の予測精度が向上し、次に、コンテンツプロバイダおよびコンテンツディストリビュータがユーザへのコンテンツの配信を最適化するために使用する現在のシステムが向上する。現在のシステムに対するこの改善により、ユーザは自分の興味に合ったコンテンツを受信する一方で、これらのユーザが受信する関連性の低いコンテンツの量を減らすことができる。したがって、たとえば、所与のユーザが様々なウェブサイト上で費やす時間に基づいて、所与のユーザに提供されるコンテンツをフィルタリングするによって、本明細書で説明する改善により、よりパーソナライズされた、またより効率的な(たとえば、帯域幅の使用に関して)オンラインブラウジングエクスペリエンスを実現することができる。
本明細書で開示する主題の例示的な実施形態はまた、所与のコンテンツプロバイダによって提供される様々なオンラインリソースおよび/またはネイティブアプリケーションとのユーザセッションの期間を描写および/または測定するシステムの能力を改善する。たとえば、従来のシステムの利用では、ユーザセッションが終了したことを示す信頼できる信号がないことが多いため、所与のウェブサイトにおいてユーザセッションがいつ終了したかを決定することは困難である。以下で詳細に説明するように、本システムは、所与のウェブサイトにおいてユーザセッションがいつ終了したかを正確に決定するためのシステムの能力を向上させるために、2つの異なるタイプのデータを活用することによって、従来のシステムを改善する。より具体的には、本システムは、所与のウェブサイトのコードに含まれるタグが発火したときに収集されたタグデータを使用して、所与のウェブサイトにおいてユーザアクティビティを直接追跡する。このタグデータは、所与のウェブサイトにおけるユーザアクティビティに関する情報を提供するが、別のウェブサイトへのユーザナビゲーションに関する情報を提供することはできないので、状況によっては、ユーザセッションがいつ終了したかを明確に決定する能力が制限される。所与のウェブサイトにおけるユーザセッションがいつ終了したかを決定する能力を向上させるために、本システムは、ユーザが別のウェブサイトに移動したときに生成されるコンテンツビューデータとタグデータを組み合わせることによって、タグデータを強化する。ユーザが別のウェブサイトに移動したときに生成されるこのコンテンツビューデータは、ユーザが実際に所与のウェブサイトから移動したことを示す明確な信号を提供するため、システムが所与のウェブサイトにおけるユーザセッションがいつ終了したかをより正確に決定することを可能にする。そのため、タグデータをコンテンツビューデータで強化することにより、システムが以前は実行できなかった動作を実行することが可能になり、それによって、システム自体のパフォーマンスが向上し、既存のシステムを上回る利点が得られる。
本明細書で説明される主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載されている。本主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
コンテンツを配信するための例示的な環境のブロック図である。 デジタルコンポーネント配信システムを使用する例示的なクライアントデバイスのシステムフロー図である。 デジタルコンポーネント配信システムを使用するための例示的なプロセスのフローチャートである。 デジタルコンポーネント配信システムを使用した集約されたデータの例示的なセットである。 デジタルコンポーネント配信システムを使用するための例示的なプロセスのフローチャートである。 本開示で説明される方法、システム、およびプロセスを実装するために使用することができる例示的なコンピュータシステムのブロック図である。
様々な図面における同様の参照番号および名称は、同様の要素を示す。
ウェブサイト、ネイティブアプリケーション、および/または同じコンテンツプロバイダによって提供される他の利用可能なインターネット接続リソースにおけるユーザセッションの計算された期間に基づいて、ユーザへのコンテンツの配信を修正するためのシステム、方法、およびコンピュータプログラム製品について説明する。簡潔にするために、以下の説明はウェブページおよびウェブサイト間のユーザナビゲーションに言及しているが、この説明はネイティブアプリケーションおよび/または同じコンテンツプロバイダによって提供される様々なインターネット接続リソースの組合せにも適用可能である。ユーザセッション期間データは、デジタルコンポーネント配信システムによって決定され、コンテンツプロバイダによって要求され得る。たとえば、コンテンツプロバイダは、ウェブサイトをホストすることと、ネイティブアプリケーションを提供することと、および/またはユーザがウェブサイトにアクセスしていないときにユーザに提示されるコンテンツを(たとえば、デジタルコンポーネントの形で)配信することとを行い得る。コンテンツプロバイダが所有するオンラインリソース(および/または、ネイティブアプリケーション)に少なくとも指定された期間関与するユーザを識別するために、コンテンツプロバイダは、以前は知られていなかったユーザセッション期間データを使用し得る。コンテンツプロバイダは、それらの識別されたユーザを、コンテンツプロバイダによって提供される追加コンテンツ(たとえば、デジタルコンポーネント)の将来の受信者として指定することを選択し得る。最長ユーザセッション中にコンテンツプロバイダのインターネット接続リソースに関与したユーザへの追加コンテンツの配信を最適化するために、ユーザの関与に基づいてユーザを自動的にセグメント化するために、コンテンツプロバイダによってユーザセッションデータも使用することができる。
以下でより詳細に説明するように、ユーザセッションの期間データは、タグデータとコンテンツビューデータの組合せを使用して生成することができる。一般に、タグデータは、クライアントデバイスによって通知される(本明細書では「発火される」とも呼ばれる)タグを含む文書(たとえば、任意の電子文書および/またはネイティブアプリケーション)と対話するユーザの一意の識別子を指定する。たとえば、タグを含む文書がクライアントデバイスによってレンダリングされると、タグが発火し、クライアントデバイスに、パケット化されたメッセージをリモートサーバに送信させて、一意の識別子に対応するユーザに文書が提示されたことをリモートサーバに通知する。一般に、コンテンツビューデータは、クライアントデバイスが、コンテンツ(たとえば、デジタルコンポーネント)がクライアントデバイスによって提示されている文書に統合されるように要求するときに収集される。以下で説明するように、所与のコンテンツプロバイダによって提供される文書とのユーザ対話から収集されたタグデータを、異なるコンテンツプロバイダによって提供される異なる文書が、コンテンツが異なる文書に埋め込まれることを要求するときに収集されるコンテンツビューデータと相関させるためにタイムスタンプを使用することによって、システムが所与のコンテンツプロバイダによって提供される文書とのユーザセッションがどれくらい続いたかを正確に決定することが可能になる。たとえば、コンテンツビューデータが収集された時刻は、所与のコンテンツプロバイダによって提供された文書におけるユーザセッションが終了したことを示す信号として使用することができる。
いくつかの実装形態では、システムが一定期間タグデータを受信しなかったときにユーザセッションが終了したと見なすことができる。タグデータの不足は、たとえば、ユーザがブラウジングセッションを離れて、電話で別のアプリケーションに切り替えるか、指定された時間(たとえば、10分、15分、30分、または別の適切な時間)を超えてモバイルデバイスの使用をすべて停止すると発生する場合がある。
一実施形態によれば、ユーザセッションの期間を計算する方法は、以下のステップを含み得る。
(i)所定のオンラインリソースのコードに含まれるタグのシグナリングによって生成され、かつ(ii)所与のオンラインリソースにアクセスしているユーザに対応する識別子を含む、パケット化されたメッセージを、ネットワークを介してデジタルコンポーネント配信システムによって受信するステップ。ネットワーク、デジタルコンポーネント配信システム、パケット化されたメッセージ、および識別子の例については、以下でさらに説明する。また、パケット化されたメッセージがどのように通知されるかの例が説明される。
デジタルコンポーネント配信システムによって、所与のオンラインリソースを含むウェブサイトにおけるユーザセッションの開始として、パケット化されたメッセージのタイムスタンプを記録するステップ。さらなる説明からより明らかになるように、パケット化されたメッセージのタイムスタンプは、パケット化されたメッセージに含まれる、またはパケット化されたメッセージの到着時間に基づいて決定される。たとえば、タイムスタンプは、パケット化されたメッセージの到着時点、またはパケット化されたメッセージのシグナリング時点をそれぞれ示す。ログに記録されたタイムスタンプを示すデータセットの例が図4に示されている。
デジタルコンポーネント配信システムによって、ウェブサイト内の追加タグのシグナリングによって生成された追加のパケット化されたメッセージが、直近に受信されたパケット化されたメッセージのタイムスタンプの時刻後の指定された時間内に受信され続ける間、ウェブサイトにおけるユーザセッションがアクティブのままであると決定するステップ。たとえば、ウェブサイトにおけるユーザセッションはアクティブのままであると決定されるが、ウェブサイトにおけるユーザセッションはまだ終了していないとも決定される。上記で示したように、指定された時間は、たとえば、10分、15分、30分、または別の適切な時間になり得る。タイムスタンプの時刻後のこの時間内に、ウェブサイト内の追加タグのシグナリングによって生成された追加のパケット化されたメッセージが受信された場合、ウェブサイトにおけるユーザセッションはまだ終了していないがアクティブのままであると決定される。たとえば、追加のパケット化されたメッセージのタイムスタンプはタイマをリセットし、指定された時間が再び、ユーザセッションがアクティブであるかどうかを決定するための基準になる。
デジタルコンポーネント配信システムによって、(i)直近に受信されたパケット化されたメッセージのタイムスタンプが受信された時刻後の指定された時間、または(ii)ユーザに対応する識別子を含んだ要求に応じてサードパーティのコンテンツが別のウェブサイトに提供されたことを指定するコンテンツビューデータを検出したこと、のうちの1つに基づき、ウェブサイトにおけるユーザセッションが終了したと決定するステップ。すでに説明したように、ユーザセッションが終了したという決定は、いかなる追加のパケット化されたメッセージを受信することなく、指定された時間が経過したという決定に基づく場合がある。前記決定の別のトリガは、ユーザに対応する識別子を含んだ要求に応じてサードパーティのコンテンツが異なるウェブサイトに提供されたことを指定するコンテンツビューデータの検出であり得る。コンテンツビューデータという用語はすでに上記で説明されており、さらなる例を以下に示す。たとえば、コンテンツビューデータは、その間にユーザが、たとえばサードパーティのコンテンツをレンダリングした異なるウェブサイトを訪れたことを示す。したがって、ユーザが別のウェブサイトにおいてサードパーティのコンテンツを表示および/またはダウンロードしたことを検出することは、ユーザセッションの中断を示す場合がある。この例では、サードパーティのコンテンツという語句は、異なるウェブサイトを提供するエンティティ以外のエンティティによって提供されるコンテンツを指す。たとえば、サードパーティのコンテンツは、ウェブページに含まれるスクリプトの実行を通じて要求され、ウェブページがレンダリングされるときにリモートサーバからウェブページに挿入される画像、テキスト、または他のコンテンツ(たとえば、マルチメディアコンテンツ)である。
タイムスタンプと、ウェブサイトにおけるユーザセッションが終了したと決定された時間との間の差に基づいて、デジタルコンポーネント配信システムによってユーザセッションの期間を計算するステップ。たとえば、ユーザセッションの期間は、(たとえば、最新の(追加の)パケット化されたメッセージの)タイムスタンプの時刻と、ウェブサイトにおけるユーザセッションが終了したと決定された時間との間の差と同じである。別の実施形態では、タイムスタンプと、ウェブサイトにおけるユーザセッションが終了したと決定された時間との間の差は、たとえば、あらかじめ定められた要因でスケーリングすることができる。
ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正するステップ。上記のように、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正するステップは、ユーザセッションの計算された期間に基づいて、コンテンツの配信のための帯域幅の使用を制御するステップを含み得る。たとえば、ユーザセッションの期間に基づいてコンテンツの配信のための帯域幅の使用を制御するステップは、ユーザセッションの期間が指定された量を下回ったときに、ユーザへのコンテンツの配信のために使用される帯域幅の量を減少させるステップを含む。たとえば、ユーザがウェブサイトにおいてあまり時間を費やす傾向がない場合、ユーザに提供されるコンテンツはテキストコンテンツに制限される場合がある。代替的または追加的に、ウェブサイトにおいてほとんど時間を費やさないユーザにコンテンツを提供するために利用される帯域幅の量を減らすために、これらの状況においてロードされるマルチメディアコンテンツの量が制限され得る。さらに、ウェブサイトを参照する(たとえば、ウェブサイトへのハイパーリンクを含む)デジタルコンポーネントが、ウェブサイトにおいてほとんど時間を費やさない(たとえば、指定された期間より短いユーザセッション期間を有する)ユーザに配信されるのを防ぐことができる。
一実施形態によれば、ユーザセッションの期間を計算する方法は、以下の追加のステップのうちの1つまたは複数を含み得る。
ユーザセッションの期間がしきい値期間を超えていると決定するステップであって、ユーザセッションの期間に基づいてユーザへのコンテンツの配信を修正するステップは、ユーザセッションがしきい値期間を超えるという決定に応じて、ユーザのクライアントデバイスにおいて、ユーザがその後ウェブサイトにおいて新しいセッションを開始したときのウェブサイトのウェブページのデータを事前キャッシュすることを含む、ステップ。状況によっては、デジタルコンポーネント配信システムは、ユーザセッションの期間がしきい値期間を超えていると決定することができる。これらの状況では、その後ユーザがウェブサイトにおいて新しいセッションを開始するときに、ユーザのクライアントデバイスにおいてウェブサイトのウェブページのデータを事前キャッシュすることによって、ユーザへのコンテンツの配信を修正することができる。たとえば、そのユーザがその後ウェブサイトの第1のウェブページを要求すると、ウェブサイト内の他のウェブページのコンテンツ(たとえば、そのユーザによって頻繁に訪れられるページ)をクライアントデバイスにおいてキャッシュして、ウェブサイトのページ間のナビゲーションを高速化することができる。この事前キャッシュは、ウェブサイトの多くのページを移動する可能性が低いユーザのクライアントデバイスにおいて帯域幅の事前キャッシュデータを無駄にしないように、ウェブサイトにおいて少なくとも最小限の時間を費やすユーザに制限することができる。
ウェブサイトを訪れたユーザのユーザセッションデータの集約セットを取得するために、ユーザのユーザセッションの計算された期間とユーザの識別子を、他のユーザのウェブサイトにおける他のユーザセッション期間および他のユーザの他の識別子とともにデータ構造に記憶するステップ。
ユーザセッションデータの集約セットを、ユーザセッション期間によって指定された時間の長さに基づいて2つ以上のサブセットにセグメント化し、これは、以下の追加のステップのうちの1つまたは複数を含み得る。指定された期間よりも短いユーザセッション期間に対応するユーザの識別子を含むユーザセッションデータの第1のサブセットを作成するステップ。指定された期間を超えるユーザセッション期間に対応するユーザの識別子を含むユーザセッションデータの第2のサブセットを作成するステップ。たとえば、ウェブサイトにおけるユーザセッションの期間に基づくユーザへのコンテンツの配信は、第2のサブセット内の識別子に対応するユーザに、ウェブサイトに関連する追加コンテンツを、それらのユーザが第2のサブセットに含まれていることに基づき、それらのユーザが他のウェブサイトを訪れるときに提供するステップを含む。ユーザセッションデータの集約セットをセグメント化する例示的なステップについて、以下でさらに詳細に説明する。
これらの特徴および追加の特徴は、以下でより詳細に説明する。
図1は、デジタルコンポーネントが電子文書で提示するために配信される例示的な環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せなどのネットワーク102を含む。ネットワーク102は、電子文書サーバ104、クライアントデバイス106、デジタルコンポーネントサーバ108、およびデジタルコンポーネント配信システム110(コンポーネント配信システムとも呼ばれる)を接続する。例示的な環境100は、多くの異なる電子文書サーバ104、クライアントデバイス106、およびデジタルコンポーネントサーバ108を含み得る。
クライアントデバイス106は、ネットワーク102を介してリソースを要求および受信することができる電子デバイスである。例示的なクライアントデバイス106は、パーソナルコンピュータ、モバイル通信デバイス(たとえば、スマートフォン)、およびネットワーク102を介してデータを送受信することができる他のデバイス(たとえば、タブレットデバイスまたはウェアラブルコンピューティングデバイス)を含む。クライアントデバイス106は通常、ネットワーク102を介したデータの送受信を容易にするためにウェブブラウザなどのユーザプリケーションを含むが、クライアントデバイス106によって実行されるネイティブアプリケーションもまた、ネットワーク102を介したデータの送受信を容易にすることができる。
電子文書は、クライアントデバイス106においてコンテンツのセットを提示するデータである。電子文書の例には、ウェブページ、ワープロ文書、ポータブル文書フォーマット(PDF)文書、画像、ビデオ、検索結果ページ、およびフィードソースを含む。モバイル、タブレット、またはデスクトップコンピューティングデバイスにインストールされたアプリケーションなどのネイティブアプリケーション(たとえば、「アプリ」)もまた、電子文書の例である。電子文書は、電子文書サーバ104(「Electronic Doc Servers」)によってクライアントデバイス106に提供することができる。たとえば、電子文書サーバ104は、出版社のウェブサイトをホストするサーバを含むことができる。この例では、クライアントデバイス106は、所与の発行者ウェブページの要求を開始することができ、所与の発行者ウェブページをホストする電子文書サーバ104は、クライアントデバイス106において所与のウェブページの提示を開始する機械実行可能命令を送信することによって要求に応答することができる。
別の例では、電子文書サーバ104は、クライアントデバイス106がアプリをダウンロードできるアプリサーバを含むことができる。この例では、クライアントデバイス106は、クライアントデバイス106においてアプリをインストールするために必要なファイルをダウンロードし、次いでダウンロードしたアプリをローカルで実行することができる。
電子文書は、様々なコンテンツを含むことができる。たとえば、電子文書は、電子文書自体の中にあり、および/または経時的に変化しない静的コンテンツ(たとえば、テキストまたは他の指定されたコンテンツ)を含むことができる。電子文書はまた、継時的に、または要求ごとに変化する可能性のある動的コンテンツを含むことができる。たとえば、所与の電子文書の発行者は、電子文書の一部を取り込むために使用されるデータソースを維持することができる。この例では、所与の電子文書がクライアントデバイス106によって処理(たとえば、レンダリングまたは実行)されるときに、所与の電子文書は、クライアントデバイス106にデータソースからコンテンツを要求させる1つもしくは複数のタグまたはスクリプトを含むことができる。クライアントデバイス106は、データソースから取得したコンテンツを含む複合電子文書を作成するために、データソースから取得したコンテンツを所与の電子文書に統合する。電子文書(簡潔にするために、単に文書とも呼ばれる)は、必ずしもファイルに対応しているわけではない。文書は、他の文書を保持するファイルの一部、問題の文書専用の単一ファイル、または複数の調整されたファイルに記憶され得る。電子文書は、ウェブページ、ネイティブアプリケーションユーザインターフェース、または別の適切な電子フォーマットの形式であり得る。
状況によっては、所与の電子文書は、デジタルコンポーネント配信システム110を参照する1つまたは複数のデジタルコンポーネントタグまたはデジタルコンポーネントスクリプトを含むことができる。これらの状況では、デジタルコンポーネントタグまたはデジタルコンポーネントスクリプトは、所与の電子文書がクライアントデバイス106によって処理されるときにクライアントデバイス106によって実行される。デジタルコンポーネントタグまたはデジタルコンポーネントスクリプトの実行は、ネットワーク102を介してデジタルコンポーネント配信システム110に送信される1つまたは複数のデジタルコンポーネント112に対する要求(「コンポーネント要求」と呼ばれる)を生成するようにクライアントデバイス106を構成する。たとえば、デジタルコンポーネントタグまたはデジタルコンポーネントスクリプトは、クライアントデバイス106は、ヘッダおよびペイロードデータを含むパケット化されたデータ要求を生成することを可能にすることができる。コンポーネント要求112は、デジタルコンポーネントが要求されているサーバの名前(または、ネットワーク位置)、要求デバイス(たとえば、クライアントデバイス106)の名前(または、ネットワーク位置)、などの特徴、および/または、デジタルコンポーネント配信システム110が、要求に応じて提供される1つまたは複数のデジタルコンポーネントを選択するために使用することができる情報を指定するイベントデータを含むことができる。コンポーネント要求112は、クライアントデバイス106によって、ネットワーク102(たとえば、電気通信ネットワーク)を介してデジタルコンポーネント配信システム110のサーバに送信される。
コンポーネント要求112は、要求されている電子文書、およびデジタルコンポーネントを提示することができる電子文書の位置の特徴など、他のイベント機能を指定するイベントデータを含むことができる。たとえば、デジタルコンポーネントが表示される電子文書(たとえば、ウェブページ)への参照(たとえば、URL)を指定するイベントデータ、デジタルコンポーネントを提示するために使用可能な電子文書の利用可能な位置、利用可能な場所のサイズ、および/またはその位置における提示に適格なメディアタイプをデジタルコンポーネント配信システム110に提供することができる。同様に、電子文書に関連付けられるキーワード(「文書キーワード」)または電子文書によって参照されるエンティティ(たとえば、人、場所、物など)を指定するイベントデータも、コンポーネント要求112(ペイロードデータとして)に含めることができ、電子文書での提示に適格なデジタルコンポーネントの識別を容易にするために、デジタルコンポーネント配信システム110に提供される。イベントデータは、検索結果ページを取得するためにクライアントデバイス106から提出された検索クエリ、ならびに/または、検索結果および/もしくは検索結果に含まれるテキスト、音声、または他の視覚コンテンツを指定するデータを含むことができる。本明細書全体で使用されているように、検索クエリおよびクエリという用語は、従来の検索エンジンを通じて提出される従来の検索クエリを超えるクエリをカバーすると解釈されるべきである。たとえば、これらの用語は、人工知能アシスタントによって受信される音声クエリ、音声コマンド、または音声命令などの他のタイプのクエリ、および人工知能アシスタントとの他の相互作用をカバーすることが意図される。
コンポーネント要求112はまた、クライアントデバイスのユーザが提供した情報、コンポーネント要求が提出された州もしくは地域を示す地理情報、またはデジタルコンポーネントが表示される環境のコンテキストを提供する他の情報(たとえば、コンポーネント要求の時刻、コンポーネント要求の曜日、デスクトップコンポーネント、モバイルデバイス、またはタブレットデバイスなどの、デジタルコンポーネントが表示されるデバイスのタイプ)などの、他の情報に関連するイベントデータを含むことができる。コンポーネント要求112は、たとえば、パケット化されたネットワークを介して送信することができ、コンポーネント要求112自体は、ヘッダおよびペイロードデータを有するパケット化されたデータとしてフォーマットすることができる。ヘッダはパケットの宛先を指定することができ、ペイロードデータは上記の情報のいずれかを含むことができる。
コンポーネント配信システム110は、コンポーネント要求112の受信および/またはコンポーネント要求112に含まれる情報の使用に応じて、所与の電子文書とともに提示されるデジタルコンポーネントを選択する。いくつかの実装形態では、デジタルコンポーネントの遅延選択によって引き起こされる可能性のあるエラーを回避するために、デジタルコンポーネントが1秒未満で選択される。たとえば、コンポーネント要求112に応答してデジタルコンポーネントを提供する際の遅延により、クライアントデバイス106におけるページ読込みエラーが発生すること、または電子文書の他の部分がクライアントデバイス106において提示された後でも電子文書の一部が未入力のままになることがある。また、デジタルコンポーネントをクライアントデバイス106に提供する際の遅延が大きくなると、デジタルコンポーネントがクライアントデバイス106に配信されるときに電子文書がクライアントデバイス106において表示されなくなり、それによって電子文書に関するユーザの経験に悪影響を与える可能性が高くなる。さらに、たとえば、デジタルコンポーネントが提供されたときに電子文書がクライアントデバイス106において提示されなくなった場合、デジタルコンポーネントを提供する際の遅延により、デジタルコンポーネントの配信が失敗する可能性がある。
いくつかの実装形態では、デジタルコンポーネント配信システム110は、コンポーネント要求を処理し、要求に応答する1つまたは複数のデジタルコンポーネントを、それを行うための限られた時間内に(たとえば、1秒未満で)に提供するために、分散コンピューティングシステムに実装される。分散コンピューティングシステムは、たとえば、サーバと、相互接続され、要求112に応じてデジタルコンポーネントを識別および配信する複数のコンピューティングデバイス114のセットとを含む。複数のコンピューティングデバイス114のセットは、数百万の利用可能なデジタルコンポーネント(DC1-x)のコーパスの中から電子文書に提示される資格があるデジタルコンポーネントのセットを識別するために、一緒に動作する。数百万の利用可能なデジタルコンポーネントは、たとえば、デジタルコンポーネントデータベース116においてインデックス付けすることができる。各デジタルコンポーネントインデックスエントリは、対応するデジタルコンポーネントを参照すること、および/または対応するデジタルコンポーネントの配信/送信に寄与する(たとえば、条件または制限)配信パラメータ(DP1-DPx)を含むことができる。たとえば、配信パラメータは、コンポーネント要求がデジタルコンポーネントの配信パラメータの1つに一致する(たとえば、正確に、または事前に指定された類似レベルで)少なくとも1つの基準を含めることを要求することによって、デジタルコンポーネントの送信に寄与することができる。
いくつかの実装形態では、特定のデジタルコンポーネントの配信パラメータは、デジタルコンポーネントを提示に適格にするために(たとえば、電子文書、文書キーワード、検索クエリ、またはコンポーネント要求112において指定された用語によって)一致する必要のある配信キーワードを含むことができる。言い換えれば、ネットワーク102を介したデジタルコンポーネントの配信(たとえば、送信)をトリガするために配信パラメータが使用される。配信パラメータはまた、デジタルコンポーネントを提示に適格にするために、コンポーネント要求112に、特定の地理的地域(たとえば、国または州など)を指定する情報、および/またはコンポーネント要求112が特定のタイプのクライアントデバイス(たとえば、デスクトップデバイス、モバイルデバイス、またはタブレットデバイス)から発信されたことを指定する情報を含めるよう要求する。以下でより詳細に説明するように、配信パラメータはまた、配信/送信のデジタルコンポーネント(たとえば、利用可能な他のデジタルコンポーネントの中から)の適格性を評価するために使用される適格性値(たとえば、ランキングスコア、入札、または他の特定の値)を指定することができる。状況によっては、適格性値は、特定のイベントがデジタルコンポーネントに起因する場合に提出される量を指定することができる(たとえば、アプリケーションがデジタルコンポーネントとの対話を通じてクライアントデバイスにインストールされたとき、またはデジタルコンポーネントの提示に起因するとき)。
適格なデジタルコンポーネントの識別は、複数のコンピューティングデバイスのセット114内のコンピューティングデバイス(たとえば、114、114b、および114c)の間で(たとえば、サーバによって)割り当てられる複数のタスク117a〜117cに(たとえば、サーバによって)セグメント化することができる。たとえば、セット114内の異なるコンピューティングデバイスはそれぞれ、コンポーネントリクエスト112に含まれる情報と一致する配信パラメータを有する様々なデジタルコンポーネントを識別するために、デジタルコンポーネントデータベース116の異なる部分を分析することができる。いくつかの実装形態では、セット114内の各所与のコンピューティングデバイスは、異なるデータ次元(または、次元のセット)を分析し、分析の結果(Res 1〜Res 3)118a〜118cをデジタルコンポーネント配信システム110に返す(たとえば、返信する)ことができる。たとえば、セット114内のコンピューティングデバイスの各々によって提供される結果118a〜118cは、コンポーネント要求112に応答して配信に適格なデジタルコンポーネントのサブセット、および/または特定の配信パラメータを有するデジタルコンポーネントのサブセットを識別し得る。デジタルコンポーネントのサブセットの識別は、たとえば、イベントデータを配信パラメータと比較すること、およびイベントデータの少なくともいくつかの特徴に一致する配信パラメータを有するデジタルコンポーネントのサブセットを識別することを含むことができる。
デジタルコンポーネント配信システム110は、複数のコンピューティングデバイス114のセットから受信した結果118a〜118cを集約し、要求112に応じて提供される1つまたは複数のデジタルコンポーネントを選択するために、集約した結果に関連付けられる情報を使用する。たとえば、デジタルコンポーネント配信システム110は、以下で説明するように、1つまたは複数のコンポーネント評価プロセスの結果に基づいて、勝ち組デジタルコンポーネント(1つまたは複数のデジタルコンポーネント)のセットを選択することができる。次に、デジタルコンポーネント配信システム110は、ネットワーク102を介して、クライアントデバイス106が所与の電子文書に一連の勝ち組デジタルコンポーネントを統合することを可能にする返信データ120(たとえば、返信を表すデジタルデータ)を生成および送信することができ、したがって、勝ち組デジタルコンポーネントのセットと電子文書のコンテンツがクライアントデバイス106のディスプレイにおいて一緒に提示される。
いくつかの実装形態では、クライアントデバイス106は、応答データ120に含まれる命令を実行し、これにより、クライアントデバイス106が1つまたは複数のデジタルコンポーネントサーバ108から勝ち組デジタルコンポーネントのセットを取得するように構成し、またそれを可能にする。たとえば、応答データ120内の命令は、デジタルコンポーネントサーバ108から所与の勝ち組デジタルコンポーネントを取得するために、ネットワーク位置(たとえば、ユニフォームリソースロケータ(URL))、およびクライアントデバイス106にサーバ要求(SR)121をデジタルコンポーネントサーバ108に送信させるスクリプトを含むことができる。要求に応じて、デジタルコンポーネントサーバ108は、サーバ要求121において指定された所与の勝ち組デジタルコンポーネント(たとえば、複数のデジタルコンポーネントを記憶するデータベース内の)を識別し、クライアントデバイス106において電子文書内の所与の勝ち組デジタルコンポーネントを提示するデジタルコンポーネントデータ(DCデータ)122をクライアントデバイス106に送信する。
電子文書の検索を容易にするために、環境100は、電子文書をクロールおよびインデックス付けすることによって電子文書を識別する検索システム150を含むことができる(たとえば、電子文書のクロールされたコンテンツに基づいてインデックス付けされる)。電子文書に関するデータは、データが関連付けられている電子文書に基づいてインデックス付けすることができる。電子文書のインデックス付けされ、任意でキャッシュされたコピーは、検索インデックス152(たとえば、ハードウェアメモリデバイス)に記憶される。電子文書に関連付けられているデータは、電子文書に含まれるコンテンツおよび/または電子文書のメタデータを表すデータである。
クライアントデバイス106は、ネットワーク102を介して検索システム150に検索クエリを提出することができる。それに応じて、検索システム150は、検索クエリに関連する電子文書を識別するために、検索インデックス152にアクセスする。検索システム150は、検索結果の形式で電子文書を識別し、検索結果ページにおいてクライアントデバイス106に検索結果を返す。検索結果は、特定の検索クエリに応答する(たとえば、関連する)電子文書を識別する検索システム150によって生成されるデータであり、検索結果とのユーザ対話に応じて、クライアントデバイスに、指定されたネットワーク位置(たとえば、URL)にデータを要求させるアクティブリンク(たとえば、ハイパーテキストリンク)を含む。検索結果の例は、ウェブページのタイトル、ウェブページから抽出されたテキストのスニペットまたは画像の一部、およびウェブページのURLを含むことができる。
別の検索結果の例には、ダウンロード可能なアプリケーションのタイトル、ダウンロード可能なアプリケーションを説明するテキストのスニペット、ダウンロード可能なアプリケーションのユーザインターフェースを示す画像、および/またはクライアントデバイス106にアプリケーションをダウンロードすることができる位置へのURLを含むことができる。いくつかの状況では、検索システム150は、提出された検索クエリに関連するダウンロード可能なアプリケーションに関する情報を提示するために、クライアントデバイス106においてインストールするためにアプリケーションをダウンロードすることができるアプリケーションストア(または、オンラインポータル)の一部であるか、それと対話することができる。
他の電子文書と同様に、検索結果ページは、デジタルコンポーネントを提示することができる1つまたは複数のスロットを含むことができる。本明細書全体で使用される「デジタルコンポーネント」という語句は、デジタルコンテンツまたはデジタル情報の個別のユニット(たとえば、ビデオクリップ、オーディオクリップ、マルチメディアクリップ、画像、テキスト、またはコンテンツの別のユニット)を指す。デジタルコンポーネントは、単一のファイルまたはファイルの集合として物理メモリデバイスに電子的に記憶することができ、デジタルコンポーネントは、ビデオファイル、オーディオファイル、マルチメディアファイル、画像ファイル、またはテキストファイルの形式を取り、広告情報を含むことができ、したがって広告はデジタルコンポーネントの一種である。
クライアントデバイス106によって提出される検索クエリは、検索結果ページとともに提示される1つまたは複数のデジタルコンポーネントを識別するために使用することができる。たとえば、デジタルコンポーネント配信システム110は、検索クエリと一致する(たとえば、複数形、スタブ、同義語、および以下に十分に類似する他の変形を含む、語句一致または拡張一致での修飾などの、指定された類似レベルにおいて同じであるか、そうでなければ一致が見込まれる)配信パラメータを有するデジタルコンポーネントを識別するために、検索クエリを使用することができる。検索クエリを使用した1つまたは複数のデジタルコンポーネントの識別は、上記で説明した方法と同様の方法で実行することができる。
デジタルコンポーネントを所与のユーザに配信するかどうか、および/または所与のユーザにどのデジタルコンポーネントを配信するかの決定は、所与のユーザが以前に関与したユーザセッションの期間に関する情報によって通知することができる。たとえば、所与のユーザが特定のコンテンツプロバイダによって提供された文書と対話するときに、より長いユーザセッション(たとえば、指定された時間よりも長い)に関与した場合、システムはその特定のコンテンツプロバイダによって提供されたデジタルコンポーネントを所与のユーザに配信することを決定することができる。対照的に、本システムは、特定のコンテンツプロバイダによって提供された文書と対話するときに、所与のユーザがより短いユーザセッション(たとえば、指定された時間よりも短い)に関与している場合、所与のユーザにデジタルコンポーネントまたは異なるコンテンツプロバイダからのデジタルコンポーネントを配信しないことを決定することができる。
状況によっては、所与のユーザが特定のコンテンツプロバイダによって提供された文書との対話に費やす時間が指定された時間よりも短い場合、所与のユーザへのコンテンツの配信を制限し、それによって使用する帯域幅を少なくすることができる。たとえば、これらの状況では、本システムは、より小さいデジタルコンポーネント(たとえば、ファイルサイズに関して)を所与のユーザに送信することもでき、コンテンツを所与のユーザに提供するために消費される帯域幅の量を制限するために、所与のユーザへのデジタルコンポーネントの配信を防ぐこともできる。一方、ユーザが、特定のコンテンツプロバイダによって提供される文書との対話に少なくとも指定された時間を費やした場合、より大きいデジタルコンポーネント(たとえば、ファイルサイズに関して)を所与のユーザに配信することができ、および/または所与のユーザにより多数のデジタルコンポーネントを配信することもできる。たとえば、所与のユーザが特定のコンテンツプロバイダによって提供される文書との対話に少なくとも指定された時間を費やした場合、ユーザは特定のコンテンツプロバイダによって提供される、より頻繁に配信されるデジタルコンポーネントであり得る。
他の状況では、所与のユーザが関与したユーザセッションの割当量に基づいて、事前キャッシュの決定を行うことができる。たとえば、所与のユーザが特定のコンテンツプロバイダによって提供される文書を閲覧する際により長いユーザセッションに歴史的に関与している場合、ユーザが特定のコンテンツプロバイダによって提供される様々な文書をブラウジングしている間に、追加のデータ(たとえば、特定のコンテンツプロバイダによって提供される他の文書のコンテンツ)をクライアントデバイスにおいて事前キャッシュすることができる。このようにして、ユーザが他の文書を要求すると、他の文書の表示がより迅速に行われる。
次に、デジタルコンポーネント配信システム110を使用して、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正するためのプロセスおよび例について、図2〜図5を参照して以下で説明する。
図2は、デジタルコンポーネント配信システム110をクライアントデバイス106で実装することができる例示的な環境200のシステムフロー図である。デジタルコンポーネント配信システム110は、図1を参照して上述した動作を可能にする他のコンポーネントの中でも、ユーザアクティビティサーバ230およびコンテンツビューサーバ240を含むことができる。デジタルコンポーネント配信システム110はまた、ユーザアクティビティデータストア234およびコンテンツビューデータストア244を含むことができる。いくつかの実装形態では、たとえば、集約データストア250において、ユーザアクティビティデータストア234およびコンテンツビューデータストア244からのデータを集約するために、デジタルコンポーネント配信システム110は、図3を参照して説明したプロセス300の動作を実行する。以下で説明するように、ユーザセッションの期間を決定するために、集約されたデータを使用することができ、これにより、ユーザへのコンテンツの配信を修正することができる。
図3は、デジタルコンポーネント配信システムを使用して、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正するための例示的なプロセス300のフロー図である。プロセス300は、たとえば、図1および図2のデジタルコンポーネント配信システム110によって実装することができ、また図2のシステムフロー図によって示される。プロセス300の動作はまた、非一時的コンピュータ可読媒体に記憶された命令として実装することができ、1つまたは複数のデータ処理装置における命令の実行により、1つまたは複数のデータ処理装置にプロセス300の動作を実行させることができる。
プロセス300は、パケット化されたメッセージを受信する(302)。いくつかの実装形態では、パケット化されたメッセージは、所与のオンラインリソースのコードに含まれるタグのシグナリングによって生成される。タグのシグナリングという語句はまた、タグの発火とも呼ばれる場合がある。パケット化されたメッセージは、所与のオンラインリソースにアクセスしているユーザまたはユーザに対応するユーザの識別子を含むことができる。たとえば、図2は、特定のユーザのクライアントデバイス106上のユーザアクティビティストリーム202を示す。示されている例では、特定のユーザは、エンティティリソースページA 204Aなどのオンラインリソース(ウェブページ)と、オンラインリソースの一部であるレポートタグ205Aなどのタグ(たとえば、スクリプト)を訪れ、エンティティリソースページA 204Aがクライアントデバイスによってレンダリングされるときに発火する(たとえば、処理および/または実行される)。レポートタグ205Aのシグナリングにより、クライアントデバイスはパケット化されたメッセージ210Aを生成する。パケット化されたメッセージ210Aは、クライアントデバイスからデジタルコンポーネント配信システム110内のユーザアクティビティサーバ230に送信される。パケット化されたメッセージ210Aは、所与のオンラインリソースにアクセスしているユーザ、ページA 204AのURL、および/またはデータタイプインジケータを表すユーザ識別子(たとえば、クッキーまたはアカウント識別子などの別のユーザ識別子)を含むことができる。いくつかの実施形態では、パケット化されたメッセージ210Aはまた、ユーザが特定のページA 204Aにいつアクセスするかを示すタイムスタンプを含むことができる。いくつかの実施形態では、タイムスタンプは、パケット化されたメッセージ210Aの受信前にパケット化されたメッセージ210Aに含まれるのではなく、パケット化されたメッセージ210Aが受信されると、ユーザアクティビティサーバ230によって追加される。
図2に示されるように、ユーザアクティビティサーバ230は、クライアントデバイスからパケット化されたメッセージ210を受信し、受信したユーザアクティビティデータ232をユーザアクティビティデータストア234に記録する。いくつかの実施形態では、ユーザアクティビティサーバ230は、データタイプ、ユーザ識別子、エンティティリソースのURL、および/またはメッセージがタイムスタンプを含むかどうかを決定するために、パケット化された各メッセージを読み取ることができる。パケット化されたメッセージ210にタイムスタンプが含まれていない場合、ユーザアクティビティサーバ230は、ユーザアクティビティデータストア234にユーザアクティビティデータ232を記録する前にタイムスタンプを追加することができる。
図2に示されるように、デジタルコンポーネント配信システム110はまた、コンテンツビューサーバ240を含むことができる。クライアントデバイス106がサードパーティリソースページ206にアクセスすると、コンテンツ要求スクリプト(CRS)207などのサードパーティのオンラインリソース上で実行されているスクリプトが発火し、コンテンツビューデータ220を生成する。例示的な実施形態では、コンテンツビューデータ220は、サードパーティリソースページ206からデジタルコンポーネント配信システム110のコンテンツビューサーバ240に送信される。コンテンツビューデータ220の受信に応答して、コンテンツビューサーバ240はコンテンツリターンデータ222をリソースページ206に送信することができる。コンテンツビューデータ220は、パケット化された要求データ(たとえば、HTTP要求)の形式であり得、レンダリングされているサードパーティリソース(ウェブページ)に関する情報を含むことができる。たとえば、コンテンツビューデータ220は、サードパーティリソースページ206、サードパーティリソースページ206のURL、および/またはデータタイプインジケータにアクセスしているユーザを表すユーザ識別子(たとえば、クッキーまたはアカウント識別子などの別のユーザ識別子)を含むことができる。いくつかの実施形態では、コンテンツビューデータ220はまた、ユーザが特定のサードパーティリソースページ206にいつアクセスしたかを示すタイムスタンプを含むことができる。いくつかの実施形態では、コンテンツビューデータ220が受信されると、コンテンツビューサーバ240によってタイムスタンプが追加される。ユーザアクティビティサーバ230と同様に、コンテンツビューサーバ240は、クライアントデバイスからコンテンツビューデータ220を受信し、受信したコンテンツビューデータ220をコンテンツビューデータストア244に記録する。いくつかの実施形態では、コンテンツビューサーバ240は、データタイプ、ユーザ識別子、エンティティリソースのURL、および/またはメッセージがタイムスタンプを含むかどうかを決定するために、受信したコンテンツデータを読み取ることができる。コンテンツビューデータ220にタイムスタンプが含まれていない場合、コンテンツビュ
ーサーバ240は、コンテンツビューデータ220をコンテンツビューデータストア244に送信する前にタイムスタンプを追加することができる。
さらに、図2が示すように、所与のユーザアクティビティストリーム202内で、ユーザがページA 204A、ページB 204B、ページ204Nなどの同じコンテンツプロバイダによって提供されるリソースのページを閲覧し続けると、タグが発火し(たとえば、タグ205A、205B、205Nなど)、これにより、クライアントデバイスはパケット化されたメッセージ(210A、210B、210Nなど)を生成し、デジタルコンポーネント配信システム110におけるユーザアクティビティサーバ230に送信する。いくつかの実施形態では、コンテンツプロバイダなどの特定のエンティティのリソースは、ウェブブラウザ、クライアントデバイス106にインストールされたネイティブアプリケーション、または2つの組合せからのものであり得る。たとえば、ユーザは、クライアントデバイス106上のブラウザ(すなわち、ページA 204A)における例示的なエンティティウェブページ「example.com/shoes」において靴にアクセスし、次いで、クライアントデバイス106にインストールされた例示的なエンティティネイティブアプリケーションを通じて同様のリソースまたはウェブページ(すなわち、ページB 204B)にアクセスし得る。両方の例で、ユーザアクティビティサーバ230は、ユーザが同じエンティティのリソース内の靴を見ていることを示すパケット化されたメッセージ210を受信することができ、ここでは両方とも例示的なエンティティリソースである。たとえば、タグを含む各ウェブページおよび/またはネイティブアプリケーションユーザインターフェースは、クライアントデバイスに、ユーザアクティビティサーバに送信されるパケット化されたメッセージを生成させる。
図3に戻ると、プロセス300は、パケット化されたメッセージのタイムスタンプを、所与のオンラインリソースを含むウェブサイトにおけるユーザセッションの開始として記録する(304)。本明細書で説明するように、一実施形態例では、パケット化されたメッセージ210はタイムスタンプを含むことができ、または他の例では、ユーザアクティビティサーバ230は受信されるパケット化されたメッセージ210ごとにタイムスタンプを追加することができる。ログに記録されたタイムスタンプを示す例示的なデータセットが図4に示されている。
図4は、デジタルコンポーネント配信システム内の、マージされた、集約されたユーザセッションデータの例示的な表400である。集約されたユーザセッションデータは、たとえば、図2のデジタルコンポーネント配信システム110によってマージすることができる。たとえば、デジタルコンポーネント配信システム110は、集約されたユーザセッションデータを形成するために、ユーザアクティビティデータ232とコンテンツビューデータ220とを組み合わせることができ、集約されたユーザセッションデータは、集約データストア250に記憶することができる。
表400に示される例示的な集約されたユーザセッションデータは、特定のユーザが訪れた複数のリソース(ウェブページ)を指定する。特定のユーザが訪れたリソースは、受信されたパケット化されたメッセージ210およびコンテンツビューデータ220から、デジタルコンポーネント配信システム110によって識別することができる。表400は、タイムスタンプ列402、情報リソース(ウェブページ)URL列404、データタイプ列406、および計算されたユーザセッション期間列408などの情報の列を含む。表400はまた、異なる影付きの行の異なるグループを含み、行の各グループは、異なるユーザセッションに対応する同じ影付きを有する。たとえば、行410A、410B、410C、および410Dはユーザセッション410に含まれ、行412A、412Bはユーザセッション412に含まれ、行416A、416Bはユーザセッション416に含まれる。表400内のこれらのエントリは、他のリソース(たとえば、ユーザセッション期間が決定されているコンテンツプロバイダによって提供されないリソース)へのユーザ訪問に対応するため、行414A、414Bは影付きではない。しかしながら、それらは非ユーザセッションエントリ414としてグループ化することができる。
パケット化されたメッセージのタイムスタンプが記録された後、プロセス300は、ユーザセッションが終了したかどうかを決定する(306)。いくつかの実装形態では、ユーザセッションが終了したかどうかの決定は、(i)直近に受信したパケット化されたメッセージのタイムスタンプから指定された時間が経過したかどうか(308)、または(ii)サードパーティリソースからコンテンツビューデータが検出されるかどうか(310)に基づく。決定がいずれかの決定分岐に対して「はい」の場合、プロセス300はステップ312に進む。しかしながら、決定が両方の決定分岐に対して「いいえ」の場合、プロセス300はステップ302に戻り、別のパケット化されたメッセージを受信する。このデータ処理ループは、条件のうちのいずれかが満たされるまで、ステップ302においてパケット化されたメッセージ210を受信し続けることができる(308、310)。具体的には、プロセス300は、ウェブサイト内の追加タグのシグナリングによって生成された追加のパケット化されたメッセージが、直近に受信されたパケット化されたメッセージのタイムスタンプの指定された時間内に受信され続ける間、ウェブサイトにおけるユーザセッションがアクティブのままであることを決定することができる。一方、ユーザセッションは、(i)直近に受信されたパケット化されたメッセージのタイムスタンプが受信された時刻後の指定された時間に到達した(たとえば、ステップ308)、または(ii)ユーザに対応する識別子を含んだ要求に応じてサードパーティのコンテンツが別のウェブサイトに提供されたことを指定するコンテンツビューデータが検出された(たとえば、ステップ306)、のいずれかのときに、終了したと決定される。たとえば、タイムスタンプはデジタルコンポーネント配信システムによって引き続きログに記録され、ユーザが、たとえばユーザアクティビティストリーム202中に「example.com」における「shoes」などを閲覧している場合、ユーザがコンテンツビューデータ220からサードパーティのコンテンツリソース(ウェブページ)に移動したことをシステムが検出しなかった場合、または受信したパケット化されたメッセージ210間の時間が超過しなかった場合(たとえば、10分以上)に限り、1つの大きなユーザセッションの一
部と見なされる。
いくつかの実施形態では、図2に示されるように、ユーザが、特定のエンティティ(たとえば、コンテンツプロバイダ)が所有するオンラインリソースのページを訪れるか、同じエンティティの新しいリソースページ(すなわち、ページB 204B)に移動すると、デジタルコンポーネント配信システム110は、受信された次のパケット化されたメッセージ、たとえば、パケット化されたメッセージ210Bから、ユーザが依然として同じエンティティのオンラインリソースを閲覧していると決定することができる。これは、図4の表400にも示されており、ここで、たとえば、行410AはエンティティリソースページA 204Aを表し、タイムスタンプおよびURL(たとえば、「5:00:00PM」および「example.com/shoes」)を含むことができ、行410Bは、エンティティリソースページB 204Bからの情報を表す受信された次のパケット化されたメッセージ210Bを表すことができ、これはタイムスタンプおよびURL(たとえば、「5:00:35PM」および「example.com/shoes/brandX」)を含むことができる。
いくつかの実施形態では、デジタルコンポーネント配信システム110は、現在の時刻を、直近に受信されたパケット化されたメッセージのタイムスタンプと比較することができる(すなわち、t=0)。たとえば、デジタルコンポーネント配信システム110は、各パケット化されたメッセージを受信した後にタイマを開始することができ、そのタイマが次のパケット化されたメッセージを受信する前にタイムアウトに達すると、デジタルコンポーネント配信システム110はユーザセッションの終了を決定する。タイムアウト期間内に別のパケット化されたメッセージが受信された場合、タイマをリセットして(すなわち、t=0)、プロセスを繰り返すことができる。
いくつかの実施形態では、デジタルコンポーネント配信システム110は、直近に受信されたパケット化されたメッセージのタイムスタンプを、集約されたデータセットの特定のユーザの以前のタイムスタンプと比較することができる(たとえば、図4の表400)。ユーザが、依然として同じエンティティが所有するオンラインリソース(たとえば、「example.com」)内にあり、直近に受信されたパケット化されたメッセージのタイムスタンプによって指定された時間が、以前のパケット化されたメッセージタイムスタンプの指定された時間内にある場合(たとえば、10分を超えない)、デジタルコンポーネント配信システム110は、ユーザセッションが終了していないと決定することができる。しかしながら、直近に受信されたパケット化されたメッセージのタイムスタンプによって指定された時間が、以前のパケット化されたメッセージのタイムスタンプの指定された時間外(10分を超えるなど)の場合、デジタルコンポーネント配信システム110は、以前のユーザセッションが終了したこと、および直近に受信されたパケット化されたメッセージが新しいユーザセッションの開始であることを決定することができる。
いくつかの実施形態では、デジタルコンポーネント配信システム110は、ユーザが異なるサードパーティのオンラインリソースに切り替えたかどうかを決定することができる。たとえば、デジタルコンポーネント配信システム110は、集約されたデータセット(たとえば、図4の表400)からの集約されたデータを比較し、直近に受信されたデータタイプが依然として同じエンティティが所有するオンラインリソース(たとえば、「example.com」)からであるかどうか、またはユーザが別のサードパーティのオンラインリソースに切り替えた(たとえば、「examplesports.com」に切り替えた)かどうかを決定することができる。たとえば、集約されたデータセットが、examplesports.com上でのユーザへの提示のためにデジタルコンポーネントが要求されたことを指定するコンテンツビューデータを含む場合、ユーザセッションはコンテンツビューデータのタイムスタンプによって指定された時間に終了したと見なすことができる。
いくつかの実装形態によれば、デジタルコンポーネント配信システム110は、複数のユーザの複数のユーザアクティビティストリーム202のパケット化されたメッセージ210およびコンテンツビューデータ220を定期的に受信することと、ユーザアクティビティデータ232をユーザアクティビティデータログ234に記録することと、コンテンツビューデータ220をコンテンツビューデータログ244に記録することと、ユーザごとにデータを集約データログ250にマージすることとを行うことができる。
タイムスタンプが指定された時間が超過したことを示すかどうかに基づいてユーザセッションの終了を決定する例は、図4の表400を参照して説明される。たとえば、行410Dのタイムスタンプは5:05:30PMで、次のエントリの行412Aのタイムスタンプは6:25:00PMである。この例では、これらの行の各々に入力されるデータは、同じウェブサイト(「example.com」)からのパケット化されたメッセージから取得される。しかしながら、タイムスタンプによって示されるように、それら2つのパケット化されたメッセージの間には約80分が経過している。この例では、ユーザセッションが終了したかどうかを決定するための指定された時間は10分と想定されている。そのため、80分は指定された時間を超えているため、指定された時間が超過している。したがって、デジタルコンポーネント配信システム110は、これらの2つの行410Dおよび412Aがそれぞれ異なるユーザセッションに対応することを決定することができる。たとえば、行410Dはユーザセッション410について受信した最後のパケット化されたメッセージを表し、行412Aはユーザセッション412について最初のパケット化されたメッセージを表すことができる。
ユーザがサードパーティのオンラインリソースに切り替えて第1のオンラインリソースから離れたかどうかに基づいてユーザセッションの終了を決定する例も、図4の表400を参照して説明される。たとえば、行412Bは6:25:45PMのタイムスタンプを有するパケット化されたメッセージを表し、受信された次のパケット化されたメッセージは6:32:20PMのタイムスタンプを有する(行416A)。したがって、これらの2つのパケット化されたメッセージ間の時間は、指定された時間よりも短くなる(たとえば、上記の例から指定された時間を10分と想定した場合)。したがって、ユーザセッション412は、指定された時間を超えていることに基づいて終了したとは見なされない。しかしながら、表400は、6:28:46のタイムスタンプ(行414A)を有するコンテンツビューデータを含み、コンテンツが異なるリソース(たとえば、example.com以外)上のユーザへの提示のために要求されたことを指定する。したがって、これは、ユーザがexample.comから移動し、それによってユーザセッション412が終了したことを示す。したがって、デジタルコンポーネント配信システム110は、次いで、ユーザセッション412中に受信された最後のパケット化されたメッセージが6:25:45PMのタイムスタンプマークの行412Bによって表されることを決定することができる。
プロセス300は、タイムスタンプと、ウェブサイトにおけるユーザセッションが終了したと決定された時間との間の差に基づいて、ユーザセッションの期間を計算する(312)。たとえば、図4の表400によって示されるように、デジタルコンポーネント配信システム110は、ユーザセッション410の持続時間が5分と30秒(「5分30秒」)であると決定し、これは、ユーザセッション410に含まれる最初と最後のタイムスタンプ間のタイムスタンプの差である。上述のように、ユーザセッションの終了は、6:25:00PMに受信したパケット(行412A)が指定された10分間を超えたため、5:05:30PMマーク(行410D)であると決定された。いくつかの実装形態では、ユーザが同じページのブラウジングを停止し、クライアントデバイスの使用を停止するか、デバイス上の別の非ブラウジングアプリケーションを使用する可能性が最も高い適切な時間であるとコンテンツディストリビュータが決定する時間について、指定された時間を調整することができる。
プロセス300は、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正する(314)。たとえば、デジタルコンポーネント配信システム110は、ユーザの特定のセットまたはサブセットに提供されるコンテンツを修正することができ、それにより、帯域幅およびコンピューティングリソースをより効率的に利用することができるようになる。コンテンツプロバイダの管理者に提供するために、ユーザセッションデータの集約セットを2つ以上のサブセットにセグメント化するための例示的なプロセスは、図5を参照して以下で説明される。
図5は、デジタルコンポーネント配信システムを使用して、ユーザセッションデータのサブセットに基づいてコンテンツの配信を修正するための例示的なプロセス500のフロー図である。プロセス500は、たとえば、図1および図2のデジタルコンポーネント配信システム110によって実装することができる。
プロセス500は、ウェブサイトを訪れたユーザのユーザセッションデータの集約セットを取得するために、ユーザのユーザセッションの計算された期間とユーザの識別子を、他のユーザのウェブサイトにおける他のユーザセッション期間および他のユーザの他の識別子とともにデータ構造に記憶する(502)。たとえば、ユーザセッションが終了したと決定し、ユーザセッションの期間(たとえば、図4に示されるようなユーザセッション410、412、416の期間)を計算した後、デジタルコンポーネント配信システム110は、集約データストア250などのデータストアに、またはデジタルコンポーネント配信システム110がアクセスできる別のデータベースに、各ユーザセッションの計算された期間を記憶することができる。
プロセス500は、ユーザセッションの期間によって指定される時間の長さに基づいて、ユーザセッションデータの集約セットを2つ以上のサブセットにセグメント化する。たとえば、指定された期間よりも短いユーザセッション期間に対応するユーザの識別子を含むユーザセッションデータの第1のサブセットを作成することができる(504)。同様に、指定された期間を超えるユーザセッション期間に対応するユーザの識別子を含むユーザセッションデータの第2のサブセットを作成することができる(506)。いくつかの実装形態では、デジタルコンポーネント配信システム110は、コンテンツプロバイダによって決定された時間しきい値を使用して、ユーザセッション期間のサブセットを作成することができる。たとえば、特定のコンテンツプロバイダは、セッション期間が少なくともこの長さの場合、ユーザがエンティティの特定のリソース(たとえば、「example.com」)またはリソースのサブセット(たとえば、「example.com/shoes」)に関心を持っている尤度がより高いという決定に基づいて、2分の時間しきい値(または、何らかの他の時間しきい値)を選択し得る。この例によれば、図4に示されるように、ユーザセッション期間412(「45秒」)は、ユーザセッション期間412が2分未満であると決定されたため、第1のサブセットに含まれ、ユーザセッション期間410(「5分30秒」)およびユーザセッション期間416(「2分40秒」)は、ユーザセッションの期間410および416がそれぞれ2分間の指定された期間を超えるため、第2のサブセットに含まれる。
プロセス500は、第2のサブセット内の識別子に対応するユーザに、ウェブサイトに関連する追加コンテンツを、それらのユーザが第2のサブセットに含まれていることに基づき、それらのユーザが他のウェブサイトを訪れるときに提供することによって、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正する(508)。たとえば、プロセス300について上述したのと同様に、デジタルコンポーネント配信システム110は、作成されたデータの異なるサブセットに特に基づいてコンテンツの配信を修正することができる。いくつかの実装形態では、時間しきい値の異なるセグメント(たとえば、5分未満、5分と10分との間、10分超など)に基づいて、および/または、同じエンティティリソース内の異なるサブセット(たとえば、「ブランドXシューズ」、「サッカーシューズ」、「女性用シューズ」など)に基づいて、データの複数のサブセットを作成することができる。様々な時間のしきい値のサブセットを作成することによって、コンテンツプロバイダは、エンティティリソースの一部を通じたブラウジングに30秒以下しか費やしていないユーザにコンテンツを修正しないことを次いで決定することができる。
プロセス500は、各サブセットに含まれるいくつかの識別子を含む2つ以上のサブセットに関する情報をウェブサイトの管理者に提示するユーザインターフェースを提供する(510)。プロセス500は、識別子に対応するユーザが他のウェブサイトまたはネイティブアプリケーションを訪れたとき、2つ以上のサブセットのうちの少なくとも1つを、ウェブサイトに関連する追加コンテンツの意図される受信者として指定する制御を管理者に提供する(512)。たとえば、上述のように、デジタルコンポーネント配信システム110は、同じエンティティに対してサブセットのいくつかの異なる組合せを提供することができる。サブセットの様々な組合せは、たとえば、サブセット1、サブセット2、およびサブセット3を含むことができる。この例では、サブセット1は、例示的なエンティティの特定のリソース(「example.com/shoes」など)に2分未満しか費やさないユーザを含む。この例では、サブセット2は、例示的なエンティティの同じ特定のリソースに5分を超える時間を費やすユーザを含む。この例では、サブセット3は、例示的なエンティティの同じ特定のリソースのサブセット(たとえば、「walmart.com/shoes/soccer」)に2分を超える時間を費やすユーザを含む。もちろん、他のサブセットも提供することができる。管理者(たとえば、コンテンツプロバイダ)は、コンテンツを配信するためにどのサブセットが使用されるべきかを指定する要求をデジタルコンポーネント配信システム110に提出することができる。たとえば、コンテンツプロバイダのウェブサイトにおいて時間Yを過ごすユーザを含む、サブセットXに含まれるユーザに所与のデジタルコンポーネントを配信するために、管理者がデジタルコンポーネント配信システム110に要求を提出すると想定する。この例では、デジタルコンポーネント配信システム110は、サブセットXに含まれるユーザにデジタルコンポーネントの配信を制限することができる。このようにして、デジタルコンポーネントの配信を、コンテンツプロバイダのウェブサイトにおいて少なくとも時間Zを費やしたユーザのサブセットにおけるユーザのみに制限することによって、デジタルコンポーネントの配信に使用される帯域幅の量を最適化する(たとえば、より効率的に使用される)ことが
できる。そのため、デジタルコンポーネントの配信に使用される帯域幅の量も削減(または、制限)され、それによって、デジタルコンポーネントの配信に使用される帯域幅の量をより効率的に利用する。
管理者がユーザのサブセットのいずれかにデジタルコンポーネントを選択的に配信できるようにすることに加えて、ユーザがウェブサイトまたは他の電子文書(たとえば、ネイティブアプリケーション)と対話する方法に関するより多くの詳細情報を管理者に提供するために、ユーザセッション期間情報を使用することができる。たとえば、表400において提供され、コンテンツプロバイダに提示される情報に基づいて、平均ユーザセッション期間、ユーザセッション期間のヒストグラム、および/またはユーザがコンテンツプロバイダのウェブサイトまたはコンテンツプロバイダのウェブサイトの特定のページに費やす時間に関する情報を提供するその他のメトリックなどの分析も生成することができる。この情報は、たとえば、管理者が取得する可能性のある他の分析データを補完するために提供することができ、他の分析データが取得できない場合に提供することができる(たとえば、他の分析データが取得される方法との非互換性のため)。
いくつかの実装形態では、デジタルコンポーネント配信システム110は、パケット化されたメッセージ210内のデバイスタイプ識別子を検出することができる。デバイスタイプ識別子は、パケット化されたメッセージに対応するデバイスのタイプを指定する。たとえば、デバイスタイプ識別子は、デバイスのモデル番号、デバイスの製造元、および/またはデバイスのフォームファクタを指定することができる。いくつかの実装形態では、デバイスタイプ識別子は、デバイスタイプがモバイル、タブレット、またはデスクトップのいずれであるかを指定することができる。デバイスタイプ識別子は、他のデバイスから受信した他のパケット化されたメッセージについても検出され得る。
デバイスタイプ識別子は、デバイスタイプごとにユーザセッションを描写するために使用することができる。たとえば、パケット化されたメッセージ210および他のパケット化されたメッセージに対応するユーザセッションの場合、デジタルコンポーネント配信システム110は、デバイスタイプ識別子に基づいてモバイルデバイスを使用して行われたユーザセッションの一部、タブレットデバイスを使用して行われたユーザセッションの一部、および/またはデスクトップデバイスを使用して行われたユーザセッションの一部を決定することができる。各デバイスタイプを使用して行われたユーザセッションの一部は、たとえば、そのデバイスタイプを指定するパケット化されたメッセージを含んだユーザセッションの数を単純にカウントすることによって決定することができる。いくつかの実装形態では、デジタルコンポーネント配信システム110は、ウェブサイトにおけるユーザセッションの期間に基づいて、およびモバイルデバイスを使用して行われたユーザセッションの一部に基づいて、ユーザへのコンテンツの配信を修正することができる。たとえば、モバイルデバイスを使用して行われたユーザセッションが最も高いユーザセッション期間を有していた場合、デジタルコンポーネント配信システム110は、モバイルデバイスへのコンテンツの配信を制限することができる。
状況によっては、デジタルコンポーネント配信システム110は、ユーザセッションの期間がしきい値期間を超えると決定することができる。これらの状況では、ユーザがその後ウェブサイトにおいて新しいセッションを開始するときに、ユーザのクライアントデバイスにおいてウェブサイトのウェブページのデータを事前キャッシュすることによって、ユーザへのコンテンツの配信を修正することができる。たとえば、そのユーザがその後ウェブサイトの第1のウェブページを要求するときに、ウェブサイトのページ間のナビゲーションを高速化するために、ウェブサイト内の他のウェブページのコンテンツ(たとえば、そのユーザによって頻繁にアクセスされるページ)をクライアントデバイスにおいてキャッシュすることができる。この事前キャッシュは、ウェブサイトの多くのページに移動する可能性が低いユーザのクライアントデバイスにおいて帯域幅の事前キャッシュデータを無駄にしないように、ウェブサイトにおいて少なくとも最小限の時間を費やすユーザに限定することができる。
いくつかの実装形態では、デジタルコンポーネント配信システム110は、ユーザセッションの期間に基づいてコンテンツ配信の帯域幅の使用を制御するために、ウェブサイトにおけるユーザセッションの期間に基づいてユーザへのコンテンツの配信を修正することができる。いくつかの実装形態では、ユーザセッションの期間に基づいてコンテンツの配信のための帯域幅の使用を制御するステップは、ユーザセッションの期間が指定された量を下回ったときに、ユーザへのコンテンツの配信のために使用される帯域幅の量を減少させるステップを含む。たとえば、ユーザがウェブサイトにおいてあまり時間を費やす傾向がない場合、ユーザに提供されるコンテンツはテキストコンテンツに制限される場合がある。代替的または追加的に、ウェブサイトにおいてほとんど時間を費やさないユーザにコンテンツを提供するために利用される帯域幅の量を減らすために、これらの状況においてロードされるマルチメディアコンテンツの量が制限され得る。さらに、ウェブサイトを参照する(たとえば、ウェブサイトへのハイパーリンクを含む)デジタルコンポーネントが、ウェブサイトにおいてほとんど時間を費やさない(たとえば、指定された期間より短いユーザセッション期間を有する)ユーザに配信されるのを防ぐことができる。
いくつかの実装形態では、ウェブサイトにおけるユーザセッションの期間に基づいて、ユーザへのコンテンツの配信を修正するステップは、第2のサブセット内の識別子に対応するユーザに、ウェブサイトに関連する追加コンテンツを、それらのユーザが第2のサブセットに含まれていることに基づき、それらのユーザが他のウェブサイトを訪れるときに提供するステップを含むことができる。第2のサブセットは、指定された期間を超えるセッション期間を有するユーザのユーザ識別子を含むことを思い出されたい。そのため、これらのユーザにウェブサイトに関連する追加コンテンツを提供すると、コンテンツの送信に使用される帯域幅を効率的に使用できる可能性がある。
図6は、クライアントとして、またはサーバとして、または複数のサーバとして、本文書で説明されるシステムおよび方法を実装するために使用できる例示的なコンピューティングデバイス600、650のブロック図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すことが意図されている。コンピューティングデバイス600はさらに、テレビ、または1つまたは複数のプロセッサが埋め込まれた、もしくは取り付けられた他の電子デバイスなどの、任意の他の典型的な非モバイルデバイスを表すことが意図されている。コンピューティングデバイス650は、携帯情報端末、セルラー電話、スマートフォン、および他のコンピューティングデバイスなどの、様々な形態のモバイルデバイスを表すことが意図されている。本明細書に示されるコンポーネント、それらの接続および関係、ならびにそれらの機能は、例にすぎず、本明細書で説明および/または請求される発明の実装を制限することが意図されるものではない。
コンピューティングデバイス600は、プロセッサ602、メモリ604、ストレージデバイス606、メモリ604および高速拡張ポート610に接続する高速コントローラ608、ならびに低速バス614およびストレージデバイス606に接続する低速コントローラ612を含む。コンポーネント602、604、606、608、610、および612の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に、または必要に応じて他の方法で取り付けられ得る。プロセッサ602は、高速コントローラ608に結合されたディスプレイ616などの外部入力/出力デバイスにGUIのグラフィカル情報を表示するために、メモリ604またはストレージデバイス606に記憶された命令を含むコンピューティングデバイス600内での実行のための命令を処理することができる。他の実装形態では、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが必要に応じて使用され得る。また、複数のコンピューティングデバイス600が接続され得、各デバイスは必要な動作のうちの一部を提供することができる(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
メモリ604は、コンピューティングデバイス600内に情報を記憶する。一実装形態では、メモリ604はコンピュータ可読媒体である。一実装形態では、メモリ604は1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ604は1つまたは複数の不揮発性メモリユニットである。
ストレージデバイス606は、コンピューティングデバイス600に大容量ストレージを提供することができる。一実装形態では、ストレージデバイス606はコンピュータ可読媒体である。様々な異なる実装形態では、ストレージデバイス606は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークまたは他の構成内のデバイスを含むデバイスのアレイであり得る。一実施形態では、コンピュータプログラム製品は、情報担体に明白に具現化される。コンピュータプログラム製品は、実行時に、上述のような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ604、ストレージデバイス606、またはプロセッサ602上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
高速コントローラ608は、コンピューティングデバイス600の帯域幅集約型の動作を管理し、低速コントローラ612は、帯域幅集約型の低い動作を管理する。そのようなデューティの割当ては一例にすぎない。一実施形態では、高速コントローラ608は、メモリ604、ディスプレイ616(たとえば、グラフィックプロセッサまたはアクセラレータ通じて)、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート610に結合される。実装形態において、低速コントローラ612は、ストレージデバイス606および低速バス614に結合される。様々な通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット(登録商標))を含み得る低速バス614(たとえば、低速拡張ポート)は、キーボード、ポインティングデバイス、スキャナ、または、たとえばネットワークアダプタを通じたスイッチもしくはルータなどのネットワークデバイスなどの1つもしくは複数の入力/出力デバイスに結合され得る。
コンピューティングデバイス600は、図面に示されるように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス600は、標準サーバ620として、またはそのようなサーバのグループで複数回実装され得る。コンピューティングデバイス600はまた、ラックサーバシステム624の一部として実装され得る。さらに、コンピューティングデバイス600は、ラップトップコンピュータ622などのパーソナルコンピュータで実装され得る。あるいは、コンピューティングデバイス600からのコンポーネントは、コンピューティングデバイス650などのモバイルデバイス(図示せず)の他のコンポーネントと組み合わせることができる。そのようなデバイスの各々は、コンピューティングデバイス600、650の1つまたは複数を含み得、システム全体は、互いに通信する複数のコンピューティングデバイス600、650で構成され得る。
コンピューティングデバイス650は、他のコンポーネントの中でも、プロセッサ652、メモリ664、ディスプレイ654などの入力/出力デバイス、通信インターフェース666、およびトランシーバ668などのコンポーネントを含む。コンピューティングデバイス650はまた、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなどのストレージデバイスを備えていてもよい。コンポーネント650、652、664、654、666、および668の各々は、様々なバスを使用して相互接続され、コンポーネントのうちのいくつかは、共通のマザーボード上にまたは必要に応じて他の方法で取り付けられ得る。
プロセッサ652は、メモリ664に記憶された命令を含む、コンピューティングデバイス650内で実行するための命令を処理することができる。プロセッサはまた、別個のアナログおよびデジタルプロセッサを含み得る。プロセッサは、たとえば、ユーザインターフェースの制御、コンピューティングデバイス650によって実行されるアプリケーション、およびコンピューティングデバイス650によるワイヤレス通信などの、コンピューティングデバイス650の他のコンポーネントの調整を提供し得る。
プロセッサ652は、ディスプレイ654に結合された制御インターフェース658およびディスプレイインターフェース656を通じてユーザと通信し得る。ディスプレイ654は、たとえば、TFT LCDディスプレイもしくはOLEDディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェース656は、グラフィックおよび他の情報をユーザに提示するためにディスプレイ654を駆動するための適切な回路を含み得る。制御インターフェース658は、ユーザからコマンドを受信し、それらをプロセッサ652への提出のために変換し得る。さらに、コンピューティングデバイス650と他のデバイスとの近距離通信を可能にするために、プロセッサ652と通信する外部インターフェース662が提供され得る。外部インターフェース662は、たとえば、ワイヤード通信(たとえば、ドッキング手順を介する)、またはワイヤレス通信(たとえば、ブルートゥース(登録商標)もしくは他のそのような技術を介する)を提供し得る。
メモリ664は、コンピューティングデバイス650内に情報を記憶する。一実装形態では、メモリ664はコンピュータ可読媒体である。一実施形態では、メモリ664は、1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ664は、1つまたは複数の不揮発性メモリユニットである。拡張メモリ674も提供され、たとえば、加入者識別モジュール(SIM)カードインターフェースを含み得る拡張インターフェース672を通じてコンピューティングデバイス650に接続され得る。そのような拡張メモリ674は、コンピューティングデバイス650に追加の記憶スペースを提供してもよく、また、コンピューティングデバイス650のアプリケーションまたは他の情報を記憶してもよい。具体的には、拡張メモリ674は、上述のプロセスを実行または補足する命令を含み得、安全な情報も含み得る。したがって、たとえば、拡張メモリ674は、コンピューティングデバイス650用のセキュリティモジュールとして提供されてもよく、コンピューティングデバイス650の安全な使用を可能にする命令でプログラムされてもよい。さらに、SIMカードを介して、ハッキング不可能な方法でSIMカード上に識別情報を配置するなどの追加情報とともに、安全なアプリケーションが提供され得る。
メモリは、以下で説明するように、たとえばフラッシュメモリおよび/またはMRAMメモリを含み得る。一実施形態では、コンピュータプログラム製品は、情報担体に明白に具現化される。コンピュータプログラム製品は、実行時に、上述のような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ664、拡張メモリ674、またはプロセッサ652上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
コンピューティングデバイス650は、必要に応じてデジタル信号処理回路を含み得る通信インターフェース666を通じてワイヤレスに通信し得る。通信インターフェース666は、とりわけ、GSM(登録商標)音声通話、SMS、EMS、もしくはMMSメッセージング、CDMA(登録商標)、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなどの様々なモードまたはプロトコルの下での通信を提供し得る。そのような通信は、たとえば、トランシーバ668(たとえば、無線周波数トランシーバ)を通じて発生し得る。さらに、Bluetooth(登録商標)、WiFi、または他のそのようなトランシーバ(図示せず)を使用するなど、短距離通信が発生する場合がある。さらに、GPS受信機モジュール670は、コンピューティングデバイス650に追加のワイヤレスデータを提供し得、コンピューティングデバイス650上で実行されるアプリケーションによって必要に応じて使用され得る。
コンピューティングデバイス650はまた、オーディオコーデック660を使用して可聴通信し得、オーディオコーデック660は、ユーザから話された情報を受け取り、それを使用可能なデジタル情報に変換し得る。オーディオコーデック660は、同様に、たとえばコンピューティングデバイス650のハンドセット内のスピーカを通じてなど、ユーザに対して可聴音を生成し得る。そのような音は、音声通話からの音を含む場合があり、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含む場合があり、またコンピューティングデバイス650上で動作するアプリケーションによって生成される音も含む場合がある。
コンピューティングデバイス650は、図面に示されるように、いくつかの異なる形態で実装され得る。たとえば、セルラー電話680として実装され得る。また、スマートフォン682、携帯情報端末、または他のモバイルデバイスの一部として実装され得る。
本明細書で説明したシステムがユーザに関する個人情報を収集する状況、または個人情報を利用する可能性がある状況では、ユーザには、アプリケーションまたは機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションまたはアクティビティ、職業、ユーザの好み、またはユーザの現在地に関する情報)を収集するかどうかを制御するための、またはユーザにより関連性の高いコンテンツを受信するかどうか、および/または受信する方法を制御するための機会が提供され得る。さらに、特定のデータは、記憶または使用される前に1つまたは複数の方法で処理されるため、個人を識別できる情報は削除される。たとえば、ユーザの個人情報は、ユーザの個人を識別できる情報を決定できないように取り扱われ得、または、ユーザの特定の場所を決定できないように、位置情報が取得されたユーザの地理的位置(都市、郵便番号、または州レベルなど)が一般化され得る。したがって、ユーザは、ユーザに関する情報が収集され、コンテンツサーバによって使用される方法を制御し得る。
本明細書で説明される主題および動作の実施形態は、本明細書で開示される構造およびそれらの構造的等価物を含むデジタル電子回路、もしくはコンピュータソフトウェア、ファームウェア、もしくはハードウェア、またはそれらの1つもしくは複数の組合せにおいて実装することができる。本明細書で説明される主題の実施形態は、データ処理装置による実行のために、またはデータ処理装置の動作を制御するためにコンピュータストレージ媒体に符号化された、1つまたは複数のコンピュータプログラム、すなわちコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。
コンピュータストレージ媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらの1つもしくは複数の組合せであってもよく、それらに含まれてもよい。さらに、コンピュータストレージ媒体は伝播信号ではないが、コンピュータストレージ媒体は、人工的に生成された伝播信号において符号化されたコンピュータプログラム命令のソースまたは宛先になり得る。コンピュータストレージ媒体はまた、1つもしくは複数の別個の物理的コンポーネントまたは媒体(たとえば、複数のCD、ディスク、もしくは他のストレージデバイス)であってもよく、それらに含まれてもよい。
本明細書で説明する動作は、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 例示的な環境
102 ネットワーク
104 電子文書サーバ
106 クライアントデバイス
108 デジタルコンポーネントサーバ
110 デジタルコンポーネント配信システム
112 コンポーネント要求
114 コンピューティングデバイスのセット
114、114b、114c コンピューティングデバイス
116 デジタルコンポーネントデータベース
117a〜117c タスク
118a〜118c 分析の結果(Res1〜Res3)
120 応答データ
121 サーバ要求(SR)
122 デジタルコンポーネントデータ(DCデータ)
150 検索システム
152 検索インデックス
200 例示的な環境
202 ユーザアクティビティストリーム
204A エンティティリソースページA
204A ページA
204B ページB
204N ページ
205A レポートタグ
205A タグ
205B タグ
205N タグ
206 サードパーティリソースページ
207 コンテンツ要求スクリプト(CRS)
210 パケット化されたメッセージ
210A パケット化されたメッセージ
210B パケット化されたメッセージ
210N パケット化されたメッセージ
220 コンテンツビューデータ
222 コンテンツリターンデータ
230 ユーザアクティビティサーバ
232 ユーザアクティビティデータ
234 ユーザアクティビティデータストア
240 コンテンツビューサーバ
244 コンテンツビューデータストア
250 集約データストア
250 集約データログ
300 プロセス
400 表
402 タイムスタンプ列
404 情報リソース(ウェブページ)URL列
406 データタイプ列
408 計算されたユーザセッション期間列
410 ユーザセッション
410A 行
410B 行
410C 行
410D 行
412 ユーザセッション
412A 行
412B 行
414 非ユーザセッションエントリ
414A 行
414B 行
416 ユーザセッション
416A 行
416B 行
500 プロセス
600 コンピューティングデバイス
602 プロセッサ
604 メモリ
606 ストレージデバイス
608 高速コントローラ
610 高速拡張ポート
612 低速コントローラ
614 低速バス
616 ディスプレイ
620 標準サーバ
622 ラップトップコンピュータ
624 ラックサーバシステム
650 コンピューティングデバイス
652 プロセッサ
654 ディスプレイ
656 ディスプレイインターフェース
658 制御インターフェース
660 オーディオコーデック
662 外部インターフェース
664 メモリ
666 通信インターフェース
668 トランシーバ
670 GPS受信機モジュール
672 拡張インターフェース
674 拡張メモリ
680 セルラー電話
682 スマートフォン

Claims (27)

  1. (i)所与のオンラインリソースのコードに含まれるタグのシグナリングによって生成され、かつ(ii)前記所与のオンラインリソースにアクセスしているユーザに対応する識別子を含む、パケット化されたメッセージを、ネットワークを介してデジタルコンポーネント配信システムによって受信するステップと、
    前記デジタルコンポーネント配信システムによって、前記所与のオンラインリソースを含むウェブサイトにおけるユーザセッションの開始として、前記パケット化されたメッセージのタイムスタンプを記録するステップと、
    前記デジタルコンポーネント配信システムによって、前記ウェブサイト内の追加タグのシグナリングによって生成された追加のパケット化されたメッセージが、直近に受信されたパケット化されたメッセージのタイムスタンプの時刻後の指定された時間内に受信され続ける間、前記ウェブサイトにおける前記ユーザセッションがアクティブのままであると決定するステップと、
    前記デジタルコンポーネント配信システムによって、(i)前記直近に受信されたパケット化されたメッセージの前記タイムスタンプが受信された前記時刻後の前記指定された時間、または(ii)前記ユーザに対応する前記識別子を含んだ要求に応じてサードパーティのコンテンツが別のウェブサイトに提供されたことを指定するコンテンツビューデータを検出したこと、のうちの1つに基づき、前記ウェブサイトにおける前記ユーザセッションが終了したと決定するステップと、
    前記デジタルコンポーネント配信システムによって、前記タイムスタンプと、前記ウェブサイトにおける前記ユーザセッションが終了したと決定された時間との差に基づいて、前記ユーザセッションの期間を計算するステップと、
    前記ウェブサイトにおける前記ユーザセッションの前記期間に基づいて、前記ユーザへのコンテンツの配信を修正するステップと
    を含む、方法。
  2. 前記パケット化されたメッセージの前記タイムスタンプが、前記パケット化されたメッセージに含まれる、または前記パケット化されたメッセージの到着時間に基づいて決定される、
    請求項1に記載の方法。
  3. 前記ウェブサイトにおける前記ユーザセッションの前記期間に基づいて、前記ユーザへのコンテンツの配信を修正するステップが、
    前記ユーザセッションの前記計算された期間に基づいて、コンテンツの配信のための帯域幅の使用を制御するステップを含む、
    請求項1または2に記載の方法。
  4. 前記ユーザセッションの前記期間に基づいてコンテンツの配信のための帯域幅の使用を制御するステップが、
    前記ユーザセッションの前記期間が指定された量を下回ったときに、前記ユーザへのコンテンツの配信のために使用される帯域幅の量を減少させるステップを含む、
    請求項3に記載の方法。
  5. 前記方法は、
    前記ユーザセッションの前記期間がしきい値期間を超えていると決定するステップをさらに含み、
    前記ユーザセッションの前記期間に基づいて前記ユーザへのコンテンツの配信を修正するステップが、
    前記ユーザセッションがしきい値期間を超えるという決定に応じて、前記ユーザのクライアントデバイスにおいて、前記ユーザがその後前記ウェブサイトにおいて新しいセッションを開始したときの前記ウェブサイトのウェブページのデータを事前キャッシュすることを含む、
    請求項1から4のいずれか一項に記載の方法。
  6. 前記ウェブサイトを訪れたユーザのユーザセッションデータの集約セットを取得するために、前記ユーザの前記ユーザセッションの前記計算された期間と前記ユーザの前記識別子を、他のユーザの前記ウェブサイトにおける他のユーザセッション期間および前記他のユーザの他の識別子とともにデータ構造に記憶するステップと、
    前記ユーザセッションの期間によって指定された時間の長さに基づいて、ユーザセッションデータの前記集約セットを2つ以上のサブセットにセグメント化するステップであって、前記セグメント化するステップが、
    指定された期間よりも短い前記ユーザセッション期間に対応する前記ユーザの前記識別子を含むユーザセッションデータの第1のサブセットを作成するステップと、
    前記指定された期間を超える前記ユーザセッション期間に対応する前記ユーザの前記識別子を含む前記ユーザセッションデータの第2のサブセットを作成するステップと、
    を含む、ステップをさらに含む、
    請求項1から5のいずれか一項に記載の方法。
  7. 前記ウェブサイトにおける前記ユーザセッションの前記期間に基づいて、前記ユーザへのコンテンツの配信を修正するステップが、
    前記第2のサブセット内の前記識別子に対応する前記ユーザに、前記ウェブサイトに関連する追加コンテンツを、それらのユーザが前記第2のサブセットに含まれていることに基づき、それらのユーザが他のウェブサイトを訪れるときに提供するステップを含む、
    請求項6に記載の方法。
  8. 各サブセットに含まれるいくつかの前記識別子を含む、前記2つ以上のサブセットに関する情報を、前記ウェブサイトの管理者に提示するユーザインターフェースを提供するステップと、
    前記識別子に対応する前記ユーザが他のウェブサイトまたはネイティブアプリケーションを訪れたときに、前記ウェブサイトに関連する追加コンテンツの意図された受信者として、前記2つ以上のサブセットのうちの少なくとも1つを指定する制御を、前記管理者に提供するステップとをさらに含む、
    請求項7に記載の方法。
  9. 前記パケット化されたメッセージ、およびデバイスタイプに対応する前記識別子を含む他のパケット化されたメッセージにおける、デバイスタイプ識別子を検出するステップと、
    前記パケット化されたメッセージ、および前記他のパケット化されたメッセージに対応するユーザセッション用に、前記デバイスタイプ識別子に基づいてモバイルデバイスを使用して行われた前記ユーザセッションの一部を決定するステップであって、前記ウェブサイトにおける前記ユーザセッションの前記期間に基づいて、前記ユーザへのコンテンツの配信を修正するステップが、前記モバイルデバイスを使用して行われた前記ユーザセッションの前記一部に基づいてコンテンツの前記配信を修正するステップを含む、ステップとをさらに含む、
    請求項1から8のいずれか一項に記載の方法。
  10. データ処理装置と、
    前記データ処理装置とデータ通信するコンピュータ可読ストレージ媒体とを備える、
    システムであって、前記コンピュータ可読ストレージ媒体が、前記データ処理装置に以下の動作を実行させるための命令を記憶し、前記動作が、
    (i)所与のオンラインリソースのコードに含まれるタグのシグナリングによって生成され、かつ(ii)前記所与のオンラインリソースにアクセスしているユーザに対応する識別子を含む、パケット化されたメッセージを、ネットワークを介してデジタルコンポーネント配信システムによって受信することと、
    前記デジタルコンポーネント配信システムによって、前記所与のオンラインリソースを含むウェブサイトにおけるユーザセッションの開始として、前記パケット化されたメッセージのタイムスタンプを記録することと、
    前記デジタルコンポーネント配信システムによって、前記ウェブサイト内の追加タグのシグナリングによって生成された追加のパケット化されたメッセージが、直近に受信されたパケット化されたメッセージのタイムスタンプの時刻後の指定された時間内に受信され続ける間、前記ウェブサイトにおける前記ユーザセッションがアクティブのままであると決定することと、
    前記デジタルコンポーネント配信システムによって、(i)前記直近に受信されたパケット化されたメッセージの前記タイムスタンプが受信された前記時刻後の前記指定された時間、または(ii)前記ユーザに対応する前記識別子を含んだ要求に応じてサードパーティのコンテンツが別のウェブサイトに提供されたことを指定するコンテンツビューデータを検出したこと、のうちの1つに基づき、前記ウェブサイトにおける前記ユーザセッションが終了したと決定することと、
    前記デジタルコンポーネント配信システムによって、前記タイムスタンプと、前記ウェブサイトにおける前記ユーザセッションが終了したと決定された時間との差に基づいて、前記ユーザセッションの期間を計算することと、
    前記ウェブサイトにおける前記ユーザセッションの前記期間に基づいて、前記ユーザへのコンテンツの配信を修正することとを含む、
    システム。
  11. 前記パケット化されたメッセージの前記タイムスタンプが、前記パケット化されたメッセージに含まれる、または前記パケット化されたメッセージの到着時間に基づいて決定される、
    請求項10に記載のシステム。
  12. 前記ウェブサイトにおける前記ユーザセッションの前記期間に基づいて、前記ユーザへのコンテンツの配信を修正することが、
    前記ユーザセッションの前記期間に基づいてコンテンツの配信のための帯域幅の使用を制御することを含む、
    請求項10または11に記載のシステム。
  13. 前記ユーザセッションの前記期間に基づいてコンテンツの配信のための帯域幅の使用を制御することが、
    前記ユーザセッションの前記期間が指定された量を下回ったときに、前記ユーザへのコンテンツの配信のために使用される帯域幅の量を減少させることを含む、
    請求項12に記載のシステム。
  14. 前記動作が、
    前記ユーザセッションの前記期間がしきい値期間を超えていると決定することをさらに含み、
    前記ユーザセッションの前記期間に基づいて前記ユーザへのコンテンツの配信を修正することが、
    前記ユーザセッションがしきい値期間を超えるという決定に応じて、前記ユーザのクライアントデバイスにおいて、前記ユーザがその後前記ウェブサイトにおいて新しいセッションを開始したときの前記ウェブサイトのウェブページのデータを事前キャッシュすることを含む、
    請求項10から13のいずれか一項に記載のシステム。
  15. 前記動作が、
    前記ウェブサイトを訪れたユーザのユーザセッションデータの集約セットを取得するために、前記ユーザの前記ユーザセッションの前記計算された期間と前記ユーザの前記識別子を、他のユーザの前記ウェブサイトにおける他のユーザセッション期間および前記他のユーザの他の識別子とともにデータ構造に記憶することと、
    前記ユーザセッションの期間によって指定された時間の長さに基づいて、ユーザセッションデータの前記集約セットを2つ以上のサブセットにセグメント化することであって、前記セグメント化することが、
    指定された期間よりも短い前記ユーザセッション期間に対応する前記ユーザの前記識別子を含むユーザセッションデータの第1のサブセットを作成すること、および
    前記指定された期間を超える前記ユーザセッション期間に対応する前記ユーザの前記識別子を含む前記ユーザセッションデータの第2のサブセットを作成することを含む、こととをさらに含む、
    請求項10から14のいずれか一項に記載のシステム。
  16. 前記ウェブサイトにおける前記ユーザセッションの前記期間に基づいて、前記ユーザへのコンテンツの配信を修正することが、
    前記第2のサブセット内の前記識別子に対応する前記ユーザに、前記ウェブサイトに関連する追加コンテンツを、それらのユーザが前記第2のサブセットに含まれていることに基づき、それらのユーザが他のウェブサイトを訪れるときに提供することを含む、
    請求項15に記載のシステム。
  17. 前記動作が、
    各サブセットに含まれるいくつかの前記識別子を含む、前記2つ以上のサブセットに関する情報を前記ウェブサイトの管理者に提示するユーザインターフェースを提供することと、
    前記識別子に対応する前記ユーザが他のウェブサイトまたはネイティブアプリケーションを訪れたときに、前記ウェブサイトに関連する追加コンテンツの意図された受信者として、前記2つ以上のサブセットのうちの少なくとも1つを指定する制御を、前記管理者に、提供することとをさらに含む、
    請求項16に記載のシステム。
  18. 前記動作が、
    前記パケット化されたメッセージ、およびデバイスタイプに対応する前記識別子を含む他のパケット化されたメッセージにおける、デバイスタイプ識別子を検出することと、
    前記パケット化されたメッセージ、および前記他のパケット化されたメッセージに対応するユーザセッション用に、前記デバイスタイプ識別子に基づいてモバイルデバイスを使用して行われた前記ユーザセッションの一部を決定することであって、前記ウェブサイトにおける前記ユーザセッションの前記期間に基づいて、前記ユーザへのコンテンツの配信を修正することが、前記モバイルデバイスを使用して行われた前記ユーザセッションの前記一部に基づいてコンテンツの前記配信を修正することを含む、ことと、をさらに含む、
    請求項10から17のいずれか一項に記載のシステム。
  19. コンピュータプログラムで符号化されたコンピュータ可読ストレージ媒体であって、前記コンピュータプログラムが、データ処理装置に以下の動作を実行させる命令を備え、前記動作が、
    (i)所与のオンラインリソースのコードに含まれるタグのシグナリングによって生成され、かつ(ii)前記所与のオンラインリソースにアクセスしているユーザに対応する識別子を含む、パケット化されたメッセージを、ネットワークを介してデジタルコンポーネント配信システムによって受信することと、
    前記デジタルコンポーネント配信システムによって、前記所与のオンラインリソースを含むウェブサイトにおけるユーザセッションの開始として、前記パケット化されたメッセージのタイムスタンプを記録することと、
    前記デジタルコンポーネント配信システムによって、前記ウェブサイト内の追加タグのシグナリングによって生成された追加のパケット化されたメッセージが、直近に受信されたパケット化されたメッセージのタイムスタンプの時刻後の指定された時間内に受信され続ける間、前記ウェブサイトにおける前記ユーザセッションがアクティブのままであると決定することと、
    前記デジタルコンポーネント配信システムによって、(i)前記直近に受信されたパケット化されたメッセージの前記タイムスタンプが受信された前記時刻後の前記指定された時間、または(ii)前記ユーザに対応する前記識別子を含んだ要求に応じてサードパーティのコンテンツが別のウェブサイトに提供されたことを指定するコンテンツビューデータを検出したこと、のうちの1つに基づき、前記ウェブサイトにおける前記ユーザセッションが終了したと決定することと、
    前記デジタルコンポーネント配信システムによって、前記タイムスタンプと、前記ウェブサイトにおける前記ユーザセッションが終了したと決定された時間との差に基づいて、前記ユーザセッションの期間を計算することと、
    前記ウェブサイトにおける前記ユーザセッションの前記期間に基づいて、前記ユーザへのコンテンツの配信を修正することとを含む、
    コンピュータ可読ストレージ媒体。
  20. 前記パケット化されたメッセージの前記タイムスタンプが、前記パケット化されたメッセージに含まれる、または前記パケット化されたメッセージの到着時間に基づいて決定される、
    請求項19に記載のコンピュータ可読ストレージ媒体。
  21. 前記ウェブサイトにおける前記ユーザセッションの前記期間に基づいて、前記ユーザへのコンテンツの配信を修正することが、
    前記ユーザセッションの前記期間に基づいてコンテンツの配信のための帯域幅の使用を制御することを含む、
    請求項19または20に記載のコンピュータ可読ストレージ媒体。
  22. 前記ユーザセッションの前記期間に基づいてコンテンツの配信のための帯域幅の使用を制御することが、
    前記ユーザセッションの前記期間が指定された量を下回ったときに、前記ユーザへのコンテンツの配信のために使用される帯域幅の量を減少させることを含む、
    請求項21に記載のコンピュータ可読ストレージ媒体。
  23. 前記動作が、
    前記ユーザセッションの前記期間がしきい値期間を超えていると決定することをさらに含み、
    前記ユーザセッションの前記期間に基づいて前記ユーザへのコンテンツの配信を修正することが、
    前記ユーザセッションがしきい値期間を超えるという決定に応じて、前記ユーザのクライアントデバイスにおいて、前記ユーザがその後前記ウェブサイトにおいて新しいセッションを開始したときの前記ウェブサイトのウェブページのデータを事前キャッシュすることを含む、
    請求項19から22のいずれか一項に記載のコンピュータ可読ストレージ媒体。
  24. 前記動作が、
    前記ウェブサイトを訪れたユーザのユーザセッションデータの集約セットを取得するために、前記ユーザの前記ユーザセッションの前記計算された期間と前記ユーザの前記識別子を、他のユーザの前記ウェブサイトにおける他のユーザセッション期間および前記他のユーザの他の識別子とともにデータ構造に記憶することと、
    前記ユーザセッションの期間によって指定された時間の長さに基づいて、ユーザセッションデータの前記集約セットを2つ以上のサブセットにセグメント化することであって、前記セグメント化することが、
    指定された期間よりも短い前記ユーザセッション期間に対応する前記ユーザの前記識別子を含むユーザセッションデータの第1のサブセットを作成すること、および
    前記指定された期間を超える前記ユーザセッション期間に対応する前記ユーザの前記識別子を含む前記ユーザセッションデータの第2のサブセットを作成することを含む、こととをさらに含む、
    請求項19から23のいずれか一項に記載のコンピュータ可読ストレージ媒体。
  25. 前記ウェブサイトにおける前記ユーザセッションの前記期間に基づいて、前記ユーザへのコンテンツの配信を修正することが、
    前記第2のサブセット内の前記識別子に対応する前記ユーザに、前記ウェブサイトに関連する追加コンテンツを、それらのユーザが前記第2のサブセットに含まれていることに基づき、それらのユーザが他のウェブサイトを訪れるときに提供することを含む、
    請求項24に記載のコンピュータ可読ストレージ媒体。
  26. 前記動作が、
    各サブセットに含まれるいくつかの前記識別子を含む、前記2つ以上のサブセットに関する情報を前記ウェブサイトの管理者に提示するユーザインターフェースを提供することと、
    前記識別子に対応する前記ユーザが他のウェブサイトまたはネイティブアプリケーションを訪れたときに、前記ウェブサイトに関連する追加コンテンツの意図された受信者として、前記2つ以上のサブセットのうちの少なくとも1つを指定する制御を、前記管理者に提供することとをさらに含む、
    請求項25に記載のコンピュータ可読ストレージ媒体。
  27. 前記動作が、
    前記パケット化されたメッセージ、およびデバイスタイプに対応する前記識別子を含む他のパケット化されたメッセージにおける、デバイスタイプ識別子を検出することと、
    前記パケット化されたメッセージ、および前記他のパケット化されたメッセージに対応するユーザセッション用に、前記デバイスタイプ識別子に基づいてモバイルデバイスを使用して行われた前記ユーザセッションの一部を決定することであって、前記ウェブサイトにおける前記ユーザセッションの前記期間に基づいて、前記ユーザへのコンテンツの配信を修正することが、前記モバイルデバイスを使用して行われた前記ユーザセッションの前記一部に基づいてコンテンツの前記配信を修正することを含む、こととをさらに含む、
    請求項19から26のいずれか一項に記載のコンピュータ可読ストレージ媒体。
JP2020516405A 2018-04-30 2018-04-30 ネットワーク利用の最適化 Active JP7048729B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/030316 WO2019212523A1 (en) 2018-04-30 2018-04-30 Optimizing network utilization

Publications (2)

Publication Number Publication Date
JP2021503110A true JP2021503110A (ja) 2021-02-04
JP7048729B2 JP7048729B2 (ja) 2022-04-05

Family

ID=62486627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020516405A Active JP7048729B2 (ja) 2018-04-30 2018-04-30 ネットワーク利用の最適化

Country Status (6)

Country Link
US (1) US11356517B2 (ja)
EP (2) EP4350523A3 (ja)
JP (1) JP7048729B2 (ja)
KR (1) KR102390937B1 (ja)
CN (2) CN117793200A (ja)
WO (1) WO2019212523A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220391372A1 (en) * 2021-06-08 2022-12-08 Amadeus S.A.S. Database offloading utilizing a locater index
CN114048116B (zh) * 2021-11-11 2024-05-10 杭州东方通信软件技术有限公司 一种业务系统的体验度评估方法及装置
US11893651B2 (en) * 2022-04-04 2024-02-06 Motorola Solutions, Inc. Systems for collecting digital witness statements and detecting electronic resources referenced during collection

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009265833A (ja) * 2008-04-23 2009-11-12 Full Speed Inc 広告システム及び広告方法
JP2010177797A (ja) * 2009-01-27 2010-08-12 Alaxala Networks Corp 帯域制御装置および通信制御半導体
JP2015516095A (ja) * 2012-05-02 2015-06-04 グーグル インコーポレイテッド サーバサイドセッション化を介した集中解析トラッキング
US20170213226A1 (en) * 2013-09-27 2017-07-27 Groupon, Inc. Method, apparatus, and computer program product for consumer tracking

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020169868A1 (en) * 2001-04-20 2002-11-14 Lopke Michael S. Interactive remote monitoring of client page render times on a per user basis
CN1288885C (zh) * 2002-11-05 2006-12-06 北京振戎融通通信技术有限公司 为UniKid手机提供服务的服务平台及其应用方法
US20060026669A1 (en) * 2004-07-29 2006-02-02 Zakas Phillip H System and method of characterizing and managing electronic traffic
EP2204954B1 (en) * 2009-01-06 2017-12-27 Alcatel Lucent Optimised bandwidth utilisation in networks
US8495196B2 (en) * 2010-03-22 2013-07-23 Opanga Networks, Inc. Systems and methods for aligning media content delivery sessions with historical network usage
WO2013066281A1 (en) 2011-11-01 2013-05-10 Google Inc. Modifying redistribution sets of users based on expiration time
US20130282890A1 (en) * 2012-04-18 2013-10-24 Azuki Systems, Inc. In-stream collection of analytics information in a content delivery system
US11716517B2 (en) * 2013-04-18 2023-08-01 Comcast Cable Communications, Llc Arbitrated content consumption
US8990298B1 (en) 2013-11-05 2015-03-24 Tealium Inc. Universal visitor identification system
US20160117740A1 (en) 2014-10-27 2016-04-28 Facebook, Inc. Remarketing products to social networking system users
US9614853B2 (en) * 2015-01-20 2017-04-04 Enzoo, Inc. Session security splitting and application profiler
US10091076B2 (en) * 2015-08-25 2018-10-02 Google Llc Systems and methods for configuring a resource for network traffic analysis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009265833A (ja) * 2008-04-23 2009-11-12 Full Speed Inc 広告システム及び広告方法
JP2010177797A (ja) * 2009-01-27 2010-08-12 Alaxala Networks Corp 帯域制御装置および通信制御半導体
JP2015516095A (ja) * 2012-05-02 2015-06-04 グーグル インコーポレイテッド サーバサイドセッション化を介した集中解析トラッキング
US20170213226A1 (en) * 2013-09-27 2017-07-27 Groupon, Inc. Method, apparatus, and computer program product for consumer tracking

Also Published As

Publication number Publication date
EP4350523A3 (en) 2024-07-03
KR20200042515A (ko) 2020-04-23
CN111108482A (zh) 2020-05-05
EP3669267A1 (en) 2020-06-24
EP4350523A2 (en) 2024-04-10
EP3669267B1 (en) 2024-03-06
JP7048729B2 (ja) 2022-04-05
US20210337032A1 (en) 2021-10-28
WO2019212523A1 (en) 2019-11-07
CN111108482B (zh) 2023-11-21
CN117793200A (zh) 2024-03-29
KR102390937B1 (ko) 2022-04-26
US11356517B2 (en) 2022-06-07

Similar Documents

Publication Publication Date Title
JP6400772B2 (ja) 複数のデバイスにわたるユーザへのコンテンツの提供
KR101867809B1 (ko) 검색 결과에 대한 액세스를 향상시키기 위한 시스템 및 방법
KR102038637B1 (ko) 복수의 디바이스들에 걸친 프라이버시 관리
RU2731654C1 (ru) Способ и система для создания пуш-уведомлений, связанных с цифровыми новостями
US10445753B1 (en) Determining popular and trending content characteristics
US20140122697A1 (en) Providing content to linked devices associated with a user
JP2019514084A (ja) ビデオ検索に対する視聴時間クラスタリング
JP7233435B2 (ja) 推測された意図に基づく場所的拡張のトリガ
JP7048729B2 (ja) ネットワーク利用の最適化
US11336737B2 (en) Opt-out compliance
US11627201B2 (en) Optimizing network utilization
US10129362B2 (en) Caching system
US20140372361A1 (en) Apparatus and method for providing subscriber big data information in cloud computing environment
AU2021297136B2 (en) Dynamic trigger of web beacons
CN110622159A (zh) 提高选择退出合规性

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210517

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211007

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: 20220228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220324

R150 Certificate of patent or registration of utility model

Ref document number: 7048729

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150