(57)【要約】  本願技術は、ウェブサイト又はアプリケーショントラフィックデータに関連付けられたセッションを用意する。解析トラッキングデータ通信が受け取られる。本願技術は、上記受け取られた解析トラッキングデータ通信から解析トラッキングデータを特定し、上記解析トラッキングデータは、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータと訪問者情報とを含む。上記行為が前記訪問者情報に対応した一意の訪問者の最初の訪問に関連付けられていると判断された場合は、新規セッションが上記解析トラッキングデータに関連付けられた作成される。本願技術は、上記解析トラッキングデータに関連付けられた上記新規セッションに書き込むためのキャンペーン情報を特定する。すると、上記特定されたキャンペーン情報を含む上記解析トラッキングデータが格納される。
2015516095.tif 000002
【特許請求の範囲】
【請求項１】
ウェブサイト又はアプリケーショントラフィックデータに関連付けられたセッションを用意するための機械実装方法であって、
解析トラッキングデータ通信を受け取る段階と、
前記受け取られた解析トラッキングデータ通信から解析トラッキングデータを特定する段階であって、前記解析トラッキングデータは、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータと訪問者情報とを含む、特定する段階と、
前記行為が、前記訪問者情報に対応した一意の訪問者の最初の訪問に関連付けられていると判断された場合は、前記解析トラッキングデータに関連付けられた新規セッションを作成する段階と、
前記解析トラッキングデータに関連付けられた前記新規セッションに書き込むためのキャンペーン情報を特定する段階と、
前記特定されたキャンペーン情報を含む前記解析トラッキングデータを格納する段階とを含む、方法。
【請求項２】
前記解析トラッキングデータが前記一意の訪問者の前記最初の訪問でない場合は、アクティブセッションが前記解析トラッキングデータに関連付けられているか否かを判断する段階と、
前記解析トラッキングデータに関連付けられた前記アクティブセッションに書き込むためのキャンペーン情報を特定する段階と、
前記特定されたキャンペーン情報を含む前記解析トラッキングデータを格納する段階とを含む、請求項1に記載の方法。
【請求項３】
前記解析トラッキングデータに関連付けられたアクティブセッションが存在しない場合、前記解析トラッキングデータに関連付けられた新規セッションを作成する段階をさらに含む、請求項2に記載の方法。
【請求項４】
前記解析トラッキングデータ通信は、前記ウェブサイト又はアプリケーションに関連付けられたハイパーテキスト転送プロトコル(HTTP)要求に含まれたウェブサイト又はアプリケーショントラフィックデータを含む、請求項1に記載の方法。
【請求項５】
前記解析トラッキングデータは前記行為のタイムスタンプをさらに含む、請求項1に記載の方法。
【請求項６】
前記タイムスタンプは、イベントがクライアントにより記録された時から、前記イベントが前記解析トラッキングデータの一部として含まれた時までの経過時間を表す、請求項5に記載の方法。
【請求項７】
前記解析トラッキングデータ通信は、パブリッシャーのウェブサイト上のリソースにアクセスしたクライアントからネットワークを介して受け取られる、請求項1に記載の方法。
【請求項８】
前記解析トラッキングデータに関連付けられた前記新規セッションを作成する前記段階は、
前記新規セッションの開始時刻を示すため前記解析トラッキングデータからタイムスタンプを格納する段階を含む、請求項1に記載の方法。
【請求項９】
前記一意の訪問者の前記最初の訪問は、前記一意の訪問者に関する以前のタイムスタンプが存在しているか否かに基づいて特定される、請求項1に記載の方法。
【請求項１０】
前記アクティブセッションが前記解析トラッキングデータに関連付けられているかを判断する前記段階は、
前記アクティブセッションが開始された時を示す格納済みタイムスタンプが存在するか否かを判断する段階を含む、請求項1に記載の方法。
【請求項１１】
前記格納済みタイムスタンプに基づいて所定の無活動期間が経過したか否かを判断する段階をさらに含む、請求項10に記載の方法。
【請求項１２】
前記解析トラッキングデータに関連付けられた前記新規セッションを作成する前記段階が、1つ又は複数のセッション境界条件に基づく、請求項3に記載の方法。
【請求項１３】
前記セッション境界条件が、キャンペーン情報、セッションマーカ、又はセッションタイムアウトを含む、請求項12に記載の方法。
【請求項１４】
前記特定されたキャンペーン情報がマーケッティングキャンペーンの名前を含む、請求項2に記載の方法。
【請求項１５】
前記キャンペーン情報が、前記ウェブサイト又はアプリケーションに関連付けられたマーケッティングキャンペーンを示す、請求項1に記載の方法。
【請求項１６】
メモリと、
1つまたは複数のプロセッサと、
メモリ内に格納されると共に前記1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含むシステムであって、前記モジュールは、
解析トラッキングデータ通信を受け取り、前記受け取られた解析トラッキングデータ通信から解析トラッキングデータを特定するよう構成された解析データモジュールであって、前記解析トラッキングデータは、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータと訪問者情報とを含む、解析データモジュールと、
前記行為が前記訪問者情報に対応した一意の訪問者の最初の訪問に関連付けられていると判断された場合は、前記解析トラッキングデータに関連付けられた新規セッションを作成し、前記解析トラッキングデータに関連付けられた前記新規セッションに書き込むためのキャンペーン情報を特定し、且つ前記特定されたキャンペーン情報を含む前記解析トラッキングデータを格納するよう構成されたセッションモジュールとを含む、システム。
【請求項１７】
セッションモジュールは、
前記解析トラッキングデータが前記一意の訪問者の前記最初の訪問でない場合は、アクティブセッションが前記解析トラッキングデータに関連付けられているか否かを判断し、
前記解析トラッキングデータに関連付けられた前記アクティブセッションに書き込むためのキャンペーン情報を特定し、
前記特定されたキャンペーン情報を含む前記解析トラッキングデータを格納するようさらに構成された、請求項16に記載のシステム。
【請求項１８】
前記セッションモジュールは、
前記解析トラッキングデータに関連付けられたアクティブセッションが存在しない場合、前記解析トラッキングデータに関連付けられた新規セッションを作成するようさらに構成された、請求項17に記載のシステム。
【請求項１９】
前記解析トラッキングデータ通信は、前記ウェブサイト又はアプリケーションに関連付けられたハイパーテキスト転送プロトコル(HTTP)要求に含まれたウェブサイト又はアプリケーショントラフィックデータを含む、請求項16に記載のシステム。
【請求項２０】
前記解析トラッキングデータは前記行為のタイムスタンプをさらに含む、請求項16に記載のシステム。
【請求項２１】
前記キャンペーン情報が、前記ウェブサイト又はアプリケーションに関連付けられたマーケッティングキャンペーンを示す、請求項16に記載のシステム。
【請求項２２】
内部に格納された命令を含む非一時的な機械可読媒体であって、前記命令は、機械により実行されると前記機械に、
解析トラッキングデータ通信を受け取らせ、
前記受け取られた解析トラッキングデータ通信から解析トラッキングデータを特定させ、前記解析トラッキングデータは、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータと訪問者情報とを含み、
前記行為が、前記訪問者情報に対応した一意の訪問者の最初の訪問に関連付けられていると判断された場合は、前記解析トラッキングデータに関連付けられた新規セッションを作成させ、
前記解析トラッキングデータに関連付けられた前記新規セッションに書き込むためのキャンペーン情報を特定させ、
前記特定されたキャンペーン情報を含む前記解析トラッキングデータを格納させる動作を含む諸動作を実行させる、媒体。
【請求項２３】
解析トラッキングデータに適用するためのリソース構成情報を特定する機械実装方法であって、
解析トラッキングデータ通信からの解析トラッキングデータに基づいてリソース情報を特定する段階であって、前記リソース情報はソースに関連付けられた対応するリソースを含み、前記解析トラッキングデータは、前記ソースに関連付けられた行為をトラッキングするためのデータを含む、リソース情報を特定する段階と、
前記特定されたリソース情報に基づいてリソース構成情報を特定する段階であって、前記リソース構成情報は前記対応するリソースに関連付けられた1つ又は複数の属性を含む、リソース構成情報を特定する段階と、
前記特定されたリソース構成情報からの1つ又は複数の属性を前記解析トラッキングデータに適用する段階とを含む、方法。
【請求項２４】
前記解析トラッキングデータを格納する段階をさらに含み、前記解析トラッキングデータは前記適用された1つ又は複数の属性を含む、請求項23に記載の方法。
【請求項２５】
前記1つ又は複数の属性は、検索エンジンリスト、タイムアウト情報、又はキャンペーン属性を含む、請求項23に記載の方法。
【請求項２６】
前記解析トラッキングデータ通信は、前記ウェブサイト又はアプリケーションに関連付けられたハイパーテキスト転送プロトコル(HTTP)要求に含まれたウェブサイト又はアプリケーショントラフィックデータを含む、請求項23に記載の方法。
【請求項２７】
前記解析トラッキングデータは前記行為のタイムスタンプをさらに含む、請求項23に記載の方法。
【請求項２８】
前記解析トラッキングデータ通信は、パブリッシャーのウェブサイト上のリソースにアクセスしたクライアントからネットワークを介して受け取られる、請求項23に記載の方法。
【請求項２９】
前記特定されたリソース情報は、前記対応するウェブページを複数のページ構成からの前記リソース構成情報にマッピングする、請求項23に記載の方法。
【請求項３０】
第2の対応するウェブページが前記リソース構成情報に対応する、請求項29に記載の方法。
【請求項３１】
前記リソース情報は、前記行為が発生したパブリッシャーのウェブサイトからのウェブページを識別する情報を含む、請求項23に記載の方法。
【請求項３２】
前記特定されたリソース構成情報からの1つ又は複数の属性を前記解析トラッキングデータに適用する前記段階は、前記解析トラッキングデータ通信に基づいた新規セッションの作成時に実行される、請求項23に記載の方法。
【請求項３３】
メモリと、
1つまたは複数のプロセッサと、
メモリ内に格納されると共に前記1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含むシステムであって、前記モジュールは、
解析トラッキングデータ通信を受け取り、前記解析トラッキングデータ通信からの解析トラッキングデータに基づいてリソース情報を特定するよう構成された解析データモジュールであって、前記リソース情報はソースに関連付けられた対応するリソースを含み、前記解析トラッキングデータは前記ソースに関連付けられた行為をトラッキングするためのデータを含む、解析データモジュールと、
前記対応するリソースに関連付けられた1つ又は複数の属性を含むリソース構成情報を、前記特定されたリソース情報に基づいて特定するよう構成されたリソース構成モジュールであって、前記特定されたリソース構成情報からの1つ又は複数の属性を前記解析トラッキングデータに適用するリソース構成モジュールとを含む、システム。
【請求項３４】
前記リソース構成モジュールは、
前記解析トラッキングデータを格納するようさらに構成されており、前記解析トラッキングデータは前記適用された1つ又は複数の属性を含む、請求項33に記載のシステム。
【請求項３５】
前記1つ又は複数の属性は、検索エンジンリスト、タイムアウト情報、又はキャンペーン属性を含む、請求項33に記載のシステム。
【請求項３６】
前記解析トラッキングデータ通信は、前記ウェブサイト又はアプリケーションに関連付けられたハイパーテキスト転送プロトコル(HTTP)要求に含まれたウェブサイト又はアプリケーショントラフィックデータを含む、請求項33に記載のシステム。
【請求項３７】
前記解析トラッキングデータは前記行為のタイムスタンプをさらに含む、請求項33に記載のシステム。
【請求項３８】
前記解析トラッキングデータ通信は、パブリッシャーのウェブサイト上のリソースにアクセスしたクライアントからネットワークを介して受け取られる、請求項33に記載のシステム。
【請求項３９】
前記特定されたリソース情報は、前記対応するリソースを複数のリソース構成からの前記リソース構成情報にマッピングする、請求項33に記載のシステム。
【請求項４０】
第2の対応するリソースが前記リソース構成情報に対応する、請求項39に記載のシステム。
【請求項４１】
前記特定されたリソース構成情報からの1つ又は複数の属性を前記解析トラッキングデータに適用する前記段階は、前記解析トラッキングデータ通信に基づいた新規セッションの作成時に実行される、請求項33に記載のシステム。
【請求項４２】
内部に格納された命令を含む非一時的な機械可読媒体であって、前記命令は、機械により実行されると前記機械に、
解析トラッキングデータ通信からの解析トラッキングデータに基づいてリソース情報を特定させ、前記リソース情報はソースに関連付けられたリソースを含み、前記解析トラッキングデータは前記ソースに関連付けられた行為をトラッキングするためのデータを含み、
前記対応するリソースに関連付けられた1つ又は複数の属性を含むリソース構成情報を、前記特定されたリソース情報に基づいて特定させ、
前記特定されたリソース構成情報からの1つ又は複数の属性を前記解析トラッキングデータに適用させる動作を含む諸動作を実行させる、媒体。
【請求項４３】
解析サーバにおいて最初の解析トラッキングデータ通信から後続の解析トラッキングデータ通信へ情報を伝播するための機械実装方法であって、
解析トラッキングデータ通信を受け取る段階と、
前記受け取られた解析トラッキングデータ通信が状態変更情報を含むか否かを前記解析トラッキングデータ通信に含まれた解析トラッキングデータに基づいて判断する段階であって、前記解析トラッキングデータは、前記ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む、判断する段階と、
前記解析トラッキングデータ通信が状態変更情報を含む場合は、後続の解析トラッキングデータに伝播させるための1つ又は複数の属性を特定する段階と、
前記状態変更情報を、前記特定された1つ又は複数の属性として格納する段階と、
前記特定された1つ又は複数の属性を含む前記解析トラッキングデータを格納する段階とを含む、方法。
【請求項４４】
前記解析トラッキングデータ通信が状態変更情報を含まない場合は、前記解析トラッキングデータに伝播させるための1つ又は複数の属性を特定する段階と、
前記1つ又は複数の属性を含む前記解析トラッキングデータを格納する段階とをさらに含む、請求項43に記載の方法。
【請求項４５】
第2の解析トラッキングデータ通信を受け取る段階と、
前記格納された1つ又は複数の属性を前記受け取られた第2の解析トラッキングデータ通信に伝播する段階とをさらに含む、請求項44に記載の方法。
【請求項４６】
前記第2の解析トラッキングデータ通信は状態変更属性を含む、請求項45に記載の方法。
【請求項４７】
前記状態変更属性は、新規キャンペーン情報又は新規訪問者情報を含む、請求項46に記載の方法。
【請求項４８】
前記伝播された1つ又は複数の属性を含む前記第2の解析トラッキングデータを格納する段階さらにを含む、請求項45に記載の方法。
【請求項４９】
前記第2の解析トラッキングデータ通信は非永続性記憶装置に格納される、請求項48に記載の方法。
【請求項５０】
前記格納された第2の解析トラッキングデータ通信を、所定期間が経過した後に永続性記憶装置にコミットする段階をさらに含む、請求項49に記載の方法。
【請求項５１】
前記所定期間が一日を含む、請求項50に記載の方法。
【請求項５２】
前記状態変更情報は、新規キャンペーン情報又は新規訪問者情報を含む、請求項43に記載の方法。
【請求項５３】
前記特定された1つ又は複数の属性は、キャンペーン情報、一意の訪問者の性別、又はセッション情報を含む、請求項43に記載の方法。
【請求項５４】
前記性別は、前記一意の訪問者のユーザプロファイル情報に基づいて与えられる、請求項53に記載の方法。
【請求項５５】
メモリと、
1つまたは複数のプロセッサと、
メモリ内に格納されると共に前記1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含むシステムであって、前記モジュールは、
解析トラッキングデータ通信を受け取り、前記受け取られた解析トラッキングデータ通信が状態変更情報を含むか否かを前記解析トラッキングデータ通信に含まれた解析トラッキングデータに基づいて判断するよう構成された解析データ伝播モジュールであって、前記解析トラッキングデータは、前記ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含み、前記解析データ伝播モジュールは、前記解析トラッキングデータ通信が状態変更情報を含む場合は、後続の解析トラッキングデータに伝播させるための1つ又は複数の属性を特定する、解析データ伝播モジュールと、
前記状態変更情報を、前記特定された1つ又は複数の属性の1つ又は複数として格納し、前記特定された1つ又は複数の属性を含む前記解析トラッキングデータを格納するよう構成された格納モジュールとを含む、システム。
【請求項５６】
前記解析データ伝播モジュールは、
前記解析トラッキングデータ通信が状態変更情報を含まない場合は、前記解析トラッキングデータに伝播させるための1つ又は複数の属性を特定し、前記1つ又は複数の属性を含む前記解析トラッキングデータを格納するようさらに構成された、請求項55に記載のシステム。
【請求項５７】
前記解析データ伝播モジュールは、
第2の解析トラッキングデータ通信を受け取り、前記格納された1つ又は複数の属性を、前記受け取られた第2の解析トラッキングデータ通信に伝播させるうようさらに構成された、請求項56に記載のシステム。
【請求項５８】
前記第2の解析トラッキングデータ通信は状態変更属性を含む、請求項57に記載のシステム。
【請求項５９】
前記状態変更属性は、新規キャンペーン情報又は新規訪問者情報を含む、請求項58に記載のシステム。
【請求項６０】
前記格納モジュールは、
前記伝播された1つ又の属性を含む前記第2の解析トラッキングデータ通信を格納するようさらに構成された、請求項57に記載のシステム。
【請求項６１】
前記格納モジュールは、
前記格納された第2の解析トラッキングデータ通信を、所定期間が経過した後に永続性記憶装置にコミットするようさらに構成された、請求項60に記載の方法。
【請求項６２】
内部に格納された命令を含む非一時的な機械可読媒体であって、前記命令は、機械により実行されると前記機械に、
解析トラッキングデータ通信を受け取らせ、
前記受け取られた解析トラッキングデータ通信が状態変更情報を含むか否かを前記解析トラッキングデータ通信に含まれた解析トラッキングデータに基づいて判断させ、前記解析トラッキングデータは、前記ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含み、
前記解析トラッキングデータ通信が状態変更情報を含む場合は、後続の解析トラッキングデータに伝播させるための1つ又は複数の属性を特定させ、
前記状態変更情報を、前記特定された1つ又は複数の属性として格納させ、
前記特定された1つ又は複数の属性を含む前記解析トラッキングデータを格納させる動作を含む諸動作を実行させる、媒体。
【請求項６３】
解析トラッキングデータへのクエリに応答して動的に生成されたセッションに関連付けられた集約済み解析トラッキングデータを与える機械実装方法であって、
一定期間に関連付けられた解析トラッキングデータであって、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータへのクエリを受け取る段階と、
前記期間に従って集約するための解析トラッキングデータを特定して、前記集約済みトラッキングデータを動的に生成されたセッションに関連付ける段階と、
前記クエリに応答して前記動的に生成されたセッションに関連付けられた前記集約済み解析トラッキングデータを与える段階とを含む、方法。
【請求項６４】
前記特定された解析トラッキングデータは、1つ又は複数の以前受け取られた解析トラッキングデータ通信に関連付けられる、請求項63に記載の方法。
【請求項６５】
前記解析トラッキングデータは、前記以前受け取られた解析トラッキングデータ通信に関連付けられたキャンペーン情報を含む、請求項64に記載の方法。
【請求項６６】
前記解析トラッキングデータは、前記ウェブサイト又はアプリケーションに関連付けられたハイパーテキスト転送プロトコル(HTTP)要求に含まれたウェブサイト又はアプリケーショントラフィックデータを含む、請求項64に記載の方法。
【請求項６７】
前記の以前受け取られた解析トラッキングデータ通信それぞれは、行為のタイムスタンプをさらに含む、請求項64に記載の方法。
【請求項６８】
前記以前受け取られた解析トラッキングデータ通信それぞれの前記行為のタイムスタンプに基づいて、前記期間に入る前記以前受け取られた解析トラッキングデータ通信を集約する段階さらに含む、請求項67に記載の方法。
【請求項６９】
前記以前受け取られた解析トラッキングデータ通信を集約する前記段階は、遅いヒットで受け取られた新規キャンペーン情報を含む、請求項68に記載の方法。
【請求項７０】
前記所定期間が一日を含む、請求項63に記載の方法。
【請求項７１】
前記動的に生成されたセッションは前記クエリに応答して自動的に生成される、請求項63に記載の方法。
【請求項７２】
前記動的に生成されたセッションは前記クエリに応答するために使用される一時セッションを含む、請求項71に記載の方法。
【請求項７３】
メモリと、
1つまたは複数のプロセッサと、
メモリ内に格納されると共に前記1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含むシステムであって、前記モジュールは、
解析データクエリモジュールを含み、前記解析データクエリモジュールは、一定期間に関連付けられた解析トラッキングデータであって、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータへのクエリを受け取り、前記期間に従って集約するための解析トラッキングデータを特定して前記集約済みトラッキングデータを動的に生成されたセッションに関連付け、前記クエリに応答して、前記動的に生成されたセッションに関連付けられた前記集約済み解析トラッキングデータを与えるよう構成された、システム。
【請求項７４】
前記特定された解析トラッキングデータは、1つ又は複数の以前受け取られた解析トラッキングデータ通信に関連付けられる、請求項73に記載のシステム。
【請求項７５】
前記解析トラッキングデータは、前記以前受け取られた解析トラッキングデータ通信に関連付けられたキャンペーン情報を含む、請求項74に記載のシステム。
【請求項７６】
前記解析トラッキングデータは、前記ウェブサイト又はアプリケーションに関連付けられたハイパーテキスト転送プロトコル(HTTP)要求に含まれたウェブサイト又はアプリケーショントラフィックデータを含む、請求項74に記載のシステム。
【請求項７７】
前記の以前受け取られた解析トラッキングデータ通信のそれぞれは、行為のタイムスタンプをさらに含む、請求項74に記載の方法。
【請求項７８】
前記解析データクエリモジュールは、前記の以前受け取られた解析トラッキングデータ通信それぞれの前記行為のタイムスタンプに基づいて前記期間に入る前記以前受け取られた解析トラッキングデータ通信を集約するようさらに構成された、請求項77に記載のシステム。
【請求項７９】
前記以前受け取られた解析トラッキングデータ通信を集約する前記段階は、遅いヒットで受け取られた新規キャンペーン情報を含む、請求項78に記載のシステム。
【請求項８０】
前記所定期間が一日を含む、請求項73に記載のシステム。
【請求項８１】
前記動的に生成されたセッションは前記クエリに応答して自動的に生成される、請求項73に記載のシステム。
【請求項８２】
内部に格納された命令を含む非一時的な機械可読媒体であって、前記命令は、機械により実行されると前記機械に、
一定期間に関連付けられた解析トラッキングデータであって、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータへのクエリを受け取らせ、
前記期間に従って集約するための解析トラッキングデータを特定して、前記集約済みトラッキングデータを動的に生成されたセッションに関連付けさせ、
前記クエリに応答して前記動的に生成されたセッションに関連付けられた前記集約済み解析トラッキングデータを与えさせる動作を含む諸動作を実行させる、媒体。
【請求項８３】
遅い及び/又は順狂い解析トラッキングデータ通信を処理するための機械実装方法であって、
ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータを含む解析トラッキングデータ通信を受け取る段階と、
前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれたタイムスタンプを特定する段階と、
新規の状態変更情報が、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれているか否かを判断する段階と、
前記判断された新規の状態変更情報に基づいてセッションを特定する段階と、
新規の状態変更情報が前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれている場合、前記特定されたセッションにおける前記判断された新規の状態変更情報に関連付けるための、前記解析トラッキングデータ通信に含まれた他の解析トラッキングデータを特定する段階であって、前記他の解析トラッキングデータは1つ又は複数の以前受け取られた解析トラッキングデータ通信に関連付けられた、特定する段階と、
前記解析トラッキングデータと前記新規キャンペーン情報に関連付けられた前記他の解析トラッキングデータとを格納する段階とを含む、方法。
【請求項８４】
新規の状態変更情報が前記解析トラッキングデータに含まれていない場合は、前記受け取られた解析トラッキングデータ通信の前記タイムスタンプに基づいてセッションを特定する段階と、
前記解析トラッキングデータを前記特定されたセッションに関連付ける段階と、
前記特定されたセッションに関連付けられた前記解析トラッキングデータを格納する段階とをさらに含み、前記特定されたセッションは、以前受け取られた解析トラッキングデータ通信に関連付けられた他の解析トラッキングデータを含む、請求項83に記載の方法。
【請求項８５】
前記他の解析トラッキングデータは、ユーザ情報、性別情報、位置、タイムスタンプ情報、又はセッション情報を含む、請求項83に記載の方法。
【請求項８６】
前記新規の状態変更情報は、新規キャンペーン情報、性別情報、又はタイムスタンプ情報を含む、請求項83に記載の方法。
【請求項８７】
前記新規の状態変更情報に関連付けるための他の解析トラッキングデータを特定する前記段階は、
新規セッションに含めるための前記1つ又は複数の以前受け取られた解析トラッキングデータ通信の部分集合を、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれた前記タイムスタンプと、前記部分集合の各以前受け取られた解析トラッキングデータ通信のそれぞれのタイムスタンプと、に基づいて識別する段階をさらに含む、請求項83に記載の方法。
【請求項８８】
前記1つ又は複数の以前受け取られた解析トラッキングデータ通信の前記部分集合は、以前は前記新規セッションとは異なるセッションに含まれていた、請求項87に記載の方法。
【請求項８９】
前記新規セッションに含めるための前記1つ又は複数の以前受け取られた解析トラッキングデータ通信の前記部分集合を識別する前記段階は、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれた前記タイムスタンプと、前記部分集合の各以前受け取られた解析トラッキングデータ通信のそれぞれのタイムスタンプとが、セッションタイムアウト期間内であるか否かを判断する段階をさらに含む、請求項87に記載の方法。
【請求項９０】
前記セッションタイムアウト期間が所定の分数を含む、請求項89に記載の方法。
【請求項９１】
第2新規セッションに含めるための前記1つ又は複数の以前受け取られた解析トラッキングデータ通信の第2部分集合を、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれた前記タイムスタンプと、前記第2部分集合の各以前受け取られた解析トラッキングデータ通信のそれぞれのタイムスタンプと、に基づいて識別する段階をさらに含む、請求項87に記載の方法。
【請求項９２】
前記新規セッションと前記第2新規セッションとは異なるセッションである、請求項91に記載の方法。
【請求項９３】
前記第2新規セッションは前記新規セッションの後続セッションである、請求項91に記載の方法。
【請求項９４】
前記新規の状態変更情報は、前記新規セッションから前記第2新規セッションに伝播する、請求項91に記載の方法。
【請求項９５】
前記特定されたセッションは既存のセッションである、請求項84に記載の方法。
【請求項９６】
メモリと、
1つまたは複数のプロセッサと、
メモリ内に格納されると共に前記1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含むシステムであって、前記モジュールは、
ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータを含む解析トラッキングデータ通信を受け取り、前記受け取られた解析トラッキングデータ通信から前記解析トラッキングデータに含まれたタイムスタンプを特定し、新規の状態変更情報が、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれているか否かを判断し、前記判断された新規の状態変更情報に基づいてセッションを特定し、新規の状態変更情報が前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれている場合、前記特定されたセッションにおける前記判断された新規の状態変更情報に関連付けるための、前記解析トラッキングデータ通信に含まれた他の解析トラッキングデータを特定するよう構成された動的セッションモジュールを含み、前記他の解析トラッキングデータは1つ又は複数の以前受け取られた解析トラッキングデータ通信に関連付けられており、前記動的セッションモジュールは、前記解析トラッキングデータ及び前記新規キャンペーン情報に関連付けられた前記他の解析トラッキングデータを格納するようさらに構成された、システム。
【請求項９７】
前記動的セッションモジュールは、新規の状態変更情報が前記解析トラッキングデータに含まれていない場合は、前記受け取られた解析トラッキングデータ通信の前記タイムスタンプに基づいてセッションを特定し、
前記解析トラッキングデータを前記特定されたセッションに関連付け、
前記特定されたセッションに関連付けられた前記解析トラッキングデータを格納するようさらに構成され、前記特定されたセッションは、以前受け取られた解析トラッキングデータ通信に関連付けられた他の解析トラッキングデータを含む、請求項96に記載のシステム。
【請求項９８】
前記他の解析トラッキングデータは、ユーザ情報、性別情報、位置、タイムスタンプ情報、又はセッション情報を含む、請求項96に記載のシステム。
【請求項９９】
前記新規の状態変更情報は、新規キャンペーン情報、性別情報、又はタイムスタンプ情報を含む、請求項96に記載のシステム。
【請求項１００】
前記新規の状態変更情報に関連付けるための他の解析トラッキングデータの前記特定は、
新規セッションに含めるための前記1つ又は複数の以前受け取られた解析トラッキングデータ通信の部分集合を、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれた前記タイムスタンプと、前記部分集合の各以前受け取られた解析トラッキングデータ通信のそれぞれのタイムスタンプと、に基づいて識別することをさらに含む、請求項96に記載のシステム。
【請求項１０１】
前記1つ又は複数の以前受け取られた解析トラッキングデータ通信の前記部分集合は、以前は前記新規セッションとは異なるセッションに含まれていた、請求項100に記載のシステム。
【請求項１０２】
前記新規セッションに含めるための前記1つ又は複数の以前受け取られた解析トラッキングデータ通信の前記部分集合の前記識別は、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれた前記タイムスタンプと、前記部分集合の各以前受け取られた解析トラッキングデータ通信のそれぞれのタイムスタンプとが、セッションタイムアウト期間内であるか否かを判断することをさらに含む、請求項100に記載のシステム。
【請求項１０３】
前記動的セッションモジュールは、第2新規セッションに含めるための前記1つ又は複数の以前受け取られた解析トラッキングデータ通信の第2部分集合を、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれた前記タイムスタンプと、前記第2部分集合の各以前受け取られた解析トラッキングデータ通信のそれぞれのタイムスタンプと、に基づいて識別することをさらに含む、請求項100に記載のシステム。
【請求項１０４】
内部に格納された命令を含む非一時的な機械可読媒体であって、前記命令は、機械により実行されると前記機械に、
ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータを含む解析トラッキングデータ通信を受け取らせ、
前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれたタイムスタンプを特定させ、
新規の状態変更情報が、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれているか否かを判断させ、
前記判断された新規の状態変更情報に基づいてセッションを特定させ、
新規の状態変更情報が前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれている場合、前記特定されたセッションにおける前記判断された新規の状態変更情報に関連付けるための、前記解析トラッキングデータ通信に含まれた他の解析トラッキングデータを特定させ、前記他の解析トラッキングデータは1つ又は複数の以前受け取られた解析トラッキングデータ通信に関連付けられ、
前記解析トラッキングデータと前記新規キャンペーン情報に関連付けられた前記他の解析トラッキングデータとを格納させる動作を含む諸動作を実行させる、媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の引用
本出願は、2012年5月2日付けで提出され「サーバサイドセッション化を介した集中解析トラッキング(System for Centralized Analytics Tracking Via Server-Side Sessionization)」と題した米国特許仮出願第61/641,850号の優先権を合衆国法典第35編第119条に基づいて主張し、その全体はあらゆる目的に関して参照して本明細書に援用する。
【背景技術】
【０００２】
ウェブサイトの解析には、ウェブサイトトラフィックデータの解析及び関連付けられたパブリッシャーへの報告が含まれる。パブリッシャーとはウェブサイトを所有且つ/又は運営する実体である。パブリッシャーは、サードパーティーが提供するウェブサイト解析ツールを用いて、そのウェブサイトへのユーザ訪問とリンクとに関連するウェブサイト解析データを監視できる。
【０００３】
既存の解析データシステムは、対話的報告を長期間にわたって高い忠実度で提供する目的で、大量のウェブトラフィックデータ及び/又はアプリケーション解析データを処理することに関してはうまく機能する。パブリッシャーのウェブページに変更が加えられると、(1)一貫したビジネスロジックをページ全体にわたって維持する困難性を増大させかねないページ間での異なるページ構成又は(2)所与のウェブ解析システムへの一貫性がないデータの報告に繋がりかねないパブリッシャーのウェブサイトでのキャッシングによって、これらシステムは、ウェブトラフィックデータ及び/又はアプリケーション解析データを常に正確には報告しない。さらに、所与の解析システムに送られる各要求は、1つ又は複数のクッキーを含むことがあり、これがシステムにおけるネットワーク帯域幅の使用を増大させる。
【０００４】
幾つかの例では、クライアント(例えば、様々なウェブブラウザ及び/又はアプリケーション)は、状態情報をローカル記憶装置に保持するため、こうしたローカル記憶装置を用意する必要がある。例えば、状態情報は、こうしたクライアントにより維持され且つ提供されるクッキーに含まれ、セッションをトラッキングし、オンライン・マーケッティングキャンペーンに関する情報を提供し、ユーザ情報を与え、パブリッシャーのウェブサイトにおける他のクライアント状態情報をトラッキングするためこれらクッキーは所与のウェブ解析システムに送信される。しかし、ある種のクライアント(例えば、モバイルアプリケーション、クッキーが使用不能となったユーザなど)は、状態情報を保持するために常にローカル記憶装置をサポートする訳ではない。幾つかの場合では、ローカル記憶装置及び/又はクッキーへのアクセスのサポートは、クライアントによって異なることがあり、これによって状態情報を異なるクライアント間で一貫性をもって維持することがより困難なりうる。結果として、既存のウェブサイト解析データシステムは、上述の問題に鑑み多数のクライアントに関して解析データを正確に報告することが困難となる場合がある。
【発明の概要】
【０００５】
本願技術は、ウェブサイト又はアプリケーショントラフィックデータに関連付けられたセッションを用意するための機械実装方法を提供し、前記方法は、解析トラッキングデータ通信を受け取る段階と、前記受け取られた解析トラッキングデータ通信から解析トラッキングデータを特定する段階であって、前記解析トラッキングデータは、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータと訪問者情報とを含む、特定する段階と、前記行為が、前記訪問者情報に対応した一意の訪問者の最初の訪問に関連付けられていると判断された場合は、前記解析トラッキングデータに関連付けられた新規セッションを作成する段階と、前記解析トラッキングデータに関連付けられた前記新規セッションに書き込むためのキャンペーン情報を特定する段階と、前記特定されたキャンペーン情報を含む前記解析トラッキングデータを格納する段階とを含む。
【０００６】
本願技術の別の側面はシステムを提供する。前記システムは、メモリと、1つ又は複数のプロセッサと、メモリ内に格納されると共に前記1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含む。前記システムは、解析トラッキングデータ通信を受け取り、前記受け取られた解析トラッキングデータ通信から解析トラッキングデータを特定するよう構成された解析データモジュールであって、前記解析トラッキングデータは、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータと訪問者情報とを含む、解析データモジュールと、前記行為が前記訪問者情報に対応した一意の訪問者の最初の訪問に関連付けられていると判断された場合は、前記解析トラッキングデータに関連付けられた新規セッションを作成し、前記解析トラッキングデータに関連付けられた前記新規セッションに書き込むためのキャンペーン情報を特定し、且つ前記特定されたキャンペーン情報を含む前記解析トラッキングデータを格納するよう構成されたセッションモジュールとを含む。
【０００７】
本願技術は、内部に格納された命令を含む非一時的な機械可読媒体をさらに提供し、前記命令は、機械により実行されると前記機械に、解析トラッキングデータ通信を受け取らせ、前記受け取られた解析トラッキングデータ通信から解析トラッキングデータを特定させ、前記解析トラッキングデータは、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータと訪問者情報とを含み、前記行為が、前記訪問者情報に対応した一意の訪問者の最初の訪問に関連付けられていると判断された場合は、前記解析トラッキングデータに関連付けられた新規セッションを作成させ、前記解析トラッキングデータに関連付けられた前記新規セッションに書き込むためのキャンペーン情報を特定させ、前記特定されたキャンペーン情報を含む前記解析トラッキングデータを格納させる動作を含む諸動作を実行させる。
【０００８】
本願技術は、解析トラッキングデータに適用するためのリソース構成情報を特定する機械実装方法を提供し、前記方法は、解析トラッキングデータ通信からの解析トラッキングデータに基づいてリソース情報を特定する段階であって、前記リソース情報はソースに関連付けられた対応するリソースを含み、前記解析トラッキングデータは、前記ソースに関連付けられた行為をトラッキングするためのデータを含む、リソース情報を特定する段階と、前記特定されたリソース情報に基づいてリソース構成情報を特定する段階であって、前記リソース構成情報は前記対応するリソースに関連付けられた1つ又は複数の属性を含む、リソース構成情報を特定する段階と、前記特定されたリソース構成情報からの1つ又は複数の属性を前記解析トラッキングデータに適用する段階とを含む。
【０００９】
本願技術の別の側面はシステムを提供する。前記システムは、メモリと、1つ又は複数のプロセッサと、メモリ内に格納されると共に前記1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含む。前記システムは、解析トラッキングデータ通信を受け取り、前記解析トラッキングデータ通信からの解析トラッキングデータに基づいてリソース情報を特定するよう構成された解析データモジュールであって、前記リソース情報はソースに関連付けられた対応するリソースを含み、前記解析トラッキングデータは前記ソースに関連付けられた行為をトラッキングするためのデータを含む、解析データモジュールを含む。前記システムは、前記対応するリソースに関連付けられた1つ又は複数の属性を含むリソース構成情報を、前記特定されたリソース情報に基づいて特定するよう構成されたリソース構成モジュールであって、前記特定されたリソース構成情報からの1つ又は複数の属性を前記解析トラッキングデータに適用するリソース構成モジュールとをさらに含む。
【００１０】
本願技術は、内部に格納された命令を含む非一時的な機械可読媒体をさらに提供し、前記命令は、機械により実行されると前記機械に、解析トラッキングデータ通信からの解析トラッキングデータに基づいてリソース情報を特定させ、前記リソース情報はソースに関連付けられたリソースを含み、前記解析トラッキングデータは前記ソースに関連付けられた行為をトラッキングするためのデータを含み、前記対応するリソースに関連付けられた1つ又は複数の属性を含むリソース構成情報を、前記特定されたリソース情報に基づいて特定させ、前記特定されたリソース構成情報からの1つ又は複数の属性を前記解析トラッキングデータに適用させる動作を含む諸動作を実行させる。
【００１１】
本願技術は、解析サーバにおいて最初の解析トラッキングデータ通信から後続の解析トラッキングデータ通信へ情報を伝播するための機械実装方法を提供し、前記方法は、解析トラッキングデータ通信を受け取る段階と、前記受け取られた解析トラッキングデータ通信が状態変更情報を含むか否かを前記解析トラッキングデータ通信に含まれた解析トラッキングデータに基づいて判断する段階であって、前記解析トラッキングデータは、前記ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む、判断する段階と、前記解析トラッキングデータ通信が状態変更情報を含む場合は、後続の解析トラッキングデータに伝播させるための1つ又は複数の属性を特定する段階と、前記状態変更情報を、前記特定された1つ又は複数の属性として格納する段階と、前記特定された1つ又は複数の属性を含む前記解析トラッキングデータを格納する段階とを含む。
【００１２】
本願技術の別の側面はシステムを提供する。前記システムは、メモリと、1つ又は複数のプロセッサと、メモリ内に格納されると共に前記1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含む。前記システムは、解析トラッキングデータ通信を受け取り、前記受け取られた解析トラッキングデータ通信が状態変更情報を含むか否かを前記解析トラッキングデータ通信に含まれた解析トラッキングデータに基づいて判断するよう構成された解析データ伝播モジュールを含み、前記解析トラッキングデータは、前記ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含み、前記解析データ伝播モジュールは、前記解析トラッキングデータ通信が状態変更情報を含む場合は、後続の解析トラッキングデータに伝播させるための1つ又は複数の属性を特定する。前記システムは、前記状態変更情報を、前記特定された1つ又は複数の属性の1つ又は複数として格納し、前記特定された1つ又は複数の属性を含む前記解析トラッキングデータを格納するよう構成された格納モジュールをさらに含む。
【００１３】
本願技術は、内部に格納された命令を含む非一時的な機械可読媒体をさらに提供し、前記命令は、機械により実行されると前記機械に、解析トラッキングデータ通信を受け取らせ、前記受け取られた解析トラッキングデータ通信が状態変更情報を含むか否かを前記解析トラッキングデータ通信に含まれた解析トラッキングデータに基づいて判断させ、前記解析トラッキングデータは、前記ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含み、前記解析トラッキングデータ通信が状態変更情報を含む場合は、後続の解析トラッキングデータに伝播させるための1つ又は複数の属性を特定させ、前記状態変更情報を、前記特定された1つ又は複数の属性として格納させ、前記特定された1つ又は複数の属性を含む前記解析トラッキングデータを格納させる動作を含む諸動作を実行させる。
【００１４】
本願技術は、解析トラッキングデータへのクエリに応答して動的に生成されたセッションに関連付けられた集約済み解析トラッキングデータを与える機械実装方法を提供し、前記方法は、一定期間に関連付けられた解析トラッキングデータであって、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータへのクエリを受け取る段階と、前記期間に従って集約するための解析トラッキングデータを特定して、前記集約済みトラッキングデータを動的に生成されたセッションに関連付ける段階と、前記クエリに応答して前記動的に生成されたセッションに関連付けられた前記集約済み解析トラッキングデータを与える段階とを含む。
【００１５】
本願技術の別の側面はシステムを提供する。前記システムは、メモリと、1つ又は複数のプロセッサと、メモリ内に格納されると共に前記1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含む。前記システムは解析データクエリモジュールを含み、前記解析データクエリモジュールは、一定期間に関連付けられた解析トラッキングデータであって、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータへのクエリを受け取り、前記期間に従って集約するための解析トラッキングデータを特定して前記集約済みトラッキングデータを動的に生成されたセッションに関連付け、前記クエリに応答して、前記動的に生成されたセッションに関連付けられた前記集約済み解析トラッキングデータを与えるよう構成されている。
【００１６】
本願技術は、内部に格納された命令を含む非一時的な機械可読媒体をさらに提供し、前記命令は、機械により実行されると前記機械に、一定期間に関連付けられた解析トラッキングデータであって、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータへのクエリを受け取らせ、前記期間に従って集約するための解析トラッキングデータを特定して、前記集約済みトラッキングデータを動的に生成されたセッションに関連付けさせ、前記クエリに応答して前記動的に生成されたセッションに関連付けられた前記集約済み解析トラッキングデータを与えさせる動作を含む諸動作を実行させる。
【００１７】
本願技術は、遅い及び/又は順狂い解析トラッキングデータ通信を処理するための機械実装方法を提供し、前記方法は、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータを含む解析トラッキングデータ通信を受け取る段階と、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれたタイムスタンプを特定する段階と、新規の状態変更情報が、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれているか否かを判断する段階と、前記判断された新規の状態変更情報に基づいてセッションを特定する段階と、新規の状態変更情報が前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれている場合、前記特定されたセッションにおける前記判断された新規の状態変更情報に関連付けるための、前記解析トラッキングデータ通信に含まれた他の解析トラッキングデータを特定する段階であって、前記他の解析トラッキングデータは1つ又は複数の以前受け取られた解析トラッキングデータ通信に関連付けられた、特定する段階と、前記解析トラッキングデータと前記新規キャンペーン情報に関連付けられた前記他の解析トラッキングデータとを格納する段階とを含む、方法。
【００１８】
本願技術の別の側面はシステムを提供する。前記システムは、メモリと、1つ又は複数のプロセッサと、メモリ内に格納されると共に前記1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含む。前記システムは、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータを含む解析トラッキングデータ通信を受け取り、前記受け取られた解析トラッキングデータ通信から前記解析トラッキングデータに含まれたタイムスタンプを特定し、新規の状態変更情報が、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれているか否かを判断し、前記判断された新規の状態変更情報に基づいてセッションを特定し、新規の状態変更情報が前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれている場合、前記特定されたセッションにおける前記判断された新規の状態変更情報に関連付けるための、前記解析トラッキングデータ通信に含まれた他の解析トラッキングデータを特定するよう構成された動的セッションモジュールを含み、前記他の解析トラッキングデータは1つ又は複数の以前受け取られた解析トラッキングデータ通信に関連付けられており、前記動的セッションモジュールは、前記解析トラッキングデータ及び前記新規キャンペーン情報に関連付けられた前記他の解析トラッキングデータを格納するようさらに構成されている。
【００１９】
本願技術は、内部に格納された命令を含む非一時的な機械可読媒体をさらに提供し、前記命令は、機械により実行されると前記機械に、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータを含む解析トラッキングデータ通信を受け取らせ、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれたタイムスタンプを特定させ、新規の状態変更情報が、前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれているか否かを判断させ、前記判断された新規の状態変更情報に基づいてセッションを特定させ、新規の状態変更情報が前記受け取られた解析トラッキングデータ通信からの前記解析トラッキングデータに含まれている場合、前記特定されたセッションにおける前記判断された新規の状態変更情報に関連付けるための、前記解析トラッキングデータ通信に含まれた他の解析トラッキングデータを特定させ、前記他の解析トラッキングデータは1つ又は複数の以前受け取られた解析トラッキングデータ通信に関連付けられ、前記解析トラッキングデータと前記新規キャンペーン情報に関連付けられた前記他の解析トラッキングデータとを格納させる動作を含む諸動作を実行させる。
【００２０】
本願技術の他の構成は、次の詳細な説明から当業者には容易に明らかとなるはずであり、本願技術の様々な構成は例示目的で示され且つ説明されていることが理解されている。以下で明らかとなるように、本願技術は他の異なる構成とすることが可能であって、その幾つかの詳細は、本願技術から逸脱することなく様々な他の点で修正可能である。従って、図面及び詳細な説明は、限定的な意味でなく例示的な性質なものとして考慮すべきである。
【図面の簡単な説明】
【００２１】
本願技術の幾つかの構成が次の図面に示されている。
【図１】図1は、解析トラッキングデータ通信の形式でウェブサイトトラッキングデータを受け取り且つ処理するための解析トラッキングシステムにおける例示的な通信フローを概念的に示す。
【図２】図2は、幾つかの構成の永続的且つ一時的な記憶のため、解析トラッキングデータ通信を転送するための例示的なプロセスを概念的に示す。
【図３】図3は、パブリッシャーのウェブサイトの1つ又は複数ページの例示的なリソース構成に含まれる様々な属性を概念的に示す。
【図４】図4は、解析トラッキングデータに適用するためのリソース構成情報を特定する例示的なプロセスを概念的に示す。
【図５】図5は、最初の解析トラッキングデータ通信から後続の解析トラッキングデータ通信へ情報を伝播するための、解析トラッキングシステムにおけるクライアント計算デバイスから解析サーバへの例示的な通信フローを概念的に示す。
【図６】図6は、解析サーバにおいて最初の解析トラッキングデータ通信から後続の解析トラッキングデータ通信へ情報を伝播するための例示的なプロセスを説明する。
【図７】図7は、解析トラッキングデータへのクエリに応答して動的に生成されたセッションに関連付けられた集約済み解析トラッキングデータを与える例示的なプロセスを説明する。
【図８】図8は、異なるヒットが解析サーバで受け取られる例示的な時系列を概念的に示す。
【図９】図9は、遅い且つ/又は順狂い解析トラッキングデータ通信を処理するための例示的なプロセスを概念的に示す。
【図１０】図10は、幾つかの構成が実装される例示的なシステムを概念的に示す。
【発明を実施するための形態】
【００２２】
後述する詳細な説明は、本願技術の様々な構成の説明として意図されており、本願技術を実施できる唯一の構成を表すことを意図したものではない。添付した図面は本明細書に組み入れられ、詳細な説明の一部をなすものである。詳細な説明は、本願技術を完全に理解するための具体的な詳細を含んでいる。しかし、本願技術は、本明細書に記載した具体的な詳細に限定されるものでなく、こうした具体的な詳細なしでも実施できる。幾つかの場合では、本願技術の概念を曖昧にすることを避けるため、構造及び構成要素はブロック図の形式で示されている。
【００２３】
ウェブサイト解析データシステムを使用するには、パブリッシャーは、典型的にはウェブサイトのウェブページに埋め込まれるトラッキング命令を用意する(代替的に又はそれと共に、自己のウェブページに、解析サーバからこれらトラッキング命令を要求するコードを用意することで)。例えば、これらトラッキング命令は、そのトラフィックがトラッキングされるパブリッシャーのウェブサイトの各ページにパブリッシャーにより含められるJavaScript（登録商標）コードの小部分である。ウェブページがユーザデバイス及び/又はクライアント(例えば、ウェブブラウザ、モバイルデバイス、タブレットデバイス、シンクライアント、シッククライアントなど)によりレンダリングされると、トラッキング命令が実行されるが、これらの命令は訪問者データ及び/又は他の解析トラッキングデータを収集し、それらを処理のために解析トラッキングデータ通信(「ヒット」)の形式で解析サーバに送り返す。解析トラッキングデータ通信を送る1つの方法は、それをハイパーテキスト転送プロトコル(HTTP)要求の一部として送ることである。
【００２４】
ウェブサイトトラフィックデータは、上述した解析トラッキングデータ通信(例えば、様々なユーザデバイス及び/又はクライアントから生成されたHTTP要求又は「ヒット」)の形式とすることができる。解析トラッキングデータは、パブリッシャーのウェブサイトへの訪問者がウェブサイト上のリソース(ウェブページ、画像ファイル、バナー広告、音声ファイルなど)にアクセスすると生成されたり、ウェブページ又はパブリッシャーのウェブサイトでのイベントに応答して生成されたりする。この解析トラッキングデータは、ネットワーク接続が存在するときに1つ又は複数の解析トラッキングデータ通信に含まれるバッチとして送信してもよいし、代替的には、ウェブサイトのウェブページ若しくはリソースへのアクセスにより又はウェブページ若しくはパブリッシャーのウェブサイトでのイベントに応答してトリガされる解析トラッキングデータ通信に含めて送信してもよい。ウェブサイト解析報告の目的では、関連付けられたウェブサイトトラッキングデータ（例えば、関連付けられたHTTP要求に含まれるもの）は、ウェブプロパティID（例えば、特定のウェブサイトに関するパブリッシャーの解析アカウントを識別する識別子）と、訪問者識別データ（例えば、一意のクライアントデバイスに対応した匿名化された識別子）と、1つ又は複数のイベント統計値（現在のウェブページ通信のタイムスタンプなど）と、パブリッシャーのウェブサイトへの訪問者に関連付けられた位置データ（すなわち地理的情報）などのユーザデータとを含むことができる。トラッキングデータで報告されるイベント/情報の量及び種類は、パブリッシャーが指定できる（例えば、パブリッシャーがウェブサイト解析データとしてトラッキングを望む情報に対応するため）。
【００２５】
解析トラッキングデータ通信はウェブサイトトラフィックデータを含むものと説明されているが、解析トラッキングデータ通信はウェブサイトトラフィックデータを含むことに限定されない。具体的には、解析トラッキングデータ通信は、任意ソースに関連付けられた行為をトラッキングするのに使用される当該ソース(例えば、アプリケーション、プラットフォームなど)からのデータを含むことができる。例えば、モバイルアプリケーションプラットフォームでは、解析トラッキングデータ通信は、このモバイルアプリケーションプラットフォーム内での行為に関連付けられたイベントをトラッキングする解析トラッキングデータを含むことができる。この例では、このモバイルアプリケーションプラットフォームに関連付けられた解析トラッキングデータは、このモバイルアプリケーションプラットフォームがウェブブラウザなどのクライアントの使用を必要としないためウェブサイトトラフィックデータを含まないかもしれない。従って、本明細書に記載した解析トラッキングシステムの幾つかの側面は、ウェブサイトトラッキングデータの範囲に入らない異なる形式の解析トラッキングデータを含む解析トラッキングデータ通信を受信し且つ処理するよう構成できる。本明細書では、「解析トラッキングデータ」という語句は、ウェブサイトトラッキングデータ及び/又はウェブサイトトラッキングデータ以外の種類の解析トラッキングデータ（例えば、アプリケーショントラッキングデータ）を含むことができる。
【００２６】
本明細書で記載したシステムがユーザの個人情報を収集又は利用する状況に関しては、プログラム若しくは特徴がユーザ情報を収集するのか（例えば、ユーザのソーシャルネットワークに関する情報、ソーシャルアクション又はアクティビティ、職業、ユーザの好み、ユーザの現在地など）、及び/又はユーザにとってより重要なコンテンツをコンテンツサーバから受け取るのか或いはどのようにそれを受け取るのか、を制御する機会をユーザに与えてもよい。さらに、ある種のデータは、それが格納又は使用される前に1つ又は複数の方法で処理して、個人の識別を可能とする情報が削除されるようにしてもよい。別の例では、ユーザの個人識別を可能とする情報が特定されないようにユーザの識別情報を処理してもよいし、位置情報が取得されるユーザの地理的位置を一般化して(例えば都市、郵便番号、州レベルまで)、ユーザの位置が特定できないようにしてもよい。従って、ユーザは、自分に関する情報がコンテンツサーバによりどのように収集され且つ使用されるのかを管理できる。さらに、本明細書に記載されているように、人口統計学的データは、一人又は複数の個別ユーザが個人的に識別されないように1つ又は複数のユーザグループに集約してもよい。
I. サーバサイドセッション化を介した集中解析トラッキング
【００２７】
現在の解析システムは、ウェブサイトトラフィックデータを集約し且つ報告することができる。しかし、現在の解析システムでは、典型的には、所与のウェブ解析システムに送信される各解析トラッキングデータ通信（例えば要求）に関連付けられたセッションを実現するロジックは、クライアント（例えば、様々なウェブブラウザ）が実装する必要がある。パブリッシャーのウェブサイトへの訪問に関連付けられたセッションは、要求及び他のトラッキングデータを特定のクライアント（例えば、ウェブブラウザ）に関連付けるため解析システムによって使用できる。一例として、各セッションは一意に識別されたクライアントからの一連の要求であって、(1)要求間が所定時間(例えば、30分)を超えて離れておらず(2)要求間に他のドメイン（例えば、他のウェブサイト）からのページ要求が存在しないものを含むことができる。
【００２８】
本明細書では、「セッション化(sessionization)」という用語は、セッションを用意し、そのセッションを一意に識別されたクライアントからの訪問者行為に対応する1つ又は複数の要求（例えば、解析トラッキングデータ通信）に関連付ける1つ又は複数の技法を指す。この一意に識別されたクライアントは、パブリッシャーのサイトへの訪問者（例えばユーザ）に関連付けできる。さらに、セッション化は、キャンペーン情報を提供し、各着信要求に関連付ける技法を含むことができる。本明細書では、キャンペーン情報は、ページ統一資源識別子（例えば、ページURI）又はランディングページへの着信トラフィックが、オーガニックキャンペーン(例えば、ウェブサーチから)、キーワードで定義された明示的キャンペーン、別のウェブサイトからの差し向けキャンペーン、又は直接キャンペーンからのものかを示す差し向けパスを含むことができる。一例では、キャンペーン情報は、一組の関連付けられたマーケティング行為に対応するマーケティングキャンペーンを識別できる。例えば、これら関連付けられたマーケティング行為は、パブリッシャーのウェブサイトにおける一組のウェブページにそれぞれ対応できる。こうして、このパブリッシャーのウェブページにおける一組のウェブページに関連した任意の訪問者行為/行動は、このマーケティングキャンペーンに関連付けできる。このように、このキャンペーン情報は、こうした訪問者行動に関連付けられたマーケティングキャンペーンを識別できる。
【００２９】
現在のウェブ解析システムでは、セッション化は、所与のウェブ解析システムの介在なしにクライアントサイドで発生する。しかし、各クライアントは、セッションを異なって用意するロジックを実装できるため、これが、ウェブ解析システムにより受け取られた要求の一貫性を欠いたセッション化の原因となることがある。
【００３０】
クライアントサイドセッション化に関する上述の問題に対処するため、本願技術は、解析トラッキングサーバへの着信要求又は解析トラッキングデータ通信のセッション化をサーバサイドで実装する解析トラッキングシステムに関する。結果として、クライアントは、「生の」ヒット又は要求情報を、解析トラッキングサーバに送信される解析トラッキングデータのより小さい部分集合を含む各解析トラッキングデータ通信の形式で送信できる(例えば、予めセッション化を実行しないで)。例えば、既存のウェブ解析システムとは対照的に、クライアントから送信される解析トラッキングデータは、以前のセッションからのセッション情報及び/又はキャンペーン情報を含まない。さらに、最初の「生の」ヒットはキャンペーン情報を含むことができる。しかし、このキャンペーン情報はもはやクッキーに格納される必要はないので、本明細書で説明する解析トラッキングサーバがこのキャンペーン情報をサーバサイドで伝播できるのであれば、後続のヒットすべてはこのキャンペーン情報を含むことはない。結果的に、ネットワーク帯域幅が保存され、クライアントサイドでのエラーが減少する。
【００３１】
クライアントサイドセッション化は、典型的には、1つ又は複数のファーストパーティークッキー（例えば、パブリッシャーのサイトに起因するクッキー）で上述のウェブサイトトラッキング（例えば、セッション情報、訪問者情報、キャンペーン情報など）の一部（又はすべて）を提供するが、これらは所与のウェブ解析サーバに送信される解析トラッキングデータ通信に含められる。本明細書で説明する解析トラッキングシステムは、サーバーサイドでセッション化を行うことで、解析データをトラッキングする上でクッキーへの依存を減少（又は皆無にする）。
【００３２】
図1は、解析トラッキングデータ通信の形式でウェブサイトトラッキングデータを受け取り且つ処理するための解析トラッキングシステム100における例示的な通信フローを概念的に示す。解析トラッキングシステム100は1つ又は複数のクライアント110を含む。クライアントには、モバイルデバイス、ネットブック、ラップトップ、デスクトップコンピュータなどの異なる計算デバイスが含まれる。パブリッシャーのウェブサイト120のリソース（例えば、ウェブページ、リンク、画像など）にアクセスすると、クライアントは、解析トラッキングデータ通信などのウェブサイトトラッキングデータを解析サーバ130に送信する。別の例では、パブリッシャーのウェブサイト120からの処理済みデータをクライアント110に送信でき、すると、クライアント110は次に解析トラッキングデータを解析サーバ130に送信できる。
【００３３】
図1の例示的なシステム100は、ウェブサイトトラッキングデータを含む通信フローを示しているが、任意タイプの解析トラッキングデータを本願技術の範囲内でシステム100に含めることができることは理解すべきである。さらに、図1はウェブサイトトラッキングデータがクライアント110からパブリッシャーのウェブサイト120に渡され、次に解析サーバ130に渡される例を示している。しかし、上述し且つ図1にさらに示したように、各クライアントは、解析トラッキングデータを解析サーバ130に処理を目的として直接的に通信してもよい（例えば、パブリッシャーのウェブサイト120を迂回して）。一例では、パブリッシャーのウェブサイトは、クライアントが解析サーバ130に送信すべきデータに関するコード/命令を含む。クライアント上のアプリケーションからのトラッキング解析データに関わる別の例では、このアプリケーションには解析サーバ130との通信するためのロジックが含まれている。
【００３４】
ウェブサイトトラッキングデータはネットワークを介して送信でき、ネットワークにはローカルネットワーク、リモートネットワーク、又は複数ネットワークの相互接続ネットワーク（例えば、インターネット）が含まれうるがそれらに限定されない。さらに、クライアント110、パブリッシャーのウェブサイト120、及び解析サーバ130は、ローカルエリアネットワーク、広域ネットワーク、又は複数ネットワークの相互接続ネットワーク（例えば、インターネット）などの任意種類のネットワークを介し且つ任意種類のネットワーク/通信プロトコル(伝送制御プロトコル/インターネットプロトコル(TCP/IP)、HTTPなど)を用いて通信するよう構成できる。
【００３５】
一例では、この解析システムは、単一の解析サーバ130の代わりに、同一組の機能を分散型且つ/又は負荷平衡様式で実行する複数のサーバ/コンピュータのクラスタを含むことができる。クラスタは、互いに連結され同一組の機能を一体的に実行する一群の複数サーバ/コンピュータとして理解でき、これは単一サーバ/コンピュータアーキテクチャに比べて優れた性能、信頼性、利用可能性を提供できる。一群のサーバを備えた例では、この解析システムは、一意の訪問者及び/又は特定のセッションに関連付けられたイベントトラッキング通信をこの一群のサーバ内の同一サーバに処理のため転送するよう構成できる。
【００３６】
さらに、ウェブ解析に関連付けられた解析トラッキングデータの処理のために1つ又は複数の異なる段のサーバを含めてもよい。一例では、多段システムは、着信する解析トラッキングデータ通信（例えば、対応するウェブサイトにおけるウェブページ要求のログ記録に関するHTTP要求）を受信する収集サーバの一段を含めてもよい。この収集サーバの段のうちで着信する通信を受信する収集サーバは、この着信通信を転送する下位段のロギングサーバを特定できる。この着信通信を受け取ると、このロギングサーバは、この通信を永続的に記憶するため長期格納サーバの段に転送することでこの通信を処理する。次に、着信する解析トラッキングデータ通信は、1つ又は複数の解析サーバの段に転送できる（例えば、収集段から）。
【００３７】
単一のサーバが用意される場合でも多数の解析サーバが用意される場合でも、各解析サーバは、解析トラッキングデータ通信で受け取られた着信ウェブサイトトラッキングデータのセッション化を実現するためにセッションロジックを実装する。以下の記載では、一意の訪問者からの解析トラッキングデータ通信をセッション化するための例示的なプロセスをより詳細に説明する。
【００３８】
幾つかの構成では、1つ又は複数の解析サーバ130を1つのシステムとして用意できる。このシステムは、メモリと、1つ又は複数のプロセッサと、メモリ内に格納されると共にこの1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含むことができる。このシステムは、解析トラッキングデータ通信を受け取り、この受け取られた解析トラッキングデータ通信から解析トラッキングデータを特定するよう構成された解析データモジュールを含むことができ、この解析トラッキングデータは、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータと訪問者情報とを含んでいる。このシステムは、この行為が、訪問者情報に対応した一意の訪問者の最初の訪問に関連付けられていると判断された場合は、解析トラッキングデータに関連付けられた新規セッションを作成し、この解析トラッキングデータに関連付けられた新規セッションに書き込むためのキャンペーン情報を特定し、その特定されたキャンペーン情報を含む解析トラッキングデータを格納するよう構成されたセッションモジュールをさらに含むことができる。
【００３９】
幾つかの構成では、このセッションモジュールは、この解析トラッキングデータが一意の訪問者の最初の訪問でない場合は、アクティブセッションがこの解析トラッキングデータに関連付けられているかを判断し、この解析トラッキングデータに関連付けられたアクティブセッションに書き込むためのキャンペーン情報を特定し、その特定されたキャンペーン情報を含む解析トラッキングデータを格納するようさらに構成できる。又、幾つかの構成では、このセッションモジュールは、この解析トラッキングデータに関連付けられたアクティブセッションがない場合、この解析トラッキングデータに関連付けられた新規セッションを作成するようさらに構成されている。
【００４０】
図2は、幾つかの構成の解析トラッキングデータ通信に基づいてセッション情報を生成するための例示的なプロセス200を概念的に示す。より具体的には、図2は、解析トラッキングデータ通信に含まれた解析トラッキングデータに基づいて解析トラッキングデータをセッション化するため解析サーバにより実行されるプロセスを示している。
【００４１】
解析トラッキングデータ通信が受け取られると205においてプロセス200が開始される。図1を参照すると、クライアント110のうちいずれかがパブリッシャーのウェブサイト120上のリソース（例えば、ウェブページ、リンク、画像など）にアクセスすると、解析トラッキングデータ通信が解析サーバ130によって受け取られる。
【００４２】
210において、プロセス200は、受け取られた解析トラッキングデータ通信から解析トラッキングデータを特定する。一例では、この解析トラッキングデータは少なくとも訪問者情報を含む。例えば、訪問者情報は、このパブリッシャーのウェブサイトにアクセスする一意の訪問者に関連付けられた一意のID文字列を含むことができる。この訪問者情報は、必ずしも特定のエンドユーザを識別するものではない。例えば、この訪問者情報は、訪問者のウェブブラウザ又はクライアント、訪問者のホスト名、IPアドレスなどの異なる情報に基づいて特定された匿名化済み識別子でよい。さらに、この解析トラッキングデータは、この一意の訪問者がパブリッシャーのウェブサイトを訪問した（例えば、パブリッシャーのウェブサイト上のリソースへのアクセスを示す行為）時刻及び/又は日付を表すタイムスタンプも含む。幾つか実装例では、タイムスタンプは、特定のイベントが発生した日付及び/又は時刻を示す一連の英数字列である。幾つかの例では、クライアントは、イベントが発生した時刻を不正確に報告することがある（例えば、不正確なクロック読み取り及び/又は設定による）。この問題に対処するため、一例では、タイムスタンプは、イベントがクライアントにより記録/検出された時から、そのイベントが解析トラッキングデータの一部として解析サーバに送信された時までのデルタ又は経過時間を表す。
【００４３】
プロセス200は、215において、この一意の訪問者の最初の訪問が発生したのかを判断する。一例では、この判断は、この一意の訪問者にはパブリッシャーのウェブサイトを訪問した記録があるか否かに基づいて行われる。例えば、この一意の訪問者に関する以前のタイムスタンプ又は他の解析データが存在しない場合は、プロセス200は受け取られた解析トラッキングデータ通信が、この一意の訪問者についてはパブリッシャーのウェブサイトへの最初の訪問であると判断する。こうした記録がこの一意の訪問者について発見されない場合は、プロセス200はこの一意の訪問者に関する新規セッションを作成する。一例では、新規セッションは、この一意の訪問者に関する新規セッションの開始時刻を示すため解析トラッキングデータからタイムスタンプを格納することによって作成すればよい。
【００４４】
代替的には、これがこの一意の訪問者に関する最初の訪問でないと判断されると（例えば、この一意の訪問者がパブリッシャーのウェブサイトを以前に訪問していたなど）、プロセス200は220に進み、タイムスタンプに基づいてこの一意の訪問者の最後の訪問を特定する。一例では、プロセス200は、この一意の訪問者に関連付けられた以前の行為の前のタイムスタンプ（例えば、以前受け取られたの解析トラッキングデータに含まれたタイムスタンプ）に基づいて最後の訪問を特定する。このタイムスタンプはセッション境界条件の一例として理解できる。しかし、プロセス200は、一意の訪問者に関する最初の訪問を特定するため他のセッション境界条件を使用してもよい。例えば、プロセス200は、他のセッション境界条件に基づいて一意の訪問者の最後の訪問を特定する。例示的に、他のセッション境界条件は、新規キャンペーン情報、新規セッションを示すセッションマーカ、又はセッションタイムアウトを含むことができる。上述の各セッション境界条件は、一意の訪問者に関する新規セッションを作成すべきことを示すことができる。別の種類のセッション境界条件を本願技術の範囲を逸脱することなく考慮することもできる。
【００４５】
220での特定に基づいて、プロセス200は225に進み、この一意の訪問者に関するアクティブセッションが存在するか否かを判断する。一例では、アクティブセッションは、このアクティブセッションがいつ開始されたかを示す格納されたタイムスタンプを調べることで特定できる。幾つかの構成では、所定の無活動時間（例えば30分）が経過後、セッションは無活動又は期限切れ（例えばセッションタイムアウト）と見なされる。従って、アクティブセッションが存在しないと判断されると（例えば、アクティブセッションが開始された時を示すタイムスタンプが存在しない又はタイムスタンプが所定期間より古い場合など）、プロセス200は230に進んでこのユーザに関する新規セッションを作成する。さらに、上述したように、220で特定された上記の各セッション境界条件（例えば、新規キャンペーン情報、セッションマーカ、セッションタイムアウトなど）は、新規セッションを作成すべきことを示すことができ（アクティブセッションが存在しないことを実質的に判断する）、プロセス200は次に230に進む。代替的には、アクティブセッションが存在する場合は、プロセス200は235に進んで後に詳述するように訪問者及び/又はセッション関連情報を書き込む(populate)。
【００４６】
新規セッションを（例えば、215か225から到着して）230で作成又は225でアクティブセッションが存在すると判断した後、プロセス200は235に進んで訪問者及び/又はセッション関連情報を書き込む。例えば、この解析サーバは、パブリッシャーのウェブサイトの1つ又は複数ページに関連付けられた構成情報に基づいて、受け取られた解析トラッキングデータを書き込む訪問者及び/又はセッション関連情報を特定する。さらに、この訪問者及び/又はセッション関連情報は、訪問者情報又はキャンペーン情報などの受け取られた解析トラッキングデータに含まれた解析データに基づいている。例えば、キャンペーン情報には受け取られた解析トラッキングデータを書き込んでもよい。一例では、こうしたキャンペーン情報は、マーケティングキャンペーンの名称（例えば、「製品XYC」、「地元のスポーツイベント」、「有名人」など）を含む。上述したように、こうしたキャンペーン情報は、一組の関連したマーケティング行為に対応するマーケティングキャンペーンを識別する。例えば、これら関連付けられたマーケティング行為は、パブリッシャーのウェブサイトにおける一組のウェブページにそれぞれ対応できる。こうして、このパブリッシャーのウェブサイトにおける一組のウェブページに関連した任意の訪問者行為/行動は、このマーケティングキャンペーンに関連付けできる。
【００４７】
プロセス200は、240においてこのキャンペーン情報を含む解析トラッキングデータを格納且つ/又は永続化する。一例では、この解析トラッキングデータは、幾つかの構成では、永続性記憶装置にコミットされる前に一時的に非永続性記憶装置に格納される。一例では、プロセス200は、この解析トラッキングデータを、解析サーバのメモリ（例えば、ランダムアクセスメモリ）に格納されたウェブ属性テーブルに格納する。例えば、この解析トラッキングデータはキャンペーン情報に従って区分化してもよい。プロセス200はここで終了する。
【００４８】
さらに、解析サーバは、所定時間が経過した後に非永続性記憶装置に格納された解析トラッキングデータを（持続的又は長期的）永続性記憶装置に書き込むことを延期できる。例えば、解析サーバは、特定の日に関するすべての解析データが受け取られるまで待つことができ、その日のセッション化データが安定化した時点で、このサーバはその翌日にその解析データを（永続的に）永続性記憶装置に書き込む。こうすることで、この解析サーバは、着信する解析トラッキングデータに関連付けられた任意の状態情報を反映させることができる。
ＩＩ．一貫性のあるビジネスロジックを実現するための集中サーバサイド構成駆動セッション化
【００４９】
所与のウェブ解析システムでは、パブリッシャーサイトの各ページは別々に構成される（属性が同一であっても）。例えば、各ページは、検索エンジン（例えば、差し向け、オーガニックトラフィックなどをトラッキングするため）のリスト、クッキータイムアウト/期限切れ設定、セッションタイムアウト/期限切れ設定などを含むことができる。しかし、ページ毎の構成はエラーを起こしやすい（例えば、パブリッシャーサイトのページのいずれかに関して検索エンジンリストが不正確となったり、タイムアウト情報が不正確に設定されていたりする）。さらに、構成を修正してもHTTPキャッシングのためすべてのクライアントにすぐさま反映されないことがある。結果的に、クライアントサイドセッション化を一貫性をもって実行するには、パブリッシャー（例えば、これらページに責任がある開発者）には類似の構成をすべてのページにおいて実現し且つ維持するという負担が生じる。
【００５０】
上述の問題に対処するため、本願技術は、着信する解析トラッキングデータ通信（例えば、一意の訪問者に関する解析トラッキングデータ通信を含むクライアントからの要求）を一貫性をもってセッション化するため、パブリッシャーのウェブサイト上のリソース（例えば、ウェブページなど）のサーバーサイド構成を可能とする。
【００５１】
図3は、パブリッシャーのウェブサイトの1つ又は複数ページの例示的なリソース構成に含まれる様々な属性を概念的に示す。一例として、解析サーバは、パブリッシャーのウェブサイトからの異なるページにそれぞれ対応した1つ又は複数のリソース構成を格納する。こうした方法により、解析トラッキングデータからの訪問者行為をセッション化するためのビジネスロジック（リソース構成に基づく）がサーバーサイドで提供される。従って、リソース構成への変更は直ちに反映され、その際にこうした変更が、クライアントサイド若しくはパブリッシャーのウェブサイトでのキャッシングによるセッション化時に正しく適用されない可能性はないし、クライアントサイド若しくはパブリッシャーのウェブサイトにおける不正確な構成が発生するという可能性もない。
【００５２】
図示したように、図3は、パブリッシャーのウェブサイト上の異なるリソース（例えばウェブページ）305、310、315、及び330を含む。解析サーバでは、リソース構成320、325、及び335が用意されている。図示したように、リソース305及び310はリソース構成320に対応し、リソース315はリソース構成325に対応する。リソース構成320は、リソース構成325に比べ異なる属性を含んでいる。例えば、リソース構成320及び325それぞれの検索エンジンリスト及びタイムアウト属性は異なっている。一例では、タイムアウト属性は、セッションタイムアウト/期限切れ（例えば30分）及び/又はキャンペーンタイムアウト/期限切れ（例えば6ヶ月）のタイムアウトを含むことができる。さらに図示したように、リソース構成320及び325は、1つ又は複数のキャンペーン属性及び他の属性を含んでいる。一例では、他の属性には、訪問者属性、カスタム属性などに関連した属性が含まれる。解析サーバは、パブリッシャーのウェブサイトからの他のページに関する他のリソース構成335も含むことができる。
【００５３】
図3に示した例示的なリソース構成は一組の属性を含んでいるが、各リソース構成は図3に示したすべての属性を含む必要はないことは理解すべきである。さらに、各リソース構成は、図3の例に示されていない他の属性を本願技術の範囲内で含むことができる。
【００５４】
次節では、一意の訪問者からの解析トラッキングデータ通信のセッション化時に、リソース構成を適用するための例示的なプロセスをより詳細に説明する。
【００５５】
図4は、解析トラッキングデータに適用するためのリソース構成情報を特定する例示的なプロセス400を概念的に示す。より具体的には、図4は、解析トラッキングデータ通信に含まれた解析トラッキングデータに基づいて解析トラッキングデータをセッション化するため、リソース構成情報を適用するため解析サーバにより実行されるプロセスを示している。一例では、プロセス400は、図2を参照して説明されたプロセス200と共に実行できる。
【００５６】
上述したように、ウェブサイトトラフィックデータは、上述した解析トラッキングデータ通信(例えば、様々なユーザデバイス及び/又はクライアントから生成されたHTTP要求又は「ヒット」)の形式とすることができる。それぞれの解析トラッキングデータ通信は、パブリッシャーのウェブサイトへの訪問者によってウェブサイト上のウェブページ又はリソース(例えば、画像ファイル、バナー広告、音声ファイルなど)がロードされるとトリガされうる。ウェブサイト解析報告の目的では、関連付けられたウェブサイトトラッキングデータ（例えば、関連付けられたHTTP要求に含まれるもの）は、ウェブプロパティID（例えば、特定のウェブサイトに関するパブリッシャーの解析アカウントを識別する識別子）と、訪問者識別データ（例えば、一意のクライアントデバイスに対応した匿名化された識別子）と、1つ又は複数のイベント統計値（現在のウェブページ通信のタイムスタンプなど）と、パブリッシャーのウェブサイトへの訪問者に関連付けられた位置データ（すなわち地理的情報）などのユーザデータとを含むことができる。
【００５７】
プロセス400は、解析トラッキングデータ通信（例えば、要求内で解析サーバにより受け取られる）からの解析トラッキングデータに基づいてリソース情報を特定することにより405で開始される。一例では、このリソース情報は、訪問者行為又はイベントが発生したパブリッシャーのウェブサイトからのページを識別する情報を含む。プロセス400は、410において、特定されたリソース情報に基づいてリソース構成情報を特定する。プロセス400は、415において、特定されたリソース構成からの1つ又は複数の属性をこの解析トラッキングデータに適用する。一例では、解析サーバは、図2で説明したように、受け取られた解析トラッキングデータのセッション化時にこうした属性を適用する。プロセス400はここで終了する。
【００５８】
図1を再び参照すると、1つ又は複数の解析サーバ130を1つのシステムとして用意できる。このシステムは、メモリと、1つ又は複数のプロセッサと、メモリ内に格納されると共にこの1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含むことができる。このシステムは、解析トラッキングデータ通信を受け取り、この解析トラッキングデータ通信からの解析トラッキングデータに基づいてリソース情報を特定するよう構成された解析データモジュールを含むことができ、このリソース情報はソースに関連付けられた対応するリソースを含み、この解析トラッキングデータはこのソースに関連付けられた行為をトラッキングするためのデータを含んでいる。このシステムは、特定されたリソース情報に基づいてリソース構成情報を特定するよう構成されたリソース構成モジュールをさらに含むことができ、このリソース構成情報は、対応するリソースに関連付けられた1つ又は複数の属性を含み、このリソース構成モジュールは、特定されたリソース構成情報からの1つ又は複数の属性をこの解析トラッキングデータに適用できる。
【００５９】
幾つかの構成では、このリソース構成モジュールは解析トラッキングデータを格納するようさらに構成でき、この解析トラッキングデータは適用された1つ又は複数の属性を含む。この1つ又は複数の属性は、一例では、検索エンジンリスト、タイムアウト情報、又はキャンペーン属性を含む。解析トラッキングデータ通信は、一例では、ウェブサイト又はアプリケーションに関連付けられたハイパーテキスト転送プロトコル(HTTP)要求に含まれるウェブサイト又はアプリケーショントラフィックデータを含む。さらに、幾つかの構成では、この解析トラッキングデータは行為のタイムスタンプを含み、この解析トラッキングデータ通信は、パブリッシャーのウェブサイト上のリソースにアクセスしたクライアントからネットワークを介して受け取られる。一例として、特定されたページ情報は、対応するリソースを複数のリソース構成からのリソース構成情報にマッピングする。一例では、第2の対応するリソースがリソース構成情報に対応する。幾つかの構成では、特定されたリソース構成情報からの1つ又は複数の属性がこの解析トラッキングデータに適用されるのは、解析トラッキングデータ通信に基づいた新規セッションの作成時である。
III.サーバサイドセッション化に関する永続性及びプロセス解析データディメンション
【００６０】
解析データ（例えば、キャンペーン情報、訪問者行為など）はクッキーを介してクライアントでローカルに格納される。しかし、クライアントサイドクッキーへの依存には幾つかの弱点が存在しうる。それらは(1)クッキーが削除され又は一定のクライアントではサポートされないことによる信頼性の低さ、及び、(2)解析データを報告するパブリッシャーのウェブサイトの各ヒットが重複した情報を所与の解析サーバに送る(例えば1つ又は複数のクッキーで)ことである。さらに、上述したように、クッキーの利用は、クッキーを送信し(クライアントサイドで)受信する(サーバサイドで)ために必要なネットワーク帯域幅の量を増大させてしまう。
【００６１】
上述したように、訪問者行為に基づいた解析トラッキングデータ(「ウェブサイトトラッキングデータ」)は、上述した解析トラッキングデータ通信(例えば、様々なユーザデバイス及び/若しくはクライアントから生成されたHTTP要求又は「ヒット」)に含めることができる。それぞれの解析トラッキングデータ通信は、パブリッシャーのウェブサイトへの訪問者によってウェブサイト上のウェブページ又はリソース(例えば、画像ファイル、バナー広告、音声ファイルなど)がロードされるとトリガされうる。ウェブサイト解析報告の目的では、関連付けられたウェブサイトトラッキングデータ（例えば、関連付けられたHTTP要求に含まれるもの）は、ウェブプロパティID（例えば、特定のウェブサイトに関するパブリッシャーの解析アカウントを識別する識別子）と、訪問者識別データ（例えば、一意のクライアントデバイスに対応した匿名化された識別子）と、1つ又は複数のイベント統計値（現在のウェブページ通信のタイムスタンプなど）と、パブリッシャーのウェブサイトへの訪問者に関連付けられた位置データ（すなわち地理的情報）などのユーザデータとを含むことができる。しかし、既存のウェブ解析システムでは、重複した解析トラッキングデータが、所与のウェブ解析システムに送信されるそれぞれの解析トラッキングデータ通信に含まれてしまう。
【００６２】
上述の問題に対処するため、本願技術は、一意のクライアント（例えば、パブリッシャーのウェブサイトへの訪問者）から受け取られる最初の着信解析トラッキングデータ通信からの解析トラッキングデータを、この一意のクライアントから後に受け取られる解析トラッキングデータ通信に伝播することができる。
【００６３】
図5は、最初の解析トラッキングデータ通信（例えば、新規セッションに関する）から後続の解析トラッキングデータ通信へ情報を伝播するための、解析トラッキングシステム500におけるクライアント計算デバイスから解析サーバへの例示的な通信フローを概念的に示す。
【００６４】
図示したように、解析トラッキングシステム500は、クライアント計算デバイス510と、パブリッシャーのウェブサイト520と、解析サーバ540とを含む。図5に示した例では、クライアント計算デバイス510は、パブリッシャーのウェブサイト520を訪れ、パブリッシャーのウェブサイト上の幾つかのリソースにアクセスし、これらは解析サーバ540に異なる解析トラッキングデータ通信として報告される。訪問者行為のそれぞれについて、パブリッシャーのウェブサイト520は、1つ又は複数のクッキーをクライアント計算デバイス510に設定するため応答通信を送ることができる。さらに、パブリッシャーのウェブサイト520におけるクライアント計算デバイス510による訪問者行為それぞれに関し、それぞれのヒット（例えば、それぞれの解析トラッキングデータ通信に対応する）が解析サーバ540に送信される。一例では、第1ヒット530（「ヒット1」として示した）は、解析サーバ540に報告されるパブリッシャーのウェブサイト520でトラッキングされる最初の訪問者行為を表す。後続の訪問者行為に関する後続のヒット532、534、及び536も、続いて解析サーバ540に報告される。幾つかの例では、図5にさらに示したように、1つ又は複数のヒット538をクライアント計算デバイス510から解析サーバ540に送信できる。
【００６５】
解析トラッキングサーバ540において、着信する解析トラッキングデータ通信は、これら解析トラッキングデータ通信からの異なる解析データをトラッキングするため、テーブル550（又は類似のデータ構造）に格納できる。図示したように、テーブル550は、第1ヒット530に対応した解析データ562を含む。一例では、解析データ562は、キャンペーン情報、一意の訪問者の性別、及びセッション情報などの異なる属性に対応した1つ又は複数のディメンションを含むことができる。一例では、この一意の訪問者の性別は、パブリッシャーのウェブサイトにおけるこの一意の訪問者のプロフィール情報に基づいて与えられる。他の属性の他のディメンションは、本願技術の範囲内で解析データ562に含めることができる。これら異なるディメンションの異なる属性は、将来取り出すために解析サーバ540により格納される。こうすることで、パブリッシャーのウェブサイト520での訪問者行為を報告する後続のヒットは、こうした属性を含む必要はない。例えば、パブリッシャーのウェブサイトのJavaScript（登録商標）コードは、クライアントに、一意の訪問者の訪問時に特定の属性のみを含めるよう命令するため一組のページに含まれている。パブリッシャーのウェブサイトへの後続の訪問では、これら属性は、解析サーバ540に送信される解析トラッキングデータ通信には含まれない。後続の着信する解析トラッキングデータ通信それぞれに関しては、解析サーバは、格納された属性560を解析データ564、566、567、及び568に伝播する。さらに図示したように、解析データ567は、562において、ヒットNに伝播されている状態変更情報（例えば、「キャンペーン:456」）を含み、これは、後に詳述する属性の部分伝播の一例である。
【００６６】
図6は、解析サーバにおいて最初の解析トラッキングデータ通信から後続の解析トラッキングデータ通信へ情報を伝播するための例示的なプロセス600を説明する。
【００６７】
605において解析トラッキングデータ通信を受け取ることでプロセス600が開始される。610において、プロセス600は、この解析トラッキングデータ通信が、この受け取られた解析トラッキングデータ通信に含まれた解析トラッキングデータに基づいて状態変更情報を備えたヒットかどうかを判断する。状態変更情報は、新規キャンペーン情報、新規訪問者情報などを含むことができる。別の種類の状態変更情報を本願技術の範囲を逸脱することなく考慮することもできる。
【００６８】
610において、受け取られた解析トラッキングデータ通信が状態変更情報を備えたヒットであると判断されると、プロセス600は615に進んで、この解析トラッキングデータ通信に含まれた解析トラッキングデータからの1つ又は複数の属性を特定する。一例として、この解析トラッキングデータに含まれるそれぞれの属性について、プロセス600は、この特性（例えば、この属性が状態変更情報を含む）を他のヒットに伝播するため格納すべきかを判断する。
【００６９】
次に、620において、プロセス600は、この1つ又は複数の属性を他の解析トラッキングデータ通信に伝播するため格納する。一例では、この1つ又は複数の属性は、上述したように状態変更情報（例えば、新規キャンペーン情報）を含むことができる。すると、プロセス600は、625において、任意の既存の属性を（現在の）受け取られた解析トラッキングデータに伝播すべきかを判断する。例えば、現在は解析サーバに格納されている以前受け取られた解析トラッキングデータは、受け取られた解析トラッキングデータに伝播されるべき訪問者に関する性別情報を含んでいる可能性もある。既存の属性が伝播されるべきであれば、プロセス600は630に進み、こうした属性を、受け取られた解析トラッキングデータ通信に含まれた解析トラッキングデータに伝播させる。次に、プロセス600は635に進み、伝播された1つ又は複数の属性を含む解析トラッキングデータを格納且つ/又は永続化する。一例では、この解析トラッキングデータは、幾つかの構成では、永続性記憶装置にコミットされる前に一時的に非永続性記憶装置に格納される。代替的には、625において、いずれの属性も伝播すべきでないと判断されれば、プロセス600は635に進みこの解析トラッキングデータを格納する。
【００７０】
プロセス600が、610において、受け取られた解析トラッキングデータ通信は状態変更情報を備えたヒットでないと判断すると、プロセス600は630に進み、格納されている属性を、受け取られた解析トラッキングデータ通信に含まれた解析トラッキングデータに伝播する。次に、プロセス600は635に進み、これら伝播された属性を含む解析トラッキングデータを格納する。この解析トラッキングデータは、幾つかの構成では、永続性記憶装置にコミットされる前に一時的に非永続性記憶装置に格納される。こうして、1つ又は複数のディメンションに対応する付加的な解析データがこの後続解析トラッキングデータに適用され、解析サーバに報告された初期の解析トラッキングデータ通信との一貫性を備えることになる。プロセス600はここで終了する。
【００７１】
さらに、解析サーバは、所定時間が経過した後に非永続性記憶装置に格納された解析トラッキングデータを（持続的又は長期的）永続性記憶装置に書き込むことを延期できる。例えば、解析サーバは、特定の日に関するすべての解析データが受け取られるまで待つことができ、その日の状態変更データ(例えば、1つ又は複数の属性)が安定化した時点で、このサーバはその翌日にその解析データを（永続的に）永続性記憶装置に書き込む。こうすることで、この解析サーバは、着信する解析トラッキングデータに関連付けられた任意の状態情報を反映させることができる。
【００７２】
幾つかの構成では、本願技術はシステムを含む。このシステムは、メモリと、1つ又は複数のプロセッサと、メモリ内に格納されると共にこの1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含むことができる。このシステムは、解析トラッキングデータ通信を受け取り、この受け取られた解析トラッキングデータ通信が状態変更情報を含むか否かをこの解析トラッキングデータ通信に含まれた解析トラッキングデータに基づいて判断するよう構成された解析データ伝播モジュールを含み、この解析トラッキングデータは、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含み、この解析データ伝播モジュールは、さらに、この解析トラッキングデータ通信が状態変更情報を含む場合は、後続の解析トラッキングデータに伝播させるための1つ又は複数の属性を特定するよう構成されている。さらに、このシステムは、この状態変更情報を、特定された1つ又は複数の属性の1つ又は複数として格納し、この特定された1つ又は複数の属性を含む解析トラッキングデータを格納するよう構成された格納モジュールを含む。
【００７３】
幾つかの構成では、この解析データ伝播モジュールは、解析トラッキングデータ通信が状態変更情報を含まない場合は解析トラッキングデータに伝播させるための1つ又は複数の属性を特定し、この1つ又は複数の属性を含んだ解析トラッキングデータを格納するようさらに構成される。この解析データ伝播モジュールは、第2の解析トラッキングデータ通信を受け取り、格納された1つ又は複数の属性を、受け取られた第2の解析トラッキングデータ通信に伝播させるうようさらに構成される。第2の解析トラッキングデータ通信は一例では状態変更属性を含む。この状態変更属性は、一例では新規キャンペーン情報又は新規訪問者情報を含む。
【００７４】
幾つかの構成では、格納モジュールは、伝播された1つ又は複数の属性を含む第2解析トラッキングデータ通信を格納するようさらに構成できる。格納モジュールは、格納された第2の解析トラッキングデータ通信を、所定時間が経過した後に永続性記憶装置にコミットするようさらに構成される。
IV. 解析データの動的セッション化
【００７５】
典型的な解析システムでは、パブリッシャーのウェブサイトにおける訪問者行為に関する解析データ（1つ又は複数の「ヒット」）は、クライアントサイドでセッション化された後、異なるヒットとして処理するためウェブ解析サーバに報告される。これらのヒットはウェブ解析サーバにより受け取られ、次に、このヒットに含まれるキャンペーン情報及び/又はセッション情報に従って格納される。しかし、幾つかのクライアント計算デバイス（モバイルデバイスなど）のネットワーク接続性は、場合によっては信頼性が低くなる可能性もある。さらに、一例におけるこの解析トラッキングシステムの分散型の性質（このシステムが幾つかの分散型サーバ上に設けられている）を考慮すれば、ヒットが、各サーバの異なるバッファ及び遅れによって順序通りには受信されない可能性もある。これらの例では、あるセッションのヒットが、セッションを形成する持続時間を超えて遅く（且つ/又は順が狂って）受け取られることがある。セッションの遅いヒットを受け取る前は、そのセッションに対応した解析データのクエリは不正確になってしまう。従って、このウェブ解析サーバに格納済みの解析データは、ヒットが遅れて受け取られた対応するキャンペーン又はセッションに関するパブリッシャーのウェブサイトでの訪問者行為を正確に反映しないことがある。
【００７６】
遅いヒットが新規キャンペーン情報を含む例では、ウェブ解析サーバは、この新規キャンペーン情報を反映するために格納された解析データを更新する追加処理（例えば、異なるキャンペーンに誤って関連付けられた既存の解析データの削除及び修正）を行う必要がある。例えば、所与の解析トラッキングシステムは、解析トラッキングデータを永続性記憶装置に直ちにコミットするはずである。遅いヒットが新規キャンペーン情報を含み、解析データが更新される前であれば、この解析データに関する解析サーバへのクエリは、キャンペーンに関する訪問者行為に関して正確性を欠くものとなる。従って、遅いヒットを受け取る可能性を考慮すれば、解析トラッキングデータを永続性記憶装置にコミットするのを延期することが有利となることがある。
【００７７】
解析データが解析サーバにおいてセッション化される本明細書に記載の解析トラッキングシステムでは、この解析サーバに報告される解析データは、セッション及び/又はキャンペーン情報なしで受け取られることが多い（例えば、この解析データは「ステートレス」である）。よって、この解析サーバは、既存のセッションを特定するため又は解析データに関する新規セッションを作成するために、サーバサイドでセッション化を行い、次に、そのセッションに関連付けられた解析データのキャンペーン情報を書き込む。
【００７８】
上述の問題に対処するため、本願技術は、解析トラッキングデータへのクエリに応答するため解析サーバに格納された解析トラッキングデータを動的にセッション化する構成を提供する。遅いヒットを受け取る可能性を考慮して、この解析サーバは、遅いヒットで受け取られた新規キャンペーン情報を正確に反映しない場合がある永続性記憶装置に既にコミットされた解析トラッキングデータに依存する代わりに、解析トラッキングデータの動的セッション化を実行する。より具体的には、受け取られたトラッキングデータは、永続性記憶装置に直ぐにコミットされず、一例では、非永続性記憶装置に一時的に保持される。次に、この解析サーバは、新規キャンペーン情報を含む遅いヒットを反映させるため、指定された期間後に（例えば、翌日に）解析トラッキングデータのコミットを延期できる。
【００７９】
上述したように、パブリッシャーのウェブサイト上での訪問者行為に基づいた解析トラッキングデータ(「ウェブサイトトラッキングデータ」)は、解析サーバが受け取り且つ処理する上述した解析トラッキングデータ通信(例えば、様々なユーザデバイス及び/若しくはクライアントから生成されたHTTP要求又は「ヒット」)に含まれることができる。
【００８０】
図7は、解析トラッキングデータへのクエリに応答して動的に生成されたセッションに関連付けられた集約済み解析トラッキングデータを与える例示的なプロセス700を説明する。プロセス700は、一例では解析サーバにより実行できる。
【００８１】
プロセス700は、705において、一定期間に関連付けられた解析トラッキングデータへのクエリを受け取ることで開始される。一例では、この期間は、解析データが解析サーバに報告される特定の日（又はその下位期間）にわたることができる。710において、プロセス700はこの期間にわたる解析トラッキングデータを集約して、これら集約済み解析トラッキングデータを動的に生成されたセッションに関連付ける。一例では、このサーバは、受け取られたクエリに応答してセッションを動的に生成する。このサーバは、次に、一意の訪問者に関して、このクエリに基づいてこの期間内でサーバに既に受け取られた解析トラッキングデータを集約する。この解析データが永続性記憶装置へコミットされるのを延期できるので、解析トラッキングデータの集約体は、既に永続性記憶装置にコミットされている解析トラッキングデータ及び/又はこのクエリで指定された期間にわたり永続性記憶装置にまだコミットされていない解析トラッキングデータ（例えば、現在、データは一時的に格納されている）を含むことができる。上記を考慮すると、もし新規キャンペーン情報が遅いヒットで受け取られると、この解析トラッキングデータ集約体からなる動的に生成されたセッションは、この新規キャンペーン情報に基づくことになる。こうして、プロセス700は、新規キャンペーン情報に基づいて最新の解析トラッキングデータを与えることができる。
【００８２】
715において、プロセス700は、このクエリに応答して動的に生成されたセッションに関連付けられた集約済み解析トラッキングデータを与える。この動的に生成されたセッションは、クエリ要求に応答するために使用される「使い捨て」又は一時セッションと理解できる。動的に生成されたセッションを使用することで、セッション化が実行中に行われるため、解析サーバは、クエリに応答して最新の解析トラッキングデータを与えることができる。解析トラッキングデータを直ちにコミットし且つそうしたデータに依存する代わりに、解析サーバは動的に生成されたセッションを利用して解析トラッキングデータを集約することで、クエリで返されるデータに影響しかねない新規キャンペーン情報を備えた遅いヒットを反映させる。プロセス700はここで終了する。
【００８３】
例示的なプロセス700は単一の動的に生成されたセッションに関連して説明したが、解析トラッキングデータは多数の動的に生成されたセッションに関しても集約できる。クエリが2つ以上のセッションを含む期間を要求する一例では、解析サーバは、解析トラッキングデータを集約するため多数のセッションを生成できる。
【００８４】
幾つかの構成では、本願技術はシステムを含む。このシステムは、メモリと、1つ又は複数のプロセッサと、メモリ内に格納されると共にこの1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含むる。一例では、このシステムは解析データクエリモジュールを含み、このモジュールは、一定期間に関連付けられた解析トラッキングデータであって、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータへのクエリを受け取り、この期間に従って集約するための解析トラッキングデータをこの特定して、これら集約済みトラッキングデータを動的に生成されたセッションに関連付け、クエリに応答して動的に生成されたセッションに関連付けられた集約済み解析トラッキングデータを与えるよう構成されている。特定された解析トラッキングデータは、1つ又は複数の以前受け取られた解析トラッキングデータ通信に関連付けられる。この解析トラッキングデータは、一例では、以前受け取られた解析トラッキングデータ通信に関連付けられたキャンペーン情報を含む。解析トラッキングデータ通信は、一例では、ウェブサイト又はアプリケーションに関連付けられたハイパーテキスト転送プロトコル(HTTP)要求に含まれるウェブサイト又はアプリケーショントラフィックデータを含む。以前受け取られた解析トラッキングデータ通信のそれぞれは、行為のタイムスタンプをさらに含む。この期間は一日（又はその中の下位期間）を含む。動的に生成されたセッションは、一例ではクエリに応答して自動的に生成される。
【００８５】
幾つかの構成では、この解析データクエリモジュールは、各以前受け取られた解析トラッキングデータ通信の行為のタイムスタンプに基づいてこの期間に入る以前受け取られた解析トラッキングデータ通信を集約するようさらに構成される。一例では、以前受け取られた解析トラッキングデータ通信の集約は、遅いヒットで受け取られた新規キャンペーン情報に基づく。
V. オフラインヒットをサポートするための遅延処理の技法
【００８６】
上述のように、ヒットは遅れて受け取られ且つ/又は対応する訪問者行為がパブリッシャーのウェブサイト若しくはアプリケーションで起こる順番に比べ順が狂って受け取られることがある。本願技術は、ヒットの動的セッション化を実行することで遅れた又は順狂いのヒットに対処し、この動的セッションでは、ヒットが既に関連付けられているセッションから分割され且つ/又は異なるセッションに合併される。図8は、異なるヒットが解析サーバで受け取られる例示的な時系列を概念的に示す。より具体的には、図8の例は、異なるヒットが受け取られる異なるステージ801、802、及び803を示す。
【００８７】
ステージ801で示したように、ヒット830(「ヒット1」)、ヒット835(「ヒット３」)、及びヒット840(「ヒット5」)は、各ヒットのそれぞれのタイムスタンプに基づいて互いから時間的に近接して受け取られている。ヒット850(「ヒット6」)は後の時刻に受け取られている。一例では、タイムスタンプを含む解析トラッキングデータが各ヒットに含まれている。ヒットのタイムスタンプは、パブリッシャーのウェブサイト又はアプリケーションでの訪問者行為がログ記録された時刻を示す。例えば、ヒット840及びヒット850のそれぞれのタイムスタンプは、これらヒットがセッションタイムアウト期間を上回る間隔で離間してログ記録されていることを示すことができる。結果として、解析サーバは、ヒット830、835、及び840を第1セッション810にグループ化し、ヒット850を第2セッション820にグループ化する。
【００８８】
第2ステージ802では、ヒット860(「ヒット4」)及びヒット865(「ヒット2」)は遅れて(例えば、第1及び第2セッションの期限切れ時間を超えて)受け取られている。同様に、ヒット860及び865は、訪問者行為がログ記録されたそれぞれのタイムスタンプを含む解析トラッキングデータを含む。さらに、ヒット860は、新規キャンペーン情報などの状態変更情報を含む。解析サーバは、ヒット860に含まれる新規キャンペーン情報に基づいてヒット860が新規セッションを開始すべきと判断する。さらに、解析サーバは、ヒット865が、ヒット865のタイムスタンプに基づいて第1セッション810に含まれるべきだと判断する。
【００８９】
ステージ803では、解析サーバは、ヒット860の新規キャンペーン情報を用いてヒット840を第1セッション810から新規に作成されたセッション870に移動させる。一例では、ヒット840のタイムスタンプは、時間的にはヒット860のタイムスタンプに近い（例えば、セッションタイムアウト期間以内）。結果として、解析サーバは、ヒット840を第2セッション870と関連付けるべきだと判断する。言い換えると、解析サーバは、ヒット860に含まれた新規キャンペーン情報を用いて且つヒット840及び860のそれぞれのタイムスタンプを比較することで、ヒット840はヒット860と共に第2セッション870に含めるべきと判断する。ヒット840及びヒット850のそれぞれのタイムスタンプに基づいて（例えば、それぞれのタイムスタンプはセッションタイムアウト期間を超えて離れている）、解析サーバは、ヒット850は第3セッション820に含まれるべきだと判断できる。幾つかの構成では、新規キャンペーンに関連付けられたヒットは、異なるセッションの以前のヒットとは別のセッションに含まれる。一例では、ヒット860に含まれる状態変更情報は、第2セッション870のヒット840に伝播される。このようにして、遅れヒット（例えばヒット860）から受け取られた状態変更情報は同一セッションの後続のヒット（例えば、ヒット840）に伝播される。別の例では、ヒット860に含まれる状態変更情報は、第3セッション820のヒット850に伝播される。このようにして、遅れヒット（例えばヒット860）から受け取られた状態変更情報は別のセッションの後続のヒット（例えば、ヒット850）に伝播される。
【００９０】
ステージ803にさらに示したように、解析サーバはヒット865を第1セッション810に含める。一例では、ヒット865のそれぞれのタイムスタンプは、ヒット830及び835のそれぞれのタイムスタンプに時間的に近い。結果的に、解析サーバは、ヒット865が、ヒット830、835、及び865のそれぞれのタイムスタンプに基づいてヒット830及び835と共に第1セッション810に含まれるべきだと判断する。
【００９１】
図示したように、第1セッション810はこの時点でヒット830、835、及び865を含み、第2セッション870はヒット860及び840を含み、第3セッション820はヒット850を含んでいる。こうすることで、図8の例で示したように、解析サーバは、新規キャンペーン情報に基づいて異なるヒットを他のセッションに分割し且つ合併することができ、それによってヒットが遅れて且つ/又は順が狂って受け取られると、このサーバはヒットを動的にセッション化できる。
【００９２】
次の例示的プロセスは、分析が、着信する解析トラッキングデータ通信(「ヒット」)をどのように動的に分割し且つ以前のヒットからの以前受け取られた解析トラッキングデータと合併するかを説明する。図9は、遅い且つ/又は順狂い解析トラッキングデータ通信を処理するための例示的なプロセス900を概念的に示す。上述したように、パブリッシャーのウェブサイト又はアプリケーション上での訪問者行為に基づいた解析トラッキングデータ(「ウェブサイトトラッキングデータ」)は、解析サーバが受け取り且つ処理する上述した解析トラッキングデータ通信(例えば、様々なユーザデバイス及び/若しくはクライアントから生成されたHTTP要求又は「ヒット」)に含まれることができる。
【００９３】
900において解析トラッキングデータ通信を受け取ることでプロセス905が開始される。910において、プロセス900は、受け取られた解析トラッキングデータ通信からの解析トラッキングデータに含まれたタイムスタンプを特定する。プロセス900は、915で、新規の状態変更情報がこの解析トラッキングデータに含まれているか否かを判断する。一例では、新規の状態変更情報には、新規キャンペーン情報が含まれるがそれに限定されない。別の例では、新規の状態変更情報には性別情報が含まれるがそれに限定されない。その場合、プロセス900は920に進み、新規の状態変更情報及び/又はタイムスタンプに基づいてセッションを特定する。一例では、新規の状態変更情報は、新規セッションを作成する新規キャンペーン情報を含んでいる。別の例では、新規の状態変更情報は性別情報を含み、ここではこの新規の状態変更情報によっては新規セッションは作成されず、このセッションがタイムスタンプにより特定される。プロセス900は925に進み、1つ又は複数の受け取られた解析トラッキングデータ通信に含まれた他の解析トラッキングデータをこのセッションに関連付ける。
【００９４】
代替的に、新規の状態変更情報が915で受け取られていない場合は、プロセス900は930に進み、解析トラッキングデータに含まれたタイムスタンプに基づいてセッションを特定する。プロセス900は935に進み、受け取られた解析トラッキングデータ通信に含まれた解析トラッキングデータをこのセッションに関連付ける。プロセス900はここで終了する。
【００９５】
幾つかの構成では、本願技術はシステムを提供する。このシステムは、メモリと、1つ又は複数のプロセッサと、メモリ内に格納されると共にこの1つ又は複数のプロセッサにより実行されるよう構成された1つ又は複数のモジュールとを含む。このシステムは動的セッションモジュールを含み、この動的セッションモジュールは、ウェブサイト又はアプリケーションに関連付けられた行為をトラッキングするためのデータを含む解析トラッキングデータを含む解析トラッキングデータ通信を受け取り、受け取られた解析トラッキングデータ通信からの解析トラッキングデータに含まれたタイムスタンプを特定し、新規の状態変更情報が、受け取られた解析トラッキングデータ通信からの解析トラッキングデータに含まれているかを判断し、新規の状態変更情報が、受け取られた解析トラッキングデータ通信からの解析トラッキングデータに含まれている場合、新規の状態変更情報に関連付ける他の解析トラッキングデータを特定するよう構成され、この他の解析トラッキングデータは1つ又は複数の以前受け取られた解析トラッキングデータ通信に関連付けられており、この動的セッションモジュールは、さらに、この解析トラッキングデータと新規キャンペーン情報に関連付けられた他の解析トラッキングデータとを格納するよう構成されている。この他の解析トラッキングデータは、一例では、ユーザ情報、性別情報、位置、タイムスタンプ情報、又はセッション情報を含む。この新規の状態変更情報は、一例では、新規キャンペーン情報、性別情報、又はタイムスタンプ情報を含んでいる。
【００９６】
幾つかの構成では、この動的セッションモジュールは、新規の状態変更情報が解析トラッキングデータに含まれていない場合は、受け取られた解析トラッキングデータ通信のタイムスタンプに基づいてセッションを特定し、この解析トラッキングデータを特定されたセッションに関連付け、特定されたセッションに関連付けられたこの解析トラッキングデータを格納するようさらに構成されており、特定されたセッションは、以前受け取られた解析トラッキングデータ通信に関連付けられた他の解析トラッキングデータを含む。
【００９７】
幾つかの構成では、この新規の状態変更情報に関連付ける他の解析トラッキングデータの上記特定は、新規セッションに含めるための1つ又は複数の以前受け取られた解析トラッキングデータ通信の部分集合を、受け取られた解析トラッキングデータ通信からの解析トラッキングデータに含まれたタイムスタンプと、この部分集合の各以前受け取られた解析トラッキングデータ通信のそれぞれのタイムスタンプと、に基づいて識別することをさらに含む。幾つかの構成では、この1つ又は複数の以前受け取られた解析トラッキングデータ通信の部分集合は、以前はこの新規セッションとは異なるセッションに含まれていた。幾つかの構成では、この新規セッションに含めるための1つ又は複数の以前受け取られた解析トラッキングデータ通信のこの部分集合の上記識別は、受け取られた解析トラッキングデータ通信からの解析トラッキングデータに含まれたタイムスタンプと、この部分集合の各以前受け取られた解析トラッキングデータ通信のそれぞれのタイムスタンプとが、セッションタイムアウト期間内であるか否かを判断することをさらに含む。幾つかの構成では、この動的セッションモジュールは、第2新規セッションに含めるための1つ又は複数の以前受け取られた解析トラッキングデータ通信の第2部分集合を、受け取られた解析トラッキングデータ通信からの解析トラッキングデータに含まれたタイムスタンプと、この第2部分集合の各以前受け取られた解析トラッキングデータ通信のそれぞれのタイムスタンプと、に基づいて識別することをさらに含む。
XX.例示的なシステムアーキテクチャ
【００９８】
次節では、上述の発明の諸側面を実装する例示的システムを説明する。
【００９９】
上述の特徴及び応用例は、コンピュータ可読記憶媒体(コンピュータ可読媒体ともいう)に記録された一組の命令として指定されたソフトウェアプロセスとして実装される。これら1つ又は複数の命令が1つ又は複数の処理装置(例えば、1つ又は複数のプロセッサ、プロセッサのコア、又は他の処理装置)により実行されると、こうした処理装置に上記命令に示された動作を実行させる。コンピュータ可読媒体の例にはCD-ROMs、フラッシュドライブ、RAMチップ、ハードドライブ、EPROMなどが含まれるが、それらに限定されない。このコンピュータ可読媒体は、無線又は有線接続を介して伝送される搬送波及び電子信号は含まない。
【０１００】
本明細書では、「ソフトウェア」という用語は、プロセッサによる処理のためメモリに読み込み可能な、読み出し専用メモリに記録されたファームウェア又は磁気記憶装置に格納されたアプリケーションを含むことを意図している。又、幾つかの構成では、多数のソフトウェア発明を別個のソフトウェア発明として維持しつつ、より大きいプログラムの下位部分として実装してもよい。幾つかの実装例では、多数のソフトウェア発明を別個のプログラムとして実装してもよい。最後に、本明細書に記載した1つのソフトウェア発明を合わせて実装する別個のプログラムの任意組合せは、本発明の範囲に入る。幾つかの実装例では、こうしたソフトウェアプログラムは、1つ又は複数のシステムで動作するようインストールされると、これらソフトウェアプログラムを実行し且つその動作を行う1つ又は複数の特定の機械実装例を定義する。
【０１０１】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとも呼ばれる)は、コンパイル済み若しくは解釈実行言語又は宣言型若しくは手続き型言語を含む任意形式のプログラミング言語で書くことができ、こうしたプログラムは、スタンドアローン形式のプログラム若しくはモジュール、構成要素、サブルーチン、オブジェクト又は計算環境における使用に適した他の単位を含む任意形式で導入できる。コンピュータプログラムは、ファイルシステムのファイルに対応できるが、必ずしもそうである必要はない。プログラムは、他のプログラム又はデータ(例えば、マーク付け言語文書に格納された1つ又は複数のスクリプト)を保持するファイルの一部、このプログラム専用の単一ファイル、又は多数の調整ファイル(例えば、1つ又は複数のモジュール、サブプログラム、又はコードの複数部分を格納するファイル)に格納できる。コンピュータプログラムは、単一のコンピュータ又は単一サイトに配置された複数のコンピュータ若しくは複数サイトに分散されて通信ネットワークにより相互接続した複数のコンピュータで実行されるよう導入できる。
【０１０２】
図10は、本願技術の幾つかの実装例を実装できるシステム1000を概念的に示す。システム1000は、コンピュータ、電話、PDA、又は任意の他の種類の電子デバイスでよい。こうしたシステムは、様々な種類のコンピュータ可読媒体及び様々な他の種類のコンピュータ可読媒体のインターフェースを含む。システム1000は、バス1005、1つ又は複数の処理ユニット1010、システムメモリ1015、読出し専用メモリ1020、記憶装置1025、オプションの入力インターフェース1030、オプションの出力インターフェース1035、及びネットワークインターフェース1040を含む。
【０１０３】
バス105は、システム1000の多数の内部デバイスを通信可能に接続するすべてのシステムバス、周辺バス、及びチップセットバスを一括して表している。例えば、バス105は、1つ又は複数の処理ユニット1010を読出し専用メモリ1020、システムメモリ1015、及び記憶装置1025に通信可能に接続する。
【０１０４】
1つ又は複数の処理ユニット1010は、本発明の諸プロセスを実行するために、実行すべき命令と処理すべきデータとをこれら様々なメモリ装置から取り出す。この1つ又は複数の処理ユニットは、異なる実装例では、単一のプロセッサでもよいし単一のマルチコアプロセッサでもよい。
【０１０５】
読み出し専用メモリ(ROM) 1020は、1つ又は複数の処理ユニット1010及びシステム1000の他のモジュールが必要とする静的データ及び命令を格納する。一方、記憶装置1025は読み出し・書き込み記憶装置である。この装置は、システム1000がオフであっても命令やデータを格納しておく不揮発性メモリ装置である。本発明の幾つかの実装例は、記憶装置1025として大容量記憶装置(磁気又は光学ディスク及びその対応するディスクドライブなど)を使用する。
【０１０６】
他の実装例は、記憶装置1025として取り外し可能な記憶装置(フラッシュドライブ、フロッピー（登録商標）ディスク、及びその対応するディスクドライブなど)を使用する。記憶装置1025のように、システムメモリ1015も読み出し・書き込み記憶装置である。しかし、記憶装置1025とは異なり、システムメモリ1015は、ランダムアクセスメモリのような揮発性読み出し・書き込み記憶装置である。システムメモリ1015は、プロセッサがランタイムに必要とする命令及びデータの一部を格納する。幾つかの実装例では、本発明のプロセスは、システムメモリ1015、記憶装置1025、及び/又は読み出し専用メモリ1020に格納される。例えば、こうした様々なメモリ装置は、幾つかの実装例に従ってマルチメディアアイテムを処理するための命令を含む。1つ又は複数の処理ユニット1010は、幾つかの実装例のプロセスを実行するために、実行すべき命令と処理すべきデータとをこれら様々なメモリ装置から取り出す。
【０１０７】
バス105は、オプションの入力及び出力インターフェース1030及び1035にも接続している。オプションの入力インターフェース1030によって、ユーザは、システムに情報を伝達し且つコマンドを選択できる。オプションの入力インターフェース1030は、英数字キーボード及びポインティングデバイス(「カーソル制御デバイス」ともいう)と接続可能である。オプションの出力インターフェース1035は、システム1000により生成された画像を表示できる。オプションの出力インターフェース1035は、プリンター及びブラウン管(CRT)又は液晶表示装置(LCD)などの表示装置と接続可能である。幾つかの実装例は、入力デバイスとしても出力デバイスとしても機能するタッチスクリーンのようなデバイスと接続可能である。
【０１０８】
最後に、図10に示したように、バス105は、システム1000をネットワークアダプタ(図示しない)を介してネットワークインターフェース1040にも結合する。このすることで、このコンピュータは、複数コンピュータのネットワーク(例えばローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、インターネット、又はインターネットのような複数ネットワークの相互接続ネットワーク)の一部となりうる。システム1000の任意の又はすべての構成要素は本発明とともに使用できる。
【０１０９】
上述の機能は、デジタル電子回路、コンピュータソフトウェア、ファームウェア、又はハードウェアによって実現可能である。これら技法は、1つ又は複数のコンピュータプログラム製品を用いて実装できる。プログラマブルプロセッサ及びコンピュータをモバイルデバイスに含めたり、モバイルデバイスとして実装したりしてもよい。本願のプロセス及び論理フローは、１つ又は複数のプログラマブルプロセッサ又は1つ又は複数のプログラマブル論理回路により実行できる。汎用及び専用計算デバイス及び記憶装置は通信ネットワークを介して相互接続できる。
【０１１０】
幾つかの実装例は、マイクロプロセッサ、機械可読媒体又はコンピュータ可読媒体(コンピュータ可読記憶媒体、機械可読媒体、又は機械可読記憶媒体ともいう)にコンピュータプログラム命令格納する記憶装置及びメモリなどの電子構成要素を含む。こうしたコンピュータ可読媒体の例には、RAM、ROM、コンパクトディスク読出し専用記憶装置(CD-ROM)、書き込み可能なコンパクトディスク(CD-R)、書き換え可能なコンパクトディスク(CD-RW)、読み出しのみ可能なデジタルビデオディスク(例えば、 DVD-ROM、2層DVD-ROM)、様々な記録可能/書き換え可能DVD(DVD-RAM, DVD-RW, DVD+RWなど)、フラッシュメモリ(例えば、SDカード、ミニSDカード、マイクロSDカードなど)、磁気及び/又は固体はハードドライブ、読出し専用及び記録可能Blu-Ray(登録商標)ディスク、超高密度光ディスク、他の任意の光学又は磁気媒体、並びにフロッピー（登録商標）ディスクが含まれる。このコンピュータ可読媒体は、少なくとも1つの処理ユニットにより実行可能なコンピュータプログラムを格納でき、様々な動作を実行するための複数組の命令を含む。コンピュータプログラム又はコンピュータコードの例には、コンパイラにより生成される機械コードや、コンピュータ、電子構成要素、又はインタープリタを用いたマイクロプロセッサにより実行されるより高レベルのコードを含むファイルが含まれる。
【０１１１】
上述の説明は、主としてソフトウェアを実行するマイクロプロセッサ又はマルチコアプロセッサに関するものだが、幾つかの実装例は、特定用途向けIC(ASIC)又は利用者書き込み可能グリッドアレイ(FPGA)などの1つ又は複数の集積回路によって実行される。幾つかの実装例では、こうした集積回路は、その回路自身に格納された命令を実行する。
【０１１２】
本明細書及び本明細書の請求の範囲で使用される範囲では、「コンピュータ」、「サーバ」、「プロセッサ」、及び「メモリ」という用語は、電子装置又は他の技術装置をいう。これらの用語は、人又は人の集団を排除する。本明細書の目的では、表示装置又は表示手段という用語は電子装置での表示を意味する。本明細書及び本明細書の請求の範囲で使用される範囲では、「1つのコンピュータ可読媒体」及び「複数のコンピュータ可読媒体」という用語は、コンピュータにより可読の形式で情報を格納する有形の物理的物体に完全に限定される。これらの用語は、いかなる無線信号、有線ダウンロード信号、及び他の一過性信号を排除する。
【０１１３】
ユーザとのインタラクションを実現するため、本明細書に記載された主題の実装例は、情報をユーザに表示するための、例えば、CRT(ブラウン管)またはLCD(液晶表示装置)モニタなどの表示装置と、ユーザがコンピュータに入力を与えるのに使用するキーボードと、例えばマウスやトラックボールなどのポインティングデバイスとを備えたコンピュータで実装できる。他の種類のデバイスを使ってもユーザとインタラクションを実現できる。例えば、ユーザに与えられるフィードバックは、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックなどの任意形式の感覚フィードバックでよく、ユーザからの入力は、音響、音声、又は触覚入力を含む任意形式で受信できる。さらに、コンピュータは、例えば、ユーザのクライアント装置上のウェブブラウザから受信した要求に応答してウェブページをこのウェブブラウザに送るなど、ユーザが使用する装置との間で文書を送受信することでユーザとインタラクションできる。
【０１１４】
本明細書に記載された主題の構成は、データサーバなどのバックエンド構成要素を含んだ計算機システム、例えばアプリケーションサーバなどのミドルウェア構成要素を含んだ計算機システム、ユーザが本明細書に記載された主題の実装例とインタラクションする手段となるグラフィカル・ユーザインタフェース若しくはウェブブラウザを備えたクライアントコンピュータなどのフロントエンド構成要素を含む計算機システム、又は１つ又は複数のそうしたバックエンド、ミドルウェア、若しくはフロントエンド構成要素の任意組合せ含む計算機システムで実装できる。こうしたシステムの構成要素は、例えば通信ネットワークなどの任意形式又は媒体のデジタルデータ通信により相互接続できる。通信ネットワークの例には、ローカルエリアネットワーク（「LAN」）、広域ネットワーク（「WAN」）、相互接続ネットワーク(例えば、インターネット)、及びピアツーピアネットワーク(例えば、アドホック・ピアツーピアネットワーク)が含まれる。
【０１１５】
この計算機システムは、クライアントおよびサーバを含むことができる。クライアントとサーバは、概して互いから遠隔に位置し、典型的には通信ネットワークを介して相互作用する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行されかつ互いにクライアント・サーバ関係を備えたコンピュータプログラムによって実現される。幾つかの構成では、サーバは、データ(例えば、HTMLページ)をクライアント装置に送信する(例えば、データをクライアント装置とインタラクションするユーザに表示し、ユーザからユーザ入力を受け取るため)。クライアント装置で生成されるデータ(例えば、ユーザインタラクションの結果)は、クライアント装置からサーバで受信できる。
【０１１６】
開示したプロセスに含まれる段階の具体的な順番又は階層は、いずれも代表的なアプローチの例示であることは理解されている。設計上の優先度に基づいて、これらプロセスの具体的な順番又は階層を再編成したり、すべての例示的な段階が実行されることは理解されている。これら段階の幾つかは同時に実行してもよい。例えば、一定の状況では、多重タスク処理及び並列処理が有利となることがある。さらに、上述の構成における様々なシステム構成要素の分離は、すべての構成でそうした分離が必要であると理解すべきでなく、上述のプログラム構成要素及びシステムは、概して単一のソフトウェア製品に統合又は多数のソフトウェア製品に実装できることは理解すべきである。
【０１１７】
上記の説明は、当業者が、本明細書に記載された様々な側面を実施できるよう記載されたものである。これら側面の様々な修正は当業者には容易に明かとなるはずであり、本明細書に記載された一般的原理は他の側面にも適用できる。従って、本願請求項は、本明細書で示した側面に限定されることを意図したものでなく、記載された請求項と一致した最大限の範囲を与えられるべきものであり、単数形の要素の記載は、明言されていなければ「1つ且つ1つのみ」を意味することは意図されておらず、「1つ又は複数」を意味することが意図されている。「幾つか」という語句は、明示的にそうではないと記載されていなければ1つ又は複数を示す。男性代名詞(例えば、彼の)は、女性及び中性(例えば、彼女の及びその)を含み、その逆の場合も同じである。見出し及び小見出しが使用されている場合は、それらは便宜的に用いられたものであって、本発明を限定するものではない。
【０１１８】
「側面」のような語句は、こうした側面が本願技術に必須であり、本願技術のすべての構成に適用されることを意味しない。任意の側面に関する開示は、すべての構成、又は1つ若しくは複数の構成に適用されうる。一側面のような語句は1つ又は複数の側面を指すことがあり、その逆の場合も同じである。「構成」のような語句は、こうした構成が本願技術に必須であり、本願技術のすべての構成に適用されることを意味しない。任意の構成に関する開示は、すべての構成、又は1つ若しくは複数の構成に適用されうる。1つの構成のような語句は1つ又は複数の側面を指すことがあり、その逆の場合も同じである。
【０１１９】
「例」という語句は、本明細書では「実例又は例示となる」という意味で使用されている。本明細書で1つの「例」として記載された側面又は設計は、必ずしも他の側面又は設計よりも好まれる又は有利であると解釈されているわけではない。
【図１】
2015516095.tif 000003
【図２】
2015516095.tif 000004
【図３】
2015516095.tif 000005
【図４】
2015516095.tif 000006
【図５】
2015516095.tif 000007
【図６】
2015516095.tif 000008
【図７】
2015516095.tif 000009
【図８】
2015516095.tif 000010
【図９】
2015516095.tif 000011
【図１０】
2015516095.tif 000012
【国際調査報告】
2015516095.tif 000013
2015516095.tif 000014