JP5664383B2 - Event processing method, event processing apparatus, and event processing program - Google Patents

Event processing method, event processing apparatus, and event processing program Download PDF

Info

Publication number
JP5664383B2
JP5664383B2 JP2011061760A JP2011061760A JP5664383B2 JP 5664383 B2 JP5664383 B2 JP 5664383B2 JP 2011061760 A JP2011061760 A JP 2011061760A JP 2011061760 A JP2011061760 A JP 2011061760A JP 5664383 B2 JP5664383 B2 JP 5664383B2
Authority
JP
Japan
Prior art keywords
event
reception
time
received
counterpart
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
JP2011061760A
Other languages
Japanese (ja)
Other versions
JP2012198714A (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011061760A priority Critical patent/JP5664383B2/en
Publication of JP2012198714A publication Critical patent/JP2012198714A/en
Application granted granted Critical
Publication of JP5664383B2 publication Critical patent/JP5664383B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、イベント処理方法、イベント処理装置及びイベント処理プログラムに関する。   The present invention relates to an event processing method, an event processing device, and an event processing program.

ネットワークに接続された複数の情報源(例えば、コンピュータ、各種の機器、各種のセンサ等)から出力されたイベントをサーバで処理するイベント処理技術がある。近年、ネットワーク技術の発展と、情報源の多様化に伴い、様々な情報源が送信するイベントに基づき、サーバで逐次に判断処理を行うイベント処理技術が利用され始めている。   There is an event processing technique in which an event output from a plurality of information sources (for example, a computer, various devices, various sensors, etc.) connected to a network is processed by a server. In recent years, with the development of network technology and the diversification of information sources, event processing technology that sequentially performs judgment processing on a server based on events transmitted from various information sources has begun to be used.

イベント処理技術は、例えば、市場動向をもとに株式売買を行うアルゴリズムトレーディングシステムで利用される。また、ゲームの操作情報をもとにゲームの進行管理を行うオンラインゲームシステム、車両の位置情報をもとに渋滞マップを作成する渋滞マップ作成サーバ、圃場環境の観測情報や作業者の入力情報をもとに圃場作業を支援する圃場支援システム等で利用される。   The event processing technology is used, for example, in an algorithm trading system that performs stock trading based on market trends. In addition, an online game system that manages the progress of the game based on game operation information, a traffic jam map creation server that creates a traffic jam map based on vehicle position information, field environment observation information, and operator input information It is used in a field support system that supports field work.

これらのシステムでは、複数の情報源から送信されたイベントがサーバに受信された時に、イベントの発生順序と受信順序が一致しない場合、イベントに基づいた適切な判断処理が行えないという不都合がある。そこで、複数の情報源から送信されたイベントがサーバに受信されたときに、イベントを発生順序で並び替える従来技術がある。   In these systems, when events transmitted from a plurality of information sources are received by the server, if the event generation order does not match the reception order, there is a disadvantage that appropriate determination processing based on the event cannot be performed. Therefore, there is a conventional technique in which events are rearranged in the order of occurrence when events transmitted from a plurality of information sources are received by a server.

この従来技術では、イベントを送信する各イベント送信側計算機と、イベントを受信するイベント受信側計算機の間で計測された通信遅延時間の最大値と最小値の差を最大通信遅延時間差とする。そして、イベント受信側計算機は、常に最大通信遅延時間差だけイベントの受信を待ち合わせた後に、受信したイベントを発生順序で並び替えた上で、判断処理を行う処理ルーチンへ提供する。   In this prior art, the difference between the maximum value and the minimum value of the communication delay time measured between each event transmitting computer that transmits an event and the event receiving computer that receives an event is set as the maximum communication delay time difference. Then, the event reception side computer always waits for the reception of the event by the maximum communication delay time difference, and then rearranges the received events in the order of occurrence and provides them to the processing routine that performs the determination process.

特開2006−11683号公報JP 2006-11683 A

しかしながら、上記の従来技術では、最大通信遅延時間差だけイベントの受信を待つ間に、既に受信したイベントが時間的に古い情報となってしまうという問題があった。すなわち、上記の従来技術では、イベント受信側計算機は、最大通信遅延時間差だけ時間が経過する以前に全てのイベント送信側計算機からのイベントが揃った場合でもなお、最大通信遅延時間差だけ時間が経過するまで待機する。よって、待機時間を経たイベントは、時間的に古い、鮮度が低下したイベントとなってしまう。処理ルーチンは、提供されたイベントが、鮮度が低下したイベントであると、このイベントに基づいて適切な判断処理を行うことができない。   However, the above-described conventional technique has a problem that an already received event becomes old information in time while waiting for reception of the event by the maximum communication delay time difference. That is, in the above-described prior art, the event receiving side computer passes the maximum communication delay time difference even if the events from all the event transmission side computers are gathered before the maximum communication delay time difference elapses. Wait until. Therefore, an event that has passed through the standby time becomes an event that is old in time and has a low freshness. If the provided event is an event whose freshness has decreased, the processing routine cannot perform an appropriate determination process based on this event.

開示の技術は、上記に鑑みてなされたものであって、複数のイベント送信側機器から受信したイベント群を発生時刻順に並び替えて提供する際に、イベントの受信時刻から提供時刻までの時間差が長くなる(イベントの鮮度が低下する)ことの抑制を目的とする。   The disclosed technique has been made in view of the above, and when providing a group of events received from a plurality of event transmission side devices in order of occurrence time, there is a time difference from the reception time of the event to the provision time. The purpose is to suppress the lengthening (decrease in the freshness of the event).

開示の技術に係るイベント処理方法では、先ず、複数の機器から受信した各受信イベントをバッファに格納する。そして、受信イベントの送信元機器以外の相手方機器ごとに待ち時間を設定する。そして、相手方機器ごとの待ち時間内に相方手機器からイベントを受信したか、または待ち時間が超過したかによって、受信イベントの送信元機器と相手方機器との2機器間の発生順序判定を確定する。そして、バッファに格納された受信イベントのうち、受信イベントの送信元機器と、他の全ての相手方機器との間で発生順序が確定されたイベントを、発生時刻順に送信する。   In the event processing method according to the disclosed technique, first, each reception event received from a plurality of devices is stored in a buffer. Then, a waiting time is set for each counterpart device other than the transmission source device of the reception event. Then, according to whether the event is received from the partner device within the waiting time for each counterpart device or whether the waiting time is exceeded, the generation order determination between the two devices, that is, the transmission source device and the counterpart device of the reception event is determined. . Then, among the received events stored in the buffer, events whose generation order is determined between the transmission source device of the reception event and all other counterpart devices are transmitted in the order of occurrence time.

開示の技術によれば、イベントの受信時刻から提供時刻までの時間差が長くなる(イベントの鮮度が低下する)ことを抑制できる。   According to the disclosed technology, it is possible to suppress an increase in the time difference from the event reception time to the provision time (decrease in the freshness of the event).

図1は、イベント処理システムの構成を示す図である。FIG. 1 is a diagram illustrating a configuration of an event processing system. 図2は、イベント処理装置の構成を示す機能ブロック図である。FIG. 2 is a functional block diagram showing the configuration of the event processing apparatus. 図3は、待ち時間管理テーブルの一例を示す図である。FIG. 3 is a diagram illustrating an example of a waiting time management table. 図4は、順序整列用管理テーブルの一例を示す図である。FIG. 4 is a diagram illustrating an example of the order alignment management table. 図5は、イベント受信時の処理例を説明する図である。FIG. 5 is a diagram for explaining an example of processing when an event is received. 図6は、イベント発生順序判定処理(イベント受信時)の処理例を説明する図である。FIG. 6 is a diagram illustrating a processing example of event occurrence order determination processing (when an event is received). 図7は、イベント発生順序判定処理(タイムアウト時)の処理例を説明する図である。FIG. 7 is a diagram for explaining a processing example of event occurrence order determination processing (when timeout occurs). 図8は、イベント処理装置における処理を示すタイムチャートの一例を示す図である。FIG. 8 is a diagram illustrating an example of a time chart showing processing in the event processing apparatus. 図9は、イベント発生順序判定処理(イベント受信時)を示すフローチャートである。FIG. 9 is a flowchart showing event occurrence order determination processing (when an event is received). 図10は、イベント発生順序判定処理(タイムアウト時)を示すフローチャートである。FIG. 10 is a flowchart showing the event occurrence order determination process (during timeout). 図11Aは、イベント送信側機器の追加時の処理(待ち時間管理テーブル関連)を説明する図である。FIG. 11A is a diagram for explaining processing (related to a waiting time management table) when an event transmission side device is added. 図11Bは、イベント送信側機器の追加時の処理(順序整列用管理テーブル関連)を説明する図である。FIG. 11B is a diagram for explaining processing at the time of adding an event transmission side device (related to the order alignment management table). 図12は、イベント処理プログラムを実行するコンピュータの一例を示す図である。FIG. 12 is a diagram illustrating an example of a computer that executes an event processing program. 図13は、実施例1を説明する図である。FIG. 13 is a diagram for explaining the first embodiment. 図14は、実施例2を説明する図である。FIG. 14 is a diagram for explaining the second embodiment. 図15は、実施例3を説明する図である。FIG. 15 is a diagram for explaining the third embodiment.

以下に、開示の技術に係るイベント処理方法、イベント処理装置及びイベント処理プログラムの実施の形態を図面に基づいて説明する。なお、以下の実施の形態は、開示の技術を限定するものではない。   Hereinafter, embodiments of an event processing method, an event processing apparatus, and an event processing program according to the disclosed technology will be described with reference to the drawings. The following embodiments do not limit the disclosed technology.

[システム構成]
図1は、イベント処理システムの構成を示す図である。イベント処理システム1では、イベント処理装置10と、イベント送信側機器30A〜30Cが、ネットワーク3を介して通信可能に接続される。ネットワーク3は、有線もしくは無線の、公衆網又は閉域網の任意の通信網である。また、イベント処理システム1では、イベント処理装置10と、イベント処理アプリケーションサーバ20とが通信可能に接続される。
[System configuration]
FIG. 1 is a diagram illustrating a configuration of an event processing system. In the event processing system 1, the event processing device 10 and the event transmission side devices 30 </ b> A to 30 </ b> C are communicably connected via the network 3. The network 3 is a wired or wireless communication network such as a public network or a closed network. In the event processing system 1, the event processing device 10 and the event processing application server 20 are connected so as to be communicable.

イベント送信側機器30A〜30Cは、各々で発生したイベントをイベント処理装置10へ送信する情報源であり、例えばコンピュータ、各種の機器、各種のセンサ等である。イベント送信側機器30A〜30Cは、イベント処理装置10において互いのイベントの受信を待ち合せるグループをなす。なお、イベント送信側機器30A〜30Cを総称する場合、イベント送信側機器30と呼ぶこととする。   The event transmitting side devices 30A to 30C are information sources that transmit events generated in the respective devices to the event processing apparatus 10, and are, for example, computers, various devices, various sensors, and the like. The event transmitting devices 30 </ b> A to 30 </ b> C form a group that waits for reception of each other's events in the event processing device 10. The event transmitting devices 30A to 30C are collectively referred to as the event transmitting device 30.

実施の形態において、イベント処理装置10が受信したイベントの発生順序を判定して確定させるために着目するイベントを自イベントと呼ぶこととする。また、イベント処理装置10へ自イベントを送信した送信側機器30を送信元機器と呼ぶこととする。また、イベントを待ち合せるグループ内の送信元機器以外のイベント送信側機器30を相手方機器と呼ぶこととする。また、相手方機器がイベント処理装置10へ送信するイベントを相手イベントと呼ぶこととする。相手イベントは、イベント処理装置10が自イベントとの発生順序の判定対象とするイベントである。   In the embodiment, an event of interest for determining and determining the order of occurrence of events received by the event processing apparatus 10 is referred to as a local event. Further, the transmission side device 30 that has transmitted the event to the event processing apparatus 10 is referred to as a transmission source device. In addition, the event transmission side device 30 other than the transmission source device in the group waiting for the event is referred to as a counterpart device. In addition, an event transmitted from the counterpart device to the event processing apparatus 10 is referred to as a counterpart event. The partner event is an event that is determined by the event processing apparatus 10 for the order of occurrence with the own event.

具体的には、イベント送信側機器30A〜30Cのグループにおいて、イベント送信側機器30Aを送信元機器と呼ぶこととする場合、イベント送信側機器30B、30Cが相手方機器である。また、イベント送信側機器30Aがイベント処理装置10へ送信するイベントを自イベントと呼ぶこととする場合、イベント送信側機器30B、30Cがイベント処理装置10へ送信するイベントが相手イベントである。イベント送信側機器30B、イベント送信側機器30Cについても同様である。   Specifically, in the group of event transmission devices 30A to 30C, when the event transmission device 30A is referred to as a transmission source device, the event transmission devices 30B and 30C are counterpart devices. When an event transmitted from the event transmitting device 30A to the event processing device 10 is referred to as a self event, the event transmitted from the event transmitting device 30B or 30C to the event processing device 10 is a partner event. The same applies to the event transmission side device 30B and the event transmission side device 30C.

イベント処理装置10は、イベント送信側機器30A〜30Cから受信したイベントを発生順序で並び替えて、イベント処理アプリケーションサーバ20へ出力するコンピュータ等である。なお、実施の形態で「イベントの受信」という場合、イベント送信側機器30A〜30Cから送信されたイベントが、イベント処理装置10により受信されることをいう。イベント処理アプリケーションサーバ20は、イベント処理装置10から出力されたイベントをもとに各種の判断処理を行うコンピュータ等である。   The event processing apparatus 10 is a computer or the like that rearranges the events received from the event transmission side devices 30A to 30C in the order of occurrence and outputs the events to the event processing application server 20. In the embodiment, “event reception” means that an event transmitted from the event transmitting devices 30A to 30C is received by the event processing apparatus 10. The event processing application server 20 is a computer or the like that performs various determination processes based on events output from the event processing apparatus 10.

なお、図1では、3台のイベント送信側機器30A〜30C、1台のイベント処理装置10、1台のイベント処理アプリケーションサーバ20を図示するが、開示のイベント処理システム1は、図1の構成に限定されない。すなわち、イベント処理システム1は、2台以上のイベント送信側機器、任意の数のイベント処理装置及び任意の数のイベント処理アプリケーションサーバを含んでもよい。   1 illustrates three event transmitting devices 30A to 30C, one event processing device 10, and one event processing application server 20, the disclosed event processing system 1 is configured as shown in FIG. It is not limited to. That is, the event processing system 1 may include two or more event transmitting devices, an arbitrary number of event processing devices, and an arbitrary number of event processing application servers.

以下の説明では、イベント処理システム1は、次の(1)〜(3)を満たすことを前提とする。
(1)イベント送信側機器30と、イベント処理装置10の間でシステム時刻が同期している。
(2)イベント送信側機器30は、発生時刻の順序で、イベントをイベント処理装置10へ送信する。イベント送信側機器30が、イベントを一旦蓄積し、蓄積した複数のイベントを一括してイベント処理装置10へ送信する場合も同様である。
(3)イベント送信側機器30から送信されたイベントは、同一のイベント送信側機器30から先行して送信された他のイベントよりも先にイベント処理装置10に受信されることはない。すなわち、同一のイベント送信側機器30からのイベントは、発生時刻の順序でイベント処理装置10に受信される。
In the following description, it is assumed that the event processing system 1 satisfies the following (1) to (3).
(1) The system time is synchronized between the event transmitting device 30 and the event processing device 10.
(2) The event transmitting device 30 transmits events to the event processing apparatus 10 in the order of occurrence time. The same applies to the case where the event transmission side device 30 temporarily accumulates events and transmits the accumulated plurality of events to the event processing apparatus 10 at once.
(3) An event transmitted from the event transmission side device 30 is not received by the event processing apparatus 10 before other events transmitted in advance from the same event transmission side device 30. That is, events from the same event transmitting device 30 are received by the event processing apparatus 10 in the order of occurrence time.

次に、各イベント送信側機器30から送信されるイベントがイベント処理装置10に受信されるまでに生じるイベントの発生時刻と、受信時刻との時間差であるタイムラグについて説明する。各イベント送信側機器30からイベント処理装置10へ送信されたイベントは、タイムラグにより、イベントの発生順序でイベント処理装置10に受信されるとは限らない。   Next, a time lag that is a time difference between an occurrence time of an event that occurs until an event transmitted from each event transmitting device 30 is received by the event processing device 10 and a reception time will be described. The events transmitted from each event transmitting device 30 to the event processing device 10 are not necessarily received by the event processing device 10 in the event generation order due to the time lag.

上記のタイムラグは、様々な要因で発生する。要因は、イベント送信側機器30とイベント処理装置10間の伝送遅延、イベント送信側機器30又はイベント処理装置10とネットワーク3の接続断、ネットワーク3内の通信断、イベント送信側機器30におけるイベント発生から送信までの遅延等である。各イベント送信側機器30におけるイベント発生からイベント送信までの遅延は、イベント送信側機器30内で、イベントを検出後、一定期間保持してから送信する場合等に発生する。   The above time lag occurs due to various factors. The causes are a transmission delay between the event transmitting device 30 and the event processing device 10, a disconnection between the event transmitting device 30 or the event processing device 10 and the network 3, a communication disconnection within the network 3, and an event occurrence in the event transmitting device 30. Delay from transmission to transmission. The delay from event occurrence to event transmission in each event transmission side device 30 occurs when the event transmission side device 30 detects the event and then transmits it after holding it for a certain period.

これら様々な要因から、各イベント送信側機器30においてイベントが発生してから、イベントがイベント処理装置10に受信されるまでに、長短様々なタイムラグが発生する。このため、イベント処理装置10が、受信順序でイベントをイベント処理アプリケーションサーバ20へ出力した場合、複数のイベント間で発生時刻と受信時刻との順序の逆転が生じる場合がある。複数のイベント間で発生時刻と受信時刻との順序に逆転が生じた場合、イベント処理アプリケーションサーバ20は、イベントに基づいた適切な判断処理ができない。   Due to these various factors, various time lags occur between the time when an event occurs in each event transmitting device 30 and the time when the event is received by the event processing apparatus 10. For this reason, when the event processing apparatus 10 outputs events to the event processing application server 20 in the reception order, the order of the occurrence time and the reception time may be reversed between a plurality of events. If the order of occurrence time and reception time is reversed between a plurality of events, the event processing application server 20 cannot perform appropriate determination processing based on the event.

そこで、イベント処理装置10は、バッファに自イベントとして格納したイベントごとに、相手方機器から送信される相手イベントの受信を待ち合せるイベント待ち時間を相手方機器ごとに設定する。そして、イベント処理装置10は、自イベントごと、かつ相手方機器ごとに設定されたイベント待ち時間だけ、相手方機器からの相手イベントの受信を待つ。   Therefore, the event processing device 10 sets, for each partner device, an event waiting time for waiting for reception of the partner event transmitted from the partner device for each event stored as its own event in the buffer. Then, the event processing apparatus 10 waits for reception of the partner event from the partner device for the event waiting time set for each self event and each partner device.

そして、イベント処理装置10は、イベント待ち時間以内に相手方機器から相手イベントを受信するか、相手イベントのイベント待ち時間を超過した場合、バッファに格納した自イベントについて、送信元機器と相手方機器との間で順序を判定して確定させる。イベント処理装置10は、バッファに格納した各イベントについて、送信元機器と相手方機器との間の順序の判定を繰り返し、送信元機器と全ての相手方機器と間の順序を確定させる。   When the event processing apparatus 10 receives the partner event from the partner device within the event waiting time or exceeds the event waiting time of the partner event, the event processing device 10 determines whether the source device and the partner device have the own event stored in the buffer. Determine the order between and confirm. The event processing apparatus 10 repeats the determination of the order between the transmission source device and the counterpart device for each event stored in the buffer, and determines the order between the transmission source device and all the counterpart devices.

そして、イベント処理装置10は、バッファに格納したイベントのうち、送信元機器と全ての相手方機器との間の順序を確定させたイベントを、イベントの発生順序でイベント処理アプリケーションサーバ20へ出力する。これにより、イベント処理装置10は、タイムラグが最も長い相手方機器からの相手イベントの受信を待ち合わせずとも、自イベントと相手イベントとの順序の逆転を是正するので、相手イベントの受信の待機時間を低減でき、イベントの鮮度の低下を抑制できる。   Then, the event processing apparatus 10 outputs, to the event processing application server 20, events in which the order between the transmission source device and all the counterpart devices is fixed among the events stored in the buffer in the event generation order. As a result, the event processing device 10 corrects the reversal of the order of the own event and the partner event without waiting for the reception of the partner event from the partner device with the longest time lag, thus reducing the waiting time for receiving the partner event. It can suppress the decrease in the freshness of the event.

[イベント処理装置の構成]
図2は、イベント処理装置の構成を示す機能ブロック図である。イベント処理装置10は、受信部11、待ち時間設定部12、バッファリング部13、イベント発生順序判定部14、記憶部15を有する。記憶部15は、待ち時間管理テーブル15a、順序整列用管理テーブル15bをさらに有する。以降では、図2と図8を用いて、処理の流れの概要を説明する。
[Event processor configuration]
FIG. 2 is a functional block diagram showing the configuration of the event processing apparatus. The event processing apparatus 10 includes a reception unit 11, a waiting time setting unit 12, a buffering unit 13, an event occurrence order determination unit 14, and a storage unit 15. The storage unit 15 further includes a waiting time management table 15a and an order alignment management table 15b. Hereinafter, the outline of the processing flow will be described with reference to FIGS. 2 and 8.

受信部11は、イベント送信側機器30からイベントを受信する(ステップS101(図8参照、以下同様))。受信部11は、イベント送信側機器30からイベントを受信すると、待ち時間設定部12にイベントの送信元機器、イベントの発生時刻、イベントの受信時刻を通知(ステップS102)後、受信イベントをバッファリング部13へ送信する(ステップS103)。なお、受信部11は、受信イベントに一意のイベント識別情報を付与してバッファリング部13へ送信する。   The receiving unit 11 receives an event from the event transmitting side device 30 (step S101 (see FIG. 8, the same applies hereinafter)). When receiving the event from the event transmission side device 30, the reception unit 11 notifies the waiting time setting unit 12 of the event transmission source device, the event occurrence time, and the event reception time (step S102), and then buffers the reception event. It transmits to the part 13 (step S103). The receiving unit 11 adds unique event identification information to the received event and transmits the received event to the buffering unit 13.

ステップS201では、待ち時間設定部12は、受信部11から受信を通知されたイベントの発生時刻とイベントの受信時刻との時間差をタイムラグとして算出する。そして、待ち時間設定部12は、受信を通知されたイベントの送信元機器であるイベント送信側機器30ごとにタイムラグを管理し、タイムラグの最大値を、該当するイベント送信側機器30からのイベント受信を待つイベント待ち時間と決定する。そして、待ち時間設定部12は、該当するイベント送信側機器30を一意に識別する識別情報に決定したイベント待ち時間を対応付けて待ち時間管理テーブル15aに登録する(以上、ステップS201)。   In step S <b> 201, the waiting time setting unit 12 calculates the time difference between the event occurrence time notified of reception from the reception unit 11 and the event reception time as a time lag. Then, the waiting time setting unit 12 manages the time lag for each event transmission side device 30 that is the transmission source device of the event notified of reception, and determines the maximum value of the time lag as the event reception from the corresponding event transmission side device 30. Determine the event wait time to wait. Then, the wait time setting unit 12 registers the determined event wait time in the wait time management table 15a in association with the identification information for uniquely identifying the corresponding event transmitting device 30 (step S201).

なお、待ち時間設定部12が、ステップS201において、イベント待ち時間を決定する方法は、次の様にしてもよい。ここで、イベント処理装置10の電源投入直後等は、各イベント送信側機器30に対応するイベント待ち時間として、初期値が待ち時間管理テーブル15aに登録されるとする。なお、初期値は、所定値、もしくは既に設定されている他のイベント送信側機器30のイベント待ち時間に基づく統計値(最小値、最大値、中央値、最頻値、平均等)としてもよい。   The method for determining the event waiting time in step S201 by the waiting time setting unit 12 may be as follows. Here, it is assumed that an initial value is registered in the wait time management table 15a as an event wait time corresponding to each event transmission side device 30 immediately after the event processing apparatus 10 is turned on. The initial value may be a predetermined value or a statistical value (minimum value, maximum value, median value, mode value, average, etc.) based on the event waiting time of another event transmission side device 30 that has already been set. .

すなわち、待ち時間設定部12は、受信部11から受信を通知されたイベントの発生時刻とイベントの受信時刻に基づくタイムラグを算出する。そして、待ち時間設定部12は、待ち時間管理テーブル15aを参照し、タイムラグと、受信部11から受信を通知されたイベントの送信元機器であるイベント送信側機器30に対応するイベント待ち時間とを比較する。そして、待ち時間設定部12は、タイムラグが、待ち時間管理テーブル15aに登録されている受信時間を上回る場合、タイムラグで、該当するイベント送信側機器30に対応するイベント待ち時間を更新する。   That is, the waiting time setting unit 12 calculates a time lag based on the event occurrence time notified of the reception from the reception unit 11 and the event reception time. Then, the waiting time setting unit 12 refers to the waiting time management table 15a, and determines the time lag and the event waiting time corresponding to the event transmission side device 30 that is the transmission source device of the event notified of reception from the reception unit 11. Compare. Then, when the time lag exceeds the reception time registered in the wait time management table 15a, the wait time setting unit 12 updates the event wait time corresponding to the corresponding event transmitting device 30 with the time lag.

なお、待ち時間設定部12は、イベント送信側機器30ごとに、過去の全てのタイムラグを履歴として蓄積しておき、最新のタイムラグが、履歴に基づく統計的な外れ値である場合、最新のタイムラグでイベント待ち時間を更新しないとしてもよい。そして、最新のタイムラグが統計的な外れ値である場合、待ち時間設定部12は、最新のタイムラグを蓄積しないとしてもよい。   The waiting time setting unit 12 accumulates all past time lags as a history for each event transmission side device 30. If the latest time lag is a statistical outlier based on the history, the latest time lag is stored. The event waiting time may not be updated. When the latest time lag is a statistical outlier, the waiting time setting unit 12 may not accumulate the latest time lag.

例えば、待ち時間設定部12は、イベント送信側機器30ごとに、過去の一定期間のタイムラグを時系列に並べた場合のタイムラグの変化量もしくは変化率をヒストグラムとして蓄積する。そして、待ち時間設定部12は、最新のタイムラグと同一値もしくは一定範囲内で近似する値の出現度数が一定数未満の場合、最新のタイムラグを外れ値としてもよい。   For example, the waiting time setting unit 12 accumulates, as a histogram, the amount of change or rate of change of the time lag when the time lags of a certain period in the past are arranged in time series for each event transmission side device 30. Then, the waiting time setting unit 12 may set the latest time lag as an outlier when the appearance frequency of the same value as the latest time lag or a value approximated within a certain range is less than a certain number.

または、待ち時間設定部12は、最新のタイムラグが、イベント送信側機器30ごとの所定の閾値を超えるか否かを判定し、所定の閾値を超える場合に、最新のタイムラグを外れ値としてもよい。または、待ち時間設定部12は、イベント送信側機器30ごとに、タイムラグの履歴の平均と、最新のタイムラグとの差である偏差の絶対値を、タイムラグの履歴の標準偏差で割った統計値が所定値を超える場合、最新のタイムラグを外れ値としてもよい。例えば、所定値が“3”の場合は、いわゆる“3σの法則”に従って外れ値を除外することになる。   Alternatively, the waiting time setting unit 12 determines whether or not the latest time lag exceeds a predetermined threshold value for each event transmission-side device 30, and when it exceeds the predetermined threshold value, the latest time lag may be set as an outlier. . Alternatively, the waiting time setting unit 12 obtains, for each event transmission device 30, a statistical value obtained by dividing the absolute value of the deviation, which is the difference between the average of the time lag history and the latest time lag, by the standard deviation of the time lag history. When exceeding a predetermined value, the latest time lag may be set as an outlier. For example, when the predetermined value is “3”, outliers are excluded according to the so-called “3σ law”.

この様に、最新のタイムラグが統計的な外れ値である場合、最新のタイムラグで待ち時間管理テーブル15aに登録されているイベント送信側機器30に対応するイベント待ち時間を更新しないことにより、イベント待ち時間の精度が低下することを防止できる。   In this way, when the latest time lag is a statistical outlier, the event waiting time is not updated by updating the event waiting time corresponding to the event transmitting device 30 registered in the waiting time management table 15a with the latest time lag. It is possible to prevent the time accuracy from being lowered.

バッファリング部13は、受信部11から受信したイベントを蓄積(バッファリング)する(ステップS301)。また、バッファリング部13は、受信部11からイベントを受信したことをイベント発生順序判定部14へ通知する(ステップS302)。また、バッファリング部13は、イベント発生順序判定部14からの通知に応じて、発生順序が確定されたイベントをイベント処理アプリケーションサーバ20へ出力する(ステップS303)。   The buffering unit 13 accumulates (buffers) the events received from the receiving unit 11 (Step S301). Further, the buffering unit 13 notifies the event occurrence order determination unit 14 that an event has been received from the reception unit 11 (step S302). Further, the buffering unit 13 outputs an event for which the generation order has been determined to the event processing application server 20 in response to the notification from the event generation order determination unit 14 (step S303).

イベント発生順序判定部14は、イベント送信側機器30からのイベントの受信(ステップS401)もしくは後述のタイマのタイムアウト(ステップS408Yes)を契機として、各イベントについて、送信元機器と相手方機器の順序の判定を繰り返す。そして、イベント発生順序判定部14は、送信元機器と全ての相手方機器の順序を確定させる(ステップS405、ステップS409)。そして、イベント発生順序判定部14は、送信元機器と全ての相手方機器との間の順序が確定されたイベントをイベント処理アプリケーションサーバ20へ出力する様にバッファリング部13に対して通知する(ステップS411)。   The event occurrence order determination unit 14 determines the order of the transmission source device and the counterpart device for each event in response to reception of an event from the event transmission side device 30 (step S401) or a timer timeout (step S408 Yes) described later. repeat. Then, the event occurrence order determination unit 14 determines the order of the transmission source device and all the counterpart devices (steps S405 and S409). Then, the event occurrence order determination unit 14 notifies the buffering unit 13 to output to the event processing application server 20 an event in which the order between the transmission source device and all the counterpart devices has been determined (step). S411).

