"属性名と属性値とを用いて、少なくとも2以上の属性名について予め定められた順序関係に基づいて生成される大小比較可能な形式であるキーの範囲が互いに隣接するように複数に分割された各区間のうちの少なくともひとつ以上の区間である自区間を記憶する自区間記憶手段と、属性名と属性値とから生成されるキーが前記自区間に含まれるか否かを判定する判定手段と、を備える情報処理装置。属性名と属性値とを含む情報であるイベント情報を受信する受信手段と、前記属性名のうち、受信した前記イベント情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間の分割された区間であって下限または上限を含む区間である端区間を、前記端区間に隣接する区間を記憶する他の情報処理装置へ送信する区間情報転送手段と、他の情報処理装置から自区間に隣接する区間を受信する区間情報受信手段と、前記送信した端区間と前記区間情報受信手段で受信した区間の一方もしくは両方を用いて自区間記憶手段を更新する処理対象情報格納手段と、をさらに備える請求項1に記載の情報処理装置。前記イベント情報を受信した場合に、前記イベント情報に含まれる属性名と属性値とに基づいて、大小比較可能な形式であるキーを生成するキー情報生成手段と、生成された前記キーが前記自区間に含まれる場合には、前記イベント情報を前記第一の処理対象とし、含まれない場合には、前記イベント情報と前記イベント情報から生成された前記キーとを、他の情報処理装置に送信する情報転送手段と、をさらに備え、前記情報転送手段は、他の情報処理装置から前記端区間を受信した場合に、前記上限または下限が前記自区間の上限または下限と一致しない場合には前記端区間を他の情報処理装置に送信し、前記処理対象情報格納手段は、前記受信した区間の上限または下限が前記自区間の上限または下限と一致する場合には前記自区間に前記端区間を加えた区間を前記自区間記憶手段に記憶させる請求項2に記載の情報処理装置。前記キー情報生成手段は、前記属性名と前記属性値の取り得る値の範囲とを含む情報であるサブスクリプション情報を受信した場合に、前記属性名及び前記属性値のいずれか1つの属性名とそれに対応する属性値とから登録キーを生成し、前記処理対象情報格納手段は、前記登録キーが前記自区間に含まれる場合に、前記サブスクリプション情報に含まれる前記属性名及び前記属性値の取り得る値の範囲から生成されるキー範囲をイベント条件として保持し、前記処理対象判定手段は、前記キーが前記自区間に含まれる場合に前記イベント条件を検索する前記第一の処理を実行し、前記イベント条件に前記キーが含まれる場合に前記イベント情報を第二の処理対象とする請求項3に記載の情報処理装置。前記情報転送手段は、前記属性名のうち、受信した前記イベント情報または前記サブスクリプション情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間を3つの区間に分割し、分割された区間のうち下限を含む第1の区間と、上限を含む第2の区間を他の情報処理装置に送信し、前記処理対象情報格納手段は、前記情報転送手段が送信していない区間を自装置に割り当てる請求項4に記載の情報処理装置。前記属性名が任意の長さの文字列で表される請求項1乃至5のいずれかに記載の情報処理装置。前記自区間記憶手段は、自区間の上限及び下限を記憶し、前記判定手段は、前記自区間の上限の生成に用いられた属性名と下限の生成に用いられた属性名との順序関係が前記予め定められた順序関係と一致しない場合、前記生成されるキーが前記下限と比較して小さい又は前記上限と比較して大きい場合に前記生成されるキーが自区間に含まれると判定する、請求項1乃至6のいずれかに記載の情報処理装置。請求項1から7のいずれかに記載の情報処理装置と、前記自装置に割り当てられた区間以外の各区間を割り当てられた他の情報処理装置と、を接続してなる情報処理システム。属性名と属性値とを用いて、少なくとも2以上の属性名について予め定められた順序関係に基づいて生成される大小比較可能な形式であるキーの範囲が互いに隣接するように複数に分割された各区間のうちの少なくともひとつ以上の区間である自区間を記憶する自区間記憶手段を備える情報処理装置に、属性名と属性値とから生成されるキーが前記自区間に含まれるか否かを判定する判定ステップを実行させる情報処理プログラム。属性名と属性値とを用いて、少なくとも2以上の属性名について予め定められた順序関係に基づいて生成される大小比較可能な形式であるキーの範囲が互いに隣接するように複数に分割された各区間のうちの少なくともひとつ以上の区間である自区間を記憶する自区間記憶手段を備える情報処理装置が、属性名と属性値とから生成されるキーが前記自区間に含まれるか否かを判定する情報処理方法。非特許文献1、2に開示されている方式は、あらかじめ定められた属性名のデータ項目に対しては有効であるが、あらかじめ定められていない属性名が新たに追加されるような状況では有効ではない。すなわち、非特許文献1、2に開示されている方式では、あらゆる未知の属性名に対するハブをあらかじめ作ろうとする場合、ハブが無限に必要となるが、そのようなことは不可能である。また、システムは、新たな属性名が追加されたタイミングで、その属性名に対応するノードを生成し、そのノードを、その属性名に対するハブとすることも考えられる。しかし、システムは、新規に生成したノードと、他の既存のハブを構成する全ノードとのリンクを確立しなければならない。従って、システムは、属性名追加時に、各ノードにおいて行われる属性名を追加するための処理時間がかかってしまうという問題がある。そこで、本発明の目的は、上述の課題を解決すべく、各ノードにおいて行われる属性名を追加するための処理の時間を短縮する情報処理装置、システム、制御方法およびプログラムを提供することにある。本発明の一形態は、情報処理装置であって、属性名と属性値とを用いて、少なくとも2以上の属性名について予め定められた順序関係に基づいて生成される大小比較可能な形式であるキーの範囲が互いに隣接するように複数に分割された各区間のうちの少なくともひとつ以上の区間である自区間を記憶する自区間記憶手段と、属性名と属性値とから生成されるキーが前記自区間に含まれるか否かを判定する判定手段と、を備える。また、本発明によれば、属性名と属性値とを用いて、少なくとも2以上の属性名について予め定められた順序関係に基づいて生成される大小比較可能な形式であるキーの範囲が互いに隣接するように複数に分割された各区間のうちの少なくともひとつ以上の区間である自区間を記憶する自区間記憶手段を備える情報処理装置に、属性名と属性値とから生成されるキーが前記自区間に含まれるか否かを判定する判定ステップを実行させる情報処理プログラムが提供される。また、本発明によれば、属性名と属性値とを用いて、少なくとも2以上の属性名について予め定められた順序関係に基づいて生成される大小比較可能な形式であるキーの範囲が互いに隣接するように複数に分割された各区間のうちの少なくともひとつ以上の区間である自区間を記憶する自区間記憶手段を備える情報処理装置が、属性名と属性値とから生成されるキーが前記自区間に含まれるか否かを判定する情報処理方法が提供される。上述した本発明によれば、各ノードにおいて行われる属性名を追加するための処理の時間を短縮する情報処理装置、システム、制御方法およびプログラムを提供することができる。以下、本発明の実施の形態について、図面を用いて説明する。すべての図面において、同じ構成要素には同じ符号を付し、適宜説明を省略する。なお、各実施形態のディスク装置等を構成する各部は、制御部、メモリ、メモリにロードされたプログラム、プログラムを格納するハードディスク等の記憶ユニット、ネットワーク接続用インターフェースなどからなり、ハードウェアとソフトウェアの任意の組合せによって実現される。そして特に断りのない限り、その実現方法、装置は限定されない。また、制御部はCPUCentralProcessingUnitなどからなり、オペレーティングシステムを動作させてディスク装置等の全体を制御するとともに、例えばドライブ装置などに装着された記録媒体からメモリにプログラムやデータを読み出し、これに従って各種の処理を実行する。記録媒体は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、半導体メモリ等であって、コンピュータプログラムをコンピュータが読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされても良い。ここで、特に断りの無い限り、通信網は、インターネット、LANLocalAreaNetwork、公衆回線網、無線通信網、または、これらの組み合わせ等によって構成されるネットワーク等であって良い。また、各実施形態の説明において利用するブロック図は、ハードウェア単位の構成ではなく、機能単位の構成を示している。これらの機能ブロックはハードウェア、ソフトウェアの任意の組み合わせによって実現される。また、これらの図においては、各実施形態の構成部は物理的に結合した一つの装置により実現されるよう記載されている場合もあるが、その実現手段はこれに限定されない。すなわち、各実施形態で説明される構成部、装置、システム等は、二つ以上の物理的に分離した装置を有線または無線で接続することにより複数の装置により実現されてもよい。また、各構成部が物理的に分離した2つ以上装置として記載されている場合もあるが、その実現手段はこれに限定されない。すなわち、物理的に結合した一つの装置により実現されるようにハードウェア、ソフトウェアを任意に組み合わせることにより各実施形態の各構成部、装置、システム等が実現されてもよい。<実施形態1>まず、図1を参照して、本発明の第1の実施の形態にかかるイベント配信システム1の概要について説明する。図1は、本実施の形態にかかるイベント配信システム1を構成する情報処理装置5の構成図の概要である。情報処理装置5は、複数のノード50、60を含んでもよい。あるいは、ノード50、60は、情報処理装置5又はその一部から構成されてもよい。つまり、1つのノードは1つの情報処理装置5から構成されていてもよく、1つのノードは情報処理装置5に含まれるメモリ、CPUCentralProcessingUnit及びハードディスク等のリソースが任意の量割り当てられて構成されるようにしてもよい。また、複数のノードは1つの情報処理装置5から構成されてもよい。ノード50は、キー情報生成部51、処理対象判定部52、処理対象情報格納部53及び情報転送部54を備える。なお、ノード60の構成については、ノード50の構成と同様であるため、説明を省略する。ノード50、60は、情報の種別を示す属性名と、この情報の値を示す属性値とを含むイベント情報を受信する。ここで、イベント情報イベントともいう。とは、上述のとおり、ID、位置、時刻などの1つ以上のデータ項目から構成されるデータである。データ項目は、属性名と属性値から構成される。例えば、温度、湿度センサが観測した20°Cの温度、60の湿度を基にイベントを生成する場合、イベントは、属性名が′′温度′′で、それに対する属性値が20°Cであるデータ項目と、属性名が′′湿度′′で、それに対する属性値が60であるデータ項目から構成されるように表現できる。属性名とは、データ項目に対して付された名称である。属性名とは、一般にあるものに共通して備わっているとされる性質や特徴のことであり、例えば、上述した温度、湿度、の他に物体の色、形、位置、時間等の任意の性質や特徴を表すものであって、特段制限されない。また、属性値とは、属性名で表される属性が取り得る値を表す。例えば、上述の例では、属性名温度に対する属性値は60などである。ノード50、60は、受信したイベント情報のうち、所定の属性名及び所定の範囲内の属性値を含んだイベント情報を処理対象とする。キー情報生成部51は、イベント情報を受信した場合に、このイベント情報に含まれる属性名と属性値から、この属性名及び属性値を大小比較可能な形式に変換したキー情報を生成する。そして、キー情報生成部51は、イベント情報と、そのイベント情報から生成されたキー情報を処理対象判定部52に出力する。処理対象判定部52は、キー情報生成部51から出力されたイベント情報及びキー情報を取得すると、処理対象情報格納部53に格納されている処理対象情報を取得する。そして、処理対象判定部52は、取得したキー情報と処理対象情報とを比較することによって、取得したイベント情報を処理対象とするか否かを判定する。処理対象情報格納部53は、所定の属性名及び所定の範囲内の属性値のキー情報を示す処理対象情報を予め保持する。情報転送部54は、処理対象判定部52がイベント情報を処理対象としないと判定した場合に、このイベント情報と、このイベント情報から生成されたキー情報とを他のノードに送信する。続いて、本実施の形態にかかるイベント配信システム1について詳細に説明する。図2を参照して、本実施の形態にかかるイベント配信システム1の構成について説明する。図2は、イベント配信システム1の構成図である。イベント配信システム1は、1つ以上のノードから構成される。イベント配信システム1は、データ項目から一意に決まる値キーの空間集合を管理する。異なるキーの間には順序が定義される。各ノードは、連続するキーの範囲を管理する。本実施の形態では、情報処理装置5は、イベント及びサブスクリプションに含まれる属性名及び属性値を大小比較可能な形式に変換したキーを生成するキー生成関数を用意する。つまり、キー生成関数は、キーを戻り値とする関数である。属性名はnnは、文字列など、属性値はvvは、文字列や実数などとし、キーを生成するキー生成関数はfn,vで表す。ここで、属性名、属性値にはそれぞれ順序が定義されているとする。例えば、属性名には、大小関係が定義されている。例えば、属性名が文字列で表され、順序関係が辞書式順序に従う場合、属性名′′温度′′は、属性名′′時刻′′より小さい値となる。fn,vは、n1>n2ならば、fn1,v1>fn2,v2を満たす関数である。ただし、v1とv2は任意の値である。さらにfn,vは、n1=n2かつv1>v2ならば、fn1,v1>fn2,v2を満たす関数である。属性名の順序の詳細に関しては後述する。キー生成関数の例f1n,vと記述するを示す。属性名が文字列で表されると仮定する。属性値は3桁までの10進整数0から999までで表されると仮定する。f1n,vは、まず、属性値を文字列に変換する。例えば、f1n,vは、属性値が0から99までの場合には、上位桁に0を追加し、3文字にする。例えば、属性値20は変換後、文字列′′020′′となる。関数f1n,vは、その後、属性名の文字列と属性値の文字列との間にデリミタを挟んで結合し、それをf1n,vの戻り値とする。f1n,vは、デリミタとして、属性名と属性値のいずれにも使用されない記号を使用する。例えば、f1n,vは、デリミタを′′:′′とすると、f1′′x′′,20=′′x:020′′となる。イベント配信システム1は、図2の例では、属性名x、yから生成されるハッシュ値に多くのノードを割り当てている。イベント条件で指定される属性名がxとyのいずれか、あるいは、両方である場合には、このようなハッシュ値の配置が適切である。イベント条件に属性名zの条件が指定される場合、後述するように、そのイベント条件は、ノードeに配置される。属性名zの条件が指定されたイベント条件が多く登録される場合、イベント配信システム1は、属性名zから生成されるハッシュ値に対してより多くのノードを割り当てることにより、イベント処理負荷のバランスをとることができる。キー生成関数の他の例f2n,vと記述するを示す。f1n,vで求められる文字列は、PCPersonalcomputerやサーバ等の情報処理装置内では、文字コードによって、ビット列で表現される。f2n,vは、f1n,vで求められる文字列を文字コードによって表現したビット列のうち、上位から所定のビット数を戻り値とする。例えば、f2n,vは、そのビット列の上位160ビットをf2の戻り値とする。この場合に、文字コードが4バイトであれば、′′x:020′′は160ビット4バイト×5文字×8となるため、′′x:020′′を文字コードによって表現したビット列の全てが戻り値となる。本実施の形態では、イベント配信システム1は、ノードaからノードgまでの7つのノードが存在している場合について例示する。イベント配信システム1は、属性値のそれぞれが下限値あるいは最小値、以下同じ。及び上限値あるいは最大値、以下同じ。を有するとしても良い。イベント配信システム1は、属性値の取り得る範囲が、例えば、0以上320未満の整数である属性名′′x′′と、取り得る属性値の範囲が0以上320未満の整数である属性名′′y′′との2つの属性名をサポートしているものとすることができる。また、文字列の順序関係はどのように定められても良い。例えば、文字列の順序関係は、′′:′′<′′0′′<′′1′′<...<′′9′′<′′a′′<′′b′′<...<′′z′′としても良い。以下、本実施の形態では、属性名の順序は以下のように循環すると仮定する。すなわち、属性名がアルファベットの例では、′′a′′<′′b′′<...x<y<′′z′′<′′a′′<′′b′′<...、のように文字の順序が循環するこの関係を、循環的順序関係という。例えば、図2に示すノードaは、′′x:160′′以上のキーで、′′x:240′′より小さいキーの範囲を管理するこれを[x:160,x:240と表す。。例えば、キー′′x:200′′はノードaが管理する。また、ノードeは、′′y:200′′以上のキーで、′′x:000′′より小さいキーの範囲、すなわち、xより前の属性名z、a、b、...、wと、属性名に対応する属性値を管理する。したがって、ノードeは、例えば、キー′′z:050′′を管理する。換言すれば、本実施の形態におけるノードは、属性名の有する循環的順序関係において一巡未満の範囲を管理している。続いて、本実施の形態にかかるノードの具体的な構成について説明する。図3は、図1で説明したノードの具体的な構成図である。ノード10は、サブスクリプション転送情報生成部11と、イベント転送情報生成部12と、メッセージ判定部13と、サブスクリプション配置制御部14と、サブスクリプション管理部15と、イベント条件合致判定部16と、メッセージ転送部17と、を有する。なお、ノード20の構成については、ノード10の構成と同様であるため、説明を省略する。つまり、イベント配信システム1に含まれるノードa~gは、ノード10の構成と同様である。サブスクリプション転送情報生成部11は、サブスクライバ31から入力されたサブスクリプションからそれを転送するために必要な情報を生成する。サブスクリプションは、イベント条件と、通知先のアプリケーションのIDアプリケーションIDとから構成される図12参照。また、イベント条件は、複数の属性条件属性名と、それに対する属性値の範囲からなるイベントの条件である。イベント転送情報生成部12は、パブリッシャ32から入力されたイベントからそれを転送するために必要な情報を生成する。サブスクリプション転送情報生成部11及びイベント転送情報生成部12が生成する情報には、キーが含まれる。サブスクリプション転送情報生成部11及びイベント転送情報生成部12は、図1で示したキー情報生成部51として機能する。メッセージ判定部13は、ノード10宛に送られてきたメッセージがサブスクリプションかイベントかを判定する。ノード10には、サブスクライバ31から入力されたサブスクリプションやパブリッシャ32から入力されたイベント、あるいは、サブスクリプションID、要求種別、属性名などが、他のノード20から送信される。そこで、他のノード20から送信されるあるいは、他のノード10へ送信するこれらサブスクリプションやイベントなどの情報をまとめてメッセージと呼ぶ。サブスクリプション配置制御部14は、サブスクリプションをどのノードに配置するかを決定する。サブスクリプション管理部15は、サブスクリプションをノード内に記憶する。サブスクリプション管理部15は、図1で示した処理対象情報格納部53に相当する。イベント条件合致判定部16は、受信したイベントがサブスクリプション管理部15に格納されたサブスクリプションに含まれるイベント条件に合致するかどうかを判定する。メッセージ転送部17は、入力されるキーによって転送先が決定されるノードに対して、イベントを含んだメッセージや、サブスクリプションID、サブスクリプション及び要求種別登録要求か削除要求かを識別するための種別を含んだメッセージを転送する。メッセージ転送部17は、図1で示した処理対象判定部52及び情報転送部54として機能する。続いて、図4を参照して、本実施の形態にかかるサブスクリプション転送情報生成部11における動作について説明する。図4は、サブスクリプション転送情報生成部11における動作を示すフローチャートである。サブスクライバ31からノード10へサブスクリプションが入力されると、入力されたサブスクリプションは、まず、サブスクリプション転送情報生成部11で処理されるS101。サブスクリプション転送情報生成部11は、受信したサブスクリプションの構成要素であるイベント条件について、それを構成する属性名群から1つの属性名を選択するS102。次に、サブスクリプション転送情報生成部11は、選択した属性名とそれに対する属性値範囲の下限値とからキーを生成するS103。最後に、サブスクリプション転送情報生成部11は、生成したキーとサブスクリプションをペアとして、メッセージ転送部17へ入力する。これにより、そのキーを管理するノードへサブスクリプションが含まれるメッセージが転送される。サブスクリプション転送情報生成部11が、イベント条件を構成する属性名群から1つの属性名を選択する方法としては、例えば以下の方法がある。サブスクリプション転送情報生成部11は、例えば、イベント条件を構成する各属性名について、属性値として取り得る値の範囲に対する、イベント条件として指定されている属性値範囲の割合を求め、その割合が最も小さい属性名を選択してもよい。図5は、属性値が取り得る下限値乃至上限値の範囲と、イベント条件で指定されている属性値の範囲と、下限値乃至上限値に占める属性値の範囲の割合との関係の一例を示す。例えば、属性名′′x′′に対する属性値が取り得る値の数が100で、イベント条件で指定された属性値範囲のサイズが10であるとすると、それらの割合は、1/10となる。また、例えば、属性名′′y′′に対する属性値が取り得る値の数が300で、イベント条件で指定された属性値範囲のサイズが50であるとすると、その割合は1/6となる。よって、この例の場合、サブスクリプション転送情報生成部11は、より割合の小さい属性名′′x′′を選択する。そして、サブスクリプション転送情報生成部11は、属性名′′x′′と、それに対応する属性値範囲の下限値である属性値′′11′′からキーを生成する。サブスクリプション転送情報生成部11は、属性値範囲の下限値以外の値を用いてキーを生成しても良い。サブスクリプション転送情報生成部11は、属性名と属性値からのキーの生成には、前述しているキー生成関数を用いる。ここで、サブスクリプションのイベント条件に含まれる属性名及びその属性値の範囲と、ノードが管理する属性名及びその属性値の範囲に重複がある場合に、そのノードにサブスクリプションが登録される。したがって、上述のように、属性値として取り得る値の範囲に対してイベント条件として指定されている属性値範囲の割合が最も小さい属性名をサブスクリプション転送情報生成部11が選択した場合は、サブスクリプションが登録されるノード数を低減することができる。続いて、図6を参照して、本実施の形態にかかるイベント転送情報生成部12における動作について説明する。図6は、イベント転送情報生成部12の動作を示すフローチャートである。パブリッシャ32から入力されたイベントは、まず、イベント転送情報生成部12で処理されるS111。イベント転送情報生成部12は、受信したイベントを構成する各属性名について、以下の処理を行う。まず、イベント転送情報生成部12は、属性名nとそれに対する属性値vとをキー生成関数へ入力してキーを生成するS112。次に、イベント転送情報生成部12は、生成したキーとイベントをペアとして、メッセージ転送部17へ入力し、そのキーを管理するノードへメッセージを転送するS113。続いて、図7を参照して、本実施の形態にかかるメッセージ判定部13における動作について説明する。図7は、メッセージ判定部13の動作を示すフローチャートである。メッセージ判定部13は、メッセージ転送部17からキーとメッセージを受信するS121。メッセージ判定部13は、受信したメッセージの内容を判定するS122。メッセージ判定部13は、メッセージがサブスクリプションであれば、該キーと該メッセージをサブスクリプション配置制御部14へ入力して処理を終了するS123。一方、メッセージ判定部13は、メッセージがイベントであれば、該キーと該メッセージをイベント条件合致判定部16にメッセージを入力して処理を終了するS124。続いて、図8~10を参照して、本実施の形態にかかるサブスクリプション配置制御部14における動作について説明する。図8は、サブスクリプション配置制御部14の動作を示すフローチャートである。サブスクリプション配置制御部14は、メッセージ判定部13からキーとメッセージを受信するS131。その後、サブスクリプション配置制御部14は、サブスクリプション登録、削除処理S132と、サブスクリプション転送処理S133を行う。以降、前記2つの処理を説明する。図9は、サブスクリプション配置制御部14が行なうサブスクリプション登録、削除処理を示すフローチャートである。サブスクリプション登録、削除処理では、まず、サブスクリプション配置制御部14は、メッセージの要求種別を判定するS141。メッセージが登録要求である場合、サブスクリプション配置制御部14は、種別を登録として、メッセージに含まれるサブスクリプションIDとサブスクリプションからサブスクリプション操作要求を生成しS142、生成したサブスクリプション操作要求をサブスクリプション管理部15に入力するS144。一方、メッセージが削除要求である場合、サブスクリプション配置制御部14は、種別を削除として、メッセージに含まれるサブスクリプションIDからサブスクリプション操作要求を生成しS143、生成したサブスクリプション操作要求をサブスクリプション管理部15に入力するS144。なお、サブスクリプション操作要求は、その構成要素の1つとして種別を含む。種別には、登録、削除、参照がある。サブスクリプション操作要求の構成要素は、種別ごとに異なる。種別が登録の場合のサブスクリプション操作要求を図13に示す。種別が登録の場合、サブスクリプション操作要求は、種別に加えて、サブスクリプションIDとサブスクリプションとから構成される。種別が削除の場合のサブスクリプション操作要求を図14に示す。種別が削除の場合、サブスクリプション操作要求は、種別に加えて、サブスクリプションIDから構成される。種別が参照の場合のサブスクリプション操作要求を図15に示す。種別が参照の場合、サブスクリプション操作要求は、種別のみから構成される。図10は、サブスクリプション転送処理を示すフローチャートである。サブスクリプション転送処理では、まず、サブスクリプション配置制御部14は、メッセージに含まれる属性名と、それに対する属性値範囲の上限値とからキーターゲットキーを生成するS151。次に、サブスクリプション配置制御部14は、本処理を実行しているノードが管理するキー範囲にターゲットキーが含まれるかどうかを判定するS152。含まれていない場合、サブスクリプション配置制御部14は、サクセッサノードが構成するリング上で、あるノードから見て次のノードが管理するキーの下限値新規キーを生成しS153、その後、ネクストホップとしてサクセッサを指定して、メッセージ転送部17へ新規キーとメッセージを入力するS154。ノードが管理するキー範囲にターゲットキーが含まれる場合には、サブスクリプション配置制御部14は、メッセージ転送部17にキー及びメッセージの入力は行なわない。続いて、図11を参照して、本実施の形態にかかるサブスクリプション管理部15における動作について説明する。図11は、サブスクリプション管理部15の動作を示すフローチャートである。サブスクリプション管理部15は、サブスクリプションIDとサブスクリプションを管理するサブスクリプション管理テーブルを有する。サブスクリプション管理テーブルの例を図12に示す。サブスクリプション管理テーブルには、サブスクリプションIDと、サブスクリプションとが対応付けられたレコードが格納される。図12のサブスクリプション管理テーブルの一行目のレコードは、サブスクリプションIDがsub1であり、サブスクリプションのイベント条件が50≦x≦150150≦y≦250であり、通知先のアプリケーションIDがapp1である例を示している。サブスクリプション管理部15は、サブスクリプション配置制御部14、あるいは、イベント条件合致判定部16から、サブスクリプション操作要求を受信するS161。サブスクリプション管理部15は、サブスクリプション操作要求を受信すると、まず、受信したサブスクリプション操作要求の種別を参照するS162。種別が登録の場合、サブスクリプション管理部15は、サブスクリプションとサブスクリプションIDのペアをレコードとしてサブスクリプション管理テーブルに追加するS163。種別が削除の場合、サブスクリプション管理部15は、サブスクリプションIDが一致するレコードをサブスクリプション管理テーブルから削除するS164。種別が参照の場合、サブスクリプション管理部15は、サブスクリプション管理テーブルを呼び出し、テーブルを参照後元に返すS165。続いて、図16を参照して、本実施の形態にかかるイベント条件合致判定部16における動作について説明する。図16は、イベント条件合致判定部16の動作を示すフローチャートである。イベント条件合致判定部16は、メッセージ転送部17からイベントを受信するとS171、サブスクリプション管理部15へ種別を参照としたサブスクリプション操作要求を入力し、サブスクリプション管理テーブルを取得するS172。イベント条件合致判定部16は、取得したサブスクリプション管理テーブルの各レコードrについて、以下の処理を実行する。まず、イベント条件合致判定部16は、イベントが、レコードrのサブスクリプションの構成要素の1つであるイベント条件に合致するかどうかを判定するS173。合致した場合には、次に、イベント条件合致判定部16は、レコードrのサブスクリプションIDとイベントのペアを、レコードrのサブスクリプションの構成要素の1つであるアプリケーションIDで識別されるアプリケーション40に送信するS174。なお、イベント条件合致判定部16は、イベントがレコードrのサブスクリプションの構成要素の1つであるイベント条件に合致しない場合には、アプリケーションへのイベント通知は行わない。続いて、図17を参照して、本実施の形態にかかるメッセージ転送部17における動作について説明する。図17は、メッセージ転送部17の動作を示すフローチャートである。メッセージ転送部17は、サブスクリプション転送情報生成部11、イベント転送情報生成部12、サブスクリプション配置制御部14、あるいは、本処理が動作するノードとは別のノードからキーとメッセージを受信するS181。メッセージ転送部17は、キーとメッセージを受信すると、受信したキーが、ノードが管理するキー範囲に含まれるかどうかを判定するS182。ここでの判定は、メッセージ転送部17を含むノード10内のいずれかに、メモリやハードディスク等の任意の記憶装置を有するようにして、この記憶装置にノード10が管理するキー範囲を示すキー範囲情報を格納して、受信したキーと、キー範囲情報とを比較することによって判定可能としてもよい。この記憶装置は、図1で示した処理対象情報格納部53に相当する。メッセージ転送部17が、受信したキーがノードの管理するキー範囲に含まれるかどうかを判定する処理の一例について説明する。ノードでは、自身の管理するキー範囲の上限値-自身の管理するキー範囲の下限値が最小となる範囲に、受信したキーが含まれているか否かを判定する。たとえば、受信したキーがx:050であるとする。図2を参照すると、ノードaでは上限値がx:240であり下限値がx:160であるので、その間が最小となる範囲にx:050は含まれない。したがって、ノードaではメッセージ転送部17は、受信したキーを含まない、と判定する。一方、ノードcでは上限値がx:080であり下限値がx:000であるので、その間が最小となる範囲にx:050が含まれる。したがって、ノードcではメッセージ転送部17は、受信したキーを含む、と判定する。別の例として、受信したキーがz:050であるとする。図2を参照すると、ノードaでは上限値がx:240であり下限値がx:160であるので、その間が最小となる範囲にz:050は含まれない。したがって、ノードaではメッセージ転送部17は、受信したキーを含まない、と判定する。一方、ノードeでは上限値がx:000であり下限値がy:200である。あらかじめ定められた属性名の循環的順序関係において、x<y<z...<xであるので、その間が最小となる範囲にz:050が含まれる。したがって、ノードcではメッセージ転送部17は、受信したキーを含む、と判定する。この際、メッセージ転送部17は、下限値の生成に用いられた属性名yと上限値の生成に用いられた属性名xの順序関係が、一巡しない範囲における順序関係と一致しない場合、受信したキーが下限値と比較して小さい又は上限値と比較して大きい場合に受信したキーがキー範囲に含まれる判定することにより、上記の判定を実現してもよい。受信したキーが、ノードが管理するキー範囲に含まれる場合、メッセージ転送部17は、メッセージ判定部13へキーとメッセージを入力するS183。受信したキーが、ノードが管理するキー範囲に含まれない場合、メッセージ転送部17は、ネクストホップノードとしてサクセッサが指定されているか否かを判定するS184。メッセージ転送部17は、ネクストホップノードとしてサクセッサが指定されている場合には、ネクストホップノードにキーとメッセージを転送するS186。一方、ネクストホップノードにサクセッサが指定されていない場合、メッセージ転送部17は、ルーティングテーブルを参照し、転送先のノードを決定するS185。そして、メッセージ転送部17は、ネクストホップノードにキーとメッセージを転送するS186。メッセージ転送部17は、ルーティングテーブルを有する。ルーティングテーブルは、キーと、ノードのネットワークアドレスとのペアを管理している。ルーティングテーブルは、例えば、メッセージ転送部17が有する任意の記憶装置に格納される。ルーティングテーブルの生成、メンテナンス方法、ルーティングテーブルを参照してメッセージの転送先のノードを決定する方法は、ルーティングプロトコルに依存する。ルーティングプロトコルの例として、非特許文献2の3.3節に記述される方法が利用されてもよい。ルーティングプロトコルは、任意に決定されてもよく、メッセージ転送部17は、例えば、送信するキー>ノードが管理するキー範囲の下限値となるノードのうち、送信するキー-ノードが管理するキー範囲の下限値が最小となるノードに、キー及びメッセージが到達するように送信してもよい。続いて、図18を参照して、本実施の形態にかかるイベント配信システム1における動作について説明する。図18は、イベント配信システム1の動作例を示す図である。図18に示すように、例えば、ノードcが[′′x:000′′,′′x:080′′、ノードbが[′′x:080′′,′′x:160′′、ノードaが[′′x:160′′,′′x:240′′、ノードdが[′′x:240′′,′′y:000′′、ノードgが[′′y:000′′,′′y:100′′、ノードfが[′′y:100′′,′′y:200′′、ノードeが[′′y:200′′,′′x:000′′までを管理している。イベント配信システム1の構成要素であるノードgが、サブスクライバ31からサブスクリプションs50≦x≦150150≦y≦250,app1を受信したと仮定するS80。ノードgは、サブスクリプション転送情報生成部11でサブスクリプションsを構成する属性名xと属性名yから、例えば上述した方法によって属性名xを選択するS81。次に、サブスクリプション転送情報生成部11は、属性名xと、その属性値範囲の下限値である50とからキー′′x:050′′を生成する。サブスクリプション転送情報生成部11は、サブスクライバ31から入力された、サブスクリプションID、サブスクリプション、要求種別ここでは要求種別が登録要求である場合を例とすると、選択した属性名′′x′′とを合わせてメッセージとする。サブスクリプション転送情報生成部11は、キーとメッセージをメッセージ転送部17へ入力する。そして、メッセージ転送部17は、入力されたキー及びメッセージをルーティングプロトコルにしたがって、そのキーを管理するノードに対して送信する。本実施の形態では、ノードgのメッセージ転送部17から送信されたキー及びメッセージは、0以上のノードのメッセージ転送部17を経由して、最終的に、キー′′x:050′′を管理するノードcのメッセージ転送部に到達するS82。ノードgから送信されたキー及びメッセージは、ノードe、fを経由してノードcに到達するようにしてもよいし、ノードgから直接ノードcに到達するようにしてもよい。ここでは、送信するキー>ノードが管理するキー範囲の下限値となるノードのうち、送信するキー-ノードが管理するキー範囲の下限値が最小となるノードcに、キー及びメッセージが到達する。ノードcのメッセージ転送部17は、受信したキー′′x:050′′が、ノードcが管理するキー範囲[′′x:000′′,′′x:080′′に含まれるため、メッセージ判定部13にキーとメッセージを入力する。メッセージ判定部13は、メッセージがサブスクリプションから構成されているため、キーとメッセージをサブスクリプション配置制御部14へ入力する。ここでは要求種別が登録要求である場合を例としているので、サブスクリプション配置制御部14は、サブスクリプションIDとサブスクリプションのペアをサブスクリプション管理部15に登録する図9のフロー参照。また、メッセージに含まれる属性名′′x′′と、それに対する属性値範囲の上限値150から生成されるキー′′x:150′′が、ノードcが管理するキー範囲[′′x:000′′,′′x:080′′に含まれない。そのため、サブスクリプション配置制御部14は、サクセッサが管理するキーの下限値新規キー′′x:080′′と、入力されたメッセージを、メッセージ転送部17に入力する図10のフロー参照。ここで、ノードcのサクセッサとして、ノードcが管理するキー範囲[′′x:000′′,′′x:080′′に続くキー範囲[′′x:080′′,′′x:160′′を管理するノードbが設定されている。つまり、メッセージの属性値範囲の上限値150から生成されるキー′′x:150′′が、ノードcに含まれない場合、メッセージの属性値範囲がノードcの管理するキー範囲に続くキー範囲を管理するノードbに含まれることになる。したがって、ノードcは、メッセージのサブスクリプションがノードbでも登録されるようにするため、ノードbが管理するキー範囲の下限値から生成したキー′′x:080′′とメッセージを、ノードbに送信する。よって、メッセージ転送部17は、サブスクリプション配置制御部14からネクストホップとしてサクセッサであるノードbが指定される。そして、メッセージ転送部17は、入力されたキー及びメッセージをノードbに送信する。ノードcのメッセージ転送部17から送信されたキーとメッセージは、ノードbに到達するS83。ノードbのメッセージ転送部17は、受信したキー′′x:080′′が、管理するキー範囲[′′x:080′′,′′x:160′′に含まれるため、メッセージ判定部13にキーとメッセージを入力する。そして、ノードcにおける処理と同様に、メッセージを構成するサブスクリプションIDとサブスクリプションは、該ノードのサブスクリプション管理部15に登録される。また、メッセージに含まれる属性名′′x′′と、それに対する属性値範囲の上限値150から生成されるキー′′x:150′′は、ノードbが管理するキー範囲[′′x:080′′,′′x:160′′に含まれる。そのため、サブスクリプション配置制御部14は、メッセージ転送部17にキー及びメッセ-ジの入力は行わない。よって、メッセージの転送は行われない。これらの処理の結果、サブスクリプションsはノードcとノードbに保持されることとなる。次に、イベント配信システム1の構成要素であるノードaが、パブリッシャ32からイベントex=100,y=200を受信したとするS84。イベントは属性名xと属性名yから構成されるので、ノードaのイベント転送情報生成部12は、属性名xに対するキー′′x:100′′と、属性名yに対するキー′′y:200′′を生成する。イベント転送情報生成部12は、イベントをメッセージとして、それぞれのキーごとにメッセージ転送部17に入力する。そして、メッセージ転送部17は、入力されたキー及びメッセージをルーティングプロトコルにしたがって、そのキーを管理するノードに対して送信する。メッセージは、それぞれのキーを管理するノードへ転送される。キー′′x:100′′と、そのキーと共に送信されたメッセージは、ノードbに到達するS85。キー′′y:200′′と、そのキーと共に送信されたメッセージは、ノードeに到達するS86。キー′′x:100′′とそのイベントがノードbに到達すると、ノードbのメッセージ転送部17は、受信したキー′′x:100′′が、管理するキー範囲[′′x:080′′,′′x:160′′に含まれるため、メッセージ判定部13にキーとメッセージを入力する。メッセージ判定部13は、メッセージがイベントから構成されているため、キーとメッセージをイベント条件合致判定部16に入力する。イベント条件合致判定部16は、サブスクリプション管理部15からサブスクリプション管理テーブルを取得する。そして、イベント条件合致判定部16は、サブスクリプション管理テーブルに登録されているサブスクリプションsのイベント条件が50≦x≦150かつ150≦y≦250であり、イベントの属性値がx=100,y=200であるため、イベント条件に合致すると判定する。そのため、イベント条件合致判定部16は、アプリケーションapp1にイベントを通知する図16のフロー参照。また、キー′′y:200′′とそのイベントがノードeに到達すると、ノードeのメッセージ転送部17は、受信したキー′′y:200′′が、ノードeが管理するキー範囲[′′y:200′′,′′x:000′′に含まれるため、メッセージ判定部13にキーとメッセージを入力する。メッセージ判定部13は、メッセージがイベントから構成されているため、キーとメッセージをイベント条件合致判定部16に入力する。イベント条件合致判定部16は、サブスクリプション管理部15からサブスクリプション管理テーブルを取得する。そして、イベント条件合致判定部16は、イベントの属性値がx=100,y=200であるが、サブスクリプションsがサブスクリプション管理テーブルに登録されていないため、イベント条件に合致しないと判定する。そのため、イベント条件合致判定部16は、アプリケーションへのイベントの通知は行わない。図2、図18で示したイベント配信システム1は、属性名xあるいは属性名yから生成されるキーを分割して、多くのノードに割り当てている。これは、イベント配信システム1に登録されているサブスクリプションで指定されている属性が、属性名x、あるいは、属性名y両方も含むのみであることをイベント配信システム1の管理者等が想定しているためである。そして、イベント配信システム1は、属性名xあるいは属性名yの条件を指定しているサブスクリプションが登録されている場合であって属性名xあるいは属性名yを含むイベントが発生した場合に、そのイベントとサブスクリプションとのマッチング処理をする必要がある。イベント配信システム1は、属性名xと属性名yから生成されるキーを分割して、複数のノードに割り当てることで、マッチング処理を分散させ、イベント配信システム1のイベント処理負荷を平準化することができる。続いて、図20を参照して、それまで指定されたことのなかった属性名zが指定されたサブスクリプションがサブスクライブされたときの、本実施の形態にかかるイベント配信システム1における動作について説明する。イベント配信システム1の構成要素であるノードgが、サブスクライバ31からサブスクリプションs50≦z≦150,app1を受信したとするS90。ノードgのサブスクリプション転送情報生成部11は、属性名zと、その属性値範囲の下限値である50とからキー′′z:050′′を生成する。サブスクリプション転送情報生成部11は、該キーとメッセージをノードgのメッセージ転送部17へ入力する。ここで、該メッセージは、サブスクライバ31から入力された、サブスクリプションID、サブスクリプション、要求種別、属性名′′z′′を含むデータであるS91。次に、ノードgのメッセージ転送部17は、入力されたキー及びメッセージをルーティングプロトコルにしたがって、そのキーを管理するノードに対して送信するS92。キーz:050は、送信するキー>ノードが管理するキー範囲の下限値となるノードのうち送信するキー-ノードが管理するキー範囲の下限値が最小となるノードに到達することになる。ここで図2を参照して各ノードが管理するキー範囲の下限値を確認すると、ノードaが管理するキー範囲の下限値はx:160である。ノードbが管理するキー範囲の下限値はx:080である。ノードcが管理するキー範囲の下限値はx:000である。ノードdが管理するキー範囲の下限値はx:240である。ノードeが管理するキー範囲の下限値はy:200である。ノードfが管理するキー範囲の下限値はy:100である。ノードgが管理するキー範囲の下限値はy:000である。他方、属性名の順序関係は一巡しない範囲においてx<y<zである。よって、送信するキー>ノードが管理するキー範囲の下限値となるノードのうち送信するキー-ノードが管理するキー範囲の下限値が最小となるノードはeとなる。したがって、ノードgのメッセージ転送部17から送信されたキー及びメッセージは、0以上のノードのメッセージ転送部17を経由して、最終的に、キー′′z:050′′を管理するノードeのメッセージ転送部17に到達し、ノードeで保持される。次に、イベント配信システム1の構成要素であるノードaが、パブリッシャ32からイベントez=100を受信したとするS93。ノードaのイベント転送情報生成部12は、属性名zに対するキー′′z:100′′を生成する。後は、サブスクリプションの転送の場合と同様に、転送されたイベントは、ノードeに到達するS94。次に、イベント配信システム1が、属性名zが指定されるイベントやサブスクリプションが多くなってくる場合に、属性名zから生成されるキーに対してより多くのリソースを割り当てるように各ノードの管理するキー範囲を変更する場合の動作について図1、図20、図21を用いて説明する。まず、図20に示すように、ノードeはキー範囲[′′y:200′′,′′x:000′′を管理し、ノードfはキー範囲[′′y:100′′,′′y:200′′を管理しているものと仮定する。ノードeがサブスクリプションあるいはイベント情報を受信した場合、処理対象判定部52は、該サブスクリプションあるいはイベント情報に含まれる属性名を参照し、一定時間ごとに受信したサブスクリプションあるいはイベント情報の少なくとも一方に含まれる属性名の数をカウントする。そして、該属性名の数が、例えば、予め処理対象情報格納部53に格納されている閾値以上になった場合に、あるいは、増加率が一定の値を超えた場合に、ノードeは、自己が管理するキー範囲の下限値であるy:200のキーをキー情報生成部51で生成するとともに、変更分キー範囲の情報を生成する。変更分キー範囲をどのように決定するかは、例えば、システムパラメータで与えられる。当該システムパラメータが、例えば、一定時間の受信イベント情報数が閾値以上となった属性名に対する属性値の下限値未満を変更分キー範囲とすることを指定する場合、例えば、図20から図21のようにノードeは、変更分キー範囲を[′′y:200′′,′′z:000′′とし、自己の管理するキー範囲を[′′y:200′′,′′x:000′′から[′′z:000′′,′′x:000′′のように変更すると決定する。なお、該変更分キー範囲は予め管理者が定めても良いし、処理対象情報格納部53がテーブルを参照して決定しても良い。この場合、例えば、処理対象情報格納部53は、ノードが受信したサブスクリプションが指定する属性名の増加率と変更分キー範囲とを対応付けた図示しない変更範囲管理テーブルを有していても良い。あるいは、処理対象情報格納部53は、イベントに含まれる属性名の増加率等と変更分キー範囲とを対応付けた図示しない変更範囲管理テーブルを有していても良い。あるいは、処理対象情報格納部53は、サブスクリプションやイベント情報に含まれる属性名に対応する属性値の範囲と変更分キー範囲とを対応付けた図示しない変更範囲管理テーブルを有していても良い。この場合、変更範囲管理テーブルは、例えば、サブスクリプションが指定する属性名の増加率やイベント情報に含まれる属性名の増加率、あるいは、属性名に対応する属性値の範囲が大きいほど大きくなる変更分キー範囲を管理しても良い。キー情報生成部51は、キー範囲[′′y:200′′,′′z:000′′を生成する。情報転送部54は、該生成したキーと該キー範囲とをサクセッサへ送信する。サクセッサであるノードが該キーと該キー範囲とを受信すると、処理対象判定部52は、受信したキーが自己の管理するキー範囲の上限値であるか否かを、処理対象情報格納部53に格納されている自己の管理するキー範囲を参照して判定する。処理対象判定部52は、受信したキーが自己の管理するキー範囲の上限値ではないと判定した場合には、そのキーを次のサクセッサへ送信する。一方、受信したキーが自己の管理するキー範囲の上限値である場合には、処理対象情報格納部53は、自己の管理するキー範囲に、受信したキー範囲を加えた新たなキー範囲を自己の管理する新たなキー範囲として格納する。例えば、図20のノードfがキーy:200を受信すると、ノードfは、該キーと自己の管理するキー範囲[′′y:100′′,′′y:200′′の上限値とが一致することから、自己の管理するキー範囲[′′y:100′′,′′y:200′′に、受信した変更分キー範囲[′′y:200′′,′′z:000′′を加えた新たなキー範囲[′′y:100′′,′′z:000′′を自己が新たに管理するキー範囲として処理対象情報格納部53が格納する。そして、該ノードは、キー範囲を変更した旨を、受信したキー情報′′y:200および変更分キー範囲[′′y:200′′,′′z:000′′とともに次のサクセッサに送信する。次のサクセッサであるノードは、該キー範囲を変更した旨の情報と、該キー情報′′y:200と、該変更分キー範囲[′′y:200′′,′′z:000′′とを受信すると、該キー情報′′y:200が自己の管理するキー範囲の下限値であるか否かを判定する。そして、自己の管理するキー範囲の下限値でない場合には、受信したキー範囲を変更した旨の情報、キー情報、変更分キー範囲をさらに次のサクセッサに送信する。一方、受信したキーが自己の管理するキー範囲の下限値である場合には、自己の管理するキー範囲から、受信した変更分キー範囲を減じた範囲を、自己が管理する新たなキー範囲として処理対象情報格納部53が格納する。本実施の形態では、ノードeの管理するキー範囲[′′y:200′′,′′x:000′′の下限値とキー′′y:200とが一致するため、処理対象情報格納部53は、キー範囲を、[′′y:200′′,′′x:000′′から[′′y:200′′,′′z:000′′の範囲を減じた[′′z:000′′,′′x:000′′に変更する。これにより、イベント配信システム1は、例えば、図20から図21のようにノードが管理するキー範囲を変更することができる。すなわち、ノードeは管理するキー範囲を、[′′y:200′′,′′x:000′′から[′′z:000′′,′′x:000′′のように変更し、ノードfは管理するキー範囲を[′′y:100′′,′′y:200′′から[′′y:100′′,′′z:000′′のように変更することができる。なお、ノードeは、キー範囲を変更する際に、下限値の代わりに上限値をサクセッサに送信することにしても良い。その場合、上記文章中で下限値と上限値とを適宜読み替える。また、この場合、ノードfの代わりにノードcの管理するキー範囲が変更される。なぜなら、ノードcはノードeのキー範囲の上限値を、キー範囲の下限値として管理するノードだからである。また、より一般的には、ノードeは、自己の管理するキー範囲の下限値と上限値の両方をサクセッサに送信しても良い。この場合、ノードeは自己の区間を複数区間に分割し、上述の方法によってノードeの下限値を含む区間をノードfに、ノードeの上限値を含む区間をノードcに割り当てることができる。また、上記例では、ノードeはノードfがキー範囲を変更したことを確認してから、自己の管理するキー範囲を変更しているが、ノードeは、変更分キー範囲をサクセッサに送信する段階で自己の管理するキー範囲を変更しても良い。また、ノードが送信する情報は、サクセッサ以外の他のノードに送信しても良い。例えば、上述のノードeは、変更分キー範囲のみをキー情報生成部51で生成して、プレディセッサであるノードfに送信しても良い。この場合、プレディセッサであるノードfは、自己の管理するキー範囲と受け取った変更分キー範囲とをマージした区間を新たに自己が管理するキー範囲としてもよい。図22、図23を用いて、このキー範囲の変更の全体像を説明する。図22の内側円は、各ノードの管理する属性名がx、y、zの3つのみであり、それらが循環的順序関係をもっている様子を表している。また、各属性名に対する属性値の範囲はいずれも0から320の間であるとする。図22の外側円は、各ノードが管理するキー範囲を示している。例えば、ノードcが[′′x:000′′,′′x:080′′、ノードbが[′′x:080′′,′′x:160′′、ノードaが[′′x:160′′,′′x:240′′、ノードdが[′′x:240′′,′′y:000′′、ノードgが[′′y:000′′,′′x:100′′、ノードfが[′′y:100′′,′′y:200′′、ノードeが[′′y:200′′,′′x:000′′までを管理している。図23は、イベント配信システム1が、ノードが管理するキー範囲を変更した様子を表している。例えば、図23は、ノードfの管理する範囲が[′′y:100′′,′′z:000′′、ノードeの管理する範囲が[′′z:000′′,′′x:000′′である様子を表している。このとき、もともとノードeが管理していたキー範囲は、図22に示すように、属性名yからなるキー範囲200≦y≦320の120=320-200の範囲分と、属性名zからなるキー範囲0≦z≦320の320=320-0の範囲分であるから、キー範囲全体に対する属性名zからなるキー範囲の割合は、320/120320=8/11である。一方、キー範囲変更後は、図23に示すように、ノードeの管理するキー範囲は属性名zからなるキー範囲0≦z≦320の320=320-0の範囲分だけであるから、キー範囲全体に対する属性名zからなるキー範囲の割合は320/320=1となる。このように、属性名zからなるキー範囲の割合が、もともとノードeが管理していたキー範囲に対する属性名zからなるキー範囲の割合よりも大きくなる。このことは、属性名zが指定されるイベントやサブスクリプションが多くなってくる場合に、イベント配信システム1が、ノードが管理するキー範囲のうち属性名zから生成されるキー範囲の割合を増加させたことに相当する。また、イベント配信システム1は、同様にして、ノードeのみならず、より多くのノードが属性zからなるキー範囲を管理するようにキー範囲の割当を変更しても良い。図24は、ノードeが、もともと管理していたキー範囲[′′y:200′′,′′x:000′′を新たにキー範囲[′′z:000′′,′′z:200′′に変更した様子を示している。また、図24は、これに伴い、ノードfがキー範囲を[′′y:100′′,′′y:200′′から[′′y:100′′,′′z:000′′に変更させ、ノードcがキー範囲を[′′x:000′′,′′x:080′′から[′′z:200′′,′′x:080′′に変更させた様子を示している。ノードeは、上述のとおり、自己の管理していたキー範囲の下限値を含む所定範囲[′′y:200′′,′′z:000′′を他のノードに送信し、それを受信したノードfが、当該範囲を自己の管理するキー範囲に加えることで、キー範囲を[′′y:100′′,′′y:200′′から[′′y:100′′,′′z:000′′に変更させることができる。同様にして、ノードeは、自己の管理していたキー範囲の上限値を含む所定範囲[′′z:200′′,′′x:000′′を他のノードに送信し、それを受信したノードcが、当該範囲を自己の管理するキー範囲に加えることで、キー範囲を[′′x:000′′,′′x:080′′から[′′z:200′′,′′x:080′′に変更させることができる。このように、イベント配信システム1は、属性名zが指定されるイベントやサブスクリプションが多くなってくる場合に、属性名zから生成されるキーに対してより多くのリソースを割り当てるようなキーの割り当てに変更することで、負荷のバランスをとることができる。以上に説明したように、本実施の形態は、サブスクリプションやイベントに、それまで指定されたことのなかった属性の条件が指定された場合にも、それまで指定されてきた属性が指定された場合と同じオーダの処理時間で、サブスクリプション及びイベントを転送することができる。つまり、イベント配信システム1は、新たな属性名追加時に、各ノードにおいて行われる属性名を追加するための処理の時間を短縮することができる。<実施形態2>次に、本発明の第2の実施の形態について図25を用いて説明する。本実施の形態における情報処理装置5は、処理対象判定部52、処理対象情報格納部53を備える。これらの構成、動作については上述したとおりであるから説明を省略する。この情報処理装置5によれば、属性名と属性値とを用いて、少なくとも2以上の属性名について予め定められた順序関係に基づいて生成される大小比較可能な形式であるキーの範囲が互いに隣接するように複数に分割された各区間のうちの少なくともひとつ以上の区間である自区間を記憶する自区間記憶手段と、属性名と属性値とから生成されるキーが前記自区間に含まれるか否かを判定する判定手段と、を備える情報処理装置が提供される。本実施の形態によれば、各ノードにおいて行われる属性名を追加するための処理の時間を短縮する情報処理装置、システム、制御方法およびプログラムを提供することができる。なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。以上に説明した本発明にかかるノードは、上述の実施の形態の機能を実現するプログラムを記憶した記憶媒体を装置に供給し、装置の有するCPUCentralProcessingUnit又はMPUMicroProcessingUnit等がこのプログラムを実行することによって、構成することが可能である。また、このプログラムは様々な種類の記憶媒体に格納することが可能であり、通信媒体を介して伝達されることが可能である。ここで、記憶媒体は、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD-ROMCompactDiscReadOnlyMemory、DVDDigitalVersatileDisc、BDBlu-ray登録商標Disc、ROMReadOnlyMemoryカートリッジ、バッテリバックアップ付きRAMRandomAccessMemory、メモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジを含む。また、通信媒体は、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体を含む。また、上述のプログラムは、インターネットを介して伝達することも可能である。また、CPU又はMPUが上述の実施の形態の機能を実現するプログラムを実行することにより、上述の実施の形態の機能が実現されるだけではなく、このプログラムの指示に基づき、装置上で稼動しているOSOperatingSystemもしくはアプリケーションソフトと共同して上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。さらに、このプログラムの処理の全てもしくは一部が装置に挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットにより行われて上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。実施の形態の他の表現上述の実施の形態、実施例の一部又は全部は下記のようにも表現できるが、下記のように限定されない。付記1属性名と属性値とを用いて、少なくとも2以上の属性名について予め定められた順序関係に基づいて生成される大小比較可能な形式であるキーの範囲が互いに隣接するように複数に分割された各区間のうちの少なくともひとつ以上の区間である自区間を記憶する自区間記憶手段と、属性名と属性値とから生成されるキーが前記自区間に含まれるか否かを判定する判定手段と、を備える情報処理装置。属性名と属性値とを含む情報であるイベント情報を受信する受信手段と、前記属性名のうち、受信した前記イベント情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間の分割された区間であって下限または上限を含む区間である端区間を、前記端区間に隣接する区間を記憶する他の情報処理装置へ送信する区間情報転送手段と、他の情報処理装置から自区間に隣接する区間を受信する区間情報受信手段と、前記送信した端区間と前記区間情報受信手段で受信した区間の一方もしくは両方を用いて自区間記憶手段を更新する処理対象情報格納手段と、をさらに備える付記1に記載の情報処理装置。付記3前記イベント情報を受信した場合に、前記イベント情報に含まれる属性名と属性値とに基づいて、大小比較可能な形式であるキーを生成するキー情報生成手段と、生成された前記キーが前記自区間に含まれる場合には、前記イベント情報を前記第一の処理対象とし、含まれない場合には、前記イベント情報と前記イベント情報から生成された前記キーとを、他の情報処理装置に送信する情報転送手段と、をさらに備え、前記情報転送手段は、他の情報処理装置から前記端区間を受信した場合に、前記上限または下限が前記自区間の上限または下限と一致しない場合には前記端区間を他の情報処理装置に送信し、前記処理対象情報格納手段は、前記受信した区間の上限または下限が前記自区間の上限または下限と一致する場合には前記自区間に前記端区間を加えた区間を前記自区間記憶手段に記憶させる付記2に記載の情報処理装置。付記4前記キー情報生成手段は、前記属性名と前記属性値の取り得る値の範囲とを含む情報であるサブスクリプション情報を受信した場合に、前記属性名及び前記属性値のいずれか1つの属性名とそれに対応する属性値とから登録キーを生成し、前記処理対象情報格納手段は、前記登録キーが前記自区間に含まれる場合に、前記サブスクリプション情報に含まれる前記属性名及び前記属性値の取り得る値の範囲から生成されるキー範囲をイベント条件として保持し、前記処理対象判定手段は、前記キーが前記自区間に含まれる場合に前記イベント条件を検索する前記第一の処理を実行し、前記イベント条件に前記キーが含まれる場合に前記イベント情報を第二の処理対象とする付記3のいずれかに記載の情報処理装置。付記5前記情報転送手段は、前記属性名のうち、受信した前記イベント情報または前記サブスクリプション情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間を3つの区間に分割し、分割された区間のうち下限を含む第1の区間と、上限を含む第2の区間を他の情報処理装置に送信し、前記処理対象情報格納手段は、前記情報転送手段が送信していない区間を自装置に割り当てる付記3乃至4のいずれかに記載の情報処理装置。付記6前記情報転送手段は、前記属性名のうち、受信した前記イベント情報または前記サブスクリプション情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間を2つの区間に分割し、分割された区間のうち下限または上限を含む一方の区間を他の情報処理装置に送信し、前記処理対象情報格納手段は、前記情報転送手段が送信していない他方の区間を自装置に割り当てる請求項3乃至4のいずれかに記載の情報処理装置。付記7前記属性名が任意の長さの文字列で表される請求項1乃至6のいずれかに記載の情報処理装置。付記8前記自区間記憶手段は、自区間の上限及び下限を記憶し、前記判定手段は、前記自区間の上限の生成に用いられた属性名と下限の生成に用いられた属性名との順序関係が前記予め定められた順序関係と一致しない場合、前記生成されるキーが前記下限と比較して小さい又は前記上限と比較して大きい場合に前記生成されるキーが自区間に含まれると判定する、請求項1乃至7のいずれかに記載の情報処理装置。付記9属性名と属性値とに基づいて生成される大小比較可能な形式であるキーの値の範囲が複数区間に分割された各区間のうち、自装置に割り当てられた区間自区間以外の各区間を割り当てられた他の情報処理装置と接続され、前記属性名と前記属性値とを含む情報であるイベント情報を受信した場合、該イベント情報に含まれる前記属性名と前記属性値とから生成される前記キーが前記自区間に含まれる場合に前記イベント情報を第一の処理対象とする処理対象判定手段と、前記属性名のうち、受信した前記イベント情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間を2以上の区間に分割し、分割された区間のうち下限または上限を含む区間端区間を、前記端区間に隣接する区間を割り当てられ前記端区間を受信すると前記区間に前記端区間を加えた区間を自装置に割り当てる他の情報処理装置に送信する情報転送手段と、前記情報転送手段が送信した端区間以外の少なくとも1つの区間を自装置に割り当てる処理対象情報格納手段と、を備える情報処理装置。付記10属性名と属性値とを用いて、少なくとも2以上の属性名について予め定められた順序関係に基づいて生成される大小比較可能な形式であるキーの範囲が互いに隣接するように複数に分割された各区間のうちの少なくともひとつ以上の区間である自区間を記憶する自区間記億手段を備える情報処理装置に、属性名と属性値とから生成されるキーが前記自区間に含まれるか否かを判定する判定ステップを実行させる情報処理プログラム。付記11属性名と属性値とを含む情報であるイベント情報を受信する受信ステップと、前記属性名のうち、受信した前記イベント情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間の分割された区間であって下限または上限を含む区間である端区間を、前記端区間に隣接する区間を記憶する他の情報処理装置へ送信する区間情報転送ステップと、他の情報処理装置から自区間に隣接する区間を受信する区間情報受信ステップと、前記送信した端区間と前記区間情報受信ステップにおいて受信した区間の一方もしくは両方を用いて前記自区間記憶手段を更新する処理対象情報格納ステップと、をさらに情報処理装置に実行させる付記10に記載の情報処理プログラム。付記12前記イベント情報を受信した場合に、前記イベント情報に含まれる属性名と属性値とに基づいて、大小比較可能な形式であるキーを生成するキー情報生成ステップと、生成された前記キーが前記自区間に含まれる場合には、前記イベント情報を前記第一の処理対象とし、含まれない場合には、前記イベント情報と前記イベント情報から生成された前記キーとを、他の情報処理装置に送信する情報転送ステップと、をさらに備え、前記情報転送ステップにおいて、他の情報処理装置から前記端区間を受信した場合に、前記上限または下限が前記自区間の上限または下限と一致しない場合には前記端区間を他の情報処理装置に送信し、前記処理対象情報格納ステップにおいて、前記受信した区間の上限または下限が前記自区間の上限または下限と一致する場合には前記自区間に前記端区間を加えた区間を前記自区間記憶手段に記憶する記憶ステップを情報処理装置に実行させる付記11に記載の情報処理プログラム。付記13前記キー情報生成ステップにおいて、前記属性名と前記属性値の取り得る値の範囲とを含む情報であるサブスクリプション情報を受信した場合に、前記属性名及び前記属性値のいずれか1つの属性名とそれに対応する属性値とから登録キーを生成し、前記処理対象情報格納ステップにおいて、前記登録キーが前記自区間に含まれる場合に、前記サブスクリプション情報に含まれる前記属性名及び前記属性値の取り得る値の範囲から生成されるキー範囲をイベント条件として保持し、前記処理対象判定ステップにおいて、前記キーが前記自区間に含まれる場合に前記イベント条件を検索する前記第一の処理を実行し、前記イベント条件に前記キーが含まれる場合に前記イベント情報を第二の処理対象とする付記12に記載の情報処理プログラム。付記14前記情報転送ステップにおいて、前記属性名のうち、受信した前記イベント情報または前記サブスクリプション情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間を3つの区間に分割し、分割された区間のうち下限を含む第1の区間と、上限を含む第2の区間を他の情報処理装置に送信し、前記処理対象情報格納ステップにおいて、前記情報転送ステップにおいて送信していない区間を自装置に割り当てる付記12乃至13のいずれかに記載の情報処理プログラム。付記15前記情報転送ステップにおいて、前記属性名のうち、受信した前記イベント情報または前記サブスクリプション情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間を2つの区間に分割し、分割された区間のうち下限または上限を含む一方の区間を他の情報処理装置に送信し、前記処理対象情報格納ステップにおいて、前記情報転送ステップにおいて送信していない他方の区間を自装置に割り当てる付記12乃至13のいずれかに記載の情報処理プログラム。付記16前記自区間記憶手段は、自区間の上限及び下限を記憶し、前記判定ステップにおいて、前記自区間の上限の生成に用いられた属性名と下限の生成に用いられた属性名との順序関係が前記予め定められた順序関係と一致しない場合、前記生成されるキーが前記下限と比較して小さい又は前記上限と比較して大きい場合に前記生成されるキーが自区間に含まれると判定する、付記10乃至15のいずれかに記載の情報処理プログラム。付記17属性名と属性値とに基づいて生成される大小比較可能な形式であるキーの値の範囲が複数区間に分割された各区間のうち、自装置に割り当てられた区間自区間以外の各区間を割り当てられた他の情報処理装置と接続されたコンピュータに、前記属性名と前記属性値とを含む情報であるイベント情報を受信した場合、該イベント情報に含まれる前記属性名と前記属性値とから生成される前記キーが前記自区間に含まれる場合に前記イベント情報を第一の処理対象とする処理対象判定ステップと、前記属性名のうち、受信した前記イベント情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間を2以上の区間に分割し、分割された区間のうち下限または上限を含む区間端区間を、前記端区間に隣接する区間を割り当てられ前記端区間を受信すると前記区間に前記端区間を加えた区間を自装置に割り当てる他の情報処理装置に送信する情報転送ステップと、前記情報転送ステップにおいて送信した端区間以外の少なくとも1つの区間を自装置に割り当てる処理対象情報格納ステップと、を実行させる情報処理プログラム。付記18属性名と属性値とを用いて、少なくとも2以上の属性名について予め定められた順序関係に基づいて生成される大小比較可能な形式であるキーの範囲が互いに隣接するように複数に分割された各区間のうちの少なくともひとつ以上の区間である自区間を記憶する自区間記億手段を備える情報処理装置が、属性名と属性値とから生成されるキーが前記自区間に含まれるか否かを判定する情報処理方法。付記19属性名と属性値とを含む情報であるイベント情報を受信し、前記属性名のうち、受信した前記イベント情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間の分割された区間であって下限または上限を含む区間である端区間を、前記端区間に隣接する区間を記憶する他の情報処理装置へ送信し、他の情報処理装置から自区間に隣接する区間を受信し、受信した区間の一方もしくは両方を用いて前記自区間記憶手段を更新する付記18に記載の情報処理方法。付記20前記イベント情報を受信した場合に、前記イベント情報に含まれる属性名と属性値とに基づいて、大小比較可能な形式であるキーを生成し、生成された前記キーが前記自区間に含まれる場合には、前記イベント情報を前記第一の処理対象とし、含まれない場合には、前記イベント情報と前記イベント情報から生成された前記キーとを、他の情報処理装置に送信し、他の情報処理装置から前記端区間を受信した場合に、前記上限または下限が前記自区間の上限または下限と一致しない場合には前記端区間を他の情報処理装置に送信し、前記受信した区間の上限または下限が前記自区間の上限または下限と一致する場合には前記自区間に前記端区間を加えた区間を前記自区間記憶手段に記憶する付記19に記載の情報処理方法。付記21前記属性名と前記属性値の取り得る値の範囲とを含む情報であるサブスクリプション情報を受信した場合に、前記属性名及び前記属性値のいずれか1つの属性名とそれに対応する属性値とから登録キーを生成し、前記登録キーが前記自区間に含まれる場合に、前記サブスクリプション情報に含まれる前記属性名及び前記属性値の取り得る値の範囲から生成されるキー範囲をイベント条件として保持し、前記キーが前記自区間に含まれる場合に前記イベント条件を検索する前記第一の処理を実行し、前記イベント条件に前記キーが含まれる場合に前記イベント情報を第二の処理対象とする付記20に記載の情報処理プログラム。付記22前記属性名のうち、受信した前記イベント情報または前記サブスクリプション情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間を3つの区間に分割し、分割された区間のうち下限を含む第1の区間と、上限を含む第2の区間を他の情報処理装置に送信し、送信していない区間を自装置に割り当てる付記20乃至21のいずれかに記載の情報処理方法。付記23前記属性名のうち、受信した前記イベント情報または前記サブスクリプション情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間を2つの区間に分割し、分割された区間のうち下限または上限を含む一方の区間を他の情報処理装置に送信し、送信していない他方の区間を自装置に割り当てる付記20乃至21のいずれかに記載の情報処理方法。付記24前記自区間記憶手段は、自区間の上限及び下限を記憶し、前記自区間の上限の生成に用いられた属性名と下限の生成に用いられた属性名との順序関係が前記予め定められた順序関係と一致しない場合、前記生成されるキーが前記下限と比較して小さい又は前記上限と比較して大きい場合に前記生成されるキーが自区間に含まれると判定する、付記18乃至23のいずれかに記載の情報処理方法。付記25属性名と属性値とに基づいて生成される大小比較可能な形式であるキーの値の範囲が複数区間に分割された各区間のうち、自装置に割り当てられた区間自区間以外の各区間を割り当てられた他の情報処理装置と接続された情報処理装置が、前記属性名と前記属性値とを含む情報であるイベント情報を受信した場合、該イベント情報に含まれる前記属性名と前記属性値とから生成される前記キーが前記自区間に含まれる場合に前記イベント情報を第一の処理対象とし、前記属性名のうち、受信した前記イベント情報に含まれる頻度が所定値以上の属性名が存在する場合、前記自区間を2以上の区間に分割し、分割された区間のうち下限または上限を含む区間端区間を、前記端区間に隣接する区間を割り当てられ前記端区間を受信すると前記区間に前記端区間を加えた区間を自装置に割り当てる他の情報処理装置に送信し、前記情報転送手段が送信した端区間以外の少なくとも1つの区間を自装置に割り当てる情報処理装置の制御方法。付記26付記1から9のいずれかに記載の情報処理装置と、前記自装置に割り当てられた区間以外の各区間を割り当てられた他の情報処理装置と、を接続してなる情報処理システム。実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。この出願は、2010年11月2日に出願された日本出願特願2010-245766を基礎とする優先権を主張し、その開示の全てをここに取り込む。"