(57)【要約】送り出すデータを削減したデータ管理装置を提供する。  本発明のデータ管理装置は、データを受け取る受信手段と、受信手段が受け取ったデータと記憶しているデータとを比較する比較手段と、比較手段の比較の結果、受け取ったデータと記憶しているデータとの少なくとも一部が一致した場合、記憶しているデータと受け取ったデータとを統合する統合手段とを含む。
2012026307.tif 000002
【特許請求の範囲】
【請求項１】
データを受け取る受信手段と、
前記受信手段が受け取ったデータと記憶しているデータとを比較する比較手段と、
前記比較手段の比較の結果、前記受け取ったデータと前記記憶しているデータとの少なくとも一部が一致した場合、前記記憶しているデータと前記受け取ったデータとを統合する統合手段とを含むデータ管理装置。
【請求項２】
データを記憶する記憶手段と、
前記比較手段の比較の結果、前記記憶しているデータと一致しなかった前記受け取ったデータを前記記憶手段に格納する格納手段とを含み、
前記統合手段が前記統合したデータで前記記憶手段に記憶しているデータを更新する
ことを特徴とする請求項１に記載のデータ管理装置。
【請求項３】
前記データが、不定期に発生するイベントに関するデータであり、
前記イベントに関するデータが、イベントの主体に関するデータと、前記主体以外のデータとを含み、
前記比較手段が、前記記憶しているデータと前記受け取ったデータとのそれぞれの前記主体以外のデータを比較し、
前記統合手段が、少なくとも前記主体に関するデータを統合することを特徴とする請求項２に記載のデータ管理装置。
【請求項４】
前記データが、不定期に発生するイベントに関するデータであり、
前記イベントに関するデータが、イベントの主体に関するデータと、前記主体以外のデータとを含み、
前記比較手段が、前記記憶しているデータと前記受け取ったデータとのそれぞれの前記主体に関するデータを比較し、
前記統合手段が、少なくとも前記主体以外のデータを統合することを特徴とする請求項２に記載のデータ管理装置。
【請求項５】
前記統合手段が前記統合したデータで前記記憶手段のデータを更新するときに、前記記憶手段に記憶しているデータの処理の順序を変更する順序操作手段を含むことを特徴とする請求項２乃至請求項４のいずれかに記載のデータ管理装置。
【請求項６】
データの取り出し要求を受け取る受信手段と、
前記データを記憶している記憶手段と、
前記受信手段から取り出し要求を受け取り、前記記憶手段からデータを取り出す取り出し手段と、
前記取り出し手段が取り出したデータを一時保存する一時保存手段と、
前記取り出し手段が取り出したデータと前記一時保存手段が記憶しているデータとの少なくとも一部又は全部の一致を判定する判定手段と、
前記判定手段が一致と判定した場合、前記取り出し手段が取り出したデータを前記一時保存手段に記憶されているデータと統合する一時保存結合手段と、
前記判定手段の判定が不一致で前記一時保存手段に記憶されているデータの容量が所定の閾値以下の場合、前記取り出し手段が取り出したデータを前記一時保存手段に記憶し、
前記判定手段の判定が不一致で前記一時保存手段に記憶されているデータの容量が所定の閾値を越えている場合、前記一時保存手段に記憶されているデータを送信してから前記取り出し手段が取り出したデータを前記一時保存手段に保存する一時保存入替え手段と、を含むことを特徴とするデータ管理装置。
【請求項７】
データを受け取り、
前記受け取ったデータと記憶しているデータを比較し、
前記比較の結果、前記受け取ったデータと前記記憶しているデータとの少なくとも一部が一致した場合、前記記憶しているデータと前記受け取ったデータを統合するデータ管理方法。
【請求項８】
データの取り出し要求を受け、
前記取り出し要求のデータを取り出し、
前記取り出したデータと一時記保存しているデータとの少なくとも一部又は全部の一致を判定し、
前記判定が一致した場合、前記取り出したデータを、前記一時保存しているデータと統合し、
前記判定が不一致で前記一時保存しているデータの容量が所定の閾値以下の場合、前記取り出したデータを一時保存し、
前記判定が不一致で前記一時保存しているデータの容量が所定の閾値を越えている場合、前記一時保存しているデータを送信した後に前記取り出したデータを一時保存するデータ管理方法。
【請求項９】
データを受け取る処理と、
前記受け取ったデータと記憶しているデータとを比較する処理と、
前記比較の結果、前記受け取ったデータと前記記憶しているデータとの少なくとも一部が一致した場合、前記記憶しているデータと前記受け取ったデータとを統合する処理とをコンピュータに実行させることを特徴とするデータ管理プログラム。
【請求項１０】
データの取り出し要求を受ける処理と、
前記取り出し要求のデータを取り出す処理と、
前記取り出したデータと一時記保存しているデータとの少なくとも一部又は全部の一致を判定する処理と、
前記判定が一致の場合、前記取り出したデータを前記一時保存しているデータと統合する処理と、
前記判定が不一致で、前記一時保存しているデータの容量が所定の閾値以下の場合、前記取り出したデータを一時保存する処理と、
前記判定が不一致で、前記一時保存しているデータの容量が所定の閾値を越えている場合、前記一時保存しているデータを送信した後に前記取り出したデータを一時保存する処理とをコンピュータに実行させることを特徴とするデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの管理、特に、データを処理するシステムにおけるデータを管理するデータ管理装置、データ管理方法、及び、データ管理プログラムに関する。
【背景技術】
【０００２】
一般的なデータ処理システム又はデータ処理装置は、データを規則的（ｓｅｑｕｅｎｔｉａｌ：シーケンシャル）に処理するだけではなく、発生時期が特定されない出来事（ｅｖｅｎｔ：イベント）又はイベントに関するデータを処理する。
ここでイベントとは、例えば、メールを送信、建物の入り口のセンサ（ｓｅｎｓｏｒ：感知装置）の検出といった、不定期に発生するデータである。
このようなイベントは、発生時期が特定されない。そのため、イベントを処理するイベント処理装置が、受け取ったイベントの処理を終了する前に、次のイベントが発生する場合もある。
そこで、このようなイベントに基づき処理するイベント駆動システムは、例えば、図１３に一例を示すような装置を含んで、イベントを処理する。
図１３に示したイベント駆動システム９０は、イベント検出装置９１が検出したイベントを、イベント処理装置９３が処理する。そして、データ管理装置９２は、イベント検出装置９１とイベント処理装置９３との間に入り、イベント処理装置９３がイベントを受け取れない間、イベントを保存する。データ管理装置９２は、イベント処理装置９３がイベントを受け取れるようになると、次のイベントをイベント処理装置９３に送る。
このように動作するため、データ管理装置９２は、図１４に示すように、記憶手段９５を備え、イベントを記憶手段９５に追加（エンキュー：ｅｎｑｕｅｕｅ）するためのエンキュー手段９４と、イベントを取り出す（デキュー：ｄｅｑｕｅｕｅ）ためのデキュー手段９６とを含んでいる。ここで、記憶手段９５は、受け取ったイベントを保存するためのキュー（ｑｕｅｕｅ：待ち行列）又はキャッシュ（ｃａｃｈｅ）である（例えば、特許文献１を参照）。なお、キューは、一般的な通信装置で使用されているデータの保存手法である（例えば、特許文献２を参照）。
しかし、既に説明したとおり、イベントは、発生時期が特定されない。そのため、イベント駆動システム９０は、イベントの単位時間当たりの発生量を予測及び制御できない。例えば、既に説明したメール送信について説明すると、災害が発生した場合、イベント駆動システム９０は、通常の数十倍又は数百倍以上のメールを受け付けることが想定される。
また、イベント駆動システム９０は、イベントの発生源当たりの発生イベント数も、予測及び制御できない。例えば、ある歌手のファンは、その歌手のコンサートの申込みには大量に申込みのイベントを発生させるが、別の歌手のコンサートではイベントを発生させない。また、電車の事故の場合、その電車に乗り合わせた人又は同じ路線の人は、メールのイベントを発生させるが、他の路線の人は、イベントを発生させることが少ない。
このように、イベント駆動システム９０は、イベントの発生量の予測及び制御が困難である。
一般的に、データ管理装置９２が備える記憶手段９５の容量は、予め決められた制限がある。
そのため、データ管理装置９２が受け取った（エンキュー：ｅｎｑｕｅｕｅ）イベントの数から、取り出した（デキュー：ｄｅｑｕｅｕｅ）イベント数を引いた滞留イベント数は、イベントを記憶する記憶手段（例えばキュー）９５の容量以下になっていることが必要である。
もし、滞留イベント数が、データ管理装置９２の記憶手段９５の容量を超えた場合、データ管理装置９２は、記憶手段９５のオーバーフロー（ｏｖｅｒｆｌｏｗ：漏れ）を起こし、イベントを取りこぼす。しかし、イベント駆動システム９０が正常に動作し続けるためには、データ管理装置９２は、イベントの取りこぼしを避けなければならない。
そのため、データ管理装置９２の記憶手段９５にイベントを追加できない場合、イベントの送信元にイベントの送信を止めるように指示を出すイベント駆動システム９０が、ある。ただし、このようなイベント駆動システム９０は、イベントを受け付けるまでの待ち時間（レイテンシ：ｌａｔｅｎｃｙ）を増やす。その結果、このようなイベント駆動システム９０は、イベント駆動システム９０を含むシステム全体の処理性能（スループット：ｔｈｒｏｕｇｈｐｕｔ）を低下させる。
そこで、データ管理装置９２には、所定の記憶手段９５の範囲（キュー）にイベントが追加できなくなった場合、別の記憶手段の範囲を鎖のように連結（チェイン：ｃｈａｉｎ）するものがある（例えば、特許文献３を参照）。
しかし、チェインする場合でも、データ管理装置９２は、記憶手段９５の記憶容量に制限がなくなるわけではない。そのため、チェイン可能な記憶容量を超えてイベントが発生した場合、データ管理装置９２は、イベントを保存できない。
また、イベント駆動システム９０のスループットを向上させるため、イベント処理装置９３が処理するイベントの数は、少ない方がよい。
そのため、データ管理装置９２には、不必要なイベントをイベント処理装置９３に渡さず、イベントの数を減らすものがある。
例えば、データ管理装置９２には、ＣＰＵの負荷量に応じて、記憶手段に保存しているイベントをチャンキング（ｃｈｕｎｋｉｎｇ）又はフィルタリング（ｆｉｌｔｅｒｉｎｇ）するものがある（例えば、特許文献４参照）。このようにデータ管理装置９２には、チャンキング又はフィルタリングを使用し、保存するイベントの数を減らし、イベント処理装置９３で処理するイベントの数を少なくするものがある。
【特許文献１】特開２００５−０１８３４１
【特許文献２】特表２００３−５２３１１２
【特許文献３】特開平８−１６６８８６
【特許文献４】特開２００９−０７５８０８
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、特許文献４に記載のデータ管理装置は、ＣＰＵの負荷量に応じてイベントを処理する発明のため、イベントを受けるたびに、タスクキューに蓄積されている全イベントの処理の負荷量（平均実行時間）の総和を求めることが必要である。イベント駆動システムのデータ管理装置が受け取るイベントは、既に説明したとおり、一度に数百以上に達することもある。このような大量のイベントを受けた場合でも、特許文献４に記載のデータ管理装置は、イベントを受けるたびに全イベントの総負荷量の計算が必要なため、イベント受信当たりのデータ管理装置の処理が大きい。そのため、上述した特許文献４に記載のデータ管理装置には、保存するイベントを削減するための処理が増大し、イベント駆動システムのスループットを低下させるという問題があった。
本発明の目的は、上述した課題を解決し、データ管理装置のスループットの低下を抑え、イベント（受信データ）の数を削減（統合）できるデータ管理装置、データ管理方法、及び、データ管理プログラムを提供することにある。
【課題を解決するための手段】
【０００４】
本発明のデータ管理装置は、データを受け取る受信手段と、前記受信手段が受け取ったデータと記憶しているデータとを比較する比較手段と、前記比較手段の比較の結果、前記受け取ったデータと前記記憶しているデータとの少なくとも一部が一致した場合、前記記憶しているデータと前記受け取ったデータとを統合する統合手段とを含む。
また、本発明のデータ管理装置は、データの取り出し要求を受け取る受信手段と、前記データを記憶している記憶手段と、前記受信手段から取り出し要求を受け取り、前記記憶手段からデータを取り出す取り出し手段と、前記取り出し手段が取り出したデータを一時保存する一時保存手段と、前記取り出し手段が取り出したデータと前記一時保存手段が記憶しているデータとの少なくとも一部又は全部の一致を判定する判定手段と、前記判定手段が一致と判定した場合、前記取り出し手段が取り出したデータを前記一時保存手段に記憶されているデータと統合する一時保存結合手段と、前記判定手段の判定が不一致で前記一時保存手段に記憶されているデータの容量が所定の閾値以下の場合、前記取り出し手段が取り出したデータを前記一時保存手段に記憶し、前記判定手段の判定が不一致で前記一時保存手段に記憶されているデータの容量が所定の閾値を越えている場合、前記一時保存手段に記憶しているデータを送信してから前記取り出し手段が取り出したデータを前記一時保存手段に保存する一時保存入替え手段とを含む。
本発明のデータ管理方法は、データを受け取り、前記受け取ったデータと記憶しているデータとを比較し、前記比較の結果、前記受け取ったデータと前記記憶しているデータとの少なくとも一部が一致した場合、前記記憶しているデータと前記受け取ったデータを統合する。
また、本発明のデータ管理方法は、データの取り出し要求を受け、前記取り出し要求のデータを取り出し、前記取り出したデータと一時記保存しているデータとの少なくとも一部又は全部の一致を判定し、前記判定が一致した場合、前記取り出したデータを、前記一時保存しているデータと統合し、前記判定が不一致で前記一時保存しているデータの容量が所定の閾値以下の場合、前記取り出したデータを一時保存し、前記判定が不一致で前記一時保存しているデータの容量が所定の閾値を越えている場合、前記一時保存しているデータを送信した後に前記取り出したデータを一時保存する。
本発明のデータ管理プログラムは、データを受け取る処理と、前記受け取ったデータと記憶しているデータとを比較する処理と、前記比較の結果、前記受け取ったデータと前記記憶しているデータとの少なくとも一部が一致した場合、前記記憶しているデータと前記受け取ったデータとを統合する処理とをコンピュータに実行させる。
また、本発明のデータ管理プログラムは、データの取り出し要求を受ける処理と、前記取り出し要求のデータを取り出す処理と、前記取り出したデータと一時記保存しているデータとの少なくとも一部又は全部の一致を判定する処理と、前記判定が一致の場合、前記取り出したデータを前記一時保存しているデータと統合する処理と、前記判定が不一致で、前記一時保存しているデータの容量が所定の閾値以下の場合、前記取り出したデータを一時保存する処理と、前記判定が不一致で、前記一時保存しているデータの容量が所定の閾値を越えている場合、前記一時保存しているデータを送信した後に前記取り出したデータを一時保存する処理とをコンピュータに実行させる。
【発明の効果】
【０００５】
本発明に基づけば、イベントを受けたときのイベントの統合処理の負荷を低減して、イベントを統合する効果を得ることが出来る。
【図面の簡単な説明】
【０００６】
【図１】本発明おける第１の実施の形態に係るデータ管理装置の一例を示すブロック図である。
【図２】第１の実施の形態に係るイベントのデータ形式の一例を示す図である。
【図３Ａ】第１の実施の形態に係るイベントのデータの一例を示す図である。
【図３Ｂ】第１の実施の形態に係るイベントのデータの一例を示す図である。
【図３Ｃ】第１の実施の形態に係るイベントのデータの一例を示す図である。
【図４】第１の実施の形態に係るデータ管理装置の動作の一例を示すフローチャートである。
【図５】第１の実施の形態に係るイベントの統合の一例を示す図である。
【図６】第１の実施の形態に係るデータ管理システムの一例を示すブロック図である。
【図７】第１の実施の形態の別のデータ管理装置の一例を示すブロック図である。
【図８】第２の実施の形態に係るイベントの統合の一例を示す図である。
【図９】第３の実施の形態に係るデータ管理装置の一例を示すブロック図である。
【図１０】第３の実施の形態に係るデータ管理装置の動作の一例を示すフローチャートである。
【図１１】第４の実施の形態に係るデータ管理装置の一例を示すブロック図である。
【図１２】第４の実施に形態に係るデータ管理装置の動作の一例を示すフローチャートである。
【図１３】一般的なイベント駆動システムの一例を示すブロック図である。
【図１４】一般的なデータ管理装置の一例を示すブロック図である。
【発明を実施するための形態】
【０００７】
次に、本発明の実施の形態について図面を参照して説明する。
まず、本発明の実施の形態の説明における用語を整理する。
「統合」とは、２つ以上の部分に分けることが出来る２つ以上のデータがあり、全てのデータにおいて少なくとも１つ以上の部分が同じ場合、データの異なる部分の全てと、同じ部分との両方を１つのデータにまとめることである。つまり、「統合」とは、２つ以上のデータを１つの和集合に相当するデータにまとめる動作である。
「イベント（ｅｖｅｎｔ）」とは、不定期に発生するデータである。なお、本発明の実施の形態に係るデータ管理装置の説明において、取り扱うデータの一例として、イベントのデータを使用する。しかし、本発明の実施の形態に係るデータ管理装置が扱うデータは、これに限られるわけではない。例えば、本発明の実施の形態に係るデータ管理装置は、データベース（Ｄａｔａｂａｓｅ）のデータを管理してもよく、エキスパートシステム（ｅｘｐｅｒｔ  ｓｙｓｔｅｍ）のデータの管理もできる。
なお、本発明の実施の形態に係るデータ管理装置は、接続するイベント検出装置又はイベント処理装置が１台に限られるわけではない。データ管理装置は、複数のイベント検出装置からイベントを受け取ってもよく、イベントを複数のイベント処理装置に送ってもよい。
例えば、イベントに応じてイベントを処理するイベント処理装置が異なる場合、データ管理装置は、イベントを判定して、イベントを送信するイベント処理装置を変更しても良い。また、データ管理装置は、イベントとともにイベントの送信先の情報を受け取ってもよい。このように、本発明の実施に形態に係るデータ管理装置は、イベントの送信先の数に制限がない。なお、本発明の実施の形態の説明では、説明の便宜のため、特に断らない限り、イベントの振り分け動作を含め複数のイベント処理装置に対する動作の説明は省略する。
（第１の実施の形態）
まず、本発明における第１の実施の形態に係るデータ管理装置１について図面を参照して説明する。
図１は、データ管理装置１の一例を示すブロック図である。
なお、図１に示すデータ管理装置１は、説明の便宜のため、一般的なデータ管理装置において、記憶手段３０へのイベントの追加保存（エンキュー：ｅｎｑｕｅｕｅ）に相当する部分を示す。つまり、図１のデータ管理装置１は、図示しないイベント検出装置からイベントを受け取り、記憶手段３０に保存する。そして、図示しないイベントを取り出す（デキュー：ｄｅｑｕｅｕｅ）手段が、記憶手段３０からイベントを取り出し、図示しないイベント処理装置（イベントハンドラ）に送り出し、図１３のデータ管理装置９２に相当する一般的なデータ管理装置の処理を実現する。
続いて、データ管理装置１の構成について説明する。
データ管理装置１は、イベントを受信する受信手段１０と、イベントを比較する比較手段２０と、イベントを保存する記憶手段３０と、イベントを記憶手段３０の保存（格納）する格納手段４０と、イベントを統合する統合手段５０とを含んでいる。
受信手段１０は、図示しない装置からイベントを受け取り、比較手段２０に渡す。ただし、受信手段１０は、イベントのデータに加え、イベントの登録要求を受け取ってもよい。また、受信手段１０は、図１３に示すように、イベントを検出した装置から直接的にイベントを受け取ってもよく、図示しない中継装置を介して間接的にイベントを受け取ってもよい。
なお、本実施形態におけるイベントは、いろいろなデータ形式を使用できるが、説明の便宜のため、以下の説明では、図２に一例として示すイベントのデータ形式を使用する。
図２に示すイベントのデータ形式は、イベントを区別するイベント名と、そのイベントに関する主体（例えば、イベントの発生元）を示すデータを含む識別子部と、イベントに関連するその他のデータを含むデータ部とを含んでいる。
このイベントのデータ形式について、図３Ａ−図３Ｃを参照して、さらに詳細に説明する。
図３Ａは、識別子部及びデータ部が１つのデータを含むイベントの一例である。図３Ａのイベントは、イベント名が「Ｅｖｅｎｔ  １」であり、識別子部に「ＩＤ＝ｕｓｅｒ１」を、データ部に「Ｌｏｃａｔｉｏｎ＝Ａｒｅａ１」を含むイベントである。つまり、図３Ａに示すイベント名「Ｅｖｅｎｔ  １」のイベントは、「ｕｓｅｒ１」で示される主体が、「Ａｒｅａ１」で示される場所（Ｌｏｃａｔｉｏｎ）で発生したイベントである。
図３Ｂは、識別子部に２つのデータを含むイベントの一例である。図３Ｂに示すイベント名「Ｅｖｅｎｔ  ２」のイベントは、主体である二人のユーザ（「ｕｓｅｒ１」と「ｕｓｅｒ２」）が、「Ａｒｅａ１」で示される場所（Ｌｏｃａｔｉｏｎ）で発生したイベントである。
図３Ｃは、データ部に複数のデータを含むイベントの一例を示す。図３Ｃに示すイベント名「Ｅｖｅｎｔ  ３」のイベントは、主体である「ｕｓｅｒ１」が、「Ｍｏｄｅ＝Ｈａｐｐｙ」かつ「Ａｃｔｉｏｎ＝Ｅａｔｉｎｇ」であるイベントである。例えば、「ｕｓｅｒ１」が、食事（Ｅａｔｉｎｇ）し（Ａｃｔｉｏｎ）、その結果として満足（Ｈａｐｐｙ）を得た状態（Ｍｏｄｅ）となったイベントを示す。
図１に戻り、第１の実施の形態に係るデータ管理装置１の説明を続ける。
比較手段２０は、受信手段１０からイベントを受け取り、次に説明する記憶手段３０が記憶しているイベントと比較する。この比較手段２０の比較の動作については、後ほど、さらに詳細に説明する。比較手段２０は、この比較結果を基に、格納手段４０又は統合手段５０にイベントの処理を指示する。なお、記憶手段３０が１つもイベントを記憶していない場合、比較手段２０は、一致するイベントが無いと判断する。
記憶手段３０は、イベントを記憶する。さらに、記憶手段３０は、比較手段２０にイベントを渡し、格納手段４０又は統合手段５０からの依頼又は指示に基づき、イベントを追加又は更新する。
なお、本実施形態に係る記憶手段３０は、イベントの保存に関して、いろいろな手法を使用できる。例えば、記憶手段３０は、イベントをリスト形式で保存しても良く、リレーショナルデータベースのような管理手法を組み込んで保存しても良い。
格納手段４０は、比較手段２０の指示を基に、イベントを記憶手段３０に追加（格納）する。
統合手段５０は、比較手段２０の指示を基に、比較手段２０が一致と判定したイベントを統合し、統合したイベントを記憶手段３０に保存する。なお、本実施形態に係る統合手段５０は、比較手段２０から指示を受けたイベントと記憶手段３０に記憶されているイベントとを統合して１つにまとめ、記憶手段３０のイベントを更新する。
次に、第１の実施の形態に係るデータ管理装置１の動作について図面を参照して、詳細に説明する。
図４は、データ管理装置１の動作の一例を示すフローチャートである。
まず、データ管理装置１の受信手段１０は、図示しない装置からイベントを受信し、比較手段２０に渡す（ステップ１０１）。
イベントを受け取った比較手段２０は、記憶手段３０が記憶しているイベントを取り出す（ステップ１０２）。本実施の形態に係る比較手段２０は、イベントの取り出し方法として特に制限はない。比較手段２０は、記憶手段３０にイベントの送信を依頼して、イベントを受け取ってもよい。あるいは、別の方法として、比較手段２０は、記憶手段３０からイベントを受け取るのではなく、記憶手段３０が記憶しているイベントを直接読み出しても良い。例えば、記憶手段３０が、所定のメモリのアドレスにイベントを保存し、比較手段２０が、そのメモリからイベントを読み出しても良い。
なお、本実施の形態に係る比較手段２０は、記憶手段３０から受け取るイベントの数にも制限はない。比較手段２０は、毎回１つずつイベントを受け取ってもよく、１回に２つ以上のイベントを受け取ってもよい。
続いて、比較手段２０は、記憶手段３０から受け取ったイベントと、受信手段１０から受け取ったイベントとを比較する（ステップ１０３）。
なお、例えば、レストランの評価に関するイベントは、そのレストランの評価を管理するサーバがイベントを処理することが多い。このような場合、評価が含まれるデータ部でイベントを統合すると、データ管理装置１は、送り出すイベントの数を軽減できる。そこで、本実施の形態に係る比較手段２０は、イベントのデータ部を比較するとして説明する。
なお、以下の説明において、比較手段２０は、データ部の比較として、データ部全体を比較する。しかし、比較手段２０における比較は、これに限られるわけではない。例えば、比較手段２０は、場所を示すデータ（例えば、図３Ａの「Ｌｏｃａｔｉｏｎ」）、又は、動作を示すデータ（例えば、図３Ｃの「Ａｃｔｉｏｎ」）のようにデータ部の一部を比較しても良い。
比較手段２０においてイベントが一致しない場合（ステップ１０３でｎｏ）、比較手段２０は、記憶手段３０に記憶している全てのイベントと比較したか否かを判定する（ステップ１０４）。
記憶手段３０に記憶されている全てのイベントと比較していない場合（ステップ１０４でｎｏ）、比較手段２０は、次のイベントを記憶手段３０から取り出し（ステップ１０２）、比較を継続する。
本実施形態に係る比較手段２０は、このような動作に基づき、記憶手段３０に記憶している全てのイベントと受け取ったイベントとを比較できる。
全てのイベントと比較した場合（ステップ１０４でｙｅｓ）、比較手段２０が受信手段１０から受け取ったイベントは、記憶手段３０に記憶されていない、つまり統合できないイベントとなる。そのため、比較手段２０は、受け取ったイベントを格納手段４０に渡して、記憶手段３０への追加（格納）を依頼する（ステップ１０５）。
依頼を受けた格納手段４０は、受け取ったイベントを記憶手段３０に追加（格納）する（ステップ１０６）。なお、記憶手段３０は、受け取ったイベントの保存として、他のイベントを保存するために使用している保存手法に従って保存すればよい。例えば、リスト形式を使用している場合、記憶手段３０は、リストに新しいイベントを追加すればよい。また、データベースを使用している場合、記憶手段３０は、イベントの追加に合わせ、データベースの管理情報を更新する。
このように動作に基づき、データ管理装置１は、記憶手段３０に記憶いるイベントと一致しないイベントを受けた場合、記憶手段３０にイベントを追加できる。
一方、比較手段２０においてイベントが一致した場合（ステップ１０３でｙｅｓ）、比較手段２０は、イベントを統合手段５０に渡して、イベントの統合を依頼する（ステップ１０７）。
イベントを受け取った統合手段５０は、受け取ったイベントを、比較手段２０が一致と判定した記憶手段３０に記憶されているイベントと統合する（ステップ１０８）。
統合手段５０における統合の動作について、図５を参照して、さらに詳細に説明する。
Ｅｖｅｎｔ  ｌは、受け取ったイベントの一例を示す。イベント名「Ｅｖｅｎｔ  ｌ」のイベントは、識別子部に「ＩＤ＝ｕｓｅｒ１」を、データ部に「Ｌｏｃａｔｉｏｎ＝Ａｒｅａ１」を含むイベントである。
Ｅｖｅｎｔ  ｍは、比較手段２０が、受け取ったイベントと一致と判定した記憶手段３０が記憶しているイベントの一例を示す。イベント名「Ｅｖｅｎｔ  ｍ」のイベントは、識別子部に「ＩＤ＝ｕｓｅｒ５」を、データ部に「Ｌｏｃａｔｉｏｎ＝Ａｒｅａ１」を含むイベントである。
既に説明したとおり、本実施の形態の比較手段２０は、イベントのデータ部を比較する。そして、「Ｅｖｅｎｔ  ｌ」と「Ｅｖｅｎｔ  ｍ」とは、どちらもデータ部が「Ｌｏｃａｔｉｏｎ＝Ａｒｅａ１」と一致しているため、比較手段２０は一致と判定し（ステップ１０３でｙｅｓ）、統合手段５０にイベントの統合を依頼する（ステップ１０７）。
イベントの統合を依頼された統合手段５０は、受け取ったイベント「Ｅｖｅｎｔ  ｌ」と記憶されているイベント「Ｅｖｅｎｔ  ｍ」とを統合したイベント「Ｅｖｅｎｔ  ｎ」を作成する。
この作成処理の具体的な一例を説明すると、次のとおりとなる。
イベントの統合を依頼された統合手段５０は、受け取ったイベント（「Ｅｖｅｎｔ  ｌ」と「Ｅｖｅｎｔ  ｍ」）の識別子部の内容を確認する。
今回のイベント（「Ｅｖｅｎｔ  ｌ」と「Ｅｖｅｎｔ  ｍ」）の識別子部は、それぞれ「ＩＤ＝ｕｓｅｒ１」と「ＩＤ＝ｕｓｅｒ５」と異なっている。そこで、統合手段５０は、これらを統合した識別子部のデータ（「ＩＤ＝ｕｓｅｒ５，ｕｓｅｒ１」）を作成し、統合後のイベント（「Ｅｖｅｎｔ  ｎ」）の識別子部に設定する。なお、統合手段５０は、統合したデータに重複がある場合、重複したデータのどちらかを削除するなど、重複を解消しても良い。
次に統合手段５０は、データ部の内容を確認する。
今回のイベントのデータ部は、既に説明したとおり一致している。そのため、統合手段５０は、統合後のイベント（「Ｅｖｅｎｔ  ｎ」）のデータ部に一致しているデータ（「Ｌｏｃａｔｉｏｎ＝Ａｒｅａ１」）を設定する。ただし、統合手段５０は、識別子部と同じように、データ部のデータを統合し、重複を解消しても良い。（ただし、本例ではデータ部が一致しているため、重複を解消した統合後のデータと一致したデータは、同じ結果となる。）
なお、統合手段５０でのデータの統合処理の順番は、これに限らず、どのような順番でも良い。
このように統合手段５０の統合に基づき、図５に示す「Ｅｖｅｎｔ  ｎ」は、「Ｅｖｅｎｔ  ｌ」と「Ｅｖｅｎｔ  ｍ」の識別子部が統合されたイベントとなる。
さらに、統合手段５０は、記憶手段３０に保存されている一致と判定されたイベント「Ｅｖｅｎｔ  ｍ」を統合したイベント「Ｅｖｅｎｔ  ｎ」で更新する（ステップ１０８）。
なお、統合手段５０は、統合後のイベントで記憶手段３０のイベントを更新するのではなく、記憶手段３０に記憶しているイベントの識別子部を変更して、イベントを更新しても良い。
また、統合手段５０は、イベントの更新を、統合後のイベント「Ｅｖｅｎｔ  ｎ」の追加と、記憶していたイベント「Ｅｖｅｎｔ  ｍ」の削除との２つの動作に分けても良い。
図４に戻り、データ管理装置１の動作の説明を続ける。
統合手段５０がイベントの統合を終了すると、データ管理装置１は、イベントの処理を終了する。
このように動作し、データ管理装置１は、記憶手段３０に記憶されているイベントと一致したイベントを、記憶手段３０に新たなイベントとして保存しないで、統合したイベントとして保存できる。つまり、データ管理装置１は、統合できるイベントを受け取った場合、記憶手段３０に記憶されているイベントの数を増やさずに、イベントを統合できる。
なお、本実施の形態に係るデータ管理装置１の構成は、今までの説明のおける構成に限られるわけではなく、２つ以上の構成を含んだ構成を１つの構成としても良い。例えば、比較手段２０が、格納手段４０を含み、イベントを追加しても良い。
また、本実施の形態に係るデータ管理装置１は、各構成をさらに複数の構成で実現しても良い。例えば、統合手段５０は、イベントを統合する構成と統合後のイベントを記憶手段３０に保存する構成とに分けて構成しても良い。
さらに、データ管理装置１は、各構成をコンピュータで実行するプログラムとして実現しても良い。
また、データ管理装置１は、１つの装置との構成に限られるわけではない。１つ又は複数の構成を含んだ装置が、ネットワークを介して接続するデータ管理システムとして構成してもよい。
図６は、本実施の形態に係るデータ管理システム９の一例を示すブロック図である。なお、図６において図１と同じ構成は、同じ番号を付してある。
データ管理システム９は、イベントを受け取り、必要に応じてイベントを統合するデータ管理装置５と、イベントを記憶するデータ記憶装置６と、通信網８とを含んでいる。
データ管理装置５は、受信手段１０と比較手段２１と統合手段５０とを含んでいる。
受信手段１０は、データ管理装置１の受信手段１０と同様に、イベントを受け取り、比較手段２１に渡す。
比較手段２１は、データ管理装置１の比較手段２０と同様に、受け取ったイベントと、記憶手段３０に保存されているイベントとを比較する。ただし、データ管理装置５では、データ記憶装置６とのやり取りを一元化するため、比較手段２１がデータ記憶装置６とデータをやり取りする。つまり、比較手段２１は、通信網８を介して、追加するイベント及び統合手段５０から受け取った統合したイベントの両方をデータ記憶装置６に送り出す。
統合手段５０は、データ管理装置１の統合手段５０と同様にイベントを統合し、統合したイベントを比較手段２１に渡す。なお、データ管理装置１と同様に、統合手段５０が、データ記憶装置６に統合したイベントを送っても良い。
データ記憶装置６は、入出力手段４１と記憶手段３０とを含んでいる。
入出力手段４１は、通信網８を介して、データ管理装置５から追加するイベント又は統合したイベントを受け取り、記憶手段３０に渡し、記憶手段３０から受け取ったイベントをデータ管理装置５に送る。なお、データ記憶装置６もイベントのやり取りを一元化するため、入出力手段４１が、データ管理装置５とデータをやり取りする。
記憶手段３０は、データ管理装置１の記憶手段３０と同様にイベントを記憶している。また、記憶手段３０は、入出力手段４１から、追加するイベントを受け取り、追加保存し、統合後のイベントを受け取り、イベントを更新する。なお、記憶手段３０は、データ管理装置１の記憶手段３０と同様に、比較手段２０にイベントを送り、統合手段５０から統合後のイベントを受け取ってもよい。
通信網８は、データ管理装置５とデータ記憶装置６との接続する通信路である。通信網８は、一般的な通信網又はバスでよく、詳細な説明は省略する。
このように構成されたデータ管理システム９は、イベント管理装置１と同様に動作できる。
また、データ記憶装置６は、単独の装置に限られるわけではない。例えば、データ記憶装置６は、ネットワークを介して接続したＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）でもよい。このような場合でも、図７にも示すように、受信手段１０と比較手段２１と統合手段５０とを含んだデータ管理装置５は、受信手段１０が受け取ったイベントと、図７では図示していないネットワーク先のデータ記憶装置６のイベントとを比較し、統合できる。このように図７に示すデータ管理装置５も、受け取ったイベントをデータ記憶装置６に保存する前に、イベントを統合できる。なお、データ管理装置５は、本発明の実施の形態の最小構成となっている。
このように、第１の実施に形態に係るデータ管理装置１、データ管理装置５、及び、データ管理システム９は、データ管理装置１などでの処理の負荷を軽減して、保存するイベントを減らす効果を得ることが出来る。（以下、データ管理装置１と言う場合、データ管理装置１は、データ管理装置５及びデータ管理システム９を含むとする。）
その理由は、データ管理装置１は、受け取ったイベントと保存しているイベントとを比較する処理に基づき、統合できるイベントを検出し、記憶手段３０に統合したイベントを保存するためである。
なお、比較処理が、データ管理装置１の負荷を軽減する理由を、特許文献４に記載のデータの総和を求める場合と比較すると次のようになる。
（１）平均的な処理回数が少ない。
本発明のデータの比較処理は、一致するデータがある場合、平均的にデータの総数の半分で一致するデータで見つかる。これに対し特許文献４に記載のデータの総和は、毎回、データ総数の回数の動作が必要である。
（２）値の選択処理が不要
本発明のデータの比較処理は、単にデータを比較すれば良い。これに対し特許文献４に記載のデータの総和は、加算の処理に加え、受け取ったイベントを判定する処理と、総和に加える処理時間を選択又は処理時間を求める処理が必要である。
さらに、第１の実施の形態に係るデータ管理装置１は、図示しないイベント処理装置（イベントハンドラとも呼ばれる）の処理の負荷を減らすことも出来る。
その理由は、データ管理装置１は、受け取ったイベントと記憶手段３０に記憶しているイベントとを比較してイベントを統合して保存しているため、イベント処理装置に渡すイベントの数が、受け取ったイベントの数と比べ少なくなるためである。
（第２の実施の形態）
第１の実施に形態に係るデータ管理装置１は、イベントのデータ部を比較するとして説明した。しかし、データ管理装置１における比較は、データ部に限られるわけではない。
例えば、所定の会の登録会員のイベントは、会のサーバが処理する場合が多い。そのため、このようなイベントは、イベントの主体を示す識別子部の基づいて送り出すイベントの送信先が振り分けられる。このようなイベントの場合、データ管理装置１は、イベントの識別子部に基づいてイベントを統合し、送り出すイベントを軽減できる。
第２の実施の形態に係るデータ管理装置１は、イベントの識別子部の一致を比較する。
第２の実施に形態に係るデータ管理装置１について、図面を参照してさらに説明する。
なお、第２の実施に形態にデータ管理装置１の構成は、第１の実施の形態に係るデータ管理装置１と、同様のため、構成の詳細な説明は省略する。
また、第２の実施の形態に係るデータ管理装置１の動作も、比較手段２０及び統合手段５０の動作を除き同様の動作のため、同様の動作の詳細な説明は省略し、第２の実施の形態に特有の動作について詳細に説明する。
図４のステップ１０３において、本実施の形態に係る比較手段２０は、イベントの識別子部を使用して、イベントの一致を判定する。
この比較手段２０の処理について、図面を参照して、さらに詳細に説明する。
第２の実施の形態に係る比較手段２０は、受け取ったイベントの識別子部と、記憶手段３０に記憶されているイベントの識別子部とを比較する。そのため、図５に示すイベントの場合、受け取ったイベント「Ｅｖｅｎｔ  ｌ」の識別子部と、記憶しているイベント「Ｅｖｅｎｔ  ｍ」の識別子部が異なるため、比較手段２０は、イベントが一致しないと判定する（図４のステップ１０３でｎｏ）。
一方、図８に示すように、受け取ったイベント「Ｅｖｅｎｔ  ｐ」と記憶しているイベント「Ｅｖｅｎｔ  ｑ」との識別子部が一致している場合、比較手段２０は、イベントが一致と判定する（図４のステップ１０３でｙｅｓ）。
イベントが一致した場合、本実施の形態の統合手段５０は、一致したイベントを統合したイベント「Ｅｖｅｎｔ  ｒ（図８参照）」を作成し、第１の実施に形態と同様に、記憶手段３０のイベントを更新する。
なお、第２の実施の形態に係るデータ管理装置１は、イベントのデータ部を統合するとして説明したが、これに限らない。例えば、データ管理装置１は、識別子の一部で一致を判定する場合、判定しない他のイベントの識別子部を統合しても良い。
このような動作に基づき、第２の実施の形態に係るデータ管理装置１は、第１の実施に形態に係る効果に加え、さらに記憶手段３０に保存するイベントの数を少なくする効果を得ることが出来る。
その理由は、次の通りである。
第２の実施の形態に係るデータ管理装置１は、イベントの主体の情報を保存している識別子部でイベントを統合するため、記憶手段３０に保存するイベント数が、最大でもイベント主体の数となる。イベントの主体の数は、予め登録されている数である。これに対し、イベントに伴って発生するデータ部は、データを組み合わせたイベントも発生する。そのため、データ部の数は、一般的にイベントの主体の数に比べ、多くなる。そのため、第２の実施の形態に係るデータ管理装置１が記憶するイベントの数は、第１の実施の形態に係るデータ管理装置１が記憶するイベントの数に比べ、少なくなる。
また、第２の実施の形態に係るデータ管理装置１は、記憶手段３０のオーバーフローを防ぐ効果も得ることが出来る。
その理由は、次の通りである。
第２の実施の形態に係るデータ管理装置１は、イベントをイベントの主体で統合するため、データ管理装置１が記憶するイベントの数は、予め登録されているイベントの主体の数となる。そのため、データ管理装置１は、イベントの主体の数を基に保存するイベントの数を予測できる。その結果、第２の実施の形態に係るデータ管理装置１の記憶手段３０は、予め必要な容量を予測し用意できるためである。
（第３の実施の形態）
第１の実施の形態に係るデータ管理装置１は、イベントの統合処理とイベントの発生とを関連して管理していない。しかし、関連するイベント、つまり、統合できるイベントは、所定の期間に発生が集まる場合がある。例えば、商品の申込みなどのイベントは、連続して発生する場合が多い。このような場合でも、第１の実施の形態に係るデータ管理装置１のイベントの統合処理は、イベントの処理のための取り出しの処理と独立している。
しかし、データ管理装置は、あるイベントを統合してから、所定の時間、そのイベントを処理しないで、統合できるイベントを待つようにすると、統合できるイベントを増やすことができる。また、イベントは、取り出し順に保存される、又は、取り出しの順番が保存される。そして、保存された順番に沿って、前の順番のイベントは早く処理され、後の順番のイベントは遅れて処理される。つまり、データ管理装置は、イベントの取り出しの順番を変更し、イベントの処理の時間をある程度制御できる。
そこで、第３の実施の形態に係るデータ管理装置２は、統合後のイベントの処理の順序を変更する。
第３の実施の形態に係るデータ管理装置２について、図面を参照して説明する。
図９は、第３の実施の形態に係るデータ管理装置２の構成の一例を示すブロック図である。図９において、図１と同様の構成は同じ番号を付し、詳細な説明は、省略する。
データ管理装置２は、データ管理装置１と同様の受信手段１０と比較手段２０と記憶手段３０と格納手段４０と統合手段５０とを含み、さらに順序操作手段６０を含んでいる。
第１の実施の形態に係るデータ管理装置１は、統合手段５０が統合後のイベントで記憶手段３０のイベントを更新していた。これに対し、本実施の形態に係るデータ管理装置２は、順序操作手段６０が、統合手段５０から統合後のイベントを受け取り、記憶手段３０のイベントを更新する。そのため、順序操作手段６０は、図９に示すとおり、統合手段５０と記憶手段３０との間に入っている。
なお、データ管理装置２の順序操作手段６０以外の構成は、第１の実施に形態のデータ管理装置１と同様のため、詳細な説明は省略する。
次に、データ管理装置２の動作について、図面を参照してさらに説明する。
図１０は、第３の実施の形態に係るデータ管理装置２の動作の一例を示すフローチャートである。なお、図１０において、図４と同様の動作には、同じ番号を付してある。また、図１０において、ステップ２０１の動作を除き他の動作は、図４と同様の動作のため、ステップ２０１を除いた動作の詳細な説明は省略し、ステップ２０１の動作について詳細に説明する。
統合手段５０から統合したイベントを受け取った順序操作手段６０は、記憶手段３０に記憶されているイベントを、統合後のイベントで更新する。ただし、順序操作手段６０は、統合後のイベントを、データ管理装置２が処理するイベントの最後、又は、所定の順序のイベントの後ろに登録する（ステップ２０１）。
なお、順序操作手段６０は、記憶手段３０のイベントの記憶手法に従って、イベントの順序を変更する。例えば、記憶手段３０がイベントをリスト形式で保存し、リストの登録順に処理する場合、順序操作手段６０は、リストの最後など所定の位置に統合後のイベントを登録すればよい。また、記憶手段３０が、イベントの登録管理情報と、イベントの処理順序とを別のデータとして保存している場合、順序操作手段６０は、イベントの処理順序のデータを操作すればよい。
このように動作し、第３の実施の形態に係るデータ管理装置２は、統合したイベントで保存しているイベントを更新する。
なお、第３の実施の形態に係るデータ管理装置２は、第１の実施の形態と同様に、統合手段５０が、記憶手段３０の統合イベントの更新し、イベントの更新後、順序操作手段６０が、処理するイベントの順序を変更しても良い。
また、本実施の形態に係るデータ管理装置２は、イベントの登録の順序を変更するのではなく、イベントに処理の優先度の設定し、その優先度を変更しても良い。
このように動作する第３の実施の形態に係るデータ管理装置２は、第１の実施に形態に係る効果に加え、統合できるイベントが連続的に発生した場合でも、イベントを統合後にイベントを処理する効果を得ることができる。
その理由は、データ管理装置２は、順序操作手段６０が、統合したイベントの処理の順序を、所定の順序のイベントの後できるためである。そして、統合したイベントが所定のイベントの後ろの順序に登録されるため、データ管理装置２は、統合できるイベントが連続して発生した場合、イベントの処理の前に、多くのイベントを統合できるためである。
さらに、第３の実施に形態に係るデータ管理装置２は、第１の実施に形態に係るデータ管理装置１に比べ、イベント処理装置で処理するイベントをさらに減らす効果も得ることが出来る。
その理由は、データ管理装置２は、第１の実施の形態に係るデータ管理装置１に比べ、さらに多くのイベントを統合でき、その結果、処理するイベントの数を減らせるためである。
（第４の実施の形態）
第１の実施の形態に係るデータ管理装置１は、イベントを保存（エンキュー：ｅｎｑｕｅｕｅ）する前にイベントを統合した。しかし、本発明に係るデータ管理装置は、保存しているイベントを取り出す（デキュー：ｄｅｑｕｅｕｅ）ときに、イベントを統合できる。
第４の実施の形態に係るデータ管理装置３は、イベントを取り出すときに、イベントを統合する。
第４の実施の形態に係るデータ管理装置３について、図面を参照して説明する。
図１１は、第４の実施に形態に係るデータ管理装置３の構成の一例を示すブロック図である。
なお、図１１に示すデータ管理装置３は、説明の便宜のため、一般的なデータ管理装置において、記憶手段３０からのイベントの取り出し（デキュー：ｄｅｑｕｅｕｅ）に相当する部分を示している。つまり、図１１のデータ管理装置３は、図示しないイベントを追加保存（エンキュー：ｅｎｑｕｅｕｅ）する手段が記憶手段３０に保存したイベントを取り出し（デキュー：ｄｅｑｕｅｕｅ）、図示しないイベント処理装置に送り出す。
データ管理装置３は、受信手段１３と、記憶手段３０と、取り出し手段７３と、判定手段２３と、一時保存手段３３と、一時保存入替え手段４３と、一時保存結合手段５３と、送信手段８０とを含んでいる。
受信手段１３は、図示しない要求元の装置からイベントの取り出し要求を受信し、イベントの取り出し要求を取り出し手段７３に渡す。
記憶手段３０は、第１の実施の形態の記憶手段３０と同様にイベントを記憶している。
取り出し手段７３は、イベントの取り出し要求を受け取り、記憶手段３０から要求されたイベントを取り出し、判定手段２３に渡す。また、取り出し手段７３は、一時保存入替え手段４３又は一時保存結合手段５３の指示に基づき、次のイベントを取り出す。
判定手段２３は、受け取ったイベントと、後ほど説明する一時保存手段３３に保存されているイベントとを比較する。そして、判定手段２３は、比較結果を基に、一時保存入替え手段４３又は一時保存結合手段５３にイベントに関する処理を指示する。
一時保存入替え手段４３は、判定手段２３から受け取ったイベントを一時保存手段３３に登録（保存）する。また、一時保存入替え手段４３は、一時保存手段３３に記憶されているイベントの容量を監視（モニタ：ｍｏｎｉｔｏｒ）する。その際、一時保存入替え手段４３は、一時保存手段３３が記憶しているイベントの容量が所定の閾値を超えている場合（例えば、容量いっぱいに保存している場合）、一時保存手段３３に保存されているイベントを取り出し、送信手段８０に送る。この動作に基づき、送信手段８０は、受け取ったイベントを送信する。一方、一時保存入替え手段４３は、一時保存手段３３が記憶しているイベントの容量が閾値を超えていない場合、イベントの保存後、取り出し手段７３に次のイベントの取り出しを要求する。
一時保存結合手段５３は、判定手段２３から受け取ったイベントと一時保存手段３３に保存されているイベントとを結合（統合）する。また、一時保存結合手段５３は、イベントの結合後、取り出し手段７３に次のイベントの取り出しを通知する。
一時保存手段３３は、一時保存入替え手段４３から受け取ったイベントを、送信手段８０が送信するまで一時的に保存（記憶）する。また、一時保存手段３３は、一時保存結合手段５３の指示に基づきイベントを更新する。なお、一時保存手段３３は、第１の実施の形態に係る記憶手段３０と同様に、イベントの保存方式に制限がない。一時保存手段３３は、リスト形式やデータベース形式でイベントを保存しても良く、他の形式でイベントを保存しても良い。
送信手段８０は、一時保存入替え手段４３からイベントを受け取り、図示しないイベント処理装置にイベントを送信する。
続いて、データ管理装置３の動作について図面を参照して説明する。
図１２は、データ管理装置３の動作の一例を示すフローチャートである。
図示しない要求元の装置からイベントの取り出し要求を受けた受信手段１３は、イベントの取り出し要求を取り出し手段７３に渡す（ステップ４０１）。
なお、データ管理装置３も、イベントの送信先が複数でも良い。ただし、送信先が複数ある場合、後ほど説明する送信手段８０が、イベントを送信する送信先を知る必要がある。そのため、本実施形態の説明において本実施に形態のデータ管理装置３は、イベントにイベントの送信先も含むとして説明する。ただし、本実施の形態に係るデータ管理装置３は、これに限られるわけではない。例えば、送信先が複数ある場合、受信手段１３が、イベントの取り出し要求とともにイベントの送信先の情報を受け取ってもよい。この場合、以降で説明する各手段は、イベントを次の手段に渡すときに、イベントとともにイベントの送信先の情報も渡すこととなる。
イベントの取り出し要求を受けた取り出し手段７３は、要求に対応するイベントを記憶手段３０から取り出し、判定手段２３に送る（ステップ４０２）。
イベントを受け取った判定手段２３は、受け取ったイベントと、一時保存手段３３に保存（記憶）されているイベントとを比較する（ステップ４０３）。
イベントが一致した場合（ステップ４０４でｙｅｓ）、判定手段２３は、イベントを一時保存結合手段５３に渡す（ステップ４０５）。イベントを受け取った一時保存結合手段５３は、一時保存手段３３に保存されているイベントに受け取ったイベントを結合（統合）する（ステップ４０６）。一時保存結合手段５３の結合は、第１又は第２の実施に形態に係る統合手段５０と同等に処理すれば良いため、詳細な説明は省略する。一時保存結合手段５３は、イベントの結合（統合）後、取り出し手段７３に次のイベントの取り出しを通知する。この通知を受け取った取り出し手段７３は、次のイベントを取り出す（ステップ４０２）。
イベントが一致しない場合（ステップ４０４でｎｏ）、判定手段２３は、受け取ったイベントを一時保存手段３３に保存されている全てのイベントと比較したかどうかを判定する（ステップ４０７）。
まだ、全てのイベントと比較していない場合（ステップ４０７でｎｏ）、判定手段２３は、ステップ４０３に戻る。そして、判定手段２３は、一時保存手段３３から次のイベントを取り出し、取り出し手段７３から受け取ったイベントと比較する（ステップ４０３）。
全てのイベントとの比較が終了した場合（ステップ４０７でｙｅｓ）、判定手段２３は、イベントを一時保存入替え手段４３に渡す（ステップ４０８）。
イベントを受け取った一時保存入替え手段４３は、一時保存手段３３に登録されているイベントの容量が所定の閾値（例えばイベント数の上限又は残り容量）に達しているかどうかを判定する（ステップ４０９）。なお、容量の所定の閾値は、予めデータ管理装置３に設定されているものとし、閾値の設定に関しての詳細な説明は、省略する。
まだ容量が所定の閾値に達していない場合（ステップ４０９でｎｏ）、一時保存入替え手段４３は、受け取ったイベントを一時保存手段３３に保存する（ステップ４１０）。イベントを保存後、一時保存入替え手段４３は、取り出し手段７３に次のイベントの取り出しを依頼する。この通知を受け取った取り出し手段７３は、次のイベントを取り出す（ステップ４０２）。
容量が所定の閾値に達している場合（ステップ４０９でｙｅｓ）、一時保存入替え手段４３は、一時保存手段３３の最も古いイベント（例えばリスト形式で保存している場合の先頭のイベント）を取り出し、送信手段８０に渡して送信する。その後、一時保存入替え手段４３は、受け取ったイベントを一時保存手段３３に追加保存する（ステップ４１１）。一時保存入替え手段４３がイベントを送信手段８０に渡して送信し、一時保存手段３３に受け取ったイベントを保存すると、データ管理装置３におけるイベントの送信要求の処理は、終了する。
このように動作し、データ管理装置３は、イベントの取り出し（デキュー）においてもイベントを統合できる。
なお、データ管理装置３は、イベントを統合するときに、第３の実施の形態のように、イベントの順序の入替え又は優先権を変更してもよい。
第４の実施の形態に係るデータ管理装置３は、イベント処理装置に送信するイベントを軽減する効果を得ることが出来る。
その理由は、データ管理装置３は、送信するイベントを統合し、統合後のイベントを送信するため、送信するイベントの数を減らすことが出来るためである。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記）
（付記１）
データを受け取る受信手段と、
前記受信手段が受け取ったデータと記憶しているデータとを比較する比較手段と、
前記比較手段の比較の結果、前記受け取ったデータと前記記憶しているデータとの少なくとも一部が一致した場合、前記記憶しているデータと前記受け取ったデータとを統合する統合手段とを含むデータ管理装置。
（付記２）
データを記憶する記憶手段と、
前記比較手段の比較の結果、前記記憶しているデータと一致しなかった前記受け取ったデータを前記記憶手段に格納する格納手段とを含み、
前記統合手段が前記統合したデータで前記記憶手段に記憶しているデータを更新する
ことを特徴とする付記１に記載のデータ管理装置。
（付記３）
前記データが、不定期に発生するイベントに関するデータであり、
前記イベントに関するデータが、イベントの主体に関するデータと、前記主体以外のデータとを含み、
前記比較手段が、前記記憶しているデータと前記受け取ったデータとのそれぞれの前記主体以外のデータを比較し、
前記統合手段が、少なくとも前記主体に関するデータを統合することを特徴とする付記２に記載のデータ管理装置。
（付記４）
前記データが、不定期に発生するイベントに関するデータであり、
前記イベントに関するデータが、イベントの主体に関するデータと、前記主体以外のデータとを含み、
前記比較手段が、前記記憶しているデータと前記受け取ったデータとのそれぞれの前記主体に関するデータを比較し、
前記統合手段が、少なくとも前記主体以外のデータを統合することを特徴とする付記２に記載のデータ管理装置。
（付記５）
前記統合手段が前記統合したデータで前記記憶手段のデータを更新するときに、前記記憶手段に記憶しているデータの処理の順序を変更する順序操作手段を備えることを特徴とする付記２乃至付記４のいずれかに記載のデータ管理装置。
（付記６）
前記順序操作手段が、前記統合したデータを、順序の最後又は所定の順序の後の順序に登録することを特徴とする付記５に記載のデータ管理装置。
（付記７）
データの取り出し要求を受け取る受信手段と、
前記データを記憶している記憶手段と、
前記受信手段から取り出し要求を受け取り、前記記憶手段からデータを取り出す取り出し手段と、
前記取り出し手段が取り出したデータを一時保存する一時保存手段と、
前記取り出し手段が取り出したデータと前記一時保存手段が記憶しているデータとの少なくとも一部又は全部の一致を判定する判定手段と、
前記判定手段が一致と判定した場合、前記取り出し手段が取り出したデータを前記一時保存手段に記憶されているデータと統合する一時保存結合手段と、
前記判定手段の判定が不一致で前記一時保存手段に記憶されているデータの容量が所定の閾値以下の場合、前記取り出し手段が取り出したデータを前記一時保存手段に記憶し、
前記判定手段の判定が不一致で前記一時保存手段に記憶されているデータの容量が所定の閾値を越えている場合、前記一時保存手段に記憶されているデータを送信してから前記取り出し手段が取り出したデータを前記一時保存手段に保存する一時保存入替え手段と含むデータ管理装置。
（付記８）
前記一時保存結合手段が、データの統合後、前記取り出し手段に次のデータの取り出しを依頼することを特徴とする付記７に記載のデータ管理装置。
（付記９）
前記一時保存入替え手段が、前記一時保存手段に記憶しているデータの容量が所定の閾値以下の場合にデータを保存後、前記取り出し手段に次のデータの取り出しを依頼することを特徴とする付記７に記載のデータ管理装置。
（付記１０）
データを受け取り、
前記受け取ったデータと記憶しているデータとを比較し、
前記比較の結果、前記受け取ったデータと前記記憶しているデータとの少なくとも一部が一致した場合、前記記憶しているデータと前記受け取ったデータとを統合するデータ管理方法。
（付記１１）
前記比較の結果、前記受け取ったデータが前記記憶しているデータと一致しなかった場合、前記受け取ったデータを格納し、
前記受け取ったデータの少なくとも一部が前記記憶しているデータと一致した場合、前記統合したデータで前記記憶しているデータを更新する
ことを特徴とする付記１０に記載のデータ管理方法。
（付記１２）
前記データが、不定期に発生するイベントに関するデータであり、
前記イベントに関するデータが、イベントの主体に関するデータと、前記主体以外のデータとを含み、
前記比較が、前記記憶しているデータと前記受け取ったデータとのそれぞれの前記主体以外のデータを比較し、
前記統合が、少なくとも前記主体に関するデータを統合することを特徴とするは付記１１に記載のデータ管理方法。
（付記１３）
前記データが、不定期に発生するイベントに関するデータであり、
前記イベントに関するデータが、イベントの主体に関するデータと、前記主体以外のデータとを含み、
前記比較が、前記記憶しているデータと前記受け取ったデータとのそれぞれの前記主体に関するデータを比較し、
前記統合が、少なくともとも前記主体以外のデータを統合することを特徴とする付記１１に記載のデータ管理方法。
（付記１４）
前記統合したデータで前記記憶しているデータを更新する場合、前記記憶しているデータの処理の順序を変更することを特徴とする付記１１乃至付記１３のいずれかに記載のデータ管理方法。
（付記１５）
前記データの処理の順序の変更が、順序の最後又は所定の順序の後の順序に、前記統合データを登録することを特徴とする付記１４に記載のデータ管理方法。
（付記１６）
データの取り出し要求を受け、
前記取り出し要求のデータを取り出し、
前記取り出したデータと一時記保存しているデータとの少なくとも一部又は全部の一致を判定し、
前記判定が一致した場合、前記取り出したデータを、前記一時保存しているデータと統合し、
前記判定が不一致で前記一時保存しているデータの容量が所定の閾値以下の場合、前記取り出したデータを一時保存し、
前記判定が不一致で前記一時保存しているデータの容量が所定の閾値を越えている場合、前記一時保存しているデータを送信した後に前記取り出したデータを一時保存するデータ管理方法。
（付記１７）
前記データの結合後、次のデータの取り出すことを特徴とする付記１６に記載のデータ管理方法。
（付記１８）
前記一時保存手段に記憶しているデータの容量が所定の閾値以下の場合、前記データを一時保存後、次のデータの取り出すことを特徴とする付記１６に記載のデータ管理方法。
（付記１９）
データを受け取る処理と、
前記受け取ったデータと記憶しているデータとを比較する処理と、
前記比較の結果、前記受け取ったデータと前記記憶しているデータとの少なくとも一部が一致した場合、前記記憶しているデータと前記受け取ったデータとを統合する処理とをコンピュータに実行させるデータ管理プログラム。
（付記２０）
前記比較の結果、前記受け取ったデータが前記記憶しているデータと一致しなかった場合、前記受け取ったデータを格納する処理と、
前記受け取ったデータの少なくとも一部が前記記憶しているデータと一致した場合、前記統合したデータで前記記憶しているデータを更新する処理とを
前記コンピュータに実行させることを特徴とする付記１９に記載のデータ管理プログラム。
（付記２１）
前記データが、不定期に発生するイベントに関するデータであり、
前記イベントのデータが、イベントの主体に関するデータと、前記主体以外のデータとを含み、
前記比較処理が、前記記憶しているデータと前記受け取ったデータとのそれぞれの前記主体以外のデータを比較し、
前記統合処理が、少なくとも前記主体に関するデータを統合することを特徴とする付記２０に記載のデータ管理プログラム。
（付記２２）
前記データが、不定期に発生するイベントに関するデータであり、
前記イベントのデータが、イベントの主体に関するデータと、前記主体以外のデータとを含み、
前記比較処理が、前記記憶しているデータと前記受け取ったデータとのそれぞれの前記主体に関するデータを比較し、
前記統合処理が、少なくとも前記主体以外のデータを統合することを特徴とする付記２０に記載のデータ管理プログラム。
（付記２３）
前記統合したデータで前記記憶しているデータを更新する場合、前記記憶しているデータの処理の順序を変更する処理を特徴とする付記２０乃至付記２２のいずれかに記載のデータ管理プログラム。
（付記２４）
前記データの処理の順序の変更が、順序の最後又は所定の順序の後の順序に、前記統合データを登録することを特徴とする付記２３に記載のデータ管理プログラム。
（付記２５）
データの取り出し要求を受ける処理と、
前記取り出し要求のデータを取り出す処理と、
前記取り出したデータと一時記保存しているデータとの少なくとも一部又は全部の一致を判定する処理と、
前記判定が一致の場合、前記取り出したデータを前記一時保存しているデータと統合する処理と、
前記判定が不一致で、前記一時保存しているデータの容量が所定の閾値以下の場合、前記取り出したデータを一時保存する処理と、
前記判定が不一致で、前記一時保存しているデータの容量が所定の閾値を越えている場合、前記一時保存しているデータを送信した後に前記取り出したデータを一時保存する処理とをコンピュータに実行させるデータ管理プログラム。
（付記２６）
前記データの結合後、次のデータの取り出す処理を実行させることを特徴とする付記２５に記載のデータ管理プログラム。
（付記２７）
前記一時保存手段に記憶しているデータの容量が所定の閾値以下の場合、前記データを一時保存後、次のデータの取り出す処理を実行させることを特徴とする付記２５に記載のデータ管理プログラム方法。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、２０１０年８月２５日に出願された日本出願特願２０１０−１８７８８６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０００８】
１  データ管理装置
２  データ管理装置
３  データ管理装置
５  データ管理装置
６  データ記憶装置
８  通信網
９  データ管理システム
１０  受信手段
１３  受信手段
２０  比較手段
２１  比較手段
２３  判定手段
３０  記憶手段
３３  一時保存手段
４０  格納手段
４１  入出力手段
４３  一時保存入替え手段
５０  統合手段
５３  一時保存結合手段
６０  順序操作手段
７３  取り出し手段
８０  送信手段
９０  イベント駆動システム
９１  イベント検出装置
９２  データ管理装置
９３  イベント処理装置
９４  エンキュー手段
９５  記憶手段
９６  デキュー手段
【図１】
2012026307.tif 000003
【図２】
2012026307.tif 000004
【図３Ａ】
2012026307.tif 000005
【図３Ｂ】
2012026307.tif 000006
【図３Ｃ】
2012026307.tif 000007
【図４】
2012026307.tif 000008
【図５】
2012026307.tif 000009
【図６】
2012026307.tif 000010
【図７】
2012026307.tif 000011
【図８】
2012026307.tif 000012
【図９】
2012026307.tif 000013
【図１０】
2012026307.tif 000014
【図１１】
2012026307.tif 000015
【図１２】
2012026307.tif 000016
【図１３】
2012026307.tif 000017
【図１４】
2012026307.tif 000018
【国際調査報告】
2012026307.tif 000019
2012026307.tif 000020