具体的には、イベント発生順序判定部14は、バッファリング部13からイベントの受信を通知されると、通知されたイベントに対応する新規レコードを順序整列用管理テーブル15bに挿入する(ステップS404)。なお、イベント発生順序判定部14は、イベントの発生時刻の昇順で整列しながら新規レコードを順序整列用管理テーブル15bに挿入する。   Specifically, when receiving the event reception from the buffering unit 13, the event occurrence order determination unit 14 inserts a new record corresponding to the notified event into the order alignment management table 15b (step S404). . The event occurrence order determination unit 14 inserts new records into the order arrangement management table 15b while arranging the events in ascending order of event occurrence time.

イベント発生順序判定部14は、受信イベントに対応する新規レコードを順序整列用管理テーブル15bに挿入する際、待ち時間管理テーブル15aから各相手方機器の待ち時間を取得する(ステップS402)。そして、イベント発生順序判定部14は、受信イベントの発生時刻に各相手方機器の待ち時間をそれぞれ加算した時刻を、各相手方機器からの相手イベントの受信待ち上限時刻とする(ステップS403)。そして、イベント発生順序判定部14は、受信イベントの受信時刻及び各相手方機器からの相手イベントの受信待ち上限時刻を、受信イベントに対応する新規レコードに登録する(ステップS404)。   The event occurrence order determination unit 14 acquires the waiting time of each counterpart device from the waiting time management table 15a when a new record corresponding to the received event is inserted into the order arranging management table 15b (step S402). Then, the event occurrence order determination unit 14 sets the time obtained by adding the waiting time of each counterpart device to the occurrence time of the reception event as the reception upper limit time of the counterpart event from each counterpart device (step S403). Then, the event occurrence order determination unit 14 registers the reception time of the reception event and the reception upper limit time of the partner event from each partner device in a new record corresponding to the reception event (step S404).

イベント発生順序判定部14は、受信イベントに対応する新規レコードを挿入する際、受信イベントと、相手イベントについて、受信イベントの送信元機器と相手方機器との間の順序を判定する(ステップS405)。そして、イベント発生順序判定部14は、受信イベントは、相手イベントとの間の順序が確定したか否かを判定する(ステップS406)。   When inserting a new record corresponding to the received event, the event occurrence order determining unit 14 determines the order of the received event and the counterpart event between the transmission source device of the received event and the counterpart device (step S405). Then, the event occurrence order determination unit 14 determines whether or not the order of the received event and the partner event has been determined (step S406).

また、イベント発生順序判定部14は、受信イベントに対応する新規レコードを挿入する際、受信イベントについて、相手方機器に対応する相手イベントの受信待ち上限時刻に基づくタイマの計時を開始する(ステップS407)。そして、イベント発生順序判定部14は、タイマの計時がタイムアウトすると(ステップS408Yes)、受信イベントと、タイムアウトした相手方機器であるイベント送信側機器30に対応する相手イベントとの間の順序を判定する(ステップS409)。   When the event occurrence order determination unit 14 inserts a new record corresponding to the received event, the event occurrence order determination unit 14 starts measuring the timer based on the upper limit reception waiting time of the partner event corresponding to the partner device for the received event (step S407). . Then, the event occurrence order determination unit 14 determines the order between the reception event and the partner event corresponding to the event transmission side device 30 which is the partner device that has timed out when the timer timing times out (step S408 Yes) ( Step S409).

上記の様にして、イベント発生順序判定部14は、全ての相手方機器に対応する相手イベントの受信待ち上限時刻が“順序判定済”となったイベント(ステップS410Yes)を順序確定済のイベントとしてバッファリング部13に通知する(ステップS411)。   As described above, the event occurrence order determination unit 14 buffers an event (step S410 Yes) in which the upper limit reception waiting time of the partner event corresponding to all the counterpart devices is “order determined” as the event whose order has been determined. The ring unit 13 is notified (step S411).

なお、受信部11及びバッファリング部13は、複数の機器からイベントを受信した各受信イベントをバッファに格納する受信部の一例である。待ち時間設定部12は、受信イベントの送信元機器以外の相手方機器ごとに待ち時間を設定する待ち時間設定部の一例である。バッファリング部13及びイベント発生順序判定部14は、バッファに格納された受信イベントのうち、受信イベントの送信元機器と、他の全ての相手方機器との間で発生順序が確定されたイベントを、発生時刻順に送信する送信部の一例である。   The receiving unit 11 and the buffering unit 13 are an example of a receiving unit that stores each received event received from a plurality of devices in a buffer. The waiting time setting unit 12 is an example of a waiting time setting unit that sets a waiting time for each counterpart device other than the transmission source device of the reception event. The buffering unit 13 and the event occurrence order determination unit 14 are events received for which the order of occurrence is determined between the transmission source device of the reception event and all other counterpart devices among the reception events stored in the buffer. It is an example of the transmission part which transmits in order of generation time.

