"与えられた引数に対して特定のキー空間のキー値を返す装置特定関数を複数保持する装置特定関数保持手段と、前記装置特定関数それぞれについて、複数の特定の前記引数に対する前記キー値の分散を算出し、算出した前記分散に基づいて前記装置特定関数の分散度を算出し、出力する装置特定関数分散度算出手段と、第1のデータブロックの入力頻度と前記第1のデータブロックが特定の前記第1のデータブロックであるか否かを判定する条件の情報を含む第2のデータブロックの入力頻度との比と、前記分散度と、に基づいて複数の前記装置特定関数の内のいずれか1つを選択し、選択した前記装置特定関数を出力する装置特定関数決定手段と、を含む分散処理装置。前記装置特定関数は、周期関数であって、前記キー値は特定のキー空間を循環し、前記装置特定関数分散度算出部は、前記複数の特定の前記引数に対する複数の前記キー値について、前記キー空間の近距離側の平均値を算出し、前記平均値に基づいて前記複数の前記キー値の分散を算出することを特徴とする請求項1記載の分散処理装置。前記装置特定関数決定部は、前記第1のデータブロックの入力頻度と前記第2のデータブロックの入力頻度との比の値と、隣接した前記引数に対応する前記キー値の分散度とが最も近い前記装置特定関数を選択し、前記選択した装置特定関数が複数である場合、予め定められた閾値以下の前記引数に対する前記キー値の分散度が、2以上で最も少ない数の前記引数において出現する前記装置特定関数を選択することを特徴とする請求項1または2記載の分散処理装置。前記第1のデータブロックの入力と前記第2のデータブロックの入力とを監視し、前記第1のデータブロックの入力頻度と前記第2のデータブロックの入力頻度との比を算出し、出力する入力頻度観測部を含むことを特徴とする請求項1乃至3のいずれか一項に記載の分散処理装置。元の請求項4:第1データブロックがイベントデータ前記第1のデータブロックは、入力される順番に対応して単調増加または単調減少する環境情報を含み、前記装置特定関数分散度算出手段は、前記環境情報に基づいて決定した連続する値を前記複数の特定の前記引数とする、ことを特徴とする請求項1乃至4のいずれか一項に記載の分散処理装置。コンピュータが、与えられた引数に対して特定のキー空間のキー値を返す装置特定関数を複数保持し、前記装置特定関数それぞれについて、複数の特定の前記引数に対する前記キー値の分散を算出し、算出した前記分散に基づいて前記装置特定関数の分散度を算出し、第1のデータブロックの入力頻度と前記第1のデータブロックが特定の前記第1のデータブロックであるか否かを判定する条件の情報を含む第2のデータブロックの入力頻度との比と、前記分散度と、に基づいて複数の前記装置特定関数の内のいずれか1つを選択し、選択した前記装置特定関数を出力する、分散処理装置方法。前記装置特定関数は、周期関数であって、前記キー値は特定のキー空間を循環し、前記コンピュータは、前記複数の前記キー値の前記分散を、前記複数の特定の前記引数に対する複数の前記キー値について、前記キー空間の近距離側の平均値を算出し、前記平均値に基づいて算出することを特徴とする請求項6記載の分散処理方法。前記コンピュータは、前記第1のデータブロックの入力頻度と前記第2のデータブロックの入力頻度との比の値と、隣接した前記引数に対応する前記キー値の分散度とが最も近い前記装置特定関数を選択し、前記選択した装置特定関数が複数である場合、予め定められた閾値以下の前記引数に対する前記キー値の分散度が、2以上で最も少ない数の前記引数において出現する前記装置特定関数を選択することを特徴とする請求項6または7記載の分散処理方法。与えられた引数に対して特定のキー空間のキー値を返す装置特定関数を複数保持する処理と、前記装置特定関数それぞれについて、複数の特定の前記引数に対する前記キー値の分散を算出し、算出した前記分散に基づいて前記装置特定関数の分散度を算出する処理と、第1のデータブロックの入力頻度と前記第1のデータブロックが特定の前記第1のデータブロックであるか否かを判定する条件の情報を含む第2のデータブロックの入力頻度との比と、前記分散度と、に基づいて複数の前記装置特定関数の内のいずれか1つを選択する処理と、選択した前記装置特定関数を出力する処理とを、コンピュータに実行させるプログラム。複数の分散処理装置を含み、前記分散処理装置の内の少なくとも1つは、請求項1乃至5のいずれか1項に記載の前記分散処理装置である分散処理システム。しかしながら、上述した文献に記載された技術においては、イベントデータの発生頻度やイベント条件の更新頻度などが異なる、それぞれのユースケースに適した分散処理装置特定方法を選択することが困難であるという問題点がある。その理由は、ユースケースに基づいて分散処理装置特定方法を評価する手段がないためである。上述の問題点を具体的に説明する。例えば、特許文献1のデータベース管理装置は、複数の断片レコードが複数のデータベース管理装置に常に均一に格納されるようにするために、断片レコードのキー値の集合を均一に分布するハッシュ値にする、ハッシュ関数を決定する。即ち、そのデータベース管理装置は、複数の断片レコードがどのようなユースケースで発生するかに係わらず、その複数の断片レコードを均一に分布させるような分散処理装置特定方法を、常に選択するという問題点がある。また、非特許文献1の負荷分散方法は、システム管理者が、固有の評価基準に基づいて、任意に分散処理装置特定方法を選択する。即ち、その負荷分散方法は、必ずしも、ユースケースに適していない分散処理装置特定方法であるとは限らないという問題点がある。ここで、選択された分散処理装置特定方法がユースケースに適していないことによる問題について説明する。その問題は、例えば、イベントデータの発生頻度が低いにも拘らず、処理の分散が必要以上に行われる問題である。即ち、処理を分散させすぎる分散処理装置特定方法が選択されると、イベント条件を配置する先の分散処理装置数が不必要に増大する。そして、その分、イベント条件の更新に対する即応性が悪化する。また、その問題は、イベントデータの発生頻度が高いにも拘らず、処理の分散が不十分であるという問題である。この場合、イベント条件の更新に対する即応性は、保たれる。しかし、処理を十分に分散させない分散処理装置特定方法が選択されると、イベントデータを処理する先の分散処理装置の負荷が高くなる。そして、処理性能が悪化する問題である。次に、上述の非特許文献1の負荷分散方法を用いたイベント処理システムについて、前述の問題点を具体的に説明する。まず、非特許文献1の負荷分散方法を用いたイベント処理システムの、基本動作を説明する。そのイベント処理システムは、予め定められた時間範囲をいくつかの時間範囲に分割すると共に、その分割した時間範囲を各分散処理装置に割り当てる。そして、外部システムからイベントデータを受信した際、そのイベント処理システムは、複数の分散処理装置の中から処理する先の分散処理装置を1つ特定する。続けて、特定された分散処理装置は、その受信したイベントデータに対する処理を行う。こうして処理を分散することで、そのイベント処理システムは、各分散処理装置あたりの負荷を軽減している。そのイベント処理システムのいずれかの第1の分散処理装置は、外部システムからイベントデータを受信すると、そのイベントデータを処理する先のいずれかの第2の分散処理装置を特定する。ここで、第1の分散処理装置は、そのイベントデータに記述されている時間を、割り当てられている時間範囲に含む分散処理装置を、第2の分散処理装置として特定する。次に、第1の分散処理装置は、そのイベントデータを第2の分散処理装置へ配送する。第2の分散処理装置は、配送されたイベントデータをイベントデータ処理手段で処理する。尚、第2の分散処理装置は、第1の分散処理装置であってもよい。この場合、第1の分散処理装置は、そのイベントデータを自身のイベントデータ処理手段で処理する。また、そのイベント処理システムのいずれかの第1の分散処理装置は、外部システムからイベント条件を受信すると、そのイベント条件を処理する先のいずれかの第2の分散処理装置を特定する。ここで、第1の分散処理装置は、そのイベント条件で指定されている時間範囲にオーバーラップする時間範囲が割り当てられている分散処理装置を、第2の分散処理装置として特定する。次に、第1の分散処理装置は、そのイベント条件を第2の分散処理装置へ配送する。第2の分散処理装置は、配送されたイベント条件を保持する。尚、第2の分散処理装置は、第1の分散処理装置であってもよい。この場合、第1の分散処理装置は、そのイベント条件を自身で保持する。分散処理装置のイベントデータ処理手段は、配送されたイベントデータが、保持しているイベント条件に合致しているか否かの判定合致判定処理を行う。例えば、イベント処理システムが、4台の分散処理装置で構成されているとする。そのイベント処理システムは、4台の分散処理装置それぞれを、0時から6時間ごとに均等に割り当てる。例えば、2011年2月28日9:00から2011年2月28日12:00と指定したイベント条件が、イベント処理システムに入力された場合、イベント処理システム内のある第1の分散処理装置は、そのイベント条件を受信する。次に第1の分散処理装置は、6時から12時を割り当てられた第2の分散処理装置にイベント条件を送信する。第2の分散処理装置は、送信されたイベント条件を保持する。次に、時間情報に2011年2月28日10:30と記述されたイベントデータが、イベント処理システムに入力された場合、イベント処理システム内のある第1の分散処理装置は、そのイベントデータを受信する。次に、第1の分散処理装置は、6時から12時を割り当てられた第2の分散処理装置にイベントデータを送信する。第2の分散処理装置は、受信したイベントデータと保持しているイベント条件との合致判定処理を行う。例えば、イベントデータ時間情報が2011年2月28日10:30は、イベント条件時間情報が2011年2月28日9:00から2011年2月28日12:00に、合致する。次に、イベントデータの発生頻度が低いユースケースにおいて、処理の分散が必要以上に行われる分散処理装置特定方法が選択されることにより、イベント条件の更新登録、削除、変更の即応性が悪化する場合の例を、説明する。そのイベント処理システムは、定められた時間範囲をより細かく分割し、隣り合った時間範囲を別の分散処理装置に割り当てることで、処理の分散を大きくできる。なぜならば、定められた時間範囲をより細かく分割することは、ある時間範囲内に発生したイベントデータが配送される先の、分散処理装置を増加させることになるからである。例えば、イベント処理システムは、各分散処理装置を、前述の6時間ごとではなく、1時間ごとに均等に割り当てる。この場合、イベント処理システムは、4台の分散処理装置それぞれを、0時から順に、1時間ごとの時間範囲を順に割り当てる。つまり、イベント処理システムは、全ての分散処理装置それぞれを、4時までの時間範囲に割り当てる。更に、イベント処理システムは、4時以降は、再度1台目の分散処理装置から順に1時間の時間範囲を割り当てる。例えば、6時から12時に発生するイベントデータは、前述の6時間ごとの例では1台の分散処理装置で処理されていた。しかし、この例では、定められた時間範囲を1時間ごとに分割したことによって、そのイベントデータは、4台の分散処理装置で処理される。従って、この1時間ごとの例では、前述の6時間後との例に比べて、処理の分散がより大きい。しかし、例えば2011年2月28日9:00から2011年2月28日12:00と指定したイベント条件は、9:00から9:59、10:00から10:59、11:00から11:59、12:00から12:59が割り当てられた4台の分散処理装置で保持される。各分散処理装置で保持されるイベント条件は、同期を取って更新される必要がある。従って、4台の分散処理装置でイベント条件を保持することは、例えば2台の分散処理装置でイベント条件を保持することに比べて、更新時の即応性が悪化する。次に、イベントデータの発生頻度が高いユースケースにおいて、処理の分散が不十分な分散処理装置特定方法が選択されイベントデータを処理する先の分散処理装置の負荷が高くなり、処理性能が悪化する場合の例を、説明する。イベント処理システムは、定められた時間範囲をより粗く分割し、隣り合った時間範囲を同じ分散処理装置に割り当てることで、イベント条件を保持する先の分散処理装置を集約できる。なぜならば、定められた時間範囲をより粗く分割することは、ある時間範囲を指定したイベント条件が配送される先の、分散処理装置が減少することになるからである。しかし、イベントデータを処理する先の分散処理装置数も減少し、それらの分散処理装置の負荷が高くなり、処理性能が悪化する。上述のように、時間情報のように連続する値を、その値の順に従って扱う非特許文献1の負荷分散方法を適用したイベント処理システムは、イベントデータやイベント条件がどの程度分散されるかを評価する指標を得ることができない。そのため、そのイベント処理システムは、ユースケースに適した分散処理装置特定方法を選択することができない。[目的]本発明の目的は、上述した問題点を解決する分散処理制御装置、分散処理制御方法及びそのためのプログラムを提供することにある。本発明の分散処理装置は、与えられた引数に対して特定のキー空間のキー値を返す装置特定関数を複数保持する装置特定関数保持手段と、前記装置特定関数それぞれについて、複数の特定の前記引数に対する前記キー値の分散を算出し、算出した前記分散に基づいて前記装置特定関数の分散度を算出し、出力する装置特定関数分散度算出手段と、第1のデータブロックの入力頻度と前記第1のデータブロックが特定の前記第1のデータブロックであるか否かを判定する条件の情報を含む第2のデータブロックの入力頻度との比と、前記分散度と、に基づいて複数の前記装置特定関数の内のいずれか1つを選択し、選択した前記装置特定関数を出力する装置特定関数決定手段と、を含む。本発明の分散処理装置方法は、コンピュータが、与えられた引数に対して特定のキー空間のキー値を返す装置特定関数を複数保持し、前記装置特定関数それぞれについて、複数の特定の前記引数に対する前記キー値の分散を算出し、算出した前記分散に基づいて前記装置特定関数の分散度を算出し、第1のデータブロックの入力頻度と前記第1のデータブロックが特定の前記第1のデータブロックであるか否かを判定する条件の情報を含む第2のデータブロックの入力頻度との比と、前記分散度と、に基づいて複数の前記装置特定関数の内のいずれか1つを選択し、選択した前記装置特定関数を出力する。本発明のプログラムは、与えられた引数に対して特定のキー空間のキー値を返す装置特定関数を複数保持する処理と、前記装置特定関数それぞれについて、複数の特定の前記引数に対する前記キー値の分散を算出し、算出した前記分散に基づいて前記装置特定関数の分散度を算出する処理と、第1のデータブロックの入力頻度と前記第1のデータブロックが特定の前記第1のデータブロックであるか否かを判定する条件の情報を含む第2のデータブロックの入力頻度との比と、前記分散度と、に基づいて複数の前記装置特定関数の内のいずれか1つを選択する処理と、選択した前記装置特定関数を出力する処理とを、コンピュータに実行させる。本発明は、イベントデータの発生頻度やイベント条件の更新頻度などが異なる、それぞれのユースケースに適した分散処理装置特定方法を選択することを可能にするという効果がある。次に、本発明の実施形態について図面を参照して詳細に説明する。[第1の実施の形態]図1は、本発明の第1の実施形態の分散処理装置100の構成を示すブロック図である。図1を参照すると、本実施形態に係る分散処理装置100は、装置特定関数保持部110と装置特定関数分散度算出部120と装置特定関数決定部130とイベントデータ配信先装置特定部140とイベント条件配置先装置特定部150と合致判定処理部160とを含む。図2は、分散処理装置100を含むイベント処理システム500の構成を示すブロック図である。図2を参照すると、イベント処理システム500は、ネットワーク590を介して互いに接続された分散処理装置100、分散処理装置101、分散処理装置102及び分散処理装置103を含む。分散処理装置の台数は、本実施形態の例に係わらず任意の台数であってよい。以後、分散処理装置101、分散処理装置102及び分散処理装置103を総称して、分散処理装置101-103とも表記する。また、分散処理装置100及び分散処理装置101-103を総称して、分散処理装置100-103と表記する。尚、分散処理装置101-103それぞれは、少なくともイベントデータ配信先装置特定部140及びイベント条件配置先装置特定部150及び合致判定処理部160を含む。また、分散処理装置101-103の内の任意のものは、分散処理装置100と同じ構成であってもよい。そして、分散処理装置100と同じ構成を含む分散処理装置101-103は、以下に説明する分散処理装置100と同様の動作を実行してよい。また、イベント処理システム500は、分散処理装置100に接続された装置特定関数入力装置510、初期情報入力装置520、イベントデータ入力装置530、イベント条件入力装置540及び通知情報受信装置550を含む。尚、装置特定関数入力装置510、初期情報入力装置520、イベントデータ入力装置530、イベント条件入力装置540及び通知情報受信装置550の任意のものは、ネットワーク590に接続されてよい。そして、分散処理装置100-103は、ネットワーク590に接続された装置特定関数入力装置510、初期情報入力装置520、イベントデータ入力装置530、イベント条件入力装置540及び通知情報受信装置550と接続されてよい。装置特定関数入力装置510は、分散処理装置100に、装置特定関数詳細は後述を入力する。初期情報入力装置520は、分散処理装置100-103に、初期情報詳細は後述を入力する。イベントデータ入力装置530は、分散処理装置100-103に、イベントデータ第1のデータブロックとも呼ばれるを入力する。ここで、イベントデータは、そのイベントデータが生成された時間や、そのイベントデータが生成された場所などの動的に変化する、状況情報の値を含む。イベント条件入力装置540は、分散処理装置100-103に、イベント条件第2のデータブロックとも呼ばれるを入力する。ここで、イベント条件は、あるイベントデータが特定のイベントデータであるか否かを判定する条件として、イベントデータに記述されている状況情報の範囲を指定する値を含む。通知情報受信装置550は、分散処理装置100から、合致判定の結果詳細は後述を受け取る。次に、分散処理装置100-103について説明する。各分散処理装置100-103それぞれは、少なくとも起動時に、各分散処理装置100-103に割り当てられる分担キーを取得する。例えば、各分散処理装置100-103それぞれは、その分担キーの値を自律的に算出する。また、図示しない手段及び予め定められた分散処理装置100-103のいずれかが、その分担キーの値を算出し、他の分散処理装置100-103に通知するようにしてもよい。また、その分担キーは、例えば、初期情報入力装置520が入力する初期情報に含まれるようにしてもよい。ここで、分担キーは、例えば、0から15までの整数の16個である。この場合、例えば、分散処理装置100は分担キーの0~3を、分散処理装置101は分担キーの4~7を、分散処理装置102は分担キーの8~11を、分散処理装置102は分担キーの12~15を、割り当てられる。尚、分担キーは、上記以外の任意の連続する整数例えば、0~23、0~59であってよい。また、各分散処理装置100-103それぞれは、イベント処理システム500において実行する複数の処理それぞれについて、分担キーのいずれかに対応するキー値を算出する。ここで、複数の処理は、例えば、000から23:59までに受け取るイベントデータ及びイベント条件に対する処理である。以後、これらの複数の処理を総称して、イベント処理とも呼ぶ。具体的には、分散処理装置100-103それぞれは、受信したイベントデータやイベント条件のキー値を算出する際に、装置特定関数詳細は、後述するfνを使用する。この装置特定関数fνは、引数νから、キー値を算出する関数である。ここで、引数νは、イベントデータやイベント条件に記述されている値、またはその値を予め定められた手順で変換した値である。予め定められた手順は、例えば、24時間制の時刻例えば、15時を、90分単位で16分割した値例えば、15時に対して、10に変換する手順である。この装置特定関数fνは、最小値の0及び最大値のfmax例えば、15を満たす整数値いずれかの分担キーに対応するキー値を返す関数である。尚、fmaxは、イベント処理システム500がイベント処理を割り当てるキー空間における、キー値の最大値である。例えば、分担キーが0~23の場合、fmaxは、23とすることが望ましい。また、例えば、分担キーが0~59の場合、fmaxは、59とすることが望ましい。また、このfmaxは、例えば、分散処理装置台数より十分大きな値例えば、分散処理装置台数の数倍を用いる。次に、イベント処理システム500の各分散処理装置100-103それぞれは、算出したキー値に基づいて、受け取ったイベントデータ及びイベント条件を分散処理装置100-103のいずれかに、配送する。即ち、イベント処理システム500は、算出したキー値に基づいて、分散処理装置100-103のいずれかにイベント処理を割り当てる。具体的には、分散処理装置100-103は、受け取ったイベントデータから算出したキー値が、自身に割り当てられた分担キーに対応する場合、そのイベントデータの合致判定を行う。また、分散処理装置100-103は、受け取ったイベント条件から算出したキー値が、自身に割り当てられた分担キーに対応する場合、そのイベント条件の保持を行う。また、分散処理装置100-103は、受け取ったイベントデータ及びイベント条件から算出したキー値が、自身に割り当てられた分担キーに対応しない場合、その算出したキー値に基づいて、受信したイベントデータやイベント条件を配送する分散処理装置100-103を特定する。即ち、分散処理装置100-103は、算出したキー値に対応する分担キーを割り当てられている分散処理装置100-103を特定する。そして、分散処理装置100-103は、特定した分散処理装置100-103に受信したイベントデータ及びイベント条件を配送する。分散処理装置100は、複数の装置特定関数の内から、使用する装置特定関数を決定する。また、イベント処理システム500に分散処理装置100と同様の動作を行わない分散処理装置101-103が含まれている場合、分散処理装置100は、その分散処理装置101-103に、決定した特定装置関数を配布するようにしてよい。次に、分散処理装置100-103の各構成要素について、詳細に説明する。尚、図1に示す構成要素は、ハードウェア単位の構成要素ではなく、機能単位の構成要素を示している。装置特定関数保持部110は、装置特定関数入力装置510から装置特定関数を受け取り、保持する。図3は、装置特定関数保持部110に保持された装置特定関数の一例である。装置特定関数保持部110は、関数番号と装置特定関数との組を1以上保持する。装置特定関数分散度算出部120は、装置特定関数それぞれの分散度を算出し、算出結果を保持する。装置特定関数の分散度とは、その装置特定関数に従って分散処理を行った際の分散の大きさを示す値である。例えば、装置特定関数f0νの分散度が装置特定関数f1νの分散度より大きい場合、装置特定関数f0νは、装置特定関数f1νに比べて、より多くの分散処理装置にイベント条件を配置する。分散度の算出については後述する。装置特定関数決定部130は、装置特定関数を1つ決定する。上述したように、装置特定関数は、分散処理装置100-103がイベントデータ入力装置530からイベントデータを受け取った場合、それを配信する先の分散処理装置100-103を特定するためのキー値を算出する関数である。また、装置特定関数は、分散処理装置100-103がイベント条件入力装置540からイベント条件を受け取った場合、それらを配信する先の分散処理装置100-103を特定するためのキー値を算出する関数である。具体的には、装置特定関数決定部130は、起動時に外部のシステムから入力される初期情報と、各装置特定関数の分散度とに基づいて、装置特定関数保持部110に格納されている装置特定関数の内の1つを選択する。続けて、装置特定関数決定部130は、選択した装置特定関数をイベントデータ配信先装置特定部140及びイベント条件配置先装置特定部150へ通知する。尚、装置特定関数決定部130は、分散処理装置101-103のイベントデータ配信先装置特定部140及びイベント条件配置先装置特定部150へも、選択した装置特定関数を通知するようにしてもよい。初期情報は、イベント処理システム500に対するイベントデータの入力頻度であるイベント入力頻度efとイベント条件の更新頻度であるイベント条件更新頻度rfとの比を含む。また、初期情報は、fmax及びイベント処理システム500に含まれる分散処理装置数U、を含む。イベントデータ配信先装置特定部140は、イベント処理システム500の外部システムからイベントデータを受信した際に、そのイベントデータに記述された値例えば、イベント発生時刻の9:56を取得する。続けて、イベントデータ配信先装置特定部140は、取得した値に基づいて装置特定関数の引数とする値νe例えば、2を決定する。続けて、イベントデータ配信先装置特定部140は、その決定した値を引数として装置特定関数を用いてキー値を算出する。更に、イベントデータ配信先装置特定部140は、算出したキー値に対応する分担キーを割り当てられた分散処理装置100-103を特定する。続けて、イベントデータ配信先装置特定部140は、特定した分散処理装置100-103へイベントデータを配送する。尚、イベントデータ配信先装置特定部140は、そのイベントデータに記述された値そのもの例えば、イベント発生時刻の9:56が記述されている場合、その時間の部分の9を、装置特定関数の引数とする値νeとして決定してもよい。イベント条件配置先装置特定部150は、イベント処理システム500の外部システムからイベント条件を受信した際に、そのイベント条件で指定された値の範囲の例えば、9:00-13:00を取得する。続けて、イベント条件配置先装置特定部150は、取得した値の範囲に基づいて、装置特定関数の引数とする値の範囲[νrl,νrh]νrlからνrhまで例えば、[2,4]2から4まで、即ち、2、3及び4を決定する。続けて、イベント条件配置先装置特定部150は、その決定した値の範囲に含まれる装置特定関数の引数となりえる各値を引数として装置特定関数を用いてキー値を算出する。更に、イベント条件配置先装置特定部150は、算出した各キー値に対応する各分担キーを割り当てられた分散処理装置100-103を特定する。続けて、イベント条件配置先装置特定部150は、特定した分散処理装置100-103の全てに対して、イベント条件を配送する。尚、イベントデータ配信先装置特定部140は、そのイベント条件で指定された値の範囲そのもの例えば、9:00-13:00が記述されている場合、その時間の部分の[9,13]の範囲に含まれる装置特定関数の引数となりえる各値を引数として決定してもよい。尚、特定した分散処理装置100-103へイベントデータ及びイベント条件を配送する手段は、例えば、DNSDomainNameSystemを用いる。合致判定処理部160は、配送されたイベント条件を保持する。また、合致判定処理部160は、配送されたイベントデータが、保持しているイベント条件に合致しているか否かの判定合致判定処理を行う。以上が、分散処理装置100の機能単位の各構成要素についての説明である。次に、分散処理装置100のハードウェア単位の構成要素について説明する。図4は、本実施形態における分散処理装置100とその周辺装置のハードウェア構成を示す図である。図4に示されるように、分散処理装置100は、CPUCentralProcessingUnit1070、記憶部1071、記憶装置1072、入力部1073、出力部1074及び通信部1075を含む。CPU1070は、オペレーティングシステム不図示を動作させて、本実施形態に係る分散処理装置100の全体の動作を制御する。また、CPU1070は、例えば記憶装置1072に装着された不揮発性の記録媒体不図示から、記憶部1071にプログラムやデータを読み込む。そして、CPU1070は、読み込んだプログラムに従って、また読み込んだデータに基づいて、図1に示す装置特定関数保持部110、装置特定関数分散度算出部120、装置特定関数決定部130、イベントデータ配信先装置特定部140、イベント条件配置先装置特定部150及び合致判定処理部160として各種の処理を実行する。尚、CPU1070は、通信網不図示に接続されている外部コンピュータ不図示から、記憶部1071にプログラムやデータをダウンロードするようにしてもよい。記憶部1071は、プログラムやデータを記憶する。記憶装置1072は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク及び半導体メモリであって、不揮発性の記憶媒体を含む。記憶装置1072は、プログラムをコンピュータ読み取り可能に記録する。また、記憶装置1072は、データをコンピュータ読み取り可能に記録してもよい。入力部1073は、装置特定関数入力装置510、初期情報入力装置520、イベントデータ入力装置530及びイベント条件入力装置540とのインタフェースを実現する。入力装置1073は、装置特定関数保持部110、装置特定関数分散度算出部120、装置特定関数決定部130、イベントデータ配信先装置特定部140、イベント条件配置先装置特定部150の一部として含まれる。出力部1074は、例えば通知情報受信装置550とのインタフェースを実現する。出力部1074は、合致判定処理部160の一部として含まれる。通信部1075は、ネットワーク590とのインタフェースを実現する。通信部1075は、装置特定関数決定部130、イベントデータ配信先装置特定部140、イベント条件配置先装置特定部150及び合致判定処理部160の一部として含まれる。以上が、分散処理装置100のハードウェア単位の各構成要素についての説明である。以上説明したように、図1に示す機能単位のブロックは、図4に示すハードウェア構成によって実現される。但し、分散処理装置100が備える各部の実現手段は、上記に限定されない。すなわち、分散処理装置100は、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した2つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。また、前述のプログラムを記録した記録媒体または記憶媒体が分散処理装置100に供給され、分散処理装置100は、記録媒体に格納されたプログラムを読み込み、実行してもよい。すなわち、本実施形態は、分散処理装置100が実行するプログラムを、一時的にまたは非一時的に、記憶する記録媒体の実施形態を含む。次に、図面を参照して、分散処理装置100の動作を説明する。図5は、分散処理装置100の動作を示すフローチャートである。分散処理装置100は、例えば、分散処理装置100自身が起動されたことを契機に装置特定関数を選択する動作を開始する。分散処理装置100は、初期情報入力装置520から初期情報を受け取り、受け取った初期情報を、例えば図4に示す記憶部1071に格納するS610。装置特定関数保持部110は、装置特定関数入力装置510から装置特定関数を受け取り、保持するS612。次に、装置特定関数分散度算出部120は、特定の値を引数として、装置特定関数が返す値以後、キー値と呼ぶを算出するS620。ここで、特定の値は、装置特定関数の引数となりうる値の範囲のVmin~Vmaxに含まれる値のうち、連続したp個の、ν0からνp-1の値である。尚、Vmin~Vmaxは、装置特定関数分散度算出部120に予め与えられている。また、Vmin~Vmaxは、初期情報に含まれ、分散処理装置100の起動時に、初期情報入力装置520から入力されるようにしてもよい。ここで、この引数となりうる値が、時間情報のような無限に続くような値である場合、Vmin~Vmaxは、実際に扱うことが可能な、ある一定の範囲を繰り返す値である。例えば、この引数となりうる値が時間情報である場合、Vmin~Vmaxは、ある一定の範囲例えば、1日00:00から23:59までを、例えば0~15で繰り返す。即ち、Vmin=0は、00:00から1:29までの時刻に対応する引数である。また、1は、1:30から2:59までの時刻に対応する引数である。同様にして、Vmax=15は、22:30から23:59までの時刻に対応する引数である。ここで、上述の時間情報は、イベントデータに含まれる、入力される順番に対応して単調増加する環境情報とも呼ばれる。また、上述の引数の0~15は、その環境情報に基づいて決定された連続する値である。Vmin~Vmaxが0~15である場合、装置特定関数分散度算出部120は、0~15に含まれる値のうち、連続したp例えば、4個のある値ν0例えば、2からνp-1例えば、5までのそれぞれの値を引数として、装置特定関数が返す値以後、キー値と呼ぶを求める。次に、装置特定関数分散度算出部120は、S622からS628の処理により、算出したキー値の分散を算出する。但し、本実施形態における分散は、一般的な数学で用いられる分散とは求め方が異なる。なぜならば、本実施形態のキー値は、最小値の0、最大値のfmaxを満たす整数値を循環しているとみなすことができ、0fminとfmaxとの差を、1として算出するためである。ここで、キー値装置特定関数が返す値を、整数値の0~fmaxを循環する値である、とみなすことができる理由について説明する。前述のように、本実施形態の分散処理装置100は、キー値装置特定関数から返された値0からfmaxを分散処理装置数で分割し、分割された各範囲と各分散処理装置100-103とを紐付ける。例えば、分散処理装置数が4であるとし、各分散処理装置例えば、分散処理装置100-103に紐付く範囲が等間隔fmax1/4であるとする。ここで、fmax1は、キー値の個数である。この場合、キー値例えば、fと呼ぶにfmax1/4だけ加算し、fmax1で除した剰余した値{ffmax1/4}modfmax1は、異なる分散処理装置100-103が管理する、隣の範囲の値である。この関係は、キー値に拘らず成り立つ。つまり、キー値のfνxは、式1に示すように、0fminとfmaxとを循環しているとみなすことができる。図5に戻り、次に、装置特定関数分散度算出部120は、キー値を小さいほうから順に並べ、式2に示すように、g0からgp-1までの数列を作成するS622。例えば2から5までのそれぞれを、引数の値として求めたキー値が、15、5、6及び14であった場合、g0、g1、g2、g3=gp-1は、5、6、14、15である。次に、装置特定関数分散度算出部120は、求めたgyとgy1との差が最大であるyの特定値MM:=argmax|gy1-gy|但し、0≦y<p-1を求めるS624。例えば、g0、g1、g2、g3が5、6、14、15である場合、Mとなるyは、2である。次に、装置特定関数分散度算出部120は、式3に示すように、平均値AVEfpを算出するS626。尚、本実施形態のキー値は、最小値の0、最大値のfmaxを満たす整数値キー空間を循環しているとみなすことができる。装置特定関数分散度算出部120は、式3を用いて、平均値を算出する。この平均値は、gy1同士が近い側に位置するように算出された平均値であり、キー空間の近距離側の平均値とも呼ばれる。例えば、g0、g1、g2、g3が5、6、14、15である場合、式3により求めた平均値AVEfpは、18である。次に、装置特定関数分散度算出部120は、式4に示すように、分散σp2を算出し、保持するS628。例えば、g0、g1、g2、g3が5、6、14、15である場合、式4により求めた分散σp2は、12.5である。次に、装置特定関数分散度算出部120は、上式から求めた分散σp2を用いて、分散の平均である分散度sp2を算出し、保持するS630。ここで、分散度sp2について説明する。例えば、pを4とした場合、連続する4個の引数ν0~νp-1は、0~3、1~4、2~5、3~6、及び15~215、0、1、2の16組である。分散度sp2は、これらのν0~νp-1それぞれについて、上述のようにして求めた分散のσp2qの平均である。ここで、qは、1から引数の数ここでは、16までの整数値、即ち、何個目の引数から連続するp個の引数を取るかを示す値である。例えば、pを4とした場合、分散度sp2は、14.375である。次に、pがどのような値を取るかについて説明する。例えば、装置特定関数の引数となりうる値の範囲Vmin~Vmaxに含まれる値がN個あるとすると、Vmin~Vmaxに含まれる値から、連続した任意のp個の値のν0~νp-1を取る場合のpは、N通り1~Nとなる。即ち、pが1の場合、引数はν0であり、pが2の場合、引数はν0~ν1であり、pが3の場合、引数はν0~ν2である。以後も同様で、例えばpがNの場合、引数はν0~νN-1である。このN通りのそれぞれの場合における分散のσp2qの平均それぞれは、このN通りの各場合の、分散の平均である分散度sp2である。装置特定関数分散度算出部120は、pが1からNまでの各場合の分散の平均s12,s22,sN2を求める。図6は、装置特定関数分散度算出部120が分散度を保持する分散度保持テーブル610の一例を示す図である。図6に示すように、分散度保持テーブル610は、f0ν、f1ν、f2ν及びf3νそれぞれの分散度s12~s162を含む。次に、装置特定関数決定部130は、S640からS644の処理により、装置特定関数分散度算出部120が保持している分散度と初期情報とに基づいて、装置特定関数を一意に決定する。初期情報は、上述したように、イベント処理システム500に対するイベント入力頻度efとイベント条件更新頻度rfとの比、fmax及びイベント処理システム500に含まれる分散処理装置数Uを含む。まず、装置特定関数決定部130は、イベント入力頻度efとイベント条件更新頻度rfとの比から、比の値pf=ef/rfを算出するS640。次に、装置特定関数決定部130は、分散度のs22と、上記のpfと、を比較し、差が最も小さい装置特定関数を選択するS642。尚、この処理は、元々近い隣接するイベントデータが、適切に離れた分担キーを割り当てられた分散処理装置100-103に配送されるような装置特定関数を選択する処理である。まず、分散の平均のs22は、連続する2つのイベントデータが装置特定関数による変換後のキー空間でどれだけ離れているかを示す。即ち、隣接するイベントデータの配送先を特定するキー値は、s22が大きければ大きいほど、遠くに分散する。一方、pfは、イベント条件の更新に対して、イベントデータの発生がどのぐらい多いかを示す。イベントデータの発生が多ければ多いほどpfが大きければ大きいほど、大きく分散するほうがよい。即ち、pfは、適切な分散の大きさを示す値である。従って、分散の平均のs22とpfとの差が最も小さくなる装置特定関数を選択することは、元々近い隣接するイベントデータが、適切に離れた分担キーを割り当てられた分散処理装置100-103に配送されるような装置特定関数を選択することである。次に、装置特定関数決定部130は、s22とpfとの差が最も小さくなる装置特定関数が複数ある場合、s32引数が3個の場合の分散度以降がより小さい装置特定関数を選択するS644。尚、この処理は、元々広い範囲を指定するイベント条件が、より少ない分散処理装置100-103に配送されるような装置特定関数を選択する処理である。例えば、分散の平均のs92は、イベント条件に含まれる範囲9個の引数で特定される範囲の指定が、装置特定関数による変換後のキー空間でどれだけ離れているかを示す。例えば分散の平均のs92が小さい装置特定関数は、s92が大きい装置特定関数に比べて、分散が小さい。従って、S642で選択された装置特定関数の内から、s22以降がより小さい装置特定関数を選択することは、元々広い範囲を指定するイベント条件が、より少ない分散処理装置100-103に配送されるような装置特定関数を選択することである。具体的には、装置特定関数決定部130は、分散度に基づいて、分散処理装置数のUを用いて、S642で選択した装置特定関数のうち、式5に示す条件を満たすlが最も小さい装置特定関数を選択する。式5に示す条件を満たすlが最も小さい装置特定関数は、予め定められた閾値以下の分散度sp2が、2以上で最も少ない数の引数において出現する装置特定関数である。更に、lが最も小さい装置特定関数が複数ある場合、装置特定関数決定部130は、そのsl2が最も小さい装置特定関数を選択する。また、sl2が最も小さい装置特定関数が複数ある場合は、装置特定関数決定部130は、sl12が最も小さい装置特定関数を選択する。装置特定関数決定部130は、この動作を、全てのsp2が同じであると判定するまで継続する。全てのsp2が同じであると判定した場合、装置特定関数決定部130は、予められた基準例えば、装置特定関数保持部110における格納順に従って、装置特定関数を選択する。次に、装置特定関数決定部130は、選択した装置特定関数を、分散処理装置100-103のイベントデータ配信先装置特定部140及びイベント条件配置先装置特定部150へ通知するS646。次に、具体的な数値を示して、分散処理装置100の動作の例を説明する。装置特定関数保持部110は、装置特定関数入力装置510から、式6~式9に示すような装置特定関数のf0ν、f1ν、f2ν及びf3νを取得し、それらを保持する。尚、式6~式9において、ν=16h/24hは、時刻時:分:秒の内の時である。装置特定関数分散度算出部120は、装置特定関数ごとに分散度を算出し、例えば、図6に示すように分散度保持テーブル610に保持する。装置特定関数決定部130は、記憶部1071から、イベントデータ入力頻度efとイベント条件更新頻度rfとの比ef:rf=157:16、及び分散処理装置数Uの4を取得する。装置特定関数決定部130は、取得した情報に基づいて、pf=ef/rf=9.8125を算出する。装置特定関数決定部130は、算出したpfと、分散度保持テーブル610に保持されている分散度から求めたs22の値と、が近い装置特定関数を選択する。ここでは、4つ装置特定関数のうち、f0νのs2213.375とf1νのs226.25とは、pfとの差が等しい。従って、装置特定関数決定部130は、f0νとf1νとを選択する。次に、装置特定関数決定部130は、f0νとf1νとについて、各sp2について、式10の値を算出し、式5を満たすlを決定する。図7は、装置特定関数決定部130の図示しない記憶手段に保持された、hlの算出結果の一例である。図7に示すように、h0l及びh1lそれぞれは、f0ν及びf1νそれぞれに対応する式10の値である。図7に示す算出結果の場合、装置特定関数決定部130は、式5を満たす値のlとして、f0νについて4を、f1νについて4を、決定する。次に、装置特定関数決定部130は、lが4である式10の値が小さいほうのf0νを選択する。次に、装置特定関数決定部130は、選択した装置特定関数f0νをイベントデータ配信先装置特定部140及びイベント条件配置先装置特定部150へ通知する。以上が、分散処理装置100における装置特定関数の選択と通知の動作の説明である。次に上述のようにして通知された装置特定関数を用いて、イベント処理システム500がイベント条件及びイベントデータを受け取った場合の動作について説明する。以下の説明において、イベント処理システム500は、4台の分散処理装置100-103を含むものとする。また、キー値の最大値fmaxは15であるものとする。前述したように、4台の分散処理装置100-103それぞれは、割り当てられた分担キーと紐付けられている。そして、イベントデータ配信先装置特定部140は、イベントデータに基づいて算出したキー値と各分散処理装置100-103に紐付けられている分担キーとを比較することによって、イベントデータを配布する先の分散処理装置100-103を特定する。同様に、イベント条件配置先装置特定部150は、イベント条件に基づいて算出したキー値と各分散処理装置100-103に紐付けられている分担キーとを比較することによって、イベント条件を配布する先の分散処理装置100-103を特定する。ここでは、4台の分散処理装置100-103それぞれは、分担キー0~3、4~7、8~11及び12~15それぞれと紐付けられている。従って、イベントデータ配信先装置特定部140及びイベント条件配置先装置特定部150それぞれは、キー値が0~3ならば分散処理装置100、キー値が4~7ならば分散処理装置101、キー値が8~11ならば分散処理装置102、キー値が12~15ならば分散処理装置103を特定する。まず、イベント条件入力装置540により、イベント処理システム500へイベント条件が入力された場合を説明する。分散処理装置100-103の内のいずれかが、入力されたイベント条件例えば、2011年2月28日9:00から2011年2月28日13:00を受け取る。次に、そのイベント条件を受け取った分散処理装置100-103のイベント条件配置先装置特定部150は、2011年2月28日9:00から2011年2月28日13:00に基づいて、引数となる値を決定する。この場合、そのイベント条件配置先装置特定部150は、00:00から23:59までを16分割して、0から16に変換した値を取得する。即ち、そのイベント条件配置先装置特定部150は、9:00から10:29までについて6を、10:30から11:59までについて7を、12:00から13:00までについて8を、引数となる値として決定する。尚、イベント条件配置先装置特定部150は、00:00から23:59までを24分割して、0から23に変換した値を取得するようにしてもよい。この場合、そのイベント条件配置先装置特定部150は、9:00から9:59までについて9を、10:00から10:59までについて10を、以後も同様に、引数となる値として決定する。次に、そのイベント条件配置先装置特定部150は、取得した値の6、7及び8それぞれを引数とし、装置特定関数のf0νを使用してキー値のf06、f07及びf08を算出する。この場合、f06、f07及びf08は、13、4、12である。次に、そのイベント条件配置先装置特定部150は、f06、f07、f0813、4、12から、そのイベント条件を配送する先の分散処理装置として分散処理装置101及び分散処理装置103を特定する。次に、そのイベント条件配置先装置特定部150は、特定した分散処理装置101及び分散処理装置103にそのイベント条件を配送する。分散処理装置101及び分散処理装置103は、配送されたイベント条件を保持する。以上が、イベント条件入力装置540から、イベント処理システム500へイベント条件が入力された場合の説明である。次に、イベントデータ入力装置530により、イベント処理システム500へイベントデータが入力された場合を説明する。分散処理装置100-103の内のいずれかが、入力されたイベントデータ例えば、時間情報が2011年2月28日10:29を受け取る。次に、そのイベント条件を受け取った分散処理装置100-103のイベントデータ配信先装置特定部140は、2011年2月28日10:29に対応する、引数となる値を決定する。そのイベントデータ配信先装置特定部140は、00:00から23:59までを16分割して、0から16に変換した値を取得する。即ち、そのイベントデータ配信先装置特定部140は、10:29について6を、引数になる値として決定する。尚、イベント条件配置先装置特定部150が00:00から23:59までを24分割して0から23に変換した値を取得するようにした場合、イベントデータ配信先装置特定部140は、同様に、00:00から23:59までを24分割して0から23に変換した値を取得する。即ち、この場合、そのイベントデータ配信先装置特定部140は、10:29について10を、引数になる値として決定する。次に、そのイベントデータ配信先装置特定部140は、決定した値の6を引数として、装置特定関数のf0νを使用してキー値のf06である13を算出する。次に、そのイベントデータ配信先装置特定部140は、キー値の13に基づいて、そのイベントデータを配送する先の分散処理装置103を特定する。次に、そのイベントデータ配信先装置特定部140は、特定した分散処理装置103にそのイベントデータを配送する。分散処理装置103は、配送されたイベントデータの合致判定処理を行う。同様に、分散処理装置100-103の内のいずれかが、入力されたイベントデータ例えば、時間情報が2011年2月28日11:30を受け取る。次に、そのイベント条件を受け取った分散処理装置100-103のイベントデータ配信先装置特定部140は、2011年2月28日11:30に対応する、引数となる値7を決定する。次に、そのイベントデータ配信先装置特定部140は、キー値のf07である4を算出し、算出したキー値の4に基づいて、そのイベントデータを配送する先の分散処理装置101を特定する。次に、そのイベントデータ配信先装置特定部140は、特定した分散処理装置101にそのイベントデータを配送する。分散処理装置101は、配送されたイベントデータの合致判定処理を行う。以上が、イベントデータ入力装置530から、イベント処理システム500へイベントデータが入力された場合の説明である。以上説明したように、装置特定関数がf0νの場合、イベント処理システム500は、4時間の範囲指定をしたイベント条件を2台の分散処理装置で保持する。そして、イベント処理システム500は、連続する1.5時間の範囲ごとに発生したイベントデータを2台の分散処理装置で処理する。これに対して、非特許文献1の負荷分散方法を用いるイベント処理システムは、例えば2011年2月28日9:00から2011年2月28日13:00と指定するイベント条件を、6:00から11:59までと12:00から18:00までとを割り当てられた2台の分散処理で保持する。そして、例えば時間情報それぞれが2011年2月28日10:29及び2011年2月28日11:30イベント条件で指定された時間の、最初の3時間に含まれるの2つのイベントデータは同じ分散処理装置が処理する。即ち、これらのイベントデータの処理は、分散されない。また、装置特定関数決定部130において、ステップS644に示す動作を行わず、装置特定関数のf1νのほうが選択された場合、イベント条件配置先装置特定部150は、以下のように動作する。その同じイベント条件を受け取ったイベント条件配置先装置特定部150は、同じく6、7及び8それぞれを引数として、装置特定関数のf1νを使用してキー値のf0614、f073及びf088を得る。次に、そのイベント条件配置先装置特定部150は、f06、f07、f0814、3、8から、そのイベント条件を配送する先の分散処理装置として分散処理装置100、分散処理装置102及び分散処理装置103を特定する。次に、そのイベント条件配置先装置特定部150は、特定した分散処理装置100、分散処理装置102及び分散処理装置103に、そのイベント条件を配送する。従って、このような場合、イベント条件を保持する先の分散処理装置100-103が冗長となる場合がある。また、上述の実施形態の分散処理装置100は、よりイベントデータの入力頻度が高い場合、より処理を分散させるような装置特定関数を選択する。例えば、初期情報として、イベントデータの入力頻度efとイベント条件の更新頻度rfとの比をef:rf=144:16とすると、分散処理装置100は、装置特定関数f1νを選択する。この場合、装置特定関数f0νを選択した場合に比べ、イベント条件を保持する先の分散処理装置数は増加する。しかし、同時にイベントデータの処理は、より多くの分散処理装置に分散される。逆に、上述の実施形態の分散処理装置100は、よりイベント条件の更新頻度が高い場合、よりイベント条件を集約させるような装置特定関数を選択する。例えば、初期情報として、イベントデータの入力頻度efとイベント条件の更新頻度rfとの比をef:rf=156:32とすると、分散処理装置100は、装置特定関数f2νを選択する。この場合、装置特定関数f0νを選択した場合に比べ、イベントデータの処理は、より少ない分散処理装置に集約される。しかし、同時にイベント条件を保持する先の分散処理装置数は減少する。上述した本実施形態における第1の効果は、各ユースケースにおけるイベント条件の更新頻度に対するイベントデータの発生頻度の割合の、高さに適応して、イベントデータの処理を各分散処理装置へ分散させる装置特定関数を選択することが可能になる点である。その理由は、以下のような構成を含むからである。即ち、第1に装置特定関数分散度算出部120が、装置特定関数ごとの、連続する引数の数ごとの、分散の平均である分散度を算出する。第2に、装置特定関数決定部130が連続する2つの引数の対応するキー値の分散度と、イベントデータ入力頻度ef及びイベント条件更新頻度rfの比とが最も近い、装置特定関数を選択する。上述した本実施形態における第2の効果は、連続する2つの引数の分散の平均と、イベントデータ入力頻度ef及びイベント条件更新頻度rfの比とが最も近い、装置特定関数が複数ある場合、イベント条件をより少ない分散処理装置に配置するようにさせる装置特定関数を選択することが可能になる点である。その理由は、装置特定関数決定部130が、上述の複数の装置特定関数の内、連続する3つ以上の引数の分散の平均が相対的に小さい、装置特定関数を選択するようにしたからである。上述のように、分散処理装置100は、イベントデータの発生頻度やイベント条件の更新頻度などが異なる、それぞれのユースケースに適応して、イベントデータ及びイベント条件を配送する先の分散処理装置を決定する装置特定関数を選択する。即ち、本実施形態は、イベントデータの発生頻度やイベント条件の更新頻度などが異なる、それぞれのユースケースに適した分散処理装置特定方法を選択することを可能にするという効果がある。[第2の実施形態]次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。図8は、本発明の第2の実施形態に係る分散処理装置200の構成を示すブロック図である。図8を参照すると、本実施形態における分散処理装置200は、第1の実施形態の分散処理装置100比べて、入力頻度観測部270を更に含む。入力頻度観測部270は、イベントデータの入力回数とイベント条件の入力回数とからイベントデータの発生頻度とイベント条件の更新頻度との比を算出し、この算出した比を例えば記憶装置1072に記録する。そして、分散処理装置200は、装置特定関数の選択する処理において、この記録した比を初期情報イベント入力頻度efとイベント条件更新頻度rfとの比として使用する。入力頻度観測部270は、イベントデータ用のカウンタと、イベント条件用のカウンタを含む。そして、入力頻度観測部270は、それぞれのカウンタのカウント値に基づいて、単位時間当たりのイベントデータの発生頻度及びイベント条件の更新頻度を算出する。例えば、入力頻度観測部270は、分散処理装置200に対してイベントデータが1秒間に100回入力された場合、イベントデータの発生頻度が100回/秒であることを算出する。そして、入力頻度観測部270は、イベントデータの発生頻度とイベント条件の更新頻度との比を算出する。分散処理装置200の入力頻度観測部270は、他の分散処理装置からイベントデータ及びイベント条件それぞれの入力頻度を取得する手段を有していてもよい。この場合、入力頻度観測部270は、分散処理装置200における入力頻度と他の分散処理装置における入力頻度とを合算し、イベントデータの発生頻度とイベント条件の更新頻度との比を算出するようにしてもよい。上述した本実施形態における効果は、第1の実施形態の効果に加え、装置特定関数の特定において使用する、イベントデータ入力頻度efとイベント条件更新頻度rfとの比を、現実のユースケースに即して得ることを可能にする点である。その理由は、入力頻度観測部270が、分散処理装置200に入力されるイベントデータとイベント条件との入力回数を測定し、測定した入力回数に基づいて、イベントデータ入力頻度efとイベント条件更新頻度rfとの比を算出するようにしたからである。例えば、第1の実施形態において、イベント処理システム500の運用を開始したところ、初期情報として入力したイベントデータ発生頻度とイベント条件の更新頻度の比が、実際の入力頻度と大きく異なっている場合がある。このような場合、ユースケースに適していない装置特定関数を使用している可能性がある。これに対し、本実施形態は、入力頻度観測部270が算出したイベントデータ入力頻度efとイベント条件更新頻度rfとの比に基づいて、ユースケースに適した装置特定関数を選択することができる。[第3の実施形態]次に、本発明の第3の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。図9は、本発明の第3の実施形態の分散処理装置300の構成を示すブロック図である。図9を参照すると、本実施形態に係る分散処理装置300は、装置特定関数保持部110と装置特定関数分散度算出部120と装置特定関数決定部130とを含む。装置特定関数保持部110は、与えられた引数に対して特定のキー空間のキー値を返す装置特定関数を複数保持する。装置特定関数分散度算出部120は、装置特定関数保持部110が保持する装置特定関数それぞれについて、複数の特定の引数に対するキー値の分散を算出する。続けて、装置特定関数分散度算出部120は、算出した分散に基づいて、それらの装置特定関数の分散度を算出し、出力する。装置特定関数決定部130は、イベントデータの入力頻度とイベント条件の入力頻度との比とから、比の値を算出する。続けて、装置特定関数決定部130は、それらの装置特定関数の内から、算出した比の値と、装置特定関数分散度算出部120が算出した分散度とに基づいて、いずれか1つの装置特定関数を選択し、出力する。上述した本実施形態における効果は、イベントデータの発生頻度やイベント条件の更新頻度などが異なる、それぞれのユースケースに適した分散処理装置特定方法を選択することを可能にする点である。その理由は、装置特定関数分散度算出部120が各装置特定関数の分散度を算出し、装置特定関数決定部130が、イベントデータの入力頻度とイベント条件の入力頻度との比と、各装置特定関数の分散度とに基づいて、それらの装置特定関数の内のいずれか1つを選択するようにしたからである。以上、各実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえるさまざまな変更をすることができる。以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が1個のモジュールとして実現されたり、1つの構成要素が複数のモジュールで実現されたりしてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であったり、ある構成要素の一部と他の構成要素の一部とが重複していたり、といったような構成であってもよい。以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ可能であれば、ハードウェア的に実現されても良いし、コンピュータ及びプログラムで実現されても良いし、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されても良い。プログラムは、磁気ディスクや半導体メモリなど、不揮発性のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作の全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。"