(57)【要約】      （修正有）【課題】到着するデータのバッチおよび／またはストリームに関連するデータ属性を識別し、それをユーザが利用できるデータ処理プラットフォームを提供する。【解決手段】デバイスは、データソースからデータを受信し（４１０）、受信されたデータに含まれる属性を識別する（４２０）。次に属性のうちデータモジュールにより使用される少なくとも１つの属性の選択を可能にするユーザインターフェースをユーザデバイスに提供する（４３０）。更にデータモジュールを識別する情報をユーザデバイスから受信し（４４０）、デバイスにより実装されるデータ処理パイプラインにより使用されるデータモジュールをアクティブ化して（４５０）、データ処理パイプラインおよびデータモジュールを使用して到着データに対してアクションを実行する（４６０）。【選択図】図４
2019197533.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のメモリデバイスと、
前記１つ以上のメモリデバイスに通信接続された１つ以上のプロセッサと、
を含むデバイスであって、前記１つ以上のプロセッサは、
ネットワークデータソースからネットワークデータを受信することと、
前記受信されたデータに含まれる属性を識別することと、
ユーザインターフェースであって、
更新されたデータモジュールを作成するために、前記属性のうちの少なくとも１つの属性の選択および／または変更をユーザインターフェース要素の１つ以上との相互作用により可能にする前記ユーザインターフェース要素を提供する、前記ユーザインターフェース
を、ユーザデバイスに提供することと、
前記更新されたデータモジュールであって、
前記少なくとも１つの属性を処理するように構成され、
データ処理パイプラインにより実行される関数を定義する、
前記更新されたデータモジュールを識別する情報を、前記ユーザデバイスから受信することと、
前記更新されたデータモジュールをキューに格納することと、
更新されたデータモジュールを探して前記キューを定期的に検索することと、
更新されたデータモジュールを、前記更新されたデータモジュールが前記キューに格納されていることに応答して、前記デバイスにより実装される前記データ処理パイプラインによる使用のためにアクティブ化することと、
前記データ処理パイプラインおよび前記更新されたデータモジュールを使用して、到着データに対してアクションを実行することと、
をする、デバイス。
【請求項２】
前記受信されたデータは、テキストの文字列を少なくとも１つ含む、請求項１に記載のデバイス。
【請求項３】
前記データソースは、ストリーミングデータのソースであり、
前記受信されたデータは、前記デバイスにストリーミングされる、請求項１に記載のデバイス。
【請求項４】
前記データソースは、バッチデータのソースであり、
前記受信されたデータは、データのバッチとして受信され、
前記データのバッチは、複数のデータレコードを含む、請求項１に記載のデバイス。
【請求項５】
前記１つ以上のプロセッサは、前記受信されたデータに含まれる前記属性を識別するとき、
前記受信されたデータに含まれる前記属性を、以前に前記データソースによって前記デバイスに提供された情報に基づいて識別する、請求項１に記載のデバイス。
【請求項６】
前記１つ以上のプロセッサは、前記受信されたデータに含まれる前記属性を識別するとき、
前記受信されたデータに含まれる前記属性を、前記受信されたデータに含まれるメタデータに基づいて識別する、請求項１に記載のデバイス。
【請求項７】
前記１つ以上のプロセッサは、前記受信されたデータに含まれる前記属性を識別するとき、
前記受信されたデータに含まれる前記属性を、前記受信されたデータに対して実行される解析の結果に基づいて識別する、請求項１に記載のデバイス。
【請求項８】
前記１つ以上のプロセッサはさらに、
前記属性のうちの１つを、前記データモジュールが前記属性のうちの前記１つを処理するように構成されていることに基づいて、前記データモジュールにマッピングする、請求項１に記載のデバイス。
【請求項９】
命令を格納する非一時的コンピュータ可読媒体であって、前記命令は、
１つ以上のプロセッサによって実行されると前記１つ以上のプロセッサに、
ユーザインターフェースであって、
前記１つ以上のプロセッサに提供されたデータに含まれるものとして以前に識別された少なくとも１つの属性の選択をユーザインターフェース要素の１つ以上との相互作用により可能にする前記ユーザインターフェース要素を提供する、前記ユーザインターフェース
をユーザデバイスに提供することと、
データモジュールであって、
前記少なくとも１つの属性の中の属性を含み、
データ処理パイプラインにより実行される関数を定義する、
前記データモジュールを識別する情報を、前記ユーザデバイスから受信することと、
前記１つ以上のプロセッサにより実装される前記データ処理パイプラインによる使用のために前記データモジュールをアクティブ化することと、
前記データ処理パイプラインおよび前記データモジュールを使用して、到着データに対してアクションを実行することと、
をさせる１つ以上の命令を含む、非一時的コンピュータ可読媒体。
【請求項１０】
前記ユーザインターフェースはさらに、
前記データ処理パイプラインにより実行される１つ以上の関数、
前記属性に関連する１つ以上の条件、
前記１つ以上の関数の実行に関連する１つ以上の時間ウィンドウ、
前記属性に関連する１つ以上のグループ化、または
前記属性に関連する１つ以上のセグメント
のうちの少なくとも１つの選択を可能にする、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１１】
前記データモジュールはさらに、
前記関数に関連する１つ以上の条件、
前記関数に関連する１つ以上の時間ウィンドウ、
前記関数に関連する１つ以上のグループ化、または
前記関数に関連する１つ以上のセグメント
のうちの１つ以上を定義する、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１２】
前記１つ以上のプロセッサに前記アクションを実行させる前記１つ以上の命令は、前記１つ以上のプロセッサに、
１つ以上のキーパフォーマンス指標を識別すること
をさせる、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記１つ以上の命令はさらに、前記１つ以上のプロセッサに、
前記１つ以上のキーパフォーマンス指標の視覚的表現を提供すること
をさせる、請求項１２に記載の非一時的コンピュータ可読媒体。
【請求項１４】
前記１つ以上の命令は、前記１つ以上のプロセッサにより実行されると、前記１つ以上のプロセッサにさらに、
前記データモジュールが有効かどうかを判断するために前記データモジュールの構文を評価することと、
前記データモジュールが有効かどうかを示す通知を前記ユーザデバイスに提供することと、
をさせる、請求項９に記載の非一時的コンピュータ可読媒体。
【請求項１５】
デバイスによってユーザデバイスにユーザインターフェースを提供するステップであって、
前記ユーザインターフェースは、
前記デバイスに提供されたデータに含まれるものとして以前に識別された少なくとも１つの属性、および
データ処理パイプラインにより実行される少なくとも１つの関数
の選択を可能にする、前記提供するステップと、
データモジュールを識別する情報を、前記デバイスによって前記ユーザデバイスから受信するステップであって、前記データモジュールは、
前記少なくとも１つの関数の中の関数、および
前記少なくとも１つの属性の中の属性
を含む、前記受信するステップと、
前記デバイスにより実装される前記データ処理パイプラインによる使用のために前記データモジュールを前記デバイスによってアクティブ化するステップと、
前記データモジュールに基づくアクションを実行するステップと、
を含む方法。
【請求項１６】
前記アクションを実行するステップは、
前記デバイスにより受信されたデータを、前記データモジュールに基づいてマッピングするステップ
を含み、
前記データは、前記属性を含む、請求項１５に記載の方法。
【請求項１７】
前記アクションを実行するステップは、
前記デバイスにより受信されたデータに対して前記データモジュールを実行するステップ
を含む、請求項１５に記載の方法。
【請求項１８】
前記データモジュールを実行するステップは、
前記デバイスにより受信された前記データに対して前記データモジュールに含まれる前記関数を実行するステップ
を含む、請求項１６に記載の方法。
【請求項１９】
前記アクションを実行するステップは、
出力データであって、
前記データモジュールの実行に基づき、且つ
前記データモジュールにより指定される、
前記出力データを、別個のデバイスに提供するステップ
を含み、
前記別個のデバイスは、前記データモジュールにより指定される、請求項１５に記載の方法。
【請求項２０】
前記ユーザインターフェースから受信された入力に基づいて前記データモジュールを非アクティブ化するステップ
をさらに含む、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全般的に、データ処理システムのデータモジュール管理に関する。
【背景技術】
【０００２】
ストリーム処理は、データが発生しまたは受信されるときにデータを処理するコンピュータプログラミングのパラダイムである。ストリーム処理は、場合によっては大量のデータが、準リアルタイムで（例えば解析ツールにより）処理されることを可能にする。バッチ処理は、時間をかけて収集されたものでもよいデータを処理することを伴い、処理するのに長時間かかる可能性がある、且つ／または準リアルタイムで処理される必要のない、非常に大量のデータを処理するために（例えば解析ツールにより）使用され得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
データ処理システムは、それらがデータのストリームおよび／またはバッチで受信したデータを処理するかどうかにかかわらず、様々な関数の実行を可能にする。データ処理システムは、様々な有用な関数を実行できるが、使用可能な属性を生データから取得すること、およびデータ処理システムにより実行される関数を設計、構成、およびアクティブ化することに多大な人的リソースおよびコンピューティングリソースが使用され得る。
【課題を解決するための手段】
【０００４】
一部の実装によれば、デバイスは、１つ以上のメモリデバイスと、１つ以上のメモリデバイスに通信接続された１つ以上のプロセッサと、を含んでもよく、１つ以上のプロセッサは、データソースからデータを受信することと、受信されたデータに含まれる属性を識別することと、ユーザインターフェースであって、属性のうちデータモジュールにより使用される少なくとも１つの属性の選択をユーザインターフェース要素の１つ以上との相互作用により可能にするユーザインターフェース要素を提供する、ユーザインターフェースを、ユーザデバイスに提供することと、データモジュールであって、少なくとも１つの属性を処理するように構成され、データ処理パイプラインにより実行される関数を定義する、データモジュールを識別する情報を、ユーザデバイスから受信することと、デバイスにより実装されるデータ処理パイプラインによる使用のためにデータモジュールをアクティブ化することと、データ処理パイプラインおよびデータモジュールを使用して、到着データに対してアクションを実行することと、をする。
【０００５】
一部の実装によれば、デバイスは、１つ以上のメモリデバイスと、１つ以上のメモリデバイスに通信接続された１つ以上のプロセッサと、を含んでもよく、１つ以上のプロセッサは、ネットワークデータソースからネットワークデータを受信することと、受信されたデータに含まれる属性を識別することと、ユーザインターフェースであって、更新されたデータモジュールを作成するために、属性のうちの少なくとも１つの属性の選択および／または変更をユーザインターフェース要素の１つ以上との相互作用により可能にするユーザインターフェース要素を提供する、ユーザインターフェースを、ユーザデバイスに提供することと、更新されたデータモジュールであって、少なくとも１つの属性を処理するように構成され、データ処理パイプラインにより実行される関数を定義する、更新されたデータモジュールを識別する情報を、ユーザデバイスから受信することと、更新されたデータモジュールをキューに格納することと、更新されたデータモジュールを探してキューを定期的に検索することと、更新されたデータモジュールを、更新されたデータモジュールがキューに格納されていることに応答して、デバイスにより実装されるデータ処理パイプラインによる使用のためにアクティブ化することと、データ処理パイプラインおよび更新されたデータモジュールを使用して、到着データに対してアクションを実行することと、をする。
【０００６】
上記のデバイスの実装において、受信されたデータは、テキストの文字列を少なくとも１つ含んでもよい。
【０００７】
さらに、上記のデバイスの実装において、データソースは、ストリーミングデータのソースであってもよく、受信されたデータは、デバイスにストリーミングされてもよい。
【０００８】
上記のデバイスの実装において、データソースは、バッチデータのソースであってもよく、受信されたデータは、データのバッチとして受信されてもよく、データのバッチは、複数のデータレコードを含む。
【０００９】
さらに、上記のデバイスの実装において、１つ以上のプロセッサは、受信されたデータに含まれる属性を識別するとき、受信されたデータに含まれる属性を、以前にデータソースによってデバイスに提供された情報に基づいて識別してもよい。
【００１０】
上記のデバイスの実装において、１つ以上のプロセッサは、受信されたデータに含まれる属性を識別するとき、受信されたデータに含まれる属性を、受信されたデータに含まれるメタデータに基づいて識別してもよい。
【００１１】
さらに、上記のデバイスの実装において、１つ以上のプロセッサは、受信されたデータに含まれる属性を識別するとき、受信されたデータに含まれる属性を、受信されたデータに対して実行される解析の結果に基づいて識別してもよい。
【００１２】
上記のデバイスの実装において、１つ以上のプロセッサはさらに、属性のうちの１つを、データモジュールが属性のうちの１つを処理するように構成されていることに基づいて、データモジュールにマッピングしてもよい。
【００１３】
一部の実装によれば、非一時的コンピュータ可読媒体は命令を格納してもよく、命令は、１つ以上のプロセッサによって実行されると１つ以上のプロセッサに、ユーザインターフェースであって、１つ以上のプロセッサに提供されたデータに含まれるものとして以前に識別された少なくとも１つの属性の選択をユーザインターフェース要素の１つ以上との相互作用により可能にするユーザインターフェース要素を提供する、ユーザインターフェースをユーザデバイスに提供することと、データモジュールであって、少なくとも１つの属性の中の属性を含み、データ処理パイプラインにより実行される関数を定義する、データモジュールを識別する情報を、ユーザデバイスから受信することと、１つ以上のプロセッサにより実装されるデータ処理パイプラインによる使用のためにデータモジュールをアクティブ化することと、データ処理パイプラインおよびデータモジュールを使用して、到着データに対してアクションを実行することと、をさせる１つ以上の命令を含む。
【００１４】
上記の非一時的コンピュータ可読媒体の実装において、ユーザインターフェースはさらに、データ処理パイプラインにより実行される１つ以上の関数、属性に関連する１つ以上の条件、１つ以上の関数の実行に関連する１つ以上の時間ウィンドウ、属性に関連する１つ以上のグループ化、または属性に関連する１つ以上のセグメントのうちの少なくとも１つの選択を可能にしてもよい。
【００１５】
さらに、上記の非一時的コンピュータ可読媒体の実装において、データモジュールはさらに、関数に関連する１つ以上の条件、関数に関連する１つ以上の時間ウィンドウ、関数に関連する１つ以上のグループ化、または関数に関連する１つ以上のセグメントのうちの１つ以上を定義してもよい。
【００１６】
上記の非一時的コンピュータ可読媒体の実装において、１つ以上のプロセッサにアクションを実行させる１つ以上の命令は、１つ以上のプロセッサに、１つ以上のキーパフォーマンス指標を識別することをさせてもよい。
【００１７】
さらに、上記の非一時的コンピュータ可読媒体の実装において、１つ以上の命令は、１つ以上のプロセッサにさらに、１つ以上のキーパフォーマンス指標の視覚的表現を提供することをさせてもよい。
【００１８】
上記の非一時的コンピュータ可読媒体の実装において、１つ以上の命令は、１つ以上のプロセッサにより実行されると、１つ以上のプロセッサにさらに、データモジュールが有効かどうかを判断するためにデータモジュールの構文を評価することと、データモジュールが有効かどうかを示す通知をユーザデバイスに提供することと、をさせてもよい。
【００１９】
一部の実装によれば、方法は、デバイスによってユーザデバイスにユーザインターフェースを提供するステップであって、ユーザインターフェースは、デバイスに提供されたデータに含まれるものとして以前に識別された少なくとも１つの属性、およびデータ処理パイプラインにより実行される少なくとも１つの関数の選択を可能にする、提供するステップと、データモジュールを識別する情報を、デバイスによってユーザデバイスから受信するステップであって、データモジュールは、少なくとも１つの関数の中の関数、および少なくとも１つの属性の中の属性を含む、受信するステップと、デバイスにより実装されるデータ処理パイプラインによる使用のためにデータモジュールをデバイスによってアクティブ化するステップと、データモジュールに基づくアクションを実行するステップと、を含んでもよい。
【００２０】
上記の方法の実装において、アクションを実行するステップは、デバイスにより受信されたデータを、データモジュールに基づいてマッピングするステップを含んでもよく、データは、属性を含む。
【００２１】
さらに、上記の方法の実装において、アクションを実行するステップは、デバイスにより受信されたデータに対してデータモジュールを実行するステップを含んでもよい。
【００２２】
上記の方法の実装において、データモジュールを実行するステップは、デバイスにより受信されたデータに対してデータモジュールに含まれる関数を実行するステップを含んでもよい。
【００２３】
さらに、上記の方法の実装において、アクションを実行するステップは、出力データであって、データモジュールの実行に基づき、且つデータモジュールにより指定される、出力データを、別個のデバイスに提供するステップを含んでもよく、別個のデバイスは、データモジュールにより指定される。
【００２４】
上記の方法の実装において、方法は、ユーザインターフェースから受信された入力に基づいてデータモジュールを非アクティブ化するステップをさらに含んでもよい。
【図面の簡単な説明】
【００２５】
【図１Ａ】本願明細書に記載された例示の実装の概要の図である。
【図１Ｂ】本願明細書に記載された例示の実装の概要の図である。
【図１Ｃ】本願明細書に記載された例示の実装の概要の図である。
【図２】本願明細書に記載されたシステムおよび／または方法が実装されてもよい例示の環境の図である。
【図３】図２の１つ以上のデバイスの例示のコンポーネントの図である。
【図４】データ処理システムのデータモジュール管理を提供する例示のプロセスのフローチャートである。
【発明を実施するための形態】
【００２６】
以下の例示の実装の詳細な説明は、添付の図面を参照する。異なる図面にある同じ参照番号は、同じまたは類似の要素を特定することがある。
【００２７】
データ処理システムは、それらがデータのストリームおよび／またはバッチで受信したデータを処理するかどうかにかかわらず、様々な関数の実行を可能にする。データ処理システムにより実行され得る例示の関数には、データから有意味の情報および／またはパターンを導出する解析関数、データに基づくパフォーマンスの評価を可能にするキーパフォーマンス指標（ＫＰＩ：ｋｅｙ  ｐｅｒｆｏｒｍａｎｃｅ  ｉｎｄｉｃａｔｏｒ）関数、データから潜在的な脅威を識別し得るコンピュータおよびネットワークセキュリティ関数、および／または同様のものが含まれる。データ処理システムは、様々な有用な関数を実行できるが、使用可能な属性を生データから取得すること、およびデータ処理システムにより実行される関数を設計、構成、およびアクティブ化することに多大な人的リソースおよびコンピューティングリソースが使用され得る。
【００２８】
本願明細書に記載される一部の実装は、到着するデータのバッチおよび／またはストリームに関連するデータ属性を識別し、それをユーザが利用できるようにすることができる、データ処理プラットフォームを提供する。データ処理プラットフォームは、ユーザがデータ属性を使用してデータモジュール（例えばデータを処理するために使用され得る関数、属性、および／または条件を定義するデータ）を定義することを可能にするユーザインターフェースをユーザに提供してもよく、データ処理プラットフォームは、データモジュールを使用して、特定の関数を実行するなどの、データモジュールに基づくアクションを実行してもよい。例としてデータ処理プラットフォームは、データソースからデータを（例えばウェブサーバからエラーログを）受信して、受信されたデータに含まれる属性を識別してもよい（例えばエラーログファイルの各行はタイムスタンプ、クライアント識別子、おおびエラーコードなどの属性を含む文字の文字列を含むかもしれない）。次にデータ処理プラットフォームは、ユーザデバイスに、識別された属性に基づいてユーザデバイスのユーザがデータモジュールを定義することを可能にする、ユーザインターフェースを提供してもよい（例えばユーザは、特定のエラーコードに一致するエラーが特定期間内に閾値数発生するのに基づいてアラームをトリガするように設計されたデータモジュールを定義してもよいであろう）。ユーザデバイスからユーザインターフェースを介してデータモジュールを受信した後、データ処理プラットフォームは、データモジュールを（例えば到着するバッチおよび／またはエラーログのストリームに対して適用されるデータモジュールのデータベースにデータモジュールを格納することによって）適用してもよい。その結果、データ処理プラットフォームは、到着データに対してデータモジュールを使用するなど、データモジュールに基づくアクションを実行してもよい（例えば到着するエラーログの分析に基づいて、データモジュールにより指定された条件が満足された場合にアラームを発生させるように設計された形で）。
【００２９】
到着データから使用可能な属性を取得し、それらの属性をユーザに提供し、データ処理パイプラインにおけるデータモジュールの迅速な構成およびアクティブ化を可能にすることにより、データ処理プラットフォームは、多大な人的リソースおよびコンピューティングデバイスリソースの節約を可能にしてもよい。例として、属性の識別およびユーザインターフェースの提示は、専門技術を持たない人員が、データ処理開発者またはその他技術専門家に頼らずにデータモジュールを作成およびアクティブ化することを可能にしてもよい。さらに、他の場合であればデータの格納および分析に使用されるであろう処理リソースおよびデータストレージリソースを含め、到着データからの有用な属性の識別を可能にするために使用されるかもしれないコンピューティングリソースが、節約されてもよい。ユーザにより定義されたデータモジュールを取り込んでデータモジュールをデータ処理パイプラインに直接適用する能力は、管理者または開発者がデータ処理プラットフォームと対話する必要性をなくしてもよい。さらに、迅速にデータモジュールを適用してデータモジュールにより指定される機能を実行する能力は、他の場合であればデータモジュールの適用およびデータモジュールにより指定される機能の実行のためのソリューションを開発するために使用されるかもしれない多大なデータ処理リソース、ネットワークリソース、およびデータストレージリソースを節約し得る。
【００３０】
図１Ａ〜図１Ｃは、本願明細書に記載された例示の実装１００の概要の図である。図１Ａに示されるように、例示の実装１００は、到着データに対してデータ処理動作（例えば解析、ＫＰＩ評価、ネットワークセキュリティ関数、および／または同様のもの）を実行できるデータ処理プラットフォーム、データソース（例えばデータをデータ処理プラットフォームに提供できるパーソナルコンピュータ、サーバコンピュータ、および／または同様のものなど任意のコンピューティングデバイス）、および一部の実装においてデータ処理プラットフォームから出力を受信し得る出力デバイス（例えば携帯電話、パーソナルコンピュータ、サーバコンピュータ、および／または同様のもの）を含んでもよい。
【００３１】
図１Ａにさらに示されるように、データ処理プラットフォームは、データ摂取部分１０２、データマッピング・導出部分１０４、計算部分１０６、データアクセス部分１０８、およびデータ消費部分１１０を含んでもよい。一部の実装において、データ処理プラットフォームは、到着データとデータ処理プラットフォームにより実行されるデータモジュールにおいて指定されるアクションとに基づいて様々なアクションが実行される、データ処理パイプラインを実現してもよい。例として、データマッピング・導出部分１０４は、データ摂取部分１０２から受信される到着データに基づきアクションを実行してもよく、計算部分１０６は、データマッピング・導出部分１０４から受信される到着データに基づきアクションを実行してもよく、データアクセス部分１０８は、計算部分１０６から受信される到着データに基づきアクションを実行してもよく、データ消費部分１１０は、データアクセス部分１０８から受信される到着データに基づきアクションを実行してもよい。
【００３２】
一部の実装において、データ処理プラットフォームパイプラインのデータ摂取部分１０２は、様々なデータソースからデータを受信することを担当する。例としてデータ摂取部分１０２は、ストリームまたはバッチフォーマットでデータを受信してもよい。一部の実装において、データは、データ処理プラットフォームが何らかのアクション（例えば解析、ＫＰＩ評価、セキュリティ分析、および／または同様のもの）を実行するために使用してもよいテキストベースのデータを含んでもよい。例としてデータは、エラーログ、ネットワークトラフィックデータ、コンピュータセキュリティログ、広告メトリック、販売情報、および／または同様のものを含んでもよい。
【００３３】
一部の実装において、データマッピング・導出部分１０４は、受信されたデータを構文解析し、受信されたデータに含まれる属性を識別し、受信されたデータの各部分をデータモジュールにマッピングし、さらに一部の実装ではデータモデルを導出しまたはデータを拡充することを担当する。例として、受信されたデータは、テキストの行を含んでもよく、データ処理プラットフォームは、テキストの行を構文解析して、エラーコード、デバイス識別子、タイムスタンプ、および／または同様のものなどのテキストに含まれる属性を識別してもよい。さらに、属性は、１つ以上の関数の実行において属性を活用するデータモジュールにマッピングされてもよい。一部の実装において、受信されたデータは、サードパーティのソースから関係情報を取得することにより拡充されてもよい。例として、１つのソースから受信されたデバイス識別子が、別のソースから入手できる他の属性に関連する場合もあり、データ処理プラットフォームは、その別のソースから取得された属性を用いて元のデータセット（例えばデバイス識別子属性）を拡充してもよく、組み合わされた属性が１つ以上のデータモジュールにマッピングされてもよい。さらに、または代わりに、データ処理プラットフォームは、他の１つ以上のデータモデルに基づいてデータモデルを導出してもよい（例えば、複数のデータモデルに適用可能と考えられるデータが存在する場合、関数を用いて既存のデータモジュールを組み合わせることによりデータモデルが導出されてもよい）。例としてデータ処理プラットフォームは、受信されたデータのマッピングが可能と考えられる複数のモデルを識別し、複数のデータモデルを組み合わせることにより単一のデータモデルを導出してもよい。
【００３４】
一部の実装において、計算部分１０６は、１つ以上のデータモジュールに関連する計算および／または他の機能を実行することを担当する。例として計算部分１０６は、例えばデータモジュールにおいて指定される単数または複数の関数に従って、解析を実行し、ＫＰＩを評価し、セキュリティイベントおよび異常を識別し、さらに／または同様のことをしてもよい。例としてデータモジュールは、到着する通信ログについて、通信待ち時間メトリックが平均され、ネットワークデバイス識別子によってグループ化され、平均待ち時間によってソートされるべきであることを指定してもよい。本例では、計算部分１０６が、データの平均、グループ化、および／またはソートの実行を担当してもよい。
【００３５】
一部の実装において、データアクセス部分１０８は、データ処理プラットフォームが使用し発生させるデータに対するアクセスを提供することを担当する。例として、データアクセス部分１０８は、データ処理プラットフォームにより格納された生入力データへのアクセス、データモジュールへのアクセス、計算の結果（例えば１つ以上のデータモジュールの実行から生じるデータ）へのアクセス、および／または同様のものを可能にしてもよい。
【００３６】
一部の実装において、データ消費部分１１０は、データ処理プラットフォームの外部の通信を担当する。例としてデータ消費部分１１０は、レポートおよび通知データを含む出力を（例えば出力デバイスに）提供すること、リアルタイム監視を可能にすること、および／または同様のことを担当してもよい。
【００３７】
図１Ｂに示されるように、例示の実装１２０は、データ処理プラットフォーム、データソース、およびユーザデバイス（例えば携帯電話、パーソナルコンピュータ、サーバコンピュータ、および／または同様のもの）を含んでもよい。例示の実装１００と同様に、データ処理プラットフォームは、到着データに対してデータ処理動作（例えば解析、ＫＰＩ評価、ネットワークセキュリティ関数、および／または同様のもの）を実行でき、データソース（例えばパーソナルコンピュータ、サーバコンピュータ、および／または同様のものなどの任意のコンピューティングデバイス）は、データをデータ処理プラットフォームに提供できる。図のように、ユーザデバイスは、データモジュールを作成および／またはアクティブ化するために、ユーザインターフェースを介してデータ処理プラットフォームと通信できる。
【００３８】
図１Ｂにおいて、参照番号１２２によりさらに示されるように、データ処理プラットフォームは、データソースからデータを受信してもよい。例としてデータは、エラーログ、ネットワークトラフィックデータ、コンピュータセキュリティログ、広告メトリック、販売情報、および／または同様のものを含んでもよい。参照番号１２４により示されるように、データ処理プラットフォームは、受信されたデータを構文解析して、様々なデータソースについてデータソースにより提供されるデータに含まれる属性を識別してもよい。例としてデータ処理プラットフォームは、図のように、データソース１に関連する属性１、属性２、および属性３を識別してもよく、さらに、データソース２に関連する属性２、属性４、および属性５を識別してもよい。
【００３９】
図１Ｂにおいて、参照番号１２６によりさらに示されるように、データ処理プラットフォームは、ユーザデバイスにより使用されるユーザインターフェースを提供してもよい。ユーザインターフェースは、様々な情報を、例えばユーザデバイスのユーザがデータ処理プラットフォームにより使用される新規のデータモジュールを作成しまたは既存のデータモジュールに作用することを可能にするように設計された形で、ユーザデバイスにより表示させてもよい。例としてユーザインターフェースは、ユーザがデータモジュールを生成、編集、削除、アクティブ化、または非アクティブ化することを可能にしてもよく、さらに、様々なデータソースにより提供されるデータに関連する複数の属性を識別するデータをユーザに提供して、ユーザが、属性と、データを処理するための事前構築された関数とに基づいてデータモジュールを生成することを可能にしてもよい。
【００４０】
図１Ｂにおいて、参照番号１２８によりさらに示されるように、データ処理プラットフォームは、ユーザデバイスからデータモジュールを受信してもよい。例として、データモジュールは、データモジュールにマッピングされる入力データに基づいて何らかの形態の出力を発生させるためにデータ処理プラットフォームにより使用されてもよい、１つ以上の属性、関数、および／または条件を含んでもよい。
【００４１】
図１Ｂにおいて、参照番号１３０によりさらに示されるように、データ処理プラットフォームは、ユーザデバイスから受信されたデータモジュールを使用してもよい。例として、データ処理プラットフォームは、データ処理プラットフォームパイプラインのマッピング部分の中で使用されるデータモジュールのデータベースにデータモジュールを格納してもよい。データモジュールを使用してデータ処理プラットフォームは、データモジュールの実行など、データモジュールに基づく１つ以上のアクションを実行してもよく、これには、入力データのデータモジュールへのマッピング、データモジュールに基づく計算の実行、データモジュールに基づく出力の提供、および／または同様のことが含まれ得る。
【００４２】
図１Ｃに示されるように、例示の実装１４０は、ユーザデバイスのユーザがデータ処理プラットフォームにより使用されるデータモジュールを作成および／または適用することを可能にするためにデータ処理プラットフォームにより提供されてもよい例示のユーザインターフェースを含んでもよい。例として例示の実装１４０は、データモジュール管理インターフェース１５０を含んでもよく、データモジュール編集用インターフェース１７０を含んでもよい。
【００４３】
図１Ｃにおいて、参照番号１５２によりさらに示されるように、データモジュール管理インターフェース１５０は、ユーザがデータモジュールを管理することを可能にするインターフェース要素「データモジュール」（選択されて示されている）を含んでもよい。参照番号１５４により示されるように、データモジュール管理インターフェース１５０は、ユーザが新規データモジュールを追加することを可能にするボタンを含んでもよい。参照番号１５６により示されるように、データモジュール管理インターフェース１５０は、ユーザがデータモジュールを（例えば（図示のように）最も最近作成、更新、またはアクティブ化されたデータモジュールの順に、最も人気のあるデータモジュールの順に、データモジュールのレーティングの順に、および／または同様に）ソートすることを可能にするドロップダウンメニューを含んでもよい。参照番号１５８により示されるように、データモジュール管理インターフェース１５０は、ユーザがデータモジュールを（例えば名称、属性、関連するユーザ、および／または同様のものにより）検索することを可能にする検索ボックスを含んでもよい。参照番号１６０により示されるように、データモジュール管理インターフェース１５０は、データモジュールに関係する様々な情報（例えばデータモジュールの名称、データモジュールに関連するユーザ、データモジュールが最後に更新された時を示すデータ、および／または同様のもの）を表示できるデータモジュールの選択可能なリストを含んでもよい。
【００４４】
図１Ｃにさらに示され、参照番号１６２により示されるように、データモジュール管理インターフェース１５０は、ユーザが導出されたデータモジュールを管理する（例えば、追加のデータモジュールを取得する、さらに／または関数を用いて既存のデータモジュールを組み合わせる）ことを可能にするインターフェース要素「導出」を含んでもよい。参照番号１６４により示されるように、データモジュール管理インターフェース１５０は、ユーザがアラーム（例えばイベントの発生に基づいてトリガされ得る通知）を管理することを可能にするインターフェース要素「アラーム」を含んでもよい。
【００４５】
図１Ｃにおいて、参照番号１７２によりさらに示されるように、データモジュール編集用インターフェース１７０は、データ属性のドロップダウンおよびセレクタを含み、選択された１つ以上の属性がデータモジュールに含められることを可能にしてもよい。参照番号１７４により示されるように、データモジュール編集用インターフェース１７０は、関数のドロップダウンおよびセレクタを含み、選択された１つ以上の関数がデータモジュールに含められることを可能にしてもよい。参照番号１７６により示されるように、データモジュール編集用インターフェース１７０は、ユーザが手動でデータモジュール情報を提供することを可能にするテキストボックスを含んでもよい。この例示の実装１４０において、テキストボックスは、このデータモジュール（例えば「ＤＡＴＡ＿ＭＯＤＵＬＥ＿２」）が「４０４」と一致するエラーコード属性を有する到着データに対してＣＯＵＮＴ関数を実行することを示すことができる式を用いて自動ポピュレートされているように示されている。一部の実装において、データモジュール情報は、属性のドロップダウンおよびセレクタ、関数のドロップダウンおよびセレクタから追加されてもよく、さらに／または手動で入力／編集されてもよい。一部の実装において、データ属性の特定のデータソースも、データモジュール編集用インターフェース１７０において選択可能であってもよい。
【００４６】
図１Ｃにさらに示され、参照番号１７８により示されるように、データモジュール編集用インターフェース１７０は、データモジュールが適用される時間のウィンドウ（例えば１５分、１時間、１日、および／または同様のもの）の選択を可能にする時間ウィンドウセレクタを含んでもよい。参照番号１８０により示されるように、データモジュール編集用インターフェース１７０は、特定の属性（例えば図のように受信者）別にデータモジュールからの出力データがグループ化されることを可能にする「グループ化基準」セレクタを含んでもよい。参照番号１８２により示されるように、データモジュール編集用インターフェース１７０は、１つ以上の属性（例えば顧客タイプ、顧客セグメント、および／または同様のもの）に基づいて出力がセグメント化／分離されるのを可能にするセグメントセレクタを含んでもよい。参照番号１８４により示されるように、データモジュール編集用インターフェース１７０は、選択されるとデータ処理プラットフォームにデータモジュールの検証（例えばエラーがないか構文をチェックすること、属性が受信されていることを確認すること、および／または同様のこと）をさせるボタンを含んでもよい。参照番号１８６により示されるように、データモジュール編集用インターフェース１７０は、選択されるとデータ処理プラットフォームにデータモジュールを保存および適用させるボタンを含んでもよい。
【００４７】
このように、到着データから使用可能な属性を取得し、それらの属性をユーザに提供し、データ処理パイプラインにおけるデータモジュールの迅速な構成およびアクティブ化を可能にすることにより、データ処理プラットフォームは、多大な人的リソースおよびコンピューティングデバイスリソースの節約を可能にしてもよい。例として、属性の識別およびユーザインターフェースの提示は、専門技術を持たない人員が、データ処理開発者またはその他技術専門家に頼らずにデータモジュールを作成およびアクティブ化することを可能にしてもよい。さらに、他の場合であればデータの格納および分析に使用されるであろう処理リソースおよびデータストレージリソースを含め、到着データからの有用な属性の識別を可能にするために使用されるかもしれないコンピューティングリソースが、節約されてもよい。ユーザにより定義されたデータモジュールを取り込んでデータモジュールをデータ処理パイプラインに直接適用する能力は、管理者または開発者がデータ処理プラットフォームと対話する必要性をなくしてもよい。さらに、迅速にデータモジュールを適用してデータモジュールにより指定される機能を実行する能力は、他の場合であればデータモジュールの適用およびデータモジュールにより指定される機能の実行のためのソリューションを開発するために使用されるかもしれない多大なデータ処理リソース、ネットワークリソース、およびデータストレージリソースを節約し得る。
【００４８】
上記に示したように、図１Ａ〜図１Ｃは、単に例として提供される。他の例も可能であり、図１Ａ〜図１Ｃに関して記載されたものとは異なってもよい。例として、図１Ａの実装１００に関して記載されたデータ処理パイプラインが、別様に構成されてもよく（例えばデータ処理パイプラインの追加の部分および／または異なる部分が使用されてもよく、使用されなくてもよく、組み合わされてもよく、さらに／または同様のことがされてもよい）、図１Ｂに関して記載された実装１２０が、追加の動作、より少ない動作、および／または異なる動作を含んでもよく、さらに／または図１Ｃの実装１４０に関して記載されたユーザインターフェースが、別様に構成されてもよい（例えば別の配置の追加のユーザインターフェース要素および／または異なるユーザインターフェース要素、および／または同様のもの）。
【００４９】
図２は、本願明細書に記載されたシステムおよび／または方法が実装されてもよい例示の環境２００の図である。図２に示されるように、環境２００は、ユーザデバイス２１０、データソース２２０、データ処理プラットフォーム２３０、コンピューティングリソース２３５、クラウドコンピューティング環境２４０、およびネットワーク２５０を含んでもよい。環境２００のデバイスは、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して相互接続してもよい。
【００５０】
ユーザデバイス２１０は、データモジュールに関連する情報を受信、生成、格納、処理、および／または提供できる１つ以上のデバイスを含む。例としてユーザデバイス２１０は、携帯電話（例えばスマートフォン、無線電話など）、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、ゲーム用デバイス、ウェアラブル通信デバイス（例えばスマート腕時計、スマート眼鏡など）、または類似のタイプのデバイスなどの通信および／またはコンピューティングデバイスを含んでもよい。ユーザデバイスは、ウェブブラウジングアプリケーション、コンソールアプリケーション、データ処理プラットフォーム２３０と通信するように設計されたアプリケーション、および／または同様のものなど、ユーザデバイス２１０がネットワーク２５０を介してデータ処理プラットフォーム２３０と通信すること、およびユーザデバイス２１０のディスプレイ上にユーザインターフェースを提示することを可能にするように設計された１つ以上のアプリケーションを含んでもよい。
【００５１】
データソース２２０は、データ（例えばデータのバッチおよび／またはストリームを含む）に関連する情報を受信、生成、格納、処理、および／または提供できる１つ以上のデバイスを含む。例としてデータソース２２０は、デスクトップコンピュータ、サーバデバイス、サーバデバイスのグループ、クラウドコンピューティングデバイス、ネットワークデバイス、データセンタデバイス、または類似のタイプのデバイスなどの通信および／またはコンピューティングデバイスを含んでもよい。データソース２２０は、様々なデータをデータ処理プラットフォーム２３０に（例えばネットワーク２５０を介して）提供できて、データ処理プラットフォーム２３０がデータを処理するのを可能にしてもよい。
【００５２】
データ処理プラットフォーム２３０は、ユーザデータおよびデータモジュールに関連する情報を受信、生成、格納、処理、および／または提供できる１つ以上のデバイスを含む。例として、データ処理プラットフォーム２３０は、サーバデバイス（例えばホストサーバ、ウェブサーバ、アプリケーションサーバなど）、データセンタデバイス、または類似のデバイスを含んでもよい。データ処理プラットフォーム２３０は、例として、データソース２２０からデータを受信すること、受信されたデータに含まれる属性を識別すること、属性を指定するユーザインターフェースをユーザデバイス２１０に提供すること、ユーザデバイス２１０からデータモジュールに関する情報を受信すること、およびデータソース２２０から受信されたデータをデータモジュールに基づいて処理することができる。
【００５３】
図のように、一部の実装では、データ処理プラットフォーム２３０はクラウドコンピューティング環境２４０においてホストされてもよい。特に、本願明細書に記載される実装は、データ処理プラットフォーム２３０がクラウドコンピューティング環境２４０においてホストされるものとして記載するが、一部の実装では、データ処理プラットフォーム２３０はクラウドベースでなくてもよいであろうし（すなわちクラウドコンピューティング環境外に実装されてもよい）、または部分的にクラウドベースとされてもよいであろう。
【００５４】
クラウドコンピューティング環境２４０は、サービスとしてコンピューティングを提供する環境を含み、それによって共有リソース、サービスなどがデータ処理プラットフォーム２３０に提供されてもよい。クラウドコンピューティング環境２４０は、サービスを配信するシステムおよび／またはデバイスの物理的な位置および構成のエンドユーザの知識を要求しない演算、ソフトウェア、データアクセス、ストレージ、および／または他のサービスを提供し得る。
【００５５】
コンピューティングリソース２３５は、１つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、または別のタイプの計算および／または通信デバイスを含む。一部の実装において、コンピューティングリソース２３５はデータ処理プラットフォーム２３０をホストしてもよい。クラウドリソースは、コンピューティングリソース２３５において実行されるコンピューティングインスタンス、コンピューティングリソース２３５内に設けられるストレージデバイス、コンピューティングリソース２３５により提供されるデータ転送デバイスなどを含んでもよい。一部の実装において、コンピューティングリソース２３５は、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して他のコンピューティングリソース２３５と通信してもよい。
【００５６】
図２にさらに示されるとおり、コンピューティングリソース２３５は、１つ以上のアプリケーション（「ＡＰＰ（ａｐｐｌｉｃａｔｉｏｎ）」）２３５−１、１つ以上の仮想マシン（「ＶＭ（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）」）２３５−２、仮想化ストレージ（「ＶＳ（ｖｉｒｔｕａｌｉｚｅｄ  ｓｔｏｒａｇｅ）」）２３５−３、１つ以上のハイパーバイザ（「ＨＹＰ（ｈｙｐｅｒｖｉｓｏｒ）」）２３５−４、または同様のものなどのクラウドリソースのグループを含んでもよい。
【００５７】
アプリケーション２３５−１は、ユーザデバイス２１０に提供されても、またはユーザデバイス２１０によりアクセスされてもよい１つ以上のソフトウェアアプリケーションを含む。アプリケーション２３５−１は、ユーザデバイス２１０上でソフトウェアアプリケーションをインストールして実行する必要性をなくしてもよい。例として、アプリケーション２３５−１は、データ処理プラットフォーム２３０に関連したソフトウェア、および／またはクラウドコンピューティング環境２４０を介して提供されることができる他の任意のソフトウェアを含んでもよい。一部の実装において、１つのアプリケーション２３５−１は、仮想マシン２３５−２を介して他の１つ以上のアプリケーション２３５−１との間で情報を送受信してもよい。
【００５８】
仮想マシン２３５−２は、物理マシンのようにプログラムを実行するマシン（例えばコンピュータ）のソフトウェア実装を含む。仮想マシン２３５−２は、用途、および仮想マシン２３５−２の任意の実マシンとの類似の程度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかであってもよい。システム仮想マシンは、完全なオペレーティングシステム（「ＯＳ（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）」）の実行をサポートする完全なシステムプラットフォームを提供してもよい。プロセス仮想マシンは、単一のプログラムを実行してもよく、単一のプロセスをサポートしてもよい。一部の実装において、仮想マシン２３５−２は、ユーザ（例えばユーザデバイス２１０）の代わりに実行してもよく、さらにデータ管理、同期化、または長期データ転送など、クラウドコンピューティング環境２４０のインフラストラクチャの管理をしてもよい。
【００５９】
仮想化ストレージ２３５−３は、コンピューティングリソース２３５のストレージシステムまたはデバイスの中の仮想化技術を使用する１つ以上のストレージシステムおよび／または１つ以上のデバイスを含む。一部の実装において、ストレージシステムの関連の中で、仮想化のタイプはブロック仮想化およびファイル仮想化を含んでもよい。ブロック仮想化は、物理ストレージからの論理ストレージの抽象化（または分離）を指すことができ、その結果、物理ストレージまたは異種構造と無関係にストレージシステムがアクセスされ得る。分離は、ストレージシステムの管理者がどのようにエンドユーザのためにストレージを管理するかにおいて、管理者に柔軟性を認めてもよい。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に格納される場所との間の依存関係をなくしてもよい。これは、ストレージ使用の最適化、サーバコンソリデーション、および／または無停止ファイルマイグレーションの実行を可能にしてもよい。
【００６０】
ハイパーバイザ２３５−４は、複数のオペレーティングシステム（例えば「ゲストオペレーティングシステム」）がコンピューティングリソース２３５などのホストコンピュータ上で同時に実行できるようにするハードウェア仮想化技術を提供する。ハイパーバイザ２３５−４は、ゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提示してもよく、さらにゲストオペレーティングシステムの実行を管理してもよい。様々なオペレーティングシステムの複数のインスタンスが、仮想化ハードウェアリソースを共有してもよい。
【００６１】
ネットワーク２５０は、１つ以上の有線ネットワークおよび／または無線ネットワークを含む。例としてネットワーク２５０は、セルラネットワーク（例えばロングタームエボリューション（ＬＴＥ：ｌｏｎｇ−ｔｅｒｍ  ｅｖｏｌｕｔｉｏｎ）ネットワーク、符号分割多元接続（ＣＤＭＡ：ｃｏｄｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ）ネットワーク、３Ｇネットワーク、４Ｇネットワーク、５Ｇネットワーク、別のタイプの次世代ネットワークなど）、公衆携帯電話網（ＰＬＭＮ：ｐｕｂｌｉｃ  ｌａｎｄ  ｍｏｂｉｌｅ  ｎｅｔｗｏｒｋ）、ローカルエリアネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ワイドエリアネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、メトロポリタンエリアネットワーク（ＭＡＮ：ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、電話網（例えば公衆電話交換網（ＰＳＴＮ：Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋ））、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、クラウドコンピューティングネットワーク、または同様のもの、および／またはこれらもしくは他のタイプのネットワークの組み合わせを含んでもよい。
【００６２】
図２に示されたデバイスおよびネットワークの数および配置は、例として示されている。実際には、図２に示されたものに比べて、追加のデバイスおよび／またはネットワーク、より少数のデバイスおよび／またはネットワーク、異なるデバイスおよび／またはネットワーク、または別様に配置されたデバイスおよび／またはネットワークがあってもよい。さらに、図２に示されている２つ以上のデバイスが単一のデバイス内に実装されてもよく、または、図２に示されている単一のデバイスが複数の分散型デバイスとして実装されてもよい。さらに、または代わりに、環境２００のデバイスのセット（例えば１つ以上のデバイス）が、環境２００のデバイスの別のセットにより実行されるものとして記載されている１つ以上の機能を実行してもよい。
【００６３】
図３は、デバイス３００の例示のコンポーネントの図である。デバイス３００は、ユーザデバイス２１０、データソース２２０、データ処理プラットフォーム２３０、および／またはコンピューティングリソース２３５に対応してもよい。一部の実装において、ユーザデバイス２１０、データソース２２０、データ処理プラットフォーム２３０、および／またはコンピューティングリソース２３５は、１つ以上のデバイス３００および／またはデバイス３００の１つ以上のコンポーネントを含んでもよい。図３に示されるとおり、デバイス３００は、バス３１０、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０、入力コンポーネント３５０、出力コンポーネント３６０、および通信インターフェース３７０を含んでもよい。
【００６４】
バス３１０は、デバイス３００のコンポーネント間で通信できるようにするコンポーネントを含む。プロセッサ３２０は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせに実装される。プロセッサ３２０は、中央処理ユニット（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、グラフィックス処理ユニット（ＧＰＵ：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、アクセラレーテッド処理ユニット（ＡＰＵ：ａｃｃｅｌｅｒａｔｅｄ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、または別のタイプの処理コンポーネントの形態をとる。一部の実装において、プロセッサ３２０は、機能を実行するようにプログラムできる１つ以上のプロセッサを含む。メモリ３３０は、プロセッサ３２０により使用される情報および／または命令を格納するランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、および／または別のタイプの動的もしくは静的ストレージデバイス（例えばフラッシュメモリ、磁気メモリ、および／または光学メモリ）を含む。
【００６５】
ストレージコンポーネント３４０は、デバイス３００の動作および用途に関係した情報および／またはソフトウェアを格納する。例としてストレージコンポーネント３４０は、ハードディスク（例えば磁気ディスク、光学ディスク、光磁気ディスク、および／またはソリッドステートディスク）、コンパクトディスク（ＣＤ：ｃｏｍｐａｃｔ  ｄｉｓｃ）、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ）、フロッピーディスク、カートリッジ、磁気テープ、および／または別のタイプの非一時的コンピュータ可読媒体を、対応するドライブとともに含んでもよい。
【００６６】
入力コンポーネント３５０は、デバイス３００がユーザ入力（例えばタッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および／またはマイクロフォン）を介するなどして情報を受信できるようにするコンポーネントを含む。さらに、または代わりに、入力コンポーネント３５０は、情報を感知するセンサ（例えばグローバルポジショニングシステム（ＧＰＳ：ｇｌｏｂａｌ  ｐｏｓｉｔｉｏｎｉｎｇ  ｓｙｓｔｅｍ）コンポーネント、加速度計、ジャイロスコープ、および／またはアクチュエータ）を含んでもよい。出力コンポーネント３６０は、デバイス３００からの出力情報を提供するコンポーネントを含む（例えばディスプレイ、スピーカ、および／または１つ以上の発光ダイオード（ＬＥＤ：ｌｉｇｈｔ−ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ））。
【００６７】
通信インターフェース３７０は、デバイス３００が有線接続、無線接続、または有線接続と無線接続との組み合わせなどを介して他のデバイスと通信することを可能にする、トランシーバのようなコンポーネント（例えばトランシーバおよび／または別々の受信機および送信機）を含む。通信インターフェース３７０は、デバイス３００が、別のデバイスから情報を受信すること、および／または別のデバイスに情報を提供することができるようにしてもよい。例として通信インターフェース３７０は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数（ＲＦ：ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ）インターフェース、ユニバーサルシリアルバス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）インターフェース、Ｗｉ−Ｆｉインターフェース、セルラネットワークインターフェース、または同様のものを含んでもよい。
【００６８】
デバイス３００は、本願明細書に記載された１つ以上のプロセスを実行してもよい。デバイス３００は、メモリ３３０および／またはストレージコンポーネント３４０などの非一時的コンピュータ可読媒体により格納されたソフトウェア命令をプロセッサ３２０が実行するのに基づいてこれらのプロセスを実行してもよい。本願明細書において、コンピュータ可読媒体は非一時的なメモリデバイスと定義される。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間、または複数の物理ストレージデバイスにまたがったメモリ空間を含む。
【００６９】
ソフトウェア命令は、メモリ３３０および／またはストレージコンポーネント３４０に別のコンピュータ可読媒体から、または通信インターフェース３７０を介して別のデバイスから、読み込まれてもよい。メモリ３３０および／またはストレージコンポーネント３４０に格納されたソフトウェア命令は、実行されると本願明細書に記載された１つ以上のプロセスをプロセッサ３２０に実行させてもよい。さらに、または代わりに、本願明細書に記載の１つ以上のプロセスを実行するために、物理的に結線された回路構成がソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用されてもよい。したがって、本願明細書に記載された実装は、ハードウェア回路構成とソフトウェアとのいかなる特定の組み合わせにも限定されない。
【００７０】
図３に示されたコンポーネントの数および配置は、例として示されている。実際には、デバイス３００は、図３に示されたものと比べて、追加のコンポーネント、より少数のコンポーネント、異なるコンポーネント、または別様に配置されたコンポーネントを含んでもよい。さらに、または代わりに、デバイス３００のコンポーネントのセット（例えば１つ以上のコンポーネント）が、デバイス３００のコンポーネントの別のセットにより実行されるものとして記載されている１つ以上の機能を実行してもよい。
【００７１】
図４は、データ処理システムのデータモジュール管理を提供する例示のプロセス４００のフローチャートである。一部の実装において、図４の１つ以上のプロセスブロックが、データ処理プラットフォーム２３０により実行されてもよい。一部の実装において、図４の１つ以上のプロセスブロックは、ユーザデバイス２１０および／またはデータソース２２０など、データ処理プラットフォーム２３０とは別個の、またはデータ処理プラットフォーム２３０を含む、別のデバイスまたはデバイスのグループにより実行されてもよい。
【００７２】
図４に示されるように、プロセス４００は、データソースからデータを受信することを含んでもよい（ブロック４１０）。例として、データ処理プラットフォーム２３０は、ネットワークデータソース２２０からネットワークデータを（例えば入力コンポーネント３５０および／または通信インターフェース３７０を介して）受信してもよい。一部の実装において、データはバッチ形式（例えば複数のデータレコードまたは複数のデータレコードに関連する複数行のテキストを含むかもしれないデータのバッチ）および／またはストリーム形式（例えば、例としてデータソース２２０がテキストを発生させるときに提供されてもよいテキストのストリーム）で受信され得る。一部の実装において、データに含まれる情報は様々であってもよく、データを提供するデータソース２２０次第であってもよい。例として、データは、エラーログ、ネットワークトラフィックデータ、コンピュータセキュリティログ、広告メトリック、財務記録、および／または同様のものを含んでもよい。
【００７３】
一部の実装において、データ処理プラットフォーム２３０は、データソース２２０またはデータソース２２０に関連する実体に送信されるリクエストに基づくデータを受信してもよい。例として、データ処理プラットフォーム２３０は、データソース２２０にデータのバッチをリクエストしてもよく、リクエストに応答して、リクエスト対象のデータのバッチを受信してもよい。一部の実装において、データ処理プラットフォーム２３０は、リクエストを送信することなく、データソース２２０からのものであるデータ（例えばデータ処理プラットフォーム２３０にプッシュされるデータ）を受信してもよい。例としてデータソース２２０は、データがデータソース２２０により受信されまたはデータソース２２０がそれを発生させるときに（すなわちリアルタイムまたは準リアルタイムで）データをデータ処理プラットフォーム２３０にストリーミングするように設定されてもよい。
【００７４】
例として、データ処理プラットフォーム２３０は、エラーログのストリームなどのデータをデータソース２２０から受信してもよく、このデータソース２２０は、ネットワークサービスプロバイダのためにエラーログを管理するサーバデバイスであってもよい。この状況において、エラーログのストリームは、テキストの断続的および／または連続的なストリームとしてデータ処理プラットフォーム２３０により受信されてもよい。本例を続ける。テキストは、様々な情報を表現し得る。例として、この状況では、テキストはネットワークデバイス識別子、エラーコード、待ち時間値、地理的位置データ、および／または同様のものを含んでもよい。
【００７５】
このように、データ処理プラットフォーム２３０は、データソースからデータを受信してもよく、これが、データ処理プラットフォーム２３０が受信されたデータから属性を識別することを可能にしてもよい。さらに、データの受信は、データ処理プラットフォーム２３０が到着データを１つ以上のデータモジュールにマッピングすることを可能にしてもよい。
【００７６】
図４にさらに示されるように、プロセス４００は、受信されたデータから属性を識別することを含んでもよい（ブロック４２０）。例としてデータ処理プラットフォーム２３０は、受信されたデータから属性を（例えばコンピューティングリソース２３５、プロセッサ３２０、メモリ３３０、および／またはストレージコンポーネント３４０を使用して）識別してもよい。一部の実装において、属性は、受信されたデータに含まれ、受信されたデータに関連する特性を表現する、値を含んでもよい。例として、データ処理プラットフォーム２３０により受信されるデータは、テキストの文字列１つ以上を含んでもよく、データ処理プラットフォーム２３０は、テキストの少なくとも或る部分に関連する特性を判断することによりテキストに含まれる属性を識別してもよい。一部の実装において、データ処理プラットフォーム２３０は、例としてそのデータを提供したデータソース２２０により提供された情報、受信されたデータに関連するメタデータ、および／または受信されたデータを構文解析する解析法を使用することにより、受信されたデータに含まれる属性を識別してもよく、さらに、受信されたデータの各部分を、それらの対応する属性にマッピングしてもよい。
【００７７】
例として、データ処理プラットフォーム２３０により受信されるエラーログは、「１２３．４５６．７８．９０＿４０４＿０１０１２０１８０８３０ＥＳＴ＿９８．７６．５４３．２１０」などの文字列を含んでもよい。この状況において、データ処理プラットフォーム２３０は、文字列を構文解析して、テキストの各部分を（例えば本例ではアンダースコアにより）分離して、テキストの各部分を対応する属性と関連付けてもよい。本例を続ける。上記の文字列に基づき、データ処理プラットフォーム２３０は、次の属性を生成してもよい：送信者のインターネットプロトコル（ＩＰ：ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）アドレス、ネットワークエラーコード、タイムスタンプ、および受信者ＩＰアドレス。上述のように、データ処理プラットフォーム２３０は、データソース２２０により提供される情報、データに含まれるメタデータ（例えば属性を指定するヘッダデータ）、および／または解析（例えばパターンベースの認識）に基づいて属性を識別してもよい。
【００７８】
一部の実装において、データ処理プラットフォーム２３０は、受信されたデータから識別された属性を、１つ以上のデータモジュールにマッピングしてもよい。例としてデータモジュールは、属性（例えば「送信者のＩＰアドレス、ネットワークエラーコード、タイムスタンプ、受信者ＩＰアドレス」）の一部または全部を活用して１つ以上の計算を実行し且つ／または他の１つ以上のアクションを実行してもよい。具体的な例として、特定のエラーコードに関連する１０を超えるエラーが特定の時間のウィンドウ内に単一の受信者デバイスから発生していることに応答して、アラームをトリガするように、特定のデータモジュールが構成されてもよい。この状況において、データ処理プラットフォーム２３０は、上記で示した属性のうち３つ（例えばネットワークエラーコード、タイムスタンプ、および受信者ＩＰアドレス）を特定のデータモジュールにマッピングしてもよい。
【００７９】
一部の実装において、データ処理プラットフォーム２３０は、属性を複数のデータモジュールにマッピングしてもよい。例として、複数のデータモジュールは、同じまたは類似の属性を活用してもよい（例えば、同じ属性が２つ以上のデータモジュールに使用されて、同じ入力データに基づく異なる計算および／または異なる出力を可能にすることができるであろう）。さらにデータ処理プラットフォーム２３０は、データのセット１つからの別々の属性を別々のデータモジュールにマッピングしてもよい（例えば、エラーコードは１つのデータモジュールに回されてもよく、送信者のＩＰアドレスは別のデータモジュールに回されてもよく、さらに／または同様のことがされてもよい）。
【００８０】
一部の実装において、データ処理プラットフォーム２３０は、他の１つ以上のデータソース２２０から受信されるデータを使用してデータモジュールにマッピングされるデータを拡充してもよい。例として、データ処理プラットフォーム２３０は、ログ（例えば上述したログなど）を受信して、送信者デバイスおよび／または受信者デバイスに関連するアプリケーションを識別し得る別のソースからのデータなど、関係する属性を識別することにより、当該ログに関連する属性を拡充してもよい。属性は、例として種々のデータソースからの属性を活用し得るデータモジュール（例えば第１のデータソースからのＩＰアドレスおよびエラーコードならびに第２のデータソースからのアプリケーション識別子を使用するデータモジュール）による使用のために拡充されてもよい。
【００８１】
このように、データ処理プラットフォーム２３０は、受信されたデータから属性を識別して、データ処理プラットフォーム２３０が属性をデータモジュールにマッピングすることを可能にしてもよく、このデータモジュールを、データ処理プラットフォーム２３０がデータモジュールに基づく様々なアクションを実行するために後から使用してもよい。さらに、属性の識別は、データ処理プラットフォーム２３０が、属性を識別するデータをユーザインターフェースを介してユーザデバイス２１０に提供することを可能にし、ユーザデバイス２１０のユーザがユーザインターフェースを使用してデータモジュールを構成することを可能にしてもよい。
【００８２】
図４に示されるように、プロセス４００は、識別された属性のうちの少なくとも１つの選択を可能にするユーザインターフェースをユーザデバイスに提供することを含んでもよい（ブロック４３０）。例としてデータ処理プラットフォーム２３０は、ユーザデバイス２１０にユーザインターフェースを（例えばコンピューティングリソース２３５、プロセッサ３２０、出力コンポーネント３６０、および／または通信インターフェース３７０を介して）提供してもよい。一部の実装において、ユーザインターフェースは、更新されたデータモジュールを作成するために、識別された属性（例えばブロック４２０にて識別された属性）のうちの少なくとも１つを選択および／または変更することを可能にしてもよい。ユーザインターフェースは、様々な様式で提供されてよく、データ処理プラットフォーム２３０と通信しているユーザデバイス２１０のタイプに依存してもよい。例として、ユーザインターフェースは、テキストベースのコンソールインターフェース、グラフィカルユーザインターフェース、音声制御インターフェース、および／または同様のものであってもよい。一部の実装において、データ処理プラットフォーム２３０は、ユーザデバイス２１０のユーザがデータ処理プラットフォーム２３０により使用および／または実行されるデータモジュールを構成することを可能にするように設計された形でユーザインターフェースを提供してもよい。
【００８３】
一部の実装において、ユーザインターフェースは、既存のデータモジュールに対するアクセスを提供してもよい。例として、既存のデータモジュールは、以前に構成されたものであって、ユーザが（例えばユーザインターフェースを介して）アクティブ化、非アクティブ化、編集、コピー、削除、および／または同様のことをしてもよいデータモジュールを含んでもよい。具体的な例として、ユーザは、選択されたデータモジュールを使用してデータ処理プラットフォーム２３０がデータ処理を実行するのを停止させるように設計された形で、非アクティブ化するデータモジュールを選択してもよい。別の例として、ユーザインターフェースは、データモジュールをコピーする能力を提供して、新規データモジュールの（例えば、ゼロから始めるのではなくデータモジュールのコピーを編集することによる）より容易な作成を可能にしてもよい。一部の実装において、データ処理プラットフォーム２３０は、データモジュールの時期に基づいて、データソースの順に、使用される属性の順に、使用される関数の順に、最も最近適用／実行されたデータモジュールの順に、および／または同様に、既存のデータモジュールを配列してもよい。例としてデータ処理プラットフォーム２３０は、既存のデータモジュールのリストに、データモジュールに含まれる属性の数に基づいて配列された既存のデータモジュールを含めてもよい。
【００８４】
一部の実装において、ユーザインターフェースは、既存のデータモジュールを検索およびソートする能力を提供してもよい。例としてユーザインターフェースは、最も最近作成されたモジュールの順に、最も古いモジュールの順に、データソースの順に、使用される属性の順に、使用される関数の順に、最も最近適用／実行されたモジュールの順に、および／または同様に、ソートできるようにしてもよい。データモジュールは例として、データモジュールの名称で、データモジュールに関連するユーザで、データモジュールにおいて使用される属性で、データモジュールにおいて使用される関数で、および／または同様のもので検索されてもよい。これは、例として、ユーザがデータモジュールを迅速に識別して、他の場合であれば特定のデータモジュールを検索するために費やされるかもしれないコンピューティングリソースを節約することを可能にしてもよい。さらに、データモジュールをフィルタリングする能力は、他の場合であればデータモジュールのより大きなセットを処理するために使用されるであろうコンピューティングリソースを節約してもよい。
【００８５】
一部の実装において、ユーザインターフェースは、データモジュールを編集または作成するために、ユーザインターフェースを使用して様々な属性、関数、および／または同様のものを選択する能力を提供してもよい。例としてユーザインターフェースは、新規または既存のデータモジュールについて、様々な選択可能な属性、関数、時間ウィンドウ、グループ化、および／または同様のものを提供してもよい。一部の実装において、選択可能な属性は、ユーザデバイス２１０のユーザがユーザインターフェースを使用して、どの属性（単数または複数）がデータモジュールに使用され得るか選択することを可能にしてもよい。一部の実装において、選択可能な関数は、ユーザがユーザインターフェースを使用して、データ処理プラットフォーム２３０がデータモジュールを使用してデータを処理するときにどの関数（単数または複数）（例えば解析関数、ＫＰＩ関数、セキュリティ関数、および／または同様のもの）が実行されるべきかを選択することを可能にしてもよい。一部の実装において、選択可能な時間ウィンドウは、データモジュールの処理に含められるためにデータタイムスタンプ（例えばデータソース２２０から受信されるタイムスタンプおよび／またはデータを受信するとデータ処理プラットフォーム２３０によりデータに適用されるタイムスタンプ）がそれ以内に収まらなければならない時間のウィンドウ１つ以上をユーザが選択することを可能にしてもよい（例えばデータが受信されるときに受信されるデータに対してリアルタイムまたは準リアルタイムでデータモジュールを実行する、５分の時間ウィンドウ、１５分の時間ウィンドウ、１時間の時間ウィンドウなどのデータのウィンドウに対してデータモジュールを実行する、および／または同様のこと）。一部の実装において、選択可能なグループ化は、ユーザがユーザインターフェースを使用して、データモジュールが発生させる出力データがグループ化（例えば単数または複数の特定の属性、時間ウィンドウ、および／または同様のものによるグループ化）されるとよい形を選択することを可能にしてもよい。このように、ユーザインターフェースを介して、データモジュールを構成するための様々なオプションをユーザに提供することによって、データ処理プラットフォーム２３０は、データ処理プラットフォーム２３０により適用および／または実行され得るデータモジュールをユーザデバイス２１０を使用して容易に管理する能力をユーザに提供する。
【００８６】
例として、上記の例示の属性（例えば送信者のＩＰアドレス、ネットワークエラーコード、タイムスタンプ、受信者ＩＰアドレス、および受信者アプリケーション）を所与として、データ処理プラットフォーム２３０により提供されるユーザインターフェースは、ユーザが、５分のウィンドウ内の特定タイプのエラーコードをカウントして受信者ＩＰアドレスによりグループ化された当該エラーコードを出力するために（例えばデータ処理プラットフォーム２３０により）実行可能なデータモジュールを（例えばユーザデバイス２１０を介して）作成することを可能にしてもよい。本例では、使用される属性には、エラーコードが特定タイプに一致するかどうかを判断するためのエラーコード、どのエラーコードが選択された時間のウィンドウ内で発生したかを判断するためのタイムスタンプ、およびデータモジュールの出力をグループ化するのに用いられる受信者ＩＰアドレスが含まれ得る。例として、上述した形で構成されたデータモジュールは、データ処理プラットフォーム２３０に、データ処理プラットフォーム２３０により受信され特定のエラーコードを含むエラーログの数のカウントを示し受信者ＩＰアドレスによりグループ化された出力を、５分ごとに提供させてもよい。
【００８７】
一部の実装において、データ処理プラットフォーム２３０により提供されるユーザインターフェースは、１つ以上のデータモジュールに関連する１つ以上のアラームの設定を可能にしてもよい。例として、アラームは、データモジュールにおいて指定された１つ以上の条件が満足されるなどの特定のイベントの発生に基づいて、特定の実体（例えば特定のユーザデバイス２１０）に警告するように設定されてもよい。例として、上記の例示のデータモジュールにおいて、５分の時間ウィンドウ内で、特定タイプの５０を超えるエラーの発生が単一の受信者ＩＰアドレスに関連することに応答してユーザデバイス２１０に警告する、アラームが設定されてもよい。
【００８８】
一部の実装において、ユーザインターフェースは、ユーザが手動でのデータモジュール構成の詳細を提供することを可能にする、テキスト入力部分を含んでもよい。例としてテキスト入力部分は、ユーザが、属性、ブール式、条件式、および／または同様のものを含むカスタムのデータモジュール式を提供することを可能にしてもよい。これは、ユーザが、他の場合であれば構成するのが困難かもしれないカスタムのデータモジュールを提供すること、または（例えばユーザが、他のユーザインターフェース要素を使用してデータモジュールを構築するのではなく、ユーザインターフェースのテキスト入力部分に別のソースから取得したデータモジュールをコピーアンドペーストしたい状況において）ユーザインターフェースの他の要素を使用するよりも迅速となり得る形でカスタムのデータモジュールを提供することを可能にしてもよい。
【００８９】
一部の実装において、ユーザインターフェースは、データ処理プラットフォーム２３０がデータモジュールを検証するオプションを含んでもよい。例として、ユーザがデータモジュールを作成または編集する状況において、データ処理プラットフォーム２３０は、データモジュールにエラーがないこと、および問題なくデータ処理パイプラインに適用できることを確実にするように設計された形で、データモジュールを検証してもよい。これは、例として、データモジュール構文をチェックすること、データモジュールに含まれる属性が既存のデータソースから利用可能であることをチェックすること、データモジュールに対して選択された関数が利用可能であることをチェックすること、および／または同様のことを含んでもよい。検証が失敗する状況では、データ処理プラットフォーム２３０は、失敗をユーザに通知するデータを（例えばユーザインターフェースを介して）提供してもよく、さらに一部の実装において、訂正（例えば構文訂正、属性提案、および／または同様のもの）を提案してもよい。この状況において、データ処理プラットフォーム２３０は、他の場合であれば障害データモジュールを実行、さらに場合によっては再実行するために使用されるかもしれないコンピューティングリソースを、節約してもよい。
【００９０】
このように、データ処理プラットフォーム２３０は、ユーザデバイス２１０にユーザインターフェースを提供して、データ処理プラットフォーム２３０が、データ処理プラットフォーム２３０によりデータ処理のために使用され得るデータモジュールを迅速且つ容易に管理する能力を１人以上のユーザに提供することを可能にしてもよい。
【００９１】
図４に示されるように、プロセス４００は、識別された属性のうちの少なくとも１つに関連するデータモジュールを識別する情報をユーザデバイスから受信することを含んでもよい（ブロック４４０）。例として、データ処理プラットフォーム２３０は、新規データモジュールの情報、以前から存在するデータモジュールを識別する情報、以前から存在するデータモジュールの変更されたバージョンを識別する情報、および／または同様のものなど、データモジュールを識別する情報を、ユーザデバイス２１０から（例えばコンピューティングリソース２３５、プロセッサ３２０、入力コンポーネント３５０、および／または通信インターフェース３７０を介して）受信してもよい。データモジュールは、識別された属性のうちの少なくとも１つ（例えばブロック４２０にて識別された属性のうちの少なくとも１つ）に関連してもよい。データモジュールは、新規データモジュール（例えばユーザデバイス２１０およびデータ処理プラットフォーム２３０により提供されるユーザインターフェースを用いてユーザにより作成されるデータモジュール）または以前から存在するデータモジュール（例えば以前から存在する１つ以上のデータモジュールからアクティブ化または編集されたデータモジュール）であってもよい。
【００９２】
一部の実装において、データモジュールを識別する情報は、ブロック４３０にて提供されたユーザインターフェースを介して受信されてもよい。例としてデータ処理プラットフォーム２３０は、データモジュールを識別する情報をユーザデバイス２１０のユーザがユーザインターフェースを介してデータ処理プラットフォーム２３０に提供するために使用する、ウェブベースのグラフィカルユーザインターフェースを提供してもよい。一部の実装において、データモジュールを識別する情報は、グラフィカルユーザインターフェース以外の経路を通してデータ処理プラットフォーム２３０により受信されてもよい。例として、データモジュールを識別する情報は、様々な仕方でデータ処理プラットフォーム２３０に提供され得る（例えばデータモジュールを格納するデータストレージデバイスにアップロードされる、コマンドラインインターフェースを介して提供される、データモジュールのバッチで提供される、および／または同様のこと）。
【００９３】
一部の実装において、データモジュールの検証は、データモジュールを識別する情報を受信した後（例えばユーザインターフェースを介したデータ処理プラットフォーム２３０への提出後、またはその他）にデータ処理プラットフォーム２３０によって実行されてもよい。この状況において、データ処理プラットフォーム２３０は、失敗した検証に関して、ユーザインターフェースを介して、または別の仕方（例えば電子メール、コンソール出力、および／または同様のもの）で、ユーザに通知してもよい。
【００９４】
このように、データ処理プラットフォーム２３０は、識別された属性のうちの１つを含むデータモジュールをユーザデバイス２１０から受信して、データ処理プラットフォーム２３０がデータ処理パイプラインにデータモジュールを適用することを可能にしてもよい。
【００９５】
図４に示されるように、プロセス４００は、データ処理パイプラインにより使用されるデータモジュールをアクティブ化することを含んでもよい（ブロック４５０）。例としてデータ処理プラットフォーム２３０は、データ処理パイプラインにより使用されるデータモジュールを、（例えばコンピューティングリソース２３５、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０、出力コンポーネント３６０、および／または通信インターフェース３７０を介して）アクティブ化してもよい。例としてデータ処理プラットフォーム２３０は、データ処理パイプラインのデータマッピング・導出部分（または等価な部分）を実装するデバイスに、データモジュールを提供してもよい。データ処理パイプラインは、データ処理プラットフォーム２３０により、または一部の実装においては別のデータ処理サービスもしくはデータ処理プラットフォームにより実装されてもよい。このように、データモジュールをデータマッピングおよび導出に関連するデバイスに提供することにより、データ処理プラットフォーム２３０は、到着データのデータモジュールへのマッピングを可能にしてもよく、さらに一部の実装においては、データモジュールの（例えばデータ処理プラットフォーム２３０による）実行を可能にしてもよい。
【００９６】
一部の実装において、データ処理プラットフォーム２３０は、データ処理パイプラインのデータマッピング・導出部分により使用されるデータベースまたは他のストレージデバイスもしくはデータ構造にデータモジュールを格納することによって、データモジュールをアクティブ化してもよい。例として、データ処理パイプラインのデータマッピング・導出部分は、データ処理プラットフォーム２３０に含まれる１つ以上のデバイスにより実行されてもよく、少なくとも１つのデバイスが、データストレージから（例えばデータベースから）データモジュールを取得することを担当する。データストレージからデータモジュールを取得することは、データモジュールデータベースにおける変更および／または同様のことに基づいて定期的に実行されてもよく、さらに、データ処理パイプラインのデータマッピング・導出部分（およびデータ処理パイプラインの他の部分）により使用されるデータモジュールが最新であることを確実にするように設計された形で実行されてもよい。例として、データ処理プラットフォーム２３０は、データモジュールをキューに格納して、定期的に新規のおよび／または更新されたデータモジュールを探してキューを検索してもよい。新規のおよび／または更新されたデータモジュールを検出するのに応答して、データ処理プラットフォーム２３０は、新規のおよび／または更新されたデータモジュールをアクティブ化してもよい。
【００９７】
一部の実装においてデータ処理プラットフォーム２３０は、データモジュールをアクティブ化するのではなく、データ処理パイプラインからデータモジュールを除去してもよい（例えばデータモジュールデータベースからデータモジュールを削除する、データモジュールを非アクティブ化する、および／または同様のこと）。例として、ユーザデバイス２１０のユーザがデータモジュールを（例えばユーザインターフェースを介して）非アクティブ化および／または削除する状況において、データ処理プラットフォーム２３０は、データモジュールのデータベースからデータモジュールを削除し、さらに／または非アクティブ化されたものとしてデータモジュールにフラグを立ててもよい。
【００９８】
このように、データ処理プラットフォーム２３０は、データ処理パイプラインにより使用されるデータモジュールをアクティブ化して、データ処理プラットフォーム２３０がデータモジュールに基づく１つ以上のアクションを実行することを可能にしてもよい。
【００９９】
図４に示されるように、プロセス４００は、データモジュールに基づくアクションを実行することを含んでもよい（ブロック４６０）。例としてデータ処理プラットフォーム２３０は、データモジュールに基づく１つ以上のアクションを（例えばコンピューティングリソース２３５、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０、出力コンポーネント３６０、および／または通信インターフェース３７０を介して）実行してもよい。例としてデータモジュールは、データ処理プラットフォーム２３０がデータモジュールに関連する到着データを処理すべき形、データ処理プラットフォーム２３０がデータモジュールに関連するデータを格納すべき形、データ処理プラットフォーム２３０がデータモジュールに関連する情報をレポートすべき形、および／または同様のものを指定してもよい。この状況において、データ処理プラットフォーム２３０は、データモジュールにより指定されるアクションを実行してもよい。
【０１００】
一部の実装において、データ処理プラットフォーム２３０は、データモジュールに基づいて到着データを処理してもよい。例としてデータ処理プラットフォーム２３０は、データモジュールに基づいてデータマッピングおよび／または導出を実行してもよい。この状況において、データ処理パイプラインのデータマッピング部分は、受信されたデータを構文解析して、受信されたデータに含まれる属性を識別して、受信されたデータの各部分をデータモジュールにより指定される属性に基づいてマッピングしてもよい。例として、データモジュールが３つの属性を必要とする場合、データマッピング部分は、指定された属性を有する到着データを（例えば１つ以上のデータソース２２０から）取得して、到着データをデータモジュールにマッピングしてもよい。
【０１０１】
一部の実装において、データ処理プラットフォーム２３０は、データモジュールに基づく１つ以上の計算を実行してもよい。例としてデータ処理プラットフォーム２３０は、データモジュールにマッピングされたデータに対して、データモジュールにより指定される１つ以上の関数を実行してもよい。この状況において、データ処理パイプラインの計算部分が、データモジュールにより指定される関数を実行してもよい。例として計算部分は、解析関数、ＫＰＩ関数、コンピュータセキュリティ関数、および／または同様のものを実行してもよい。上記の例示のデータモジュール（例えばブロック４３０において記載された）を使用して、データ処理プラットフォーム２３０は、５分の各ウィンドウの中で特定タイプのエラーコードをカウントし、受信者ＩＰアドレスによってエラーコードをグループ化する関数を実行してもよい。別の例として、データ処理プラットフォームは、ネットワークデータから１つ以上のキーパフォーマンス指標を識別するように設計された関数を実行してもよい。
【０１０２】
一部の実装において、データ処理プラットフォーム２３０は、データモジュールに基づく情報を格納してもよい。例として、データ処理プラットフォーム２３０は、データモジュールに関連するデータを格納するために、データ処理パイプラインのデータアクセス部分を実行してもよい。この状況においてデータ処理プラットフォーム２３０は、計算を実行するために使用されたデータ（例えば到着データ）、および／またはデータ処理パイプラインの計算部分でのデータモジュールの実行からの出力データ（例えば統計などの出力データ）を格納してもよい。上記の例示のデータモジュールを使用して、データ処理プラットフォーム２３０は、データモジュールに対する入力として使用されたエラーログを格納し、受信者ＩＰアドレスによりグループ化されたエラーメッセージのカウントを格納してもよい。
【０１０３】
一部の実装において、データ処理プラットフォーム２３０は、データモジュールに基づく情報を提供してもよい。例としてデータ処理プラットフォーム２３０は、データモジュールを使用したデータ処理の結果に基づく情報を提供するために、データ処理パイプラインのデータ消費部分を実行してもよい。この状況において、データ処理パイプラインのデータ消費部分は、データをユーザデバイス２１０に利用可能にしてもよく、ユーザデバイス２１０に通知してもよく、アラートをユーザデバイス２１０に送信してもよく、および／または同様のことをしてもよい。例としてデータ処理プラットフォーム２３０は、データ処理結果の視覚的表現を（例えばユーザデバイス２１０で）表示させるデータを提供してもよい。データ処理プラットフォーム２３０がキーパフォーマンス指標を識別する状況では、例としてデータ処理プラットフォーム２３０は、キーパフォーマンス指標の視覚的表現を（例えばウェブページ、電子メール通信、および／または同様のものを介して）見せるデータをユーザデバイス２１０に提供してもよい。
【０１０４】
一部の実装において、データ処理プラットフォーム２３０は、デバイスにアクションを実行させるデータを、データモジュールに基づいて提供してもよい。例として、データ処理プラットフォーム２３０により提供されるデータは、デバイス（例えばコンピューティングデバイス、セキュリティデバイス、ネットワークデバイス、および／または同様のもの）に、電源投入、起動、アクティブ化、非アクティブ化、電源遮断、プログラム実行、および／または同様のことをさせてもよい。これは、例として、データ処理プラットフォーム２３０が、問題（例えば障害のあるネットワークデバイス）を検出するためにデータ処理パイプラインにより実行されるデータモジュールを使用し、問題に対する解決策（例えば障害のあるネットワークデバイスに取って代わるネットワークデバイスをアクティブ化する）をトリガし得るデータを送信して、障害回復サービスの少なくとも一部を提供することを可能にしてもよい。
【０１０５】
一部の実装においてデータ処理プラットフォーム２３０は、データモジュールに基づくデータ処理パイプラインの１つ以上の部分の実行を中止してもよい。例として、データモジュールが削除または非アクティブ化される状況では、データ処理プラットフォーム２３０は、データモジュールを使用して到着データを処理するのを停止し、データモジュールに基づいて計算を実行するのを停止し、データモジュールに基づいて情報を格納するのを停止し、さらに／またはデータモジュールに基づいて情報を提供するのを停止してもよい。
【０１０６】
このようにデータ処理プラットフォーム２３０は、データモジュールに基づく１つ以上のアクションを実行し、データ処理プラットフォーム２３０がデータモジュールを使用して、データモジュールに基づいてデータ処理に関し様々なアクションを実行することを可能にしてもよい。
【０１０７】
到着データから使用可能な属性を取得し、それらの属性をユーザに提供し、データ処理パイプラインにおけるデータモジュールの迅速な構成およびアクティブ化を可能にすることにより、データ処理プラットフォーム２３０は、多大な人的リソースおよびコンピューティングデバイスリソースの節約を可能にしてもよい。例として、属性の識別およびユーザインターフェースの提示は、専門技術を持たない人員が、データ処理開発者またはその他技術専門家に頼らずにデータモジュールを作成およびアクティブ化することを可能にしてもよい。さらに、他の場合であればデータの格納および分析に使用されるであろう処理リソースおよびデータストレージリソースを含め、到着データからの有用な属性の識別を可能にするために使用されるかもしれないコンピューティングリソースが、節約されてもよい。ユーザにより定義されたデータモジュールを取り込んでデータ処理パイプラインによる使用のためにデータモジュールを直接アクティブ化する能力は、管理者または開発者がデータ処理プラットフォーム２３０と対話する必要性をなくしてもよい。さらに、迅速にデータモジュールを使用してデータモジュールにより指定される機能を実行する能力は、他の場合であればデータモジュールの使用およびデータモジュールにより指定される機能の実行のためのソリューションを開発するために使用されるかもしれない多大なデータ処理リソース、ネットワークリソース、およびデータストレージリソースを節約し得る。
【０１０８】
前述の開示は、例示および説明を提供するが、網羅的であることも、実装を開示された厳密な形態に限定することも意図していない。上記の開示を考慮して変更および変形が可能であり、または実装の実施から習得されるかもしれない。
【０１０９】
本願明細書で使用されるとき、コンポーネントという用語は、ハードウェア、ファームウェア、および／またはハードウェアとソフトウェアとの組み合わせとして広く解釈されるよう意図される。
【０１１０】
一部の実装は、閾値と関連して本願明細書に記載される。本願明細書で使用されるとき、閾値を満たすとは、値が閾値より大きいこと、閾値を超えること、閾値より高いこと、閾値以上であること、閾値未満であること、閾値より少ないこと、閾値より低いこと、閾値以下であること、閾値と等しいこと、または同様のことを指すことができる。
【０１１１】
特定のユーザインターフェースが本願明細書に記載され、且つ／または図面に示された。ユーザインターフェースは、グラフィカルユーザインターフェース、非グラフィカルユーザインターフェース、テキストベースのユーザインターフェース、または同様のものを含んでもよい。ユーザインターフェースは、情報を表示のために提供してもよい。一部の実装においてユーザは、ユーザインターフェースを表示のために提供するデバイスの、入力コンポーネントを介して入力を提供することなどにより、情報と対話してもよい。一部の実装において、ユーザインターフェースは、デバイスおよび／またはユーザにより構成可能であってもよい（例えばユーザがユーザインターフェースのサイズ、ユーザインターフェースを介して提供される情報、ユーザインターフェースを介して提供される情報のポジションなどを変更してもよい）。さらに、または代わりに、ユーザインターフェースは、標準構成、ユーザインターフェースが表示されるデバイスのタイプに基づく特定の構成、および／またはユーザインターフェースが表示されるデバイスに関連する性能および／または仕様に基づく構成のセットに予め構成されてもよい。
【０１１２】
当然のことながら、本願明細書に記載されたシステムおよび／または方法は、異なる形態のハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせに実装されてもよい。これらのシステムおよび／または方法を実装するために使用される実際の専用制御ハードウェアまたはソフトウェアコードは、実装を限定するものではない。したがって、システムおよび／または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本願明細書に記載されたが、当然のことながら、ソフトウェアおよびハードウェアを、本願明細書の記載に基づきシステムおよび／または方法を実装するよう設計できる。
【０１１３】
特徴の特定の組み合わせがクレームに記載され且つ／または明細書で開示されるが、これらの組み合わせは可能な実装の開示を限定することを意図されたものではない。実際には、これらの特徴の多くが、具体的にクレームに記載および／または明細書に開示されなかった仕方で組み合わされてもよい。下記に列挙される各従属クレームは、１つのみのクレームに直接従属するかもしれないが、考えられる実装の開示は、クレームセットの中の他のすべてのクレームと組み合わせた各従属クレームを含む。
【０１１４】
本願明細書で使用されるいずれの要素、動作、または命令も、重要または必須とは、そのように明示的に記載されない限りは、解釈されてはならない。さらに、本願明細書で使用されるとき、冠詞「或る（ａおよびａｎ）」は、１つ以上の項目を含むよう意図され、「１つ以上の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」と交換可能なように使用され得る。さらに、本願明細書に記載されるとき、「セット（ｓｅｔ）」という用語は、１つ以上の項目（例えば関係する項目、無関係の項目、関係する項目と無関係の項目との組み合わせなど）を含むよう意図され、「１つ以上の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」と交換可能なように使用され得る。１つのみの項目が意図される場合、「１つの（ｏｎｅ）」または同様の言語が使用される。さらに、本願明細書で使用されるとき、「有する（ｈａｓ、ｈａｖｅ、ｈａｖｉｎｇ）」という用語または同様のものは、非限定的な用語であるものと意図される。さらに、「基づく（ｂａｓｅｄ  ｏｎ）」という語句は、別段の記載が明示的にされない限り「少なくとも部分的に基づく（ｂａｓｅｄ，ａｔ  ｌｅａｓｔ  ｉｎ  ｐａｒｔ，ｏｎ）」を意味するよう意図される。
【図１Ａ】
2019197533.tif 000003
【図１Ｂ】
2019197533.tif 000004
【図１Ｃ】
2019197533.tif 000005
【図２】
2019197533.tif 000006
【図３】
2019197533.tif 000007
【図４】
2019197533.tif 000008
【手続補正書】
【提出日】令和1年7月8日(2019.7.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１８
【補正方法】変更
【補正の内容】
【請求項１８】
前記データモジュールを実行するステップは、
前記デバイスにより受信された前記データに対して前記データモジュールに含まれる前記関数を実行するステップ
を含む、請求項１７に記載の方法。
【外国語明細書】
2019197533000001.pdf
2019197533000002.pdf
2019197533000003.pdf
2019197533000004.pdf