なお、受信部11、待ち時間設定部12、バッファリング部13、イベント発生順序判定部14は、一例として、ASIC、CPU、MPU等の集積回路で実現できる。ASICは“Application Specific Integrated Circuit”、CPUは“Central Processing Unit”、MPUは“Micro Processing Unit”の略である。また、記憶部15は、一例として、RAM(Random Access Memory)、フラッシュメモリ(flash memory)、磁気ディスク、光ディスク、光磁気ディスク等を記憶媒体とする記憶装置で実現できる。   Note that the receiving unit 11, the waiting time setting unit 12, the buffering unit 13, and the event occurrence order determination unit 14 can be realized by an integrated circuit such as an ASIC, a CPU, or an MPU, as an example. ASIC stands for “Application Specific Integrated Circuit”, CPU stands for “Central Processing Unit”, and MPU stands for “Micro Processing Unit”. For example, the storage unit 15 can be realized by a storage device using a RAM (Random Access Memory), a flash memory, a magnetic disk, an optical disk, a magneto-optical disk, or the like as a storage medium.

[待ち時間管理テーブル]
図3は、待ち時間管理テーブルの一例を示す図である。図3に示す様に、待ち時間管理テーブル15aでは、「イベント送信側機器」と、「イベント待ち時間」のカラムを有する。待ち時間管理テーブル15aでは、「イベント送信側機器」の値と、「イベント待ち時間」の値が対応付けられて管理される。
[Wait time management table]
FIG. 3 is a diagram illustrating an example of a waiting time management table. As shown in FIG. 3, the wait time management table 15a has columns of “event transmission side device” and “event wait time”. In the waiting time management table 15a, the value of “event transmission side device” and the value of “event waiting time” are managed in association with each other.

「イベント送信側機器」は、イベント送信側機器を一意に識別する識別情報を示す。「イベント待ち時間」は、対応するイベント送信側機器30が相手方機器である場合に、自イベントがイベント処理装置10により受信されたとき、自イベントの発生時刻を開始時点として、イベント処理装置10による相手イベントの受信を待つ時間を示す。   “Event transmission side device” indicates identification information for uniquely identifying the event transmission side device. The “event waiting time” is determined by the event processing device 10 when the corresponding event transmitting device 30 is a counterpart device, and when the own event is received by the event processing device 10, the start time of the own event is set as the start time. Indicates the time to wait for receiving the partner event.

図3に示す例では、イベント送信側機器30Aに、イベント待ち時間として時間“w1”が対応付けられている。これは、イベント送信側機器30Aが相手方機器である場合、イベント処理装置10は、自イベントがイベント処理装置10により受信されたときを開始時点として、時間“w1”だけイベント送信側機器30Aからのイベント受信を待つことを意味する。イベント送信側機器30B、300Cについても同様である。   In the example illustrated in FIG. 3, time “w1” is associated with the event transmission side device 30A as the event waiting time. This is because, when the event transmission side device 30A is a counterpart device, the event processing device 10 starts from the time when its own event is received by the event processing device 10 and starts from the event transmission side device 30A for a time “w1”. It means waiting for event reception. The same applies to the event transmitting devices 30B and 300C.

なお、待ち時間管理テーブル15aは、互いにイベントを待ち合せるイベント送信側機器30のグループごとにテーブルを分けて作成されてもよい。または、待ち時間管理テーブル15aは、互いにイベントを待ち合せるイベント送信側機器30のグループの別なく一つのテーブルで作成されてもよい。または、待ち時間管理テーブル15aは、互いにイベントを待ち合せるイベント送信側機器30のグループを一意の識別情報で識別可能にして、異なるグループのイベント送信側機器30に対応する「イベント待ち時間」を一つのテーブルで管理するとしてもよい。   The waiting time management table 15a may be created by dividing a table for each group of event transmitting devices 30 that wait for events. Alternatively, the waiting time management table 15a may be created as a single table regardless of the group of the event transmitting side devices 30 that wait for events. Alternatively, the waiting time management table 15a makes it possible to identify a group of event transmitting devices 30 waiting for an event with unique identification information, and set “event waiting time” corresponding to the event transmitting devices 30 of different groups. It may be managed by one table.

[順序整列用管理テーブル]
図4は、順序整列用管理テーブルの一例を示す図である。図4に示す様に、順序整列用管理テーブル15bは、受信イベントごとに、「発生時刻」、「受信時刻」、「送信元機器」、「イベント識別情報」、「イベント待ち上限時刻(受信時刻)」のカラムを有する。順序整列用管理テーブル15bでは、「発生時刻」の値、「受信時刻」の値、「送信元機器」の値、「イベント識別情報」の値、「イベント待ち上限時刻(受信時刻)」の値が対応付けられて管理される。
[Management table for ordering]
FIG. 4 is a diagram illustrating an example of the order alignment management table. As shown in FIG. 4, the order alignment management table 15b includes “occurrence time”, “reception time”, “transmission source device”, “event identification information”, “event waiting upper limit time (reception time) for each reception event. ) "Column. In the order alignment management table 15b, a value of “occurrence time”, a value of “reception time”, a value of “source device”, a value of “event identification information”, and a value of “event waiting upper limit time (reception time)” Are associated and managed.

さらに、順序整列用管理テーブル15bの「イベント待ち上限時刻(受信時刻)」のカラムは、イベント送信側機器ごとにカラムを有し、イベント送信側機器ごとに「イベント待ち上限時刻(受信時刻)」の値が管理される。   Furthermore, the “event waiting upper limit time (reception time)” column of the order management table 15b has a column for each event transmission side device, and “event waiting upper limit time (reception time)” for each event transmission side device. The value of is managed.

「イベント発生時刻」は、順序整列用管理テーブル15bにおいて、該当するイベントが発生した時刻を示す。「受信時刻」は、順序整列用管理テーブル15bにおいて、該当するイベントがイベント処理装置10により受信された時刻を示す。「送信元機器」は、順序整列用管理テーブル15bにおいて、該当するイベントを送信したイベント送信側機器30を示す。「イベント識別情報」は、順序整列用管理テーブル15bにおいて、該当するイベントを一意に識別する識別情報を示す。   “Event occurrence time” indicates the time when the corresponding event occurs in the order management table 15b. “Reception time” indicates the time at which the event processing apparatus 10 received the corresponding event in the order alignment management table 15b. The “transmission source device” indicates the event transmission side device 30 that has transmitted the corresponding event in the order management table 15b. “Event identification information” indicates identification information for uniquely identifying a corresponding event in the order management table 15b.

「イベント待ち上限時刻(受信時刻)」は、イベント送信側機器が、該当するイベントを送信した送信元機器の場合には、イベントの受信時刻を示す。また、「イベント待ち上限時刻(受信時刻)」は、イベント送信側機器が相手方機器である場合には、イベント処理装置10が相手方機器からの相手イベントの受信を待つ上限時刻を示す。   The “event waiting upper limit time (reception time)” indicates the event reception time when the event transmission side device is the transmission source device that has transmitted the corresponding event. The “event waiting upper limit time (reception time)” indicates the upper limit time when the event processing apparatus 10 waits for reception of a partner event from the partner device when the event transmitting device is the partner device.

図4に示す例では、「イベント識別情報」“e2”のイベントを自イベントと呼ぶこととする場合、「イベント識別情報」“e1”のイベントが、発生順序の判定対象である相手イベントである。この場合、自イベントの「発生時刻」は“t0”、「受信時刻」は“t4”、「送信元機器」は“イベント送信側機器30B”である。また、自イベントは、「イベント待ち上限時刻」“t0+w1”まで、相手方機器であるイベント送信側機器30Aからの相手イベントの受信を待つことを示す。同様に、自イベントは、「イベント待ち上限時刻」“t0+w3”まで、相手方機器であるイベント送信側機器30Cからの相手イベントの受信を待つことを示す。   In the example shown in FIG. 4, when an event of “event identification information” “e2” is called an own event, an event of “event identification information” “e1” is a partner event whose generation order is to be determined. . In this case, the “occurrence time” of the own event is “t0”, the “reception time” is “t4”, and the “transmission source device” is “event transmission side device 30B”. Further, the own event indicates waiting for reception of the partner event from the event transmitting device 30A, which is the partner device, until “event waiting upper limit time” “t0 + w1”. Similarly, the own event indicates waiting for reception of the partner event from the event transmitting device 30C, which is the partner device, until “event waiting upper limit time” “t0 + w3”.

また、「イベント識別情報」“e2”のイベントは、“イベント送信側機器30B”を送信元機器とするイベントであるので、「イベント待ち上限時刻(受信時刻)」のイベント送信側機器30Bに対応させて、自イベントの「受信時刻」“(t4)”が登録される。   Further, since the event of “event identification information” “e2” is an event having “event transmission side device 30B” as a transmission source device, it corresponds to event transmission side device 30B of “event waiting upper limit time (reception time)”. Then, the “reception time” “(t4)” of the own event is registered.

同様に、図4に示す例では、「イベント識別情報」“e1”のイベントを自イベントと呼ぶこととする場合、「イベント識別情報」“e2”のイベントが、発生順序の判定対象である相手イベントである。この場合、自イベントの「発生時刻」は“t1”、「受信時刻」は“t3”、「送信元機器は」“イベント送信側機器30A”である。   Similarly, in the example illustrated in FIG. 4, when the event of “event identification information” “e1” is referred to as its own event, the event of “event identification information” “e2” is the target whose generation order is to be determined. It is an event. In this case, the “occurrence time” of the own event is “t1”, the “reception time” is “t3”, “the transmission source device” is “event transmission side device 30A”.

また、図4に示す例では、自イベントは、「イベント待ち上限時刻」“t1+w2”まで、相手方機器であるイベント送信側機器30Bからの相手イベントの受信を待つことを示す。同様に、自イベントは、「イベント待ち上限時刻」“t1+w3”まで、相手方機器であるイベント送信側機器30Cからの相手イベントの受信を待つことを示す。   In the example illustrated in FIG. 4, the local event waits for reception of the partner event from the event transmitting device 30 </ b> B that is the partner device until “event waiting upper limit time” “t1 + w2”. Similarly, the own event indicates waiting for reception of the partner event from the event transmitting device 30C, which is the partner device, until the “event waiting upper limit time” “t1 + w3”.

また、「イベント識別情報」“e1”のイベントは、“イベント送信側機器30A”を送信元機器とするイベントであるので、「イベント待ち上限時刻(受信時刻)」のイベント送信側機器30Aに対応させて、自イベントの「受信時刻」“(t3)”が登録される。   Further, since the event of “event identification information” “e1” is an event having “event transmission side device 30A” as the transmission source device, it corresponds to event transmission side device 30A of “event waiting upper limit time (reception time)”. Then, the “reception time” “(t3)” of the own event is registered.

なお、図4に示すイベント送信側機器ごとの「イベント待ち上限時刻(受信時刻)」において、時刻を括弧書きで表記することで、イベント待ち上限時刻と、受信時刻とを区別している。   In the “event waiting upper limit time (reception time)” for each event transmission side device shown in FIG. 4, the event waiting upper limit time and the reception time are distinguished by writing the time in parentheses.

なお、順序整列用管理テーブル15bは、互いにイベントを待ち合せるイベント送信側機器30のグループごとにテーブルを分けて作成されてもよい。また、順序整列用管理テーブル15bは、互いにイベントを待ち合せるイベント送信側機器30のグループを一意の識別情報で識別可能にして、異なるグループのイベント送信側機器30に対応する「イベント待ち上限時刻」を一つのテーブルで管理してもよい。   The order alignment management table 15b may be created by dividing the table for each group of event transmitting devices 30 that wait for events from each other. Further, the order alignment management table 15b makes it possible to identify the group of event transmission side devices 30 that wait for each other with unique identification information, and the “event waiting upper limit time” corresponding to the event transmission side devices 30 of different groups. May be managed in one table.

[イベント受信時の処理]
図5は、イベント受信時の処理例を説明する図である。図5で説明する処理は、イベント処理装置10によりイベントが受信されるごとに行われる。図5では、イベント処理装置10が受信したイベント送信側機器30Aからのイベントe1が自イベントである。この場合、イベント送信側機器30B、30Cがイベント処理装置10へ送信するイベントは、相手イベントである。つまり、図5では、イベント送信側機器30Aが送信元機器であり、イベント送信側機器30B、30Cが、相手方機器である場合を示す。なお、イベント送信側機器30B、30Cが自イベントの送信元機器となる場合も同様である。
[Process when event is received]
FIG. 5 is a diagram for explaining an example of processing when an event is received. The process described in FIG. 5 is performed each time an event is received by the event processing apparatus 10. In FIG. 5, the event e1 from the event transmitting device 30A received by the event processing apparatus 10 is the own event. In this case, the event transmitted from the event transmitting devices 30B and 30C to the event processing apparatus 10 is a partner event. That is, FIG. 5 shows a case where the event transmission side device 30A is a transmission source device, and the event transmission side devices 30B and 30C are counterpart devices. The same applies to the case where the event transmission side devices 30B and 30C are the transmission source devices of the own event.

図5では、イベントe1を受信した時刻“t3”が現在時刻である。また、図5では、イベント送信側機器30Aが時刻“t1”に発生した自イベントをイベント処理装置10へ送信し、時刻“t3”にイベント処理装置10により自イベントが受信された場合を示す。イベント処理装置10の受信部11は、時刻“t3”にイベント送信側機器30Aから自イベントを受信すると、待ち時間設定部12に自イベントの送信元機器、発生時刻、受信時刻を通知する。また、受信部11は、自イベントにイベント識別情報“e1”(以下、イベントe1と呼ぶこととする)を付与してバファリング部13へ送信する。   In FIG. 5, the time “t3” at which the event e1 is received is the current time. FIG. 5 shows a case where the event transmitting device 30A transmits the own event that occurred at time “t1” to the event processing device 10 and the event processing device 10 received the own event at time “t3”. When the reception unit 11 of the event processing apparatus 10 receives the own event from the event transmission side device 30A at time “t3”, the reception unit 11 notifies the waiting time setting unit 12 of the transmission source device, the generation time, and the reception time of the own event. In addition, the reception unit 11 adds event identification information “e1” (hereinafter referred to as an event e1) to the own event and transmits the event identification information “e1” to the buffering unit 13.

待ち時間設定部12は、イベントe1の受信が受信部11から通知されたことを契機として、イベントe1の受信時刻“t3”及び発生時刻“t1”の時間差“w1”を算出する(ステップS11)。そして、待ち時間設定部12は、時間差“w1”で、必要に応じて、待ち時間管理テーブル15aの“イベント送信側機器30A”に対応するイベントのイベント待ち時間を更新する(ステップS12)。   The waiting time setting unit 12 calculates the time difference “w1” between the reception time “t3” and the generation time “t1” of the event e1 when the reception of the event e1 is notified from the reception unit 11 (step S11). . Then, the waiting time setting unit 12 updates the event waiting time of the event corresponding to the “event transmitting side device 30A” of the waiting time management table 15a as necessary with the time difference “w1” (step S12).

そして、イベント発生順序判定部14は、他に受信済みイベントが無いことから、相手方機器ごとにイベント待ち時間を設定する。具体的には、イベント発生順序判定部14は、イベントe1の相手イベントを送信する相手方機器であるイベント送信側機器30B、30Cに各々対応するイベント待ち時間“w2”、“w3”をそれぞれ読み出す(ステップS13、ステップS14)。   Then, the event occurrence order determination unit 14 sets an event waiting time for each counterpart device because there is no other received event. Specifically, the event occurrence order determination unit 14 reads out the event waiting times “w2” and “w3” respectively corresponding to the event transmitting devices 30B and 30C, which are counterpart devices that transmit the partner event of the event e1 ( Step S13, Step S14).

そして、イベント発生順序判定部14は、イベントe1の発生時刻“t1”に、イベント送信側機器30Bからのイベント受信の待ち時間“w2”を加算し、“t1+w2”を得る(ステップS15)。“t1+w2”は、イベント送信側機器30Bからのイベント受信の待ち時刻の上限を示すイベント待ち上限時刻である。   Then, the event occurrence order determination unit 14 adds the waiting time “w2” for event reception from the event transmitting device 30B to the occurrence time “t1” of the event e1, and obtains “t1 + w2” (step S15). “T1 + w2” is an event waiting upper limit time indicating an upper limit of an event reception waiting time from the event transmitting device 30B.

同様に、イベント発生順序判定部14は、イベントe1の発生時刻“t1”に、イベント送信側機器30Cからのイベント受信の待ち時間“w3”を加算し、“t1+w3”を得る(ステップS16)。“t1+w3”は、イベント送信側機器30Cからのイベント受信の待ち時刻の上限を示すイベント待ち上限時刻である。   Similarly, the event occurrence order determination unit 14 adds the waiting time “w3” for event reception from the event transmitting device 30C to the occurrence time “t1” of the event e1 to obtain “t1 + w3” (step S16). “T1 + w3” is an event waiting upper limit time indicating an upper limit of an event reception waiting time from the event transmitting device 30C.

