【手続補正書】
【提出日】令和2年6月22日(2020.6.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
分散イベント処理システムを用いてイベントの連続データストリームを処理する方法であって、前記方法は、
前記分散イベント処理システムの複数のコンピューティングデバイスのうちのコンピューティングデバイスにおいて、イベントストリームからイベントのバッチを受信するステップを含み、前記イベントストリームは対応付けられたスキーマを有し、前記スキーマは、前記イベントストリームを介して受信する各イベントの１つ以上の属性を特定し、前記コンピューティングデバイスは、前記分散イベント処理システムのコンピューティングノードのクラスタに含まれ、前記コンピューティングノードのクラスタは、前記分散イベント処理システムの前記複数のコンピューティングデバイスの少なくともサブセットを含み、
前記コンピューティングデバイスが、前記イベントのバッチにおける各イベントの前記１つ以上の属性のうちの第１の属性の第１のデータタイプを特定するステップと、
前記コンピューティングデバイスが、前記イベントのバッチにおける各イベントの前記第１の属性によって表されるデータ値に対して実行する第１のタイプのデータ圧縮を決定するステップとを含み、前記第１のタイプのデータ圧縮は、前記第１の属性の前記第１のデータタイプに少なくとも一部基づいて決定され、
前記コンピューティングデバイスが、前記決定に少なくとも一部基づいて、前記第１の属性に対するシリアライズされたデータ値の第１のセットを生成するステップと、
前記コンピューティングデバイスが、前記第１の属性によって表される前記シリアライズされたデータ値の第１のセットを格納するステップと、
前記コンピューティングデバイスが、１つ以上の連続クエリのセットに対して前記第１の属性に対応する前記シリアライズされたデータ値の第１のセットを処理することにより、出力イベントの第１のセットを生成するステップと、
前記コンピューティングデバイスが、前記出力イベントの第１のセットをユーザに送信するステップとを含む、方法。
【請求項２】
前記コンピューティングデバイスが前記シリアライズされたデータ値の第１のセットを処理するステップはさらに、
前記コンピューティングデバイスが、前記シリアライズされたデータ値の第１のセットに少なくとも一部基づいて、前記第１の属性に対応するデシリアライズされたデータ値の第１のセットを生成するステップと、
前記コンピューティングデバイスが、前記１つ以上の連続クエリのセットに対して前記第１の属性に対応する前記デシリアライズされたデータ値の第１のセットを処理することにより、前記出力イベントの第１のセットを生成するステップとを含む、請求項１に記載の方法。
【請求項３】
前記コンピューティングデバイスが前記第１の属性に対応する前記デシリアライズされたデータ値の第１のセットを生成するステップはさらに、
前記コンピューティングデバイスが、前記第１の属性によって表される前記データ値に対して実行する前記第１のタイプのデータ圧縮を特定するステップと、
前記コンピューティングデバイスが、前記第１のタイプのデータ圧縮に従い、前記第１の属性によって表される前記シリアライズされたデータ値の第１のセットをデシリアライズするステップとを含む、請求項２に記載の方法。
【請求項４】
前記コンピューティングデバイスが、前記イベントのバッチにおける各イベントの前記１つ以上の属性のうちの第２の属性の第２のデータタイプを特定するステップをさらに含み、前記第２のデータタイプは前記第１のデータタイプと異なっており、
前記コンピューティングデバイスが、前記イベントのバッチにおけるイベントの前記第２の属性によって表されるデータ値に対して実行する第２のタイプのデータ圧縮を決定するステップを含み、前記第２のタイプのデータ圧縮は前記第１のタイプのデータ圧縮と異なっており、
前記コンピューティングデバイスが、前記決定に少なくとも一部基づいて、前記第２の属性によって表されるシリアライズされたデータ値の第２のセットを生成するステップと、
前記コンピューティングデバイスが、前記第２の属性によって表される前記シリアライズされたデータ値の第２のセットを格納するステップとを含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記第２のタイプのデータ圧縮は、前記第２の属性の前記第２のデータタイプに少なくとも一部基づいて決定される、請求項４に記載の方法。
【請求項６】
前記コンピューティングデバイスが前記シリアライズされたデータ値の第２のセットを処理するステップをさらに含み、前記処理するステップは、
前記コンピューティングデバイスが、前記シリアライズされたデータ値の第２のセットに基づいて前記第２の属性に対応するデシリアライズされたデータ値の第２のセットを生成するステップと、
前記コンピューティングデバイスが、前記１つ以上の連続クエリのセットに対して前記第２の属性に対応する前記デシリアライズされたデータ値の第２のセットを処理することにより、前記出力イベントの第１のセットを生成するステップとを含む、請求項４または５に記載の方法。
【請求項７】
前記第１のタイプのデータ圧縮または前記第２のタイプのデータ圧縮は、ベース圧縮技術、値インデックス圧縮技術、または、精度低減値インデックス圧縮技術のうちの少なくとも１つを含む、請求項４〜６のいずれか１項に記載の方法。
【請求項８】
前記コンピューティングデバイスが前記第１の属性に対応する前記シリアライズされたデータ値の第１のセットを処理するステップはさらに、
前記コンピューティングデバイスが、前記１つ以上の連続クエリのセットに基づいて前記イベントのバッチにおける各イベントに対して実行する１つ以上の動作のセットを特定するステップと、
前記コンピューティングデバイスが、前記１つ以上の動作のセットを、変換の連続クエリ言語（ＣＱＬ）レジリエント分散データセット（ＲＤＤ）有向非巡回グラフ（ＤＡＧ）として表すステップと、
前記コンピューティングデバイスが、ＣＱＬ変換に対して前記第１の属性に対応するシリアライズされたデータ値の第１のセットを処理することにより、出力イベントの第１のセットを生成するステップとを含む、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記第１の属性の第１のデータタイプは、数値データタイプであり、前記第２の属性の第２のデータタイプは、非数値データタイプである、請求項４〜７のいずれか１項に記載の方法。
【請求項１０】
１つ以上のプロセッサによって実行されると１つ以上のコンピュータに請求項１〜９のいずれか１項に記載の方法を実行させる命令を有したプログラム。
【請求項１１】
分散イベント処理システムであって、
複数の命令を格納するメモリと、
前記メモリにアクセスするように構成されたプロセッサとを備え、前記プロセッサはさらに、前記複数の命令を実行することにより、少なくとも、
前記分散イベント処理システムの複数のコンピューティングデバイスのうちのコンピューティングデバイスにおいて、イベントストリームからイベントのバッチを受信し、前記イベントストリームは対応付けられたスキーマを有し、前記スキーマは、前記イベントストリームを介して受信する各イベントの１つ以上の属性を特定し、前記コンピューティングデバイスは、前記分散イベント処理システムのコンピューティングノードのクラスタに含まれ、前記コンピューティングノードのクラスタは、前記分散イベント処理システムの前記複数のコンピューティングデバイスの少なくともサブセットを含み、さらに、
前記イベントのバッチにおける各イベントの前記１つ以上の属性のうちの第１の属性の第１のデータタイプを特定し、
前記イベントのバッチにおける各イベントの前記第１の属性によって表されるデータ値に対して実行する第１のタイプのデータ圧縮を決定し、前記第１のタイプのデータ圧縮は、前記第１の属性の前記第１のデータタイプに少なくとも一部基づいて決定され、さらに、
前記決定をさせる命令に少なくとも一部基づいて、前記第１の属性に対するシリアライズされたデータ値の第１のセットを生成し、
前記第１の属性によって表される前記シリアライズされたデータ値の第１のセットを格納し、
１つ以上の連続クエリのセットに対して前記第１の属性に対応する前記シリアライズされたデータ値の第１のセットを処理することにより、出力イベントの第１のセットを生成し、
前記出力イベントの第１のセットをユーザに送信するように、構成される、分散イベント処理システム。
【請求項１２】
前記プロセッサはさらに、前記複数の命令を実行することにより、
前記シリアライズされたデータ値の第１のセットに少なくとも一部基づいて、前記第１の属性に対応するデシリアライズされたデータ値の第１のセットを生成することと、
前記１つ以上の連続クエリのセットに対して前記第１の属性に対応する前記デシリアライズされたデータ値の第１のセットを処理することにより、前記出力イベントの第１のセットを生成することとによって、
前記シリアライズされたデータ値の第１のセットを処理するように構成される、請求項１１に記載の分散イベント処理システム。
【請求項１３】
前記プロセッサはさらに、前記複数の命令を実行することにより、
前記イベントのバッチにおける各イベントの前記１つ以上の属性のうちの第２の属性の第２のデータタイプを特定し、前記第２のデータタイプは前記第１のデータタイプと異なっており、さらに、
前記イベントのバッチにおけるイベントの前記第２の属性によって表されるデータ値に対して実行する第２のタイプのデータ圧縮を決定し、前記第２のタイプのデータ圧縮は前記第１のタイプのデータ圧縮と異なっており、さらに、
前記決定をさせる命令に少なくとも一部基づいて、前記第２の属性によって表されるシリアライズされたデータ値の第２のセットを生成し、
前記第２の属性によって表される前記シリアライズされたデータ値の第２のセットを格納するように、構成される、請求項１１または１２に記載の分散イベント処理システム。
【請求項１４】
前記第２のタイプのデータ圧縮は、前記第２の属性の前記第２のデータタイプに少なくとも一部基づいて決定される、請求項１３に記載の分散イベント処理システム。
【請求項１５】
前記プロセッサはさらに、前記複数の命令を実行することにより、
前記１つ以上の連続クエリのセットに基づいて前記イベントのバッチにおける各イベントに対して実行する１つ以上の動作のセットを特定することと、
前記１つ以上の動作のセットを、変換の連続クエリ言語（ＣＱＬ）レジリエント分散データセット（ＲＤＤ）有向非巡回グラフ（ＤＡＧ）として表すことと、
ＣＱＬ変換に対して前記第１の属性に対応するシリアライズされたデータ値の第１のセットを処理することにより、出力イベントの第１のセットを生成することとによって、前記シリアライズされたデータ値の第１のセットを処理するように、構成される、請求項１１〜１４のいずれか１項に記載の分散イベント処理システム。