【手続補正書】
【提出日】平成29年1月26日(2017.1.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
イベントのデータストリームを処理するためのシステムであって、前記システムは、
複数の命令を格納するメモリと、
前記メモリに結合されたプロセッサとを備え、前記プロセッサは、
連続イベント処理（ＣＥＰ）クエリを複数の別個の演算子に分割し、
前記複数の別個の演算子内の各特定の演算子について別個の制約を判定し、
前記プロセッサが前記複数の別個の演算子について判定した前記制約の少なくとも一部に基づいて、前記ＣＥＰクエリについての制約を判定し、
前記ＣＥＰクエリについての前記制約に基づいて、前記ＣＥＰクエリの少なくとも一部が同時に実行可能であるかどうかを判定し、
前記ＣＥＰクエリの少なくとも一部が同時に実行可能であると判定したことに応じて、イベントストリームからのイベントを同時に処理する複数の実行のスレッドを生成するように、前記複数の命令を実行するように構成されている、システム。
【請求項２】
前記プロセッサは、前記イベントストリームと関連付けられる制約の少なくとも一部に基づいて、前記ＣＥＰクエリについての制約を判定するように構成されている、請求項１に記載のシステム。
【請求項３】
前記プロセッサは、少なくとも一部は、前記特定の演算子がそれから入力を受ける１つ以上の他の演算子の１つ以上の制約の少なくとも一部に基づいて前記特定の演算子についての制約を判定することによって、前記複数の別個の演算子内の各特定の演算子について前記別個の制約を判定するように構成されている、請求項１または２に記載のシステム。
【請求項４】
前記プロセッサは、少なくとも一部は、前記特定の演算子のオペレーションタイプがフィルタリングオペレーションタイプであるかどうかの少なくとも一部に基づいて前記特定の演算子についての制約を判定することによって、前記複数の別個の演算子内の各特定の演算子について前記別個の制約を判定するように構成されている、請求項１〜３のいずれか１項に記載のシステム。
【請求項５】
前記プロセッサは、少なくとも一部は、（ａ）前記特定の演算子がそれらから入力を受けるすべての他の演算子の制約、および（ｂ）前記特定の演算子のオペレーションタイプと関連付けられる制約を含む制約のセット内のうち、最も制約された制約を判定することによって前記特定の演算子についての制約を判定することによって、前記複数の別個の演算子内の各特定の演算子について前記別個の制約を判定するように構成されている、請求項１〜４のいずれか１項に記載のシステム。
【請求項６】
前記プロセッサは、（ａ）前記イベントストリームにおけるイベントを処理する第１のＣＥＰクエリによって用いられる第１の演算子と、（ｂ）前記イベントストリームにおけるイベントを同様に処理する第２のＣＥＰクエリによって用いられる第２の演算子とを、前記第１の演算子および前記第２の演算子の両方が特定のタイプのオペレーションを行なうと判定したことに応じて、単一の共有演算子にマージするように構成されている、請求項１〜５のいずれか１項に記載のシステム。
【請求項７】
前記プロセッサは、（ａ）前記イベントストリームにおけるイベントを処理する第１のＣＥＰクエリによって用いられる第１の演算子と、（ｂ）前記イベントストリームにおけるイベントを同様に処理する第２のＣＥＰクエリによって用いられる第２の演算子とを、前記第１の演算子および前記第２の演算子の両方が特定のタイプのオペレーションを行なうと判定したことに応じて、単一の共有演算子にマージするように構成され、前記プロセッサは、前記共有演算子の制約の少なくとも一部に基づいて、前記共有演算子から入力を受ける第３の演算子についての制約を判定するように構成され、前記プロセッサは、前記共有演算子の前記制約の少なくとも一部に基づいて、前記共有演算子から入力を受ける第４の演算子についての制約を判定するように構成され、前記第３の演算子は、前記第１のＣＥＰクエリによって用いられ、前記第２のＣＥＰクエリによっては用いられず、前記第４の演算子は、前記第２のＣＥＰクエリによって用いられ、前記第１のＣＥＰクエリによっては用いられない、請求項１〜５のいずれか１項に記載のシステム。
【請求項８】
イベントのデータストリームを処理するための方法であって、前記方法は、
連続イベント処理（ＣＥＰ）クエリを複数の別個の演算子に分割するステップと、
前記複数の別個の演算子内の各特定の演算子について別個の制約を判定するステップと、
プロセッサが、前記複数の別個の演算子について判定した前記制約の少なくとも一部に基づいて、前記ＣＥＰクエリについての制約を判定するステップと、
前記ＣＥＰクエリについての前記制約に基づいて、前記ＣＥＰクエリの少なくとも一部が同時に実行可能であるかどうかを判定するステップと、
前記ＣＥＰクエリの少なくとも一部が同時に実行可能であると判定したことに応じて、イベントストリームからのイベントを同時に処理する複数の実行のスレッドを生成するステップとを備える、方法。
【請求項９】
前記イベントストリームと関連付けられる制約の少なくとも一部に基づいて、前記ＣＥＰクエリについての制約を判定するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記複数の別個の演算子内の各特定の演算子について別個の制約を判定するステップは、前記特定の演算子がそれから入力を受ける１つ以上の他の演算子の１つ以上の制約の少なくとも一部に基づいて、前記特定の演算子についての制約を判定するステップを含む、請求項８または９に記載の方法。
【請求項１１】
前記複数の別個の演算子内の各特定の演算子について別個の制約を判定するステップは、前記特定の演算子のオペレーションタイプがフィルタリングオペレーションタイプであるかどうかの少なくとも一部に基づいて、前記特定の演算子についての制約を判定するステップを含む、請求項８〜１０のいずれか１項に記載の方法。
【請求項１２】
（ａ）前記イベントストリームにおけるイベントを処理する第１のＣＥＰクエリによって用いられる第１の演算子と、（ｂ）前記イベントストリームにおけるイベントを同様に処理する第２のＣＥＰクエリによって用いられる第２の演算子とを、前記第１の演算子および前記第２の演算子の両方が特定のタイプのオペレーションを行なうと判定したことに応じて、単一の共有演算子にマージさせるステップをさらに含む、請求項８〜１１のいずれか１項に記載の方法。
【請求項１３】
（ａ）前記イベントストリームにおけるイベントを処理する第１のＣＥＰクエリによって用いられる第１の演算子と、（ｂ）前記イベントストリームにおけるイベントを同様に処理する第２のＣＥＰクエリによって用いられる第２の演算子とを、前記第１の演算子および前記第２の演算子の両方が特定のタイプのオペレーションを行なうと判定したことに応じて、単一の共有演算子にマージするステップをさらに含み、
前記複数の別個の演算子内の各特定の演算子について別個の制約を判定するステップは、前記共有演算子の制約の少なくとも一部に基づいて、前記共有演算子から入力を受ける第３の演算子についての制約を判定するステップを含み、
前記複数の別個の演算子内の各特定の演算子について別個の制約を判定するステップは、前記共有演算子の前記制約の少なくとも一部に基づいて、前記共有演算子から入力を受ける第４の演算子についての制約を判定するステップを含み、
前記第３の演算子は、前記第１のＣＥＰクエリによって用いられ、前記第２のＣＥＰクエリによっては用いられず、
前記第４の演算子は、前記第２のＣＥＰクエリによって用いられ、前記第１のＣＥＰクエリによっては用いられない、請求項８〜１１のいずれか１項に記載の方法。
【請求項１４】
プロセッサにオペレーションを行なわせるための複数の命令を含むコンピュータ読取可能プログラムであって、前記複数の命令は、
前記プロセッサに、連続イベント処理（ＣＥＰ）クエリを複数の別個の演算子に分割させる命令と、
前記プロセッサに、前記複数の別個の演算子内の各特定の演算子について別個の制約を判定させる命令と、
前記プロセッサに、前記プロセッサが前記複数の別個の演算子について判定した前記制約の少なくとも一部に基づいて、前記ＣＥＰクエリについての制約を判定させる命令と、
前記プロセッサに、前記ＣＥＰクエリについての前記制約に基づいて、前記ＣＥＰクエリの少なくとも一部が同時に実行可能であるかどうかを判定させる命令と、
前記プロセッサに、前記ＣＥＰクエリの少なくとも一部が同時に実行可能であると判定したことに応じて、イベントストリームから同時にイベントを処理する複数の実行のスレッドを生成させる命令とを備える、コンピュータ読取可能プログラム。
【請求項１５】
請求項８〜１３のいずれか１項に記載の方法をコンピュータに実行させるためのコンピュータ読取可能プログラム。