そして、イベント発生順序判定部14は、イベントe1の発生時刻“t1”、受信時刻“t3”、送信元機器“30A”、イベント識別情報“e1”を含む新規レコードを順序整列用管理テーブル15bに挿入する。さらに、新規レコードには、イベント送信側機器ごとの「イベント待ち上限時刻(受信時刻)」が登録される。   Then, the event occurrence order determination unit 14 adds a new record including the occurrence time “t1”, the reception time “t3”, the transmission source device “30A”, and the event identification information “e1” of the event e1 to the order management table 15b. insert. Furthermore, the “event waiting upper limit time (reception time)” for each event transmission side device is registered in the new record.

すなわち、イベント発生順序判定部14は、順序整列用管理テーブル15bの「イベント待ち上限時刻(受信時刻)」において、自イベントを送信した送信元機器であるイベント送信側機器30Aに受信時刻“(t3)”を対応付けて登録する。   In other words, the event occurrence order determination unit 14 receives the reception time “(t3) at the event transmission side device 30A that is the transmission source device at the“ event waiting upper limit time (reception time) ”of the order arrangement management table 15b. ) ”And register it.

また、イベント発生順序判定部14は、順序整列用管理テーブル15bの「イベント待ち上限時刻(受信時刻)」において、相手方機器であるイベント送信側機器30Bに「イベント待ち上限時刻」“t1+w2”を対応付けて登録する。同様に、イベント発生順序判定部14は、順序整列用管理テーブル15bの「イベント待ち上限時刻(受信時刻)」において、相手方機器であるイベント送信側機器30Cに「イベント待ち上限時刻」“t1+w3”を対応付けて登録する。   In addition, the event occurrence order determination unit 14 corresponds “event waiting upper limit time” “t1 + w2” to the event transmitting side device 30B, which is the counterpart device, in the “event waiting upper limit time (reception time)” of the order arranging management table 15b. Add and register. Similarly, the event occurrence order determination unit 14 sets “event waiting upper limit time” “t1 + w3” to the event transmitting side device 30C, which is the counterpart device, in the “event waiting upper limit time (reception time)” of the order arranging management table 15b. Register in association.

そして、イベント発生順序判定部14は、順序整列用管理テーブル15bに登録した「イベント待ち上限時刻」“t1+w2”まで計時するタイマを作動させる。同様に、イベント発生順序判定部14は、順序整列用管理テーブル15bに登録した「イベント待ち上限時刻」“t1+w3”まで計時するタイマを作動させる。   Then, the event occurrence order determination unit 14 activates a timer that counts up to the “event waiting upper limit time” “t1 + w2” registered in the order alignment management table 15b. Similarly, the event occurrence order determination unit 14 activates a timer that counts up to “event waiting upper limit time” “t1 + w3” registered in the order arrangement management table 15b.

[イベント発生順序判定処理(イベント受信時)]
図6は、イベント発生順序判定処理(イベント受信時)の処理例を説明する図である。図6で説明する処理は、イベント処理装置10によりイベントが受信されるごとに行われる。図6では、イベントe2を受信した時刻“t4”が現在時刻である。また、受信したイベントe2が自イベント、自イベントの送信元機器(イベント送信側機器30B)以外のイベント送信側機器30(イベント送信側機器30A、30C)が相手方機器である。なお、イベント送信側機器30A、30Cが送信元機器となる場合も同様である。
[Event occurrence order determination processing (when an event is received)]
FIG. 6 is a diagram illustrating a processing example of event occurrence order determination processing (when an event is received). The process described in FIG. 6 is performed every time an event is received by the event processing apparatus 10. In FIG. 6, the time “t4” at which the event e2 is received is the current time. The received event e2 is the own event, and the event transmitting device 30 (event transmitting devices 30A and 30C) other than the transmitting device (event transmitting device 30B) of the own event is the counterpart device. The same applies when the event transmission side devices 30A and 30C are the transmission source devices.

なお、図6では、イベントe1と、イベント送信側機器30Bにおいてイベントe1よりも早く発生したが、イベントe1よりも遅くイベント処理装置10により受信されたイベントe2の二つのイベントについて発生順序を判定する場合を説明する。しかし、イベントe1と発生順序を比較するイベントの発生時刻、受信時刻、送信元機器は、イベントe2の様に限られるものではない。   In FIG. 6, the event e1 and the event transmission side device 30B occur earlier than the event e1, but the occurrence order is determined for two events, the event e2 received by the event processing apparatus 10 later than the event e1. Explain the case. However, the event occurrence time, reception time, and transmission source device for comparing the occurrence order with the event e1 are not limited to the event e2.

図6では、現在時刻が時刻“t3”から時刻“t4”まで経過したことにより、図5から状況が変化している。図6において、時刻“t4”で「イベント識別情報」“e2”のイベントがイベント処理装置10により受信され、対応する新規レコードが順序整列用管理テーブル15bに挿入される処理の説明は、図5と同様であるので省略する。なお、以下、イベント識別情報“e2”のイベントをイベントe2と呼ぶこととする。   In FIG. 6, the situation changes from FIG. 5 because the current time has elapsed from time “t3” to time “t4”. In FIG. 6, the event processing apparatus 10 receives the event “event identification information” “e2” at time “t4”, and the corresponding new record is inserted into the order management table 15b. Since it is the same as that, it is omitted. Hereinafter, an event having the event identification information “e2” is referred to as an event e2.

イベント発生順序判定部14は、イベントe2に対応する新規レコードを順序整列用管理テーブル15bに発生時刻順に並ぶように挿入すると、イベントe1及びイベントe2を送信したイベント送信側機器30A、30B間でイベントの発生順序の判定を行う。   When the event occurrence order determination unit 14 inserts a new record corresponding to the event e2 into the order arrangement management table 15b so that the events are arranged in the order of occurrence time, the event occurrence order determination unit 14 determines whether the event e1 and the event e2 have transmitted the event between the event transmission side devices 30A and 30B. The order of occurrence is determined.

図6では、イベントe1が、相手方機器からのイベント受信待ちの間に、イベント処理装置10により相手イベントであるイベントe2が受信されたことを示す。この場合、イベント発生順序判定部14は、イベントe2に対応する新規レコードを順序整列用管理テーブル15bに挿入する。   In FIG. 6, the event e1 indicates that the event processing apparatus 10 has received the event e2 that is the partner event while waiting for the event reception from the partner device. In this case, the event occurrence order determination unit 14 inserts a new record corresponding to the event e2 into the order alignment management table 15b.

そして、イベント発生順序判定部14は、受信イベントe2の送信元機器(イベント送信側機器30B)からのイベントを相手イベントとして待っていたものがあるかを確認する。このため、イベント発生順序判定部14は、順序整列用管理テーブル15bの「イベント待ち上限時刻(受信時刻)」のカラムにおいて、イベントe2の送信元機器であるイベント送信側機器30Bの列を上から下へ読み進める。そして、イベント発生順序判定部14は、「受信時刻」を示す“(t4)”と、「イベント待ち上限時刻」を示す“t1+w2”を検出する。イベント発生順序判定部14は、「受信時刻」“(t4)”と、「イベント待ち上限時刻」“t1+w2”の組合せから、イベントe2がイベント処理装置10による受信を待っていたイベントe1が存在することを検出する(以上、ステップS21)。   Then, the event occurrence order determination unit 14 confirms whether there is an event waiting for an event from the transmission source device (event transmission side device 30B) of the reception event e2 as a partner event. For this reason, the event occurrence order determination unit 14 selects the column of the event transmission side device 30B that is the transmission source device of the event e2 from the top in the “event waiting upper limit time (reception time)” column of the order arrangement management table 15b. Read down. Then, the event occurrence order determination unit 14 detects “(t4)” indicating “reception time” and “t1 + w2” indicating “event waiting upper limit time”. The event occurrence order determination unit 14 includes an event e1 in which the event e2 is waiting to be received by the event processing device 10 from the combination of “reception time” “(t4)” and “event waiting upper limit time” “t1 + w2”. Is detected (step S21).

そして、イベント発生順序判定部14は、イベントe1、e2の発生順序を、発生時刻をもとに判定する。そして、イベント発生順序判定部14は、イベントe1の「イベント待ち上限時刻(受信時刻)」の、イベント送信機器30Bに対応する「イベント待ち上限時刻」“t1+w2”を“順序判定済”に更新する(以上、ステップS22)。なお、イベンe1、e2は、順序整列用管理テーブルへのイベント挿入時点で発生時刻順にソートされているため、発生順序の判定を省略することも可能である。   Then, the event occurrence order determination unit 14 determines the occurrence order of the events e1 and e2 based on the occurrence time. Then, the event occurrence order determination unit 14 updates the “event waiting upper limit time” “t1 + w2” corresponding to the event transmitting device 30B of the “event waiting upper limit time (reception time)” of the event e1 to “order determined”. (Step S22). Note that the events e1 and e2 are sorted in the order of occurrence when the events are inserted into the order alignment management table, so that the determination of the occurrence order can be omitted.

なお、イベント発生順序判定部14は、イベントe2を待っていたイベントが複数ある場合、該当する全てのイベントについて、ステップS21及びステップS22と同様処理する。すなわち、イベント発生順序判定部14は、「イベント待ち上限時刻(受信時刻)」の、イベントe2の受信を待っていた全てのイベント送信側機器に該当する列を、ステップS21及びステップS22と同様に処理する。   In addition, when there are a plurality of events waiting for the event e2, the event occurrence order determination unit 14 performs the same processing as in step S21 and step S22 for all corresponding events. That is, the event occurrence order determination unit 14 sets the column corresponding to all the event transmission side devices waiting for the reception of the event e2 in the “event waiting upper limit time (reception time)” similarly to step S21 and step S22. Process.

また、イベント発生順序判定部14は、イベントe2がイベントの受信を待ち合せようとするイベントのうち、すでに受信済みのものがあるかを調べる。具体的には、順序整列用管理テーブル15bの「イベント待ち上限時刻(受信時刻)」において、イベントe2がイベントの受信を待ち合せようとするイベント送信側機器30Aの列を上から下へ読み進める。そして、イベント発生順序判定部14は、「イベント待ち上限時刻」“t0+w1”と「受信時刻」“(t3)”を検出する。イベント発生順序判定部14は、「イベント待ち上限時刻」“t0+w1”と、「受信時刻」“(t3)”の組合せから、イベントe2がイベント処理装置10による受信を待とうとするイベントe1が既に受信済であることを検出する(ステップS23)。   In addition, the event occurrence order determination unit 14 checks whether there is an event that has already been received among events for which the event e2 waits for reception of the event. Specifically, in the “event waiting upper limit time (reception time)” of the order alignment management table 15b, the column of the event transmission side device 30A that the event e2 is waiting for the reception of the event is read from top to bottom. Then, the event occurrence order determination unit 14 detects “event waiting upper limit time” “t0 + w1” and “reception time” “(t3)”. The event occurrence order determination unit 14 has already received an event e1 for which the event e2 is about to be received by the event processing device 10 from the combination of “event waiting upper limit time” “t0 + w1” and “reception time” “(t3)”. It is detected that it has been completed (step S23).

そして、イベント発生順序判定部14は、イベントe2の「イベント待ち上限時刻(受信時刻)」のイベント送信機器30Aに対応する「イベント待ち上限時刻」“t0+w1”を“順序判定済”に更新する(以上、ステップS24)。   Then, the event occurrence order determination unit 14 updates the “event waiting upper limit time” “t0 + w1” corresponding to the event transmitting device 30A of the “event waiting upper limit time (reception time)” of the event e2 to “order determined already” ( Step S24).

なお、イベント発生順序判定部14は、イベントe2が待とうとするイベントが複数ある場合、該当する全てのイベントについて、ステップS23及びステップS24と同様に処理する。すなわち、イベント発生順序判定部14は、「イベント待ち上限時刻(受信時刻)」のイベントe2が待ち合せようとする全てのイベント送信側機器に該当する列を、ステップS23及びステップS24と同様に処理する。   Note that, when there are a plurality of events that the event e2 is waiting for, the event occurrence order determination unit 14 processes all corresponding events in the same manner as in steps S23 and S24. That is, the event occurrence order determination unit 14 processes the columns corresponding to all the event transmission side devices that the event e2 of the “event waiting upper limit time (reception time)” is to wait for in the same manner as in step S23 and step S24. .

[イベント発生順序判定処理(タイムアウト時)]
図7は、イベント発生順序判定処理(タイムアウト時)の処理例を説明する図である。図7で説明する処理は、イベント発生順序判定部14が計時するタイマがタイムアウトするごとに行われる。図7では、図6同様に、現在時刻が“t4”である。また、図7では、図6同様に、イベント送信側機器30Bがイベント処理装置10へ自イベントを送信する送信元機器であり、イベント送信側機器30A、30Cがイベント処理装置10へ相手イベントを送信する相手方機器である。なお、イベント送信側機器30A、30Cが自イベントの送信元機器となる場合も同様である。
[Event occurrence order determination processing (when timeout occurs)]
FIG. 7 is a diagram for explaining a processing example of event occurrence order determination processing (when timeout occurs). The process described in FIG. 7 is performed every time the timer counted by the event occurrence order determination unit 14 times out. In FIG. 7, as in FIG. 6, the current time is “t4”. In FIG. 7, as in FIG. 6, the event transmission side device 30 </ b> B is a transmission source device that transmits its own event to the event processing device 10, and the event transmission side devices 30 </ b> A and 30 </ b> C transmit the partner event to the event processing device 10. The other party device. The same applies to the case where the event transmission side devices 30A and 30C are the transmission source devices of the own event.

イベント発生順序判定部14は、イベント送信側機器30からイベントを受信したときに、受信したイベントが待ち合せようとする相手方機器からの相手イベント受信の待ち時間をイベント待ち上限時刻まで計時するタイマを作動させる。図7では、図6の処理に引き続き、イベント発生順序判定部14は、自イベントであるイベントe2が待とうとする、相手方機器であるイベント送信側機器30Cからの相手イベントの受信の待ち時間を計時するタイマがタイムアウトとしたことを検出する。具体的には、イベント発生順序判定部14は、イベント送信側機器30Cからの相手イベントの受信の待ち時間を計時するタイマがタイムアウトしたことを検出する(ステップS31)。そして、イベント発生順序判定部14は、自イベントe2の発生時刻“t0”より前に発生したイベントが相手方機器(イベント送信側機器30C)から通知されることは無いと判断する。そして、イベント発生順序判定部14は、イベント送信側機器30Cに対応する「イベント待ち上限時刻(受信時刻)」“t0+w3”を“順序判定済”へ更新する(ステップS32)。   When the event occurrence order determination unit 14 receives an event from the event transmission side device 30, the event occurrence order determination unit 14 operates a timer that counts the waiting time for receiving the partner event from the partner device to which the received event is waiting until the upper limit time for waiting for the event. Let In FIG. 7, following the processing of FIG. 6, the event occurrence order determination unit 14 counts the waiting time for receiving the partner event from the event transmitting side device 30 </ b> C that is the partner device that the event e <b> 2 that is the own event waits. Detect that the timer to be timed out. Specifically, the event occurrence order determination unit 14 detects that a timer that times the waiting time for receiving the partner event from the event transmitting device 30C has timed out (step S31). Then, the event occurrence order determination unit 14 determines that an event that occurred before the occurrence time “t0” of the own event e2 is not notified from the counterpart device (event transmission side device 30C). Then, the event occurrence order determination unit 14 updates the “event waiting upper limit time (reception time)” “t0 + w3” corresponding to the event transmission side device 30C to “order determination completed” (step S32).

以上の様に、イベント発生順序判定部14は、全ての相手方機器に対応する「イベント受信待ち上限時刻(受信時刻)」が“順序判定済”に更新されたイベントe2を順序確定済として、バッファリング部13にイベントe2を出力するように指示する。バッファリング部13は、イベント発生順序判定部14からの指示に応じて、イベント処理アプリケーションサーバ20へイベントe2を出力する。   As described above, the event occurrence order determination unit 14 sets the event e2 in which the “event reception waiting upper limit time (reception time)” corresponding to all the counterpart devices has been updated to “order determined” as the order fixed. Instructs the ring unit 13 to output the event e2. The buffering unit 13 outputs an event e2 to the event processing application server 20 in response to an instruction from the event occurrence order determination unit 14.

[イベント処理装置における処理]
図8は、イベント処理装置における処理を示すタイムチャートの一例を示す図である。図8に示すタイムチャートは、イベント処理装置10において、受信部11がイベントを受信したことを契機として処理が開始される。先ず、イベント処理装置10において、受信部11は、イベント送信側機器30からイベントを受信する(ステップS101)。そして、受信部11は、イベントを受信したことを、イベントの発生時刻、受信時刻等とともに待ち時間設定部12に通知する(ステップS102)。また、受信部11は、ステップS101で受信した受信イベントにイベント識別子を付与してバッファリング部13へ送信する(ステップS103)。
[Processing in event processing device]
FIG. 8 is a diagram illustrating an example of a time chart showing processing in the event processing apparatus. In the time chart shown in FIG. 8, processing is started in the event processing apparatus 10 when the receiving unit 11 receives an event. First, in the event processing apparatus 10, the receiving unit 11 receives an event from the event transmission side device 30 (step S101). Then, the receiving unit 11 notifies the waiting time setting unit 12 that the event has been received, together with the event occurrence time, the reception time, and the like (step S102). In addition, the reception unit 11 adds an event identifier to the reception event received in step S101 and transmits the event identifier to the buffering unit 13 (step S103).

