"複合イベント処理CEP内でパラメータ化されたクエリを設定する方法であって、1つ以上のバインド変数を含むクエリテンプレートを設定するステップと、前記1つ以上のバインド変数に対応するパラメータセットを設定するステップと、前記1つ以上のバインド変数の位置を判断するために前記クエリテンプレートを解析するステップと、設定された前記パラメータセットをスキャンして、どの前記パラメータセットが前記1つ以上のバインド変数にバインドされるのかを判断するステップと、前記パラメータセットにバインドされると判断された前記1つ以上のバインド変数をバインドするステップと、バインドされた前記1つ以上のバインド変数を対応する前記パラメータセットに置き換えるステップとを含む、方法。前記1つ以上のバインド変数の前記判断された位置のマップを構築するステップをさらに含む、請求項1に記載のCEP内でパラメータ化されたクエリを設定する方法。前記1つ以上のバインド変数を対応する前記パラメータセットに置き換えるステップは、前記1つ以上のバインド変数の前記判断された位置のマップを用いて、バインドされた前記パラメータセットを前記クエリテンプレート内に置くステップをさらに含む、請求項2に記載のCEP内でパラメータ化されたクエリを設定する方法。前記1つ以上のバインド変数に対応する前記パラメータセットを設定するステップは、静的または動的に実行される、請求項1に記載のCEP内でパラメータ化されたクエリを設定する方法。前記1つ以上のバインド変数に対応する前記パラメータセットを設定するステップは、前記クエリテンプレートの展開時にコンフィグファイルを用いることで静的に実行される、請求項4に記載のCEP内でパラメータ化されたクエリを設定する方法。前記1つ以上のバインド変数に対応する前記パラメータセットを設定するステップは、モジュールマネージメントソリューションを用いることで動的に実行される、請求項4に記載のCEP内でパラメータ化されたクエリを設定する方法。前記コンフィグファイルは、アプリケーションアソシエーション、プロセッサアソシエーション、クエリルール、前記クエリテンプレート、前記パラメータセット、または前記バインディングのうち、1つ以上のものを含む、請求項5に記載のCEP内でパラメータ化されたクエリを設定する方法。前記1つ以上のバインド変数が置換された前記パラメータセットを含む前記クエリテンプレートに基づいて、新しいクエリのインスタンスを生成するステップをさらに含む、請求項1に記載のCEP内でパラメータ化されたクエリを設定する方法。前記新しいクエリのインスタンスを生成するステップと、前記新しいクエリをCEPサーバに注入するステップとをさらに含む、請求項8に記載のCEP内でパラメータ化されたクエリを設定する方法。前記新しいクエリに基づいて、クエリ実行計画を構築するステップと、継続クエリとしてランタイム環境に前記クエリ実行計画を追加するステップと、前記継続クエリを実行するステップとをさらに含む、請求項9に記載のCEP内でパラメータ化されたクエリを設定する方法。多数のパラメータセットが同じバインド変数に対応しているということを判断するステップと、同じ前記バインド変数に対応している前記多数のパラメータセットの各々について、独立した新しいクエリのインスタンスを生成するステップとをさらに含む、請求項1に記載のCEP内でパラメータ化されたクエリを設定する方法。複合イベント処理CEP内でパラメータ化されたクエリを設定するためのシステムであって、メモリと、前記メモリに結合されたプロセッサとを備え、前記メモリは、命令セットを内部に格納させており、前記命令セットは、前記プロセッサによって実行されると、前記プロセッサに、イベントストリームを処理するためのパラメータ化されたクエリ内で生じるプレースホルダを判断させ、前記プレースホルダのためのパラメータを判断させ、前記プレースホルダを前記パラメータに置換することで前記パラメータ化されたクエリからクエリを生成させる、システム。前記命令セットは、前記プロセッサによってさらに実行されると、前記プロセッサに、前記クエリを生成させ、前記イベントストリームを処理させる、請求項12に記載のCEP内でパラメータ化されたクエリを設定するためのシステム。CQLエンジンを含むCEPサーバをさらに備え、前記CQLエンジンは、複数のCEPアプリケーションのインスタンスを生成し、前記CEPサーバと通信するビジュアライザをさらに備え、前記ビジュアライザは、処理された前記イベントストリームからの結果情報を表示するように構成されている、請求項13に記載のCEP内でパラメータ化されたクエリを設定するためのシステム。命令セットを内部に格納させたコンピュータ可読媒体であって、前記命令セットは、コンピュータによって実行されると、前記コンピュータに、1つ以上のバインド変数を含むクエリテンプレートを設定させ、前記1つ以上のバインド変数に対応するパラメータセットを設定させ、前記1つ以上のバインド変数の位置を判断するために前記クエリテンプレートを解析させ、設定された前記パラメータセットをスキャンして、どの前記パラメータセットが前記1つ以上のバインド変数にバインドされるのかを判断させ、前記パラメータセットにバインドされると判断された前記1つ以上のバインド変数をバインドさせ、バインドされた前記1つ以上のバインド変数を対応する前記パラメータセットに置換させる、コンピュータ可読媒体。前記命令セットは、前記コンピュータによってさらに実行されると、前記コンピュータに、新しいパラメータセットがバインディングのために指定されていることを判断させる、請求項15に記載のコンピュータ可読媒体。前記命令セットは、前記コンピュータによってさらに実行されると、前記コンピュータに、新しいパラメータセットで指定される前に、パラメータセットを用いてインスタンスが生成されたクエリを特定させ、新しいパラメータセットで指定される前に、パラメータセットを用いてインスタンスが生成された前記クエリを削除させる、請求項16に記載のコンピュータ可読媒体。前記命令セットは、前記コンピュータによってさらに実行されると、前記コンピュータに、ランタイムシステムのために前記新しいパラメータセットを用いてクエリのインスタンスを生成させる、請求項17に記載のコンピュータ可読媒体。前記命令セットは、前記コンピュータによってさらに実行されると、前記コンピュータに、前記パラメータセットをストリングに変換させ、前記パラメータセットの前記ストリングを確認して前記パラメータセットのフォームを判断させ、前記パラメータセットの判断されたタイプと対応するバインド変数のタイプとを比較させ、前記対応するバインド変数の前記タイプにマッチする前記パラメータセットの判断された前記タイプに応じて、前記パラメータセットを検証させる、請求項15に記載のコンピュータ可読媒体。対応する前記バインド変数および前記パラメータセットの前記タイプは、INT、FLOAT、LONG、BIGDECIMAL、DOUBLE、およびSTRINGのうち、1つ以上のものを含む、請求項19に記載のコンピュータ可読媒体。概要本発明に係る実施形態は、あらゆる種類の型type検査などもせずに、CEPストリング置換を利用して、バインド変数について設定されるパラメータセットにバインド変数を置き換えることを含む。これは、バインド変数でも型検査などを通過する必要があるという点で標準データベースとは異なる。結果として、CEPコンテキスト内でのバインド変数は、より柔軟で、より強力な解決手段を提供し、当該バインド変数によりユーザは任意の述語を挿入することができる。したがって、CEP環境内でのバインド変数は型がなくてもよい。本発明は、複合イベント処理CEP内でパラメータ化されたクエリを設定する方法を含む。方法は、1つ以上のバインド変数を含むクエリテンプレートを設定するステップと、1つ以上のバインド変数に対応するパラメータセットを設定するステップと、1つ以上のバインド変数の位置を判断するためにクエリテンプレートを解析するステップとを含む。方法は、さらに、設定されたパラメータセットをスキャンして、どのパラメータセットが1つ以上のバインド変数にバインドされるのかを判断するステップと、パラメータセットにバインドされると判断された1つ以上のバインド変数をバインドするステップと、バインドされた1つ以上のバインド変数を対応するパラメータセットに置換するステップとを含む。方法は、さらに、1つ以上のバインド変数の当該判断された位置のマップを構築するステップを含む。1つ以上のバインド変数を対応するパラメータセットに置換するステップは、1つ以上のバインド変数の当該判断された位置のマップを用いて、バインドされたパラメータセットをクエリテンプレート内に置くステップを含む。1つ以上のバインド変数に対応するパラメータセットを設定するステップは、静的または動的に実行される。さらに他の実施形態では、1つ以上のバインド変数に対応するパラメータセットを設定するステップは、クエリテンプレートの展開時にコンフィグファイルを用いることで静的に実行され、1つ以上のバインド変数に対応するパラメータセットを設定するステップは、モジュールマネージメントソリューションを用いることで動的に実行される。コンフィグファイルは、アプリケーションアソシエーションapplicationassociation、プロセッサアソシエーションprocessorassociation、クエリルール、クエリテンプレート、パラメータセット、またはバインディングのうち、1つ以上のものを含む。方法は、さらに、1つ以上のバインド変数が置換されたパラメータセットを含むクエリテンプレートに基づいて新しいクエリのインスタンスを生成するステップと、新しいクエリのインスタンスを生成するステップと、新しいクエリをCEPサーバに注入するステップとを含む。方法は、さらに、新しいクエリに基づいてクエリ実行計画を構築するステップと、継続クエリとしてランタイム環境にクエリ実行計画を追加するステップと、継続クエリを実行するステップとを含む。方法は、さらに、多数のパラメータセットが同じバインド変数に対応しているということを判断するステップと、同じバインド変数に対応している多数のパラメータセットの各々について、独立した新しいクエリのインスタンスを生成するステップとを含む。他の実施形態では、複合イベント処理CEP内でパラメータ化されたクエリを設定するためのシステムが説明される。システムは、メモリと、メモリに結合されたプロセッサとを含む。メモリは、命令セットを内部に格納させており、命令セットは、プロセッサによって実行されると、プロセッサに、イベントストリームを処理するためのパラメータ化されたクエリ内で生じるプレースホルダを判断させ、プレースホルダのためのパラメータを判断させ、プレースホルダをパラメータに置き換えることでパラメータ化されたクエリからクエリを生成させ、当該クエリを生成させ、イベントストリームを処理させる。システムは、さらに、CQLエンジンを含むCEPサーバを含む。CQLエンジンは、CEPアプリケーションのインスタンスを生成する。システムは、CEPサーバと通信するビジュアライザvisualizerをも含む。ビジュアライザは、処理されたイベントストリームからの結果情報を表示するように構成されている。さらに他の実施形態では、コンピュータ可読媒体が説明される。コンピュータ可読媒体は、1つ以上のバインド変数を含むクエリテンプレートを設定するための命令と、1つ以上のバインド変数に対応するパラメータセットを設定するための命令と、1つ以上のバインド変数の位置を判断するためにクエリテンプレートを解析するための命令とを含む。コンピュータ可読媒体は、さらに、設定されたパラメータセットをスキャンしてどのパラメータセットが1つ以上のバインド変数にバインドされるのかを判断するための命令と、パラメータセットにバインドされると判断された1つ以上のバインド変数をバインドするための命令と、バインドされた1つ以上のバインド変数を対応するパラメータセットに置換するための命令とを含む。コンピュータ可読媒体は、さらに、新しいパラメータセットがバインディングのために指定されていることを判断するための命令と、新しいパラメータセットで指定される前に、パラメータセットを用いてインスタンスが生成されたクエリを特定するための命令と、新しいパラメータセットで指定される前に、パラメータセットを用いてインスタンスが生成されたクエリを削除するための命令と、ランタイムシステムのために新しいパラメータセットを用いてクエリのインスタンスを生成するための命令とを含む。コンピュータ可読媒体は、さらに、パラメータセットをストリングに変換するための命令と、パラメータセットのストリングを確認してパラメータセットのフォームを判断するための命令と、パラメータセットの判断されたタイプと対応するバインド変数のタイプとを比較するための命令と、対応するバインド変数のタイプにマッチするパラメータセットの判断されたタイプに応じて、パラメータセットを検証するための命令とを含む。対応するバインド変数およびパラメータセットのタイプは、INT,FLOAT,LONG,BIGDECIMAL,DOUBLE,およびSTRINGのうち、1つ以上のものを含んでもよい。詳細な説明以下の記載では、説明を目的として、本発明のさまざまな実施形態の理解のために多くの詳細が説明される。しかしながら、ある実施形態が、これらの詳細の一部なしに実行され得るということは当業者にとっては明らかであろう。本発明のある局面は、いくつかの特定の値が異なるCEPにおいてクエリおよび/またはビューを書くための簡易な方法をユーザに提供するパラメータ化アプローチを含む。たとえば、上述したクエリは、テンプレートとして機能することができ、後に、バインディングのための可能値を設定することができる単一のパラメータ化されたクエリを有することができる。当該バインディングは、内部で多数のクエリおよびビューを生成してもよい。以下のクエリ:では、:1と:2とはプレースホルダとして機能する。異なる値が展開時またはランタイム時にこれらのプレースホルダにバインドされ得る。さらに、そのようなクエリを処理するように構成されたプロセッサ構成要素に関連付けられたコンフィグファイルは、次のように記載されてもよい:上記の例では、MarketQueryCQLクエリは、2つのプレースホルダを含む。1つは、SELECT節の中に、もう1つはWHERE節の中に含まれる。この実施形態では、これらのプレースホルダのための値は、コンフィグファイル自体にも含まれるまたは、これらのプレースホルダのための値はランタイム中に設定されてもよい。要素は、ランタイム時にMarketQueryに引き継がれるパラメータセットのリストを指定している。各々のパラメータセットは、単一の要素で指定される。パラメータ化されたクエリ内には2つのプレースホルダが存在しているので、各々の要素が、コンマで分離された2つの値を指定する。ランタイム時に、プレースホルダが対応するパラメータ値に置き換えられた後、前にパラメータ化されたクエリが事実上次の3つのクエリに分解される:さらに、本発明に係るある局面は、パラメータセットを操作するためにJava登録商標MBeanAPIsを利用することを含む。一実施形態では、パラメータ化されたクエリおよびビューは、展開時またはランタイム時にクライアントから追加され得る。さらに、Java登録商標ManagementExtensionsJMXアーキテクチャベースのMBeanAPIsが、パラメータ化されたクエリまたはビューに対応するバインディングにアクセスするために、または当該バインディングを修正するために設定されてもよい。クライアントは、同じことをするためにMBeanAPIsを呼び出すこともできる。一実施形態では、次のMBeanAPIsがそのようなバインディングをサポートするために設定されてもよい:したがって、本発明に係る実施形態によると、ユーザは、展開時またはランタイム時に異なるバインディングにバインドされ得る単一のパラメータ化されたクエリテンプレートまたはビューテンプレートを書くことができる。ユーザは、内部で新しいクエリを生成し、それを実行する新しいバインディングを設定することができる。このクエリおよびビューのテンプレートバージョンは、いくつかの定数だけが異なるクエリを追加および/または削除するための効果的な方法を提供する。さらに、クエリおよびビューのそのようなパラメータ化またはテンプレートスタイルは、何百ものクエリを動的に修正/追加/削除するための非常にユーザフレンドリな方法を提供する。それは、CQLクエリを書くためのユーザフレンドリな方法を提供し、同様の多くのルールを作る際の使いやすさを提供し、そのようなルールの簡易な管理方法を提供する。本発明のさらに他の局面では、イベントストリームを処理するためのパラメータ化されたクエリ内に存在するプレースホルダを判断するための技術を提供する。次に、プレースホルダのためのパラメータが判断されてもよい。これは、展開時たとえば、上述したようにコンフィグファイル内で指定されるまたはランタイム中に提供されてもよい。次に、プレースホルダをパラメータに置換することによって、クエリが、パラメータ化されたクエリから生成されてもよい。プレースホルダのためのパラメータセットが多数存在する場合には、多数のクエリが単一のパラメータ化されたクエリから生成されてもよい。次に、置換から生成されたクエリは、クエリに関する実行可能な命令を生成するように構成されているCQLエンジンに設定されてもよい。次に、実行可能な命令が、イベントストリームを処理するために実行されてもよい。次に図1を参照すると、本発明に係る実施形態を具体化し得るシステム100の簡略ブロック図が示されている。図1に示されているように、システム100は、イベント処理サーバ102を含み、イベント処理サーバ102は、1つ以上の入力データまたはイベントストリーム104,106,および108を処理するように構成されている。ストリーム104,106,および108は、各種ソースから受信されてもよく、その各種ソースは、データベース、ファイル、メッセージサービス、さまざまなアプリケーション、さまざまな種類のセンサのような装置たとえば、RFIDセンサ、温度センサなど、ティッカーtickerなどを含む。サーバ102は、プッシュ型機構、またはプル型機構または他の機構を介してストリームを受信してもよい。データまたはイベントストリームは、リアルタイムな一連のイベントである。多数のイベントがストリーム内で受信されてもよい。したがって、データストリームはバインドされていないデータセットのストリームとして考えることができる。一実施形態では、データストリームは、一連の<tupletimestamp>対である。タプルとはストリームのデータ部のことを言う。タプルは、テーブルのローrowと同様なものとして考えられてもよい。ストリーム内のタプルは、スキーマを有する。ストリームは、多数のタプルを含み得る。タイムスタンプは、データストリーム内のタプルについて順序を定義する。データストリーム内のタイムスタンプは、アプリケーションの時間の概念を反映し得る。たとえば、タイムスタンプは、イベントストリームを受信するシステム上のアプリケーションによってセットされ得る。受信システムは、たとえば、イベントストリームの構成と、タイムスタンプとしてアプリケーション時間またはシステム時間を利用するために用いられる機構とを定義するために用いられるCREATESTREAMDDLにおいて指定された場合には、アプリケーションによって構成されるように受信時にイベントをタイムスタンプしてもよい。他の実施形態では、タプルと関連付けられたタイムスタンプは、データイベントを送るアプリケーションの時間に対応していてもよい。タイムスタンプは、ストリームのスキーマの一部である。ストリーム内には1または多数のタプルが同じタイムスタンプで存在し得る。ストリーム内のタプルは、一連のイベントとして見ることができ、したがって、データストリームは、イベントストリームとも呼ばれる。そのため、イベントストリームは、各々が関連付けられたタイムスタンプに一連のイベントを含むと考えることができる。たとえば、イベントストリームは、センサから読み取られた10度、15度、20度などのような一連の温度と、関連付けられたタイムスタンプとを含んでいてもよい。このアプリケーションの目的のために、タプルおよびイベントという用語は互換的に使用されている。システム100は、イベントストリームを処理するように構成されたイベント処理サーバ102を含む。イベント処理サーバ102は、1つ以上のイベントストリームを受信してもよい。図1に示すように、イベント処理サーバ102は、ストリーム104、106、および108を受信する。各々のイベントストリームは、1つ以上のイベントを含む。ストリーム内のイベントは、特定の時点で順にサーバ102によって受信される。サーバ102は、入力ストリーム上でさまざまな種類の処理を実行するように構成されている。本発明に係る実施形態に従うと、サーバ102は、サーバ102によって受信されたイベントストリーム内のイベントに基づいて、入力イベントストリーム内のパターンを検知するように構成されている。一実施形態では、サーバ102は、サーバ102がイベントを受信するときに分析されているストリームのイベント上でバックトラッキング処理を実行せずに、パターンマッチングを実行する。パターンマッチングは、入力ストリームに適用されるある種類の継続クエリを利用して実行されてもよい。サーバ102は、また、入力イベントストリーム上および他の操作上で他の継続クエリを実行するなど、入力ストリーム上で他の種類の処理を実行してもよい。イベント処理サーバの例としては、Oracle登録商標社のOracleComplexEventProcessorがある。あるいは、MATCHRECOGNIZEも、パターンマッチングを実行するために用いられてもよい。図1に示された実施形態では、サーバ102は、パターンマッチングモジュール110を含み、パターンマッチングモジュール110は、1つ以上のイベントストリームのためのパターンマッチングに関連する処理を実行するように構成されている。図1に示すように、パターンマッチングモジュール110は、パターン入力インターフェイス112、クラステクニックデタミネータclasstechniquedeterminator113、オートマトンジェネレータautomatongenerator114、およびマッチャーmatcher116を含む。パターン入力インターフェイス112は、イベントストリーム内でマッチさせる対象のパターンを指定する情報を受信するためのインターフェイスを提供する。パターン入力インターフェイス112は、マッチさせる対象の1つ以上のパターンを指定する情報を入力可能にするグラフィカルユーザインターフェイス、マッチさせる対象のパターンを指定するためのコマンドラインインターフェイス、または他のインターフェイスを提供してもよい。マッチさせる対象のパターンは、サーバ102のユーザによって指定されてもよい。マッチさせる対象のパターンを特定する情報は、他のソースから受信されてもよく、たとえば、他の構成要素もしくはイベント処理サーバ102のモジュール、または、他のシステムもしくはアプリケーションから受信されてもよい。一実施形態では、マッチさせる対象のパターンは、正規表現を用いて指定される。正規表現は、マッチさせる対象のパターンを表す記号のストリング相関名または相関変数とも称されるである。正規表現は、1つ以上の記号を用いて構築され、1つ以上の演算子を利用してもよい。演算子の例としては、連結concatenation演算子たとえば、正規表現における記号間でのAND演算子は、記号間のAND関係を示すために用いられてもよい、代替演算子たとえば、縦棒は、記号に関するOR条件を示す正規表現において記号を分離してもよい、1つ以上の限定記号、グループ化演算子たとえば、丸括弧で示されるなどを含むがこれらに限定されない。限定記号の例としては、限定記号が関連付けられる記号の0以上のオカレンスoccurrenceを意味するアスタリスク、限定記号が関連付けられる記号の1以上のオカレンスを意味するプラス記号、限定記号が関連付けられる記号の0または1のオカレンスを意味するクエスチョンマーク、リラクタントreluctant限定記号などを含む。正規表現のための関連付けられたシンタックスを含む、利用され得る演算子および限定記号の例は、FredZemkeらによるPatternMatchinginSequenceofRows、ISOIECJTCiSC32WG3URCnnn、2007年7月31日付けANSINCITSH22006nnnにおいて提供および記載されている。その全内容は、すべての目的のために、引用により本明細書に援用される。従来、正規表現は、主に、ストリング内のパターンを見つけるために利用されてきた。本発明に係る実施形態では、正規表現力は、イベント処理サーバ102で受信されるイベントストリーム内のパターンにマッチさせるために利用される。正規表現は、マッチさせる対象のパターンを特定するための単純、かつ簡潔、かつ柔軟性のある方法を提供する。図1に示される実施形態では、イベント処理サーバ102は、1以上のイベントストリーム内でマッチさせる対象の正規表現を指定するパターン情報118を受信してもよい。一実施形態では、パターンは、パターンマッチングモジュール110のパターン入力インターフェイス112を用いて指定されてもよい。パターン情報118は、異なる言語を用いて設定されてもよい。一実施形態では、データベースをクエリするために一般に用いられるSQLのようなプログラミング言語が利用されてもよい。イベントストリームに関して、マッチさせる対象のパターンを表現するためのSQLが拡張されてもよい。たとえば、パターン情報118は、SQLクエリを指定してもよく、当該SQLクエリは、イベント処理サーバ102によって受信された1以上のイベントストリーム内においてマッチさせる対象のパターンを指定する正規表現を含む。Oracleは、複合イベント処理CEP製品においてCQL言語継続クエリ言語をサポートする。CQLは、ストリーム処理のために拡張したSQLと極めて類似している。パターンマッチング構成は、イベントストリームに関してのパターンマッチング要件を特定する目的のために、CQLを拡張するためCQLにおいて採用されてきた正規表現たとえば、FredZemkeらによるPatternMatchinginSequenceofRows、ISOIECJTCiSC32WG3URCnnn、2007年7月31日付けANSINCITSH22006nnnに記載された構成であり、その全内容は、すべての目的のために、引用により本明細書に援用されるを介してパターンマッチングを指定するためにSQLを拡張するよう提案している。典型的には、クエリパターンに関するパターンマッチングは、単一の入力ストリーム上でのみ行なわれる。また、パターンマッチングは、たとえば、CQLを用いて、多数のイベントストリーム上で実行されてもよい。一実施形態では、これは、まず関連するすべての入力ストリームのUNIONを実行することでなされてもよい。当該入力ストリーム上では、パターンマッチングは、中間ストリームに対応しているビューを定義する結果に伴ってなされるようになっており、マッチさせる対象のパターンがこの単一の中継ストリーム上で指定され得る。次に、そのパターンをビューに含まれているすべてのストリームにマッチさせる。次に、図2Aを参照して、本発明に係る実施形態に従う、CEPにおいてパラメータ化されたクエリを実行する方法200を説明する。ブロック205のプロセスでは、1つ以上のバインド変数を含むクエリテンプレートが設定される。バインド変数に対応するパラメータセットすなわち、バインド変数がバインドされたものが設定されるブロック210のプロセス。一実施形態では、パラメータセットが静的にたとえば、コンフィグファイルを介して典型的には展開時になされるまたはランタイム時に動的にたとえば、JMXもしくは他の機構を用いて設定されてもよい。その結果、JMXを用いる動的プロビジョニングはランタイム中に利用され、また、それは、パラメータセットの削除のため、新しいパラメータセットの設定のためなどに利用され得る。ブロック215のプロセスでは、クエリテンプレートがバインド変数の位置を判断するために解析される。一実施形態では、バインド変数は、たとえば、:1、:2、:3などで識別されてもよい。クエリ内のバインド変数の順序は、1、2、3などの順序でなくてもよい。その結果、バインド変数の当該判断された位置のマップが構築されてもよいブロック220のプロセス。ブロック225のプロセスでは、設定されたパラメータリストセットをスキャンして、対応するバインド変数にバインドされたパラメータセットを判断してもよく、それから、バインディングが起こってもよいブロック230のプロセス。ブロック235のプロセスでは、バインド変数がパラメータセットに置換されてもよい。図2Aの‘A’点から図2Bの‘A’点に移動して、本発明に係る実施形態に従うと、CEPにおいてパラメータ化されたクエリを実行する方法201が説明される。ブロック240の決定では、同じバインド変数セットに関する多数のパラメータセットが存在するかどうかを判断する。たとえば:さらに、多数組のパラメータセットが同じバインド変数に対応していないと判断された場合、単一の新しいクエリが複数組のパラメータセットで生成されるブロック245のプロセス。多数のパラメータセットが同じバインド変数に対して設定されていると判断された場合、各々のパラメータのために、独立した新しいクエリのインスタンスが生成されるブロック250のプロセス。したがって、ブロック255のプロセスで、インスタンスが生成されたクエリは、CEPサーバ内に注入されるクエリはCQLエンジンに送られる。次に、CQLエンジンは、クエリ実行計画を構築しブロック260のプロセス、ランタイム環境にクエリを継続クエリとして追加するブロック265のプロセス。最後に、ブロック270のプロセスで、インスタンスが生成された1または複数のクエリが実行される。次に図2Cを参照して、本発明に係る実施形態に従うCEPにおいてパラメータ化されたクエリを実行する方法202が説明される。ブロック275のプロセスで、新しいパラメータ古いパラメータの代わりにがバインドパラメータに対して指定されてもよい。そのような場合には、古いパラメータでインスタンスが生成されたクエリが特定されるブロック280のプロセス。したがって、古いパラメータを用いて特定されたクエリは、ランタイム環境から削除されるブロック285のプロセス。ブロック290のプロセスで、ランタイムシステムに対して新しいパラメータセットを用いるクエリのインスタンスが生成される。上述したような処理は、隣接したパラメータセットを用いてされてもよい。たとえば、バインド変数の位置マップがすでに作成されている場合には、これまでのステップを繰り返す必要はなく、新しいパラメータセットがスキャンされ、置換が実行される処理が継続できる。要するに、終了するクエリは、新しいパラメータセットを有する、インスタンスが生成された新しいクエリに置換される。さらに、パラメータセットは、クエリテンプレートを含むルールに拘束されてもよい。一実施形態では、ビュー定義たとえば、CQLを用いてされるは、バインド変数を用いてもよい。継続クエリ、パラメータ化されたクエリ、またはクエリテンプレートのコンテキスト内でのパラメータ化は、少なくとも1つのバインド変数を有するクエリを含む。次に、図3を参照して、本発明に係る実施形態に従うCQLおよびビジネスクエリのライフサイクルを表わすための方法300が説明される。ブロック305aでITロールroleが作り出され、それは、プロジェクトリスト、パラメータセット、および条件305bを含む。さらに、ブロック305cで、ITユーザ/ビジネスユーザアナリストの共同ルールが作り出される。ブロック310で、クエリおよびビューがパラメータ化される。たとえば、自然言語0...1パラメータ化されたクエリ0...nパラメータ化されたビュー、および自動ビュー/クエリ、従属トラッキング310aが、生成されてもよい。ブロック315で、ビジネステンプレートが、ビジネスアナリストロール315aのために作り出される。ブロック315bで、ハイパーリンクなどを介して新しいクエリのインスタンスが生成される。したがって、ブロック320で、ビジネスクエリが作り出される。次に、ビジネスユーザロールは、クエリを単一の論理演算子としてみなし320a、CQLクエリおよびビューを修正でき320b、CQLクエリおよびビュー305に戻ることができる。図4Aは、ハードコードされたhardcoded値に永続的にバインドされたクエリ405の例を含む。図4Bは、パラメータ化されたクエリ410、バインディング415、およびビジネスルール420を含み、図4Cは、テンプレート425、パラメータ化されたビュー430、およびパラメータ化されたクエリ435を含む。さらに、図4Dは、パラメータ化されたビューおよびクエリ440、テンプレート445、ならびにビジネスクエリ450を含む。図4A~図4Dでの情報を用いた一例は以下の通りである。したがって、これらのクエリは、特定された統計値の合計と、イベント名E1、パスP1、および統計値countValueに対して、30分以内に2回以上、当該特定された統計値の合計が1000未満である時間とを返す。次に、図5Aを参照して、本発明に係る実施形態に従うCEPにおいてパラメータ化されたクエリを実行するためのシステム500が説明される。一実施形態では、システム500は、CQLエンジン510およびコンフィグファイル520を有するCEPサーバ505を含んでもよい。さらに、CEPサーバ505は、ビジュアライザ525と通信する。一実施形態では、CQLエンジン510は、すべてのクエリを同時に実行する。CQLエンジン510に対する実行計画は、結び付けられたノードセットを含み、すべてのクエリは、実行計画の一部であり、そのため、独立していない。したがって、CEPストリング置換は、あらゆる種類の型タイプ検査などを行なうことなく、バインド変数に対して設定されるパラメータセットにバインド変数を置き換えるために利用される。これは、バインド変数でも型検査などを通過する必要がある標準データベースとは異なる。結果として、CEPコンテキスト内のバインド変数は、より柔軟でより強力な解決手段を提供する。そして、当該バインド変数によりユーザは任意の述語を挿入することができる。したがって、CEP環境内でのバインド変数は、型がなくてもよい。CQLエンジン510は、多数のCEPアプリケーション515a、515b~515nを実行するように構成されている。たとえば、多数のCEPアプリケーションは書き込み可能であり、その各々は異なる処理を実行し、それらはすべて同じCEPサーバ505上に展開可能である。また、CEPサーバ505は、CQLエンジン510を含み、多数の展開されたCEPアプリケーション515a、515b~515nを有することができる。ビジュアライザ525は、ビジネスユーザがパラメータセットを設定できるインターフェイスである。さらに、コンフィグファイル520は、アプリケーション内のプロセッサに関連付けられている。コンフィグファイル520は、展開時、展開前、または展開後のいつであっても作り出すことができる。そして、CEPアプリケーション515a、515bまたは515nがランタイム環境内に存在する場合には、それは関連付けられたコンフィグファイル520を有していてもよい。当該コンフィグファイル520は、クエリテンプレートすなわち、バインド変数を有するクエリ、およびバインド変数が置換されたパラメータセットを特定する。図5Bは、コンフィグファイル520の一実施形態を示している。コンフィグファイル520は、ファイルが関連付けられたアプリケーション520aの識別identification、プロセッサ520bの識別、ルール520cの識別、クエリテンプレート520d、パラメータセット520eの識別、およびバインディング520fを含んでもよい。コンフィグファイルの他の実施形態が用いられてもよい。次に、図6を参照して、CEP内においてパラメータ化されたクエリのためのユーザインターフェイスの実施形態600が示されている。そのようなユーザインターフェイスの利点は、使いやすさを提供するというニーズを改善するための支援を含む。大抵のビジネスユーザは、クエリを書きたくない。たとえば、CQLはプログラマーではない人にとっては理解するのが難しいので、CEPの場合、ビジネスユーザのニーズを理解した上でIT部門の人がクエリを設計する。クエリはバインド変数を含んでいてもよい。クエリは、読みやすいフォーマットたとえば、ビジネスユーザが理解しやすい英語版のクエリでビジネスユーザの目の触れるところとなる。英語版は、ランタイム時に実値をバインドするパラメータバインドセットこれは、URLリンクを介して示されてもよいを含んでいてもよい。ランタイム時には、バインド変数が置換されるように設定されたパラメータ値で新しいクエリのインスタンスが生成され、インスタンスが生成されたクエリは、CEPシステム内に注入されて、実行される。これは、ユーザに対して使い易さを提供する。ビジネスユーザは、低水準言語のCQLを気にする必要はない。図7は、本発明に係る実施形態に従って利用され得るシステム環境700の構成要素を示す簡略ブロック図である。図に示すように、システム環境700は、1以上のクライアントコンピューティング装置702、704、706、708を含み、これらは、ウェブブラウザ、または専用のクライアントたとえば、OracleFormsなどのクライアントアプリケーションを操作するように構成されている。さまざまな実施形態では、クライアントコンピューティング装置702、704、706、および708は、イベント処理システム712と情報をやり取りしてもよい。クライアントコンピューティング装置702、704、706、708は、汎用のパーソナルコンピュータ例として、MicrosoftWindows登録商標および/またはAppleMacintoshオペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む、携帯電話もしくはPDAMicrosoftWindowsMobileなどのソフトウェアを実行し、インターネット、電子メール、SMS、ブラックベリーBlackberry、またはその他の通信プロトコルを有効にする、および/またはさまざまな市販のUNIX登録商標もしくはUNIXのようなオペレーティングシステムさまざまなGNU/Linux登録商標オペレーティングシステムを含むがこれに限定されないのいずれかを実行するワークステーションコンピュータであってもよい。あるいは、クライアントコンピューティング装置702、704、706、および708は、ネットワークたとえば、以下に示すネットワーク710を介して通信可能なシンクライアントthinclientコンピュータ、インターネットを使用可能なゲーム機、および/またはパーソナルメッセージpersonalmessagingデバイスなどのその他の電子デバイスであってもよい。典型的なシステム環境700は、4つのクライアントコンピューティング装置を有することが示されているが、クライアントコンピューティング装置はいくつであってもよい。センサなどを有する装置のような他の装置が、システム712と情報をやり取りしてもよい。システム環境700は、ネットワーク710を含んでいてもよい。ネットワーク710は、当業者によく知られており、さまざまな市販のプロトコルTCPIP、SNA、IPX、AppleTalkなどを含むがこれらに限定されないのいずれかを用いたデータ通信をサポートできるネットワークであれば、どのような種類のネットワークであってもよい。単なる例として、ネットワーク710は、イーサネットEthernet登録商標ネットワーク、トークンリングTokenRingネットワークなどのローカルエリアネットワークLAN、ワイドエリアネットワーク、バーチャルネットワークバーチャルプライベートネットワークVPNを含むがこれに限定されない、インターネット、イントラネット、エクストラネット、公衆電話交換回線網PSTN、赤外線ネットワーク、ワイヤレスネットワークたとえば、IEEE80211プロトコル群のいずれかの下で動作するネットワーク、当該技術分野において公知のBluetooth登録商標プロトコル、および/またはその他のワイヤレスプロトコル、および/またはこれらの任意の組み合わせ、および/または他のネットワークであってもよい。システム712は、1以上のサーバコンピュータを含んでいてもよく、当該1以上のサーバコンピュータは、汎用コンピュータ、専用のサーバコンピュータ例として、PCサーバ、UNIXサーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント式rackmountedのサーバなどを含む、サーバファーム、サーバクラスタ、またはその他の適切な配置および/または組み合わせであってもよい。さまざまな実施形態では、システム712は、本願に記載されている1以上のサービスまたはソフトウェアアプリケーションを実行するように適合されていてもよい。システム712は、上述したオペレーティングシステムのいずれかおよび任意の市販のサーバオペレーティングシステムを含むオペレーティングシステムを実行してもよい。また、システム712は、HTTPサーバ、FTPサーバ、CGIサーバ、Javaサーバ、およびデータベースサーバなどを含むさまざまな追加的なサーバアプリケーション、および/またはミッドティアmidtierアプリケーションのいずれかを実行してもよい。典型的なデータベースサーバは、Oracle、Microsoft、Sybase、IBMなどから市販されているものを含むがこれらに限定されない。また、システム環境700は、1以上のデータベース714および716を含んでいてもよい。データベース714および716は、さまざまな場所に存在していてもよい。例として、1以上のデータベース714および716は、システム712にローカルなおよび/またはシステム712内に常駐している記憶媒体に存在していてもよい。あるいは、データベース714および716は、システム712から離れており、ネットワークベースまたは専用回線を介してシステム712と通信してもよい。一連の実施形態では、データベース714および716は、当業者によく知られているストレージエリアネットワークSANに存在してもよい。同様に、システム712による機能を実行するために必要なあらゆるファイルは、必要に応じて、システム712にローカルにおよび/またはリモートで記憶されてもよい。一連の実施形態では、データベース714および716は、SQLフォーマットのコマンドに応答してデータを記憶し、更新し、読み出すように適合されているOraclelOgおよび1lgのようなリレーショナルデータベースを含んでもよい。図8は、本発明に係る実施形態に従って利用され得るコンピュータシステム800の簡略ブロック図である。たとえば、システム800は、図1のイベント処理サーバ102を実行するために利用されてもよい。コンピュータシステム800は、バス824を介して電気的に接続され得たハードウェア構成要素を含んでいることが示されている。ハードウェア構成は、1以上の中央処理部CPU802、1以上の入力装置804たとえば、マウス、キーボードなど、および1以上の出力装置806たとえば、ディスプレイ装置、プリンタなどを含んでいてもよい。また、コンピュータシステム800は、1以上の記憶装置808を含んでいてもよい。例として、記憶装置808は、ディスクドライブ、光学式記憶装置などの装置を含み、さらに、プログラム可能で、一瞬で更新可能でflashupdateable、および/またはそれと同じようなことが可能であるランダムアクセスメモリRAMおよび/またはリードオンリーメモリROMなどのソリッドステートsolidstate記憶装置を含んでいてもよい。コンピュータシステム800は、さらに、コンピュータ可読記憶媒体リーダ812、通信サブシステム814たとえば、モデム、ネットワークカード無線もしくは有線、赤外線通信装置など、ワーキングメモリ818を含んでいてもよく、ワーキングメモリ818は、上述したようなRAMおよびROM装置を含んでいてもよい。いくつかの実施形態では、コンピュータシステム800は、デジタルシグナルプロセッサDSP、専用のプロセッサ、および/またはそれと同様のものを含み得る処理加速部816を含んでいてもよい。コンピュータ可読記憶媒体リーダ812は、さらに、コンピュータ可読記憶媒体810に接続され得る。コンピュータ可読記憶媒体810は、任意に、記憶装置808と組み合わせてリモート式、ローカル式、固定式および/または着脱交換式の記憶装置、および、一時的および/またはより永続的にコンピュータ可読情報を収容するための記憶媒体を総合的に意味している。通信サブシステム814は、ネットワーク710および/またはシステム環境700に関する上述したその他のコンピュータと、データをやり取りすることが可能であってもよい。また、コンピュータシステム800は、ワーキングメモリ818内に現在位置しているように示されているソフトウェア構成要素を含んでいてもよい。ワーキングメモリ818は、オペレーティングシステム820、および/または、アプリケーションプログラムクライアントアプリケーション、ウェブブラウザ、ミッドティアアプリケーション、RDBMSなどであってもよいなどのその他のコード822を含む。典型的な実施形態では、ワーキングメモリ818は、実行可能なコードと、イベントを処理し上述したようなデータカートリッジに関連する処理を実行するために利用される関連データ構造キャッシュなどとを含んでいてもよい。代替の実施形態に係るコンピュータシステム800は、上述したものからの多くの変形例を有し得るということが理解されよう。たとえば、カスタマイズされたハードウェアが用いられてもよく、および/または特定の構成要素は、ハードウェア内、ソフトウェア内アプレットなどのポータブルソフトウェアを含むまたはそれら両方で実行されてもよい。さらに、ネットワーク入力/出力装置などの他のコンピューティング装置への接続が利用されてもよい。コードまたはコードの一部を収容するための記憶媒体およびコンピュータ可読媒体は、当該技術分野において公知のは利用されているあらゆる適切な媒体を含み得る。適切な媒体は記憶媒体および通信媒体を含み、その記憶媒体および通信媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくはその他のメモリ技術、CD-ROM、DVDもしくはその他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくはその他の磁気記憶装置、または、所望の情報を格納もしくは送信するために利用可能でありコンピュータによってアクセス可能なその他の媒体を含む、コンピュータ可読命令、データ構造、プログラムモジュール、もしくはその他のデータなどの情報を格納しおよび/もしくは送信するための方法もしくは技術において実行される揮発的および不揮発的、着脱可能および着脱不可能な媒体などであるが、それらに限定されない。本発明に係る具体的な実施形態が説明されてきたが、さまざまな修正、変更、代替構成、および均等物もまた本発明の範囲内に包含される。本発明に係る実施形態は、ある特定のデータ処理環境内での動作に限定されるものではなく、複数のデータ処理環境内で動作可能である。さらに、本発明に係る実施形態は、特定の一連のトランザクションおよびステップを用いて説明されてきたが、本発明の範囲が、記載された一連のトランザクションおよびステップに限定されないということは当業者にとって明らかであろう。さらに、本発明に係る実施形態は、特定のハードウェアおよびソフトウェアの組み合わせを用いて説明されてきたが、他のハードウェアおよびソフトウェアの組み合わせも、本発明の範囲内であるということが認識されるであろう。本発明に係る実施形態は、ハードウェアのみで実行されてもよいし、ソフトウェアのみで実行されてもよいし、それらの組み合わせを用いて実行されてもよい。したがって、明細書および図面は、限定的意味ではなく例示のためであると見なされるべきである。しかしながら、特許請求の範囲に記載のより広い精神および範囲から逸脱することなく追加、置換、削除、その他の修正および変更が可能であることは明らかであろう。"