特許第6967541号(P6967541)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アクセンチュア グローバル ソリューションズ リミテッドの特許一覧

特許6967541データ処理システムのデータモジュール管理
<>
  • 特許6967541-データ処理システムのデータモジュール管理 図000002
  • 特許6967541-データ処理システムのデータモジュール管理 図000003
  • 特許6967541-データ処理システムのデータモジュール管理 図000004
  • 特許6967541-データ処理システムのデータモジュール管理 図000005
  • 特許6967541-データ処理システムのデータモジュール管理 図000006
  • 特許6967541-データ処理システムのデータモジュール管理 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6967541
(24)【登録日】2021年10月27日
(45)【発行日】2021年11月17日
(54)【発明の名称】データ処理システムのデータモジュール管理
(51)【国際特許分類】
   G06F 3/0484 20130101AFI20211108BHJP
   G06F 16/903 20190101ALI20211108BHJP
   G06F 16/908 20190101ALI20211108BHJP
【FI】
   G06F3/0484
   G06F16/903
   G06F16/908
   G06F3/0484 170
【請求項の数】19
【外国語出願】
【全頁数】30
(21)【出願番号】特願2019-41189(P2019-41189)
(22)【出願日】2019年3月7日
(65)【公開番号】特開2019-197533(P2019-197533A)
(43)【公開日】2019年11月14日
【審査請求日】2019年3月7日
(31)【優先権主張番号】15/917,336
(32)【優先日】2018年3月9日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】516172237
【氏名又は名称】アクセンチュア グローバル ソリューションズ リミテッド
(74)【代理人】
【識別番号】100102406
【弁理士】
【氏名又は名称】黒田 健二
(74)【代理人】
【識別番号】100100240
【弁理士】
【氏名又は名称】松本 孝
(72)【発明者】
【氏名】ベリーニ,ダビデ グリエルモ
(72)【発明者】
【氏名】リッヅォ,ダニーロ
(72)【発明者】
【氏名】ミラグリア,シモーネ
【審査官】 梅本 章子
(56)【参考文献】
【文献】 特開2014−081759(JP,A)
【文献】 米国特許出願公開第2006/0112175(US,A1)
【文献】 特開2004−240664(JP,A)
【文献】 特開2010−226181(JP,A)
【文献】 中国特許出願公開第1532763(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0484
G06F 16/903
G06F 16/908
G06Q 10/10
G06F 13/00
(57)【特許請求の範囲】
【請求項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】
前記受信されたデータは、テキストの文字列を少なくとも1つ含む、請求項1に記載のデバイス。
【請求項3】
前記データソースは、ストリーミングデータのソースであり、
前記受信されたデータは、前記デバイスにストリーミングされる、請求項1に記載のデバイス。
【請求項4】
前記データソースは、バッチデータのソースであり、
前記受信されたデータは、データのバッチとして受信され、
前記データのバッチは、複数のデータレコードを含む、請求項1に記載のデバイス。
【請求項5】
前記1つ以上のプロセッサは、前記受信されたデータに含まれる前記属性を識別するとき、
前記受信されたデータに含まれる前記属性を、前記受信されたデータに含まれるメタデータに基づいて識別する、請求項1に記載のデバイス。
【請求項6】
前記1つ以上のプロセッサは、前記受信されたデータに含まれる前記属性を識別するとき、
前記受信されたデータに含まれる前記属性を、前記受信されたデータに対して実行される解析の結果に基づいて識別する、請求項1に記載のデバイス。
【請求項7】
前記1つ以上のプロセッサはさらに、
前記属性のうちの1つを、前記更新されたデータモジュールが前記属性のうちの前記1つを処理するように構成されていることに基づいて、前記更新されたデータモジュールにマッピングする、請求項1に記載のデバイス。
【請求項8】
前記1つ以上のプロセッサは、前記到着データを更新されたデータモジュールにマッピングするとき、
前記到着データ内で識別された前記属性が、前記更新されたデータモジュールに含まれる当該属性と一致することを判断する、請求項1に記載のデバイス。
【請求項9】
命令を格納する非一時的コンピュータ可読媒体であって、前記命令は、
1つ以上のプロセッサによって実行されると前記1つ以上のプロセッサに、
ネットワークデータソースからデータを受信することと、
前記受信されたデータに含まれる属性を識別することであって、前記受信されたデータに含まれる属性を識別するとき、前記受信されたデータに含まれる属性を、以前にネットワークデータソースによって提供された他の情報に基づいて識別する、前記受信されたデータに含まれる属性を識別することと、
ユーザインターフェースをユーザデバイスに提供することであって、
前記ユーザインターフェースは、
前記属性のうちの少なくとも1つの属性、
更新されたデータモジュールから分離されたデータ処理パイプラインによって実行される少なくとも1つの関数、
前記少なくとも1つの属性のある属性に関連する少なくとも1つの条件、および
前記少なくとも1つの関数の実行に関連する少なくとも1つの時間ウィンドウ、
のうちの少なくとも1つの選択および/または変更によって、ユーザインターフェース要素の1つ以上との相互作用により、更新されたデータモジュールの作成を可能にする前記ユーザインターフェース要素を提供する、前記ユーザインターフェース
をユーザデバイスに提供することと、
前記更新されたデータモジュールの構文が正確であるか否かを判断することにより、前記少なくとも1つの選択および/または変更に基づいて、前記更新されたデータモジュールを検証することであって、前記構文は前記少なくとも1つの属性、前記少なくとも1つの関数、または前記少なくとも1つの条件のうちの1つ以上を指定する、前記更新されたデータモジュールを検証することと、
前記ユーザデバイスから、および前記1つ以上のユーザインターフェース要素のうちの少なくとも1つとの相互作用に基づいて、前記更新されたデータモジュールを識別する情報を受信することであって、
更新されたデータモジュールは、
前記属性を含み、
前記少なくとも1つの条件のうちのある条件を定義し、
前記少なくとも1つの時間ウィンドウに基づいてデータ処理パイプラインにより実行される、前記少なくとも1つの関数のうちのある関数を定義する、
前記更新されたデータモジュールを識別する情報を受信することと、
前記更新されたデータモジュールをキューに格納することと、
前記更新されたデータモジュールが前記キューに格納されていることに基づいて、前記1つ以上のプロセッサにより実装される前記データ処理パイプラインによる使用のために前記更新されたデータモジュールをアクティブ化することと、
到着データ内の前記属性を識別するために、到着データを構文解析することと、
前記到着データ内の前記属性を識別することに基づいて、前記到着データを前記更新されたデータモジュールにマッピングすることと、
前記到着データを前記更新されたデータモジュールにマッピングすることに基づいて、前記データ処理パイプラインおよび前記データモジュールを使用して、前記到着データに対してアクションを実行することであって、前記アクションは、前記少なくとも1つの時間ウィンドウのうちのある時間ウィンドウの間に前記到着データに前記関数を実行することを含む、前記到着データに対してアクションを実行することと、
をさせる1つ以上の命令を含む、非一時的コンピュータ可読媒体。
【請求項10】
前記ユーザインターフェースはさらに、
前記属性に関連する1つ以上のグループ化、または
前記属性に関連する1つ以上のセグメント
のうちの少なくとも1つの選択を可能にする、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記データモジュールはさらに、
前記関数に関連する1つ以上のグループ化、または
前記関数に関連する1つ以上のセグメント
のうちの1つ以上を定義する、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記1つ以上のプロセッサに前記アクションを実行させる前記1つ以上の命令は、前記1つ以上のプロセッサに、
1つ以上のキーパフォーマンス指標を識別すること
をさせる、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記1つ以上の命令はさらに、前記1つ以上のプロセッサに、
前記1つ以上のキーパフォーマンス指標の視覚的表現を提供すること
をさせる、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記1つ以上の命令は、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサにさらに、
前記構文を評価することと、
構文を評価することに基づいて、前記データモジュールが有効かどうかを示す通知を前記ユーザデバイスに提供することと、
をさせる、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記1つ以上のプロセッサに前記到着データを更新されたデータモジュールにマッピングさせる前記1つ以上の命令は、前記1つ以上のプロセッサにさらに、
前記到着データ内で識別された前記属性が、前記更新されたデータモジュールに含まれる当該属性と一致することを判断すること、
をさせる、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項16】
ネットワークデータソースからデータを受信するステップと、
前記受信されたデータに含まれる属性を識別するステップであって、前記受信されたデータに含まれる属性を識別するとき、前記受信されたデータに含まれる属性を、以前にネットワークデータソースによって提供された他の情報に基づいて識別する、ステップと、
デバイスによってユーザデバイスにユーザインターフェースを提供するステップであって、
前記ユーザインターフェースは、
前記属性のうちの少なくとも1つの属性、
更新されたデータモジュールから分離されたデータ処理パイプラインによって実行される少なくとも1つの関数、
前記少なくとも1つの属性のある属性に関連する少なくとも1つの条件、および
前記少なくとも1つの関数の実行に関連する少なくとも1つの時間ウィンドウ、
のうちの少なくとも1つの選択および/または変更によって、ユーザインターフェース要素の1つ以上との相互作用により、更新されたデータモジュールの作成を可能にする前記ユーザインターフェース要素を提供する、前記提供するステップと、
前記更新されたデータモジュールの構文が正確であるか否かを判断することにより、前記少なくとも1つの選択および/または変更に基づいて、前記更新されたデータモジュールを検証するステップであって、前記構文は前記少なくとも1つの属性、前記少なくとも1つの関数、または前記少なくとも1つの条件のうちの1つ以上を指定する、前記更新されたデータモジュールを検証するステップと、
前記デバイスによって前記ユーザデバイスから、および前記1つ以上のユーザインターフェース要素のうちの少なくとも1つとの相互作用に基づいて、前記更新されたデータモジュールを識別する情報を受信するステップであって、
前記更新されたデータモジュールは、
前記属性を含み、
前記少なくとも1つの条件のうちのある条件を定義し、
前記少なくとも1つの時間ウィンドウに基づいて、データ処理パイプラインにより実行される、前記少なくとも1つの関数のうちのある関数を定義する、
前記更新されたデータモジュールを識別する情報を受信するステップと、
前記更新されたデータモジュールをキューに格納するステップと、
前記更新されたデータモジュールが前記キューに格納されていることに基づいて、前記デバイスにより実装される前記データ処理パイプラインによる使用のために前記更新されたデータモジュールを前記デバイスによってアクティブ化するステップと、
到着データ内の前記属性を識別するために、到着データを構文解析するステップと、
前記到着データ内の前記属性を識別することに基づいて、前記到着データを前記更新されたデータモジュールにマッピングするステップと、
前記到着データを前記更新されたデータモジュールにマッピングすることに基づいて、前記データ処理パイプラインおよび前記更新されたデータモジュールを使用して、前記到着データに対してアクションを実行するステップであって、前記アクションは、前記少なくとも1つの時間ウィンドウのうちのある時間ウィンドウの間に前記到着データに前記関数を実行することを含む、前記到着データに対してアクションを実行するステップと、
を含む方法。
【請求項17】
前記アクションを実行するステップは、
出力データであって、
前記データモジュールの実行に基づき、且つ
前記データモジュールにより指定される、
前記出力データを、別個のデバイスに提供するステップ
を含み、
前記別個のデバイスは、前記データモジュールにより指定される、請求項16に記載の方法。
【請求項18】
前記ユーザインターフェースから受信された入力に基づいて前記データモジュールを非アクティブ化するステップ
をさらに含む、請求項16に記載の方法。
【請求項19】
前記到着データを更新されたデータモジュールにマッピングするステップは、
前記到着データ内で識別された前記属性が、前記更新されたデータモジュールに含まれる当該属性と一致することを判断するステップを含む、請求項16に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、全般的に、データ処理システムのデータモジュール管理に関する。
【背景技術】
【0002】
ストリーム処理は、データが発生しまたは受信されるときにデータを処理するコンピュータプログラミングのパラダイムである。ストリーム処理は、場合によっては大量のデータが、準リアルタイムで(例えば解析ツールにより)処理されることを可能にする。バッチ処理は、時間をかけて収集されたものでもよいデータを処理することを伴い、処理するのに長時間かかる可能性がある、且つ/または準リアルタイムで処理される必要のない、非常に大量のデータを処理するために(例えば解析ツールにより)使用され得る。
【発明の概要】
【発明が解決しようとする課題】
【0003】
データ処理システムは、それらがデータのストリームおよび/またはバッチで受信したデータを処理するかどうかにかかわらず、様々な関数の実行を可能にする。データ処理システムは、様々な有用な関数を実行できるが、使用可能な属性を生データから取得すること、およびデータ処理システムにより実行される関数を設計、構成、およびアクティブ化することに多大な人的リソースおよびコンピューティングリソースが使用され得る。
【課題を解決するための手段】
【0004】
一部の実装によれば、デバイスは、1つ以上のメモリデバイスと、1つ以上のメモリデバイスに通信接続された1つ以上のプロセッサと、を含んでもよく、1つ以上のプロセッサは、データソースからデータを受信することと、受信されたデータに含まれる属性を識別することと、ユーザインターフェースであって、属性のうちデータモジュールにより使用される少なくとも1つの属性の選択をユーザインターフェース要素の1つ以上との相互作用により可能にするユーザインターフェース要素を提供する、ユーザインターフェースを、ユーザデバイスに提供することと、データモジュールであって、少なくとも1つの属性を処理するように構成され、データ処理パイプラインにより実行される関数を定義する、データモジュールを識別する情報を、ユーザデバイスから受信することと、デバイスにより実装されるデータ処理パイプラインによる使用のためにデータモジュールをアクティブ化することと、データ処理パイプラインおよびデータモジュールを使用して、到着データに対してアクションを実行することと、をする。
【0005】
一部の実装によれば、デバイスは、1つ以上のメモリデバイスと、1つ以上のメモリデバイスに通信接続された1つ以上のプロセッサと、を含んでもよく、1つ以上のプロセッサは、ネットワークデータソースからネットワークデータを受信することと、受信されたデータに含まれる属性を識別することと、ユーザインターフェースであって、更新されたデータモジュールを作成するために、属性のうちの少なくとも1つの属性の選択および/または変更をユーザインターフェース要素の1つ以上との相互作用により可能にするユーザインターフェース要素を提供する、ユーザインターフェースを、ユーザデバイスに提供することと、更新されたデータモジュールであって、少なくとも1つの属性を処理するように構成され、データ処理パイプラインにより実行される関数を定義する、更新されたデータモジュールを識別する情報を、ユーザデバイスから受信することと、更新されたデータモジュールをキューに格納することと、更新されたデータモジュールを探してキューを定期的に検索することと、更新されたデータモジュールを、更新されたデータモジュールがキューに格納されていることに応答して、デバイスにより実装されるデータ処理パイプラインによる使用のためにアクティブ化することと、データ処理パイプラインおよび更新されたデータモジュールを使用して、到着データに対してアクションを実行することと、をする。
【0006】
上記のデバイスの実装において、受信されたデータは、テキストの文字列を少なくとも1つ含んでもよい。
【0007】
さらに、上記のデバイスの実装において、データソースは、ストリーミングデータのソースであってもよく、受信されたデータは、デバイスにストリーミングされてもよい。
【0008】
上記のデバイスの実装において、データソースは、バッチデータのソースであってもよく、受信されたデータは、データのバッチとして受信されてもよく、データのバッチは、複数のデータレコードを含む。
【0009】
さらに、上記のデバイスの実装において、1つ以上のプロセッサは、受信されたデータに含まれる属性を識別するとき、受信されたデータに含まれる属性を、以前にデータソースによってデバイスに提供された情報に基づいて識別してもよい。
【0010】
上記のデバイスの実装において、1つ以上のプロセッサは、受信されたデータに含まれる属性を識別するとき、受信されたデータに含まれる属性を、受信されたデータに含まれるメタデータに基づいて識別してもよい。
【0011】
さらに、上記のデバイスの実装において、1つ以上のプロセッサは、受信されたデータに含まれる属性を識別するとき、受信されたデータに含まれる属性を、受信されたデータに対して実行される解析の結果に基づいて識別してもよい。
【0012】
上記のデバイスの実装において、1つ以上のプロセッサはさらに、属性のうちの1つを、データモジュールが属性のうちの1つを処理するように構成されていることに基づいて、データモジュールにマッピングしてもよい。
【0013】
一部の実装によれば、非一時的コンピュータ可読媒体は命令を格納してもよく、命令は、1つ以上のプロセッサによって実行されると1つ以上のプロセッサに、ユーザインターフェースであって、1つ以上のプロセッサに提供されたデータに含まれるものとして以前に識別された少なくとも1つの属性の選択をユーザインターフェース要素の1つ以上との相互作用により可能にするユーザインターフェース要素を提供する、ユーザインターフェースをユーザデバイスに提供することと、データモジュールであって、少なくとも1つの属性の中の属性を含み、データ処理パイプラインにより実行される関数を定義する、データモジュールを識別する情報を、ユーザデバイスから受信することと、1つ以上のプロセッサにより実装されるデータ処理パイプラインによる使用のためにデータモジュールをアクティブ化することと、データ処理パイプラインおよびデータモジュールを使用して、到着データに対してアクションを実行することと、をさせる1つ以上の命令を含む。
【0014】
上記の非一時的コンピュータ可読媒体の実装において、ユーザインターフェースはさらに、データ処理パイプラインにより実行される1つ以上の関数、属性に関連する1つ以上の条件、1つ以上の関数の実行に関連する1つ以上の時間ウィンドウ、属性に関連する1つ以上のグループ化、または属性に関連する1つ以上のセグメントのうちの少なくとも1つの選択を可能にしてもよい。
【0015】
さらに、上記の非一時的コンピュータ可読媒体の実装において、データモジュールはさらに、関数に関連する1つ以上の条件、関数に関連する1つ以上の時間ウィンドウ、関数に関連する1つ以上のグループ化、または関数に関連する1つ以上のセグメントのうちの1つ以上を定義してもよい。
【0016】
上記の非一時的コンピュータ可読媒体の実装において、1つ以上のプロセッサにアクションを実行させる1つ以上の命令は、1つ以上のプロセッサに、1つ以上のキーパフォーマンス指標を識別することをさせてもよい。
【0017】
さらに、上記の非一時的コンピュータ可読媒体の実装において、1つ以上の命令は、1つ以上のプロセッサにさらに、1つ以上のキーパフォーマンス指標の視覚的表現を提供することをさせてもよい。
【0018】
上記の非一時的コンピュータ可読媒体の実装において、1つ以上の命令は、1つ以上のプロセッサにより実行されると、1つ以上のプロセッサにさらに、データモジュールが有効かどうかを判断するためにデータモジュールの構文を評価することと、データモジュールが有効かどうかを示す通知をユーザデバイスに提供することと、をさせてもよい。
【0019】
一部の実装によれば、方法は、デバイスによってユーザデバイスにユーザインターフェースを提供するステップであって、ユーザインターフェースは、デバイスに提供されたデータに含まれるものとして以前に識別された少なくとも1つの属性、およびデータ処理パイプラインにより実行される少なくとも1つの関数の選択を可能にする、提供するステップと、データモジュールを識別する情報を、デバイスによってユーザデバイスから受信するステップであって、データモジュールは、少なくとも1つの関数の中の関数、および少なくとも1つの属性の中の属性を含む、受信するステップと、デバイスにより実装されるデータ処理パイプラインによる使用のためにデータモジュールをデバイスによってアクティブ化するステップと、データモジュールに基づくアクションを実行するステップと、を含んでもよい。
【0020】
上記の方法の実装において、アクションを実行するステップは、デバイスにより受信されたデータを、データモジュールに基づいてマッピングするステップを含んでもよく、データは、属性を含む。
【0021】
さらに、上記の方法の実装において、アクションを実行するステップは、デバイスにより受信されたデータに対してデータモジュールを実行するステップを含んでもよい。
【0022】
上記の方法の実装において、データモジュールを実行するステップは、デバイスにより受信されたデータに対してデータモジュールに含まれる関数を実行するステップを含んでもよい。
【0023】
さらに、上記の方法の実装において、アクションを実行するステップは、出力データであって、データモジュールの実行に基づき、且つデータモジュールにより指定される、出力データを、別個のデバイスに提供するステップを含んでもよく、別個のデバイスは、データモジュールにより指定される。
【0024】
上記の方法の実装において、方法は、ユーザインターフェースから受信された入力に基づいてデータモジュールを非アクティブ化するステップをさらに含んでもよい。
【図面の簡単な説明】
【0025】
図1A】本願明細書に記載された例示の実装の概要の図である。
図1B】本願明細書に記載された例示の実装の概要の図である。
図1C】本願明細書に記載された例示の実装の概要の図である。
図2】本願明細書に記載されたシステムおよび/または方法が実装されてもよい例示の環境の図である。
図3図2の1つ以上のデバイスの例示のコンポーネントの図である。
図4】データ処理システムのデータモジュール管理を提供する例示のプロセスのフローチャートである。
【発明を実施するための形態】
【0026】
以下の例示の実装の詳細な説明は、添付の図面を参照する。異なる図面にある同じ参照番号は、同じまたは類似の要素を特定することがある。
【0027】
データ処理システムは、それらがデータのストリームおよび/またはバッチで受信したデータを処理するかどうかにかかわらず、様々な関数の実行を可能にする。データ処理システムにより実行され得る例示の関数には、データから有意味の情報および/またはパターンを導出する解析関数、データに基づくパフォーマンスの評価を可能にするキーパフォーマンス指標(KPI:key performance indicator)関数、データから潜在的な脅威を識別し得るコンピュータおよびネットワークセキュリティ関数、および/または同様のものが含まれる。データ処理システムは、様々な有用な関数を実行できるが、使用可能な属性を生データから取得すること、およびデータ処理システムにより実行される関数を設計、構成、およびアクティブ化することに多大な人的リソースおよびコンピューティングリソースが使用され得る。
【0028】
本願明細書に記載される一部の実装は、到着するデータのバッチおよび/またはストリームに関連するデータ属性を識別し、それをユーザが利用できるようにすることができる、データ処理プラットフォームを提供する。データ処理プラットフォームは、ユーザがデータ属性を使用してデータモジュール(例えばデータを処理するために使用され得る関数、属性、および/または条件を定義するデータ)を定義することを可能にするユーザインターフェースをユーザに提供してもよく、データ処理プラットフォームは、データモジュールを使用して、特定の関数を実行するなどの、データモジュールに基づくアクションを実行してもよい。例としてデータ処理プラットフォームは、データソースからデータを(例えばウェブサーバからエラーログを)受信して、受信されたデータに含まれる属性を識別してもよい(例えばエラーログファイルの各行はタイムスタンプ、クライアント識別子、おおびエラーコードなどの属性を含む文字の文字列を含むかもしれない)。次にデータ処理プラットフォームは、ユーザデバイスに、識別された属性に基づいてユーザデバイスのユーザがデータモジュールを定義することを可能にする、ユーザインターフェースを提供してもよい(例えばユーザは、特定のエラーコードに一致するエラーが特定期間内に閾値数発生するのに基づいてアラームをトリガするように設計されたデータモジュールを定義してもよいであろう)。ユーザデバイスからユーザインターフェースを介してデータモジュールを受信した後、データ処理プラットフォームは、データモジュールを(例えば到着するバッチおよび/またはエラーログのストリームに対して適用されるデータモジュールのデータベースにデータモジュールを格納することによって)適用してもよい。その結果、データ処理プラットフォームは、到着データに対してデータモジュールを使用するなど、データモジュールに基づくアクションを実行してもよい(例えば到着するエラーログの分析に基づいて、データモジュールにより指定された条件が満足された場合にアラームを発生させるように設計された形で)。
【0029】
到着データから使用可能な属性を取得し、それらの属性をユーザに提供し、データ処理パイプラインにおけるデータモジュールの迅速な構成およびアクティブ化を可能にすることにより、データ処理プラットフォームは、多大な人的リソースおよびコンピューティングデバイスリソースの節約を可能にしてもよい。例として、属性の識別およびユーザインターフェースの提示は、専門技術を持たない人員が、データ処理開発者またはその他技術専門家に頼らずにデータモジュールを作成およびアクティブ化することを可能にしてもよい。さらに、他の場合であればデータの格納および分析に使用されるであろう処理リソースおよびデータストレージリソースを含め、到着データからの有用な属性の識別を可能にするために使用されるかもしれないコンピューティングリソースが、節約されてもよい。ユーザにより定義されたデータモジュールを取り込んでデータモジュールをデータ処理パイプラインに直接適用する能力は、管理者または開発者がデータ処理プラットフォームと対話する必要性をなくしてもよい。さらに、迅速にデータモジュールを適用してデータモジュールにより指定される機能を実行する能力は、他の場合であればデータモジュールの適用およびデータモジュールにより指定される機能の実行のためのソリューションを開発するために使用されるかもしれない多大なデータ処理リソース、ネットワークリソース、およびデータストレージリソースを節約し得る。
【0030】
図1A図1Cは、本願明細書に記載された例示の実装100の概要の図である。図1Aに示されるように、例示の実装100は、到着データに対してデータ処理動作(例えば解析、KPI評価、ネットワークセキュリティ関数、および/または同様のもの)を実行できるデータ処理プラットフォーム、データソース(例えばデータをデータ処理プラットフォームに提供できるパーソナルコンピュータ、サーバコンピュータ、および/または同様のものなど任意のコンピューティングデバイス)、および一部の実装においてデータ処理プラットフォームから出力を受信し得る出力デバイス(例えば携帯電話、パーソナルコンピュータ、サーバコンピュータ、および/または同様のもの)を含んでもよい。
【0031】
図1Aにさらに示されるように、データ処理プラットフォームは、データ摂取部分102、データマッピング・導出部分104、計算部分106、データアクセス部分108、およびデータ消費部分110を含んでもよい。一部の実装において、データ処理プラットフォームは、到着データとデータ処理プラットフォームにより実行されるデータモジュールにおいて指定されるアクションとに基づいて様々なアクションが実行される、データ処理パイプラインを実現してもよい。例として、データマッピング・導出部分104は、データ摂取部分102から受信される到着データに基づきアクションを実行してもよく、計算部分106は、データマッピング・導出部分104から受信される到着データに基づきアクションを実行してもよく、データアクセス部分108は、計算部分106から受信される到着データに基づきアクションを実行してもよく、データ消費部分110は、データアクセス部分108から受信される到着データに基づきアクションを実行してもよい。
【0032】
一部の実装において、データ処理プラットフォームパイプラインのデータ摂取部分102は、様々なデータソースからデータを受信することを担当する。例としてデータ摂取部分102は、ストリームまたはバッチフォーマットでデータを受信してもよい。一部の実装において、データは、データ処理プラットフォームが何らかのアクション(例えば解析、KPI評価、セキュリティ分析、および/または同様のもの)を実行するために使用してもよいテキストベースのデータを含んでもよい。例としてデータは、エラーログ、ネットワークトラフィックデータ、コンピュータセキュリティログ、広告メトリック、販売情報、および/または同様のものを含んでもよい。
【0033】
一部の実装において、データマッピング・導出部分104は、受信されたデータを構文解析し、受信されたデータに含まれる属性を識別し、受信されたデータの各部分をデータモジュールにマッピングし、さらに一部の実装ではデータモデルを導出しまたはデータを拡充することを担当する。例として、受信されたデータは、テキストの行を含んでもよく、データ処理プラットフォームは、テキストの行を構文解析して、エラーコード、デバイス識別子、タイムスタンプ、および/または同様のものなどのテキストに含まれる属性を識別してもよい。さらに、属性は、1つ以上の関数の実行において属性を活用するデータモジュールにマッピングされてもよい。一部の実装において、受信されたデータは、サードパーティのソースから関係情報を取得することにより拡充されてもよい。例として、1つのソースから受信されたデバイス識別子が、別のソースから入手できる他の属性に関連する場合もあり、データ処理プラットフォームは、その別のソースから取得された属性を用いて元のデータセット(例えばデバイス識別子属性)を拡充してもよく、組み合わされた属性が1つ以上のデータモジュールにマッピングされてもよい。さらに、または代わりに、データ処理プラットフォームは、他の1つ以上のデータモデルに基づいてデータモデルを導出してもよい(例えば、複数のデータモデルに適用可能と考えられるデータが存在する場合、関数を用いて既存のデータモジュールを組み合わせることによりデータモデルが導出されてもよい)。例としてデータ処理プラットフォームは、受信されたデータのマッピングが可能と考えられる複数のモデルを識別し、複数のデータモデルを組み合わせることにより単一のデータモデルを導出してもよい。
【0034】
一部の実装において、計算部分106は、1つ以上のデータモジュールに関連する計算および/または他の機能を実行することを担当する。例として計算部分106は、例えばデータモジュールにおいて指定される単数または複数の関数に従って、解析を実行し、KPIを評価し、セキュリティイベントおよび異常を識別し、さらに/または同様のことをしてもよい。例としてデータモジュールは、到着する通信ログについて、通信待ち時間メトリックが平均され、ネットワークデバイス識別子によってグループ化され、平均待ち時間によってソートされるべきであることを指定してもよい。本例では、計算部分106が、データの平均、グループ化、および/またはソートの実行を担当してもよい。
【0035】
一部の実装において、データアクセス部分108は、データ処理プラットフォームが使用し発生させるデータに対するアクセスを提供することを担当する。例として、データアクセス部分108は、データ処理プラットフォームにより格納された生入力データへのアクセス、データモジュールへのアクセス、計算の結果(例えば1つ以上のデータモジュールの実行から生じるデータ)へのアクセス、および/または同様のものを可能にしてもよい。
【0036】
一部の実装において、データ消費部分110は、データ処理プラットフォームの外部の通信を担当する。例としてデータ消費部分110は、レポートおよび通知データを含む出力を(例えば出力デバイスに)提供すること、リアルタイム監視を可能にすること、および/または同様のことを担当してもよい。
【0037】
図1Bに示されるように、例示の実装120は、データ処理プラットフォーム、データソース、およびユーザデバイス(例えば携帯電話、パーソナルコンピュータ、サーバコンピュータ、および/または同様のもの)を含んでもよい。例示の実装100と同様に、データ処理プラットフォームは、到着データに対してデータ処理動作(例えば解析、KPI評価、ネットワークセキュリティ関数、および/または同様のもの)を実行でき、データソース(例えばパーソナルコンピュータ、サーバコンピュータ、および/または同様のものなどの任意のコンピューティングデバイス)は、データをデータ処理プラットフォームに提供できる。図のように、ユーザデバイスは、データモジュールを作成および/またはアクティブ化するために、ユーザインターフェースを介してデータ処理プラットフォームと通信できる。
【0038】
図1Bにおいて、参照番号122によりさらに示されるように、データ処理プラットフォームは、データソースからデータを受信してもよい。例としてデータは、エラーログ、ネットワークトラフィックデータ、コンピュータセキュリティログ、広告メトリック、販売情報、および/または同様のものを含んでもよい。参照番号124により示されるように、データ処理プラットフォームは、受信されたデータを構文解析して、様々なデータソースについてデータソースにより提供されるデータに含まれる属性を識別してもよい。例としてデータ処理プラットフォームは、図のように、データソース1に関連する属性1、属性2、および属性3を識別してもよく、さらに、データソース2に関連する属性2、属性4、および属性5を識別してもよい。
【0039】
図1Bにおいて、参照番号126によりさらに示されるように、データ処理プラットフォームは、ユーザデバイスにより使用されるユーザインターフェースを提供してもよい。ユーザインターフェースは、様々な情報を、例えばユーザデバイスのユーザがデータ処理プラットフォームにより使用される新規のデータモジュールを作成しまたは既存のデータモジュールに作用することを可能にするように設計された形で、ユーザデバイスにより表示させてもよい。例としてユーザインターフェースは、ユーザがデータモジュールを生成、編集、削除、アクティブ化、または非アクティブ化することを可能にしてもよく、さらに、様々なデータソースにより提供されるデータに関連する複数の属性を識別するデータをユーザに提供して、ユーザが、属性と、データを処理するための事前構築された関数とに基づいてデータモジュールを生成することを可能にしてもよい。
【0040】
図1Bにおいて、参照番号128によりさらに示されるように、データ処理プラットフォームは、ユーザデバイスからデータモジュールを受信してもよい。例として、データモジュールは、データモジュールにマッピングされる入力データに基づいて何らかの形態の出力を発生させるためにデータ処理プラットフォームにより使用されてもよい、1つ以上の属性、関数、および/または条件を含んでもよい。
【0041】
図1Bにおいて、参照番号130によりさらに示されるように、データ処理プラットフォームは、ユーザデバイスから受信されたデータモジュールを使用してもよい。例として、データ処理プラットフォームは、データ処理プラットフォームパイプラインのマッピング部分の中で使用されるデータモジュールのデータベースにデータモジュールを格納してもよい。データモジュールを使用してデータ処理プラットフォームは、データモジュールの実行など、データモジュールに基づく1つ以上のアクションを実行してもよく、これには、入力データのデータモジュールへのマッピング、データモジュールに基づく計算の実行、データモジュールに基づく出力の提供、および/または同様のことが含まれ得る。
【0042】
図1Cに示されるように、例示の実装140は、ユーザデバイスのユーザがデータ処理プラットフォームにより使用されるデータモジュールを作成および/または適用することを可能にするためにデータ処理プラットフォームにより提供されてもよい例示のユーザインターフェースを含んでもよい。例として例示の実装140は、データモジュール管理インターフェース150を含んでもよく、データモジュール編集用インターフェース170を含んでもよい。
【0043】
図1Cにおいて、参照番号152によりさらに示されるように、データモジュール管理インターフェース150は、ユーザがデータモジュールを管理することを可能にするインターフェース要素「データモジュール」(選択されて示されている)を含んでもよい。参照番号154により示されるように、データモジュール管理インターフェース150は、ユーザが新規データモジュールを追加することを可能にするボタンを含んでもよい。参照番号156により示されるように、データモジュール管理インターフェース150は、ユーザがデータモジュールを(例えば(図示のように)最も最近作成、更新、またはアクティブ化されたデータモジュールの順に、最も人気のあるデータモジュールの順に、データモジュールのレーティングの順に、および/または同様に)ソートすることを可能にするドロップダウンメニューを含んでもよい。参照番号158により示されるように、データモジュール管理インターフェース150は、ユーザがデータモジュールを(例えば名称、属性、関連するユーザ、および/または同様のものにより)検索することを可能にする検索ボックスを含んでもよい。参照番号160により示されるように、データモジュール管理インターフェース150は、データモジュールに関係する様々な情報(例えばデータモジュールの名称、データモジュールに関連するユーザ、データモジュールが最後に更新された時を示すデータ、および/または同様のもの)を表示できるデータモジュールの選択可能なリストを含んでもよい。
【0044】
図1Cにさらに示され、参照番号162により示されるように、データモジュール管理インターフェース150は、ユーザが導出されたデータモジュールを管理する(例えば、追加のデータモジュールを取得する、さらに/または関数を用いて既存のデータモジュールを組み合わせる)ことを可能にするインターフェース要素「導出」を含んでもよい。参照番号164により示されるように、データモジュール管理インターフェース150は、ユーザがアラーム(例えばイベントの発生に基づいてトリガされ得る通知)を管理することを可能にするインターフェース要素「アラーム」を含んでもよい。
【0045】
図1Cにおいて、参照番号172によりさらに示されるように、データモジュール編集用インターフェース170は、データ属性のドロップダウンおよびセレクタを含み、選択された1つ以上の属性がデータモジュールに含められることを可能にしてもよい。参照番号174により示されるように、データモジュール編集用インターフェース170は、関数のドロップダウンおよびセレクタを含み、選択された1つ以上の関数がデータモジュールに含められることを可能にしてもよい。参照番号176により示されるように、データモジュール編集用インターフェース170は、ユーザが手動でデータモジュール情報を提供することを可能にするテキストボックスを含んでもよい。この例示の実装140において、テキストボックスは、このデータモジュール(例えば「DATA_MODULE_2」)が「404」と一致するエラーコード属性を有する到着データに対してCOUNT関数を実行することを示すことができる式を用いて自動ポピュレートされているように示されている。一部の実装において、データモジュール情報は、属性のドロップダウンおよびセレクタ、関数のドロップダウンおよびセレクタから追加されてもよく、さらに/または手動で入力/編集されてもよい。一部の実装において、データ属性の特定のデータソースも、データモジュール編集用インターフェース170において選択可能であってもよい。
【0046】
図1Cにさらに示され、参照番号178により示されるように、データモジュール編集用インターフェース170は、データモジュールが適用される時間のウィンドウ(例えば15分、1時間、1日、および/または同様のもの)の選択を可能にする時間ウィンドウセレクタを含んでもよい。参照番号180により示されるように、データモジュール編集用インターフェース170は、特定の属性(例えば図のように受信者)別にデータモジュールからの出力データがグループ化されることを可能にする「グループ化基準」セレクタを含んでもよい。参照番号182により示されるように、データモジュール編集用インターフェース170は、1つ以上の属性(例えば顧客タイプ、顧客セグメント、および/または同様のもの)に基づいて出力がセグメント化/分離されるのを可能にするセグメントセレクタを含んでもよい。参照番号184により示されるように、データモジュール編集用インターフェース170は、選択されるとデータ処理プラットフォームにデータモジュールの検証(例えばエラーがないか構文をチェックすること、属性が受信されていることを確認すること、および/または同様のこと)をさせるボタンを含んでもよい。参照番号186により示されるように、データモジュール編集用インターフェース170は、選択されるとデータ処理プラットフォームにデータモジュールを保存および適用させるボタンを含んでもよい。
【0047】
このように、到着データから使用可能な属性を取得し、それらの属性をユーザに提供し、データ処理パイプラインにおけるデータモジュールの迅速な構成およびアクティブ化を可能にすることにより、データ処理プラットフォームは、多大な人的リソースおよびコンピューティングデバイスリソースの節約を可能にしてもよい。例として、属性の識別およびユーザインターフェースの提示は、専門技術を持たない人員が、データ処理開発者またはその他技術専門家に頼らずにデータモジュールを作成およびアクティブ化することを可能にしてもよい。さらに、他の場合であればデータの格納および分析に使用されるであろう処理リソースおよびデータストレージリソースを含め、到着データからの有用な属性の識別を可能にするために使用されるかもしれないコンピューティングリソースが、節約されてもよい。ユーザにより定義されたデータモジュールを取り込んでデータモジュールをデータ処理パイプラインに直接適用する能力は、管理者または開発者がデータ処理プラットフォームと対話する必要性をなくしてもよい。さらに、迅速にデータモジュールを適用してデータモジュールにより指定される機能を実行する能力は、他の場合であればデータモジュールの適用およびデータモジュールにより指定される機能の実行のためのソリューションを開発するために使用されるかもしれない多大なデータ処理リソース、ネットワークリソース、およびデータストレージリソースを節約し得る。
【0048】
上記に示したように、図1A図1Cは、単に例として提供される。他の例も可能であり、図1A図1Cに関して記載されたものとは異なってもよい。例として、図1Aの実装100に関して記載されたデータ処理パイプラインが、別様に構成されてもよく(例えばデータ処理パイプラインの追加の部分および/または異なる部分が使用されてもよく、使用されなくてもよく、組み合わされてもよく、さらに/または同様のことがされてもよい)、図1Bに関して記載された実装120が、追加の動作、より少ない動作、および/または異なる動作を含んでもよく、さらに/または図1Cの実装140に関して記載されたユーザインターフェースが、別様に構成されてもよい(例えば別の配置の追加のユーザインターフェース要素および/または異なるユーザインターフェース要素、および/または同様のもの)。
【0049】
図2は、本願明細書に記載されたシステムおよび/または方法が実装されてもよい例示の環境200の図である。図2に示されるように、環境200は、ユーザデバイス210、データソース220、データ処理プラットフォーム230、コンピューティングリソース235、クラウドコンピューティング環境240、およびネットワーク250を含んでもよい。環境200のデバイスは、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して相互接続してもよい。
【0050】
ユーザデバイス210は、データモジュールに関連する情報を受信、生成、格納、処理、および/または提供できる1つ以上のデバイスを含む。例としてユーザデバイス210は、携帯電話(例えばスマートフォン、無線電話など)、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、ゲーム用デバイス、ウェアラブル通信デバイス(例えばスマート腕時計、スマート眼鏡など)、または類似のタイプのデバイスなどの通信および/またはコンピューティングデバイスを含んでもよい。ユーザデバイスは、ウェブブラウジングアプリケーション、コンソールアプリケーション、データ処理プラットフォーム230と通信するように設計されたアプリケーション、および/または同様のものなど、ユーザデバイス210がネットワーク250を介してデータ処理プラットフォーム230と通信すること、およびユーザデバイス210のディスプレイ上にユーザインターフェースを提示することを可能にするように設計された1つ以上のアプリケーションを含んでもよい。
【0051】
データソース220は、データ(例えばデータのバッチおよび/またはストリームを含む)に関連する情報を受信、生成、格納、処理、および/または提供できる1つ以上のデバイスを含む。例としてデータソース220は、デスクトップコンピュータ、サーバデバイス、サーバデバイスのグループ、クラウドコンピューティングデバイス、ネットワークデバイス、データセンタデバイス、または類似のタイプのデバイスなどの通信および/またはコンピューティングデバイスを含んでもよい。データソース220は、様々なデータをデータ処理プラットフォーム230に(例えばネットワーク250を介して)提供できて、データ処理プラットフォーム230がデータを処理するのを可能にしてもよい。
【0052】
データ処理プラットフォーム230は、ユーザデータおよびデータモジュールに関連する情報を受信、生成、格納、処理、および/または提供できる1つ以上のデバイスを含む。例として、データ処理プラットフォーム230は、サーバデバイス(例えばホストサーバ、ウェブサーバ、アプリケーションサーバなど)、データセンタデバイス、または類似のデバイスを含んでもよい。データ処理プラットフォーム230は、例として、データソース220からデータを受信すること、受信されたデータに含まれる属性を識別すること、属性を指定するユーザインターフェースをユーザデバイス210に提供すること、ユーザデバイス210からデータモジュールに関する情報を受信すること、およびデータソース220から受信されたデータをデータモジュールに基づいて処理することができる。
【0053】
図のように、一部の実装では、データ処理プラットフォーム230はクラウドコンピューティング環境240においてホストされてもよい。特に、本願明細書に記載される実装は、データ処理プラットフォーム230がクラウドコンピューティング環境240においてホストされるものとして記載するが、一部の実装では、データ処理プラットフォーム230はクラウドベースでなくてもよいであろうし(すなわちクラウドコンピューティング環境外に実装されてもよい)、または部分的にクラウドベースとされてもよいであろう。
【0054】
クラウドコンピューティング環境240は、サービスとしてコンピューティングを提供する環境を含み、それによって共有リソース、サービスなどがデータ処理プラットフォーム230に提供されてもよい。クラウドコンピューティング環境240は、サービスを配信するシステムおよび/またはデバイスの物理的な位置および構成のエンドユーザの知識を要求しない演算、ソフトウェア、データアクセス、ストレージ、および/または他のサービスを提供し得る。
【0055】
コンピューティングリソース235は、1つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、または別のタイプの計算および/または通信デバイスを含む。一部の実装において、コンピューティングリソース235はデータ処理プラットフォーム230をホストしてもよい。クラウドリソースは、コンピューティングリソース235において実行されるコンピューティングインスタンス、コンピューティングリソース235内に設けられるストレージデバイス、コンピューティングリソース235により提供されるデータ転送デバイスなどを含んでもよい。一部の実装において、コンピューティングリソース235は、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して他のコンピューティングリソース235と通信してもよい。
【0056】
図2にさらに示されるとおり、コンピューティングリソース235は、1つ以上のアプリケーション(「APP(application)」)235−1、1つ以上の仮想マシン(「VM(virtual machine)」)235−2、仮想化ストレージ(「VS(virtualized storage)」)235−3、1つ以上のハイパーバイザ(「HYP(hypervisor)」)235−4、または同様のものなどのクラウドリソースのグループを含んでもよい。
【0057】
アプリケーション235−1は、ユーザデバイス210に提供されても、またはユーザデバイス210によりアクセスされてもよい1つ以上のソフトウェアアプリケーションを含む。アプリケーション235−1は、ユーザデバイス210上でソフトウェアアプリケーションをインストールして実行する必要性をなくしてもよい。例として、アプリケーション235−1は、データ処理プラットフォーム230に関連したソフトウェア、および/またはクラウドコンピューティング環境240を介して提供されることができる他の任意のソフトウェアを含んでもよい。一部の実装において、1つのアプリケーション235−1は、仮想マシン235−2を介して他の1つ以上のアプリケーション235−1との間で情報を送受信してもよい。
【0058】
仮想マシン235−2は、物理マシンのようにプログラムを実行するマシン(例えばコンピュータ)のソフトウェア実装を含む。仮想マシン235−2は、用途、および仮想マシン235−2の任意の実マシンとの類似の程度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかであってもよい。システム仮想マシンは、完全なオペレーティングシステム(「OS(operating system)」)の実行をサポートする完全なシステムプラットフォームを提供してもよい。プロセス仮想マシンは、単一のプログラムを実行してもよく、単一のプロセスをサポートしてもよい。一部の実装において、仮想マシン235−2は、ユーザ(例えばユーザデバイス210)の代わりに実行してもよく、さらにデータ管理、同期化、または長期データ転送など、クラウドコンピューティング環境240のインフラストラクチャの管理をしてもよい。
【0059】
仮想化ストレージ235−3は、コンピューティングリソース235のストレージシステムまたはデバイスの中の仮想化技術を使用する1つ以上のストレージシステムおよび/または1つ以上のデバイスを含む。一部の実装において、ストレージシステムの関連の中で、仮想化のタイプはブロック仮想化およびファイル仮想化を含んでもよい。ブロック仮想化は、物理ストレージからの論理ストレージの抽象化(または分離)を指すことができ、その結果、物理ストレージまたは異種構造と無関係にストレージシステムがアクセスされ得る。分離は、ストレージシステムの管理者がどのようにエンドユーザのためにストレージを管理するかにおいて、管理者に柔軟性を認めてもよい。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に格納される場所との間の依存関係をなくしてもよい。これは、ストレージ使用の最適化、サーバコンソリデーション、および/または無停止ファイルマイグレーションの実行を可能にしてもよい。
【0060】
ハイパーバイザ235−4は、複数のオペレーティングシステム(例えば「ゲストオペレーティングシステム」)がコンピューティングリソース235などのホストコンピュータ上で同時に実行できるようにするハードウェア仮想化技術を提供する。ハイパーバイザ235−4は、ゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提示してもよく、さらにゲストオペレーティングシステムの実行を管理してもよい。様々なオペレーティングシステムの複数のインスタンスが、仮想化ハードウェアリソースを共有してもよい。
【0061】
ネットワーク250は、1つ以上の有線ネットワークおよび/または無線ネットワークを含む。例としてネットワーク250は、セルラネットワーク(例えばロングタームエボリューション(LTE:long−term evolution)ネットワーク、符号分割多元接続(CDMA:code division multiple access)ネットワーク、3Gネットワーク、4Gネットワーク、5Gネットワーク、別のタイプの次世代ネットワークなど)、公衆携帯電話網(PLMN:public land mobile network)、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、メトロポリタンエリアネットワーク(MAN:metropolitan area network)、電話網(例えば公衆電話交換網(PSTN:Public Switched Telephone Network))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、クラウドコンピューティングネットワーク、または同様のもの、および/またはこれらもしくは他のタイプのネットワークの組み合わせを含んでもよい。
【0062】
図2に示されたデバイスおよびネットワークの数および配置は、例として示されている。実際には、図2に示されたものに比べて、追加のデバイスおよび/またはネットワーク、より少数のデバイスおよび/またはネットワーク、異なるデバイスおよび/またはネットワーク、または別様に配置されたデバイスおよび/またはネットワークがあってもよい。さらに、図2に示されている2つ以上のデバイスが単一のデバイス内に実装されてもよく、または、図2に示されている単一のデバイスが複数の分散型デバイスとして実装されてもよい。さらに、または代わりに、環境200のデバイスのセット(例えば1つ以上のデバイス)が、環境200のデバイスの別のセットにより実行されるものとして記載されている1つ以上の機能を実行してもよい。
【0063】
図3は、デバイス300の例示のコンポーネントの図である。デバイス300は、ユーザデバイス210、データソース220、データ処理プラットフォーム230、および/またはコンピューティングリソース235に対応してもよい。一部の実装において、ユーザデバイス210、データソース220、データ処理プラットフォーム230、および/またはコンピューティングリソース235は、1つ以上のデバイス300および/またはデバイス300の1つ以上のコンポーネントを含んでもよい。図3に示されるとおり、デバイス300は、バス310、プロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、出力コンポーネント360、および通信インターフェース370を含んでもよい。
【0064】
バス310は、デバイス300のコンポーネント間で通信できるようにするコンポーネントを含む。プロセッサ320は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせに実装される。プロセッサ320は、中央処理ユニット(CPU:central processing unit)、グラフィックス処理ユニット(GPU:graphics processing unit)、アクセラレーテッド処理ユニット(APU:accelerated processing unit)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP:digital signal processor)、フィールドプログラマブルゲートアレイ(FPGA:field−programmable gate array)、特定用途向け集積回路(ASIC:application−specific integrated circuit)、または別のタイプの処理コンポーネントの形態をとる。一部の実装において、プロセッサ320は、機能を実行するようにプログラムできる1つ以上のプロセッサを含む。メモリ330は、プロセッサ320により使用される情報および/または命令を格納するランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read only memory)、および/または別のタイプの動的もしくは静的ストレージデバイス(例えばフラッシュメモリ、磁気メモリ、および/または光学メモリ)を含む。
【0065】
ストレージコンポーネント340は、デバイス300の動作および用途に関係した情報および/またはソフトウェアを格納する。例としてストレージコンポーネント340は、ハードディスク(例えば磁気ディスク、光学ディスク、光磁気ディスク、および/またはソリッドステートディスク)、コンパクトディスク(CD:compact disc)、デジタル多用途ディスク(DVD:digital versatile disc)、フロッピーディスク、カートリッジ、磁気テープ、および/または別のタイプの非一時的コンピュータ可読媒体を、対応するドライブとともに含んでもよい。
【0066】
入力コンポーネント350は、デバイス300がユーザ入力(例えばタッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)を介するなどして情報を受信できるようにするコンポーネントを含む。さらに、または代わりに、入力コンポーネント350は、情報を感知するセンサ(例えばグローバルポジショニングシステム(GPS:global positioning system)コンポーネント、加速度計、ジャイロスコープ、および/またはアクチュエータ)を含んでもよい。出力コンポーネント360は、デバイス300からの出力情報を提供するコンポーネントを含む(例えばディスプレイ、スピーカ、および/または1つ以上の発光ダイオード(LED:light−emitting diode))。
【0067】
通信インターフェース370は、デバイス300が有線接続、無線接続、または有線接続と無線接続との組み合わせなどを介して他のデバイスと通信することを可能にする、トランシーバのようなコンポーネント(例えばトランシーバおよび/または別々の受信機および送信機)を含む。通信インターフェース370は、デバイス300が、別のデバイスから情報を受信すること、および/または別のデバイスに情報を提供することができるようにしてもよい。例として通信インターフェース370は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF:radio frequency)インターフェース、ユニバーサルシリアルバス(USB:universal serial bus)インターフェース、Wi−Fiインターフェース、セルラネットワークインターフェース、または同様のものを含んでもよい。
【0068】
デバイス300は、本願明細書に記載された1つ以上のプロセスを実行してもよい。デバイス300は、メモリ330および/またはストレージコンポーネント340などの非一時的コンピュータ可読媒体により格納されたソフトウェア命令をプロセッサ320が実行するのに基づいてこれらのプロセスを実行してもよい。本願明細書において、コンピュータ可読媒体は非一時的なメモリデバイスと定義される。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間、または複数の物理ストレージデバイスにまたがったメモリ空間を含む。
【0069】
ソフトウェア命令は、メモリ330および/またはストレージコンポーネント340に別のコンピュータ可読媒体から、または通信インターフェース370を介して別のデバイスから、読み込まれてもよい。メモリ330および/またはストレージコンポーネント340に格納されたソフトウェア命令は、実行されると本願明細書に記載された1つ以上のプロセスをプロセッサ320に実行させてもよい。さらに、または代わりに、本願明細書に記載の1つ以上のプロセスを実行するために、物理的に結線された回路構成がソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用されてもよい。したがって、本願明細書に記載された実装は、ハードウェア回路構成とソフトウェアとのいかなる特定の組み合わせにも限定されない。
【0070】
図3に示されたコンポーネントの数および配置は、例として示されている。実際には、デバイス300は、図3に示されたものと比べて、追加のコンポーネント、より少数のコンポーネント、異なるコンポーネント、または別様に配置されたコンポーネントを含んでもよい。さらに、または代わりに、デバイス300のコンポーネントのセット(例えば1つ以上のコンポーネント)が、デバイス300のコンポーネントの別のセットにより実行されるものとして記載されている1つ以上の機能を実行してもよい。
【0071】
図4は、データ処理システムのデータモジュール管理を提供する例示のプロセス400のフローチャートである。一部の実装において、図4の1つ以上のプロセスブロックが、データ処理プラットフォーム230により実行されてもよい。一部の実装において、図4の1つ以上のプロセスブロックは、ユーザデバイス210および/またはデータソース220など、データ処理プラットフォーム230とは別個の、またはデータ処理プラットフォーム230を含む、別のデバイスまたはデバイスのグループにより実行されてもよい。
【0072】
図4に示されるように、プロセス400は、データソースからデータを受信することを含んでもよい(ブロック410)。例として、データ処理プラットフォーム230は、ネットワークデータソース220からネットワークデータを(例えば入力コンポーネント350および/または通信インターフェース370を介して)受信してもよい。一部の実装において、データはバッチ形式(例えば複数のデータレコードまたは複数のデータレコードに関連する複数行のテキストを含むかもしれないデータのバッチ)および/またはストリーム形式(例えば、例としてデータソース220がテキストを発生させるときに提供されてもよいテキストのストリーム)で受信され得る。一部の実装において、データに含まれる情報は様々であってもよく、データを提供するデータソース220次第であってもよい。例として、データは、エラーログ、ネットワークトラフィックデータ、コンピュータセキュリティログ、広告メトリック、財務記録、および/または同様のものを含んでもよい。
【0073】
一部の実装において、データ処理プラットフォーム230は、データソース220またはデータソース220に関連する実体に送信されるリクエストに基づくデータを受信してもよい。例として、データ処理プラットフォーム230は、データソース220にデータのバッチをリクエストしてもよく、リクエストに応答して、リクエスト対象のデータのバッチを受信してもよい。一部の実装において、データ処理プラットフォーム230は、リクエストを送信することなく、データソース220からのものであるデータ(例えばデータ処理プラットフォーム230にプッシュされるデータ)を受信してもよい。例としてデータソース220は、データがデータソース220により受信されまたはデータソース220がそれを発生させるときに(すなわちリアルタイムまたは準リアルタイムで)データをデータ処理プラットフォーム230にストリーミングするように設定されてもよい。
【0074】
例として、データ処理プラットフォーム230は、エラーログのストリームなどのデータをデータソース220から受信してもよく、このデータソース220は、ネットワークサービスプロバイダのためにエラーログを管理するサーバデバイスであってもよい。この状況において、エラーログのストリームは、テキストの断続的および/または連続的なストリームとしてデータ処理プラットフォーム230により受信されてもよい。本例を続ける。テキストは、様々な情報を表現し得る。例として、この状況では、テキストはネットワークデバイス識別子、エラーコード、待ち時間値、地理的位置データ、および/または同様のものを含んでもよい。
【0075】
このように、データ処理プラットフォーム230は、データソースからデータを受信してもよく、これが、データ処理プラットフォーム230が受信されたデータから属性を識別することを可能にしてもよい。さらに、データの受信は、データ処理プラットフォーム230が到着データを1つ以上のデータモジュールにマッピングすることを可能にしてもよい。
【0076】
図4にさらに示されるように、プロセス400は、受信されたデータから属性を識別することを含んでもよい(ブロック420)。例としてデータ処理プラットフォーム230は、受信されたデータから属性を(例えばコンピューティングリソース235、プロセッサ320、メモリ330、および/またはストレージコンポーネント340を使用して)識別してもよい。一部の実装において、属性は、受信されたデータに含まれ、受信されたデータに関連する特性を表現する、値を含んでもよい。例として、データ処理プラットフォーム230により受信されるデータは、テキストの文字列1つ以上を含んでもよく、データ処理プラットフォーム230は、テキストの少なくとも或る部分に関連する特性を判断することによりテキストに含まれる属性を識別してもよい。一部の実装において、データ処理プラットフォーム230は、例としてそのデータを提供したデータソース220により提供された情報、受信されたデータに関連するメタデータ、および/または受信されたデータを構文解析する解析法を使用することにより、受信されたデータに含まれる属性を識別してもよく、さらに、受信されたデータの各部分を、それらの対応する属性にマッピングしてもよい。
【0077】
例として、データ処理プラットフォーム230により受信されるエラーログは、「123.456.78.90_404_010120180830EST_98.76.543.210」などの文字列を含んでもよい。この状況において、データ処理プラットフォーム230は、文字列を構文解析して、テキストの各部分を(例えば本例ではアンダースコアにより)分離して、テキストの各部分を対応する属性と関連付けてもよい。本例を続ける。上記の文字列に基づき、データ処理プラットフォーム230は、次の属性を生成してもよい:送信者のインターネットプロトコル(IP:internet protocol)アドレス、ネットワークエラーコード、タイムスタンプ、および受信者IPアドレス。上述のように、データ処理プラットフォーム230は、データソース220により提供される情報、データに含まれるメタデータ(例えば属性を指定するヘッダデータ)、および/または解析(例えばパターンベースの認識)に基づいて属性を識別してもよい。
【0078】
一部の実装において、データ処理プラットフォーム230は、受信されたデータから識別された属性を、1つ以上のデータモジュールにマッピングしてもよい。例としてデータモジュールは、属性(例えば「送信者のIPアドレス、ネットワークエラーコード、タイムスタンプ、受信者IPアドレス」)の一部または全部を活用して1つ以上の計算を実行し且つ/または他の1つ以上のアクションを実行してもよい。具体的な例として、特定のエラーコードに関連する10を超えるエラーが特定の時間のウィンドウ内に単一の受信者デバイスから発生していることに応答して、アラームをトリガするように、特定のデータモジュールが構成されてもよい。この状況において、データ処理プラットフォーム230は、上記で示した属性のうち3つ(例えばネットワークエラーコード、タイムスタンプ、および受信者IPアドレス)を特定のデータモジュールにマッピングしてもよい。
【0079】
一部の実装において、データ処理プラットフォーム230は、属性を複数のデータモジュールにマッピングしてもよい。例として、複数のデータモジュールは、同じまたは類似の属性を活用してもよい(例えば、同じ属性が2つ以上のデータモジュールに使用されて、同じ入力データに基づく異なる計算および/または異なる出力を可能にすることができるであろう)。さらにデータ処理プラットフォーム230は、データのセット1つからの別々の属性を別々のデータモジュールにマッピングしてもよい(例えば、エラーコードは1つのデータモジュールに回されてもよく、送信者のIPアドレスは別のデータモジュールに回されてもよく、さらに/または同様のことがされてもよい)。
【0080】
一部の実装において、データ処理プラットフォーム230は、他の1つ以上のデータソース220から受信されるデータを使用してデータモジュールにマッピングされるデータを拡充してもよい。例として、データ処理プラットフォーム230は、ログ(例えば上述したログなど)を受信して、送信者デバイスおよび/または受信者デバイスに関連するアプリケーションを識別し得る別のソースからのデータなど、関係する属性を識別することにより、当該ログに関連する属性を拡充してもよい。属性は、例として種々のデータソースからの属性を活用し得るデータモジュール(例えば第1のデータソースからのIPアドレスおよびエラーコードならびに第2のデータソースからのアプリケーション識別子を使用するデータモジュール)による使用のために拡充されてもよい。
【0081】
このように、データ処理プラットフォーム230は、受信されたデータから属性を識別して、データ処理プラットフォーム230が属性をデータモジュールにマッピングすることを可能にしてもよく、このデータモジュールを、データ処理プラットフォーム230がデータモジュールに基づく様々なアクションを実行するために後から使用してもよい。さらに、属性の識別は、データ処理プラットフォーム230が、属性を識別するデータをユーザインターフェースを介してユーザデバイス210に提供することを可能にし、ユーザデバイス210のユーザがユーザインターフェースを使用してデータモジュールを構成することを可能にしてもよい。
【0082】
図4に示されるように、プロセス400は、識別された属性のうちの少なくとも1つの選択を可能にするユーザインターフェースをユーザデバイスに提供することを含んでもよい(ブロック430)。例としてデータ処理プラットフォーム230は、ユーザデバイス210にユーザインターフェースを(例えばコンピューティングリソース235、プロセッサ320、出力コンポーネント360、および/または通信インターフェース370を介して)提供してもよい。一部の実装において、ユーザインターフェースは、更新されたデータモジュールを作成するために、識別された属性(例えばブロック420にて識別された属性)のうちの少なくとも1つを選択および/または変更することを可能にしてもよい。ユーザインターフェースは、様々な様式で提供されてよく、データ処理プラットフォーム230と通信しているユーザデバイス210のタイプに依存してもよい。例として、ユーザインターフェースは、テキストベースのコンソールインターフェース、グラフィカルユーザインターフェース、音声制御インターフェース、および/または同様のものであってもよい。一部の実装において、データ処理プラットフォーム230は、ユーザデバイス210のユーザがデータ処理プラットフォーム230により使用および/または実行されるデータモジュールを構成することを可能にするように設計された形でユーザインターフェースを提供してもよい。
【0083】
一部の実装において、ユーザインターフェースは、既存のデータモジュールに対するアクセスを提供してもよい。例として、既存のデータモジュールは、以前に構成されたものであって、ユーザが(例えばユーザインターフェースを介して)アクティブ化、非アクティブ化、編集、コピー、削除、および/または同様のことをしてもよいデータモジュールを含んでもよい。具体的な例として、ユーザは、選択されたデータモジュールを使用してデータ処理プラットフォーム230がデータ処理を実行するのを停止させるように設計された形で、非アクティブ化するデータモジュールを選択してもよい。別の例として、ユーザインターフェースは、データモジュールをコピーする能力を提供して、新規データモジュールの(例えば、ゼロから始めるのではなくデータモジュールのコピーを編集することによる)より容易な作成を可能にしてもよい。一部の実装において、データ処理プラットフォーム230は、データモジュールの時期に基づいて、データソースの順に、使用される属性の順に、使用される関数の順に、最も最近適用/実行されたデータモジュールの順に、および/または同様に、既存のデータモジュールを配列してもよい。例としてデータ処理プラットフォーム230は、既存のデータモジュールのリストに、データモジュールに含まれる属性の数に基づいて配列された既存のデータモジュールを含めてもよい。
【0084】
一部の実装において、ユーザインターフェースは、既存のデータモジュールを検索およびソートする能力を提供してもよい。例としてユーザインターフェースは、最も最近作成されたモジュールの順に、最も古いモジュールの順に、データソースの順に、使用される属性の順に、使用される関数の順に、最も最近適用/実行されたモジュールの順に、および/または同様に、ソートできるようにしてもよい。データモジュールは例として、データモジュールの名称で、データモジュールに関連するユーザで、データモジュールにおいて使用される属性で、データモジュールにおいて使用される関数で、および/または同様のもので検索されてもよい。これは、例として、ユーザがデータモジュールを迅速に識別して、他の場合であれば特定のデータモジュールを検索するために費やされるかもしれないコンピューティングリソースを節約することを可能にしてもよい。さらに、データモジュールをフィルタリングする能力は、他の場合であればデータモジュールのより大きなセットを処理するために使用されるであろうコンピューティングリソースを節約してもよい。
【0085】
一部の実装において、ユーザインターフェースは、データモジュールを編集または作成するために、ユーザインターフェースを使用して様々な属性、関数、および/または同様のものを選択する能力を提供してもよい。例としてユーザインターフェースは、新規または既存のデータモジュールについて、様々な選択可能な属性、関数、時間ウィンドウ、グループ化、および/または同様のものを提供してもよい。一部の実装において、選択可能な属性は、ユーザデバイス210のユーザがユーザインターフェースを使用して、どの属性(単数または複数)がデータモジュールに使用され得るか選択することを可能にしてもよい。一部の実装において、選択可能な関数は、ユーザがユーザインターフェースを使用して、データ処理プラットフォーム230がデータモジュールを使用してデータを処理するときにどの関数(単数または複数)(例えば解析関数、KPI関数、セキュリティ関数、および/または同様のもの)が実行されるべきかを選択することを可能にしてもよい。一部の実装において、選択可能な時間ウィンドウは、データモジュールの処理に含められるためにデータタイムスタンプ(例えばデータソース220から受信されるタイムスタンプおよび/またはデータを受信するとデータ処理プラットフォーム230によりデータに適用されるタイムスタンプ)がそれ以内に収まらなければならない時間のウィンドウ1つ以上をユーザが選択することを可能にしてもよい(例えばデータが受信されるときに受信されるデータに対してリアルタイムまたは準リアルタイムでデータモジュールを実行する、5分の時間ウィンドウ、15分の時間ウィンドウ、1時間の時間ウィンドウなどのデータのウィンドウに対してデータモジュールを実行する、および/または同様のこと)。一部の実装において、選択可能なグループ化は、ユーザがユーザインターフェースを使用して、データモジュールが発生させる出力データがグループ化(例えば単数または複数の特定の属性、時間ウィンドウ、および/または同様のものによるグループ化)されるとよい形を選択することを可能にしてもよい。このように、ユーザインターフェースを介して、データモジュールを構成するための様々なオプションをユーザに提供することによって、データ処理プラットフォーム230は、データ処理プラットフォーム230により適用および/または実行され得るデータモジュールをユーザデバイス210を使用して容易に管理する能力をユーザに提供する。
【0086】
例として、上記の例示の属性(例えば送信者のIPアドレス、ネットワークエラーコード、タイムスタンプ、受信者IPアドレス、および受信者アプリケーション)を所与として、データ処理プラットフォーム230により提供されるユーザインターフェースは、ユーザが、5分のウィンドウ内の特定タイプのエラーコードをカウントして受信者IPアドレスによりグループ化された当該エラーコードを出力するために(例えばデータ処理プラットフォーム230により)実行可能なデータモジュールを(例えばユーザデバイス210を介して)作成することを可能にしてもよい。本例では、使用される属性には、エラーコードが特定タイプに一致するかどうかを判断するためのエラーコード、どのエラーコードが選択された時間のウィンドウ内で発生したかを判断するためのタイムスタンプ、およびデータモジュールの出力をグループ化するのに用いられる受信者IPアドレスが含まれ得る。例として、上述した形で構成されたデータモジュールは、データ処理プラットフォーム230に、データ処理プラットフォーム230により受信され特定のエラーコードを含むエラーログの数のカウントを示し受信者IPアドレスによりグループ化された出力を、5分ごとに提供させてもよい。
【0087】
一部の実装において、データ処理プラットフォーム230により提供されるユーザインターフェースは、1つ以上のデータモジュールに関連する1つ以上のアラームの設定を可能にしてもよい。例として、アラームは、データモジュールにおいて指定された1つ以上の条件が満足されるなどの特定のイベントの発生に基づいて、特定の実体(例えば特定のユーザデバイス210)に警告するように設定されてもよい。例として、上記の例示のデータモジュールにおいて、5分の時間ウィンドウ内で、特定タイプの50を超えるエラーの発生が単一の受信者IPアドレスに関連することに応答してユーザデバイス210に警告する、アラームが設定されてもよい。
【0088】
一部の実装において、ユーザインターフェースは、ユーザが手動でのデータモジュール構成の詳細を提供することを可能にする、テキスト入力部分を含んでもよい。例としてテキスト入力部分は、ユーザが、属性、ブール式、条件式、および/または同様のものを含むカスタムのデータモジュール式を提供することを可能にしてもよい。これは、ユーザが、他の場合であれば構成するのが困難かもしれないカスタムのデータモジュールを提供すること、または(例えばユーザが、他のユーザインターフェース要素を使用してデータモジュールを構築するのではなく、ユーザインターフェースのテキスト入力部分に別のソースから取得したデータモジュールをコピーアンドペーストしたい状況において)ユーザインターフェースの他の要素を使用するよりも迅速となり得る形でカスタムのデータモジュールを提供することを可能にしてもよい。
【0089】
一部の実装において、ユーザインターフェースは、データ処理プラットフォーム230がデータモジュールを検証するオプションを含んでもよい。例として、ユーザがデータモジュールを作成または編集する状況において、データ処理プラットフォーム230は、データモジュールにエラーがないこと、および問題なくデータ処理パイプラインに適用できることを確実にするように設計された形で、データモジュールを検証してもよい。これは、例として、データモジュール構文をチェックすること、データモジュールに含まれる属性が既存のデータソースから利用可能であることをチェックすること、データモジュールに対して選択された関数が利用可能であることをチェックすること、および/または同様のことを含んでもよい。検証が失敗する状況では、データ処理プラットフォーム230は、失敗をユーザに通知するデータを(例えばユーザインターフェースを介して)提供してもよく、さらに一部の実装において、訂正(例えば構文訂正、属性提案、および/または同様のもの)を提案してもよい。この状況において、データ処理プラットフォーム230は、他の場合であれば障害データモジュールを実行、さらに場合によっては再実行するために使用されるかもしれないコンピューティングリソースを、節約してもよい。
【0090】
このように、データ処理プラットフォーム230は、ユーザデバイス210にユーザインターフェースを提供して、データ処理プラットフォーム230が、データ処理プラットフォーム230によりデータ処理のために使用され得るデータモジュールを迅速且つ容易に管理する能力を1人以上のユーザに提供することを可能にしてもよい。
【0091】
図4に示されるように、プロセス400は、識別された属性のうちの少なくとも1つに関連するデータモジュールを識別する情報をユーザデバイスから受信することを含んでもよい(ブロック440)。例として、データ処理プラットフォーム230は、新規データモジュールの情報、以前から存在するデータモジュールを識別する情報、以前から存在するデータモジュールの変更されたバージョンを識別する情報、および/または同様のものなど、データモジュールを識別する情報を、ユーザデバイス210から(例えばコンピューティングリソース235、プロセッサ320、入力コンポーネント350、および/または通信インターフェース370を介して)受信してもよい。データモジュールは、識別された属性のうちの少なくとも1つ(例えばブロック420にて識別された属性のうちの少なくとも1つ)に関連してもよい。データモジュールは、新規データモジュール(例えばユーザデバイス210およびデータ処理プラットフォーム230により提供されるユーザインターフェースを用いてユーザにより作成されるデータモジュール)または以前から存在するデータモジュール(例えば以前から存在する1つ以上のデータモジュールからアクティブ化または編集されたデータモジュール)であってもよい。
【0092】
一部の実装において、データモジュールを識別する情報は、ブロック430にて提供されたユーザインターフェースを介して受信されてもよい。例としてデータ処理プラットフォーム230は、データモジュールを識別する情報をユーザデバイス210のユーザがユーザインターフェースを介してデータ処理プラットフォーム230に提供するために使用する、ウェブベースのグラフィカルユーザインターフェースを提供してもよい。一部の実装において、データモジュールを識別する情報は、グラフィカルユーザインターフェース以外の経路を通してデータ処理プラットフォーム230により受信されてもよい。例として、データモジュールを識別する情報は、様々な仕方でデータ処理プラットフォーム230に提供され得る(例えばデータモジュールを格納するデータストレージデバイスにアップロードされる、コマンドラインインターフェースを介して提供される、データモジュールのバッチで提供される、および/または同様のこと)。
【0093】
一部の実装において、データモジュールの検証は、データモジュールを識別する情報を受信した後(例えばユーザインターフェースを介したデータ処理プラットフォーム230への提出後、またはその他)にデータ処理プラットフォーム230によって実行されてもよい。この状況において、データ処理プラットフォーム230は、失敗した検証に関して、ユーザインターフェースを介して、または別の仕方(例えば電子メール、コンソール出力、および/または同様のもの)で、ユーザに通知してもよい。
【0094】
このように、データ処理プラットフォーム230は、識別された属性のうちの1つを含むデータモジュールをユーザデバイス210から受信して、データ処理プラットフォーム230がデータ処理パイプラインにデータモジュールを適用することを可能にしてもよい。
【0095】
図4に示されるように、プロセス400は、データ処理パイプラインにより使用されるデータモジュールをアクティブ化することを含んでもよい(ブロック450)。例としてデータ処理プラットフォーム230は、データ処理パイプラインにより使用されるデータモジュールを、(例えばコンピューティングリソース235、プロセッサ320、メモリ330、ストレージコンポーネント340、出力コンポーネント360、および/または通信インターフェース370を介して)アクティブ化してもよい。例としてデータ処理プラットフォーム230は、データ処理パイプラインのデータマッピング・導出部分(または等価な部分)を実装するデバイスに、データモジュールを提供してもよい。データ処理パイプラインは、データ処理プラットフォーム230により、または一部の実装においては別のデータ処理サービスもしくはデータ処理プラットフォームにより実装されてもよい。このように、データモジュールをデータマッピングおよび導出に関連するデバイスに提供することにより、データ処理プラットフォーム230は、到着データのデータモジュールへのマッピングを可能にしてもよく、さらに一部の実装においては、データモジュールの(例えばデータ処理プラットフォーム230による)実行を可能にしてもよい。
【0096】
一部の実装において、データ処理プラットフォーム230は、データ処理パイプラインのデータマッピング・導出部分により使用されるデータベースまたは他のストレージデバイスもしくはデータ構造にデータモジュールを格納することによって、データモジュールをアクティブ化してもよい。例として、データ処理パイプラインのデータマッピング・導出部分は、データ処理プラットフォーム230に含まれる1つ以上のデバイスにより実行されてもよく、少なくとも1つのデバイスが、データストレージから(例えばデータベースから)データモジュールを取得することを担当する。データストレージからデータモジュールを取得することは、データモジュールデータベースにおける変更および/または同様のことに基づいて定期的に実行されてもよく、さらに、データ処理パイプラインのデータマッピング・導出部分(およびデータ処理パイプラインの他の部分)により使用されるデータモジュールが最新であることを確実にするように設計された形で実行されてもよい。例として、データ処理プラットフォーム230は、データモジュールをキューに格納して、定期的に新規のおよび/または更新されたデータモジュールを探してキューを検索してもよい。新規のおよび/または更新されたデータモジュールを検出するのに応答して、データ処理プラットフォーム230は、新規のおよび/または更新されたデータモジュールをアクティブ化してもよい。
【0097】
一部の実装においてデータ処理プラットフォーム230は、データモジュールをアクティブ化するのではなく、データ処理パイプラインからデータモジュールを除去してもよい(例えばデータモジュールデータベースからデータモジュールを削除する、データモジュールを非アクティブ化する、および/または同様のこと)。例として、ユーザデバイス210のユーザがデータモジュールを(例えばユーザインターフェースを介して)非アクティブ化および/または削除する状況において、データ処理プラットフォーム230は、データモジュールのデータベースからデータモジュールを削除し、さらに/または非アクティブ化されたものとしてデータモジュールにフラグを立ててもよい。
【0098】
このように、データ処理プラットフォーム230は、データ処理パイプラインにより使用されるデータモジュールをアクティブ化して、データ処理プラットフォーム230がデータモジュールに基づく1つ以上のアクションを実行することを可能にしてもよい。
【0099】
図4に示されるように、プロセス400は、データモジュールに基づくアクションを実行することを含んでもよい(ブロック460)。例としてデータ処理プラットフォーム230は、データモジュールに基づく1つ以上のアクションを(例えばコンピューティングリソース235、プロセッサ320、メモリ330、ストレージコンポーネント340、出力コンポーネント360、および/または通信インターフェース370を介して)実行してもよい。例としてデータモジュールは、データ処理プラットフォーム230がデータモジュールに関連する到着データを処理すべき形、データ処理プラットフォーム230がデータモジュールに関連するデータを格納すべき形、データ処理プラットフォーム230がデータモジュールに関連する情報をレポートすべき形、および/または同様のものを指定してもよい。この状況において、データ処理プラットフォーム230は、データモジュールにより指定されるアクションを実行してもよい。
【0100】
一部の実装において、データ処理プラットフォーム230は、データモジュールに基づいて到着データを処理してもよい。例としてデータ処理プラットフォーム230は、データモジュールに基づいてデータマッピングおよび/または導出を実行してもよい。この状況において、データ処理パイプラインのデータマッピング部分は、受信されたデータを構文解析して、受信されたデータに含まれる属性を識別して、受信されたデータの各部分をデータモジュールにより指定される属性に基づいてマッピングしてもよい。例として、データモジュールが3つの属性を必要とする場合、データマッピング部分は、指定された属性を有する到着データを(例えば1つ以上のデータソース220から)取得して、到着データをデータモジュールにマッピングしてもよい。
【0101】
一部の実装において、データ処理プラットフォーム230は、データモジュールに基づく1つ以上の計算を実行してもよい。例としてデータ処理プラットフォーム230は、データモジュールにマッピングされたデータに対して、データモジュールにより指定される1つ以上の関数を実行してもよい。この状況において、データ処理パイプラインの計算部分が、データモジュールにより指定される関数を実行してもよい。例として計算部分は、解析関数、KPI関数、コンピュータセキュリティ関数、および/または同様のものを実行してもよい。上記の例示のデータモジュール(例えばブロック430において記載された)を使用して、データ処理プラットフォーム230は、5分の各ウィンドウの中で特定タイプのエラーコードをカウントし、受信者IPアドレスによってエラーコードをグループ化する関数を実行してもよい。別の例として、データ処理プラットフォームは、ネットワークデータから1つ以上のキーパフォーマンス指標を識別するように設計された関数を実行してもよい。
【0102】
一部の実装において、データ処理プラットフォーム230は、データモジュールに基づく情報を格納してもよい。例として、データ処理プラットフォーム230は、データモジュールに関連するデータを格納するために、データ処理パイプラインのデータアクセス部分を実行してもよい。この状況においてデータ処理プラットフォーム230は、計算を実行するために使用されたデータ(例えば到着データ)、および/またはデータ処理パイプラインの計算部分でのデータモジュールの実行からの出力データ(例えば統計などの出力データ)を格納してもよい。上記の例示のデータモジュールを使用して、データ処理プラットフォーム230は、データモジュールに対する入力として使用されたエラーログを格納し、受信者IPアドレスによりグループ化されたエラーメッセージのカウントを格納してもよい。
【0103】
一部の実装において、データ処理プラットフォーム230は、データモジュールに基づく情報を提供してもよい。例としてデータ処理プラットフォーム230は、データモジュールを使用したデータ処理の結果に基づく情報を提供するために、データ処理パイプラインのデータ消費部分を実行してもよい。この状況において、データ処理パイプラインのデータ消費部分は、データをユーザデバイス210に利用可能にしてもよく、ユーザデバイス210に通知してもよく、アラートをユーザデバイス210に送信してもよく、および/または同様のことをしてもよい。例としてデータ処理プラットフォーム230は、データ処理結果の視覚的表現を(例えばユーザデバイス210で)表示させるデータを提供してもよい。データ処理プラットフォーム230がキーパフォーマンス指標を識別する状況では、例としてデータ処理プラットフォーム230は、キーパフォーマンス指標の視覚的表現を(例えばウェブページ、電子メール通信、および/または同様のものを介して)見せるデータをユーザデバイス210に提供してもよい。
【0104】
一部の実装において、データ処理プラットフォーム230は、デバイスにアクションを実行させるデータを、データモジュールに基づいて提供してもよい。例として、データ処理プラットフォーム230により提供されるデータは、デバイス(例えばコンピューティングデバイス、セキュリティデバイス、ネットワークデバイス、および/または同様のもの)に、電源投入、起動、アクティブ化、非アクティブ化、電源遮断、プログラム実行、および/または同様のことをさせてもよい。これは、例として、データ処理プラットフォーム230が、問題(例えば障害のあるネットワークデバイス)を検出するためにデータ処理パイプラインにより実行されるデータモジュールを使用し、問題に対する解決策(例えば障害のあるネットワークデバイスに取って代わるネットワークデバイスをアクティブ化する)をトリガし得るデータを送信して、障害回復サービスの少なくとも一部を提供することを可能にしてもよい。
【0105】
一部の実装においてデータ処理プラットフォーム230は、データモジュールに基づくデータ処理パイプラインの1つ以上の部分の実行を中止してもよい。例として、データモジュールが削除または非アクティブ化される状況では、データ処理プラットフォーム230は、データモジュールを使用して到着データを処理するのを停止し、データモジュールに基づいて計算を実行するのを停止し、データモジュールに基づいて情報を格納するのを停止し、さらに/またはデータモジュールに基づいて情報を提供するのを停止してもよい。
【0106】
このようにデータ処理プラットフォーム230は、データモジュールに基づく1つ以上のアクションを実行し、データ処理プラットフォーム230がデータモジュールを使用して、データモジュールに基づいてデータ処理に関し様々なアクションを実行することを可能にしてもよい。
【0107】
到着データから使用可能な属性を取得し、それらの属性をユーザに提供し、データ処理パイプラインにおけるデータモジュールの迅速な構成およびアクティブ化を可能にすることにより、データ処理プラットフォーム230は、多大な人的リソースおよびコンピューティングデバイスリソースの節約を可能にしてもよい。例として、属性の識別およびユーザインターフェースの提示は、専門技術を持たない人員が、データ処理開発者またはその他技術専門家に頼らずにデータモジュールを作成およびアクティブ化することを可能にしてもよい。さらに、他の場合であればデータの格納および分析に使用されるであろう処理リソースおよびデータストレージリソースを含め、到着データからの有用な属性の識別を可能にするために使用されるかもしれないコンピューティングリソースが、節約されてもよい。ユーザにより定義されたデータモジュールを取り込んでデータ処理パイプラインによる使用のためにデータモジュールを直接アクティブ化する能力は、管理者または開発者がデータ処理プラットフォーム230と対話する必要性をなくしてもよい。さらに、迅速にデータモジュールを使用してデータモジュールにより指定される機能を実行する能力は、他の場合であればデータモジュールの使用およびデータモジュールにより指定される機能の実行のためのソリューションを開発するために使用されるかもしれない多大なデータ処理リソース、ネットワークリソース、およびデータストレージリソースを節約し得る。
【0108】
前述の開示は、例示および説明を提供するが、網羅的であることも、実装を開示された厳密な形態に限定することも意図していない。上記の開示を考慮して変更および変形が可能であり、または実装の実施から習得されるかもしれない。
【0109】
本願明細書で使用されるとき、コンポーネントという用語は、ハードウェア、ファームウェア、および/またはハードウェアとソフトウェアとの組み合わせとして広く解釈されるよう意図される。
【0110】
一部の実装は、閾値と関連して本願明細書に記載される。本願明細書で使用されるとき、閾値を満たすとは、値が閾値より大きいこと、閾値を超えること、閾値より高いこと、閾値以上であること、閾値未満であること、閾値より少ないこと、閾値より低いこと、閾値以下であること、閾値と等しいこと、または同様のことを指すことができる。
【0111】
特定のユーザインターフェースが本願明細書に記載され、且つ/または図面に示された。ユーザインターフェースは、グラフィカルユーザインターフェース、非グラフィカルユーザインターフェース、テキストベースのユーザインターフェース、または同様のものを含んでもよい。ユーザインターフェースは、情報を表示のために提供してもよい。一部の実装においてユーザは、ユーザインターフェースを表示のために提供するデバイスの、入力コンポーネントを介して入力を提供することなどにより、情報と対話してもよい。一部の実装において、ユーザインターフェースは、デバイスおよび/またはユーザにより構成可能であってもよい(例えばユーザがユーザインターフェースのサイズ、ユーザインターフェースを介して提供される情報、ユーザインターフェースを介して提供される情報のポジションなどを変更してもよい)。さらに、または代わりに、ユーザインターフェースは、標準構成、ユーザインターフェースが表示されるデバイスのタイプに基づく特定の構成、および/またはユーザインターフェースが表示されるデバイスに関連する性能および/または仕様に基づく構成のセットに予め構成されてもよい。
【0112】
当然のことながら、本願明細書に記載されたシステムおよび/または方法は、異なる形態のハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせに実装されてもよい。これらのシステムおよび/または方法を実装するために使用される実際の専用制御ハードウェアまたはソフトウェアコードは、実装を限定するものではない。したがって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本願明細書に記載されたが、当然のことながら、ソフトウェアおよびハードウェアを、本願明細書の記載に基づきシステムおよび/または方法を実装するよう設計できる。
【0113】
特徴の特定の組み合わせがクレームに記載され且つ/または明細書で開示されるが、これらの組み合わせは可能な実装の開示を限定することを意図されたものではない。実際には、これらの特徴の多くが、具体的にクレームに記載および/または明細書に開示されなかった仕方で組み合わされてもよい。下記に列挙される各従属クレームは、1つのみのクレームに直接従属するかもしれないが、考えられる実装の開示は、クレームセットの中の他のすべてのクレームと組み合わせた各従属クレームを含む。
【0114】
本願明細書で使用されるいずれの要素、動作、または命令も、重要または必須とは、そのように明示的に記載されない限りは、解釈されてはならない。さらに、本願明細書で使用されるとき、冠詞「或る(aおよびan)」は、1つ以上の項目を含むよう意図され、「1つ以上の(one or more)」と交換可能なように使用され得る。さらに、本願明細書に記載されるとき、「セット(set)」という用語は、1つ以上の項目(例えば関係する項目、無関係の項目、関係する項目と無関係の項目との組み合わせなど)を含むよう意図され、「1つ以上の(one or more)」と交換可能なように使用され得る。1つのみの項目が意図される場合、「1つの(one)」または同様の言語が使用される。さらに、本願明細書で使用されるとき、「有する(has、have、having)」という用語または同様のものは、非限定的な用語であるものと意図される。さらに、「基づく(based on)」という語句は、別段の記載が明示的にされない限り「少なくとも部分的に基づく(based,at least in part,on)」を意味するよう意図される。
図1A
図1B
図1C
図2
図3
図4