待ち時間設定部12は、ステップS102で受信部11から受信イベントの通知に基づき、イベントの発生時刻と受信時刻の時間差で受信イベントを送信したイベント送信側機器からイベント受信の待ち上限時間を決定する(ステップS201)。   In step S102, the waiting time setting unit 12 determines the upper limit time for waiting for event reception from the event transmission side device that has transmitted the received event based on the time difference between the event occurrence time and the reception time based on the notification of the reception event from the reception unit 11. (Step S201).

バッファリング部13は、受信部11から受信した受信イベントをバッファリングする(ステップS301)。そして、バッファリング部13は、イベント発生順序判定部14に、受信部11から受信した受信イベントをバッファリングしたことを通知する(ステップS302)。   The buffering unit 13 buffers the reception event received from the reception unit 11 (step S301). Then, the buffering unit 13 notifies the event occurrence order determination unit 14 that the reception event received from the reception unit 11 has been buffered (step S302).

イベント発生順序判定部14は、バッファリング部13から受信イベントのバッファリングの通知を受信する(ステップS401)。そして、イベント発生順序判定部14は、待ち時間設定部12に、イベント送信側機器ごとの「イベント待ち時間」を問い合わせて取得する(ステップS402)。なお、待ち時間設定部12は、イベント発生順序判定部14からの問い合わせに応じて、待ち時間管理テーブル15aを参照して、イベント送信側機器ごとの「イベント待ち時間」を取得し、イベント発生順序判定部14に応答する。   The event occurrence order determination unit 14 receives a notification of buffering of the received event from the buffering unit 13 (step S401). Then, the event occurrence order determination unit 14 inquires and acquires the “event waiting time” for each event transmitting side device from the waiting time setting unit 12 (step S402). The wait time setting unit 12 refers to the wait time management table 15a in response to an inquiry from the event occurrence order determination unit 14, acquires the “event wait time” for each event transmission side device, and generates the event occurrence order. Responds to the determination unit 14.

そして、イベント発生順序判定部14は、ステップS402で取得した「イベント待ち時間」に基づき、受信イベントが自イベントである場合の相手方機器となるイベント送信側機器からの相手イベントの待ち上限時刻を算出する(ステップS403)。   Then, based on the “event waiting time” acquired in step S402, the event occurrence order determination unit 14 calculates the upper limit waiting time of the partner event from the event transmitting device that is the partner device when the received event is the own event. (Step S403).

そして、イベント発生順序判定部14は、順序整列用管理テーブル15bに、発生時刻の順序で受信イベントを挿入する(ステップS404)。ステップS404の処理の際、イベント発生順序判定部14は、順序整列用管理テーブル15bの「イベント待ち上限時刻(受信時刻)」の受信イベントの送信元機器に対しては、受信イベントの受信時刻を登録する。また、ステップS404の処理の際、イベント発生順序判定部14は、順序整列用管理テーブル15bの「イベント待ち上限時刻(受信時刻)」の受信イベントの相手方機器に対しては、相手イベントのイベント待ち上限時刻を登録する。そして、イベント発生順序判定部14は、後述するイベント発生順序判定処理(イベント受信時)を行う(ステップS405)。   Then, the event occurrence order determination unit 14 inserts received events in the order of occurrence time into the order arrangement management table 15b (step S404). During the processing of step S404, the event occurrence order determination unit 14 sets the reception time of the reception event to the transmission source device of the reception event of “event waiting upper limit time (reception time)” in the order arrangement management table 15b. sign up. In the process of step S404, the event occurrence order determination unit 14 waits for an event of the partner event for the partner device of the reception event of “event waiting upper limit time (reception time)” in the order alignment management table 15b. Register the upper time limit. Then, the event occurrence order determination unit 14 performs an event occurrence order determination process (at the time of event reception) described later (step S405).

そして、イベント発生順序判定部14は、順序整列用管理テーブル15bにおいて、受信イベントは、相手方機器からの相手イベントが順序確定済であるか否かを判定する(ステップS406)。イベント発生順序判定部14は、相手方機器からの相手イベントが順序確定済であると判定した場合(ステップS406Yes)、ステップS410へ処理を移す。一方、イベント発生順序判定部14は、全ての相手方機器からの相手イベントが順序確定済であると判定しなかった場合(ステップS406No)、ステップS407へ処理を移す。   Then, the event occurrence order determination unit 14 determines whether or not the order of the partner event from the counterpart device has been confirmed in the order event management table 15b (step S406). If the event occurrence order determination unit 14 determines that the partner event from the partner device has been confirmed in order (Yes in step S406), the process proceeds to step S410. On the other hand, if the event occurrence order determination unit 14 does not determine that the partner events from all the counterpart devices have been confirmed in order (No in step S406), the process proceeds to step S407.

ステップS407では、イベント発生順序判定部14は、受信イベントが受信を待つ相手イベントについて、相手イベントに相手方機器を対応付けて、相手イベントの受信を待つイベント待ち上限時刻まで計時するタイマの作動を開始させる。そして、イベント発生順序判定部14は、ステップS408で作動を開始させたタイマがタイムアウトしたか否かを判定する(ステップS408)。具体的には、ステップS408では、イベント発生順序判定部14は、相手イベントのイベント待ち上限時刻から現在時刻を差し引いた結果が負又は0になった場合に、タイムアウトと判定する。   In step S407, the event occurrence order determination unit 14 starts the operation of the timer that counts up to the upper limit time of waiting for the event waiting for the reception of the partner event by associating the partner device with the partner event for the partner event waiting for the reception of the reception event Let Then, the event occurrence order determination unit 14 determines whether or not the timer that has started operating in step S408 has timed out (step S408). Specifically, in step S408, the event occurrence order determination unit 14 determines a timeout when the result of subtracting the current time from the event waiting upper limit time of the partner event is negative or zero.

イベント発生順序判定部14は、ステップS408でタイマがタイムアウトしたと判定した場合(ステップS408Yes)、ステップS409へ処理を移す。一方、イベント発生順序判定部14は、ステップS408で作動を開始させたタイマがタイムアウトしたと判定しなかった場合(ステップS408No)、ステップS408処理を繰り返す。   If the event occurrence order determination unit 14 determines in step S408 that the timer has timed out (YES in step S408), the process proceeds to step S409. On the other hand, if the event occurrence order determination unit 14 does not determine that the timer that has started operating in step S408 has timed out (No in step S408), it repeats the process in step S408.

ステップS409では、イベント発生順序判定部14は、後述するイベント発生順序判定処理(タイムアウト時)を行う(ステップS409)。イベント発生順序判定部14は、ステップS409の処理が終了すると、ステップS410へ処理を移す。   In step S409, the event occurrence order determination unit 14 performs an event occurrence order determination process (during timeout) described later (step S409). The event occurrence order determination unit 14 moves the process to step S410 when the process of step S409 ends.

ステップS410では、イベント発生順序判定部14は、順序整列用管理テーブル15bにおいて、全ての相手方機器からの相手イベントが順序確定済である順序確定済イベントが存在するか否かを判定する。イベント発生順序判定部14は、順序整列用管理テーブル15bにおいて、順序確定済イベントが存在すると判定した場合(ステップS410Yes)、ステップS411へ処理を移す。一方、イベント発生順序判定部14は、順序整列用管理テーブル15bにおいて、順序確定済イベントが存在すると判定しなかった場合(ステップS410No)、処理を終了する。   In step S410, the event occurrence order determination unit 14 determines whether or not there is an order confirmed event in which the partner events from all the counterpart devices are confirmed in the order arrangement management table 15b. If the event occurrence order determination unit 14 determines in the order arrangement management table 15b that there is an order-confirmed event (Yes in step S410), the process proceeds to step S411. On the other hand, if the event occurrence order determination unit 14 does not determine in the order arrangement management table 15b that there is an order determined event (No in step S410), the process ends.

ステップS411では、イベント発生順序判定部14は、ステップS410の処理で判定された順序確定済イベントをイベントの発生順序でイベント処理アプリケーションサーバ20へ送信する指示を、イベント識別子を指定してバッファリング部13に通知する。   In step S411, the event occurrence order determination unit 14 designates an instruction to transmit the sequence determined event determined in the process of step S410 to the event processing application server 20 in the event generation order, specifying the event identifier, and the buffering unit 13 is notified.

そして、バッファリング部13は、イベント発生順序判定部14から順序確定済イベントの送信指示を通知されると、送信が指示されたイベントを、イベントの発生順序でイベント処理アプリケーションサーバ20へ送信する(ステップS303)。   Then, when the event generation order determination unit 14 is notified of the transmission instruction of the sequence determined event, the buffering unit 13 transmits the event instructed to be transmitted to the event processing application server 20 in the event generation order ( Step S303).

[イベント発生順序判定処理(イベント受信時)]
図9は、イベント発生順序判定処理(イベント受信時)を示すフローチャートである。図9は、図8のステップS405で示したイベント発生順序判定処理(イベント受信時)の詳細を示すフローチャートである。
[Event occurrence order determination processing (when an event is received)]
FIG. 9 is a flowchart showing event occurrence order determination processing (when an event is received). FIG. 9 is a flowchart showing details of the event occurrence order determination process (at the time of event reception) shown in step S405 of FIG.

先ず、ステップS405aでは、イベント発生順序判定部14は、順序整列用管理テーブル15bにおいて、到着(受信)イベントEaの送信元機器Saからのイベントを待っていた相手イベントEkが存在するか否かを判定する。ステップS405aは、既に到着済で今回のイベント到着を待っていたイベントの順序判定処理である。以下、相手イベントEkの送信元機器Skを相手方機器Skと呼ぶこととする。具体的には、イベント発生順序判定部14は、順序整列用管理テーブル15bの「イベント待ち上限時刻(受信時刻)」の到着イベントEaの送信元機器Saに該当する欄を、発生順序(上から)に、待っていたイベントEkがあるかを調べる。ステップS405aは、図6で、イベント発生順序判定部14が、順序整列用管理テーブル15bの「イベント待ち上限時刻(受信時刻)」の受信イベント(イベントe2)の送信元機器(イベント送信側機器30B)に該当する欄を上から走査することに対応する。   First, in step S405a, the event occurrence order determination unit 14 determines whether or not there is a partner event Ek waiting for an event from the transmission source device Sa of the arrival (reception) event Ea in the order arrangement management table 15b. judge. Step S405a is an order determination process for events that have already arrived and have been waiting for the arrival of the current event. Hereinafter, the transmission source device Sk of the partner event Ek is referred to as a partner device Sk. Specifically, the event occurrence order determination unit 14 sets the column corresponding to the transmission source device Sa of the arrival event Ea of the “event waiting upper limit time (reception time)” in the order arrangement management table 15b in the order of occurrence (from the top). ) To see if there is a waiting event Ek. In step S405a, in FIG. 6, the event occurrence order determination unit 14 transmits the received event (event e2 side device 30B) of the received event (event e2) of the “event waiting upper limit time (reception time)” in the order alignment management table 15b. This corresponds to scanning the column corresponding to) from above.

イベント発生順序判定部14は、到着イベントEaの送信元機器Saからのイベントを待っていた相手イベントEkが存在すると判定した場合(ステップS405aYes)、ステップS405bへ処理を移す。ステップS405aYesは、図6で、イベント発生順序判定部14が、「イベント待ち上限時刻(受信時刻)」のイベント送信側機器30Bに該当する欄にイベント待ち上限時刻“t1+w2”が設定されているイベントe1のレコードを検出することに対応する。一方、イベント発生順序判定部14は、到着イベントEaの送信元機器Saからのイベントを待っていた相手イベントEkが存在すると判定しなかった場合(ステップS405aNo)、ステップS405cへ処理を移す。   If the event occurrence order determination unit 14 determines that there is a partner event Ek waiting for an event from the transmission source device Sa of the arrival event Ea (step S405a Yes), the process proceeds to step S405b. In step S405aYes, in FIG. 6, the event occurrence order determination unit 14 determines that the event waiting upper limit time “t1 + w2” is set in the field corresponding to the event transmitting side device 30B of “event waiting upper limit time (reception time)”. This corresponds to detecting the record of e1. On the other hand, if the event occurrence order determination unit 14 does not determine that there is a partner event Ek waiting for an event from the transmission source device Sa of the arrival event Ea (step S405a No), the process proceeds to step S405c.

ステップS405bでは、イベント発生順序判定部14は、EkとEaの発生時刻を比較し、順序判定し、該当する2項関係を“順序判定済”とする。具体的には、イベント発生順序判定部14は、到着して相手イベントを待っているイベントEkを自イベント、到着イベントEaを相手イベントとして、順序整理用管理テーブル15bで、自イベントEkと相手方機器Saの交点を“順序判定済”とする。なお、イベント発生順序判定部14は、到着イベントEaの到着を待っていたイベントEkが複数存在する場合は、ステップS405bの処理を繰り返し行う。ステップS405bは、図6で、イベント発生順序判定部14が、順序整理用管理テーブル15bのイベントe1のレコードと「イベント待ち上限時刻(受信時刻)」のイベント送信側機器30Bの欄との交点を“順序判定済”とすることに対応する。イベント発生順序判定部14は、ステップS405bの処理が終了すると、ステップS405cへ処理を移す。   In step S405b, the event occurrence order determination unit 14 compares the occurrence times of Ek and Ea, determines the order, and sets the corresponding binary relationship as “order determined”. Specifically, the event occurrence order determination unit 14 sets the event Ek that has arrived and is waiting for the partner event as its own event, and uses the arrival event Ea as the partner event, and the own event Ek and the partner device in the order management table 15b. Assume that the intersection of Sa is “order determined”. Note that, when there are a plurality of events Ek that have been waiting for arrival of the arrival event Ea, the event occurrence order determination unit 14 repeats the process of step S405b. In step S405b, in FIG. 6, the event occurrence order determination unit 14 determines the intersection of the record of the event e1 in the order rearrangement management table 15b and the column of the event transmission side device 30B of “event waiting upper limit time (reception time)”. Corresponds to “order determined”. When the process of step S405b ends, the event occurrence order determination unit 14 moves the process to step S405c.

ステップS405cでは、イベント発生順序判定部14は、到着イベントEaが相手方機器Skからの相手イベントEkの到着を待とうとしていた期間に、既に到着済の相手イベントEkが存在するか否かを判定する。ステップS405cは、到着イベントの順序判定処理である。具体的には、イベント発生順序判定部14は、順序整列用管理テーブル15bの「イベント待ち上限時刻(受信時刻)」の相手イベントEkの送信元機器Skに該当する欄を、発生時刻順に、到着済イベントがあるかを調べる。ステップS405cは、図6で、イベント発生順序判定部14が、順序整列用管理テーブル15bの「イベント待ち上限時刻(受信時刻)」のイベントe2の相手方機器(イベント送信側機器30A)に該当する欄をイベントの発生順序で走査することに対応する。   In step S405c, the event occurrence order determination unit 14 determines whether there is a partner event Ek that has already arrived during a period in which the arrival event Ea is waiting for the arrival of the partner event Ek from the partner device Sk. . Step S405c is an arrival event order determination process. Specifically, the event occurrence order determination unit 14 arrives at the column corresponding to the transmission source device Sk of the partner event Ek of the “event waiting upper limit time (reception time)” in the order arrangement management table 15b in the order of occurrence time. Check for completed events. In step S405c, in FIG. 6, the event occurrence order determination unit 14 corresponds to the counterpart device (event transmission side device 30A) of the event e2 of “event waiting upper limit time (reception time)” in the order arrangement management table 15b. Are scanned in the order of occurrence of events.

イベント発生順序判定部14は、既に到着済の相手イベントEkが存在すると判定した場合(ステップS405cYes)、ステップS405dへ処理を移す。ステップS405cYesは、図6で、イベント発生順序判定部14が、「イベント待ち上限時刻(受信時刻)」のイベント送信側機器30Aに該当する欄にイベントの受信時刻“(t3)”が設定されているイベントe1のレコードを検出することに対応する。一方、イベント発生順序判定部14は、既に受信済の相手イベントEkが存在すると判定しなかった場合(ステップS405cNo)、ステップS405eへ処理を移す。   If the event occurrence order determination unit 14 determines that there is a partner event Ek that has already arrived (step S405c Yes), the process proceeds to step S405d. In step S405cYes, in FIG. 6, the event occurrence order determination unit 14 sets the event reception time “(t3)” in the field corresponding to the event transmission side device 30A of “event waiting upper limit time (reception time)”. This corresponds to detecting the record of the event e1. On the other hand, if the event occurrence order determination unit 14 does not determine that there is a partner event Ek that has already been received (step S405cNo), the process proceeds to step S405e.

ステップS405dでは、イベント発生順序判定部14は、EaとEkの発生時刻を比較し、順序判定し、該当する2項関係を“順序判定済”とする。具体的には、イベント発生順序判定部14は、到着してイベントを待っているイベントEaを自イベント、到着イベントEkを相手イベントとして、自イベントEaと相手方機器Skとの交点を“順序判定済”とする。なお、イベント発生順序判定部14は、到着イベントEaが相手方機器Skからのイベント到着を待とうとしていた期間に、相手方機器Skから到着済の全ての相手イベントEkに対してステップS405dの処理を行う。ステップS405dは、図6で、イベント発生順序判定部14が、イベントe2を自イベントとし、順序整理用管理テーブル15bのイベントe2と「イベント待ち上限時刻(受信時刻)」の相手方機器30Aの列との交点を“順序判定済”とすることに対応する。イベント発生順序判定部14は、ステップS405dの処理が終了すると、ステップS405eへ処理を移す。   In step S405d, the event occurrence order determination unit 14 compares the occurrence times of Ea and Ek, determines the order, and sets the corresponding binary relation to “order determined”. Specifically, the event occurrence order determination unit 14 sets the event Ea that has arrived and is waiting for the event as the own event and the arrival event Ek as the partner event, and determines the order of the intersection between the own event Ea and the partner device Sk. ". The event occurrence order determination unit 14 performs the process of step S405d on all the partner events Ek that have arrived from the counterpart device Sk during the period when the arrival event Ea is waiting for the arrival of the event from the counterpart device Sk. . In step S405d, in FIG. 6, the event occurrence order determination unit 14 sets the event e2 as its own event, the event e2 in the order rearrangement management table 15b, and the column of the counterpart device 30A of “event waiting upper limit time (reception time)”. This corresponds to setting the intersection of “order determined”. When the process in step S405d ends, the event occurrence order determination unit 14 moves the process to step S405e.

