(57)【要約】      （修正有）【課題】戦術的クエリから連続クエリへの変換を管理する。【解決手段】アーキテクチャ１００において、データベースからのイベントデータをクエリエンジンにプルする戦術的クエリを決定する。クエリエンジンは、戦術的クエリを用いて構成される。この構成は、表示すべきイベントデータの指示に少なくとも一部基づく。さらに、戦術的クエリから連続クエリへ変換してもよい。変換または変換を可能にすることは、要求に少なくとも一部基づく。【選択図】図１
2019194868.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
複数の命令を格納するメモリと、
前記メモリにアクセスするように構成された１つ以上のプロセッサとを備え、前記１つ以上のプロセッサはさらに、前記複数の命令を実行することにより、少なくとも、
表示すべきイベントデータの指示に少なくとも一部基づいて、戦術的クエリを用いてクエリエンジンを構成し、
要求に少なくとも一部基づいて前記戦術的クエリから連続クエリへの変換を可能にするように、構成される、システム。
【請求項２】
前記変換は実行時に可能にされる、請求項１に記載のシステム。
【請求項３】
前記変換は、前記連続クエリからプッシュされたデータを受けるようにリスニングサービスを少なくとも構成することを含む、請求項１または２に記載のシステム。
【請求項４】
前記連続クエリは、前記クエリエンジンに関連する前記リスニングサービスに、ストリームからデータをプッシュするように構成される、請求項３に記載のシステム。
【請求項５】
前記戦術的クエリは、前記クエリエンジンに代わってデータをプルするように構成される、請求項１〜４のいずれか一項に記載のシステム。
【請求項６】
前記要求は、表示すべき前記データに関連するユーザから受ける、請求項１〜５のいずれか一項に記載のシステム。
【請求項７】
前記要求は、前記ユーザに対して表示すべき前記データを表示するように構成されたユーザインターフェイスを介して受ける、請求項６に記載のシステム。
【請求項８】
前記要求は、データウィンドウ、データレンジ、フィルタ値、および前記ユーザに関連するディメンション変更のうちの少なくとも１つを含む、請求項６に記載のシステム。
【請求項９】
１つ以上のプロセッサにより実行可能な複数の命令を格納するコンピュータ読取可能なプログラムであって、前記複数の命令は、
データベースからのユーザのイベントデータにクエリするための戦術的クエリを決定することを、前記１つ以上のプロセッサに行なわせる命令と、
前記ユーザのストリーミングイベントデータをクエリエンジンにプッシュすることを可能にするように構成された連続クエリに、前記戦術的クエリを変換することを、前記１つ以上のプロセッサに行なわせる命令と、
前記クエリエンジンにプッシュされたデータに少なくとも一部基づいてアクティブな可視化を表示するように構成されたユーザインターフェイスを与えることを、前記１つ以上のプロセッサに行なわせる命令とを含む、コンピュータ読取可能なプログラム。
【請求項１０】
前記戦術的クエリは、前記クエリエンジンの実行時に、前記連続クエリに変換される、請求項９に記載のコンピュータ読取可能なプログラム。
【請求項１１】
前記戦術的クエリは、前記イベントデータの可視化をアクティブにすることを求める要求に少なくとも一部基づいて、前記連続クエリに変換される、請求項９または１０に記載のコンピュータ読取可能なプログラム。
【請求項１２】
前記可視化は、アクティブな可視化をアクティブにすることを求める前記要求に関連す
るユーザに対してのみアクティブにされる、請求項１１に記載のコンピュータ読取可能なプログラム。
【請求項１３】
アクティブな可視化をアクティブにすることを求める前記要求は、少なくとも、前記イベントデータを１つ以上のオブジェクトに解体させて前記１つ以上のオブジェクトをユーザ指定の時間間隔に少なくとも一部基づいて更新することを求める要求を含む、請求項１１に記載のコンピュータ読取可能なプログラム。
【請求項１４】
可視化をアクティブにすることを求める前記要求は、少なくとも、前記イベントデータの表示および更新のうちの少なくとも一方のためのユーザ指定の時間ウィンドウの指示を含む、請求項１１に記載のコンピュータ読取可能なプログラム。
【請求項１５】
方法であって、
データベースからクエリエンジンにイベントデータをプルすることを可能にするように構成された戦術的クエリを決定することと、
前記イベントデータに関連するユーザから、前記イベントデータのアクティブな可視化の生成に関連する要求を受けることと、
前記ユーザのストリーミングイベントデータを前記クエリエンジンにプッシュすることを可能にするように構成された連続クエリに、前記戦術的クエリを変換することと、
前記クエリエンジンにプッシュされた前記ストリーミングイベントデータに少なくとも一部基づいてアクティブな可視化を表示するように構成されたユーザインターフェイスを与えることとを含む、方法。
【請求項１６】
前記変換は、前記イベントデータのアクティブな可視化の生成に関連する前記要求に少なくとも一部基づく、請求項１５に記載の方法。
【請求項１７】
前記連続クエリによってプッシュされたデータを受けるために前記クエリエンジンのリスニングシステムを登録することをさらに含む、請求項１５または１６に記載の方法。
【請求項１８】
前記戦術的クエリは、前記ユーザからの、前記イベントデータを表示することを求める要求に少なくとも一部基づいて決定される、請求項１５〜１７のいずれか一項に記載の方法。
【請求項１９】
フィルタを前記連続クエリに適用することまたは前記連続クエリのディメンションを変更することを求める要求を受けることをさらに含む、請求項１５〜１８のいずれか一項に記載の方法。
【請求項２０】
前記イベントデータのアクティブな可視化の生成に関連する要求は、ユーザによって指定された、スライディンウィンドウ構成および時間レンジ構成のうちの少なくとも一方を含む、請求項１５〜１９のいずれか一項に記載の方法。
【請求項２１】
方法であって、
表示すべきイベントデータの指示に少なくとも一部基づいて、戦術的クエリを用いてクエリエンジンを構成することと、
要求に少なくとも一部基づいて、前記戦術的クエリから連続クエリへの変換を可能にすることとを含む、方法。
【請求項２２】
方法であって、
データベースからのユーザのイベントデータにクエリするための戦術的クエリを決定することと、
前記ユーザのストリーミングイベントデータをクエリエンジンにプッシュすることを可能にするように構成された連続クエリに、前記戦術的クエリを変換することと、
前記クエリエンジンにプッシュされたデータに少なくとも一部基づいてアクティブな可視化を表示するように構成されたユーザインターフェイスを与えることとを含む、方法。
【請求項２３】
前記戦術的クエリは、前記データベースの１つの要素のみにクエリするように構成される、請求項２２に記載の方法。
【請求項２４】
装置であって、
データベースからのユーザのイベントデータにクエリするための戦術的クエリを連続クエリに変換するように構成されたクエリ変換モジュールと、
連続クエリと戦術的クエリを組合わせるように構成されたハイブリッドクエリモジュールとを備える、装置。
【請求項２５】
請求項１５〜２０のうちいずれかに記載の方法を実行するように構成された装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１３年３月１４日に出願され「TACTICAL QUERY TO CONTINUOUS QUERY CONVERSION（戦術的クエリから連続クエリへの変換）」と題された米国特許出願第１３／８
２７，９８７号（代理人整理番号８８３２５−８５９８１８（１２８０５０ＵＳ））、および、２０１２年９月２８日に出願され「REAL-TIME BUSINESS EVENT ANALYSIS AND MONITORING（リアルタイムビジネスイベント分析およびモニタリング）」と題された米国仮出願第６１／７０７，６４１号に基づく優先権と利益を主張し、すべての目的のために各出願の内容全体を本明細書に引用により援用する。
【背景技術】
【０００２】
背景
多くの企業は、ビジネスインテリジェンス（ＢＩ）システムを、意思決定周期が数週間または数か月の期間にわたる戦略的および戦術的意思決定に使用する。しかしながら、企業は、競争圧力を受けて、変化する状況および顧客の要求に対してより速く反応することを強いられる。その結果、現在、場合によっては日常的にＢＩを使用して事業の推進および最適化に役立てたいという要望がある。加えて、データベースに関連するデータまたはストリーミングデータは、多くの異なるやり方で、格納、管理、および／または処理することができる。上記ＢＩデータの中には、イベントを重視するものがある。その他のＢＩデータは、履歴キーパフォーマンスインジケータ（ＫＰＩ）情報を含み得る。いくつかの用途の場合、スケジュールされたおよび／または戦術的なクエリを利用してこのようなイベントデータを取出すおよび／または処理することが有益であろう。加えて、他の例では、連続クエリを利用してこのようなイベントデータを取出すことがより有意義であろう。しかしながら、種類が異なるクエリおよびクエリに関連するメモリ使用量の管理は、クエリエンジンおよび／またはこれを実装するサービスプロバイダにとって、技術的課題となるであろう。
【発明の概要】
【課題を解決するための手段】
【０００３】
概要
戦術的クエリを連続クエリに変換する技術が提供される。いくつかの例において、計算システムは、表示すべきイベントデータの指示に少なくとも一部基づいて、戦術的クエリを用いてクエリエンジンを構成し得る。加えて、いくつかの例において、このシステムは、要求に少なくとも一部基づいて戦術的クエリを連続クエリに変換することを可能にし得る。この変換は実行時に可能にされてもよい。加えて、この変換は、連続クエリからプッシュされたデータを受けるようにリスニングサービスを構成することを含み得る。いくつかの例において、連続クエリは、ストリームから、クエリエンジンに関連するリスニングサービスに、データをプッシュするように構成されてもよい。加えて、いくつかの局面において、戦術的クエリは、クエリエンジンに代わってデータをプルするように構成されてもよい。上記要求は、表示すべきデータに関連するユーザから受けてもよい。場合によっては、上記要求は、ユーザに対して表示すべきデータを表示するように構成されたユーザインターフェイスを介して受けてもよい。さらに、上記要求は、データウィンドウ、データレンジ、フィルタ値、およびユーザに関連するディメンション変更のうちの少なくとも１つを含み得る。
【０００４】
加えて、いくつかの例において、コンピュータ読取可能なメモリまたはプログラムが提供されてもよい。このメモリまたはプログラムは、データベースからのユーザのイベント
データにクエリするための戦術的クエリを少なくとも決定することを、１つ以上のプロセッサに行なわせる、複数の命令を格納し得る。この命令はまた、ユーザのストリーミングイベントデータをクエリエンジンにプッシュすることを可能にするように構成された連続クエリに、戦術的クエリを変換することを、上記１つ以上のプロセッサに行なわせてもよい。加えて、この命令はまた、クエリエンジンにプッシュされたデータに少なくとも一部基づいてアクティブな可視化を表示するように構成されたユーザインターフェイスを少なくとも与えることを、上記１つ以上のプロセッサに行なわせてもよい。戦術的クエリは、クエリエンジンの実行時に連続クエリに変換されてもよい。いくつかの局面において、戦術的クエリは、イベントデータの可視化をアクティブにすることを求める要求に少なくとも一部基づいて、連続クエリに変換されてもよい。加えて、可視化は、可視化をアクティブにすることを求める要求に関連するユーザに対してのみアクティブにされてもよい。いくつかの例において、可視化をアクティブにすることを求める要求は、少なくとも、イベントデータを１つ以上のオブジェクトにコラプス（collapse  解体）させてこの１つ以上のオブジェクトをユーザ指定の時間間隔に少なくとも一部基づいて更新することを求める要求を含み得る。さらに、可視化をアクティブにすることを求める要求は、少なくとも、イベントデータの表示および更新のうちの少なくとも一方に対するユーザ指定の時間ウィンドウの指示を含み得る。
【０００５】
さらに、いくつかの例において、方法が提供されてもよい。この方法は、データベースからクエリエンジンにデータをプルすることを可能にするように構成された戦術的クエリを決定するように構成されてもよい。この決定は計算システムによって行なわれてもよい。加えて、いくつかの局面において、この方法は、イベントデータのアクティブな可視化の生成に関連する要求を受けるように構成されてもよい。この要求は、イベントデータに関連するユーザから受けてもよい。さらに、この方法は、計算システムによって実行時に、ユーザのストリーミングイベントデータをクエリエンジンにプッシュすることを可能にするように構成された連続クエリに戦術的クエリを変換するように構成されてもよい。この方法はまた、クエリエンジンにプッシュされたストリーミングイベントデータに少なくとも一部基づいてアクティブな可視化を表示するように構成されたユーザインターフェイスを提供するように構成されてもよい。いくつかの局面において、この変換は、イベントデータのアクティブな可視化の生成に関連する要求に少なくとも一部基づいて行なわれてもよい。加えて、この方法は、クエリエンジンのリスニングシステムを登録して、連続クエリによってプッシュされたデータを受けるように構成されてもよい。戦術的クエリは、イベントデータを表示することを求めるユーザからの要求に少なくとも一部基づいて決定されてもよい。さらに、この方法は、フィルタを連続クエリに適用することまたは連続クエリのディメンションを変更することを求める要求を受けるように構成されてもよい。イベントデータのアクティブな可視化の生成に関連する要求は、いくつかの例において、ユーザによって指定されたスライディングウィンドウ構成および時間レンジ構成のうちの少なくとも一方であってもよい。
【０００６】
少なくとも１つの例に従うと、システムは、表示すべきイベントデータの指示に少なくとも一部基づいて、戦術的クエリを用いてクエリエンジンを構成するための手段を含み得る。この変換は実行時に可能にされてもよい。加えて、このシステムは、要求に少なくとも一部基づいて、戦術的クエリから連続クエリへの変換を可能にするための手段を含み得る。さらに、いくつかの例において、この変換は、連続クエリからプッシュされたデータを受けるようにリスニングサービスを少なくとも構成することを含み得る。連続クエリは、クエリエンジンに関連するリスニングサービスに、ストリームからデータをプッシュするように構成されてもよい。加えて、いくつかの例において、戦術的クエリは、クエリエンジンに代わってデータをプルするように構成されてもよい。
【０００７】
ここまで述べてきたことは、以下の明細書、請求項、および添付の図面を参照すると、
他の特徴および実施形態とともに、より明らかになるであろう。
【０００８】
添付の図面を参照しながら詳細な説明を行なう。図面において、参照番号の左端の桁は、その参照番号が最初に示されている図面の番号である。異なる図面で使用される同一の参照番号は、同様または同一のアイテムを示す。
【図面の簡単な説明】
【０００９】
【図１】少なくとも１つの例に従う連続クエリとスケジュールされたクエリの複合的実行を管理するためのアーキテクチャの一例を示す簡略ブロック図である。
【図２】少なくとも１つの例に従う本明細書に記載の連続クエリとスケジュールされたクエリの複合的実行の管理の少なくともいくつかの特徴を示す簡略ブロック図である。
【図３】少なくとも１つの例に従う本明細書に記載の連続クエリとスケジュールされたクエリの複合的実行の管理の少なくともいくつかのその他の特徴を示す簡略フロー図である。
【図４】少なくとも１つの例に従う本明細書に記載の戦術的クエリから連続クエリへの変換の少なくともいくつかのその他の特徴を示す簡略フロー図である。
【図５】少なくとも１つの例に従う本明細書に記載の連続クエリとスケジュールされたクエリの複合的実行の管理の少なくともいくつかの特徴を示す簡略プロセスフローである。
【図６】少なくとも１つの例に従う本明細書に記載の連続クエリとスケジュールされたクエリの複合的実行の管理の少なくともいくつかの特徴を示すもう１つの簡略プロセスフローである。
【図７】少なくとも１つの例に従う本明細書に記載の連続クエリとスケジュールされたクエリの複合的実行の管理の少なくともいくつかの特徴を示すもう１つの簡略プロセスフローである。
【図８】少なくとも１つの例に従う本明細書に記載の戦術的クエリから連続クエリへの変換の少なくともいくつかの特徴を示す簡略プロセスフローである。
【図９】少なくとも１つの例に従う本明細書に記載の戦術的クエリから連続クエリへの変換の少なくともいくつかの特徴を示すもう１つの簡略プロセスフローである。
【図１０】少なくとも１つの例に従う本明細書に記載の戦術的クエリから連続クエリへの変換の少なくともいくつかの特徴を示すもう１つの簡略プロセスフローである。
【図１１】少なくとも１つの例に従う本明細書に記載の連続クエリとスケジュールされたクエリの複合的実行の管理の実施形態に従い使用し得るシステム環境の構成要素を示す簡略ブロック図である。
【図１２】少なくとも１つの例に従う本明細書に記載の連続クエリとスケジュールされたクエリの複合的実行の管理の実施の形態に従い使用し得るコンピュータシステムを示す簡略ブロック図である。
【発明を実施するための形態】
【００１０】
詳細な説明
以下の説明では、さまざまな実施形態が説明される。これら実施形態が十分に理解されるよう、特定の構成および詳細事項が説明のために記載される。しかしながら、これらの具体的な詳細事項がなくとも実施形態を実行し得ることも当業者には明らかであろう。さらに、記載されている実施形態が不明瞭にならぬよう、周知の特徴は省略または簡略化される場合がある。
【００１１】
いくつかの例において、連続クエリ言語（ＣＱＬ）クエリとその他のクエリの組合わせをサポートする機構を実装することができる。上記その他のクエリは、（たとえばタイマに対する）戦術的クエリ、戦略的クエリ、リレーショナルクエリ等を含むがこれらに限定されない。本開示はまた、（たとえばタイマとの）構造化クエリ言語（ＳＱＬ）クエリを
、ＣＱＬクエリに、タイマに対しておよびＣＱＬステートメント内で使用される結果セットに対してＳＱＬクエリを実行できるように、埋込む機能を提供し得る。加えて、いくつかの例において、戦術的クエリから連続クエリへの変換をサポートする機構を実装することができる。たとえば、データベースまたはその他のデータソースからデータをプルすることを可能にするように構成された１つ以上の戦術的クエリを用いて、クエリエンジンを構成してもよい。いくつかの局面において、戦術的クエリを連続クエリに実行時に変換してもよい。このようにして、ストリームまたはその他のリアルタイムデータソースを介してプッシュされたデータを受けるようにクエリエンジンを構成することができる。さらに、いくつかの例において、戦術的クエリは、短く、高度に調整され、および／または時間の影響を受ける環境での行動または意思決定を容易にするものであってもよい。加えて、いくつかの例において、戦術的クエリは、明確なサービスレベル予想を含んでいてもよく、および／またはシステムリソース全体のうちの非常に小さい割合を占めるものであってもよい。さらに、戦術的クエリは、繰返し実行してもよく、限定されないが、要求（クエリプラン）キャッシングおよび／またはセッションプーリング等の技術を利用してもよい。いくつかの例において、戦術的クエリは、全テーブルスキャンを行なわなくてもよく、および／または非常に短時間で実行およびリターンが可能な短い一行のクエリであってもよい。
【００１２】
連続データストリーム（イベントストリームとも呼ばれる）は、明確な終わりがない連続するまたは本質的に無限であるデータまたはイベントのストリームを含み得る。論理的に、イベントまたはデータストリームは、一連のデータ要素（イベントとも呼ばれる）であってもよく、各データ要素は関連するタイムスタンプを有する。連続イベントストリームは、論理的には要素（ｓ，Ｔ）のバッグ（bag）またはセットで表わすことができ、「
ｓ」はデータ部分を表わし「Ｔ」は時間ドメインを表わす。「ｓ」部分は一般的にタプルまたはイベントと呼ばれる。イベントストリームはしたがってタイムスタンプされた一連のタプルまたはイベントであってもよい。
【００１３】
いくつかの局面において、あるストリーム内のイベントに関連するタイムスタンプは、クロック時間と同等であり得る。しかしながら、他の例において、あるイベントストリーム内のイベントに関連する時間は、アプリケーションドメインによって定義してもよく、クロック時間に対応しなくてもよいが、たとえばその代わりに連続番号によって表わしてもよい。したがって、あるイベントストリーム内のイベントに関連する時間情報は、数字、タイムスタンプ、または時間の概念を表わす他の情報によって表わすことができる。入力イベントストリームを受けるシステムでは、イベントは、タイムスタンプが増す順序でシステムに到着する。同一のタイムスタンプを有する２つ以上のイベントがあってもよい。
【００１４】
いくつかの例において、あるイベントストリーム内のイベントは、世の中の何らかのイベントの発生（たとえば、温度センサの値が新たな値に変化したとき、株式銘柄の価格が変化したとき）を表わしてもよく、このイベントに関連する時間情報が、データストリームイベントによって表わされる上記世の中のイベントが発生した時間を示してもよい。
【００１５】
イベントストリームを介して受けるイベントについては、イベントに関連する時間情報を用いて、イベントストリーム内のイベントが、タイムスタンプの値が増す順序で到着することを保証してもよい。これにより、受けるイベントストリーム内のイベントを、それぞれのイベントに関連する時間情報に基づいて並べることができる。このように並べることを可能にするためには、後で生成されたイベントが、先に生成されたイベントよりも後のタイムスタンプを有するように、タイムスタンプを、イベントストリーム内のイベントと、タイムスタンプが減少しないやり方で関連付ければよい。別の例として、連続番号を時間情報として用いるのであれば、後に生成されたイベントに関連する連続番号を、先に
生成されたイベントに関連する連続番号よりも大きくすればよい。いくつかの例において、たとえば、データストリームイベントで表わされる世の中のイベントが同時に発生するときには、複数のイベントを、同一のタイムスタンプまたは連続番号と関連付けてもよい。同一のイベントストリームに属するイベントは通常、関連する時間情報によってイベントに課される順序で処理すればよく、先のイベントは後のイベントよりも前に処理される。
【００１６】
イベントストリーム内のイベントに関連する時間情報（たとえばタイムスタンプ）は、ストリームのソースによって設定されてもよく、その代わりに、このストリームを受けるシステムによって設定されてもよい。たとえば、いくつかの実施形態において、イベントストリームを受けるシステム上でハートビート（heartbeat）を管理してもよく、イベン
トに関連する時間が、ハートビートによって測定される、システムへのイベントの到着時間に基づいていてもよい。あるイベントストリーム内の２つのイベントが同一の時間情報を有することが起こり得る。なお、タイムスタンプの順序条件は、１つのイベントストリームに特有のものであるが、異なるストリームのそれぞれのイベントは、任意で交互配置してもよい。
【００１７】
イベントストリームには、関連するスキーマ「Ｓ」があり、スキーマは、時間情報と、名前付きの１つ以上の属性からなる一組の属性とを含む。特定のイベントストリームに属するすべてのイベントは、この特定のイベントストリームに関連するスキーマに従う。したがって、イベントストリーム（ｓ，Ｔ）の場合、このイベントストリームは、スキーマ「Ｓ］を、（＜time_stamp＞，＜attribute(s)＞）として有し得る。＜attributes＞は、スキーマのデータ部分を表わし１つ以上の属性を含み得る。たとえば、株式相場表示機のイベントストリームについてのスキーマは、＜株式銘柄＞および＜株価＞という属性を含み得る。このようなストリームを介して受ける各イベントは、１つのタイムスタンプと上記２つの属性とを有する。たとえば、株式相場表示機のイベントストリームは、以下のイベントおよび関連するタイムスタンプを受けることができる。
【００１８】
...
（＜ｔｉｍｅｓｔａｍｐ＿Ｎ＞，＜ＮＶＤＡ，４＞）
（＜ｔｉｍｅｓｔａｍｐ＿Ｎ＋１＞，＜ＯＲＣＬ，６２＞）
（＜ｔｉｍｅｓｔａｍｐ＿Ｎ＋２＞，＜ＰＣＡＲ，３８＞）
（＜ｔｉｍｅｓｔａｍｐ＿Ｎ＋３＞，＜ＳＰＯＴ，５３＞）
（＜ｔｉｍｅｓｔａｍｐ＿Ｎ＋４＞，＜ＰＤＣＯ，４４＞）
（＜ｔｉｍｅｓｔａｍｐ＿Ｎ＋５＞，＜ＰＴＥＮ，５０＞）
...
上記ストリームにおけるストリーム要素（＜ｔｉｍｅｓｔａｍｐ＿Ｎ＋１＞，＜ＯＲＣＬ，６２＞）の場合、イベントは、「stock_symbol」（株式銘柄）および「stock_value」
（株価）という属性を有する＜ＯＲＣＬ，６２＞である。このストリーム要素に関連するタイムスタンプは「ｔｉｍｅｓｔａｍｐ＿Ｎ＋１」である。このように、連続イベントストリームは、イベントのフローであり、各イベントは同じ一連の属性を有する。
【００１９】
イベントのモニタリングおよび分析プラットフォームにおいては、履歴キーパフォーマンスインジケータ（ＫＰＩ）を連続クエリ内のしきい値として使用したいという要望がある場合がある。いくつかの例において、イベントは、ビジネスイベントデータ（たとえば、特定のビジネスエンティティに関連する、アクション、イベント、および／またはトランザクションのログ情報）の一部である場合がある。いくつかの例において、ビジネスイベントデータは、限定されないが、トランザクションを記録するために作成された記録を含み得る。この記録は、場合によってはタイムスタンプを含み得る。加えて、ビジネスイベントを本明細書では「オペレーショナルイベント」と呼ぶこともある。このような履歴
ＫＰＩをしきい値として使用する１つの例は、（たとえば時間単位で）トレンドラインのＫＰＩトレンドを、平均値、中央値、および／または標準偏差とともに、要求することおよび／または与えることを含み得る（たとえば、前日等の中央値といった履歴時間枠との比較を行なえるようにする）。このような場合、履歴ＫＰＩはデータベースに対してクエリされてもよく、履歴ＫＰＩをこの関数の結果と結合してもよい。これに代えてまたはこれに加えて、履歴ＫＰＩは、テーブルがＣＱＬエンジンの中にあるデータベース（本明細書では「ＣＱＬエンジン」とも呼ばれる）へシッピング（shipping）されてもよい。加えて、いくつかの例において、ＣＱＬエンジンにおけるリレーションとして、履歴ＫＰＩを利用して履歴テーブルを実装してもよい。
【００２０】
加えて、いくつかの例において、ストリームとしての履歴ＫＰＩの抽象化は、スケジュールに少なくとも一部基づいてまたはビジネス要件との関連で、ＣＱＬエンジンに自動的にプッシュしてもよく、使用し易い言語構文と、計算およびメモリという点においてより適切なリソースの利用を、もたらし得る。
【００２１】
いくつかの局面において、ストリーム／リレーションを外部のテーブルと結合することにより、および／または関数をデータベースにシッピングすることにより、同様のケースをサポートしてもよい。しかしながら、データベースへの関数のシッピングは、ストリームのすべての入力データ（またはすべての入力データのサブセット）に対して生じることが要求される場合がある。しかしながら、その他の例では、カスタムアダプタを追加してテーブルをポーリングしこれをストリームとしてプッシュしてもよい。しかしながら、この手法は、ＣＱＬエンジン外部での、その他のｊａｖａ（登録商標）コーディングを含み得る。
【００２２】
それでもなお、１つのクエリ内で履歴ＫＰＩのビジネスケースを抽象化することにより、ビジネスケースを捕捉することが可能であり、ビジネスケースを容易に利用することが可能であろう。リレーションに結合する内部ストリームがあるので、データベースクエリの呼出しは最小である。加えて、ストリーム生成を１つのクエリの中に封じ込めることにより、カスタムアダプタは回避し得る。
【００２３】
いくつかの例において、ビジネスインテリジェンス（ＢＩ）は、特定の間隔で（たとえば場合によっては毎日）ビジネスオペレーションを推進し最適化するのを支援し得る。このタイプのＢＩは通常、オペレーショナルビジネスインテリジェンス、リアルタイムビジネスインテリジェンス、またはオペレーショナルインテリジェンス（ＯＩ）と呼ばれる。いくつかの例において、オペレーショナルインテリジェンスは、ＢＩとビジネスアクティビティモニタリング（ＢＩＭ）との間の線引を曖昧にする。たとえば、ＢＩは、履歴データの周期的クエリを重視するものであってもよい。したがって、これは過去を振り返ることを重視したものであってもよい。しかしながら、ＢＩは、オペレーショナルアプリケーションの中に置くこともでき、したがって、単なる戦略的分析ツールから、ビジネスオペレーションの第一線まで拡張することができる。このため、ＢＩシステムは、イベントストリームを分析し総計をリアルタイムで計算するように構成してもよい。
【００２４】
いくつかの例において、連続クエリ言語サービス（ＣＱサービス）は、ＢＩ分析サーバを拡張することにより、連続クエリを扱うとともにリアルタイムの警告を可能にするよう、構成し得る。ＣＱサービスは、いくつかの局面において、ＢＩ分析サーバおよびＣＱＬエンジンとの統合をもたらし得る。一例にすぎないが、ＢＩ分析サーバは、連続クエリをＣＱサービスに委託してもよく、ＣＱサービスは、ＣＱＬエンジンに対する論理データベース（ＤＢ）ゲートウェイとして機能してもよい。このようにして、ＣＱＬエンジンは、ＢＩ分析サーバを、その分析機能およびセマンティックモデリングについて強化することができるであろう。
【００２５】
いくつかの例において、ＣＱサービスは、とりわけ以下の機能を提供し得る。
・ＢＩ分析サーバに対するサービスをＣＱＬエンジンゲートウェイとしてリモート処理する。
・イベントソース／シンクアダプタ。
・論理的ＳＱＬに加えてＣＱＬ拡張からデータ定義言語（ＤＤＬ）を生成する。
・すべての種類の連続クエリおよび実装選択に対して統一されたモデルを提供する。
・メタデータを維持し再始動能力をサポートする。
・高アベイラビリティおよびスケーラビリティのサポート。
【００２６】
加えて、いくつかの例において、ＯＩは、可視性およびビジネスオペレーションに対する洞察を与えることができる、リアルタイムの動的なビジネス分析論の一形態である。ＯＩは、ＢＩまたはリアルタイムＢＩに、どちらも大量の情報の意味を解明するのを支援するという点において、関連付けられるかまたはこれと比較されることが多い。しかしながら、根本的な相違があり、ＯＩは主としてアクティビティ中心であり得るのに対し、ＢＩは主としてデータ中心であり得る。加えて、パターンを識別するための、事後のかつ報告に基づく手法として従来使用されているＢＩと異なり、ＯＩは、発展途上の状況（たとえば傾向およびパターン）を検出しこれに対応するのにより適している。
【００２７】
いくつかの例において、ビジネスイベント分析およびモニタリング（ＢＥＡＭ）システムは、インフライト（in-flight）データを処理しおよび／または受けるＣＱＬエンジン
を含み得る。たとえば、ＣＱＬエンジンは、入ってくるリアルタイム情報（たとえばＢＩまたはＯＩ）をクエリするかそうでなければ処理するように構成されたインメモリデータベースエンジンであってもよい。ＣＱＬエンジンは、時間のセマンティクスを利用または理解することができ、データのウィンドウの定義を処理できるように構成し得る。ＣＱＬエンジンの利用は、場合によっては、入ってくるデータに対してクエリを常に実行することを必要とし得る。
【００２８】
いくつかの局面において、ＣＱＬエンジンは、あらゆる特性を備えたクエリ言語を含み得る。このため、ユーザは、クエリという点から計算を指定し得る。加えて、ＣＱＬエンジンは、メモリを最適化し、クエリ言語の特徴、オペレータシェアリング、豊富なパターンマッチング、豊富な言語構築等を利用するように、設計してもよい。加えて、いくつかの例において、ＣＱＬエンジンは、履歴データおよびストリーミングデータ双方を処理してもよい。たとえば、ユーザは、カリフォルニアの売上高がある目標を超えたときに警告を送るようにクエリを設定してもよい。このように、いくつかの例において、警告は、履歴売上高データおよび入ってくる生（すなわちリアルタイム）の売上高データに少なくとも一部基づき得る。
【００２９】
いくつかの例において、ＣＱＬエンジンまたは以下で説明する概念のその他の特徴は、履歴に関する文脈（すなわちウェアハウスデータ）を、入ってくるデータとリアルタイム方式で組合わせるように、構成してもよい。したがって、場合によっては、本開示は、データベース格納情報およびインフライト情報の境界について説明することがある。データベース格納情報およびインフライト情報はいずれもＢＩデータを含み得る。このため、データベースは、いくつかの例において、ＢＩサーバであってもよく、または、何らかの種類のデータベースであってもよい。さらに、いくつかの例において、本開示の特徴により、上記特徴を、ユーザがコードをプログラムする、そうでなければ書込む方法を知らない状態で、実現することができる。言い換えると、上記特徴は、特徴が豊富なユーザインターフェイス（ＵＩ）に与えられてもよい、または、履歴データとリアルタイムデータの組合わせを非開発者が実現できるようにする他の手法に与えられてもよい。
【００３０】
加えて、いくつかの例において、本開示では、ダッシュボードのカスタマイズおよび／または個別化（personalization）について説明することができる。ＣＥＰエンジンは、
リアルタイム情報および履歴データの高度な連続分析を含むように構成し得る。ビジネスプロセスモデル（ＢＰＭ）は、ＢＰＭ表記（ＢＰＭＮ）モデルとして定義されたポリシーおよびプロセスの、モデルによって推進される実行を行なうことを含み得る。キー結果インジケータ（ＫＲＩ）を利用して、ユーザに、大局的またはクリティカルサクセスファクター（ＣＳＦ）においてどのように実行したかを伝えてもよい。たとえば、多数の動作に対する結果を提供してもよく、キーパフォーマンスインジケータ（ＫＰＩ）よりも長い期間をカバーしてもよく、および／または月毎もしくは３ヶ月毎に見直されてもよい。結果インジケータ（ＲＩ）を利用して、ユーザに、何をなしたかを伝えてもよい。たとえば、アクティビティおよび財務パフォーマンス測定を要約してもよく、および／または、毎日、毎週、もしくは毎月更新してもよい。さらに、いくつかの局面において、パフォーマンスインジケータ（ＰＩ）を利用して、ユーザに、どのアクションを起こすべきかを伝えてもよく、または、少なくとも助言を与えてもよい。加えて、非財務情報を含んでもよく、場合によってはＫＰＩを補完してもよい。
【００３１】
いくつかの局面において、ＰＩは、週７日２４時間、毎日、週一回、またはそれよりも少ない周期で見直してもよい。場合によっては、ＫＰＩは、組織の現在および将来の成功に最も重要な一組の測定を含み得る。いくつかのＫＰＩは毎日かまたは週７日２４時間更新してもよく、一方で、残りの情報は毎週報告してもよい。ＫＰＩ通知の例は、飛行機もしくはその他のサービス車両が遅れたか否かまたはトレイラーが前日重量不足のものを配送会社に送ったか否か（たとえばトラックのより適切な利用を発見するため）の通知を含み得るが、これに限定されない。
【００３２】
いくつかの例において、リアルタイムビジネスイベントを管理するための実施形態は、ビジネスアクティビティのモニタリング、複合イベント処理、およびビジネスインテリジェンスを（たとえばシームレスに）統合して、複合かつリアルタイムの一組のオペレーショナル情報を提供することを含み得る。加えて、ビジネスイベントの連続モニタリングを利用して、ビジネスプロセスおよび／またはワークフローのリアルタイムの可視化を得てもよい。いくつかの例において、ＯＩは、従来のビジネスインテリジェンスで補完してもよい。このため、オペレーショナルインテリジェンスは、上記のように、よりデータ中心の、ビジネスオペレーション対ＢＩについてのより深い洞察を与え得る。たとえば、ＯＩはビジネスがリアルタイム方式で如何に遂行されているか判断するための洞察を取得し得る。一方、ＢＩは、データウェアハウス化（たとえば事後情報の表示）に、より類似していてもよい。
【００３３】
ＫＰＩの例は、リアルタイムコール処理時間を含み得る。たとえば、ユーザは、リアルタイムＫＰＩを、週または日に対し、１５分に設定してもよい。このため、ユーザが直ちに行動を起こすようにすることができる。さらに、ＢＩウェアハウスからの履歴（データ中心）情報を現在のリアルタイムデータと結合することにより、ユーザは、現在の状態で（連続して更新されるストリーミングデータを含む）ビジネスが如何に実行されているか見ることができるであろう。いくつかの例において、リアルタイム情報の高度な連続分析は、データ処理に含まれていてもよい。加えて、増分計算を実施し、ディスプレイ、可視化、ユーザインターフェイス（ＵＩ）等に含めてもよい。
【００３４】
加えて、いくつかの例において、本開示は、戦術的クエリから連続クエリへの変換を可能にすることに向けられている場合がある。上記のように、この変換は、ユーザが、スタティックデータ、および／または、１つ以上の戦術的クエリを介して取出した履歴ビジネスイベントデータを見ている間に、変換を要求できるよう、実行時に可能になるようにしてもよい。いくつかの局面において、ビジネスイベント分析およびモニタリング（ＢＡＭ
）コンポーザは、ダッシュボード、ＫＰＩ、および／または警告を定義することができる実行時設計時間（Design Time at Run Time）ＡＰＩ（ＤＴ＠ＲＴ）機能を提供するウェ
ブアプリケーションであってもよい。これは、いくつかの例において、サービス指向アーキテクチャ（ＳＯＣ）の一般的なコンソールフレームワークまたはその他の適切なフレームワークを用いて構築すればよい。これは、警告およびビジネスダッシュボードを構築する設計時間ツールとして機能することができ、ＣＱＬ、データ制御、ＡＤＦタスクフロー、分析サーバとのやり取り等の複雑さをユーザから隠すように構成されてもよい。これはまた、ダッシュボードにおけるビジネスビューから要求されたデータオブジェクト（セマンティックレイヤ）をユーザが作成するのに役立ち得る。このため、戦術的クエリ（たとえば履歴データにクエリするためのＳＱＬまたはその他の言語）からリアルタイムクエリ（たとえばＣＱＬまたはその他の種類の連続クエリ言語）に変換するための方法を実現することができる。いくつかの例において、この変換は、データプルモデルからデータプッシュモデルへの変更を含み得る。さらに、この変換はまた、データに対するスライスアンドダイス（slice and dice）機能を提供しおよび／またはユーザによる個別化を可能にし得る。
【００３５】
いくつかの例において、実行時におけるビジネスビューの「スライスアンドダイス」機能を可能にするように構成し得る、１つ以上のダッシュボードまたはその他のユーザインターフェイスを与えることができる。「スライスアンドダイス」機能を通してユーザが利用できるのは少なくとも３つの機能であろう。この機能は、フィルタ、ディメンション変更、および／またはアクティブデータサービス（ＡＤＳ）の起動を含むが、これらに限定されない。ＡＤＳの場合、ユーザは、（移動）時間に基づく基準（たとえば最後の１０分）またはイベントに基づく基準（たとえば最後の１００のイベント）のうちのいずれかまたは双方を選択することができ、これは、出力スロットルウィンドウで補足される（たとえば、出力を毎分、たとえその一分内に複数のイベントがあってもコラプスさせる）。出力スロットルは、ユーザに対し、これら新たなデータを受ける速度に関する選択肢を与えることができる。いくつかの局面において、ユーザは、既に実装されているかまたはデータ収集および／または表示を既に始めている戦術的および／または連続クエリに対し、その他のフィルタを適用することができるであろう。たとえば、設計時に既に保存されているクエリにはフィルタが適用されているため、（たとえば関連があるとユーザが判断した）特定のデータのみが与えられるようにしてもよい。加えて、いくつかの局面において、ユーザはまた、実行時に（たとえばダッシュボード上のデータを見ている間に）ディメンションを変更することもできる（たとえば設計時にディメンションが選択される場合）。さらに、いくつかの例において、ユーザは、元のビジネスビューのクエリのデータに発生したリアルタイムの変更を見ることができるであろう。たとえば、ビューは、データに生じた変更の可視化をアクティブにするために、スタティックからアクティブに変化させてもよい。言い換えると、ＡＤＳを可能にすることによって、システムを、戦術的クエリ（一度送られるデータ）を連続クエリ（出力が連続的にプッシュアウトされる連続する増分計算）に変換するように構成して、リアルタイムのデータ変更を説明してもよい。いくつかの例において、上記変更は各々、特定のユーザ各々に対して実現されたままにしてもよく（たとえばユーザプロファイルまたはその他の設定に関連する）ユーザ個別化の一部として保存してもよい。
【００３６】
上記および下記技術は、多数のやり方でおよび多数の文脈において実装し得る。以下において詳細に説明する、実装および文脈のいくつかの例を下記図面を参照しながら示す。しかしながら、以下の実装および文脈は、数あるうちのほんの一部にすぎない。
【００３７】
図１は、連続クエリとスケジュールされたクエリの複合的実行の管理の技術を実装し得るシステムまたはアーキテクチャ１００の簡略化された例を示す。アーキテクチャ１００において、１人以上のユーザ１０２（たとえば口座所有者）は、ユーザの計算装置１０４
（１）〜１０４（Ｎ）（まとめて「ユーザ装置１０４」とする）を利用して、１つ以上のサービスプロバイダコンピュータ１０６に、１つ以上のネットワーク１０８を介してアクセスし得る。いくつかの局面において、サービスプロバイダコンピュータ１０６も、１つ以上のストリーミングデータソースコンピュータ１１０および／または１つ以上のデータベース１１２とネットワーク１０８を介して通信し得る。たとえば、ユーザ１０２は、サービスプロバイダコンピュータ１０６を利用して、ストリーミングデータソースコンピュータ１１０および／またはデータベース１１２のデータにアクセスし得る、そうでなければこのデータを管理し得る。データベース１１２は、リレーショナルデータベース、ＳＱＬサーバ等であってもよく、いくつかの例では、履歴データ、イベントデータ、リレーション、アーカイブされたリレーション等を、ユーザ１０２に代わって管理し得る。加えて、データベース１１２は、ストリーミングデータソースコンピュータ１１０から提供されるデータを受けることができ、そうでなければ格納することができる。いくつかの例において、ユーザ１０２は、ユーザ装置１０４を利用して、サービスプロバイダコンピュータ１０６と、クエリ（「クエリステートメント」とも呼ばれる）を与えることによりまたはデータ（たとえば履歴イベントデータ、ストリーミングイベントデータ等）に対する他の要求を与えることにより、対話し得る。このようなクエリまたは要求は次に、データベース１１２のデータおよび／またはストリーミングデータソースコンピュータ１１０から入ってくるデータを処理するサービスプロバイダコンピュータ１０６によって実行し得る。さらに、いくつかの例において、ストリーミングデータソースコンピュータ１１０および／またはデータベース１１２は、サービスプロバイダコンピュータ１０６に関連付けられた、一体化された分散環境の一部であってもよい。
【００３８】
いくつかの例において、ネットワーク１０８は、ケーブルネットワーク、インターネット、無線ネットワーク、セルラーネットワーク、イントラネットシステム、および／またはその他の私的および／または公的ネットワーク等の、複数の異なる種類のネットワークのうちの１つまたはこれらを組合わせたものを含み得る。示されている例はユーザ１０２がネットワーク１０８を通してサービスプロバイダコンピュータ１０６にアクセスすることを示しているが、記載されている技術は、ユーザ１０２が、１つ以上のサービスプロバイダコンピュータ１０６と、１つ以上のユーザ装置１０４を介し固定電話を通して、またはキオスクを介して、または他のやり方で、対話する場合に、等しく適用し得る。また、記載されている技術は、他のクライアント／サーバ構成（たとえばセットトップボックス等）においても、および、非クライアント／サーバ構成（たとえばローカル格納アプリケーション等）においても、適用し得ることが注目される。
【００３９】
ユーザ装置１０４は、携帯電話、スマートフォン、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、シンクライアント（thin-client）装置
、タブレットＰＣ等の、任意の種類の計算装置であればよいが、これらに限定されない。いくつかの例において、ユーザ装置１０４は、サービスプロバイダコンピュータ１０６と、ネットワーク１０８を介してまたはその他のネットワーク接続を介して通信し得る。さらに、ユーザ装置１０４はまた、処理するデータベース１１２（またはその他のデータ記憶装置）のデータを要求するための、１つ以上のクエリまたはクエリステートメントを与えるように構成し得る。
【００４０】
いくつかの局面において、サービスプロバイダコンピュータ１０６はまた、モバイル、デスクトップ、シンクライアント、および／またはサーバ等のクラウド計算装置といった、任意の種類の計算装置であればよいが、これらに限定されない。いくつかの例において、サービスプロバイダコンピュータ１０６は、ユーザ装置１０４と、ネットワーク１０８を介してまたはその他のネットワーク接続を介して通信し得る。サービスプロバイダコンピュータ１０６は、おそらくは、クラスタに、サーバファームとして、または、互いに関連がない個々のサーバとして配置された、１つ以上のサーバを含み得る。これらサーバは
、本明細書に記載のブール述部の高速評価を含むがこれに限定されない、本明細書に記載の特徴を実行するように、そうでなければホストするように、構成し得る。加えて、いくつかの局面において、サービスプロバイダコンピュータ１０６は、ストリーミングデータソースコンピュータ１１０および／またはデータベース１１２を含む、一体化された分散計算環境の一部として構成し得る。
【００４１】
例示としてのある構成において、サービスプロバイダコンピュータ１０６は、少なくとも１つのメモリ１３６と、１つ以上の処理部（またはプロセッサ）１３８とを含み得る。プロセッサ１３８は適宜、ハードウェア、コンピュータにより実行可能な命令、ファームウェア、またはこれらの組合わせにおいて実装し得る。コンピュータにより実行可能な命令またはファームウェアによる、プロセッサ１３８の実装は、記載されているさまざまな機能を実行するために、何らかの適切なプログラミング言語で書かれた、コンピュータにより実行可能なまたはマシンにより実行可能な命令を含み得る。
【００４２】
メモリ１３６は、プロセッサ１３８にロード可能でかつプロセッサ１３８において実行可能なプログラム命令と、これらプログラムの実行中に生成されるデータとを格納し得る。サービスプロバイダコンピュータ１０６の構成および種類に応じて、メモリ１３６は、揮発性（ランダムアクセスメモリ（ＲＡＭ）等）であってもよくおよび／または不揮発性（読出専用メモリ（ＲＯＭ）、フラッシュメモリ他等）であってもよい。サービスプロバイダコンピュータ１０６またはサーバはまた、着脱可能な記憶装置および／または着脱不能な記憶装置を含み得る、その他の記憶装置１４０を含み得る。その他の記憶装置１４０は、磁気記憶装置、光ディスク、および／またはテープ記憶装置を含み得るがこれらに限定されない。ディスクドライブおよびこれらディスクドライブに関連するコンピュータ読取可能な媒体は、計算装置のための、コンピュータ読取可能な命令、データ構造、プログラムモジュール、およびその他のデータの、不揮発性記憶装置を提供し得る。実装によっては、メモリ１３６は、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、またはＲＯＭ等の、複数の異なる種類のメモリを含み得る。
【００４３】
着脱可能および着脱不能な、メモリ１３６およびその他の記憶装置１４０はすべて、コンピュータ読取可能な記録媒体の例である。たとえば、コンピュータ読取可能な記録媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュール、またはその他のデータ等の、情報の格納のための何等かの方法または技術において実装される、揮発性または不揮発性で着脱可能または着脱不能な媒体を含み得る。メモリ１３６およびその他の記憶装置１４０はすべて、コンピュータ記録媒体の例である。
【００４４】
サービスプロバイダコンピュータ１０６はまた、アイデンティティインターフェイスコンピュータ１２０が、格納されているデータベース、別の計算装置もしくはサーバ、ユーザ端末、および／またはネットワーク１０８上のその他の装置と通信できるようにする、通信接続１４２を含み得る。サービスプロバイダコンピュータ１０６はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置、ディスプレイ、１つ以上のスピーカ、プリンタ他等の、入出力（Ｉ／Ｏ）装置１４４を含み得る。
【００４５】
次にメモリ１３６の内容の詳細について述べる。メモリ１３６は、オペレーティングシステム１４６と、ハイブリッドクエリモジュール１４８および／またはクエリ変換モジュール１４９を少なくとも含む、本明細書に開示される特徴を実装するための、１つ以上のアプリケーションプログラムまたはサービスとを含み得る。本明細書で使用されるモジュールは、サービスの一部であるサーバまたはサーバのクラスタによって実行されるプログラミングモジュールであってもよい。この特定の文脈において、モジュールを、サービスプロバイダコンピュータ１０６の一部であるサーバまたはサーバのクラスタによって実行
してもよい。いくつかの例において、ハイブリッドクエリモジュール１４８は、連続クエリとスケジュールされたデータベースクエリとを組合わせるためのおよび／またはこの組合わせを実行するための１つ以上のハイブリッドクエリ１５０を生成するかそうでなければ提供するように構成し得る。たとえば、連続クエリ（たとえばストリーム）をインスタンス化してもよく、（たとえばタイマに対する）データベースクエリの結果を連続クエリにプッシュするかそうでなければ含めてもよい。さらに、いくつかの例において、ハイブリッドクエリ１５０は、連続クエリ１５４に含まれている１つ以上の戦術的クエリ結果１５２を含み得る。このようにして、非連続クエリ（たとえば戦術的クエリ結果１５２を提供する戦術的クエリ）は効果的に連続的に実行することができる。加えて、以下では、ハイブリッドクエリモジュール１４８および／またはサービスプロバイダコンピュータ１０６の動作のいくつかの例についてより詳細に説明する。
【００４６】
加えて、いくつかの例では、クエリ変換モジュール１４９を、戦術的クエリから連続クエリへの変換を可能にするように構成してもよい。上記のように、この変換は実行時に行なってもよく、この変換により、以前静的に（たとえばアクティブでないやり方で）表示されていた履歴データに対するリアルタイムの変更をユーザ１０２は（ユーザ装置１０４のインターフェイスを介して）見ることができるであろう。いくつかの局面において、ユーザ１０２は、ユーザ装置１０４によって表示されるおよび／またはサービスプロバイダコンピュータ１０６によって与えられる、ダッシュボードまたはその他のユーザインターフェイスにおける、（たとえば戦術的クエリからの）スタティックデータを見ている間に、実行時において可視化をアクティブにすることができるであろう。いくつかの例において、ユーザ１０２は、先ず、ダッシュボードおよび／またはクエリ変換モジュール１４９の機能にアクセスすることについての認証または認可を得る必要があるであろう。デフォルトで、いくつかのダッシュボードビューには、ビジネスビューの背後のクエリとしてのＳＱＬが付随してもよい。ユーザ１０２がスタティックビューをアクティブビューにすることを望む場合、ユーザは、クエリ変換モジュール１４９を（たとえばダッシュボードのアイコンまたはその他のインターフェイス要素を通して）利用することができるであろう。その場合、クエリ変換モジュール１４９は戦術的クエリ（すなわちこの例ではＳＱＬクエリ）を連続クエリ（たとえばＣＱＬクエリ）に変換することができ、アクティブな変更を処理するためにビューをダッシュボードに再びロードすればよい。その他の機能（たとえばフィルタリングおよび／またはディメンション変更）もダッシュボードを介して可能にすればよい。加えて、いくつかの例において、ユーザ１０２は、実行時にＡＤＳを起動し、関連するビュー（たとえばダッシュボード）においてアクティブデータを見ることができるであろう。これら変更は、ユーザ１０２に固有のものであって、その他のユーザのビューには影響しないであろう。
【００４７】
いくつかの例において、実行時にユーザ１０２がＡＤＳを起動すると、ｐａｇｅＤｅｆファイル（またはその他の定義ファイル）が更新されて、アクティブビューが起動されたことを示すであろう。さらに、ＡＤＳ実行時パラメータをｐａｇｅＤｅｆファイルに格納することによって個別化を実現することもでき、そうすると、次回ユーザが来たときにダッシュボードはユーザが中断した場所となり得る。加えて、ＵＩまたはその他のインターフェイスは、チェックボックス、ドロップダウンボックス等を用いてＡＤＳを起動できるようにするポップアップを提供してもよい。内部では、クエリ変換モジュール１４９が、ユーザ１０２の選択および／またはｐａｇｅＤｅｆファイルに少なくとも一部基づいて、戦術的クエリを連続クエリに変換してもよい。スライディングウィンドウおよび／またはレンジをＵＩを介して指定してもよい。上記のように、ｐａｇｅＤｅｆファイルにおける変更は、要求を行なう（たとえばボックスをチェックする等）特定のユーザ１０２に対してのみ実現することができる。上記のように、実行時にＡＤＳを起動することにより、ユーザ１０２は、戦術的クエリを連続クエリに実行時に変えることができる。いくつかの例において、ビジネスビューがダッシュボードにおいて与えられたとき、ユーザ１０２は、
ダッシュボードを表示しているＵＩの設定部から「アクティブにする」というオプションを選ぶことができるであろう。
【００４８】
ビューがアクティブになることをユーザ１０２が要求すると、アクティブデータプロパティをセットアップするのにユーザ１０２が使用できるいくつかのオプションが可能になるであろう。たとえば、アクティブデータコラプスおよび／または時間ウィンドウ機能が与えられてもよい。アクティブデータコラプス機能は、データを１つ以上のチャンクにコラプス（解体）させ各チャンク内のデータを速やかに（たとえば特定の時間間隔で）更新することをユーザ１０２が行なえるようにすることを含み得るが、これに限定されない。加えて、時間ウィンドウ機能は、データ内の時間ウィンドウをユーザ１０２が求めるか否かをユーザ１０２が指定できるようにすることを含み得るが、これに限定されない。そうであれば、このオプションによって、ユーザ１０２は、ウィンドウの長さおよびウィンドウの更新間隔を指定することができる。ユーザ１０２が上記プロパティを選択した場合、ユーザ１０２は、データをセットアップし得る選択（たとえば「ＯＫ」アイコン等の選択）を行なえばよく、グラフのリフレッシュ後、ビジネスビューをアクティブにすればよい。場合によっては、各ビジネスビューと関連し得る、管理されているＪａｖａビーンが、ポップアップにおけるデータの投入を処理すればよい。これはまた、ビジネスビューのｐａｇｅＤｅｆファイルに適切な変更を加えるようコードを呼び出すことができるポップアップ閉鎖イベントを扱うこともできる。データ制御（ＤＣ）レイヤはその後、ｐａｇｅＤｅｆファイルからデータを取出してビューをアクティブにすればよい。
【００４９】
サービスプロバイダコンピュータ１０６および／またはユーザ装置１０４に存在し得るその他の種類のコンピュータ記録媒体（これも非一時的であってもよい）は、プログラマブルランダムアクセスメモリ（ＰＲＡＭ）、ＳＲＡＭ、ＤＲＡＭ、ＲＡＭ、ＲＯＭ、電気的に消去可能なプログラマブル読出専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリもしくはその他のメモリ技術、コンパクトディスク読出専用メモリ（ＣＤ−ＲＯＭ）、デジタル汎用ディスク（ＤＶＤ）もしくはその他の記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくはその他の磁気記憶装置、または、所望の情報を格納するのに使用することができサービスプロバイダコンピュータ１０６および／またはユーザ装置１０４からアクセス可能なその他の媒体を含み得るがこれらに限定されない。上記のうちのいずれかを組合わせたものも、コンピュータ読取可能な媒体の範囲に含まれるはずである。
【００５０】
これに代えて、コンピュータ読取可能な通信媒体が、コンピュータ読取可能な命令、プログラムモジュール、または、搬送波等のデータ信号内で伝送されるその他のデータ、またはその他の伝送を含む場合がある。しかしながら、本明細書で使用されるコンピュータ読取可能な記録媒体は、コンピュータ読取可能な通信媒体を含まない。
【００５１】
図２は簡略ブロック図２００を示し、これを用いて、連続クエリとスケジュールされたクエリの複合的実行の特徴を説明することができる。上記のように、いくつかの例において、ハイブリッドクエリ１５０は、図１のハイブリッドクエリモジュール１４８によって実行されてもよく、１つ以上の戦術的クエリ結果１５２および／または１つ以上の連続クエリ１５４を含み得る。いくつかの例において、ハイブリッドクエリ１５０は、ＣＱＬエンジン２０２によって実行されるかそうでなければ管理されてもよい。ＣＱＬエンジン２０２は、（たとえばストリーミングデータ、イベントデータ、実データ、リアルタイムデータ等に少なくとも一部基づいて）連続クエリを実行するように構成されてもよい。このため、戦術的クエリと連続クエリの複合的実行を行なうことは、ハイブリッドクエリ１５０を実行することを含み得るが、これに限定されない。場合によっては、ハイブリッドクエリ１５０を、スケジュールまたはその他の時間間隔に少なくとも一部基づいて、実装および／またはリフレッシュしてもよい。
【００５２】
いくつかの局面において、戦術的クエリは、図１のデータベース１１２と同様または同一のデータベースからデータを取出してもよい。このとき、戦術的クエリ結果１５２（すなわちデータベース１１２からのデータ）は、セットアップされてイベントストリームからイベント２０４を取出すかそうでなければ収集する連続クエリ１５４に、（たとえば属性またはその他の値として）含まれるであろう。いくつかの例では、イベントを、図１のストリーミングデータソースコンピュータ１１０から、または、他のソースおよび／またはストリームから受けることがある。しかしながら、場合によっては、データベース１１２および／またはストリーミングイベント２０４は、ＣＱＬエンジン２０２の外にあるかそうでなければＣＱＬエンジン２０２からアクセスできないことがある。このように、ＣＱＬエンジン２０２は、最終結果について、ハイブリッドクエリ１５０に依存するおよび／または頼ることがある。加えて、いくつかの例において、連続クエリサービス（「ＣＱＬサービス」とも呼ばれる）２０６は、ＣＱＬエンジン２０２および／またはハイブリッドクエリ１５０を、管理および／または制御し得る。
【００５３】
いくつかの例では、上記のように、連続クエリ１５４との関連でデータベースクエリ言語を利用できるように、ハイブリッドクエリ１５０を実装してもよい。たとえば、ＳＱＬクエリ（すなわち戦術的クエリ結果１５２を提供し得る戦術的クエリ）を利用することによって、データベース１１２から結果１５２を得てもよい。次に、この結果１５２は、連続クエリ１５４において利用されて、ストリーミングデータ（すなわちイベント２０４）上で実行されてもよい。言い換えると、ハイブリッドクエリ１５０は、データベースクエリに少なくとも一部基づいてイベントデータ２０４のストリームにクエリする機能を提供し得る。さらに、ハイブリッドクエリ１５０は、連続クエリ１５４を周期的に実行する機能を提供し得る。
【００５４】
ハイブリッドクエリ１５０はまた、連続クエリを履歴ＢＩ論理クエリ（たとえばこれは戦術的クエリの別の例であってもよい）と組合わせるクエリをサポートし得る。たとえば、連続クエリモデルの中で履歴ＫＰＩデータを使用するとき、履歴ＢＩ論理クエリはスケジュールに従って実行し、結果はストリームとしてＣＱＬエンジン２０２に送ってもよい。場合によっては、ハイブリッドクエリ１５０の実装には、ＣＱＬの特徴と、（たとえばスケジュールに対する）履歴ＢＩ論理クエリの特徴双方を含む構文が必要であろう。いくつかの例において、この構文は以下の例を含み得る。
【００５５】
【数１】
2019194868.tif 000003
【００５６】
加えて、ストリーム名は、連続クエリの「ｗｈｅｒｅ」句におけるストリームと一致し得る。ストリーム名は完全修飾されてもよい（fully qualified）。クエリは引用されたス
トリングの中に与えられてもよい。クエリはＣＱサービス２０６に対して不透明であってもよく、ＣＱサービス２０６はこれをパースしようとしなくてもよい。さらに、スケジュール構文は、「ｅｘｐｉｒｅ」句なしのスケジュールされた戦術的クエリにおいて使用されるのと同じであってもよい。
【００５７】
いくつかの局面において、ハイブリッドクエリ１５０は、連続部分、戦術的部分、およびスケジュール部分という、３つの部分を含み得る。以下のハイブリッドクエリ１５０は、平均コール処理時間が昨日の平均コール処理時間よりも長い場合に警告を送る限定されない１つの例を示している。この平均コール処理時間は毎日深夜に計算される。
【００５８】
【数２】
2019194868.tif 000004
【００５９】
上記ハイブリッド連続クエリ１５０の例の場合、以下の動作が生じているであろう。
１．ストリーム、CALLCENTER.CC4HistKPIが、「create stream CALLCENTER.CC4HistKPI(prevDayCPT double, allowedDeviatin double)」ｄｄｌを用いて作成される。
２．ｃｑｌ部分が、ＣＱＬエンジンに正規ｃｑｌとして登録される。
３．ＳＱＬ部分が、与えられたスケジュール「０：０ＡＭ、一日毎」に従いビームプロダクトにおけるスケジューラを用いて実行する。
４．ＳＱＬ実行からの結果が、ストリームとしてビームプロダクトによりＣＱＬエンジンにプッシュされる。
５．ｃｑｌ部分における結合部分が、ストリームとリレーションの間の結合を処理する。
【００６０】
図３は、一例に従い、連続クエリとスケジュールされたクエリの複合的実行を実装するための１つ以上の技術３００を示す簡略フロー図を示す。図３において、ここでも、サービスプロバイダコンピュータ１０６は、ユーザ１０２および／またはユーザ装置１０４とネットワーク１０８を介して通信することが示されている。加えて、いくつかの例において、サービスプロバイダコンピュータ１０６は、１つ以上のイベントプロセッサコンピュータ３０２および／またはデータベース３０４を含み得る、または、これと（たとえばネットワーク１０８を介して）通信し得る。図３では技術３００が（任意の連続番号を含む）特定の順序で示されているが、特定の順序は不要であることおよび技術３００の１つ以
上のステップまたは部分を省略、スキップ、および／または並べ替えることができることが、理解されるはずである。限定されない少なくとも１つの例において、図１および図２を参照しながら先に説明した１つ以上のサービスプロバイダコンピュータ１０６は、ユーザ装置１０４から、クエリおよび／またはデータ処理要求（たとえばＫＰＩおよび／またはＢＩデータ）を受けることができる。クエリおよび／またはデータ要求は、データベースデータ（たとえばデータベース３０４に格納されているデータ）および／またはストリーミングイベントデータ（たとえばイベントプロセッサ３０２からリアルタイムで受けているデータ）の処理（たとえば取出し、格納、削除等）を要求するように構成し得る。加えて、いくつかの例において、サービスプロバイダコンピュータ１０６はまた、ストリームを生成してもよく、および／またはストリームを、連続クエリエンジン（たとえば図２のＣＱＬエンジン２０２であるがこれに限定されない）、サービス（たとえば図２のＣＱサービス２０６であるがこれに限定されない）、および／またはイベントプロセッサ３０２に登録してもよい。ストリームは、イベントプロセッサ３０２からリアルタイムＫＰＩデータを取出すかそうでなければ収集するように構成されてもよい。
【００６１】
いくつかの例において、サービスプロバイダコンピュータ１０６はまた、１つ以上の戦術的クエリ（たとえばＳＱＬクエリ等）を与えるまたは実装することにより、データベース３０４または別の記憶システムから履歴データを取出してもよい。いくつかの例において、クエリは、スケジュールに少なくとも一部基づいて与えられ、そうでなければ実装されてもよい。戦術的クエリに少なくとも一部基づいて、サービスプロバイダコンピュータ１０６は、データベース３０４からデータを受けてもよい。言い換えると、サービスプロバイダコンピュータ１０６はクエリ結果を受けてもよい。サービスプロバイダコンピュータ１０６は、次に、戦術的クエリ結果をストリームに含めることにより、連続クエリがこの戦術的クエリ結果に少なくとも一部基づいて処理されるようにしてもよい。サービスプロバイダコンピュータ１０６は次に、ストリーム（すなわち連続クエリ結果）からデータを受け、このデータを、および／または処理の確認（acknowledgement）を、ユーザコン
ピュータ１０４に与えてもよい。
【００６２】
図４は簡略ブロック図４００を示し、これを用いて、戦術的クエリから連続クエリへの変換の特徴を説明することができる。上記のように、いくつかの例において、アクティブデータサービス（ＡＤＳ）４０２は、図１のクエリ変換モジュール１４９によって実行されてもよく、１つ以上のプログラミングレイヤ（モジュールとも呼ばれる）を含み得る。これら特徴（すなわちレイヤおよび／または上記オプション）の実装は、ＤＣレイヤ４０４によって管理されてもよい。いくつかの例において、ＤＣレイヤ４０４は、アプリケーション開発フレームワーク（ＡＤＦ）のバインド（binding）要素であってもよく、ＪＤ
ｅｖ環境において書かれてもよい。ＤＣレイヤ４０４は、ＤＴ＠ＲＴにおいて作成されてもよく、クエリを動的に変更しバインド定義をオンザフライで再構成することによって実行時のスライスアンドダイスをサポートする機構を備えていてもよい。さらに、いくつかの例において、ディメンションまたはフィルタが変更された場合、これら変更はＤＣに送られていてもよく、よって、ＤＣは上記変更を含み得る新たなモデルを準備してから要求を実行のためにバックエンドに送ってもよい。結果が返された後、ＤＣは、ｘ軸（通常は時間のディメンション）およびデータ系列（新たなフィルタによって変更し得る）双方を必要とするリアルタイム可視化変更を含み得る新たなモデルデータをバインドしてもよく、これはまた、戦術的クエリを連続クエリに変換するための導管（コンジット  conduit
）であってもよい。場合によっては、個別化を適用して、ダッシュボードの各インスタンスが自身のスライスアンドダイスをサポートできるようにしてもよい。
【００６３】
ＤＣレイヤ４０４は、ビジネスビューのｐａｇｅＤｅｆから値を選び出すように構成されてもよい。ＤＣレイヤ４０４はまた、ＡＤＦコンテキストを通して自身がバインドされているビジネスビューのｐａｇｅＤｅｆのアクセスを取得してもよい。これは次に、イン
メモリ修飾子４０５に変更を加えこれを次のレイヤにセットアップしてデータをフェッチしビジネスビューに返してもよい。ＡＤＳ４０２はまた、ＵＩレイヤ４０６、メタデータサービス４０８、レポートキャッシュレイヤ４１０、および／または共通クエリレイヤ４１２を含み得る。ＵＩレイヤ４０６は、新たなフィルタをセットアップするためのオプションをユーザ１０２に与えてもよい。ＵＩレイヤ４０６はまた、ユーザ１０２から与えられる情報を捕捉しこれを次のレイヤが理解できる適切なフォーマットでメタデータファイルにセットアップしてもよい。メタデータサービスレイヤ４０８は、更新すべきビジネスビューの基底ｐａｇｅＤｅｆ、および、ＵＩレイヤ４０６から捕捉された値を更新できるように構成されてもよい。これら変更がなされたら、要求を順序付けることにより、この情報を処理のために次のレイヤに送ることができるようにしてもよい。いくつかの例において、レポートキャッシュレイヤ４１０は、ＤＣレイヤ４０４をリッスンすることにより適切な修飾子を得てもよく、実際のデータ４１４を、共通クエリレイヤ４１２を用いてフェッチした後に返す。
【００６４】
いくつかの例において、ユーザ１０２は、データ４１４をＵＩレイヤ４０６に入力してもよい。このデータ４１４は情報の形に適切に構成してもよい。このデータは、情報として、ビジネスビューのｐａｇｅＤｅｆファイルを通してデータ制御レイヤ４０４に送るようよう要求されるものである。ＤＣレイヤ４０４は、ＡＤＦコンテキストを通して、自身がバインドされているｐａｇｅＤｅｆを処理してもよく、また、要求した情報を獲得し得る。フィルタを適用するために、フィルタノードを、ユーザから集めた情報を示すｐａｇｅＤｅｆファイルに追加してもよい。サンプルは次の通りである。
【００６５】
【数３】
2019194868.tif 000005
【００６６】
いくつかの例において、このノードは、ＡＤＦにおけるビューのｐａｇｅＤｅｆの一部でなくてもよい。したがって、拡張可能なマークアップ言語（ＸＭＬ）のファイルにこれが適合するためには、カスタムネームスペースのユーザが実装されてもよい（たとえば上記ノードにおいて強調表示される）。このノードは、次にＤＣレイヤ４０４によって選び出されインメモリ修飾子４０５に設定されることにより、ビジネスビューにおける上記クエリに対して既に存在する修飾子の上にユーザ１０２が行なった変更を示してもよい。この修飾子がレポートキャッシュレイヤ４１０に送られて実際のデータ４１４をＤＣレイヤ４０４に返すと、ＤＣレイヤ４０４はデータをＵＩレイヤ４０６に返す。
【００６７】
同様に、グループ変更を行ないビューをアクティブにするには、ｐａｇｅＤｅｆのＸＭＬを新たなグループの値で修正し「ＣｈａｎｇｅＥｖｅｎｔＰｏｌｉｃｙ」属性を「ｐｕｓｈ」に設定すればよい。これは次のように見えるであろう。
【００６８】
【数４】
2019194868.tif 000006
【００６９】
しかしながら、このノードも、ＡＤＦフレームワークの一部でなくてもよい。したがって、いくつかの例では、これをそのまま使用してもよく、グループのノード内の変更は、ＵＩレイヤ４０６においてユーザ１０２によってなされたグループの変更を示す。よって、同様の手法に従い、ＤＣレイヤ４０４からＵＩレイヤ４０６にデータ４１４を返せばよい。加えて、いくつかの例では、アクティブデータプロパティのセットアップは、ｐａｇｅＤｅｆファイルで使用される以下のＸＭＬノードを含み得る。
【００７０】
【数５】
2019194868.tif 000007
【００７１】
この場合も、このノードは、ＡＤＦフレームワークの一部でなくてもよい。したがって、カスタムネームスペースを利用してもよい。加えて、スライスアンドダイスという特徴がグループを変化させたとき、これは内部でクエリの形状を変化させているであろう。ＤＣレイヤ４０４内部での構造定義は、クエリの形状に少なくとも一部基づき得る。ＤＣレイヤ４０４がｐａｇｅＤｅｆにアクセスした時点で、既に、元のクエリに対して構造定義が作成されているであろう。そこで、ＤＣレイヤ４０４は、メモリ内のクエリ定義を修正して新たなグループに一致させることを要求し、また、ＤＣレイヤ４０４のインスタンス
にアクセスする／これを使用するｐａｇｅＤｅｆにバウンドされると予想される新たな構造定義を動的に再び作成してもよい。そうすると、ＤＣレイヤ４０４がＲＣレイヤ４１０上でビューを開くと、これは、インメモリ修飾子４０５で修正された新たなクエリ定義を用いてもよい。いくつかの例において、こうすれば、ＡＤＳ４０２のレイヤが確実に同期するようにすることができる。
【００７２】
いくつかの例において、フィルタが適用されると、これは、クエリ定義を変更するがクエリの形状は変更しないので、結果として構造定義は変化しないであろう。フィルタは、メモリ内のクエリ定義のみを変更してもよく、クエリの「ｗｈｅｒｅ句」および「パラメータ」が変化し得る。これは、ＲＣレイヤ４１０にも同様に伝搬されてもよい。ＤＣレイヤ４０４が以前のクエリ定義を有する開いたビューを既に有している場合、これは、古いクエリ定義を有する古いビューを閉じて新たなクエリ定義を有する新たなビューをＲＣレイヤ４１０上で開くことをＲＣレイヤ４１０に要求してもよい。加えて、属性「ＣｈａｎｇｅＥｖｅｎｔＰｏｌｉｃｙ」が「プッシュ」に設定されたとき、ＤＣレイヤ４０４は、ＡｃｔｉｖｅＤａｔａＰｒｏｐｅｒｔｉｅｓノードを読むことによって、アクティブデータプッシュビューが作成されるときにＲＣレイヤ４１０が予想するウィンドウ拡張値を有する適切なＶｉｅｗＳｅｔＢｕｉｌｄｅｒを作成してもよい。この時点で、ＤＣレイヤ４０４は、ＲＣレイヤ４１０上の古い戦術的ビューを閉じて新たなアクティブデータ定義を作成して、ＲＣレイヤ４１０上で新たなビューを開いてもよい。新たなビューをＲＣレイヤ４１０上で開いた後、ＤＣレイヤ４０４は、データの変更を受けるために、アクティブデータリスナをＲＣレイヤ４１０上に登録してもよい。ＲＣレイヤ４１０がＤＣリスナにデータをプッシュし始めると、ＤＣレイヤ４０４も同様にＡＤＦレイヤにデータをプッシュし始めてもよい。
【００７３】
さらに、個別化という特徴を、メタデータサービス（ＭＤＳ）フレームワークを用いて実装してもよい。フィルタは、ａｄｆＢｉｎｄｉｎｇｓフィルタの前にアプリケーションのｗｅｂ．ｘｍｌファイルにおいてセットアップされてもよい。このフィルタはＳｅｓｓｉｏｎＯｐｔｉｏｎｓＦａｃｔｏｒｙをセットアップしてもよく、これは、ページ要求（またはページ要求のサブセット）毎に、その時点において現在アクティブであるカスタマイゼーションレイヤを返す。また、いかなる時でもサイトレイヤはアクティブであってもよいが、個別化という特徴のためにはユーザレイヤは動的にアクティブにされればよい。このために、オプション（ＭｏｄｅＣｏｎｔｅｘｔ）が維持されてもよく、これは、ＳｅｓｓｉｏｎＯｐｔｉｏｎｓＦａｃｔｏｒｙに、ユーザレイヤがアクティブにされたか否か知らせる。ＭＤＳフレームワーク内の適切なレイヤがアクティブにされると、フィルタ、グループ、およびアクティブデータに関連する変更が、各ユーザ固有のビジネスビューのｐａｇｅＤｅｆファイルに対して行なわれてもよい。このｐａｇｅＤｅｆが要求される度に、適切なものがＵＩレイヤ４０６に返され、ＤＣレイヤ４０４にも返される。このようにして、この個別化という特徴を機能させることができる。
【００７４】
図５〜図７は、本明細書に記載の連続クエリとスケジュールされたクエリの複合的実行を実装するためのプロセス５００、６００、および７００をそれぞれ示すフロー図の例を示す。これらプロセス５００、６００、７００は、論理フロー図として示され、その各動作は、ハードウェア、コンピュータ命令、またはこれらの組合わせにおいて実装することができる一連の動作を表わす。コンピュータ命令という文脈において、動作は、１つ以上のプロセッサによって実行されるときに、記載されている動作を実行する１つ以上のコンピュータ読取可能な記録媒体に格納されているコンピュータにより実行可能な命令を表わす。一般的に、コンピュータにより実行可能な命令は、特定の機能を果たすまたは特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。動作を説明する順序は限定として解釈されることを意図しておらず、記載されている動作のいくつかを任意の順序でおよび／または並列に組合わせてプロセスを実装す
ることができる。
【００７５】
加えて、プロセスのうちのいくつか、いずれか、またはすべてを、実行可能な命令とともに構成された１つ以上のコンピュータシステムの制御下で実行してもよく、１つ以上のプロセッサ上で、ハードウェアによって、またはこれらの組合わせによって一括で実行するコード（たとえば実行可能な命令、１つ以上のコンピュータプログラム、または１つ以上のアプリケーション）として実装してもよい。上記のように、コードは、たとえば１つ以上のプロセッサにより実行可能な複数の命令を含むコンピュータプログラムの形態で、コンピュータ読取可能な記録媒体に格納してもよい。コンピュータ読取可能な記録媒体は非一時的なものであってもよい。
【００７６】
いくつかの例において、図１〜図３に示される（たとえば図１のハイブリッドクエリモジュール１４８および／または図２の連続クエリサービス２０６のうちの少なくとも１つを利用する）１つ以上のサービスプロバイダコンピュータ１０６は、図５のプロセス５００を実行し得る。プロセス５００は、５０２で、第１のソースからのリレーショナルデータを用いてクエリエンジンを初期化することを含むことから始まり得る。いくつかの例において、第１のソースはデータベース（たとえばリレーショナルデータベース）であってもよい。プロセス５００は、５０４で、リレーショナルデータおよび第２のソースからのストリーミングデータに少なくとも一部基づいてクエリエンジンがクエリ結果を与えることができるようにすることで、終了し得る。第２のソースは、リアルタイムおよび／またはストリーミングデータ（たとえば複合イベント、ＫＰＩデータ等）を与えることができる、イベントプロセッサまたはその他の計算システムであってもよい。
【００７７】
図６は、本明細書に記載の連続クエリとスケジュールされたクエリの複合的実行を実装するためのプロセス６００を示すフロー図の例を示す。図１〜図３に示される（たとえば図１のハイブリッドクエリモジュール１４８および／または図２の連続クエリサービス２０６のうちの少なくとも１つを利用する）１つ以上のサービスプロバイダコンピュータ１０６は、図６のプロセス６００を実行し得る。プロセス６００は、６０２で、第１のソースに関連するストリームを生成することを含むことから始まり得る。いくつかの例において、第１のソースは、複合イベント処理エンジンまたはその他のイベントストリームとして構成されてもよい。プロセス６００は、６０４で、第２のソースから第１のクエリ結果を受けることを含み得る。第２のソースは、データベースまたはその他の記憶システム（たとえばリレーショナルデータベース等）として構成されてもよい。このため、第１のクエリ結果を、戦術的クエリの実装に少なくとも一部基づいて受けてもよい。プロセス６００はまた、６０６で、第２のソースからの第１のクエリ結果を６０２で生成されたストリームに含める（または与える）ことを含み得る。プロセス６００はその後、６０８で、生成されたストリームおよび第１のクエリ結果に少なくとも一部基づいて第２のクエリ結果を与えることを含むことで、終了し得る。言い換えると、第２のクエリ結果は、第１のクエリ結果をストリームに含めたことに基づき得る。この第２のクエリ結果は、ユーザに（たとえばユーザインターフェイスを介して）与えてもよく、処理エンジンに与えてもよく、および／またはモニタリングする、警告する、および／またはビジネスイベント等に関連する情報を提供するように構成されたサービスプロバイダに与えてもよい。
【００７８】
図７は、本明細書に記載の連続クエリとスケジュールされたクエリの複合的実行を実装するためのプロセス７００を示すフロー図の例を示す。図１〜図３に示される（たとえば図１のハイブリッドクエリモジュール１４８および／または図２の連続クエリサービス２０６のうちの少なくとも１つを利用する）１つ以上のサービスプロバイダコンピュータ１０６は、図７のプロセス７００を実行し得る。プロセス７００は、７０２で、イベントプロセッサ（たとえば複合イベントプロセッサ等）に関連するストリームを生成することを含むことから始まり得る。プロセス７００は、７０４で、生成されたストリームをクエリ
エンジン（たとえば図２のクエリエンジン７０２）に登録することを含み得る。プロセス７００はまた、７０６で、スケジュールに少なくとも一部基づいて第１のクエリをデータソースに与えることを含み得る。データソースは、クエリに応じて履歴データを与えることができる、リレーショナルデータベースまたはその他の記憶システムであってもよい。プロセス７００は、７０８で、与えられた第１のクエリに少なくとも一部基づいてデータソースから第１のクエリ結果を受けることを含み得る。加えて、いくつかの例において、プロセス７００は、７１０で、データソースからの第１のクエリ結果を登録されたストリームに含めることを含み得る。プロセス７００は、７１２で、登録されたストリームおよび第１のクエリ結果に少なくとも一部基づいて第２のクエリ結果を与えることを含むことで、終了し得る。言い換えると、上記のように、第２のクエリ結果は、スケジュールされた戦術的クエリと連続クエリ（すなわちストリームによってインスタンス化されたもの）の組合わせに少なくとも一部基づいていてもよい。
【００７９】
図８〜図１０は、本明細書に記載の戦術的クエリから連続クエリへの変換を実装するためのプロセス８００、９００、および１０００をそれぞれ示すフロー図の例を示す。これらプロセス８００、９００、１０００は、論理フロー図として示され、その各動作は、ハードウェア、コンピュータ命令、またはこれらの組合わせにおいて実装することができる一連の動作を表わす。コンピュータ命令という文脈において、動作は、１つ以上のプロセッサによって実行されるときに、記載されている動作を実行する１つ以上のコンピュータ読取可能な記録媒体に格納されているコンピュータにより実行可能な命令を表わす。一般的に、コンピュータにより実行可能な命令は、特定の機能を果たすまたは特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。動作を説明する順序は限定として解釈されることを意図しておらず、記載されている動作のいくつかを任意の順序でおよび／または並列に組合わせてプロセスを実装することができる。
【００８０】
加えて、プロセスのうちいくつか、いずれか、またはすべてを、実行可能な命令とともに構成された１つ以上のコンピュータシステムの制御下で実行してもよく、１つ以上のプロセッサ上で、ハードウェアによって、またはこれらの組合わせによって一括で実行するコード（たとえば実行可能な命令、１つ以上のコンピュータプログラム、または１つ以上のアプリケーション）として実装してもよい。上記のように、コードは、たとえば１つ以上のプロセッサにより実行可能な複数の命令を含むコンピュータプログラムの形態で、コンピュータ読取可能な記録媒体に格納してもよい。コンピュータ読取可能な記録媒体は非一時的なものであってもよい。
【００８１】
いくつかの例において、図１〜図４に示される（たとえば図１のクエリ変換モジュール１４９および／または図４のアクティブデータサービス４０２のうちの少なくとも１つを利用する）１つ以上のサービスプロバイダコンピュータ１０６は、図８のプロセス８００を実行し得る。プロセス８００は、８０２で、戦術的クエリを用いてクエリエンジンを構成することを含むことから始まり得る。いくつかの例において、戦術的クエリは、クエリエンジンに代わってデータをプルするように構成されてもよい。他の例において、戦術的クエリは、プルされたデータを受けることができるように構成されてもよい。他の例において、戦術的クエリは、プルされたデータを受けることを可能にするように構成されてもよい。プロセス８００は、８０４で、戦術的クエリから連続クエリへの変換を可能にすることを含むことで、終了し得る。いくつかの例において、この変換は実行時に可能にされてもよい。加えて、いくつかの局面において、この変換は、連続クエリからまたは連続クエリによってプッシュされたデータを受けるようにリスニングサービスを少なくとも構成することを含み得る。さらに、連続クエリは、その代わりに、ストリームからリスニングサービスおよび／またはクエリエンジンにプッシュされるようにデータを構成してもよい。
【００８２】
図９は、本明細書に記載の戦術的クエリから連続クエリへの変換を実装するためのプロセス９００を示すフロー図の例を示す。図１〜図４に示される（たとえば図１のクエリ変換モジュール１４９および／または図４のアクティブデータサービス４０２のうちの少なくとも１つを利用する）１つ以上のサービスプロバイダコンピュータ１０６は、図９のプロセス９００を実行し得る。プロセス９００は、９０２で、データベースからのユーザのビジネスイベントデータにクエリするための戦術的クエリを決定することを含むことから始まり得る。プロセス９００は、９０４で、ユーザのストリーミングビジネスイベントデータをクエリエンジンにプッシュすることができるように構成された連続エンジンに戦術的クエリを変換することを含み得る。さらに、プロセス９００は、９０６で、クエリエンジンにプッシュされたデータに少なくとも一部基づいてアクティブな可視化を表示するように構成されたユーザインターフェイスを提供することを含むことで、終了し得る。
【００８３】
図１０は、本明細書に記載の戦術的クエリから連続クエリへの変換を実装するためのプロセス１０００を示すフロー図の例を示す。図１〜図４に示される（たとえば図１のクエリ変換モジュール１４９および／または図４のアクティブデータサービス４０２のうちの少なくとも１つを利用する）１つ以上のサービスプロバイダコンピュータ１０６は、図１０のプロセス１０００を実行し得る。プロセス１０００は、１００２で、データベースからクエリエンジンにビジネスイベントデータをプルすることを可能にするように構成された戦術的クエリを決定することを含むことから始まり得る。この決定は、ユーザから受けたクエリに少なくとも一部基づくものであってもよい。プロセス１０００は、１００４で、データのアクティブな可視化の生成に関連する要求を受けることを含み得る。プロセス１０００はまた、１００６で、戦術的クエリを連続クエリに変換してもよい。この変換は実行時に行なわれてもよい。プロセス１０００は、１００８で、リスニングサービスを登録して、（たとえばストリームから）プッシュされたデータを受けることを含み得る。プロセス１０００は、１０１０で、（たとえば実行時に）フィルタを連続クエリに適用することまたは連続クエリのディメンションを変更することを求める要求を受けてもよい。さらに、プロセス１０００は、プッシュされたデータのアクティブな可視化を表示するように構成されたＵＩを与えることをプロセス１０００が含む１０１２で終了してもよい。
【００８４】
連続クエリとスケジュールされたクエリの複合的実行を実装するための、例示としての方法およびシステムについては上記の通りである。これらシステムおよび方法のうちのいくつかまたはすべては、少なくとも上記図１〜図１０に示されるもののようなアーキテクチャおよびプロセスによって少なくとも部分的に実装し得るが、そうすることが必要な訳ではない。
【００８５】
図１１は、本開示の実施形態に従い使用し得るシステム環境１１００の構成要素を示す簡略ブロック図である。図に示されるように、システム環境１１００は、１つ以上のクライアントコンピューティング装置１１０２、１１０４、１１０６、１１０８を含み、これら装置は、ウェブブラウザまたは専用のクライアント（たとえばOracle Forms）等のクライアントアプリケーションを、（図１および図３のネットワーク１０８と同様のネットワーク等であるがこれに限定されない）１つ以上のネットワーク１１１０を通して操作するように構成されている。さまざまな実施形態において、クライアントコンピューティング装置１１０２、１１０４、１１０６、および１１０８は、ネットワーク１１１０を通してサーバ１１１２と情報をやり取りし得る。
【００８６】
クライアントコンピューティング装置１１０２、１１０４、１１０６、１１０８は、汎用のパーソナルコンピュータ（例として、さまざまなバージョンのMicrosoft Windows（
登録商標）および／またはApple Macintoshオペレーティングシステムを実行するパーソ
ナルコンピュータおよび／またはラップトップコンピュータを含む）、携帯電話もしくは
ＰＤＡ（Microsoft Windows Mobile等のソフトウェアを実行し、インターネット、電子メール、ＳＭＳ、ブラックベリー（Blackberry）、またはその他の通信プロトコルを使用可能）、および／またはさまざまな市販のＵＮＩＸ（登録商標）もしくはＵＮＩＸのようなオペレーティングシステム（さまざまなＧＮＵ／Ｌｉｎｕｘ（登録商標）オペレーティングシステムを含むがこれに限定されない）のいずれかを実行するワークステーションコンピュータであってもよい。これに代えて、クライアントコンピューティング装置１１０２、１１０４、１１０６、および１１０８は、ネットワーク（たとえば以下で説明するネットワーク１１１０）を通して通信可能なシンクライアントコンピュータ、インターネットを使用可能なゲーム機、および／またはパーソナルメッセージングデバイス等のその他の電子デバイスであってもよい。典型的なシステム環境１１００が４つのクライアントコンピューティング装置とともに示されているが、クライアントコンピューティング装置の数はいくつであってもそれらをサポートし得る。センサ等を有する装置のような他の装置が、サーバ１１１２と情報をやり取りしてもよい。
【００８７】
システム環境１１００はネットワーク１１１０を含み得る。ネットワーク１１１０は、ＴＣＰ／ＩＰ、ＳＮＡ、ＩＰＸ、ＡｐｐｌｅＴａｌｋ等を含むがこれらに限定されないさまざまな市販のプロトコルのいずれかを用いたデータ通信をサポートできる、当業者によく知られているネットワークであれば、どのような種類のネットワークであってもよい。単なる例として、ネットワーク１１１０は、イーサネット（登録商標）ネットワーク、トークンリングネットワーク等のローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク、バーチャルプライベートネットワーク（ＶＰＮ）を含むがこれに限定されないバーチャルネットワーク、インターネット、イントラネット、エクストラネット、公衆電話交換回線網（ＰＳＴＮ）、赤外線ネットワーク、ワイヤレスネットワーク（たとえば、IEEE 802.11プロトコル群のいずれかの下で動作するネットワーク、当該技術分野にお
いて公知のブルートゥース（登録商標）プロトコル）、および／またはその他のワイヤレスプロトコル）、および／または、これらおよび／または他のネットワークの任意の組合わせであってもよい。
【００８８】
システム環境１１００はまた、１つ以上のサーバコンピュータ１１１２を含み、このサーバコンピュータは、汎用コンピュータ、専用のサーバコンピュータ（例として、ＰＣサーバ、ＵＮＩＸサーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント式（rack-mounted）のサーバ等を含む）、サーバファーム、サーバクラスタ、またはその他の適切な配置および／または組合わせであってもよい。さまざまな実施形態において、サーバ１１１２は、本願のこれまでの開示において説明された１つ以上のサービスまたはソフトウェアアプリケーションを実行するようにされていてもよい。たとえば、サーバ１１１２は、本開示の一実施形態に従う上記処理を実行するためのサーバに相当するものであってもよい。
【００８９】
サーバ１１１２は、上述したオペレーティングシステムのうちのいずれかおよび任意の市販のサーバオペレーティングシステムを含むオペレーティングシステムを実行してもよい。また、サーバ１１１２は、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、Ｊａｖａサーバ、およびデータベースサーバ等を含むさまざまなその他のサーバアプリケーション、および／またはミッドティア（mid-tier）アプリケーションのうちのいずれかを実行してもよい。典型的なデータベースサーバは、Ｏｒａｃｌｅ、Ｍｉｃｒｏｓｏｆｔ、Ｓｙｂａｓｅ、ＩＢＭ等から市販されているものを含むが、これらに限定されない。
【００９０】
また、システム環境１１００は１つ以上のデータベース１１１４、１１１６を含み得る。データベース１１１４、１１１６は、さまざまな場所に存在し得る。例として、データベース１１１４、１１１６のうちの１つ以上は、サーバ１１１２に対してローカルな（および／またはサーバ１１１２内に常駐している）非一時的な記録媒体に存在していてもよ
い。これに代えて、データベース１１１４、１１１６は、サーバ１１１２から離れていてネットワークベースまたは専用回線を介してサーバ１１１２と通信してもよい。一組の実施形態において、データベース１１１４、１１１６は、当業者によく知られているストレージエリアネットワーク（ＳＡＮ）に存在していてもよい。同様に、サーバ１１１２による機能を実行するために必要なファイルは、必要に応じて、サーバ１１１２に対してローカルにおよび／または遠隔で格納されてもよい。一組の実施形態において、データベース１１１４、１１１６は、ＳＱＬフォーマットのコマンドに応答してデータを格納し、更新し、取出すようにされている、Ｏｒａｃｌｅから提供されているデータベース等のリレーショナルデータベースを含み得る。
【００９１】
図１２は、本開示の実施形態に従い使用し得るコンピュータシステム１２００の簡略ブロック図である。たとえば、サービスプロバイダコンピュータ１０６を、システム１２００のようなシステムを用いて実装してもよい。バス１２０１を介して電気的におよび／または通信可能に結合し得るハードウェア構成要素を含むコンピュータシステム１２００が示されている。このハードウェア構成要素は、１つ以上の中央処理装置（ＣＰＵ）１２０２と、１つ以上の入力装置１２０４（たとえばマウス、キーボード等）と、１つ以上の出力装置１２０６（たとえばディスプレイ装置、プリンタ等）とを含み得る。また、コンピュータシステム１２００は、１つ以上の記憶装置１２０８を含み得る。例として、記憶装置１２０８は、ディスクドライブ、光学式記憶装置等の装置、ならびに、プログラム可能で、一瞬で更新可能で（flash-updateable）、および／またはそれと同じようなことが可能であるランダムアクセスメモリ（ＲＡＭ）および／または読出専用メモリ（ＲＯＭ）等のソリッドステート記憶装置を含み得る。
【００９２】
コンピュータシステム１２００は、さらに、コンピュータ読取可能記録媒体リーダ１２１２と、通信サブシステム１２１４（たとえばモデム、ネットワークカード（無線または有線）、赤外線通信装置等）と、ワーキングメモリ１２１８とを含み得る。ワーキングメモリ１２１８は、上記ＲＡＭおよびＲＯＭ装置を含み得る。いくつかの実施形態において、コンピュータシステム１２００は、デジタル信号プロセッサ（ＤＳＰ）、専用プロセッサ、および／またはそれと同様のものを含み得る処理加速部１２１６を含んでいてもよい。
【００９３】
コンピュータ読取可能記録媒体リーダ１２１２は、さらに、コンピュータ読取可能な記録媒体１２１０に接続し得る。コンピュータ読取可能な記録媒体１２１０は、（任意に、記憶装置１２０８と組合わせて）リモート式、ローカル式、固定式および／または着脱交換式の記憶装置、および、一時的および／またはより永続的にコンピュータ読取可能な情報を収容するための記録媒体を総合的に意味している。通信システム１２１４によって、ネットワーク１２１２および／またはシステム環境１２００に関連する上述のその他のコンピュータと、データをやり取りすることが可能であってもよい。
【００９４】
また、コンピュータシステム１２００は、ワーキングメモリ１２１８内に現在位置しているものとして示されているソフトウェア構成要素を含み得る。このソフトウェア構成要素は、オペレーティングシステム１２２０、および／または、アプリケーションプログラム（クライアントアプリケーション、ウェブブラウザ、ミッドティアアプリケーション、ＲＤＢＭＳ等であってもよい）等のその他のコード１２２２を含む。典型的な実施形態において、ワーキングメモリ１２１８は、実行可能なコードと、上述のように証明書利用者およびオープン認可関連の処理に使用される関連のデータ構造とを含んでいてもよい。コンピュータシステム１２００の代替の実施形態には、上述のものの多くの変形例があり得ることが理解されるはずである。たとえば、カスタマイズされたハードウェアが用いられてもよく、および／または特定の構成要素が、ハードウェア、ソフトウェア（アプレット等のポータブルソフトウェアを含む）またはそれら両方において実装されてもよい。さら
に、ネットワーク入出力装置等の他のコンピューティング装置への接続を用いてもよい。
【００９５】
コードまたはコードの一部を収容するための記録媒体およびコンピュータ読取可能な媒体は、当該技術において公知のまたは使用されているあらゆる適切な媒体を含み得る。上記適切な媒体は記録媒体および通信媒体を含み、これら記録媒体および通信媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル汎用ディスク（ＤＶＤ）もしくはその他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくはその他の磁気記憶装置、データ信号、データ伝送、または、所望の情報を格納もしくは伝送するために使用することができコンピュータによってアクセス可能なその他の媒体を含む、コンピュータ読取可能な命令、データ構造、プログラムモジュール、またはその他のデータ等の情報の、格納および／または伝送のための何等かの方法または技術において実装される、揮発性および不揮発性（非一時的）の着脱可能および着脱不能な媒体等であるが、これらに限定されない。
【００９６】
本開示の特定の実施形態について説明してきたが、さまざまな修正、変更、代替構成、および均等物も、本開示の範囲に包含される。上記さまざまな修正、変更、代替構成、および均等物は、開示されている特徴の妥当な組合わせを含む。本開示の実施形態は、ある特定のデータ処理環境内での動作に限定されるものではなく、複数のデータ処理環境内で機能することが可能である。加えて、本開示の実施形態について、特定の一連のトランザクションおよびステップを用いて説明してきたが、本開示の範囲が、記載されている一連のトランザクションおよびステップに限定されないことは、当業者には明らかなはずである。
【００９７】
さらに、本開示の実施形態について、ハードウェアとソフトウェアの特定の組合わせを用いて説明してきたが、ハードウェアとソフトウェアの他の組合わせも本開示の範囲内であることが認識されるはずである。本開示の実施形態は、ハードウェアのみで実装されてもよく、ソフトウェアのみで実装されてもよく、これらの組合わせを用いて実装されてもよい。
【００９８】
したがって、明細書および図面は、限定的な意味ではなく例示的な意味で考慮されねばならない。しかしながら、これに対し、追加、控除、削除、およびその他の修正および変更を、より広い精神および範囲から逸脱することなく行ない得ることは明らかであろう。本開示の特徴を示すための例示的な方法およびシステムは上述の通りである。これらのシステムおよび方法のうちのいくつかまたはすべては、上記図１〜図１２に示されるもののようなアーキテクチャによって、少なくとも部分的に実装し得るが、そうすることが必要な訳ではない。
【００９９】
ある実装において、方法が提供され、この方法は、表示すべきビジネスイベントデータの指示に少なくとも一部基づいて戦術的クエリを用いてクエリエンジンを構成することと、要求に少なくとも一部基づいて戦術的クエリから連続クエリへの変換を可能にすることとを含む。
【０１００】
別の実装において、方法が提供され、この方法は、データベースからのユーザのビジネスイベントデータにクエリするための戦術的クエリを決定することと、ユーザのストリーミングビジネスイベントデータをクエリエンジンにプッシュすることを可能にするように構成された連続クエリに戦術的クエリを変換することと、クエリエンジンにプッシュされたデータに少なくとも一部基づいてアクティブな可視化を表示するように構成されたユーザインターフェイスを与えることとを含む。
【０１０１】
他の実装において、上記方法のうちのいずれかを実行するように構成された装置が提供
される。この装置は、ファームウェア、ソフトウェア、ハードウェア、これらの任意の組合わせ等の、さまざまなやり方で実装できる。
【０１０２】
さらに他の実装において、装置が提供され、この装置は、データベースからのユーザのビジネスイベントデータにクエリする戦術的クエリを、連続クエリに変換するように構成されたクエリ変換モジュールと、連続クエリと戦術的クエリを組合わせるように構成されたハイブリッドクエリモジュールとを備える。この装置は、ファームウェア、ソフトウェア、ハードウェア、これらの任意の組合わせ等の、さまざまなやり方で実装できる。
【０１０３】
実施形態について、構造的特徴および／または方法論的行為に特有の表現で説明してきたが、本開示は記載されている具体的な特徴または行為に必ずしも限定されないことが理解されるはずである。むしろ、この具体的な特徴および行為は、実施形態を実装する例示的な形態として開示されている。条件表現、特に「できる」または「してもよい」（「can」、「could」、「might」、または「may」）等は、特に明記されない限りまたは使用されている文脈の中で他の解釈がなされない限り、何らかの特徴、要素、および／またはステップを、ある実施形態は含み得るがそれ以外の実施形態は含まないことを示唆することを、概ね意図している。よって、このような条件表現は、特徴、要素、および／またはステップが、１つ以上の実施形態に多少なりとも必要であることを、または、これら特徴、要素、および／またはステップがいずれか特定の実施形態に含まれるのかまたはいずれか特定の実施形態において実施されるのかをユーザの入力または刺激の有無に関わらず判断するための論理を１つ以上の実施形態が必然的に含むことを、示唆することは、概ね意図していない。
【図１】
2019194868.tif 000008
【図２】
2019194868.tif 000009
【図３】
2019194868.tif 000010
【図４】
2019194868.tif 000011
【図５】
2019194868.tif 000012
【図６】
2019194868.tif 000013
【図７】
2019194868.tif 000014
【図８】
2019194868.tif 000015
【図９】
2019194868.tif 000016
【図１０】
2019194868.tif 000017
【図１１】
2019194868.tif 000018
【図１２】
2019194868.tif 000019
【手続補正書】
【提出日】令和1年7月3日(2019.7.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
システムであって、
複数の命令を格納するメモリと、
前記メモリにアクセスするように構成された１つ以上のプロセッサとを備え、前記１つ以上のプロセッサはさらに、前記複数の命令を実行することにより、少なくとも、
表示すべきイベントデータの指示に少なくとも一部基づいて、戦術的クエリを用いてクエリエンジンを構成し、
要求に少なくとも一部基づいて前記戦術的クエリから連続クエリへの変換を可能にするように、構成される、システム。
【手続補正書】
【提出日】令和1年9月13日(2019.9.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
システムであって、
複数の命令を格納するメモリと、
前記メモリにアクセスするように構成された１つ以上のプロセッサとを備え、前記１つ以上のプロセッサはさらに、前記複数の命令を実行することにより、少なくとも、
データベースからクエリエンジンにイベントデータをプルすることを可能にするように構成された戦術的クエリを決定するように構成され、
前記イベントデータのアクティブな可視化の生成を求める要求を受けるように構成され、
前記要求に少なくとも部分的に基づいて、前記戦術的クエリを、前記イベントデータのストリームを前記クエリエンジンにプッシュすることを可能にするように構成された連続クエリに、変換することを、可能にするように構成され、
前記ストリームから前記クエリエンジンにプッシュされた前記イベントデータのアクティブな可視化を表示するように構成されたユーザインターフェイスを与えるように構成されている、システム。
【請求項２】
前記変換は実行時に可能にされる、請求項１に記載のシステム。
【請求項３】
前記変換は、少なくとも、前記連続クエリからプッシュされたデータを受けるようにリスニングサービスを構成することを含み、前記連続クエリは、前記クエリエンジンに関連する前記リスニングサービスに、ストリームからデータをプッシュするように構成されている、請求項１または２に記載のシステム。
【請求項４】
前記戦術的クエリは、前記クエリエンジンに代わってデータをプルするように構成されている、請求項１〜３のいずれか１項に記載のシステム。
【請求項５】
前記要求は、表示すべき前記データに関連するユーザから受け、前記要求は、前記ユーザに対して表示すべき前記データを表示するように構成されたユーザインターフェイスを介して受け、前記要求は、データウィンドウ、データレンジ、フィルタ値、および前記ユーザに関連するディメンション変更のうちの少なくとも１つを含む、請求項１〜４のいずれか１項に記載のシステム。
【請求項６】
方法であって、
データベースからクエリエンジンにイベントデータをプルすることを可能にするように構成された戦術的クエリを決定するステップと、
前記イベントデータに関連するユーザから、前記イベントデータのアクティブな可視化の生成に関連する要求を受けるステップと、
前記戦術的クエリを、前記ユーザのストリーミングイベントデータを前記クエリエンジンにプッシュすることを可能にするように構成された連続クエリに、変換するステップと、
前記クエリエンジンにプッシュされた前記ストリーミングイベントデータに少なくとも部分的に基づいてアクティブな可視化を表示するように構成されたユーザインターフェイスを与えるステップとを含む、方法。
【請求項７】
前記変換するステップは、前記イベントデータのアクティブな可視化の生成に関連する前記要求に少なくとも部分的に基づく、請求項６に記載の方法。
【請求項８】
前記連続クエリによってプッシュされたデータを受けるために前記クエリエンジンのリスニングシステムを登録するステップをさらに含む、請求項６または７に記載の方法。
【請求項９】
前記戦術的クエリは、前記ユーザからの、前記イベントデータを表示することを求める要求に少なくとも部分的に基づいて決定される、請求項６〜８のいずれか１項に記載の方法。
【請求項１０】
フィルタを前記連続クエリに適用することまたは前記連続クエリのディメンションを変更することを求める要求を受けるステップをさらに含む、請求項６〜９のいずれか１項に記載の方法。
【請求項１１】
１つ以上のプロセッサにより実行可能な複数の命令を格納するコンピュータ読取可能なプログラムであって、前記複数の命令は、
前記１つ以上のプロセッサに、データベースからクエリエンジンにイベントデータをプルすることを可能にするように構成された戦術的クエリを決定させる命令と、
前記１つ以上のプロセッサに、前記イベントデータのアクティブな可視化の生成を求める要求を受けさせる命令と、
前記１つ以上のプロセッサに、前記戦術的クエリを、ストリーミングイベントデータを前記クエリエンジンにプッシュすることを可能にするように構成された連続クエリに、変換させる命令と、
前記１つ以上のプロセッサに、前記イベントデータのストリームから前記クエリエンジンにプッシュされた前記イベントデータのアクティブな可視化を表示するように構成されたユーザインターフェイスを提供させる命令とを含む、コンピュータ読取可能なプログラム。
【外国語明細書】
2019194868000001.pdf