JP5724880B2 - 情報処理システム、制御方法およびプログラム - Google Patents

情報処理システム、制御方法およびプログラム Download PDF

Info

Publication number
JP5724880B2
JP5724880B2 JP2011545052A JP2011545052A JP5724880B2 JP 5724880 B2 JP5724880 B2 JP 5724880B2 JP 2011545052 A JP2011545052 A JP 2011545052A JP 2011545052 A JP2011545052 A JP 2011545052A JP 5724880 B2 JP5724880 B2 JP 5724880B2
Authority
JP
Japan
Prior art keywords
information
event
key
attribute
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011545052A
Other languages
English (en)
Other versions
JPWO2011070716A1 (ja
Inventor
佐藤 正
正 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011545052A priority Critical patent/JP5724880B2/ja
Publication of JPWO2011070716A1 publication Critical patent/JPWO2011070716A1/ja
Application granted granted Critical
Publication of JP5724880B2 publication Critical patent/JP5724880B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理システム、制御方法およびプログラムに関する。

ID、位置、時刻などの複数の属性から構成されるデータ(以下、「イベント」とする)をアプリケーションに対して配信できるイベント配信システムがある。イベントは、1つ以上の属性から構成される。属性は、属性名と属性値から構成される。例えば、温度・湿度センサが観測した20℃の温度、60%の湿度を基にイベントを生成する場合、イベントは、属性名が"温度"で、それに対する属性値が20℃である属性と、属性名が"湿度"で、それに対する属性値が60%である属性から構成されるように表現できる。
イベント配信システムには、外部プログラム(サブスクライバ)からサブスクリプションIDと、要求種別と、サブスクリプションとが入力(サブスクライブ)される。サブスクリプションIDは、サブスクリプションを識別するための情報である。要求種別は、登録要求か削除要求かを識別するための情報である。サブスクリプションは、イベントの条件(イベント条件)と、通知先のアプリケーションのID(アプリケーションID)とから構成される。登録要求の場合、サブスクリプションIDとサブスクリプションがペアでイベント配信システムに記憶される。
イベントが発生すると、外部プログラム(パブリッシャ)から発生したイベントが、イベント配信システムに入力(パブリッシュ)される。イベント配信システムは、イベントが登録されているサブスクリプションのイベント条件に合致すると、該イベント条件とペアで指定されているアプリケーションIDで特定されるアプリケーションに対して該イベントを送信する。
イベント条件として、複数の属性条件を記述できる。属性条件として、属性名と、それに対する属性値の範囲を指定できる。イベント条件を構成する全ての属性条件について、属性条件で指定される属性名をイベントが含んでおり、かつ、属性条件で指定される属性値の範囲が、イベントに記述される該属性名に対する属性値を包含している場合、該イベントは該イベント条件に合致するという。例えば、属性名が"温度"で、その属性名に対する属性値の範囲が"10℃以上30℃以下"であるイベント条件がイベント配信システムに登録されているとする。その状態で、属性名が"温度"で、その属性名に対する属性値が"20℃"である属性と、属性名が"湿度"で、その属性名に対する属性値が"60%"である属性を含むイベントが発生したとする。イベント条件で指定される属性名"温度"については、"20℃"が"10℃以上30℃以下"に含まれる。そのため、該イベントは該イベント条件に合致すると言える。属性名"湿度"については、該イベント条件で指定されていないので、該イベント条件に合致するかどうかに影響を与えない。
このようにイベントを処理する技術の一例が、非特許文献1に記載されている。図19は、非特許文献1に記載される技術を説明する図である。図19に示すイベント(図19中のpublication)とイベント条件(図19中のsubscription)は、属性名xと属性名yから構成される。該イベントには、属性名xに対する属性値が100であり、属性名yに対する属性値が200であることが記述されている。該イベント条件には、属性名xに対する属性値の範囲が50以上150以下であり、属性名yに対する属性値の範囲が150以上250以下であることが記述されている。該イベントは該イベント条件に合致する。
図19に示すシステムは、各属性名と1対1に対応するサブシステム(ハブ)から構成される。ハブは1つ以上のノードをリング状に構成するものである。あるノードから見て、リング上の次のノードをサクセッサと呼ぶ。ハブに属するノードは、該ハブに対応する属性名に対する属性値の範囲(属性値範囲)を管理する。
ノードがサブスクライバからのサブスクリプション、又は、パブリッシャからのイベントを受信した場合、ノードは、該ノードが属するハブとは別のハブに属するノードに、イベントやサブスクリプションを転送する。そのため、ノードは、該ノードが属するハブとは別のハブに属するノードのネットワークアドレスを保持する(以下、そのようなノードを「クロスハブ隣接ノード」と呼ぶ)。クロスハブ隣接ノードを決定する方法が非特許文献2に開示されている。
新しくノードがハブに参加した直後では、該ノードのサクセッサのクロスハブ隣接ノードを該ノードのクロスハブ隣接ノードリンクとする。その後、メンテナンスプロセスを開始する。メンテナンスプロセスでは、他の各ハブでランダムウォークを行い、新規のクロスハブ隣接ノードを決定する。ランダムウォークとは、ランダムウォークを開始するノードから、ルーティングテーブルに記録されている任意のノードへアクセス(ホップ)し、アクセスされたノードから、さらに上記と同じ手段でホップしていくことを、あらかじめ定めされているホップ数に至るまで繰り返すことである。そして、あらかじめ定められたホップ数に至ったときに到達しているノードをクロスハブ隣接ノードとして決定する。
Ashwin R. Bharambe, Sanjay Rao and Srinivasan Seshan: "Mercury: A Scalable Publish-Subscribe System for Internet Games", Proc. of 1st Workshop on Network and System Support for Games (NetGames2002), April 2002. Ashwin R. Bharambe , Mukesh Agrawal , Srinivasan Seshan, "Mercury: Supporting Scalable Multi-attribute Range Queries," ACM SIGCOMM Computer Communication Review, Vol.34 No.4, October 2004.
ところで、非特許文献1、2に開示されているようなシステムを構築する場合、各ノードに情報処理装置のリソース(計算リソースやメモリリソース)の全部又は一部を割り当てて構成することが考えられる。そして、非特許文献1、2に開示されているような各属性名のそれぞれに対応するハブを有するシステムでは、特定のハブに含まれる特定のノードに負荷が集中している場合、まず、そのハブに含まれる各ノードが管理する属性値の範囲を調整することが考えられる。これによって、ノードにかかる負荷を均等にして負荷を調整する。次に、それでもノードの負荷が十分に軽減できない場合は、他のハブに割り当てられているリソースを、その特定のハブに移動して負荷を調整することが考えられる。このように各ノードにかかる負荷を均等にすることで、特定のノードに負荷が集中して、そのノードがボトルネックとなってシステム全体としてのイベント処理性能が低下してしまうという事態を回避することができる。
しかし、異なるハブに属するノード間でリソースの移動がある場合、そのリソースによって新規にノードを構築しなければならない場合がある。その場合、各ノードが管理する属性値の範囲の調整の他に、サクセッサやクロスハブ隣接ノード等を割り当てる必要があるため、非常に手間がかかってしまうというという問題がある。
あるノードに、該ノードが属するハブとは別のハブから割り当てられるリソースが、その時点で、該ノードが動作する情報処理装置とは、別の情報処理装置上のリソースである場合がある。その場合には、ノードは複数の情報処理装置上にまたがって動作することはできないため、新規にノードを構築しなければならない。
また、非特許文献2に開示の技術では、各ノードが、クロスハブ隣接ノードを決定するために、各ハブでランダムウォークを行う必要がある。そのため、ランダムウォークを行うための処理コストがかかってしまうという問題がある。これは各ハブに含まれるノードにかかる負荷を増大することにもつながる。
以上に説明したように、各属性名のそれぞれに対応するハブを有するシステムでは、各ノードにかかる負荷の調整に非常に手間がかかってしまうという問題がある。
本発明の目的は、上述した課題を解決するために、各ノードにかかる負荷の調整を容易にすることができる情報処理システム、制御方法およびプログラムを提供することにある。
本発明の第1の態様にかかる情報処理システムは、任意の情報を示す属性名と、当該任意の情報の値を示す属性値とを含むイベント情報を受信して、当該受信したイベント情報のうち、所定の属性名及び所定の範囲内の属性値を含んだイベント情報を処理対象とする第1のノードを複数備えた情報処理システムであって、前記第1のノードは、前記イベント情報を受信した場合に、当該イベント情報に含まれる属性名と属性値から、当該属性名及び属性値を大小比較可能な形式に変換した第1のキー情報を生成するキー情報生成部と、前記所定の属性名及び所定の範囲内の属性値の第2のキー情報を示す処理対象情報を予め保持する処理対象情報格納部と、前記イベント情報を受信した場合に、当該イベント情報から生成された第1のキー情報と、前記処理対象情報とを比較することによって、当該イベント情報を処理対象とするか否かを判定する処理対象判定部と、前記処理対象判定部が前記イベント情報を処理対象としないと判定した場合に、当該イベント情報、又は、当該イベント情報及び当該イベント情報から生成された第1のキー情報を他の第1のノードに送信する情報転送部と、を有するものである。
本発明の第2の態様にかかる制御方法は、任意の情報を示す属性名と、当該任意の情報の値を示す属性値とを含むイベント情報を受信して、当該受信したイベント情報のうち、所定の属性名及び所定の範囲内の属性値を含んだイベント情報を処理対象とするノードの制御方法であって、前記イベント情報を受信した場合に、当該イベント情報に含まれる属性名及び属性値を大小比較可能な形式に変換した第1のキー情報を生成するステップと、前記イベント情報を受信した場合に、当該イベント情報から生成された第1のキー情報と、前記所定の属性名及び所定の範囲内の属性値の第2のキー情報を示し、予め保持された処理対象情報とを比較することによって、当該イベント情報を処理対象とするか否かを判定するステップと、前記イベント情報を処理対象としないと判定した場合に、当該イベント情報、又は、当該イベント情報及び当該イベント情報から生成された第1のキー情報を他のノードに送信するステップと、を備えたものである。
本発明の第3の態様にかかるプログラムは、任意の情報を示す属性名と、当該任意の情報の値を示す属性値とを含むイベント情報を受信して、当該受信したイベント情報のうち、所定の属性名及び所定の範囲内の属性値を含んだイベント情報を処理対象とするノードを制御するプログラムであって、前記イベント情報を受信した場合に、当該イベント情報に含まれる属性名及び属性値を大小比較可能な形式に変換した第1のキー情報を生成するステップと、前記イベント情報を受信した場合に、当該イベント情報から生成された第1のキー情報と、前記所定の属性名及び所定の範囲内の属性値の第2のキー情報を示し、予め保持されている処理対象情報とを比較することによって、当該イベント情報を処理対象とするか否かを判定するステップと、前記イベント情報を処理対象としないと判定した場合に、当該イベント情報、又は、当該イベント情報及び当該イベント情報から生成された第1のキー情報を他のノードに送信するステップと、をコンピュータに実行させるものである。
上述した本発明によれば、各ノードにかかる負荷の調整を容易にすることができる情報処理システム、制御方法およびプログラムを提供することができる。
本発明の実施の形態にかかる情報処理システムの構成図である。 本発明の実施の形態にかかるイベント配信システムの構成図である。 本発明の実施の形態にかかるノードの構成図である。 本発明の実施の形態にかかるサブスクリプション転送情報生成部における動作を示すフローチャートである。 本発明の実施の形態にかかる属性値が取り得る最小値乃至最大値の範囲と、イベント条件で指定されている属性値の範囲と、最小値乃至最大値に占める当該属性値の範囲の割合との関係の一例を示す図である。 本発明の実施の形態にかかるイベント転送情報生成部における動作を示すフローチャートである。 本発明の実施の形態にかかるメッセージ判定部における動作を示すフローチャートである。 本発明の実施の形態にかかるサブスクリプション配置制御部における動作を示すフローチャートである。 本発明の実施の形態にかかるサブスクリプション登録・削除処理のフローチャートである。 本発明の実施の形態にかかるサブスクリプション転送処理のフローチャートである。 本発明の実施の形態にかかるサブスクリプション管理部における動作を示すフローチャートである。 本発明の実施の形態にかかるサブスクリプション管理テーブルの一例を示す図である。 種別が登録の場合のサブスクリプション操作要求を示す図である。 種別が削除の場合のサブスクリプション操作要求を示す図である。 種別が参照の場合のサブスクリプション操作要求を示す図である。 本発明の実施の形態にかかるイベント条件合致判定部における動作を示すフローチャートである。 本発明の実施の形態にかかるメッセージ転送部における動作を示すフローチャートである。 本発明の実施の形態にかかるイベント配信システムの動作例を示す図である。 背景技術を説明するための図である。
本発明の実施の形態.
まず、図1を参照して、本発明の実施の形態にかかるイベント配信システムの概要について説明する。図1は、本発明の実施の形態にかかるイベント配信システムの概要構成となる情報処理システムの構成図である。
情報処理システム5は、複数のノード50、60を含む。ノード50は、キー情報生成部51、処理対象判定部52、処理対象情報格納部53及び情報転送部54を備える。なお、ノード60の構成については、ノード50の構成と同様であるため、説明を省略する。
ノード50、60のそれぞれは、属性名と、属性値とを含むイベント情報を受信する。属性名は、任意の情報を示す。属性値は、この任意の情報の値を示す。ノード50、60のそれぞれは、受信したイベント情報のうち、所定の属性名及び所定の範囲内の属性値を含んだイベント情報を処理対象とする。
キー情報生成部51は、イベント情報を受信した場合に、このイベント情報に含まれる属性名と属性値から、この属性名及び属性値を大小比較可能な形式に変換した第1のキー情報を生成する。
処理対象判定部52は、イベント情報を受信した場合に、このイベント情報から生成された第1のキー情報と、処理対象情報格納部53に格納される処理対象情報とを比較する。ことによって、処理対象判定部52は、このイベント情報を処理対象とするか否かを判定する。
処理対象情報格納部53は、処理対象情報を予め保持する。処理対象情報は、所定の属性名及び所定の範囲内の属性値の第2のキー情報を示す。
情報転送部54は、処理対象判定部52がイベント情報を処理対象としないと判定した場合に、このイベント情報と、このイベント情報から生成された第1のキー情報とを他のノードに送信する。
続いて、本発明の実施の形態にかかる情報処理システムの処理について説明する。
まず、キー情報生成部51は、イベント情報を受信した場合に、このイベント情報に含まれる属性名と属性値から、この属性名及び属性値を大小比較可能な形式に変換した第1のキー情報を生成する。そして、キー情報生成部51は、イベント情報と、そのイベント情報から生成された第1のキー情報を処理対象判定部52に出力する。
処理対象判定部52は、キー情報生成部51から出力されたイベント情報及び第1のキー情報を取得すると、処理対象情報格納部53に格納されている処理対象情報を取得する。そして、処理対象判定部52は、取得した第1のキー情報と処理対象情報とを比較することによって、取得したイベント情報を処理対象とするか否かを判定する。
情報転送部54は、処理対象判定部52がイベント情報を処理対象としないと判定した場合に、このイベント情報と共に、このイベント情報から生成された第1のキー情報を他のノードに送信する。
続いて、本発明の実施の形態にかかるイベント配信システムについて詳細に説明する。図2を参照して、本実施の形態にかかるイベント配信システムの構成について説明する。図2は、イベント配信システムの構成図である。
イベント配信システム1は、1つ以上のノードから構成される。イベント配信システムでは、有限の値(キー)空間を管理する。異なるキーの間には順序が定義される。各ノードは、連続するキーの範囲を管理する。
本実施の形態では、イベント及びサブスクリプションに含まれる属性名及び属性値を大小比較可能な形式に変換したキーを生成するキー生成関数を用意する。つまり、キー生成関数は、キーを戻り値とする関数である。属性名をn、属性値をvとすると、キーを生成するキー生成関数はf(n,v)で表される。なお、nは文字列であり、vは、任意の実数である。属性名、属性値にはそれぞれ順序が定義されているとする。つまり、属性名には、大小関係が定義されている。例えば、属性名が文字列で表され、順序関係が辞書式順序に従う場合、属性名"温度"は、属性名"時刻"より小さい値となる。f(n,v)は、n1>n2ならば、f(n1,v1)>f(n2,v2)を満たす関数である。ここで、v1とv2は任意の値である。さらにf(n,v)は、n1=n2かつv1>v2ならば、f(n1,v1)>f(n2,v2)を満たす関数である。
キー生成関数の例を示す。ここで例示するキー生成関数をf1(n,v)と記述する。属性名が文字列で表されるとする。属性値は3桁までの10進整数(0から999まで)で表されるとする。f1(n,v)は、まず、属性値を文字列に変換する。f1(n,v)は、属性値が0から99までの場合には、上位桁に0を追加し、3文字にする。例えば、属性値20は変換後、文字列"020"となる。関数f1(n,v)は、その後、属性名の文字列と属性値の文字列をデリミタを間に挟んで結合する。関数f1(n,v)は、結合後の文字列をf1(n,v)の戻り値とする。デリミタとして、属性名と属性値のいずれにも使用されない記号を使用する。例えば、デリミタを":"とすると、f1("x",20)="x:020"となる。
キー生成関数の他の例を示す。ここで例示するキー生成関数をf2(n,v)と記述する。f1(n,v)で求められる文字列は、PC(Personal computer)やサーバ等の情報処理装置内では、文字コードによって、ビット列で表現される。f2(n,v)は、f1(n,v)で求められる文字列を文字コードによって表現したビット列のうち、上位から所定のビット数を戻り値とする。例えば、そのビット列の上位160ビットをf2の戻り値とする。文字コードが4バイトの場合、"x:020"は160ビット(4バイト×5文字×8)となる。そのため、"x:020"を文字コードによって表現したビット列の全てが戻り値となる。
本実施の形態では、イベント配信システム1は、ノードaからノードgまでの7つのノードが存在している場合について例示する。該イベント配信システム1では、取り得る属性値の範囲が0以上320未満の整数である属性名"x"と、取り得る属性値の範囲が0以上320未満である属性名"y"との2つの属性をサポートしているものとする。つまり、属性値のそれぞれは最小値及び最大値を有する。文字列の順序関係が、":"<"0"<"1"<・・・<"9"<"a"<"b"<・・・<"z"である場合について例示する。例えば、ノードaは、"x:160"以上の文字列で、"x:240"より小さい文字列を管理する。例えば、キー"x:200"はノードaが管理する。
ここで、ノードa〜gは、情報処理装置又はその一部から構成される。つまり、1つのノードは、1つの情報処理装置から構成されていてもよい。また、1つのノードは、情報処理装置に含まれるメモリ、CPU(Central Processing Unit)及びハードディスク等のリソースが任意の量割り当てられて構成されるようにしてもよい。つまり、複数のノードが1つの情報処理装置から構成される場合がある。
続いて、本実施の形態にかかるノードの構成について説明する。図3は、ノードの構成図である。
ノード10は、サブスクリプション転送情報生成部11と、イベント転送情報生成部12と、メッセージ判定部13と、サブスクリプション配置制御部14と、サブスクリプション管理部15と、イベント条件合致判定部16と、メッセージ転送部17と、を有する。なお、ノード20の構成については、ノード10の構成と同様であるため、説明を省略する。つまり、イベント配信システム1に含まれるノードa〜gのそれぞれは、ノード10の構成と同様である。
サブスクリプション転送情報生成部11は、サブスクライバ31から入力されたサブスクリプションから、そのサブスクリプションを転送するために必要な情報を生成する。
イベント転送情報生成部12は、パブリッシャ32から入力されたイベントから、そのイベントを転送するために必要な情報を生成する。サブスクリプション転送情報生成部11及びイベント転送情報生成部12が生成する情報には、キーが含まれる。サブスクリプション転送情報生成部11及びイベント転送情報生成部12は、キー情報生成部51として機能する。
メッセージ判定部13は、ノード10宛に送られてきたメッセージがサブスクリプションかイベントかを判定する。
サブスクリプション配置制御部14は、サブスクリプションをどのノードに配置するかを制御する。
サブスクリプション管理部15は、サブスクリプションをノード内に記憶する。サブスクリプション管理部15は、イベント条件情報格納部に相当する。
イベント条件合致判定部16は、受信したイベントがイベント条件に合致するかどうかを判定する。
メッセージ転送部17は、入力されるキーで決まるノードに対して、イベントを含んだメッセージや、サブスクリプションID、サブスクリプション及び要求種別を含んだメッセージを転送する。メッセージ転送部17は、処理対象判定部52及び情報転送部54として機能する。
続いて、図4を参照して、本実施の形態にかかるサブスクリプション転送情報生成部11における動作について説明する。図4は、サブスクリプション転送情報生成部11における動作を示すフローチャートである。
サブスクライバ31からノード10へサブスクリプションが入力されると、入力されたサブスクリプションは、まず、サブスクリプション転送情報生成部11で処理される(S101)。サブスクリプション転送情報生成部11は、受信したサブスクリプションの構成要素であるイベント条件を構成する属性名群から1つの属性を選択する(S102)。次に、サブスクリプション転送情報生成部11は、選択した属性名とそれに対する属性値範囲の最小値からキーを生成する(S103)。最後に、サブスクリプション転送情報生成部11は、生成したキーとサブスクリプションをペアとして、メッセージ転送部17へ入力する。これにより、そのキーを管理するノードへサブスクリプションが含まれるメッセージが転送される。
イベント条件を構成する属性名群から1つの属性を選択する方法として、例えば、イベント条件を構成する各属性名について、属性値が取り得る値の範囲に対する、イベント条件として指定されている属性値範囲の割合を求め、最も割合が小さい属性名を選択する方法がある。図5に、属性値が取り得る最小値乃至最大値の範囲と、イベント条件で指定されている属性値の範囲と、最小値乃至最大値に占める属性値の範囲の割合との関係の一例を示す。属性名"x"に対する属性値が取り得る値の数が100で、イベント条件で指定された属性値範囲のサイズが10であるとすると、割合は、1/10となる。属性名"y"に対する属性値が取り得る値の数が300で、イベント条件で指定された属性値範囲のサイズが50であるとすると、割合は1/6となる。よって、この例の場合、より割合の小さい属性名"x"が選択される。そして、属性名"x"と、その属性名"x"に対応する属性値範囲の最小値である属性値"11"からキーが生成される。属性名と属性値からのキーの生成には、前述しているキー生成関数を用いる。
ここで、サブスクリプションのイベント条件に含まれる属性名群から選択した属性の属性値の範囲と、ノードが管理する属性値の範囲が重複する場合に、そのノードにサブスクリプションが登録される。したがって、最も割合が小さい属性名を選択した場合は、サブスクリプションが登録されるノード数を低減することができる。
続いて、図6を参照して、本実施の形態にかかるイベント転送情報生成部12における動作について説明する。図6は、イベント転送情報生成部12の動作を示すフローチャートである。
パブリッシャ32から入力されたイベントは、まず、イベント転送情報生成部12で処理される(S111)。イベント転送情報生成部12は、受信したイベントを構成する各属性名について、以下の処理を行う。まず、イベント転送情報生成部12は、属性名nとその属性名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は、メッセージの要求種別を判定する(S141)。メッセージが登録要求である場合、サブスクリプション配置制御部14は、種別を登録として、メッセージに含まれるサブスクリプションIDとサブスクリプションからサブスクリプション操作要求を生成する(S142)。サブスクリプション配置制御部14は、生成したサブスクリプション操作要求をサブスクリプション管理部15に入力する(S144)。一方、メッセージが削除要求である場合、サブスクリプション配置制御部14は、種別を削除として、メッセージに含まれるサブスクリプションIDからサブスクリプション操作要求を生成する(S143)。サブスクリプション配置制御部14は、生成したサブスクリプション操作要求をサブスクリプション管理部15に入力する(S144)。
図10は、サブスクリプション転送処理を示すフローチャートである。サブスクリプション転送処理では、まず、サブスクリプション配置制御部14は、メッセージに含まれる属性名と、その属性名に対する属性値範囲の最大値からキー(ターゲットキー)を生成する(S151)。次に、サブスクリプション配置制御部14は、ターゲットキーが、本処理を実行しているノードが管理するキー範囲に含まれるかどうかを判定する(S152)。ターゲットキーがキー範囲に含まれていない場合、サブスクリプション配置制御部14は、サクセッサが管理するキーの最小値(新規キー)を生成する(S153)。その後、サブスクリプション配置制御部14は、ネクストホップとしてサクセッサを指定して、メッセージ転送部17へ新規キーとメッセージを入力する(S154)。
続いて、図11を参照して、本実施の形態にかかるサブスクリプション管理部15における動作について説明する。図11は、サブスクリプション管理部15の動作を示すフローチャートである。
サブスクリプション管理部15は、サブスクリプションIDとサブスクリプションを管理するサブスクリプション管理テーブルを有する。サブスクリプション管理テーブルの例を図12に示す。サブスクリプション管理テーブルには、サブスクリプションIDと、サブスクリプションとが対応付けられたレコードが格納される。
サブスクリプション管理部15は、サブスクリプション配置制御部14、あるいは、イベント条件合致判定部16から、サブスクリプション操作要求を受信する(S161)。
サブスクリプション操作要求は、その構成要素の1つとして種別を含む。種別には、登録、削除、参照がある。種別ごとにサブスクリプション操作要求の構成要素は異なる。種別が登録の場合のサブスクリプション操作要求を図13に示す。種別が登録の場合、サブスクリプション操作要求は、種別に加えて、サブスクリプションIDとサブスクリプションとから構成される。種別が削除の場合のサブスクリプション操作要求を図14に示す。種別が削除の場合、サブスクリプション操作要求は、種別に加えて、サブスクリプションIDから構成される。種別が参照の場合のサブスクリプション操作要求を図15に示す。種別が参照の場合、サブスクリプション操作要求は、種別のみから構成される。
サブスクリプション管理部15は、サブスクリプション操作要求を受信すると、まず、受信したサブスクリプション操作要求の種別を参照する(S162)。種別が登録の場合、サブスクリプション管理部15は、サブスクリプションとサブスクリプションIDのペアをレコードとしてサブスクリプション管理テーブルに追加する(S163)。種別が削除の場合、サブスクリプション管理部15は、サブスクリプションIDが一致するレコードをサブスクリプション管理テーブルから削除する(S164)。種別が参照の場合、サブスクリプション管理部15は、サブスクリプション管理テーブルを呼び出し元に返す(S165)。
続いて、図16を参照して、本実施の形態にかかるイベント条件合致判定部16における動作について説明する。図16は、イベント条件合致判定部16の動作を示すフローチャートである。
イベント条件合致判定部16は、メッセージ転送部17からイベントを受信すると(S171)、サブスクリプション管理部15へ種別を参照としたサブスクリプション操作要求を入力することによって、サブスクリプション管理部15からサブスクリプション管理テーブルを取得する(S172)。イベント条件合致判定部16は、取得したサブスクリプション管理テーブルの各レコードrについて、以下の処理を実行する。まず、イベント条件合致判定部16は、イベントが、レコードrのサブスクリプションの構成要素の1つであるイベント条件に合致するかどうかを判定する(S173)。イベントがイベント条件に合致した場合には、次に、イベント条件合致判定部16は、レコードrのサブスクリプションIDとイベントのペアを、レコードrのサブスクリプションの構成要素の1つであるアプリケーションIDで識別されるアプリケーション40に送信する(S174)。
続いて、図17を参照して、本実施の形態にかかるメッセージ転送部17における動作について説明する。図17は、メッセージ転送部17の動作を示すフローチャートである。
メッセージ転送部17は、サブスクリプション転送情報生成部11、イベント転送情報生成部12、サブスクリプション配置制御部14、あるいは、本処理が動作するノードとは別のノードからキーとメッセージを受信する(S181)。メッセージ転送部17は、キーとメッセージを受信すると、受信したキーが本処理が動作するノードが管理するキー範囲に含まれるかどうかを判定する(S182)。例えば、メッセージ転送部17を含むノード10に、メモリやハードディスク等の任意の記憶装置を有するようにする。また、この記憶装置にノード10が管理するキー範囲を示すキー範囲情報を格納するようにする。そして、メッセージ転送部17が、受信したキーと、キー範囲情報とを比較することによってここでの判定を可能とする。この記憶装置は、処理対象情報格納部53に相当する。
キーが管理するキー範囲に含まれる場合、メッセージ転送部17は、メッセージ判定部13へキーとメッセージを入力する(S183)。キーが管理するキー範囲に含まれない場合、メッセージ転送部17は、ネクストホップノードとしてサクセッサが指定されているか否かを判定する(S184)。ネクストホップノードにサクセッサが指定されていない場合、メッセージ転送部17は、ルーティングテーブルを参照し、転送先のノードを決定する(S185)。そして、メッセージ転送部17は、ネクストホップノードにキーとメッセージを転送する(S186)。
ルーティングテーブルでは、キーとノードのネットワークアドレスとのペアが管理されている。メッセージ転送部17は、ルーティングテーブルを有する。ルーティングテーブルは、例えば、メッセージ転送部17が有する任意の記憶装置に格納される。ルーティングテーブルの生成方法と、メンテナンス方法と、ルーティングテーブルを参照して、メッセージの転送先のノードを決定する方法はルーティングプロトコルに依存する。ルーティングプロトコルの例として、非特許文献2の3.3節に記述される方法を利用できる。ルーティングプロトコルは、任意に決定してもよく、例えば、「送信するキー>ノードが管理するキー範囲の最小値」となるノードのうち、「(送信するキー)−(ノードが管理するキー範囲の最小値)」が最小となるノードに、キー及びメッセージが到達するように送信する。
続いて、図18を参照して、本実施の形態にかかるイベント配信システム1における動作について説明する。図18は、イベント配信システム1の動作例を示す図である。
イベント配信システム1の構成要素であるノードgが、サブスクライバ31からサブスクリプションs(50≦x≦150&150≦y≦250,app1)を受信したとする(S80)。
ノードgは、サブスクリプション転送情報生成部11でサブスクリプションsを構成する属性xと属性yから、属性xを選択する(S81)。次に、サブスクリプション転送情報生成部11は、属性xと、その属性xの属性値範囲の最小値である50とからキー"x:050"を生成する。なお、サブスクリプション転送情報生成部11は、サブスクリプションとともに、サブスクリプションID及び要求種別が、サブスクライバ31から入力される。サブスクリプション転送情報生成部11は、サブスクリプションID、サブスクリプション及び要求種別に、選択した属性名"x"を合わせてメッセージを生成する。サブスクリプション転送情報生成部11は、キーとメッセージをメッセージ転送部17へ入力する。そして、メッセージ転送部17は、入力されたキー及びメッセージをルーティングプロトコルにしたがって、そのキーを管理するノードに対して送信する。
ノードgのメッセージ転送部17から送信されたキー及びメッセージは、0以上のノードのメッセージ転送部17を経由して、最終的に、キー"x:050"を管理するノードcのメッセージ転送部に到達する(S82)。つまり、ノードgから送信されたキー及びメッセージは、ノードe、fを経由してノードcに到達するようにしてもよく、ノードgから直接ノードcに到達するようにしてもよい。ここでは、「送信するキー>ノードが管理するキー範囲の最小値」となるノードのうち、「(送信するキー)−(ノードが管理するキー範囲の最小値)」が最小となるノードcに、キー及びメッセージが到達する。
ノードcのメッセージ転送部17は、受信したキー"x:050"が、管理するキー範囲["x:000","x:080")に含まれるため、メッセージ判定部13にキーとメッセージを入力する。メッセージ判定部13は、メッセージがサブスクリプションから構成されているため、キーとメッセージをサブスクリプション配置制御部14へ入力する。サブスクリプション配置制御部14は、サブスクリプションIDとサブスクリプションのペアをサブスクリプション管理部15に登録する。つまり、ここでは要求種別が登録要求の場合について例示している。
また、メッセージに含まれる属性名"x"と、その属性名"x"に対する属性値範囲の最大値150から生成されるキー"x:150"が、ノードcが管理するキー範囲["x:000","x:080")に含まれない。そのため、サブスクリプション配置制御部14は、サクセッサが管理するキーの最小値"x:080"と、入力されたメッセージを、メッセージ転送部17に入力する。
ここで、ノード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"と、その属性名"x"に対する属性値範囲の最大値150から生成されるキー"x:150"は、ノードbが管理するキー範囲["x:080","x:160")に含まれる。そのため、サブスクリプション配置制御部14は、メッセージ転送部17にキー及びメッセージの入力は行わない。よって、メッセージの転送は行われない。これらの処理の結果、サブスクリプションsはノードcとノードbに保持されることとなる。
次に、イベント配信システム1の構成要素であるノードaが、パブリッシャ32からイベントe(x=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にイベントが通知する。
また、キー"y:200"とそのイベントがノードeに到達すると、ノードeのメッセージ転送部17は、受信したキー"y:200"が、管理するキー範囲["y:200","y:320")に含まれるため、メッセージ判定部13にキーとメッセージを入力する。メッセージ判定部13は、メッセージがイベントから構成されているため、キーとメッセージをイベント条件合致判定部16に入力する。イベント条件合致判定部16は、サブスクリプション管理部15からサブスクリプション管理テーブルを取得する。そして、イベント条件合致判定部16は、イベントの属性値が「x=100,y=200」であるが、サブスクリプションsがサブスクリプション管理テーブルに登録されていないため、イベント条件に合致しないと判定する。そのため、イベント条件合致判定部16は、アプリケーションへのイベントの通知は行わない。
以上に説明したように、本実施の形態によれば、イベントに含まれる属性名と属性値から、この属性名及び属性値を大小比較可能な形式に変換して生成したキーによって、ノードが管理するキー範囲に含まれるイベントか否かを判定することができるようにしている。言い換えると、ノードが処理対象とするイベントか否かを判定することができるようにしている。したがって、同一のハブ内に2以上の属性名が異なるノードが含まれるような場合であっても、イベント又はサブスクリプションがノードの処理対象か否かを単純比較することで判定可能である。つまり、同一のハブ内に2以上の異なる属性名を管理するノードを含めることができる。そのため、各属性名のそれぞれに対応するハブを有する必要がなくなる。これによって、各ノードのそれぞれにおける負荷を調整する場合、各ノードが管理する属性値の範囲を調整するのみで負荷を調整することができる。そのため、各ノードにかかる負荷の調整を容易にすることができる。
また、本実施の形態によれば、上述したように、各属性名のそれぞれに対応するハブを有する必要がなくなるため、ランダムウォークを行う等して、クロスハブ隣接ノードを決定する必要がなくなる。したがって、処理コストを低減することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
本実施の形態では、ノードが、サブスクライバ又はパブリッシャから受信したサブスクリプション又はイベントと、そのサブスクリプション又はイベントから生成したキーと、を常に他のノードに送信するようにしている。そして、他のノードで受信したキーに基づいて、判定を行うようにしている。しかし、これに限られない。例えば、ノードが、他のノードにサブスクリプション又はイベントのみを送信するようにしてもよい。この場合、例えば、他のノードでは、サブスクリプション転送情報生成部又はイベント転送情報生成部によって、受信したサブスクリプション又はイベントからキーを生成して、生成したキーに基づいて判定を行うようにする。
以上に説明した本発明にかかるノードは、上述の実施の形態の機能を実現するプログラムをコンピュータに供給し、コンピュータ又はコンピュータの有するCPU又はMPU(Micro Processing Unit)等がこのプログラムを実行することによって、構成することが可能である。
また、このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
また、コンピュータが上述の実施の形態の機能を実現するプログラムを実行することにより、上述の実施の形態の機能が実現されるだけではなく、このプログラムの指示に基づき、コンピュータ上で稼動しているOS(Operating System)もしくはアプリケーションソフトと共同して上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
さらに、このプログラムの処理の全てもしくは一部がコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットにより行われて上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
この出願は、2009年12月9日に出願された日本出願特願2009−279210を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1、2 イベント配信システム
5 情報処理システム
10、20、50、60 ノード
11 サブスクリプション転送情報生成部
12 イベント転送情報生成部
13 メッセージ判定部
14 サブスクリプション配置制御部
15 サブスクリプション管理部
16 イベント条件合致判定部
17 メッセージ転送部
51 キー情報生成部
52 処理対象判定部
53 処理対象情報格納部
54 情報転送部

Claims (10)

  1. 任意の情報を示す属性名と、当該任意の情報に対応する値を示す属性値とを含むイベント情報を受信して、当該受信したイベント情報のうち、自身が管理する所定の第1の属性名及び所定の第1の範囲内の属性値を含んだイベント情報を処理対象とする複数のノードを備え、
    前記ノードは、前記イベント情報を受信した場合に、当該イベント情報に含まれる属性名と属性値から、大小比較可能な第1のキー情報を生成するキー情報生成手段と、
    前記第1の属性名及び第1の範囲内の属性値のキー情報の範囲を示す対象キー情報を予め保持する対象キー格納手段と、
    前記キー情報生成手段によって生成された第1のキー情報が、前記対象キー情報で示される範囲に含まれる場合に、当該イベント情報を対象のイベント情報であると判定する対象判定手段と、
    前記受信したイベント情報を対象のイベント情報でないと判定した場合に、当該イベント情報、又は、当該イベント情報及び当該イベント情報から生成された第1のキー情報を他のノードに送信する情報転送手段と、を有し、
    前記対象判定手段は、他のノードから前記イベント情報及び当該イベント情報から生成された第1のキー情報を受信した場合には、当該受信した第1のキー情報が、前記対象キー情報で示される範囲に含まれるか否かを判定する、
    情報処理システム。
  2. 前記ノードは、サブスクリプションのイベント条件である第2の属性名及び属性値の第2の範囲を示すイベント条件情報を予め保持するイベント条件情報格納手段と、
    前記受信したイベント情報を対象のイベント情報であると判定した場合に、前記イベント条件情報の第2の属性名が当該イベント情報に存在し、かつ、当該イベント情報の第2の属性名に対応する属性値が当該イベント条件情報の第2の範囲内である場合、当該イベント情報及び当該イベント条件情報に応じた処理を実行すると判定するイベント条件合致判定手段と、を更に有する請求項1に記載の情報処理システム。
  3. 前記キー情報生成手段は、外部から前記イベント条件情報を受信した場合に、当該イベント条件情報が示す第2の属性名及び当該第2の属性名に対応する第2の範囲内の属性値から、大小比較可能な第2のキー情報を生成し、
    前記対象判定手段は、前記受信したイベント条件情報から生成した第2のキー情報が、前記対象キー情報で示される範囲に含まれる場合に、当該イベント条件情報を対象のイベント条件情報であると判定し、
    前記情報転送手段は、前記受信したイベント条件情報を対象のイベント条件情報でないと判定した場合に、当該イベント条件情報、又は、当該イベント条件情報及び当該イベント条件情報から生成された第2のキー情報を他のノードに送信し、
    前記対象判定手段は、他のノードから前記イベント条件情報及び当該イベント条件情報から生成された第2のキー情報を受信した場合には、当該受信した第2キー情報が、前記対象キー情報で示される範囲に含まれるか否かを判定する、
    請求項2に記載の情報処理システム。
  4. 前記ノードは、前記イベント条件情報と、当該イベント条件情報を一意に識別する識別情報と、要求種別としての当該イベント条件情報の登録を要求する情報を受信したときに、前記受信したイベント条件情報を対象のイベント条件情報であると判定した場合は、当該イベント条件情報を当該識別情報とともに前記イベント条件情報格納手段に格納し、前記イベント条件情報の識別情報と、要求種別としての当該イベント条件情報の削除を要求する情報を受信したときに、前記受信したイベント条件情報を対象のイベント条件情報であると判断した場合は、前記イベント条件情報格納手段に格納されている当該識別情報及び当該イベント条件情報を削除するイベント条件情報制御手段を更に有する請求項3に記載の情報処理システム。
  5. 前記キー情報生成手段は、前記イベント条件情報が示す複数の第2の属性名から、当該イベント条件情報の全ての第2の属性名に対応する属性値の第2の範囲の割合のうち、当該属性値の第2の範囲の割合が、当該属性値がとり得る範囲に対して最小となる第2の属性名を選択し、選択した第2の属性名及び当該選択した第2の属性名に対応する属性値の第2の範囲から第2のキー情報を生成する請求項3又は4に記載の情報処理システム。
  6. 前記キー情報生成手段は、前記イベント情報又はイベント条件情報の生成元から夫々受信したイベント情報又はイベント条件情報から、前記第1又は第2のキー情報を生成し、
    前記情報転送手段は、前記イベント情報を送信する場合には、前記イベント情報と当該イベント情報から生成された第1のキー情報を送信するとともに、前記イベント条件情報を送信する場合には、前記イベント条件情報と当該イベント条件情報から生成された第2のキー情報を送信する請求項3乃至5のいずれか1項に記載の情報処理システム。
  7. 前記複数のノードは、1つのハブに含まれ、
    前記ハブに含まれる複数のノードのそれぞれは、異なる第1の属性名から生成された第1のキー情報に対応するイベント情報を処理する請求項1乃至6のいずれか1項に記載の情報処理システム。
  8. 前記属性名は、大小比較可能に定義されており、
    前記キー情報生成手段は、n1>n2、又は、n1=n2かつv1>v2である場合に、k1>k2となるように前記キー情報を生成する(n1及びn2は、任意の属性名であり、v1及びv2は、それぞれn1及びn2に対応する任意の実数であり、k1はn1及びv1から生成されたキー情報であり、k2はn2及びv2から生成されたキー情報である)請求項7に記載の情報処理システム。
  9. 任意の情報を示す属性名と、当該任意の情報に対応する値を示す属性値とを含むイベント情報を受信して、当該受信したイベント情報のうち、所定の属性名及び所定の範囲内の属性値を含んだイベント情報を処理対象とする制御方法であって、
    前記イベント情報を受信した場合に、当該イベント情報に含まれる属性名と属性値から、大小比較可能な第1のキー情報を生成するキー情報生成ステップと
    前記キー情報生成ステップにおいて生成された第1のキー情報が、予め保持されている対象キー情報で示される、前記所定の属性名及び所定の範囲内の属性値のキー情報の範囲に含まれる場合に、当該イベント情報を対象のイベント情報であると判定する対象判定ステップと
    前記受信したイベント情報を対象のイベント情報でないと判定した場合に、当該イベント情報、又は、当該イベント情報及び当該イベント情報から生成された第1のキー情報を他のノードに送信する情報転送ステップと、
    を有し、
    前記対象判定ステップでは、他のノードから前記イベント情報及び当該イベント情報から生成された第1のキー情報を受信した場合には、当該受信した第1のキー情報が、前記対象キー情報で示される範囲に含まれるか否かを判定する、
    制御方法。
  10. 任意の情報を示す属性名と、当該任意の情報に対応する値を示す属性値とを含むイベント情報を受信して、当該受信したイベント情報のうち、所定の属性名及び所定の範囲内の属性値を含んだイベント情報を処理対象とするノードを制御するプログラムであって、
    前記イベント情報を受信した場合に、当該イベント情報に含まれる属性名と属性値から、大小比較可能な第1のキー情報を生成するキー情報生成ステップと、
    前記キー情報生成ステップにおいて生成された第1のキー情報が、予め保持されている対象キー情報で示される、前記所定の属性名及び所定の範囲内の属性値のキー情報の範囲に含まれる場合に、当該イベント情報を対象のイベント情報であると判定する対象判定ステップと、
    前記受信したイベント情報を対象のイベント情報でないと判定した場合に、当該イベント情報、又は、当該イベント情報及び当該イベント情報から生成された第1のキー情報を他のノードに送信する情報転送ステップと、をコンピュータに実行させ
    前記対象判定ステップでは、他のノードから前記イベント情報及び当該イベント情報から生成された第1のキー情報を受信した場合には、当該受信した第1のキー情報が、前記対象キー情報で示される範囲に含まれるか否かを判定する、
    プログラム。
JP2011545052A 2009-12-09 2010-11-09 情報処理システム、制御方法およびプログラム Active JP5724880B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011545052A JP5724880B2 (ja) 2009-12-09 2010-11-09 情報処理システム、制御方法およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009279210 2009-12-09
JP2009279210 2009-12-09
PCT/JP2010/006557 WO2011070716A1 (ja) 2009-12-09 2010-11-09 情報処理システム、制御方法およびプログラムが格納された非一時的なコンピュータ可読媒体
JP2011545052A JP5724880B2 (ja) 2009-12-09 2010-11-09 情報処理システム、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2011070716A1 JPWO2011070716A1 (ja) 2013-04-22
JP5724880B2 true JP5724880B2 (ja) 2015-05-27

Family

ID=44145283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011545052A Active JP5724880B2 (ja) 2009-12-09 2010-11-09 情報処理システム、制御方法およびプログラム

Country Status (4)

Country Link
US (1) US8978048B2 (ja)
JP (1) JP5724880B2 (ja)
CN (1) CN102656563A (ja)
WO (1) WO2011070716A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5737075B2 (ja) * 2011-08-29 2015-06-17 富士通株式会社 イベント収集方法及び情報処理装置
CN104620224A (zh) * 2012-09-13 2015-05-13 汤姆逊许可公司 从先进先出传送机构的随机存取消息检索的方法
CN103744737B (zh) * 2014-01-13 2017-07-25 联想(北京)有限公司 一种信息处理方法及电子设备
JP6040183B2 (ja) * 2014-02-17 2016-12-07 日本電信電話株式会社 負荷分散処理装置及び負荷分散処理方法
CN106004836A (zh) * 2016-05-30 2016-10-12 北京小米移动软件有限公司 车辆防抱死的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160616A (ja) * 1993-12-06 1995-06-23 Fuji Xerox Co Ltd イベント処理装置
JPH0962523A (ja) * 1995-08-18 1997-03-07 Internatl Business Mach Corp <Ibm> 分散演算環境におけるイベント管理方法及びシステム
JPH10275125A (ja) * 1997-03-31 1998-10-13 Nri & Ncc Co Ltd 多数のコンピュータが参加する情報分配応答システム
JP2003167808A (ja) * 2001-11-29 2003-06-13 Nippon Telegr & Teleph Corp <Ntt> 処理方法、処理システム、委託装置、プログラム及び記録媒体
JP2006309701A (ja) * 2005-03-28 2006-11-09 Nec Corp 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム
JP2008097111A (ja) * 2006-10-06 2008-04-24 Nec Corp リソース分配方法、プログラム、及びリソース分配装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185611B1 (en) * 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
EP1764697A4 (en) * 2004-04-14 2009-04-01 Panasonic Corp END DEVICE AND COPIER PROTECTION SYSTEM

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160616A (ja) * 1993-12-06 1995-06-23 Fuji Xerox Co Ltd イベント処理装置
JPH0962523A (ja) * 1995-08-18 1997-03-07 Internatl Business Mach Corp <Ibm> 分散演算環境におけるイベント管理方法及びシステム
JPH10275125A (ja) * 1997-03-31 1998-10-13 Nri & Ncc Co Ltd 多数のコンピュータが参加する情報分配応答システム
JP2003167808A (ja) * 2001-11-29 2003-06-13 Nippon Telegr & Teleph Corp <Ntt> 処理方法、処理システム、委託装置、プログラム及び記録媒体
JP2006309701A (ja) * 2005-03-28 2006-11-09 Nec Corp 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム
JP2008097111A (ja) * 2006-10-06 2008-04-24 Nec Corp リソース分配方法、プログラム、及びリソース分配装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200900173125; 佐藤 正 外2名: 'コンテキストアウェアサービスのための分散複合イベント処理' マルチメディア,分散,協調とモバイル(DICOMO2008)シンポジウム論文集 情報処理学会シンポジ 第2008巻 第1号, 20080702, pp.975-981, 社団法人情報処理学会 *
JPN6014051372; 佐藤 正 外2名: 'コンテキストアウェアサービスのための分散複合イベント処理' マルチメディア,分散,協調とモバイル(DICOMO2008)シンポジウム論文集 情報処理学会シンポジ 第2008巻 第1号, 20080702, pp.975-981, 社団法人情報処理学会 *

Also Published As

Publication number Publication date
US8978048B2 (en) 2015-03-10
WO2011070716A1 (ja) 2011-06-16
US20120254895A1 (en) 2012-10-04
CN102656563A (zh) 2012-09-05
JPWO2011070716A1 (ja) 2013-04-22

Similar Documents

Publication Publication Date Title
JP5625998B2 (ja) 情報処理システム
JP6534402B2 (ja) データ品質例外を処理するための方法、コンピュータ・プログラム、および例外エンジン
JP5724880B2 (ja) 情報処理システム、制御方法およびプログラム
US10754869B2 (en) Managing data format of data received from devices in an internet of things network
CN104660489A (zh) 用于控制消息递送系统中的消息传递的方法和系统
WO2022267175A1 (zh) 信息处理方法、装置、计算机设备及存储介质
CN113268955A (zh) 报文转换的方法和装置
US8904379B2 (en) Centrally controlled proximity based software installation
WO2020220272A1 (zh) 更改资源状态的方法、系统、终端及存储介质
WO2019214208A1 (zh) 即时通讯系统中的数据处理方法、装置、介质和计算设备
JP5867407B2 (ja) 情報処理装置、システム、制御方法およびプログラム
JP5949561B2 (ja) 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
CN113923258A (zh) 数据处理方法及数据处理系统
JP2019056973A (ja) 学習装置、生成装置、学習方法、生成方法、学習プログラム、生成プログラム、及びモデル
JP2019133529A (ja) 学習装置、生成装置、学習方法、生成方法、学習プログラム、生成プログラム、及びモデル
WO2013027784A1 (ja) データ処理装置、データ分散処理システム、データ処理方法およびプログラム記憶媒体
KR102391506B1 (ko) 단말기 제어 관리 시스템 및 그 제어방법
KR20240104561A (ko) 문서 데이터를 업데이트하기 위한 방법 및 장치
JP6258992B2 (ja) 情報提供システム、情報提供方法および情報処理装置
JP2020008928A (ja) ゲートウェイ装置及びデータ転送方法
US10860568B2 (en) External data source linking to queries in memory
JPWO2012102102A1 (ja) 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
CN116827940A (zh) 一种数据处理方法、装置、设备及存储介质
CN114285784A (zh) 数据传输方法及装置、数据管道搭建方法及装置
JP2014106709A (ja) 管理サーバ、ハードウェア管理装置、情報処理装置、ハードウェア管理システム、ハードウェア管理方法、および、コンピュータ・プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150316

R150 Certificate of patent or registration of utility model

Ref document number: 5724880

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150