ステップS405eでは、イベント発生順序判定部14は、順序整理用管理テーブル15bにおいて、他の全ての相手方機器との“順序判定済”のイベントが存在するか否かを判定する。イベント発生順序判定部14は、他の全ての相手方機器との“順序判定済”のイベントが存在すると判定した場合(ステップS405eYes)、ステップS405fへ処理を移す。ステップS405eYesとなるのは、各イベントの相手方機器との交点が全て“順序判定済”の場合である。一方、イベント発生順序判定部14は、他の全ての相手方機器との“順序判定済”のイベントが存在すると判定しなかった場合(ステップS405eNo)、図8のステップS406へ処理を移す。ステップS405fでは、イベント発生順序判定部14は、ステップS405eでYesとされた該当イベントを順序確定済とし、図8のステップS406へ処理を移す。   In step S405e, the event occurrence order determination unit 14 determines whether or not there is an “order determined” event with all other counterpart devices in the order rearrangement management table 15b. If the event occurrence order determination unit 14 determines that there is an “order determination completed” event with all other counterpart devices (step S405 eYes), the process proceeds to step S405 f. Step S405eYes is a case where all the intersections of each event with the counterpart device are “ordered”. On the other hand, if the event occurrence order determination unit 14 does not determine that there is an “order determination completed” event with all other counterpart devices (step S405 eNo), the process proceeds to step S406 in FIG. In step S405f, the event occurrence order determination unit 14 determines that the event determined as Yes in step S405e has been confirmed in order, and moves the process to step S406 in FIG.

[イベント発生順序判定処理(タイムアウト時)]
図10は、イベント発生順序判定処理(タイムアウト時)を示すフローチャートである。図10は、図8のステップS409で示したイベント発生順序判定処理(タイムアウト時)の詳細を示すフローチャートである。
[Event occurrence order determination processing (when timeout occurs)]
FIG. 10 is a flowchart showing the event occurrence order determination process (during timeout). FIG. 10 is a flowchart showing details of the event occurrence order determination process (during timeout) shown in step S409 of FIG.

先ず、ステップS409aでは、イベント発生順序判定部14は、タイムアウトしたイベントEkと、その相手方機器Saを特定する。ステップS409aは、図7で、イベント発生順序判定部14が、イベントe2において、相手方機器であるイベント送信側機器30Cからのイベント待ち上限時刻がタイムアウトしたことを検出することに対応する。なお、イベント発生順序判定部14は、図8のステップS407のタイマ設定時に、タイマ、イベントEk、相手方機器Skを対応付けておく。これにより、イベント発生順序判定部14は、タイムアウトしたイベントEkと、イベントEkを相手イベントEaとして待っていた相手方機器Saを特定できる。   First, in step S409a, the event occurrence order determination unit 14 identifies the event Ek that has timed out and the counterpart device Sa. Step S409a corresponds to FIG. 7 in which the event occurrence order determination unit 14 detects that the event waiting upper limit time from the event transmission side device 30C as the counterpart device has timed out at the event e2. Note that the event occurrence order determination unit 14 associates the timer, the event Ek, and the counterpart device Sk when setting the timer in step S407 of FIG. Thereby, the event occurrence order determination unit 14 can identify the event Ek that has timed out and the counterpart device Sa that has been waiting for the event Ek as the counterpart event Ea.

そして、ステップS409bでは、イベント発生順序判定部14は、イベントEkが、相手方機器Saの相手イベントEaより先に発生したと判定する。そして、イベント発生順序判定部14は、EkとEaの該当する2項関係を“順序判定済”とする(以上、ステップS409b)。具体的には、イベント発生順序判定部14は、イベントEkと相手方機器Saの交点を“順序判定済”とする。ステップS409bは、図7で、イベント発生順序判定部14が、イベントe2のレコードと「イベント待ち上限時刻(受信時刻)」のイベント送信側機器30Cとの交点を“順序判定済”とすることに対応する。   In step S409b, the event occurrence order determination unit 14 determines that the event Ek has occurred before the counterpart event Ea of the counterpart device Sa. Then, the event occurrence order determination unit 14 sets the relevant binary relation between Ek and Ea to “order determination completed” (step S409b). Specifically, the event occurrence order determination unit 14 sets the intersection of the event Ek and the counterpart device Sa as “order determined”. In step S409b, in FIG. 7, the event occurrence order determination unit 14 determines that the intersection of the record of the event e2 and the event transmission side device 30C of “event waiting upper limit time (reception time)” is “order determined”. Correspond.

ステップS409cでは、イベント発生順序判定部14は、順序整理用管理テーブル15bにおいて、他の全ての相手方機器との“順序判定済”のイベントが存在するか否かを判定する。イベント発生順序判定部14は、他の全ての相手方機器との“順序判定済”のイベントが存在すると判定した場合(ステップS409cYes)、ステップS409dへ処理を移す。ステップS409dYesとなるのは、各イベントの相手方機器との交点が全て“順序判定済”の場合である。一方、イベント発生順序判定部14は、他の全ての相手方機器との“順序判定済”のイベントが存在すると判定しなかった場合(ステップS409cNo)、図8のステップS410へ処理を移す。ステップS409dでは、イベント発生順序判定部14は、ステップS409cでYesとされた該当イベントを順序確定済とし、図8のステップS410へ処理を移す。   In step S409c, the event occurrence order determination unit 14 determines whether or not there is an “order determined” event with all other counterpart devices in the order rearrangement management table 15b. If the event occurrence order determination unit 14 determines that there is an “order determined” event with all other counterpart devices (Yes in step S409c), the process proceeds to step S409d. Step S409dYes is a case where all the intersections of each event with the counterpart device are “order-judged”. On the other hand, if the event occurrence order determining unit 14 does not determine that there is an “order determined” event with all other counterpart devices (step S409c No), the process proceeds to step S410 in FIG. In step S409d, the event occurrence order determination unit 14 determines that the event determined as Yes in step S409c has been confirmed in order, and moves the process to step S410 in FIG.

[イベント送信側機器の追加時の処理]
図11Aは、イベント送信側機器の追加時の処理(待ち時間管理テーブル関連)を説明する図である。図11Bは、イベント送信側機器の追加時の処理(順序整列用管理テーブル関連)を説明する図である。例えば、イベント処理装置10は、イベント処理アプリケーションサーバ20やその他の図示しない装置からの要求に従って、イベント処理装置10がイベントを整列する対象のイベント送信側機器30を追加又は削除してもよい。以下、一例として、イベント送信側機器30A〜30Cのグループに、イベント送信側機器30D〜30Fが追加される場合に、待ち時間管理テーブル15a及び順序整列用管理テーブル15bに関連して行われる処理を説明する。
[Process when adding event transmission device]
FIG. 11A is a diagram for explaining processing (related to a waiting time management table) when an event transmission side device is added. FIG. 11B is a diagram for explaining processing at the time of adding an event transmission side device (related to the order alignment management table). For example, the event processing device 10 may add or delete the event transmission side device 30 to which the event processing device 10 arranges events according to a request from the event processing application server 20 or other devices (not shown). Hereinafter, as an example, when the event transmission side devices 30D to 30F are added to the group of the event transmission side devices 30A to 30C, processing performed in relation to the waiting time management table 15a and the order alignment management table 15b is performed. explain.

なお、図11A及び図11Bの例では、イベント送信側機器30D〜30Fの追加の要求を受け付ける前に、イベント識別情報“e2”のイベント及びイベント識別情報“e1”のイベントがイベント送信側機器30B、30Aからそれぞれ受信されていたとする。以下では、イベント識別情報“e1”のイベントをイベントe1と呼び、イベント識別情報“e2”のイベントをイベントe2と呼ぶこととする。   In the example of FIGS. 11A and 11B, the event of the event identification information “e2” and the event of the event identification information “e1” are changed to the event transmission side device 30B before accepting the request for adding the event transmission side devices 30D to 30F. , 30A, respectively. Hereinafter, the event having the event identification information “e1” is referred to as an event e1, and the event having the event identification information “e2” is referred to as an event e2.

また、図11A及び図11Bの例では、イベント送信側機器30D〜30Fの追加の要求を受け付けた後に、イベント送信側機器30Eから、「発生時刻」“t5”、「受信時刻」“t6”、「イベント識別情報」“e5”のイベントが受信されたとする。以下、「イベント識別情報」“e5”のイベントをイベントe5と呼ぶこととする。   Further, in the example of FIGS. 11A and 11B, after receiving the request for adding the event transmitting devices 30D to 30F, the “occurrence time” “t5”, “reception time” “t6”, It is assumed that an event “event identification information” “e5” is received. Hereinafter, the event “event identification information” “e5” is referred to as an event e5.

なお、イベント送信側機器30の追加要求及び削除要求は、イベント送信側機器30で動作するアプリケーションから受け付けることもできるし、イベント処理装置10の図示しない入力装置から受け付けることもできる。   The addition request and the deletion request of the event transmission side device 30 can be received from an application operating on the event transmission side device 30 or can be received from an input device (not shown) of the event processing device 10.

イベント処理装置10は、イベント送信側機器30A〜30Cのグループに、イベント送信側機器30D〜30Fを追加する追加要求を受け付けた場合、次のような処理を行う。すなわち、イベント処理装置10は、追加要求を受け付けたイベント送信側機器30D〜30Fごとに「イベント待ち時間」を設定するレコードを待ち時間管理テーブル15aに追加する。なお、イベント送信側機器30D〜30Fごとの「イベント待ち時間」には、イベント送信側機器30D〜30Fからイベントを未受信の場合、所定の初期値を設定してもよい。本実施の形態では、イベント送信側機器30D〜30Fに対して、それぞれ“w4”、“w5”、“w6”が登録されている。そして、図11Bに示す様に、イベント発生順序判定部14は、「イベント待ち上限時刻(受信時刻)」に、イベント送信側機器30D〜30Fの各欄を追加する。その上で、イベント発生順序判定部14は、受信済みのイベントe2とe1に関して、それぞれのイベント待ち時間である、“t0+w4”、“t0+w5”、“t0+w6”と“t1+w4”、“t1+w5”、“t1+w6”を設定する。   When the event processing apparatus 10 receives an addition request for adding the event transmission side devices 30D to 30F to the group of the event transmission side devices 30A to 30C, the event processing device 10 performs the following processing. In other words, the event processing apparatus 10 adds a record for setting an “event waiting time” to the waiting time management table 15a for each of the event transmitting devices 30D to 30F that has received the addition request. The “event waiting time” for each of the event transmitting devices 30D to 30F may be set to a predetermined initial value when no event has been received from the event transmitting devices 30D to 30F. In the present embodiment, “w4”, “w5”, and “w6” are registered for the event transmitting devices 30D to 30F, respectively. Then, as illustrated in FIG. 11B, the event occurrence order determination unit 14 adds each column of the event transmission side devices 30 </ b> D to 30 </ b> F to the “event waiting upper limit time (reception time)”. After that, the event occurrence order determination unit 14 has “t0 + w4”, “t0 + w5”, “t0 + w6” and “t1 + w4”, “t1 + w5”, “t1 + w5”, “t1 + w5”, “respectively” for the received events e2 and e1. t1 + w6 "is set.

そして、図11Aに示す様に、待ち時間設定部12は、イベントe5を受信する。すると、待ち時間設定部12は、前述したように必要に応じて、イベントe5の発生時刻“t5”と受信時刻“t6”の時間差“t6−t5”をイベント送信側機器30Eからのイベント待ち時間として待ち時間管理テーブル15aに設定する。   Then, as illustrated in FIG. 11A, the waiting time setting unit 12 receives the event e5. Then, as described above, the waiting time setting unit 12 sets the time difference “t6−t5” between the generation time “t5” and the reception time “t6” of the event e5 as necessary as described above. Is set in the waiting time management table 15a.

また、イベント発生順序判定部14は、イベントe5に関して、前述したように、イベント送信側機器30A〜30D、30Fからの「イベント待ち上限時刻(受信時刻)」に、次の時間をそれぞれ設定する。すなわち、イベント発生順序判定部14は、発生時刻に相手方機器からのイベント待ち時間を加算した時間である“t5+w1”、“t5+w2”、“t5+w3”、“t5+w4”、“t5+w6”をそれぞれ設定する。また、イベント発生順序判定部14は、イベントe5はイベント送信側機器30Eの自イベントであるので、イベント送信側機器30Eからの「イベント待ち上限時刻(受信時刻)」に受信時刻“(t5)”を設定する。   Further, as described above, the event occurrence order determination unit 14 sets the following times for the “event waiting upper limit time (reception time)” from the event transmission side devices 30A to 30D and 30F with respect to the event e5. That is, the event occurrence order determination unit 14 sets “t5 + w1”, “t5 + w2”, “t5 + w3”, “t5 + w4”, and “t5 + w6”, which are times obtained by adding the event waiting time from the counterpart device to the occurrence time. In addition, since the event e5 is an event of the event transmission side device 30E, the event occurrence order determination unit 14 receives the reception time “(t5)” from the “event waiting upper limit time (reception time)” from the event transmission side device 30E. Set.

そして、イベント発生順序判定部14は、イベントごと、イベント送信側機器ごとに設定した「イベント待ち上限時刻」までそれぞれ計時するタイマを作動させる。そして、イベント発生順序判定部14は、イベント送信側機器ごとの「イベント待ち上限時刻」までに相手方機器から相手イベントを受信したイベントについて、このイベントの送信元機器と、相手方機器との順序を判定済とする。また、イベント発生順序判定部14は、「イベント待ち上限時刻」を超過してタイマがタイムアウトした相手方機器があるイベントについて、このイベントの送信元機器と、相手方機器との順序を判定済とする。   Then, the event occurrence order determination unit 14 activates timers that time up to the “event waiting upper limit time” set for each event and for each event transmission side device. Then, the event occurrence order determination unit 14 determines the order of the transmission source device of the event and the counterpart device for the event that has received the counterpart event from the counterpart device by the “event waiting upper limit time” for each event transmission device. I'm done. In addition, the event occurrence order determination unit 14 determines that the order of the transmission source device of the event and the counterpart device has been determined for an event where the counterpart device has exceeded the “event waiting upper limit time” and the timer has timed out.

この様に、イベント処理装置10は、各イベントについて、イベントの送信元機器と相手方機器の間の二つの機器間の関係ごとに順序を判定する。よって、イベント処理装置10は、既に判定済のイベント送信側機器間の順序に影響を与えず、イベントを整列する対象とするイベント送信側機器30の追加及び削除に柔軟に対応できる。   In this manner, the event processing apparatus 10 determines the order of each event for each relationship between two devices between the event transmission source device and the counterpart device. Therefore, the event processing apparatus 10 can flexibly cope with the addition and deletion of the event transmission side device 30 that is the target of the event alignment without affecting the order of the already determined event transmission side devices.

以上の実施の形態で開示した各部、各装置の分散及び統合の具体的形態は、図2に示したものに限られず、その全部又は一部を、負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散及び統合して構成することができる。例えば、受信部11、待ち時間設定部12、バッファリング部13、イベント発生順序判定部14のうちの少なくとも二つが、機能に応じて統合されてもよい。また、受信部11、待ち時間設定部12、バッファリング部13、イベント発生順序判定部14の少なくとも一つが別装置とされ、通信可能に接続され、イベント処理装置10として協働するようにしてもよい。   The specific forms of distribution and integration of each unit and each device disclosed in the above embodiment are not limited to those shown in FIG. 2, and all or a part of them can be arbitrarily set according to the load, usage conditions, etc. It can be configured to be functionally or physically distributed and integrated in units. For example, at least two of the reception unit 11, the waiting time setting unit 12, the buffering unit 13, and the event occurrence order determination unit 14 may be integrated according to functions. Further, at least one of the reception unit 11, the waiting time setting unit 12, the buffering unit 13, and the event occurrence order determination unit 14 is a separate device, is connected so as to be communicable, and cooperates as the event processing device 10. Good.

また、以上の実施の形態で開示した各処理の分散及び統合の具体的形態は、図8〜図10に示したものに限られず、負荷や使用状況等に応じて、任意の単位で分散及び統合して構成することができる。例えば、図9のステップS405a及びステップS405bは、ステップS405c及びステップS405dと処理順序を入れ替えてもよい。   Further, the specific forms of distribution and integration of the processes disclosed in the above embodiments are not limited to those shown in FIGS. 8 to 10, and the distribution and integration in arbitrary units according to the load, usage status, and the like. Can be integrated and configured. For example, step S405a and step S405b in FIG. 9 may be replaced in order of processing with step S405c and step S405d.

[イベント処理プログラム]
以上の実施の形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行されてもよい。図12は、イベント処理プログラムを実行するコンピュータの一例を示す図である。
[Event processing program]
The various processes described in the above embodiments may be executed by a computer using a program prepared in advance. FIG. 12 is a diagram illustrating an example of a computer that executes an event processing program.

