(57)【要約】  ウェブトラフィックデータを収集および検証するための方法、装置、およびシステムであって、データサービスと関わるデバイスの活動を表す前処理されたログデータを受信することと、所定のフォーマットに従って前処理されたログデータを検証することと、当該フォーマットは所定のデータ型を示すフィールドと所定のデータ型に関連する所定の検証条件を示すフィールドとを含み、検証された前処理されたログデータに関連するメタデータを生成することとを含む、方法、装置、およびシステム。
2021519960.tif 000002
【特許請求の範囲】
【請求項１】
ウェブトラフィックデータを収集し、検証するためのシステムであって、
命令を記憶するメモリと、
データサービスと関わるデバイスの活動を表す前処理されたログデータを受信すること、
所定のフォーマットに従って前処理されたログデータを有効化することであって、当該フォーマットは、所定のデータ型を示すフィールドと、所定のデータ型に関連する所定の検証条件を示すフィールドとを備えること、及び
当該有効化された前処理されたログデータに関連するメタデータを生成すること、
のための命令を実行するように構成された少なくとも１つのプロセッサと、
を備えるシステム。
【請求項２】
前記少なくとも１つのプロセッサは、
ログデータを構文解析し、構文解析されたログデータが所定のデータフォーマットであるかどうかを判定することによって、ログデータを前処理すること、
構文解析されたログデータが所定のデータフォーマットであるとの判定に基づいて、所定のフォーマットに従って前処理されたログデータを検証すること、及び
構文解析されたログデータが所定のデータフォーマットではないとの判定に基づいて、前処理エラーを示すアラートデータを生成すること、
のための命令を実行するようにさらに構成されている
請求項１に記載のシステム。
【請求項３】
前記少なくとも１つのプロセッサは、
フォーマットを作成するためのフォーマット構成データを受信することに応じてフォーマットを作成することであって、当該フォーマットは第１のステータスを示すインジケータに関連付けられていること、
第１のステータスの識別に応じて、テスト環境内のフォーマットに従ってテストログデータを検証すること、
少なくとも１つのプロセッサがテストログデータをエラーで検証するという決定に基づいて、フォーマット作成エラーを示すアラートデータを生成すること、
少なくとも１つのプロセッサがエラーなしにテストログデータを検証するという決定に基づいて、第２のステータスを示すためにインジケータを更新すること、及び
当該第２のステータスの識別に応じて、実稼働環境におけるフォーマットに従って前処理されたログデータを検証すること、
のための命令を実行することによって、前記所定のフォーマットを生成するようにさらに構成されている
請求項１に記載のシステム。
【請求項４】
前記少なくとも１つのプロセッサは、
所定フォーマット更新用のフォーマット構成データを受信すること、
前記受信データに従って前記所定のフォーマットのフィールドを更新すること、及び
前記受信データに従って前記所定のフォーマットに関連するインジケータを更新することであって、当該インジケータは、前記第１のステータスまたは前記第２のステータスのうちの１つを示すこと、
のための命令を実行することによって、前記フォーマット構成データに従って前記所定のフォーマットを更新するようにさらに構成されている、
請求項３に記載のシステム。
【請求項５】
前記少なくとも１つのプロセッサは、
前処理されたログデータがデータ部分を有するかどうかを判定することであって、当該データ部分は所定のデータ型であり、データ部分の内容が所定の検証条件を満たすこと、
前処理したログデータがデータ部分を有しているとの判定に基づいて、前処理したログデータを有効と判定すること、及び
前処理したログデータがデータ部分を有していないとの判定に基づいて、検証エラーを示すアラートデータを生成すること、
のための命令を実行するようにさらに構成される、請求項３に記載のシステム。
【請求項６】
当該第１のステータスは、新しい作成されたフォーマットを示すドラフトステータス、レビュー中の作成されたフォーマットを示すレビューステータス、またはフォーマットが無効であることを示す旧式のステータスのうちの一つを含み、
当該第２のステータスはフォーマットが使用中であることを示すアクティブステータス、またはフォーマットが有効であるが推奨されていないことを示す非推奨ステータスのうちの一つを含む、
請求項３に記載のシステム。
【請求項７】
前記所定のフォーマットは、必須フィールドまたは任意選択フィールドのうちの少なくとも１つを含み、
必須フィールドに関連する所定の検証条件は、必須フィールドによって示される型のデータ部分を含むために前処理されたログデータを必要とし、
任意選択フィールドに関連する所定の検証条件は、任意選択フィールドによって示される型のデータ部分を含むために前処理されたログデータを必要としない、
請求項１に記載のシステム。
【請求項８】
前記所定の検証条件は、前記デバイスを使用して前記データサービスと関わる個人の活動に関連付けられている、
請求項１に記載のシステム。
【請求項９】
前記所定のデータ型は文字列型、整数型、実数型、またはブール型のうちの少なくとも１つを含み、
前記所定の検証条件は、前記データ部分が文字型の場合には非文字値を持たないデータ部分、前記データ部分が整数型の場合には非整数値を持たないデータ部分、前記データ部分が実数型の場合には非数値を持たないデータ部分、または前記データ部分がブール型の場合には非ブール値を持たないデータ部分、のうちの少なくとも１つを含む、
請求項１に記載のシステム。
【請求項１０】
前記データサービスは、ウェブサイトまたはモバイルアプリケーションサーバのうちの少なくとも１つを含み、
ログデータはデータサービスの統一資源識別子を含み、
前記所定のフォーマットはＪａｖａＳｃｒｉｐｔオブジェクト表記（ＪＳＯＮ）フォーマットを含む、
請求項１に記載のシステム。
【請求項１１】
前記メタデータは、検証された前処理ログデータの識別子、または前記メタデータを生成することを示す時刻の少なくとも１つを含む、
請求項１に記載のシステム。
【請求項１２】
ウェブトラフィックデータを収集し検証するためのコンピュータ実装方法であって
データサービスと関わるデバイスの活動を表す前処理されたログデータを受信すること、
所定のフォーマットに従って前処理されたログデータを検証することであって、当該フォーマットは、所定のデータ型を示すフィールドと、前記所定のデータ型に関連する所定の検証条件を示すフィールドとを含むこと、及び
検証された前処理されたログデータに関連するメタデータを生成すること、
を含むコンピュータ実装方法。
【請求項１３】
ログデータを構文解析し、構文解析されたログデータが所定のデータフォーマットであるかどうかを判定することによるログデータを前処理すること、
構文解析されたログデータが所定のデータフォーマットであるという判定に基づいて、所定のフォーマットに従って前処理されたログデータを検証すること、及び
構文解析されたログデータが所定のデータフォーマットではないという判定に基づいて、前処理エラーを示すためのアラートデータを生成すること
をさらに含む、請求項１２に記載のコンピュータ実装方法。
【請求項１４】
前記所定のフォーマットは、
当該フォーマットを作成するためのフォーマット構成データを受信することに応じてフォーマットを作成することであって、当該フォーマットは第１のステータスを示すインジケータに関連づけられていること、
当該第１のステータスの識別に応じてテスト環境内のフォーマットに従ってテストログデータを検証すること
当該テストログデータの検証でエラーが識別されないことの判定に基づいて、第２のステータスを示す標識を更新すること、及び
第２のステータスの識別に応じて、実稼働環境でのフォーマットに従って前処理されたログデータを検証すること、
によって決定される、請求項１２に記載のコンピュータ実装方法。
【請求項１５】
前記所定のフォーマットは、
所定のフォーマットを更新するためのフォーマット構成データを受信すること、
受信されたデータに従って所定のフォーマットのフィールドを更新すること、及び
受信されたデータに従って所定のフォーマットに関連付けられたインジケータを更新することであって、当該インジケータは、第１のステータスまたは第２のステータスのうちの１つを示すこと、
によって更新される、請求項１２に記載のコンピュータ実装方法。
【請求項１６】
前記所定のフォーマットに従って前記前処理されたログデータを検証することは、
前処理されたログデータがデータ部分を有するかどうか判定することであって、当該データ部分は所定のデータ型であり、当該データ部分の内容が所定の検証条件を満たすこと、
前処理したログデータが当該データ部分を有しているとの判定に基づいて、前処理したログデータを有効と判定すること、及び
前処理したログデータにデータ部分がないとの判定に基づいて、検証エラーを示すアラートデータを生成すること
をさらに含む、請求項１２に記載のコンピュータ実装方法。
【請求項１７】
前記所定の検証条件は、前記デバイスを使用して前記データサービスと関わる個人の活動に関連付けられている、
請求項１６に記載のコンピュータ実装方法。
【請求項１８】
前記所定のフォーマットは、必須フィールドまたは任意選択フィールドのうちの少なくとも１つを含み、
必須フィールドに関連した所定の検証条件は、必須フィールドによって示される型のデータ部分を含むために前処理されたログデータを必要とし、及び
任意選択フィールドに関連した所定の検証条件は、任意選択フィールドによって示される型のデータ部分を含むために前処理されたログデータを必要としない
請求項１２に記載のコンピュータ実装方法。
【請求項１９】
ウェブトラフィックデータを収集し検証するためのシステムであって、
命令を記憶するメモリと、
検証フォーマットを生成するためのフォーマット構成データの受信に応じて、第１のステータスを示すインジケータに関連付けられた検証フォーマットを生成し、当該検証フォーマットは、所定のデータ型を示すフィールドと、所定のデータ型に関連付けられた所定の検証条件を示すフィールドとを含むこと、
第１のステータスの識別に応じて、テスト環境内の検証フォーマットに従ってテストログデータを検証すること、
テストログデータの検証でエラーが識別されないという判定に基づいて、第２のステータスを示すためにインジケータを更新すること、
実稼働環境でデータサービスと関わるデバイスの活動を表すログデータを受信すること、
当該ログデータを構文解析し、構文解析されたログデータが検証フォーマットかどうかを判定することによって、ログデータを前処理すること、
解析されたログデータが検証フォーマットではないとの判定に基づいて、前処理エラーを示すアラートデータを生成すること、
解析されたログデータが検証フォーマットであるとの判定に基づいて、第２のステータスの識別に応じて、検証フォーマットに従って前処理されたログデータを検証すること、及び
検証された前処理されたログデータに関連付けられたメタデータを生成することであって、当該メタデータは、検証された前処理されたログデータの識別子またはメタデータの生成を示す時刻のうちの少なくとも１つを含むこと、
のための命令を実行するように構成された少なくとも１つのプロセッサと、
を備えるシステム。
【請求項２０】
前記検証フォーマットに従って前記前処理されたログデータを検証するように構成された前記少なくとも１つのプロセッサは、
前処理されたログデータがデータ部分を有するかどうか判定することであって、当該データ部分が所定のデータ型であり、当該データ部分の内容が所定の検証条件を満たすこと、及び
前処理したログデータがデータ部分を有しているとの判定に基づいて、前処理したログデータを有効と判定すること、及び
前処理したログデータにデータ部分がないとの判定に基づいて、検証エラーを示すアラートデータを生成すること、
のための命令を実行するようにさらに構成される、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般に、ウェブトラフィックデータの処理および管理に関する。特に、本開示の実施形態は、マルチユーザ環境においてデータサービスのウェブトラフィックデータをほぼリアルタイムに処理し管理するための、発明的で従来にないシステムに関する。
【背景技術】
【０００２】
データサイエンスは顧客の行動から生成された大量のデータから洞察を抽出し、ビジネスの意思決定を推進するために広く使用されてきた。例えば、電子商取引（「ｅコマース」）では商人がデータサイエンスを使用して顧客のオンライン活動を分析し、顧客の行動および好みを予測し、これにより、商人は調達、販売、在庫、輸送、配送、および業務プロセスにおける他の態様を戦略化することができる。顧客のオンライン活動の主なソースの１つは、デバイス（例えば、コンピュータまたはスマートフォン）を使用してウェブデータサービス（例えば、ウェブサイトまたは移動アプリケーション）を訪れる個人のログデータなどのウェブトラフィックデータである。多くの場合、ウェブトラフィックデータはデータサービスと関わる顧客を表す有益な情報を記録する文字の列（例えば、統一資源識別子または「ＵＲＩ」）として収集されてもよい。アナリストは、収集されたウェブトラフィックデータを使用して分析を実行することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ｗｅｂトラフィックデータの収集と分析のためのいくつかの既存のソリューションは、異なるフォーマットのログデータには適応できない。これらの解決策では、ログデータフォーマットの情報を得ていない変更が下流の分析において不正確さを引き起こす可能性がある。さらに、これらのソリューションは、様々な型と構造のログデータを収集するのに十分なカスタマイズができない。アナリストは、ログデータのフォーマットや内容が異なる必要がある場合や、ログデータのフォーマットや内容を無視する必要がある場合や使用しなくなる場合がある。しかしながら、それらの既存の解決策は、同一ログデータ中の重複情報を引き起こす可能性がある、そのような能力を欠いている。さらに、これらのソリューションでは、必要なフォーマットや必要なデータ型など、ログデータの正しさを検証できない場合がある。ログデータが破損している場合、これらのソリューションはログデータ・アナリストを検出し、通知することができない可能性がある。
【０００４】
したがって、ｗｅｂトラフィックデータの動的、カスタマイズ可能、ほぼリアルタイムの収集と検証が必要である。
【課題を解決するための手段】
【０００５】
本開示の一態様はウェブトラフィックデータを収集し検証するためのシステムを対象とする。システムは命令を記憶するメモリと、データサービスと関わるデバイスの活動を表す前処理されたログデータを受信すること、所定のフォーマットに従って前処理されたログデータを有効化すること、当該フォーマットは所定のデータ型を示すフィールドと所定のデータ型に関連する所定の検証条件を示すフィールドとを含み、有効化された前処理されたログデータに関連するメタデータを生成すること、のための命令を実行するように構成された少なくとも１つのプロセッサとを含む。
【０００６】
本開示の別の態様はウェブトラフィックデータを収集し検証するためのコンピュータ実装方法を対象とする。コンピュータ実施方法はログデータを解析することによってログデータを前処理し、解析されたログデータが所定のデータフォーマットにあるかどうかを決定することと、解析されたログデータが所定のデータフォーマットにあるとの決定に基づいて、所定のフォーマットに従って前処理されたログデータを検証することと、解析されたログデータが所定のデータフォーマットにないとの決定に基づいて、前処理エラーを示すためのアラートデータを生成することと、を含む。
【０００７】
本開示のさらに別の態様はウェブトラフィックデータを収集し検証するためのシステムを対象とする。システムは命令を格納するメモリと、検査フォーマットを生成するための構成データを受信することに応じて、第１のステータスを示すインジケータに関連する検証フォーマットを生成し、所定のデータ型を示すフィールドと、所定のデータ型に関連する所定の検証条件を示すフィールドとを備える検証フォーマットを生成し、第１のステータスを識別することに応じて、テスト環境において検証フォーマットに従って検査ログデータを検証することと、検査ログデータを検証する際にエラーが識別されないという判定に基づいて、第２のステータスを示すためにインジケータを更新することと、実稼働環境においてデータサービスと関わるデバイスの活動を表すログデータを受信することと、ログデータを構文解析し、構文解析されたログデータが検証フォーマットにあるかどうかを判定することによってログデータを事前処理することと、構文解析されたログデータが検証フォーマットにないという判定に基づいて、事前処理エラーを示すためのアラートデータを生成することと、構文解析されたログデータが存在するという判定に基づいて、構文解析されたログデータが存在するという判定に基づいて、命令を実行するように構成された少なくとも１つのプロセッサとを含む。検証フォーマットは第２のステータスの識別に応じて、検証フォーマットに従って前処理されたログデータを検証し、検証された前処理されたログデータに関連するメタデータを生成し、メタデータは、検証された前処理されたログデータの識別子、またはメタデータを生成することを示す時間のうちの少なくとも１つを含む。
【０００８】
他のシステム、方法、およびコンピュータ可読媒体も、本明細書で説明される。
【図面の簡単な説明】
【０００９】
【図１】図１は開示された実施形態と一致する、ウェブトラフィックデータを収集し、検証するためのシステムの例示的な実施形態を示す概略図である。
【図２】図２は、開示された実施形態と一致する、図１のシステムによって提供されるログフォーマットを構成するためのユーザインターフェースの例示的な図である。
【図３】図３は、開示された実施形態と一致する、図１のシステムで使用される例示的なコンピューティング装置の概略図である。
【図４】図４は開示された実施形態と一致する、ウェブトラフィックデータを収集し、検証するための例示的なプロセスのフローチャートである。
【図５】図５は、開示された実施形態と一致する、ログフォーマットを作成するための例示的なプロセスのフローチャートである。
【図６】図６は、開示された実施形態に一致する、開示された実施形態に一致する、ログフォーマットを更新するための例示的なプロセスのフローチャートである。
【図７】図７は開示された実施形態と一致する、ウェブトラフィックデータを収集し、検証するための例示的なプロセスのフローチャートである。
【図８】図８は開示された実施形態と一致する、ウェブトラフィックデータを収集し、検証するためのログフォーマットを作成し、更新し、使用するための例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【００１０】
以下の詳細な説明は、添付の図面を参照する。可能な限り、図面および以下の説明では、同一または類似の部分を参照するために、同一の参照番号が使用される。いくつかの例示的な実施形態が本明細書に記載されているが、修正、適応、および他の実施形態が可能である。例えば、置換、追加、または修正が図面に示された構成要素およびステップに行われてもよく、本明細書に記載された例示的な方法は、開示された方法にステップを置換、並べ替え、除去、または追加することによって修正されてもよい。したがって、以下の詳細な説明は、開示された実施形態および実施例に限定されない。むしろ、本発明の適切な範囲は、添付の特許請求の範囲によって定義される。
【００１１】
本開示の実施形態はウェブトラフィックデータを収集し、検証し、ルーティングするように構成されたシステム、装置、および方法を対象とする。本明細書で開示される実施形態によれば、システムはマルチユーザ環境において、ほぼリアルタイムの（例えば、平均待ち時間が約１秒である）ウェブトラフィックデータ収集、検証、およびルーティングを提供することができる。データサービスプロバイダのエンジニア、プロダクトオーナー、ビジネスアナリスト、またはデータ科学者はシステムと通信される様々なユーザデバイスを使用することによって、ウェブトラフィックデータを収集し、分析することができる。ウェブトラフィックデータは、カスタマイズされたフォーマットおよび構造で収集され、その後、分析に使用される前に検証されることが可能である。検証はデータの正確さを保証し、動的およびカスタマイズされたニーズを満たすことができる。
【００１２】
本明細書で開示される実施形態によれば、システムはユーザ（例えば、アナリスト）がウェブトラフィックデータ（例えば、ログデータ）を収集し、検証するための様々なフォーマット（または「スキーマ」と呼ばれる）を生成し、更新することを可能にすることができる。ある実施形態では、このようなフォーマットが異なるユーザニーズに応じて検索するために、システム（例えば、メタデータ記憶装置）に記憶することができる。ある実施形態では、システムがフォーマットを生成または更新するために、ユーザのためのユーザインタフェース（例えば、ウェブページ）をさらに提供してもよい。ユーザがユーザインタフェースで１つ以上のパラメータを入力または更新すると、システムは、それらのパラメータをフォーマットを表す特定のプログラムコードに自動的に変換することができる。プログラムコードはシステム（例えば、メタデータ記憶装置）に記憶されてもよい。いくつかの実施形態では、システムはユーザが特定のフォーマットを探し、問い合わせ、またはフィルタリングするための検索機能をさらに提供することができる。いくつかの実施形態では、システムがさらに、システムと通信している別のユーザデバイスによって作成されたフォーマットに加入するためのユーザデバイスのための加入機能を提供することができ、したがって、解析協調を支援するために様々なユーザ間で使用されるフォーマットの知見を同期させることができる。
【００１３】
いくつかの実施形態では、システムが試験環境および実稼働環境をさらに提供することができる。テスト環境と実稼働環境では、コンピュータのハードウェアとソフトウェアの構成が類似している場合がある。しかしながら、テスト環境は新しいフォーマットを開発しテストするために使用されてもよく、プロダクション環境はウェブトラフィックデータの実際の収集、処理、検証、およびルーティングのために使用されてもよい。
【００１４】
いくつかの実施形態では、システムが警告を生成し、検証が失敗したときなど、システムの動作中にエラーが発生したときにそれをユーザデバイスに送信することができる警告機能をさらに提供することができる。ある実施形態では、システムはさらに、ログデータの使用に関する測定量のレポートを生成し、それをユーザのグループのユーザデバイスに送信することができるレポート機能を提供することができる。
【００１５】
図１を参照すると、ウェブトラフィックデータを収集し、検証するためのシステムの例示的な実施形態を示す概略図が示されている。図１に示すように、システム１００は種々のシステムを含むことができ、これらのシステムの各々は、１つ以上のネットワークを介して互いに接続することができる。また、この装置は、例えば有線ネットワーク又は無線ネットワークを用いて、直接接続を介して互いに接続されてもよい。図示されたシステムは、ログデータコレクタ１０２、ログデータストリーマ１０４、ログデータバリデータ１０６、コントローラ１０８、およびログデータストレージ１１０を含む。ログデータコレクタ１０２、ログデータストリーマ１０４、ログデータバリデータ１０６、コントローラ１０８、およびログデータストレージ１１０のいずれも、計算装置、１つ以上の計算装置上で実行されるソフトウェアモジュール、またはエミュレートされた計算装置（例えば、仮想マシン）として実装されてもよい。エミュレートされたコンピュータ装置はハードウェア（例えば、プロセッサ、メモリ、記憶デバイス）とソフトウェア（例えば、ハードウェアを統合するオペレーティングシステム）の任意の組合せを含み得、これは物理コンピュータの機能性を提供し得る。いくつかの実施形態において、システム１００は、仮想プライベートクラウド（ＶＰＣ）内のサブシステムをホストしてもよい。
【００１６】
いくつかの実施形態では、システム１００のコンポーネント１０２〜１１０の任意の組み合わせは別個のコンピュータまたはコンピュータクラスタとして実装され得る。いくつかの実施形態では、コンポーネント１０２〜１１０の任意の組合せはコンピュータまたはコンピュータクラスタ上で実行されるソフトウェアモジュールとして実装され得る。いくつかの実施形態では、コンポーネント１０２〜１１０の任意の組合せを、エミュレートされたコンピューティング装置として実装することができる。いくつかの実施形態では、コンポーネント１０２〜１１０が任意の数のコンピュータ、ソフトウェアモジュール、およびエミュレートされたコンピューティング装置の任意の組合せとして実装され得る。いくつかの実施形態では、コンポーネント１０２〜１１０が異なる地理的領域に分散された相互接続されたコンピュータを含む分散コンピュータシステムとして実装されてもよい。
【００１７】
いくつかの実施形態において、ログデータコレクタ１０２はデータサービス（例えば、ウェブサイトまたはモバイルアプリケーションサーバ）と関わる（例えば、訪問する）デバイス（例えば、コンピュータまたはモバイルデバイス）の活動を表すログデータを受信するコンピュータシステムとして実現されてもよい。ログデータコレクタ１０２は、ログデータを独立して受信する複数のコンピュータシステムを含んでもよい。例えば、ログデータはモバイルアプリケーションサーバと関わる個人のモバイルデバイス（例えば、スマートフォンまたはタブレットコンピュータ）上のアプリケーションを介した購入活動を表すことができる。別の例では、ログデータがウェブサイトと関わる個人のコンピュータ上のブラウザを介したブラウジング活動を表すことができる。いくつかの実施形態において、ログデータはＩＰアドレス、デバイス識別子（例えば、ＭＡＣアドレスまたはＩＭＥＩ番号）、モバイルアプリケーションまたはブラウザのバージョン番号、モバイルアプリケーションまたはブラウザの名前、モバイルアプリケーションまたはブラウザの言語、モバイルデバイスまたはコンピュータのオペレーティングシステムの名前、オペレーティングシステムのバージョン番号、オペレーティングシステムの時刻、個人の場所、閲覧されたページの識別子（例えば、製品ページ）、閲覧されたアイテムの識別子（例えば、製品）、閲覧されたアイテムのベンダーの識別子（例えば、マーチャントの名前）、閲覧されたアイテムの価格、個人によって入力された検索語、検索結果におけるページのランク、顧客がページを閲覧するための期間、または、 項目、または顧客の行動を予測するのに役立つその他の有用な情報、といった活動を表す情報を記録するＵＲＩであってもよい。
【００１８】
ある実施形態では、ログデータコレクタ１０２がＨＴＴＰプロトコルを介してログデータを受信してもよい。いくつかの実施形態ではシステム１００のユーザデバイス（例えば、ユーザデバイス１１２）はログデータをログデータコレクタ１０２に入力するためのソフトウェアデベロップメントキット（ＳＤＫ）を提供してもよい。いくつかの実施形態において、ユーザデバイスはデスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス、ワークステーション、またはシステム１００のユーザ（例えば、データアナリストまたは開発者）から情報を入出力するインターフェースを提供する任意のコンピュータデバイスであってもよい。ＳＤＫはログデータコレクタ１０２の内部コンピュータデバイスによって受信される受信外部ログデータ（例えば、ウェブサイトまたはモバイルアプリケーションサーバから）をデシリアライズ、検証、または測定するためのインターフェースを提供することができる。いくつかの実施形態において、ＳＤＫはコントローラ１０８によって提供される仕様（例えば、ログフォーマット）を使用して、入ってくる外部ログデータをデシリアライズ、検証、または測定するためのインターフェースを提供してもよい。
【００１９】
ある実施形態では、ログデータストリーマ１０４がシステム１００のデータ・ストリームを管理するコンピュータシステムとして実現することができる。ログデータストリーマ１０４はログデータコレクタ１０２によって受信されたログデータをログデータバリデータ１０６に転送し、検証されたログデータ１０６を受信してログデータストレージ１１０に転送することができる。例えば、ログデータストリーマ１０４は、ルーティング・テーブルを使用して、ログデータを送受信するための宛先サーバのＩＰアドレスを維持することができる。いくつかの実施形態では、ログデータストリーマ１０４がシステム１００内のデータの入出力（Ｉ／Ｏ）レートを等化することができるデータ・バッファとしても働くことができる。例えば、ピーク時には、ウェブ・トラフィックが重くなり、ログデータ入力がバーストになることがある。ログデータストリーマ１０４はパフォーマンスをバランスさせるために、システム１００のＩ／Ｏレートを制御し、バランスさせることができる。
【００２０】
ある実施形態では、ログデータバリデータ１０６がログデータストリーマ１０４からログデータを受信し、コントローラ１０８によって提供されるログフォーマットに従ってログデータをバリデートするコンピュータシステムとして実現することができる。ログデータが検証されると、ログデータバリデータ１０６は、検証されたログデータをログデータストリーマ１０４に送り返すことができる。さもなければ、ログデータバリデータ１０６はシステム１００のユーザデバイス、例えば、ユーザデバイス１１２および１１４に対して、バリデーションエラーを表す警告を送ることができる。ある実施形態では、ログデータバリデータが大量のデータを並行して処理することができる。
【００２１】
いくつかの実施形態において、コントローラ１０８は作成または更新されたログフォーマットを受信して記憶し、ログデータコレクタ１０２およびログデータバリデータ１０６のためのログフォーマットを提供するコンピュータシステムとして実施することができる。いくつかの実施形態において、ログフォーマットは特定の目的のためにシステム１００のユーザによって要求されてもよい、ログデータの各データ型に対するデータ型および許可された内容を含むフォーマットであってもよい。例えば、ユーザデバイス１１４は、電子商取引ウェブサイトと関わる個人のカスタマ行動を分析するデータアナリストによって使用されてもよい。ユーザデバイス１１４は非人間によって（例えば、ウェブクローラコンピュータプログラムまたはハッカーソフトウェアによって）生成されたログデータを排除したいと望むデータ分析者によって使用されてもよい。データ分析者はユーザデバイス１１４を使用して、ログデータのデータ型および許可されたコンテンツが実際の人間によって生成される可能性が高いように、ログデータのデータ型ごとにデータ型および許可されたコンテンツを定義することができる。例えば、データ分析者は、ユーザデバイス１１４を使用して、ログデータが名前とブラウザーの版を含まなければならないという要求事項を入力することができる。ユーザデバイス１１４は制御装置１０８に記憶されたログフォーマットから、解析の必要性を満たすログフォーマットを検索し、見て、選択するためのインターフェースを提供することができる。ログデータフォーマットは、ユーザデバイス１１２を使用するなどして、システム１００のユーザによって作成されてもよい。ユーザデバイス１１２は後の使用のためにそれを記憶することができる制御装置１０８を作成し、送信するためのインターフェースを提供することができる。
【００２２】
ある実施形態では、ログフォーマットがＪａｖａＳｃｒｉｐｔオブジェクト表記法（ＪＳＯＮ）フォーマットなどの表記フォーマットとして実装されてもよい。フォーマットは、一つ以上のデータフィールドを含むか、または定義することができる。データフィールドは、データ型と、そのデータ型で許可されている内容を指定することができる。例えば、データ型は、文字列型、整数型、実数型、ブール型、またはコンピュータで読み取り可能な任意のデータ型である可能性がある。１ つ以上のデータフィールドには、異なるデータ型を含めることができる。許容コンテンツは解析要求に応じて設定されてもよいし、所定の選択肢に限定されてもよいし、制限されなくてもよい。例えば、データ型が文字列型の場合、表示できない文字が許されないことがある。別の例として、データ型が整数型または実数型である場合、許可される内容は数値の範囲に制限される可能性がある。いくつかの実施形態では、ログフォーマットにおけるデータ型の許可された内容がログデータコレクタ１０２およびログデータ検証器１０６によって使用されてもよい、データ型に関連する検証条件を構成するために使用されてもよい。いくつかの実施形態では、ログフォーマットが必須データフィールドおよび任意選択データフィールドを含むことができる。必須データフィールドは、ログフォーマットを作成するユーザによるログデータの検証に必要と指定されたデータフィールドを表す場合がある。オプションのデータフィールドは、ログフォーマットを作成するユーザによってオプションとして指定されたデータフィールドを表す場合がある。必須データフィールドは、ログデータの特定の分析に必要な場合がある。オプションのデータフィールドは必須ではない場合があるが、ログデータの特定の分析に役立つことがある。
【００２３】
ある実施形態では、ログデータコレクタ１０２がコントローラ１０８からログフォーマットを受信し、それを使用して受信したログデータをスクリーニングすることができる。例えば、ログフォーマットがＪＳＯＮである場合、ログデータを受信すると、ログデータコレクタ１０２は、ログデータを解析して、それがＪＳＯＮフォーマットであるか否かを判定することができる。解析されたログデータがＪＳＯＮフォーマットに適合する場合、解析されたログデータは受け入れられ、ログデータストリーマ１０４に転送されてもよい。そうしないと、解析されたログデータが破棄される可能性がある。いくつかの実施形態において、構文解析されたデータがＪＳＯＮフォーマットに準拠する場合、ログデータコレクタ１０２は構文解析されたログデータを受け入れる前に、さらに予備的検証を実行してもよい。ログデータコレクタ１０２は、解析されたログデータのいくつかのデータフィールドが予備検証条件を満たすかどうかを検出することができる。例えば、ログデータコレクタ１０２は解析されたログデータがＩＰアドレスを表すデータフィールドを含むか否か、含まれる場合には、そのデータフィールドの内容が有効なＩＰアドレス（例えば、ＩＰｖ４アドレス）を表すデータを含むか否かを判定することができる。その場合、解析されたログデータが受け入れられる可能性がある。そうしないと、解析されたログデータが破棄される可能性がある。ＩＰアドレス検証条件は、ｗｅｂトラフィックが人間であるかハッカーソフトウェアであるかを区別するために使用することができる。ウェブトラフィックがハッカーソフトウェアからのものである場合、パース・ログデータにＩＰアドレスを表すフィールドが含まれていないか、またはフィールドに有効なＩＰアドレスを表すコンテンツが含まれていない可能性がある。予備的な検証を実行することによって、ログデータコレクタ１０２は、アナリストによって必要とされるターゲットログデータをスクリーニングすることができる。いくつかの実施形態では、予備検証のプロセスが転送プロトコルとして標準化されてもよく、転送プロトコルに準拠するようにログデータコレクタ１０２の着信通信を要求することによって、予備検証が実行されてもよい。ある実施形態では受け入れられなかった解析済みログデータを破棄した後、ログデータコレクタ１０２は構文解析エラーを示す警告をシステム１００のユーザデバイスに送ることができる。
【００２４】
ある実施形態では、ログデータバリデータ１０６がコントローラ１０８からログフォーマットを受信し、それを使用して、ログデータストリーマ１０４から受信した解析済みログデータをバリデートすることができる。例えば、構文解析されたログデータはブラウザー名、ブラウザーバージョン、デバイスＩＤ、言語ロケール設定、またはログデータのような、異なるデータフィールドを含むことができ、あるいは、ログデータがブラウジング活動を表すことができる。ログデータバリデータ１０６は、ログフォーマットを使用して、解析されたデータがログフォーマットによって必要とされるデータ部分を有するか否かを決定することができる。たとえば、ログフォーマットにオペレーションシステムの型を示すフィールドが必要で、解析されたログデータにどの型のオペレーティングシステムでも表すデータ部分が含まれていない場合、解析されたログデータは検証されない。構文解析されたデータがログフォーマットによって要求されるすべてのデータ部分を有する場合、ログデータ検証器１０６は、データ部分の内容がすべて、ログフォーマットのそれぞれのデータ型に関連する検証条件を満たすか否かをさらに決定することができる。例えば、解析されたログデータがオペレーティング・システムの型を表すデータ部分を含み、検証条件がオペレーティングシステムの型がＡｎｄｒｏｉｄ（登録商標）またはｉＯＳ（登録商標）のいずれかでなければならないことである場合、データ部分がＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムの型を表すコンテンツを含む場合、解析されたログデータは検証されない。別の例として、解析されたログデータにクレジットカード番号を表すデータ部分が含まれ、検証条件がクレジットカード番号の型が整数である必要がある場合、データ部分にアルファベット文字が含まれていると、解析されたログデータは検証されない。検証条件の使用は、ログデータの分析者が特定の型のデータを選択することを可能にし得る。前の例ではアナリストがモバイルデバイスを使用する顧客のみに関心があり、コンピュータを使用するどの顧客にも関心がない場合があり、次いで、アナリストはログフォーマットの欄によって示されるオペレーティングシステムの種類がその目的を果たすためにＡｎｄｒｏｉｄ（登録商標）またはｉＯＳ（登録商標）のいずれかであることを必要とする検証条件を含むログフォーマットを作成することができる。
【００２５】
いくつかの実施形態では、ログデータストレージ１１０がログデータストリーマ１０４から検証済みログデータを受信し、格納するコンピュータシステムとして実装することができる。いくつかの実施形態において、ログデータストレージ１１０は、ファイル記憶サブシステム、オブジェクト記憶サブシステム、またはブロック記憶サブシステムのような、異なる記憶アーキテクチャを使用する１つ以上のサブシステムを含むことができる。ある実施形態では、ログデータストレージ１１０が１つ以上のデータベースまたはデータ・ウェアハウスを含むことができる。ログデータを分析する場合、ログデータは、ユーザデバイスのためにログデータストレージ１１０から検索可能であってもよい。
【００２６】
ある実施形態では、システム１００がシステム１００のユーザに、ログフォーマットを作成、更新、検索、表示、または選択するためのユーザインターフェースを提供してもよい。ユーザインターフェースは、ウェブベースの設定ページとして実装することができる。ユーザデバイスは設定ページにアクセスし、ユーザのためのウェブページとして表示することができる。例えば、ユーザデバイス１１２はログフォーマットの詳細を定義するためにシステム１００のユーザのための設定ページを表示することができ、制御装置１０８は、ユーザデバイス１１２から受信した入力を使用してフォーマットを表すコンピュータ読み取り可能な表記符号を生成することができる。
【００２７】
図２は、開示された実施形態と一致する、システム１００によって提供されるログフォーマットを構成するためのユーザインターフェース２００の例示的な図である。一例として、図２のユーザインタフェース２００は、新しいログフォーマットを作成するためのログ構成データを受信するために使用される。ユーザインターフェース２００はまた、既存のログフォーマットを更新するために使用されてもよい。ある実施形態では、新しいログフォーマットが別のログフォーマット（「親ログフォーマット」と呼ばれる）に基づいて作成されてもよい。たとえば、ユーザは親ログフォーマットを検索して更新し、新しいフォーマットとして保存できる。親ログフォーマットは、テンプレートログフォーマットにすることができる。
【００２８】
図２では、ユーザインターフェース２００がウェブベースの設定ページとして実装されてもよい。いくつかの実施形態では構成ページはユーザデバイス（例えば、ユーザデバイス１１２または１１４）によって表示されてもよく、ユーザインターフェース２００を介してユーザデバイスから受信された入力はログフォーマットを生成または更新するために制御装置１０８に送られてもよい。ユーザインターフェース２００の各行は、ログフォーマットのデータフィールドを表す。ログ構成データのパラメータは、行ごとに入力できる。列「名前」はデータフィールドの名前を定義する場所を示す。列「データ型」は整数、文字列、ブール値などのデータフィールドに関連付けられたデータ型をリストから選択する場所を示す。列「プラットフォーム」はこのデータフィールドが適用されるデバイスのオペレーティングシステムを指定するユーザの場所を示す。列「リク（Req）」がデータフィールドがログフォーマットで必須かオプションかをユーザが選択する場所を示す。例えば、この列のチェックボックスがチェックされている場合、データフィールドは必須である。それ以外の場合、データフィールドはオプションである。列「アブスト（Abst）」はデータフィールドをテンプレートとして指定するユーザの場所を示す。列”検証”が検証条件を定義するユーザの場所を示す。この列の一番上の選択リストがデータフィールドの内容の範囲を制限するために使用できる。例えば「なし（none）」は対応するデータフィールドを有効にするために任意の種類のコンテンツを使用することができるように構成するために使用されてもよい。別の例では「定数」を使用して、対応するデータフィールドを有効にするために受け入れられる唯一の値を構成することができる。別の例では「１つの」を使用して、所定の値リストから選択されたコンテンツのみを構成することができる。対応するデータフィールドを有効にするために、「１つの」を使用することができる。この列の下部の挿入ボックスを使用して、データフィールドに対して許可されるコンテンツを指定することができる。上部の選択リストが「なし」として選択されている場合、下部の挿入ボックスは空白のままにしておくことができる。上部の選択リストが「１つ」として選択されている場合、下部の挿入ボックスは第４行の「ａ、ｂ、ｃ、ｄ」のように所定の値リストを入力するために使用されてもよい。列「コメント」はユーザが簡単な説明またはデータフィールドに関連する情報を挿入するための場所を示す。
【００２９】
ある実施形態では、ユーザがすべての所望のパラメータをユーザインタフェース２００に入力すると、ユーザは新しく作成されたログフォーマットを保存することができ、システム１００は入力パラメータを使用して表記フォーマットファイル（例えば、ＪＳＯＮファイル）を生成することができる。いくつかの実施形態では、ユーザがユーザインターフェース２００で既存のログフォーマットを開き、任意のパラメータの任意の値を変更してから、ログフォーマットを更新してもよい。いくつかの実施形態において、ユーザは、ユーザインターフェース２００内の既存のログフォーマットを削除してもよい。
【００３０】
図３は、開示された実施形態と一致する、図１のシステムで使用される例示的なコンピューティング装置の概略図である。図３は、ネットワーク３１０に結合された４つのコンピュータ３０２Ａ〜３０２Ｄを示す。コンピュータ３０２Ａ〜３０２Ｄと同様の任意の数のコンピュータをシステム１００に含めることができることを理解されたい。図３は、２つのエミュレートされたコンピュータ３１２〜３１４も示している。エミュレートされるコンピュータ３１２〜３１４は、仮想マシンであってもよい。エミュレートされたコンピュータ３１２はコンピュータ３０２Ａおよび３０２Ｄの組合せを含み、物理的コンピュータの機能を提供する。エミュレートされたコンピュータ３１４はコンピュータ３０２Ｂおよび３０２Ｃの構成要素の組合せ、すなわちプロセッサ３０６Ｂ、メモリ３０８Ｂ、およびデータベース３０４Ｃを含み、物理コンピュータの機能を提供する。エミュレートされたコンピュータ３１２〜３１４のコンポーネントは、ネットワーク３１０を介して互いに結合することができる。いくつかの実施形態では、エミュレートされたコンピュータ３１２〜３１４のコンポーネントが含まれるコンポーネントの能力を追加、削除、置換、または調整するなど、動的に変更することができる。例えば、エミュレートされたコンピュータ３１４は、処理能力を高めるためにプロセッサ３０６Ｃを含むように動的に調整されることがある。例えば、エミュレートされたコンピュータ３１２は、システム１００における他のコンピュータのための余分な記憶スペースを提供するためにデータベース３０４Ａを除去するように動的に調整されてもよい。
【００３１】
いくつかの実施形態ではログデータコレクタ１０２、ログデータストリーマ１０４、ログデータバリデータ１０６、コントローラ１０８、およびログデータストレージ１１０はコンピュータ３０２Ａ〜３０２Ｄまたはエミュレートされたコンピュータ３１２〜３１４上で実行されるソフトウェアモジュール、コンピュータ３０２Ａ〜３０２Ｄなどの専用ハードウェア装置、またはエミュレートされたコンピュータ３１２〜３１４などの専用エミュレートされた装置の任意の数の組合せとして実装することができる。あいまいさを生じることなく説明を容易にするために、コンピュータ３０２Ａは特に断らない限り、コンピュータ３０２Ａ〜３０２Ｄの構成を説明するための例として使用される。
【００３２】
コンピュータ３０２Ａにはデータベース３０４Ａ、プロセッサ３０６Ａ、メモリ３０８Ａが含まれる。メモリ３０８Ａはプロセッサ３０６Ａによって実行可能な指示を記憶することができ、それによって、ウェブトラフィックデータを収集し、検証するためのプロセスまたは手順を実行する。データベース３０４Ａは、１つ以上のローカルまたは遠隔のコンピュータ又は分散コンピュータシステムに保存され、他のコンピュータにアクセス可能な構造化データの収集の任意の形態として実施することができる。
【００３３】
プロセッサ３０６Ａは、情報を操作または処理することができる汎用または特殊な電子デバイスであってもよい。例えば、プロセッサ３０６Ａは、任意の数の中央処理装置（または「ＣＰＵ」）、グラフィック処理ユニット（または「ＧＰＵ」）、光プロセッサ、プログラマブルロジックコントローラ、マイクロコントローラ、マイクロプロセッサ、デジタルシグナルプロセッサ、知的財産（ＩＰ）コア、プログラマブルロジックアレイ（ＰＬＡ）、プログラマブルアレイロジック（ＰＡＬ）、ジェネリックアレイロジック（ＧＡＬ）、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、システムオンチップ（ＳｏＣ）、特定用途向け集積回路（ＡＳＩＣ）、およびデータ処理が可能な任意の種類の回路の任意の組合せを含んでもよい。プロセッサ３０６Ａは複数のマシンに分散された１つ以上のプロセッサを含む仮想プロセッサであったり、ネットワーク（例えば、ネットワーク３１０）を介して連結されたデバイスであってもよい。
【００３４】
メモリ３０８Ａはプロセッサ３０６Ａによってアクセス可能なコード及びデータを記憶することができる一般的又は特定の電子デバイスであることができる（例えば、表示されていないバスを介して）。例えば、メモリ３０８Ａは、任意の数のランダムアクセスメモリ（ＲＡＭ）、読み取りのみのメモリ（ＲＯＭ）、光ディスク、磁気ディスク、ハードドライブ、ソリッドステートドライブ、フラッシュドライブ、セキュリティディジタル（ＳＤ）カード、メモリスティック、コンパクトフラッシュ（ＣＦ）カード、又は任意の種類の記憶デバイスの組合せを含むことができる。コードには、オペレーティング・システム（ＯＳ）と、特定のタスクのための１つ以上のアプリケーション・プログラム（または「アプリ」）が含まれる場合がある。メモリ３０８Ａはネットワーク（例えば、ネットワーク３１０）を介して連結される複数のマシン又はデバイスに配布される一つ又は複数のメモリを含む仮想記憶装置でもよい。
【００３５】
ネットワーク３１０は、１つまたは複数の公衆または私設通信ネットワークとすることができる。例えば、ネットワーク３１０はインターネット、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、首都圏ネットワーク（ＭＡＮ）、仮想プライベートネットワーク（ＶＰＮ）、ワイヤレスネットワーク（例えば、ＩＥＥＥ ８０２．１１ａ／ｂ／ｇ／ｎに準拠）、有線ネットワーク、有線回線、携帯データネットワーク、およびブルートゥース接続、赤外線接続、またはニアフィールド通信（ＮＦＣ）接続を利用したネットワークの任意の組合せを含むことができる。
【００３６】
本発明に従って実施される荷物収集および配送のためのルート計画の方法、装置、およびシステムは、以下のように図４〜図８に関連して詳細に説明される。図４〜図８ではプロセス４００、５００、６００、７００、および８００はコンピュータ３０２Ａ〜３０２Ｄまたはエミュレートされたコンピュータ３１２〜３１４などのコンピュータまたはエミュレートされたコンピュータ上で実行されるソフトウェアモジュールとして実装することができる。ソフトウェアモジュールは、コンピュータ読み取り可能な記憶媒体に記憶されたプログラムコードまたは命令を含んでもよい。プログラムコードまたは命令は、プロセッサによって読み取られて実行され、前述のプロセスを実装することができる。例えば、コンピュータで読み取り可能な記憶媒体はメモリ３０８Ａ−３０８Ｄのいずれかであってもよいし、プロセッサはプロセッサ３０６Ａ−３０６Ｄのいずれかであってもよい。いくつかの実施形態では、前述のプロセスがコンピュータ３０２Ａ〜３０２Ｄなどの別個のコンピューティング装置として実装することができる。いくつかの実施形態では、前述のプロセスがエミュレートされたコンピュータ３１２〜３１４などの別個のエミュレートされたコンピューティング装置として実施することができる。いくつかの実施形態では、前述のプロセスが前述のソフトウェアモジュール、コンピューティング装置、およびエミュレートされたコンピューティング装置の組合せとして実施することができる。
【００３７】
図４は開示された実施形態と一致する、ウェブトラフィックデータを収集し、検証するための例示的なプロセス４００のフローチャートである。プロセス４００は、プロセッサ３０２Ａ〜３０２Ｄの任意の組合せなど、少なくとも１つのプロセッサによって実行され得る。いくつかの実施形態において、ログデータバリデータ１０６の少なくとも１つのプロセッサは、プロセス４００を実行してもよい。
【００３８】
ステップ４０２で、少なくとも１つのプロセッサは、データサービスと関わるデバイスの活動を表す前処理されたログデータを受信する。ある実施形態では、データサービスがウェブサイトまたはモバイルアプリケーションサーバの少なくとも１つを含んでもよい。ある実施形態では、ログデータがデータサービスの一様資源識別子（「ＵＲＩ」）であってもよい。いくつかの実施形態では、活動がデバイスを使用してデータサービスと関わる個人の活動を含むことができる。
【００３９】
いくつかの実施形態ではステップ４０２の前に、ログデータコレクタ１０２は以下の動作でログデータを前処理することができる。少なくとも１つのプロセッサはログデータを解析し、解析されたログデータが所定のデータフォーマットであるかどうかを決定することによって、ログデータを前処理してもよい。いくつかの実施形態では、少なくとも１つのプロセッサがログデータを入力として取り込み、さらなる操作のためにログデータをデータの部分または断片に分割することができる。ある実施形態では、所定のデータフォーマットがログデータをキーと値（または属性と値）のペアとして構造化してもよい。いくつかの実施形態において、所定のデータフォーマットは、ＪＳＯＮフォーマットであってもよい。解析されたログデータが所定のデータフォーマットである場合、少なくとも１つのプロセッサは、所定のフォーマットに従って前処理されたログデータを検証してもよい。そうしないと、少なくとも１つのプロセッサが、前処理エラーを示すためのアラートデータを生成する可能性がある。いくつかの実施形態では、ログデータコレクタ１０２が前処理誤りを示す警告を生成するためにアラートデータを装置１００のユーザデバイス（例えば、図１のユーザデバイス１１２またはユーザデバイス１１４）に送ることができる。
【００４０】
ステップ４０４で、少なくとも１つのプロセッサは、所定のフォーマットに従って、前処理されたログデータを検証する。所定のフォーマットは、図１に関連する仕様に記載されているようなログフォーマットであってもよい。いくつかの実施形態では、フォーマットが所定のデータ型を示す第１のフィールドと、所定のデータ型に関連する所定の検証条件を示す第２のフィールドとを含むことができる。いくつかの実施形態では、第１のフィールドと第２のフィールドがキーと値（または属性と値）のペアとして表記フォーマットで格納されてもよい。いくつかの実施形態では、所定のフォーマットがＪＳＯＮフォーマットであってもよい。
【００４１】
いくつかの実施形態において、所定のデータ型は、任意の数の文字列型、整数型、実数型、またはブール型の任意の組み合わせを含み得る。いくつかの実施形態において、所定の検証条件は、任意の数の組み合わせを含むことができる：データ部分が文字列型であるときに非文字値を持たないデータ部分、データ部分が整数型であるときに非整数値を持たないデータ部分、データ部分が実数型であるときに非数値を持たないデータ部分、またはデータ部分がブール型であるときに非ブール値を持たないデータ部分。いくつかの実施形態では、所定の検証条件がデバイスを使用してデータサービスと関わる個人の活動に関連付けられてもよい。
【００４２】
いくつかの実施形態では、所定のフォーマットが必須フィールドまたは任意選択フィールドのうちの少なくとも１つを含むことができる。必須データフィールドは、ログデータの検証のために必要として指定されたデータフィールドを表す場合がある。オプションのデータフィールドは、ログデータの検証のためにオプションとして指定されたデータフィールドを表す場合がある。強制フィールドに関連付けられた所定の検証条件は、前処理されたログデータが強制フィールドによって示された型のデータ部分を含むことを要求することができる。任意選択フィールドに関連付けられた所定の検証条件は、前処理されたログデータが任意選択フィールドによって示される型のデータ部分を含むことを必要としない。
【００４３】
図４に戻って、ステップ４０６において、少なくとも１つのプロセッサは、検証された前処理されたログデータに関連するメタデータを生成する。いくつかの実施形態において、メタデータは、検証された前処理されたログデータの識別子の少なくとも１つ、またはメタデータを生成することを示す時刻を含んでもよい。いくつかの実施形態において、メタデータはデータサービスと関わるためにユーザによって使用されるデバイスのＩＰアドレス、ブラウザのユーザエージェントデータ、または対話の参照元の情報（例えば、データサービスを訪問すること）のうちの少なくとも１つをさらに含み得る。いくつかの実施形態において、このようなメタデータは、ＵＲＩのＨＴＴＰヘッダーから決定されてもよい。
【００４４】
ある実施形態ではメタデータが生成された後、少なくとも１つのプロセッサ（例えば、ログデータストリーマ１０４の少なくとも１つのプロセッサ）はメタデータおよび検証されたログデータを、ログデータストレージ１１０などの宛先記憶デバイスに送信してもよい。いくつかの実施形態では、少なくとも１つのプロセッサが（例えば、ルーティングポリシーをチェックすることによって）ルーティングルールに従って、記憶デバイスのネットワークアドレス（例えば、ＩＰアドレス）が存在するかどうかを決定してもよい。ある実施形態では、ルーティングポリシーがルーティングテーブルを含んでもよい。ある実施形態ではルーティングテーブルがログデータの型を分類することができ、ログデータのそれぞれの型は記憶デバイスの異なるネットワーク番地に関連付けることができる。ネットワークの住所が存在する場合、少なくとも１ つのプロセッサがメタデータと検証済みのログデータをネットワークの住所に送信できる。そうしないと、少なくとも１つのプロセッサが、ルーティングエラーを示すアラートデータを生成する可能性がある。いくつかの実施形態では、少なくとも１つのプロセッサが経路指定誤りを示す警告を生成するためにアラートデータを装置１００のユーザデバイス（例えば、図１のユーザデバイス１１２またはユーザデバイス１１４）に送ることができる。
【００４５】
いくつかの実施形態では、少なくとも１つのプロセッサが所定のフォーマットを作成するようにさらに構成され得る。図５は、開示された実施形態と一致する、所定のフォーマットを作成するための例示的なプロセス５００のフローチャートである。プロセス５００は、プロセッサ３０２Ａ〜３０２Ｄの任意の組合せなど、プロセス４００内の少なくとも１つのプロセッサによって実施することができる。いくつかの実施形態では、コントローラ１０８の少なくとも１つのプロセッサがプロセス５００を実行することができる。
【００４６】
ステップ５０２で、少なくとも１つのプロセッサは、フォーマットを作成するためのフォーマット構成データの受信に応じてフォーマットを作成する。いくつかの実施形態では、フォーマットが第１のステータスを示すインジケータに関連付けられてもよい。いくつかの実施形態では、フォーマットが図１に関連する仕様に記載されているようなログフォーマットであってもよい。いくつかの実施形態では、フォーマット構成データがログデータのアナリストによって入力されたパラメータに基づいて生成されてもよい。例えば、パラメータは図２に示すように、ユーザインタフェース２００を使用して入力することができる。いくつかの実施形態では、インジケータがフラグまたはパラメータなどのフォーマットのフィールドであってもよい。いくつかの実施形態では、第１のステータスがフォーマットが実稼働環境で使用される準備ができていないことを表すステータスとして設定されてもよい。いくつかの実施形態では、第１のステータスが新しく作成されたフォーマットを示すドラフトステータス、作成されたフォーマットがレビュー中であることを示すレビューステータス、またはフォーマットが無効であることを示す古いステータスのうちの１つを含むことができる。
【００４７】
いくつかの実施形態では、フォーマット構成データがシステム１００のユーザ（例えば、データ分析者）によってユーザデバイスインプットから受信されたフォーマット構成要件から生成されてもよい。例えば、ユーザがオンライン購買行動解析に焦点を当てたい場合、ユーザはユーザデバイス（例えば、ユーザデバイス１１４）を使用して、モバイルデバイスとモバイルアプリケーションサーバとの間の相互作用から来るウェブトラフィックデータのみを受け入れるというフォーマット構成要求を入力することができる。フォーマット設定要件では、ユーザがフォーマット構成データが生成される可能性があるデータ型とフィールドに、データ型、データフィールド、および制約を指定することができる。いくつかの実施形態では、少なくとも１つのプロセッサがヒューリスティックまたは統計に基づいて、可能なまたは可能性のあるフォーマット構成要件を推論し、それらの可能なまたは可能性のあるフォーマット構成要件をユーザに追加することを提案するように通知することができる。例えば、ユーザは、ソーシャルネットワークに基づく購買行動に焦点を当て、デスクトップコンピュータデバイスと電子商取引ウェブサイトとの間の相互作用から来るウェブトラフィックデータのみを受け入れるというフォーマット構成要求で、ユーザデバイスを介して指定することができる。ヒューリスティックまたは統計に基づいて、少なくとも１つのプロセッサは、デスクトップコンピュータデバイスと、電子商取引ウェブサイトが広告しているソーシャルネットワークウェブサイトとの間の対話から来るウェブトラフィックデータを追加することを提案することができる。
【００４８】
ステップ５０４において、少なくとも１つのプロセッサは、第１のステータスを識別する少なくとも１つのプロセッサに応じて、テスト環境におけるフォーマットに従ってテストログデータを検証する。いくつかの実施形態では、試験ログデータが試験目的のために使用される記憶されたデータであってもよい。試験ログデータは、以前に検証されたログデータから選択されてもよく、または試験ログフォーマットに従って生成されてもよい。いくつかの実施形態では、試験環境が開発および試験の目的のために、図１に示されるようなシステム１００の一部であってもよい。言い換えれば、試験環境は試験ログデータを入力として取ることができるシステム１００の計算資源の一部を使用することができ、試験ログデータを検証するが、実際の解析のために検証された試験ログデータを記憶しない。例えば、テスト環境はテスト目的のために指定されるか、さもなければ使用されるエミュレートされたコンピュータデバイス（例えば、エミュレートされたコンピュータ３１２または３１４）であってもよい。
【００４９】
ステップ５０６で、少なくとも１つのプロセッサがエラーでテストログデータを検証する場合、少なくとも１つのプロセッサは、フォーマット作成エラーを示すためのアラートデータを生成する。いくつかの実施形態では、少なくとも１つのプロセッサがシステム１００のユーザデバイス（例えば、図１のユーザデバイス１１２またはユーザデバイス１１４）に、フォーマット生成誤りを示す警告を生成するためにアラートデータを送信することができる。
【００５０】
ステップ５０８で、少なくとも１つのプロセッサがエラーなしにテストログデータを検証する場合、少なくとも１つのプロセッサは、インジケータを更新して、第２のステータスを示す。いくつかの実施形態では、第２のステータスがフォーマットが実稼働環境で使用される準備ができていることを表すステータスとして設定されてもよい。いくつかの実施形態において、第２のステータスは、フォーマットが使用されていることを示すアクティブ状態、またはフォーマットが有効であるが推奨されていないことを示す非推奨状態：のうちの１つを含むことができる。
【００５１】
いくつかの実施形態では、第１および第２のステータスがフォーマットを開発する段階に従って更新されてもよい。例えば、新たに作成した場合には試験対象となる「ドラフト」の状態に設定することができる。フォーマットが見直されている場合には（例えば、このフォーマットの作成を推進するデータアナリストが）、見直し中であることを示す「見直し中」の状態に設定することができる。フォーマットがデータアナリストの要件を満たさない場合には例えば、フォーマットを更新又は再作成することができ、その場合にはインジケータを「ドラフト」にリセットすることができる フォーマットが承認された場合（例えば、データ分析者によって）、インジケータはそれが実稼働環境で使用可能であることを示す「アクティブ」のステータスに設定されてもよく、フォーマットが古く、注意して使用されなければならない場合、インジケータは「非推奨」のステータスに設定されてもよい フォーマットもはや時代遅れではない場合（例えば、データ分析における要求の変化により）、インジケータは「再びアクティブ」の状態にリセットされてもよい。フォーマットもはや使用されない場合、インジケータは「時代遅れ」の状態にセットされてもよい。いくつかの実施形態ではインジケータの状態が変化するたびに、少なくとも１つのプロセッサ（例えば、コントローラ１０８の少なくとも１つのプロセッサ）はシステム１００のユーザ（例えば、データ分析者）に通知（例えば、電子メールを送信することにより）し、それにより、フォーマットの知識が同期されてもよい。
【００５２】
ステップ５１０において、少なくとも１つのプロセッサは、第２のステータスを識別する少なくとも１つのプロセッサに応じて、実稼働環境におけるフォーマットに従って、前処理されたログデータを検証する。ステップ５１０は、プロセス４００のステップ４０４と同様の方法で実施することができる。いくつかの実施形態では、実稼働環境が実際のログデータ収集および検証のために、図１に示すようなシステム１００の一部とすることができる。言い換えれば、実稼働環境はシステム１００のコンピューティング・リソースの一部を使用することができ、これは、実際のログデータを入力として取り、実際のログデータを検証し、検証された実際のログデータを実際の分析のために格納することができる。例えば、実稼働環境はエミュレートされたコンピュータデバイス（例えば、エミュレートされたコンピュータ３１２または３１４）であってもよい。いくつかの実施形態では実稼働環境のログデータが特定の形態（例えば、データウェアハウスフォーマット）に構造化されてもよく、追加のデータまたはメタデータ（例えば、セッションデータ）は分析のためのその使用を支援するために生成されてもよい。
【００５３】
ある実施形態では前処理されたログデータを検証するために、少なくとも１つのプロセッサは以下の動作を実行してもよい。少なくとも１つのプロセッサは前処理されたログデータが所定のデータ型のデータ部分を有し、データ部分の内容が所定の検証条件を満たすかどうかを決定してもよい。前処理されたログデータにデータ部分がある場合、少なくとも１ つのプロセッサが前処理されたログデータを検証済みと判定することがある。そわなければ、少なくとも１つのプロセッサは、検証エラーを示すためのアラートデータを生成することができる。いくつかの実施形態では、少なくとも１つのプロセッサが検証誤りを示す警告を生成するためにアラートデータを装置１００のユーザデバイス（例えば、図１のユーザデバイス１１２またはユーザデバイス１１４）に送ることができる。
【００５４】
いくつかの実施形態では、ログフォーマットが必須データフィールドと任意選択データフィールドを含んでもよいとき、少なくとも１つのプロセッサは前処理されたログデータが必須フィールドのデータ型であるデータ部分を有し、データ部分の内容が必須フィールドの検証条件を満たすかどうかをチェックしてもよい。前述の状態のいずれかが失敗した場合、少なくとも１つのプロセッサがログデータを検証されていないと判定する場合がある。
【００５５】
いくつかの実施形態では、少なくとも１つのプロセッサが所定のフォーマットを更新するようにさらに構成され得る。図６は、開示された実施形態と一致する、所定のフォーマットを更新するための例示的なプロセス６００のフローチャートである。プロセス６００は、プロセッサ３０２Ａ〜３０２Ｄの任意の組合せなど、プロセス４００内の少なくとも１つのプロセッサによって実施することができる。いくつかの実施形態では、コントローラ１０８の少なくとも１つのプロセッサがプロセス６００を実行することができる。
【００５６】
ステップ６０２で、少なくとも１つのプロセッサは、所定のフォーマットを更新するためのフォーマット構成データを受信する。ある実施形態では、フォーマット構成データがユーザデバイスから受信されたパラメータに基づいて生成されてもよい。例えば、パラメータは、データアナリストによって、図２に示されるようなユーザインターフェース２００を表示するユーザデバイス１１４にインプットされ得る。
【００５７】
ステップ６０４で、少なくとも１つのプロセッサは、受信したデータに従って所定のフォーマットのフィールドを更新する。例えば、少なくとも１つのプロセッサは、属性（またはキー）の少なくとも１つ、または所定のフォーマットの属性に対応する値を変更してもよい。
【００５８】
ステップ６０６で、少なくとも１つのプロセッサは、受信データに従って、所定のフォーマットに関連するインジケータを更新する。いくつかの実施形態では、インジケータがステップ５０４および５１０で説明したように、第１のステータスまたは第２のステータスのうちの１つを示すことができる。
【００５９】
図７は開示された実施形態と一致する、ウェブトラフィックデータを収集し、検証するための例示的なプロセス７００のフローチャートである。プロセス７００は、プロセッサ３０２Ａ〜３０２Ｄの任意の組合せなど、プロセス４００内の少なくとも１つのプロセッサによって実施することができる。ある実施形態ではログデータコレクタ１０２、ログデータストリーマ１０４、ログデータバリデータ１０６、コントローラ１０８、またはログデータストレージ１１０のうちの１つ以上のプロセッサのうちの少なくとも１つはプロセス７００を実行してもよい。
【００６０】
ステップ７０２で、少なくとも１つのプロセッサはデータサービス（例えば、ウェブサイトまたはモバイルアプリケーションサーバ）と関わるデバイス（例えば、コンピュータまたはモバイルデバイス）の活動を表すログデータを受信する。いくつかの実施形態において、ログデータはＵＲＩであってもよい。いくつかの実施形態において、ログデータコレクタ１０２の少なくとも１つのプロセッサは、ステップ７０２を実行してもよい。
【００６１】
ステップ７０４で、少なくとも１つのプロセッサがログデータを解析する。ステップ７０４は、ステップ４０２に関して上述したように実施することができる。いくつかの実施形態では、少なくとも１つのプロセッサがテキストパーサを使用して、ログデータを部分または断片に分割し、さらなる操作を行うことができる。いくつかの実施形態において、ログデータコレクタ１０２の少なくとも１つのプロセッサは、ステップ７０４を実行してもよい。
【００６２】
ステップ７０６において、少なくとも１つのプロセッサは、構文解析されたログデータが所定のデータフォーマットであるか否かを決定する。ステップ７０６は、ステップ４０２に関して上述したように実施することができる。ある実施形態では、所定のデータフォーマットがログデータをキーと値（または属性と値）のペアとして構造化してもよい。いくつかの実施形態において、所定のデータフォーマットは、ＪＳＯＮフォーマットであってもよい。ある実施形態ではログ・ストリーマ１０４の少なくとも１つのプロセッサがログデータコレクタ１０２によって受信されたログデータをログデータコレクタ１０８に転送することができ、そのうちの少なくとも１つのプロセッサはステップ７０６を実行することができる。構文解析されたログデータが所定のデータフォーマットである場合、処理７００はステップ７０８に進む。そわない場合、プロセス７００はステップ７２２に進む。
【００６３】
ステップ７０８で、少なくとも１つのプロセッサは、所定のフォーマットに従って、前処理されたログデータを検証する。ステップ７０８は、プロセス４００のステップ４０４と同様の方法で実施することができる。いくつかの実施形態において、ログデータバリデータ１０６の少なくとも１つのプロセッサは、ステップ７０８を実行してもよい。
【００６４】
ステップ７１０において、少なくとも１つのプロセッサは、ログデータが正常に検証されたか否かを判定する。いくつかの実施形態では、ログデータバリデータ１０６の少なくとも１つのプロセッサがステップ７１０を実行することができる。ログデータが正常に検証された場合、プロセス７００はステップ７１２に進む。そわない場合、プロセス７００はステップ７２２に進む。
【００６５】
ステップ７１２で、少なくとも１つのプロセッサは、検証されたログデータに関連するメタデータを生成する。ステップ７１２は、プロセス４００のステップ４０６と同様の方法で実施することができる。いくつかの実施形態において、ログデータバリデータ１０６の少なくとも１つのプロセッサは、ステップ７１２を実行してもよい。
【００６６】
ステップ７１４で、少なくとも１つのプロセッサはルーティングルールに従って（例えば、ルーティングテーブルをチェックすることによって）、ルーティング宛先（例えば、ログデータストレージ１１０）のネットワーク番地（例えば、ＩＰアドレス）を決定する。ステップ７１４は、ステップ４０６に関して上述したように実施することができる。いくつかの実施形態において、ログデータストリーマ１０６の少なくとも１つのプロセッサは、ステップ７１４を実行してもよい。
【００６７】
ステップ７１６で、少なくとも１つのプロセッサはルーティング宛先のネットワーク番地が存在し、ルーティング可能であるかどうかを決定する。いくつかの実施形態において、ログデータストリーマ１０６の少なくとも１つのプロセッサは、ステップ７１６を実行してもよい。ネットワーク番地が存在する場合には、処理７００はステップ７１８に移行する。そわない場合、プロセス７００はステップ７２２に進む。
【００６８】
ステップ７１８で、少なくとも１つのプロセッサは、メタデータおよび検証されたログデータをルーティング宛先に送信する。ステップ７１８は、ステップ４０６に関して上述したように実施することができる。例えば、少なくとも１つのプロセッサは、メタデータおよび検証されたログデータをログデータストレージ１１０のネットワーク番地に送ることができる。いくつかの実施形態では、ログデータストリーマ１０６の少なくとも１つのプロセッサがステップ７１８を実行することができる。
【００６９】
ステップ７２０において、少なくとも１つのプロセッサは、メタデータおよびログデータを記憶する。いくつかの実施形態において、ログデータストレージ１１０の少なくとも１つのプロセッサは、ステップ７２０を実行してもよい。
【００７０】
ステップ７２２で、少なくとも１つのプロセッサは、エラーを示すためのアラートデータを生成する。いくつかの実施形態において、少なくとも１つのプロセッサがステップ７０６において、解析されたログデータが所定のデータフォーマットではないと判定したとき、ログデータコレクタ１０２の少なくとも１つのプロセッサは、解析エラーを示すためのアラートデータを生成してもよい。ある実施形態では少なくとも１つのプロセッサがステップ７１０でログデータが検証されないと判定すると、ログデータ検証器１０６の少なくとも１つのプロセッサは検証エラーを示すためのアラートデータを生成してもよい。ある実施形態ではステップ７１６で、少なくとも１つのプロセッサがルーティング宛先のネットワーク番地が存在しない、またはルーティング可能でないと判定したとき、ログデータストリーマ１０４の少なくとも１つのプロセッサはルーティングエラーを示すためのアラートデータを生成してもよい。
【００７１】
ステップ７２４で、少なくとも１つのプロセッサはアラートデータを使用して警告を生成し、電子メールを送信するなどして、システム１００のユーザデバイス（例えば、図１のユーザデバイス１１２またはユーザデバイス１１４）に送信する。アラートデータを生成するデバイスによって、アラートを送信するデバイスやサブシステムが異なる。例えば、ログデータコレクタ１０２、ログデータストリーマ１０４、ログデータバリデータ・バリデータ１０６は、解析エラー、ルーティングエラー、およびバリデーションエラーをそれぞれ示すアラートをユーザデバイスに送ることができる。
【００７２】
図８は開示された実施形態と一致する、ウェブトラフィックデータを収集し、検証するためのログフォーマットを作成し、更新し、使用するための例示的なプロセスのフローチャートである。プロセス８００は、プロセッサ３０２Ａ〜３０２Ｄの任意の組合せなど、プロセス４００内の少なくとも１つのプロセッサによって実施することができる。ある実施形態ではログデータコレクタ１０２、ログデータストリーマ１０４、ログデータバリデータ１０６、コントローラ１０８、またはログデータストレージ１１０のうちの１つ以上のプロセッサのうちの少なくとも１つはプロセス８００を実行してもよい。
【００７３】
ステップ８０２で、少なくとも１つのプロセッサは、フォーマットを作成するためのフォーマット構成要件を受信する。いくつかの実施形態では、フォーマットが図１に関連する仕様に記載されているようなログフォーマットであってもよい。フォーマット構成要求事項はユーザ（例えば、ログデータ分析者）によってユーザデバイス１１４を使用して生成されてもよい。例えば、フォーマット構成要件は、データ分析で使用されるターゲットデータ型およびデータフィールドを記述するテキストファイルとして受信されてもよい。フォーマット構成要件は、必須および任意選択領域を指定することがある。いくつかの実施形態において、コントローラ１０８の少なくとも１つのプロセッサは、ステップ８０２を実行してもよい。
【００７４】
ステップ８０４で、少なくとも１つのプロセッサは、受信されたフォーマット構成要件に基づいてフォーマットを作成する。いくつかの実施形態において、ユーザデバイス１１２は図２に示されるようなユーザインターフェース２００を使用するなど、フォーマット構成要求に基づいてフォーマット構成データを生成するために、ユーザ（例えば、ログデータエンジニア）へのインターフェースを提供してもよい。フォーマット構成データに基づいて、少なくとも１つのプロセッサがフォーマットを作成する。いくつかの実施形態では、コントローラ１０８の少なくとも１つのプロセッサがステップ８０４を実行することができる。
【００７５】
ステップ８０６で、少なくとも１つのプロセッサは、作成されたフォーマットのレビューデータを受信する。いくつかの実施形態において、ユーザデバイス１１４はユーザにインターフェースを提供して、作成されたフォーマットをレビューして、フォーマット構成要求事項に適合するかどうかを決定し、レビューデータを生成することができる。レビューデータは例えば、コメント、リビジョン、更新された要求事項、又は作成されたフォーマットをレビューした後の任意の情報とすることができる。リビジョンが必要な場合、プロセス８００はステップ８０４に戻ることができ、ここで、少なくとも１つのプロセッサは、レビューデータに基づいてフォーマットを更新または再作成する。いくつかの実施形態では、コントローラ１０８の少なくとも１つのプロセッサがステップ８０６を実行することができる。
【００７６】
ステップ８０８で、少なくとも１つのプロセッサは、テスト環境におけるフォーマットに従ってテストログデータを検証する。ステップ８０８は、ステップ５０４と同様の方法で実施することができる。いくつかの実施形態では、コントローラ１０８の少なくとも１つのプロセッサがステップ８０８を実行することができる。テストログデータがエラーで検証される場合、少なくとも１つのプロセッサはアラートデータを生成することができ、プロセス８００は、フォーマットを更新または再作成するためにステップ８０４に戻ることができる。
【００７７】
ステップ８１０で、少なくとも１つのプロセッサがエラーなしにテストログデータを検証する場合、少なくとも１つのプロセッサはフォーマットが実稼働環境で使用可能であることを示すために、フォーマットに関連するインジケータを更新する。つまり、作成されたフォーマットは、使用するためのフォーマット構成要件に準拠している。いくつかの実施形態では、少なくとも１つのプロセッサがユーザデバイス１１２から命令を受信した後に標識をアップデートすることができる。いくつかの実施形態では、コントローラ１０８の少なくとも１つのプロセッサがステップ８１０を実行することができる。
【００７８】
ステップ８１２で、少なくとも１つのプロセッサは、実稼働環境でログデータを受信する。いくつかの実施形態において、ログデータコレクタ１０２の少なくとも１つのプロセッサは、ステップ８１２を実行してもよい。いくつかの実施形態において、ユーザデバイス（例えば、ユーザデバイス１１２または１１４）は、ログデータコレクタ１０２によって受信される受信ログデータを逆シリアル化、検証、または測定するためにＳＤＫを使用するためのユーザへのインターフェースを提供してもよい。ある実施形態では、ＳＤＫがコントローラ１０８によって提供される仕様（例えば、ログフォーマット）を使用して、受信ログデータを逆シリアル化、検証、または測定するためのインターフェースを提供してもよい。いくつかの実施形態では、少なくとも１つのプロセッサがログデータを解析し、解析されたログデータが作成されたフォーマットであるかどうかを決定することによって、ログデータを前処理してもよい。
【００７９】
ステップ８１４で、少なくとも１つのプロセッサは、実稼働環境で作成されたフォーマットに従って、受信したログデータを検証する。ステップ８１４は、ステップ４０４と同様の方法で実施することができる。いくつかの実施形態では、ログデータバリデータ１０６の少なくとも１つのプロセッサがステップ８１４を実行することができる。
【００８０】
ステップ８１６で、少なくとも１つのプロセッサは将来の分析のために、検証されたログデータを記憶する。いくつかの実施形態において、少なくとも１つのプロセッサは、検証されたログデータをログデータストレージ１１０に記憶してもよい。いくつかの実施形態では、ログデータストレージ１１０の少なくとも１つのプロセッサがステップ８１６を実行することができる。いくつかの実施形態において、ユーザデバイス１１４はユーザに、検証されたログデータをログデータストレージ１１０から取り出して解析を実行するためのインターフェースを提供してもよい。
【００８１】
いくつかの実施形態では、処理８００において、システム１００のユーザデバイス（例えば、ユーザデバイス１１２およびユーザデバイス１１４）はユーザが作成されたフォーマットの通知に加入してフォーマットの発展の更新を受信するための手段（例えば、電子メールリストに参加すること）を提供してもよい。例えば、ユーザデバイス１１２は少なくとも１つのプロセッサがユーザデバイス１１４からフォーマット構成要求を受信したときに、通知（例えば、電子メール）を受信してもよい。ユーザデバイス１１４は書式構成要求事項に従って書式が作成されたときに通知を受け取り、審査を始めることができる。ユーザデバイス１１２はユーザデバイス１１４がレビューを終了し、少なくとも１つのプロセッサがレビューデータを受信したときに、通知を受信し、作成されたフォーマットを更新するか、または試験に進むことを決定してもよい。フォーマットがテストに合格し、実稼働環境で使用可能になると、システム１００のすべてのユーザデバイスは通知を受信し、その後、新しく利用可能なフォーマットを一覧表示し、閲覧し、検索することができる。
【００８２】
本開示はその特定の実施形態を参照して示され、説明されてきたが、本開示は修正なしに、他の環境において実施され得ることが理解されるのであろう。前述の説明は、例示の目的で提示されている。これは、網羅的ではなく、開示された正確な形態または実施形態に限定されない。当業者には、開示された実施形態の明細書および実施を考慮することによって、修正および適合が明らかになるのであろう。さらに、開示された実施形態の態様はメモリに記憶されるものとして記載されているが、当業者はこれらの態様が二次記憶デバイス、例えば、ハードディスクまたはCD ROM、または他の形態のＲＡＭまたはＲＯＭ、ＵＳＢ媒体、ＤＶＤ、ブルーレイ、または他の光学駆動媒体などの他の型のコンピュータ可読媒体に記憶されてもよいことを理解するのであろう。
【００８３】
記載された説明および開示された方法に基づくコンピュータプログラムは、熟練した開発者の技術の範囲内である。様々なプログラムまたはプログラムモジュールは当業者に知られている技法のいずれかを使用して作成することができ、または既存のソフトウェアに関連して設計することができる。例えば、プログラム・セクションまたはプログラムモジュールは、.Ｎｅｔ Ｆｒａｍｅｗｏｒｋ、.Ｎｅｔ Compact Framework (およびVisual Basic、Ｃ などの関連言語）、Ｊａｖａ、Ｃ＋＋、Ｏｂｊｅｃｔｉｖｅ−Ｃ、ＨＴＭＬ、ＨＴＭＬ／ＡＪＡＸ の組み合わせ、ＸＭＬ、またはＪａｖａ アプレットを含むＨＴＭＬの中で、またはその手段によって設計することができる。
【００８４】
さらに、例示的な実施形態が本明細書で説明されてきたが、本開示に基づいて当業者によって理解されるように、同等の要素、修正、省略、組み合わせ（例えば、様々な実施形態にわたる態様の）、適応、および／または変更を有する任意のおよびすべての実施形態の範囲。クレームにおける限定はクレームにおいて使用される言語に広く基づいて解釈されるべきであり、本明細書に記載された例又は出願の遂行中に限定されるものではない。実施例は、非排他的であると解釈されるべきである。さらに、開示された方法のステップは、ステップを並べ替えること、および／またはステップを挿入または削除することを含む、任意の方法で修正されてもよい。したがって、本明細書および実施例は単に例示的なものとみなされ、真の範囲および精神は以下の特許請求の範囲およびそれらの均等物の全範囲によって示されることが意図される。
【図１】
2021519960.tif 000003
【図２】
2021519960.tif 000004
【図３】
2021519960.tif 000005
【図４】
2021519960.tif 000006
【図５】
2021519960.tif 000007
【図６】
2021519960.tif 000008
【図７】
2021519960.tif 000009
【図８】
2021519960.tif 000010
【国際調査報告】
2021519960.tif 000011
2021519960.tif 000012