図12に示すように、コンピュータ100は、バス140を介して接続される操作部110、表示部120、通信部130、CPU150、ROM160、HDD170、RAM180を有する。   As illustrated in FIG. 12, the computer 100 includes an operation unit 110, a display unit 120, a communication unit 130, a CPU 150, a ROM 160, an HDD 170, and a RAM 180 that are connected via a bus 140.

HDD170には、図2に示した受信部11、待ち時間設定部12、バッファリング部13、イベント発生順序判定部14と同様の機能を発揮するイベント処理プログラム170a及びイベント処理プログラム170aの実行に要する各種データが予め格納される。イベント処理プログラム170aは、図2に示した各部と同様、適宜統合又は分離してもよい。   The HDD 170 is required to execute the event processing program 170a and the event processing program 170a that perform the same functions as the reception unit 11, the waiting time setting unit 12, the buffering unit 13, and the event occurrence order determination unit 14 illustrated in FIG. Various data are stored in advance. The event processing program 170a may be integrated or separated as appropriate, similarly to each unit shown in FIG.

図12に示す様に、CPU150が、イベント処理プログラム170aをHDD170から読み出してRAM180に展開する。これによって、イベント処理プログラム170aは、イベント処理プロセス180aとして機能する。なお、イベント処理プロセス180aは、図2に示した各部にて実行される処理、例えば図8〜図10に示す処理を含む。また、CPU150、HDD170及びRAM180上で仮想的に実現される各部は、処理の実行時に適宜に実現されればよい。   As shown in FIG. 12, the CPU 150 reads the event processing program 170 a from the HDD 170 and expands it in the RAM 180. Thereby, the event processing program 170a functions as an event processing process 180a. The event processing process 180a includes processing executed by each unit shown in FIG. 2, for example, processing shown in FIGS. In addition, each unit that is virtually realized on the CPU 150, the HDD 170, and the RAM 180 may be realized as appropriate when the process is executed.

なお、イベント処理プログラム170aについては、必ずしも最初からHDD170に格納せずともよい。例えば、コンピュータ100が読み取り可能なフレキシブルディスク、CD−ROM、DVDディスク、光磁気ディスク、ICカード等の「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ100が、媒体読み取り装置を介して「可搬用の物理媒体」からプログラムを読み出して実行するようにしてもよい。また、公衆網又は閉域網を介してコンピュータ100に接続される他のコンピュータからプログラムを取得して実行するようにしてもよい。   Note that the event processing program 170a does not necessarily need to be stored in the HDD 170 from the beginning. For example, the program is stored in a “portable physical medium” such as a flexible disk, CD-ROM, DVD disk, magneto-optical disk, or IC card that can be read by the computer 100. Then, the computer 100 may read and execute the program from the “portable physical medium” via the medium reading device. Further, the program may be acquired and executed from another computer connected to the computer 100 via a public network or a closed network.

[実施例1]
図13は、実施例1を説明する図である。実施例1は、開示の技術をオンラインゲームの進行管理に利用する例である。図13に示す例では、オンラインゲームにおいて、各種の通信回線で接続された操作端末30A−1〜30B−1等の複数の操作端末からユーザのゲームの進行に係る操作がイベントとして入力される。操作端末30A−1〜30B−1が実施の形態のイベント送信側機器30の例である。
[Example 1]
FIG. 13 is a diagram for explaining the first embodiment. Example 1 is an example in which the disclosed technology is used for progress management of an online game. In the example illustrated in FIG. 13, in an online game, an operation related to the progress of the user's game is input as an event from a plurality of operation terminals such as operation terminals 30 </ b> A- 1 to 30 </ b> B- 1 connected via various communication lines. The operation terminals 30A-1 to 30B-1 are examples of the event transmission side device 30 according to the embodiment.

そして、イベントが、操作端末30A−1〜30B−1等の複数の操作端末からオンラインゲームサーバ20−1へ送信される。オンラインゲームサーバ20−1は、受信したイベントに基づいてゲームの進行を管理する。オンラインゲームサーバ20−1が実施の形態のイベント送信側機器30の例である。   Then, the event is transmitted from a plurality of operation terminals such as operation terminals 30A-1 to 30B-1 to the online game server 20-1. The online game server 20-1 manages the progress of the game based on the received event. The online game server 20-1 is an example of the event transmitting device 30 according to the embodiment.

オンラインゲームでは、ゲームの進行管理上、操作端末30A−1〜30B−1等の複数の操作端末から入力されたイベントが、オンラインゲームサーバ20−1で、イベントの入力時刻すなわち発生時刻の順序でリアルタイムに処理されることが望ましい。しかし、各ユーザの操作端末30A−1〜30B−1等の複数の操作端末が接続されるネットワーク環境は様々である。また、各ユーザの操作端末30A−1〜30B−1等の複数の操作端末の通信性能も様々である。このため、ネットワーク環境によっては通信遅延が発生し、各ユーザが操作端末30A−1〜30B−1等の複数の操作端末から入力されたイベントが、発生時刻の順序でオンラインゲームサーバ20−1に受信されるとは限らない。   In an online game, events input from a plurality of operation terminals such as the operation terminals 30A-1 to 30B-1 are managed by the online game server 20-1 in the order of event input time, that is, generation time, for managing the progress of the game. It is desirable to be processed in real time. However, there are various network environments to which a plurality of operation terminals such as the operation terminals 30A-1 to 30B-1 of each user are connected. In addition, the communication performance of a plurality of operation terminals such as the operation terminals 30A-1 to 30B-1 of each user is various. For this reason, a communication delay occurs depending on the network environment, and an event input by each user from a plurality of operation terminals such as the operation terminals 30A-1 to 30B-1 is sent to the online game server 20-1 in the order of occurrence times. It is not always received.

例えば、図13において、操作端末30A−1〜30B−1等の複数の操作端末が接続される個別のネットワーク環境によっては、通信遅延が発生する場合がある。個別のネットワーク環境で通信遅延が発生した場合、各ユーザが操作端末30A−1〜30B−1から入力したイベントが、発生時刻の順序でオンラインゲームサーバ20−1に受信されず、リアルタイム性が求められるオンラインゲームの進行管理に支障を来す。   For example, in FIG. 13, a communication delay may occur depending on an individual network environment to which a plurality of operation terminals such as operation terminals 30A-1 to 30B-1 are connected. When a communication delay occurs in an individual network environment, events input from the operation terminals 30A-1 to 30B-1 by each user are not received by the online game server 20-1 in the order of occurrence times, and real-time characteristics are required. The online game progress management.

そこで、開示の技術に係るイベント処理装置10は、操作端末30A−1〜30B−1等の複数の操作端末から送信されたイベントに対して、通信遅延を考慮して発生時刻順で並び替えるイベント発生順序整列処理を行う。そして、イベント処理装置10は、イベント発生順序整列処理を行ったイベントをオンラインゲームサーバ20−1へ出力する。この様に、オンラインゲームサーバ20−1は、発生順序で並び替えられたイベントに基づいてオンラインゲームの進行管理を行うことで、適切にオンラインゲームを進行させることができる。   Therefore, the event processing apparatus 10 according to the disclosed technique reorders events transmitted from a plurality of operation terminals such as the operation terminals 30A-1 to 30B-1 in order of occurrence time in consideration of communication delay. Perform generation order alignment processing. Then, the event processing apparatus 10 outputs the event that has undergone the event generation order arrangement processing to the online game server 20-1. In this way, the online game server 20-1 can appropriately advance the online game by performing the online game progress management based on the events rearranged in the order of occurrence.

[実施例2]
図14は、実施例2を説明する図である。実施例2は、開示の技術をオン渋滞マップ作成に利用する例である。図14に示す例では、渋滞マップ作成において、各種の通信回線で接続された携帯端末30A−2〜30D−2等の、車両に持ち込まれる複数の携帯端末から車両の運行に係る情報がイベントとして入力される。携帯端末30A−2〜30D−2が実施の形態のイベント送信側機器30の例である。
[Example 2]
FIG. 14 is a diagram for explaining the second embodiment. The second embodiment is an example in which the disclosed technology is used for creating an on-traffic congestion map. In the example shown in FIG. 14, in the traffic jam map creation, information related to vehicle operation from a plurality of mobile terminals brought into the vehicle, such as mobile terminals 30 </ b> A- 2 to 30 </ b> D- 2 connected by various communication lines, is an event. Entered. Portable terminals 30A-2 to 30D-2 are examples of the event transmission side device 30 according to the embodiment.

車両の運行に係る情報は、GPS(Global Positioning System)による車両の位置情報、車両の速度、車両の進行方向等である。そして、イベントが、携帯端末30A−2〜30D−2等の複数の携帯端末から渋滞マップ作成サーバ20−2へ送信される。渋滞マップ作成サーバ20−2は、受信したイベントに基づいて渋滞マップを作成する。渋滞マップ作成サーバ20−2が実施の形態のイベント送信側機器30の例である。   The information related to the operation of the vehicle includes vehicle position information by GPS (Global Positioning System), vehicle speed, vehicle traveling direction, and the like. Then, the event is transmitted from a plurality of portable terminals such as the portable terminals 30A-2 to 30D-2 to the traffic jam map creating server 20-2. The traffic jam map creation server 20-2 creates a traffic jam map based on the received event. The traffic jam map creation server 20-2 is an example of the event transmission side device 30 of the embodiment.

渋滞マップ作成では、渋滞マップのリアルタイム性を確保するため、携帯端末30A−1〜30B−1等の複数の携帯端末から送信されたイベントが、渋滞マップ作成サーバ20−2で、リアルタイムに処理されることが望ましい。しかし、各携帯端末30A−2〜30D−2等の複数の携帯端末が接続されるネットワーク環境は様々である。また、各携帯端末30A−2〜30D−2等の複数の携帯端末の通信性能も様々である。   In the traffic jam map creation, events transmitted from a plurality of mobile terminals such as the mobile terminals 30A-1 to 30B-1 are processed in real time by the traffic jam map creation server 20-2 in order to ensure the real-time property of the traffic jam map. It is desirable. However, there are various network environments to which a plurality of mobile terminals such as the mobile terminals 30A-2 to 30D-2 are connected. Further, the communication performance of a plurality of mobile terminals such as the mobile terminals 30A-2 to 30D-2 is also various.

さらには、各携帯端末30A−2〜30D−2等の複数の携帯端末が持ち込まれる車両の位置が変化することにより、ネットワーク環境の状態が時々刻々と変化する。よって、携帯端末30A−2〜30D−2等の携帯端末は、無線通信のエリア圏内であればリアルタイムでイベントを送信し、エリア圏外ではイベントを蓄積しておき、エリア圏内になったときに蓄積したイベントを一括送信する。この様な、イベントのリアルタイム送信もしくは一括送信の区別をイベント送信パターンと呼ぶこととする。   Furthermore, the state of the network environment changes from moment to moment as the position of a vehicle into which a plurality of portable terminals such as the respective portable terminals 30A-2 to 30D-2 are brought changes. Therefore, portable terminals such as the portable terminals 30A-2 to 30D-2 transmit events in real time if they are within the wireless communication area, accumulate events outside the area, and accumulate when the area is within the area. Send the events in batch. Such distinction between real-time transmission or batch transmission of events is referred to as an event transmission pattern.

この様に、各携帯端末30A−2〜30D−2等の複数の携帯端末から送信されたイベントが、イベント送信パターンを含む様々な要因から生じる通信遅延により、渋滞マップ作成サーバ20−2に受信されたときには、時間的に古い情報になっている場合がある。渋滞マップ作成サーバ20−2が作成した渋滞マップが時間的に古い情報を含んでいる場合、リアルタイム性が要求される渋滞マップとして、信頼度が低下してしまう。   In this way, events transmitted from a plurality of portable terminals such as the respective portable terminals 30A-2 to 30D-2 are received by the traffic jam map creating server 20-2 due to communication delays caused by various factors including an event transmission pattern. When it is done, it may be outdated information. When the traffic jam map created by the traffic jam map creation server 20-2 includes information that is old in terms of time, the reliability decreases as a traffic jam map that requires real-time performance.

そこで、開示の技術に係るイベント処理装置10は、携帯端末30A−2〜30D−2等の複数の携帯端末から送信されたイベントを、通信遅延やイベント送信パターンの変化を考慮してイベントを発生時刻順で並び替える。そして、イベント処理装置10は、イベントを発生時刻順で並び替えるイベント発生順序整列処理を行ったイベントを渋滞マップ作成サーバ20−2へ出力する。この様にして、渋滞マップ作成サーバ20−2は、発生順序で並び替えられたイベントに基づいて、リアルタイムな渋滞マップの作成を行うことができる。   Accordingly, the event processing apparatus 10 according to the disclosed technology generates an event transmitted from a plurality of portable terminals such as the portable terminals 30A-2 to 30D-2 in consideration of a communication delay and a change in an event transmission pattern. Sort in time order. Then, the event processing apparatus 10 outputs the event that has been subjected to the event occurrence order arrangement process for rearranging the events in the order of occurrence time to the traffic jam map creation server 20-2. In this manner, the traffic jam map creation server 20-2 can create a real-time traffic jam map based on the events rearranged in the order of occurrence.

[実施例3]
図15は、実施例3を説明する図である。実施例3は、開示の技術を圃場管理・圃場作業支援に利用する例である。図15に示す例では、圃場管理・圃場作業支援において、各種の通信回線で接続されたセンサ30A−3〜30C−3や入力端末30D−3からイベントが入力される。すなわち、センサ30A−3〜30C−3や入力端末30Dが実施の形態のイベント送信側機器30の例である。
[Example 3]
FIG. 15 is a diagram for explaining the third embodiment. Example 3 is an example in which the disclosed technology is used for field management and field work support. In the example shown in FIG. 15, events are input from the sensors 30 </ b> A- 3 to 30 </ b> C- 3 and the input terminal 30 </ b> D- 3 connected via various communication lines in the field management / field work support. That is, the sensors 30A-3 to 30C-3 and the input terminal 30D are examples of the event transmission side device 30 according to the embodiment.

図15の例では、センサ30A−3は、土壌や農業用水のpH(potential Hydrogen)値を観測するpHセンサである。また、センサ30B−3は、圃場環境の湿度を観測する湿度計である。また、センサ30C−3は、圃場環境の気温や水温を観測する温度計である。また、入力端末30D−3は、圃場作業者が、例えば作業中に発見した観測情報(農作物の生育状況等)や圃場作業の進捗情報等を入力するコンピュータである。   In the example of FIG. 15, the sensor 30 </ b> A- 3 is a pH sensor that observes the pH (potential hydrogen) value of soil or agricultural water. The sensor 30B-3 is a hygrometer that observes the humidity of the field environment. The sensor 30C-3 is a thermometer that observes the temperature and water temperature of the field environment. The input terminal 30D-3 is a computer for inputting observation information (such as the growth status of agricultural products) discovered during the work, progress information of the field work, and the like by the farm worker.

センサ30A−3〜30C−3や入力端末30D−3は、観測情報もしくは入力情報をイベントとして圃場管理及び作業支援サーバ20−3へ送信する。そして、圃場管理及び作業支援サーバ20−3は、受信したイベントに基づいて圃場環境を総合的に判断し、圃場作業の指示を出力する。圃場管理及び作業支援サーバ20−3が、実施の形態のイベント処理アプリケーションサーバ20の例である。   The sensors 30A-3 to 30C-3 and the input terminal 30D-3 transmit observation information or input information as events to the field management and work support server 20-3. Then, the farm management and work support server 20-3 comprehensively determines the farm environment based on the received event, and outputs a farm work instruction. The field management and work support server 20-3 is an example of the event processing application server 20 according to the embodiment.

なお、センサ30A−3〜30C−3は、イベントをリアルタイムに送信するもの、周期的に送信するもの、一括して送信するものがある。また、入力端末30D−3がイベントを送信するタイミングも、入力情報に応じて異なる場合がある。この様なイベントの送信タイミングの違いをイベント送信パターンと呼ぶこととする。   Sensors 30A-3 to 30C-3 include one that transmits events in real time, one that periodically transmits, and one that transmits in a lump. Also, the timing at which the input terminal 30D-3 transmits an event may differ depending on the input information. Such a difference in event transmission timing is referred to as an event transmission pattern.

圃場管理・圃場作業支援では、農作物の的確な生育管理を行うため、センサ30A−3〜30C−3や入力端末30Dから送信されたイベントが、圃場管理及び作業支援サーバ20−3に適切に処理されることが望ましい。しかし、センサ30A−3〜30C−3や入力端末30D−3から圃場管理及び作業支援サーバ20−3へイベントを送信する際のイベント送信パターンは様々である。   In the field management / field work support, the events transmitted from the sensors 30A-3 to 30C-3 and the input terminal 30D are appropriately processed by the field management / work support server 20-3 in order to accurately manage the crops. It is desirable that However, there are various event transmission patterns when transmitting events from the sensors 30A-3 to 30C-3 and the input terminal 30D-3 to the field management and work support server 20-3.

この様に、センサ30A−3〜30C−3や入力端末30D−3から送信されるイベント送信パターンの違いにより、圃場管理及び作業支援サーバ20−3が、受信したイベントに基づいて的確な判断を行えない場合がある。   In this way, the field management and work support server 20-3 makes an accurate determination based on the received event due to the difference in event transmission patterns transmitted from the sensors 30A-3 to 30C-3 and the input terminal 30D-3. It may not be possible.

そこで、開示の技術に係るイベント処理装置10は、センサ30A−3〜30C−3や入力端末30D−3から送信されたイベントを、イベント送信パターンを考慮してイベントを発生時刻順で並び替えた上で圃場管理及び作業支援サーバ20−3へ出力する。この様にして、圃場管理及び作業支援サーバ20−3は、発生順序で並び替えられたイベントに基づいて、農作物の生育状況と圃場環境の総合的な判断に基づいた灌水、農薬や養分の散布の制御及び作業指示をより的確に行うことができる。   Therefore, the event processing apparatus 10 according to the disclosed technology rearranges the events transmitted from the sensors 30A-3 to 30C-3 and the input terminal 30D-3 in order of occurrence time in consideration of the event transmission pattern. The information is output to the field management and work support server 20-3. In this manner, the field management and work support server 20-3 distributes irrigation, pesticides and nutrients based on the comprehensive judgment of the growth situation of the crop and the field environment based on the events rearranged in the order of occurrence. Control and work instructions can be performed more accurately.

1 イベント処理システム
3 ネットワーク
10 イベント処理装置
11 受信部
12 待ち時間設定部
13 バッファリング部
14 イベント発生順序判定部
15 記憶部
15a 待ち時間管理テーブル
15b 順序整列用管理テーブル
20イベント処理アプリケーションサーバ
30、30A〜30F イベント送信側機器
DESCRIPTION OF SYMBOLS 1 Event processing system 3 Network 10 Event processing apparatus 11 Reception part 12 Wait time setting part 13 Buffering part 14 Event generation order determination part 15 Storage part 15a Wait time management table 15b Order arrangement management table 20 Event processing application servers 30 and 30A ~ 30F Event sending device

Claims (6)

イベント処理装置が実行するイベント処理方法であって、
前記イベント処理装置の受信部が、複数の機器から受信した各受信イベントをバッファに格納し、
前記イベント処理装置の上限時刻設定部が、前記受信イベントの送信元機器以外の、前記受信イベントに対応するイベントの受信を待ち合わせる相手方機器ごとに、前記イベント処理装置が受信した前記受信イベントの発生時刻へ、前記イベント処理装置が前記相手方機器から前記受信イベントに対応するイベントを受信することを待ち合わせるイベント待ち時間を加算した上限時刻を設定し、
前記イベント処理装置の確定部が、前記相手方機器ごとの前記上限時刻まで全ての前記相手方機器のうちのいずれかの相手方機器から前記受信イベントに対応するイベントを受信した場合には、前記受信イベント及び前記受信イベントに対応するイベントの各イベント発生時刻に基づいて、前記受信イベントの送信元機器と前記いずれかの相手方機器との2機器間における前記受信イベント及び前記受信イベントに対応するイベントの発生順序を確定し、前記いずれかの相手方機器から前記受信イベントに対応するイベントの受信を待ち合わせる前記上限時刻を超過した場合には、前記受信イベントに対応する相手方機器のイベントの発生時刻が前記受信イベントの発生時刻よりも以前の時刻であるとして、前記受信イベントの送信元機器と前記いずれかの相手方機器との2機器間における前記受信イベント及び前記受信イベントに対応するイベントの発生順序を確定し、
前記イベント処理装置の送信部が、前記バッファに格納された受信イベントのうち、受信イベントの送信元機器と、他の全ての相手方機器との間で発生順序が確定されたイベントを、確定された発生順序に従って送信する
処理を含むことを特徴とするイベント処理方法。
An event processing method executed by an event processing device,
The reception unit of the event processing device stores each reception event received from a plurality of devices in a buffer,
The occurrence time of the received event received by the event processing device for each counterpart device that waits for reception of an event corresponding to the received event, other than the source device of the received event , by the upper limit time setting unit of the event processing device To set an upper limit time to which an event waiting time is added to wait for the event processing device to receive an event corresponding to the received event from the counterpart device ,
When the determination unit of the event processing device receives an event corresponding to the reception event from any one of the counterpart devices by the upper limit time for each counterpart device, the reception event And the occurrence of the event corresponding to the reception event and the reception event between the two devices, the transmission source device of the reception event and any one of the counterpart devices, based on the event occurrence time of the event corresponding to the reception event If the upper limit time for waiting for reception of an event corresponding to the received event from any one of the counterpart devices is exceeded , the event occurrence time of the counterpart device corresponding to the received event is the received event. as than the occurrence time is earlier time, the source device of said received event Wherein to confirm the order of occurrence of any event corresponding to the received event and the reception event between 2 instrument with the counterpart equipment,
The transmission unit of the event processing apparatus has confirmed an event whose generation order is determined between the transmission source device of the reception event and all other counterpart devices among the reception events stored in the buffer . An event processing method comprising a process of transmitting according to an occurrence order .
前記上限時刻設定部が、前記相手方機器ごとに前記上限時刻を設定する際に、
前記相手方機器から受信した新たな受信イベントについて、該受信イベントが発生した発生時刻及び受信イベントを該相手方機器から受信した受信時刻の時間差が、前記イベント処理装置の待ち時間管理部により管理される該相手方機器からのイベント待ち時間を上回る場合に、該発生時刻へ該時間差を加算して前記上限時刻を設定する
処理を含むことを特徴とする請求項1に記載のイベント処理方法。
When the limit time setting unit sets the upper limit time for each of the counterpart equipment,
For a new incoming event received from the counterpart device, the time difference between the reception time and the occurrence time and said reception event the received event occurred is received from the counterpart device is managed by the latency manager of the event processing unit The event processing method according to claim 1, further comprising: setting the upper limit time by adding the time difference to the occurrence time when an event waiting time from the counterpart device is exceeded .
前記上限時刻設定部が、前記相手方機器ごとに前記上限時刻を設定する際に、
前記相手方機器から受信した受信イベントについて前記時間差を履歴に蓄積し、前記イベントの送信元機器ごとの複数の前記受信イベントについて、前記相手方機器から受信した新たな受信イベントについて、該新たな受信イベントが発生した発生時刻及び該新たな受信イベントを該相手方機器から受信した受信時刻の新たな時間差が、前記待ち時間管理部により管理される該相手方機器からのイベント待ち時間を上回り、かつ、該新たな時間差が該履歴に蓄積される時間差の統計的外れ値でない場合に、該新たな発生時刻へ該新たな時間差を加算して前記上限時刻を設定する
処理を含むことを特徴とする請求項2に記載のイベント処理方法。
When the limit time setting unit sets the upper limit time for each of the counterpart equipment,
The time difference is accumulated in the history for the reception event received from the counterpart device, and the new reception event for the new reception event received from the counterpart device for the plurality of reception events for each source device of the event. The new time difference between the time of occurrence and the reception time at which the new reception event is received from the counterpart device exceeds the event waiting time from the counterpart device managed by the waiting time management unit, and the new time 3. The method according to claim 2, further comprising: setting the upper limit time by adding the new time difference to the new occurrence time when the time difference is not a statistical outlier of the time difference accumulated in the history. Event handling method.
々のイベントを確定された発生順序に従って送信する対象とする新たな機器を追加する要求を受け付けた場合に、
前記受信部が、前記新たな機器を含む複数の機器から受信した各受信イベントをバッファに格納し、
前記上限時刻設定部が、前記新たな機器についての前記相手方機器ごとの前記上限時刻をさらに設定し、
前記確定部が、前記上限時刻設定部により設定された、前記新たな機器についての前記相手方機器ごとの前記上限時刻にさらに基づいて、前記受信イベントの送信元機器と前記いずれかの相手方機器との2機器間における前記受信イベント及び前記受信イベントに対応するイベントの発生順序を確定する
処理を含むことを特徴とする請求項1、2又は3に記載のイベント処理方法。
When accepting a request to add a new device to an object to be transmitted according to generation order that is determined to each of the event,
The reception unit stores each reception event received from a plurality of devices including the new device in a buffer,
The upper limit time setting unit further sets the upper limit time for each counterpart device for the new device,
Based on the upper limit time for each counterpart device for the new device, which is set by the upper limit time setting unit, the determination unit is configured to determine whether the reception event transmission source device and any one of the counterpart devices. 4. The event processing method according to claim 1, further comprising a process of determining an occurrence order of the reception event and the event corresponding to the reception event between two devices . 5.
イベント処理を実行するイベント処理装置であって、
複数の機器からイベントを受信した各受信イベントをバッファに格納する受信部と、
前記受信イベントの送信元機器以外の、前記受信イベントに対応するイベントの受信を待ち合わせる相手方機器ごとに、前記イベント処理装置が受信した各受信イベントの発生時刻に、前記イベント処理装置が前記相手方機器から前記受信イベントに対応するイベントを受信することを待ち合わせるイベント待ち時間を加算した上限時刻を設定する上限時刻設定部と、
前記相手方機器ごとの前記上限時刻まで全ての前記相手方機器のうちのいずれかの相手方機器から前記受信イベントに対応するイベントを受信した場合には、前記受信イベント及び前記受信イベントに対応するイベントの各イベント発生時刻に基づいて、前記受信イベントの送信元機器と前記いずれかの相手方機器との2機器間における前記受信イベント及び前記受信イベントに対応するイベントの発生順序を確定し、前記いずれかの相手方機器から前記受信イベントに対応するイベントの受信を待ち合わせる前記上限時刻を超過した場合には、前記受信イベントに対応する相手方機器のイベントの発生時刻が前記受信イベントの発生時刻よりも以前の時刻であるとして、前記受信イベントの送信元機器と前記いずれかの相手方機器との2機器間における前記受信イベント及び前記受信イベントに対応するイベントの発生順序を確定する確定部と、
前記バッファに格納された受信イベントのうち、受信イベントの送信元機器と、他の全ての相手方機器との間で発生順序が確定されたイベントを、確定された発生順序に従って送信する送信部と
を備えたことを特徴とするイベント処理装置。
An event processing device that executes event processing,
A receiving unit that stores each received event received from a plurality of devices in a buffer;
For each counterpart device that waits for reception of an event corresponding to the reception event other than the transmission source device of the reception event, the event processing device is sent from the counterpart device at the time of occurrence of each reception event received by the event processing device. An upper limit time setting unit for setting an upper limit time to which an event waiting time for waiting to receive an event corresponding to the received event is added ;
When an event corresponding to the reception event is received from any one of all the counterpart devices by the upper limit time for each counterpart device, the reception event and the event corresponding to the reception event Based on each event occurrence time, determine the order of occurrence of the reception event and the event corresponding to the reception event between the two devices, the transmission source device of the reception event and any one of the counterpart devices, When the upper limit time for waiting for the reception of the event corresponding to the received event from the counterpart device is exceeded , the event occurrence time of the counterpart device corresponding to the reception event is earlier than the occurrence time of the reception event. as there, 2 of the transmission source device and the one of the other party equipment of the received event A determination unit for determining the order of occurrence of events corresponding to the received event and the reception event between vessel,
Among the received events stored in the buffer, a transmission unit that transmits an event whose generation order is determined between the transmission source device of the reception event and all other counterpart devices according to the determined generation order. An event processing apparatus comprising:
処理部を有するコンピュータに、イベント処理装置としてイベント処理を実行させるためのイベント処理プログラムであって、
前記処理部が、複数の機器から受信した各受信イベントをバッファに格納し、
前記処理部が、前記受信イベントの送信元機器以外の、前記受信イベントに対応するイベントの受信を待ち合わせる相手方機器ごとに、前記イベント処理装置が受信した各受信イベントの発生時刻に、前記イベント処理装置が前記相手方機器から前記受信イベントに対応するイベントを受信することを待ち合わせるイベント待ち時間を加算した上限時刻を設定し、
前記処理部が、前記相手方機器ごとの前記上限時刻まで全ての前記相方手機器のうちのいずれかの相手方機器から前記受信イベントに対応するイベントを受信した場合には、前記受信イベント及び前記受信イベントに対応するイベントの各イベント発生時刻に基づいて、前記受信イベントの送信元機器と前記いずれかの相手方機器との2機器間における前記受信イベント及び前記受信イベントに対応するイベントの発生順序を確定し、前記いずれかの相手方機器から前記受信イベントに対応するイベントの受信を待ち合わせる前記上限時刻を超過した場合には、前記受信イベントに対応する相手方機器のイベントの発生時刻が前記受信イベントの発生時刻よりも以前の時刻であるとして、前記受信イベントの送信元機器と前記いずれかの相手方機器との2機器間における前記受信イベント及び前記受信イベントに対応するイベント発生順序を確定し、
前記処理部が、前記バッファに格納された受信イベントのうち、受信イベントの送信元機器と、他の全ての相手方機器との間で発生順序が確定されたイベントを、確定された発生順序に従って送信する
処理を前記コンピュータに実行させるためのイベント処理プログラム。
An event processing program for causing a computer having a processing unit to execute event processing as an event processing device,
The processing unit stores each reception event received from a plurality of devices in a buffer,
The event processing device at the time of occurrence of each received event received by the event processing device, for each counterpart device that waits for reception of an event corresponding to the received event, other than the transmission source device of the received event. Sets an upper limit time to which an event waiting time for waiting for receiving an event corresponding to the received event from the counterpart device is added ,
When the processing unit receives an event corresponding to the reception event from any counterpart device among all the counterpart devices by the upper limit time for each counterpart device, the reception event and the reception Based on each event occurrence time of the event corresponding to the event, the generation order of the reception event and the event corresponding to the reception event between the two devices, that is, the transmission source device of the reception event and any one of the counterpart devices is determined. When the upper limit time for waiting for the reception of the event corresponding to the received event from any one of the counterpart devices is exceeded , the event occurrence time of the counterpart device corresponding to the reception event is the occurrence time of the reception event. as a previous time than the one of phase with the source device of said received event Square to confirm the order of occurrence of events corresponding to the received event and the reception event between 2 devices and equipment,
The processing unit transmits, among the received events stored in the buffer, events whose generation order is determined between the transmission source device of the reception event and all other counterpart devices according to the determined generation order. Do
An event processing program for causing the computer to execute each process.
JP2011061760A 2011-03-18 2011-03-18 Event processing method, event processing apparatus, and event processing program Active JP5664383B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011061760A JP5664383B2 (en) 2011-03-18 2011-03-18 Event processing method, event processing apparatus, and event processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011061760A JP5664383B2 (en) 2011-03-18 2011-03-18 Event processing method, event processing apparatus, and event processing program

Publications (2)

Publication Number Publication Date
JP2012198714A JP2012198714A (en) 2012-10-18
JP5664383B2 true JP5664383B2 (en) 2015-02-04

Family

ID=47180871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011061760A Active JP5664383B2 (en) 2011-03-18 2011-03-18 Event processing method, event processing apparatus, and event processing program

Country Status (1)

Country Link
JP (1) JP5664383B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6344009B2 (en) * 2014-03-28 2018-06-20 富士通株式会社 Information processing apparatus, program, and information processing method
JP7114331B2 (en) * 2018-05-16 2022-08-08 キヤノン株式会社 Control method, system and program
JP2021135786A (en) 2020-02-27 2021-09-13 富士通株式会社 Request processing program, request processing method, and information processor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283276A (en) * 1997-04-10 1998-10-23 Nippon Telegr & Teleph Corp <Ntt> Event sequence correction method
JP4610240B2 (en) * 2004-06-24 2011-01-12 富士通株式会社 Analysis program, analysis method, and analysis apparatus
JP4977729B2 (en) * 2009-03-30 2012-07-18 みずほ情報総研株式会社 Job schedule change support system, method and program

Also Published As

Publication number Publication date
JP2012198714A (en) 2012-10-18

Similar Documents

Publication Publication Date Title
US10484464B2 (en) Connection control device, connection control system, and non-transitory computer readable medium
CN109696889B (en) Data collection device and data collection method
JP5983484B2 (en) Information processing system, control program for controlling information processing apparatus, and control method for information processing system
CN109842694B (en) Method for synchronizing MAC addresses, network equipment and computer readable storage medium
KR101484871B1 (en) Master device and slave device and time synchronization method
RU2014132567A (en) DEVICE AND METHODS FOR CREATING SERVICE ROUTES INSIDE THE TECHNOLOGICAL PROCESS MANAGEMENT SYSTEM
US10505859B2 (en) Packet deadlines in a queue to control the age of information
JP5245711B2 (en) Distributed data processing system, distributed data processing method, and distributed data processing program
US10360267B2 (en) Query plan and operation-aware communication buffer management
JP5664383B2 (en) Event processing method, event processing apparatus, and event processing program
JP2019175204A (en) Error correction method, distributed processing system, and information processing device
US9767023B2 (en) Method of controlling data writing to persistent storage device
US9432218B2 (en) Secure message delivery to a transient recipient in a routed network
US20210091919A1 (en) Time-based processing of messages arriving from multiple gateways using gateway-based time perimeters
JP6880611B2 (en) Processing equipment, systems, processing methods and processing programs
JP2007281783A (en) Communication control method, and communication control unit
CN102377661A (en) Blade server and method for building shortest blade transmission path in blade server
AU2017223095B2 (en) System and method for smart event paging
WO2014199606A1 (en) Load balancer, load-balancing method, storage medium, and event-processing system
WO2016206272A1 (en) Inter-network-element signaling sorting method and apparatus, and network management system
US10523469B2 (en) Relay device and communication system
JP5681086B2 (en) Traffic information collection system and traffic information collection method
KR101342480B1 (en) Router for automatic control of building and routing method thereof
JP2021197570A (en) Computing service management device, method, and program
WO2014199607A1 (en) Load balancer, load-balancing method, storage medium, and event-processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141020

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: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141124

R150 Certificate of patent or registration of utility model

Ref document number: 5664383

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150